Isis 3.0 Object Programmers' Reference |
Home |
00001 #ifndef SpatialPlotTool_h 00002 #define SpatialPlotTool_h 00003 00004 #include "AbstractPlotTool.h" 00005 00006 #include <QMap> 00007 00008 class QAction; 00009 class QComboBox; 00010 class QMainWindow; 00011 00012 template <typename T> class QVector; 00013 00014 namespace Isis { 00015 class CubePlotCurve; 00016 class PlotWindow; 00017 class RubberBandComboBox; 00018 class SurfacePoint; 00019 class UniversalGroundMap; 00020 00047 class SpatialPlotTool : public AbstractPlotTool { 00048 Q_OBJECT 00049 00050 public: 00051 SpatialPlotTool(QWidget *parent); 00052 00053 public slots: 00054 void refreshPlot(); 00055 00056 protected: 00057 QWidget *createToolBarWidget(QStackedWidget *parent); 00058 virtual PlotWindow *createWindow(); 00059 virtual void detachCurves(); 00060 void enableRubberBandTool(); 00061 QAction *toolPadAction(ToolPad *pad); 00062 void updateTool(); 00063 00064 protected slots: 00065 virtual void rubberBandComplete(); 00066 void viewportSelected(); 00067 00068 private: 00069 QVector<QPointF> getSpatialStatistics(MdiCubeViewport *); 00070 static SurfacePoint resultToSurfacePoint(UniversalGroundMap *); 00071 void validatePlotCurves(); 00072 00073 private: 00074 QPointer<QComboBox> m_xUnitsCombo; 00075 00077 QPointer<QAction> m_toolPadAction; 00078 00080 QPointer<QComboBox> m_interpolationCombo; 00081 00083 QScopedPointer< 00084 QMap< MdiCubeViewport *, QPointer<CubePlotCurve> > > m_spatialCurves; 00085 00087 QPointer<RubberBandComboBox> m_rubberBandCombo; 00088 }; 00089 }; 00090 00091 #endif