Re: Question about handles



Am 29.07.2008 00:51, Don Blaheta schrieb:
I'm trying to understand handles and connection points too, and having
some difficulty.

Quoth Hans Breuer:
Am 23.07.2008 10:41, Andrew M. Botros schrieb:
One other thing, let me rephrase my question @ the very beginning,
How can I know the objects connected to a Standard - Line?

So lets try once more ;)

There are two specialized objects involved in building a connection. One is a Handle, the other one is a ConnectionPoint. In an existing connection between two DiaObject the Handle belongs to the first ("connected to") and the ConnectionPoint belongs to second ("connected by").

So the only things that have handles are the line-ish things (line, arc,
zigzagline, etc),
No. There are handles on every object. They are represented by the little squares. Some of them are connectable (see lib/handle.h:HandleConnectType)
and some of them are non-movable (lib/handle.h:HandleType).

Non-movable handles - as in "UML - Class" - drawn in (almost) black. Movable, not connected handles are drawn in green. Connected handles are drawn in red.

for which you can actually drag and endpoint and
create a connection?  And then a lot of objects have ConnectionPoints,
marked by the little blue x (when that option is turned on)?

Yes.

The "Standard - Line" DiaObject is special because it is one of only few objects which can be "connected to" (has Handles) and also "connected by" (has a ConnectionPoint). Thus I still have problems understanding your question. Note: there is an important difference between the active and the passive form.

Note: the word "connected" is passive in both "connected to" and
"connected by".  Part of what I found confusing about the exchange was
that Hans seems to find the to/by distinction obvious, whereas to me it
seems rather arbitrary and *quite* at odds with the natural English
interpretations of those phrases.
Indded for me it looks obvious that the active part in a connection is the Handle. It gets moved around until it meets a ConnectionPoint, which then is stored in Handle::connected_to.

For instance, if I had two boxes with
a line between them as in the following ASCII art:

  +---+   +---+
  |   +---+   |
  +---+   +---+

an _English_ description would say that the line is "connected to" both
boxes, each box is "connected to" the line, and box 1 and box 2 are
"connected by" the line that runs between them (but only as a pair;
"box 1 is connected by the line" is nonsensical as English).
Luckily it is not English to compile. If you can not descrive the connection of just a line and a box, than English is just not expressive enough to describe Dia's reality.

In fact, I would (in English) say that box 1 is connected *to* box 2, *by* the
line.

By my current understanding, the _Dia_ description would say that the
line has two Handles, one at each endpoint, each of which is "connected
to" a ConnectionPoint on one of the boxes; meanwhile the boxes each have
many ConnectionPoints, one (per box) of which is "connected by" the
line.  The boxes are connected neither to nor by each other.

Is that about right?

Yes.

-------- Hans "at" Breuer "dot" Org -----------
Tell me what you need, and I'll tell you how to
get along without it.                -- Dilbert



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]