Wireshark 4.7.0
The Wireshark network protocol analyzer
Loading...
Searching...
No Matches
lte_rlc_graph_dialog.h
Go to the documentation of this file.
1
10#ifndef LTE_RLC_GRAPH_DIALOG_H
11#define LTE_RLC_GRAPH_DIALOG_H
12
13#include "wireshark_dialog.h"
14#include <ui/tap-rlc-graph.h>
15
16#include <ui/qt/widgets/qcustomplot.h>
17
18class QMenu;
19class QRubberBand;
20
21namespace Ui {
23}
24
29{
30 Q_OBJECT
31
32public:
33 // TODO: will need to add another constructor option to give channel explicitly,
34 // rather than find in currently selected packet, for when launch graph from
35 // RLC statistics dialog.
36
43 explicit LteRlcGraphDialog(QWidget &parent, CaptureFile &cf, bool channelKnown);
44
49
60 void setChannelInfo(uint8_t rat, uint16_t ueid, uint8_t rlcMode,
61 uint16_t channelType, uint16_t channelId, uint8_t direction,
62 bool maybe_empty=false);
63
64signals:
69 void goToPacket(int packet_num);
70
71protected:
76 void showEvent(QShowEvent *event);
77
82 void keyPressEvent(QKeyEvent *event);
83
84private:
86 Ui::LteRlcGraphDialog *ui;
87
89 bool mouse_drags_;
90
92 QRubberBand *rubber_band_;
93
95 QPoint rb_origin_;
96
98 QMenu *ctx_menu_;
99
101 struct rlc_graph graph_;
102
103 // Data
105 QMultiMap<double, struct rlc_segment *> time_stamp_map_;
106
108 QMap<double, struct rlc_segment *> sequence_num_map_;
109
111 QCPGraph *base_graph_;
112
114 QCPGraph *reseg_graph_;
115
117 QCPGraph *acks_graph_;
118
120 QCPGraph *nacks_graph_;
121
123 QCPItemTracer *tracer_;
124
126 uint32_t packet_num_;
127
132 void completeGraph(bool may_be_empty=false);
133
139 bool compareHeaders(rlc_segment *seg);
140
145 void findChannel(bool may_fail=false);
146
150 void fillGraph();
151
156 void zoomAxes(bool in);
157
162 void zoomXAxis(bool in);
163
168 void zoomYAxis(bool in);
169
175 void panAxes(int x_pixels, int y_pixels);
176
182 QRectF getZoomRanges(QRect zoom_rect);
183
188 void toggleTracerStyle(bool force_default);
189
190private slots:
195 void showContextMenu(const QPoint &pos);
196
201 void graphClicked(QMouseEvent *event);
202
207 void mouseMoved(QMouseEvent *event);
208
213 void mouseReleased(QMouseEvent *event);
214
218 void resetAxes();
219
224 void on_dragRadioButton_toggled(bool checked);
225
230 void on_zoomRadioButton_toggled(bool checked);
231
235 void on_resetButton_clicked();
236
240 void on_otherDirectionButton_clicked();
241
245 void on_actionReset_triggered();
246
250 void on_actionZoomIn_triggered();
251
255 void on_actionZoomOut_triggered();
256
260 void on_actionMoveUp10_triggered();
261
265 void on_actionMoveLeft10_triggered();
266
270 void on_actionMoveRight10_triggered();
271
275 void on_actionMoveDown10_triggered();
276
280 void on_actionMoveUp1_triggered();
281
285 void on_actionMoveLeft1_triggered();
286
290 void on_actionMoveRight1_triggered();
291
295 void on_actionMoveDown1_triggered();
296
300 void on_actionDragZoom_triggered();
301
305 void on_actionMoveUp100_triggered();
306
310 void on_actionMoveDown100_triggered();
311
315 void on_actionGoToPacket_triggered();
316
320 void on_actionCrosshairs_triggered();
321
325 void on_actionSwitchDirection_triggered();
326
330 void on_buttonBox_accepted();
331};
332
333#endif // LTE_RLC_GRAPH_DIALOG_H
Manages a capture file and its associated state and operations.
Definition capture_file.h:27
Dialog for displaying and interacting with LTE RLC graphs.
Definition lte_rlc_graph_dialog.h:29
~LteRlcGraphDialog()
Destroys the LteRlcGraphDialog.
Definition lte_rlc_graph_dialog.cpp:111
void keyPressEvent(QKeyEvent *event)
Handles key press events within the dialog.
Definition lte_rlc_graph_dialog.cpp:349
void showEvent(QShowEvent *event)
Handles the event when the dialog is shown.
Definition lte_rlc_graph_dialog.cpp:343
void goToPacket(int packet_num)
Signal emitted to navigate to a specific packet in the main window.
void setChannelInfo(uint8_t rat, uint16_t ueid, uint8_t rlcMode, uint16_t channelType, uint16_t channelId, uint8_t direction, bool maybe_empty=false)
Sets the channel information manually.
Definition lte_rlc_graph_dialog.cpp:117
Base class for Wireshark specific dialogs that require interaction with a CaptureFile.
Definition wireshark_dialog.h:38
Definition tap-rlc-graph.h:55
Definition packet-rlc-lte.c:381