Wireshark  2.9.0-477-g68ec514b
The Wireshark network protocol analyzer
extcap_argument_multiselect.h
1 /* extcap_argument_multiselect.h
2  *
3  * Wireshark - Network traffic analyzer
4  * By Gerald Combs <gerald@wireshark.org>
5  * Copyright 1998 Gerald Combs
6  *
7  * SPDX-License-Identifier: GPL-2.0-or-later
8  */
9 
10 #ifndef UI_QT_EXTCAP_ARGUMENT_MULTISELECT_H_
11 #define UI_QT_EXTCAP_ARGUMENT_MULTISELECT_H_
12 
13 #include <QObject>
14 #include <QWidget>
15 #include <QStandardItem>
16 #include <QTreeView>
17 #include <QAbstractItemModel>
18 #include <QItemSelection>
19 
20 #include <extcap_parser.h>
21 #include <extcap_argument.h>
22 
24 {
25  Q_OBJECT
26 public:
27  ExtArgMultiSelect(extcap_arg * argument, QObject *parent = Q_NULLPTR);
28  virtual ~ExtArgMultiSelect();
29 
30  virtual QString value();
31  virtual bool isValid();
32 
33 protected:
34  virtual QList<QStandardItem *> valueWalker(ExtcapValueList list, QStringList &defaults);
35  void selectItemsWalker(QStandardItem * item, QStringList defaults);
36  virtual QWidget * createEditor(QWidget * parent);
37 
38 private Q_SLOTS:
39 
40  void selectionChanged(const QItemSelection & selected, const QItemSelection & deselected);
41 
42 private:
43 
44  QTreeView * treeView;
45  QAbstractItemModel * viewModel;
46 
47 };
48 
49 #endif /* UI_QT_EXTCAP_ARGUMENT_MULTISELECT_H_ */
50 
51 /*
52  * Editor modelines
53  *
54  * Local Variables:
55  * c-basic-offset: 4
56  * tab-width: 8
57  * indent-tabs-mode: nil
58  * End:
59  *
60  * ex: set shiftwidth=4 tabstop=8 expandtab:
61  * :indentSize=4:tabSize=8:noTabs=true:
62  */
Definition: extcap_argument.h:69
Definition: extcap_parser.h:99
Definition: extcap_argument_multiselect.h:23