File indexing completed on 2024-04-28 11:21:04
0001 /* 0002 SPDX-License-Identifier: GPL-2.0-or-later 0003 SPDX-FileCopyrightText: 2020 Sirgienko Nikita <warquark@gmail.com> 0004 */ 0005 #ifndef WORKSHEETCONTROLITEM_H 0006 #define WORKSHEETCONTROLITEM_H 0007 0008 #include <QObject> 0009 #include <QGraphicsRectItem> 0010 0011 class WorksheetEntry; 0012 class Worksheet; 0013 0014 class WorksheetControlItem: public QObject, public QGraphicsRectItem 0015 { 0016 Q_OBJECT 0017 public: 0018 WorksheetControlItem(Worksheet* worksheet, WorksheetEntry* parent); 0019 0020 Q_SIGNALS: 0021 void doubleClick(); 0022 void drag(const QPointF, const QPointF); 0023 0024 private: 0025 void hoverEnterEvent(QGraphicsSceneHoverEvent * event) override; 0026 void hoverLeaveEvent(QGraphicsSceneHoverEvent * event) override; 0027 void mouseMoveEvent(QGraphicsSceneMouseEvent* event) override; 0028 void mouseDoubleClickEvent(QGraphicsSceneMouseEvent * event) override; 0029 void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget = nullptr) override; 0030 0031 public: 0032 bool isSelected{false}; 0033 bool isCollapsable{false}; 0034 bool isCollapsed{false}; 0035 0036 private: 0037 Worksheet* m_worksheet{nullptr}; 0038 bool m_isHovered{false}; 0039 }; 0040 0041 #endif // WORKSHEETCONTROLITEM_H