change selection behaviour after delete
authorca
Wed, 09 Aug 2000 12:32:38 +0200
changeset 1390 36383f7e61b6
parent 1389 85a41c80e8dc
child 1391 be99f3e9260e
change selection behaviour after delete
DataSetBuilder.st
--- a/DataSetBuilder.st	Wed Aug 09 12:18:11 2000 +0200
+++ b/DataSetBuilder.st	Wed Aug 09 12:32:38 2000 +0200
@@ -2753,6 +2753,8 @@
     (view := listOfSpecViews at:tabSelection) isNil ifTrue:[
         view := SimpleView new.
         spec := (self class slices at:tabSelection) last.
+
+"/        view client:nil spec:(self class interfaceSpecFor:spec) builder:(self builder).
         view client:self spec:spec builder:(self builder).
         listOfSpecViews at:tabSelection put:view.
     ].
@@ -2851,22 +2853,30 @@
 cutOrDelete:isCut
     "remove selected column and optionally put it to the clipboard"
 
-    |idx|
-
-    ((idx := selectedColumnIndex) ~~ 0 and: [self askForItemModification]) 
-    ifTrue:
-    [
-        self selectedColumnModel value:0.
-        isCut ifTrue:[self clipboard: (columns at: idx)].
-        columns removeIndex:idx.
-        self seqList removeIndex:idx.
-        columns size > 0 ifTrue: [self selectedColumnModel value: ((idx - 1) max: 1)].
-        self updateColumnView.
-        self updateInputFields.
-        columns isEmpty ifTrue: [self isColumnSelected value: false].
-        self cancel.
-        modified := true.
-    ]
+    |idx model|
+
+    ((idx := selectedColumnIndex) ~~ 0 and:[self askForItemModification]) ifFalse:[
+        ^ self
+    ].
+    model := self selectedColumnModel.
+    model value:0.
+
+    isCut ifTrue:[
+        self clipboard: (columns at: idx)
+    ].
+    columns removeIndex:idx.
+
+    self  seqList removeIndex:idx.
+    model value:(idx min:(columns size)).
+    self  updateColumnView.
+    self  updateInputFields.
+
+    columns isEmpty ifTrue:[
+        self isColumnSelected value: false
+    ].
+    self cancel.
+    modified := true.
+
 !
 
 doBrowseRowClass