ui/motif/menu.c

changeset 115
e57ca2747782
parent 112
c3f2f16fa4b8
--- a/ui/motif/menu.c	Sun Dec 07 20:00:33 2025 +0100
+++ b/ui/motif/menu.c	Sat Dec 13 15:58:58 2025 +0100
@@ -33,7 +33,6 @@
 #include "menu.h"
 #include "button.h"
 #include "toolkit.h"
-#include "stock.h"
 #include "container.h"
 #include "../common/context.h"
 #include "../common/menu.h"
@@ -55,10 +54,10 @@
     /* UI_MENU_SEPARATOR       */ add_menuseparator_widget
 };
 
-void ui_create_menubar(UiObject *obj, Widget window) {
+Widget ui_create_menubar(UiObject *obj, Widget window) {
     UiMenu *menus_begin = uic_get_menu_list();
     if(!menus_begin) {
-        return;
+        return NULL;
     }
     
     Widget menubar = XmCreateMenuBar(window, "menubar", NULL, 0);
@@ -70,6 +69,8 @@
         add_menu_widget(menubar, 0, &menu->item, obj);
         ls = (UiMenu*)ls->item.next;
     }
+    
+    return menubar;
 }
 
 void ui_add_menu_items(Widget parent, int i, UiMenu *menu, UiObject *obj) {
@@ -93,16 +94,15 @@
         XtSetArg(args[n], XmNlabelString, s); n++;
     }
     
-    Widget submenu = XmVaCreateSimplePulldownMenu(parent, "menu_pulldown", i, NULL, NULL);
+    Widget submenu = XmCreatePulldownMenu(parent, "menu_pulldown", NULL, 0);
     XtSetArg(args[n], XmNsubMenuId, submenu); n++;
-    Widget menuItem = XtCreateManagedWidget(
+    (void)XtCreateManagedWidget(
             "menuitem",
             xmCascadeButtonWidgetClass,
             parent,
             args,
             n);
     
-    
     if(s) {
         XmStringFree(s);
     }
@@ -145,11 +145,11 @@
        XtAddCallback(
                 mitem,
                 XmNdestroyCallback,
-                (XtCallbackProc)ui_destroy_eventdata,
+                (XtCallbackProc)ui_destroy_data,
                 eventdata);
     }
     
-    ui_set_widget_groups(obj->ctx, mitem, it->groups);
+    ui_set_widget_groups(obj->ctx, mitem, it->states);
 }
 
 void add_menuseparator_widget(Widget p, int i, UiMenuItemI *item, UiObject *obj) {
@@ -181,7 +181,7 @@
     
     ui_bind_togglebutton(obj, checkbox, it->varname, NULL, it->callback, it->userdata, 0);
     
-    ui_set_widget_groups(obj->ctx, checkbox, it->groups);
+    ui_set_widget_groups(obj->ctx, checkbox, it->states);
 }
 
 void add_radioitem_widget(Widget p, int index, UiMenuItemI *item, UiObject *obj) {
@@ -337,7 +337,7 @@
             XtAddCallback(
                     mitem,
                     XmNdestroyCallback,
-                    (XtCallbackProc)ui_destroy_eventdata,
+                    (XtCallbackProc)ui_destroy_data,
                     eventdata);
         }
         

mercurial