about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2022-04-10 12:01:23 +0200
committerGitHub <noreply@github.com>2022-04-10 12:01:23 +0200
commitcbe7e1a5e74efc8670685f5e251feb87d493ca37 (patch)
tree5a185659952df370504bea12a69b492963a29078 /src
parent968cb3cea40d874054572fdeb1d80c77464e10fd (diff)
parent1b605c4a4e5a74f090fe4034202702390a05bf2c (diff)
downloadbox64-cbe7e1a5e74efc8670685f5e251feb87d493ca37.tar.gz
box64-cbe7e1a5e74efc8670685f5e251feb87d493ca37.zip
Merge pull request #275 from mhavu/main
Added wrapping for gtk_tree_view_column_set_cell_data_func()
Diffstat (limited to 'src')
-rw-r--r--src/wrapped/generated/functions_list.txt1
-rw-r--r--src/wrapped/generated/wrappedgtkx112types.h1
-rwxr-xr-xsrc/wrapped/wrappedgtkx112.c31
-rwxr-xr-xsrc/wrapped/wrappedgtkx112_private.h2
4 files changed, 34 insertions, 1 deletions
diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt
index d9d29413..7ac4f916 100644
--- a/src/wrapped/generated/functions_list.txt
+++ b/src/wrapped/generated/functions_list.txt
@@ -2587,6 +2587,7 @@ wrappedgtkx112:
   - gtk_action_group_add_actions_full
 - vFppppp:
   - gtk_cell_layout_set_cell_data_func
+  - gtk_tree_view_column_set_cell_data_func
 - vFpuipuV:
   - gtk_binding_entry_add_signal
 - iFppuppp:
diff --git a/src/wrapped/generated/wrappedgtkx112types.h b/src/wrapped/generated/wrappedgtkx112types.h
index 7616cb6b..417759fc 100644
--- a/src/wrapped/generated/wrappedgtkx112types.h
+++ b/src/wrapped/generated/wrappedgtkx112types.h
@@ -82,6 +82,7 @@ typedef void* (*pFpipppppppi_t)(void*, int64_t, void*, void*, void*, void*, void
 	GO(gtk_tree_sortable_set_sort_func, vFpippp_t) \
 	GO(gtk_action_group_add_actions_full, vFppupp_t) \
 	GO(gtk_cell_layout_set_cell_data_func, vFppppp_t) \
+	GO(gtk_tree_view_column_set_cell_data_func, vFppppp_t) \
 	GO(gtk_binding_entry_add_signal, vFpuipuV_t) \
 	GO(gtk_clipboard_set_with_data, iFppuppp_t) \
 	GO(gtk_clipboard_set_with_owner, iFppuppp_t) \
diff --git a/src/wrapped/wrappedgtkx112.c b/src/wrapped/wrappedgtkx112.c
index f86fbbd2..12627c4d 100755
--- a/src/wrapped/wrappedgtkx112.c
+++ b/src/wrapped/wrappedgtkx112.c
@@ -399,6 +399,30 @@ static void* findGtkCellLayoutDataFuncFct(void* fct)
     return NULL;
 }
 
+// GtkTreeCellDataFunc
+#define GO(A)   \
+static uintptr_t my_GtkTreeCellDataFunc_fct_##A = 0;                                                  \
+static void my_GtkTreeCellDataFunc_##A(void* column, void* cell, void* tree, void* iter, void* data)  \
+{                                       \
+    RunFunction(my_context, my_GtkTreeCellDataFunc_fct_##A, 5, column, cell, tree, iter, data);\
+}
+SUPER()
+#undef GO
+static void* findGtkTreeCellDataFuncFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_GtkTreeCellDataFunc_fct_##A == (uintptr_t)fct) return my_GtkTreeCellDataFunc_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_GtkTreeCellDataFunc_fct_##A == 0) {my_GtkTreeCellDataFunc_fct_##A = (uintptr_t)fct; return my_GtkTreeCellDataFunc_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for gtk-2 GtkTreeCellDataFunc callback\n");
+    return NULL;
+}
+
+
 // GDestroyNotify
 #define GO(A)   \
 static uintptr_t my_GDestroyNotify_fct_##A = 0;                     \
@@ -982,6 +1006,13 @@ EXPORT void my_gtk_cell_layout_set_cell_data_func(x64emu_t* emu, void* layout, v
     my->gtk_cell_layout_set_cell_data_func(layout, cell, findGtkCellLayoutDataFuncFct(f), data, findGDestroyNotifyFct(notify));
 }
 
+EXPORT void my_gtk_tree_view_column_set_cell_data_func(x64emu_t* emu, void* column, void* cell, void* f, void* data, void* notify)
+{
+    gtkx112_my_t *my = (gtkx112_my_t*)my_lib->priv.w.p2;
+
+    my->gtk_tree_view_column_set_cell_data_func(column, cell, findGtkTreeCellDataFuncFct(f), data, findGDestroyNotifyFct(notify));
+}
+
 typedef struct my_ConnectArgs_s
 {
     gtkx112_my_t *my;
diff --git a/src/wrapped/wrappedgtkx112_private.h b/src/wrapped/wrappedgtkx112_private.h
index 30f2089e..e7bcd56c 100755
--- a/src/wrapped/wrappedgtkx112_private.h
+++ b/src/wrapped/wrappedgtkx112_private.h
@@ -3455,7 +3455,7 @@ GO(gtk_tree_view_column_queue_resize, vFp)
 GO(gtk_tree_view_columns_autosize, vFp)
 GO(gtk_tree_view_column_set_alignment, vFpf)
 GO(gtk_tree_view_column_set_attributes, vFpppppppppppp) //vaarg
-//GOM(gtk_tree_view_column_set_cell_data_func, vFEppBpB)
+GOM(gtk_tree_view_column_set_cell_data_func, vFEppppp)
 GO(gtk_tree_view_column_set_clickable, vFpi)
 GO(gtk_tree_view_column_set_expand, vFpi)
 GO(gtk_tree_view_column_set_fixed_width, vFpi)