- :action action)))))))
-
-
-
-(defdisplay :in-layer wrap-form :around (description object)
- (<ucw:form
- :action (refresh-component self)
- (with-inactive-layers (wrap-form)
- (call-next-method)
- (with-inactive-layers (show-attribute-labels)
- (display-attribute
- (make-instance
- 'form-button-attribute
- :form-buttons
- (form-buttons description))
- object)))))
+ :action (if (consp action)
+ (eval action)
+ action))))))))
+
+
+(defdisplay
+ :in-layer wrap-form
+ :around (description object)
+ (flet ((body ()
+ (with-inactive-layers (wrap-form)
+ (call-next-method)
+ (with-inactive-layers (show-attribute-labels)
+ (display-attribute
+ (make-instance
+ 'form-button-attribute
+ :form-buttons
+ (form-buttons description))
+ object)))))
+ (ecase (form-type description)
+ ('<ucw:simple-form
+ (<ucw:simple-form
+ :action (refresh-component self)
+ (body)))
+ ('<ucw:form
+ (<ucw:form
+ :action (refresh-component self)
+ (body))))))