X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fview%2Fselectableitem.cpp;h=b699005f4374a1e2bce16ecd872f033ae691c9ee;hp=3f4f6da92dbef767611c404c753210888b7247fe;hb=bccef54223c86f65fb0b7ead3124d945f1548beb;hpb=5ed1adf555e0f0fb36d5b4b36f2be17745b5c8ae diff --git a/pv/view/selectableitem.cpp b/pv/view/selectableitem.cpp index 3f4f6da9..b699005f 100644 --- a/pv/view/selectableitem.cpp +++ b/pv/view/selectableitem.cpp @@ -18,7 +18,9 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -#include "selectableitem.h" +#include "selectableitem.hpp" + +#include #include #include @@ -30,24 +32,45 @@ namespace view { const int SelectableItem::HighlightRadius = 6; SelectableItem::SelectableItem() : - _context_parent(NULL), - _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; + context_parent_ = parent; return new QMenu(parent); }