]> sigrok.org Git - pulseview.git/blobdiff - pv/view/selectableitem.h
Implemented Popup dialog widget
[pulseview.git] / pv / view / selectableitem.h
index 69204b29478b901ec703ee858ab3ba457ad318ec..323c87e18743ff894255137af83cbc86c6fce5c3 100644 (file)
 
 #include <list>
 
-#include <QObject>
+#include <QPen>
 
 class QAction;
+class QMenu;
+class QWidget;
 
 namespace pv {
 namespace view {
@@ -34,6 +36,9 @@ class SelectableItem : public QObject
 {
        Q_OBJECT
 
+private:
+       static const int HighlightRadius;
+
 public:
        SelectableItem();
 
@@ -48,6 +53,19 @@ public:
         */
        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;
+
+       virtual QMenu* create_context_menu(QWidget *parent);
+
+protected:
+       static QPen highlight_pen();
+
+protected:
+       QWidget *_context_parent;
+
 private:
        bool _selected;
 };