99#include " tuikit/widgets/TUIComboBox.h"
1010#include " tuikit/widgets/TUIRadioBox.h"
1111#include " tuikit/widgets/TUIMenu.h"
12+ #include " tuikit/widgets/TUITreeView.h"
13+ #include " tuikit/widgets/TUISpinBox.h"
14+ #include " tuikit/widgets/TUIDoubleSpinBox.h"
15+ #include " tuikit/widgets/TUIListView.h"
16+ #include " tuikit/widgets/TUITableView.h"
1217
1318namespace TUIKIT {
1419
@@ -52,6 +57,16 @@ void connect(std::shared_ptr<TUITextField> sender, Object* receiver, void (Objec
5257 sender->onChange ([receiver, slot](const std::string& value) { (receiver->*slot)(value); });
5358}
5459
60+ // TUITextField: onEnter() -> void()
61+ inline void connect (std::shared_ptr<TUITextField> sender, std::function<void ()> slot) {
62+ sender->onEnter (std::move (slot));
63+ }
64+
65+ template <typename Object>
66+ void connect (std::shared_ptr<TUITextField> sender, Object* receiver, void (Object::*slot)()) {
67+ sender->onEnter ([receiver, slot]() { (receiver->*slot)(); });
68+ }
69+
5570// TUIComboBox: onSelect(int) -> void(int)
5671inline void connect (std::shared_ptr<TUIComboBox> sender, std::function<void (int )> slot) {
5772 sender->onSelect (std::move (slot));
@@ -82,4 +97,104 @@ void connect(std::shared_ptr<TUIMenu> sender, Object* receiver, void (Object::*s
8297 sender->onSelect ([receiver, slot](int value) { (receiver->*slot)(value); });
8398}
8499
100+ // TUIMenu: onEnter(int) -> void(int)
101+ inline void connectOnEnter (std::shared_ptr<TUIMenu> sender, std::function<void (int )> slot) {
102+ sender->onEnter (std::move (slot));
103+ }
104+
105+ template <typename Object>
106+ void connectOnEnter (std::shared_ptr<TUIMenu> sender, Object* receiver, void (Object::*slot)(int )) {
107+ sender->onEnter ([receiver, slot](int value) { (receiver->*slot)(value); });
108+ }
109+
110+ // TUITreeView: onSelect(const std::string&) -> void(const std::string&)
111+ inline void connect (std::shared_ptr<TUITreeView> sender, std::function<void (const std::string&)> slot) {
112+ sender->onSelect (std::move (slot));
113+ }
114+
115+ template <typename Object>
116+ void connect (std::shared_ptr<TUITreeView> sender, Object* receiver, void (Object::*slot)(const std::string&)) {
117+ sender->onSelect ([receiver, slot](const std::string& value) { (receiver->*slot)(value); });
118+ }
119+
120+ // TUISpinBox: onChange(int) -> void(int)
121+ inline void connect (std::shared_ptr<TUISpinBox> sender, std::function<void (int )> slot) {
122+ sender->onChange (std::move (slot));
123+ }
124+
125+ template <typename Object>
126+ void connect (std::shared_ptr<TUISpinBox> sender, Object* receiver, void (Object::*slot)(int )) {
127+ sender->onChange ([receiver, slot](int value) { (receiver->*slot)(value); });
128+ }
129+
130+ // TUISpinBox: onEnter() -> void()
131+ inline void connect (std::shared_ptr<TUISpinBox> sender, std::function<void ()> slot) {
132+ sender->onEnter (std::move (slot));
133+ }
134+
135+ template <typename Object>
136+ void connect (std::shared_ptr<TUISpinBox> sender, Object* receiver, void (Object::*slot)()) {
137+ sender->onEnter ([receiver, slot]() { (receiver->*slot)(); });
138+ }
139+
140+ // TUIDoubleSpinBox: onChange(double) -> void(double)
141+ inline void connect (std::shared_ptr<TUIDoubleSpinBox> sender, std::function<void (double )> slot) {
142+ sender->onChange (std::move (slot));
143+ }
144+
145+ template <typename Object>
146+ void connect (std::shared_ptr<TUIDoubleSpinBox> sender, Object* receiver, void (Object::*slot)(double )) {
147+ sender->onChange ([receiver, slot](double value) { (receiver->*slot)(value); });
148+ }
149+
150+ // TUIDoubleSpinBox: onEnter() -> void()
151+ inline void connect (std::shared_ptr<TUIDoubleSpinBox> sender, std::function<void ()> slot) {
152+ sender->onEnter (std::move (slot));
153+ }
154+
155+ template <typename Object>
156+ void connect (std::shared_ptr<TUIDoubleSpinBox> sender, Object* receiver, void (Object::*slot)()) {
157+ sender->onEnter ([receiver, slot]() { (receiver->*slot)(); });
158+ }
159+
160+ // TUIListView: onSelect(int) -> void(int)
161+ inline void connect (std::shared_ptr<TUIListView> sender, std::function<void (int )> slot) {
162+ sender->onSelect (std::move (slot));
163+ }
164+
165+ template <typename Object>
166+ void connect (std::shared_ptr<TUIListView> sender, Object* receiver, void (Object::*slot)(int )) {
167+ sender->onSelect ([receiver, slot](int value) { (receiver->*slot)(value); });
168+ }
169+
170+ // TUIListView: onEnter(int) -> void(int)
171+ inline void connectOnEnter (std::shared_ptr<TUIListView> sender, std::function<void (int )> slot) {
172+ sender->onEnter (std::move (slot));
173+ }
174+
175+ template <typename Object>
176+ void connectOnEnter (std::shared_ptr<TUIListView> sender, Object* receiver, void (Object::*slot)(int )) {
177+ sender->onEnter ([receiver, slot](int value) { (receiver->*slot)(value); });
178+ }
179+
180+ // TUITableView: onSelect(int, int) -> void(int, int)
181+ inline void connect (std::shared_ptr<TUITableView> sender, std::function<void (int , int )> slot) {
182+ sender->onSelect (std::move (slot));
183+ }
184+
185+ template <typename Object>
186+ void connect (std::shared_ptr<TUITableView> sender, Object* receiver, void (Object::*slot)(int , int )) {
187+ sender->onSelect ([receiver, slot](int row, int col) { (receiver->*slot)(row, col); });
188+ }
189+
190+ // TUITableView: onEnter(int, int) -> void(int, int)
191+ inline void connectOnEnter (std::shared_ptr<TUITableView> sender, std::function<void (int , int )> slot) {
192+ sender->onEnter (std::move (slot));
193+ }
194+
195+ template <typename Object>
196+ void connectOnEnter (std::shared_ptr<TUITableView> sender, Object* receiver, void (Object::*slot)(int , int )) {
197+ sender->onEnter ([receiver, slot](int row, int col) { (receiver->*slot)(row, col); });
198+ }
199+
85200} // namespace TUIKIT
0 commit comments