Be more tolerant in PluggableAdaptor>>#getter:setter:
authorJan Vrany <jan.vrany@fit.cvut.cz>
Sat, 15 Mar 2014 00:23:02 +0100
changeset 3310 b0eef4f85fc9
parent 3309 6022df917d8d
child 3311 514c65e7f366
Be more tolerant in PluggableAdaptor>>#getter:setter: Allow for 2-arg setter blocks.
PluggableAdaptor.st
--- a/PluggableAdaptor.st	Thu Mar 13 10:51:10 2014 +0100
+++ b/PluggableAdaptor.st	Sat Mar 15 00:23:02 2014 +0100
@@ -432,14 +432,22 @@
     "Modified: / 20-04-2005 / 18:59:28 / janfrog"
 !
 
-getter:getterBlock setter:setterBlock
+getter:getter setter:setter
+    | getterBlock setterBlock |
+
+    getterBlock := getter.
+    setterBlock := setter  numArgs == 1 
+                    ifTrue:[ [:model :value| model value:(setter  value:value)] ]
+                    ifFalse:[ setter   ].
+
     self
-        getBlock:[:model | getterBlock value:model value ]
-        putBlock:[:model :value| model value:(setterBlock value:value)]
+        getBlock:getterBlock 
+        putBlock:setterBlock 
         updateBlock:[:model :aspect :value|true]
 
     "Created: / 08-08-2004 / 21:52:20 / janfrog"
     "Modified: / 20-04-2005 / 18:59:28 / janfrog"
+    "Modified: / 14-03-2014 / 23:21:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 setter:setterBlock 
@@ -454,9 +462,10 @@
 !PluggableAdaptor class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview2/PluggableAdaptor.st,v 1.24 2010-12-22 10:29:26 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libview2/PluggableAdaptor.st,v 1.25 2014-03-14 23:23:02 vrany Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libview2/PluggableAdaptor.st,v 1.24 2010-12-22 10:29:26 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libview2/PluggableAdaptor.st,v 1.25 2014-03-14 23:23:02 vrany Exp $'
 ! !
+