From: Joel Holdsworth Date: Sun, 30 Aug 2015 15:02:28 +0000 (-0600) Subject: Signal: Derive from ViewItemOwner X-Git-Tag: pulseview-0.3.0~82 X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=commitdiff_plain;h=4b5782e1c7b6fec1f9c4ff2ba6f282cadecd70cd Signal: Derive from ViewItemOwner --- 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_; };