24 #include <QFileDialog>    25 #include <QHBoxLayout>    28 #include <QToolButton>    34 #include "GuiHelperAction.h"    43                              int group, 
int param) : 
QObject() {
    49     p_fileButton = 
new QToolButton();
    50     p_lineEdit = 
new QLineEdit();
    52     p_label = 
new QLabel(p_name);
    53     p_label->setAlignment(Qt::AlignRight | Qt::AlignVCenter);
    54     p_label->setToolTip(p_ui->
ParamBrief(group, param));
    55     grid->addWidget(p_label, param, 0, Qt::AlignCenter);
    58     whatsThis  = (QString)(
"<b>Parameter:</b> " + p_ui->
ParamName(group, param));
    59     whatsThis += (QString)(
"<p><b>Type:</b> " + p_ui->
ParamType(group, param) + 
"</p>");
    60     whatsThis += (QString)(
"<p><b>Brief:</b> " + p_ui->
ParamBrief(group, param) + 
"</p>");
    62     if(def == 
"") def = 
"None";
    63     whatsThis += 
"<p><b>Default: </b>" + QString(def) + 
"</p>";
    66       whatsThis += 
"<p><b>Internal Default: </b> " + QString(intdef) + 
"</p>";
    68     QString pixtype = p_ui->
PixelType(group, param);
    70       whatsThis += 
"<p><b>Pixel Type: </b> " + QString(pixtype) + 
"</p>";
    75         whatsThis += 
"<p><b>Greater Than Or Equal To: </b>" +
    76                      QString(pmin) + 
"</p>";
    79         whatsThis += 
"<p><b>Greater Than: </b>" + QString(pmin) + 
"</p>";
    85         whatsThis += 
"<p><b>Less Than Or Equal To: </b>" +
    86                      QString(pmax) + 
"</p>";
    89         whatsThis += 
"<p><b>Less Than: </b>" + QString(pmax) + 
"</p>";
    93       whatsThis += 
"<p><b>Less Than: </b>" +
    96         whatsThis += 
", " + QString(p_ui->
ParamLessThan(group, param, l));
   101       whatsThis += 
"<p><b>Less Than Or Equal: </b>" +
   110       whatsThis += 
"<p><b>Not Equal: </b>" +
   113         whatsThis += 
", " + QString(p_ui->
ParamNotEqual(group, param, l));
   118       whatsThis += 
"<p><b>Greater Than: </b>" +
   127       whatsThis += 
"<p><b>Greater Than Or Equal: </b>" +
   136       whatsThis += 
"<p><b>Inclusions: </b>" +
   145       whatsThis += 
"<p><b>Exclusions: </b>" +
   153     if(p_ui->
ParamOdd(group, param) != 
"") {
   154       whatsThis += 
"<p><b>Odd: </b>" +
   155                    QString(p_ui->
ParamOdd(group, param)) + 
"</p>";
   157     p_label->setWhatsThis(whatsThis);
   170     p_widgetList.clear();
   200       if(Value() == p_ui->
ParamDefault(p_group, p_param)) 
return false;
   206       if(Value() == 
"") 
return false;
   216     else if(p_ui->
ParamDefault(p_group, p_param).size() > 0) {
   229     p_widgetList.push_back(w);
   234     if(p_type != ComboWidget) {
   235       p_label->setEnabled(enabled);
   236       p_label->setVisible(
true);
   237       if(isParentCombo && !enabled) {
   238         p_label->setVisible(
false);
   240       for(
int i = 0; i < p_widgetList.size(); i++) {
   241         p_widgetList[i]->setEnabled(enabled);
   242         p_widgetList[i]->setVisible(
true);
   243         if(isParentCombo && !enabled) {
   244           p_widgetList[i]->setVisible(
false);
   249       p_label->setEnabled(enabled);
   250       p_widgetList[0]->setEnabled(enabled);
   256     std::vector<QString> list;
   266       if(p_ui->
HelperIcon(p_group, p_param, 0) != 
"") {
   268                          p_ui->
HelperIcon(p_group, p_param, 0)).expanded();
   269         action->setIcon(QIcon(QPixmap(file)));
   274       action->setToolTip(p_ui->
HelperBrief(p_group, p_param, 0));
   275       QString helperText = 
"<p><b>Function:</b> " +
   277       action->setWhatsThis(helperText);
   278       connect(action, SIGNAL(trigger(
const QString &)), 
this,
   279               SIGNAL(HelperTrigger(
const QString &)));
   281       QToolButton *helper = 
new QToolButton();
   283       helper->setDefaultAction(action);
   285       if(p_ui->
HelperIcon(p_group, p_param, 0) != 
"") {
   288                          p_ui->
HelperIcon(p_group, p_param, 0)).expanded();
   289         helper->setIconSize(QSize(22, 22));
   290         helper->setIcon(QIcon(QPixmap(file)));
   293         helper->setFixedWidth(helper->fontMetrics().width(
   294                                 " " + helper->text() + 
" "));
   304                          "Can not call GuiParameter::AddHelpers twice",
   308       p_helperMenu = 
new QMenu();
   313       if(p_ui->
HelperIcon(p_group, p_param, 0) != 
"") {
   315                          p_ui->
HelperIcon(p_group, p_param, 0)).expanded();
   316         action->setIcon(QIcon(QPixmap(file)));
   321       connect(action, SIGNAL(trigger(
const QString &)), 
this,
   322               SIGNAL(HelperTrigger(
const QString &)));
   325       QToolButton *helper = 
new QToolButton();
   328       helper->setMenu(p_helperMenu);
   329       helper->setPopupMode(QToolButton::MenuButtonPopup);
   330       helper->setDefaultAction(action);
   331       helper->setToolTip(p_ui->
HelperBrief(p_group, p_param, 0));
   332       QString text = 
"<p><b>Function:</b> " +
   334                      "<p><b>Hint: </b> Click on the arrow to see more helper functions</p>";
   335       helper->setWhatsThis(text);
   337       if(p_ui->
HelperIcon(p_group, p_param, 0) != 
"") {
   340                          p_ui->
HelperIcon(p_group, p_param, 0)).expanded();
   341         helper->setIconSize(QSize(22, 22));
   342         helper->setIcon(QIcon(QPixmap(file)));
   345         helper->setFixedWidth(helper->fontMetrics().width(
   346                                 "  " + helper->text() + 
"  "));
   352       action2->setText(p_ui->
HelperBrief(p_group, p_param, 0));
   353       action2->setToolTip(p_ui->
HelperBrief(p_group, p_param, 0));
   354       QString helperText = 
"<p><b>Function:</b> " +
   356       action2->setWhatsThis(helperText);
   357       connect(action2, SIGNAL(trigger(
const QString &)), 
this,
   358               SIGNAL(HelperTrigger(
const QString &)));
   359       p_helperMenu->addAction(action2);
   363       for(
int i = 1; i < p_ui->
HelpersSize(p_group, p_param); i++) {
   366         helperAction->setText(p_ui->
HelperBrief(p_group, p_param, i));
   367         helperAction->setToolTip(p_ui->
HelperBrief(p_group, p_param, i));
   368         QString helperText = 
"<p><b>Function:</b> " +
   370         helperAction->setWhatsThis(helperText);
   371         connect(helperAction, SIGNAL(trigger(
const QString &)), 
this,
   372                 SIGNAL(HelperTrigger(
const QString &)));
   373         p_helperMenu->addAction(helperAction);
 virtual ~GuiParameter()
Destructor. 
 
int ParamLessThanOrEqualSize(const int &group, const int ¶m) const
Returns the number of values in the parameters less than or equal list. 
 
void SetEnabled(bool enabled, bool isParentCombo=false)
Enable or disable the parameter. 
 
File name manipulation and expansion. 
 
QWidget * AddHelpers(QObject *lo)
Sets up helper button. 
 
int ParamGreaterThanSize(const int &group, const int ¶m) const
Returns the number of values in the parameters greater than list. 
 
int HelpersSize(const int &group, const int ¶m) const
Returns the number of helpers the parameter has. 
 
QString ParamMaximum(const int &group, const int ¶m) const
Returns the maximum value of a parameter in a specified group. 
 
QString GetAsString(const QString ¶mName) const
Allows the retrieval of a value for a parameter of any type. 
 
bool IsEnabled() const
Is the parameter enabled. 
 
void Update()
Update the value on the GUI with the value in the UI. 
 
void SetToDefault()
Change the parameter to the default value. 
 
This error is for when a programmer made an API call that was illegal. 
 
int ParamIncludeSize(const int &group, const int ¶m) const
Returns the number of parameters included in this parameter's inclusions. 
 
QString ParamType(const int &group, const int ¶m) const
Returns the parameter type of a parameter in a specified group. 
 
GuiParameter(QGridLayout *grid, UserInterface &ui, int group, int param)
Constructor. 
 
QString ParamInternalDefault(const int &group, const int ¶m) const
Returns the internal default for a parameter in a specified group. 
 
QString PixelType(const int &group, const int ¶m) const
Returns the default pixel type from the XML. 
 
QString ParamGreaterThanOrEqual(const int &group, const int ¶m, const int &great) const
Returns the name of the specified greaterThanOrEqual parameter. 
 
QString ParamNotEqual(const int &group, const int ¶m, const int ¬Eq) const
Returns the name of the specified notEqual parameter. 
 
QString HelperButtonName(const int &group, const int ¶m, const int &helper) const
Returns the name of the helper button. 
 
QString ParamOdd(const int &group, const int ¶m) const
Returns whether the selected parameter has a restriction on odd values or not. 
 
#define _FILEINFO_
Macro for the filename and line number. 
 
QString HelperDescription(const int &group, const int ¶m, const int &helper) const
Returns the long description of the helper button. 
 
QString HelperFunction(const int &group, const int ¶m, const int &helper) const
Returns the name of the helper function. 
 
virtual bool IsModified()
Return if the parameter value is different from the default value. 
 
int ParamLessThanSize(const int &group, const int ¶m) const
Returns the number of values in the parameters less than list. 
 
QString ParamMaximumInclusive(const int &group, const int ¶m) const
Returns whether the maximum value is inclusive or not. 
 
QString ParamMinimum(const int &group, const int ¶m) const
Returns the minimum value of a parameter in a specified group. 
 
int ParamExcludeSize(const int &group, const int ¶m) const
Returns the number of parameters excluded in this parameter's exclusions. 
 
int ParamGreaterThanOrEqualSize(const int &group, const int ¶m) const
Returns the number of values in the parameters greater than or equal list. 
 
void SetToCurrent()
Change the parameter to the current user interface value. 
 
Namespace for ISIS/Bullet specific routines. 
 
virtual std::vector< QString > Exclusions()
Return list of current exclusions. 
 
Command Line and Xml loader, validation, and access. 
 
QString ParamDefault(const int &group, const int ¶m) const
Returns the default for a parameter in a specified group. 
 
QString ParamLessThanOrEqual(const int &group, const int ¶m, const int &les) const
Returns the name of the specified lessThanOrEqual parameter. 
 
void RememberWidget(QWidget *w)
Add widgets to a list for enabling/disabling. 
 
QString ParamMinimumInclusive(const int &group, const int ¶m) const
Returns whether the minimum value is inclusive or not. 
 
QString ParamBrief(const int &group, const int ¶m) const
Returns the brief description of a parameter in a specified group. 
 
QString ParamGreaterThan(const int &group, const int ¶m, const int &great) const
Returns the name of the specified greaterThan parameter. 
 
QString ParamName(const int &group, const int ¶m) const
Returns the parameter name. 
 
QString ParamLessThan(const int &group, const int ¶m, const int &great) const
Returns the name of the specified lessThan parameter. 
 
QString ParamExclude(const int &group, const int ¶m, const int &exclude) const
Returns the name of the specified excluded parameter. 
 
bool WasEntered(const QString ¶mName) const
Returns a true if the parameter has a value, and false if it does not. 
 
int ParamNotEqualSize(const int &group, const int ¶m) const
Returns the number of values in the not equal list. 
 
QString ParamInclude(const int &group, const int ¶m, const int &include) const
Returns the name of the specified included parameter. 
 
QString HelperBrief(const int &group, const int ¶m, const int &helper) const
Returns the brief description of the helper button. 
 
QString HelperIcon(const int &group, const int ¶m, const int &helper) const
Returns the name of the icon for the helper button.