]> sigrok.org Git - pulseview.git/blobdiff - pv/view/selectableitem.cpp
Header: Keep a shared_ptr of the clicked item
[pulseview.git] / pv / view / selectableitem.cpp
index 31c45ef3b166fa9ff4f85894edc304d761b1ad72..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,12 +48,36 @@ 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;
        return new QMenu(parent);
 }
 
+void SelectableItem::delete_pressed()
+{
+}
+
 QPen SelectableItem::highlight_pen()
 {
        return QPen(QApplication::palette().brush(