1197 #(#MenuItem |
1197 #(#MenuItem |
1198 #'label:' 'Move Up' |
1198 #'label:' 'Move Up' |
1199 #'value:' #doStepUp |
1199 #'value:' #doStepUp |
1200 #'activeHelpKey:' #editMoveUp |
1200 #'activeHelpKey:' #editMoveUp |
1201 #'enabled:' #enabledStepOver |
1201 #'enabled:' #enabledStepOver |
1202 #'labelImage:' #(#ResourceRetriever #MenuEditor #upIcon 'Move Up') |
1202 #'labelImage:' #(#ResourceRetriever #ToolApplicationModel #upIcon 'Move Up') |
1203 ) |
1203 ) |
1204 #(#MenuItem |
1204 #(#MenuItem |
1205 #'label:' 'Move Down' |
1205 #'label:' 'Move Down' |
1206 #'value:' #doStepDown |
1206 #'value:' #doStepDown |
1207 #'activeHelpKey:' #editMoveDown |
1207 #'activeHelpKey:' #editMoveDown |
1208 #'enabled:' #enabledStepOver |
1208 #'enabled:' #enabledStepOver |
1209 #'labelImage:' #(#ResourceRetriever #MenuEditor #downIcon 'Move Down') |
1209 #'labelImage:' #(#ResourceRetriever #ToolApplicationModel #downIcon 'Move Down') |
1210 ) |
1210 ) |
1211 #(#MenuItem |
1211 #(#MenuItem |
1212 #'label:' 'Move In' |
1212 #'label:' 'Move In' |
1213 #'value:' #doStepIn |
1213 #'value:' #doStepIn |
1214 #'activeHelpKey:' #editMoveIn |
1214 #'activeHelpKey:' #editMoveIn |
1215 #'enabled:' #enabledStepIn |
1215 #'enabled:' #enabledStepIn |
1216 #'labelImage:' #(#ResourceRetriever #MenuEditor #downRightIcon 'Move In') |
1216 #'labelImage:' #(#ResourceRetriever #ToolApplicationModel #downRightIcon 'Move In') |
1217 ) |
1217 ) |
1218 #(#MenuItem |
1218 #(#MenuItem |
1219 #'label:' 'Move Out' |
1219 #'label:' 'Move Out' |
1220 #'value:' #doStepOut |
1220 #'value:' #doStepOut |
1221 #'activeHelpKey:' #editMoveOut |
1221 #'activeHelpKey:' #editMoveOut |
1222 #'enabled:' #enabledStepOut |
1222 #'enabled:' #enabledStepOut |
1223 #'labelImage:' #(#ResourceRetriever #MenuEditor #leftDownIcon 'Move Out') |
1223 #'labelImage:' #(#ResourceRetriever #ToolApplicationModel #leftDownIcon 'Move Out') |
1224 ) |
1224 ) |
1225 ) nil |
1225 ) nil |
1226 nil |
1226 nil |
1227 ) |
1227 ) |
1228 ! |
1228 ! |
2726 ! |
2725 ! |
2727 |
2726 |
2728 doCreateMenu |
2727 doCreateMenu |
2729 |
2728 |
2730 |node| |
2729 |node| |
2731 node := self nodeLabel:'undefined'. |
2730 node := self nodeLabel:'Submenu'. |
2732 node add:(self nodeLabel:'undefined'). |
2731 node add:(self nodeLabel:'Item 1'). |
2733 self addElement:node |
2732 self addElement:node |
2734 ! |
2733 ! |
2735 |
2734 |
2736 doCreateSep |
2735 doCreateSep |
2737 |
2736 |
2738 self addElement:(self nodeLabel:nil) |
2737 self addElement:(self nodeLabel:nil) |
2739 ! |
2738 ! |
2740 |
2739 |
2741 doCut |
2740 doCut |
2742 |
2741 |
|
2742 |selectedNodes| |
2743 self doCopy. |
2743 self doCopy. |
|
2744 selectedNodes := self selection asSortedCollection. |
2744 self selectedNodesRemove. |
2745 self selectedNodesRemove. |
|
2746 self selection: selectedNodes first - 1. |
2745 self setModified. |
2747 self setModified. |
2746 |
2748 |
2747 |
2749 |
2748 ! |
2750 ! |
2749 |
2751 |
2754 ]. |
2756 ]. |
2755 ! ! |
2757 ! ! |
2756 |
2758 |
2757 !MenuEditor::TreeView methodsFor:'private'! |
2759 !MenuEditor::TreeView methodsFor:'private'! |
2758 |
2760 |
2759 addElement:something |
2761 addElement: aNode |
2760 "add something after selection" |
2762 "add something after selection" |
2761 |
2763 |
2762 self selectedNodeAdd:something. |
2764 (aNode isCollection not and: [aNode name = 'Item']) |
|
2765 ifTrue: |
|
2766 [ |
|
2767 |label| |
|
2768 label := aNode name, ' ', |
|
2769 (self selectedNode parent notNil ifTrue: |
|
2770 [(((self selectedNode children size = 0 ifTrue: [self selectedNode parent children] ifFalse: [self selectedNode children]) select: [:node| |
|
2771 |lab| lab := node contents label. ((node children size = 0) & node contents submenuChannel isNil & (lab ~= '-') & (lab ~= '=') & (lab ~= ''))]) size + 1) printString] ifFalse: ['1']). |
|
2772 aNode name: label. |
|
2773 aNode contents label: label. |
|
2774 ]. |
|
2775 self selectedNodeAdd: aNode. |
|
2776 aNode isCollection ifFalse: [self selectNode: aNode] ifTrue: [self selection: (aNode collect: [:node| self indexOfNode: node])]. |
2763 self setModified. |
2777 self setModified. |
2764 ! |
2778 ! |
2765 |
2779 |
2766 nodeLabel:aLabel |
2780 nodeLabel:aLabel |
2767 |
2781 |
2768 ^TreeItem name:aLabel contents: (MenuEditor::Item new label:aLabel) |
2782 ^TreeItem name:aLabel contents: (MenuEditor::Item new label:aLabel) |
|
2783 ! |
|
2784 |
|
2785 selectedNodeAdd:something |
|
2786 |
|
2787 |node| |
|
2788 |
|
2789 something notNil ifTrue:[ |
|
2790 (node := self selectedNode) notNil ifTrue:[ |
|
2791 node parent notNil ifTrue:[ |
|
2792 node isCollapsable ifTrue:[ |
|
2793 model add:something afterIndex:node children size below:node |
|
2794 ] ifFalse:[ |
|
2795 model add:something after:node |
|
2796 ] |
|
2797 ] ifFalse:[ |
|
2798 model add:something afterIndex:node children size below:(self root) |
|
2799 ] |
|
2800 ] |
|
2801 ] |
|
2802 |
|
2803 |
2769 ! |
2804 ! |
2770 |
2805 |
2771 setModified |
2806 setModified |
2772 |
2807 |
2773 self topView application isModified: true. |
2808 self topView application isModified: true. |