umbrello  2.39.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 = 0, Uml::ID::Type id = Uml::ID::None);
28  virtual ~PinPortBase();
29 
30  virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0);
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 slots:
56  virtual void slotMenuSelection(QAction* action);
57 
58 protected:
59  void init(UMLWidget *owner = 0);
60  bool activate(IDChangeLog* changeLog = 0);
61 
62 private:
64 
65 protected:
67 
68 private:
69  QScopedPointer<ChildWidgetPlacement> m_childPlacement;
70 };
71 
72 #endif
Base class for child widget placement.
Definition: childwidgetplacement.h:22
Displays a line of text or an operation.
Definition: floatingtextwidget.h:32
Definition: idchangelog.h:22
Abstract base class for PinWidget and PortWidget.
Definition: pinportbase.h:23
UMLWidget * widgetWithID(Uml::ID::Type id)
Definition: pinportbase.cpp:274
QScopedPointer< ChildWidgetPlacement > m_childPlacement
Definition: pinportbase.h:69
virtual ~PinPortBase()
Definition: pinportbase.cpp:49
PinPortBase(UMLScene *scene, WidgetType type, UMLWidget *owner, UMLObject *o)
Definition: pinportbase.cpp:32
void setInitialPosition(const QPointF &scenePos)
Definition: pinportbase.cpp:90
virtual UMLWidget * ownerWidget() const
Definition: pinportbase.cpp:85
ChildWidgetPlacement * createPlacement(WidgetBase::WidgetType type)
Definition: pinportbase.cpp:53
UMLWidget * onWidget(const QPointF &p)
Definition: pinportbase.cpp:256
virtual void slotMenuSelection(QAction *action)
Definition: pinportbase.cpp:188
FloatingTextWidget * floatingTextWidget()
Definition: pinportbase.cpp:237
virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget=0)
Definition: pinportbase.cpp:166
bool activate(IDChangeLog *changeLog=0)
Definition: pinportbase.cpp:346
bool loadFromXMI(QDomElement &qElement)
Definition: pinportbase.cpp:304
QPointF getPos() const
Definition: pinportbase.cpp:105
void setName(const QString &strName)
Definition: pinportbase.cpp:130
qreal getY() const
Definition: pinportbase.cpp:100
void moveWidgetBy(qreal diffX, qreal diffY)
Definition: pinportbase.cpp:149
void setFloatingTextWidget(FloatingTextWidget *ft)
Definition: pinportbase.cpp:241
virtual QRectF boundingRect() const
Definition: pinportbase.cpp:180
qreal getX() const
Definition: pinportbase.cpp:95
void updateWidget()
Definition: pinportbase.cpp:116
virtual void notifyParentResize()
Definition: pinportbase.cpp:158
void saveToXMI(QXmlStreamWriter &writer)
Definition: pinportbase.cpp:287
FloatingTextWidget * m_pName
Definition: pinportbase.h:66
The base class for UML objects.
Definition: umlobject.h:70
Definition: umlscene.h:65
The base class for graphical UML objects.
Definition: umlwidget.h:36
void init()
Definition: umlwidget.cpp:705
WidgetType
Definition: widgetbase.h:107
const Type None
special value for uninitialized ID
Definition: basictypes.h:373
std::string Type
Definition: basictypes.h:371