MenuEditor.st
changeset 3016 6aff65697c4f
parent 3013 4aa95683c0fc
child 3026 0bf0d52eb92e
equal deleted inserted replaced
3015:194582b8825f 3016:6aff65697c4f
  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.