umbrello 2.31.90
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 SPDX-License-Identifier: GPL-2.0-or-later
3 SPDX-FileCopyrightText: 2003-2020 Umbrello UML Modeller Authors <umbrello-devel@kde.org>
4*/
5
6#ifndef ASSOCIATION_H
7#define ASSOCIATION_H
8
9#include "basictypes.h"
10#include "umlobject.h"
11
12#include <QDomDocument>
13#include <QDomElement>
14#include <QXmlStreamWriter>
15
16class UMLRole;
17
29{
30 Q_OBJECT
31 friend class AssociationWidget;
32
33public:
36
37 virtual ~UMLAssociation();
38
39 bool operator==(const UMLAssociation &rhs) const;
40
41 QString toString() const;
42
46
49
52
55
58
59 void setMultiplicity(const QString &multi, Uml::RoleType::Enum role);
60 QString getMultiplicity(Uml::RoleType::Enum role) const;
61
62 void setRoleName(const QString &roleName, Uml::RoleType::Enum role);
63 QString getRoleName(Uml::RoleType::Enum role) const;
64
65 void setRoleDoc(const QString &doc, Uml::RoleType::Enum role);
66 QString getRoleDoc(Uml::RoleType::Enum role) const;
67
68 void setOldLoadMode(bool value = true);
69 bool getOldLoadMode() const;
70
71 virtual UMLObject* clone() const { return 0; }
72
73 virtual bool resolveRef();
74
75 void saveToXMI1(QXmlStreamWriter& writer);
76
77 virtual bool showPropertiesDialog(QWidget *parent = 0);
78
79protected:
80
81 bool load1(QDomElement& element);
82
83 // keep track of number of parent widgets
85
86 void init(Uml::AssociationType::Enum type, UMLObject *roleAObj, UMLObject *roleBObj);
87
90 QString m_Name;
92
93private:
94
95 bool isRealization(UMLObject* objA, UMLObject* objB) const;
96};
97
98#endif
This class represents an association inside a diagram. Bugs and comments to umbrello-devel@kde....
Definition: associationwidget.h:47
QString roleName(Uml::RoleType::Enum role) const
Definition: associationwidget.cpp:944
Sets up association information.
Definition: association.h:29
void saveToXMI1(QXmlStreamWriter &writer)
Definition: association.cpp:144
virtual UMLObject * clone() const
Definition: association.h:71
virtual ~UMLAssociation()
Definition: association.cpp:65
void setOldLoadMode(bool value=true)
Definition: association.cpp:589
QString getMultiplicity(Uml::RoleType::Enum role) const
Definition: association.cpp:553
QString m_Name
Definition: association.h:90
UMLAssociation(Uml::AssociationType::Enum type, UMLObject *roleA, UMLObject *roleB)
Definition: association.cpp:39
virtual bool resolveRef()
Definition: association.cpp:123
bool m_bOldLoadMode
Definition: association.h:91
bool getOldLoadMode() const
Definition: association.cpp:597
void setRoleDoc(const QString &doc, Uml::RoleType::Enum role)
Definition: association.cpp:677
bool operator==(const UMLAssociation &rhs) const
Definition: association.cpp:84
void setVisibility(Uml::Visibility::Enum value, Uml::RoleType::Enum role)
Definition: association.cpp:635
bool isRealization(UMLObject *objA, UMLObject *objB) const
Definition: association.cpp:689
void setAssociationType(Uml::AssociationType::Enum assocType)
Definition: association.cpp:606
virtual bool showPropertiesDialog(QWidget *parent=0)
Definition: association.cpp:191
bool load1(QDomElement &element)
Definition: association.cpp:203
QString getRoleName(Uml::RoleType::Enum role) const
Definition: association.cpp:562
Uml::ID::Type getRoleId(Uml::RoleType::Enum role) const
Definition: association.cpp:527
void setObject(UMLObject *obj, Uml::RoleType::Enum role)
Definition: association.cpp:625
UMLObject * getObject(Uml::RoleType::Enum role) const
Definition: association.cpp:491
Uml::Changeability::Enum changeability(Uml::RoleType::Enum role) const
Definition: association.cpp:535
Uml::AssociationType::Enum getAssocType() const
Definition: association.cpp:100
QString toString() const
Definition: association.cpp:108
Uml::AssociationType::Enum m_AssocType
Definition: association.h:89
Uml::ID::Type getObjectId(Uml::RoleType::Enum role) const
Definition: association.cpp:503
UMLRole * m_pRole[2]
Definition: association.h:88
void setMultiplicity(const QString &multi, Uml::RoleType::Enum role)
Definition: association.cpp:655
int nrof_parent_widgets
Definition: association.h:84
void setChangeability(Uml::Changeability::Enum value, Uml::RoleType::Enum role)
Definition: association.cpp:645
void setRoleName(const QString &roleName, Uml::RoleType::Enum role)
Definition: association.cpp:667
UMLRole * getUMLRole(Uml::RoleType::Enum role) const
Definition: association.cpp:580
QString getRoleDoc(Uml::RoleType::Enum role) const
Definition: association.cpp:571
The base class for UML objects.
Definition: umlobject.h:70
QString doc() const
Definition: umlobject.cpp:430
void init()
Definition: umlobject.cpp:121
Uml::Visibility::Enum visibility() const
Definition: umlobject.cpp:461
Definition: umlrole.h:20
Enum
Definition: basictypes.h:92
@ Unknown
Definition: basictypes.h:116
Enum
Definition: basictypes.h:202
std::string Type
Definition: basictypes.h:371
Enum
Definition: basictypes.h:236
Enum
Definition: basictypes.h:45