(multiple-value-funcall->list #',(car form) ,@(cdr form))
,@body))
+
+;;;; ** Textarea Slot Presentation
+;;;; This should really be in UCW.
+
+(defslot-presentation text-slot-presentation ()
+ ((rows :initarg :rows :accessor rows :initform nil)
+ (columns :initarg :columns :accessor columns :initform nil)
+ (html-contentp :initarg :escape-html-p :accessor escape-html-p :initform nil))
+ (:type-name text))
+
+(defmethod present-slot ((slot text-slot-presentation) instance)
+ (if (editablep slot)
+ (<ucw:textarea :accessor (presentation-slot-value slot instance)
+ :rows (rows slot)
+ :cols (columns slot))
+ (if (escape-html-p slot)
+ (<:as-is (presentation-slot-value slot instance))
+ (<:as-html (presentation-slot-value slot instance)))))
+
+
(defcomponent mewa-slot-presentation ()
((slot-name :accessor slot-name
:initarg :slot-name
:initform nil
:documentation
"When nil, the instance is syncronised with the database.
-When T, only the default value for primary keys and the joins are updated."))
+When T, only the default value for primary keys and the joins are updated.")
+ (show-label-p :accessor show-label-p :initarg :show-label-p :initform t))
(:documentation "The superclass of all Mewa slot presentations"))
;;;; this has to be in the eval when i would think