>* Paul Davis ([EMAIL PROTECTED]) wrote: >> >I would like to code up a proto of the interface though. I was >> >planning on trying to do it with python and something like wxPython. >> >Mostly because Python is my new favorite language and I need a good >> >graphics project to work on. >> >> any chance you'd consider using pyGTK and python? > >Why do you recommend this in favor of wxPython, when wxPython buys you >two extra platforms for free (and an easier, better documented API)?
because wxWindows is restricted to being the lowest common denominator of the toolkits it wraps. i also don't agree that the API is better documented. there are 2 excellent books on GTK+ programming (both online), and an almost complete API reference manual online. there are things i have wanted to do in ardour that wxWindows would make exceedingly painful because it involves deep messing around with the GUI internals, something wxWindows cannot allow (since it has no single set of "internals"). a simple example: when you click on a record enable button, it cannot turn "on" directly from the "click" handler/callback/whatever. with an MVC (Model-View-Controller) programming model, the click is simply a request made using the button as a controller. when the state of the model changes (i.e. a track is actually record enabled), the button is used as a view, and its state is changed to represent this. now, in GTK+, its fairly easily to subvert the usual handling of button clicks and so forth. but the alternative to this is to make every widget with this kind of behaviour (i.e. most of them in an MVC system) into a generic "drawing area" where you either dump a pixmap or draw some text and lines and stuff. this means that you are basically back to Xlib and don't actually have a toolkit working very hard at all to make your life easier. i don't believe you could possibly carry out this subversion with wxWindows in a portable fashion. i may be wrong. finally, i'm not sure what the 2 extra platforms are. MacOS is the only significant one I can think of. GTK+ for win32 seems to exist and be pretty effective. GTK+ also provides support, like Qt, for direct framebuffer systems, making it effective in embedded systems that do not run X Window, which wxWindow does not do correctly, i am told. --p
