modified-channel stuff
authorClaus Gittinger <cg@exept.de>
Mon, 12 Apr 1999 13:17:14 +0200
changeset 1104 cd4a620e6f94
parent 1103 ecc91379704b
child 1105 a19cdc769750
modified-channel stuff
MenuEditor.st
--- a/MenuEditor.st	Thu Apr 01 15:32:52 1999 +0200
+++ b/MenuEditor.st	Mon Apr 12 13:17:14 1999 +0200
@@ -2047,6 +2047,7 @@
 
     |node parent next state|
 
+    self modifiedChannel value:false.
     state := false.   
     self updateSelectionOfImage.
 
@@ -2081,7 +2082,6 @@
     self hasValidSelection           value:state.     
     self valueOfCanPaste             value:(self hasValidSingleSelection value or: [node == self treeView root]) & self valueOfCanPaste value. 
 
-
 !
 
 updateListAndSelectionOfImage
@@ -3254,28 +3254,29 @@
 addElement: aNode
     "add something after selection"
 
-    self askForItemModification
-    ifTrue:
-    [   
-        self selectedNodeAdd: aNode.
-        (aNode isCollection not and: [aNode name = 'Item']) 
-        ifTrue: 
-        [
-            |label|     
-            label := aNode name, ' ',
-                (self selectedNode parent notNil 
+    |label sel|     
+
+    self askForItemModification ifTrue:[   
+        self selectedNodeAdd:aNode.
+        (aNode isCollection not 
+        and: [aNode name = 'Item']) 
+        ifTrue:[
+            sel := self selectedNode.
+            label := aNode name , ' ',
+                (sel parent notNil 
                 ifTrue:
-                [
-                    (((self selectedNode children size = 0 
-                        ifTrue: [self selectedNode parent children] 
-                        ifFalse: [self selectedNode children]) select: 
-                            [:node| 
-                                |lab| 
-                                lab := node contents label. 
-                                ((node children size = 0) & 
-                                node contents submenuChannel isNil &
-                                (lab ~= '-') & (lab ~= '=') & (lab ~= ''))
-                            ]) size) printString] 
+                    [
+                        (((sel children size = 0 
+                            ifTrue: [sel parent children] 
+                            ifFalse: [sel children]) 
+                        select:[:node| 
+                            |lab| 
+                            lab := node contents label. 
+                            ((node children size = 0) & 
+                            node contents submenuChannel isNil &
+                            (lab ~= '-') & (lab ~= '=') & (lab ~= ''))
+                        ]) size) printString
+                    ] 
                 ifFalse: ['1']).  
 
             aNode name: label string asBoldText.
@@ -3308,18 +3309,20 @@
 
 selectedNodeAdd:something
 
-    |node|
+    |node numChildren|
 
     something notNil ifTrue:[
         (node := self selectedNode) notNil ifTrue:[
+            numChildren := node children size.
+
             node parent notNil ifTrue:[
                 node isCollapsable ifTrue:[
-                    model add:something afterIndex:node children size below:node
+                    model add:something afterIndex:numChildren below:node
                 ] ifFalse:[
                     model add:something after:node
                 ]
             ] ifFalse:[
-                model add:something afterIndex:node children size below:(self root)
+                model add:something afterIndex:numChildren below:(self root)
             ]
         ]
     ]