HierarchicalListEditor.st
changeset 602 5bf03bf611c8
parent 581 399646a86258
child 731 cd36a0c9ba62
equal deleted inserted replaced
601:89366181efd9 602:5bf03bf611c8
  1033 doCreateChild
  1033 doCreateChild
  1034     "create a child within selected parent"
  1034     "create a child within selected parent"
  1035 
  1035 
  1036     |node newItem|
  1036     |node newItem|
  1037 
  1037 
  1038     (node := treeView selectedNode) notNil 
  1038     ((node := treeView selectedNode) notNil and: [self checkMenuItemModified])
  1039     ifTrue:
  1039     ifTrue:
  1040     [
  1040     [
  1041         treeView model add: (newItem := self newItem) afterIndex: node children size below:node.
  1041         treeView model add: (newItem := self newItem) afterIndex: node children size below:node.
  1042         newItem name: 'Child ', (self getDepthAndSistersNumberOfNode: newItem onParentNode: node).
  1042         newItem name: 'Child ', (self getDepthAndSistersNumberOfNode: newItem onParentNode: node).
  1043         treeView selectedNodeExpand:true.
  1043         treeView selectedNodeExpand:true.
  1050 doCreateSister
  1050 doCreateSister
  1051     "create a sister next to selected item
  1051     "create a sister next to selected item
  1052     "
  1052     "
  1053     |node newItem|
  1053     |node newItem|
  1054 
  1054 
  1055     (node := treeView selectedNode) notNil 
  1055     ((node := treeView selectedNode) notNil and: [self checkMenuItemModified]) 
  1056     ifTrue:
  1056     ifTrue:
  1057     [
  1057     [
  1058         newItem := self newItem.
  1058         newItem := self newItem.
  1059         node parent notNil 
  1059         node parent notNil 
  1060             ifTrue: [treeView model add: newItem after:node] 
  1060             ifTrue: [treeView model add: newItem after:node] 
  1069 
  1069 
  1070 doCut
  1070 doCut
  1071     "cut current selected nodes"
  1071     "cut current selected nodes"
  1072 
  1072 
  1073     |selection|
  1073     |selection|
  1074     treeView hasSelection 
  1074     (treeView hasSelection and: [self checkMenuItemModified]) 
  1075     ifTrue:
  1075     ifTrue:
  1076     [
  1076     [
  1077         self doCopy.
  1077         self doCopy.
  1078         selection := treeView selection asSortedCollection.
  1078         selection := treeView selection asSortedCollection.
  1079         treeView selectedNodesRemove.
  1079         treeView selectedNodesRemove.
  1213 !
  1213 !
  1214 
  1214 
  1215 doPaste
  1215 doPaste
  1216     "paste after current selected item"
  1216     "paste after current selected item"
  1217 
  1217 
  1218     treeView selectedNodeAdd:CopyBuffer.
  1218     self checkMenuItemModified
  1219     CopyBuffer isCollection ifFalse: [treeView selectNode: CopyBuffer] ifTrue: [treeView selection: (CopyBuffer collect: [:node| treeView indexOfNode: node])].
  1219     ifTrue:
  1220     self updateChannels.
  1220     [
  1221     isModified := true
  1221         treeView selectedNodeAdd:CopyBuffer.
  1222 
  1222         CopyBuffer isCollection ifFalse: [treeView selectNode: CopyBuffer] ifTrue: [treeView selection: (CopyBuffer collect: [:node| treeView indexOfNode: node])].
       
  1223         self updateChannels.
       
  1224         isModified := true
       
  1225     ]
  1223 !
  1226 !
  1224 
  1227 
  1225 doReload
  1228 doReload
  1226     "reload spec from current class and selector"
  1229     "reload spec from current class and selector"
  1227 
  1230