QElectroTech 0.200.1-dev
Loading...
Searching...
No Matches
qetgraphicsitem.h
Go to the documentation of this file.
1/*
2 Copyright 2006-2026 The QElectroTech Team
3 This file is part of QElectroTech.
4
5 QElectroTech is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 2 of the License, or
8 (at your option) any later version.
9
10 QElectroTech is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
17*/
18#ifndef QETGRAPHICSITEM_H
19#define QETGRAPHICSITEM_H
20
21#include "../qet.h"
22
23#include <QGraphicsObject>
24
25class Diagram;
26
27class QetGraphicsItem : public QGraphicsObject
28{
29 Q_OBJECT
30
31 public :
32 static void showItem (QetGraphicsItem *item);
33
34 public:
35 //constructor destructor
36 QetGraphicsItem(QGraphicsItem *parent = nullptr);
37 ~QetGraphicsItem() override = 0;
38
39 //public method
40 Diagram *diagram () const;
41 virtual void setPos (const QPointF &p);
42 virtual void setPos (qreal x, qreal y);
43
44 virtual bool isMovable () const
45{return is_movable_;}
46 virtual void setMovable (bool movable) { is_movable_ = movable;}
47
48 bool isHovered() const;
49 QPointF hoverMousePos() const;
50
51 virtual void editProperty () {}
52 virtual QString name ()const
53{return QString("");}
54
56
57 //protected method
58 protected:
59 void mousePressEvent(QGraphicsSceneMouseEvent *event) override;
60 void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event) override;
61 void mouseMoveEvent(QGraphicsSceneMouseEvent *event) override;
62 void mouseReleaseEvent(QGraphicsSceneMouseEvent *event) override;
63 void hoverEnterEvent(QGraphicsSceneHoverEvent *event) override;
64 void hoverMoveEvent(QGraphicsSceneHoverEvent *event) override;
65 void hoverLeaveEvent(QGraphicsSceneHoverEvent *event) override;
66
67 protected:
73
74 private:
75 bool m_hovered{false};
77
78};
79
80#endif // QETGRAPHICSITEM_H
The Diagram class This class represents an electric diagram. It manages its various child elements,...
Definition diagram.h:54
void mouseReleaseEvent(QGraphicsSceneMouseEvent *event) override
QetGraphicsItem::mouseReleaseEvent handle mouse release click.
Definition qetgraphicsitem.cpp:179
QetGraphicsItem(QGraphicsItem *parent=nullptr)
Definition qetgraphicsitem.cpp:44
virtual void setMovable(bool movable)
Definition qetgraphicsitem.h:46
void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event) override
Definition qetgraphicsitem.cpp:127
virtual void editProperty()
Definition qetgraphicsitem.h:51
QPointF m_mouse_hover_pos
Definition qetgraphicsitem.h:76
bool snap_to_grid_
Definition qetgraphicsitem.h:70
QET::GraphicsItemState state() const
QetGraphicsItem::state.
Definition qetgraphicsitem.cpp:99
virtual QString name() const
Definition qetgraphicsitem.h:52
void hoverEnterEvent(QGraphicsSceneHoverEvent *event) override
Definition qetgraphicsitem.cpp:187
void mousePressEvent(QGraphicsSceneMouseEvent *event) override
Definition qetgraphicsitem.cpp:109
QET::GraphicsItemState m_state
Definition qetgraphicsitem.h:72
QPointF hoverMousePos() const
Definition qetgraphicsitem.cpp:90
void mouseMoveEvent(QGraphicsSceneMouseEvent *event) override
Definition qetgraphicsitem.cpp:138
virtual void setPos(const QPointF &p)
Definition qetgraphicsitem.cpp:69
virtual bool isMovable() const
Definition qetgraphicsitem.h:44
static void showItem(QetGraphicsItem *item)
QetGraphicsItem::QetGraphicsItem Default constructor.
Definition qetgraphicsitem.cpp:27
bool m_hovered
Definition qetgraphicsitem.h:75
void hoverLeaveEvent(QGraphicsSceneHoverEvent *event) override
Definition qetgraphicsitem.cpp:199
bool isHovered() const
Definition qetgraphicsitem.cpp:86
void hoverMoveEvent(QGraphicsSceneHoverEvent *event) override
Definition qetgraphicsitem.cpp:193
QPointF m_mouse_to_origin_movement
Definition qetgraphicsitem.h:71
~QetGraphicsItem() override=0
Definition qetgraphicsitem.cpp:53
bool m_first_move
Definition qetgraphicsitem.h:69
Diagram * diagram() const
Definition qetgraphicsitem.cpp:60
bool is_movable_
Definition qetgraphicsitem.h:68
GraphicsItemState
Definition qet.h:35
@ GIOK
General state.
Definition qet.h:36