@@ -35,34 +35,30 @@ int main() {
3535 std::cout << " Setting up event listeners..." << std::endl;
3636
3737 // Listen to menu item selection events
38- fileItem->AddListener <MenuItemSelectedEvent >([](const MenuItemSelectedEvent & event) {
39- std::cout << " [EVENT] Menu item selected : " << event.GetItemText ()
38+ fileItem->AddListener <MenuItemClickedEvent >([](const MenuItemClickedEvent & event) {
39+ std::cout << " [EVENT] Menu item clicked : " << event.GetItemText ()
4040 << " (ID: " << event.GetItemId () << " )" << std::endl;
4141 });
4242
43- checkboxItem->AddListener <MenuItemSelectedEvent >([](const MenuItemSelectedEvent & event) {
43+ checkboxItem->AddListener <MenuItemClickedEvent >([](const MenuItemClickedEvent & event) {
4444 std::cout << " [EVENT] Checkbox item clicked: " << event.GetItemText ()
45- << " (ID: " << event.GetItemId () << " )" << std::endl;
45+ << " (ID: " << event.GetItemId () << " ) - Handle state manually " << std::endl;
4646 });
4747
48- // Listen to state change events for checkable items
49- checkboxItem->AddListener <MenuItemStateChangedEvent>([](const MenuItemStateChangedEvent& event) {
50- std::cout << " [EVENT] Checkbox state changed: ID " << event.GetItemId ()
51- << " , checked: " << (event.IsChecked () ? " true" : " false" ) << std::endl;
52- });
48+ // Note: State management is now handled by the application
5349
54- radioItem1->AddListener <MenuItemStateChangedEvent >([](const MenuItemStateChangedEvent & event) {
55- std::cout << " [EVENT] Radio item 1 state changed : ID " << event.GetItemId ()
56- << " , checked: " << (event. IsChecked () ? " true " : " false " ) << std::endl;
50+ radioItem1->AddListener <MenuItemClickedEvent >([](const MenuItemClickedEvent & event) {
51+ std::cout << " [EVENT] Radio item 1 clicked : ID " << event.GetItemId ()
52+ << " - Handle state manually " << std::endl;
5753 });
5854
59- radioItem2->AddListener <MenuItemStateChangedEvent >([](const MenuItemStateChangedEvent & event) {
60- std::cout << " [EVENT] Radio item 2 state changed : ID " << event.GetItemId ()
61- << " , checked: " << (event. IsChecked () ? " true " : " false " ) << std::endl;
55+ radioItem2->AddListener <MenuItemClickedEvent >([](const MenuItemClickedEvent & event) {
56+ std::cout << " [EVENT] Radio item 2 clicked : ID " << event.GetItemId ()
57+ << " - Handle state manually " << std::endl;
6258 });
6359
64- exitItem->AddListener <MenuItemSelectedEvent >([](const MenuItemSelectedEvent & event) {
65- std::cout << " [EVENT] Exit item selected : " << event.GetItemText () << std::endl;
60+ exitItem->AddListener <MenuItemClickedEvent >([](const MenuItemClickedEvent & event) {
61+ std::cout << " [EVENT] Exit item clicked : " << event.GetItemText () << std::endl;
6662 std::cout << " Application should exit now..." << std::endl;
6763 });
6864
@@ -122,12 +118,12 @@ int main() {
122118 auto submenuItem1 = MenuItem::Create (" Submenu Item 1" , MenuItemType::Normal);
123119 auto submenuItem2 = MenuItem::Create (" Submenu Item 2" , MenuItemType::Normal);
124120
125- submenuItem1->AddListener <MenuItemSelectedEvent >([](const MenuItemSelectedEvent & event) {
126- std::cout << " [EVENT] Submenu item selected : " << event.GetItemText () << std::endl;
121+ submenuItem1->AddListener <MenuItemClickedEvent >([](const MenuItemClickedEvent & event) {
122+ std::cout << " [EVENT] Submenu item clicked : " << event.GetItemText () << std::endl;
127123 });
128124
129- submenuItem2->AddListener <MenuItemSelectedEvent >([](const MenuItemSelectedEvent & event) {
130- std::cout << " [EVENT] Submenu item selected : " << event.GetItemText () << std::endl;
125+ submenuItem2->AddListener <MenuItemClickedEvent >([](const MenuItemClickedEvent & event) {
126+ std::cout << " [EVENT] Submenu item clicked : " << event.GetItemText () << std::endl;
131127 });
132128
133129 submenu->AddItem (submenuItem1);
@@ -148,7 +144,7 @@ int main() {
148144 std::cout << " This example demonstrates:" << std::endl;
149145 std::cout << " 1. Creating menus and menu items with different types" << std::endl;
150146 std::cout << " 2. Using the new event system with AddListener<EventType>()" << std::endl;
151- std::cout << " 3. Handling MenuItemSelectedEvent and MenuItemStateChangedEvent " << std::endl;
147+ std::cout << " 3. Handling MenuItemClickedEvent (state managed by application) " << std::endl;
152148 std::cout << " 4. Handling MenuOpenedEvent and MenuClosedEvent" << std::endl;
153149 std::cout << " 5. Programmatic event triggering" << std::endl;
154150 std::cout << " 6. Submenu support with event propagation" << std::endl;
0 commit comments