mirror of
https://github.com/esphome/esphome.git
synced 2026-07-10 08:55:36 +00:00
[graphical_display_menu] Mark configurable classes as final (#17129)
This commit is contained in:
@@ -118,7 +118,7 @@ void GraphicalDisplayMenu::draw_menu_internal_(display::Display *display, const
|
||||
for (size_t i = 0; max_item_index >= 0 && i <= static_cast<size_t>(max_item_index); i++) {
|
||||
const auto *item = this->displayed_item_->get_item(i);
|
||||
const bool selected = i == this->cursor_index_;
|
||||
const display::Rect item_dimensions = this->measure_item(display, item, bounds, selected);
|
||||
const display::Rect item_dimensions = this->measure_item_(display, item, bounds, selected);
|
||||
|
||||
menu_dimensions.push_back(item_dimensions);
|
||||
total_height += item_dimensions.h + (i == 0 ? 0 : y_padding);
|
||||
@@ -181,7 +181,7 @@ void GraphicalDisplayMenu::draw_menu_internal_(display::Display *display, const
|
||||
|
||||
dimensions.y = y_offset;
|
||||
dimensions.x = bounds->x;
|
||||
this->draw_item(display, item, &dimensions, selected);
|
||||
this->draw_item_(display, item, &dimensions, selected);
|
||||
|
||||
y_offset += dimensions.h + y_padding;
|
||||
}
|
||||
@@ -189,8 +189,8 @@ void GraphicalDisplayMenu::draw_menu_internal_(display::Display *display, const
|
||||
display->end_clipping();
|
||||
}
|
||||
|
||||
display::Rect GraphicalDisplayMenu::measure_item(display::Display *display, const display_menu_base::MenuItem *item,
|
||||
const display::Rect *bounds, const bool selected) {
|
||||
display::Rect GraphicalDisplayMenu::measure_item_(display::Display *display, const display_menu_base::MenuItem *item,
|
||||
const display::Rect *bounds, const bool selected) {
|
||||
display::Rect dimensions(0, 0, 0, 0);
|
||||
|
||||
if (selected) {
|
||||
@@ -218,8 +218,8 @@ display::Rect GraphicalDisplayMenu::measure_item(display::Display *display, cons
|
||||
return dimensions;
|
||||
}
|
||||
|
||||
inline void GraphicalDisplayMenu::draw_item(display::Display *display, const display_menu_base::MenuItem *item,
|
||||
const display::Rect *bounds, const bool selected) {
|
||||
inline void GraphicalDisplayMenu::draw_item_(display::Display *display, const display_menu_base::MenuItem *item,
|
||||
const display::Rect *bounds, const bool selected) {
|
||||
const auto background_color = selected ? this->foreground_color_ : this->background_color_;
|
||||
const auto foreground_color = selected ? this->background_color_ : this->foreground_color_;
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@ struct MenuItemValueArguments {
|
||||
bool is_menu_editing;
|
||||
};
|
||||
|
||||
class GraphicalDisplayMenu : public display_menu_base::DisplayMenuComponent {
|
||||
class GraphicalDisplayMenu final : public display_menu_base::DisplayMenuComponent {
|
||||
public:
|
||||
void setup() override;
|
||||
void dump_config() override;
|
||||
@@ -53,10 +53,10 @@ class GraphicalDisplayMenu : public display_menu_base::DisplayMenuComponent {
|
||||
void draw_menu() override;
|
||||
void draw_menu_internal_(display::Display *display, const display::Rect *bounds);
|
||||
void draw_item(const display_menu_base::MenuItem *item, uint8_t row, bool selected) override;
|
||||
virtual display::Rect measure_item(display::Display *display, const display_menu_base::MenuItem *item,
|
||||
const display::Rect *bounds, bool selected);
|
||||
virtual void draw_item(display::Display *display, const display_menu_base::MenuItem *item,
|
||||
const display::Rect *bounds, bool selected);
|
||||
display::Rect measure_item_(display::Display *display, const display_menu_base::MenuItem *item,
|
||||
const display::Rect *bounds, bool selected);
|
||||
void draw_item_(display::Display *display, const display_menu_base::MenuItem *item, const display::Rect *bounds,
|
||||
bool selected);
|
||||
void update() override;
|
||||
|
||||
void on_before_show() override;
|
||||
@@ -73,7 +73,7 @@ class GraphicalDisplayMenu : public display_menu_base::DisplayMenuComponent {
|
||||
CallbackManager<void()> on_redraw_callbacks_{};
|
||||
};
|
||||
|
||||
class GraphicalDisplayMenuOnRedrawTrigger : public Trigger<const GraphicalDisplayMenu *> {
|
||||
class GraphicalDisplayMenuOnRedrawTrigger final : public Trigger<const GraphicalDisplayMenu *> {
|
||||
public:
|
||||
explicit GraphicalDisplayMenuOnRedrawTrigger(GraphicalDisplayMenu *parent) : parent_(parent) {
|
||||
parent->add_on_redraw_callback([this]() { this->trigger(this->parent_); });
|
||||
|
||||
Reference in New Issue
Block a user