[Add optional field rendering order control to SIMPLE-FORM
clinton@unknownlamer.org**20081216033116] {
hunk ./src/simple-form.lisp 27
+   (field-order :initform nil :accessor form-field-order :initarg :field-order)
hunk ./src/simple-form.lisp 122
-  (remove-if-not (arnesi:compose #'ucw-forms::form-field-p #'cdr)
-		 (mapcar (lambda (name) (cons name (slot-value component name)))
-			 (remove-if-not #'(lambda (name) (slot-boundp component name))
-					(mapcar #'c2mop:slot-definition-name
-						(c2mop:class-slots (class-of component)))))))
+  (let ((fields
+	 (remove-if-not (arnesi:compose #'ucw-forms::form-field-p #'cdr)
+			(mapcar (lambda (name) (cons name (slot-value component name)))
+				(remove-if-not #'(lambda (name) (slot-boundp component name))
+					       (mapcar #'c2mop:slot-definition-name
+						       (c2mop:class-slots (class-of component))))))))
+    (if (form-field-order component)
+	(mapcar (lambda (name) (find name fields :key #'car))
+		(form-field-order component))
+	fields)))
}