]> git.draconx.ca Git - aspectbin.git/commitdiff
Add initial support for glade.
authorNick Bowler <nbowler@draconx.ca>
Sun, 15 Mar 2009 04:16:48 +0000 (00:16 -0400)
committerNick Bowler <nbowler@draconx.ca>
Sun, 15 Mar 2009 04:16:48 +0000 (00:16 -0400)
.gitignore
Makefile
aspectbin-glade.c [new file with mode: 0644]
aspectbin.xml [new file with mode: 0644]

index 87e54c2147f89ced7b95a4aaad6dcdbc3f5f1f7a..9102e05504d6cd45bd26020d93e196bff94138d7 100644 (file)
@@ -1,2 +1,3 @@
 main
 *.o
+libaspectbin.so
index bbfce768c7f29119e5203454a41b25884c60a81d..470803132cab626b3d24baedc5572ee4ede487df 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,14 +1,19 @@
-CC = gcc -std=c99 -pedantic
+CC = gcc -g -std=c99 -pedantic
 WARNINGS = -Wall
 
 GTK_CFLAGS = $(shell pkg-config --cflags gtk+-2.0)
 GTK_LIBS = $(shell pkg-config --libs gtk+-2.0)
+GLADEUI_CFLAGS = $(shell pkg-config --cflags gladeui-1.0)
+GLADEUI_LIBS = $(shell pkg-config --libs gladeui-1.0)
 
-main: main.o aspectbin.o
-       $(CC) -o $@ $(GTK_LIBS) $^
+main: main.o libaspectbin.so
+       $(CC) -o $@ $(GTK_LIBS) $(LDFLAGS) $^
+
+libaspectbin.so: aspectbin.o aspectbin-glade.o
+       $(CC) -fPIC -shared -o $@ $(GTK_LIBS) $(GLADEUI_LIBS) $(LDFLAGS) $^
 
 .c.o:
-       $(CC) -c -o $@ $(WARNINGS) $(GTK_CFLAGS) $(CFLAGS) $<
+       $(CC) -fPIC -c -o $@ $(WARNINGS) $(GTK_CFLAGS) $(GLADEUI_CFLAGS) $(CFLAGS) $<
 
 aspectbin.o: aspectbin.h
 main.o: aspectbin.h
diff --git a/aspectbin-glade.c b/aspectbin-glade.c
new file mode 100644 (file)
index 0000000..7a52064
--- /dev/null
@@ -0,0 +1,17 @@
+#include <gtk/gtk.h>
+#include <gladeui/glade.h>
+#include "aspectbin.h"
+
+void aspect_bin_post_create(GladeWidgetAdaptor *adaptor,
+                            GObject            *object,
+                            GladeCreateReason   reason)
+{
+       AspectBin *abin;
+       g_return_if_fail(IS_ASPECT_BIN(object));
+       abin = ASPECT_BIN(object);
+
+       if (reason == GLADE_CREATE_USER) {
+               gtk_container_add(GTK_CONTAINER(abin), glade_placeholder_new());
+               gtk_container_add(GTK_CONTAINER(abin), glade_placeholder_new());
+       }
+}
diff --git a/aspectbin.xml b/aspectbin.xml
new file mode 100644 (file)
index 0000000..cf15a6e
--- /dev/null
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glade-catalog name="aspectbin" library="aspectbin" depends="gtk+">
+
+  <glade-widget-classes>
+    <glade-widget-class name="AspectBin" generic-name="aspect_bin" title="Aspect Bin">
+      <post-create-function>aspect_bin_post_create</post-create-function>
+    </glade-widget-class>
+  </glade-widget-classes>
+
+  <glade-widget-group name="nickswidgets-toplevels" title="Nick's Widgets">
+    <glade-widget-class-ref name="AspectBin"/>
+  </glade-widget-group>
+
+</glade-catalog>