DSVColumnView.st
changeset 1711 97e1fd579b89
parent 1673 67898506ba03
child 1721 92249c0b9300
--- a/DSVColumnView.st	Wed Feb 16 18:15:15 2000 +0100
+++ b/DSVColumnView.st	Thu Feb 17 10:11:45 2000 +0100
@@ -695,12 +695,20 @@
 columnAdaptor
     "return the value of the instance variable 'columnAdaptor' (automatically generated)"
 
-    ^ columnAdaptor!
+    columnAdaptor isValueModel ifTrue:[^ columnAdaptor value].
+  ^ columnAdaptor
+!
 
 columnAdaptor:something
     "set the value of the instance variable 'columnAdaptor' (automatically generated)"
 
-    columnAdaptor := something.!
+    columnAdaptor isValueModel ifTrue:[
+        columnAdaptor removeDependent:self
+    ].
+    (columnAdaptor := something) isValueModel ifTrue:[
+        columnAdaptor addDependent:self
+    ].
+!
 
 columnHolder
     "get the valueHolder, which keeps the list of column descriptions
@@ -1278,7 +1286,13 @@
     chgObj == columnHolder ifTrue:[
         ^ self columnDescriptors:(columnHolder value)
     ].
-        
+
+    chgObj == columnAdaptor ifTrue:[
+        col := columnAdaptor value.
+        columnDescriptors do:[:aCol| aCol columnAdaptor:col].
+      ^ self invalidate
+    ].
+
     chgObj == editValue ifTrue:[
         newValue := editValue value.
         col := self selectedColumn.
@@ -2247,6 +2261,10 @@
     self columnHolder:nil.
     listHolder removeDependent:self.
 
+    columnAdaptor isValueModel ifTrue:[
+        columnAdaptor removeDependent:self
+    ].
+
     self beDependentOfRows:false.
     super destroy
 !
@@ -3328,5 +3346,5 @@
 !DSVColumnView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libwidg2/DSVColumnView.st,v 1.100 2000-02-03 12:09:32 ca Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg2/DSVColumnView.st,v 1.101 2000-02-17 09:11:45 ca Exp $'
 ! !