10#ifndef UI_QT_EXTCAP_ARGUMENT_H_
11#define UI_QT_EXTCAP_ARGUMENT_H_
20#include <QButtonGroup>
26#define EXTCAP_GUI_BLANK_LABEL "QLabel { color : ; }"
27#define EXTCAP_GUI_ERROR_LABEL "QLabel { color : red; }"
31typedef QList<ExtcapValue> ExtcapValueList;
67 if (_children.length() == 0)
68 return ExtcapValueList();
76 QString
value()
const {
return _value; }
82 const QString
call()
const {
return _call; }
119 ExtcapValueList _children;
160 virtual QWidget *
createLabel(QWidget * parent = 0);
179 virtual QString
call();
185 virtual QString
value();
230 QString
prefKey(
const QString & device_name,
231 const QString & option_name,
const QString & option_value);
248 virtual QString
group()
const;
254 virtual int argNr()
const;
355 virtual QWidget *
createEditor(QWidget * parent)
override;
361 virtual QString
value()
override;
367 virtual bool isValid()
override;
408 virtual QWidget *
createEditor(QWidget * parent)
override;
438 virtual QWidget *
createEditor(QWidget * parent)
override;
444 virtual QString
value()
override;
450 virtual bool isValid()
override;
472 void onReloadTriggered();
496 virtual QWidget *
createEditor(QWidget * parent)
override;
502 virtual QString
value()
override;
536 virtual QWidget *
createEditor(QWidget * parent)
override;
542 virtual QString
value()
override;
548 virtual bool isValid()
override;
565 QButtonGroup * selectorGroup;
568 QList<QString> * callStrings;
592 virtual QWidget *
createLabel(QWidget * parent)
override;
599 virtual QWidget *
createEditor(QWidget * parent)
override;
605 virtual QString
call()
override;
611 virtual QString
value()
override;
617 virtual bool isValid()
override;
676 virtual QWidget *
createEditor(QWidget * parent)
override;
682 virtual bool isValid()
override;
694 virtual QString
value()
override;
719 void onDateTimeChanged(QDateTime datetime);
726 QDateTimeEdit *tsBox;
virtual QWidget * createLabel(QWidget *parent) override
Creates the label widget for the boolean argument.
Definition extcap_argument.cpp:433
virtual QString call() override
Retrieves the call string based on the boolean state.
Definition extcap_argument.cpp:467
virtual void setDefaultValue() override
Sets the checkbox to its default state.
Definition extcap_argument.cpp:522
virtual bool isSetDefaultValueSupported() override
Checks if setting a default boolean value is supported.
Definition extcap_argument.cpp:517
ExtArgBool(extcap_arg *argument, QObject *parent=Q_NULLPTR)
Constructs an ExtArgBool.
Definition extcap_argument.cpp:430
virtual QWidget * createEditor(QWidget *parent) override
Creates the checkbox editor widget.
Definition extcap_argument.cpp:438
virtual bool isValid() override
Checks if the boolean state is valid.
Definition extcap_argument.cpp:492
virtual QString prefValue() override
Retrieves the preference value for the boolean argument.
Definition extcap_argument.cpp:485
virtual QString defaultValue() override
Retrieves the default boolean value as a string.
Definition extcap_argument.cpp:512
virtual QString value() override
Retrieves the boolean state as a string.
Definition extcap_argument.cpp:478
ExtArgEditSelector(extcap_arg *argument, QObject *parent=Q_NULLPTR)
Constructs an ExtArgEditSelector.
Definition extcap_argument.cpp:263
virtual QString value() override
Retrieves the current text or selection value.
Definition extcap_argument.cpp:276
virtual QWidget * createEditor(QWidget *parent) override
Creates the editable combobox editor widget.
Definition extcap_argument.cpp:266
virtual void setDefaultValue() override
Sets the editable selector to its default value.
Definition extcap_argument.cpp:289
virtual QString defaultValue() override
Retrieves the default numeric value.
Definition extcap_argument.cpp:717
ExtArgNumber(extcap_arg *argument, QObject *parent=Q_NULLPTR)
Constructs an ExtArgNumber.
Definition extcap_argument.cpp:634
virtual QWidget * createEditor(QWidget *parent) override
Creates the numeric editor widget.
Definition extcap_argument.cpp:637
ExtArgRadio(extcap_arg *argument, QObject *parent=Q_NULLPTR)
Constructs an ExtArgRadio.
Definition extcap_argument.cpp:310
virtual bool isValid() override
Checks if a valid radio button is selected.
Definition extcap_argument.cpp:372
virtual void setDefaultValue() override
Selects the default radio button.
Definition extcap_argument.cpp:401
virtual bool isSetDefaultValueSupported() override
Checks if setting a default radio button is supported.
Definition extcap_argument.cpp:396
virtual QWidget * createEditor(QWidget *parent) override
Creates the radio button group editor widget.
Definition extcap_argument.cpp:318
virtual QString value() override
Retrieves the value of the currently selected radio button.
Definition extcap_argument.cpp:359
virtual ~ExtArgRadio()
Destroys the ExtArgRadio.
Definition extcap_argument.cpp:313
ExtArgSelector(extcap_arg *argument, QObject *parent=Q_NULLPTR)
Constructs an ExtArgSelector.
Definition extcap_argument.cpp:122
virtual bool isValid() override
Checks if the current selection is valid.
Definition extcap_argument.cpp:205
QComboBox * boxSelection
Definition extcap_argument.h:466
virtual QWidget * createEditor(QWidget *parent) override
Creates the combobox editor widget.
Definition extcap_argument.cpp:125
virtual bool isSetDefaultValueSupported() override
Checks if setting a default selection is supported.
Definition extcap_argument.cpp:228
virtual void setDefaultValue() override
Sets the dropdown to its default selection.
Definition extcap_argument.cpp:233
virtual QString value() override
Retrieves the currently selected value.
Definition extcap_argument.cpp:218
virtual bool isSetDefaultValueSupported() override
Checks if setting a default text value is supported.
Definition extcap_argument.cpp:622
virtual QWidget * createEditor(QWidget *parent) override
Creates the text editor widget.
Definition extcap_argument.cpp:534
virtual QString value() override
Retrieves the current text value.
Definition extcap_argument.cpp:561
QLineEdit * textBox
Definition extcap_argument.h:384
virtual void setDefaultValue() override
Sets the text field to its default value.
Definition extcap_argument.cpp:627
ExtArgText(extcap_arg *argument, QObject *parent=Q_NULLPTR)
Constructs an ExtArgText.
Definition extcap_argument.cpp:529
virtual bool isValid() override
Checks if the current text value is valid.
Definition extcap_argument.cpp:569
virtual void setDefaultValue() override
Sets the timestamp to its default value.
Definition extcap_argument.cpp:112
virtual QString defaultValue() override
Retrieves the default timestamp value.
Definition extcap_argument.cpp:82
virtual QString prefValue() override
Retrieves the preference value for the timestamp.
Definition extcap_argument.cpp:102
virtual bool isSetDefaultValueSupported() override
Checks if setting a default timestamp is supported.
Definition extcap_argument.cpp:107
virtual QString value() override
Retrieves the current timestamp value.
Definition extcap_argument.cpp:97
ExtArgTimestamp(extcap_arg *argument, QObject *parent=Q_NULLPTR)
Constructs an ExtArgTimestamp.
Definition extcap_argument.cpp:49
virtual QWidget * createEditor(QWidget *parent) override
Creates the datetime editor widget.
Definition extcap_argument.cpp:52
virtual bool isValid() override
Checks if the timestamp input is valid.
Definition extcap_argument.cpp:87
Base class representing a command line argument for an extcap utility.
Definition extcap_argument.h:127
bool fileExists()
Checks if a file path specified by the argument exists.
Definition extcap_argument.cpp:980
virtual void setDefaultValue()
Slot to set the argument to its default value.
Definition extcap_argument.cpp:1055
virtual ~ExtcapArgument()
Destroys the ExtcapArgument.
Definition extcap_argument.cpp:843
extcap_arg * _argument
Definition extcap_argument.h:325
virtual extcap_arg * argument()
Retrieves the underlying extcap_arg structure.
Definition extcap_argument.h:173
virtual bool isValid()
Checks if the current state of the argument is valid.
Definition extcap_argument.cpp:895
virtual int argNr() const
Retrieves the argument number.
Definition extcap_argument.cpp:924
void onIntChanged(int val)
Slot to handle integer value changes.
Definition extcap_argument.cpp:1039
void onStringChanged(QString val)
Slot to handle string value changes.
Definition extcap_argument.cpp:1034
virtual QWidget * createLabel(QWidget *parent=0)
Creates a label widget for this argument.
Definition extcap_argument.cpp:847
virtual QString call()
Retrieves the call string for this argument.
Definition extcap_argument.cpp:872
ExtcapValueList loadValues(QString parent)
Loads the available values for this argument.
Definition extcap_argument.cpp:787
QString prefKey(const QString &device_name, const QString &option_name, const QString &option_value)
Generates a preference key for this argument.
Definition extcap_argument.cpp:929
static ExtcapArgument * create(extcap_arg *argument=Q_NULLPTR, QObject *parent=Q_NULLPTR)
Factory method to create an appropriate ExtcapArgument subclass.
Definition extcap_argument.cpp:996
bool isSufficient()
Checks if the argument provides sufficient information on its own.
Definition extcap_argument.cpp:964
bool isRequired()
Checks if the argument is required.
Definition extcap_argument.cpp:956
void resetValue()
Resets the argument to its initial value.
Definition extcap_argument.cpp:887
bool isDefault()
Checks if the argument currently holds its default value.
Definition extcap_argument.cpp:988
ExtcapValueList values
Definition extcap_argument.h:322
int _number
Definition extcap_argument.h:331
virtual QString group() const
Retrieves the group name this argument belongs to.
Definition extcap_argument.cpp:916
virtual QWidget * createEditor(QWidget *parent=0)
Creates an editor widget for this argument.
Definition extcap_argument.cpp:867
void onBoolChanged(bool val)
Slot to handle boolean value changes.
Definition extcap_argument.cpp:1045
virtual QString prefValue()
Retrieves the preference value for this argument.
Definition extcap_argument.cpp:882
virtual QString value()
Retrieves the current value of the argument.
Definition extcap_argument.cpp:877
QLabel * _label
Definition extcap_argument.h:328
void valueChanged()
Signal emitted when the argument's value changes.
ExtcapArgument(QObject *parent=Q_NULLPTR)
Constructs an empty ExtcapArgument.
Definition extcap_argument.cpp:755
bool reload()
Reloads the argument data.
Definition extcap_argument.cpp:972
virtual bool isSetDefaultValueSupported()
Checks if setting a default value is supported by this argument type.
Definition extcap_argument.cpp:1050
virtual QString defaultValue()
Retrieves the default value of the argument.
Definition extcap_argument.cpp:905
bool reloadValues()
Reloads the values list.
Definition extcap_argument.cpp:824
Represents a single value option for an extcap argument.
Definition extcap_argument.h:37
ExtcapValue(QString value, QString call, bool enabled, bool isDefault)
Constructs a new ExtcapValue.
Definition extcap_argument.h:46
void setChildren(ExtcapValueList children)
Sets the child values for this value.
Definition extcap_argument.cpp:743
const QString call() const
Retrieves the call string.
Definition extcap_argument.h:82
QString value() const
Retrieves the display value.
Definition extcap_argument.h:76
ExtcapValueList children()
Retrieves the child values.
Definition extcap_argument.h:65
virtual ~ExtcapValue()
Destroys the ExtcapValue.
Definition extcap_argument.cpp:741
bool enabled() const
Checks if the value is enabled.
Definition extcap_argument.h:88
bool isDefault() const
Checks if the value is the default.
Definition extcap_argument.h:94
int depth()
Retrieves the hierarchical depth of this value.
Definition extcap_argument.h:100
struct _extcap_arg extcap_arg
A fully parsed extcap argument sentence with all its associated options.