42enum UatColumnsPlot { plotColEnabled = 0, plotColIdx, plotColName, plotColDFilter, plotColColor, plotColStyle, plotColYField, plotColYAxisFactor, plotColMaxNum };
85 void addPlot(
bool checked,
const QString& dfilter,
const QString& yfield);
88 void scheduleReplot() { need_replot_ =
true; }
89 void scheduleRecalc() { need_recalc_ =
true; }
90 void scheduleRetap() { need_retap_ =
true; }
94 void keyPressEvent(QKeyEvent* event)
override;
95 void reject()
override;
98 void modelDataChanged(
const QModelIndex& topLeft,
const QModelIndex& bottomRight,
const QVector<int>& roles);
99 void modelRowsReset();
100 void modelRowsInserted(
const QModelIndex& parent,
int first,
int last);
101 void modelRowsRemoved(
const QModelIndex& parent,
int first,
int last);
102 void modelRowsMoved(
const QModelIndex& sourceParent,
int sourceStart,
int sourceEnd,
const QModelIndex& destinationParent,
int destinationRow);
105 void goToPacket(
int packet,
int hf_id);
108 void loadProfileGraphs();
109 void createPlot(
int currentRow);
110 void syncPlotSettings(
int row);
111 int getLastPlotIdx();
113 void addPlot(
bool checked,
const QString& name,
const QString& dfilter, QRgb color_idx,
114 Graph::PlotStyles style,
const QString& yfield,
int y_axis_factor = Graph::default_y_axis_factor_);
116 void addDefaultPlot(
bool enabled,
bool filtered);
118 bool graphIsEnabled(
int row)
const;
119 Plot* currentActiveGraph()
const;
122 void updateLegendPos();
124 void doZoom(
bool in,
bool y);
125 void zoomAxes(
bool in);
126 void zoomXAxis(
bool in);
127 void zoomYAxis(
bool in);
128 void panAxes(
int x_pixels,
int y_pixels);
129 void updateXAxisLabel();
130 QRectF getZoomRanges(QRect zoom_rect, QCPAxisRect** matchedAxisRect =
nullptr);
131 bool makeCsv(QTextStream&
stream)
const;
132 QCPAxisRect* getAxisRect(
int idx);
133 void removeExcessPlots();
134 void setTracerColor();
135 QCPAxisRect* axisRectFromPos(
const QPoint& pos);
138 QPushButton* copy_bt_;
143 QPointer<UatModel> uat_model_;
147 QVector<Plot*> plots_;
150 QCPGraph* base_graph_;
151 QCPItemTracer* tracer_;
152 uint32_t packet_num_;
154 QRubberBand* rubber_band_;
158 QCPMarginGroup* margin_group_;
159 Qt::Alignment legend_alignment_;
167 static void applyChanges();
169 void updateStatistics();
171 void copyFromProfile(
const QString& filename);
172 void copyAsCsvClicked();
174 void showContextMenu(
const QPoint& pos);
176 void graphClicked(QMouseEvent* event);
177 void mouseMoved(QMouseEvent* event);
178 void mouseReleased(QMouseEvent* event);
180 void selectedFrameChanged(
const QList<int>& frames);
181 void plotUatSelectionChanged(
const QItemSelection& selected,
const QItemSelection& deselected);
182 void on_leftButtonBox_clicked(QAbstractButton* button);
183 void on_actionLegend_triggered(
bool checked);
184 void on_actionLogScale_triggered(
bool checked);
185 void on_actionCrosshairs_triggered(
bool checked);
186 void on_actionTopAxis_triggered(
bool checked);
187 void on_automaticUpdateCheckBox_toggled(
bool checked);
188 void on_plotUat_currentItemChanged(
const QModelIndex& current,
const QModelIndex& previous);
189 void on_actionGoToPacket_triggered();
190 void on_newToolButton_clicked();
191 void on_deleteToolButton_clicked();
192 void on_copyToolButton_clicked();
193 void on_clearToolButton_clicked();
194 void on_moveUpwardsToolButton_clicked();
195 void on_moveDownwardsToolButton_clicked();
196 void on_rightButtonBox_helpRequested();
197 void on_actionReset_triggered() { resetAxes(); }
198 void on_actionZoomIn_triggered() { zoomAxes(
true); }
199 void on_actionZoomInX_triggered() { zoomXAxis(
true); }
200 void on_actionZoomInY_triggered() { zoomYAxis(
true); }
201 void on_actionZoomOut_triggered() { zoomAxes(
false); }
202 void on_actionZoomOutX_triggered() { zoomXAxis(
false); }
203 void on_actionZoomOutY_triggered() { zoomYAxis(
false); }
204 void on_actionMoveUp10_triggered() { panAxes(0, 10); }
205 void on_actionMoveLeft10_triggered() { panAxes(-10, 0); }
206 void on_actionMoveRight10_triggered() { panAxes(10, 0); }
207 void on_actionMoveDown10_triggered() { panAxes(0, -10); }
208 void on_actionMoveUp1_triggered() { panAxes(0, 1); }
209 void on_actionMoveLeft1_triggered() { panAxes(-1, 0); }
210 void on_actionMoveRight1_triggered() { panAxes(1, 0); }
211 void on_actionMoveDown1_triggered() { panAxes(0, -1); }
212 void on_actionToggleTimeOrigin_triggered();
213 void on_rightButtonBox_accepted();