]> sigrok.org Git - pulseview.git/blobdiff - pv/view/selectableitem.cpp
Header: Moved drag functionality into SelectableItem
[pulseview.git] / pv / view / selectableitem.cpp
index 3f4f6da92dbef767611c404c753210888b7247fe..6331575a4016b7afcf529688e8a66b1342cdefff 100644 (file)
@@ -20,6 +20,8 @@
 
 #include "selectableitem.h"
 
+#include <climits>
+
 #include <QApplication>
 #include <QMenu>
 #include <QPalette>
@@ -31,7 +33,8 @@ const int SelectableItem::HighlightRadius = 6;
 
 SelectableItem::SelectableItem() :
        _context_parent(NULL),
-       _selected(false)
+       _selected(false),
+       _drag_point(INT_MIN, INT_MIN)
 {
 }
 
@@ -45,6 +48,26 @@ void SelectableItem::select(bool 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;