Ok I see. Option 2 worked perfectly. Now the pushbuttons and wipe up/down work together even when I change dialogs. Thank you.
I have one last issue regarding the WipeTouchHandler. When I wipe left or right, the functionality of the pushbutton callbacks and the wipe up/down for the menu no longer works. The WipeTouchHandler is at the Application::Application level.
OnBottom = onWipeBottom
OnTop = onWipeTop
OnLeft = onWipeLeft
OnRight = onWipeRight
I have used the "wipe-touch-handler" example for the drawer (wipe up/down) and I have used the "using-touch-handler" example for the switching between dialogs (wipe left/right)
slot Application::Application.onWipeBottom
{
// The drawer is already visible. Thus nothing to do.
if ( Drawer.Visible )
return;
// The drawer component should be visible and able to handle user
// inputs.
Drawer.Visible = true;
Drawer.Enabled = true;
// Start a fade-in animation
PullInOutEffect.Reversed = false;
PullInOutEffect.Enabled = true;
// While the animation is running suppress the Wipe Touch Handler from
// being able to process more gestures. The Handler is enabled again
// when the animation is finished.
WipeTouchHandler.Enabled = false;
}
slot Application::Application.onWipeTop
{
// The drawer is already visible. Thus nothing to do.
if ( !Drawer.Visible )
return;
// Start a fade-out animation
PullInOutEffect.Reversed = true;
PullInOutEffect.Enabled = true;
// While the animation is running suppress the Wipe Touch Handler from
// being able to process more gestures. The Handler is enabled again
// when the animation is finished.
WipeTouchHandler.Enabled = false;
Timer.Enabled = false;
}
slot Application::Application.onWipeLeft
{
// The user wants to browse to the next page.
// Already the last page visible?
if ( pageNo == 3 )
pageNo = -1;
pageNo = pageNo + 1;
// Display the page text
switch ( pageNo )
{
case 0 :
{
SwitchToDialog( VarViewApp, Effects::SlideLeftCentered, Effects::SlideLeftCentered, null, null, null, null, null, null, null, false );
}
case 1 :
{
SwitchToDialog( VarCustomApp, Effects::SlideLeftCentered, Effects::SlideLeftCentered, null, null, null, null, null, null, null, false );
}
case 2 :
{
SwitchToDialog( VarCustomApp, Effects::SlideLeftCentered, Effects::SlideLeftCentered, null, null, null, null, null, null, null, false );
}
case 3 :
{
SwitchToDialog( VarGraphApp, Effects::SlideLeftCentered, Effects::SlideLeftCentered, null, null, null, null, null, null, null, false );
}
default :;
}
slot Application::Application.onWipeRight
{
// The user wants to browse to the next page.
// Already the first page visible?
if ( pageNo == 0 )
pageNo = 4;
pageNo = pageNo - 1;
// Display the page text
switch ( pageNo )
{
case 0 :
{
SwitchToDialog( VarViewApp, Effects::SlideRightCentered, Effects::SlideRightCentered, null, null, null, null, null, null, null, false );
}
case 1 :
{
SwitchToDialog( VarCFMApp, Effects::SlideRightCentered, Effects::SlideRightCentered, null, null, null, null, null, null, null, false );
}
case 2 :
{
SwitchToDialog( VarCustomApp, Effects::SlideRightCentered, Effects::SlideRightCentered, null, null, null, null, null, null, null, false );
}
case 3 :
{
SwitchToDialog( VarGraphApp, Effects::SlideRightCentered, Effects::SlideRightCentered, null, null, null, null, null, null, null, false );
}
default :;
}
In Application::Application.Init()
{
.......
var Application::DataDisplay1 dialog1 = new Application::DataDisplay1;
VarViewApp = dialog1;
var Application::DataDisplayCFM dialog6 = new Application::DataDisplayCFM;
VarCFMApp = dialog6;
var Application::DataDisplayCustom dialog7 = new Application::DataDisplayCustom;
VarCustomApp = dialog7;
var Application::Graph dialog8 = new Application::Graph;
VarGraphApp = dialog8;
....
}
The issue seems to be after a wipe left or right is done and then a wipe bottom is attempted, at the beginning of the onWipeBottom function:
if ( Drawer.Visible )
return;
The Drawer.Visible = true even though the Drawer is not seen on the screen and therefore returns out of the onWipeBottom function.
Also, the postsignal is lost for the pushbutton if a wipe left or right is done and then a pushbutton is pressed.
Any ideas? Thanks again.