umbrello  2.31.70
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
association.h
Go to the documentation of this file.
1 /***************************************************************************
2  * This program is free software; you can redistribute it and/or modify *
3  * it under the terms of the GNU General Public License as published by *
4  * the Free Software Foundation; either version 2 of the License, or *
5  * (at your option) any later version. *
6  * *
7  * copyright (C) 2003-2020 *
8  * Umbrello UML Modeller Authors <umbrello-devel@kde.org> *
9  ***************************************************************************/
10 
11 #ifndef ASSOCIATION_H
12 #define ASSOCIATION_H
13 
14 #include "basictypes.h"
15 #include "umlobject.h"
16 
17 #include <QDomDocument>
18 #include <QDomElement>
19 
20 class UMLRole;
21 
32 class UMLAssociation : public UMLObject
33 {
34  Q_OBJECT
35  friend class AssociationWidget;
36 
37 public:
40 
41  virtual ~UMLAssociation();
42 
43  bool operator==(const UMLAssociation &rhs) const;
44 
45  QString toString() const;
46 
50 
53 
54  void setObject(UMLObject *obj, Uml::RoleType::Enum role);
56 
59 
62 
63  void setMultiplicity(const QString &multi, Uml::RoleType::Enum role);
64  QString getMultiplicity(Uml::RoleType::Enum role) const;
65 
66  void setRoleName(const QString &roleName, Uml::RoleType::Enum role);
67  QString getRoleName(Uml::RoleType::Enum role) const;
68 
69  void setRoleDoc(const QString &doc, Uml::RoleType::Enum role);
70  QString getRoleDoc(Uml::RoleType::Enum role) const;
71 
72  void setOldLoadMode(bool value = true);
73  bool getOldLoadMode() const;
74 
75  virtual UMLObject* clone() const { return 0; }
76 
77  virtual bool resolveRef();
78 
79  void saveToXMI1(QDomDocument& qDoc, QDomElement& qElement);
80 
81  virtual bool showPropertiesDialog(QWidget *parent = 0);
82 
83 protected:
84 
85  bool load1(QDomElement& element);
86 
87  // keep track of number of parent widgets
89 
90  void init(Uml::AssociationType::Enum type, UMLObject *roleAObj, UMLObject *roleBObj);
91 
94  QString m_Name;
96 
97 private:
98 
99  bool isRealization(UMLObject* objA, UMLObject* objB) const;
100 };
101 
102 #endif
UMLRole * m_pRole[2]
Definition: association.h:92
bool m_bOldLoadMode
Definition: association.h:95
Uml::AssociationType::Enum getAssocType() const
Definition: association.cpp:105
void setAssociationType(Uml::AssociationType::Enum assocType)
Definition: association.cpp:611
Enum
Definition: basictypes.h:59
QString getRoleDoc(Uml::RoleType::Enum role) const
Definition: association.cpp:576
void setRoleDoc(const QString &doc, Uml::RoleType::Enum role)
Definition: association.cpp:682
void init()
Definition: umlobject.cpp:126
QString roleName(Uml::RoleType::Enum role) const
Definition: associationwidget.cpp:945
bool operator==(const UMLAssociation &rhs) const
Definition: association.cpp:89
Uml::ID::Type getObjectId(Uml::RoleType::Enum role) const
Definition: association.cpp:508
QString getMultiplicity(Uml::RoleType::Enum role) const
Definition: association.cpp:558
virtual UMLObject * clone() const
Definition: association.h:75
void setChangeability(Uml::Changeability::Enum value, Uml::RoleType::Enum role)
Definition: association.cpp:650
QString doc() const
Definition: umlobject.cpp:435
void setMultiplicity(const QString &multi, Uml::RoleType::Enum role)
Definition: association.cpp:660
virtual bool resolveRef()
Definition: association.cpp:128
The base class for UML objects.
Definition: umlobject.h:73
This class represents an association inside a diagram. Bugs and comments to umbrello-devel@kde.org or https://bugs.kde.org.
Definition: associationwidget.h:51
Sets up association information.
Definition: association.h:32
void setObject(UMLObject *obj, Uml::RoleType::Enum role)
Definition: association.cpp:630
UMLRole * getUMLRole(Uml::RoleType::Enum role) const
Definition: association.cpp:585
Uml::ID::Type getRoleId(Uml::RoleType::Enum role) const
Definition: association.cpp:532
UMLObject * getObject(Uml::RoleType::Enum role) const
Definition: association.cpp:496
Uml::Changeability::Enum changeability(Uml::RoleType::Enum role) const
Definition: association.cpp:540
UMLAssociation(Uml::AssociationType::Enum type, UMLObject *roleA, UMLObject *roleB)
Definition: association.cpp:44
Enum
Definition: basictypes.h:238
Enum
Definition: basictypes.h:106
void setOldLoadMode(bool value=true)
Definition: association.cpp:594
Uml::AssociationType::Enum m_AssocType
Definition: association.h:93
virtual ~UMLAssociation()
Definition: association.cpp:70
std::string Type
Definition: basictypes.h:351
int nrof_parent_widgets
Definition: association.h:88
Enum
Definition: basictypes.h:204
void saveToXMI1(QDomDocument &qDoc, QDomElement &qElement)
Definition: association.cpp:149
bool isRealization(UMLObject *objA, UMLObject *objB) const
Definition: association.cpp:694
Uml::Visibility::Enum visibility() const
Definition: umlobject.cpp:466
Definition: umlrole.h:24
Definition: basictypes.h:130
QString toString() const
Definition: association.cpp:113
virtual bool showPropertiesDialog(QWidget *parent=0)
Definition: association.cpp:196
void setVisibility(Uml::Visibility::Enum value, Uml::RoleType::Enum role)
Definition: association.cpp:640
QString getRoleName(Uml::RoleType::Enum role) const
Definition: association.cpp:567
QString m_Name
Definition: association.h:94
void setRoleName(const QString &roleName, Uml::RoleType::Enum role)
Definition: association.cpp:672
bool getOldLoadMode() const
Definition: association.cpp:602
bool load1(QDomElement &element)
Definition: association.cpp:208