ESPHome
2026.6.0-dev
Loading...
Searching...
No Matches
esphome
components
lcd_menu
lcd_menu.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
esphome/components/lcd_base/lcd_display.h
"
4
#include "
esphome/components/display_menu_base/display_menu_base.h
"
5
6
#include <forward_list>
7
#include <vector>
8
9
namespace
esphome::lcd_menu
{
10
14
class
LCDCharacterMenuComponent
:
public
display_menu_base::DisplayMenuComponent
{
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
35
lcd_base::LCDDisplay
*
display_
;
36
uint8_t
columns_
;
37
char
mark_selected_
;
38
char
mark_editing_
;
39
char
mark_submenu_
;
40
char
mark_back_
;
41
};
42
43
}
// namespace esphome::lcd_menu
esphome::display_menu_base::DisplayMenuComponent
Class to display a hierarchical menu.
Definition
display_menu_base.h:21
esphome::display_menu_base::DisplayMenuComponent::set_rows
void set_rows(uint8_t rows)
Definition
display_menu_base.h:26
esphome::display_menu_base::MenuItem
Definition
menu_item.h:39
esphome::lcd_base::LCDDisplay
Definition
lcd_display.h:13
esphome::lcd_base::LCDDisplay::update
void update() override
Definition
lcd_display.cpp:113
esphome::lcd_menu::LCDCharacterMenuComponent
Class to display a hierarchical menu.
Definition
lcd_menu.h:14
esphome::lcd_menu::LCDCharacterMenuComponent::update
void update() override
Definition
lcd_menu.h:33
esphome::lcd_menu::LCDCharacterMenuComponent::draw_item
void draw_item(const display_menu_base::MenuItem *item, uint8_t row, bool selected) override
Definition
lcd_menu.cpp:32
esphome::lcd_menu::LCDCharacterMenuComponent::mark_back_
char mark_back_
Definition
lcd_menu.h:40
esphome::lcd_menu::LCDCharacterMenuComponent::mark_editing_
char mark_editing_
Definition
lcd_menu.h:38
esphome::lcd_menu::LCDCharacterMenuComponent::mark_submenu_
char mark_submenu_
Definition
lcd_menu.h:39
esphome::lcd_menu::LCDCharacterMenuComponent::display_
lcd_base::LCDDisplay * display_
Definition
lcd_menu.h:35
esphome::lcd_menu::LCDCharacterMenuComponent::set_mark_submenu
void set_mark_submenu(uint8_t c)
Definition
lcd_menu.h:23
esphome::lcd_menu::LCDCharacterMenuComponent::columns_
uint8_t columns_
Definition
lcd_menu.h:36
esphome::lcd_menu::LCDCharacterMenuComponent::set_dimensions
void set_dimensions(uint8_t columns, uint8_t rows)
Definition
lcd_menu.h:17
esphome::lcd_menu::LCDCharacterMenuComponent::setup
void setup() override
Definition
lcd_menu.cpp:9
esphome::lcd_menu::LCDCharacterMenuComponent::set_mark_selected
void set_mark_selected(uint8_t c)
Definition
lcd_menu.h:21
esphome::lcd_menu::LCDCharacterMenuComponent::dump_config
void dump_config() override
Definition
lcd_menu.cpp:20
esphome::lcd_menu::LCDCharacterMenuComponent::set_display
void set_display(lcd_base::LCDDisplay *display)
Definition
lcd_menu.h:16
esphome::lcd_menu::LCDCharacterMenuComponent::set_mark_editing
void set_mark_editing(uint8_t c)
Definition
lcd_menu.h:22
esphome::lcd_menu::LCDCharacterMenuComponent::set_mark_back
void set_mark_back(uint8_t c)
Definition
lcd_menu.h:24
esphome::lcd_menu::LCDCharacterMenuComponent::mark_selected_
char mark_selected_
Definition
lcd_menu.h:37
esphome::lcd_menu::LCDCharacterMenuComponent::get_setup_priority
float get_setup_priority() const override
Definition
lcd_menu.cpp:18
display_menu_base.h
lcd_display.h
esphome::lcd_menu
Definition
lcd_menu.cpp:5
Generated by
1.12.0