[SailfishDevel] pageStack.pop() - send paramater to prev page

info at flyingfischer.ch info at flyingfischer.ch
Thu Jun 5 16:49:38 UTC 2014


Hi Chris

thanks for this idea and your code example!

I am working on app in a very early stage that will partially talk to a 
remote server and get dynamic content. In some cases it even will create 
a little bit of traffic...

...so I will stick for the moment with the solution provided by Konstantin.

Regarding the use of Dialog:

I come from the Java world and am an absolute newbie on QT. I couldn't 
figure out how this would work. The documentation from Sailfish OS || QT 
is not very clear about this, at least not for me.

...but I intend to learn and will certainly restudy the docu and try to 
check out other use cases from other apps, untill I get it ;-)

Thanks to anybody!

Markus

Am 05.06.2014 16:40, schrieb Christopher Lamb:
> Hi Markus
>
> In my app I chose to instantiate all my Pages in the same place. Each of
> the pages has a declaration in a separate qml file (e.g. MainPage.qml,
> AreaSelectionPage.qml).
>
> With this architecture none of the declarations need to know about the
> previous or next page. It is not their concern. Instead they emit
> signals NextPage, BackPageWithInfo, and Cancelled. In the signal handler
> in the page instantation I do the actual pushing and popping, and
> because all pages are instantiated in the same scope, they are all
> available to be pushed / popped to. (see code example below).
>
> The downside is that all the pages are created on startup (regardless of
> if they are ever visited). For lightweight pages this is not a problem,
> but for some pages this might be a problem. For these I dynamically
> create the page content when the page is visible.
>
> Grüsse
>
> Chris
>
>
> ApplicationWindow  {
>
>      id:  appWindow
>
>      .......
>
>      initialPage:  mainPage
>
>      MainPage  {
>
>          id:  mainPage
>
>              ....
>
>          onNextPage:  {
>
>               if  (pageType  =="SMS")  {
>
>                  console.log("smsType  is:  "  +  smsType)
>
>                  if  (smsType  =="Default")  pageStack.push(smsPage,  {lati:  mainPage.getLati(),  longi:  mainPage.getLongi(),  alti:  mainPage.getAlt
>   i(),  area_id:  area_id,  template_id:  template_id,  msg_status:  msg_status,  lastPage:  "mainPage"})
>
>              }
>
>              else  {
>
>                  pageStack.push(areaSelectionPage)
>
>              }
>
>          }
>
>      }
>
>      AreaSelectionPage  {
>
>          id:  areaSelectionPage
>
>          ....
>
>          onBackPageWithInfo:  {
>
>              mainPage.areaSet  =  true;
>
>              mainPage.area_id  =  area_id;
>
>              pageStack.pop(mainPage);
>
>          }
>
>          onCancelled:  pageStack.pop(mainPage);
>
>       }
>
>      SMSPage  {
>
>          id:  smsPage
>
>          ....
>
>          onNextPage:  {
>
>              pageStack.push(contactSelectionPage,  {area_id:  area_id,  template_id:  template_id})
>
>          }
>
>       }
>
>      ContactSelectionPage  {
>
>          id:  contactSelectionPage
>
>          ....
>
>          onBackPageWithInfo:  {
>
>              console.log("About  to  pop  smsPage;  contactName:  "  +  contactName  +  ",  contactPhone:  "  +  contactPhone);
>
>              smsPage.contactName  =  contactName;
>
>              smsPage.contactPhone  =  contactPhone;
>
>              smsPage.lastPage  =  "contactSelectionPage";
>
>              pageStack.pop(smsPage);
>
>          }
>
>          onCancelled:  pageStack.pop(smsPage);
>
>       }
>
> }
>
>
>
>
>
>
>
> On 05.06.14 14:43, info at flyingfischer.ch wrote:
>> Thanks for your inputs!
>>
>> Calling
>>
>> PreviousPage.topic = "MyTopic";
>> pageStack.pop();
>>
>> gives me a ReferenceError: PreviousPage is not defined.
>>
>> PreviousPage.qml and property string topic do exist.
>>
>> Thanks for your patience!
>>
>> Markus
>>
>> _______________________________________________
>> SailfishOS.org Devel mailing list
>> To unsubscribe, please send a mail to
>> devel-unsubscribe at lists.sailfishos.org
>
>
>
> _______________________________________________
> SailfishOS.org Devel mailing list
> To unsubscribe, please send a mail to devel-unsubscribe at lists.sailfishos.org
>


More information about the Devel mailing list