Ok. Let's see, what comes out at l(e)ast: 1. The normal UrContainer does no drag'n'drop, a special Ur-Dragndrop-Container shall do this. The behaviour of a "normal" UrContainer remains undefined. How do you want to embed a UrShape in a UrContainer? By some yet undefined function? How will the user trigger this function? 2. I suggest two possible behaviour patterns for the multiple-layer problem _with_ Drag'n'Drop, i.e. which UrShape has to be selected: a) Static: Always select the innermost UrShape - if it's in the way, It can be dragged out of it. b) If a UrShape is selected, the next [select]-Operation selects its parent UrShape. If there is no parent (embedded==NULL), the [select] operation just deselects the UrShape, so the next [select] will select the innermost UrShape again. Needless to say, I prefer the latter option. 3. This works for dragging, too - if the mouse pointer is over a selected UrShape while dragging, it will drag this UrShape including all children. If no UrShape is selected, the innermost will be dragged. 4. Every UrShape can have minSize(x,y) and maxSize(x,y) as well as min/maxRatio. Every UrContainer should have a defined minBorder/maxBorder or a fixed Border-to-Parent-ratio. 5. What is Layout, what is behaviour: The question here is how much layout/behaviour can we implement without becoming too specialized? 6. The default textbox should resize horizontal with adding text, and vertical with every newline. This gives the user the most control. A specialized textbox could do wrapping on a (user-defined) border or maybe even on aspect ratio. 6b) This works in both positive and negative direction - if text is deleted, the textbox should resize as well. 7. Ok, I agree to start with a textbox as defined in 6. and some SVG fancy. I'd really appreciate anything that brings us fast toward both UML and Chapin Charts, since both will be needful for me. 8. What have we learned from this lesson that requires us to change the UrShape header? a) We need a distinction for the UrContainer - if we want to specialize it. Where comes the "normal" UrContainer? b) Same for textboxes. Where is the text stored in a UrShape? a|b) The callback hash comes to mind...if we can just let the (hashed) function call decide what to do...? Thanks for your feedback, John, Cyrille and Lars. I really wanna see how this advances further. cu Andre -- Tolerance rulez, everything else sux! -- Andre Kloss _______________________________________________ Dia-list mailing list [EMAIL PROTECTED] http://mail.gnome.org/mailman/listinfo/dia-list