Hello,

I'm working on a simple, multi-page application.  There are four menu
buttons across the top of the screen, and 1-4 command buttons at the
bottom depending on which menu is active.  When transitioning between
menus, I have the command buttons accelerate offscreen to the left.
The problem I'm having is if the user presses a button as it is
transitioning off screen.  The press is handled as a button press, and
the button goes back to its original place on screen, instead of
accelerating offscreen and becoming invisible.  Is it possible to
disable mouse events during a transition in my EDC?  What's the best
approach here?  Here are some snippets of what I'm doing right now:

ADJUST is a menu button at the top of the page.  When selected, the
TTOL, LOUNGE, BED, and LOAD buttons transition offscreen to the left.
However, the user can still press these buttons while the
adjust_active3 program is running.  For example, that press causes the
BED_active program to run, setting BED state to "active", thus moving
the button to its original position.  The mouse,up,* event causes
BED_visible to run, leaving the button in its original position in the
"unpressed" state.  The XXX_active programs cause a highlighted image
to replace the default image.

#define PROGRAM_BUTTON_ACTIVE_VISIBLE(targ)                \
    program {                                               \
            name: targ"_active";                            \
            signal: "mouse,down,1";                         \
            source: targ;                                   \
            action: STATE_SET "active" 0.00;                \
            transition: LINEAR 0.00000;                     \
            target: targ;                                   \
         }                                                  \
    program {                                               \
            name: targ"_visible";                          \
            signal: "mouse,up,*";                           \
            source: targ;                                   \
            action: STATE_SET "visible" 0.00;               \
            transition: LINEAR 0.00000;                     \
            target: targ;                                   \
         }                                                  \

          PROGRAM_BUTTON_ACTIVE_VISIBLE("TTOL")
          PROGRAM_BUTTON_ACTIVE_VISIBLE("LOUNGE")
          PROGRAM_BUTTON_ACTIVE_VISIBLE("BED")
          PROGRAM_BUTTON_ACTIVE_VISIBLE("LOAD")

          program {
                  name: "adjust_active3";
                  signal: "mouse,down,*";
                  source: "ADJUST";
                  action: STATE_SET "offscreen_left" 0.00;
                  transition: ACCELERATE 0.5;
                  target: "TTOL";
                  target: "LOUNGE";
                  target: "BED";
                  target: "LOAD";
          }
          program {
                  name: "adjust_active4";
                  signal: "mouse,down,*";
                  source: "ADJUST";
                  action: STATE_SET "onscreen" 0.00;
                  transition: DECELERATE 0.5;
                  target: "SAVE";
                  target: "FORE_AFT";
                  after: "viewing_area_ttol_fadein";
                  after: "viewing_area_ttol_fadeout";
          }


Thanks in advance!

Matt

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to