]> sigrok.org Git - pulseview.git/commitdiff
Signal: Derive from ViewItemOwner
authorJoel Holdsworth <redacted>
Sun, 30 Aug 2015 15:02:28 +0000 (09:02 -0600)
committerJoel Holdsworth <redacted>
Sun, 18 Oct 2015 21:32:29 +0000 (15:32 -0600)
pv/view/signal.cpp
pv/view/signal.hpp

index 08fa54eea55a40392f5d32f73be5eccb9e02e0ec..57d788343e2c429471af950597655c471226a2eb 100644 (file)
@@ -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<Channel> 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);
index 8208a762ca387bc040e88983b4fc9689f2f757dd..d96a85cf3b82ca3854efcc1c99ff5bdf8759c9e4 100644 (file)
@@ -29,6 +29,7 @@
 #include <stdint.h>
 
 #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<sigrok::Channel> 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<sigrok::Channel> channel_;
 
+       const item_list items_;
+
        QComboBox *name_widget_;
        bool updating_name_widget_;
 };