--- a/MenuEditor.st Fri Mar 13 23:48:08 1998 +0100
+++ b/MenuEditor.st Sat Mar 14 12:12:53 1998 +0100
@@ -101,6 +101,15 @@
!MenuEditor class methodsFor:'accessing'!
+iconUnknown
+ "returns an image used for picked items containing an image
+ "
+
+ <resource: #fileImage>
+
+ ^Image fromFile:'brokenImage.xpm'
+!
+
resourceType
"get the type of resource of the method generated by the MenuEditor"
@@ -236,6 +245,56 @@
)
! !
+!MenuEditor class methodsFor:'image specs'!
+
+linkSubmenuImage
+ "Generated by the Image Editor"
+ "
+ ImageEditor openOnClass:self andSelector:#linkSubmenuImage
+ "
+
+ <resource: #image>
+
+ ^Icon
+ constantNamed:#'MenuEditor linkSubmenuImage'
+ ifAbsentPut:[(Depth4Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@ADQDQDQDQDQDQH@D"H"H"H"H"H"K0@RH"H"H"H"H"H/@A????????????<@D@@@@@@@@@@@C0@PL3L0DQDQDQD_@A@3L3LBH"H"H"<@DCL3L3@"H"H"K0@PL3L3L0??????@A@@@@L3L@@@@@<@DQDQDCL3@PLAG0@RH"H"@3L0@3@/@AH"H"H L3L3L0<@G?????<CL3L3L@@P@@@@@@@3L3LO@ADQDQDQDP@CLA<@D"H"H"H"H LBK0@RH"H"H"H"@BH/@B????????????<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 255 255 170 170 170 255 0 0 0 255 0 0 0 255 0 255 255 255 255 0 255 0 255 127 0 0 0 127 0 0 0 127 0 127 127 127 127 0 127 0 127 127 127 127]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; yourself); yourself]!
+
+menuItemImage
+ "Generated by the Image Editor"
+ "
+ ImageEditor openOnClass:self andSelector:#menuItemImage
+ "
+
+ <resource: #image>
+
+ ^Icon
+ constantNamed:#'MenuEditor menuItemImage'
+ ifAbsentPut:[(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'UUUUUUUQUUUUUUUPUUUUUUU_UUUUUUUPUUUUUUUP@@@@@@@@EUUUUUVAF*****+HF:?+::;@F:.+*?;@F:.+::;@F:.+*:;@F:.+::;@F*****+DK??????A@@@@@@@@UUUUUUUPUUUUUUUXUUUUUUUPUUUUUUUPUUUUUUUPUUUUUUUX') ; colorMapFromArray:#[0 0 0 255 255 255 170 170 170 127 127 127]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@@@@???<???<???<???<???<???<???<???<???<???<???<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; yourself); yourself]!
+
+menuSeparatorImage
+ "Generated by the Image Editor"
+ "
+ ImageEditor openOnClass:self andSelector:#menuSeparatorImage
+ "
+
+ <resource: #image>
+
+ ^Icon
+ constantNamed:#'MenuEditor menuSeparatorImage'
+ ifAbsentPut:[(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'UUUUUUURUUUUUUUPUUUUUUUPUUUUUUUPUUUUUUUP@@@@@@@@EUUUUUV@F*****+DF*****+CF?????+@F0@@@@[@F%UUUU[HF*****+@F*****+@K??????N@@@@@@@HUUUUUUUPUUUUUUUPUUUUUUUWUUUUUUUXUUUUUUUPUUUUUUUP') ; colorMapFromArray:#[0 0 0 255 255 255 170 170 170 127 127 127]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@@@@???<???<???<???<???<???<???<???<???<???<???<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; yourself); yourself]!
+
+submenuImage
+ "Generated by the Image Editor"
+ "
+ ImageEditor openOnClass:self andSelector:#submenuImage
+ "
+
+ <resource: #image>
+
+ ^Icon
+ constantNamed:#'MenuEditor submenuImage'
+ ifAbsentPut:[(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@EUUUUUV@F*****+@F*****+@G??????GD@@@@@C@EUUUUUWLF*****+@F*****+@G??????HD@@@@@C@EUUUUUW@F*****+@F*****+OG??????@D@@@@@C@EUUUUUW@F*****+@F*****+@K??????@@@@@@@@@@@@@@@@@') ; colorMapFromArray:#[0 0 0 255 255 255 170 170 170 127 127 127]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; yourself); yourself]! !
+
!MenuEditor class methodsFor:'interface specs'!
basicsItemSpec
@@ -257,11 +316,11 @@
#window:
#(#WindowSpec
#name: 'Basics Item'
- #layout: #(#LayoutFrame 212 0 351 0 478 0 669 0)
+ #layout: #(#LayoutFrame 184 0 332 0 450 0 650 0)
#label: 'Basics Item'
#min: #(#Point 10 10)
#max: #(#Point 1160 870)
- #bounds: #(#Rectangle 212 351 479 670)
+ #bounds: #(#Rectangle 184 332 451 651)
#usePreferredExtent: false
)
#component:
@@ -898,12 +957,12 @@
#(#FullSpec
#window:
#(#WindowSpec
- #name: 'Menu Builder'
- #layout: #(#LayoutFrame 75 0 372 0 654 0 755 0)
- #label: 'Menu Builder'
+ #name: 'Menu Editor'
+ #layout: #(#LayoutFrame 100 0 374 0 679 0 757 0)
+ #label: 'Menu Editor'
#min: #(#Point 10 10)
#max: #(#Point 1152 900)
- #bounds: #(#Rectangle 75 372 655 756)
+ #bounds: #(#Rectangle 100 374 680 758)
#menu: #menu
#usePreferredExtent: false
)
@@ -918,14 +977,14 @@
#showSeparatingLines: true
)
#(#VariableHorizontalPanelSpec
- #name: 'variableHorizontalPanel1'
+ #name: 'VariableHorizontalPanel'
#layout: #(#LayoutFrame 0 0.0 34 0.0 0 1.0 -26 1.0)
#component:
#(#SpecCollection
#collection:
#(
#(#ArbitraryComponentSpec
- #name: 'painterView'
+ #name: 'TreeView'
#menu: #menuEdit
#hasHorizontalScrollBar: true
#hasVerticalScrollBar: true
@@ -933,13 +992,13 @@
#hasBorder: false
)
#(#ViewSpec
- #name: 'view1'
+ #name: 'Box'
#component:
#(#SpecCollection
#collection:
#(
#(#NoteBookViewSpec
- #name: 'specificationView'
+ #name: 'NoteBook'
#layout: #(#LayoutFrame 1 0.0 0 0.0 1 1.0 -26 1.0)
#tabable: true
#model: #tabModel
@@ -962,7 +1021,7 @@
#handles: #(#Any 0.384483 1.0)
)
#(#UISubSpecification
- #name: 'infoBarSubSpec'
+ #name: 'InfoBarSubSpec'
#layout: #(#LayoutFrame 0 0.0 -24 1 0 1.0 0 1.0)
#majorKey: #ToolApplicationModel
#minorKey: #windowSpecForInfoBar
@@ -1396,66 +1455,6 @@
)
! !
-!MenuEditor class methodsFor:'resources'!
-
-iconUnknown
- "returns an image used for picked items containing an image
- "
-
- <resource: #fileImage>
-
-
- ^ Image fromFile:'brokenImage.xpm'
-!
-
-linkSubmenuImage
- "Generated by the Image Editor"
- "
- ImageEditor openOnClass:self andSelector:#linkSubmenuImage
- "
-
- <resource: #image>
-
- ^Icon
- constantNamed:#'MenuEditor linkSubmenuImage'
- ifAbsentPut:[(Depth4Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@ADQDQDQDQDQDQH@D"H"H"H"H"H"K0@RH"H"H"H"H"H/@A????????????<@D@@@@@@@@@@@C0@PL3L0DQDQDQD_@A@3L3LBH"H"H"<@DCL3L3@"H"H"K0@PL3L3L0??????@A@@@@L3L@@@@@<@DQDQDCL3@PLAG0@RH"H"@3L0@3@/@AH"H"H L3L3L0<@G?????<CL3L3L@@P@@@@@@@3L3LO@ADQDQDQDP@CLA<@D"H"H"H"H LBK0@RH"H"H"H"@BH/@B????????????<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 255 255 170 170 170 255 0 0 0 255 0 0 0 255 0 255 255 255 255 0 255 0 255 127 0 0 0 127 0 0 0 127 0 127 127 127 127 0 127 0 127 127 127 127]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; yourself); yourself]!
-
-menuItemImage
- "Generated by the Image Editor"
- "
- ImageEditor openOnClass:self andSelector:#menuItemImage
- "
-
- <resource: #image>
-
- ^Icon
- constantNamed:#'MenuEditor menuItemImage'
- ifAbsentPut:[(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'UUUUUUUQUUUUUUUPUUUUUUU_UUUUUUUPUUUUUUUP@@@@@@@@EUUUUUVAF*****+HF:?+::;@F:.+*?;@F:.+::;@F:.+*:;@F:.+::;@F*****+DK??????A@@@@@@@@UUUUUUUPUUUUUUUXUUUUUUUPUUUUUUUPUUUUUUUPUUUUUUUX') ; colorMapFromArray:#[0 0 0 255 255 255 170 170 170 127 127 127]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@@@@???<???<???<???<???<???<???<???<???<???<???<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; yourself); yourself]!
-
-menuSeparatorImage
- "Generated by the Image Editor"
- "
- ImageEditor openOnClass:self andSelector:#menuSeparatorImage
- "
-
- <resource: #image>
-
- ^Icon
- constantNamed:#'MenuEditor menuSeparatorImage'
- ifAbsentPut:[(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'UUUUUUURUUUUUUUPUUUUUUUPUUUUUUUPUUUUUUUP@@@@@@@@EUUUUUV@F*****+DF*****+CF?????+@F0@@@@[@F%UUUU[HF*****+@F*****+@K??????N@@@@@@@HUUUUUUUPUUUUUUUPUUUUUUUWUUUUUUUXUUUUUUUPUUUUUUUP') ; colorMapFromArray:#[0 0 0 255 255 255 170 170 170 127 127 127]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@@@@???<???<???<???<???<???<???<???<???<???<???<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; yourself); yourself]!
-
-submenuImage
- "Generated by the Image Editor"
- "
- ImageEditor openOnClass:self andSelector:#submenuImage
- "
-
- <resource: #image>
-
- ^Icon
- constantNamed:#'MenuEditor submenuImage'
- ifAbsentPut:[(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@EUUUUUV@F*****+@F*****+@G??????GD@@@@@C@EUUUUUWLF*****+@F*****+@G??????HD@@@@@C@EUUUUUW@F*****+@F*****+OG??????@D@@@@@C@EUUUUUW@F*****+@F*****+@K??????@@@@@@@@@@@@@@@@@') ; colorMapFromArray:#[0 0 0 255 255 255 170 170 170 127 127 127]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; yourself); yourself]! !
-
!MenuEditor class methodsFor:'slices'!
slicesItem
@@ -1568,7 +1567,7 @@
|holder|
(holder := builder bindingAt:#tabList) isNil ifTrue:[
- builder aspectAt:#tabList put:(holder := self class slicesRootMenu asValue).
+ builder aspectAt:#tabList put:(holder := #(Basics Details Image Help) asValue).
].
^ holder
@@ -1589,9 +1588,24 @@
!MenuEditor methodsFor:'building'!
+buildFromClass:aClass andSelector:aSelector
+
+ self isStandAlone ifTrue:[
+ self helpTool helpSpecFrom:specClass
+ ].
+ self treeView buildFromClass: aClass andSelector: aSelector.
+
+ self updateHistory.
+ self updateInfoLabel.
+ self treeView selection: 2.
+ self menuChanged
+
+!
+
buildFromListSpec: aListSpec
- self buildFromMenu: aListSpec
+ self buildFromMenu:
+ (aListSpec class == Menu ifTrue: [aListSpec] ifFalse: [aListSpec decodeAsLiteralArray])
! !
!MenuEditor methodsFor:'change & update'!
@@ -1796,22 +1810,8 @@
!MenuEditor methodsFor:'startup / release'!
-buildFromClass:aClass andSelector:aSelector
-
- self isStandAlone ifTrue:[
- self helpTool helpSpecFrom:specClass
- ].
- self treeView buildFromClass: aClass andSelector: specSelector.
-
- self updateHistory.
- self updateInfoLabel.
- self treeView selection: 2.
- self menuChanged
-
-!
-
openModalOnMenu: aMenu
- "build a tree from aMenu open it modal"
+ "build a tree from aMenu and open it modal"
super openModalOnListSpec: aMenu
!
@@ -1850,8 +1850,8 @@
node changed.
specSelector := self treeView selectorName.
]
- ].
-
+ ].
+ self updateInfoLabel
!
cancel
@@ -1993,11 +1993,14 @@
!MenuEditor::Item class methodsFor:'constants'!
separatorList
+ "get the list of available separator types"
^#('blank' 'single line' 'double line')
!
separatorSlices
+ "get the list of menu spec values of the corresponding separator types"
+
^ #(
( #blank '' )
( #single '-' )
@@ -2026,29 +2029,31 @@
!MenuEditor::Item methodsFor:'accessing'!
activeHelpKey
+ "get the help key of the menu item"
^activeHelpKey
!
activeHelpKey:aKey
+ "set the help key of the menu item"
activeHelpKey := aKey
!
label
- "return the value of the instance variable 'label' (automatically generated)"
+ "get the value of the menu item"
^label
!
label:something
- "set the value of the instance variable 'label' (automatically generated)"
+ "set the value of the menu item"
label := something ? '-'
!
separatorType
- "returns separator type assigned to item or nil"
+ "get the separator type assigned to item or nil"
label size > 1
ifFalse:
@@ -2068,7 +2073,7 @@
!
submenuChannel:aChannel
- "return the value of the instance variable 'submenuChannel' (automatically generated)"
+ "get the submenuChannel"
submenuChannel := aChannel
! !
@@ -2111,6 +2116,7 @@
!
buildFromAspects:aspects
+ "read the values of the aspects into my values"
|name|
self isSeparator
@@ -2156,6 +2162,7 @@
!
buildFromMenuItem:anItem
+ "read the attributes of anItem into my values"
|rtv|
@@ -2198,6 +2205,7 @@
!
toAspects:aspects
+ "put my values into the values of aspects"
|type|
(type := self separatorType) notNil
@@ -2234,6 +2242,7 @@
!MenuEditor::Item methodsFor:'queries'!
iconFor: aNode
+ "get the icon of the menu item for the tree view"
(aNode hasChildren or: [aNode parent isNil])
ifTrue:
@@ -2257,12 +2266,13 @@
!
isSeparator
- "returns true if item is a seperator"
+ "return true if item is a seperator"
^self separatorType notNil
!
treeViewLabel
+ "get the label of the menu item for the tree view"
^label asBoldText,
(value notNil ifTrue: [': [',
@@ -2275,7 +2285,8 @@
documentation
"
- menu selection list
+ This tree view class provides a hierarchical representation
+ of the components of a menu.
[see also:]
SelectionInTreeView
@@ -2285,18 +2296,18 @@
[author:]
Claus Atzkern
"
-
-
! !
!MenuEditor::TreeView methodsFor:'accessing'!
selectorName
+ "get the selector of the menu spec"
^(listOfNodes first contents label) asSymbol
!
selectorName: aSymbol
+ "set the selector for the menu spec"
listOfNodes first contents label: aSymbol
! !
@@ -2304,6 +2315,8 @@
!MenuEditor::TreeView methodsFor:'building'!
buildFromClass:aClass andSelector:aSelector
+ "read a menu spec from aClass and aSelector and put
+ the encoded menu into the tree view"
|spec cls menu firstNode firstNodeLabel|
@@ -2339,6 +2352,7 @@
firstNode := self nodeLabel:firstNodeLabel.
]
].
+
firstNode expand.
model root: firstNode.
@@ -2354,6 +2368,7 @@
!
buildFromMenu:aMenu
+ "put aMenu into the tree view"
|node|
@@ -2474,6 +2489,7 @@
!MenuEditor::TreeView methodsFor:'initialization'!
initialize
+ "initialize the tree view of the menu components"
super initialize.