If I understand correctly, firstly you're trying to create a
kind of graphical GUI-building environment, but using your own
unique kinds of widgets rather than the standard ones.

It's hard to say what would be the best way to go about it.
Basing each of your pseudo-widgets on an actual gtk widget
would buy you some things -- a parent-child hierarchy,
nested coordinate systems and clipping, and handling
input events. But you may end up fighting against gtk in
various ways, in order to handle things like dragging
widgets from one container to another, which really needs
to be managed by something outside the widget that was
clicked on.

Also, if you're going to want transparency or nonrectangular
shaped widgets, you may find a real gtk widget to be too
restrictive. And if you try to have thousands of widgets,
I wouldn't be surprised if things get bogged down. A gtk
widget is a fairly heavyweight thing, involving a Python
object, a gtk object, and some state in the X server that
all need to be coordinated.

Donn wrote:
Can one have "living" visual objects without making them "widgets"?

At some level, yes, of course -- you can draw whatever you
want and handle input events however you want.

The question is whether the freedom you get from doing it all
yourself is worth the extra effort it would take. I've never
tried to do anything like this with gtk, so I'm not really sure
how all the tradeoffs would work out.

Either way, it sounds like a fairly major project, and one
that will be bending gtk in ways it wasn't really designed to
go. It might be better to get some experience using gtk in
the normal way before diving into this.

You might also want to look at PythonCard, which I haven't
seen, but from what I've heard it may be doing something
along similar lines. It's based on wxPython rather than
gtk, but there might be some ideas in it that you could
use.

I realize it's counter to where GUI's go at the moment

I don't want to discourage you -- a Flash-like environment
sounds like it would be a cool thing to have -- but as a
GUI for a mundane application, it's probably not a good
idea to depart too far from the platform standards. If
it's too weird and wonderful, it will tend to repel users
rather than attract them!

--
Greg
_______________________________________________
pygtk mailing list   pygtk@daa.com.au
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/

Reply via email to