]> sigrok.org Git - pulseview.git/commitdiff
Remove signal scale handle
authorSoeren Apel <redacted>
Thu, 20 Jul 2017 06:45:06 +0000 (08:45 +0200)
committerSoeren Apel <redacted>
Sat, 22 Jul 2017 19:42:50 +0000 (21:42 +0200)
It will be replaced by a different mechanism.

CMakeLists.txt
pv/views/trace/signal.cpp
pv/views/trace/signal.hpp
pv/views/trace/signalscalehandle.cpp [deleted file]
pv/views/trace/signalscalehandle.hpp [deleted file]
pv/views/trace/viewitemowner.cpp
pv/views/trace/viewitemowner.hpp
test/CMakeLists.txt

index 66ef33b118ee405d463abd4c03ee1b317a283f2e..d210f92ae3cd351b8b87e5254319b00025165b62 100644 (file)
@@ -234,7 +234,6 @@ set(pulseview_SOURCES
        pv/views/trace/rowitem.cpp
        pv/views/trace/ruler.cpp
        pv/views/trace/signal.cpp
-       pv/views/trace/signalscalehandle.cpp
        pv/views/trace/timeitem.cpp
        pv/views/trace/timemarker.cpp
        pv/views/trace/trace.cpp
@@ -297,7 +296,6 @@ set(pulseview_HEADERS
        pv/views/trace/rowitem.hpp
        pv/views/trace/ruler.hpp
        pv/views/trace/signal.hpp
-       pv/views/trace/signalscalehandle.hpp
        pv/views/trace/timeitem.hpp
        pv/views/trace/timemarker.hpp
        pv/views/trace/trace.hpp
index a55598cf3199854aacf98c4dad12558a6cecc4cb..3d6ee151b6af093fd4443cfba335cebe94dbf3e5 100644 (file)
@@ -63,8 +63,6 @@ Signal::Signal(pv::Session &session,
        shared_ptr<data::SignalBase> channel) :
        Trace(channel),
        session_(session),
-       scale_handle_(make_shared<SignalScaleHandle>(*this)),
-       items_({scale_handle_}),
        name_widget_(nullptr)
 {
        assert(base_);
@@ -101,11 +99,6 @@ void Signal::restore_settings(QSettings &settings)
        (void)settings;
 }
 
-const ViewItemOwner::item_list& Signal::child_items() const
-{
-       return items_;
-}
-
 void Signal::paint_back(QPainter &p, ViewItemPaintParams &pp)
 {
        if (base_->enabled())
index 83472818034a8592bd60108607f7ef19fd7e8f09..d763609d972abc322dc796e9aca32a2add66269f 100644 (file)
@@ -27,7 +27,6 @@
 
 #include <cstdint>
 
-#include "signalscalehandle.hpp"
 #include "trace.hpp"
 #include "viewitemowner.hpp"
 
@@ -71,11 +70,6 @@ public:
 
        virtual void restore_settings(QSettings &settings);
 
-       /**
-        * Returns a list of row items owned by this object.
-        */
-       const item_list& child_items() const;
-
        void paint_back(QPainter &p, ViewItemPaintParams &pp);
 
        virtual void populate_popup_form(QWidget *parent, QFormLayout *form);
@@ -84,22 +78,6 @@ public:
 
        void delete_pressed();
 
-       /**
-        * Returns the offset to show the drag handle.
-        */
-       virtual int scale_handle_offset() const = 0;
-
-       /**
-        * Handles the scale handle being dragged to an offset.
-        * @param offset the offset the scale handle was dragged to.
-        */
-       virtual void scale_handle_dragged(int offset) = 0;
-
-       /**
-        * Handles the scale handle being being released.
-        */
-       virtual void scale_handle_released() {};
-
 protected Q_SLOTS:
        virtual void on_name_changed(const QString &text);
 
@@ -110,9 +88,6 @@ protected Q_SLOTS:
 protected:
        pv::Session &session_;
 
-       const shared_ptr<SignalScaleHandle> scale_handle_;
-       const item_list items_;
-
        QComboBox *name_widget_;
 };
 
diff --git a/pv/views/trace/signalscalehandle.cpp b/pv/views/trace/signalscalehandle.cpp
deleted file mode 100644 (file)
index b7bd85f..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * This file is part of the PulseView project.
- *
- * Copyright (C) 2015 Joel Holdsworth <joel@airwebreathe.org.uk>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see <http://www.gnu.org/licenses/>.
- */
-
-#include <algorithm>
-
-#include <QRadialGradient>
-
-#include "signal.hpp"
-#include "signalscalehandle.hpp"
-#include "tracetreeitemowner.hpp"
-
-using std::max;
-using std::min;
-
-namespace pv {
-namespace views {
-namespace trace {
-
-SignalScaleHandle::SignalScaleHandle(Signal &owner) :
-       owner_(owner)
-{
-}
-
-bool SignalScaleHandle::enabled() const
-{
-       return selected() || owner_.selected();
-}
-
-void SignalScaleHandle::select(bool select)
-{
-       ViewItem::select(select);
-       owner_.owner()->row_item_appearance_changed(true, true);
-}
-
-void SignalScaleHandle::drag_release()
-{
-       RowItem::drag_release();
-       owner_.scale_handle_released();
-       owner_.owner()->row_item_appearance_changed(true, true);
-}
-
-void SignalScaleHandle::drag_by(const QPoint &delta)
-{
-       owner_.scale_handle_dragged(
-               drag_point_.y() + delta.y() - owner_.get_visual_y());
-       owner_.owner()->row_item_appearance_changed(true, true);
-}
-
-QPoint SignalScaleHandle::drag_point(const QRect &rect) const
-{
-       return owner_.drag_point(rect) + QPoint(0, owner_.scale_handle_offset());
-}
-
-QRectF SignalScaleHandle::hit_box_rect(const ViewItemPaintParams &pp) const
-{
-       const int text_height = ViewItemPaintParams::text_height();
-       const double x = -pp.pixels_offset() - text_height / 2;
-       const double min_x = pp.left() + text_height;
-       const double max_x = pp.right() - text_height * 2;
-       return QRectF(min(max(x, min_x), max_x),
-               owner_.get_visual_y() + owner_.scale_handle_offset() -
-                       text_height / 2,
-               text_height, text_height);
-}
-
-void SignalScaleHandle::paint_fore(QPainter &p, ViewItemPaintParams &pp)
-{
-       if (!enabled())
-               return;
-
-       const QRectF r(hit_box_rect(pp));
-       const QPointF c = (r.topLeft() + 2 * r.center()) / 3;
-       QRadialGradient gradient(c, r.width(), c);
-
-       if (selected()) {
-               gradient.setColorAt(0.0, QColor(255, 255, 255));
-               gradient.setColorAt(0.75, QColor(192, 192, 192));
-               gradient.setColorAt(1.0, QColor(128, 128, 128));
-       } else {
-               gradient.setColorAt(0.0, QColor(192, 192, 192));
-               gradient.setColorAt(0.75, QColor(128, 128, 128));
-               gradient.setColorAt(1.0, QColor(128, 128, 128));
-       }
-
-       p.setBrush(QBrush(gradient));
-       p.setPen(QColor(128, 128, 128));
-       p.drawEllipse(r);
-}
-
-} // namespace trace
-} // namespace views
-} // namespace pv
diff --git a/pv/views/trace/signalscalehandle.hpp b/pv/views/trace/signalscalehandle.hpp
deleted file mode 100644 (file)
index 4b256a0..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * This file is part of the PulseView project.
- *
- * Copyright (C) 2015 Joel Holdsworth <joel@airwebreathe.org.uk>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef PULSEVIEW_PV_VIEWS_TRACEVIEW_SIGNALSCALEHANDLE_HPP
-#define PULSEVIEW_PV_VIEWS_TRACEVIEW_SIGNALSCALEHANDLE_HPP
-
-#include "rowitem.hpp"
-
-namespace pv {
-namespace views {
-namespace trace {
-
-class Signal;
-
-/**
- * A row item owned by a @c Signal that implements the v-scale adjustment grab
- * handle.
- */
-class SignalScaleHandle : public RowItem
-{
-       Q_OBJECT
-public:
-       /**
-        * Constructor
-        */
-       explicit SignalScaleHandle(Signal &owner);
-
-public:
-       /**
-        * Returns true if the parent item is enabled.
-        */
-       bool enabled() const;
-
-       /**
-        * Selects or deselects the signal.
-        */
-       void select(bool select = true);
-
-       /**
-        * Sets this item into the un-dragged state.
-        */
-       void drag_release();
-
-       /**
-        * Drags the item to a delta relative to the drag point.
-        * @param delta the offset from the drag point.
-        */
-       void drag_by(const QPoint &delta);
-
-       /**
-        * Get the drag point.
-        * @param rect the rectangle of the widget area.
-        */
-       QPoint drag_point(const QRect &rect) const;
-
-       /**
-        * Computes the outline rectangle of the viewport hit-box.
-        * @param rect the rectangle of the viewport area.
-        * @return Returns the rectangle of the hit-box.
-        */
-       QRectF hit_box_rect(const ViewItemPaintParams &pp) const;
-
-       /**
-        * Paints the foreground layer of the item with a QPainter
-        * @param p the QPainter to paint into.
-        * @param pp the painting parameters object to paint with.
-        */
-       void paint_fore(QPainter &p, ViewItemPaintParams &pp);
-
-private:
-       Signal &owner_;
-};
-
-} // namespace trace
-} // namespace views
-} // namespace pv
-
-#endif // PULSEVIEW_PV_VIEWS_TRACEVIEW_SIGNALSCALEHANDLE_HPP
index 855cb1afae3d5937ffe5b0cb05091cd1ba8412c2..0e880df6888d2c99345680cfaffdc2fa82566bdd 100644 (file)
@@ -27,6 +27,11 @@ namespace pv {
 namespace views {
 namespace trace {
 
+const ViewItemOwner::item_list& ViewItemOwner::child_items() const
+{
+       return items_;
+}
+
 ViewItemOwner::iterator ViewItemOwner::begin()
 {
        return iterator(this, items_.begin());
index b8dbe202fd427732974727d49ad30b5ec208fb27..29f74b5aff7ddcdfb47cf2fad387ee98e2b11b55 100644 (file)
@@ -50,7 +50,7 @@ public:
        /**
         * Returns a list of row items owned by this object.
         */
-       virtual const item_list& child_items() const = 0;
+       virtual const item_list& child_items() const;
 
        /**
         * Returns a depth-first iterator at the beginning of the child ViewItem
index e43d30dc9d3e888967f2900cc2dc25430b447fbc..b787cc92c1d0078d45b49608cb22556a0d0bc000 100644 (file)
@@ -61,7 +61,6 @@ set(pulseview_TEST_SOURCES
        ${PROJECT_SOURCE_DIR}/pv/views/trace/rowitem.cpp
        ${PROJECT_SOURCE_DIR}/pv/views/trace/ruler.cpp
        ${PROJECT_SOURCE_DIR}/pv/views/trace/signal.cpp
-       ${PROJECT_SOURCE_DIR}/pv/views/trace/signalscalehandle.cpp
        ${PROJECT_SOURCE_DIR}/pv/views/trace/timeitem.cpp
        ${PROJECT_SOURCE_DIR}/pv/views/trace/timemarker.cpp
        ${PROJECT_SOURCE_DIR}/pv/views/trace/trace.cpp
@@ -129,7 +128,6 @@ set(pulseview_TEST_HEADERS
        ${PROJECT_SOURCE_DIR}/pv/views/trace/rowitem.hpp
        ${PROJECT_SOURCE_DIR}/pv/views/trace/ruler.hpp
        ${PROJECT_SOURCE_DIR}/pv/views/trace/signal.hpp
-       ${PROJECT_SOURCE_DIR}/pv/views/trace/signalscalehandle.hpp
        ${PROJECT_SOURCE_DIR}/pv/views/trace/timeitem.hpp
        ${PROJECT_SOURCE_DIR}/pv/views/trace/timemarker.hpp
        ${PROJECT_SOURCE_DIR}/pv/views/trace/trace.hpp