summaryrefslogtreecommitdiff
path: root/plugin-loaders/python/bindings/plumautils.override
diff options
context:
space:
mode:
Diffstat (limited to 'plugin-loaders/python/bindings/plumautils.override')
-rwxr-xr-xplugin-loaders/python/bindings/plumautils.override85
1 files changed, 85 insertions, 0 deletions
diff --git a/plugin-loaders/python/bindings/plumautils.override b/plugin-loaders/python/bindings/plumautils.override
new file mode 100755
index 00000000..3b2116e9
--- /dev/null
+++ b/plugin-loaders/python/bindings/plumautils.override
@@ -0,0 +1,85 @@
+%%
+headers
+#define NO_IMPORT_PYGOBJECT
+#define NO_IMPORT_PYGTK
+#include <pygobject.h>
+#include <pygtk/pygtk.h>
+
+#include "pluma-utils.h"
+
+void pyplumautils_register_classes (PyObject *d);
+void pyplumautils_add_constants (PyObject *module, const gchar *strip_prefix);
+
+%%
+modulename pluma.utils
+%%
+import gtk.Widget as PyGtkWidget_Type
+import gtk.TreeView as PyGtkTreeView_Type
+import gtk.Menu as PyGtkMenu_Type
+%%
+ignore-glob
+ _*
+%%
+override pluma_utils_menu_position_under_widget kwargs
+static PyObject *
+_wrap_pluma_utils_menu_position_under_widget (PyObject *self,
+ PyObject *args,
+ PyObject *kwargs)
+{
+ static char *kwlist[] = { "menu", "widget", NULL };
+ PyObject *py_menu, *py_widget;
+ GtkMenu *menu;
+ GtkWidget *widget;
+ gint x, y;
+ gboolean push_in;
+ PyObject *tuple;
+
+ if (!PyArg_ParseTupleAndKeywords (args, kwargs,
+ "O!O!", kwlist,
+ &PyGtkMenu_Type, &py_menu,
+ &PyGtkWidget_Type, &py_widget))
+ return NULL;
+
+ menu = GTK_MENU (pygobject_get (py_menu));
+ widget = GTK_WIDGET (pygobject_get (py_widget));
+
+ pluma_utils_menu_position_under_widget (menu, &x, &y, &push_in, widget);
+
+ tuple = PyTuple_New (3);
+ PyTuple_SetItem (tuple, 0, PyInt_FromLong (x));
+ PyTuple_SetItem (tuple, 1, PyInt_FromLong (y));
+ PyTuple_SetItem (tuple, 2, PyBool_FromLong (push_in));
+ return tuple;
+}
+%%
+override pluma_utils_menu_position_under_tree_view kwargs
+static PyObject *
+_wrap_pluma_utils_menu_position_under_tree_view (PyObject *self,
+ PyObject *args,
+ PyObject *kwargs)
+{
+ static char *kwlist[] = { "menu", "tree_view", NULL };
+ PyObject *py_menu, *py_view;
+ GtkMenu *menu;
+ GtkTreeView *view;
+ gint x, y;
+ gboolean push_in;
+ PyObject *tuple;
+
+ if (!PyArg_ParseTupleAndKeywords (args, kwargs,
+ "O!O!", kwlist,
+ &PyGtkMenu_Type, &py_menu,
+ &PyGtkTreeView_Type, &py_view))
+ return NULL;
+
+ menu = GTK_MENU (pygobject_get (py_menu));
+ view = GTK_TREE_VIEW (pygobject_get (py_view));
+
+ pluma_utils_menu_position_under_widget (menu, &x, &y, &push_in, view);
+
+ tuple = PyTuple_New (3);
+ PyTuple_SetItem (tuple, 0, PyInt_FromLong (x));
+ PyTuple_SetItem (tuple, 1, PyInt_FromLong (y));
+ PyTuple_SetItem (tuple, 2, PyBool_FromLong (push_in));
+ return tuple;
+}