From be8c1307e2c31e9d17d2a08ba7457a52aa97a471 Mon Sep 17 00:00:00 2001 From: Jared Boone Date: Tue, 2 Feb 2016 13:41:11 -0800 Subject: [PATCH] Add OptionsField event for on_focus. TODO: So poorly named! Should be on_focus, but requires sweeping changes. Ugh. --- firmware/common/ui_widget.cpp | 6 ++++++ firmware/common/ui_widget.hpp | 2 ++ 2 files changed, 8 insertions(+) diff --git a/firmware/common/ui_widget.cpp b/firmware/common/ui_widget.cpp index 0b9cc01ca..6a184576e 100644 --- a/firmware/common/ui_widget.cpp +++ b/firmware/common/ui_widget.cpp @@ -473,6 +473,12 @@ void OptionsField::paint(Painter& painter) { } } +void OptionsField::on_focus() { + if( on_show_options ) { + on_show_options(); + } +} + bool OptionsField::on_encoder(const EncoderEvent delta) { set_selected_index(selected_index() + delta); return true; diff --git a/firmware/common/ui_widget.hpp b/firmware/common/ui_widget.hpp index e1e886894..ddecaae26 100644 --- a/firmware/common/ui_widget.hpp +++ b/firmware/common/ui_widget.hpp @@ -226,6 +226,7 @@ public: using options_t = std::vector; std::function on_change; + std::function on_show_options; OptionsField(Point parent_pos, size_t length, options_t options); @@ -236,6 +237,7 @@ public: void paint(Painter& painter) override; + void on_focus() override; bool on_encoder(const EncoderEvent delta) override; bool on_touch(const TouchEvent event) override;