]> sigrok.org Git - pulseview.git/commitdiff
ViewWidget: Moved in drag_items
authorJoel Holdsworth <redacted>
Tue, 23 Dec 2014 19:24:47 +0000 (19:24 +0000)
committerJoel Holdsworth <redacted>
Mon, 29 Dec 2014 12:24:23 +0000 (12:24 +0000)
pv/view/header.cpp
pv/view/header.hpp
pv/view/marginwidget.hpp
pv/view/ruler.cpp
pv/view/ruler.hpp
pv/view/viewwidget.cpp
pv/view/viewwidget.hpp

index cb6f0658b4c9b00561822ab09048763f1eccb43a..e3ad9d3815d9aa7de5f83b62d5ac4a18d3431949 100644 (file)
@@ -92,23 +92,6 @@ shared_ptr<ViewItem> Header::get_mouse_over_item(const QPoint &pt)
        return shared_ptr<RowItem>();
 }
 
-void Header::drag_items(const QPoint &delta)
-{
-       RowItemOwner *item_owner = nullptr;
-       for (std::shared_ptr<RowItem> r : view_)
-               if (r->dragging()) {
-                       item_owner = r->owner();
-                       r->drag_by(delta);
-
-                       // Ensure the trace is selected
-                       r->select();
-               }
-
-       item_owner->restack_items();
-       for (const auto &r : *item_owner)
-               r->animate_to_layout_v_offset();
-}
-
 void Header::paintEvent(QPaintEvent*)
 {
        // The trace labels are not drawn with the arrows exactly on the
index 9bca88cee73bf83c35510b8afd4c30bad2ebfca5..ac8f792f6b9656b9de622eb82a0001aae06b0ca8 100644 (file)
@@ -74,12 +74,6 @@ private:
        std::shared_ptr<pv::view::ViewItem> get_mouse_over_item(
                const QPoint &pt);
 
-       /**
-        * 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);
 
index 2178003f00969584c309d7832c6a09b2dab756c0..029d68e5214970d700c4e3e0240b8c79935044ba 100644 (file)
@@ -67,12 +67,6 @@ protected:
         */
        void show_popup(const std::shared_ptr<ViewItem> &item);
 
-       /**
-        * Drag the dragging items by the delta offset.
-        * @param delta the drag offset in pixels.
-        */
-       virtual void drag_items(const QPoint &delta) = 0;
-
        /**
         * Handles left mouse button press events.
         * @param event the mouse event that triggered this handler.
index 0149155d24c300e0bbd8b68127548ac1d4416ac9..bd106b974c695e19d78a7abdad3adf887ba0e1fb 100644 (file)
@@ -83,14 +83,6 @@ shared_ptr<ViewItem> Ruler::get_mouse_over_item(const QPoint &pt)
        return nullptr;
 }
 
-void Ruler::drag_items(const QPoint &delta)
-{
-       const vector< shared_ptr<TimeItem> > items(view_.time_items());
-       for (auto &i : items)
-               if (i->dragging())
-                       i->drag_by(delta);
-}
-
 void Ruler::paintEvent(QPaintEvent*)
 {
        const int ValueMargin = 3;
index c93586e169a799d9606ee3ca9666a0cf37ea6c9c..a2b80ab922dd6d593b00cc248e9f744d2db13b81 100644 (file)
@@ -73,12 +73,6 @@ private:
        std::shared_ptr<pv::view::ViewItem> get_mouse_over_item(
                const QPoint &pt);
 
-       /**
-        * 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);
 
index 9408a2de6b6793968317207aff32452e593054be..9c4c56ff6f0e50d20f1ec3839ee9b4b8ebbc6f30 100644 (file)
@@ -70,5 +70,31 @@ bool ViewWidget::accept_drag() const
        return false;
 }
 
+void ViewWidget::drag_items(const QPoint &delta)
+{
+       // Drag the row items
+       RowItemOwner *item_owner = nullptr;
+       for (std::shared_ptr<RowItem> r : view_)
+               if (r->dragging()) {
+                       item_owner = r->owner();
+                       r->drag_by(delta);
+
+                       // Ensure the trace is selected
+                       r->select();
+               }
+
+       if (item_owner) {
+               item_owner->restack_items();
+               for (const auto &r : *item_owner)
+                       r->animate_to_layout_v_offset();
+       }
+
+       // Drag the time items
+       const vector< shared_ptr<TimeItem> > items(view_.time_items());
+       for (auto &i : items)
+               if (i->dragging())
+                       i->drag_by(delta);
+}
+
 } // namespace view
 } // namespace pv
index 1989fe13e7d9b44925d82d3c852dd29df1995978..3b22441a9e0b16f22df4cb0ffdaa7a30dd131230 100644 (file)
@@ -41,6 +41,12 @@ protected:
         */
        bool accept_drag() const;
 
+       /**
+        * Drag the dragging items by the delta offset.
+        * @param delta the drag offset in pixels.
+        */
+       void drag_items(const QPoint &delta);
+
 protected:
        pv::view::View &view_;
 };