Wireshark 5.1.0
The Wireshark network protocol analyzer
Loading...
Searching...
No Matches
filter_action.h
Go to the documentation of this file.
1
9
10/* Derived from gtk/filter_utils.h */
11
12#ifndef FILTER_ACTION_H
13#define FILTER_ACTION_H
14
16
17#include <QAction>
18#include <QActionGroup>
19
23class FilterAction : public QAction
24{
25 Q_OBJECT
26public:
38 Q_ENUM(Action)
39
40
51 Q_ENUM(ActionType)
52
53
67
75 explicit FilterAction(QObject *parent, Action action, ActionType type, QString actionName);
76
84 explicit FilterAction(QObject *parent, Action action, ActionType type, ActionDirection direction);
85
92 explicit FilterAction(QObject *parent, Action action, ActionType type);
93
99 explicit FilterAction(QObject *parent, Action action);
100
105 Action action() { return action_; }
106
111 static const QList<Action> actions();
112
118 static const QString actionName(Action action);
119
124 ActionType actionType() { return type_; }
125
131 static const QList<ActionType> actionTypes(Action filter_action = ActionApply);
132
138 static const QString actionTypeName(ActionType type);
139
144 ActionDirection actionDirection() { return direction_; }
145
150 static const QList<ActionDirection> actionDirections();
151
157 static const QString actionDirectionName(ActionDirection direction);
158
167 static QActionGroup * createFilterGroup(QString filter, bool prepare, bool enabled, QWidget * parent);
168
177 static QMenu * createFilterMenu(FilterAction::Action act, QString filter, bool enabled, QWidget * parent);
178
185 static QAction * copyFilterAction(QString filter, QWidget *par);
186
196 static QList<FilterAction *> addActionSubmenus(QMenu *menu, QAction *before = nullptr);
197
198signals:
199
200public slots:
201
202private:
204 Action action_;
205
207 ActionType type_;
208
210 ActionDirection direction_;
211
213 QString actionName_;
214
215private slots:
220 void groupTriggered(QAction *action);
221
225 void copyActionTriggered();
226
227};
228
229#endif // FILTER_ACTION_H
ActionDirection
Defines the directionality aspect of the filter.
Definition filter_action.h:56
@ ActionDirectionAFromB
Definition filter_action.h:59
@ ActionDirectionAnyToB
Definition filter_action.h:64
@ ActionDirectionAToFromAny
Definition filter_action.h:60
@ ActionDirectionAnyFromB
Definition filter_action.h:65
@ ActionDirectionAToAny
Definition filter_action.h:61
@ ActionDirectionAFromAny
Definition filter_action.h:62
@ ActionDirectionAToFromB
Definition filter_action.h:57
@ ActionDirectionAnyToFromB
Definition filter_action.h:63
@ ActionDirectionAToB
Definition filter_action.h:58
static QList< FilterAction * > addActionSubmenus(QMenu *menu, QAction *before=nullptr)
Adds the Apply as Filter, Prepare as Filter, Find and Colorize submenus to a menu.
Definition filter_action.cpp:234
Action
Defines an action to be taken with a filter.
Definition filter_action.h:30
@ ActionWebLookup
Definition filter_action.h:36
@ ActionFind
Definition filter_action.h:34
@ ActionCopy
Definition filter_action.h:33
@ ActionPrepare
Definition filter_action.h:35
@ ActionColorize
Definition filter_action.h:32
@ ActionApply
Definition filter_action.h:31
static QActionGroup * createFilterGroup(QString filter, bool prepare, bool enabled, QWidget *parent)
Creates an action group containing standard filter operations.
Definition filter_action.cpp:170
ActionType
Defines how the new filter should be combined with the existing one.
Definition filter_action.h:43
@ ActionTypeNot
Definition filter_action.h:45
@ ActionTypeAnd
Definition filter_action.h:46
@ ActionTypeOr
Definition filter_action.h:47
@ ActionTypeOrNot
Definition filter_action.h:49
@ ActionTypeAndNot
Definition filter_action.h:48
@ ActionTypePlain
Definition filter_action.h:44
static const QString actionTypeName(ActionType type)
Retrieves the string name of a specific action type.
Definition filter_action.cpp:110
static const QList< ActionDirection > actionDirections()
Retrieves a list of all available action directions.
Definition filter_action.cpp:130
static QAction * copyFilterAction(QString filter, QWidget *par)
Creates an action specifically to copy a filter string.
Definition filter_action.cpp:272
static const QString actionName(Action action)
Retrieves the string name of a specific action.
Definition filter_action.cpp:65
static QMenu * createFilterMenu(FilterAction::Action act, QString filter, bool enabled, QWidget *parent)
Creates a context menu containing standard filter operations.
Definition filter_action.cpp:213
ActionType actionType()
Retrieves the logical action type.
Definition filter_action.h:124
FilterAction(QObject *parent, Action action, ActionType type, QString actionName)
Constructs a FilterAction with a specific name.
Definition filter_action.cpp:18
static const QString actionDirectionName(ActionDirection direction)
Retrieves the string name of a specific action direction.
Definition filter_action.cpp:145
ActionDirection actionDirection()
Retrieves the action direction.
Definition filter_action.h:144
static const QList< Action > actions()
Retrieves a list of all available primary actions.
Definition filter_action.cpp:54
Action action()
Retrieves the primary action.
Definition filter_action.h:105
static const QList< ActionType > actionTypes(Action filter_action=ActionApply)
Retrieves a list of available action types for a given primary action.
Definition filter_action.cpp:85