Wireshark  2.9.0-477-g68ec514b
The Wireshark network protocol analyzer
field_filter_edit.h
1 /* display_filter_edit.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 FIELDFILTEREDIT_H
11 #define FIELDFILTEREDIT_H
12 
13 #include <ui/qt/widgets/syntax_line_edit.h>
14 
15 class QEvent;
17 
19 {
20  Q_OBJECT
21 public:
22  explicit FieldFilterEdit(QWidget *parent = 0);
23 
24 protected:
25  void keyPressEvent(QKeyEvent *event) { completionKeyPressEvent(event); }
26  void focusInEvent(QFocusEvent *event) { completionFocusInEvent(event); }
27  void focusOutEvent(QFocusEvent *event);
28 
29 public slots:
30  bool checkFilter();
31  void applyDisplayFilter();
32 
33 private slots:
34  void checkFilter(const QString &filter_text);
35  void clearFilter();
36  void changeEvent(QEvent* event);
37 
38  void showFilters();
39  void prepareFilter();
40 
41 private:
42  QString placeholder_text_;
43  QAction *save_action_;
44  QAction *remove_action_;
45 
46  void setDefaultPlaceholderText();
47  void buildCompletionList(const QString& field_word);
48 
49 signals:
50  void pushFilterSyntaxStatus(const QString&);
51  void popFilterSyntaxStatus();
52  void pushFilterSyntaxWarning(const QString&);
53  void filterPackets(QString new_filter, bool force);
54 };
55 
56 #endif // FIELDFILTEREDIT_H
57 
58 /*
59  * Editor modelines
60  *
61  * Local Variables:
62  * c-basic-offset: 4
63  * tab-width: 8
64  * indent-tabs-mode: nil
65  * End:
66  *
67  * ex: set shiftwidth=4 tabstop=8 expandtab:
68  * :indentSize=4:tabSize=8:noTabs=true:
69  */
Definition: syntax_line_edit.h:22
Definition: field_filter_edit.h:18
Definition: stock_icon_tool_button.h:15