25 void showMarkerDifferences();
26 void setDataPointVisibility(
const bool visible);
27 QString currentValue()
const {
return QString::number(tracer()->position->value(),
'g', 4); }
29 bool mousePressed(QPoint);
30 void clearMarkerDifferences();
31 inline int selectedMarker()
const {
return selected_marker_idx_; }
32 void markerVisibilityChanged(
const Marker* m);
33 void showMarkersDifference(
bool show) { marker_diff_visible_ = show; }
34 void addMarkerElements(
const Marker*);
35 void deleteMarkersElements();
36 void deleteMarkerElements(
const int);
37 void addDataPointsMarker(QCPGraph* graph);
38 QString selectedMarker(
const int ignoreIdx);
39 QVector<Marker*> markers()
const {
return markers_; }
40 Marker* addMarker(
double x,
bool isPosMarker);
41 void deleteMarker(
Marker* m);
42 void deleteAllMarkers();
43 QList<const Marker*> visibleMarkers()
const;
44 Marker* marker(
const QString&);
47 void markerMoved(
const Marker*);
50 void mouseMoveEvent(QMouseEvent* event)
override;
53 void markerMoved(
const int,
const double,
const bool);
54 QList<const Marker*> orderedMarkers(QList<const Marker*>)
const;
55 void addTitleMarker(
const Marker*);
56 QCPItemTracer* tracer()
const {
return findChild<QCPItemTracer*>(); }
57 void resetSelectedMarker() { selected_marker_idx_ = -1; }
58 void deleteMarkerDataPoint(
const int marker_idx);
59 QCPItemText* markerTitle(
const int markerIdx,
const bool =
false);
60 QCPItemText* markerDataPoint(
const QString& idx,
const bool =
false);
61 QCPItemStraightLine* markerLine(
const int mIdx,
const int rectIdx,
const bool =
false);
62 void updateQCPItemText(QCPItemText* item,
const QString& txt,
const QPointF pos);
63 void updateDataPointMarker(QCPItemText* item,
const double, QCPGraph*,
bool visible);
64 QString dataPointMarker(
const double)
const;
65 inline QString itemIndex(
int markerIdx,
int graphIdx)
const {
return QString(
"%1_%2").arg(markerIdx).arg(graphIdx); }
66 void addDataPointsMarker(QCPGraph* graph,
int graph_idx,
const int marker_idx,
const double x,
bool visible);
67 bool canAddDataPoint(
const QCPGraph* graph,
const double x)
const;
68 Marker* marker(
const std::function<
bool(
const Marker&)>& predicate);
70 typename std::enable_if<std::is_base_of<QCPAbstractItem, T>::value, T*>::type
71 getOrAddQCPItem(QCustomPlot* plot,
const QString& objName,
const bool create);
73 int selected_marker_idx_;
74 bool data_point_visible_;
75 bool marker_diff_visible_;
77 QVector<Marker*> markers_;