Isis Developer Reference
CubePlotCurve.h
Go to the documentation of this file.
1#ifndef CubePlotCurve_h
2#define CubePlotCurve_h
3
10/* SPDX-License-Identifier: CC0-1.0 */
11
12#include <QObject>
13#include <QPointer>
14
15// This is needed for the QVariant macro
16#include <QMetaType>
17
18#include "PlotCurve.h"
19
20class QMimeData;
21class QMouseEvent;
22
23namespace Isis {
24 class CubeViewport;
25
53 class CubePlotCurve : public QObject, public PlotCurve {
54 Q_OBJECT
55
56 public:
58 CubePlotCurve(const QByteArray &parentAndChildData);
59
60 bool eventFilter(QObject *o, QEvent *e);
61 void paint(CubeViewport *vp, QPainter *painter);
62 QList< QList <QPointF> > sourceVertices() const;
63 virtual QWidget *legendItem() const;
64 QStringList sourceCube() const;
65
66 void enableAutoRenaming(bool);
67 void copySource(const CubePlotCurve &other);
68 void setSource(CubeViewport *cvp, QList<QPoint> screenPoints,
69 int band = -1);
70 void setSource(QList<CubeViewport *> cvps,
71 QList< QList<QPoint> > screenPoints, QList<int> band);
72
73 signals:
83 void removing();
84
85 public slots:
87
88 private:
89 QMimeData *createMimeData() const;
90 QByteArray toByteArray() const;
91 void mousePressEvent(QMouseEvent *e);
92
93 void clearSource();
94 void addSource(CubeViewport *cvp, QList<QPoint> screenPoints,
95 int band = -1);
96
97 private:
99 QPointer<QWidget> m_legendItem;
100
102 QString m_originalName;
103
108 bool m_renameAutomatically;
109
111 QList<QList <QPointF> > m_pointList;
112
114 QStringList m_sourceCube;
115 };
116};
117
120
121#endif
Q_DECLARE_METATYPE(Isis::CubePlotCurve *)
This allows CubePlotCurves to be stored inside of QVariants.
This is a plot curve with information relating it to a particular cube or region of a cube.
Definition CubePlotCurve.h:53
void needsRepaint()
This is emitted when the curve is modified in such a way that it would paint a viewport differently.
CubePlotCurve(Units xUnits, Units yUnits)
This constructs a CubePlotCurve... a subclass of PlotCurve.
Definition CubePlotCurve.cpp:49
QList< QList< QPointF > > sourceVertices() const
This method returns a list of points which are the vertices of the selected area (by the rubberband) ...
Definition CubePlotCurve.cpp:211
void copySource(const CubePlotCurve &other)
This copies the source data from another CubePlotCurve.
Definition CubePlotCurve.cpp:256
void enableAutoRenaming(bool)
This enables/disables the plot curve from changing it's title when the source data changes.
Definition CubePlotCurve.cpp:245
void paint(CubeViewport *vp, QPainter *painter)
Use information inside of the plot curve to paint onto a cube viewport.
Definition CubePlotCurve.cpp:169
QStringList sourceCube() const
This method returns the cube view port associated with the curve.
Definition CubePlotCurve.cpp:233
void removing()
This is emitted just before the cube plot curve is deleted.
virtual QWidget * legendItem() const
This method is necessary for getting the correct (event filter altered) legend item.
Definition CubePlotCurve.cpp:222
void setSource(CubeViewport *cvp, QList< QPoint > screenPoints, int band=-1)
Tell this plot curve from where its data originated.
Definition CubePlotCurve.cpp:321
void updateLegendItemWidget(QWidget *legendItem)
This creates a legend item and overrides events from it.
Definition CubePlotCurve.cpp:343
bool eventFilter(QObject *o, QEvent *e)
This will start the drag & drop operation for these curves.
Definition CubePlotCurve.cpp:137
Widget to display Isis cubes for qt apps.
Definition CubeViewport.h:122
Definition PlotCurve.h:44
Units yUnits() const
Get the units of the y-axis double data.
Definition PlotCurve.cpp:85
Units xUnits() const
Get the units of the x-axis double data.
Definition PlotCurve.cpp:75
Units
These are all the possible units for the x or y data in a plot curve.
Definition PlotCurve.h:54
This is free and unencumbered software released into the public domain.
Definition BoxcarCachingAlgorithm.h:13
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16