KDStateMachineEditor API Documentation 2.3
Loading...
Searching...
No Matches
element.h
Go to the documentation of this file.
1/*
2 This file is part of the KDAB State Machine Editor Library.
3
4 SPDX-FileCopyrightText: 2014 Klarälvdalens Datakonsult AB, a KDAB Group company <info@kdab.com>
5 Author: Kevin Funk <kevin.funk@kdab.com>
6
7 SPDX-License-Identifier: LGPL-2.1-only OR LicenseRef-KDAB-KDStateMachineEditor
8
9 Licensees holding valid commercial KDAB State Machine Editor Library
10 licenses may use this file in accordance with the KDAB State Machine Editor
11 Library License Agreement provided with the Software.
12
13 Contact info@kdab.com if any conditions of this licensing are not clear to you.
14*/
15
16#ifndef KDSME_MODEL_ELEMENT_H
17#define KDSME_MODEL_ELEMENT_H
18
19#include "kdsme_core_export.h"
20
21#include <QObject>
22#include <QMetaType>
23#include <QPointF>
24
25QT_BEGIN_NAMESPACE
26class QPainterPath;
27QT_END_NAMESPACE
28
29namespace KDSME {
30
31class State;
32class StateMachine;
33
34class KDSME_CORE_EXPORT Element : public QObject
35{
36 Q_OBJECT
38 Q_PROPERTY(Type type READ type CONSTANT FINAL)
39 Q_PROPERTY(Flags flags READ flags WRITE setFlags NOTIFY flagsChanged FINAL)
40 Q_PROPERTY(QString label READ label WRITE setLabel NOTIFY labelChanged FINAL)
42 Q_PROPERTY(QPointF pos READ pos WRITE setPos NOTIFY posChanged FINAL)
43 Q_PROPERTY(qreal width READ width WRITE setWidth NOTIFY widthChanged FINAL)
44 Q_PROPERTY(qreal height READ height WRITE setHeight NOTIFY heightChanged FINAL)
46 Q_PROPERTY(bool visible READ isVisible WRITE setVisible NOTIFY visibleChanged FINAL)
48 Q_PROPERTY(bool selected READ isSelected WRITE setSelected NOTIFY selectedChanged FINAL)
49
50public:
67 Q_ENUM(Type)
68
76 Q_ENUM(Flag)
77 Q_DECLARE_FLAGS(Flags, Flag)
78
79 explicit Element(QObject *parent = nullptr);
80 ~Element();
81
82 virtual Type type() const;
83
84 Flags flags() const;
85 void setFlags(Flags flags);
86
90 QString label() const;
91 void setLabel(const QString &label);
92
98 quintptr internalId() const;
99 void setInternalId(quintptr id);
100
101 void setInternalPointer(void *ptr);
102 void *internalPointer() const;
103
104 QPointF pos() const;
105 void setPos(const QPointF &pos);
106
107 qreal height() const;
108 void setHeight(qreal height);
109
110 qreal width() const;
111 void setWidth(qreal width);
112
113 QPointF absolutePos() const;
114
115 bool isVisible() const;
116 void setVisible(bool visible);
117
118 bool isSelected() const;
119 void setSelected(bool selected);
120
121 QSizeF preferredSize() const;
122 virtual QRectF boundingRect() const;
123
124 Element *parentElement() const;
125 void setParentElement(Element *parent);
126 void setParent(QObject *object); // hide parent function
127 QList<Element *> childElements() const;
128
129 virtual QString toDisplayString() const;
130
131 Q_INVOKABLE static const char *typeToString(KDSME::Element::Type type);
132 Q_INVOKABLE static KDSME::Element::Type stringToType(const char *type);
133
134Q_SIGNALS:
136 void flagsChanged(KDSME::Element::Flags flags);
137 void labelChanged(const QString &label);
138 void posChanged(const QPointF &pos);
140 void widthChanged(qreal width);
143
144private:
145 struct Private;
146 QScopedPointer<Private> d;
147};
148
149}
150
151Q_DECLARE_METATYPE(KDSME::Element::Type)
152Q_DECLARE_METATYPE(KDSME::Element *)
153
154#endif // TREESTRUCTURE_H
void visibleChanged(bool visible)
bool isSelected() const
Definition element.cpp:159
void heightChanged(qreal height)
void posChanged(const QPointF &pos)
qreal width
Definition element.h:43
void setPos(const QPointF &pos)
Definition element.cpp:97
void flagsChanged(KDSME::Element::Flags flags)
void setSelected(bool selected)
Definition element.cpp:164
qreal height
Definition element.h:44
bool selected
Whether this item is marked as selected.
Definition element.h:48
void setLabel(const QString &label)
Definition element.cpp:63
void setVisible(bool visible)
Definition element.cpp:150
bool isVisible() const
Definition element.cpp:145
@ ElementIsSelectable
Definition element.h:73
@ ElementIsDragEnabled
Definition element.h:72
@ ElementIsEditable
Definition element.h:74
QPointF pos
The position of the element from the top-left corner.
Definition element.h:42
void setParentElement(Element *parent)
Definition element.cpp:210
void setWidth(qreal width)
Definition element.cpp:111
void selectedChanged(bool selected)
void parentChanged(KDSME::Element *parent)
bool visible
Whether this item is visible in the scene.
Definition element.h:46
Element(QObject *parent=nullptr)
Definition element.cpp:30
void labelChanged(const QString &label)
QString label
Definition element.h:40
@ TimeoutTransitionType
Definition element.h:58
@ SignalTransitionType
Definition element.h:57
void widthChanged(qreal width)
void setFlags(Flags flags)
Definition element.cpp:50
Flags flags
Definition element.h:39
KDSME::Element * parent
Definition element.h:37
void setHeight(qreal height)
Definition element.cpp:125
Element * parentElement() const
Definition element.cpp:205

© Klarälvdalens Datakonsult AB (KDAB)
"The Qt, C++ and OpenGL Experts"
https://www.kdab.com/
KDStateMachineEditor
Create Qt State Machine metacode using a graphical user interface
https://github.com/KDAB/KDStateMachineEditor
Generated on for KDStateMachineEditor API Documentation by doxygen 1.15.0