X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/clg/blobdiff_plain/112ac1d33aa8f9b7f3d2f9542d15431f152b1d35..995eb841c0c43cb35740619c5ae9c0bde939b18b:/gtk/gtkaction.lisp diff --git a/gtk/gtkaction.lisp b/gtk/gtkaction.lisp index 5860e2b..4ffce9e 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.5 2005-04-23 16:48:52 espen Exp $ +;; $Id: gtkaction.lisp,v 1.10 2006-08-14 13:57:37 espen Exp $ (in-package "GTK") @@ -33,7 +33,7 @@ (defmethod initialize-instance ((action action) &key callback) (apply #'signal-connect action 'activate (mklist callback)))) (defmethod action-accelerator ((action action)) - (object-data action 'accelerator)) + (user-data action 'accelerator)) (defbinding (action-is-sensitive-p "gtk_action_is_sensitive") () boolean (action action)) @@ -85,7 +85,7 @@ (defbinding action-group-remove-action () nil (defmethod initialize-instance ((action radio-action) &key group) (call-next-method) - (setf (slot-value action 'self) (sap-int (proxy-location action))) + (setf (slot-value action 'self) (pointer-address (foreign-location action))) (when group (add-to-radio-group action group))) @@ -112,13 +112,13 @@ (defbinding (radio-action-get-current "gtk_radio_action_get_current_value") (radio-action radio-action)) (defun radio-action-get-current-value (action) - (radio-value-action (radio-action-get-current action))) + (radio-action-value (radio-action-get-current action))) ;;; Toggle Action -(defmethod initialize-instance ((action toggle-action) &rest initargs &key callback) +(defmethod initialize-instance ((action toggle-action) &rest initargs &key callback active) (remf initargs :callback) (apply #'call-next-method action initargs) (when callback @@ -130,7 +130,7 @@ (defmethod initialize-instance ((action toggle-action) &rest initargs &key callb #'(lambda () (funcall function (toggle-action-active-p action)))) :object object :after after))) - (when (toggle-action-active-p action) + (when active (action-activate action))) (defbinding toggle-action-toggled () nil @@ -180,24 +180,20 @@ (defbinding %ui-manager-add-ui-from-string (ui-manager ui) int (ui-manager ui-manager) (ui string) ((length ui) int) - (gerror pointer :out)) + (gerror gerror-signal :out)) + +(defgeneric ui-manager-add-ui (ui-manager ui-spec)) (defmethod ui-manager-add-ui ((ui-manager ui-manager) (ui-spec string)) - (let ((id (%ui-manager-add-ui-from-string ui-manager ui-spec))) - (when (zerop id) - (error "We need to handle GError in som way")) - id)) + (%ui-manager-add-ui-from-string ui-manager ui-spec)) (defbinding %ui-manager-add-ui-from-file () int (ui-manager ui-manager) (filename pathname) - (gerror pointer :out)) + (gerror gerror-signal :out)) (defmethod ui-manager-add-ui ((ui-manager ui-manager) (path pathname)) - (let ((id (%ui-manager-add-ui-from-file ui-manager path))) - (when (zerop id) - (error "We need to handle GError in som way")) - id)) + (%ui-manager-add-ui-from-file ui-manager path)) (defbinding %ui-manager-new-merge-id () unsigned-int (ui-manager ui-manager))