you could use embryo to only set the state if its not moving
On Fri, 2008-10-24 at 10:56 -0700, Matt Barclay wrote:
> 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
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
-------------------------------------------------------------------------
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel