umbrello  26.08.2
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
pinportbase.h
Go to the documentation of this file.
1 /*
2  SPDX-License-Identifier: GPL-2.0-or-later
3  SPDX-FileCopyrightText: 2014-2021 Umbrello UML Modeller Authors <umbrello-devel@kde.org>
4 */
5 
6 #ifndef PINPORTBASE_H
7 #define PINPORTBASE_H
8 
9 #include "umlwidget.h"
10 
11 #include <QScopedPointer>
12 
13 class FloatingTextWidget;
15 
22 class PinPortBase : public UMLWidget
23 {
24  Q_OBJECT
25 public:
26  PinPortBase(UMLScene *scene, WidgetType type, UMLWidget *owner, UMLObject *o);
27  PinPortBase(UMLScene *scene, WidgetType type, UMLWidget *owner = nullptr, Uml::ID::Type id = Uml::ID::None);
28  virtual ~PinPortBase();
29 
30  virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = nullptr);
31  virtual QRectF boundingRect() const;
32 
33  virtual UMLWidget* ownerWidget() const;
34 
35  void setInitialPosition(const QPointF &scenePos);
36 
37  qreal getX() const;
38  qreal getY() const;
39  QPointF getPos() const;
40 
41  void updateWidget();
42  void setName(const QString &strName);
43  void moveWidgetBy(qreal diffX, qreal diffY);
44  virtual void notifyParentResize();
45 
46  UMLWidget* onWidget(const QPointF& p);
48 
51 
52  void saveToXMI(QXmlStreamWriter& writer);
53  bool loadFromXMI(QDomElement& qElement);
54 
55 public Q_SLOTS:
56  virtual void slotMenuSelection(QAction* action);
57 
58 protected:
59  void init(UMLWidget *owner = nullptr);
60  bool activate(IDChangeLog *changeLog = nullptr);
61 
62 private:
64 
65 protected:
67 
68 private:
69  QScopedPointer<ChildWidgetPlacement> m_childPlacement;
70 };
71 
72 #endif
ChildWidgetPlacement * createPlacement(WidgetBase::WidgetType type)
Definition: pinportbase.cpp:53
void moveWidgetBy(qreal diffX, qreal diffY)
Definition: pinportbase.cpp:149
QScopedPointer< ChildWidgetPlacement > m_childPlacement
Definition: pinportbase.h:69
Definition: idchangelog.h:21
WidgetType
Definition: widgetbase.h:106
UMLWidget * widgetWithID(Uml::ID::Type id)
Definition: pinportbase.cpp:274
The base class for UML objects.
Definition: umlobject.h:69
Base class for child widget placement.
Definition: childwidgetplacement.h:21
virtual QRectF boundingRect() const
Definition: pinportbase.cpp:180
UMLWidget * onWidget(const QPointF &p)
Definition: pinportbase.cpp:256
qreal getX() const
Definition: pinportbase.cpp:95
bool loadFromXMI(QDomElement &qElement)
Definition: pinportbase.cpp:304
void saveToXMI(QXmlStreamWriter &writer)
Definition: pinportbase.cpp:287
qreal getY() const
Definition: pinportbase.cpp:100
QPointF getPos() const
Definition: pinportbase.cpp:105
virtual void slotMenuSelection(QAction *action)
Definition: pinportbase.cpp:188
FloatingTextWidget * m_pName
Definition: pinportbase.h:66
void updateWidget()
Definition: pinportbase.cpp:116
virtual void notifyParentResize()
Definition: pinportbase.cpp:158
virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget=nullptr)
Definition: pinportbase.cpp:166
std::string Type
Definition: basictypes.h:371
virtual ~PinPortBase()
Definition: pinportbase.cpp:49
void setName(const QString &strName)
Definition: pinportbase.cpp:130
void init()
Definition: umlwidget.cpp:718
Displays a line of text or an operation.
Definition: floatingtextwidget.h:31
PinPortBase(UMLScene *scene, WidgetType type, UMLWidget *owner, UMLObject *o)
Definition: pinportbase.cpp:32
bool activate(IDChangeLog *changeLog=nullptr)
Definition: pinportbase.cpp:346
FloatingTextWidget * floatingTextWidget()
Definition: pinportbase.cpp:237
virtual UMLWidget * ownerWidget() const
Definition: pinportbase.cpp:85
void setFloatingTextWidget(FloatingTextWidget *ft)
Definition: pinportbase.cpp:241
const Type None
special value for uninitialized ID
Definition: basictypes.h:373
Definition: umlscene.h:65
void setInitialPosition(const QPointF &scenePos)
Definition: pinportbase.cpp:90
Abstract base class for PinWidget and PortWidget.
Definition: pinportbase.h:22
The base class for graphical UML objects.
Definition: umlwidget.h:35