tAdd support for G_TYPE_INT to list store - vaccinewars - be a doctor and try t… | |
git clone git://src.adamsgaard.dk/vaccinewars | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit faacc26fe63bc4333bfabb89fa87b9b680d30b5f | |
parent 6b5a20bd79872de4d3a6b005b8111fe7d3e2f204 | |
Author: Ben Webb <[email protected]> | |
Date: Thu, 26 Nov 2020 01:12:27 -0800 | |
Add support for G_TYPE_INT to list store | |
Diffstat: | |
M src/gtkport/gtkenums.h | 1 + | |
M src/gtkport/treeview.c | 18 ++++++++++++++++-- | |
2 files changed, 17 insertions(+), 2 deletions(-) | |
--- | |
diff --git a/src/gtkport/gtkenums.h b/src/gtkport/gtkenums.h | |
t@@ -131,6 +131,7 @@ enum | |
{ | |
G_TYPE_STRING, | |
G_TYPE_UINT, | |
+ G_TYPE_INT, | |
G_TYPE_POINTER | |
}; | |
diff --git a/src/gtkport/treeview.c b/src/gtkport/treeview.c | |
t@@ -366,7 +366,10 @@ void gtk_list_store_set(GtkListStore *list_store, GtkTree… | |
row->data[colind] = g_strdup(va_arg(ap, const char*)); | |
break; | |
case G_TYPE_UINT: | |
- row->data[colind] = GINT_TO_POINTER(va_arg(ap, unsigned)); | |
+ row->data[colind] = GUINT_TO_POINTER(va_arg(ap, unsigned)); | |
+ break; | |
+ case G_TYPE_INT: | |
+ row->data[colind] = GINT_TO_POINTER(va_arg(ap, int)); | |
break; | |
case G_TYPE_POINTER: | |
row->data[colind] = va_arg(ap, gpointer); | |
t@@ -393,6 +396,7 @@ void gtk_tree_model_get(GtkTreeModel *tree_model, GtkTreeI… | |
va_list ap; | |
char **strpt; | |
unsigned *uintpt; | |
+ int *intpt; | |
gpointer *ptpt; | |
int colind; | |
GtkListStoreRow *row = &g_array_index(tree_model->rows, GtkListStoreRow, | |
t@@ -407,7 +411,11 @@ void gtk_tree_model_get(GtkTreeModel *tree_model, GtkTree… | |
break; | |
case G_TYPE_UINT: | |
uintpt = va_arg(ap, unsigned *); | |
- *uintpt = GPOINTER_TO_INT(row->data[colind]); | |
+ *uintpt = GPOINTER_TO_UINT(row->data[colind]); | |
+ break; | |
+ case G_TYPE_INT: | |
+ intpt = va_arg(ap, int *); | |
+ *intpt = GPOINTER_TO_INT(row->data[colind]); | |
break; | |
case G_TYPE_POINTER: | |
ptpt = va_arg(ap, gpointer *); | |
t@@ -486,6 +494,11 @@ static void draw_cell_text(GtkTreeViewColumn *col, GtkTre… | |
} | |
break; | |
case G_TYPE_UINT: | |
+ val = g_strdup_printf("%u", GPOINTER_TO_UINT(row->data[modcol])); | |
+ myDrawText(lpdis->hDC, val, -1, rcCol, align); | |
+ g_free(val); | |
+ break; | |
+ case G_TYPE_INT: | |
val = g_strdup_printf("%d", GPOINTER_TO_INT(row->data[modcol])); | |
myDrawText(lpdis->hDC, val, -1, rcCol, align); | |
g_free(val); | |
t@@ -618,6 +631,7 @@ void gtk_tree_view_update_widths(GtkTreeView *tv, GtkTreeM… | |
text = row->data[modcol]; | |
break; | |
case G_TYPE_UINT: | |
+ case G_TYPE_INT: | |
text = "9999"; /* hack */ | |
break; | |
default: |