X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=pv%2Fviews%2Ftrace%2Fsignal.cpp;h=98cc0eae9d285ae46dbf739cf9575c0a20d92bf0;hb=593ea025f22372ed6761d0cb300f0873fa1a47e7;hp=a55598cf3199854aacf98c4dad12558a6cecc4cb;hpb=1573bf16ba50d1c023ad3a9ce596f0ab6eaeacff;p=pulseview.git diff --git a/pv/views/trace/signal.cpp b/pv/views/trace/signal.cpp index a55598cf..98cc0eae 100644 --- a/pv/views/trace/signal.cpp +++ b/pv/views/trace/signal.cpp @@ -36,7 +36,6 @@ #include "view.hpp" using std::shared_ptr; -using std::make_shared; namespace pv { namespace views { @@ -45,26 +44,29 @@ namespace trace { const char *const ChannelNames[] = { "CLK", "DATA", + "EN", "IN", "OUT", "RST", "TX", "RX", - "EN", + "SDA", + "SCL" "SCLK", "MOSI", "MISO", + "/CS", + "nCS", "/SS", - "SDA", - "SCL" + "nSS", + "/RST", + "nRST", }; Signal::Signal(pv::Session &session, shared_ptr channel) : Trace(channel), session_(session), - scale_handle_(make_shared(*this)), - items_({scale_handle_}), name_widget_(nullptr) { assert(base_); @@ -75,7 +77,7 @@ Signal::Signal(pv::Session &session, void Signal::set_name(QString name) { - Trace::set_name(name); + base_->set_name(name); if (name != name_widget_->currentText()) name_widget_->setEditText(name); @@ -93,19 +95,34 @@ shared_ptr Signal::base() const void Signal::save_settings(QSettings &settings) const { - (void)settings; + std::map settings_map = save_settings(); + + for (auto& entry : settings_map) + settings.setValue(entry.first, entry.second); +} + +std::map Signal::save_settings() const +{ + return std::map(); } void Signal::restore_settings(QSettings &settings) { - (void)settings; + std::map settings_map; + + QStringList keys = settings.allKeys(); + for (int i = 0; i < keys.size(); i++) + settings_map[keys.at(i)] = settings.value(keys.at(i)); + + restore_settings(settings_map); } -const ViewItemOwner::item_list& Signal::child_items() const +void Signal::restore_settings(std::map settings) { - return items_; + (void)settings; } + void Signal::paint_back(QPainter &p, ViewItemPaintParams &pp) { if (base_->enabled()) @@ -135,12 +152,12 @@ void Signal::populate_popup_form(QWidget *parent, QFormLayout *form) form->addRow(tr("Name"), name_widget_); - add_colour_option(parent, form); + add_color_option(parent, form); } -QMenu* Signal::create_context_menu(QWidget *parent) +QMenu* Signal::create_header_context_menu(QWidget *parent) { - QMenu *const menu = Trace::create_context_menu(parent); + QMenu *const menu = Trace::create_header_context_menu(parent); menu->addSeparator();