85 void initialize(QWidget& parent,
uat_field_t* plot_fields,
bool show_default =
true);
88 void addPlot(
bool checked,
const QString& dfilter,
const QString& yfield);
91 void scheduleReplot() { need_replot_ =
true; }
92 void scheduleRecalc() { need_recalc_ =
true; }
93 void scheduleRetap() { need_retap_ =
true; }
97 void keyPressEvent(QKeyEvent* event)
override;
98 void reject()
override;
99 virtual QString getFilteredName()
const;
100 virtual QString getYAxisName()
const;
101 virtual QString getHintText(
unsigned num_items)
const;
103 virtual void addDefaultPlot(
bool enabled,
bool filtered);
105 void addPlot(
bool checked,
const QString& name,
const QString& dfilter, QRgb color_idx,
106 Graph::PlotStyles style,
const QString& yfield,
double y_axis_factor = Graph::default_y_axis_factor_);
109 void modelDataChanged(
const QModelIndex& topLeft,
const QModelIndex& bottomRight,
const QVector<int>& roles);
110 void modelRowsReset();
111 void modelRowsInserted(
const QModelIndex& parent,
int first,
int last);
112 void modelRowsRemoved(
const QModelIndex& parent,
int first,
int last);
113 void modelRowsMoved(
const QModelIndex& sourceParent,
int sourceStart,
int sourceEnd,
const QModelIndex& destinationParent,
int destinationRow);
116 void goToPacket(
int packet,
int hf_id);
117 void updateMarker(
const int size,
const double xCoord,
const int);
118 void setPosMarker(
const double xCoord,
const int selectMPos,
const int posMPos);
121 void createPlot(
int currentRow);
122 void syncPlotSettings(
int row);
123 int getLastPlotIdx();
125 bool graphIsEnabled(
int row)
const;
126 Plot* currentActiveGraph()
const;
129 void updateLegendPos();
131 void doZoom(
bool in,
bool y);
132 void zoomAxes(
bool in);
133 void zoomXAxis(
bool in);
134 void zoomYAxis(
bool in);
135 void panAxes(
int x_pixels,
int y_pixels);
136 void updateXAxisLabel();
137 QRectF getZoomRanges(QRect zoom_rect, QCPAxisRect** matchedAxisRect =
nullptr);
138 bool makeCsv(QTextStream&
stream)
const;
139 QCPAxisRect* getAxisRect(
int idx);
140 void removeExcessPlots();
141 void setTracerColor();
142 QCPAxisRect* axisRectFromPos(
const QPoint& pos);
143 void addMarkerDifference();
144 int visibleMarker(
const bool first =
true)
const;
145 Marker* addMarker(
const bool isPosMarker);
146 void drawMarker(
const Marker*);
148 void addDataPointsMarkers();
149 void updateFirstAxisRectHeight();
150 void recreateMultiValueAxes();
151 QList<QCPAxisRect*> axisRects()
const;
152 void autoScroll()
const;
154 QPushButton* copy_bt_;
159 QPointer<UatModel> uat_model_;
163 QVector<Plot*> plots_;
166 QCPGraph* base_graph_;
167 QCPItemTracer* tracer_;
168 uint32_t packet_num_;
170 QRubberBand* rubber_band_;
174 QCPMarginGroup* margin_group_;
175 Qt::Alignment legend_alignment_;
181 double last_right_clicked_pos_;
183 static void applyChanges();
185 void updateStatistics();
187 void copyFromProfile(
const QString& filename);
188 void copyAsCsvClicked();
190 void showContextMenu(
const QPoint& pos);
192 void graphClicked(QMouseEvent* event);
193 void mouseMoved(QMouseEvent* event);
194 void mouseReleased(QMouseEvent* event);
196 void selectedFrameChanged(
const QList<int>& frames);
197 void plotUatSelectionChanged(
const QItemSelection& selected,
const QItemSelection& deselected);
198 void on_leftButtonBox_clicked(QAbstractButton* button);
199 void on_actionLegend_triggered(
bool checked);
200 void on_actionLogScale_triggered(
bool checked);
201 void on_actionCrosshairs_triggered(
bool checked);
202 void on_actionTopAxis_triggered(
bool checked);
203 void on_automaticUpdateCheckBox_toggled(
bool checked);
204 void on_plotUat_currentItemChanged(
const QModelIndex& current,
const QModelIndex& previous);
205 void on_actionGoToPacket_triggered();
206 void on_newToolButton_clicked();
207 void on_deleteToolButton_clicked();
208 void on_copyToolButton_clicked();
209 void on_clearToolButton_clicked();
210 void on_moveUpwardsToolButton_clicked();
211 void on_moveDownwardsToolButton_clicked();
212 void on_rightButtonBox_helpRequested();
213 void on_actionReset_triggered() { resetAxes(); }
214 void on_actionZoomIn_triggered() { zoomAxes(
true); }
215 void on_actionZoomInX_triggered() { zoomXAxis(
true); }
216 void on_actionZoomInY_triggered() { zoomYAxis(
true); }
217 void on_actionZoomOut_triggered() { zoomAxes(
false); }
218 void on_actionZoomOutX_triggered() { zoomXAxis(
false); }
219 void on_actionZoomOutY_triggered() { zoomYAxis(
false); }
220 void on_actionMoveUp10_triggered() { panAxes(0, 10); }
221 void on_actionMoveLeft10_triggered() { panAxes(-10, 0); }
222 void on_actionMoveRight10_triggered() { panAxes(10, 0); }
223 void on_actionMoveDown10_triggered() { panAxes(0, -10); }
224 void on_actionMoveUp1_triggered() { panAxes(0, 1); }
225 void on_actionMoveLeft1_triggered() { panAxes(-1, 0); }
226 void on_actionMoveRight1_triggered() { panAxes(1, 0); }
227 void on_actionMoveDown1_triggered() { panAxes(0, -1); }
228 void on_actionToggleTimeOrigin_triggered();
229 void on_rightButtonBox_accepted();
230 void on_actionAutoScroll_triggered(
bool checked);
231 void on_actionEnableMultiYAxes_triggered(
bool checked);
233 void on_actionAddMarker_triggered();
234 void on_actionMoveMarker_triggered();
235 void on_actionShowPosMarker_triggered();
236 void on_actionShowMarkersDifference_triggered();
237 void on_actionDeleteMarker_triggered();
238 void on_actionDeleteAllMarkers_triggered();
239 void on_actionShowDataPointMarker_triggered();