ui/gtk/window.c

changeset 29
3fc287f06305
parent 0
2483f517c562
--- a/ui/gtk/window.c	Sun Feb 11 15:59:56 2024 +0100
+++ b/ui/gtk/window.c	Mon Feb 12 17:32:02 2024 +0100
@@ -33,8 +33,10 @@
 #include "../ui/window.h"
 #include "../ui/properties.h"
 #include "../common/context.h"
+#include "../common/menu.h"
+#include "../common/toolbar.h"
 
-#include <cx/basic_mempool.h>
+#include <cx/mempool.h>
 
 #include "menu.h"
 #include "toolbar.h"
@@ -67,7 +69,7 @@
 #endif
 }
 
-static UiObject* create_window(char *title, void *window_data, UiBool simple) {
+static UiObject* create_window(const char *title, void *window_data, UiBool simple) {
     CxMempool *mp = cxBasicMempoolCreate(256);
     UiObject *obj = cxCalloc(mp->allocator, 1, sizeof(UiObject)); 
     
@@ -78,7 +80,7 @@
 #endif
     
     
-    obj->ctx = uic_context(obj, mp->allocator);
+    obj->ctx = uic_context(obj, mp);
     obj->window = window_data;
     
     if(title != NULL) {
@@ -110,15 +112,19 @@
     
     if(!simple) {
         // menu
-        GtkWidget *mb = ui_create_menubar(obj);
-        if(mb) {
-            gtk_box_pack_start(GTK_BOX(vbox), mb, FALSE, FALSE, 0);
+        if(uic_get_menu_list()) {
+            GtkWidget *mb = ui_create_menubar(obj);
+            if(mb) {
+                gtk_box_pack_start(GTK_BOX(vbox), mb, FALSE, FALSE, 0);
+            }
         }
 
         // toolbar
-        GtkWidget *tb = ui_create_toolbar(obj);
-        if(tb) {
-            gtk_box_pack_start(GTK_BOX(vbox), tb, FALSE, FALSE, 0);
+        if(uic_toolbar_isenabled()) {
+            GtkWidget *tb = ui_create_toolbar(obj);
+            if(tb) {
+                gtk_box_pack_start(GTK_BOX(vbox), tb, FALSE, FALSE, 0);
+            }
         }
     }
     
@@ -138,11 +144,11 @@
 }
 
 
-UiObject* ui_window(char *title, void *window_data) {
+UiObject* ui_window(const char *title, void *window_data) {
     return create_window(title, window_data, FALSE);
 }
 
-UiObject* ui_simplewindow(char *title, void *window_data) {
+UiObject* ui_simplewindow(const char *title, void *window_data) {
     return create_window(title, window_data, TRUE);
 }
 
@@ -179,11 +185,4 @@
     }
 }
 
-char* ui_openfiledialog(UiObject *obj) {
-    return ui_gtkfilechooser(obj, GTK_FILE_CHOOSER_ACTION_OPEN);
-}
 
-char* ui_savefiledialog(UiObject *obj) {
-    return ui_gtkfilechooser(obj, GTK_FILE_CHOOSER_ACTION_SAVE);
-}
-

mercurial