Isis Developer Reference
MatrixOptionsDialog.h
Go to the documentation of this file.
1 #ifndef MatrixOptionsDialog_h
2 #define MatrixOptionsDialog_h
3 
4 #include <QDialog>
5 #include <QPointer>
6 
7 #include "MatrixOptions.h"
8 
9 class QCheckBox;
10 class QComboBox;
11 class QLabel;
12 class QLineEdit;
13 class QSlider;
14 class QRadioButton;
15 
16 namespace Isis {
17 
38  class MatrixOptionsDialog : public QDialog {
39  Q_OBJECT
40  public:
41  MatrixOptionsDialog(MatrixOptions *options, QWidget *parent);
43 
44  signals:
46 
47  public slots:
48  void applyOptions();
49  void readOptions();
50  void updateCorrelationData(QString currentData);
51  void populateParameterComboBox(int index);
52 
53  private slots:
54  void refreshWidgetStates();
55  void askUserForGoodColor();
56  void askUserForBadColor();
57  void updateToleranceSlider(const QString &value);
58  void updateToleranceLineEdit(int value);
59  void updateSpecParam1ComboBox(const QString & key);
60  void updateSpecParam2ComboBox(const QString & key);
61 
62  private:
63  Q_DISABLE_COPY(MatrixOptionsDialog);
64  void askUserForColor(QPushButton *button);
65 
66  // functions to enable and disable groups
67  void setColorToleranceStatus(bool enable);
68  void setFocusToleranceStatus(bool enable);
69  void setSpecificParametersStatus(bool enable);
70  void updateSpecificParameterComboBox(const QString & key, QComboBox *comboBox);
71 
72  // update widgets as radiobuttons are chagned
73 
74  // Need parent object
75 
77  MatrixOptions *m_options;
78 
79  // ------------------ Color widgets------------------------------------
80 
85  QPointer<QRadioButton> m_gradientRadioButton;
86  QPointer<QRadioButton> m_colorToleranceRadioButton;
87  QPointer<QSlider> m_colorToleranceSlider;
89  QPointer<QPushButton> m_badCorrelationColorButton;
91  QPointer<QPushButton> m_goodCorrelationColorButton;
92  QPointer<QLineEdit> m_colorToleranceLineEdit;
93 
94  // ------------------ Focus Widgets ------------------------------------
95 
97  QPointer<QRadioButton> m_bestCorrelationRadioButton;
98 
100  QPointer<QRadioButton> m_worstCorrelationRadioButton;
101 
103  QPointer<QRadioButton> m_specificCorrelationRadioButton;
104  QPointer<QComboBox> m_image1ComboBox;
105  QPointer<QComboBox> m_parameter1ComboBox;
106  QPointer<QComboBox> m_image2ComboBox;
107  QPointer<QComboBox> m_parameter2ComboBox;
108 
110  QPointer<QRadioButton> m_focusToleranceRadioButton;
111  QPointer<QLineEdit> m_focusToleranceLineEdit;
112  QPointer<QComboBox> m_goodElementsComboBox;
113  QPointer<QComboBox> m_badElementsComboBox;
114  QPointer<QWidget> m_verticalLayoutWidget;
115 
116  // ------------------ Current Element Widgets------------------------------------
117  QPointer<QLabel> m_currentValueLabel;
118  QPointer<QLabel> m_image1NameLabel;
119  QPointer<QLabel> m_parameter1NameLabel;
120  QPointer<QLabel> m_image2NameLabel;
121  QPointer<QLabel> m_parameter2NameLabel;
122  };
123 };
124 
125 #endif
Isis::MatrixOptions::Tolerance
@ Tolerance
Definition: MatrixOptions.h:36
QWidget
Isis::MatrixOptions::colorScheme
bool colorScheme()
Use the green-red gradient if false.
Definition: MatrixOptions.cpp:116
Isis::MatrixOptions::focusOption
FocusOption focusOption()
Definition: MatrixOptions.cpp:166
Isis::MatrixOptionsDialog::applyOptions
void applyOptions()
Send changes back to scene widget (MatrixOptions) so it can redraw the elements in the right color.
Definition: MatrixOptionsDialog.cpp:398
Isis::MatrixOptions::Best
@ Best
Definition: MatrixOptions.h:33
Isis::MatrixOptions::goodCorrelationColor
QColor goodCorrelationColor()
The color selected for the correlation values that are below the given threshold.
Definition: MatrixOptions.cpp:82
Isis::MatrixOptions::colorTolerance
double colorTolerance()
Threshold for what is considered a bad correlation.
Definition: MatrixOptions.cpp:104
Isis::MatrixOptionsDialog::populateParameterComboBox
void populateParameterComboBox(int index)
Update parameter combo boxes at real time, when the img combo boxes are changed.
Definition: MatrixOptionsDialog.cpp:521
Isis::MatrixOptions
This class holds the matrix color and focus information.
Definition: MatrixOptions.h:28
IString.h
QComboBox
MatrixOptionsDialog.h
Isis::MatrixOptions::setBadCorrelationColor
void setBadCorrelationColor(QColor color)
Definition: MatrixOptions.cpp:156
Isis::MatrixOptionsDialog::updateCorrelationData
void updateCorrelationData(QString currentData)
Update the current correlation information.
Definition: MatrixOptionsDialog.cpp:503
Isis::MatrixOptionsDialog::optionsUpdated
void optionsUpdated()
Isis::MatrixOptions::setColorTolerance
void setColorTolerance(double tolerance)
Definition: MatrixOptions.cpp:136
Isis::MatrixOptions::setColorScheme
void setColorScheme(bool tolerance)
Definition: MatrixOptions.cpp:126
Isis::MatrixOptions::focusValue
double focusValue()
The value of the spot on the matrix that we need to focus on.
Definition: MatrixOptions.cpp:178
Isis::MatrixOptionsDialog
This widget allows the user to modify the matrix display.
Definition: MatrixOptionsDialog.h:38
Isis::MatrixOptionsDialog::~MatrixOptionsDialog
~MatrixOptionsDialog()
Default Destructor.
Definition: MatrixOptionsDialog.cpp:383
Isis::MatrixOptions::Specific
@ Specific
Definition: MatrixOptions.h:35
Isis::MatrixOptions::setGoodCorrelationColor
void setGoodCorrelationColor(QColor color)
Definition: MatrixOptions.cpp:146
Isis::MatrixOptions::matrixImgsAndParams
QMap< QString, QStringList > matrixImgsAndParams()
This slot will be called when a matrix element is clicked on.
Definition: MatrixOptions.cpp:383
Isis::MatrixOptions::badCorrelationColor
QColor badCorrelationColor()
The color selected for the correlation values that are above the given threshold.
Definition: MatrixOptions.cpp:93
QDialog
MatrixOptions.h
Isis::MatrixOptionsDialog::readOptions
void readOptions()
Get the current options from the matrix scene widget.
Definition: MatrixOptionsDialog.cpp:445
Isis
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16
Isis::MatrixOptionsDialog::MatrixOptionsDialog
MatrixOptionsDialog(MatrixOptions *options, QWidget *parent)
Main constructor.
Definition: MatrixOptionsDialog.cpp:66
Isis::MatrixOptions::Worst
@ Worst
Definition: MatrixOptions.h:34