[rep-gtk] sync with Jürgen Hötzels branch



commit 04675d7afa57183901f98cc661b482936804ef9e
Author: chrisb <zanghar freenet de>
Date:   Wed Aug 26 20:17:43 2009 +0200

    sync with Jürgen Hötzels branch

 ChangeLog                       |    4 +++
 Makefile.in                     |    4 ++-
 examples/gtk-builder-test.glade |   43 +++++++++++++++++++++++++++++++++++++++
 examples/gtk-builder.jl         |   28 +++++++++++++++++++++++++
 gdk-pixbuf.defs                 |    6 +---
 gtk.defs                        |    1 +
 gtkbuilder.defs                 |   24 +++++++++++++++++++++
 7 files changed, 105 insertions(+), 5 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index fa23bce..17f8d3c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2009-08-26  Christopher Bratusek <zanghar freenet de>
+	* gtk.defs:
+	sync with Jürgen Hötzels branch
+
 2009-08-22  Christopher Bratusek <zanghar freenet de>
 	* gtk.defs:
 	use tvec to make gtk_about_dialog_set_* work
diff --git a/Makefile.in b/Makefile.in
index e07f428..e02f187 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -56,6 +56,8 @@ gtk-2/gtk.la : $(OBJS)
 %-glue.c : %.defs build-gtk.jlc
 	rep build-gtk.jlc -f build-gtk-batch $< $@
 
+.PRECIOUS:  %-glue.c
+
 build-gtk.jlc : build-gtk.jl
 	rep compiler -f compile-batch $<
 
@@ -103,4 +105,4 @@ gtk-2 :
 	mkdir gtk-2
 
 # hand-needed dependences
-gtk-glue.c : gtk.defs gtktext.defs build-gtk.jlc
+gtk-glue.c : gtk.defs gtktext.defs gtktree.defs gtkbuilder.defs build-gtk.jlc
diff --git a/examples/gtk-builder-test.glade b/examples/gtk-builder-test.glade
new file mode 100644
index 0000000..0d3e6d4
--- /dev/null
+++ b/examples/gtk-builder-test.glade
@@ -0,0 +1,43 @@
+<?xml version="1.0"?>
+<interface>
+  <!-- interface-requires gtk+ 2.12 -->
+  <!-- interface-naming-policy project-wide -->
+  <object class="GtkWindow" id="window">
+    <signal name="destroy" handler="gtk_main_quit"/>
+    <child>
+      <object class="GtkVBox" id="vbox1">
+        <property name="visible">True</property>
+        <property name="orientation">vertical</property>
+        <child>
+          <object class="GtkButton" id="button">
+            <property name="label" translatable="yes">button</property>
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="receives_default">True</property>
+          </object>
+          <packing>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkEntry" id="entry1">
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="invisible_char">&#x2022;</property>
+          </object>
+          <packing>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkFileChooserButton" id="filechooserbutton1">
+            <property name="visible">True</property>
+          </object>
+          <packing>
+            <property name="position">2</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+  </object>
+</interface>
diff --git a/examples/gtk-builder.jl b/examples/gtk-builder.jl
new file mode 100644
index 0000000..1d201bd
--- /dev/null
+++ b/examples/gtk-builder.jl
@@ -0,0 +1,28 @@
+;; gtk-builder.jl
+
+(require 'gui.gtk-2.gtk)
+
+(structure ()
+    (open rep
+	  rep.system
+	  gui.gtk-2.gtk)
+
+  (define builder (gtk-builder-new))
+  (gtk-builder-add-from-file builder "gtk-builder-test.glade")
+  (define window (gtk-builder-get-object builder "window"))
+  (gtk-widget-show-all window)
+
+  (g-signal-connect (gtk-builder-get-object builder "button") "pressed" 
+		    (lambda ()
+		      (message "Button pressed")))
+
+  (gtk-builder-connect-signals builder)
+
+  (setq interrupt-mode 'exit)
+  (recursive-edit))
+
+
+
+;; Local variables:
+;; major-mode: lisp-mode
+;; End:
diff --git a/gdk-pixbuf.defs b/gdk-pixbuf.defs
index b228c2b..76a7ca8 100644
--- a/gdk-pixbuf.defs
+++ b/gdk-pixbuf.defs
@@ -2,9 +2,7 @@
 
 (import "gdk.defs")
 
-(define-boxed GdkPixbuf
-  (copy gdk_pixbuf_ref)
-  (free gdk_pixbuf_unref))
+(define-object GdkPixbuf (GObject))
 
 (define-enum GdkColorspace
   (rgb GDK_COLORSPACE_RGB))
@@ -70,7 +68,7 @@
 ;;; loading
 
 (define-func gdk_pixbuf_new_from_file
-  (GdkPixbuf (copy nil))
+  (GdkPixbuf)
   ((string filename)
    ;; XXX fix this
    (GPointer gerror (= "0"))))
diff --git a/gtk.defs b/gtk.defs
index b3861be..bffd8fd 100644
--- a/gtk.defs
+++ b/gtk.defs
@@ -5175,6 +5175,7 @@
 
 (include "gtktext.defs")
 (include "gtktree.defs")
+(include "gtkbuilder.defs")
 
 ;; Options
 
diff --git a/gtkbuilder.defs b/gtkbuilder.defs
new file mode 100644
index 0000000..971749e
--- /dev/null
+++ b/gtkbuilder.defs
@@ -0,0 +1,24 @@
+;; -*- lisp -*-
+
+(define-object GtkBuilder (GObject))
+
+(define-func gtk_builder_new
+  GtkBuilder
+  ())
+
+(define-func gtk_builder_add_from_file
+  (int)
+  ((GtkBuilder builder)
+   (string filename)
+   ;; XXX fix this
+   (GPointer gerror (= "0"))))
+
+(define-func gtk_builder_get_object 
+  (GObject)
+  ((GtkBuilder builder)
+   (string name)))
+
+(define-func gtk_builder_connect_signals
+  none
+  ((GtkBuilder builder)
+   (GPointer user_data)))



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]