MenuItem.st
changeset 581 0080d12b5758
parent 580 5d407019526d
child 584 9a4c30f7586f
--- a/MenuItem.st	Thu May 22 13:39:07 1997 +0200
+++ b/MenuItem.st	Fri May 23 16:04:09 1997 +0200
@@ -6,7 +6,7 @@
 !
 
 Object subclass:#MenuItemAdornment
-	instanceVariableNames:'color indication submenu shortcutKey labelText
+	instanceVariableNames:'color indication submenu shortcutKey labelText labelImage
 		accessCharacterPosition'
 	classVariableNames:''
 	poolDictionaries:''
@@ -81,6 +81,23 @@
     "Created: 25.2.1997 / 19:55:16 / cg"
 !
 
+labelImage
+    "gets the labelImage
+    "
+    adornment notNil ifTrue:[
+        ^ adornment labelImage
+    ].
+  ^ nil
+!
+
+labelImage:aResourceRetriever
+    "set the labelImage
+    "
+    aResourceRetriever notNil ifTrue:[
+        self adornment labelImage:aResourceRetriever
+    ]
+!
+
 nameKey
     ^ nameKey
 
@@ -163,10 +180,28 @@
     "Created: 25.2.1997 / 19:39:00 / cg"
 !
 
-enabled:aBoolean
-    enabled := aBoolean
+enabled
+    "returns a boolean, valueHolder or block
+    "
+    ^ enabled
+!
 
-    "Created: 25.2.1997 / 19:39:27 / cg"
+enabled:something
+    "a boolean, valueHolder or block
+    "
+    enabled := something
+! !
+
+!MenuItem methodsFor:'accessing resource'!
+
+findGuiResourcesIn:aResourceContainer
+    "setup a resource container
+    "
+    |lblAndIcon|
+
+    (lblAndIcon := self labelAndIcon) notNil ifTrue:[
+        lblAndIcon findGuiResourcesIn:aResourceContainer
+    ]
 ! !
 
 !MenuItem methodsFor:'converting'!
@@ -178,11 +213,8 @@
         |selector value|
 
         selector := aLiteralEncodedArray at:i.
-        selector == #labelImage: ifFalse:[
-            value := (aLiteralEncodedArray at:i+1) decodeAsLiteralArray.
-
-            self perform:selector with:value
-        ]
+        value    := (aLiteralEncodedArray at:i+1) decodeAsLiteralArray.
+        self perform:selector with:value
     ].
 
     "
@@ -196,26 +228,38 @@
 literalArrayEncoding
     "return myself encoded as a literal array"
 
-    |coll key|
+    |coll something|
 
     coll := OrderedCollection new.
     coll add:#MenuItem.
-    coll add:#label: ; add:(label literalArrayEncoding).
-    coll add:#nameKey: ; add:(nameKey literalArrayEncoding).
-    coll add:#enabled: ; add:(enabled literalArrayEncoding).
+
+    label notNil ifTrue:[
+        coll add:#label: ; add:(label literalArrayEncoding)
+    ].
+
+    nameKey notNil ifTrue:[
+        coll add:#nameKey: ; add:(nameKey literalArrayEncoding)
+    ].
+
+    (something := self enabled) ifFalse:[
+        coll add:#enabled: ; add:(something literalArrayEncoding).
+    ].
 
     value notNil ifTrue:[
         coll add:#value: ; add:(value literalArrayEncoding).
     ].
 
-    (key := self shortcutKeyCharacter) notNil ifTrue:[
-        coll add:#shortcutKeyCharacter: ; add:(key literalArrayEncoding)
+    (something := self shortcutKeyCharacter) notNil ifTrue:[
+        coll add:#shortcutKeyCharacter: ; add:(something literalArrayEncoding)
     ].
 
-    (key := self accessCharacterPosition) notNil ifTrue:[
-        coll add:#accessCharacterPosition: ; add:(key literalArrayEncoding)
+    (something := self accessCharacterPosition) notNil ifTrue:[
+        coll add:#accessCharacterPosition: ; add:(something literalArrayEncoding)
     ].
 
+    (something := self labelImage) notNil ifTrue:[
+        coll add:#labelImage: ; add:(something literalArrayEncoding)
+    ].
   ^ coll asArray
 ! !
 
@@ -239,7 +283,7 @@
 !
 
 isEnabled
-    ^ enabled ? true
+    ^ enabled value ? true
 
     "Created: 25.2.1997 / 19:39:17 / cg"
 ! !
@@ -288,6 +332,16 @@
     "Created: 25.2.1997 / 20:59:28 / cg"
 !
 
+labelImage
+    "return the value of the instance variable 'labelImage' (automatically generated)"
+
+    ^ labelImage!
+
+labelImage:something
+    "set the value of the instance variable 'labelImage' (automatically generated)"
+
+    labelImage := something.!
+
 labelText
     "get the text appear as the menu label
     "
@@ -331,5 +385,5 @@
 !MenuItem class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview2/MenuItem.st,v 1.8 1997-05-22 11:39:07 ca Exp $'
+    ^ '$Header: /cvs/stx/stx/libview2/MenuItem.st,v 1.9 1997-05-23 14:04:09 ca Exp $'
 ! !