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 = "" 'Click to submit the article' )
 
That means, b.onMouseOver returns an "Event" object that has .style and .action.
 
   b.onClick.action = ""
 
   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
[EMAIL PROTECTED]
Nat'l Center for Macromolecular Imaging
http://ncmi.bcm.tmc.edu/ncmi/
~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to