]> sigrok.org Git - pulseview.git/blobdiff - pv/view/header.hpp
MarginWidget: Moved in mouseMoveEvent
[pulseview.git] / pv / view / header.hpp
index 10335cf5b6faf0cafbfe96f09fcd5ef8bddf4425..f12d23ca5852f40a1707301e38b2d4de22910fec 100644 (file)
@@ -32,6 +32,7 @@ namespace view {
 
 class RowItem;
 class View;
+class ViewItem;
 
 class Header : public MarginWidget
 {
@@ -59,27 +60,36 @@ public:
        static const int BaselineOffset;
 
 private:
-       std::shared_ptr<pv::view::RowItem> get_mouse_over_item(
+       /**
+        * Gets the row items.
+        */
+       std::vector< std::shared_ptr<pv::view::ViewItem> > items();
+
+       /**
+        * Gets the first view item which has a label that contains @c pt .
+        * @param pt the point to search with.
+        * @return the view item that has been found, or and empty
+        *   @c shared_ptr if no item was found.
+        */
+       std::shared_ptr<pv::view::ViewItem> get_mouse_over_item(
                const QPoint &pt);
 
-       void clear_selection();
+       /**
+        * Returns true if the selection of row items allows dragging.
+        * @return Returns true if the drag is acceptable.
+        */
+       bool accept_drag() const;
 
-       void show_popup(const std::shared_ptr<RowItem> &item);
+       /**
+        * Drag the dragging items by the delta offset.
+        * @param delta the drag offset in pixels.
+        */
+       void drag_items(const QPoint &delta);
 
 private:
        void paintEvent(QPaintEvent *event);
 
 private:
-       void mouseLeftPressEvent(QMouseEvent *event);
-       void mousePressEvent(QMouseEvent * event);
-
-       void mouseLeftReleaseEvent(QMouseEvent *event);
-       void mouseReleaseEvent(QMouseEvent *event);
-
-       void mouseMoveEvent(QMouseEvent *event);
-
-       void leaveEvent(QEvent *event);
-
        void contextMenuEvent(QContextMenuEvent *event);
 
        void keyPressEvent(QKeyEvent *e);
@@ -93,9 +103,6 @@ private Q_SLOTS:
 
 Q_SIGNALS:
        void signals_moved();
-
-private:
-       std::shared_ptr<RowItem> mouse_down_item_;
 };
 
 } // namespace view