X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=pv%2Fview%2Fselectableitem.h;h=d3217752289e4cea7ceffdc16b59482ddd862471;hb=d7c0ca4a965c5f9cb2ae9aea584bb2547f4baca1;hp=69204b29478b901ec703ee858ab3ba457ad318ec;hpb=f1283456ae0859990ccd914f8c147064345df13f;p=pulseview.git diff --git a/pv/view/selectableitem.h b/pv/view/selectableitem.h index 69204b29..d3217752 100644 --- a/pv/view/selectableitem.h +++ b/pv/view/selectableitem.h @@ -23,17 +23,27 @@ #include -#include +#include class QAction; +class QMenu; +class QWidget; namespace pv { + +namespace widgets { +class Popup; +} + namespace view { class SelectableItem : public QObject { Q_OBJECT +private: + static const int HighlightRadius; + public: SelectableItem(); @@ -48,6 +58,19 @@ public: */ 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; };