]> sigrok.org Git - pulseview.git/blobdiff - pv/view/selectableitem.h
Initialise Trace widgets when the trace is received by the View
[pulseview.git] / pv / view / selectableitem.h
index d54491370bd769a588c82ff544f58d13fb1112cd..467da0f2cbf0b7140edf87fb9e3be0b34b3c79e6 100644 (file)
@@ -23,7 +23,7 @@
 
 #include <list>
 
-#include <QObject>
+#include <QPen>
 
 class QAction;
 
@@ -34,6 +34,33 @@ class SelectableItem : public QObject
 {
        Q_OBJECT
 
+private:
+       static const int HighlightRadius;
+
+public:
+       SelectableItem();
+
+public:
+       /**
+        * Returns true if the signal has been selected by the user.
+        */
+       bool selected() const;
+
+       /**
+        * Selects or deselects the signal.
+        */
+       void select(bool select = true);
+
+public:
+       virtual void init_context_bar_actions(QWidget *parent) = 0;
+
+       virtual const std::list<QAction*> get_context_bar_actions() = 0;
+
+protected:
+       static QPen highlight_pen();
+
+private:
+       bool _selected;
 };
 
 } // namespace view