From 14ac49ee8d7beed7f1355e6982889acbd82a8548 Mon Sep 17 00:00:00 2001 Message-Id: <14ac49ee8d7beed7f1355e6982889acbd82a8548.1716584772.git.mdw@distorted.org.uk> From: Mark Wooding Date: Sun, 14 Jan 2007 23:22:16 +0000 Subject: [PATCH] Added some Gtk+ 2.10 stuff Organization: Straylight/Edgeware From: espen --- 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 2e5e250..88c82b5 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 @@ (defbinding %plug-new () pointer (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 21ca993..9875222 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 @@ (defmethod initialize-instance ((action action) &key callback) (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 @@ (defun radio-action-get-current-value (action) ;;; 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 @@ (defmethod initialize-instance ((action toggle-action) &rest initargs &key callb #'(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 f460f74..2c0f0fa 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 @@ (default-widget :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 @@ (default-height :merge t :unbound -1))) ("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 @@ (default-height :merge t :unbound -1))) :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 @@ (default-height :merge t :unbound -1))) :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 @@ (default-height :merge t :unbound -1))) :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 -- [mdw]