+(defattribute integer-attribute (number-attribute integer-field)
+ ()
+ (:in-layer editor)
+ (:default-initargs
+ :default-value ""
+ :default-value-predicate (complement #'numberp))
+ (:type-name integer))
+
+
+(define-layered-method (setf attribute-value) ((value string) object (attribute integer-attribute))
+ (let ((*read-eval* nil))
+ (unless (string= "" value)
+ (let ((value (read-from-string value)))
+ (when (numberp value)
+ (setf (attribute-value object attribute) value))))))
+