Isis Developer Reference
GuiParameter.h
Go to the documentation of this file.
1#ifndef Isis_GuiParameter_h
2#define Isis_GuiParameter_h
3
9/* SPDX-License-Identifier: CC0-1.0 */
10
11#include <QGridLayout>
12#include <QLabel>
13#include <QLineEdit>
14#include <QMenu>
15#include <QObject>
16#include <QString>
17#include <QToolButton>
18
19namespace Isis {
20 class UserInterface;
21
34 class GuiParameter : public QObject {
35
36 Q_OBJECT
37
38 public:
39
40 GuiParameter(QGridLayout *grid, UserInterface &ui, int group, int param);
41 virtual ~GuiParameter();
42
44 QString Name() const {
45 return p_name;
46 };
47
48 void SetToDefault();
49
50 void SetToCurrent();
51
52 virtual QString Value() = 0;
53
54 virtual void Set(QString newValue) = 0;
55
56 void SetEnabled(bool enabled, bool isParentCombo=false);
57
59 bool IsEnabled() const {
60 return p_label->isEnabled();
61 }
62
63 virtual bool IsModified();
64
65 void Update();
66
67 void RememberWidget(QWidget *w);
68
70
71 virtual std::vector<QString> Exclusions();
72
76 };
78 return p_type;
79 };
80
81 protected:
82
83 QToolButton *p_fileButton;
84 QLineEdit *p_lineEdit;
85
88 QString p_name;
90
91 QLabel *p_label;
92
93 QList<QWidget *> p_widgetList;
94
96
97 private:
98 QMenu *p_helperMenu;
99
100 signals:
102 void HelperTrigger(const QString &);
103
104 };
105};
106
107#endif
Definition GuiParameter.h:34
QString p_name
Definition GuiParameter.h:88
void Update()
Update the value on the GUI with the value in the UI.
Definition GuiParameter.cpp:196
bool IsEnabled() const
Is the parameter enabled.
Definition GuiParameter.h:59
virtual bool IsModified()
Return if the parameter value is different from the default value.
Definition GuiParameter.cpp:181
int p_group
Definition GuiParameter.h:86
QToolButton * p_fileButton
Definition GuiParameter.h:83
void RememberWidget(QWidget *w)
Add widgets to a list for enabling/disabling.
Definition GuiParameter.cpp:212
virtual void Set(QString newValue)=0
void SetToDefault()
Change the parameter to the default value.
Definition GuiParameter.cpp:158
virtual std::vector< QString > Exclusions()
Return list of current exclusions.
Definition GuiParameter.cpp:239
ParameterType p_type
Definition GuiParameter.h:95
void SetEnabled(bool enabled, bool isParentCombo=false)
Enable or disable the parameter.
Definition GuiParameter.cpp:217
UserInterface * p_ui
Definition GuiParameter.h:89
GuiParameter(QGridLayout *grid, UserInterface &ui, int group, int param)
Constructor.
Definition GuiParameter.cpp:26
void SetToCurrent()
Change the parameter to the current user interface value.
Definition GuiParameter.cpp:171
QList< QWidget * > p_widgetList
Definition GuiParameter.h:93
QLabel * p_label
Definition GuiParameter.h:91
QString Name() const
Return the name of the parameter.
Definition GuiParameter.h:44
virtual QString Value()=0
ParameterType
Definition GuiParameter.h:73
@ ComboWidget
Definition GuiParameter.h:75
@ ListWidget
Definition GuiParameter.h:74
@ DoubleWidget
Definition GuiParameter.h:73
@ CubeWidget
Definition GuiParameter.h:74
@ IntegerWidget
Definition GuiParameter.h:73
@ BooleanWidget
Definition GuiParameter.h:75
@ StringWidget
Definition GuiParameter.h:73
@ FileNameWidget
Definition GuiParameter.h:74
int p_param
Definition GuiParameter.h:87
void HelperTrigger(const QString &)
QWidget * AddHelpers(QObject *lo)
Sets up helper button.
Definition GuiParameter.cpp:245
ParameterType Type()
Definition GuiParameter.h:77
QLineEdit * p_lineEdit
Definition GuiParameter.h:84
virtual ~GuiParameter()
Destructor.
Definition GuiParameter.cpp:148
Command Line and Xml loader, validation, and access.
Definition UserInterface.h:139
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16