umbrello  2.35.1
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
combinedfragmentwidget.h
Go to the documentation of this file.
1 /*
2  SPDX-License-Identifier: GPL-2.0-or-later
3  SPDX-FileCopyrightText: 2002-2021 Umbrello UML Modeller Authors <umbrello-devel@kde.org>
4 */
5 
6 #ifndef COMBINEDFRAGMENTWIDGET_H
7 #define COMBINEDFRAGMENTWIDGET_H
8 
9 #include "umlwidget.h"
10 #include "worktoolbar.h"
11 #include "floatingdashlinewidget.h"
12 
13 #include <QList>
14 
28 {
29  Q_OBJECT
30 
31 public:
33  {
34  Ref = 0,
35  Opt,
38  Neg,
40  Ass,
41  Alt,
43  };
44 
45  explicit CombinedFragmentWidget(UMLScene * scene,
46  CombinedFragmentType combinedfragmentType = Ref,
48  virtual ~CombinedFragmentWidget();
49 
50  virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0);
51 
53  CombinedFragmentType combinedFragmentType(const QString& combinedfragmentType) const;
54  void setCombinedFragmentType(CombinedFragmentType combinedfragmentType);
55  void setCombinedFragmentType(const QString& combinedfragmentType);
56 
57  void askNameForWidgetType(UMLWidget* &targetWidget, const QString& dialogTitle,
58  const QString& dialogPrompt, const QString& defaultName);
59 
60  void saveToXMI(QXmlStreamWriter& writer);
61  bool loadFromXMI(QDomElement & qElement);
63 
64  virtual void cleanup();
65 
66  virtual bool activate(IDChangeLog* ChangeLog = 0);
67 
68  virtual QRectF boundingRect() const;
69  virtual QPainterPath shape() const;
70 
71 public slots:
72  void slotMenuSelection(QAction* action);
73 
74 
75 protected:
76  QSizeF minimumSize() const;
77  void toForeground();
78 
81 
82 private:
83  void setDashLineGeometryAndPosition() const;
84 
86  QList<FloatingDashLineWidget*> m_dashLines;
87  qreal m_labelWidth;
88 };
89 
90 #endif
CombinedFragmentType
Definition: combinedfragmentwidget.h:32
virtual bool activate(IDChangeLog *ChangeLog=0)
Definition: combinedfragmentwidget.cpp:462
Definition: combinedfragmentwidget.h:41
virtual void cleanup()
Definition: combinedfragmentwidget.cpp:389
virtual ~CombinedFragmentWidget()
Definition: combinedfragmentwidget.cpp:52
void removeDashLine(FloatingDashLineWidget *line)
Definition: combinedfragmentwidget.cpp:379
Definition: idchangelog.h:21
qreal m_labelWidth
Definition: combinedfragmentwidget.h:87
QSizeF minimumSize() const
Definition: combinedfragmentwidget.cpp:193
Definition: combinedfragmentwidget.h:39
QList< FloatingDashLineWidget * > m_dashLines
Dash lines of an alternative or parallel combined fragment.
Definition: combinedfragmentwidget.h:86
CombinedFragmentType combinedFragmentType() const
Definition: combinedfragmentwidget.cpp:215
void setCombinedFragmentType(CombinedFragmentType combinedfragmentType)
Definition: combinedfragmentwidget.cpp:223
void saveToXMI(QXmlStreamWriter &writer)
Definition: combinedfragmentwidget.cpp:323
virtual QPainterPath shape() const
Definition: combinedfragmentwidget.cpp:499
virtual QRectF boundingRect() const
Definition: combinedfragmentwidget.cpp:493
A dash line for UML combined fragments.
Definition: floatingdashlinewidget.h:28
Definition: combinedfragmentwidget.h:36
void slotMenuSelection(QAction *action)
Definition: combinedfragmentwidget.cpp:406
Definition: combinedfragmentwidget.h:38
std::string Type
Definition: basictypes.h:371
CombinedFragmentWidget(UMLScene *scene, CombinedFragmentType combinedfragmentType=Ref, Uml::ID::Type id=Uml::ID::None)
Definition: combinedfragmentwidget.cpp:41
CombinedFragmentType m_CombinedFragment
Type of CombinedFragment.
Definition: combinedfragmentwidget.h:80
void setDashLineGeometryAndPosition() const
Definition: combinedfragmentwidget.cpp:476
bool loadFromXMI(QDomElement &qElement)
Definition: combinedfragmentwidget.cpp:342
Definition: combinedfragmentwidget.h:34
virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget=0)
Definition: combinedfragmentwidget.cpp:62
A graphical version of a UML combined fragment.
Definition: combinedfragmentwidget.h:27
void askNameForWidgetType(UMLWidget *&targetWidget, const QString &dialogTitle, const QString &dialogPrompt, const QString &defaultName)
Definition: combinedfragmentwidget.cpp:275
Definition: combinedfragmentwidget.h:42
const Type None
special value for uninitialized ID
Definition: basictypes.h:373
Definition: combinedfragmentwidget.h:37
Definition: umlscene.h:64
Definition: combinedfragmentwidget.h:35
Definition: combinedfragmentwidget.h:40
void toForeground()
Definition: combinedfragmentwidget.cpp:489
The base class for graphical UML objects.
Definition: umlwidget.h:35