X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fview%2Fselectableitem.h;h=467da0f2cbf0b7140edf87fb9e3be0b34b3c79e6;hb=ef8311a4296a2dc85c82b063de61efa4eb7a8404;hp=4bbd1f6993d6813ed6f7016b5029bdf083b46549;hpb=e0e90d8091d3e4f20c03de6015bcedc5e4568567;p=pulseview.git diff --git a/pv/view/selectableitem.h b/pv/view/selectableitem.h index 4bbd1f6..467da0f 100644 --- a/pv/view/selectableitem.h +++ b/pv/view/selectableitem.h @@ -23,13 +23,44 @@ #include +#include + class QAction; namespace pv { 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 void init_context_bar_actions(QWidget *parent) = 0; + + virtual const std::list get_context_bar_actions() = 0; + +protected: + static QPen highlight_pen(); + +private: + bool _selected; }; } // namespace view