Being unjust

Runsun Pan python.pan at gmail.com
Wed Jan 18 19:34:35 EST 2006


I would prefer to see a core gui library that has a dom like structure and
the core lib doesn't really define the interface but only serves as "an
interface to other interfaces".

For example, a button class in this library will work like this :

   b = Button('Submit')
   b.setStyles( {'backgroundColor': 'yellow', 'fontSize': 20} )
   ( which can also be done with:
      b.style.backgroundColor='yellow'
      b.style.fontSize = 20
   )

   # Define the style change when mouse over it
   b.onMouseOver.style = { 'backgroundColor':'red', 'fontColor':'blue' }

   # Define what happen when mouse over it
   b.onMouseOver.action = showText( 'Click to submit the article' )

That means, b.onMouseOver returns an "Event" object that has .style and
.action.

   b.onClick.action = launchIt

   b.stickTo( 'right-top' )   # stick to the right-top corner of its parent
(whatever it's parent is)

   p = Panel( )
   p.add( b )     # This also defines b.parent= p, so b will stick to
right-top of p
   ......
   ...
The above are the 'core style and behavior', doesn't define to where those
style and behavior will apply.

Now comes the real fun part:

Define a mechnism to allow this "core styles and actions" be applied to
different "faces" the choice of users.

For example,

   print p.toGui( face = 'html')   # generate a webpage

   p.toGui( face = 'wxPython' ).run  # generate a desktop program, using
wxpython

There are many advantages for this sort of "universal gui core". At least, a
user will only need to learn one set of gui approach.



--
~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~
Runsun Pan, PhD
python.pan at gmail.com
Nat'l Center for Macromolecular Imaging
http://ncmi.bcm.tmc.edu/ncmi/
~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20060118/b18e3b82/attachment.html>


More information about the Python-list mailing list