umbrello  2.35.1
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
widget_utils.h
Go to the documentation of this file.
1 /*
2  SPDX-License-Identifier: GPL-2.0-or-later
3  SPDX-FileCopyrightText: 2004-2021 Umbrello UML Modeller Authors <umbrello-devel@kde.org>
4 */
5 
6 #ifndef WIDGET_UTILS_H
7 #define WIDGET_UTILS_H
8 
9 #include "basictypes.h"
10 #include "messagewidgetlist.h"
11 #include "umlwidgetlist.h"
12 #include "widgetbase.h"
13 
14 #include <QBrush>
15 #include <QDomDocument>
16 #include <QPointF>
17 #include <QLineF>
18 #include <QPolygonF>
19 
20 class QGraphicsItem;
21 class QGraphicsRectItem;
22 class QXmlStreamWriter;
23 
28 namespace Widget_Utils
29 {
31  const UMLWidgetList& widgets,
32  const MessageWidgetList* messages = 0);
33 
34  QGraphicsRectItem* decoratePoint(const QPointF& p, QGraphicsItem* parent = 0);
35 
36  void drawCrossInEllipse(QPainter *p, const QRectF& ellipse);
37  void drawTriangledRect(QPainter *painter, const QRectF& rect, const QSizeF& triSize);
38 // void drawArrowHead(QPainter *painter, const QPointF& arrowPos,
39 // const QSizeF& arrowSize, Qt::ArrowType arrowType,
40 // bool solid = false);
41 // void drawRoundedRect(QPainter *painter, const QRectF& rect, qreal xRadius,
42 // qreal yRadius, Uml::Corners corners);
43 
44  QString pointToString(const QPointF& point);
45  QPointF stringToPoint(const QString& str);
46 
47  bool loadPixmapFromXMI(QDomElement &qElement, QPixmap &pixmap);
48  void savePixmapToXMI(QXmlStreamWriter& stream, const QPixmap& pixmap);
49 
50  bool loadGradientFromXMI(QDomElement &qElement, QGradient *&gradient);
51  void saveGradientToXMI(QXmlStreamWriter& stream, const QGradient *gradient);
52 
53  bool loadBrushFromXMI(QDomElement &qElement, QBrush &brush);
54  void saveBrushToXMI(QXmlStreamWriter& stream, const QBrush& brush);
55 
56  bool hasSmallerX(const UMLWidget* widget1, const UMLWidget* widget2);
57  bool hasSmallerY(const UMLWidget* widget1, const UMLWidget* widget2);
58 
59  QLineF closestPoints(const QPolygonF& self, const QPolygonF& other);
60 
62  QString newTitle(WidgetBase::WidgetType type);
63  QString newText(WidgetBase::WidgetType type);
64  QString renameTitle(WidgetBase::WidgetType type);
65  QString renameText(WidgetBase::WidgetType type);
66 
67  void ensureNestedVisible(UMLWidget *self, UMLWidgetList widgetList);
68 
69  QString adornStereo(QString name, bool appendSpace = true);
70 }
71 
72 #endif
Widget_Utils::X
@ X
Definition: widget_utils.cpp:622
WidgetBase::wt_Association
@ wt_Association
Definition: widgetbase.h:128
Uml::Region::NorthWest
@ NorthWest
Definition: basictypes.h:336
WidgetBase::wt_Signal
@ wt_Signal
Definition: widgetbase.h:133
WidgetBase::wt_FloatingDashLine
@ wt_FloatingDashLine
Definition: widgetbase.h:132
Widget_Utils::Smallest
@ Smallest
Definition: widget_utils.cpp:627
messagewidgetlist.h
WidgetBase::wt_ObjectNode
@ wt_ObjectNode
Definition: widgetbase.h:135
DEBUG_REGISTER
#define DEBUG_REGISTER(src)
Definition: debug_utils.h:129
Widget_Utils::drawTriangledRect
void drawTriangledRect(QPainter *painter, const QRectF &rect, const QSizeF &triSize)
Definition: widget_utils.cpp:130
WidgetBase::toString
static QString toString(WidgetType wt)
Definition: widgetbase.cpp:1235
Widget_Utils::saveGradientToXMI
void saveGradientToXMI(QXmlStreamWriter &stream, const QGradient *gradient)
Definition: widget_utils.cpp:399
WidgetBase::wt_Category
@ wt_Category
Definition: widgetbase.h:137
Widget_Utils::saveBrushToXMI
void saveBrushToXMI(QXmlStreamWriter &stream, const QBrush &brush)
Definition: widget_utils.cpp:499
Uml::Region::SouthEast
@ SouthEast
Definition: basictypes.h:338
Uml::Region::South
@ South
Definition: basictypes.h:335
UMLWidget
The base class for graphical UML objects.
Definition: umlwidget.h:35
WidgetBase::wt_UMLWidget
@ wt_UMLWidget
Definition: widgetbase.h:109
WidgetBase::wt_Precondition
@ wt_Precondition
Definition: widgetbase.h:130
WidgetBase::wt_Package
@ wt_Package
Definition: widgetbase.h:117
WidgetBase::wt_Instance
@ wt_Instance
Definition: widgetbase.h:139
WidgetBase::localID
Uml::ID::Type localID() const
Definition: widgetbase.cpp:250
Widget_Utils::loadGradientFromXMI
bool loadGradientFromXMI(QDomElement &gradientElement, QGradient *&gradient)
Definition: widget_utils.cpp:332
Widget_Utils::loadPixmapFromXMI
bool loadPixmapFromXMI(QDomElement &pixEle, QPixmap &pixmap)
Definition: widget_utils.cpp:274
Widget_Utils::pointToString
QString pointToString(const QPointF &point)
Definition: widget_utils.cpp:245
Widget_Utils
Definition: widget_utils.cpp:32
WidgetBase::wt_Artifact
@ wt_Artifact
Definition: widgetbase.h:126
Uml::Region::East
@ East
Definition: basictypes.h:334
umlwidgetlist.h
Widget_Utils::hasSmallerY
bool hasSmallerY(const UMLWidget *widget1, const UMLWidget *widget2)
Definition: widget_utils.cpp:536
Uml::ID::Type
std::string Type
Definition: basictypes.h:371
WidgetBase::wt_UseCase
@ wt_UseCase
Definition: widgetbase.h:111
WidgetBase::wt_Box
@ wt_Box
Definition: widgetbase.h:120
Widget_Utils::prevPoint
QPointF prevPoint(int index, const QPolygonF &poly)
Definition: widget_utils.cpp:590
Widget_Utils::defaultWidgetName
QString defaultWidgetName(WidgetBase::WidgetType type)
Definition: widget_utils.cpp:821
WidgetBase::isObjectWidget
bool isObjectWidget() const
Definition: widgetbase.h:256
WidgetBase::wt_Component
@ wt_Component
Definition: widgetbase.h:125
Widget_Utils::nextPoint
QPointF nextPoint(int index, const QPolygonF &poly)
Definition: widget_utils.cpp:603
WidgetBase::wt_ForkJoin
@ wt_ForkJoin
Definition: widgetbase.h:129
WidgetBase::wt_Note
@ wt_Note
Definition: widgetbase.h:119
WidgetBase::wt_Actor
@ wt_Actor
Definition: widgetbase.h:110
Widget_Utils::drawCrossInEllipse
void drawCrossInEllipse(QPainter *p, const QRectF &r)
Definition: widget_utils.cpp:89
Widget_Utils::ensureNestedVisible
void ensureNestedVisible(UMLWidget *self, UMLWidgetList widgetList)
Definition: widget_utils.cpp:1051
Widget_Utils::renameText
QString renameText(WidgetBase::WidgetType type)
Definition: widget_utils.cpp:1005
WidgetBase::wt_Pin
@ wt_Pin
Definition: widgetbase.h:134
MessageWidgetList
QList< QPointer< MessageWidget > > MessageWidgetList
Definition: messagewidgetlist.h:13
Widget_Utils::renameTitle
QString renameTitle(WidgetBase::WidgetType type)
Definition: widget_utils.cpp:959
Uml::Region::Center
@ Center
Definition: basictypes.h:340
WidgetBase::wt_Port
@ wt_Port
Definition: widgetbase.h:138
number
it is up to the author donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License If the distribution and or use of the Library is restricted in certain countries either by patents or by copyrighted the original copyright holder who places the Library under this License may add an geographical distribution limitation excluding those so that distribution is permitted only in or among countries not thus excluded In such this License incorporates the limitation as if written in the body of this License The Free Software Foundation may publish revised and or new versions of the Library General Public License from time to time Such new versions will be similar in spirit to the present but may differ in detail to address new problems or concerns Each version is given a distinguishing version number If the Library specifies a version number of this License which applies to it and any later you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation If the Library does not specify a license version number
Definition: LGPL-2.0-only.txt:368
objectwidget.h
a
QString a
Definition: petalnode.cpp:13
umlwidget.h
Widget_Utils::middle
qreal middle(qreal a, qreal b)
Definition: widget_utils.cpp:614
Uml::Region::NorthEast
@ NorthEast
Definition: basictypes.h:337
i18n
#define i18n
Definition: main.cpp:35
messagewidget.h
Widget_Utils::loadBrushFromXMI
bool loadBrushFromXMI(QDomElement &qElement, QBrush &brush)
Definition: widget_utils.cpp:449
WidgetBase::wt_Class
@ wt_Class
Definition: widgetbase.h:112
WidgetBase::wt_Text
@ wt_Text
Definition: widgetbase.h:122
Widget_Utils::savePixmapToXMI
void savePixmapToXMI(QXmlStreamWriter &stream, const QPixmap &pixmap)
Definition: widget_utils.cpp:301
basictypes.h
Uml::Region::West
@ West
Definition: basictypes.h:332
Uml::Region::Enum
Enum
Definition: basictypes.h:330
int
int int y int
Definition: cxx11-lambda-functions-and-expressions.h:4
UMLWidgetList
QList< QPointer< UMLWidget > > UMLWidgetList
Definition: umlwidgetlist.h:13
WidgetBase::wt_Region
@ wt_Region
Definition: widgetbase.h:136
Uml::Region::North
@ North
Definition: basictypes.h:333
WidgetBase::wt_CombinedFragment
@ wt_CombinedFragment
Definition: widgetbase.h:131
logWarn1
#define logWarn1(s, a)
Definition: uml.h:544
Widget_Utils::findLine
QLineF findLine(const QPolygonF &poly, Axis_Type axis, Comparison_Type seek, const QRectF &boundingRect)
Definition: widget_utils.cpp:637
Widget_Utils::Largest
@ Largest
Definition: widget_utils.cpp:627
widget_utils.h
UMLWidget::isLocatedIn
virtual bool isLocatedIn(const UMLWidget *other) const
Definition: umlwidget.cpp:1414
Widget_Utils::Comparison_Type
Comparison_Type
Definition: widget_utils.cpp:627
WidgetBase::wt_Message
@ wt_Message
Definition: widgetbase.h:121
Widget_Utils::adornStereo
QString adornStereo(QString name, bool appendSpace)
Definition: widget_utils.cpp:1069
Widget_Utils::newTitle
QString newTitle(WidgetBase::WidgetType type)
Definition: widget_utils.cpp:868
Widget_Utils::findWidget
UMLWidget * findWidget(Uml::ID::Type id, const UMLWidgetList &widgets, const MessageWidgetList *messages)
Definition: widget_utils.cpp:43
widgetbase.h
WidgetBase::wt_State
@ wt_State
Definition: widgetbase.h:123
WidgetBase::wt_Interface
@ wt_Interface
Definition: widgetbase.h:113
uml.h
Widget_Utils::newText
QString newText(WidgetBase::WidgetType type)
Definition: widget_utils.cpp:914
debug_utils.h
WidgetBase::wt_Object
@ wt_Object
Definition: widgetbase.h:118
WidgetBase::wt_Entity
@ wt_Entity
Definition: widgetbase.h:116
WidgetBase::WidgetType
WidgetType
Definition: widgetbase.h:106
WidgetBase::wt_Datatype
@ wt_Datatype
Definition: widgetbase.h:114
Widget_Utils::findRegion
Uml::Region::Enum findRegion(const QRectF &self, const QRectF &other)
Definition: widget_utils.cpp:549
WidgetBase::wt_Activity
@ wt_Activity
Definition: widgetbase.h:124
b
bool b
Definition: cxx11-null-pointer-constant.h:6
Widget_Utils::hasSmallerX
bool hasSmallerX(const UMLWidget *widget1, const UMLWidget *widget2)
Definition: widget_utils.cpp:525
Widget_Utils::closestPoints
QLineF closestPoints(const QPolygonF &self, const QPolygonF &other)
Definition: widget_utils.cpp:677
Uml::Region::SouthWest
@ SouthWest
Definition: basictypes.h:339
Widget_Utils::Axis_Type
Axis_Type
Definition: widget_utils.cpp:622
WidgetBase::wt_Enum
@ wt_Enum
Definition: widgetbase.h:115
Widget_Utils::stringToPoint
QPointF stringToPoint(const QString &str)
Definition: widget_utils.cpp:253
WidgetBase::wt_Node
@ wt_Node
Definition: widgetbase.h:127
WidgetBase::id
Uml::ID::Type id() const
Definition: widgetbase.cpp:226
Widget_Utils::decoratePoint
QGraphicsRectItem * decoratePoint(const QPointF &p, QGraphicsItem *parent)
Definition: widget_utils.cpp:71
Widget_Utils::Y
@ Y
Definition: widget_utils.cpp:622