Wireshark  2.9.0-477-g68ec514b
The Wireshark network protocol analyzer
byte_view_tab.h
1 /* byte_view_tab.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 BYTE_VIEW_TAB_H
11 #define BYTE_VIEW_TAB_H
12 
13 #include <config.h>
14 
15 #include <epan/packet.h>
16 #include <epan/proto.h>
17 #include <epan/tvbuff.h>
18 
19 #include <ui/qt/utils/field_information.h>
20 
21 #include "cfile.h"
22 
23 #include <QTabWidget>
24 
25 
26 #include <ui/qt/widgets/byte_view_text.h>
27 
28 class ByteViewTab : public QTabWidget
29 {
30  Q_OBJECT
31 
32 public:
33  explicit ByteViewTab(QWidget *parent = 0, epan_dissect_t *edt_fixed = 0);
34 
35 public slots:
36  /* Set the capture file */
37  void setCaptureFile(capture_file *cf);
38  /* Creates the tabs and data, depends on an dissection which has already run */
39  void selectedFrameChanged(int);
40  /* Selects or marks a field */
41  void selectedFieldChanged(FieldInformation *);
42  /* Highlights field */
43  void highlightedFieldChanged(FieldInformation *);
44 
45 signals:
46  void fieldSelected(FieldInformation *);
47  void fieldHighlight(FieldInformation *);
48 
49 private:
50  capture_file *cap_file_;
51  bool is_fixed_packet_; /* true if this byte view is related to a single
52  packet in the packet dialog and false if the
53  packet dissection context can change. */
54  epan_dissect_t *edt_; /* Packet dissection result for the currently selected packet. */
55 
56  void setTabsVisible();
57  ByteViewText * findByteViewTextForTvb(tvbuff_t * search, int * idx = 0);
58  void addTab(const char *name = "", tvbuff_t *tvb = NULL);
59 
60 protected:
61  void tabInserted(int);
62  void tabRemoved(int);
63 
64 private slots:
65  void byteViewTextHovered(int);
66  void byteViewTextMarked(int);
67 
68  void connectToMainWindow();
69 
70  void captureActive(int);
71 };
72 
73 #endif // BYTE_VIEW_TAB_H
74 
75 /*
76  * Editor modelines
77  *
78  * Local Variables:
79  * c-basic-offset: 4
80  * tab-width: 8
81  * indent-tabs-mode: nil
82  * End:
83  *
84  * ex: set shiftwidth=4 tabstop=8 expandtab:
85  * :indentSize=4:tabSize=8:noTabs=true:
86  */
Definition: field_information.h:21
Definition: tvbuff-int.h:35
Definition: byte_view_text.h:31
Definition: epan_dissect.h:28
Definition: cfile.h:58
Definition: byte_view_tab.h:28