]> sigrok.org Git - pulseview.git/blobdiff - pv/view/selectableitem.h
Renamed get_samplerate to samplerate
[pulseview.git] / pv / view / selectableitem.h
index 4bbd1f6993d6813ed6f7016b5029bdf083b46549..d3217752289e4cea7ceffdc16b59482ddd862471 100644 (file)
 
 #include <list>
 
+#include <QPen>
+
 class QAction;
+class QMenu;
+class QWidget;
 
 namespace pv {
+
+namespace widgets {
+class Popup;
+}
+
 namespace view {
 
-class SelectableItem
+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 QMenu* create_context_menu(QWidget *parent);
+
+       virtual pv::widgets::Popup* create_popup(QWidget *parent) = 0;
+
+       virtual void delete_pressed();
+
+protected:
+       static QPen highlight_pen();
+
+protected:
+       QWidget *_context_parent;
+
+private:
+       bool _selected;
 };
 
 } // namespace view