Wireshark 4.5.0
The Wireshark network protocol analyzer
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
extcap_argument.h
Go to the documentation of this file.
1
10#ifndef UI_QT_EXTCAP_ARGUMENT_H_
11#define UI_QT_EXTCAP_ARGUMENT_H_
12
13#include <QObject>
14#include <QWidget>
15#include <QLabel>
16#include <QVariant>
17#include <QList>
18#include <QLineEdit>
19#include <QComboBox>
20#include <QButtonGroup>
21#include <QCheckBox>
22#include <QDateTime>
23
24#include <extcap_parser.h>
25
26#define EXTCAP_GUI_BLANK_LABEL "QLabel { color : ; }"
27#define EXTCAP_GUI_ERROR_LABEL "QLabel { color : red; }"
28
29class ExtcapValue;
30
31typedef QList<ExtcapValue> ExtcapValueList;
32
34{
35public:
36 ExtcapValue(QString value, QString call, bool enabled, bool isDefault) :
37 _value(value), _call(call), _enabled(enabled),
38 _isDefault(isDefault), _depth(0) {}
39 virtual ~ExtcapValue();
40
41 void setChildren(ExtcapValueList children);
42 ExtcapValueList children()
43 {
44 if (_children.length() == 0)
45 return ExtcapValueList();
46 return _children;
47 }
48
49 QString value() const { return _value; }
50 const QString call() const { return _call; }
51 bool enabled() const { return _enabled; }
52 bool isDefault() const { return _isDefault; }
53
54 int depth() { return _depth; }
55
56private:
57 QString _value;
58 QString _call;
59
60 bool _enabled;
61 bool _isDefault;
62
63 int _depth;
64
65 ExtcapValueList _children;
66};
67
68
69
70class ExtcapArgument: public QObject
71{
72 Q_OBJECT
73
74public:
75 ExtcapArgument(QObject *parent = Q_NULLPTR);
76 ExtcapArgument(extcap_arg * argument, QObject *parent = Q_NULLPTR);
78 virtual ~ExtcapArgument();
79
80 virtual QWidget * createLabel(QWidget * parent = 0);
81 virtual QWidget * createEditor(QWidget * parent = 0);
82
83 virtual extcap_arg * argument() { return _argument; }
84 virtual QString call();
85 virtual QString value();
86 virtual QString defaultValue();
87
88 bool isDefault();
89 virtual bool isValid();
90 bool isRequired();
91 bool isSufficient();
92 bool reload();
93
94 QString prefKey(const QString & device_name,
95 const QString & option_name, const QString & option_value);
96 virtual QString prefValue();
97
98 void resetValue();
99
100 virtual QString group() const;
101 virtual int argNr() const;
102
103 static ExtcapArgument * create(extcap_arg * argument = Q_NULLPTR, QObject * parent = Q_NULLPTR);
104 virtual bool isSetDefaultValueSupported();
105
106public Q_SLOTS:
107 virtual void setDefaultValue();
108 void onBoolChanged(bool);
109 void onIntChanged(int);
110 void onStringChanged(QString);
111
112Q_SIGNALS:
113 void valueChanged();
114
115protected:
116
117 bool fileExists();
118
119 ExtcapValueList loadValues(QString parent);
120 bool reloadValues();
121
122 ExtcapValueList values;
123
124 extcap_arg * _argument;
125 QLabel * _label;
126 int _number;
127
128 const QString label_style;
129};
130
131
132
134{
135 Q_OBJECT
136
137public:
138 ExtArgText(extcap_arg * argument, QObject *parent = Q_NULLPTR);
139
140 virtual QWidget * createEditor(QWidget * parent);
141 virtual QString value();
142 virtual bool isValid();
143 virtual bool isSetDefaultValueSupported();
144
145public Q_SLOTS:
146 virtual void setDefaultValue();
147
148protected:
149
150 QLineEdit * textBox;
151};
152
153
154
156{
157 Q_OBJECT
158
159public:
160 ExtArgNumber(extcap_arg * argument, QObject *parent = Q_NULLPTR);
161
162 virtual QWidget * createEditor(QWidget * parent);
163 virtual QString defaultValue();
164};
165
166
167
169{
170 Q_OBJECT
171
172public:
173 ExtArgSelector(extcap_arg * argument, QObject *parent = Q_NULLPTR);
174
175 virtual QWidget * createEditor(QWidget * parent);
176 virtual QString value();
177 virtual bool isValid();
178 virtual bool isSetDefaultValueSupported();
179
180public Q_SLOTS:
181 virtual void setDefaultValue();
182
183protected:
184 QComboBox * boxSelection;
185
186private Q_SLOTS:
187 void onReloadTriggered();
188
189};
190
191
193{
194 Q_OBJECT
195
196public:
197 ExtArgEditSelector(extcap_arg * argument, QObject *parent = Q_NULLPTR);
198 virtual QWidget * createEditor(QWidget * parent);
199 virtual QString value();
200
201public Q_SLOTS:
202 virtual void setDefaultValue();
203};
204
205
207{
208 Q_OBJECT
209
210public:
211 ExtArgRadio(extcap_arg * argument, QObject *parent = Q_NULLPTR);
212 virtual ~ExtArgRadio();
213
214 virtual QWidget * createEditor(QWidget * parent);
215 virtual QString value();
216 virtual bool isValid();
217 virtual bool isSetDefaultValueSupported();
218
219public Q_SLOTS:
220 virtual void setDefaultValue();
221
222private:
223
224 QButtonGroup * selectorGroup;
225 QList<QString> * callStrings;
226};
227
228
229
231{
232 Q_OBJECT
233
234public:
235 ExtArgBool(extcap_arg * argument, QObject *parent = Q_NULLPTR);
236
237 virtual QWidget * createLabel(QWidget * parent);
238 virtual QWidget * createEditor(QWidget * parent);
239
240 virtual QString call();
241 virtual QString value();
242 virtual bool isValid();
243 virtual QString defaultValue();
244 virtual QString prefValue();
245 virtual bool isSetDefaultValueSupported();
246
247public Q_SLOTS:
248 virtual void setDefaultValue();
249
250private:
251
252 QCheckBox * boolBox;
253
254 bool defaultBool();
255};
256
257
258
260{
261 Q_OBJECT
262
263public:
264 ExtArgTimestamp(extcap_arg * argument, QObject *parent = Q_NULLPTR);
265 virtual QWidget * createEditor(QWidget * parent);
266
267 virtual bool isValid();
268 virtual QString defaultValue();
269 virtual QString value();
270 virtual QString prefValue();
271 virtual bool isSetDefaultValueSupported();
272
273public Q_SLOTS:
274 virtual void setDefaultValue();
275
276private Q_SLOTS:
277 void onDateTimeChanged(QDateTime);
278
279private:
280 QDateTime ts;
281 QDateTimeEdit *tsBox;
282};
283
284#endif /* UI_QT_EXTCAP_ARGUMENT_H_ */
Definition extcap_argument.h:231
Definition extcap_argument.h:193
Definition extcap_argument.h:156
Definition extcap_argument.h:207
Definition extcap_argument.h:169
Definition extcap_argument.h:134
Definition extcap_argument.h:260
Definition extcap_argument.h:71
Definition extcap_argument.h:34
Definition extcap_parser.h:106