| 61 /* UI_MENU_CHECKITEM_LIST */ add_menuitem_list_widget, |
61 /* UI_MENU_CHECKITEM_LIST */ add_menuitem_list_widget, |
| 62 /* UI_MENU_RADIOITEM_LIST */ add_menuitem_list_widget, |
62 /* UI_MENU_RADIOITEM_LIST */ add_menuitem_list_widget, |
| 63 /* UI_MENU_SEPARATOR */ add_menuseparator_widget |
63 /* UI_MENU_SEPARATOR */ add_menuseparator_widget |
| 64 }; |
64 }; |
| 65 |
65 |
| 66 static void add_menu_items(NSMenu *parent, int i, UiMenu *menu) { |
66 void ui_add_menu_items(NSMenu *parent, int i, UiMenu *menu) { |
| 67 UiMenuItemI *it = menu->items_begin; |
67 UiMenuItemI *it = menu->items_begin; |
| 68 int index = 0; |
68 int index = 0; |
| 69 while(it) { |
69 while(it) { |
| 70 createMenuItem[it->type](parent, index, it); |
70 createMenuItem[it->type](parent, index, it); |
| 71 it = it->next; |
71 it = it->next; |
| 78 NSString *str = [[NSString alloc] initWithUTF8String:it->label]; |
78 NSString *str = [[NSString alloc] initWithUTF8String:it->label]; |
| 79 NSMenu *menu = [[NSMenu alloc] initWithTitle: str]; |
79 NSMenu *menu = [[NSMenu alloc] initWithTitle: str]; |
| 80 NSMenuItem *menuItem = [parent addItemWithTitle:str action:nil keyEquivalent:@""]; |
80 NSMenuItem *menuItem = [parent addItemWithTitle:str action:nil keyEquivalent:@""]; |
| 81 [parent setSubmenu:menu forItem:menuItem]; |
81 [parent setSubmenu:menu forItem:menuItem]; |
| 82 |
82 |
| 83 add_menu_items(menu, i, it); |
83 ui_add_menu_items(menu, i, it); |
| 84 } |
84 } |
| 85 |
85 |
| 86 void add_menuitem_widget(NSMenu *parent, int i, UiMenuItemI *item) { |
86 void add_menuitem_widget(NSMenu *parent, int i, UiMenuItemI *item) { |
| 87 UiMenuItem *it = (UiMenuItem*)item; |
87 UiMenuItem *it = (UiMenuItem*)item; |
| 88 |
88 |
| 152 NSString *str = [[NSString alloc] initWithUTF8String:ls->label]; |
152 NSString *str = [[NSString alloc] initWithUTF8String:ls->label]; |
| 153 NSMenu *menu = [[NSMenu alloc] initWithTitle: str]; |
153 NSMenu *menu = [[NSMenu alloc] initWithTitle: str]; |
| 154 NSMenuItem *menuItem = [[NSApp mainMenu] insertItemWithTitle:str action:nil keyEquivalent:@"" atIndex:index]; |
154 NSMenuItem *menuItem = [[NSApp mainMenu] insertItemWithTitle:str action:nil keyEquivalent:@"" atIndex:index]; |
| 155 [[NSApp mainMenu] setSubmenu:menu forItem:menuItem]; |
155 [[NSApp mainMenu] setSubmenu:menu forItem:menuItem]; |
| 156 |
156 |
| 157 add_menu_items(menu, 0, ls); |
157 ui_add_menu_items(menu, 0, ls); |
| 158 } |
158 } |
| 159 ls = (UiMenu*)ls->item.next; |
159 ls = (UiMenu*)ls->item.next; |
| 160 index++; |
160 index++; |
| 161 } |
161 } |
| 162 } |
162 } |