mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-25 19:07:45 +00:00
6d678c927c
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@808 a592a061-630c-0410-9148-cb99ea01b6c8
81 lines
3.0 KiB
Plaintext
81 lines
3.0 KiB
Plaintext
|
|
Here are some UML diagrams of the relationships in Libsigc++:
|
|
|
|
Scopes, Handles, Objects:
|
|
------------------------
|
|
|
|
_________ scope_ _____________
|
|
| Scope |*<-------<> | Object_Impl |
|
|
| | obj_ | |
|
|
|_________|----------> | |
|
|
A (obj) | |
|
|
| +----> | |
|
|
| | |_____________|
|
|
| | A
|
|
__________ | |
|
|
________ scope_ | Limit |<>--+ *
|
|
|Handle |<*>------>| | _____________
|
|
| <Limit>| |__________| | Object |
|
|
| | | |
|
|
| | (obj) | |
|
|
| | (<>----------------------->) | |
|
|
|________| |_____________|
|
|
|
|
|
|
Okay here is what you are supposed to get out of this.
|
|
Object comes from Object_Impl with multiplicity (VI).
|
|
Handle<Limit> in this case forms a virtual aggregate relationship
|
|
with the Object it points to.
|
|
|
|
For future diagrams I would reduce this to
|
|
|
|
Handle<Limit> <>--------> Object
|
|
|
|
Other handle relationships are formed with different types of
|
|
scopes. Reference Count for example would have the same
|
|
diagram (but very different behavior.)
|
|
|
|
There is also a relation when the pointed to
|
|
object deletes itself when the object is removed. This is
|
|
a dependency that will be written as
|
|
|
|
A -----><> B
|
|
|
|
|
|
BasicSignal:
|
|
-----------
|
|
|
|
____________________ incoming_
|
|
| BasicSignal_::InOut| <>----------->* Slot
|
|
| |
|
|
| | outgoing_
|
|
|____________________| <>----------->* Slot
|
|
A
|
|
|
|
|
|
|
|
---------------------
|
|
| BasicSignal# |
|
|
| |
|
|
|_____________________|
|
|
|
|
It is clear from here that a BasicSignal is formed from a number of different
|
|
objects.
|
|
|
|
|
|
Connections between a BasicSignal and a Object method:
|
|
|
|
---------- ________
|
|
| SlotData | | Object |
|
|
|__________| |________|
|
|
A A
|
|
| |
|
|
| |
|
|
___________ _____________ |
|
|
|BasicSignal| outgoing_ | ObjectSlot# | ----------
|
|
|___________|<>-------->*| | | MyObject |
|
|
| |-------><>| |
|
|
___________ | | |__________|
|
|
|Connection |----------> |_____________|
|
|
|___________|
|
|
|