ESPHome 2026.5.0b1
Loading...
Searching...
No Matches
automation.h
Go to the documentation of this file.
1#pragma once
2
4#include "display_menu_base.h"
5
7
8template<typename... Ts> class UpAction : public Action<Ts...> {
9 public:
10 explicit UpAction(DisplayMenuComponent *menu) : menu_(menu) {}
11
12 void play(const Ts &...x) override { this->menu_->up(); }
13
14 protected:
16};
17
18template<typename... Ts> class DownAction : public Action<Ts...> {
19 public:
20 explicit DownAction(DisplayMenuComponent *menu) : menu_(menu) {}
21
22 void play(const Ts &...x) override { this->menu_->down(); }
23
24 protected:
26};
27
28template<typename... Ts> class LeftAction : public Action<Ts...> {
29 public:
30 explicit LeftAction(DisplayMenuComponent *menu) : menu_(menu) {}
31
32 void play(const Ts &...x) override { this->menu_->left(); }
33
34 protected:
36};
37
38template<typename... Ts> class RightAction : public Action<Ts...> {
39 public:
40 explicit RightAction(DisplayMenuComponent *menu) : menu_(menu) {}
41
42 void play(const Ts &...x) override { this->menu_->right(); }
43
44 protected:
46};
47
48template<typename... Ts> class EnterAction : public Action<Ts...> {
49 public:
50 explicit EnterAction(DisplayMenuComponent *menu) : menu_(menu) {}
51
52 void play(const Ts &...x) override { this->menu_->enter(); }
53
54 protected:
56};
57
58template<typename... Ts> class ShowAction : public Action<Ts...> {
59 public:
60 explicit ShowAction(DisplayMenuComponent *menu) : menu_(menu) {}
61
62 void play(const Ts &...x) override { this->menu_->show(); }
63
64 protected:
66};
67
68template<typename... Ts> class HideAction : public Action<Ts...> {
69 public:
70 explicit HideAction(DisplayMenuComponent *menu) : menu_(menu) {}
71
72 void play(const Ts &...x) override { this->menu_->hide(); }
73
74 protected:
76};
77
78template<typename... Ts> class ShowMainAction : public Action<Ts...> {
79 public:
80 explicit ShowMainAction(DisplayMenuComponent *menu) : menu_(menu) {}
81
82 void play(const Ts &...x) override { this->menu_->show_main(); }
83
84 protected:
86};
87template<typename... Ts> class IsActiveCondition : public Condition<Ts...> {
88 public:
89 explicit IsActiveCondition(DisplayMenuComponent *menu) : menu_(menu) {}
90 bool check(const Ts &...x) override { return this->menu_->is_active(); }
91
92 protected:
94};
95
96class DisplayMenuOnEnterTrigger : public Trigger<const MenuItem *> {
97 public:
98 explicit DisplayMenuOnEnterTrigger(MenuItem *parent) : parent_(parent) {
99 parent->add_on_enter_callback([this]() { this->trigger(this->parent_); });
100 }
101
102 protected:
104};
105
106class DisplayMenuOnLeaveTrigger : public Trigger<const MenuItem *> {
107 public:
108 explicit DisplayMenuOnLeaveTrigger(MenuItem *parent) : parent_(parent) {
109 parent->add_on_leave_callback([this]() { this->trigger(this->parent_); });
110 }
111
112 protected:
114};
115
116class DisplayMenuOnValueTrigger : public Trigger<const MenuItem *> {
117 public:
118 explicit DisplayMenuOnValueTrigger(MenuItem *parent) : parent_(parent) {
119 parent->add_on_value_callback([this]() { this->trigger(this->parent_); });
120 }
121
122 protected:
124};
125
126class DisplayMenuOnNextTrigger : public Trigger<const MenuItem *> {
127 public:
128 explicit DisplayMenuOnNextTrigger(MenuItemCustom *parent) : parent_(parent) {
129 parent->add_on_next_callback([this]() { this->trigger(this->parent_); });
130 }
131
132 protected:
134};
135
136class DisplayMenuOnPrevTrigger : public Trigger<const MenuItem *> {
137 public:
138 explicit DisplayMenuOnPrevTrigger(MenuItemCustom *parent) : parent_(parent) {
139 parent->add_on_prev_callback([this]() { this->trigger(this->parent_); });
140 }
141
142 protected:
144};
145
146} // namespace esphome::display_menu_base
Base class for all automation conditions.
Definition automation.h:459
void trigger(const Ts &...x) ESPHOME_ALWAYS_INLINE
Definition automation.h:482
Class to display a hierarchical menu.
void play(const Ts &...x) override
Definition automation.h:22
DownAction(DisplayMenuComponent *menu)
Definition automation.h:20
EnterAction(DisplayMenuComponent *menu)
Definition automation.h:50
void play(const Ts &...x) override
Definition automation.h:52
HideAction(DisplayMenuComponent *menu)
Definition automation.h:70
void play(const Ts &...x) override
Definition automation.h:72
bool check(const Ts &...x) override
Definition automation.h:90
IsActiveCondition(DisplayMenuComponent *menu)
Definition automation.h:89
void play(const Ts &...x) override
Definition automation.h:32
LeftAction(DisplayMenuComponent *menu)
Definition automation.h:30
void play(const Ts &...x) override
Definition automation.h:42
RightAction(DisplayMenuComponent *menu)
Definition automation.h:40
ShowAction(DisplayMenuComponent *menu)
Definition automation.h:60
void play(const Ts &...x) override
Definition automation.h:62
void play(const Ts &...x) override
Definition automation.h:82
ShowMainAction(DisplayMenuComponent *menu)
Definition automation.h:80
DisplayMenuComponent * menu_
Definition automation.h:15
void play(const Ts &...x) override
Definition automation.h:12
UpAction(DisplayMenuComponent *menu)
Definition automation.h:10
uint16_t x
Definition tt21100.cpp:5