Lars,

> > The idea of having an option in the layers dialog to specify layers that
> > auto-connect sounds good.  Issues with that is:
> >
> > * How do you make the interface intuitive & easy to use to let you select
> >   any combination of layers
> 
> Have it be selectable like the visibility of layers in the layers dialog.

I thought you were saying that for example, given layers 1, 2, and 3, you
could set 1 & 2 to be autoconnective, 1 & 3 to be autoconnective, but 2 &
3 to not be autoconnective.  However, it sounds like you're actually just
proposing to have autoconnectivity just either on or off for a layer.

The way I understand what you're saying now is like this:

Layer 1 has autoconnectivity on, and layer 2 has it off.  When layer 2 is
active, you can connect any of its objects to layer 1's objects.  When
layer 1 is active, you cannot connect its objects to layer 2's objects.

Is this what you're proposing?

What I thought you were proposing before was like this:

Layers 1 & 2 and layers 1 & 3 are autoconnective.  Layers 2 & 3 are not.
When layer 1 is active, you can connect its objects to 2 & 3's objects.
When layer 2 is active, you can connect its objects to 1's, but not 3's.
When layer 3 is active, you can connect its objects to 1's, but not 2's.

This is *not* what you were proposing, right?

> A good question.  Possibly have connections to that layer temporarily
> allowed while moving ... but then if you 'drop' it, you can't connect any
> more.  Hmmm... tricky.

Yah, that's why I don't like it. I think that would frustrate many users.

> > I think having an option to selectively turn on autoconnection between
> > layers has a high potential of having very complicated rules.  It might
> > be simpler to go the route of the rule always being that objects on
> > different layers being connectable, but the default mode of the GUI is
> > to not let you take advantage of connecting across layers.
> 
> Well, once we allow any inter-layer connection, that must be possible to
> have in a diagram.  But how new connections are made should be
> controllable.  Consider a diagram for chip-designs:  You may have many
> layers of circuits, but you only want to be able to connect to the adjacent
> layers.

I think we're miscommunicating here.

What I'm suggesting is to *not* have a autoconnectivity property for each
layer. I think autoconnectivity should be a diagram editing mode behaviour.
It would be similiar to snap-to-grid.  When you want to have your objects
snapping to the grid, you turn it on.  When you want them to be free-moving,
then you turn snap-to-grid off.  This would be the same.  When you want to
be able to edit connections between layers, you turn it on. When you don't
want to edit connections between layers, you turn it off.  Maybe calling
my proposal "autoconnective" wasn't an appropriate term, because this means
that objects on the layer you're viewing could be connected to, as well as
disconnected from objects on other layers.

to clarify:
Note that my proposal still keeps the current design that you can only move
around, add, delete, and edit objects on the *currently selected layer*.
Being able to edit objects on more than one layer at once would be another
feature that I don't see much use for.

> More thoughts on autoconnectivity:  When you move a connection from a layer
> to which you currently can't autoconnect, we can either forbid that move
> (if you can't connect, you can't disconnect either) or add that layer to
> the layers you can autoconnect to.  I like the latter.

Sounds tricky to me.

> >> > * the ability to change an object's layer without having to cut &
> >> >   paste
> >>
> >> That's probably easy, once we figure out what to do about inter-layer
> >> connections.
> >
> > I don't think it's relationship to the inter-layer connections issue has
> > any obvious bearing on the implementation.  At least it doesn't have to.
> 
> Well, if we can move an object between layers, we need to be able to have
> connections between them, too.

I see what you're saying now.  However, I think that adding the ability
to dia for objects to be moved from layer to layer without having to
cut & paste could be added, even if connection between objects on different
layers isn't implemented.  If the object you're moving does have connections,
and you're not moving all of the things it's connected to (and everything
those things are connected to, etc), then those connections would break.

So, whether or not interlayer connections are possible doesn't change the
possibility having this other feature.  However, it would probably be a
waste of someones time to make inter-layer object movement work without
inter-layer object connectivity allowable, just for inter-layer object
connectivity to be implemented later.

> Overall, I say we pick what seems to be the best way of doing it.  But if
> we have some choice between otherwise equal possibilities, let's follow
> Visio to avoid gratitious interface changes.

Sounds good to me. Do you want to work on this?  Either way, someone really
needs to add these to the TODO file:

* Ability to move objects from one layer to another
* Inter-layer object connectivity
* Inter-layer object autoconnectivity.  It should be one of the following:
  1.Autoconnectivity is a property of a layer that is either on or off.
    You can (dis)connect objects on a layer to/from those in another layer 
    with its autoconnectivity on.  You cannot (dis)connect an object on 
    a layer to/from an object on another layer with its autoconnectivity 
    off.
  2.Autoconnectivity is a relationship between two layers.  For two layers
    that are designated as autoconnectable, you can (dis)connect objects 
    between them.  If the autoconnectable relationship doesn't exist, then
    you can't.
  3.Autoconnectivity is an editing mode.  You can (dis)connect objects
    between layers if the mode is on.  You can't (dis)connect objects on
    different layers if it is off.
  For cases 1 & 2 above, the XML for saving diagrams would have to changed.
  For case 3, only a user-preference option would need to be added.

-Ben

-- 
Ben Hochstedler     http://www.mei.com  GE Marquette Medical Systems
[EMAIL PROTECTED]    Phone: 414-362-3317  Fax: 414-362-3389

Reply via email to