File indexing completed on 2024-05-12 03:47:30
0001 /* 0002 File : DatapickerPointPrivate.h 0003 Project : LabPlot 0004 Description : Graphic Item for coordinate points of Datapicker 0005 -------------------------------------------------------------------- 0006 SPDX-FileCopyrightText: 2015 Ankit Wagadre <wagadre.ankit@gmail.com> 0007 SPDX-License-Identifier: GPL-2.0-or-later 0008 */ 0009 0010 #ifndef DATAPICKERPOINTPRIVATE_H 0011 #define DATAPICKERPOINTPRIVATE_H 0012 0013 #include "backend/worksheet/Worksheet.h" 0014 0015 #include <QBrush> 0016 #include <QGraphicsItem> 0017 #include <QPen> 0018 0019 class DatapickerPoint; 0020 0021 class DatapickerPointPrivate : public QGraphicsItem { 0022 public: 0023 explicit DatapickerPointPrivate(DatapickerPoint*); 0024 0025 QString name() const; 0026 void retransform(); 0027 virtual void recalcShapeAndBoundingRect(); 0028 void updatePoint(); 0029 void updatePropeties(); 0030 void retransformErrorBar(); 0031 0032 bool m_printing{false}; 0033 bool isReferencePoint{false}; 0034 0035 qreal rotationAngle{0.0}; 0036 QPointF position; 0037 QRectF boundingRectangle; 0038 QRectF transformedBoundingRectangle; 0039 Symbol::Style pointStyle{Symbol::Style::NoSymbols}; 0040 QBrush brush; 0041 QPen pen; 0042 qreal opacity{1.0}; 0043 qreal size{1.0}; 0044 QPainterPath itemShape; 0045 0046 QPointF plusDeltaXPos; 0047 QPointF minusDeltaXPos; 0048 QPointF plusDeltaYPos; 0049 QPointF minusDeltaYPos; 0050 QBrush errorBarBrush; 0051 QPen errorBarPen; 0052 qreal errorBarSize{Worksheet::convertToSceneUnits(8, Worksheet::Unit::Point)}; 0053 0054 // reimplemented from QGraphicsItem 0055 QRectF boundingRect() const override; 0056 QPainterPath shape() const override; 0057 void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget* widget = nullptr) override; 0058 0059 DatapickerPoint* const q; 0060 0061 private: 0062 void contextMenuEvent(QGraphicsSceneContextMenuEvent*) override; 0063 void mouseReleaseEvent(QGraphicsSceneMouseEvent*) override; 0064 void hoverEnterEvent(QGraphicsSceneHoverEvent*) override; 0065 void hoverLeaveEvent(QGraphicsSceneHoverEvent*) override; 0066 QVariant itemChange(QGraphicsItem::GraphicsItemChange change, const QVariant& value) override; 0067 0068 friend class DatapickerTest; 0069 }; 0070 0071 #endif