TypeConverter.st
changeset 2560 03c5e1535b9d
parent 2559 87d81ccdf4a0
child 2607 2f81fde8732a
equal deleted inserted replaced
2559:87d81ccdf4a0 2560:03c5e1535b9d
   308         putBlock:
   308         putBlock:
   309                 [:model :string |
   309                 [:model :string |
   310 
   310 
   311                 |value s|
   311                 |value s|
   312 
   312 
   313                 string isEmpty ifTrue:[
   313                 string isEmptyOrNil ifTrue:[
   314                     value := nil
   314                     value := nil
   315                 ] ifFalse:[
   315                 ] ifFalse:[
   316                     s := string withoutSeparators.
   316                     s := string withoutSeparators.
   317                     (s startsWith:'#(') ifTrue:[
   317                     (s startsWith:'#(') ifTrue:[
   318                         value := Array readFrom:s onError:nil
   318                         value := Array readFrom:s onError:nil
   360         putBlock:
   360         putBlock:
   361                 [:model :string |
   361                 [:model :string |
   362 
   362 
   363                 |value s|
   363                 |value s|
   364 
   364 
   365                 string isEmpty ifTrue:[
   365                 string isEmptyOrNil ifTrue:[
   366                     value := nil
   366                     value := nil
   367                 ] ifFalse:[
   367                 ] ifFalse:[
   368                     s := string withoutSeparators.
   368                     s := string withoutSeparators.
   369                     (s startsWith:'#(') ifTrue:[
   369                     (s startsWith:'#(') ifTrue:[
   370                         value := Array readFrom:s onError:nil
   370                         value := Array readFrom:s onError:nil
   532         putBlock:
   532         putBlock:
   533                 [:model :string |
   533                 [:model :string |
   534 
   534 
   535                 |value|
   535                 |value|
   536 
   536 
   537                 string isEmpty ifTrue:[
   537                 string isEmptyOrNil ifTrue:[
   538                     value := defaultValue
   538                     value := defaultValue
   539                 ] ifFalse:[
   539                 ] ifFalse:[
   540                     stxFormat isNil ifTrue:[
   540                     stxFormat isNil ifTrue:[
   541                         value := Date readFrom:string onError:defaultValue
   541                         value := Date readFrom:string onError:defaultValue
   542                     ] ifFalse:[
   542                     ] ifFalse:[
   589         putBlock:
   589         putBlock:
   590                 [:model :string |
   590                 [:model :string |
   591 
   591 
   592                 |value|
   592                 |value|
   593 
   593 
   594                 string isEmpty ifTrue:[
   594                 string isEmptyOrNil ifTrue:[
   595                     value := 0
   595                     value := 0
   596                 ] ifFalse:[     
   596                 ] ifFalse:[     
   597                     value := Integer readFrom: string radix:16 onError:[0]
   597                     value := Integer readFrom: string radix:16 onError:[0]
   598                 ].
   598                 ].
   599                 model value:value]
   599                 model value:value]
   600 
   600 
   601         updateBlock: [:m :a :p | true]
   601         updateBlock: [:m :a :p | true]
   602 
       
   603    
       
   604 !
   602 !
   605 
   603 
   606 integerToHexTextMinValue:minVal maxValue:maxVal format:formatStringOrNil
   604 integerToHexTextMinValue:minVal maxValue:maxVal format:formatStringOrNil
   607     "setup the converter to convert from a string to a number
   605     "setup the converter to convert from a string to a number
   608      and vice versa, but clamping the number into the range."
   606      and vice versa, but clamping the number into the range."
   642         putBlock:
   640         putBlock:
   643                 [:model :string |
   641                 [:model :string |
   644 
   642 
   645                 |value c|
   643                 |value c|
   646 
   644 
   647                 string isEmpty ifTrue:[
   645                 string isEmptyOrNil ifTrue:[
   648                     value := 0
   646                     value := 0
   649                 ] ifFalse:[
   647                 ] ifFalse:[
   650                     value := Integer readFromString:string radix:radix onError:[0]. 
   648                     value := Integer readFromString:string radix:radix onError:[0]. 
   651                 ].               
   649                 ].               
   652                 minVal notNil ifTrue:[
   650                 minVal notNil ifTrue:[
   804         putBlock:
   802         putBlock:
   805                 [:model :string |
   803                 [:model :string |
   806 
   804 
   807                 |value c|
   805                 |value c|
   808 
   806 
   809                 (string isEmpty or:[string isBlank]) ifTrue:[
   807                 (string isEmptyOrNil or:[string isBlank]) ifTrue:[
   810                     value := nil
   808                     value := nil
   811                 ] ifFalse:[
   809                 ] ifFalse:[
   812                     value := Number readFromString:string onError:[nil]. 
   810                     value := Number readFromString:string onError:[nil]. 
   813                     value isNil ifTrue:[
   811                     value isNil ifTrue:[
   814                         
   812                         
   883         putBlock:
   881         putBlock:
   884                 [:model :string |
   882                 [:model :string |
   885 
   883 
   886                 |value s|
   884                 |value s|
   887 
   885 
   888                 string isEmpty ifTrue:[
   886                 string isEmptyOrNil ifTrue:[
   889                     value := nil
   887                     value := nil
   890                 ] ifFalse:[
   888                 ] ifFalse:[
   891                     value := Number readFrom:string onError:nil.
   889                     value := Number readFrom:string onError:nil.
   892                     value isNil ifTrue:[
   890                     value isNil ifTrue:[
   893                         s := string withoutSeparators.
   891                         s := string withoutSeparators.
   933         putBlock:
   931         putBlock:
   934                 [:model :string |
   932                 [:model :string |
   935 
   933 
   936                 |value s|
   934                 |value s|
   937 
   935 
   938                 string isEmpty ifTrue:[
   936                 string isEmptyOrNil ifTrue:[
   939                     value := nil
   937                     value := nil
   940                 ] ifFalse:[
   938                 ] ifFalse:[
   941                     value := Number readFrom:string onError:nil.
   939                     value := Number readFrom:string onError:nil.
   942                     value isNil ifTrue:[
   940                     value isNil ifTrue:[
   943                         s := string withoutSeparators.
   941                         s := string withoutSeparators.
   975         putBlock:
   973         putBlock:
   976                 [:model :string |
   974                 [:model :string |
   977 
   975 
   978                 |value|
   976                 |value|
   979 
   977 
   980                 string isEmpty ifTrue:[
   978                 string isEmptyOrNil ifTrue:[
   981                     value := 0
   979                     value := 0
   982                 ] ifFalse:[
   980                 ] ifFalse:[
   983                     value := Number readFromString: string onError:[0]
   981                     value := Number readFromString: string onError:[0]
   984                 ].
   982                 ].
   985                 model value:value]
   983                 model value:value]
  1007         putBlock:
  1005         putBlock:
  1008                 [:model :string |
  1006                 [:model :string |
  1009 
  1007 
  1010                 |value|
  1008                 |value|
  1011 
  1009 
  1012                 string isEmpty ifTrue:[
  1010                 string isEmptyOrNil ifTrue:[
  1013                     value := 0
  1011                     value := 0
  1014                 ] ifFalse:[     
  1012                 ] ifFalse:[     
  1015                     value := Number readFromString:string onError:[0]
  1013                     value := Number readFromString:string onError:[0]
  1016                 ].
  1014                 ].
  1017                 self setNumberValue: value inModel: model fromInput: string.
  1015                 self setNumberValue: value inModel: model fromInput: string.
  1042         putBlock:
  1040         putBlock:
  1043                 [:model :string |
  1041                 [:model :string |
  1044 
  1042 
  1045                 |value|
  1043                 |value|
  1046 
  1044 
  1047                 string isEmpty ifTrue:[
  1045                 string isEmptyOrNil ifTrue:[
  1048                     value := 0
  1046                     value := 0
  1049                 ] ifFalse:[          
  1047                 ] ifFalse:[          
  1050                     value := Number readFromString: string onError:[0]. "asNumberFromFormatString:formatString"
  1048                     value := Number readFromString: string onError:[0]. "asNumberFromFormatString:formatString"
  1051                 ].
  1049                 ].
  1052                 model value:value]
  1050                 model value:value]
  1075         putBlock:
  1073         putBlock:
  1076                 [:model :string |
  1074                 [:model :string |
  1077 
  1075 
  1078                 |value|
  1076                 |value|
  1079 
  1077 
  1080                 string isEmpty ifTrue:[
  1078                 string isEmptyOrNil ifTrue:[
  1081                     value := 0
  1079                     value := 0
  1082                 ] ifFalse:[          
  1080                 ] ifFalse:[          
  1083                     value := Number readFromString: string onError:[0]. "asNumberFromFormatString:formatString"
  1081                     value := Number readFromString: string onError:[0]. "asNumberFromFormatString:formatString"
  1084                 ].
  1082                 ].
  1085                 model value:value]
  1083                 model value:value]
  1117         putBlock:
  1115         putBlock:
  1118                 [:model :string |
  1116                 [:model :string |
  1119 
  1117 
  1120                 |value c|
  1118                 |value c|
  1121 
  1119 
  1122                 string isEmpty ifTrue:[
  1120                 string isEmptyOrNil ifTrue:[
  1123                     value := 0
  1121                     value := 0
  1124                 ] ifFalse:[
  1122                 ] ifFalse:[
  1125                     value := Number readFromString: string onError:[0]. 
  1123                     value := Number readFromString: string onError:[0]. 
  1126                 ].               
  1124                 ].               
  1127                 minVal notNil ifTrue:[
  1125                 minVal notNil ifTrue:[
  1156         putBlock:
  1154         putBlock:
  1157                 [:model :string |
  1155                 [:model :string |
  1158 
  1156 
  1159                 |value|
  1157                 |value|
  1160 
  1158 
  1161                 string isEmpty ifTrue:[
  1159                 string isEmptyOrNil ifTrue:[
  1162                     value := nil
  1160                     value := nil
  1163                 ] ifFalse:[
  1161                 ] ifFalse:[
  1164                     value := timeOrDateClass readFrom:string onError:nil
  1162                     value := timeOrDateClass readFrom:string onError:nil
  1165                 ].
  1163                 ].
  1166                 model value:value]
  1164                 model value:value]
  1413         putBlock:
  1411         putBlock:
  1414                 [:model :string |
  1412                 [:model :string |
  1415 
  1413 
  1416                 |value|
  1414                 |value|
  1417 
  1415 
  1418                 string isEmpty ifTrue:[
  1416                 string isEmptyOrNil ifTrue:[
  1419                     value := defaultValue
  1417                     value := defaultValue
  1420                 ] ifFalse:[
  1418                 ] ifFalse:[
  1421 "/                    aFormatString isNil ifTrue:[
  1419 "/                    aFormatString isNil ifTrue:[
  1422                         value := timeClass readFrom:string onError:defaultValue
  1420                         value := timeClass readFrom:string onError:defaultValue
  1423 "/                    ] ifFalse:[
  1421 "/                    ] ifFalse:[
  1469         putBlock:
  1467         putBlock:
  1470                 [:model :string |
  1468                 [:model :string |
  1471 
  1469 
  1472                 |value|
  1470                 |value|
  1473 
  1471 
  1474                 string isEmpty ifTrue:[
  1472                 string isEmptyOrNil ifTrue:[
  1475                     value := Time now
  1473                     value := Time now
  1476                 ] ifFalse:[              
  1474                 ] ifFalse:[              
  1477                     value := Time readFrom:string onError:[Time now]
  1475                     value := Time readFrom:string onError:[Time now]
  1478                 ].
  1476                 ].
  1479                 model value:value]
  1477                 model value:value]
  1499 ! !
  1497 ! !
  1500 
  1498 
  1501 !TypeConverter class methodsFor:'documentation'!
  1499 !TypeConverter class methodsFor:'documentation'!
  1502 
  1500 
  1503 version
  1501 version
  1504     ^ '$Header: /cvs/stx/stx/libview2/TypeConverter.st,v 1.56 2008-11-03 13:21:07 sr Exp $'
  1502     ^ '$Header: /cvs/stx/stx/libview2/TypeConverter.st,v 1.57 2008-11-03 13:22:48 sr Exp $'
  1505 ! !
  1503 ! !