From 4b5782e1c7b6fec1f9c4ff2ba6f282cadecd70cd Mon Sep 17 00:00:00 2001 From: Joel Holdsworth Date: Sun, 30 Aug 2015 09:02:28 -0600 Subject: [PATCH] Signal: Derive from ViewItemOwner --- pv/view/signal.cpp | 6 ++++++ pv/view/signal.hpp | 10 +++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/pv/view/signal.cpp b/pv/view/signal.cpp index 08fa54ee..57d78834 100644 --- a/pv/view/signal.cpp +++ b/pv/view/signal.cpp @@ -63,6 +63,7 @@ Signal::Signal(pv::Session &session, Trace(QString::fromUtf8(channel->name().c_str())), session_(session), channel_(channel), + items_(), name_widget_(nullptr), updating_name_widget_(false) { @@ -99,6 +100,11 @@ shared_ptr Signal::channel() const return channel_; } +const ViewItemOwner::item_list& Signal::child_items() const +{ + return items_; +} + void Signal::populate_popup_form(QWidget *parent, QFormLayout *form) { name_widget_ = new QComboBox(parent); diff --git a/pv/view/signal.hpp b/pv/view/signal.hpp index 8208a762..d96a85cf 100644 --- a/pv/view/signal.hpp +++ b/pv/view/signal.hpp @@ -29,6 +29,7 @@ #include #include "trace.hpp" +#include "viewitemowner.hpp" namespace sigrok { class Channel; @@ -44,7 +45,7 @@ class SignalData; namespace view { -class Signal : public Trace +class Signal : public Trace, public ViewItemOwner { Q_OBJECT @@ -69,6 +70,11 @@ public: std::shared_ptr channel() const; + /** + * Returns a list of row items owned by this object. + */ + const item_list& child_items() const; + virtual void populate_popup_form(QWidget *parent, QFormLayout *form); QMenu* create_context_menu(QWidget *parent); @@ -82,6 +88,8 @@ protected: pv::Session &session_; std::shared_ptr channel_; + const item_list items_; + QComboBox *name_widget_; bool updating_name_widget_; }; -- 2.30.2