;; 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")
(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)))
;; 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")
(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))
;;; 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
#'(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)))
;; 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")
: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"
("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
: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
: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)))
: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