D4D Nested Menu Failure

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

D4D Nested Menu Failure

Jump to solution
565 Views
MikeJones
Contributor III

I built an app that uses nested menus, but they only work the first try, then fail to pop.

 

Menus that exit by the X or by calling D4D_EscapeScreen(), as in the example, work fine.

 

When a menu calls another screen with a menu, and when all exits follow the X or D4D_EscapeScreen(), they also work fine.

 

But if a nested menu directly calls the main screen with D4D_ActivateScreen (D4D_TRUE), the next use of the menus fails to work.

 

I tried to unwind the history by calling D4D_EscapeScreen() twice, and this works. For example, if in the callback of the second menu:

 

D4D_EscapeScreen();

D4D_EscapeScreen();

D4D_ActivateScreen(..., D4D_TRUE)

 

However, this causes some screen flicker as the previous menu paints.

 

Is there a proper way to leave a nested menu that does not break the following use?

0 Kudos
1 Solution
340 Views
Gargy
NXP Employee
NXP Employee

Hi,

 there is two possible way how to do it.

 First one is: Create all menu screen with "replacescreen in history" parameter set to D4D_TRUE when you call the D4D_ActivateScreen. And each D4D_EscapeScreen  jump to screen from where you call the first menu screen.

 

Or new eGUI 3.00 brings new function D4D_EscapeToBaseScreen() and this function clears complete screen history and activate automatically the first one screen.

 

To get the release candidate of new eGUI send me the private message with description of your project and email.

 

Best regards

Gargy

View solution in original post

0 Kudos
1 Reply
341 Views
Gargy
NXP Employee
NXP Employee

Hi,

 there is two possible way how to do it.

 First one is: Create all menu screen with "replacescreen in history" parameter set to D4D_TRUE when you call the D4D_ActivateScreen. And each D4D_EscapeScreen  jump to screen from where you call the first menu screen.

 

Or new eGUI 3.00 brings new function D4D_EscapeToBaseScreen() and this function clears complete screen history and activate automatically the first one screen.

 

To get the release candidate of new eGUI send me the private message with description of your project and email.

 

Best regards

Gargy

0 Kudos