X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fview%2Fselectableitem.cpp;h=5987b3ec457c4b6c40dccc07393eaf48ec517040;hb=8dbbc7f0b9ea59d0f0d62225772f8a56eee125f5;hp=517b6879120c2b71f34670df4a23b1caa154cae0;hpb=f1283456ae0859990ccd914f8c147064345df13f;p=pulseview.git diff --git a/pv/view/selectableitem.cpp b/pv/view/selectableitem.cpp index 517b687..5987b3e 100644 --- a/pv/view/selectableitem.cpp +++ b/pv/view/selectableitem.cpp @@ -20,22 +20,69 @@ #include "selectableitem.h" +#include + +#include +#include +#include + namespace pv { namespace view { +const int SelectableItem::HighlightRadius = 6; + SelectableItem::SelectableItem() : - _selected(false) + context_parent_(NULL), + selected_(false), + drag_point_(INT_MIN, INT_MIN) { } bool SelectableItem::selected() const { - return _selected; + return selected_; } void SelectableItem::select(bool select) { - _selected = select; + selected_ = select; +} + +bool SelectableItem::dragging() const +{ + return drag_point_.x() != INT_MIN && drag_point_.y() != INT_MIN; +} + +QPoint SelectableItem::drag_point() const +{ + return drag_point_; +} + +void SelectableItem::drag() +{ + drag_point_ = point(); +} + +void SelectableItem::drag_release() +{ + drag_point_ = QPoint(INT_MIN, INT_MIN); +} + +QMenu* SelectableItem::create_context_menu(QWidget *parent) +{ + context_parent_ = parent; + return new QMenu(parent); +} + +void SelectableItem::delete_pressed() +{ +} + +QPen SelectableItem::highlight_pen() +{ + return QPen(QApplication::palette().brush( + QPalette::Highlight), HighlightRadius, + Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin); } } // namespace view