MenuEditor.st
changeset 968 f52b5744063b
parent 959 96728cae02c4
child 970 23d20044894f
equal deleted inserted replaced
967:c3f483120cd7 968:f52b5744063b
  1412                 #translateLabel: true
  1412                 #translateLabel: true
  1413                 #value: #doCreateLink
  1413                 #value: #doCreateLink
  1414                 #activeHelpKey: #addSubMenuLink
  1414                 #activeHelpKey: #addSubMenuLink
  1415                 #labelImage: #(#ResourceRetriever #MenuEditor #linkSubmenuImage 'Submenu Link')
  1415                 #labelImage: #(#ResourceRetriever #MenuEditor #linkSubmenuImage 'Submenu Link')
  1416             )
  1416             )
       
  1417              #(#MenuItem
       
  1418                 #label: '-'
       
  1419             )
       
  1420              #(#MenuItem
       
  1421                 #label: 'Standard Submenu'
       
  1422                 #translateLabel: true
       
  1423                 #submenu: 
       
  1424                  #(#Menu
       
  1425                     
       
  1426                      #(
       
  1427                        #(#MenuItem
       
  1428                           #label: 'Standard File Menu'
       
  1429                           #translateLabel: true
       
  1430                           #value: #doCreateStandardFileMenu
       
  1431                       )
       
  1432                        #(#MenuItem
       
  1433                           #label: 'Standard Edit Menu'
       
  1434                           #translateLabel: true
       
  1435                           #value: #doCreateStandardEditMenu
       
  1436                       )
       
  1437                        #(#MenuItem
       
  1438                           #label: 'Standard Help Menu'
       
  1439                           #translateLabel: true
       
  1440                           #value: #doCreateStandardHelpMenu
       
  1441                       )
       
  1442                     ) nil
       
  1443                     nil
       
  1444                 )
       
  1445             )
  1417           ) nil
  1446           ) nil
  1418           nil
  1447           nil
  1419       )
  1448       )
  1420 
  1449 
  1421     "Modified: / 20.5.1998 / 00:40:39 / cg"
  1450     "Modified: / 23.8.1998 / 15:48:21 / cg"
  1422 !
  1451 !
  1423 
  1452 
  1424 menuDefaultLink
  1453 menuDefaultLink
  1425     "This resource specification was automatically generated
  1454     "This resource specification was automatically generated
  1426      by the MenuEditor of ST/X."
  1455      by the MenuEditor of ST/X."
  2450     ].    
  2479     ].    
  2451     ^nil
  2480     ^nil
  2452 
  2481 
  2453 !
  2482 !
  2454 
  2483 
       
  2484 startGroup:aSymbolOrNil
       
  2485     "set the startGroup attribute"
       
  2486 
       
  2487     startGroup := aSymbolOrNil
       
  2488 
       
  2489     "Created: / 23.8.1998 / 15:56:03 / cg"
       
  2490 !
       
  2491 
  2455 submenuChannel
  2492 submenuChannel
  2456     "return the value of the instance variable 'submenuChannel' (automatically generated)"
  2493     "return the value of the instance variable 'submenuChannel' (automatically generated)"
  2457 
  2494 
  2458     ^submenuChannel
  2495     ^submenuChannel
  2459 !
  2496 !
  2468     "set/clear the translate to national-language flag"
  2505     "set/clear the translate to national-language flag"
  2469 
  2506 
  2470     translateLabel := aBoolean
  2507     translateLabel := aBoolean
  2471 
  2508 
  2472     "Created: / 6.6.1998 / 17:23:33 / cg"
  2509     "Created: / 6.6.1998 / 17:23:33 / cg"
       
  2510 !
       
  2511 
       
  2512 value:aSymbol
       
  2513     "set the value attribute"
       
  2514 
       
  2515     value := aSymbol
       
  2516 
       
  2517     "Created: / 23.8.1998 / 16:02:10 / cg"
  2473 ! !
  2518 ! !
  2474 
  2519 
  2475 !MenuEditor::Item methodsFor:'building'!
  2520 !MenuEditor::Item methodsFor:'building'!
  2476 
  2521 
  2477 buildFromAspects:aspects
  2522 buildFromAspects:aspects
  2969 doCreateSep
  3014 doCreateSep
  2970 
  3015 
  2971     self addElement:(self nodeLabel:nil)
  3016     self addElement:(self nodeLabel:nil)
  2972 !
  3017 !
  2973 
  3018 
       
  3019 doCreateStandardEditMenu
       
  3020 
       
  3021     |node|
       
  3022     node := self nodeLabel:'Edit'.
       
  3023     node parent: self selectedNode.        
       
  3024     node add:(self nodeLabel:'Copy'  selector:#copySelection).
       
  3025     node add:(self nodeLabel:'Cut'   selector:#cutSelection).
       
  3026     node add:(self nodeLabel:'Paste' selector:#paste).
       
  3027     self addElement:node
       
  3028 
       
  3029     "Created: / 23.8.1998 / 15:52:16 / cg"
       
  3030     "Modified: / 23.8.1998 / 15:59:36 / cg"
       
  3031 !
       
  3032 
       
  3033 doCreateStandardFileMenu
       
  3034 
       
  3035     |node|
       
  3036     node := self nodeLabel:'File'.
       
  3037     node parent: self selectedNode.        
       
  3038     node add:(self nodeLabel:'New'        selector:#menuNew).
       
  3039     node add:(self nodeLabel:'-'          ).
       
  3040     node add:(self nodeLabel:'Open...'    selector:#menuOpen).
       
  3041     node add:(self nodeLabel:'-'          ).
       
  3042     node add:(self nodeLabel:'Save'       selector:#menuSave).
       
  3043     node add:(self nodeLabel:'Save As...' selector:#menuSaveAs).
       
  3044     node add:(self nodeLabel:'-'          ).
       
  3045     node add:(self nodeLabel:'Exit'       selector:#closeRequest).
       
  3046     self addElement:node
       
  3047 
       
  3048     "Created: / 23.8.1998 / 15:51:55 / cg"
       
  3049     "Modified: / 23.8.1998 / 16:04:24 / cg"
       
  3050 !
       
  3051 
       
  3052 doCreateStandardHelpMenu
       
  3053 
       
  3054     |node|
       
  3055     node := self nodeLabel:'Help'.
       
  3056     node parent: self selectedNode.        
       
  3057     node contents startGroup:#right.
       
  3058     node add:(self nodeLabel:'Documentation'          selector:#openDocumentation).
       
  3059     node add:(self nodeLabel:'-').
       
  3060     node add:(self nodeLabel:'About this Application' selector:#openAboutThisApplication).
       
  3061     self addElement:node
       
  3062 
       
  3063     "Created: / 23.8.1998 / 15:52:46 / cg"
       
  3064     "Modified: / 23.8.1998 / 17:30:12 / cg"
       
  3065 !
       
  3066 
  2974 doCut
  3067 doCut
  2975     |app|
  3068     |app|
  2976 
  3069 
  2977     app := self topView application.
  3070     app := self topView application.
  2978     (app hasValidSelection value and: [self askForItemModification])
  3071     (app hasValidSelection value and: [self askForItemModification])
  3059     ^TreeItem new contents: ((MenuEditor::Item new label:aLabel) translateLabel:true)
  3152     ^TreeItem new contents: ((MenuEditor::Item new label:aLabel) translateLabel:true)
  3060 
  3153 
  3061     "Modified: / 6.6.1998 / 17:22:35 / cg"
  3154     "Modified: / 6.6.1998 / 17:22:35 / cg"
  3062 !
  3155 !
  3063 
  3156 
       
  3157 nodeLabel:aLabel selector:aSelector
       
  3158 
       
  3159     ^TreeItem new contents: (((MenuEditor::Item new label:aLabel) value:aSelector) translateLabel:true)
       
  3160 
       
  3161     "Modified: / 6.6.1998 / 17:22:35 / cg"
       
  3162     "Created: / 23.8.1998 / 15:58:59 / cg"
       
  3163 !
       
  3164 
  3064 selectedNodeAdd:something
  3165 selectedNodeAdd:something
  3065 
  3166 
  3066     |node|
  3167     |node|
  3067 
  3168 
  3068     something notNil ifTrue:[
  3169     something notNil ifTrue:[