[pygtksourceview/gtksourcecompletion: 26/27] Merge branch 'master' into gtksourcecompletion
- From: Jesse van den Kieboom <jessevdk src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [pygtksourceview/gtksourcecompletion: 26/27] Merge branch 'master' into gtksourcecompletion
- Date: Sun, 20 Sep 2009 17:32:16 +0000 (UTC)
commit 79e3fe9421a95396e129965c703719771121ed9e
Merge: 6ef81e2... 03de663...
Author: Jesse van den Kieboom <jesse icecrew nl>
Date: Sun Sep 20 17:43:29 2009 +0200
Merge branch 'master' into gtksourcecompletion
Conflicts:
gtksourceview2.defs
gtksourceview2.override
.gitignore | 47 ++
ChangeLog => ChangeLog-pre-git | 3 +
Makefile.am | 59 ++-
NEWS | 8 +
autogen.sh | 2 +-
configure.ac | 9 +-
docs/Makefile.am | 32 +-
docs/reference/gtksourceview2-gtksourcegutter.xml | 511 +++++++++++++++++++++
docs/reference/gtksourceview2-gtksourceview.xml | 301 ++++++++++++-
docs/reference/gtksourceview2-ref.xml | 1 +
gtksourceview2.defs | 173 +++++++-
gtksourceview2.override | 284 ++++++++++++-
pygtksourceview-private.h | 31 ++
pygtksourceview.doap | 30 ++
14 files changed, 1455 insertions(+), 36 deletions(-)
---
diff --cc gtksourceview2.defs
index eece535,7e501cd..f0b8816
--- a/gtksourceview2.defs
+++ b/gtksourceview2.defs
@@@ -844,20 -893,70 +925,83 @@@
)
)
+(define-method get_completion
+ (of-object "GtkSourceView")
+ (c-name "gtk_source_view_get_completion")
+ (return-type "GtkSourceCompletion*")
+)
+
+ (define-method get_gutter
+ (of-object "GtkSourceView")
+ (c-name "gtk_source_view_get_gutter")
+ (return-type "GtkSourceGutter*")
+ (parameters
+ '("GtkTextWindowType" "window_type")
+ )
+ )
+
+ (define-method set_mark_category_icon_from_pixbuf
+ (of-object "GtkSourceView")
+ (c-name "gtk_source_view_set_mark_category_icon_from_pixbuf")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "category")
+ '("GdkPixbuf*" "pixbuf" (null-ok))
+ )
+ )
+
+ (define-method set_mark_category_icon_from_stock
+ (of-object "GtkSourceView")
+ (c-name "gtk_source_view_set_mark_category_icon_from_stock")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "category")
+ '("const-gchar*" "stock_id" (null-ok))
+ )
+ )
+
+ (define-method set_mark_category_icon_from_icon_name
+ (of-object "GtkSourceView")
+ (c-name "gtk_source_view_set_mark_category_icon_from_icon_name")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "category")
+ '("const-gchar*" "name" (null-ok))
+ )
+ )
+
+ (define-method set_mark_category_tooltip_func
+ (of-object "GtkSourceView")
+ (c-name "gtk_source_view_set_mark_category_tooltip_func")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "category")
+ '("GtkSourceViewMarkTooltipFunc" "func")
+ '("gpointer" "user_data")
+ '("GDestroyNotify" "user_data_notify")
+ )
+ )
+
+ (define-method set_mark_category_tooltip_markup_func
+ (of-object "GtkSourceView")
+ (c-name "gtk_source_view_set_mark_category_tooltip_markup_func")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "category")
+ '("GtkSourceViewMarkTooltipFunc" "markup_func")
+ '("gpointer" "user_data")
+ '("GDestroyNotify" "user_data_notify")
+ )
+ )
+
-
+(define-method show_completion
+ (of-object "GtkSourceView")
+ (c-name "gtk_source_view_show_completion")
+ (return-type "none")
+ (parameters
+ '("GList*" "providers")
+ )
+)
;; From gtksourcemark.h
@@@ -1468,88 -1318,29 +1612,113 @@@
(of-object "GtkSourceView")
(return-type "none")
)
+
+(define-virtual get_label
+ (of-object "GtkSourceCompletionProposal")
+ (return-type "const-gchar*")
+)
+
+(define-virtual get_icon
+ (of-object "GtkSourceCompletionProposal")
+ (return-type "GdkPixbuf*")
+)
+
+(define-virtual get_info
+ (of-object "GtkSourceCompletionProposal")
+ (return-type "const-gchar*")
+)
+
+(define-virtual changed
+ (of-object "GtkSourceCompletionProposal")
+ (return-type "none")
+)
+
+(define-virtual get_name
+ (of-object "GtkSourceCompletionProvider")
+ (return-type "const-gchar*")
+)
+
+(define-virtual get_icon
+ (of-object "GtkSourceCompletionProvider")
+ (return-type "GdkPixbuf*")
+)
+
+(define-virtual get_proposals
+ (of-object "GtkSourceCompletionProvider")
+ (return-type "GList*")
+ (parameters
+ '("GtkTextIter*" "iter")
+ )
+)
+
+(define-virtual filter_proposal
+ (of-object "GtkSourceCompletionProvider")
+ (return-type "gboolean")
+ (parameters
+ '("GtkSourceCompletionProposal*" "proposal")
+ '("GtkTextIter*" "iter")
+ '("const-gchar*" "criteria")
+ )
+)
+
+(define-virtual get_automatic
+ (of-object "GtkSourceCompletionProvider")
+ (return-type "gboolean")
+)
+
+(define-virtual get_interactive
+ (of-object "GtkSourceCompletionProvider")
+ (return-type "gboolean")
+)
+
+(define-virtual get_info_widget
+ (of-object "GtkSourceCompletionProvider")
+ (return-type "GtkWidget*")
+ (caller-owns-return #t)
+ (parameters
+ '("GtkSourceCompletionProposal*" "proposal")
+ )
+)
+
+(define-virtual update_info
+ (of-object "GtkSourceCompletionProvider")
+ (return-type "none")
+ (parameters
+ '("GtkSourceCompletionProposal*" "proposal")
+ '("GtkSourceCompletionInfo*" "info")
+ )
+)
+
+(define-virtual activate_proposal
+ (of-object "GtkSourceCompletionProvider")
+ (return-type "gboolean")
+ (parameters
+ '("GtkSourceCompletionProposal*" "proposal")
+ '("GtkTextIter*" "iter")
++
+ (define-virtual cell_activated
+ (of-object "GtkSourceGutter")
+ (return-type "none")
+ (parameters
+ '("GtkCellRenderer*" "renderer")
+ '("GtkTextIter*" "iter")
+ '("GdkEvent*" "event")
+ )
+ )
+ (define-virtual query_tooltip
+ (of-object "GtkSourceGutter")
+ (return-type "gboolean")
+ (parameters
+ '("GtkCellRenderer*" "renderer")
+ '("GtkTextIter*" "iter")
+ '("GtkTooltip*" "tooltip")
+ )
+ )
+ (define-virtual line_mark_activated
+ (of-object "GtkSourceView")
+ (return-type "none")
+ (parameters
+ '("GtkTextIter*" "iter")
+ '("GdkEvent*" "event")
)
)
diff --cc gtksourceview2.override
index 753d1f5,e2da2da..64641b9
--- a/gtksourceview2.override
+++ b/gtksourceview2.override
@@@ -124,9 -124,9 +142,11 @@@ import gtk.TextView as PyGtkTextView_Ty
import gtk.TextBuffer as PyGtkTextBuffer_Type
import gtk.TextMark as PyGtkTextMark_Type
import gtk.PrintContext as PyGtkPrintContext_Type
+import gtk.Widget as PyGtkWidget_Type
+import gtk.Window as PyGtkWindow_Type
+import gtk.TextIter as PyGtkTextIter_Type
+ import gtk.CellRenderer as PyGtkCellRenderer_Type
+ import gtk.Tooltip as PyGtkTooltip_Type
-
%%
ignore-glob
*_get_type
@@@ -489,279 -488,263 +509,541 @@@ _wrap_gtk_source_view_get_mark_category
}
%%
+override gtk_source_view_show_completion kwargs
+
+static GList *
+pylist_to_glist_gobjs (PyObject *object, GType gtype)
+{
+ PyObject *item;
+ GObject *obj;
+ GList *ret = NULL;
+ int num;
+ int i;
+
+ if (object == Py_None) {
+ return ret;
+ }
+
+ num = PySequence_Size (object);
+
+ for (i = 0; i < num; ++i) {
+ item = PySequence_GetItem (object, i);
+
+ if (PyObject_TypeCheck(item, &PyGObject_Type)) {
+ obj = pygobject_get (item);
+
+ if (g_type_is_a (G_TYPE_FROM_INSTANCE (obj), gtype)) {
+ ret = g_list_prepend (ret, g_object_ref (obj));
+ }
+ }
+ }
+
+ return g_list_reverse (ret);
+}
+
+static PyObject *
+_wrap_gtk_source_view_show_completion (PyGObject *self,
+ PyObject *args,
+ PyObject *kwargs)
+{
+ static char *kwlist[] = { "providers", NULL };
+ PyObject *providers;
+ GList *items;
+
+ if (!PyArg_ParseTupleAndKeywords(args,
+ kwargs,
+ "|O:GtkSourceView.show_completion",
+ kwlist, &providers));
+
+ if (providers != Py_None && !PySequence_Check(providers)) {
+ PyErr_SetString(PyExc_TypeError, "providers must be a list");
+ return NULL;
+ }
+
+ items = pylist_to_glist_gobjs (providers, GTK_TYPE_SOURCE_COMPLETION_PROVIDER);
+ gtk_source_view_show_completion (GTK_SOURCE_VIEW(self->obj), items);
+
+ g_list_foreach (items, (GFunc)g_object_unref, NULL);
+ g_list_free (items);
-
++
++ Py_INCREF(Py_None);
++ return Py_None;
++}
++
++%%
+ override gtk_source_gutter_set_cell_data_func kwargs
+ static void
+ pygtksourceview_cell_data_func_marshal (GtkSourceGutter *gutter,
+ GtkCellRenderer *cell,
+ gint line_number,
+ gboolean current_line,
+ gpointer data)
+ {
+ PyGILState_STATE state;
+ PyGtkSourceViewCustomNotify *cunote = data;
+ PyObject *retobj;
+ PyObject *pygutter, *pycell;
+
+ g_assert (cunote->func);
+
+ state = pyg_gil_state_ensure();
+
+ pygutter = pygobject_new((GObject *)gutter);
+ pycell = pygobject_new((GObject *)cell);
+
+ if (cunote->data)
+ retobj = PyEval_CallFunction(cunote->func, "(NNiiO)",
+ pygutter, pycell,
+ line_number, current_line, cunote->data);
+ else
+ retobj = PyEval_CallFunction(cunote->func, "(NNii)",
+ pygutter, pycell,
+ line_number, current_line);
+
+ if (retobj == NULL) {
+ PyErr_Print();
+ } else
+ Py_DECREF(retobj);
+
+ pyg_gil_state_release(state);
+ }
+
+ static PyObject *
+ _wrap_gtk_source_gutter_set_cell_data_func (PyGObject *self,
+ PyObject *args,
+ PyObject *kwargs)
+ {
+ PyObject *pycell, *pyfunc, *pyarg = NULL;
+ GtkCellRenderer *cell;
+ PyGtkSourceViewCustomNotify *cunote;
+
+ if (!PyArg_ParseTuple(args, "OO|O:GtkSourceGutter.set_cell_data_func",
+ &pycell, &pyfunc, &pyarg))
+ return NULL;
+
+ if (pygobject_check(pycell, &PyGtkCellRenderer_Type))
+ cell = GTK_CELL_RENDERER(pygobject_get(pycell));
+ else {
+ PyErr_SetString(PyExc_TypeError,
+ "first argument must be a GtkCellRenderer");
+ return NULL;
+ }
+
+ if (pyfunc == Py_None) {
+ PyErr_SetString(PyExc_TypeError,
+ "Function can't be None");
+ } else {
+ cunote = g_new0(PyGtkSourceViewCustomNotify, 1);
+ cunote->func = pyfunc;
+ cunote->data = pyarg;
+ Py_INCREF(cunote->func);
+ Py_XINCREF(cunote->data);
+
+ gtk_source_gutter_set_cell_data_func(GTK_SOURCE_GUTTER(self->obj), cell,
+ pygtksourceview_cell_data_func_marshal,
+ cunote,
+ pygtksourceview_custom_destroy_notify);
+ }
+
Py_INCREF(Py_None);
return Py_None;
}
%%
+override gtk_source_completion_show kwargs
+static PyObject *
+_wrap_gtk_source_completion_show(PyGObject *self,
+ PyObject *args,
+ PyObject *kwargs)
+{
+ static char *kwlist[] = { "providers", "criteria", "place", NULL };
+ PyObject *providers;
+ const char *criteria;
+ GList *items;
+ PyGBoxed *iter;
+
+ if (!PyArg_ParseTupleAndKeywords(args,
+ kwargs,
+ "|OzO!:GtkSourceCompletion.show",
+ kwlist, &providers, &criteria, &PyGtkTextIter_Type, &iter));
+
+ if (providers != Py_None && !PySequence_Check(providers)) {
+ PyErr_SetString(PyExc_TypeError, "providers must be a list");
+ return NULL;
+ }
+
+ items = pylist_to_glist_gobjs (providers, GTK_TYPE_SOURCE_COMPLETION_PROVIDER);
+ gtk_source_completion_show (GTK_SOURCE_COMPLETION(self), items, criteria, pyg_boxed_get (iter, GtkTextIter));
+
+ g_list_foreach (items, (GFunc)g_object_unref, NULL);
+ g_list_free (items);
+
+ Py_INCREF(Py_None);
+ return Py_None;
+}
+
+%%
+override GtkSourceCompletionProvider__do_get_proposals kwargs
+static PyObject *
+_wrap_GtkSourceCompletionProvider__do_get_proposals(PyObject *cls,
+ PyObject *args,
+ PyObject *kwargs)
+{
+ GtkSourceCompletionProviderIface *iface;
+ static char *kwlist[] = { "self", "iter", NULL };
+ PyGObject *self;
+ PyGBoxed *iter;
+ GList *ret;
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs,"O!O!:GtkSourceCompletionProvider.get_proposals", kwlist, &PyGtkSourceCompletionProvider_Type, &self, &PyGtkTextIter_Type, &iter))
+ return NULL;
+ iface = g_type_interface_peek(g_type_class_peek(pyg_type_from_object(cls)), GTK_TYPE_SOURCE_COMPLETION_PROVIDER);
+ if (iface->get_proposals)
+ ret = iface->get_proposals(GTK_SOURCE_COMPLETION_PROVIDER(self->obj), pyg_boxed_get(iter, GtkTextIter));
+ else {
+ PyErr_SetString(PyExc_NotImplementedError, "interface method GtkSourceCompletionProvider.get_proposals not implemented");
+ return NULL;
+ }
+
+ return glist_to_pylist_objs (ret);
+}
+
+%%
+override gtk_source_completion_provider_get_proposals kwargs
+static PyObject *
+_wrap_gtk_source_completion_provider_get_proposals(PyGObject *self,
+ PyObject *args,
+ PyObject *kwargs)
+{
+ GList *proposals;
+ static char *kwlist[] = { "iter", NULL };
+ PyGBoxed *iter;
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!:GtkSourceCompletionProvider.get_proposals", kwlist, &PyGtkTextIter_Type, &iter))
+ return NULL;
+
+ proposals = gtk_source_completion_provider_get_proposals (GTK_SOURCE_COMPLETION_PROVIDER (self),
+ pyg_boxed_get(iter, GtkTextIter));
+
+ return glist_to_pylist_objs (proposals);
+}
+%%
+override GtkSourceCompletionProvider__proxy_do_get_proposals
+static GList *
+_wrap_GtkSourceCompletionProvider__proxy_do_get_proposals(GtkSourceCompletionProvider *self, GtkTextIter *iter)
+{
+ PyGILState_STATE __py_state;
+ PyObject *py_self;
+ GList *retval;
+ PyObject *py_retval;
+ PyObject *py_method;
+ PyObject *py_iter;
+ PyObject *py_args;
+
+ __py_state = pyg_gil_state_ensure();
+ py_self = pygobject_new((GObject *) self);
+ if (!py_self) {
+ if (PyErr_Occurred())
+ PyErr_Print();
+ pyg_gil_state_release(__py_state);
+ return FALSE;
+ }
+
+
+ py_method = PyObject_GetAttrString(py_self, "do_get_proposals");
+ if (!py_method) {
+ if (PyErr_Occurred())
+ PyErr_Print();
+ Py_DECREF(py_self);
+ pyg_gil_state_release(__py_state);
+ return FALSE;
+ }
+
+ py_iter = pyg_boxed_new (GTK_TYPE_TEXT_ITER, iter, FALSE, FALSE);
+ py_args = PyTuple_New(1);
+ PyTuple_SET_ITEM(py_args, 0, py_iter);
+
+ py_retval = PyObject_CallObject(py_method, py_args);
+ Py_XDECREF(py_args);
+
+ if (!py_retval) {
+ if (PyErr_Occurred())
+ PyErr_Print();
+ Py_XDECREF(py_retval);
+ Py_DECREF(py_method);
+ Py_DECREF(py_self);
+ pyg_gil_state_release(__py_state);
+ return NULL;
+ }
+
+ if (py_retval != Py_None && !PySequence_Check (py_retval)) {
+ PyErr_SetString(PyExc_TypeError, "proposals must be a list");
+ PyErr_Print();
+ retval = NULL;
+ } else {
+ retval = pylist_to_glist_gobjs (py_retval, GTK_TYPE_SOURCE_COMPLETION_PROPOSAL);
+ }
+
+ Py_XDECREF(py_retval);
+ Py_DECREF(py_method);
+ Py_DECREF(py_self);
+ pyg_gil_state_release(__py_state);
++
++ return retval;
++}
++
++%%
+ override gtk_source_gutter_set_cell_size_func kwargs
+ static void
+ pygtksourceview_cell_size_func_marshal (GtkSourceGutter *gutter,
+ GtkCellRenderer *cell,
+ gpointer data)
+ {
+ PyGILState_STATE state;
+ PyGtkSourceViewCustomNotify *cunote = data;
+ PyObject *retobj;
+ PyObject *pygutter, *pycell;
+
+ g_assert (cunote->func);
+
+ state = pyg_gil_state_ensure();
+
+ pygutter = pygobject_new((GObject *)gutter);
+ pycell = pygobject_new((GObject *)cell);
+
+ if (cunote->data)
+ retobj = PyEval_CallFunction(cunote->func, "(NNO)",
+ pygutter, pycell,
+ cunote->data);
+ else
+ retobj = PyEval_CallFunction(cunote->func, "(NN)",
+ pygutter, pycell);
+
+ if (retobj == NULL) {
+ PyErr_Print();
+ } else
+ Py_DECREF(retobj);
+
+ pyg_gil_state_release(state);
+ }
+
+ static PyObject *
+ _wrap_gtk_source_gutter_set_cell_size_func (PyGObject *self,
+ PyObject *args,
+ PyObject *kwargs)
+ {
+ PyObject *pycell, *pyfunc, *pyarg = NULL;
+ GtkCellRenderer *cell;
+ PyGtkSourceViewCustomNotify *cunote;
+
+ if (!PyArg_ParseTuple(args, "OO|O:GtkSourceGutter.set_cell_size_func",
+ &pycell, &pyfunc, &pyarg))
+ return NULL;
+
+ if (pygobject_check(pycell, &PyGtkCellRenderer_Type))
+ cell = GTK_CELL_RENDERER(pygobject_get(pycell));
+ else {
+ PyErr_SetString(PyExc_TypeError,
+ "first argument must be a GtkCellRenderer");
+ return NULL;
+ }
+
+ if (pyfunc == Py_None) {
+ PyErr_SetString(PyExc_TypeError,
+ "func must be a callable object");
+ } else {
+ cunote = g_new0(PyGtkSourceViewCustomNotify, 1);
+ cunote->func = pyfunc;
+ cunote->data = pyarg;
+ Py_INCREF(cunote->func);
+ Py_XINCREF(cunote->data);
+
+ gtk_source_gutter_set_cell_size_func(GTK_SOURCE_GUTTER(self->obj), cell,
+ pygtksourceview_cell_size_func_marshal,
+ cunote,
+ pygtksourceview_custom_destroy_notify);
+ }
+
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+
+ %%
+ override gtk_source_view_set_mark_category_tooltip_func kwargs
+ static gchar *
+ pygtksourceview_mark_tooltip_func_marshal (GtkSourceMark *mark,
+ gpointer data)
+ {
+ PyGILState_STATE state;
+ PyGtkSourceViewCustomNotify *cunote = data;
+ PyObject *retobj;
+ PyObject *pymark;
+ gchar *retval = NULL;
+
+ g_assert (cunote->func);
+
+ state = pyg_gil_state_ensure();
+
+ pymark = pygobject_new((GObject *)mark);
+
+ if (cunote->data)
+ retobj = PyEval_CallFunction(cunote->func, "(NO)",
+ pymark,
+ cunote->data);
+ else
+ retobj = PyEval_CallFunction(cunote->func, "(N)",
+ pymark);
+
+ if (retobj == NULL) {
+ PyErr_Print();
+ } else
+ retval = PyString_AsString(retobj);
+ Py_DECREF(retobj);
+
+ pyg_gil_state_release(state);
return retval;
}
+%%
+override GtkSourceCompletionProvider__proxy_do_get_info_widget
+
+static GtkWidget*
+_wrap_GtkSourceCompletionProvider__proxy_do_get_info_widget(GtkSourceCompletionProvider *self, GtkSourceCompletionProposal*proposal)
+{
+ PyGILState_STATE __py_state;
+ PyObject *py_self;
+ PyObject *py_proposal = NULL;
+ GtkWidget* retval;
+ PyObject *py_retval;
+ PyObject *py_args;
+ PyObject *py_method;
+
+ __py_state = pyg_gil_state_ensure();
+ py_self = pygobject_new((GObject *) self);
+ if (!py_self) {
+ if (PyErr_Occurred())
+ PyErr_Print();
+ pyg_gil_state_release(__py_state);
+ return NULL;
+ }
+ if (proposal)
+ py_proposal = pygobject_new((GObject *) proposal);
+ else {
+ Py_INCREF(Py_None);
+ py_proposal = Py_None;
+ }
+
+ py_args = PyTuple_New(1);
+ PyTuple_SET_ITEM(py_args, 0, py_proposal);
+
+ py_method = PyObject_GetAttrString(py_self, "do_get_info_widget");
+ if (!py_method) {
+ if (PyErr_Occurred())
+ PyErr_Print();
+ Py_DECREF(py_args);
+ Py_DECREF(py_self);
+ pyg_gil_state_release(__py_state);
+ return NULL;
+ }
+ py_retval = PyObject_CallObject(py_method, py_args);
+ if (!py_retval) {
+ if (PyErr_Occurred())
+ PyErr_Print();
+ Py_XDECREF(py_retval);
+ Py_DECREF(py_method);
+ Py_DECREF(py_args);
+ Py_DECREF(py_self);
+ pyg_gil_state_release(__py_state);
+ return NULL;
+ }
+ if (!PyObject_TypeCheck(py_retval, &PyGObject_Type)) {
+ PyErr_SetString(PyExc_TypeError, "retval should be a GObject");
+ PyErr_Print();
+ Py_XDECREF(py_retval);
+ Py_DECREF(py_method);
+ Py_DECREF(py_args);
+ Py_DECREF(py_self);
+ pyg_gil_state_release(__py_state);
+ return NULL;
+ }
+ retval = (GtkWidget*) pygobject_get(py_retval);
+
+ Py_XDECREF(py_retval);
+ Py_DECREF(py_method);
+ Py_DECREF(py_args);
+ Py_DECREF(py_self);
+ pyg_gil_state_release(__py_state);
+
+ return retval;
+}
++
+ static PyObject *
+ _wrap_gtk_source_view_set_mark_category_tooltip_func (PyGObject *self,
+ PyObject *args,
+ PyObject *kwargs)
+ {
+ PyObject *pyfunc, *pyarg = NULL;
+ PyGtkSourceViewCustomNotify *cunote;
+ gchar *category;
+
+ if (!PyArg_ParseTuple(args, "sO|O:GtkSourceView.set_mark_category_tooltip_func",
+ &category, &pyfunc, &pyarg))
+ return NULL;
+
+ if (pyfunc == Py_None) {
+ gtk_source_view_set_mark_category_tooltip_func(GTK_SOURCE_VIEW(self->obj),
+ category, NULL, NULL, NULL);
+ } else {
+ cunote = g_new0(PyGtkSourceViewCustomNotify, 1);
+ cunote->func = pyfunc;
+ cunote->data = pyarg;
+ Py_INCREF(cunote->func);
+ Py_XINCREF(cunote->data);
+
+ gtk_source_view_set_mark_category_tooltip_func(GTK_SOURCE_VIEW(self->obj),
+ category,
+ pygtksourceview_mark_tooltip_func_marshal,
+ cunote,
+ pygtksourceview_custom_destroy_notify);
+ }
+
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+
+ %%
+ override gtk_source_view_set_mark_category_tooltip_markup_func kwargs
+ static PyObject *
+ _wrap_gtk_source_view_set_mark_category_tooltip_markup_func (PyGObject *self,
+ PyObject *args,
+ PyObject *kwargs)
+ {
+ PyObject *pyfunc, *pyarg = NULL;
+ PyGtkSourceViewCustomNotify *cunote;
+ gchar *category;
+
+ if (!PyArg_ParseTuple(args, "sO|O:GtkSourceView.set_mark_category_tooltip_markup_func",
+ &category, &pyfunc, &pyarg))
+ return NULL;
+
+ if (pyfunc == Py_None) {
+ gtk_source_view_set_mark_category_tooltip_markup_func(GTK_SOURCE_VIEW(self->obj),
+ category, NULL, NULL, NULL);
+ } else {
+ cunote = g_new0(PyGtkSourceViewCustomNotify, 1);
+ cunote->func = pyfunc;
+ cunote->data = pyarg;
+ Py_INCREF(cunote->func);
+ Py_XINCREF(cunote->data);
+
+ gtk_source_view_set_mark_category_tooltip_markup_func(GTK_SOURCE_VIEW(self->obj),
+ category,
+ pygtksourceview_mark_tooltip_func_marshal,
+ cunote,
+ pygtksourceview_custom_destroy_notify);
+ }
+
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]