MenuEditor.st
changeset 243 ae6608b760bf
parent 233 fa73f8d9dce6
child 246 81fe65b7bea7
--- a/MenuEditor.st	Mon Jul 28 10:33:58 1997 +0200
+++ b/MenuEditor.st	Mon Jul 28 10:34:25 1997 +0200
@@ -29,7 +29,8 @@
 
 SelectionInTreeView subclass:#Painter
 	instanceVariableNames:'imageMenuLink imageSeparator'
-	classVariableNames:'CopyBuffer ImageMenuLink ImageSeparator'
+	classVariableNames:'CopyBuffer ImageMenuLink ImageSeparator ImageItem ImageMenu
+		ImageMenuOpen'
 	poolDictionaries:''
 	privateIn:MenuEditor
 !
@@ -86,8 +87,9 @@
 !
 
 iconCreateMenu
-    ^ Painter imageClosed
-
+    ^ Painter imageMenu
+
+    "Modified: 28.7.1997 / 10:02:21 / cg"
 !
 
 iconCreateSep
@@ -96,9 +98,11 @@
 !
 
 iconUnknown
-    "returns an image used for picked items containg an image
+    "returns an image used for picked items containing an image
     "
-  ^ Image fromFile:'brokenImage.xpm'
+    ^ Image fromFile:'brokenImage.xpm'
+
+    "Modified: 28.7.1997 / 09:36:26 / cg"
 ! !
 
 !MenuEditor class methodsFor:'interface specs'!
@@ -544,6 +548,37 @@
                 )
             )
              #(#MenuItem
+                #'label:' 'edit'
+                #'submenu:' 
+                 #(#Menu
+                    
+                     #(
+                       #(#MenuItem
+                          #'label:' 'cut'
+                      )
+                       #(#MenuItem
+                          #'label:' '='
+                      )
+                       #(#MenuItem
+                          #'label:' 'create submenu static'
+                      )
+                       #(#MenuItem
+                          #'label:' 'create summenu dynamic'
+                      )
+                       #(#MenuItem
+                          #'label:' '-'
+                      )
+                       #(#MenuItem
+                          #'label:' 'create item'
+                      )
+                       #(#MenuItem
+                          #'label:' 'create separator'
+                      )
+                    ) nil
+                    nil
+                )
+            )
+             #(#MenuItem
                 #'label:' 'code'
                 #'value:' #code
                 #'submenu:' 
@@ -585,6 +620,8 @@
           ) nil
           nil
       )
+
+    "Modified: 28.7.1997 / 10:18:15 / cg"
 !
 
 windowSpec
@@ -2004,26 +2041,86 @@
 
 !MenuEditor::Painter class methodsFor:'constants'!
 
+imageClosed
+    ^ self imageMenu
+
+    "Created: 28.7.1997 / 10:31:37 / cg"
+!
+
+imageItem
+    ImageItem isNil ifTrue:[
+        ImageItem := Image fromFile:('ui_menuitem.xpm').
+    ].
+    ^ ImageItem
+
+    "
+     ImageItem := nil
+    "
+
+    "Created: 28.7.1997 / 09:51:00 / cg"
+    "Modified: 28.7.1997 / 09:51:14 / cg"
+!
+
+imageMenu
+    ImageMenu isNil ifTrue:[
+        ImageMenu := Image fromFile:('ui_submenu.xpm').
+    ].
+    ^ ImageMenu
+
+    "
+    ImageMenu := nil
+    "
+
+    "Created: 28.7.1997 / 10:01:21 / cg"
+    "Modified: 28.7.1997 / 10:29:14 / cg"
+!
+
 imageMenuLink
     ImageMenuLink isNil ifTrue:[
-        ImageMenuLink := Image fromFile:('xpmBitmaps/document_images/tiny_yellow_dir_link.xpm').
+"/        ImageMenuLink := Image fromFile:('xpmBitmaps/document_images/tiny_yellow_dir_link.xpm').
+        ImageMenuLink := Image fromFile:('ui_submenulink.xpm').
     ].
-  ^ ImageMenuLink
-"
-ImageMenuLink := nil
-"
-
+    ^ ImageMenuLink
+
+    "
+    ImageMenuLink := nil
+    "
+
+    "Modified: 28.7.1997 / 10:29:18 / cg"
+!
+
+imageMenuOpen
+    ImageMenuOpen isNil ifTrue:[
+        ImageMenuOpen := Image fromFile:('ui_submenu_open.xpm').
+    ].
+    ^ ImageMenuOpen
+
+    "
+    ImageMenuOpen := nil
+    "
+
+    "Created: 28.7.1997 / 10:21:31 / cg"
+    "Modified: 28.7.1997 / 10:29:20 / cg"
+!
+
+imageOpened
+    ^ self imageMenuOpen
+
+    "Created: 28.7.1997 / 10:31:46 / cg"
 !
 
 imageSeparator
     ImageSeparator isNil ifTrue:[
-        ImageSeparator := Image fromFile:('xpmBitmaps/document_images/tiny_file_exec.xpm').
+"/        ImageSeparator := Image fromFile:('xpmBitmaps/document_images/tiny_file_exec.xpm').
+        ImageSeparator := Image fromFile:('ui_menusep.xpm').
     ].
-  ^ ImageSeparator
-"
-ImageSeparator := nil
-"
-
+    ^ ImageSeparator
+
+    "
+     ImageSeparator := nil
+    "
+
+    "Modified: 28.7.1997 / 09:42:07 / cg"
 ! !
 
 !MenuEditor::Painter class methodsFor:'defaults'!
@@ -2206,25 +2303,45 @@
             imageMenuLink isNil ifTrue:[
                 imageMenuLink := (self class imageMenuLink) onDevice:device.
             ].
-          ^ imageMenuLink
+            ^ imageMenuLink
         ].
 
         item isSeparator ifTrue:[
             imageSeparator isNil ifTrue:[
                 imageSeparator := (self class imageSeparator) onDevice:device.
             ].
-          ^ imageSeparator
-        ]    
+            ^ imageSeparator
+        ].
+        imageItem isNil ifTrue:[
+            imageItem := (self class imageItem) onDevice:device.
+        ].
+        ^ imageItem
     ].
-  ^ super figureFor:aNode
+
+    aNode isExpandable ifTrue:[ 
+        imageClosed isNil ifTrue:[
+            imageClosed := (self class imageMenu) onDevice:device.
+        ].
+        ^ imageClosed
+    ].
+    imageOpened isNil ifTrue:[
+        imageOpened := (self class imageMenuOpen) onDevice:device.
+    ].
+    ^ imageOpened
+
+    "Modified: 28.7.1997 / 10:27:52 / cg"
 ! !
 
 !MenuEditor::Painter methodsFor:'initialization'!
 
 initialize
     super initialize.
+    imageOpened := nil.
+    imageClosed := nil.
     self multipleSelectOk:true.
     self model:(SelectionInTree new).
+
+    "Modified: 28.7.1997 / 10:28:48 / cg"
 ! !
 
 !MenuEditor::Painter methodsFor:'menus'!