Merge branch 'andy128k' into andy128kr
authorDmitry Kalyanov <Kalyanov.Dmitry@gmail.com>
Mon, 18 Jan 2010 20:38:44 +0000 (23:38 +0300)
committerDmitry Kalyanov <Kalyanov.Dmitry@gmail.com>
Mon, 18 Jan 2010 20:38:44 +0000 (23:38 +0300)
28 files changed:
api.ods [deleted file]
cairo/cl-gtk2-cairo.asd
doc/gtk.texi
gdk/cl-gtk2-gdk.asd
gdk/gdk.objects.lisp
gdk/gdk.package.lisp [changed mode: 0755->0644]
gdk/gdk.threads.lisp
glib/cl-gtk2-glib.asd
glib/glib.lisp [changed mode: 0755->0644]
glib/gobject.generating.lisp [changed mode: 0755->0644]
glib/gobject.init.lisp [changed mode: 0755->0644]
glib/gobject.meta.lisp [changed mode: 0755->0644]
glib/gobject.package.lisp
gtk-glext/cl-gtk2-gtkglext.asd
gtk-glext/gtkglext.package.lisp [changed mode: 0755->0644]
gtk/cl-gtk2-gtk.asd
gtk/demo/demo1.glade [deleted file]
gtk/demo/text-editor.glade [deleted file]
gtk/gtk.cell-renderer.lisp
gtk/gtk.child-properties.lisp
gtk/gtk.demo.lisp
gtk/gtk.dnd.lisp
gtk/gtk.main_loop_events.lisp
gtk/gtk.package.lisp [changed mode: 0755->0644]
gtk/gtk.tree-view.lisp
gtk/gtk.widget.lisp
gtk/ui-markup.lisp
pango/cl-gtk2-pango.asd

diff --git a/api.ods b/api.ods
deleted file mode 100644 (file)
index 29911b5..0000000
Binary files a/api.ods and /dev/null differ
index d2b0ae3..56c9220 100644 (file)
@@ -1,6 +1,6 @@
 (defsystem :cl-gtk2-cairo
   :name :cl-gtk2-cairo
-  :version "0.1"
+  :version "0.1.1"
   :author "Kalyanov Dmitry <Kalyanov.Dmitry@gmail.com>"
   :license "LLGPL"
   :serial t
index d340d5b..1d7ddc4 100644 (file)
@@ -298,7 +298,7 @@ The important parts of @code{Gtk+} are:
 @item @uref{http://common-lisp.net/project/cl-cairo2/,,cl-cairo2} (if you intend to use <code>cl-gtk2-gtkglext</code>)
 @end itemize
 
-At first, source code should be downloded. Current version of CL-GTK2 can be downloaded from @uref{http://common-lisp.net/project/cl-gtk2/files/cl-gtk2-0.1.tar.gz}.
+At first, source code should be downloded. Current version of CL-GTK2 can be downloaded from @uref{http://common-lisp.net/project/cl-gtk2/files/cl-gtk2-0.1.1.tar.gz}.
 
 Development tree of CL-GTK2 can be cloned with @uref{http://git-scm.org/,,Git}:
 @example
index 2869ef4..3c7c2cc 100644 (file)
@@ -1,6 +1,6 @@
 (defsystem :cl-gtk2-gdk
   :name :cl-gtk2-gdk
-  :version "0.1"
+  :version "0.1.1"
   :author "Kalyanov Dmitry <Kalyanov.Dmitry@gmail.com>"
   :license "LLGPL"
   :serial t
index 78774d5..95f9068 100644 (file)
 (defmethod translate-to-foreign (value (type gdk-atom-as-string-type))
   (gdk-atom-intern value nil))
 
+(defcfun gdk-region-new :pointer)
+
+(define-g-boxed-opaque region nil :alloc (gdk-region-new))
+
+(export (boxed-related-symbols 'region))
+
+(define-g-boxed-cstruct point nil
+  (x :int :initform 0)
+  (y :int :initform 0))
+
+(export (boxed-related-symbols 'point))
+
+(define-g-boxed-cstruct span nil
+  (x :int :initform 0)
+  (y :int :initform 0)
+  (width :int :initform 0))
+
+(export (boxed-related-symbols 'span))
+
+(define-g-boxed-cstruct segment nil
+  (x1 :int :initform 0)
+  (y1 :int :initform 0)
+  (x2 :int :initform 0)
+  (y2 :int :initform 0))
+
+(export (boxed-related-symbols 'segment))
+
+(define-g-boxed-cstruct trapezoid nil
+  (y1 :double :initform 0d0)
+  (x11 :double :initform 0d0)
+  (x21 :double :initform 0d0)
+  (y2 :double :initform 0d0)
+  (x12 :double :initform 0d0)
+  (x22 :double :initform 0d0))
+
+(export (boxed-related-symbols 'trapezoid))
+
+(define-g-boxed-opaque font "GdkFont"
+  :alloc (error "GDK:FONT objects may not be allocated directly"))
+
+(export (boxed-related-symbols 'font))
+
+(define-g-boxed-cstruct color "GdkColor"
+  (pixel :uint32 :initform 0)
+  (red :uint16 :initform 0)
+  (green :uint16 :initform 0)
+  (blue :uint16 :initform 0))
+
+(export (boxed-related-symbols 'color))
+
+(define-g-object-class "GdkDrawable" drawable ()
+  ((:cffi display drawable-display (g-object display)
+          "gdk_drawable_get_display" nil)
+   (:cffi screen drawable-screen (g-object screen)
+          "gdk_drawable_get_screen" nil)
+   (:cffi visual drawable-visual (g-object visual)
+          "gdk_drawable_get_visual" nil)
+   (:cffi colormap drawable-colormap (g-object colormap)
+          "gdk_drawable_get_colormap" "gdk_drawable_set_colormap")
+   (:cffi depth drawable-depth :int
+          "gdk_drawable_get_depth" nil)
+   (:cffi clip-region drawable-clip-region (g-boxed-foreign region :return)
+          "gdk_drawable_get_clip_region" nil)
+   (:cffi visible-region drawable-visible-region (g-boxed-foreign region :return)
+          "gdk_drawable_get_visible_region" nil)))
+
 (define-g-object-class "GdkWindow" gdk-window (:superclass drawable)
    ((:cffi window-type gdk-window-window-type gdk-window-type
            "gdk_window_get_window_type" nil)
    (:cffi window-stack screen-window-stack (glib:glist (g-object gdk-window) :free-from-foreign t)
           "gdk_screen_get_window_stack" nil)))
 
-(defcfun gdk-region-new :pointer)
-
-(define-g-boxed-opaque region nil :alloc (gdk-region-new))
-
-(export (boxed-related-symbols 'region))
-
-(define-g-boxed-cstruct point nil
-  (x :int :initform 0)
-  (y :int :initform 0))
-
-(export (boxed-related-symbols 'point))
-
-(define-g-boxed-cstruct span nil
-  (x :int :initform 0)
-  (y :int :initform 0)
-  (width :int :initform 0))
-
-(export (boxed-related-symbols 'span))
-
-(define-g-boxed-cstruct segment nil
-  (x1 :int :initform 0)
-  (y1 :int :initform 0)
-  (x2 :int :initform 0)
-  (y2 :int :initform 0))
-
-(export (boxed-related-symbols 'segment))
-
-(define-g-boxed-cstruct trapezoid nil
-  (y1 :double :initform 0d0)
-  (x11 :double :initform 0d0)
-  (x21 :double :initform 0d0)
-  (y2 :double :initform 0d0)
-  (x12 :double :initform 0d0)
-  (x22 :double :initform 0d0))
-
-(export (boxed-related-symbols 'trapezoid))
-
-(define-g-boxed-opaque font "GdkFont"
-  :alloc (error "GDK:FONT objects may not be allocated directly"))
-
-(export (boxed-related-symbols 'font))
-
-(define-g-boxed-cstruct color "GdkColor"
-  (pixel :uint32 :initform 0)
-  (red :uint16 :initform 0)
-  (green :uint16 :initform 0)
-  (blue :uint16 :initform 0))
-
-(export (boxed-related-symbols 'color))
-
 (define-g-object-class "GdkGC" graphics-context ()
   ((:cffi screen graphics-context-screen (g-object screen)
           "gdk_gc_get_screen" nil)
    (:cffi colormap graphics-context-colormap (g-object colormap)
           "gdk_gc_get_colormap" "gdk_gc_set_colormap")))
 
-(define-g-object-class "GdkDrawable" drawable ()
-  ((:cffi display drawable-display (g-object display)
-          "gdk_drawable_get_display" nil)
-   (:cffi screen drawable-screen (g-object screen)
-          "gdk_drawable_get_screen" nil)
-   (:cffi visual drawable-visual (g-object visual)
-          "gdk_drawable_get_visual" nil)
-   (:cffi colormap drawable-colormap (g-object colormap)
-          "gdk_drawable_get_colormap" "gdk_drawable_set_colormap")
-   (:cffi depth drawable-depth :int
-          "gdk_drawable_get_depth" nil)
-   (:cffi clip-region drawable-clip-region (g-boxed-foreign region :return)
-          "gdk_drawable_get_clip_region" nil)
-   (:cffi visible-region drawable-visible-region (g-boxed-foreign region :return)
-          "gdk_drawable_get_visible_region" nil)))
-
 (define-g-object-class "GdkPixmap" pixmap (:superclass drawable) ())
 
 (define-g-object-class "GdkKeymap" keymap
old mode 100755 (executable)
new mode 100644 (file)
index fc13d8e..5be7743 100644 (file)
@@ -9,6 +9,14 @@
 (defcfun gdk-threads-leave :void)
 (export 'gdk-threads-leave)
 
+(defmacro with-gdk-threads-lock (&body body)
+  `(progn
+     (gdk-threads-enter)
+     (unwind-protect
+          (progn ,@body)
+       (gdk-threads-leave))))
+(export 'with-gdk-threads-lock)
+
 ;; ignored:
 ;; void                gdk_threads_set_lock_functions      (GCallback enter_fn,
 ;;                                                          GCallback leave_fn);
index 6827b9b..cc11c70 100644 (file)
@@ -1,6 +1,6 @@
 (defsystem :cl-gtk2-glib
   :name :cl-gtk2-glib
-  :version "0.1"
+  :version "0.1.1"
   :author "Kalyanov Dmitry <Kalyanov.Dmitry@gmail.com>"
   :license "LLGPL"
   :serial t
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index 8299b02..b9be3e8 100644 (file)
@@ -1,6 +1,5 @@
 (defpackage :gobject
-  (:use :cl :glib :cffi :tg :bordeaux-threads :iter :closer-mop :gobject.ffi)
-  #+(or clozure-common-lisp openmcl) (:shadowing-import-from :closer-mop #:defgeneric #:ensure-generic-function #:standard-generic-function)
+  (:use :c2cl :glib :cffi :tg :bordeaux-threads :iter :closer-mop :gobject.ffi)
   (:export #:g-type
            #:g-type-string
            #:g-type-numeric
index 6a18e44..fdf2765 100644 (file)
@@ -1,6 +1,6 @@
 (defsystem :cl-gtk2-gtkglext
   :name :cl-gtk2-gtkglext
-  :version "0.1"
+  :version "0.1.1"
   :author "Vitaly Mayatskikh <v.mayatskih@gmail.com>"
   :license "LLGPL"
   :serial t
old mode 100755 (executable)
new mode 100644 (file)
index 0672a17..e548b8c 100644 (file)
@@ -1,6 +1,17 @@
+(defpackage #:cl-gtk2-gtk-system
+  (:use #:cl #:asdf))
+
+(in-package #:cl-gtk2-gtk-system)
+
+(defclass plain-file (static-file)
+  ((type :initarg :type :reader plain-file-type :initform nil)))
+
+(defmethod source-file-type ((c plain-file) (s module))
+  (plain-file-type c))
+
 (defsystem :cl-gtk2-gtk
   :name :cl-gtk2-gtk
-  :version "0.1"
+  :version "0.1.1"
   :author "Kalyanov Dmitry <Kalyanov.Dmitry@gmail.com>"
   :license "LLGPL"
   :serial t
@@ -68,9 +79,7 @@
                (:file "gtk.demo")
                (:file "gtk.timer")
                (:module "demo-files"
-                        :pathname "demo"
-                        :components ((:static-file "demo1.glade")
-                                     (:static-file "demo1.ui")
-                                     (:static-file "text-editor.glade")
-                                     (:static-file "text-editor.ui"))))
+                        :pathname "demo/"
+                        :components ((:plain-file "demo1" :type "ui")
+                                     (:plain-file "text-editor" :type "ui"))))
   :depends-on (:cl-gtk2-glib :cffi :cl-gtk2-gdk :bordeaux-threads :iterate :cl-gtk2-pango))
diff --git a/gtk/demo/demo1.glade b/gtk/demo/demo1.glade
deleted file mode 100644 (file)
index cf1c3f4..0000000
+++ /dev/null
@@ -1,209 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
-<!--Generated with glade3 3.4.5 on Wed Mar 18 23:56:40 2009 -->
-<glade-interface>
-  <widget class="GtkWindow" id="window1">
-    <property name="title" translatable="yes">Gtk Builder Demo</property>
-    <property name="window_position">GTK_WIN_POS_CENTER</property>
-    <property name="icon_name">gtk-unindent</property>
-    <child>
-      <widget class="GtkVBox" id="vbox1">
-        <property name="visible">True</property>
-        <child>
-          <widget class="GtkMenuBar" id="menubar1">
-            <property name="visible">True</property>
-            <child>
-              <widget class="GtkMenuItem" id="menuitem1">
-                <property name="visible">True</property>
-                <property name="label" translatable="yes">_File</property>
-                <property name="use_underline">True</property>
-                <child>
-                  <widget class="GtkMenu" id="menu1">
-                    <property name="visible">True</property>
-                    <child>
-                      <widget class="GtkImageMenuItem" id="imagemenuitem1">
-                        <property name="visible">True</property>
-                        <property name="label" translatable="yes">gtk-new</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                      </widget>
-                    </child>
-                    <child>
-                      <widget class="GtkImageMenuItem" id="imagemenuitem2">
-                        <property name="visible">True</property>
-                        <property name="label" translatable="yes">gtk-open</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                      </widget>
-                    </child>
-                    <child>
-                      <widget class="GtkImageMenuItem" id="imagemenuitem3">
-                        <property name="visible">True</property>
-                        <property name="label" translatable="yes">gtk-save</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                      </widget>
-                    </child>
-                    <child>
-                      <widget class="GtkImageMenuItem" id="imagemenuitem4">
-                        <property name="visible">True</property>
-                        <property name="label" translatable="yes">gtk-save-as</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                      </widget>
-                    </child>
-                    <child>
-                      <widget class="GtkSeparatorMenuItem" id="separatormenuitem1">
-                        <property name="visible">True</property>
-                      </widget>
-                    </child>
-                    <child>
-                      <widget class="GtkImageMenuItem" id="imagemenuitem5">
-                        <property name="visible">True</property>
-                        <property name="label" translatable="yes">gtk-quit</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                        <signal name="activate" handler="quit_cb"/>
-                      </widget>
-                    </child>
-                  </widget>
-                </child>
-              </widget>
-            </child>
-            <child>
-              <widget class="GtkMenuItem" id="menuitem2">
-                <property name="visible">True</property>
-                <property name="label" translatable="yes">_Edit</property>
-                <property name="use_underline">True</property>
-                <child>
-                  <widget class="GtkMenu" id="menu2">
-                    <property name="visible">True</property>
-                    <child>
-                      <widget class="GtkImageMenuItem" id="imagemenuitem6">
-                        <property name="visible">True</property>
-                        <property name="label" translatable="yes">gtk-cut</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                      </widget>
-                    </child>
-                    <child>
-                      <widget class="GtkImageMenuItem" id="imagemenuitem7">
-                        <property name="visible">True</property>
-                        <property name="label" translatable="yes">gtk-copy</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                      </widget>
-                    </child>
-                    <child>
-                      <widget class="GtkImageMenuItem" id="imagemenuitem8">
-                        <property name="visible">True</property>
-                        <property name="label" translatable="yes">gtk-paste</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                      </widget>
-                    </child>
-                    <child>
-                      <widget class="GtkImageMenuItem" id="imagemenuitem9">
-                        <property name="visible">True</property>
-                        <property name="label" translatable="yes">gtk-delete</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                      </widget>
-                    </child>
-                  </widget>
-                </child>
-              </widget>
-            </child>
-            <child>
-              <widget class="GtkMenuItem" id="menuitem3">
-                <property name="visible">True</property>
-                <property name="label" translatable="yes">_View</property>
-                <property name="use_underline">True</property>
-              </widget>
-            </child>
-            <child>
-              <widget class="GtkMenuItem" id="menuitem4">
-                <property name="visible">True</property>
-                <property name="label" translatable="yes">_Help</property>
-                <property name="use_underline">True</property>
-                <child>
-                  <widget class="GtkMenu" id="menu3">
-                    <property name="visible">True</property>
-                    <child>
-                      <widget class="GtkImageMenuItem" id="imagemenuitem10">
-                        <property name="visible">True</property>
-                        <property name="label" translatable="yes">gtk-about</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                        <signal name="activate" handler="about_cb"/>
-                      </widget>
-                    </child>
-                  </widget>
-                </child>
-              </widget>
-            </child>
-          </widget>
-          <packing>
-            <property name="expand">False</property>
-          </packing>
-        </child>
-        <child>
-          <widget class="GtkToolbar" id="toolbar1">
-            <property name="visible">True</property>
-            <child>
-              <widget class="GtkToolButton" id="toolbutton1">
-                <property name="visible">True</property>
-                <property name="label" translatable="yes">Button1</property>
-                <property name="stock_id">gtk-about</property>
-                <signal name="clicked" handler="toolbutton1_clicked_cb"/>
-              </widget>
-              <packing>
-                <property name="homogeneous">True</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkToggleToolButton" id="Red">
-                <property name="visible">True</property>
-                <property name="stock_id">gtk-no</property>
-              </widget>
-              <packing>
-                <property name="homogeneous">True</property>
-              </packing>
-            </child>
-          </widget>
-          <packing>
-            <property name="expand">False</property>
-            <property name="position">1</property>
-          </packing>
-        </child>
-        <child>
-          <widget class="GtkScrolledWindow" id="scrolledwindow1">
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-            <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-            <child>
-              <widget class="GtkTextView" id="textview1">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-              </widget>
-            </child>
-          </widget>
-          <packing>
-            <property name="position">2</property>
-          </packing>
-        </child>
-        <child>
-          <widget class="GtkStatusbar" id="statusbar1">
-            <property name="visible">True</property>
-            <property name="spacing">2</property>
-          </widget>
-          <packing>
-            <property name="expand">False</property>
-            <property name="position">3</property>
-          </packing>
-        </child>
-      </widget>
-    </child>
-  </widget>
-</glade-interface>
diff --git a/gtk/demo/text-editor.glade b/gtk/demo/text-editor.glade
deleted file mode 100644 (file)
index f19a2e3..0000000
+++ /dev/null
@@ -1,252 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
-<!--Generated with glade3 3.4.5 on Thu Mar 19 02:56:11 2009 -->
-<glade-interface>
-  <widget class="GtkWindow" id="window1">
-    <property name="title" translatable="yes">Lisp IDE :)</property>
-    <property name="window_position">GTK_WIN_POS_CENTER</property>
-    <property name="default_width">300</property>
-    <property name="default_height">200</property>
-    <property name="icon_name">accessories-text-editor</property>
-    <child>
-      <widget class="GtkVBox" id="vbox1">
-        <property name="visible">True</property>
-        <child>
-          <widget class="GtkMenuBar" id="menubar1">
-            <property name="visible">True</property>
-            <child>
-              <widget class="GtkMenuItem" id="menuitem1">
-                <property name="visible">True</property>
-                <property name="label" translatable="yes">_File</property>
-                <property name="use_underline">True</property>
-                <child>
-                  <widget class="GtkMenu" id="menu1">
-                    <property name="visible">True</property>
-                    <child>
-                      <widget class="GtkImageMenuItem" id="imagemenuitem1">
-                        <property name="visible">True</property>
-                        <property name="label" translatable="yes">gtk-new</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                        <signal name="activate" handler="new"/>
-                      </widget>
-                    </child>
-                    <child>
-                      <widget class="GtkImageMenuItem" id="imagemenuitem2">
-                        <property name="visible">True</property>
-                        <property name="label" translatable="yes">gtk-open</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                        <signal name="activate" handler="open"/>
-                      </widget>
-                    </child>
-                    <child>
-                      <widget class="GtkImageMenuItem" id="imagemenuitem3">
-                        <property name="visible">True</property>
-                        <property name="label" translatable="yes">gtk-save</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                        <signal name="activate" handler="save"/>
-                      </widget>
-                    </child>
-                    <child>
-                      <widget class="GtkImageMenuItem" id="imagemenuitem4">
-                        <property name="visible">True</property>
-                        <property name="label" translatable="yes">gtk-save-as</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                        <signal name="activate" handler="save-as"/>
-                      </widget>
-                    </child>
-                    <child>
-                      <widget class="GtkSeparatorMenuItem" id="separatormenuitem1">
-                        <property name="visible">True</property>
-                      </widget>
-                    </child>
-                    <child>
-                      <widget class="GtkImageMenuItem" id="imagemenuitem5">
-                        <property name="visible">True</property>
-                        <property name="label" translatable="yes">gtk-quit</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                        <signal name="activate" handler="quit"/>
-                      </widget>
-                    </child>
-                  </widget>
-                </child>
-              </widget>
-            </child>
-            <child>
-              <widget class="GtkMenuItem" id="menuitem2">
-                <property name="visible">True</property>
-                <property name="label" translatable="yes">_Edit</property>
-                <property name="use_underline">True</property>
-                <child>
-                  <widget class="GtkMenu" id="menu2">
-                    <property name="visible">True</property>
-                    <child>
-                      <widget class="GtkImageMenuItem" id="imagemenuitem6">
-                        <property name="visible">True</property>
-                        <property name="label" translatable="yes">gtk-cut</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                        <signal name="activate" handler="cut"/>
-                      </widget>
-                    </child>
-                    <child>
-                      <widget class="GtkImageMenuItem" id="imagemenuitem7">
-                        <property name="visible">True</property>
-                        <property name="label" translatable="yes">gtk-copy</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                        <signal name="activate" handler="copy"/>
-                      </widget>
-                    </child>
-                    <child>
-                      <widget class="GtkImageMenuItem" id="imagemenuitem8">
-                        <property name="visible">True</property>
-                        <property name="label" translatable="yes">gtk-paste</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                        <signal name="activate" handler="paste"/>
-                      </widget>
-                    </child>
-                    <child>
-                      <widget class="GtkImageMenuItem" id="imagemenuitem9">
-                        <property name="visible">True</property>
-                        <property name="label" translatable="yes">gtk-delete</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                        <signal name="activate" handler="delete"/>
-                      </widget>
-                    </child>
-                  </widget>
-                </child>
-              </widget>
-            </child>
-            <child>
-              <widget class="GtkMenuItem" id="menuitem3">
-                <property name="visible">True</property>
-                <property name="label" translatable="yes">_View</property>
-                <property name="use_underline">True</property>
-              </widget>
-            </child>
-            <child>
-              <widget class="GtkMenuItem" id="menuitem4">
-                <property name="visible">True</property>
-                <property name="label" translatable="yes">_Help</property>
-                <property name="use_underline">True</property>
-                <child>
-                  <widget class="GtkMenu" id="menu3">
-                    <property name="visible">True</property>
-                    <child>
-                      <widget class="GtkImageMenuItem" id="imagemenuitem10">
-                        <property name="visible">True</property>
-                        <property name="label" translatable="yes">gtk-about</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                        <signal name="activate" handler="about"/>
-                      </widget>
-                    </child>
-                  </widget>
-                </child>
-              </widget>
-            </child>
-          </widget>
-          <packing>
-            <property name="expand">False</property>
-          </packing>
-        </child>
-        <child>
-          <widget class="GtkToolbar" id="toolbar1">
-            <property name="visible">True</property>
-            <property name="toolbar_style">GTK_TOOLBAR_ICONS</property>
-            <child>
-              <widget class="GtkToolButton" id="toolbutton1">
-                <property name="visible">True</property>
-                <property name="label" translatable="yes">New</property>
-                <property name="stock_id">gtk-new</property>
-                <signal name="clicked" handler="new"/>
-              </widget>
-              <packing>
-                <property name="homogeneous">True</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkToolButton" id="toolbutton2">
-                <property name="visible">True</property>
-                <property name="label" translatable="yes">Open</property>
-                <property name="stock_id">gtk-open</property>
-                <signal name="clicked" handler="open"/>
-              </widget>
-              <packing>
-                <property name="homogeneous">True</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkToolButton" id="toolbutton3">
-                <property name="visible">True</property>
-                <property name="label" translatable="yes">Save</property>
-                <property name="stock_id">gtk-save</property>
-                <signal name="clicked" handler="save"/>
-              </widget>
-              <packing>
-                <property name="homogeneous">True</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkToolButton" id="toolbutton4">
-                <property name="visible">True</property>
-                <property name="label" translatable="yes">Save as</property>
-                <property name="stock_id">gtk-save-as</property>
-                <signal name="clicked" handler="save-as"/>
-              </widget>
-            </child>
-            <child>
-              <widget class="GtkToolButton" id="toolbutton5">
-                <property name="visible">True</property>
-                <property name="label" translatable="yes">Eval</property>
-                <property name="stock_id">gtk-execute</property>
-                <signal name="clicked" handler="eval"/>
-              </widget>
-              <packing>
-                <property name="homogeneous">True</property>
-              </packing>
-            </child>
-          </widget>
-          <packing>
-            <property name="expand">False</property>
-            <property name="position">1</property>
-          </packing>
-        </child>
-        <child>
-          <widget class="GtkScrolledWindow" id="scrolledwindow1">
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-            <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-            <child>
-              <widget class="GtkTextView" id="textview1">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-              </widget>
-            </child>
-          </widget>
-          <packing>
-            <property name="position">2</property>
-          </packing>
-        </child>
-        <child>
-          <widget class="GtkStatusbar" id="statusbar1">
-            <property name="visible">True</property>
-            <property name="spacing">2</property>
-          </widget>
-          <packing>
-            <property name="expand">False</property>
-            <property name="position">3</property>
-          </packing>
-        </child>
-      </widget>
-    </child>
-  </widget>
-</glade-interface>
index 4de7f00..25dda52 100644 (file)
@@ -15,9 +15,9 @@
 ; TODO: gtk_cell_renderer_stop_editing
 
 (defcfun gtk-cell-renderer-get-fixed-size :void
-  (cell g-object)
-  (width :pointer)
-  (height :pointer))
+  (cell (g-object cell-renderer))
+  (width (:pointer :int))
+  (height (:pointer :int)))
 
 (defun cell-renderer-get-fixed-size (cell)
   (with-foreign-objects ((width :int) (height :int))
 
 (export 'cell-renderer-get-fixed-size)
 
-(defcfun gtk-cell-renderer-set-fixed-size :void
-  (cell g-object)
+(defcfun (cell-renderer-set-fixed-size "gtk_cell_renderer_set_fixed_size") :void
+  (cell (g-object cell-renderer))
   (width :int)
   (height :int))
 
-(defun cell-renderer-set-fixed-size (cell width height)
-  (gtk-cell-renderer-set-fixed-size cell width height))
-
 (export 'cell-renderer-set-fixed-size)
 
 ; TODO: GtkCellRendererAccel
index ea930b0..8930e97 100644 (file)
@@ -27,7 +27,7 @@
 
 (defun container-call-get-property (container child property-name type)
   (with-foreign-object (gvalue 'g-value)
-    (g-value-unset gvalue)
+    (g-value-zero gvalue)
     (g-value-init gvalue (ensure-g-type type))
     (gtk-container-child-get-property container child property-name gvalue)
     (prog1 (parse-g-value gvalue)
index d0c3645..1406576 100644 (file)
 (defun test-pixbuf ()
   "(not completed)"
   (within-main-loop
-    (let* ((window (make-instance 'gtk-window :title "Test pixbuf" :request-width 600 :request-height 240))
+    (let* ((window (make-instance 'gtk-window :title "Test pixbuf" :width-request 600 :height-request 240))
           (vbox (make-instance 'v-box))
           (eventbox (make-instance 'event-box))
           (vbox-1 (make-instance 'v-box)))
      (container-add window vbox)
-     (box-pack-start vbox (make-instance 'label :text "Placing bg image" :font "Times New Roman Italic 10" :color "#00f" :request-height 40))
+     (box-pack-start vbox (make-instance 'label :text "Placing bg image" :font "Times New Roman Italic 10" :color "#00f" :height-request 40))
      (g-signal-connect window "destroy" (lambda (w) (declare (ignore w)) (leave-gtk-main)))
      (box-pack-start vbox eventbox)
      (container-add eventbox vbox-1)
index cfb504b..0470321 100644 (file)
@@ -1,20 +1,10 @@
 (in-package :gtk)
 
-(define-g-flags "GtkTargetFlags" target-flags
-    (:export t :type-initializer "gtk_target_flags_get_type")
-  (:same-app 1)
-  (:same-widget 2)
-  (:other-app 4)
-  (:other-widget 8))
-
-(defcfun gtk-drag-finish :void
-  (context g-object)
+(defcfun (drag-finish "gtk_drag_finish") :void
+  (context (g-object drag-context))
   (success :boolean)
   (del :boolean)
   (time :uint32))
 
-(defun drag-finish (context success del time)
-  (gtk-drag-finish context success del time))
-
 (export 'drag-finish)
 
index 961b357..6b5b9eb 100644 (file)
 
 (at-init () (gtk-init))
 
-(defcfun gtk-main :void)
+(defcfun (%gtk-main "gtk_main") :void)
+
+(defun gtk-main ()
+  (with-gdk-threads-lock (%gtk-main)))
 
 #+thread-support
 (defvar *main-thread* nil)
old mode 100755 (executable)
new mode 100644 (file)
index 50efebc..6c47567 100644 (file)
 (export 'tree-view-convert-widget-to-tree-coords)
 
 (defcfun gtk-tree-view-enable-model-drag-dest :void
-  (tree-view g-object)
+  (tree-view (g-object tree-view))
   (targets :pointer)
   (n-targets :int)
-  (actions gdk:drag-action))
+  (actions gdk-drag-action))
 
 (defun tree-view-enable-model-drag-dest (tree-view targets actions)
   (with-foreign-boxed-array (n-targets targets-ptr target-entry targets)
 (export 'tree-view-enable-model-drag-dest)
 
 (defcfun gtk-tree-view-enable-model-drag-source :void
-  (tree-view g-object)
-  (start-button-mask gdk:modifier-type)
+  (tree-view (g-object tree-view))
+  (start-button-mask modifier-type)
   (targets :pointer)
   (n-targets :int)
-  (actions gdk:drag-action))
+  (actions gdk-drag-action))
 
 (defun tree-view-enable-model-drag-source (tree-view start-button-mask targets actions)
   (with-foreign-boxed-array (n-targets targets-ptr target-entry targets)
 ; TOOD: gtk_tree_view_get_drag_dest_row
 
 (defcfun gtk-tree-view-get-dest-row-at-pos :boolean
-  (tree_view g-object)
+  (tree_view (g-object tree-view))
   (drag-x :int)
   (drag-y :int)
   (path :pointer)
index 6532f11..2239db3 100644 (file)
@@ -3,13 +3,13 @@
 ; TODO: GtkWidget
 
 (define-g-boxed-cstruct selection-data "GtkSelectionData"
-  (selection :pointer) ; GdkAtom
-  (target :pointer) ; GdkAtom
-  (type :pointer) ; GdkAtom
-  (format :int)
-  (data :pointer :initform 0)
-  (length :int)
-  (display g-object))
+  (selection gdk-atom-as-string :initform nil)
+  (target gdk-atom-as-string :initform nil)
+  (type gdk-atom-as-string :initform nil)
+  (format :int :initform 0)
+  (data :pointer :initform (null-pointer))
+  (length :int :initform 0)
+  (display (g-object display) :initform nil))
 
 (export (boxed-related-symbols 'selection-data))
 
@@ -26,8 +26,8 @@
 (defcstruct %gtk-widget
   (:object %gtk-object)
   (:private-flags :uint16)
-  (:state state-type)
-  (:saved-state state-type)
+  (:state :uint8)
+  (:saved-state :uint8)
   (:name (:pointer :char))
   (:style :pointer)
   (:requisition requisition-cstruct)
   (:parent :pointer))
 
 (defun widget-state (widget)
-  (foreign-slot-value (pointer widget) '%gtk-widget :state))
+  (convert-from-foreign (foreign-slot-value (pointer widget) '%gtk-widget :state) 'state-type))
 
 (export 'widget-state)
 
 (defun widget-saved-state (widget)
-  (foreign-slot-value (pointer widget) '%gtk-widget :saved-state))
+  (convert-from-foreign (foreign-slot-value (pointer widget) '%gtk-widget :saved-state) 'state-type))
 
 (export 'widget-saved-state)
 
index 8bb13bc..bb3c090 100644 (file)
 (def-ui-child-packer box (b d child)
   (let ((expand-prop (find :expand (ui-child-props d) :key #'ui-prop-name))
         (fill-prop (find :fill (ui-child-props d) :key #'ui-prop-name))
-        (padding-prop (find :padding (ui-child-props d) :key #'ui-prop-name)))
-    `(box-pack-start ,b ,child
-                     ,@(when expand-prop (list :expand (ui-prop-value expand-prop)))
-                     ,@(when fill-prop (list :fill (ui-prop-value fill-prop)))
-                     ,@(when padding-prop (list :padding (ui-prop-value padding-prop))))))
+        (padding-prop (find :padding (ui-child-props d) :key #'ui-prop-name))
+        (pack-type-prop (find :pack-type (ui-child-props d) :key #'ui-prop-name)))
+    `(progn
+       (box-pack-start ,b ,child
+                       ,@(when expand-prop (list :expand (ui-prop-value expand-prop)))
+                       ,@(when fill-prop (list :fill (ui-prop-value fill-prop)))
+                       ,@(when padding-prop (list :padding (ui-prop-value padding-prop))))
+       ,@(when pack-type-prop
+               (list `(setf (box-child-pack-type ,b ,child) ,(ui-prop-value pack-type-prop)))))))
 
 (def-ui-child-packer paned (p d child)
   (let ((resize-prop (find :resize (ui-child-props d) :key #'ui-prop-name))
index 77c5efd..d1f6cc9 100644 (file)
@@ -1,6 +1,6 @@
 (defsystem :cl-gtk2-pango
   :name :cl-gtk2-pango
-  :version "0.1"
+  :version "0.1.1"
   :author "Kalyanov Dmitry <Kalyanov.Dmitry@gmail.com>"
   :license "LLGPL"
   :serial t