10#ifndef COLUMN_LIST_MODELS_H
11#define COLUMN_LIST_MODELS_H
13#include <QAbstractListModel>
14#include <QSortFilterProxyModel>
15#include <QStyledItemDelegate>
16#include <QSortFilterProxyModel>
44 virtual bool filterAcceptsRow(
int source_row,
const QModelIndex &source_parent)
const override;
48 bool showDisplayedOnly_;
84 QWidget *
createEditor(QWidget *parent,
const QStyleOptionViewItem &option,
85 const QModelIndex &index)
const override;
92 void setEditorData(QWidget *editor,
const QModelIndex &index)
const override;
100 void setModelData(QWidget *editor, QAbstractItemModel *model,
101 const QModelIndex &index)
const override;
110 const QModelIndex &index)
const override;
156 static bool displayEnabled(
const QModelIndex &index,
bool &displayStrings,
bool &displayDetails);
186 virtual QVariant
headerData(
int section, Qt::Orientation orientation,
int role = Qt::DisplayRole)
const;
194 virtual QVariant data(
const QModelIndex &index,
int role = Qt::DisplayRole)
const;
201 virtual int rowCount(
const QModelIndex &parent = QModelIndex())
const;
208 virtual int columnCount(
const QModelIndex &parent = QModelIndex())
const;
215 virtual Qt::ItemFlags flags(
const QModelIndex &index)
const;
228 virtual QMimeData *
mimeData(
const QModelIndexList &indexes)
const;
245 virtual bool canDropMimeData(
const QMimeData *data, Qt::DropAction action,
int row,
int column,
const QModelIndex &parent)
const;
256 virtual bool dropMimeData(
const QMimeData *data, Qt::DropAction action,
int row,
int column,
const QModelIndex &parent);
265 virtual bool setData(
const QModelIndex &index,
const QVariant &value,
int role = Qt::EditRole);
273 QString headerTitle(
int section)
const;
A table model for managing the list of packet list columns.
Definition column_list_model.h:117
@ DisplayedState
Definition column_list_model.h:146
@ OriginalType
Definition column_list_model.h:145
virtual int rowCount(const QModelIndex &parent=QModelIndex()) const
Retrieves the number of rows in the model.
Definition column_list_model.cpp:334
@ COL_DISPLAYED
Definition column_list_model.h:131
@ COL_WIDTH
Definition column_list_model.h:137
@ COL_TYPE
Definition column_list_model.h:133
@ COL_XALIGN
Definition column_list_model.h:138
@ COL_OCCURRENCE
Definition column_list_model.h:135
@ COL_TITLE
Definition column_list_model.h:132
@ COL_FIELDS
Definition column_list_model.h:134
@ COL_DISPLAY
Definition column_list_model.h:136
virtual int columnCount(const QModelIndex &parent=QModelIndex()) const
Retrieves the number of columns in the model.
Definition column_list_model.cpp:339
void deleteEntry(int row)
Deletes a specific entry from the column list.
Definition column_list_model.cpp:673
void saveColumns()
Saves the current column list to the global configuration.
Definition column_list_model.cpp:599
virtual bool dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent)
Handles dropped MIME data to rearrange rows.
Definition column_list_model.cpp:499
virtual bool canDropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) const
Checks if MIME data can be dropped at a specific location.
Definition column_list_model.cpp:490
virtual Qt::DropActions supportedDropActions() const
Specifies the supported drag and drop actions.
Definition column_list_model.cpp:533
virtual QVariant headerData(int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const
Retrieves header data for the table model.
Definition column_list_model.cpp:325
static bool displayEnabled(const QModelIndex &index, bool &displayStrings, bool &displayDetails)
Checks whether the display options are enabled for the given index.
Definition column_list_model.cpp:313
void reset()
Resets the column list to the default configuration.
Definition column_list_model.cpp:680
virtual bool setData(const QModelIndex &index, const QVariant &value, int role=Qt::EditRole)
Sets data in the model for the given index and role.
Definition column_list_model.cpp:538
virtual QMimeData * mimeData(const QModelIndexList &indexes) const
Generates MIME data for the specified list of indexes.
Definition column_list_model.cpp:478
virtual QStringList mimeTypes() const
Retrieves the supported MIME types for drag and drop operations.
Definition column_list_model.cpp:473
void addEntry()
Adds a new default entry to the end of the column list.
Definition column_list_model.cpp:656
Proxy model for filtering and sorting the packet list column models.
Definition column_list_model.h:23
void setShowDisplayedOnly(bool set)
Sets whether to show only the displayed columns.
Definition column_list_model.cpp:60
virtual bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const override
Determines whether a specific row is accepted by the filter.
Definition column_list_model.cpp:47
A delegate for rendering and editing column types and properties in a view.
Definition column_list_model.h:55
void setEditorData(QWidget *editor, const QModelIndex &index) const override
Sets the data for the editor from the model.
Definition column_list_model.cpp:183
QWidget * createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const override
Creates an editor widget for a given index.
Definition column_list_model.cpp:108
void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const override
Sets the data in the model from the editor.
Definition column_list_model.cpp:214
static QString alignDesc(char xalign)
Retrieves the alignment description for a given alignment character.
Definition column_list_model.cpp:77
static QString displayDesc(char display)
Retrieves the display description for a given display format character.
Definition column_list_model.cpp:93
void updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex &index) const override
Updates the geometry of the editor widget based on available space.
Definition column_list_model.cpp:300