|
Isis 3.0 Developer's Reference (API) |
Home |
00001 #ifndef MosaicGridTool_h 00002 #define MosaicGridTool_h 00003 00004 #include "MosaicTool.h" 00005 00006 #include <QPointer> 00007 00008 #include "Angle.h" 00009 #include "Latitude.h" 00010 #include "Longitude.h" 00011 00012 class QAction; 00013 class QCheckBox; 00014 class QDialog; 00015 class QGraphicsItem; 00016 class GridGraphicsItem; 00017 class QLabel; 00018 class Projection; 00019 class QPushButton; 00020 class QToolButton; 00021 00022 namespace Isis { 00049 class MosaicGridTool : public MosaicTool { 00050 Q_OBJECT 00051 00052 public: 00053 enum GridExtentSource { 00057 Map, 00062 Cubes, 00066 Manual 00067 }; 00068 00069 MosaicGridTool(MosaicSceneWidget *); 00070 void addToMenu(QMenu *menu); 00071 00072 //Accessors 00073 bool autoGridCheckBox(); 00074 Latitude baseLat(); 00075 Longitude baseLon(); 00076 int density(); 00077 Angle latInc(); 00078 GridExtentSource latExtents(); 00079 QString latType(); 00080 QString lonDomain(); 00081 GridExtentSource lonExtents(); 00082 Angle lonInc(); 00083 Latitude maxLat(); 00084 Longitude maxLon(); 00085 Latitude minLat(); 00086 Longitude minLon(); 00087 MosaicSceneWidget* sceneWidget(); 00088 bool showGrid(); 00089 00090 //Mutators 00091 void setAutoGridCheckBox(bool checked); 00092 void setBaseLat(Latitude baseLat); 00093 void setBaseLon(Longitude baseLon); 00094 void setDensity(int density); 00095 void setLatExtents(GridExtentSource source, Latitude minLat, Latitude maxLat); 00096 void setLatInc(Angle latInc); 00097 void setLonExtents(GridExtentSource source, Longitude minLon, Longitude maxLon); 00098 void setLonInc(Angle lonInc); 00099 void setShowGrid(bool show); 00100 00101 //Processors 00102 void fromPvl(const PvlObject &obj); 00103 QString projectPvlObjectName() const; 00104 PvlObject toPvl() const; 00105 00106 signals: 00107 void boundingRectChanged(); 00108 00109 00110 public slots: 00111 void autoGrid(bool draw); 00112 void clearGrid(); 00113 void configure(); 00114 void drawGrid(); 00115 void drawGrid(bool draw); 00116 void onCubesChanged(); 00117 void onToolOpen(bool check); 00118 00119 protected: 00120 QWidget *createToolBarWidget(); 00121 QAction *getPrimaryAction(); 00122 QWidget *getToolBarWidget(); 00123 00124 private: 00125 QPointer<QLabel> m_autoGridLabel; 00126 QPointer<QCheckBox> m_autoGridCheckBox; 00127 QPointer<QCheckBox> m_drawGridCheckBox; 00128 bool m_shouldCheckBoxes; 00129 00130 Latitude m_baseLat; 00131 Longitude m_baseLon; 00132 00133 Angle m_latInc; 00134 Angle m_lonInc; 00135 00136 GridExtentSource m_latExtents; 00137 Latitude m_maxLat; 00138 Latitude m_minLat; 00139 00140 GridExtentSource m_lonExtents; 00141 Longitude m_maxLon; 00142 Longitude m_minLon; 00143 00144 int m_density; 00145 00146 QAction *m_action; 00147 QGraphicsItem *m_gridItem; 00148 QRectF m_previousBoundingRect; 00149 }; 00150 }; 00151 00152 #endif 00153