From 875fe009fe4c7e3cfe6071babde52160cabf2510 Mon Sep 17 00:00:00 2001 From: Sadrul Habib Chowdhury Date: Wed, 6 Feb 2008 22:54:56 -0500 Subject: [PATCH] Binding for a few more functions --- gnt/gntcolors.h | 21 +++++++++++++++++ gnt/gnttree.h | 21 +++++++++++++++++ gnttree.override | 68 +++++++++++++++++++++++++++++++++++++++++++++++--------- 3 files changed, 99 insertions(+), 11 deletions(-) diff --git a/gnt/gntcolors.h b/gnt/gntcolors.h index 8dd8359..60eb8c8 100644 --- a/gnt/gntcolors.h +++ b/gnt/gntcolors.h @@ -86,6 +86,16 @@ void gnt_colors_parse(GKeyFile *kfile); */ void gnt_color_pairs_parse(GKeyFile *kfile); +/** + * Parse a string color + * + * @param kfile The string value + * + * @return A color + * + * @since 2.4.0 + */ +int gnt_colors_get_color(char *key); #endif /** @@ -101,4 +111,15 @@ void gnt_color_pairs_parse(GKeyFile *kfile); */ int gnt_color_pair(int color); +/** + * Adds a color definition + * + * @param fg Foreground + * @param bg Background + * + * @return A color pair + * + * @since 2.4.0 + */ +int gnt_color_add_pair(int fg, int bg); #endif diff --git a/gnt/gnttree.h b/gnt/gnttree.h index 9be004d..9e39dad 100644 --- a/gnt/gnttree.h +++ b/gnt/gnttree.h @@ -325,6 +325,16 @@ gboolean gnt_tree_get_choice(GntTree *tree, void *key); void gnt_tree_set_row_flags(GntTree *tree, void *key, GntTextFormatFlags flags); /** + * Set color for the text in a row in the tree. + * + * @param tree The tree + * @param key The key for the row + * @param color The color + * @since 2.4.0 + */ +void gnt_tree_set_row_color(GntTree *tree, void *key, int color); + +/** * Select a row. * * @param tree The tree @@ -565,6 +575,17 @@ gboolean gnt_tree_is_searching(GntTree *tree); void gnt_tree_set_search_function(GntTree *tree, gboolean (*func)(GntTree *tree, gpointer key, const char *search, const char *current)); +/** + * Get the parent key for a row. + * + * @param tree The tree + * @param key The key for the row. + * + * @return The key of the parent row. + * @since 2.4.0 + */ +gpointer gnt_tree_get_parent_key(GntTree *tree, gpointer key); + G_END_DECLS #endif /* GNT_TREE_H */ diff --git a/gnttree.override b/gnttree.override index 7afe59a..fe4ee8a 100644 --- a/gnttree.override +++ b/gnttree.override @@ -98,13 +98,14 @@ _wrap_gnt_tree_add_row_after(PyGObject *self, PyObject *args) GList *list = NULL; GntTreeRow *row; gboolean insert_last = FALSE; + int choice = FALSE; if (!PyArg_ParseTuple(args, - "O!OO|O:GntTree.add_row_after", + "O!OO|Oi:GntTree.add_row_after", &PyGObject_Type, &key, &py_list, &parent, - &bigbro)) + &bigbro, &choice)) return NULL; len = PySequence_Length(py_list); @@ -129,13 +130,17 @@ _wrap_gnt_tree_add_row_after(PyGObject *self, PyObject *args) list = g_list_reverse(list); row = gnt_tree_create_row_from_list(GNT_TREE(self->obj), list); - if (insert_last) + if (insert_last) { gnt_tree_add_row_last(GNT_TREE(self->obj), key, row, parent); - else - gnt_tree_add_row_after(GNT_TREE(self->obj), - key, row, - parent, bigbro); + } else { + if (choice) + gnt_tree_add_choice(GNT_TREE(self->obj), key, row, parent, bigbro); + else + gnt_tree_add_row_after(GNT_TREE(self->obj), + key, row, + parent, bigbro); + } Py_INCREF((PyGObject*)key); g_list_free(list); @@ -154,6 +159,33 @@ _wrap_gnt_tree_get_selection_data(PyGObject *self) return ret; } %% +override gnt_tree_set_choice kwargs +static PyObject * +_wrap_gnt_tree_set_choice(PyGObject *self, PyObject *args, PyObject *kwargs) +{ + gpointer key; + int choice; + if (!PyArg_ParseTuple(args, "O!i:GntTree.set_choice", &PyGObject_Type, &key, &choice)) { + return NULL; + } + gnt_tree_set_choice(GNT_TREE(self->obj), key, choice); + Py_INCREF(Py_None); + return Py_None; +} +%% +override gnt_tree_get_choice kwargs +static PyObject * +_wrap_gnt_tree_get_choice(PyGObject *self, PyObject *args, PyObject *kwargs) +{ + gpointer key; + gboolean choice; + if (!PyArg_ParseTuple(args, "O!:GntTree.get_choice", &PyGObject_Type, &key)) { + return NULL; + } + choice = gnt_tree_get_choice(GNT_TREE(self->obj), key); + return PyBool_FromLong(choice); +} +%% override gnt_tree_change_text kwargs static PyObject * _wrap_gnt_tree_change_text(PyGObject *self, PyObject *args, PyObject *kwargs) @@ -205,17 +237,17 @@ _wrap_gnt_tree_remove(PyGObject *self, PyObject *args, PyObject *kwargs) return Py_None; } %% -override gnt_tree_sort_row kwargs +override gnt_tree_sort_siblings kwargs static PyObject * -_wrap_gnt_tree_sort_row(PyGObject *self, PyObject *args, PyObject *kwargs) +_wrap_gnt_tree_sort_siblings(PyGObject *self, PyObject *args, PyObject *kwargs) { static char *kwlist[] = { "key", NULL }; gpointer key; - if (!PyArg_ParseTupleAndKeywords(args, kwargs,"O!:GntTree.sort_row", kwlist, &PyGObject_Type, &key)) + if (!PyArg_ParseTupleAndKeywords(args, kwargs,"O!:GntTree.sort_siblings", kwlist, &PyGObject_Type, &key)) return NULL; - gnt_tree_sort_row(GNT_TREE(self->obj), key); + gnt_tree_sort_siblings(GNT_TREE(self->obj), key); Py_INCREF(Py_None); return Py_None; @@ -234,6 +266,20 @@ _wrap_gnt_tree_set_selected(PyGObject *self, PyObject *args) return Py_None; } %% +override gnt_tree_set_expanded +static PyObject * +_wrap_gnt_tree_set_expanded(PyGObject *self, PyObject *args) +{ + gpointer key; + int expanded; + if (!PyArg_ParseTuple(args, "O!i:GntTree.set_expanded", &PyGObject_Type, &key, &expanded)) { + return NULL; + } + gnt_tree_set_expanded(GNT_TREE(self->obj), key, expanded); + Py_INCREF(Py_None); + return Py_None; +} +%% ignore gnt_tree_set_compare_func %% define GntTree.enable_sort noargs -- 2.11.4.GIT