class: MenuItem
changed:
#findGuiResourcesIn:rememberResourcesIn:
#resolveSliceMenuItemsIn:rememberResourcesIn:
resolve symbolic fonts
--- a/MenuItem.st Wed Mar 12 18:21:11 2014 +0100
+++ b/MenuItem.st Wed Mar 12 18:22:11 2014 +0100
@@ -328,7 +328,7 @@
font:aFont
"set a specific font for an item"
-
+
font := aFont.
!
@@ -829,14 +829,21 @@
!
findGuiResourcesIn:aResourceContainerOrApplication rememberResourcesIn:aValueHolderOrNil
- "setup a resource container
- "
- |retriever m|
+ "setup a resource container"
+
+ |retriever m itemFont|
(aResourceContainerOrApplication isNil or:[self isMenuSlice]) ifTrue:[
^ self.
].
+ "while traversing all the menus, resolve symbolic fonts too"
+ itemFont := self font.
+ itemFont isSymbol ifTrue:[
+ itemFont := aResourceContainerOrApplication resolveFont:itemFont.
+ self font:itemFont.
+ ].
+
(self translateLabel and:[label ~= '-']) ifTrue:[
label := ResourceRetriever
findResourceLabel:label
@@ -846,7 +853,7 @@
(retriever := self resourceRetriever) notNil ifTrue:[
retriever findGuiResourcesIn:aResourceContainerOrApplication.
- retriever labelText notNil ifTrue: [retriever labelText: label].
+ retriever labelText notNil ifTrue: [retriever labelText:label].
].
(m := self submenu) notNil ifTrue:[
m := m value.
@@ -883,7 +890,7 @@
|menu|
self isMenuSlice ifFalse:[
- self error:'not a slice menu'.
+ self error:'not a slice menu' mayProceed:true.
^ Array with:self.
].
@@ -1139,10 +1146,10 @@
!MenuItem class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libview2/MenuItem.st,v 1.105 2013-08-31 19:31:30 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libview2/MenuItem.st,v 1.106 2014-03-12 17:22:11 stefan Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libview2/MenuItem.st,v 1.105 2013-08-31 19:31:30 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libview2/MenuItem.st,v 1.106 2014-03-12 17:22:11 stefan Exp $'
! !