umbrello/umbrello
assocrules.cpp
Go to the documentation of this file.
69 (assocType == Uml::AssociationType::Generalization || assocType == Uml::AssociationType::Realization))
191 case Uml::AssociationType::Generalization://can have many sub/super types but can't sup/sub each
258 // only from a signalwidget a objectnode widget, a normal activity, branch or fork activity, to the end
316 bool AssocRules::allowMultiplicity(Uml::AssociationType::Enum assocType, WidgetBase::WidgetType widgetType)
320 if(widgetType == m_AssocRules[ i ].widgetA_type || widgetType == m_AssocRules[ i ].widgetB_type)
328 bool AssocRules::allowSelf(Uml::AssociationType::Enum assocType, WidgetBase::WidgetType widgetType)
332 if(widgetType == m_AssocRules[ i ].widgetA_type || widgetType == m_AssocRules[ i ].widgetB_type)
343 Uml::AssociationType::Enum AssocRules::isGeneralisationOrRealisation(UMLWidget* widgetA, UMLWidget* widgetB)
359 //---------------------------------------+--------------------------+---------------------------+-------+-------+-------+--------
360 { Uml::AssociationType::Association_Self, WidgetBase::wt_Class, WidgetBase::wt_Class, true, true, true, true },
361 { Uml::AssociationType::Association_Self, WidgetBase::wt_Object, WidgetBase::wt_Object, true, true, true, true },
362 { Uml::AssociationType::Association_Self, WidgetBase::wt_Interface, WidgetBase::wt_Interface, true, true, true, true },
363 { Uml::AssociationType::Association, WidgetBase::wt_Class, WidgetBase::wt_Class, true, true, true, true },
364 { Uml::AssociationType::Association, WidgetBase::wt_Object, WidgetBase::wt_Object, true, true, true, true },
365 { Uml::AssociationType::Association, WidgetBase::wt_Interface, WidgetBase::wt_Interface, true, true, true, true },
366 { Uml::AssociationType::Association, WidgetBase::wt_Class, WidgetBase::wt_Interface, true, true, true, false },
367 { Uml::AssociationType::Association, WidgetBase::wt_Class, WidgetBase::wt_Datatype, true, true, true, false },
368 { Uml::AssociationType::Association, WidgetBase::wt_Class, WidgetBase::wt_Enum, true, true, true, false },
369 { Uml::AssociationType::Association, WidgetBase::wt_Actor, WidgetBase::wt_UseCase, true, false, false, false },
370 { Uml::AssociationType::Association, WidgetBase::wt_UseCase, WidgetBase::wt_UseCase, true, false, false, false },
371 { Uml::AssociationType::Association, WidgetBase::wt_Actor, WidgetBase::wt_Actor, true, false, false, false },
372 { Uml::AssociationType::Association, WidgetBase::wt_Actor, WidgetBase::wt_UseCase, true, false, false, false },
373 { Uml::AssociationType::Association, WidgetBase::wt_Component, WidgetBase::wt_Interface, true, false, false, false },
374 { Uml::AssociationType::Association, WidgetBase::wt_Interface, WidgetBase::wt_Artifact, true, false, false, false },
375 { Uml::AssociationType::Association, WidgetBase::wt_Node, WidgetBase::wt_Node, true, false, false, false },
376 { Uml::AssociationType::UniAssociation, WidgetBase::wt_Class, WidgetBase::wt_Class, true, true, true, true },
377 { Uml::AssociationType::UniAssociation, WidgetBase::wt_Object, WidgetBase::wt_Object, true, true, true, true },
378 { Uml::AssociationType::UniAssociation, WidgetBase::wt_Interface, WidgetBase::wt_Interface, true, true, true, true },
379 { Uml::AssociationType::UniAssociation, WidgetBase::wt_Class, WidgetBase::wt_Interface, true, true, true, true },
380 { Uml::AssociationType::UniAssociation, WidgetBase::wt_Class, WidgetBase::wt_Datatype, true, true, true, true },
381 { Uml::AssociationType::UniAssociation, WidgetBase::wt_Class, WidgetBase::wt_Enum, true, true, true, true },
382 { Uml::AssociationType::UniAssociation, WidgetBase::wt_Actor, WidgetBase::wt_Actor, true, false, false, false },
383 { Uml::AssociationType::UniAssociation, WidgetBase::wt_UseCase, WidgetBase::wt_UseCase, true, false, false, false },
384 { Uml::AssociationType::UniAssociation, WidgetBase::wt_UseCase, WidgetBase::wt_Actor, true, false, false, false },
385 { Uml::AssociationType::Generalization, WidgetBase::wt_Class, WidgetBase::wt_Datatype, false, false, false, false },
386 { Uml::AssociationType::Generalization, WidgetBase::wt_Class, WidgetBase::wt_Class, false, false, false, false },
387 { Uml::AssociationType::Generalization, WidgetBase::wt_Interface, WidgetBase::wt_Interface, false, false, false, false },
388 { Uml::AssociationType::Generalization, WidgetBase::wt_UseCase, WidgetBase::wt_UseCase, false, false, false, false },
389 { Uml::AssociationType::Generalization, WidgetBase::wt_Actor, WidgetBase::wt_Actor, false, false, false, false },
390 { Uml::AssociationType::Generalization, WidgetBase::wt_Component, WidgetBase::wt_Interface, false, false, false, false },
391 { Uml::AssociationType::Aggregation, WidgetBase::wt_Class, WidgetBase::wt_Class, true, true, false, true },
392 { Uml::AssociationType::Aggregation, WidgetBase::wt_Class, WidgetBase::wt_Interface, true, true, false, false },
393 { Uml::AssociationType::Aggregation, WidgetBase::wt_Class, WidgetBase::wt_Enum, true, true, false, false },
394 { Uml::AssociationType::Aggregation, WidgetBase::wt_Class, WidgetBase::wt_Datatype, true, true, false, false },
395 { Uml::AssociationType::Dependency, WidgetBase::wt_Class, WidgetBase::wt_Class, true, false, false, true },
396 { Uml::AssociationType::Dependency, WidgetBase::wt_UseCase, WidgetBase::wt_UseCase, true, false, false, false },
397 { Uml::AssociationType::Dependency, WidgetBase::wt_Actor, WidgetBase::wt_Actor, true, false, false, false },
398 { Uml::AssociationType::Dependency, WidgetBase::wt_Actor, WidgetBase::wt_UseCase, true, false, false, false },
399 { Uml::AssociationType::Dependency, WidgetBase::wt_Package, WidgetBase::wt_Package, true, true, true, true },
400 { Uml::AssociationType::Dependency, WidgetBase::wt_Class, WidgetBase::wt_Package, true, true, true, true },
401 { Uml::AssociationType::Dependency, WidgetBase::wt_Interface, WidgetBase::wt_Package, true, true, true, true },
402 { Uml::AssociationType::Dependency, WidgetBase::wt_Interface, WidgetBase::wt_Interface, true, true, true, true },
403 { Uml::AssociationType::Dependency, WidgetBase::wt_Class, WidgetBase::wt_Interface, true, true, true, true },
404 { Uml::AssociationType::Dependency, WidgetBase::wt_Class, WidgetBase::wt_Datatype, true, true, true, true },
405 { Uml::AssociationType::Dependency, WidgetBase::wt_Class, WidgetBase::wt_Enum, true, true, true, true },
406 { Uml::AssociationType::Dependency, WidgetBase::wt_Interface, WidgetBase::wt_Enum, true, true, true, true },
407 { Uml::AssociationType::Dependency, WidgetBase::wt_Component, WidgetBase::wt_Component, true, true, true, true },
408 { Uml::AssociationType::Dependency, WidgetBase::wt_Component, WidgetBase::wt_Interface, true, true, true, true },
409 { Uml::AssociationType::Dependency, WidgetBase::wt_Component, WidgetBase::wt_Artifact, true, false, false, false },
410 { Uml::AssociationType::Dependency, WidgetBase::wt_Node, WidgetBase::wt_Component, true, false, false, false },
411 { Uml::AssociationType::Realization, WidgetBase::wt_Class, WidgetBase::wt_Interface, false, false, false, false },
412 { Uml::AssociationType::Realization, WidgetBase::wt_Interface, WidgetBase::wt_Package, false, false, false, false },
413 { Uml::AssociationType::Realization, WidgetBase::wt_Interface, WidgetBase::wt_Interface, false, false, false, false },
414 { Uml::AssociationType::Realization, WidgetBase::wt_Component, WidgetBase::wt_Interface, false, false, false, false },
415 { Uml::AssociationType::Realization, WidgetBase::wt_Package, WidgetBase::wt_Interface, false, false, false, false },
416 { Uml::AssociationType::Composition, WidgetBase::wt_Class, WidgetBase::wt_Class, true, true, false, true },
417 { Uml::AssociationType::Composition, WidgetBase::wt_Class, WidgetBase::wt_Interface, true, true, false, false },
418 { Uml::AssociationType::Composition, WidgetBase::wt_Class, WidgetBase::wt_Enum, true, true, false, false },
419 { Uml::AssociationType::Composition, WidgetBase::wt_Class, WidgetBase::wt_Datatype, false, false, false, false },
420 { Uml::AssociationType::Composition, WidgetBase::wt_Class, WidgetBase::wt_Class, false, false, false, false },
421 { Uml::AssociationType::Containment, WidgetBase::wt_Package, WidgetBase::wt_Class, false, false, false, false },
422 { Uml::AssociationType::Containment, WidgetBase::wt_Package, WidgetBase::wt_Interface, false, false, false, false },
423 { Uml::AssociationType::Containment, WidgetBase::wt_Package, WidgetBase::wt_Enum, false, false, false, false },
424 { Uml::AssociationType::Containment, WidgetBase::wt_Package, WidgetBase::wt_Datatype, false, false, false, false },
425 { Uml::AssociationType::Containment, WidgetBase::wt_Package, WidgetBase::wt_Package, false, false, false, false },
426 { Uml::AssociationType::Containment, WidgetBase::wt_Package, WidgetBase::wt_Component, false, false, false, false },
427 { Uml::AssociationType::Containment, WidgetBase::wt_Class, WidgetBase::wt_Class, false, false, false, false },
428 { Uml::AssociationType::Containment, WidgetBase::wt_Class, WidgetBase::wt_Interface, false, false, false, false },
429 { Uml::AssociationType::Containment, WidgetBase::wt_Class, WidgetBase::wt_Enum, false, false, false, false },
430 { Uml::AssociationType::Containment, WidgetBase::wt_Class, WidgetBase::wt_Datatype, false, false, false, false },
431 { Uml::AssociationType::Containment, WidgetBase::wt_Interface, WidgetBase::wt_Class, false, false, false, false },
432 { Uml::AssociationType::Containment, WidgetBase::wt_Interface, WidgetBase::wt_Interface, false, false, false, false },
433 { Uml::AssociationType::Containment, WidgetBase::wt_Interface, WidgetBase::wt_Enum, false, false, false, false },
434 { Uml::AssociationType::Containment, WidgetBase::wt_Interface, WidgetBase::wt_Datatype, false, false, false, false },
435 { Uml::AssociationType::Containment, WidgetBase::wt_Component, WidgetBase::wt_Component, false, false, false, false },
436 { Uml::AssociationType::Containment, WidgetBase::wt_Component, WidgetBase::wt_Artifact, false, false, false, false },
437 { Uml::AssociationType::Coll_Message, WidgetBase::wt_Object, WidgetBase::wt_Object, true, false, true, true },
438 { Uml::AssociationType::State, WidgetBase::wt_State, WidgetBase::wt_State, true, false, true, true },
439 { Uml::AssociationType::State, WidgetBase::wt_ForkJoin, WidgetBase::wt_State, true, false, true, true },
440 { Uml::AssociationType::State, WidgetBase::wt_State, WidgetBase::wt_ForkJoin, true, false, true, true },
441 { Uml::AssociationType::Activity, WidgetBase::wt_Signal, WidgetBase::wt_Activity, true, false, true, true },
442 { Uml::AssociationType::Activity, WidgetBase::wt_Activity, WidgetBase::wt_Signal, true, false, true, true },
443 { Uml::AssociationType::Activity, WidgetBase::wt_ObjectNode, WidgetBase::wt_Activity, true, false, true, true },
444 { Uml::AssociationType::Activity, WidgetBase::wt_Activity, WidgetBase::wt_ObjectNode, true, false, true, true },
445 { Uml::AssociationType::Activity, WidgetBase::wt_Activity, WidgetBase::wt_Activity, true, false, true, true },
446 { Uml::AssociationType::Activity, WidgetBase::wt_ForkJoin, WidgetBase::wt_Activity, true, false, true, true },
447 { Uml::AssociationType::Activity, WidgetBase::wt_Activity, WidgetBase::wt_ForkJoin, true, false, true, true },
448 { Uml::AssociationType::Activity, WidgetBase::wt_Signal, WidgetBase::wt_ForkJoin, true, false, true, true },
449 { Uml::AssociationType::Activity, WidgetBase::wt_ForkJoin, WidgetBase::wt_Signal, true, false, true, true },
450 { Uml::AssociationType::Activity, WidgetBase::wt_ForkJoin, WidgetBase::wt_ObjectNode, true, false, true, true },
451 { Uml::AssociationType::Activity, WidgetBase::wt_ObjectNode, WidgetBase::wt_ForkJoin, true, false, true, true },
452 { Uml::AssociationType::Activity, WidgetBase::wt_Pin, WidgetBase::wt_Activity, true, false, true, true },
453 { Uml::AssociationType::Activity, WidgetBase::wt_Pin, WidgetBase::wt_Pin, true, false, true, true },
454 { Uml::AssociationType::Activity, WidgetBase::wt_Activity, WidgetBase::wt_Pin, true, false, true, true },
455 { Uml::AssociationType::Activity, WidgetBase::wt_Pin, WidgetBase::wt_ForkJoin, true, false, true, true },
456 { Uml::AssociationType::Activity, WidgetBase::wt_ForkJoin, WidgetBase::wt_Pin, true, false, true, true },
457 { Uml::AssociationType::Anchor, WidgetBase::wt_Class, WidgetBase::wt_Note, false, false, true, false },
458 { Uml::AssociationType::Anchor, WidgetBase::wt_Package, WidgetBase::wt_Note, false, false, true, false },
459 { Uml::AssociationType::Anchor, WidgetBase::wt_Interface, WidgetBase::wt_Note, false, false, true, false },
460 { Uml::AssociationType::Anchor, WidgetBase::wt_Datatype, WidgetBase::wt_Note, false, false, true, false },
461 { Uml::AssociationType::Anchor, WidgetBase::wt_Enum, WidgetBase::wt_Note, false, false, true, false },
462 { Uml::AssociationType::Anchor, WidgetBase::wt_Object, WidgetBase::wt_Note, false, false, true, false },
463 { Uml::AssociationType::Anchor, WidgetBase::wt_Actor, WidgetBase::wt_Note, false, false, true, false },
464 { Uml::AssociationType::Anchor, WidgetBase::wt_UseCase, WidgetBase::wt_Note, false, false, true, false },
465 { Uml::AssociationType::Anchor, WidgetBase::wt_Message, WidgetBase::wt_Note, false, false, true, false },
466 { Uml::AssociationType::Anchor, WidgetBase::wt_State, WidgetBase::wt_Note, false, false, true, false },
467 { Uml::AssociationType::Anchor, WidgetBase::wt_Activity, WidgetBase::wt_Note, false, false, true, false },
468 { Uml::AssociationType::Anchor, WidgetBase::wt_Entity, WidgetBase::wt_Note, false, false, true, false },
469 { Uml::AssociationType::Relationship, WidgetBase::wt_Entity, WidgetBase::wt_Entity, true, true, true, true },
470 { Uml::AssociationType::Exception, WidgetBase::wt_Activity, WidgetBase::wt_Activity, true, false, true, true },
471 { Uml::AssociationType::Exception, WidgetBase::wt_Activity, WidgetBase::wt_Signal, true, false, true, true },
472 { Uml::AssociationType::Exception, WidgetBase::wt_Signal, WidgetBase::wt_Activity, true, false, true, true },
473 { Uml::AssociationType::Exception, WidgetBase::wt_Signal, WidgetBase::wt_Signal, true, false, true, true },
474 { Uml::AssociationType::Category2Parent, WidgetBase::wt_Category, WidgetBase::wt_Entity, false, false, true, false },
475 { Uml::AssociationType::Child2Category, WidgetBase::wt_Entity, WidgetBase::wt_Category, false, false, true, false }
Definition: activitywidget.h:44
static Uml::AssociationType::Enum isGeneralisationOrRealisation(UMLWidget *widgetA, UMLWidget *widgetB)
Returns whether an implements association should be a Realisation or a Generalisation.
Definition: assocrules.cpp:343
Definition: widgetbase.h:51
Definition: activitywidget.h:40
UMLObject * umlObject() const
Returns the UMLObject set to represent.
Definition: widgetbase.cpp:113
Definition: widgetbase.h:48
Definition: basictypes.h:209
Definition: widgetbase.h:44
Definition: basictypes.h:115
AssociationWidgetList & associationWidgetList()
Returns the list of associations connected to this widget.
Definition: umlwidget.h:149
static bool allowMultiplicity(Uml::AssociationType::Enum assocType, WidgetBase::WidgetType widgetType)
Returns whether to allow a multiplicity text for the given association and widget type...
Definition: assocrules.cpp:316
Definition: basictypes.h:114
Definition: basictypes.h:210
Definition: widgetbase.h:71
Definition: basictypes.h:113
Definition: widgetbase.h:57
Definition: statewidget.h:48
Definition: widgetbase.h:47
Definition: widgetbase.h:59
Definition: widgetbase.h:63
Definition: basictypes.h:102
This class represents an association inside a diagram.
Definition: associationwidget.h:50
Definition: activitywidget.h:41
Definition: activitywidget.h:42
Definition: widgetbase.h:49
Definition: basictypes.h:83
Definition: widgetbase.h:46
Definition: widgetbase.h:60
Definition: statewidget.h:46
This class is the graphical version of a UML Activity.
Definition: activitywidget.h:33
Definition: widgetbase.h:58
Definition: widgetbase.h:67
Definition: widgetbase.h:53
Definition: widgetbase.h:50
Definition: basictypes.h:116
static bool allowSelf(Uml::AssociationType::Enum assocType, WidgetBase::WidgetType widgetType)
Returns whether to allow an association to self for given variables.
Definition: assocrules.cpp:328
QList< AssociationWidget * > AssociationWidgetList
Definition: associationwidgetlist.h:18
Definition: widgetbase.h:68
Definition: widgetbase.h:55
Definition: statewidget.h:47
Definition: widgetbase.h:45
Definition: widgetbase.h:52
static bool allowRole(Uml::AssociationType::Enum assocType)
Returns whether to allow a role text for the given association type.
Definition: assocrules.cpp:304
static bool allowAssociation(Uml::AssociationType::Enum assocType, UMLWidget *widget)
Returns whether an association is going to be allowed for the given values.
Definition: assocrules.cpp:50
Definition: widgetbase.h:61
Definition: activitywidget.h:43
UMLWidget * widgetForRole(Uml::RoleType::Enum role) const
Gets the given role widget.
Definition: associationwidget.cpp:1235
Definition: widgetbase.h:69
Uml::AssociationType::Enum associationType() const
Gets the association's type.
Definition: associationwidget.cpp:1427
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 23:05:59 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 23:05:59 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.