Isis 3 Programmer Reference
JigsawSetupDialog.h
1 #ifndef JigsawSetupDialog_h
2 #define JigsawSetupDialog_h
3 
4 #include <QDialog>
5 
6 #include "BundleSettings.h"
7 
8 namespace Ui {
9  class JigsawSetupDialog;
10 }
11 
12 class QComboBox;
13 class QItemSelection;
14 class QTableWidget;
15 class QTableWidgetItem;
16 
17 namespace Isis {
19  class Project;
20  class ProjectItem;
21  class Control;
22 
97  class JigsawSetupDialog : public QDialog {
98  Q_OBJECT
99 
100  public:
101 // explicit JigsawSetupDialog(Project* project, QWidget *parent = 0);
102  explicit JigsawSetupDialog(Project* project,
103  bool useLastSettings = true,
104  bool readOnly = false,
105  QWidget *parent = 0);
107 
108  Control *selectedControl(); // TODO: return const references ???
109  QString selectedControlName(); // TODO: return const references ???
110  QString outputControlName(); // TODO: return const references ???
111  BundleSettingsQsp bundleSettings(); // TODO: return const references ???
112 
113  void loadSettings(const BundleSettingsQsp settings);
114  void selectControl(const QString &controlName);
115 
116  private slots:
117 
118  void on_pointRadiusSigmaCheckBox_toggled(bool checked);
119  //void on_projectItemSelectionChanged(const QList<ProjectItem *> selectedItems);
120  //void on_outlierRejectionCheckBox_toggled(bool checked);
121 
122  // general tab
123  // void on_positionComboBox_currentIndexChanged(int index);
124  // void on_pointingComboBox_currentIndexChanged(int index);
125  void on_inputControlNetCombo_currentTextChanged(const QString &arg1);
126 
127  // general tab - line edit validators
128  void on_pointLatitudeSigmaLineEdit_textChanged(const QString &arg1);
129  void on_pointLongitudeSigmaLineEdit_textChanged(const QString &arg1);
130  void on_pointRadiusSigmaLineEdit_textChanged(const QString &arg1);
131 
132  void on_outlierRejectionMultiplierLineEdit_textChanged(const QString &arg1);
133  void on_maximumLikelihoodModel1QuantileLineEdit_textChanged(const QString &arg1);
134  void on_maximumLikelihoodModel2QuantileLineEdit_textChanged(const QString &arg1);
135  void on_maximumLikelihoodModel3QuantileLineEdit_textChanged(const QString &arg1);
136 
137  void on_sigma0ThresholdLineEdit_textChanged(const QString &arg1);
138  void on_maximumIterationsLineEdit_textChanged(const QString &arg1);
139 
140  // general tab - outlier rejection exclusivity lock/unlocks
141  void on_maximumLikelihoodModel1ComboBox_currentIndexChanged(int index);
142  void on_maximumLikelihoodModel2ComboBox_currentIndexChanged(int index);
143  void on_maximumLikelihoodModel3ComboBox_currentIndexChanged(int index);
144  void on_outlierRejectionCheckBox_stateChanged(int arg1);
145 
146  // target body tab
147  void on_poleRaCheckBox_stateChanged(int arg1);
148  void on_poleRaVelocityCheckBox_stateChanged(int arg1);
149  void on_poleDecCheckBox_stateChanged(int arg1);
150  void on_poleDecVelocityCheckBox_stateChanged(int arg1);
151  void on_spinRateCheckBox_stateChanged(int arg1);
152  void on_primeMeridianOffsetCheckBox_stateChanged(int arg1);
153  void on_radiiButtonGroupClicked(int arg1);
154  void on_aRadiusLineEdit_textChanged(const QString &arg1);
155  void on_targetBodyComboBox_currentIndexChanged(int index);
158  void on_rightAscensionLineEdit_textChanged(const QString &arg1);
159  void on_declinationLineEdit_textChanged(const QString &arg1);
160  void on_rightAscensionVelocityLineEdit_textChanged(const QString &arg1);
161  void on_declinationVelocityLineEdit_textChanged(const QString &arg1);
162  void on_spinRateLineEdit_textChanged(const QString &arg1);
163  void on_primeMeridianOffsetLineEdit_textChanged(const QString &arg1);
164 
166 
167  void on_positionComboBox_currentIndexChanged(const QString &arg1);
168  void on_pointingComboBox_currentIndexChanged(const QString &arg1);
169 
170  void updateSolveSettingsSigmaTables(const QComboBox *solveOptionComboBox,
171  QTableWidget *table);
172  void validateSigmaValue(QTableWidgetItem *);
173  void validateSigmaTables();
174 
175 
176  public slots:
177  void slotTextChanged(const QString &text);
178  void checkIsValid();
179  void treeViewSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected);
180 
181 
182 
183  private:
184  void makeReadOnly();
185  void fillFromSettings(const BundleSettingsQsp settings);
186  void showTargetParametersGroupBox();
187  void hideTargetParametersGroupBox();
189 
190  void createObservationSolveSettingsTreeView();
191 
192  private:
193  Ui::JigsawSetupDialog *m_ui;
194  Project *m_project;
196  };
197 };
198 #endif // JigsawSetupDialog_h
This represents an ISIS control net in a project-based GUI interface.
Definition: Control.h:79
void updateBundleObservationSolveSettings(BundleObservationSolveSettings &boss)
updateBundleObservationSolveSettings: This function sets the parameters of a BundleObservationSolveSe...
The main project for ipce.
Definition: Project.h:289
void loadSettings(const BundleSettingsQsp settings)
Loads the passed bundle settings into the setup dialog.
void selectControl(const QString &controlName)
Selects a control in the control network combo box by trying to find an item with the matching name...
void on_pointingComboBox_currentIndexChanged(const QString &arg1)
Slot that listens for when the Instrument Pointing Solve Option combobox changes. ...
void on_spkSolveDegreeSpinBox_valueChanged(int arg1)
Slot that listens for changes to the SPK Solve Degree spin box.
Unless noted otherwise, the portions of Isis written by the USGS are public domain.
void on_positionComboBox_currentIndexChanged(const QString &arg1)
Slot that listens for when the Instrument Position Solve Option combobox changes. ...
void validateSigmaValue(QTableWidgetItem *)
Validates the a priori sigma values for a given QTableWidgetItem.
void on_ckSolveDegreeSpinBox_valueChanged(int arg1)
Slot that listens for changes to the CK Solve Degree spin box.
void on_applySettingsPushButton_clicked()
Slot for handling the Observation Solve Settings tab&#39;s Apply button.
void updateSolveSettingsSigmaTables(const QComboBox *solveOptionComboBox, QTableWidget *table)
Slot that updates the sigma tables based on the current solve option selection.
void validateSigmaTables()
Validates the tables in the observation solve settings tab and enables/disables the OK button appropr...
This class is used to modify and manage solve settings for 1 to many BundleObservations.
Represents an item of a ProjectItemModel in Qt&#39;s model-view framework.
Definition: ProjectItem.h:146
Namespace for ISIS/Bullet specific routines.
Definition: Apollo.h:31
BundleSettingsQsp m_bundleSettings
The BundleSettings Object created by this dialog.