equal
deleted
inserted
replaced
378 #'accessCharacterPosition:' 1 |
378 #'accessCharacterPosition:' 1 |
379 #'submenuChannel:' #submenuTest |
379 #'submenuChannel:' #submenuTest |
380 ) |
380 ) |
381 #(#MenuItem |
381 #(#MenuItem |
382 #'label:' 'History' |
382 #'label:' 'History' |
383 #'accessCharacterPosition:' 1 |
383 #'accessCharacterPosition:' 2 |
384 #'submenuChannel:' #menuHistory |
384 #'submenuChannel:' #menuHistory |
385 ) |
385 ) |
386 #(#MenuItem |
386 #(#MenuItem |
387 #'label:' 'Help' |
387 #'label:' 'Help' |
388 #'accessCharacterPosition:' 1 |
388 #'accessCharacterPosition:' 1 |
1489 helpTool masterApplication:self. |
1489 helpTool masterApplication:self. |
1490 helpCanvas := SubCanvas origin:0.0@0.0 corner:1.0@1.0 in:noteBook. |
1490 helpCanvas := SubCanvas origin:0.0@0.0 corner:1.0@1.0 in:noteBook. |
1491 specCanvas := SubCanvas origin:0.0@0.0 corner:1.0@1.0 in:noteBook. |
1491 specCanvas := SubCanvas origin:0.0@0.0 corner:1.0@1.0 in:noteBook. |
1492 |
1492 |
1493 helpCanvas client:helpTool. |
1493 helpCanvas client:helpTool. |
1494 helpTool masterApplication:self. |
1494 helpTool masterApplication:self. |
1495 helpTool modifiedHolder:(self modifiedChannel). |
1495 helpTool modifiedHolder: self modifiedChannel. |
1496 |
1496 |
1497 builder aspectAt:#noteBookView put:noteBook. |
1497 builder aspectAt:#noteBookView put:noteBook. |
1498 ]. |
1498 ]. |
1499 ^ noteBook |
1499 ^ noteBook |
1500 ! |
1500 ! |
1536 !MenuEditor methodsFor:'change & update'! |
1536 !MenuEditor methodsFor:'change & update'! |
1537 |
1537 |
1538 update:something with:aParameter from:changedObject |
1538 update:something with:aParameter from:changedObject |
1539 "one of my value holders has changed its value, so let me set the editing menu as modified" |
1539 "one of my value holders has changed its value, so let me set the editing menu as modified" |
1540 |
1540 |
1541 self modifiedChannel value: true. |
1541 self modifiedChannel value: true |
1542 isModified := true. |
|
1543 ! |
1542 ! |
1544 |
1543 |
1545 updateEnabledChannels |
1544 updateEnabledChannels |
1546 "update enabled channels" |
1545 "update enabled channels" |
1547 |
1546 |
1548 |node parent next state| |
1547 |node parent next state| |
1549 |
1548 |
1550 state := false. |
1549 state := false. |
1551 |
1550 |
1552 (node := self treeView selectedNode) notNil |
1551 (node := self treeView selectedNode) notNil |
1553 ifTrue: |
1552 ifTrue: |
1554 [ |
1553 [ |
1555 self hasAnySingleSelection value:true. |
1554 self hasAnySingleSelection value:true. |
1707 ^tabSelection ? 0 |
1706 ^tabSelection ? 0 |
1708 ! |
1707 ! |
1709 |
1708 |
1710 tabSelection: aSelection |
1709 tabSelection: aSelection |
1711 |
1710 |
1712 |sel| |
1711 |sel| |
1713 tabSelection = aSelection ifTrue:[ |
1712 tabSelection = aSelection ifTrue:[ |
1714 ^ self |
1713 ^ self |
1715 ]. |
1714 ]. |
1716 (aSelection ~~ 0 and:[slices isNil]) ifTrue:[ |
1715 (aSelection ~~ 0 and:[slices isNil]) ifTrue:[ |
1717 ^ self |
1716 ^ self |
1723 ]. |
1722 ]. |
1724 tabSelection == 1 ifTrue:[^ self]. |
1723 tabSelection == 1 ifTrue:[^ self]. |
1725 tabSelection := 1 |
1724 tabSelection := 1 |
1726 ]. |
1725 ]. |
1727 |
1726 |
1728 self isHelpToolSelected ifTrue:[ |
1727 self isHelpToolSelected ifTrue:[ |
1729 self helpTool helpKey:(self helpKey). |
1728 self helpTool helpKey:(self helpKey). |
1730 helpCanvas raise. |
1729 helpCanvas raise. |
1731 ] ifFalse:[ |
1730 ] ifFalse:[ |
1732 sel := (slices at:tabSelection) last. |
1731 sel := (slices at:tabSelection) last. |
1733 aspects do: [:holder| holder release]. |
1732 aspects do: [:holder| holder release]. |
1734 specCanvas client:self spec:(self class perform:sel) builder:builder. |
1733 specCanvas client:self spec:(self class perform:sel) builder:builder. |
1735 aspects do: [:holder| holder addDependent:self]. |
1734 aspects do: [:holder| holder addDependent:self]. |
1736 specCanvas raise. |
1735 specCanvas raise. |
1737 ] |
1736 ] |
1763 message := className, ' ', aSelector. |
1762 message := className, ' ', aSelector. |
1764 self addToHistory: message -> #loadFromMessage:. |
1763 self addToHistory: message -> #loadFromMessage:. |
1765 self valueOfInfoLabel value: className, ' << ', aSelector |
1764 self valueOfInfoLabel value: className, ' << ', aSelector |
1766 ]. |
1765 ]. |
1767 |
1766 |
|
1767 self treeView selection: 2. |
|
1768 self menuChanged |
1768 |
1769 |
1769 ! |
1770 ! |
1770 |
1771 |
1771 checkModified |
1772 checkModified |
1772 "check menu modification |
1773 "check menu modification |
1785 |
1786 |
1786 |
1787 |
1787 ! |
1788 ! |
1788 |
1789 |
1789 closeRequest |
1790 closeRequest |
1790 "close request |
1791 "close request" |
1791 " |
1792 |
1792 self checkModified ifTrue: [super closeRequest] |
1793 self checkModified ifTrue: [super closeRequest] |
1793 |
1794 |
1794 |
1795 |
1795 |
1796 |
1796 |
1797 |
1840 [ |
1841 [ |
1841 |readStream aClass aSelector| |
1842 |readStream aClass aSelector| |
1842 readStream := aMessage readStream. |
1843 readStream := aMessage readStream. |
1843 aClass := Smalltalk at: (readStream upTo: $ ) asSymbol. |
1844 aClass := Smalltalk at: (readStream upTo: $ ) asSymbol. |
1844 aSelector := readStream upToEnd asSymbol. |
1845 aSelector := readStream upToEnd asSymbol. |
1845 self buildFrom: aClass andSelector: aSelector. |
1846 self buildFrom: aClass andSelector: aSelector |
1846 self treeView selection: nil |
|
1847 ] |
1847 ] |
1848 ! |
1848 ! |
1849 |
1849 |
1850 openModalOnClass:aClass andSelector:aSelector |
1850 openModalOnClass:aClass andSelector:aSelector |
1851 specClass := Association key:aClass value:aSelector. |
1851 specClass := Association key:aClass value:aSelector. |
1872 |
1872 |
1873 specClass := nil. |
1873 specClass := nil. |
1874 |
1874 |
1875 (sel isKindOf:Menu) ifTrue:[ |
1875 (sel isKindOf:Menu) ifTrue:[ |
1876 self buildFrom:cls andSelector:nil. |
1876 self buildFrom:cls andSelector:nil. |
1877 ^ self treeView buildFromMenu:sel. |
1877 ^self treeView buildFromMenu:sel. |
1878 ] |
1878 ] |
1879 |
1879 |
1880 ]. |
1880 ]. |
1881 self buildFrom:cls andSelector:sel. |
1881 self buildFrom:cls andSelector:sel |
|
1882 ! |
|
1883 |
|
1884 postOpenWith:aBuilder |
|
1885 |
|
1886 self isHelpToolSelected |
|
1887 ifTrue: [helpCanvas raise] |
|
1888 ifFalse: [specCanvas raise] |
1882 ! ! |
1889 ! ! |
1883 |
1890 |
1884 !MenuEditor methodsFor:'user interactions'! |
1891 !MenuEditor methodsFor:'user interactions'! |
1885 |
1892 |
1886 accept |
1893 accept |
1915 [ |
1922 [ |
1916 self helpTool helpKey:(self helpKey). |
1923 self helpTool helpKey:(self helpKey). |
1917 aspects do:[:anAspect| anAspect value:nil]. |
1924 aspects do:[:anAspect| anAspect value:nil]. |
1918 node contents toAspects:aspects |
1925 node contents toAspects:aspects |
1919 ]. |
1926 ]. |
1920 self modifiedChannel value:false |
1927 self modifiedChannel value: false |
1921 |
1928 |
1922 ! |
1929 ! |
1923 |
1930 |
1924 doBrowseAppClass |
1931 doBrowseAppClass |
1925 "open a browser on the class" |
1932 "open a browser on the class" |
2600 !MenuEditor::TreeView methodsFor:'event handling'! |
2607 !MenuEditor::TreeView methodsFor:'event handling'! |
2601 |
2608 |
2602 keyPress:key x:x y:y |
2609 keyPress:key x:x y:y |
2603 "invoked if any key was pressed" |
2610 "invoked if any key was pressed" |
2604 |
2611 |
2605 <resource: #keyboard ( #Delete #BackSpace #Cut #Copy #Paste ) > |
2612 <resource: #keyboard (#Delete #BackSpace #Cut #Copy #Paste)> |
2606 |
2613 |
2607 (key == #Cut or:[key == #Delete or:[key == #BackSpace]]) ifTrue: [ |
2614 (key == #Cut or:[key == #Delete or:[key == #BackSpace]]) ifTrue: [^self doCut]. |
2608 ^ self doCut |
|
2609 ]. |
|
2610 |
2615 |
2611 key == #Copy ifTrue:[^self doCopy]. |
2616 key == #Copy ifTrue:[^self doCopy]. |
2612 key == #Paste ifTrue:[^self doPaste]. |
2617 key == #Paste ifTrue:[^self doPaste]. |
2613 |
2618 |
2614 super keyPress:key x:x y:y. |
2619 super keyPress:key x:x y:y |
2615 |
2620 |
2616 ! ! |
2621 ! ! |
2617 |
2622 |
2618 !MenuEditor::TreeView methodsFor:'initialization'! |
2623 !MenuEditor::TreeView methodsFor:'initialization'! |
2619 |
2624 |
2645 self class images associationsDo:[:imageAsso|images at: imageAsso key put:(imageAsso value onDevice:device)]. |
2650 self class images associationsDo:[:imageAsso|images at: imageAsso key put:(imageAsso value onDevice:device)]. |
2646 self multipleSelectOk:true. |
2651 self multipleSelectOk:true. |
2647 self showDirectoryIndicator: true. |
2652 self showDirectoryIndicator: true. |
2648 self showDirectoryIndicatorForRoot: false. |
2653 self showDirectoryIndicatorForRoot: false. |
2649 self selectConditionBlock: [:i|self application checkMenuItemModified]. |
2654 self selectConditionBlock: [:i|self application checkMenuItemModified]. |
2650 self validateDoubleClickBlock: [:node| node ~~ listOfNodes first] |
2655 self validateDoubleClickBlock: [:node| node ~~ listOfNodes first]. |
2651 ! ! |
2656 ! ! |
2652 |
2657 |
2653 !MenuEditor::TreeView methodsFor:'menus'! |
2658 !MenuEditor::TreeView methodsFor:'menus'! |
2654 |
2659 |
2655 doCopy |
2660 doCopy |