fixes for ucw+interpreter
[clinton/lisp-on-lines.git] / src / mewa / slot-presentations.lisp
index cbd2525..4254227 100644 (file)
                     (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 
@@ -20,7 +40,8 @@
                     :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
@@ -46,7 +67,6 @@ When T, only the default value for primary keys and the joins are updated."))
   integer
   currency)
 
-
 (defslot-presentation clsql-wall-time-slot-presentation (mewa-relation-slot-presentation)
        ()
        (:type-name clsql-sys:wall-time))
@@ -82,8 +102,6 @@ When T, only the default value for primary keys and the joins are updated."))
         ifFormat       :    \"%m/%d/%Y\",
       });" input-id))))))
 
-
-
 (defslot-presentation  mewa-relation-slot-presentation (mewa-slot-presentation slot-presentation)
   ((foreign-instance :accessor foreign-instance)
    (linkedp :accessor linkedp :initarg :linkedp :initform t)
@@ -287,15 +305,9 @@ When T, only the default value for primary keys and the joins are updated."))
            (present (presentation slot)))
          (<:as-html "--"))))
 
-(defslot-presentation inline-slot-presentation (mewa-relation-slot-presentation)
-  ()
-  (:type-name inline))
 
-(defmethod present-slot ((slot inline-slot-presentation) instance)
-  (<:fieldset 
-   (<:legend (<:as-html (label slot)))
-  (<ucw:render-component :component (mewa:make-presentation (meta-model::explode-foreign-key instance (slot-name slot)) :type :editor))))
 
-(defmethod mewa::present-slot-as-row ((self mewa::mewa-object-presentation) (slot inline-slot-presentation))
-  (<:td :colspan 2
-       (present-slot slot (instance self))))
\ No newline at end of file
+
+
+
+