ESPHome 2026.6.0-dev
Loading...
Searching...
No Matches
lcd_menu.h
Go to the documentation of this file.
1#pragma once
2
5
6#include <forward_list>
7#include <vector>
8
9namespace esphome::lcd_menu {
10
15 public:
16 void set_display(lcd_base::LCDDisplay *display) { this->display_ = display; }
17 void set_dimensions(uint8_t columns, uint8_t rows) {
18 this->columns_ = columns;
19 set_rows(rows);
20 }
21 void set_mark_selected(uint8_t c) { this->mark_selected_ = c; }
22 void set_mark_editing(uint8_t c) { this->mark_editing_ = c; }
23 void set_mark_submenu(uint8_t c) { this->mark_submenu_ = c; }
24 void set_mark_back(uint8_t c) { this->mark_back_ = c; }
25
26 void setup() override;
27 float get_setup_priority() const override;
28
29 void dump_config() override;
30
31 protected:
32 void draw_item(const display_menu_base::MenuItem *item, uint8_t row, bool selected) override;
33 void update() override { this->display_->update(); }
34
36 uint8_t columns_;
41};
42
43} // namespace esphome::lcd_menu
Class to display a hierarchical menu.
Class to display a hierarchical menu.
Definition lcd_menu.h:14
void draw_item(const display_menu_base::MenuItem *item, uint8_t row, bool selected) override
Definition lcd_menu.cpp:32
void set_dimensions(uint8_t columns, uint8_t rows)
Definition lcd_menu.h:17
void set_display(lcd_base::LCDDisplay *display)
Definition lcd_menu.h:16