Isis 3.0
Back | Home
ControlPointEditWidget.h
Go to the documentation of this file.
1 #ifndef ControlPointEditWidget_h
2 #define ControlPointEditWidget_h
3 
4 
5 #include "ControlPoint.h"
6 
7 #include <QCloseEvent>
8 #include <QHideEvent>
9 #include <QPalette>
10 #include <QPointer>
11 #include <QStatusBar>
12 #include <QString>
13 #include <QStringList>
14 #include <QWidget>
15 
16 class QAction;
17 class QBoxLayout;
18 class QCheckBox;
19 class QComboBox;
20 class QGroupBox;
21 class QLabel;
22 class QMainWindow;
23 class QObject;
24 class QPainter;
25 class QPoint;
26 class QPushButton;
27 class QSplitter;
28 class QStackedWidget;
29 class QStandardItemModel;
30 class QString;
31 class QTableWidget;
32 class QTextEdit;
33 class QWidget;
34 
35 namespace Isis {
36  class Control;
37  class ControlMeasureEditWidget;
38  class ControlMeasure;
39  class ControlNet;
40  class Cube;
41  class CubeViewport;
42  class Directory;
43  class MdiCubeViewport;
44  class SerialNumberList;
45  class Stretch;
46  class ToolPad;
47  class UniversalGroundMap;
48 
62  Q_OBJECT
63 
64  public:
65  ControlPointEditWidget(Directory *directory, QWidget *parent, bool addMeasures = false);
66  virtual ~ControlPointEditWidget();
67 
86  };
88  static const int NUMCOLUMNS = 16;
89 
90  QString measureColumnToString(MeasureColumns column);
91 
92 
93  signals:
94  void controlPointChanged(QString pointId);
95  void controlPointAdded(QString pointId);
96  void ignorePointChanged();
97  void ignoreLeftChanged();
98  void ignoreRightChanged();
99  void netChanged();
102  void measureChanged();
103  void saveControlNet();
104 
105  public slots:
107  void setControl(Control *control);
108  void setEditPoint(ControlPoint *controlPoint);
109  void deletePoint(ControlPoint *controlPoint);
110 
111  void createControlPoint(double latitude, double longitude, Cube *cube = 0,
112  bool isGroundSource = false);
113 
114  void updatePointInfo(ControlPoint &updatedPoint);
115 // void refresh();
116 
117  protected:
118  bool eventFilter(QObject *o,QEvent *e);
119 
120  private slots:
121 // void enterWhatsThisMode();
122  void saveNet();
123 // void saveAsNet();
124 // void addMeasure();
125 // void setPointType (int pointType);
126  void setLockPoint (bool ignore);
127  void setIgnorePoint (bool ignore);
128  void setLockLeftMeasure (bool ignore);
129  void setIgnoreLeftMeasure (bool ignore);
130  void setLockRightMeasure (bool ignore);
131  void setIgnoreRightMeasure (bool ignore);
132 
133  void selectLeftMeasure (int index);
134  void selectRightMeasure (int index);
135  void nextRightMeasure();
136  void previousRightMeasure();
137  void updateLeftMeasureInfo ();
138  void updateRightMeasureInfo ();
139 
140  void measureSaved();
141  void checkReference();
142  void savePoint();
143  void colorizeSavePointButton();
144 
145  void openTemplateFile();
146  void viewTemplateFile();
147  void saveChips();
148  void showHideTemplateEditor();
149  void saveTemplateFile();
150  void saveTemplateFileAs();
151  void setTemplateModified();
152  void writeTemplateFile(QString);
153  void clearEditPoint();
154 
155  void colorizeSaveNetButton();
156 
157  private:
158  void createActions();
159 
160  void loadPoint();
161  void loadMeasureTable();
162  void createPointEditor(QWidget *parent, bool addMeasures);
163  QSplitter * createTopSplitter();
164  QGroupBox * createControlPointGroupBox();
165  QGroupBox * createLeftMeasureGroupBox();
166  QGroupBox * createRightMeasureGroupBox();
167  void createTemplateEditorWidget();
168  void loadTemplateFile(QString);
169  bool okToContinue();
170  bool IsMeasureLocked(QString serialNumber);
171  bool validateMeasureChange(ControlMeasure *m);
172 
173  ControlMeasure *createTemporaryGroundMeasure();
174 
175 
176  private:
177 
178  QPointer<QWidget> m_parent;
179  Directory *m_directory;
180  bool m_addMeasuresButton;
181 
182  QString m_cnetFileName;
183  QPointer<QLabel> m_cnetFileNameLabel;
184  bool m_netChanged;
185 
186  QPointer<QAction> m_closePointEditor;
187 
188  QPointer<QAction> m_saveChips;
189  QPointer<QAction> m_showHideTemplateEditor;
191  QPointer<QAction> m_openTemplateFile;
192  QPointer<QAction> m_saveTemplateFile;
193  QPointer<QAction> m_saveTemplateFileAs;
194 
195 
197  QPointer<ControlMeasureEditWidget> m_measureEditor;
198 
199  QPointer<QPushButton> m_savePoint;
200  QPalette m_saveDefaultPalette;
201 
202  QPointer<QPushButton> m_saveNet;
203 
204  QPointer<QTextEdit> m_templateEditor;
205  QPointer<QWidget> m_templateEditorWidget;
206  bool m_templateModified;
207 
208  QPointer<QLabel> m_templateFileNameLabel;
209  QPointer<QLabel> m_ptIdValue;
210  QPointer<QComboBox> m_pointType;
211  QPointer<QLabel> m_numMeasures;
212 
213  QPointer<QCheckBox> m_lockPoint;
214  QPointer<QCheckBox> m_ignorePoint;
215  QPointer<QLabel> m_leftReference;
216  QPointer<QLabel> m_leftMeasureType;
217  QPointer<QLabel> m_rightReference;
218  QPointer<QLabel> m_rightMeasureType;
219  QPointer<QCheckBox> m_lockLeftMeasure;
220  QPointer<QCheckBox> m_ignoreLeftMeasure;
221  QPointer<QCheckBox> m_lockRightMeasure;
222  QPointer<QCheckBox> m_ignoreRightMeasure;
223 
224  QPointer<QComboBox> m_leftCombo;
225  QPointer<QComboBox> m_rightCombo;
226  QPointer<QStandardItemModel> m_model;
227 
228  QPointer<QMainWindow> m_measureWindow;
229  QPointer<QTableWidget> m_measureTable;
230 
231  QPointer<ControlPoint> m_editPoint;
232  SerialNumberList *m_serialNumberList;
233  QPointer<ControlNet> m_controlNet;
234 
235  QPointer<ControlPoint> m_newPoint;
236  QString m_lastUsedPointId;
237 
238  QStringList m_pointFiles;
239 
240  QString m_leftFile;
241  QPointer<ControlMeasure> m_leftMeasure;
242  QPointer<ControlMeasure> m_rightMeasure;
243  QScopedPointer<Cube> m_leftCube;
244  QScopedPointer<Cube> m_rightCube;
245 
246  QList<Cube *> m_pointCubes;
247  };
248 };
249 #endif
This represents an ISIS control net in a project-based GUI interface.
Definition: Control.h:57
Definition: ControlPointEditWidget.h:78
static const int NUMCOLUMNS
Number of entries (columns) in the measure table.
Definition: ControlPointEditWidget.h:88
Definition: ControlPointEditWidget.h:73
void setEditPoint(ControlPoint *controlPoint)
Slot called by Directory to set the control point for editing.
Definition: ControlPointEditWidget.cpp:627
void measureChanged()
Definition: moc_ControlPointEditWidget.cpp:460
void saveControlNet()
Definition: moc_ControlPointEditWidget.cpp:466
void updatePointInfo(ControlPoint &updatedPoint)
Update the current editPoint information in the Point Editor labels.
Definition: ControlPointEditWidget.cpp:2432
bool eventFilter(QObject *o, QEvent *e)
Event filter for ControlPointEditWidget.
Definition: ControlPointEditWidget.cpp:2183
void ignorePointChanged()
Definition: moc_ControlPointEditWidget.cpp:422
Definition: ControlPointEditWidget.h:72
virtual ~ControlPointEditWidget()
Definition: ControlPointEditWidget.cpp:88
Widget to display Isis cubes for qt apps.
Definition: CubeViewport.h:121
Gui for editing ControlPoint.
Definition: ControlPointEditWidget.h:61
QString measureColumnToString(MeasureColumns column)
Gets a string representation of a measure column.
Definition: ControlPointEditWidget.cpp:1897
MeasureColumns
Measure column values for the measure table.
Definition: ControlPointEditWidget.h:69
void newControlNetwork(ControlNet *)
Definition: moc_ControlPointEditWidget.cpp:446
void deletePoint(ControlPoint *controlPoint)
Definition: ControlPointEditWidget.cpp:938
void createControlPoint(double latitude, double longitude, Cube *cube=0, bool isGroundSource=false)
Definition: ControlPointEditWidget.cpp:799
a control network
Definition: ControlNet.h:207
void netChanged()
Definition: moc_ControlPointEditWidget.cpp:440
Pixel value mapper.
Definition: Stretch.h:72
Definition: ControlPointEditWidget.h:81
void setControl(Control *control)
New control network being edited.
Definition: ControlPointEditWidget.cpp:530
Definition: ControlPointEditWidget.h:71
A single control point.
Definition: ControlPoint.h:339
void controlPointAdded(QString pointId)
Definition: moc_ControlPointEditWidget.cpp:415
Definition: ControlPointEditWidget.h:84
Definition: ControlPointEditWidget.h:85
Definition: ControlPointEditWidget.h:82
Definition: ControlPointEditWidget.h:75
void setSerialNumberList(SerialNumberList *snList)
Set the serial number list.
Definition: ControlPointEditWidget.cpp:508
void ignoreLeftChanged()
Definition: moc_ControlPointEditWidget.cpp:428
Definition: ControlPointEditWidget.h:79
Definition: ControlPointEditWidget.h:76
ControlPointEditWidget(Directory *directory, QWidget *parent, bool addMeasures=false)
Consructs the ControlPointEditWidget widget.
Definition: ControlPointEditWidget.cpp:68
Definition: ControlPointEditWidget.h:77
Definition: BoxcarCachingAlgorithm.h:29
Definition: ControlPointEditWidget.h:80
a control measurement
Definition: ControlMeasure.h:171
void ignoreRightChanged()
Definition: moc_ControlPointEditWidget.cpp:434
void controlPointChanged(QString pointId)
Definition: moc_ControlPointEditWidget.cpp:408
Definition: ControlPointEditWidget.h:83
Serial Number list generator.
Definition: SerialNumberList.h:78
void stretchChipViewport(Stretch *, CubeViewport *)
Definition: moc_ControlPointEditWidget.cpp:453
Definition: Directory.h:106
Definition: ControlPointEditWidget.h:74
Definition: ControlPointEditWidget.h:70
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:49