Re: Question about handles

I still don't get it... I thought I did by Hans' last reply to Andrew,
but now it seems all fuzzy again to me.

On Tue, Jul 29, 2008 at 9:12 AM, Hans Breuer <hans breuer org> wrote:
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)?


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*

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?


-------- Hans "at" Breuer "dot" Org -----------
Tell me what you need, and I'll tell you how to
get along without it.                -- Dilbert
Dia-list mailing list
Dia-list gnome org
FAQ at
Main page at

Fred Morcos

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