From 4007604e837a38d0d9fe54146ca34d4b16e90d09 Mon Sep 17 00:00:00 2001 From: espen Date: Sun, 14 Jan 2007 23:22:16 +0000 Subject: [PATCH] Added some Gtk+ 2.10 stuff --- gtk/gtk.lisp | 16 +++++++++++++++- gtk/gtkaction.lisp | 8 +++----- gtk/gtktypes.lisp | 18 ++++++++++++------ 3 files changed, 30 insertions(+), 12 deletions(-) diff --git a/gtk/gtk.lisp b/gtk/gtk.lisp index 2940245..9c5b7ea 100644 --- a/gtk/gtk.lisp +++ b/gtk/gtk.lisp @@ -20,7 +20,7 @@ ;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE ;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -;; $Id: gtk.lisp,v 1.68 2007-01-14 23:18:17 espen Exp $ +;; $Id: gtk.lisp,v 1.69 2007-01-14 23:22:16 espen Exp $ (in-package "GTK") @@ -2412,3 +2412,17 @@ (defmethod allocate-foreign ((plug plug) &key id) (%plug-new (or id 0))) + + +;;;; New stuff in Gtk+ 2.10 + +;;; Link button + +#?(pkg-exists-p "gtk+-2.0" :atleast-version "2.10.0") +(progn + (define-callback-marshal %link-button-uri-callback nil (link-button (link string))) + + (defbinding link-button-set-uri-hook (function) pointer + (%link-button-uri-callback callback) + ((register-callback-function function) unsigned-int) + (user-data-destroy-callback callback))) diff --git a/gtk/gtkaction.lisp b/gtk/gtkaction.lisp index 4ffce9e..f93927a 100644 --- a/gtk/gtkaction.lisp +++ b/gtk/gtkaction.lisp @@ -20,7 +20,7 @@ ;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE ;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -;; $Id: gtkaction.lisp,v 1.10 2006-08-14 13:57:37 espen Exp $ +;; $Id: gtkaction.lisp,v 1.11 2007-01-14 23:22:19 espen Exp $ (in-package "GTK") @@ -32,9 +32,6 @@ (when callback (apply #'signal-connect action 'activate (mklist callback)))) -(defmethod action-accelerator ((action action)) - (user-data action 'accelerator)) - (defbinding (action-is-sensitive-p "gtk_action_is_sensitive") () boolean (action action)) @@ -118,7 +115,7 @@ ;;; Toggle Action -(defmethod initialize-instance ((action toggle-action) &rest initargs &key callback active) +(defmethod initialize-instance ((action toggle-action) &rest initargs &key callback #?-(pkg-exists-p "gtk+-2.0" :atleast-version "2.10.0")active) (remf initargs :callback) (apply #'call-next-method action initargs) (when callback @@ -130,6 +127,7 @@ #'(lambda () (funcall function (toggle-action-active-p action)))) :object object :after after))) + #?-(pkg-exists-p "gtk+-2.0" :atleast-version "2.10.0") (when active (action-activate action))) diff --git a/gtk/gtktypes.lisp b/gtk/gtktypes.lisp index 1e56d38..3e2ce3a 100644 --- a/gtk/gtktypes.lisp +++ b/gtk/gtktypes.lisp @@ -20,7 +20,7 @@ ;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE ;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -;; $Id: gtktypes.lisp,v 1.52 2007-01-02 15:15:25 espen Exp $ +;; $Id: gtktypes.lisp,v 1.53 2007-01-14 23:22:19 espen Exp $ (in-package "GTK") @@ -321,6 +321,7 @@ :accessor window-mnemonic-modifier :initarg :mnemonic-modifier :type gdk:modifier-type) + #?-(pkg-exists-p "gtk+-2.0" :atleast-version "2.10.0") (transient-for :allocation :virtual :getter "gtk_window_get_transient_for" @@ -508,8 +509,8 @@ ("GtkToolbar" :slots - ((show-tooltips - :allocation :virtual + ((show-tooltips ;; this slot is equivalent to the property + :allocation :virtual ;; "tooltips" in Gtk+ 2.8 :getter "gtk_toolbar_get_tooltips" :setter "gtk_toolbar_set_tooltips" :accessor toolbar-show-tooltips-p @@ -520,7 +521,7 @@ :getter "gtk_toolbar_get_tooltips_object" :reader toolbar-tooltips :type tooltips) - (toolbar-style + (toolbar-style ; defined manually to get the accesssor name correct :allocation :property :pname "toolbar-style" :initarg :toolbar-style @@ -992,13 +993,14 @@ :allocation :user-data :initarg :accelerator :reader action-accelerator))) + #?-(pkg-exists-p "gtk+-2.0" :atleast-version "2.10.0") ("GtkToggleAction" :slots ((active :allocation :virtual :getter "gtk_toggle_action_get_active" :setter "gtk_toggle_action_set_active" -; :initarg :active +; :initarg :active ;; Handled by initialize-instance :accessor toggle-action-active-p :type boolean))) @@ -1013,7 +1015,11 @@ :allocation :property :pname "value" :type int :documentation "A hack so we can use the alien function gtk_radio_action_get_current_value to retrieve the active radio action in a group.") (value - :allocation :user-data :initarg :value :accessor radio-action-value))) + :allocation :user-data :initarg :value :accessor radio-action-value) + #?(pkg-exists-p "gtk+-2.0" :atleast-version "2.10.0") + ;; Use radio-action-get-current-value to get the current value of + ;; a radio action group + (current-value :ignore t))) ("GtkColorSelection" :slots -- 2.11.0