conditionalize lol2 many-to-many
[clinton/lisp-on-lines.git] / src / standard-display.lisp
index c9f8fcb..57347f8 100644 (file)
             (apply #'display ,component thing args)))
       ,@body)))
 
-(defmacro call-display (object &rest args)
-  `(call-component self (make-instance 'standard-display-component
+
+(define-layered-function find-display-type (object))
+
+(define-layered-method find-display-type (object)
+  'viewer)
+
+(define-layered-function find-display-layers (object))
+
+(define-layered-method find-display-layers (object)
+  "layered function"
+  nil)
+
+(defmacro call-display (component object &rest args)
+  `(call-component ,component (make-instance 'standard-display-component
                         :display #'(lambda (component)
                                      (with-component (component)
                                        (<:as-html ,object)
  default action is to FUNCALL-WITH-LAYERS the DISPLAY-USING-DESCRIPTION method."))
 
 (define-layered-method display
-  ((component t) (object standard-object) &rest args &key layers (type 'viewer)  &allow-other-keys)  
+    ((component t) (object standard-object) &rest args &key layers (type 'viewer)  &allow-other-keys)
   (let* ((occurence (find-occurence object))
         (plist (attribute.plist
                 (find-attribute occurence (intern (format nil "~A" type) :KEYWORD))))
 
 
 (define-layered-method display
-  ((component t) (object t) &rest args &key (layers  '(+ viewer)) &allow-other-keys)
+  ((component t) (object t) &rest args &key layers (type 'viewer) &allow-other-keys)
   (funcall-with-layers 
    layers               
    #'display-using-description  t component object args))