From ff1e971a04b479bbee88fb8c3ee34d83ec148203 Mon Sep 17 00:00:00 2001 From: drewc Date: Mon, 29 May 2006 18:19:13 -0700 Subject: [PATCH] fixed up wrappers .. we are this close to being fully functional! darcs-hash:20060530011913-39164-0d1c244ae45ccc66a4cd00a76e9c3149f8a4538e.gz --- src/standard-display.lisp | 3 +++ src/standard-occurence.lisp | 1 + src/standard-wrappers.lisp | 53 ++++++++++++++++++++++++++----------- 3 files changed, 41 insertions(+), 16 deletions(-) diff --git a/src/standard-display.lisp b/src/standard-display.lisp index 0fe6df5..bc1297c 100644 --- a/src/standard-display.lisp +++ b/src/standard-display.lisp @@ -41,6 +41,9 @@ This allows us to dispatch to a subclasses editor." (defdisplay (description (object string)) (<:as-html object)) +(defdisplay (description (object symbol)) + (<:as-html object)) + (defdisplay (description object (component t)) "The default display for CLOS objects" (print (class-name (class-of object))) diff --git a/src/standard-occurence.lisp b/src/standard-occurence.lisp index bb2f686..eeef240 100644 --- a/src/standard-occurence.lisp +++ b/src/standard-occurence.lisp @@ -1,3 +1,4 @@ + (in-package :lisp-on-lines) ;;;; STRINGS diff --git a/src/standard-wrappers.lisp b/src/standard-wrappers.lisp index 43151ca..d902eb3 100644 --- a/src/standard-wrappers.lisp +++ b/src/standard-wrappers.lisp @@ -27,18 +27,32 @@ (define-layered-class description :in-layer wrap-link () - ((link :initarg :link :initform nil :special t :accessor link))) + ((link :initarg :link-action + :initarg :action + :initform nil :special t :accessor link-action))) -(defdisplay - :in-layer wrap-link :around (description object) - (let ((link (link description))) +(defaction call-action-with--component-and-object ((self component) action-id object) + (funcall (ucw::find-action (ucw::context.current-frame *context*) action-id) + self + object)) - (with-inactive-layers (wrap-link) - (if *link-wrapped-p* - (call-next-method) - (let ((*link-wrapped-p* t)) - (