HCoop
/
clinton
/
lisp-on-lines.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
added perform-set-attribute and a few other fixes to this builds again.
[clinton/lisp-on-lines.git]
/
src
/
mewa
/
mewa.lisp
diff --git
a/src/mewa/mewa.lisp
b/src/mewa/mewa.lisp
index
01b3577
..
e440551
100644
(file)
--- a/
src/mewa/mewa.lisp
+++ b/
src/mewa/mewa.lisp
@@
-90,6
+90,9
@@
attributes is an alist keyed on the attribute nreeame."
(cddr (find-attribute model name))))
definition)))
(cddr (find-attribute model name))))
definition)))
+(defmethod perform-set-attributes ((model t) definitions)
+ (dolist (def definitions)
+ (funcall #'set-attribute model (first def) (rest def))))
(defmethod default-attributes ((model t))
"return the default attributes for a given model using the meta-model's meta-data"
(defmethod default-attributes ((model t))
"return the default attributes for a given model using the meta-model's meta-data"
@@
-277,8
+280,6
@@
attributes is an alist keyed on the attribute nreeame."
(defmacro call-presentation (object &rest args)
`(present-object ,object :presentation (make-presentation ,object ,@args)))
(defmacro call-presentation (object &rest args)
`(present-object ,object :presentation (make-presentation ,object ,@args)))
-
-
(defaction cancel-save-instance ((self mewa))
(cond
((slot-value (instance self) 'clsql-sys::view-database)
(defaction cancel-save-instance ((self mewa))
(cond
((slot-value (instance self) 'clsql-sys::view-database)
@@
-292,9
+293,7
@@
attributes is an alist keyed on the attribute nreeame."
(answer self))
(answer self))
-(defaction ok ((self mewa) &optional arg)
- "Returns the component if it has not been modified. if it has been, prompt user to save or cancel"
- (declare (ignore arg))
+(defaction ensure-instance-sync ((self mewa))
(when (modifiedp self)
(let ((message (format nil "Record has been modified, Do you wish to save the changes?<br/> ~a" (print (modifications self)))))
(case (call 'option-dialog
(when (modifiedp self)
(let ((message (format nil "Record has been modified, Do you wish to save the changes?<br/> ~a" (print (modifications self)))))
(case (call 'option-dialog
@@
-304,11
+303,18
@@
attributes is an alist keyed on the attribute nreeame."
(:cancel
(cancel-save-instance self))
(:save
(:cancel
(cancel-save-instance self))
(:save
- (save-instance self)))))
+ (save-instance self))))))
+
+(defaction ok ((self mewa) &optional arg)
+ "Returns the component if it has not been modified. if it has been, prompt user to save or cancel"
+ (declare (ignore arg))
+ (ensure-instance-sync self)
(answer self))
(answer self))
+
+
(defmethod (setf presentation-slot-value) :around (value (slot slot-presentation) instance)
(let* ((old (prog1
(presentation-slot-value slot instance)
(defmethod (setf presentation-slot-value) :around (value (slot slot-presentation) instance)
(let* ((old (prog1
(presentation-slot-value slot instance)