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