Hi,
I am looking for a way to implement some GUI features and I am
contemplating between OGL or FloatCanvas. Actually I am leaning more
towards FloatCanvas, but I am not sure how much effort it will be to get
it together. -- Unless there is some other toolkit that can handle this
task even better and works together with wxPython. --
The GUI should be like a block diagram editor. There are function blocks
that have different amounts of input and output. Inside the function
block there is a text for each input/output port and in the middle of
the block a title. Those blocks can be moved around and changed in size.
Blocks can be interconnected with lines. Those lines connect to the
input and output ports. When moving the blocks, the line connection
should stay.
Lines should only go horizontally or vertically and individual segments
can be moved around. Different lines can cross without interconnection
or connect. When moving such a segment from an interconnected line all
segments follow the move.
To make connections, when moving the mouse over a port, a small square
shows up that allows to draw a line from that port.
That are pretty common functions and I wonder whether actually a toolkit
like that exists already?
I know that OGL was made for something like that. I just read a post
about 2 years ago, where someone described a similar GUI and said that
he grew out of OGL pretty fast. -- The post is here:
http://aspn.activestate.com/ASPN/Mail/Message/wxPython-users/1986966
Looking at the FloatCanvas I see the basic functions I am looking for,
but they still need some work to get them together.
In addition to that, there are some functions I have not seen being
implemented with FloatCanvas yet like like having a grid and moving
blocks and lines based on that grid or a scrollbar for the canvas.
I would appreciate any comments about what the simplest way would be to
implement those features.
Thanks
Cheers,
Guenter