X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fview%2Fselectableitem.h;h=d3217752289e4cea7ceffdc16b59482ddd862471;hp=69204b29478b901ec703ee858ab3ba457ad318ec;hb=e183f4e328db8bb134652254ba9bf0707dc16c66;hpb=f1283456ae0859990ccd914f8c147064345df13f 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; };