equal
deleted
inserted
replaced
1594 ! ! |
1594 ! ! |
1595 |
1595 |
1596 !MenuEditor methodsFor:'accessing'! |
1596 !MenuEditor methodsFor:'accessing'! |
1597 |
1597 |
1598 helpSpec |
1598 helpSpec |
1599 |spec sel t g| |
1599 |spec t g| |
1600 |
1600 |
1601 spec := super helpSpec. |
1601 spec := super helpSpec. |
1602 t := spec at:#detailsStartGroup. |
1602 t := spec at:#detailsStartGroup. |
1603 g := (aspects at:#startGroup ifAbsent:nil) value. |
1603 g := (aspects at:#startGroup ifAbsent:nil) value. |
1604 g == #conditionalRight ifTrue:[ |
1604 g == #conditionalRight ifTrue:[ |
1605 t := t , ' #conditionalRight means: "right on non-win32 systems"' |
1605 t := t , ' #conditionalRight means: "right on non-win32 systems"' |
1606 ]. |
1606 ]. |
1607 g == #right ifTrue:[ |
1607 g == #right ifTrue:[ |
1608 t := t , ' #right means: "right align from here"' |
1608 t := t , ' #right means: "right align from here"' |
1609 ]. |
1609 ]. |
1610 g == #left ifTrue:[ |
1610 g == #left ifTrue:[ |
1611 t := t , ' #left means: "left align group"' |
1611 t := t , ' #left means: "left align group"' |
1612 ]. |
1612 ]. |
1613 spec at:#detailsStartGroup put:t. |
1613 spec at:#detailsStartGroup put:t. |
1614 |
1614 |
1615 ^ spec. |
1615 ^ spec. |
1616 "/ #detailsStartGroup |
1616 "/ #detailsStartGroup |
2766 ]. |
2766 ]. |
2767 ! |
2767 ! |
2768 |
2768 |
2769 doSave |
2769 doSave |
2770 "save current editing menu to |
2770 "save current editing menu to |
2771 class: specClass |
2771 class: specClass |
2772 selector: specSelector |
2772 selector: specSelector |
2773 " |
2773 " |
2774 |cls specCode mthd category code excla s| |
2774 |cls specCode mthd category s| |
2775 |
2775 |
2776 self isEditingSpecOnly ifTrue:[ |
2776 self isEditingSpecOnly ifTrue:[ |
2777 savedSpec := self generateMenuSpec. |
2777 savedSpec := self generateMenuSpec. |
2778 hasSaved := true. |
2778 hasSaved := true. |
2779 self clearModified. |
2779 self clearModified. |
2780 ^ self |
2780 ^ self |
2781 ]. |
2781 ]. |
2782 |
2782 |
2783 super doSave ifFalse: [^nil]. |
2783 super doSave ifFalse: [^nil]. |
2784 specCode := self generateMenuSpecString. |
2784 specCode := self generateMenuSpecString. |
2785 specCode isNil ifTrue:[^ nil]. |
2785 specCode isNil ifTrue:[^ nil]. |
2788 |
2788 |
2789 "/ if that method already exists, do not overwrite the category |
2789 "/ if that method already exists, do not overwrite the category |
2790 |
2790 |
2791 category := 'menu specs'. |
2791 category := 'menu specs'. |
2792 (mthd := cls class compiledMethodAt:specSelector) notNil ifTrue:[ |
2792 (mthd := cls class compiledMethodAt:specSelector) notNil ifTrue:[ |
2793 category := mthd category. |
2793 category := mthd category. |
2794 ]. |
2794 ]. |
2795 |
2795 |
2796 s := '' writeStream. |
2796 s := '' writeStream. |
2797 |
2797 |
2798 s nextPutChunkSeparator; |
2798 s nextPutChunkSeparator; |
2819 cr. |
2819 cr. |
2820 |
2820 |
2821 (ReadStream on:s contents) fileIn. |
2821 (ReadStream on:s contents) fileIn. |
2822 |
2822 |
2823 self isStandAlone ifTrue:[ |
2823 self isStandAlone ifTrue:[ |
2824 self helpTool doSave |
2824 self helpTool doSave |
2825 ]. |
2825 ]. |
2826 |
2826 |
2827 self updateHistory. |
2827 self updateHistory. |
2828 hasSaved := true. |
2828 hasSaved := true. |
2829 self clearModified. |
2829 self clearModified. |