as requested, the two classes wmoo.Label and wmoo.Button, the method
wmoo.Application.addWidget. widgets can be retrieved as dictionary
entries of the application.
implemented the 'align' parameter to the Application.addLabel method.
the pywmhelpers.addString function now returns the x-size of the string.
moved all labels in pywmdatetime one pixel to the left.
I've almost completely rewritten the program, cleaned up most stuff which
has become useless in the object oriented framework.
the strings are not any more centered, this has not yet been programmed in the library.
modified the buttons, made them again a bit smaller.
moved them around, too.
added callbacks for keypresses
j: next
k: previous
p: play
m: mute
q: stop
space: pause
the pause button blinks while the player is paused.
added the field 'button' to key events.
the reason for calling it 'button' is so that it has the same name as mouse events.
the value is the translation as returned by XLookupString.
I've added the two methods addButton and setButtonPattern to the Application class.
the area in the background has to be paintable, not transparent, or the
button will not be displayed nor be sensitive.
patterns are taken from the application and are not stored with the button.
it might be a good idea to introduce an object hierarchy for widgets,
including Labels and Buttons, maybe also flashing buttons, but as far as the
application programmer (of things like the current examples) is concerned,
this is good enough, I'd say.