Isis 3 Programmer Reference
GuiBooleanParameter.cpp
1 #include <QHBoxLayout>
2 #include <QWidget>
3 #include "UserInterface.h"
4 
5 #include "GuiBooleanParameter.h"
6 
7 
8 namespace Isis {
9 
10  GuiBooleanParameter::GuiBooleanParameter(QGridLayout *grid, UserInterface &ui,
11  int group, int param) :
12  GuiParameter(grid, ui, group, param) {
13 
14  p_checkBox = new QCheckBox((QString)ui.ParamBrief(group, param));
15 
16  grid->addWidget(p_checkBox, param, 2);
17 
18  RememberWidget(p_checkBox);
19  connect(p_checkBox, SIGNAL(toggled(bool)), this, SIGNAL(ValueChanged()));
20 
21  if(p_ui->HelpersSize(group, param) != 0) {
22  grid->addWidget(AddHelpers(p_checkBox), param, 3);
23  }
24 
25  p_type = BooleanWidget;
26  }
27 
28 
29  GuiBooleanParameter::~GuiBooleanParameter() {}
30 
31 
32  void GuiBooleanParameter::Set(QString newValue) {
33  p_checkBox->setChecked(p_ui->StringToBool(newValue));
34  emit ValueChanged();
35  }
36 
37 
38  QString GuiBooleanParameter::Value() {
39  return p_checkBox->isChecked() ? "YES" : "NO";
40  }
41 
42  std::vector<QString> GuiBooleanParameter::Exclusions() {
43  std::vector<QString> list;
44 
45  // Exclude exclusions or inclusions
46  if(Value() == "YES") {
47  for(int i = 0; i < p_ui->ParamExcludeSize(p_group, p_param); i++) {
48  QString s = p_ui->ParamExclude(p_group, p_param, i);
49  list.push_back(s);
50  }
51  }
52  else {
53  for(int i = 0; i < p_ui->ParamIncludeSize(p_group, p_param); i++) {
54  QString s = p_ui->ParamInclude(p_group, p_param, i);
55  list.push_back(s);
56  }
57  }
58 
59  return list;
60  }
61 
64  if(!IsEnabled()) return false;
65  QString value;
66  if(p_ui->ParamDefault(p_group, p_param).size() > 0) {
67  value = p_ui->ParamDefault(p_group, p_param).toUpper();
68  }
69  else {
70  value = "NO";
71  }
72 
73  if(value == "0") value = "NO";
74  if(value == "FALSE") value = "NO";
75  if(value == "N") value = "NO";
76  if(value == "OFF") value = "NO";
77  if(value == "1") value = "YES";
78  if(value == "TRUE") value = "YES";
79  if(value == "Y") value = "YES";
80  if(value == "ON") value = "YES";
81 
82  if(Value() == value) return false;
83  return true;
84  }
85 }
86 
bool StringToBool(QString value) const
Returns a boolean value based on the QString contents.
Definition: IsisAml.cpp:2883
bool IsEnabled() const
Is the parameter enabled.
Definition: GuiParameter.h:75
int ParamIncludeSize(const int &group, const int &param) const
Returns the number of parameters included in this parameter&#39;s inclusions.
Definition: IsisAml.cpp:1747
int ParamExcludeSize(const int &group, const int &param) const
Returns the number of parameters excluded in this parameter&#39;s exclusions.
Definition: IsisAml.cpp:1735
Namespace for ISIS/Bullet specific routines.
Definition: Apollo.h:31
QString ParamDefault(const int &group, const int &param) const
Returns the default for a parameter in a specified group.
Definition: IsisAml.cpp:1521
virtual std::vector< QString > Exclusions()
Return list of current exclusions.
QString ParamExclude(const int &group, const int &param, const int &exclude) const
Returns the name of the specified excluded parameter.
Definition: IsisAml.cpp:1478
bool IsModified()
Return if the parameter value is different from the default value.
QString ParamInclude(const int &group, const int &param, const int &include) const
Returns the name of the specified included parameter.
Definition: IsisAml.cpp:1493