Isis 3.0 Programmer Reference
Back | Home
ControlMeasureEditWidget.h
1 #ifndef ControlMeasureEditWidget_h
2 #define ControlMeasureEditWidget_h
3 
4 // This is the only include allowed in this file!
5 #include <QWidget>
6 
7 
8 class QCheckBox;
9 class QDial;
10 class QDoubleSpinBox;
11 class QHBoxLayout;
12 class QLabel;
13 class QLCDNumber;
14 class QListWidget;
15 class QPalette;
16 class QPushButton;
17 class QRadioButton;
18 class QScrollBar;
19 class QString;
20 class QTimer;
21 class QToolButton;
22 class QVBoxLayout;
23 
24 namespace Isis {
25  class AutoReg;
26  class Chip;
27  class ChipViewport;
28  class ControlMeasure;
29  class ControlNet;
30  class ControlPoint;
31  class Cube;
32  class CubeViewport;
33  class SerialNumberList;
34  class Stretch;
35  class Tool;
36  class UniversalGroundMap;
37 
146  Q_OBJECT
147 
148  public:
149  ControlMeasureEditWidget(QWidget *parent = 0, bool allowLeftMouse = false,
150  bool useGeometry = true);
157  QString templateFileName() {
158  return m_templateFileName;
159  };
160  bool setTemplateFile(QString);
161  void allowLeftMouse(bool allowMouse);
162 
163  signals:
164  void updateLeftView(double sample, double line);
165  void updateRightView(double sample, double line);
166  void measureSaved();
167  void newControlNetwork(ControlNet *);
168  void stretchChipViewport(Stretch *, CubeViewport *);
169 
170  public slots:
171  void setPoint(ControlPoint *editPoint, SerialNumberList *snList);
172  void setLeftMeasure(ControlMeasure *leftMeasure,
173  Cube *leftCube, QString pointId);
174  void setRightMeasure(ControlMeasure *rightMeasure,
175  Cube *rightCube, QString pointId);
176  void colorizeSaveButton();
177  void refreshChips();
178  void saveChips();
179 
180  protected slots:
181 
182  private slots:
183 
184  void setNoGeom();
185  void setGeom();
186  void setRotate();
187  void setCircle(bool);
188  void setZoomLink(bool);
189 
190  void findPoint();
191  void registerPoint();
192  void saveMeasure();
193  void updateLeftPositionLabel(double zoomFactor);
194  void updateRightGeom();
195  void updateRightPositionLabel(double zoomFactor);
196 
197  void blinkStart();
198  void blinkStop();
199  void changeBlinkTime(double interval);
200  void updateBlink();
201 
202  void showBlinkExtension();
203  void blinkStartRight();
204  void blinkStopRight();
205  void changeBlinkTimeRight(double interval);
206  void updateBlinkRight();
207 
208 
209  private:
210  void createMeasureEditor(QWidget *parent);
211 
214 
222  QRadioButton *m_nogeom;
223  QRadioButton *m_geom;
224  QToolButton *m_rightZoomIn;
225  QToolButton *m_rightZoomOut;
226  QToolButton *m_rightZoom1;
227 
228  bool m_timerOn;
229  QTimer *m_timer;
231  unsigned char m_blinkIndex;
232 
233  QDial *m_dial;
234  QLCDNumber *m_dialNumber;
235  QDoubleSpinBox *m_blinkTimeBox;
236 
237  bool m_circle;
238  QScrollBar *m_slider;
239 
240  QPushButton *m_autoReg;
242  QLabel *m_oldPosition;
243  QLabel *m_goodFit;
246 
247  QPushButton *m_saveMeasure;
249 
252 
261 
263  QString m_pointId;
264 
266  bool m_geomIt;
267  bool m_linkZoom;
268 
269 
270 
271  ControlPoint *m_editPoint;
272  SerialNumberList *m_serialNumberList;
273  QWidget *m_blinkExtension;
274  QListWidget *m_blinkListWidget;
275 
276 
277  QDoubleSpinBox *m_blinkTimeBoxRight;
278  bool m_timerOnRight;
279  QTimer *m_timerRight;
280  QList<ChipViewport *> m_blinkChipViewportListRight;
281  unsigned char m_blinkIndexRight;
282 
283  };
284 };
285 
286 #endif
void blinkStartRight()
Slot to start blink function.
Universal Ground Map.
void setCircle(bool)
Turn circle widgets on/off.
void updateBlinkRight()
Slot to cause the blink to happen coinciding with the timer.
QLabel * m_rightSampLinePosition
Label for right chip viewport&#39;s current sample/line.
void blinkStart()
Slot to start blink function.
A small chip of data used for pattern matching.
Definition: Chip.h:101
void updateRightPositionLabel(double zoomFactor)
Update sample/line, lat/lon and zoom factor of right measure.
QTimer * m_timer
Timer on the blinking.
QLabel * m_leftZoomFactor
Label for left chip viewport&#39;s zoom factor.
QPushButton * m_autoReg
Button to auto-register the measure.
bool m_linkZoom
Link zoom factors between chip viewports.
ChipViewport * m_leftView
Left ChipViewport.
Widget to display Isis cubes for qt apps.
Definition: CubeViewport.h:121
ControlMeasureEditWidget(QWidget *parent=0, bool allowLeftMouse=false, bool useGeometry=true)
Constructs a ControlMeasureEditWidget widget.
void setNoGeom()
Slot to turn off geom.
QLabel * m_rightZoomFactor
Label for right chip viewport&#39;s zoom factor.
void changeBlinkTime(double interval)
Set blink rate.
void colorizeSaveButton()
Turn &quot;Save Measure&quot; button text to red.
bool m_circle
Whether or not to draw circle in center of the right chip viewport.
bool m_useGeometry
Whether or not to allow geometry/rotation on right chip viewport.
QLCDNumber * m_dialNumber
The current amount of rotation (in degrees)
void saveChips()
Slot to save registration chips to files and fire off qview.
void updateBlink()
Slot to cause the blink to happen coinciding with the timer.
void updateLeftPositionLabel(double zoomFactor)
Update sample/line, lat/lon and zoom factor of left measure.
UniversalGroundMap * m_leftGroundMap
UniversalGroundMap for left cube.
void saveMeasure()
Save control measure under the crosshair in right ChipViewport.
void setRotate()
Slot to update the right ChipViewport for zoom operations.
void findPoint()
Find point from left ChipViewport in the right ChipViewport.
a control network
Definition: ControlNet.h:207
bool m_geomIt
Apply geometry to the right chip viewport.
void blinkStop()
Slot to stop blink function.
Pixel value mapper.
Definition: Stretch.h:72
void changeBlinkTimeRight(double interval)
Set blink rate.
QScrollBar * m_slider
Slider that controls the size of the center circle.
QString templateFileName()
Returns the template filename used for auto-registration.
AutoReg * m_autoRegFact
Created AutoReg.
bool m_allowLeftMouse
Whether or not to allow mouse events on left chip viewport.
A single control point.
Definition: ControlPoint.h:339
QLabel * m_rightLatLonPosition
Label for right chip viewport&#39;s current lat/lon.
QRadioButton * m_geom
Radio button to apply geometry/rotation to right chip viewport.
bool m_autoRegAttempted
Whether or not auto-registration has been attempted.
void setLeftMeasure(ControlMeasure *leftMeasure, Cube *leftCube, QString pointId)
Set the measure displayed in the left ChipViewport.
QRadioButton * m_nogeom
Radio button to remove geometry/rotation for right chip viewport.
ControlMeasure * m_rightMeasure
Right ControlMeasure.
void setRightMeasure(ControlMeasure *rightMeasure, Cube *rightCube, QString pointId)
Set the measure displayed in the right ChipViewport.
QString m_templateFileName
Registration template filename.
QLabel * m_goodFit
The goodness of fit value after registering.
QToolButton * m_rightZoomOut
Button for zooming out right chip viewport.
void createMeasureEditor(QWidget *parent)
Design the MeasureEdit widget.
Auto Registration class.
Definition: AutoReg.h:177
int m_rotation
Amount to rotate right chip viewport TODO Is this used??
QToolButton * m_rightZoomIn
Button for zooming in right chip viewport.
Viewport for Isis Chips.
Definition: ChipViewport.h:85
void registerPoint()
Sub-pixel register point in right chipViewport with point in left.
Cube * m_leftCube
Left chip viewport&#39;s Cube.
QDoubleSpinBox * m_blinkTimeBox
The current blink step (in seconds)
ChipViewport * m_rightView
Right ChipViewport.
ControlMeasure * m_leftMeasure
Left ControlMeasure.
QLabel * m_oldPosition
The old sample and line before registering.
QPalette m_saveDefaultPalette
Default color palette for the Save button.
QList< ChipViewport * > m_blinkList
List of chip viewports to blink.
void updateRightGeom()
Slot to update the geomed right ChipViewport for zoom operations.
a control measurement
bool m_timerOn
Indicates if the blink timer is on.
QString m_pointId
Associated control point id of the right measure.
QPushButton * m_saveMeasure
Button to save the current measure.
bool m_autoRegShown
Whether or not the auto-reg extension is shown.
QLabel * m_leftLatLonPosition
Label for left chip viewport&#39;s current lat/lon.
Cube * m_rightCube
Right chip viewport&#39;s Cube.
QToolButton * m_rightZoom1
Button for 1:1 zoom on right chip viewport.
QLabel * m_leftSampLinePosition
Label for left chip viewport&#39;s current sample/line.
Serial Number list generator.
QWidget * m_autoRegExtension
Widget that shows after registering a measure.
void allowLeftMouse(bool allowMouse)
Set the option that allows mouse movements in the left ChipViewport.
unsigned char m_blinkIndex
Index of the chip to load in the left chip viewport.
UniversalGroundMap * m_rightGroundMap
UniversalGroundMap for right cube.
bool setTemplateFile(QString)
Allows user to choose a new template file by opening a window from which to select a filename...
void setZoomLink(bool)
Turn linking of zoom on or off.
void blinkStopRight()
Slot to stop blink function.
IO Handler for Isis Cubes.
Definition: Cube.h:158

U.S. Department of the Interior | U.S. Geological Survey
ISIS | Privacy & Disclaimers | Astrogeology Research Program
To contact us, please post comments and questions on the ISIS Support Center
File Modified: 07/12/2023 23:16:23