all: Allow XAppGtkWindows to be used in builder (ui) files and in
Glade.
Michael Webster
6 years ago
0 | 0 | SUBDIRS = libxapp po schemas files docs |
1 | if ENABLE_PYTHON | |
2 | SUBDIRS += pygobject | |
3 | endif | |
1 | 4 | |
2 | 5 | ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS} |
3 | 6 |
98 | 98 | |
99 | 99 | CFLAGS="$CFLAGS -Wno-declaration-after-statement" |
100 | 100 | |
101 | # Python support | |
102 | ||
103 | PYGOBJECT_REQUIRED=2.90 | |
104 | ||
105 | PKG_CHECK_EXISTS([pygobject-3.0 >= $PYGOBJECT_REQUIRED], | |
106 | [have_python=yes], [have_python=no]) | |
107 | ||
108 | AS_IF([test "x$have_python" = "xyes"], | |
109 | [AM_PATH_PYTHON | |
110 | AC_SUBST([pyoverridesdir], [`$PYTHON -c "import gi;print (gi._overridesdir)" 2>/dev/null`])]) | |
111 | ||
112 | AM_CONDITIONAL([ENABLE_PYTHON], [test "x$have_python" = "xyes"]) | |
113 | ||
101 | 114 | AC_CONFIG_FILES([ |
102 | 115 | Makefile |
103 | 116 | docs/Makefile |
104 | 117 | docs/reference/Makefile |
118 | pygobject/Makefile | |
105 | 119 | libxapp/Makefile |
106 | 120 | libxapp/xapp.pc |
107 | 121 | libxapp/xapp-uninstalled.pc |
17 | 17 | libgtk-3-dev (>= 3.3.16), |
18 | 18 | libx11-dev, |
19 | 19 | python3, |
20 | python-gi-dev, | |
20 | 21 | yelp-tools, |
21 | 22 | libgnomekbd-dev |
22 | 23 | Standards-Version: 3.9.6 |
0 | DEB_PKG_CONFIG_LIBDIR/girepository-1.0/XApp-1.0.typelib⏎ | |
0 | DEB_PKG_CONFIG_LIBDIR/girepository-1.0/XApp-1.0.typelib | |
1 | usr/lib/python*/dist-packages/gi/overrides/*.py |
1 | 1 | usr/lib/*/libxapp.so |
2 | 2 | usr/lib/*/pkgconfig/xapp.pc |
3 | 3 | usr/share/gir-1.0/XApp-1.0.gir |
4 | usr/share/glade/catalogs/xapp-glade-catalog.xml |
21 | 21 | |
22 | 22 | override_dh_install: |
23 | 23 | sed 's@DEB_PKG_CONFIG_LIBDIR@${DEB_PKG_CONFIG_LIBDIR}@' debian/gir1.2-xapp-1.0.install.in > debian/gir1.2-xapp-1.0.install |
24 | dh_install --list-missing | |
24 | ||
25 | # install the python3 gir override file as well | |
26 | PYTHON=python3 ./configure --prefix=/usr | |
27 | cd pygobject/ && DESTDIR=../debian/tmp make install && cd .. | |
28 | ||
29 | rm debian/tmp/usr/lib/*/*.la | |
30 | rm debian/tmp/usr/lib/python*/dist-packages/gi/overrides/*.pyc | |
31 | rm debian/tmp/usr/lib/python*/dist-packages/gi/overrides/*.pyo | |
32 | rm -rf debian/tmp/usr/lib/python3/dist-packages/gi/overrides/__pycache__/ | |
33 | ||
34 | dh_install --fail-missing | |
35 | dh_python2 -pgir1.2-xapp-1.0 |
16 | 16 | introspection_sources = \ |
17 | 17 | xapp-monitor-blanker.c \ |
18 | 18 | xapp-kbd-layout-controller.c \ |
19 | xapp-gtk-window.c | |
19 | xapp-gtk-window.c \ | |
20 | xapp-glade-catalog.c | |
20 | 21 | |
21 | 22 | libxapp_la_SOURCES = \ |
22 | 23 | $(introspection_sources) |
34 | 35 | |
35 | 36 | pkgconfigdir = $(libdir)/pkgconfig |
36 | 37 | pkgconfig_DATA = xapp.pc |
38 | ||
39 | catalogdir = $(prefix)/share/glade/catalogs/ | |
40 | catalog_DATA = xapp-glade-catalog.xml | |
37 | 41 | |
38 | 42 | libxappdir = $(includedir)/xapp/libxapp |
39 | 43 | libxapp_HEADERS = \ |
0 | #include "config.h" | |
1 | #include <glib-object.h> | |
2 | ||
3 | #include "xapp-gtk-window.h" | |
4 | ||
5 | void | |
6 | xapp_glade_catalog_init (const gchar *catalog_name); | |
7 | ||
8 | void | |
9 | xapp_glade_catalog_init (const gchar *catalog_name) | |
10 | { | |
11 | g_type_ensure (XAPP_TYPE_GTK_WINDOW); | |
12 | } |
0 | <?xml version="1.0" encoding="UTF-8"?> | |
1 | <glade-catalog name="xapp" library="xapp" depends="gtk+"> | |
2 | <init-function>xapp_glade_catalog_init</init-function> | |
3 | <glade-widget-classes> | |
4 | <glade-widget-class name="XAppGtkWindow" generic-name="xappgtkwindow" | |
5 | title="XAppGtkWindow" parent="GtkWindow" /> | |
6 | </glade-widget-classes> | |
7 | ||
8 | <glade-widget-group name="xapp-widgets" title="XApp Widgets"> | |
9 | <glade-widget-class-ref name="XAppGtkWindow" /> | |
10 | </glade-widget-group> | |
11 | </glade-catalog> |
51 | 51 | * These functions mirror those of the #XAppGtkWindow class, but allow the properties |
52 | 52 | * to work with normal GtkWindows and descendants of GtkWindow. |
53 | 53 | */ |
54 | ||
55 | struct _XAppGtkWindow | |
56 | { | |
57 | GtkWindow parent_object; | |
58 | ||
59 | XAppGtkWindowPrivate *priv; | |
60 | }; | |
54 | 61 | |
55 | 62 | struct _XAppGtkWindowPrivate |
56 | 63 | { |
352 | 359 | * Creates a new #XAppGtkWindow of type @type. See gtk_window_new() |
353 | 360 | * for more details. |
354 | 361 | * |
355 | * Returns: A new #XAppGtkWindow | |
362 | * Returns: A new #XAppGtkWindow (transfer: full) | |
356 | 363 | */ |
357 | 364 | GtkWidget * |
358 | 365 | xapp_gtk_window_new (GtkWindowType type) |
7 | 7 | |
8 | 8 | G_BEGIN_DECLS |
9 | 9 | |
10 | #define XAPP_TYPE_GTK_WINDOW (xapp_gtk_window_get_type ()) | |
11 | #define XAPP_GTK_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), XAPP_TYPE_GTK_WINDOW, XAppGtkWindow)) | |
12 | #define XAPP_GTK_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), XAPP_TYPE_GTK_WINDOW, XAppGtkWindowClass)) | |
13 | #define XAPP_IS_GTK_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), XAPP_TYPE_GTK_WINDOW)) | |
14 | #define XAPP_IS_GTK_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), XAPP_TYPE_GTK_WINDOW)) | |
15 | #define XAPP_GTK_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), XAPP_TYPE_GTK_WINDOW, XAppGtkWindowClass)) | |
10 | #define XAPP_TYPE_GTK_WINDOW (xapp_gtk_window_get_type ()) | |
11 | ||
12 | G_DECLARE_FINAL_TYPE (XAppGtkWindow, xapp_gtk_window, XAPP, GTK_WINDOW, GtkWindow) | |
16 | 13 | |
17 | 14 | typedef struct _XAppGtkWindowPrivate XAppGtkWindowPrivate; |
18 | typedef struct _XAppGtkWindow XAppGtkWindow; | |
19 | typedef struct _XAppGtkWindowClass XAppGtkWindowClass; | |
20 | ||
21 | struct _XAppGtkWindow | |
22 | { | |
23 | GtkWindow parent_object; | |
24 | ||
25 | XAppGtkWindowPrivate *priv; | |
26 | }; | |
27 | ||
28 | struct _XAppGtkWindowClass | |
29 | { | |
30 | GtkWindowClass parent_class; | |
31 | }; | |
32 | 15 | |
33 | 16 | /* Class */ |
34 | GType xapp_gtk_window_get_type (void); | |
35 | 17 | GtkWidget *xapp_gtk_window_new (GtkWindowType type); |
36 | 18 | |
37 | 19 | void xapp_gtk_window_set_icon_name (XAppGtkWindow *window, |
0 | from gi.overrides import override | |
1 | from gi.importer import modules | |
2 | ||
3 | XApp = modules['XApp']._introspection_module | |
4 | ||
5 | __all__ = [] | |
6 | ||
7 | class GtkWindow(XApp.GtkWindow): | |
8 | ||
9 | def __init__(self, *args, **kwargs): | |
10 | XApp.GtkWindow.__init__(self, *args, **kwargs) | |
11 | ||
12 | GtkWindow = override(GtkWindow) | |
13 | __all__.append('GtkWindow') |