gaphor/docs/connect.txt
Dan Yeaw 5d6246a3c1
Fix spelling errors
Signed-off-by: Dan Yeaw <dan@yeaw.me>
2019-02-17 13:49:13 -05:00

42 lines
1.3 KiB
Plaintext

Connection protocol
===================
In Gaphor, if a connection is made on a diagram between an element and a
relationship, the connection is also made at semantic level (the model).
From a GUI point of view it all starts with a button release event.
With "item" I refer to objects in a diagram (graphical), with "element" I
refer to semantic (model) objects.
Is relation with this element allowed?
No:
do nothing (not even glue should have happened as the same question is
asked there).
Yes:
connect_handle()
Is opposite end connected?
No:
Do nothing
Yes:
Does the item already have a subject element relation?
Yes:
Is the previous item the same as the current?
Yes:
Do nothing
No:
Let subject end point to the new element
No:
Create relation or find existing relation in model
Search for an existing relation in the model:
Found:
Use that relation
Nothing:
Create new model elements and connect to item
The check if a connection is allowed should also check if it is valid to create a relation to/from the same element (like associations, but not generalizations)