From a6fbd1c5ef2eabd9d98e7c452e600517a632590b Mon Sep 17 00:00:00 2001 From: Jared Boone Date: Sun, 13 Dec 2015 11:48:39 -0800 Subject: [PATCH] Make DebugRFFCView into generic RegistersView. --- firmware/application/ui_debug.cpp | 17 ----------------- firmware/application/ui_debug.hpp | 29 ++++++++++++++++++++++++----- 2 files changed, 24 insertions(+), 22 deletions(-) diff --git a/firmware/application/ui_debug.cpp b/firmware/application/ui_debug.cpp index 4441268d..a46e9c84 100644 --- a/firmware/application/ui_debug.cpp +++ b/firmware/application/ui_debug.cpp @@ -102,23 +102,6 @@ void DebugRFFC5072RegistersWidget::draw_values( } } -DebugRFFC5072View::DebugRFFC5072View(NavigationView& nav) { - add_children({ { - &text_title, - &widget_registers, - &button_update, - &button_done, - } }); - - button_update.on_select = [this](Button&){ - this->widget_registers.update(); - }; - button_done.on_select = [&nav](Button&){ nav.pop(); }; -} - -void DebugRFFC5072View::focus() { - button_done.focus(); -} DebugMenuView::DebugMenuView(NavigationView& nav) { add_items<7>({ { diff --git a/firmware/application/ui_debug.hpp b/firmware/application/ui_debug.hpp index 92fa0c47..babab07e 100644 --- a/firmware/application/ui_debug.hpp +++ b/firmware/application/ui_debug.hpp @@ -89,6 +89,8 @@ public: void paint(Painter& painter) override; + static constexpr const char* name = "RFFC5072"; + private: static constexpr size_t registers_count { 31 }; @@ -115,19 +117,34 @@ private: void draw_values(Painter& painter, const rffc507x::RegisterMap registers); }; -class DebugRFFC5072View : public View { +template +class RegistersView : public View { public: - DebugRFFC5072View(NavigationView& nav); + RegistersView(NavigationView& nav) { + add_children({ { + &text_title, + &widget_registers, + &button_update, + &button_done, + } }); - void focus() override; + button_update.on_select = [this](Button&){ + this->widget_registers.update(); + }; + button_done.on_select = [&nav](Button&){ nav.pop(); }; + } + + void focus() { + button_done.focus(); + } private: Text text_title { { 88, 16, 40, 16 }, - "RFFC5072", + RegistersWidget::name, }; - DebugRFFC5072RegistersWidget widget_registers { + RegistersWidget widget_registers { { 32, 48, 176, 128 } }; @@ -142,6 +159,8 @@ private: }; }; +using DebugRFFC5072View = RegistersView; + class DebugMenuView : public MenuView { public: DebugMenuView(NavigationView& nav);