umbrello  2.31.70
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  * 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) 2014-2020 *
8  * Umbrello UML Modeller Authors <umbrello-devel@kde.org> *
9  ***************************************************************************/
10 
11 #ifndef PINPORTBASE_H
12 #define PINPORTBASE_H
13 
14 #include "umlwidget.h"
15 
16 #include <QScopedPointer>
17 
18 class FloatingTextWidget;
20 
27 class PinPortBase : public UMLWidget
28 {
29  Q_OBJECT
30 public:
31  PinPortBase(UMLScene *scene, WidgetType type, UMLWidget *owner, UMLObject *o);
32  PinPortBase(UMLScene *scene, WidgetType type, UMLWidget *owner = 0, Uml::ID::Type id = Uml::ID::None);
33  virtual ~PinPortBase();
34 
35  virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0);
36  virtual QRectF boundingRect() const;
37 
38  virtual UMLWidget* ownerWidget() const;
39 
40  void setInitialPosition(const QPointF &scenePos);
41 
42  void updateWidget();
43  void setName(const QString &strName);
44  void moveWidgetBy(qreal diffX, qreal diffY);
45  virtual void notifyParentResize();
46 
47  UMLWidget* onWidget(const QPointF& p);
49 
52 
53  void saveToXMI1(QDomDocument& qDoc, QDomElement& qElement);
54  bool loadFromXMI1(QDomElement& qElement);
55 
56 public slots:
57  virtual void slotMenuSelection(QAction* action);
58 
59 protected:
60  void init(UMLWidget *owner = 0);
61  bool activate(IDChangeLog* changeLog = 0);
62 
63 private:
65 
66 protected:
68 
69 private:
70  QScopedPointer<ChildWidgetPlacement> m_childPlacement;
71 };
72 
73 #endif
ChildWidgetPlacement * createPlacement(WidgetBase::WidgetType type)
Definition: pinportbase.cpp:54
void moveWidgetBy(qreal diffX, qreal diffY)
Definition: pinportbase.cpp:135
QScopedPointer< ChildWidgetPlacement > m_childPlacement
Definition: pinportbase.h:70
Definition: idchangelog.h:26
void saveToXMI1(QDomDocument &qDoc, QDomElement &qElement)
Definition: pinportbase.cpp:269
virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget=0)
Definition: pinportbase.cpp:152
WidgetType
Definition: widgetbase.h:110
UMLWidget * widgetWithID(Uml::ID::Type id)
Definition: pinportbase.cpp:256
The base class for UML objects.
Definition: umlobject.h:73
Base class for child widget placement.
Definition: childwidgetplacement.h:26
virtual QRectF boundingRect() const
Definition: pinportbase.cpp:166
UMLWidget * onWidget(const QPointF &p)
Definition: pinportbase.cpp:242
virtual void slotMenuSelection(QAction *action)
Definition: pinportbase.cpp:174
FloatingTextWidget * m_pName
Definition: pinportbase.h:67
void updateWidget()
Definition: pinportbase.cpp:102
virtual void notifyParentResize()
Definition: pinportbase.cpp:144
std::string Type
Definition: basictypes.h:351
bool activate(IDChangeLog *changeLog=0)
Definition: pinportbase.cpp:323
virtual ~PinPortBase()
Definition: pinportbase.cpp:50
void setName(const QString &strName)
Definition: pinportbase.cpp:116
void init()
Definition: umlwidget.cpp:698
Displays a line of text or an operation.
Definition: floatingtextwidget.h:36
bool loadFromXMI1(QDomElement &qElement)
Definition: pinportbase.cpp:285
PinPortBase(UMLScene *scene, WidgetType type, UMLWidget *owner, UMLObject *o)
Definition: pinportbase.cpp:33
FloatingTextWidget * floatingTextWidget()
Definition: pinportbase.cpp:223
virtual UMLWidget * ownerWidget() const
Definition: pinportbase.cpp:86
void setFloatingTextWidget(FloatingTextWidget *ft)
Definition: pinportbase.cpp:227
const Type None
special value for uninitialized ID
Definition: basictypes.h:353
Definition: umlscene.h:68
void setInitialPosition(const QPointF &scenePos)
Definition: pinportbase.cpp:91
Abstract base class for PinWidget and PortWidget.
Definition: pinportbase.h:27
The base class for graphical UML objects.
Definition: umlwidget.h:40