Quoting [email protected]:
Of course, I should've noticed the word "layout" in your original email.
Your problem reminds me of collision detection in 2D video games. I found
this tutorial to be helpful:
http://www.metanetsoftware.com/technique/tutorialA.html . Basically, if
two objects are overlapping, you calculate a push vector between their
centroids to separate them.
Excellent; thanks for the link. I'd only just thought "Hey! Games
must do that".
So far I have a widget canvas where I can:
right-click -
pop-up menu -
create widget on layout at that location. -
grab the frame of the widget and move it around -
create more widgets
Only as soon as I drag a widget the scroll-bars of the Layout become
oddly disconnection.
So that is my next issue, then to look at the overlapping.
Also I can't yet resize the layout dynamically if the widget gets
dragged of the edge.
<https://sourceforge.net/u/whitemice/whitemicehg/ci/f731db465262a4d7751c69700ba3f39f04c28e96/tree/Scraps/Python/Gtk/WidgetCanvas.py>
On Tue, Mar 6, 2012 at 9:20 AM, Adam Tauno Williams
<[email protected]>wrote:
On Tue, 2012-03-06 at 09:05 -0700, [email protected] wrote:
> If you pack your widgets into boxes or tables, then they will never
> overlap (unless you're using buggy 3rd party widgets). Normally, the
> only way to make widgets overlap would be to use a Layout or a Fixed
> to manually place your widgets. But that's generally a bad idea. I
> recommend that you read
> http://www.pygtk.org/pygtk2tutorial/ch-PackingWidgets.html and pack
> your widgets into boxes.
I'm very much aware of widget packing. But having widgets that can be
deliberately dragged around on a surface [Layout] is specifically the
purpose in this case.
> On Tue, Mar 6, 2012 at 8:14 AM, Adam Tauno Williams
> <[email protected]> wrote:
> This isn't specifically related to Gtk / PyGtk, but since I'm using
> PyGTK I thought I'd ask it here [it just relates generally to UI
> design].
> If I have a layout that contains widgets [which are rectangles]
> detecting with widgets overlap isn't that hard. But is there a
> generally accepted scheme / algorthym for redistributing the widgets
> in such a fashion that they no longer overlap and 'feels' intuitive?
> I've seen this behavior in a couple of applications and am curious if
> ther is anything like a 'standard' approach to this issue? [relevant
> links?]
_______________________________________________
pygtk mailing list [email protected]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://faq.pygtk.org/