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);
106 void updateMarker(
const int size,
const double xCoord,
const int);
107 void setPosMarker(
const double xCoord,
const int selectMPos,
const int posMPos);
109 void loadProfileGraphs();
110 void createPlot(
int currentRow);
111 void syncPlotSettings(
int row);
112 int getLastPlotIdx();
114 void addPlot(
bool checked,
const QString& name,
const QString& dfilter, QRgb color_idx,
115 Graph::PlotStyles style,
const QString& yfield,
int y_axis_factor = Graph::default_y_axis_factor_);
117 void addDefaultPlot(
bool enabled,
bool filtered);
119 bool graphIsEnabled(
int row)
const;
120 Plot* currentActiveGraph()
const;
123 void updateLegendPos();
125 void doZoom(
bool in,
bool y);
126 void zoomAxes(
bool in);
127 void zoomXAxis(
bool in);
128 void zoomYAxis(
bool in);
129 void panAxes(
int x_pixels,
int y_pixels);
130 void updateXAxisLabel();
131 QRectF getZoomRanges(QRect zoom_rect, QCPAxisRect** matchedAxisRect =
nullptr);
132 bool makeCsv(QTextStream&
stream)
const;
133 QCPAxisRect* getAxisRect(
int idx);
134 void removeExcessPlots();
135 void setTracerColor();
136 QCPAxisRect* axisRectFromPos(
const QPoint& pos);
137 void addMarkerDifference();
138 int visibleMarker(
const bool first =
true)
const;
139 Marker* addMarker(
const bool isPosMarker);
140 void drawMarker(
const Marker*);
142 void addDataPointsMarkers();
143 void updateFirstAxisRectHeight();
144 QList<QCPAxisRect*> axisRects()
const;
145 void autoScroll()
const;
147 QPushButton* copy_bt_;
152 QPointer<UatModel> uat_model_;
156 QVector<Plot*> plots_;
159 QCPGraph* base_graph_;
160 QCPItemTracer* tracer_;
161 uint32_t packet_num_;
163 QRubberBand* rubber_band_;
167 QCPMarginGroup* margin_group_;
168 Qt::Alignment legend_alignment_;
174 double last_right_clicked_pos_;
176 static void applyChanges();
178 void updateStatistics();
180 void copyFromProfile(
const QString& filename);
181 void copyAsCsvClicked();
183 void showContextMenu(
const QPoint& pos);
185 void graphClicked(QMouseEvent* event);
186 void mouseMoved(QMouseEvent* event);
187 void mouseReleased(QMouseEvent* event);
189 void selectedFrameChanged(
const QList<int>& frames);
190 void plotUatSelectionChanged(
const QItemSelection& selected,
const QItemSelection& deselected);
191 void on_leftButtonBox_clicked(QAbstractButton* button);
192 void on_actionLegend_triggered(
bool checked);
193 void on_actionLogScale_triggered(
bool checked);
194 void on_actionCrosshairs_triggered(
bool checked);
195 void on_actionTopAxis_triggered(
bool checked);
196 void on_automaticUpdateCheckBox_toggled(
bool checked);
197 void on_plotUat_currentItemChanged(
const QModelIndex& current,
const QModelIndex& previous);
198 void on_actionGoToPacket_triggered();
199 void on_newToolButton_clicked();
200 void on_deleteToolButton_clicked();
201 void on_copyToolButton_clicked();
202 void on_clearToolButton_clicked();
203 void on_moveUpwardsToolButton_clicked();
204 void on_moveDownwardsToolButton_clicked();
205 void on_rightButtonBox_helpRequested();
206 void on_actionReset_triggered() { resetAxes(); }
207 void on_actionZoomIn_triggered() { zoomAxes(
true); }
208 void on_actionZoomInX_triggered() { zoomXAxis(
true); }
209 void on_actionZoomInY_triggered() { zoomYAxis(
true); }
210 void on_actionZoomOut_triggered() { zoomAxes(
false); }
211 void on_actionZoomOutX_triggered() { zoomXAxis(
false); }
212 void on_actionZoomOutY_triggered() { zoomYAxis(
false); }
213 void on_actionMoveUp10_triggered() { panAxes(0, 10); }
214 void on_actionMoveLeft10_triggered() { panAxes(-10, 0); }
215 void on_actionMoveRight10_triggered() { panAxes(10, 0); }
216 void on_actionMoveDown10_triggered() { panAxes(0, -10); }
217 void on_actionMoveUp1_triggered() { panAxes(0, 1); }
218 void on_actionMoveLeft1_triggered() { panAxes(-1, 0); }
219 void on_actionMoveRight1_triggered() { panAxes(1, 0); }
220 void on_actionMoveDown1_triggered() { panAxes(0, -1); }
221 void on_actionToggleTimeOrigin_triggered();
222 void on_rightButtonBox_accepted();
223 void on_actionAutoScroll_triggered(
bool checked);
225 void on_actionAddMarker_triggered();
226 void on_actionMoveMarker_triggered();
227 void on_actionShowPosMarker_triggered();
228 void on_actionShowMarkersDifference_triggered();
229 void on_actionDeleteMarker_triggered();
230 void on_actionDeleteAllMarkers_triggered();
231 void on_actionShowDataPointMarker_triggered();