Isis 3.0 Developer's Reference (API) |
Home |
00001 #ifndef ControlPointEdit_h 00002 #define ControlPointEdit_h 00003 00004 // This is the only include allowed in this file! 00005 #include <QWidget> 00006 00007 00008 class QCheckBox; 00009 class QDial; 00010 class QDoubleSpinBox; 00011 class QHBoxLayout; 00012 class QLabel; 00013 class QLCDNumber; 00014 class QPalette; 00015 class QPushButton; 00016 class QRadioButton; 00017 class QScrollBar; 00018 class QString; 00019 class QTimer; 00020 class QToolButton; 00021 class QVBoxLayout; 00022 00023 namespace Isis { 00024 class AutoReg; 00025 class Chip; 00026 class ControlMeasure; 00027 class ControlNet; 00028 class Cube; 00029 class Stretch; 00030 class UniversalGroundMap; 00031 } 00032 00033 namespace Isis { 00034 class ChipViewport; 00035 class CubeViewport; 00036 class Tool; 00037 00038 00110 class ControlPointEdit : public QWidget { 00111 Q_OBJECT 00112 00113 public: 00114 ControlPointEdit(ControlNet * cnetQ, QWidget *parent = 0, 00115 bool allowLeftMouse = false); 00116 ~ControlPointEdit(); 00117 std::string templateFilename() { 00118 return p_templateFilename; 00119 }; 00120 bool setTemplateFile(QString); 00121 void allowLeftMouse(bool allowMouse); 00122 00123 signals: 00124 void updateLeftView(double sample, double line); 00125 void updateRightView(double sample, double line); 00126 void measureSaved(); 00127 void newControlNetwork(ControlNet *); 00128 void stretchChipViewport(Stretch *, CubeViewport *); 00129 00130 public slots: 00131 void setLeftMeasure(ControlMeasure *leftMeasure, 00132 Cube *leftCube, std::string pointId); 00133 void setRightMeasure(ControlMeasure *rightMeasure, 00134 Cube *rightCube, std::string pointId); 00135 void colorizeSaveButton(); 00136 void refreshChips(); 00137 void saveChips(); 00138 00139 protected slots: 00140 00141 private slots: 00142 00143 void setNoGeom(); 00144 void setGeom(); 00145 void setRotate(); 00146 void setCircle(bool); 00147 00148 void findPoint(); 00149 void registerPoint(); 00150 void saveMeasure(); 00151 void updateLeftPositionLabel(double zoomFactor); 00152 void updateRightGeom(); 00153 void updateRightPositionLabel(double zoomFactor); 00154 00155 void blinkStart(); 00156 void blinkStop(); 00157 void changeBlinkTime(double interval); 00158 void updateBlink(); 00159 00160 private: 00161 void createPointEditor(QWidget *parent); 00162 00163 bool p_allowLeftMouse; 00164 00165 std::string p_templateFilename; 00166 QLabel *p_leftZoomFactor; 00167 QLabel *p_rightZoomFactor; 00168 QLabel *p_leftSampLinePosition; 00169 QLabel *p_rightSampLinePosition; 00170 QLabel *p_leftLatLonPosition; 00171 QLabel *p_rightLatLonPosition; 00172 QRadioButton *p_nogeom; 00173 QRadioButton *p_geom; 00174 QToolButton *p_rightZoomIn; 00175 QToolButton *p_rightZoomOut; 00176 QToolButton *p_rightZoom1; 00177 00178 00179 bool p_timerOn; 00180 QTimer *p_timer; 00181 std::vector<ChipViewport *> p_blinkList; 00182 unsigned char p_blinkIndex; 00183 00184 QDial *p_dial; 00185 QLCDNumber *p_dialNumber; 00186 QDoubleSpinBox *p_blinkTimeBox; 00187 00188 bool p_circle; 00189 QScrollBar *p_slider; 00190 00191 QPushButton *p_autoReg; 00192 QWidget *p_autoRegExtension; 00193 QLabel *p_oldPosition; 00194 QLabel *p_goodFit; 00195 bool p_autoRegShown; 00196 bool p_autoRegAttempted; 00197 00198 QPushButton *p_saveMeasure; 00199 QPalette p_saveDefaultPalette; 00200 00201 ChipViewport *p_leftView; 00202 ChipViewport *p_rightView; 00203 00204 Cube *p_leftCube; 00205 Cube *p_rightCube; 00206 ControlMeasure *p_leftMeasure; 00207 ControlMeasure *p_rightMeasure; 00208 Chip *p_leftChip; 00209 Chip *p_rightChip; 00210 UniversalGroundMap *p_leftGroundMap; 00211 UniversalGroundMap *p_rightGroundMap; 00212 00213 AutoReg *p_autoRegFact; 00214 std::string p_pointId; 00215 00216 int p_rotation; 00217 bool p_geomIt; 00218 }; 00219 }; 00220 00221 #endif