Skip to content

Commit 2512364

Browse files
committed
Remove item_text from menu item clicked event
The item_text field was removed from native_menu_item_clicked_event_t and related code, simplifying event handling to use only item_id for identification. Example code updated to reflect this change and use item IDs instead of item text for logic.
1 parent c82306b commit 2512364

File tree

5 files changed

+18
-15
lines changed

5 files changed

+18
-15
lines changed

examples/menu_c_example/main.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ void on_menu_item_clicked(const void* event, void* user_data) {
1010
(const native_menu_item_clicked_event_t*)event;
1111
const char* item_name = (const char*)user_data;
1212

13-
printf("[EVENT] Menu item clicked: %s (ID: %ld, Text: %s)\n", item_name,
14-
clicked_event->item_id, clicked_event->item_text);
13+
printf("[EVENT] Menu item clicked: %s (ID: %ld)\n", item_name,
14+
clicked_event->item_id);
1515
}
1616

1717
void on_menu_item_submenu_opened(const void* event, void* user_data) {

examples/menu_example/main.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,13 @@ int main() {
4444
// Listen to menu item selection events
4545
file_item->AddListener<MenuItemClickedEvent>(
4646
[](const MenuItemClickedEvent& event) {
47-
std::cout << "[EVENT] Menu item clicked: " << event.GetItemText()
47+
std::cout << "[EVENT] Menu item clicked: New File"
4848
<< " (ID: " << event.GetItemId() << ")" << std::endl;
4949
});
5050

5151
checkbox_item->AddListener<MenuItemClickedEvent>(
5252
[](const MenuItemClickedEvent& event) {
53-
std::cout << "[EVENT] Checkbox item clicked: " << event.GetItemText()
53+
std::cout << "[EVENT] Checkbox item clicked: Word Wrap"
5454
<< " (ID: " << event.GetItemId()
5555
<< ") - Handle state manually" << std::endl;
5656
});
@@ -71,7 +71,7 @@ int main() {
7171

7272
exit_item->AddListener<MenuItemClickedEvent>(
7373
[](const MenuItemClickedEvent& event) {
74-
std::cout << "[EVENT] Exit item clicked: " << event.GetItemText()
74+
std::cout << "[EVENT] Exit item clicked: Exit"
7575
<< std::endl;
7676
std::cout << "Application should exit now..." << std::endl;
7777
});
@@ -140,13 +140,13 @@ int main() {
140140

141141
submenu_item1->AddListener<MenuItemClickedEvent>(
142142
[](const MenuItemClickedEvent& event) {
143-
std::cout << "[EVENT] Submenu item clicked: " << event.GetItemText()
143+
std::cout << "[EVENT] Submenu item clicked: Submenu Item 1"
144144
<< std::endl;
145145
});
146146

147147
submenu_item2->AddListener<MenuItemClickedEvent>(
148148
[](const MenuItemClickedEvent& event) {
149-
std::cout << "[EVENT] Submenu item clicked: " << event.GetItemText()
149+
std::cout << "[EVENT] Submenu item clicked: Submenu Item 2"
150150
<< std::endl;
151151
});
152152

examples/tray_icon_c_example/main.c

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,20 @@
1515
#include "../../src/capi/tray_icon_c.h"
1616
#include "../../src/capi/tray_manager_c.h"
1717

18+
// Menu item IDs (stored globally for identification)
19+
static native_menu_item_id_t exit_item_id = -1;
20+
static native_menu_item_id_t show_message_item_id = -1;
21+
1822
// Event callback functions
1923
void on_menu_item_clicked(const void* event, void* user_data) {
2024
const native_menu_item_clicked_event_t* clicked_event =
2125
(const native_menu_item_clicked_event_t*)event;
22-
printf("Menu item clicked: ID=%ld, Text='%s'\n", clicked_event->item_id,
23-
clicked_event->item_text);
26+
printf("Menu item clicked: ID=%ld\n", clicked_event->item_id);
2427

25-
if (strcmp(clicked_event->item_text, "Exit") == 0) {
28+
if (clicked_event->item_id == exit_item_id) {
2629
printf("Exiting application...\n");
2730
exit(0);
28-
} else if (strcmp(clicked_event->item_text, "Show Message") == 0) {
31+
} else if (clicked_event->item_id == show_message_item_id) {
2932
printf("Hello from tray menu!\n");
3033
}
3134
}
@@ -99,6 +102,10 @@ int main() {
99102
return 1;
100103
}
101104

105+
// Store menu item IDs for later identification
106+
show_message_item_id = native_menu_item_get_id(item1);
107+
exit_item_id = native_menu_item_get_id(exit_item);
108+
102109
// Set up menu item properties
103110
native_menu_item_set_enabled(item1, true);
104111
native_menu_item_set_tooltip(item1, "Click to show a message");

src/capi/menu_c.cpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -560,9 +560,6 @@ int native_menu_item_add_listener(native_menu_item_t item,
560560
if (listener_it != item_it->second.end()) {
561561
native_menu_item_clicked_event_t c_event = {};
562562
c_event.item_id = event.GetItemId();
563-
strncpy(c_event.item_text, event.GetItemText().c_str(),
564-
sizeof(c_event.item_text) - 1);
565-
c_event.item_text[sizeof(c_event.item_text) - 1] = '\0';
566563

567564
listener_it->second->callback(&c_event,
568565
listener_it->second->user_data);

src/capi/menu_c.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,6 @@ typedef struct {
7373
*/
7474
typedef struct {
7575
native_menu_item_id_t item_id;
76-
char item_text[256];
7776
} native_menu_item_clicked_event_t;
7877

7978
/**

0 commit comments

Comments
 (0)