Hi Ben!
Thanks again for pushing in that direction. Here is the code culprit for the original behavior: -=-=-=-=-=-= ROOrthoVerticalLineShape>>drawOn:for: ... midy := ((edgeBound corner y - edgeBound origin y) / 2) asInteger + edgeBound origin y. ... -=-=-=-=-=-=
I think the "/ 2" should be replaced by "* f" where f having should be a float 0.0<= f <= 1.0. This float should then be parametrizable obviously, with 0.5 as default value.
Actually, this code should be in a utility method that is tested.
Does it make sense to you?
Cheers, Alexandre
NB: I am currently under various deadline. In two weeks I will be freer, meaning I will look at the treemap layout of Dennis and fixes some more bugs.
On Aug 8, 2012, at 12:05 PM, Ben Coman btc@openInWorld.com wrote:
With the Ortho layouts in Mondrian and now Roassal, I find that it can get a bit messy when moving nodes around when each node pair has its middle line segment spaced at 50% from each end. I have thought for a while that it might even better if the middle segment could be shared among child nodes. So I've done a basic implementation this, and there are a lot of rough edges, but I wanted to share this before going any further to check if this approach is reasonable, or if there is a better way to proceed.
A few of the things that need to be sorted are:
- Distortion when a node is dragged up so that the top of windows stretches up
- Arrows go a bit strange if the child is dragged higher than the parent.
- The horizontal mid-segments need to be offset, otherwise the join together when a child node is dragged to the far side.
Attached is an image showing the two methods side by side, and also the mcz.
cheer -ben <ProposedOrthoBehvaiour.png><Roassal-BenComan.273.mcz>_______________________________________________ Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev