Pushing pages in the pages of tabbedPane

Hello

I have the following configuration:

TabbedPane {
    id: tabbedPane

    Tab {
        id: tabMembers
        title: qsTr("Members")
        Page1Members {

        }
        imageSource: "asset:///images/Members.png"
    }
    Tab {
        id: tabUser
        description: qsTr("Member info")
        Page2User {
            id: pUser
        }
        imageSource: "asset:///images/User.png"
    }
...

How to GROW pages in tabs (Page1Members, Page2User)? I need a NavigationPane to push pages, but I don't think that my pages in tabs can be components of navigation...

Mitch99 wrote:
I need a NavigationPane to push pages, but I don't think that my pages in tabs can be components of navigation...

Yes, they can be. Note the hierarchy of classes and the class involved. A TabbedPane holds tabs, which can contain a subclass of AbstractPane. Subclasses of this AbstractPane are NavigationPane, Page and TabbedPane.

Tags: BlackBerry Developers

Similar Questions

  • Separating the main.qml in .qml different files, is more pushed page

    Hi all

    My main.qml became very long (NavigationPane with a Page with a container with a label and ListView and a certain objects attached) and I started to break up.  Before that, when I chose a line in the list, it pushed successfully to the details of the page.  However, when I copy and pasted all within the Page to another qml file that I put in main.qml as object, it is more pushed the detail of the page.  I can't for the life of understand me. I saw / experienced with numerous examples of applications where he worked (Battambang in particular), but cannot see a difference between my folders and those.

    Here are the files, dismembered. When the PillListPage.qml content is copied in main.qml, everything works fine.

    //main.qml// Grid view with detail project template
    import bb.cascades 1.0
    //import bb.platform 1.0
    import bb.system 1.0
    import "stringConcatenation.js" as StringConcatenation
    
    NavigationPane {
        id: navigationPane
    
        //contains time label and grid list view
        firstPage: PillListPage {
        }
    
        onCreationCompleted: {
            // this slot is called when declarative scene is created
    
            // write post creation initialization here
            console.log("NavigationPane - onCreationCompleted()")
    
            // enable layout to adapt to the device rotation
            // don't forget to enable screen rotation in bar-bescriptor.xml (Application->Orientation->Auto-orient)
            OrientationSupport.supportedDisplayOrientation = SupportedDisplayOrientation.All;
        }
        onPopTransitionEnded: {
            // Transition is done destroy the Page to free up memory
            page.destroy()
        }
    }
    
    //PillListPage.qmlimport bb.cascades 1.0
    
    Page {
        id: pgMain
    
        content: Container {
            id: rootContainer        verticalAlignment: VerticalAlignment.Center
            horizontalAlignment: HorizontalAlignment.Center
    
            Label {
                id: timeLabel
                text: {
                    var currentTime = Qt.formatDateTime(new Date(), "h:mm AP");
                    return currentTime;
                }
            } //Label
    
            //PillListView
            ListView {
                id: listView
                // set object name to let listView be discoverable from C++
                objectName: "listView"
    
                layout: GridListLayout {
                    verticalCellSpacing: 100
                    cellAspectRatio: 4.0
                    columnCount: 1
                    horizontalCellSpacing: 10.0
                }
    
                listItemComponents: [
                    // define component which will represent list item GUI appearence
                    ListItemComponent {
                        type: "item"
                        // list item GUI appearence component is defined in external MyListItem.qml file
                        MyListItem {
                        }
                    }
                ]
                onTriggered: {
    
                    // When an item is selected we push the detail Page in the chosenItem file attribute.
                    var chosenItem = dataModel.data(indexPath);
    
                    // Create the content page and push it on top to drill down to it.
                    var contentpage = pillDetailPageDefinition.createObject();
    
                    // Set the content properties to reflect the selected image.
                    contentpage.contentImageURL = chosenItem.thumbnail
                    contentpage.contentName = chosenItem.name + ", " + chosenItem.mass
    
                    // Push the content page to the navigation stack
                    navigationPane.push(contentpage);
                }
    
                layoutProperties: StackLayoutProperties {
                    spaceQuota: 1.0
                }
                focusPolicy: FocusPolicy.Default
            } //end of pill list
        } //end root Container
    
        // Attached objects of the Main Content Page
        attachedObjects: [
            ComponentDefinition {
                id: pillDetailPageDefinition
                source: "PillDetailPage.qml"
            } //ComponentDefinition
        ]
    }
    

    Some superfluous code (user interface format stuff) has been removed. I did essentially the same thing with the grid list Basic project template.  Help, please!  My only guess is that perhaps he does not know which is the data model, once he is out of main.qml. Is there something in c ++ I have to do or something I should even in the QML?

    There is no runtime error and the app loaded successfully, with the only problem being that when I click on a list item, there is no response/transition to the details page.

    However, I found a solution of mine.  I pushed my detail view using a function that is called in the onTriggered signal in the list. Copy the following code is a basic example of what I mean I did simply by separating the code of the project template "grid with details view:

    //main.qml
    // Grid view with detail project template
    import bb.cascades 1.0
    
    NavigationPane {
        id: navigationPane
    
        firstPage: MainPageContent {}
    
        attachedObjects: [
            ComponentDefinition {
                id: secondPageDefinition
                source: "DetailPage.qml"
            }
        ]
    
        function setDetailItem(item) {
            // show detail page
            var page = secondPageDefinition.createObject();
            page.text = item.text
            page.image = item.image
            navigationPane.push(page)
        }
        onCreationCompleted: {
            // this slot is called when declarative scene is created
            // write post creation initialization here
            console.log("NavigationPane - onCreationCompleted()")
    
            // enable layout to adapt to the device rotation
            // don't forget to enable screen rotation in bar-bescriptor.xml (Application->Orientation->Auto-orient)
            OrientationSupport.supportedDisplayOrientation = SupportedDisplayOrientation.All;
        }
    }
    
    //MainPageContent.qml
    import bb.cascades 1.0
    
    Page {
        id: pgMain
        content: Container {
            ListView {
                id: listView
                // set object name to let listView to be discoverable from C++
                objectName: "listView"
                layout: GridListLayout {
                }
                listItemComponents: [
                    // define component which will represent list item GUI appearence
                    ListItemComponent {
                        type: "item"
                        // list item GUI appearence component is defined in external MyListItem.qml file
                        MyListItem {
                        }
                    }
                ]
                onTriggered: {
                    console.log("selected_index: " + indexPath)
                    var curr_item = dataModel.data(indexPath)
                    // show detail page for selected item
                    setDetailItem(curr_item)
                }
                horizontalAlignment: HorizontalAlignment.Fill
                layoutProperties: StackLayoutProperties {
                    spaceQuota: 1.0
                }
            }
        }
    }
    

    Since I saw your response until after that I had changed my code, I can't test, but it can work.  Thanks for the help!

  • In the root of TabbedPane NavigationPane

    Hi all

    I have a TabbedPane and then a menu with a SettingsActionItem. When this settings button fires I want to push a page that contains the parameters to this subject, and then I can click back to return to tabs.

    import bb.cascades 1.0
    
    TabbedPane {
        Menu.definition: MenuDefinition {
            settingsAction: SettingsActionItem {
                onTriggered: {
                    var page = setingsView.createObject();
                    navigationPane.push(page);
                }
                attachedObjects: ComponentDefinition {
                    id: settingsView
                    source: "SettingsView.qml"
                }
            }
        }
        Tab {
            tite: "Tab1"
            NavigationPane {
                id: navigationPane
                Page {
                     //etc.....
                }
            }    }}
    

    However, the problem is that there is no navigation pane to push the new page. We cannot put a NavigationPane under the TabbedPane, but we can put it in a tab of a TabbedPane.

    So, how can I go all by pushing a new page?

    Thank you!

    [UPDATED ABOVE CODE]

    I got it work using files separated such as:

    hand. QML

    TabbedPane {
        id: newsPane
    
     Tab{
         title: ""
            TabOne {
                }
    }
    Tab{
        title: ""
           TabTwo {
               }
        }
    Tab{
        title: ""
           TabThree {
               }
        }
    Tab{
        title: ""
           TabFour {
               }
        }        
    
    }
    

    Then, he...

    TabOne.qml, TabTwo.qml, TabThree.qml and TabFour.qml:

    NavigationPane {
        Page {
           ....
           }
       }
    

    And it has an a NavigationPane feel TabbedPane when I can push to a page within the NavigationPane and action bar has more tabs, rather it changes the back button.  Can be illustrated in this app: http://appworld.blackberry.com/webstore/content/20197455/?lang=en (I wrote the application for OnlineTobago)

    So as much as your page 'Settings', why not use a spreadsheet?  This is exactly what a spreadsheet is intended, something that breaks the normal flow of navigation.  And it can be accessed via the system menu of any tab, if defined in the main.qml and using the property alias you can control the id defined in TabOne.qml, TabTwo.qml, etc. I have a sample where I do it too: http://bbcascades.com/index.php/tutorial-list/50-persistence-of-cascades-memory

    I hope this helps.

  • My iPhone 7 won't let me push down on the icons to move them. No matter how hard or how long I push the icon itself just happens.

    MY iPhone 7 won't let me push down on the icons to move them. When I push it down and that you hold, no matter how many seconds the icon itself appears just. Help!

    Push slightly, not difficult.

  • Is there a button to push that initiates the screen saver without delay to launch?

    Is there a button to push that initiates the screen saver without delay to launch? I want to apply the screasaver with out having to wait the time it takes so that it starts on its own. Looking to see if there is a way to do this?

    Is there a button to push that initiates the screen saver without delay to launch? I want to apply the screasaver with out having to wait the time it takes so that it starts on its own. Looking to see if there is a way to do this?

    see if you can use this tutorial...
    To create an icon to launch the screensaver.

    http://www.howtogeek.com/HOWTO/Windows-Vista/create-icons-to-start-the-screensaver-on-Windows-Vista/

    PS adding...

    An easy way, scroll down for:

    Download of shortcut icons (Vista only). The author has created a "ready-made shortcuts.

    I have not tried. I can't guarantee it.* *.

  • Dell Dimension CPU fan direction. Mine blew hot air pushing in from the cooler in the case. This doesn't seem fair to me.

    Dell Dimension 5150C CPU fan direction. Mine blew hot air pushing in from the cooler in the case. This doesn't seem fair to me. The fan surge frequently at high speed, even on light loads.

    mauread

    Dell Dimension 5150C CPU fan direction. Mine blew hot air pushing in from the cooler in the case. This doesn't seem fair to me. The fan surge frequently at high speed, even on light loads.

    mauread
        
    That's right, in a BTX chassis, air is pulled the intake flange and evacuated by the back panel.
    Did you clean any buildup of dust from the fins of the cooler cooling and the front air intake, recently?
          
    Bev.
  • Inline background being pushed down to the margin of the header

    Hello everyone - inline background being pushed down to the margin of the header (see below the CSS and HTML). Also, when I saw in IE9, no scroll bar on the right:

    #header {}

    text-align: center;

    margin-top: 165px;

    overflow: hidden;

    < body >
    < style body = "background-image: url (images/sample.png);" background-repeat: repeat no.; background-pos ition:center; overflow: hidden; ">

    "" < div id = "header" > < a href = "http://www.sample.com" > < img src = "images/sample.png" border = "0" width = "690" height = "128" alt = "Sample" longdesc =http://www.sample.com / > < /a > < / div > <! - end header - >

    #1 delete overflow: hidden your body.  That cripples your scroll bars appear.

    #2 change background-position of the body of the Center top-center.

    #3, unless your #header contains floats, remove overflow: hidden.

    Nancy O.

    ALT-Web Design & Publishing

    Web | Graphics | Print | Media specialists

    http://ALT-Web.com/

    http://Twitter.com/ALTWEB

  • How to push a new page in TabbedPane?

    I use a TabbedPane and need to open a new Page, but it doesn't seem to be a function push() for TabbedPane.

    I know that I can open a new leaf, but I don't want to use a spreadsheet for this case, I need a new page (the kind that scrolls from the right).
    Any suggestions?

    Put a navigation within a tab pane.

    Tab {
            NavigationPane {
                backButtonsVisible: false
                peekEnabled: true
                id: navInTab
                Page {
                    id: tab3
                    Container {
                    }
                }
            }
    }
    

    then attach the page you want to push on one attachedObject

    attachedObjects: [
                    Page {
                        id: pushedPage
                        content: Container {
                        }
                    }
    ]
    

    Then push at any time.

    navInTab.push(pushedPage);
    
  • Make a tab of the ActionItem Menu TabbedPane

    Hello! I'm creating an application with three tabs. I want the fourth tab at ActionItem Menu which will stocks based on which tab user is in. Is there a way I can code it. My current code is given below

    import bb.cascades 1.2

    TabbedPane {}

    showTabsOnActionBar: true

    First tab

    Tab {}

    {Page}

    {Of container

    topPadding: 30.0

    leftPadding: 20.0

    rightPadding: 20.0

    TextField {}

    onTextChanging: {}

    }

    }

    TextArea {}

    }

    }

    }

    }

    End of the first tab

    Second tab

    Tab {}

    {Page}

    {Of container

    }

    }

    }

    End of the second tab

    Third tab

    Tab {}

    {Page}

    {Of container

    }

    }

    }

    End of the third tab

    / * Fourth tab * /.

    Tab {}

    Title: "Action Menu".

    imageSource: "asset:///icons/ic_overflow_action.png."

    {Page}

    Menu.Definition: MenuDefinition {}

    settingsAction: {SettingsActionItem}

    onTriggered: {}

    }

    actions:]

    {ActionItem}

    ID: action1

    Title: "myActionTitle".

    ActionBar.placement: ActionBarPlacement.OnBar

    }

    ]

    }

    }

    }

    / * End of fourth tab * /.

    }

    Got the answer. So instead of having the fourth tab, I have stock in the tab page... The code will be

    import bb.cascades 1.2

    TabbedPane {}

    showTabsOnActionBar: true

    First tab

    Tab {}

    {Page}

    actions:]

    {ActionItem}

    Title: "Action 1".

    ActionBar.placement: ActionBarPlacement.OnBar

    onTriggered: {}

    MyLabel.set_Text = "Selected 1 Action!"

    }

    },

    {ActionItem}

    Title: 'Action 2 '.

    ActionBar.placement: ActionBarPlacement.OnBar

    onTriggered: {}

    MyLabel.set_Text = "Action selected 2!"

    }

    }

    ]

    {Of container

    topPadding: 30.0

    leftPadding: 20.0

    rightPadding: 20.0

    TextField {}

    onTextChanging: {}

    }

    }

    TextArea {}

    }

    }

    }

    }

    End of the first tab

    Second tab

    Tab {}

    {Page}

    {Of container

    }

    }

    }

    End of the second tab

    Third tab

    Tab {}

    {Page}

    {Of container

    }

    }

    }

    End of the third tab

    }

  • accordion on mobile pushing downwards to the following

    I have an accordion with multiple tabs and then some buttons on the last tab.

    the buttons get pushed way down and leave a lot of empty space. PIN buttons help?

    Despite this, I have the accordion set overlapping all lower.

    Hello world

    Vivek told me to uncheck the box that says "overlap the items below.

    It's his explanation:

    As the accordion and buttons are placed separately in the master page and the page of the child, we must do the reverse.

    Visit accordion Option and uncheck the box "overlap the items below.

    This will eliminate the gap.

    As a footer and accordion are on 2 different pages so muse secures the maximum space possible for accordion expansion. Due to which this happens.

    Like its fine to work for you, I would be grateful if you could confirm the fix on the forum thread so that other users can also take advantage of this.

    Concerning

    Vivek

    IT WORKED FOR ME!

  • Android Push Notification of the release of CWM again using Coldfusion

    Is there any similar push notification solution/tutorial, but this time for the Android?

    Something similar to this tutorial, but with Android using coldfusion to send my server dedicated to registered devices:

    http://www.raymondcamden.com/index.cfm/2010/9/13/guest-post-Apple-push-notifications-from-ColdFusion-in-ten-minutes-or-less

    Thanks in advance

    Talal

    well after diving and testing here and there, I found a way and tested successfully.

    1 > first and foremost, the developer must follow the procedures described in this page:

    http://developer.Android.com/Guide/Google/GCM/GS.html

    2 > on the side of the app, you will send users information devices; But what matters is only the "registration id", so make sure you save this in database coz, you will use it to browse your database files when sending notifications.

    3 > now the script server side of Coldfusion, which is really easy:

    SELECT COUNT (intGCMuserID) AS TotalRecords

    OF gcmusers_tbl

    WHERE appName =

    SELECT use

    OF gcmusers_tbl

    WHERE appName =

    ORDER BY intGCMuserID DESC

    {'data' = {}}

    "title" = "#FORM.title, #

    'message' = ' #FORM.message # '.

    },

    'registration_ids' = #registrationArray #.

    }

    >

    method https://Android.googleapis.com/GCM/Send' = 'post' result = 'httpResp"timeout ="600">

    Sent to: #rs. RecordCount # devices/users

    > > > new

    Title:

    Message:

     

  • Local error-1200 creation push certificates on the server. Any idea?

    In the Application Server

    When you try to renew or create a certificate to push comes up with the error "Certificates to push creation local error - 1200" on the server. Any idea? »

    I'm having the same problem with 10.7.5 server. (two of them)

    At the time of renewal, I was looking at the Console and I think the Apple Server SSL certificate is therefore more reliable.

    (or server versions are low)

    August 15 at 10:23:08 login.* * servermgrd [23349]: received the connection error: error domain = NSURLErrorDomain Code =-1200 "error SSL and a connection to the server cannot be made. UserInfo = 0x7fb8f5aab9a0 {NSUnderlyingError = 0x7fb8f15af450 "error SSL and a connection to the server cannot be made.", NSErrorFailingURLStringKey =https://identity.apple.com/pushcert/caservice/renew, NSErrorFailingURLKey =https://identity.apple.com/pushcert/caservice/renew, NSLocalizedRecoverySuggestion = you want to connect to the server anyway?, NSLocalizedDescription = SSL an error has occurred and a connection to the server cannot be made.}

    August 15 at 10:23:08 login.* * servermgrd [23349]: certificate request to push failed: reason = Local, error code = - 1200, error = error Domain = NSURLErrorDomain Code =-1200 "error SSL and a connection to the server cannot be made. UserInfo = 0x7fb8f5aab9a0 {NSUnderlyingError = 0x7fb8f15af450 "error SSL and a connection to the server cannot be made.", NSErrorFailingURLStringKey =https://identity.apple.com/pushcert/caservice/renew, NSErrorFailingURLKey =https://identity.apple.com/pushcert/caservice/renew, NSLocalizedRecoverySuggestion = you want to connect to the server anyway?, NSLocalizedDescription = SSL an error has occurred and a connection to the server cannot be made.}

    So not yet an idea, but hopefully with these console outputs happen to something?

  • Satellite 2550: Pushing 'C' starts the recovery procedure

    I'm trying to re - install my laptop (Satellite 2550CDT), but by pushing the C does not start the recovery cdrom I have. I'm just following the instructions. What should I do to re - install the laptop?

    Jasper

    [Edited by: admin]

    Hi Jasper,.

    Normally just need you to press and hold the "C" key during the initial walk up the laptop emits a series of beeps. However you can also press the F12 key during the initial power to access the selection menu device BIOS where you can select your CD-ROM drive as first boot device.

    Kind regards

  • How to create table of 288 HP push button in the PXI-6509 (3pcs)

    Hi all

    Need help...

    I am a beginner in labview. & her first time use OR for my project.

    We must push buttom about 288 HP control panel. We use PXI-6509 (3 pcs)

    & I do a code (in tie).

    but some time appear as a bug if we push a button push button after all. but some time is ok.

    Please correct the code.

    Thank you very much...

    It seems to work fine for me.  What do you mean by "sometimes appear like a bug?  How is it not behave like you want.

    A few recommendations:

    1. There is no logical reason for the node feedback on some of your cables of the error.

    2. you can turn some of your groups of buttons in a cluster.  This way you can work on changing the value of a cluster and do not have to set up 100's of changes made to the values of the individual controls.  You'd also be abe to easily use the cluster to table to transform your cluster of Boolean Boolean rather than building tables table by manually cabling up to 100's of controls.

  • Push notification when the application is closed

    Hello! I want to recive notify with my application when the application is closed.

    is this possible? An example of code for this?

    Kind regards!

    Sorry, with sample collector push, can result.

    Thank you!

Maybe you are looking for