10#ifndef DISSECTOR_TABLES_MODEL_H
11#define DISSECTOR_TABLES_MODEL_H
17#include <QSortFilterProxyModel>
100 QModelIndex
index(
int row,
int column,
101 const QModelIndex &
parent = QModelIndex())
const override;
108 QModelIndex
parent(
const QModelIndex &
index)
const override;
116 QVariant
data(
const QModelIndex &
index,
int role)
const override;
123 int rowCount(
const QModelIndex &
parent = QModelIndex())
const override;
174 virtual bool filterAcceptsRow(
int sourceRow,
const QModelIndex &sourceParent)
const override;
183 QVariant
headerData(
int section, Qt::Orientation orientation,
184 int role = Qt::DisplayRole)
const override;
196 void setFilter(
const QString& filter, SearchTypes type);
205 bool lessThan(
const QModelIndex &source_left,
const QModelIndex &source_right)
const override;
213 QString dissectorDescription_;
218 DissectorTablesProxyModel::SearchTypes type_;
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
DissectorTablesItem(QString tableName, QString dissectorDescription, DissectorTablesItem *parent)
Constructs a new DissectorTablesItem.
Definition dissector_tables_model.cpp:36
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
int columnCount(const QModelIndex &parent=QModelIndex()) const override
Returns the number of columns under the given parent.
Definition dissector_tables_model.cpp:140
int rowCount(const QModelIndex &parent=QModelIndex()) const override
Returns the number of rows under the given parent.
Definition dissector_tables_model.cpp:123
QVariant data(const QModelIndex &index, int role) const override
Retrieves data from the model for a given index and role.
Definition dissector_tables_model.cpp:186
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
QModelIndex index(int row, int column, const QModelIndex &parent=QModelIndex()) const override
Generates an index for the specified row and column.
Definition dissector_tables_model.cpp:164
QModelIndex parent(const QModelIndex &index) const override
Retrieves the parent index for the given index.
Definition dissector_tables_model.cpp:145
void populate()
Populates the model with the currently registered dissector tables.
Definition dissector_tables_model.cpp:328
DissectorTablesModel(QObject *parent=Q_NULLPTR)
Constructs a new DissectorTablesModel.
Definition dissector_tables_model.cpp:111
SearchType
Defines the search filtering scope.
Definition dissector_tables_model.h:154
@ EveryWhere
Definition dissector_tables_model.h:155
@ OnlyName
Definition dissector_tables_model.h:156
@ OnlyDescription
Definition dissector_tables_model.h:157
bool lessThan(const QModelIndex &source_left, const QModelIndex &source_right) const override
Compares two source indices to determine their sort order.
Definition dissector_tables_model.cpp:382
void setFilter(const QString &filter, SearchTypes type)
Sets the filter string used to screen items.
Definition dissector_tables_model.cpp:418
QVariant headerData(int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const override
Retrieves header data, potentially adjusted dynamically.
Definition dissector_tables_model.cpp:366
void adjustHeader(const QModelIndex ¤tIndex)
Adjusts the header based on the currently selected index.
Definition dissector_tables_model.cpp:432
virtual bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const override
Determines whether a row from the source model should be visible.
Definition dissector_tables_model.cpp:395
DissectorTablesProxyModel(QObject *parent=Q_NULLPTR)
Constructs a new DissectorTablesProxyModel.
Definition dissector_tables_model.cpp:355
ModelHelperTreeItem(DissectorTablesItem *parent)
Definition tree_model_helpers.h:31