Hi Simon,

I don't think that such a new behavior is a good idea to integrate into 
a class like Window. Maybe you can, instead of directly modify Window, 
implement such a feature inside a child class.

Cheers,

Sebastian


Simon Bull schrieb:
> Hi All,
> 
> Attached is a demo of a window feature I have migrated from 0.5.x
> to 0.6.1 (r4269).  Some of my users really like it - perhaps some others
> will too?  If Sebastian thinks it is a worthy addition he could add it to
> qx.ui.window.Window for 0.6.2 :)
> 
> The feature is called window "blocking".  Blocking is a property which
> can be set to true or false for any window instance.  When it is set to
> true, a window will be completely covered by a transparent
> qx.ui.basic.Terminator when it is not the active window (the "transparent"
> terminator can be given any appearance you like - E.g., a low opacity 
> colour).  
> 
> This means that unless a window is active the user cannot click any
> widget in the window and cannot resize or reposition the window.  The only
> thing a user can do to a blocked window is to "unblock" it by clicking
> anywhere in it.  This automatically blocks all other windows which have
> blocking set to true.
> 
> Why is this useful?
> 
> Some users are frustrated when a click that is intended to bring a
> window into focus also triggers the widget that they happened to click.  
> This is especially true if the click unintentionally triggers an
> expensive action.  For example - our application has a Map window, and 
> clicking
> anywhere over the map can trigger a zoom, or an expensive spatial
> search or selection.
> 
> See for yourself
> 
> Rename the attached sample1-src.foo to sample1-src.zip (sourceforge mail is
> blocking mail with any attachment with the .zip extension).
> 
> Unzip the renamed sample1-src.zip and modify the Makefile so that
> "QOOXDOO = ....." (on line 5) points to the qooxdoo sdk in your 
> filesystem.  
> You will also need to add the following to
> qx.theme.appearance.DefaultAppearanceTheme.js:
> 
>   "window-blocker" : {
>     setup : function() {
>       this.bgcolor_active = new
> qx.renderer.color.ColorObject("activecaption");
>       this.bgcolor_inactive = new
> qx.renderer.color.ColorObject("inactivecaption");
>     },
> 
>     initial : function(vTheme) {
>       return {
>         opacity : 0.2,
>         backgroundColor : this.bgcolor_inactive
>       }
>     }
>   },
> 
> Then make, and open sample1/build/index.html.
> 
> Click the "Create new window" button half a dozen times then move the
> windows around so they overlap.  Notice that you can't click the radio
> buttons or use any controls of a blocked window.  You can toggle
> blocking off in some windows and see how the behaviour differs.
> 
> Enjoy,
> 
> Simon
> 
> ------------------------------------------------------------------------
> On Yahoo!7
> Messenger: Make free PC-to-PC calls to your friends overseas. 
> <http://au.rd.yahoo.com/mail/tag/**http%3A%2F%2Fau.messenger.yahoo.com%2F>
> 
> 
> ------------------------------------------------------------------------
> 
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to share your
> opinions on IT & business topics through brief surveys -- and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> qooxdoo-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

Reply via email to