DataSetBuilder.st
changeset 1311 84a556c31ac6
parent 1300 7514e12ff1b8
child 1312 51cf4a8fa2af
--- a/DataSetBuilder.st	Wed Jan 26 16:36:20 2000 +0100
+++ b/DataSetBuilder.st	Wed Jan 26 17:22:24 2000 +0100
@@ -2063,9 +2063,13 @@
 columnIsNotEditing
     "returns a boolean value holder which is set to true if column is not editing"
 
-    ^builder valueAspectFor:#columnIsNotEditing initialValue: true
-
-
+    |holder|
+
+    (holder := builder bindingAt:#columnIsNotEditing) isNil ifTrue:[
+        holder := BlockValue forLogicalNot:(self modifiedChannel).
+        builder aspectAt:#columnIsNotEditing put:holder.
+    ].
+    ^ holder
 
 !
 
@@ -2211,18 +2215,6 @@
 
 ! !
 
-!DataSetBuilder methodsFor:'change & update'!
-
-update:something with:aParameter from:someObject
-    "one of my aspects has changed; update modified channel"
-
-    super update:something with:aParameter from:someObject.
-
-    self columnIsNotEditing value: false
-
-    "Modified: / 27.10.1998 / 14:41:44 / cg"
-! !
-
 !DataSetBuilder methodsFor:'code generation'!
 
 compile:aCode forClass:aClass inCategory:aCategory
@@ -2653,6 +2645,13 @@
         aspects keysAndValuesDo:[:aKey :aModel |
             aModel value:(column perform:aKey) withoutNotifying: self
         ].
+
+"/ REPALCE nil by empty string for specific inputFields without an adapter
+        #( #labelActionArgument #formatString #id ) do:[:aKey| |model|
+            model := aspects at:aKey.
+            model value isNil ifTrue:[model value:'' withoutNotifying: self]
+        ].
+
         tabSelection == 0 ifTrue:[self tabModel value:1].
     ].
 
@@ -2800,7 +2799,6 @@
 
     self updateInputFields.
     self valueOfEnablingCommitButtons value:false.
-    self columnIsNotEditing value: true.
     self clearModifiedFlag.
     self valueOfEnablingCommitButtons value:false.