Wireshark 4.7.0
The Wireshark network protocol analyzer
Loading...
Searching...
No Matches
dissector_tables_model.h
Go to the documentation of this file.
1
10#ifndef DISSECTOR_TABLES_MODEL_H
11#define DISSECTOR_TABLES_MODEL_H
12
13#include <config.h>
14
16
17#include <QSortFilterProxyModel>
18
22class DissectorTablesItem : public ModelHelperTreeItem<DissectorTablesItem>
23{
24public:
32
36 virtual ~DissectorTablesItem();
37
42 QString tableName() const {return tableName_;}
43
49
55 virtual bool lessThan(DissectorTablesItem &right) const;
56
57protected:
59 QString tableName_;
60
63};
64
68class DissectorTablesModel : public QAbstractItemModel
69{
70 Q_OBJECT
71
72public:
77 explicit DissectorTablesModel(QObject * parent = Q_NULLPTR);
78
82 virtual ~DissectorTablesModel();
83
92
100 QModelIndex index(int row, int column,
101 const QModelIndex &parent = QModelIndex()) const;
102
108 QModelIndex parent(const QModelIndex &index) const;
109
116 QVariant data(const QModelIndex &index, int role) const;
117
123 int rowCount(const QModelIndex &parent = QModelIndex()) const;
124
130 int columnCount(const QModelIndex &parent = QModelIndex()) const;
131
135 void populate();
136
137private:
139 DissectorTablesItem* root_;
140};
141
145class DissectorTablesProxyModel : public QSortFilterProxyModel
146{
147 Q_OBJECT
148
149public:
154 explicit DissectorTablesProxyModel(QObject * parent = Q_NULLPTR);
155
162 virtual bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const;
163
171 QVariant headerData(int section, Qt::Orientation orientation,
172 int role = Qt::DisplayRole) const;
173
178 void adjustHeader(const QModelIndex &currentIndex);
179
184 void setFilter(const QString& filter);
185
186protected:
193 bool lessThan(const QModelIndex &source_left, const QModelIndex &source_right) const;
194
200 bool filterAcceptItem(DissectorTablesItem& item) const;
201
202private:
203
205 QString tableName_;
206
208 QString dissectorDescription_;
209
211 QString filter_;
212};
213
214#endif // DISSECTOR_TABLES_MODEL_H
Represents a single item in the dissector tables model, supporting tree structures.
Definition dissector_tables_model.h:23
virtual bool lessThan(DissectorTablesItem &right) const
Compares this item with another for sorting purposes.
Definition dissector_tables_model.cpp:47
QString dissectorDescription() const
Retrieves the dissector description associated with this item.
Definition dissector_tables_model.h:48
QString dissectorDescription_
Definition dissector_tables_model.h:62
QString tableName_
Definition dissector_tables_model.h:59
virtual ~DissectorTablesItem()
Destroys the DissectorTablesItem.
Definition dissector_tables_model.cpp:43
QString tableName() const
Retrieves the table name associated with this item.
Definition dissector_tables_model.h:42
A tree model providing data for the registered dissector tables.
Definition dissector_tables_model.h:69
QModelIndex parent(const QModelIndex &index) const
Retrieves the parent index for the given index.
Definition dissector_tables_model.cpp:145
int rowCount(const QModelIndex &parent=QModelIndex()) const
Returns the number of rows under the given parent.
Definition dissector_tables_model.cpp:123
virtual ~DissectorTablesModel()
Destroys the DissectorTablesModel.
Definition dissector_tables_model.cpp:118
DissectorTablesColumn
Enumeration of the columns available in the model.
Definition dissector_tables_model.h:87
@ colTableName
Definition dissector_tables_model.h:88
@ colDissectorDescription
Definition dissector_tables_model.h:89
@ colLast
Definition dissector_tables_model.h:90
int columnCount(const QModelIndex &parent=QModelIndex()) const
Returns the number of columns under the given parent.
Definition dissector_tables_model.cpp:140
QModelIndex index(int row, int column, const QModelIndex &parent=QModelIndex()) const
Generates an index for the specified row and column.
Definition dissector_tables_model.cpp:164
void populate()
Populates the model with the currently registered dissector tables.
Definition dissector_tables_model.cpp:328
A proxy model that filters and sorts the DissectorTablesModel.
Definition dissector_tables_model.h:146
void setFilter(const QString &filter)
Sets the filter string used to screen items.
Definition dissector_tables_model.cpp:426
QVariant headerData(int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const
Retrieves header data, potentially adjusted dynamically.
Definition dissector_tables_model.cpp:363
bool lessThan(const QModelIndex &source_left, const QModelIndex &source_right) const
Compares two source indices to determine their sort order.
Definition dissector_tables_model.cpp:379
bool filterAcceptItem(DissectorTablesItem &item) const
Checks if an individual item is accepted by the filter.
Definition dissector_tables_model.cpp:393
void adjustHeader(const QModelIndex &currentIndex)
Adjusts the header based on the currently selected index.
Definition dissector_tables_model.cpp:439
virtual bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const
Determines whether a row from the source model should be visible.
Definition dissector_tables_model.cpp:413
Base class to inherit basic tree item from.
Definition tree_model_helpers.h:25