checkin from browser
authorClaus Gittinger <cg@exept.de>
Tue, 04 Mar 1997 12:33:55 +0100
changeset 486 f21ed8fd7df3
parent 485 9326c85fdf6f
child 487 c7465591e41a
checkin from browser
TypeConv.st
TypeConverter.st
--- a/TypeConv.st	Tue Mar 04 02:00:20 1997 +0100
+++ b/TypeConv.st	Tue Mar 04 12:33:55 1997 +0100
@@ -54,6 +54,19 @@
 
 !TypeConverter class methodsFor:'instance creation'!
 
+onDateValue:aValueHolder
+    "create and return a typeConverter, which retrieves
+     a date via #value, and converts
+     a date-string to a date via #value:.
+     Useful as an editFields model, which operates on some
+     date value (or aspectAdaptor, which adapts to a numeric slot)"
+
+    ^ (self on:aValueHolder) dateToText
+
+    "Modified: 21.2.1997 / 18:46:11 / cg"
+    "Created: 4.3.1997 / 12:30:49 / cg"
+!
+
 onNumberValue:aValueHolder
     "create and return a typeConverter, which retrieves
      a values string representation via #value, and converts
@@ -98,6 +111,38 @@
 
 !TypeConverter methodsFor:'initialize-release'!
 
+dateToText
+    "setup the converter to convert from a string to a date
+     and vice versa."
+
+    self
+        getBlock:[:model |
+                |date|
+
+                (date := model value) isNil ifTrue:[
+                    Date today printString
+                ] ifFalse:[
+                    date printString
+                ]]
+
+        putBlock:
+                [:model :string |
+
+                |value|
+
+                string isEmpty ifTrue:[
+                    value := Date today
+                ] ifFalse:[
+                    value := Date readFrom:string onError:Date today
+                ].
+                model value:value]
+
+        updateBlock: [:m :a :p | true]
+
+    "Modified: 21.2.1997 / 18:59:06 / cg"
+    "Created: 4.3.1997 / 12:32:19 / cg"
+!
+
 numberOrNil
     "setup the converter to convert from a string to a number
      and vice versa. Invalid numbers are converted to nil."
@@ -232,5 +277,5 @@
 !TypeConverter class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview2/Attic/TypeConv.st,v 1.3 1997-02-24 19:50:19 ca Exp $'
+    ^ '$Header: /cvs/stx/stx/libview2/Attic/TypeConv.st,v 1.4 1997-03-04 11:33:55 cg Exp $'
 ! !
--- a/TypeConverter.st	Tue Mar 04 02:00:20 1997 +0100
+++ b/TypeConverter.st	Tue Mar 04 12:33:55 1997 +0100
@@ -54,6 +54,19 @@
 
 !TypeConverter class methodsFor:'instance creation'!
 
+onDateValue:aValueHolder
+    "create and return a typeConverter, which retrieves
+     a date via #value, and converts
+     a date-string to a date via #value:.
+     Useful as an editFields model, which operates on some
+     date value (or aspectAdaptor, which adapts to a numeric slot)"
+
+    ^ (self on:aValueHolder) dateToText
+
+    "Modified: 21.2.1997 / 18:46:11 / cg"
+    "Created: 4.3.1997 / 12:30:49 / cg"
+!
+
 onNumberValue:aValueHolder
     "create and return a typeConverter, which retrieves
      a values string representation via #value, and converts
@@ -98,6 +111,38 @@
 
 !TypeConverter methodsFor:'initialize-release'!
 
+dateToText
+    "setup the converter to convert from a string to a date
+     and vice versa."
+
+    self
+        getBlock:[:model |
+                |date|
+
+                (date := model value) isNil ifTrue:[
+                    Date today printString
+                ] ifFalse:[
+                    date printString
+                ]]
+
+        putBlock:
+                [:model :string |
+
+                |value|
+
+                string isEmpty ifTrue:[
+                    value := Date today
+                ] ifFalse:[
+                    value := Date readFrom:string onError:Date today
+                ].
+                model value:value]
+
+        updateBlock: [:m :a :p | true]
+
+    "Modified: 21.2.1997 / 18:59:06 / cg"
+    "Created: 4.3.1997 / 12:32:19 / cg"
+!
+
 numberOrNil
     "setup the converter to convert from a string to a number
      and vice versa. Invalid numbers are converted to nil."
@@ -232,5 +277,5 @@
 !TypeConverter class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview2/TypeConverter.st,v 1.3 1997-02-24 19:50:19 ca Exp $'
+    ^ '$Header: /cvs/stx/stx/libview2/TypeConverter.st,v 1.4 1997-03-04 11:33:55 cg Exp $'
 ! !