hello,
Am Dienstag 16 August 2005 22:31 schrieb Mathieu Bouchard:
On Wed, 10 Aug 2005, Georg Holzmann wrote:
okay - I meant it much more simple ... (maybe layer is the wrong word for it ?) on a Qt Canvas you can give each item a property (I think an integer) if it is in front or in back - so e.g. if you want a red rectangle in front of a black rectangle ... (now you need to create the read rectangle after the black one ...)
The way it is in Tk is that every canvas-element is either at the front or back or another one, such that if both are made to overlap, it is certain which one will be on the top of the other. I think that feature of Qt Canvas is equivalent to that one of the Tk Canvas.
yes, it does. and its not an integer, but a double that is used for this in qt. thats what i use to draw the in/outlets _above_ the object they belong to: when the object is, lets say, z=5, the in/outlets are at z=5.1
I would like to make this more directly configurable by the user but I don't know of a good UI for doing this. jMax had "raise/lower" contextual-menu options but I never really knew what those were doing. Maybe I'm a detail-obsessed control-freak but when I raise an object I wonder up to which level it gets raised: on top of everything else in the patch? just on top of every object it was overlapping with ? How can I see that ordering ? (short of opening the .pd file in a text editor) And how can I set the ordering myself in an explicit way in a way not too hard to handle ?
usually raise/lower should do that for only one step. if z=5, after raise, it should be z=6. then there should be "bring to front / send to back" to put them on the topmost/bottom-most z-coordinate.
having that setable in the properties is of course a good idea.
Despite the plain raise/lower commands being less than ideal, I advocate adding them to Pd. It sure is better than the Cut+Paste hacks that we're forced to do to put the [cnv] objects under other objects.
there could be also the function that a raise, for example, when applied to a group of selected objects, the objects will be raised above the top-leftmost one. lets say we have 3 objects selected, with z= 5, 1, and 9, whereas the top-left selected is the z=5, they should be z=5,6,7. same for lower, but just in the other direction, of course.
on a side-note: i found the functionality to arrange/line-up objects in jmax pretty handy: you select a bunc of objects, ctrl-left would them all move to the left to have the left sides lined up with the left side of the leftmost object.
in addition to that, something like "spread" would be cool to, so that you have a bunch of randomly placed objects, and can "spread" them in a way that they are all in-line, with a given space between each object.
greetings,
chris