UrShape Layout: Controversy convergence
- From: Andre Kloss <kloss rbg informatik tu-darmstadt de>
- To: dia-list gnome org
- Subject: UrShape Layout: Controversy convergence
- Date: Tue, 3 Jul 2001 20:57:32 +0200 (MET DST)
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
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
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.
Tolerance rulez, everything else sux! -- Andre Kloss
] [Thread Prev