MenuEditor.st
changeset 243 ae6608b760bf
parent 233 fa73f8d9dce6
child 246 81fe65b7bea7
equal deleted inserted replaced
242:3d2caf5bf279 243:ae6608b760bf
    27 	privateIn:MenuEditor
    27 	privateIn:MenuEditor
    28 !
    28 !
    29 
    29 
    30 SelectionInTreeView subclass:#Painter
    30 SelectionInTreeView subclass:#Painter
    31 	instanceVariableNames:'imageMenuLink imageSeparator'
    31 	instanceVariableNames:'imageMenuLink imageSeparator'
    32 	classVariableNames:'CopyBuffer ImageMenuLink ImageSeparator'
    32 	classVariableNames:'CopyBuffer ImageMenuLink ImageSeparator ImageItem ImageMenu
       
    33 		ImageMenuOpen'
    33 	poolDictionaries:''
    34 	poolDictionaries:''
    34 	privateIn:MenuEditor
    35 	privateIn:MenuEditor
    35 !
    36 !
    36 
    37 
    37 !MenuEditor class methodsFor:'documentation'!
    38 !MenuEditor class methodsFor:'documentation'!
    84     ^ Painter imageMenuLink
    85     ^ Painter imageMenuLink
    85 
    86 
    86 !
    87 !
    87 
    88 
    88 iconCreateMenu
    89 iconCreateMenu
    89     ^ Painter imageClosed
    90     ^ Painter imageMenu
    90 
    91 
       
    92     "Modified: 28.7.1997 / 10:02:21 / cg"
    91 !
    93 !
    92 
    94 
    93 iconCreateSep
    95 iconCreateSep
    94     ^ Painter imageSeparator
    96     ^ Painter imageSeparator
    95 
    97 
    96 !
    98 !
    97 
    99 
    98 iconUnknown
   100 iconUnknown
    99     "returns an image used for picked items containg an image
   101     "returns an image used for picked items containing an image
   100     "
   102     "
   101   ^ Image fromFile:'brokenImage.xpm'
   103     ^ Image fromFile:'brokenImage.xpm'
       
   104 
       
   105     "Modified: 28.7.1997 / 09:36:26 / cg"
   102 ! !
   106 ! !
   103 
   107 
   104 !MenuEditor class methodsFor:'interface specs'!
   108 !MenuEditor class methodsFor:'interface specs'!
   105 
   109 
   106 classAndMethodSpec
   110 classAndMethodSpec
   542                     ) nil
   546                     ) nil
   543                     nil
   547                     nil
   544                 )
   548                 )
   545             )
   549             )
   546              #(#MenuItem
   550              #(#MenuItem
       
   551                 #'label:' 'edit'
       
   552                 #'submenu:' 
       
   553                  #(#Menu
       
   554                     
       
   555                      #(
       
   556                        #(#MenuItem
       
   557                           #'label:' 'cut'
       
   558                       )
       
   559                        #(#MenuItem
       
   560                           #'label:' '='
       
   561                       )
       
   562                        #(#MenuItem
       
   563                           #'label:' 'create submenu static'
       
   564                       )
       
   565                        #(#MenuItem
       
   566                           #'label:' 'create summenu dynamic'
       
   567                       )
       
   568                        #(#MenuItem
       
   569                           #'label:' '-'
       
   570                       )
       
   571                        #(#MenuItem
       
   572                           #'label:' 'create item'
       
   573                       )
       
   574                        #(#MenuItem
       
   575                           #'label:' 'create separator'
       
   576                       )
       
   577                     ) nil
       
   578                     nil
       
   579                 )
       
   580             )
       
   581              #(#MenuItem
   547                 #'label:' 'code'
   582                 #'label:' 'code'
   548                 #'value:' #code
   583                 #'value:' #code
   549                 #'submenu:' 
   584                 #'submenu:' 
   550                  #(#Menu
   585                  #(#Menu
   551                     
   586                     
   583                 #'submenuChannel:' #submenuTest
   618                 #'submenuChannel:' #submenuTest
   584             )
   619             )
   585           ) nil
   620           ) nil
   586           nil
   621           nil
   587       )
   622       )
       
   623 
       
   624     "Modified: 28.7.1997 / 10:18:15 / cg"
   588 !
   625 !
   589 
   626 
   590 windowSpec
   627 windowSpec
   591     "this window spec was automatically generated by the ST/X UIPainter"
   628     "this window spec was automatically generated by the ST/X UIPainter"
   592 
   629 
  2002     ^ self separatorType notNil
  2039     ^ self separatorType notNil
  2003 ! !
  2040 ! !
  2004 
  2041 
  2005 !MenuEditor::Painter class methodsFor:'constants'!
  2042 !MenuEditor::Painter class methodsFor:'constants'!
  2006 
  2043 
       
  2044 imageClosed
       
  2045     ^ self imageMenu
       
  2046 
       
  2047     "Created: 28.7.1997 / 10:31:37 / cg"
       
  2048 !
       
  2049 
       
  2050 imageItem
       
  2051     ImageItem isNil ifTrue:[
       
  2052         ImageItem := Image fromFile:('ui_menuitem.xpm').
       
  2053     ].
       
  2054     ^ ImageItem
       
  2055 
       
  2056     "
       
  2057      ImageItem := nil
       
  2058     "
       
  2059 
       
  2060     "Created: 28.7.1997 / 09:51:00 / cg"
       
  2061     "Modified: 28.7.1997 / 09:51:14 / cg"
       
  2062 !
       
  2063 
       
  2064 imageMenu
       
  2065     ImageMenu isNil ifTrue:[
       
  2066         ImageMenu := Image fromFile:('ui_submenu.xpm').
       
  2067     ].
       
  2068     ^ ImageMenu
       
  2069 
       
  2070     "
       
  2071     ImageMenu := nil
       
  2072     "
       
  2073 
       
  2074     "Created: 28.7.1997 / 10:01:21 / cg"
       
  2075     "Modified: 28.7.1997 / 10:29:14 / cg"
       
  2076 !
       
  2077 
  2007 imageMenuLink
  2078 imageMenuLink
  2008     ImageMenuLink isNil ifTrue:[
  2079     ImageMenuLink isNil ifTrue:[
  2009         ImageMenuLink := Image fromFile:('xpmBitmaps/document_images/tiny_yellow_dir_link.xpm').
  2080 "/        ImageMenuLink := Image fromFile:('xpmBitmaps/document_images/tiny_yellow_dir_link.xpm').
  2010     ].
  2081         ImageMenuLink := Image fromFile:('ui_submenulink.xpm').
  2011   ^ ImageMenuLink
  2082     ].
  2012 "
  2083     ^ ImageMenuLink
  2013 ImageMenuLink := nil
  2084 
  2014 "
  2085     "
  2015 
  2086     ImageMenuLink := nil
       
  2087     "
       
  2088 
       
  2089     "Modified: 28.7.1997 / 10:29:18 / cg"
       
  2090 !
       
  2091 
       
  2092 imageMenuOpen
       
  2093     ImageMenuOpen isNil ifTrue:[
       
  2094         ImageMenuOpen := Image fromFile:('ui_submenu_open.xpm').
       
  2095     ].
       
  2096     ^ ImageMenuOpen
       
  2097 
       
  2098     "
       
  2099     ImageMenuOpen := nil
       
  2100     "
       
  2101 
       
  2102     "Created: 28.7.1997 / 10:21:31 / cg"
       
  2103     "Modified: 28.7.1997 / 10:29:20 / cg"
       
  2104 !
       
  2105 
       
  2106 imageOpened
       
  2107     ^ self imageMenuOpen
       
  2108 
       
  2109     "Created: 28.7.1997 / 10:31:46 / cg"
  2016 !
  2110 !
  2017 
  2111 
  2018 imageSeparator
  2112 imageSeparator
  2019     ImageSeparator isNil ifTrue:[
  2113     ImageSeparator isNil ifTrue:[
  2020         ImageSeparator := Image fromFile:('xpmBitmaps/document_images/tiny_file_exec.xpm').
  2114 "/        ImageSeparator := Image fromFile:('xpmBitmaps/document_images/tiny_file_exec.xpm').
  2021     ].
  2115         ImageSeparator := Image fromFile:('ui_menusep.xpm').
  2022   ^ ImageSeparator
  2116     ].
  2023 "
  2117     ^ ImageSeparator
  2024 ImageSeparator := nil
  2118 
  2025 "
  2119     "
  2026 
  2120      ImageSeparator := nil
       
  2121     "
       
  2122 
       
  2123     "Modified: 28.7.1997 / 09:42:07 / cg"
  2027 ! !
  2124 ! !
  2028 
  2125 
  2029 !MenuEditor::Painter class methodsFor:'defaults'!
  2126 !MenuEditor::Painter class methodsFor:'defaults'!
  2030 
  2127 
  2031 defaultMenuMessage   
  2128 defaultMenuMessage   
  2204 
  2301 
  2205         item submenuChannel notNil ifTrue:[
  2302         item submenuChannel notNil ifTrue:[
  2206             imageMenuLink isNil ifTrue:[
  2303             imageMenuLink isNil ifTrue:[
  2207                 imageMenuLink := (self class imageMenuLink) onDevice:device.
  2304                 imageMenuLink := (self class imageMenuLink) onDevice:device.
  2208             ].
  2305             ].
  2209           ^ imageMenuLink
  2306             ^ imageMenuLink
  2210         ].
  2307         ].
  2211 
  2308 
  2212         item isSeparator ifTrue:[
  2309         item isSeparator ifTrue:[
  2213             imageSeparator isNil ifTrue:[
  2310             imageSeparator isNil ifTrue:[
  2214                 imageSeparator := (self class imageSeparator) onDevice:device.
  2311                 imageSeparator := (self class imageSeparator) onDevice:device.
  2215             ].
  2312             ].
  2216           ^ imageSeparator
  2313             ^ imageSeparator
  2217         ]    
  2314         ].
  2218     ].
  2315         imageItem isNil ifTrue:[
  2219   ^ super figureFor:aNode
  2316             imageItem := (self class imageItem) onDevice:device.
       
  2317         ].
       
  2318         ^ imageItem
       
  2319     ].
       
  2320 
       
  2321     aNode isExpandable ifTrue:[ 
       
  2322         imageClosed isNil ifTrue:[
       
  2323             imageClosed := (self class imageMenu) onDevice:device.
       
  2324         ].
       
  2325         ^ imageClosed
       
  2326     ].
       
  2327     imageOpened isNil ifTrue:[
       
  2328         imageOpened := (self class imageMenuOpen) onDevice:device.
       
  2329     ].
       
  2330     ^ imageOpened
       
  2331 
       
  2332     "Modified: 28.7.1997 / 10:27:52 / cg"
  2220 ! !
  2333 ! !
  2221 
  2334 
  2222 !MenuEditor::Painter methodsFor:'initialization'!
  2335 !MenuEditor::Painter methodsFor:'initialization'!
  2223 
  2336 
  2224 initialize
  2337 initialize
  2225     super initialize.
  2338     super initialize.
       
  2339     imageOpened := nil.
       
  2340     imageClosed := nil.
  2226     self multipleSelectOk:true.
  2341     self multipleSelectOk:true.
  2227     self model:(SelectionInTree new).
  2342     self model:(SelectionInTree new).
       
  2343 
       
  2344     "Modified: 28.7.1997 / 10:28:48 / cg"
  2228 ! !
  2345 ! !
  2229 
  2346 
  2230 !MenuEditor::Painter methodsFor:'menus'!
  2347 !MenuEditor::Painter methodsFor:'menus'!
  2231 
  2348 
  2232 doCopy
  2349 doCopy