#include <QAbstractScrollArea>
#include <QSizeF>
+#include <QTimer>
#include <pv/data/signaldata.h>
class View : public QAbstractScrollArea, public RowItemOwner {
Q_OBJECT
+private:
+ enum StickyEvents {
+ SelectableItemHExtentsChanged = 1,
+ SelectableItemVExtentsChanged = 2
+ };
+
private:
static const double MaxScale;
static const double MinScale;
const QPoint& hover_point() const;
- void normalize_layout();
-
void update_viewport();
Q_SIGNALS:
void resizeEvent(QResizeEvent *e);
+public:
+ void appearance_changed(bool label, bool content);
+
+ void extents_changed(bool horz, bool vert);
+
private Q_SLOTS:
void h_scroll_value_changed(int value);
void on_signals_moved();
- void on_geometry_updated();
+ void process_sticky_events();
void on_hover_point_changed();
CursorPair _cursors;
QPoint _hover_point;
+
+ unsigned int _sticky_events;
+ QTimer _lazy_event_handler;
};
} // namespace view