ui/gtk/text.c

branch
newapi
changeset 298
c5e207d01ff2
parent 289
6048b20bd46f
--- a/ui/gtk/text.c	Sun Sep 15 20:59:48 2024 +0200
+++ b/ui/gtk/text.c	Mon Sep 16 22:09:32 2024 +0200
@@ -82,17 +82,17 @@
                 G_CALLBACK(ui_textarea_destroy),
                 uitext);
     
-    GtkWidget *scroll_area = gtk_scrolled_window_new (NULL, NULL);
+    GtkWidget *scroll_area = SCROLLEDWINDOW_NEW();
     gtk_scrolled_window_set_policy(
             GTK_SCROLLED_WINDOW(scroll_area),
             GTK_POLICY_AUTOMATIC,
             GTK_POLICY_AUTOMATIC); // GTK_POLICY_ALWAYS  
-    gtk_container_add(GTK_CONTAINER(scroll_area), text_area);
+    SCROLLEDWINDOW_SET_CHILD(scroll_area, text_area);
     
     // font and padding
     PangoFontDescription *font;
     font = pango_font_description_from_string("Monospace");
-    gtk_widget_modify_font(text_area, font);
+    //gtk_widget_modify_font(text_area, font); // TODO
     pango_font_description_free(font);
     
     gtk_text_view_set_left_margin(GTK_TEXT_VIEW(text_area), 2);
@@ -180,7 +180,7 @@
 }
 
 UIWIDGET ui_textarea_gettextwidget(UIWIDGET textarea) {
-    return gtk_bin_get_child(GTK_BIN(textarea));
+    return SCROLLEDWINDOW_GET_CHILD(textarea);
 }
 
 char* ui_textarea_get(UiText *text) {
@@ -557,7 +557,10 @@
                 uitext);
     
     if(args.width > 0) {
+        // TODO: gtk4
+#if GTK_MAJOR_VERSION <= 3
         gtk_entry_set_width_chars(GTK_ENTRY(textfield), args.width);
+#endif
     }
     if(frameless) {
         // TODO: gtk2legacy workaroud
@@ -573,7 +576,7 @@
     if(var) {
         UiString *value = var->value;
         if(value->value.ptr) {
-            gtk_entry_set_text(GTK_ENTRY(textfield), value->value.ptr);
+            ENTRY_SET_TEXT(textfield, value->value.ptr);
             value->value.free(value->value.ptr);
             value->value.ptr = NULL;
             value->value.free = NULL;
@@ -631,13 +634,13 @@
     if(str->value.ptr) {
         str->value.free(str->value.ptr);
     }
-    str->value.ptr = g_strdup(gtk_entry_get_text(str->obj));
+    str->value.ptr = g_strdup(ENTRY_GET_TEXT(str->obj));
     str->value.free = (ui_freefunc)g_free;
     return str->value.ptr;
 }
 
 void ui_textfield_set(UiString *str, const char *value) {
-    gtk_entry_set_text(str->obj, value);
+    ENTRY_SET_TEXT(str->obj, value);
     if(str->value.ptr) {
         str->value.free(str->value.ptr);
         str->value.ptr = NULL;
@@ -688,6 +691,16 @@
     return elms;
 }
 
+
+#if GTK_MAJOR_VERSION >= 4
+
+UIWIDGET ui_path_textfield_create(UiObject* obj, UiPathTextFieldArgs args) {
+    // TODO
+    return NULL;    
+}
+
+#else
+
 static gboolean path_textfield_btn_pressed(GtkWidget *widget, GdkEventButton *event, UiPathTextField *pathtf) {
     gtk_box_pack_start(GTK_BOX(pathtf->hbox), pathtf->entry, TRUE, TRUE, 0);
     gtk_container_remove(GTK_CONTAINER(pathtf->hbox), pathtf->buttonbox);
@@ -932,3 +945,5 @@
         str->value.free = NULL;
     }
 }
+
+#endif

mercurial