Welcome!

Welcome to the official BlackBerry Support Community Forums.

This is your resource to discuss support topics with your peers, and learn from each other.

inside custom component

Native Development

Reply
Contributor
raspberry1
Posts: 16
Registered: ‎05-26-2013
My Device: Z10
My Carrier: UAE DU

ContactPicker inside an attachedObjects in a QML - Page does not display

Dears,

 

 I have the below QML file whereby I am trying to attach a ContactPicker inside an attachedObjects block, however when I do so, the complete page doesn't show up. If I remove the ContactPicker object, then the complete page shows up back again.

I tried adding ContactPicker inside simple QMLs and it works. However with this QML it doesn't work.

 

Kindly can anyone help in explaining why this is hapenning? Is it to do with Containers, though this QML doesn't look that complex.

 

Thank You,

 

 

import bb.cascades 1.0

import bb.cascades.pickers 1.0

 

 

Page { //! [0]

    id: mainPage

    

    propertySheetsettingsSheet;

    propertySheetaboutSheet;

 

    actions: [

        ActionItem {

            title: qsTr("Submit")

            imageSource: "asset:///images/AlMuatamad.png"

            ActionBar.placement: ActionBarPlacement.OnBar

            onTriggered: {

                _main.submit(comment.text);

                // And should exit the application (exit from within or outside the C++?)

                //Application.quit();

            }

        },

        ActionItem {

            title: qsTr("Cancel")

            imageSource: "asset:///images/cancel.png"

            ActionBar.placement: ActionBarPlacement.OnBar

            onTriggered: {

                Application.quit();

            }

        },

 

        // This to bring up the application settings page.

        ActionItem {

            title: qsTr("Settings")

            imageSource: "asset:///images/settings.png"

            ActionBar.placement: ActionBarPlacement.InOverflow

            onTriggered: {

                settingsSheet = settingsObject.createObject();

                settingsSheet.open();

            }

        },

 

        // This to bring up the application about page.

        ActionItem {

            title: qsTr("About")

            imageSource: "asset:///images/about.png"

            ActionBar.placement: ActionBarPlacement.InOverflow

            onTriggered: {

                aboutSheet = aboutObject.createObject();

                aboutSheet.open();

            }

        }

 

    ]

    //! [0]

    Container {

        layout: DockLayout {

        }

 

        attachedObjects: [

            ComponentDefinition {

                id: settingsObject

                source: "SettingsPage.qml"

            },

            ComponentDefinition {

                id: aboutObject

                source: "AboutPage.qml"

            },

           ContactPicker {
             id: contactPicker
            objectName: "contactPickerObj"
            onContactSelected: {
            _app.getContactDetails(contactId);
            }
          }

        ]

 

        onCreationCompleted: {

            // When created, we want to let Cascades know that we support all the orientation modes.

            OrientationSupport.supportedDisplayOrientation = SupportedDisplayOrientation.All;

        }

        

 

        ScrollView {

            horizontalAlignment: HorizontalAlignment.Fill

            verticalAlignment: VerticalAlignment.Fill

            scrollViewProperties {

                scrollMode: ScrollMode.Vertical

            }

            Container {

                horizontalAlignment: HorizontalAlignment.Fill

                verticalAlignment: VerticalAlignment.Fill

                topPadding: 20

                leftPadding: 20

                rightPadding: 20

                bottomPadding: 20

                Header {

                    title: "Voting Decision"

                    subtitle: "----"

                }

                //! [1]

                DropDown {

                    horizontalAlignment: HorizontalAlignment.Fill

                    id: vote

                    title: qsTr("Vote:")

                    objectName: "VoteDropDown"

                    onSelectedValueChanged: {

                        _main.targetType = selectedValue

                    }

                    onCreationCompleted: {

                        _main.targetType = selectedValue

                    }

                }

                //! [1]

                // Both the Header and the Dropdown of the signature decision

                // need to be hidden and shown only when the incoming XML

                // contain signature block.

                //

                Header {

                    visible: false

                    objectName: "SignatureHeader"

                    title: "Signature Decision"

                }

                //! [2]

                DropDown {

                    visible: false

                    id: sign

                    horizontalAlignment: HorizontalAlignment.Fill

                    title: qsTr("Signature:")

                    objectName: "SignatureDropDown"

                    onSelectedValueChanged: {

                        _main.action = selectedValue

                    }

                    onCreationCompleted: {

                        _main.action = selectedValue

                    }

                }

 

                // Email Cc section

                Header {

                    title: "Email Cc - Semi-Colon Separated"

                }

 

                TextField {

                    id: emailCc

                    objectName: "EmailCcTextField"

                    leftMargin: 20

                    rightMargin: 20

                    opacity: 1.0

                    text: ""

                    hintText: qsTr("Emails Cc...")

                }

                

                //Button {

                //    layoutProperties: StackLayoutProperties {

                //    }

                //    horizontalAlignment: HorizontalAlignment.Center

                //    text: "Add Emails Cc"

                //    onClicked: {

                //      _main.openContactPicker();

                //    }

                //}

 

                    // Comment section

                Header {

                    title: "Comment"

                }

                TextArea {

                    id: comment

                    hintText: qsTr("Place your comment here...")

                    inputMode: TextAreaInputMode.Chat

                    maximumLength: 250

                    onTextChanging: {

                        _main.target = text

                    }

                    onCreationCompleted: {

                        _main.target = text

                    }

                }

                Label {

                    text: _main.statusMessage

                }

            }

        }

    }

}

Please use plain text.