class: MenuItem
authorStefan Vogel <sv@exept.de>
Wed, 12 Mar 2014 18:22:11 +0100
changeset 3305 06a3d26394de
parent 3304 d215db7f356d
child 3306 69517757bffa
class: MenuItem changed: #findGuiResourcesIn:rememberResourcesIn: #resolveSliceMenuItemsIn:rememberResourcesIn: resolve symbolic fonts
MenuItem.st
--- 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 $'
 ! !