#define PULSEVIEW_PV_VIEWS_TRACEVIEW_CURSORPAIR_HPP
#include "cursor.hpp"
+#include "pv/globalsettings.hpp"
#include <memory>
+#include <QColor>
#include <QPainter>
+#include <QRect>
using std::pair;
using std::shared_ptr;
namespace views {
namespace trace {
-class CursorPair : public TimeItem
+class View;
+
+class CursorPair : public TimeItem, public GlobalSettingsInterface
{
+ Q_OBJECT
+
private:
static const int DeltaPadding;
- static const QColor ViewportFillColor;
public:
/**
*/
CursorPair(View &view);
-public:
+ ~CursorPair();
+
/**
* Returns true if the item is visible and enabled.
*/
pv::widgets::Popup* create_popup(QWidget *parent) override;
-public:
QRectF label_rect(const QRectF &rect) const override;
/**
*/
QString format_string();
- void compute_text_size(QPainter &p);
-
pair<float, float> get_cursor_offsets() const;
+ virtual void on_setting_changed(const QString &key, const QVariant &value) override;
+
+public Q_SLOTS:
+ void on_hover_point_changed(const QWidget* widget, const QPoint &hp);
+
private:
shared_ptr<Cursor> first_, second_;
+ QColor fill_color_;
QSizeF text_size_;
+ QRectF label_area_;
+ bool label_incomplete_;
};
} // namespace trace