KDStateMachineEditor API Documentation 2.1
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
37 Q_PROPERTY(KDSME::Element *parent READ parentElement WRITE setParentElement NOTIFY parentChanged FINAL)
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
69 enum Flag
70 {
71 NoFlags = 0x0,
72 ElementIsDragEnabled = 0x1,
73 ElementIsSelectable = 0x2,
74 ElementIsEditable = 0x4,
75 };
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);
139 void heightChanged(qreal height);
140 void widthChanged(qreal width);
141 void visibleChanged(bool visible);
142 void selectedChanged(bool selected);
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)
void heightChanged(qreal height)
void posChanged(const QPointF &pos)
void flagsChanged(KDSME::Element::Flags flags)
void selectedChanged(bool selected)
void parentChanged(KDSME::Element *parent)
void labelChanged(const QString &label)
@ TimeoutTransitionType
Definition element.h:58
@ SignalTransitionType
Definition element.h:57
void widthChanged(qreal width)

© 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 Tue Jul 15 2025 15:21:47 for KDStateMachineEditor API Documentation by doxygen 1.9.8