MenuEditor.st
author ca
Fri, 31 Oct 1997 11:23:28 +0100
changeset 372 042713cfe1ed
parent 371 7017eaabd9ed
child 381 1d1b1483270c
permissions -rw-r--r--
add: <resource: #fileImage>
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
     1
"
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
     2
 COPYRIGHT (c) 1997 by eXept Software AG / Claus Gittinger
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
     3
              All Rights Reserved
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
     4
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
     5
 This software is furnished under a license and may be used
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    10
 hereby transferred.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    11
"
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    12
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    13
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    14
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    15
ApplicationModel subclass:#MenuEditor
356
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
    16
	instanceVariableNames:'isModified specClass specCanvas helpCanvas tabSelection aspects
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
    17
		slices didInstall'
220
ca
parents: 218
diff changeset
    18
	classVariableNames:''
ca
parents: 218
diff changeset
    19
	poolDictionaries:''
ca
parents: 218
diff changeset
    20
	category:'Interface-UIPainter'
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    21
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    22
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    23
Object subclass:#Item
220
ca
parents: 218
diff changeset
    24
	instanceVariableNames:'activeHelpKey enabled label value nameKey indication shortcutKey
290
1428bab2aa68 an empty selection is now specified by 0
ca
parents: 287
diff changeset
    25
		accessCharaterPos retriever icon iconAndLabel submenuChannel
1428bab2aa68 an empty selection is now specified by 0
ca
parents: 287
diff changeset
    26
		argument'
220
ca
parents: 218
diff changeset
    27
	classVariableNames:''
ca
parents: 218
diff changeset
    28
	poolDictionaries:''
ca
parents: 218
diff changeset
    29
	privateIn:MenuEditor
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    30
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    31
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    32
SelectionInTreeView subclass:#Painter
275
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
    33
	instanceVariableNames:'images'
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
    34
	classVariableNames:'CopyBuffer Images'
220
ca
parents: 218
diff changeset
    35
	poolDictionaries:''
ca
parents: 218
diff changeset
    36
	privateIn:MenuEditor
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    37
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    38
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    39
!MenuEditor class methodsFor:'documentation'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    40
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    41
copyright
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    42
"
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    43
 COPYRIGHT (c) 1997 by eXept Software AG / Claus Gittinger
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    44
              All Rights Reserved
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    45
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    46
 This software is furnished under a license and may be used
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    47
 only in accordance with the terms of that license and with the
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    48
 inclusion of the above copyright notice.   This software may not
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    49
 be provided or otherwise made available to, or used by, any
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    50
 other person.  No title to or ownership of the software is
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    51
 hereby transferred.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    52
"
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    53
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    54
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    55
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    56
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    57
documentation
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    58
"
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    59
    create and modify or inspect popup and pullDown menus of the
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    60
    new style( derives from Menu).
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    61
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    62
    [start with:]
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    63
        MenuEditor open
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    64
        MenuEditor new openOnClass:MenuEditor andSelector:#menuPullDown
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    65
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    66
    [see also:]
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    67
        UIPainter
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    68
        UIHelpTool
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    69
        UISpecificationTool
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    70
        SelectionInTreeView
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    71
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    72
    [author:]
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    73
        Claus Atzkern
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    74
"
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    75
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    76
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
    77
318
31a94b71ae1b reuse of generate code for instance method #menu
ca
parents: 304
diff changeset
    78
!MenuEditor class methodsFor:'code generation'!
31a94b71ae1b reuse of generate code for instance method #menu
ca
parents: 304
diff changeset
    79
31a94b71ae1b reuse of generate code for instance method #menu
ca
parents: 304
diff changeset
    80
generateCodeFor:aClass menuSelector:aSelector
31a94b71ae1b reuse of generate code for instance method #menu
ca
parents: 304
diff changeset
    81
31a94b71ae1b reuse of generate code for instance method #menu
ca
parents: 304
diff changeset
    82
    |code category|
31a94b71ae1b reuse of generate code for instance method #menu
ca
parents: 304
diff changeset
    83
31a94b71ae1b reuse of generate code for instance method #menu
ca
parents: 304
diff changeset
    84
    category := self sourceCategory.
31a94b71ae1b reuse of generate code for instance method #menu
ca
parents: 304
diff changeset
    85
31a94b71ae1b reuse of generate code for instance method #menu
ca
parents: 304
diff changeset
    86
    code := Character excla asString 
31a94b71ae1b reuse of generate code for instance method #menu
ca
parents: 304
diff changeset
    87
            , aClass name , ' methodsFor:' , category storeString
31a94b71ae1b reuse of generate code for instance method #menu
ca
parents: 304
diff changeset
    88
            , Character excla asString , '\\'
31a94b71ae1b reuse of generate code for instance method #menu
ca
parents: 304
diff changeset
    89
31a94b71ae1b reuse of generate code for instance method #menu
ca
parents: 304
diff changeset
    90
            , aSelector , '\'
31a94b71ae1b reuse of generate code for instance method #menu
ca
parents: 304
diff changeset
    91
            , '    "this window spec was automatically generated by the UI Builder"\\'
31a94b71ae1b reuse of generate code for instance method #menu
ca
parents: 304
diff changeset
    92
            , '    ^ self class ', aSelector, '\\'
31a94b71ae1b reuse of generate code for instance method #menu
ca
parents: 304
diff changeset
    93
            , '\'
31a94b71ae1b reuse of generate code for instance method #menu
ca
parents: 304
diff changeset
    94
            , Character excla asString
31a94b71ae1b reuse of generate code for instance method #menu
ca
parents: 304
diff changeset
    95
            , ' '
31a94b71ae1b reuse of generate code for instance method #menu
ca
parents: 304
diff changeset
    96
            , Character excla asString
31a94b71ae1b reuse of generate code for instance method #menu
ca
parents: 304
diff changeset
    97
            , '\\'.
31a94b71ae1b reuse of generate code for instance method #menu
ca
parents: 304
diff changeset
    98
    ^ code
31a94b71ae1b reuse of generate code for instance method #menu
ca
parents: 304
diff changeset
    99
31a94b71ae1b reuse of generate code for instance method #menu
ca
parents: 304
diff changeset
   100
"
31a94b71ae1b reuse of generate code for instance method #menu
ca
parents: 304
diff changeset
   101
self generateCodeFor:MenuEditor menuSelector:#menu
31a94b71ae1b reuse of generate code for instance method #menu
ca
parents: 304
diff changeset
   102
"
31a94b71ae1b reuse of generate code for instance method #menu
ca
parents: 304
diff changeset
   103
!
31a94b71ae1b reuse of generate code for instance method #menu
ca
parents: 304
diff changeset
   104
31a94b71ae1b reuse of generate code for instance method #menu
ca
parents: 304
diff changeset
   105
sourceCategory
31a94b71ae1b reuse of generate code for instance method #menu
ca
parents: 304
diff changeset
   106
    "returns the catagory where to instal the menu
31a94b71ae1b reuse of generate code for instance method #menu
ca
parents: 304
diff changeset
   107
    "
31a94b71ae1b reuse of generate code for instance method #menu
ca
parents: 304
diff changeset
   108
    ^ 'accessing menu'
31a94b71ae1b reuse of generate code for instance method #menu
ca
parents: 304
diff changeset
   109
! !
31a94b71ae1b reuse of generate code for instance method #menu
ca
parents: 304
diff changeset
   110
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   111
!MenuEditor class methodsFor:'help specs'!
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   112
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   113
helpSpec
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   114
    "return a dictionary filled with helpKey -> helptext associations.
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   115
     These are used by the activeHelp tool."
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   116
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   117
    "
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   118
    UIHelpTool openOnClass:MenuEditor    
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   119
    "
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   120
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   121
  ^ super helpSpec addPairsFrom:#(
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   122
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   123
#accessCharaterPos
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   124
'the index of the access character position into the textual label (optional).'
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   125
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   126
#argument
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   127
'an argument passed to the value method, if the value selector is a one- or two-arg selector (i.e. ends with '':''). The argument is passed as a string.'
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   128
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   129
#enbled
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   130
'This enabled field specifies the name of the aspect (-method or binding) in your application, which returns a valueHolder holding a boolean, a block which evaluates to either true or false, a selector which returns either true or false or simply true or false.\ The value, true or false, specifies whether  the respective field can be selected, a value of true, or not, a value of false.'
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   131
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   132
#icon
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   133
'selector which returns the bitmap to be displayed.'
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   134
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   135
#iconAndLabel
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   136
'boolean flag to specify that both the bitmap and textual label shall be shown.'
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   137
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   138
#indication
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   139
'This indication field specifies the name of the aspect (-method or binding) in your application, a valueHolder holding a boolean, a block which evaluates to either true or false, a selector which returns either true or false or simply true or false.\ The value, true or false, specifies whether the shown indicator is switched on or off.'
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   140
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   141
#label
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   142
'the label of the item. If the ''retriever/icon'' is set, and returns a bitmap image, the bitmap is used as the displayed label. Dependent on the state of the ''Icon & Label'' flag, both the bitmap and the label are shown.'
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   143
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   144
#menuSelector
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   145
'the name of the selector under which the generated menu should be installed and is accessable.'
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   146
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   147
#nameKey
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   148
'a unique identifier of the item (optional)'
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   149
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   150
#retriever
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   151
'the name of the class, which implements the bitmap  selector. This selector is specified by ''icon''. If no class is given, the current application should implement the specified bitmap selector.'
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   152
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   153
#seperatorList
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   154
'the list of valid separators'
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   155
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   156
#shortcutKey
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   157
'the key to be pressed, to select the menu item from the keyboard (accelerator key).'
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   158
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   159
#submenuChannel
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   160
'a value holder, which provides the submenu (Menu) to be opened if the item is selected. Useful if the items submenu is to be changed dynamically.'
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   161
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   162
#value
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   163
'An action which can be either a block or a selector.\ Depending on the number of arguments to the action, the action will be called with the respective arguments. There can either zero, one or two arguments. The first argument to the action is  the argument derived from the argument field and the second argument the selected item.'
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   164
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   165
)
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   166
! !
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   167
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   168
!MenuEditor class methodsFor:'icons'!
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   169
220
ca
parents: 218
diff changeset
   170
iconCreateItem
ca
parents: 218
diff changeset
   171
    ^ Painter imageItem
ca
parents: 218
diff changeset
   172
ca
parents: 218
diff changeset
   173
!
ca
parents: 218
diff changeset
   174
ca
parents: 218
diff changeset
   175
iconCreateLink
ca
parents: 218
diff changeset
   176
    ^ Painter imageMenuLink
ca
parents: 218
diff changeset
   177
ca
parents: 218
diff changeset
   178
!
ca
parents: 218
diff changeset
   179
ca
parents: 218
diff changeset
   180
iconCreateMenu
243
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
   181
    ^ Painter imageMenu
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
   182
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
   183
    "Modified: 28.7.1997 / 10:02:21 / cg"
220
ca
parents: 218
diff changeset
   184
!
ca
parents: 218
diff changeset
   185
ca
parents: 218
diff changeset
   186
iconCreateSep
ca
parents: 218
diff changeset
   187
    ^ Painter imageSeparator
ca
parents: 218
diff changeset
   188
227
434211399a54 added broken image icon
ca
parents: 224
diff changeset
   189
!
434211399a54 added broken image icon
ca
parents: 224
diff changeset
   190
434211399a54 added broken image icon
ca
parents: 224
diff changeset
   191
iconUnknown
243
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
   192
    "returns an image used for picked items containing an image
227
434211399a54 added broken image icon
ca
parents: 224
diff changeset
   193
    "
359
6193ef5b6e74 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 356
diff changeset
   194
6193ef5b6e74 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 356
diff changeset
   195
    <resource: #fileImage>
6193ef5b6e74 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 356
diff changeset
   196
243
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
   197
    ^ Image fromFile:'brokenImage.xpm'
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
   198
359
6193ef5b6e74 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 356
diff changeset
   199
    "Modified: / 29.10.1997 / 03:22:06 / cg"
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   200
! !
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   201
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   202
!MenuEditor class methodsFor:'interface specs'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   203
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   204
classAndMethodSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   205
    "this window spec was automatically generated by the ST/X UIPainter"
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   206
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   207
    "do not manually edit this - the painter/builder may not be able to
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   208
     handle the specification if its corrupted."
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   209
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   210
    "
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   211
     UIPainter new openOnClass:MenuEditor andSelector:#classAndMethodSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   212
     MenuEditor new openInterface:#classAndMethodSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   213
    "
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   214
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   215
    <resource: #canvas>
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   216
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   217
    ^
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   218
     
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   219
       #(#FullSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   220
          #'window:' 
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   221
           #(#WindowSpec
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
   222
              #'name:' 'ClassAndMethodSpec'
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   223
              #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   224
              #'label:' 'Painter'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   225
              #'bounds:' #(#Rectangle 0 0 391 170)
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   226
          )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   227
          #'component:' 
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   228
           #(#SpecCollection
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   229
              #'collection:' 
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   230
               #(
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   231
                 #(#LabelSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   232
                    #'name:' 'classLabel'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   233
                    #'layout:' #(#AlignmentOrigin 45 0.11 51 0 1 0.5)
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   234
                    #'label:' 'class:'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   235
                    #'adjust:' #right
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   236
                    #'resizeForLabel:' true
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   237
                )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   238
                 #(#LabelSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   239
                    #'name:' 'selectorLabel'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   240
                    #'layout:' #(#AlignmentOrigin 45 0.11 74 0 1 0.5)
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   241
                    #'label:' 'selector:'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   242
                    #'adjust:' #right
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   243
                    #'resizeForLabel:' true
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   244
                )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   245
                 #(#InputFieldSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   246
                    #'name:' 'methodNameField'
263
25f080e1217f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 258
diff changeset
   247
                    #'layout:' #(#LayoutFrame 47 0.11 64 0 0 1.0 86 0)
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   248
                    #'tabable:' true
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   249
                    #'model:' #methodNameChannel
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   250
                )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   251
                 #(#LabelSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   252
                    #'name:' 'boxLabel'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   253
                    #'layout:' #(#Point 5 10)
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   254
                    #'label:' 'class & selector for code:'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   255
                    #'adjust:' #left
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   256
                    #'resizeForLabel:' true
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   257
                )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   258
                 #(#InputFieldSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   259
                    #'name:' 'classNameField'
263
25f080e1217f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 258
diff changeset
   260
                    #'layout:' #(#LayoutFrame 47 0.11 39 0 0 1.0 61 0)
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   261
                    #'tabable:' true
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   262
                    #'model:' #classNameChannel
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   263
                )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   264
                 #(#HorizontalPanelViewSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   265
                    #'name:' 'commitPanel'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   266
                    #'layout:' #(#LayoutFrame 0 0.0 -24 1.0 0 1.0 0 1.0)
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   267
                    #'component:' 
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   268
                     #(#SpecCollection
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   269
                        #'collection:' 
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   270
                         #(
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   271
                           #(#ActionButtonSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   272
                              #'name:' 'button1'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   273
                              #'label:' 'cancel'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   274
                              #'tabable:' true
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   275
                              #'model:' #cancel
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   276
                              #'extent:' #(#Point 191 24)
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   277
                          )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   278
                           #(#ActionButtonSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   279
                              #'name:' 'button2'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   280
                              #'label:' 'ok'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   281
                              #'tabable:' true
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   282
                              #'isDefault:' true
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   283
                              #'model:' #accept
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   284
                              #'extent:' #(#Point 191 24)
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   285
                          )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   286
                        )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   287
                    )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   288
                    #'horizontalLayout:' #fitSpace
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   289
                    #'verticalLayout:' #fit
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   290
                    #'horizontalSpace:' 3
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   291
                    #'verticalSpace:' 3
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   292
                )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   293
              )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   294
          )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   295
      )
263
25f080e1217f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 258
diff changeset
   296
25f080e1217f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 258
diff changeset
   297
    "Modified: 28.7.1997 / 15:40:15 / cg"
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   298
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   299
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   300
classDefineSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   301
    "this window spec was automatically generated by the ST/X UIPainter"
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   302
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   303
    "do not manually edit this - the painter/builder may not be able to
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   304
     handle the specification if its corrupted."
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   305
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   306
    "
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   307
     UIPainter new openOnClass:MenuEditor andSelector:#classDefineSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   308
     MenuEditor new openInterface:#classDefineSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   309
    "
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   310
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   311
    <resource: #canvas>
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   312
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   313
    ^
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   314
     
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   315
       #(#FullSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   316
          #'window:' 
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   317
           #(#WindowSpec
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
   318
              #'name:' 'ClassDefineSpec'
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   319
              #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   320
              #'label:' 'Painter'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   321
              #'bounds:' #(#Rectangle 0 0 383 128)
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   322
          )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   323
          #'component:' 
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   324
           #(#SpecCollection
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   325
              #'collection:' 
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   326
               #(
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   327
                 #(#LabelSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   328
                    #'name:' 'classLabel'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   329
                    #'layout:' #(#AlignmentOrigin 45 0.11 51 0 1 0.5)
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   330
                    #'label:' 'class:'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   331
                    #'adjust:' #right
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   332
                    #'resizeForLabel:' true
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   333
                )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   334
                 #(#LabelSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   335
                    #'name:' 'boxLabel'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   336
                    #'layout:' #(#Point 5 10)
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   337
                    #'label:' 'class for code:'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   338
                    #'adjust:' #left
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   339
                    #'resizeForLabel:' true
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   340
                )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   341
                 #(#InputFieldSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   342
                    #'name:' 'classNameField'
263
25f080e1217f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 258
diff changeset
   343
                    #'layout:' #(#LayoutFrame 47 0.11 39 0 0 1.0 61 0)
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   344
                    #'tabable:' true
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   345
                    #'model:' #classNameChannel
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   346
                )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   347
                 #(#HorizontalPanelViewSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   348
                    #'name:' 'commitPanel'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   349
                    #'layout:' #(#LayoutFrame 0 0.0 -24 1.0 0 1.0 0 1.0)
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   350
                    #'component:' 
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   351
                     #(#SpecCollection
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   352
                        #'collection:' 
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   353
                         #(
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   354
                           #(#ActionButtonSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   355
                              #'name:' 'button1'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   356
                              #'label:' 'cancel'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   357
                              #'tabable:' true
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   358
                              #'model:' #cancel
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   359
                              #'extent:' #(#Point 187 24)
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   360
                          )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   361
                           #(#ActionButtonSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   362
                              #'name:' 'button2'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   363
                              #'label:' 'ok'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   364
                              #'tabable:' true
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   365
                              #'isDefault:' true
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   366
                              #'model:' #accept
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   367
                              #'extent:' #(#Point 187 24)
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   368
                          )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   369
                        )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   370
                    )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   371
                    #'horizontalLayout:' #fitSpace
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   372
                    #'verticalLayout:' #fit
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   373
                    #'horizontalSpace:' 3
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   374
                    #'verticalSpace:' 3
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   375
                )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   376
              )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   377
          )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   378
      )
263
25f080e1217f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 258
diff changeset
   379
25f080e1217f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 258
diff changeset
   380
    "Modified: 28.7.1997 / 15:40:39 / cg"
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   381
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   382
220
ca
parents: 218
diff changeset
   383
menuButtons
ca
parents: 218
diff changeset
   384
    "this window spec was automatically generated by the ST/X MenuEditor"
ca
parents: 218
diff changeset
   385
ca
parents: 218
diff changeset
   386
    "do not manually edit this - the builder may not be able to
ca
parents: 218
diff changeset
   387
     handle the specification if its corrupted."
ca
parents: 218
diff changeset
   388
ca
parents: 218
diff changeset
   389
    "
ca
parents: 218
diff changeset
   390
     MenuEditor new openOnClass:MenuEditor andSelector:#menuButtons
ca
parents: 218
diff changeset
   391
     (Menu new fromLiteralArrayEncoding:(MenuEditor menuButtons)) startUp
ca
parents: 218
diff changeset
   392
    "
ca
parents: 218
diff changeset
   393
ca
parents: 218
diff changeset
   394
    <resource: #menu>
ca
parents: 218
diff changeset
   395
ca
parents: 218
diff changeset
   396
    ^
ca
parents: 218
diff changeset
   397
     
ca
parents: 218
diff changeset
   398
       #(#Menu
ca
parents: 218
diff changeset
   399
          
ca
parents: 218
diff changeset
   400
           #(
ca
parents: 218
diff changeset
   401
             #(#MenuItem
ca
parents: 218
diff changeset
   402
                #'label:' 'createMenu'
ca
parents: 218
diff changeset
   403
                #'value:' #doCreateMenu
ca
parents: 218
diff changeset
   404
                #'enabled:' #hasAnySingleSelection
ca
parents: 218
diff changeset
   405
                #'labelImage:' 
ca
parents: 218
diff changeset
   406
                 #(#ResourceRetriever
ca
parents: 218
diff changeset
   407
                    #MenuEditor #iconCreateMenu
ca
parents: 218
diff changeset
   408
                )
ca
parents: 218
diff changeset
   409
            )
ca
parents: 218
diff changeset
   410
             #(#MenuItem
ca
parents: 218
diff changeset
   411
                #'label:' 'createLink'
ca
parents: 218
diff changeset
   412
                #'value:' #doCreateLink
ca
parents: 218
diff changeset
   413
                #'enabled:' #hasAnySingleSelection
ca
parents: 218
diff changeset
   414
                #'labelImage:' 
ca
parents: 218
diff changeset
   415
                 #(#ResourceRetriever
ca
parents: 218
diff changeset
   416
                    #MenuEditor #iconCreateLink
ca
parents: 218
diff changeset
   417
                )
ca
parents: 218
diff changeset
   418
            )
ca
parents: 218
diff changeset
   419
             #(#MenuItem
ca
parents: 218
diff changeset
   420
                #'label:' 'createItem'
ca
parents: 218
diff changeset
   421
                #'value:' #doCreateItem
ca
parents: 218
diff changeset
   422
                #'enabled:' #hasAnySingleSelection
ca
parents: 218
diff changeset
   423
                #'labelImage:' 
ca
parents: 218
diff changeset
   424
                 #(#ResourceRetriever
ca
parents: 218
diff changeset
   425
                    #MenuEditor #iconCreateItem
ca
parents: 218
diff changeset
   426
                )
ca
parents: 218
diff changeset
   427
            )
ca
parents: 218
diff changeset
   428
             #(#MenuItem
ca
parents: 218
diff changeset
   429
                #'label:' 'createSeparator'
ca
parents: 218
diff changeset
   430
                #'value:' #doCreateSep
ca
parents: 218
diff changeset
   431
                #'enabled:' #hasAnySingleSelection
ca
parents: 218
diff changeset
   432
                #'labelImage:' 
ca
parents: 218
diff changeset
   433
                 #(#ResourceRetriever
ca
parents: 218
diff changeset
   434
                    #MenuEditor #iconCreateSep
ca
parents: 218
diff changeset
   435
                )
ca
parents: 218
diff changeset
   436
            )
ca
parents: 218
diff changeset
   437
             #(#MenuItem
ca
parents: 218
diff changeset
   438
                #'label:' ''
ca
parents: 218
diff changeset
   439
            )
ca
parents: 218
diff changeset
   440
             #(#MenuItem
ca
parents: 218
diff changeset
   441
                #'label:' 'stepUp'
ca
parents: 218
diff changeset
   442
                #'value:' #doStepUp
ca
parents: 218
diff changeset
   443
                #'enabled:' #enabledStepOver
ca
parents: 218
diff changeset
   444
                #'labelImage:' 
ca
parents: 218
diff changeset
   445
                 #(#ResourceRetriever
224
c1d7bffe73f1 use same icons for moving items as painter; icons
ca
parents: 220
diff changeset
   446
                    #UIPainter #iconStepUp
220
ca
parents: 218
diff changeset
   447
                )
ca
parents: 218
diff changeset
   448
            )
ca
parents: 218
diff changeset
   449
             #(#MenuItem
ca
parents: 218
diff changeset
   450
                #'label:' 'stepDown'
ca
parents: 218
diff changeset
   451
                #'value:' #doStepDown
ca
parents: 218
diff changeset
   452
                #'enabled:' #enabledStepOver
ca
parents: 218
diff changeset
   453
                #'labelImage:' 
ca
parents: 218
diff changeset
   454
                 #(#ResourceRetriever
224
c1d7bffe73f1 use same icons for moving items as painter; icons
ca
parents: 220
diff changeset
   455
                    #UIPainter #iconStepDown
220
ca
parents: 218
diff changeset
   456
                )
ca
parents: 218
diff changeset
   457
            )
ca
parents: 218
diff changeset
   458
             #(#MenuItem
ca
parents: 218
diff changeset
   459
                #'label:' 'stepIn'
ca
parents: 218
diff changeset
   460
                #'value:' #doStepIn
ca
parents: 218
diff changeset
   461
                #'enabled:' #enabledStepIn
ca
parents: 218
diff changeset
   462
                #'labelImage:' 
ca
parents: 218
diff changeset
   463
                 #(#ResourceRetriever
224
c1d7bffe73f1 use same icons for moving items as painter; icons
ca
parents: 220
diff changeset
   464
                    #UIPainter #iconStepIn
220
ca
parents: 218
diff changeset
   465
                )
ca
parents: 218
diff changeset
   466
            )
ca
parents: 218
diff changeset
   467
             #(#MenuItem
ca
parents: 218
diff changeset
   468
                #'label:' 'stepOut'
ca
parents: 218
diff changeset
   469
                #'value:' #doStepOut
ca
parents: 218
diff changeset
   470
                #'enabled:' #enabledStepOut
ca
parents: 218
diff changeset
   471
                #'labelImage:' 
ca
parents: 218
diff changeset
   472
                 #(#ResourceRetriever
224
c1d7bffe73f1 use same icons for moving items as painter; icons
ca
parents: 220
diff changeset
   473
                    #UIPainter #iconStepOut
220
ca
parents: 218
diff changeset
   474
                )
ca
parents: 218
diff changeset
   475
            )
ca
parents: 218
diff changeset
   476
          ) nil
ca
parents: 218
diff changeset
   477
          nil
ca
parents: 218
diff changeset
   478
      )
ca
parents: 218
diff changeset
   479
!
ca
parents: 218
diff changeset
   480
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   481
menuDefaultLink
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   482
    "this window spec was automatically generated by the ST/X MenuEditor"
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   483
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   484
    "do not manually edit this - the builder may not be able to
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   485
     handle the specification if its corrupted."
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   486
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   487
    "
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   488
     MenuEditor new openOnClass:MenuEditor andSelector:#menuDefaultLink
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   489
     (Menu new fromLiteralArrayEncoding:(MenuEditor menuDefaultLink)) startUp
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   490
    "
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   491
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   492
    <resource: #menu>
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   493
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   494
    ^
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   495
     
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   496
       #(#Menu
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   497
          
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   498
           #(
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   499
             #(#MenuItem
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   500
                #'label:' '!! derives from application !!'
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   501
            )
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   502
          ) nil
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   503
          nil
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   504
      )
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   505
!
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   506
220
ca
parents: 218
diff changeset
   507
menuPainter
ca
parents: 218
diff changeset
   508
    "this window spec was automatically generated by the ST/X MenuEditor"
ca
parents: 218
diff changeset
   509
ca
parents: 218
diff changeset
   510
    "do not manually edit this - the builder may not be able to
ca
parents: 218
diff changeset
   511
     handle the specification if its corrupted."
ca
parents: 218
diff changeset
   512
ca
parents: 218
diff changeset
   513
    "
ca
parents: 218
diff changeset
   514
     MenuEditor new openOnClass:MenuEditor andSelector:#menuPainter
ca
parents: 218
diff changeset
   515
     (Menu new fromLiteralArrayEncoding:(MenuEditor menuPainter)) startUp
ca
parents: 218
diff changeset
   516
    "
ca
parents: 218
diff changeset
   517
ca
parents: 218
diff changeset
   518
    <resource: #menu>
ca
parents: 218
diff changeset
   519
ca
parents: 218
diff changeset
   520
    ^
ca
parents: 218
diff changeset
   521
     
ca
parents: 218
diff changeset
   522
       #(#Menu
ca
parents: 218
diff changeset
   523
          
ca
parents: 218
diff changeset
   524
           #(
ca
parents: 218
diff changeset
   525
             #(#MenuItem
ca
parents: 218
diff changeset
   526
                #'label:' 'copy'
ca
parents: 218
diff changeset
   527
                #'value:' #doCopy
ca
parents: 218
diff changeset
   528
                #'enabled:' #hasValidSelection
356
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
   529
                #'shortcutKeyCharacter:' #Copy
220
ca
parents: 218
diff changeset
   530
            )
ca
parents: 218
diff changeset
   531
             #(#MenuItem
ca
parents: 218
diff changeset
   532
                #'label:' 'cut'
ca
parents: 218
diff changeset
   533
                #'value:' #doCut
ca
parents: 218
diff changeset
   534
                #'enabled:' #hasValidSelection
356
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
   535
                #'shortcutKeyCharacter:' #Cut
220
ca
parents: 218
diff changeset
   536
            )
ca
parents: 218
diff changeset
   537
             #(#MenuItem
ca
parents: 218
diff changeset
   538
                #'label:' 'paste'
ca
parents: 218
diff changeset
   539
                #'value:' #doPaste
ca
parents: 218
diff changeset
   540
                #'enabled:' #hasAnySingleSelection
356
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
   541
                #'shortcutKeyCharacter:' #Paste
220
ca
parents: 218
diff changeset
   542
            )
ca
parents: 218
diff changeset
   543
             #(#MenuItem
ca
parents: 218
diff changeset
   544
                #'label:' '-'
ca
parents: 218
diff changeset
   545
            )
ca
parents: 218
diff changeset
   546
             #(#MenuItem
ca
parents: 218
diff changeset
   547
                #'label:' 'create'
ca
parents: 218
diff changeset
   548
                #'enabled:' #hasAnySingleSelection
ca
parents: 218
diff changeset
   549
                #'submenu:' 
ca
parents: 218
diff changeset
   550
                 #(#Menu
ca
parents: 218
diff changeset
   551
                    
ca
parents: 218
diff changeset
   552
                     #(
ca
parents: 218
diff changeset
   553
                       #(#MenuItem
ca
parents: 218
diff changeset
   554
                          #'label:' 'submenu static'
ca
parents: 218
diff changeset
   555
                          #'value:' #doCreateMenu
ca
parents: 218
diff changeset
   556
                          #'labelImage:' 
ca
parents: 218
diff changeset
   557
                           #(#ResourceRetriever
ca
parents: 218
diff changeset
   558
                              #MenuEditor #iconCreateMenu
ca
parents: 218
diff changeset
   559
                              'submenu static'
ca
parents: 218
diff changeset
   560
                          )
ca
parents: 218
diff changeset
   561
                      )
ca
parents: 218
diff changeset
   562
                       #(#MenuItem
ca
parents: 218
diff changeset
   563
                          #'label:' 'submenu dynamic'
ca
parents: 218
diff changeset
   564
                          #'value:' #doCreateLink
ca
parents: 218
diff changeset
   565
                          #'labelImage:' 
ca
parents: 218
diff changeset
   566
                           #(#ResourceRetriever
ca
parents: 218
diff changeset
   567
                              #MenuEditor #iconCreateLink
ca
parents: 218
diff changeset
   568
                              'submenu dynamic'
ca
parents: 218
diff changeset
   569
                          )
ca
parents: 218
diff changeset
   570
                      )
ca
parents: 218
diff changeset
   571
                       #(#MenuItem
ca
parents: 218
diff changeset
   572
                          #'label:' '-'
ca
parents: 218
diff changeset
   573
                      )
ca
parents: 218
diff changeset
   574
                       #(#MenuItem
ca
parents: 218
diff changeset
   575
                          #'label:' 'item'
ca
parents: 218
diff changeset
   576
                          #'value:' #doCreateItem
ca
parents: 218
diff changeset
   577
                          #'labelImage:' 
ca
parents: 218
diff changeset
   578
                           #(#ResourceRetriever
ca
parents: 218
diff changeset
   579
                              #MenuEditor #iconCreateItem
ca
parents: 218
diff changeset
   580
                              'item'
ca
parents: 218
diff changeset
   581
                          )
ca
parents: 218
diff changeset
   582
                      )
ca
parents: 218
diff changeset
   583
                       #(#MenuItem
ca
parents: 218
diff changeset
   584
                          #'label:' 'separator'
ca
parents: 218
diff changeset
   585
                          #'value:' #doCreateSep
ca
parents: 218
diff changeset
   586
                          #'labelImage:' 
ca
parents: 218
diff changeset
   587
                           #(#ResourceRetriever
ca
parents: 218
diff changeset
   588
                              #MenuEditor #iconCreateSep
ca
parents: 218
diff changeset
   589
                              'separator'
ca
parents: 218
diff changeset
   590
                          )
ca
parents: 218
diff changeset
   591
                      )
ca
parents: 218
diff changeset
   592
                    ) nil
ca
parents: 218
diff changeset
   593
                    nil
ca
parents: 218
diff changeset
   594
                )
ca
parents: 218
diff changeset
   595
            )
ca
parents: 218
diff changeset
   596
          ) nil
ca
parents: 218
diff changeset
   597
          nil
ca
parents: 218
diff changeset
   598
      )
ca
parents: 218
diff changeset
   599
!
ca
parents: 218
diff changeset
   600
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   601
menuPullDown
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   602
    "this window spec was automatically generated by the ST/X MenuEditor"
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   603
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   604
    "do not manually edit this - the builder may not be able to
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   605
     handle the specification if its corrupted."
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   606
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   607
    "
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   608
     MenuEditor new openOnClass:MenuEditor andSelector:#menuPullDown
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   609
     (Menu new fromLiteralArrayEncoding:(MenuEditor menuPullDown)) startUp
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   610
    "
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   611
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   612
    <resource: #menu>
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   613
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   614
    ^
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   615
     
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   616
       #(#Menu
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   617
          
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   618
           #(
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   619
             #(#MenuItem
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   620
                #'label:' 'file'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   621
                #'value:' #file
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   622
                #'submenu:' 
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   623
                 #(#Menu
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   624
                    
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   625
                     #(
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   626
                       #(#MenuItem
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   627
                          #'label:' 'new'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   628
                          #'value:' #doNew
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   629
                      )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   630
                       #(#MenuItem
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   631
                          #'label:' 'from class ...'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   632
                          #'value:' #doFromClass
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
   633
                          #'enabled:' #isStandAlone
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   634
                      )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   635
                       #(#MenuItem
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   636
                          #'label:' 'pick a menu'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   637
                          #'value:' #doPickAMenu
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
   638
                          #'enabled:' #isStandAlone
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   639
                      )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   640
                       #(#MenuItem
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   641
                          #'label:' '='
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   642
                      )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   643
                       #(#MenuItem
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   644
                          #'label:' 'quit'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   645
                          #'value:' #closeRequest
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   646
                      )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   647
                    ) nil
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   648
                    nil
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   649
                )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   650
            )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   651
             #(#MenuItem
243
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
   652
                #'label:' 'edit'
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
   653
                #'submenu:' 
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
   654
                 #(#Menu
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
   655
                    
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
   656
                     #(
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
   657
                       #(#MenuItem
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
   658
                          #'label:' 'cut'
246
81fe65b7bea7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 243
diff changeset
   659
                          #'value:' #doCut
243
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
   660
                      )
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
   661
                       #(#MenuItem
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
   662
                          #'label:' '='
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
   663
                      )
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
   664
                       #(#MenuItem
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
   665
                          #'label:' 'create submenu static'
246
81fe65b7bea7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 243
diff changeset
   666
                          #'value:' #doCreateMenu
243
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
   667
                      )
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
   668
                       #(#MenuItem
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
   669
                          #'label:' 'create summenu dynamic'
246
81fe65b7bea7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 243
diff changeset
   670
                          #'value:' #doCreateLink
243
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
   671
                      )
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
   672
                       #(#MenuItem
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
   673
                          #'label:' '-'
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
   674
                      )
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
   675
                       #(#MenuItem
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
   676
                          #'label:' 'create item'
246
81fe65b7bea7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 243
diff changeset
   677
                          #'value:' #doCreateItem
243
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
   678
                      )
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
   679
                       #(#MenuItem
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
   680
                          #'label:' 'create separator'
246
81fe65b7bea7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 243
diff changeset
   681
                          #'value:' #doCreateSep
243
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
   682
                      )
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
   683
                    ) nil
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
   684
                    nil
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
   685
                )
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
   686
            )
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
   687
             #(#MenuItem
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   688
                #'label:' 'code'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   689
                #'value:' #code
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   690
                #'submenu:' 
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   691
                 #(#Menu
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   692
                    
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   693
                     #(
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   694
                       #(#MenuItem
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   695
                          #'label:' 'class'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   696
                          #'value:' #doDefineClass
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
   697
                          #'enabled:' #isStandAlone
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   698
                      )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   699
                       #(#MenuItem
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   700
                          #'label:' '-'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   701
                      )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   702
                       #(#MenuItem
266
dd70070d6652 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 263
diff changeset
   703
                          #'label:' 'install menu spec.'
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   704
                          #'value:' #doInstallSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   705
                      )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   706
                       #(#MenuItem
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   707
                          #'label:' 'install help spec.'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   708
                          #'value:' #doInstallHelp
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
   709
                          #'enabled:' #isStandAlone
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   710
                      )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   711
                       #(#MenuItem
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   712
                          #'label:' '='
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   713
                      )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   714
                       #(#MenuItem
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   715
                          #'label:' 'browse application'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   716
                          #'value:' #doBrowseAppClass
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   717
                      )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   718
                    ) nil
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   719
                    nil
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   720
                )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   721
            )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   722
             #(#MenuItem
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   723
                #'label:' 'test'
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   724
                #'submenuChannel:' #submenuTest
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   725
            )
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   726
          ) nil
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   727
          nil
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   728
      )
243
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
   729
266
dd70070d6652 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 263
diff changeset
   730
    "Modified: 28.7.1997 / 18:12:10 / cg"
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   731
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   732
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   733
windowSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   734
    "this window spec was automatically generated by the ST/X UIPainter"
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   735
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   736
    "do not manually edit this - the painter/builder may not be able to
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   737
     handle the specification if its corrupted."
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   738
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   739
    "
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   740
     UIPainter new openOnClass:MenuEditor andSelector:#windowSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   741
     MenuEditor new openInterface:#windowSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   742
    "
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   743
    "MenuEditor open"
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   744
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   745
    <resource: #canvas>
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   746
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   747
    ^
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   748
     
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   749
       #(#FullSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   750
          #'window:' 
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   751
           #(#WindowSpec
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
   752
              #'name:' 'MenuEditor'
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   753
              #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   754
              #'label:' 'Menu Builder'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   755
              #'bounds:' #(#Rectangle 0 0 580 384)
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   756
          )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   757
          #'component:' 
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   758
           #(#SpecCollection
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   759
              #'collection:' 
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   760
               #(
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   761
                 #(#ArbitraryComponentSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   762
                    #'name:' 'painterView'
220
ca
parents: 218
diff changeset
   763
                    #'layout:' #(#LayoutFrame 0 0.0 57 0 0 0.5 0 1.0)
ca
parents: 218
diff changeset
   764
                    #'menu:' #menuPainter
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   765
                    #'hasHorizontalScrollBar:' true
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   766
                    #'hasVerticalScrollBar:' true
220
ca
parents: 218
diff changeset
   767
                    #'component:' #painter
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   768
                    #'hasBorder:' false
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   769
                )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   770
                 #(#NoteBookViewSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   771
                    #'name:' 'specificationView'
220
ca
parents: 218
diff changeset
   772
                    #'layout:' #(#LayoutFrame 0 0.5 0 0.0 0 1.0 -25 1.0)
ca
parents: 218
diff changeset
   773
                    #'tabable:' true
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   774
                    #'menu:' #tabList
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   775
                    #'model:' #tabModel
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   776
                    #'tabWidget:' #Window
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   777
                    #'useIndex:' true
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
   778
                    #'canvas:' #noteBookView
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   779
                )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   780
                 #(#HorizontalPanelViewSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   781
                    #'name:' 'confirmationPanel'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   782
                    #'layout:' #(#LayoutFrame 0 0.5 -24 1.0 0 1.0 0 1.0)
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   783
                    #'component:' 
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   784
                     #(#SpecCollection
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   785
                        #'collection:' 
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   786
                         #(
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   787
                           #(#ActionButtonSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   788
                              #'name:' 'cancelButton'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   789
                              #'label:' 'cancel'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   790
                              #'model:' #cancel
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   791
                              #'enableChannel:' #modifiedChannel
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   792
                              #'extent:' #(#Point 140 24)
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   793
                          )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   794
                           #(#ActionButtonSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   795
                              #'name:' 'acceptButton'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   796
                              #'label:' 'ok'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   797
                              #'model:' #accept
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   798
                              #'enableChannel:' #modifiedChannel
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   799
                              #'extent:' #(#Point 141 24)
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   800
                          )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   801
                        )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   802
                    )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   803
                    #'horizontalLayout:' #fitSpace
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   804
                    #'verticalLayout:' #fit
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   805
                    #'horizontalSpace:' 3
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   806
                    #'verticalSpace:' 3
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   807
                )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   808
                 #(#MenuPanelSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   809
                    #'name:' 'pullDownMenu'
220
ca
parents: 218
diff changeset
   810
                    #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 0.5 24 0)
ca
parents: 218
diff changeset
   811
                    #'tabable:' true
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   812
                    #'menu:' #menuPullDown
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   813
                )
220
ca
parents: 218
diff changeset
   814
                 #(#MenuPanelSpec
ca
parents: 218
diff changeset
   815
                    #'name:' 'menuPanel1'
ca
parents: 218
diff changeset
   816
                    #'layout:' #(#LayoutFrame 0 0 28 0 0 0.5 53 0)
ca
parents: 218
diff changeset
   817
                    #'menu:' #menuButtons
ca
parents: 218
diff changeset
   818
                    #'showSeparatingLines:' true
ca
parents: 218
diff changeset
   819
                )
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   820
              )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   821
          )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   822
      )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   823
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   824
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   825
!MenuEditor class methodsFor:'slices'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   826
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   827
slicesItem
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   828
    ^#(
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   829
            (Basics     basicsItemSpec)
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   830
            (Details    detailsEditSpec)
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   831
            (Misc       miscEditSpec)
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   832
      )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   833
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   834
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   835
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   836
slicesLink
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   837
    ^#(
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   838
            (Basics     basicsLinkSpec)
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   839
            (Details    detailsEditSpec)
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   840
            (Misc       miscEditSpec)
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   841
      )
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   842
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   843
!
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   844
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   845
slicesMenu
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   846
    ^#(
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   847
            (Basics     basicsMenuSpec)
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   848
            (Details    detailsEditSpec)
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   849
            (Misc       miscEditSpec)
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   850
      )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   851
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   852
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   853
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   854
slicesRootMenu
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   855
    ^#(
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   856
            (Basics   basicsRootSpec)
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   857
      )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   858
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   859
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   860
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   861
slicesSeparatorMenu
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   862
    ^#(
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   863
            (Basics   basicsSeparatorSpec)
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   864
      )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   865
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   866
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   867
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   868
!MenuEditor class methodsFor:'specs'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   869
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   870
basicsItemSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   871
    "this window spec was automatically generated by the ST/X UIPainter"
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   872
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   873
    "do not manually edit this - the painter/builder may not be able to
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   874
     handle the specification if its corrupted."
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   875
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   876
    "
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   877
     UIPainter new openOnClass:MenuEditor andSelector:#basicsItemSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   878
     MenuEditor new openInterface:#basicsItemSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   879
    "
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   880
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   881
    <resource: #canvas>
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   882
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   883
    ^
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   884
     
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   885
       #(#FullSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   886
          #'window:' 
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   887
           #(#WindowSpec
290
1428bab2aa68 an empty selection is now specified by 0
ca
parents: 287
diff changeset
   888
              #'name:' 'unnamed canvas'
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   889
              #'layout:' #(#LayoutFrame 219 0 193 0 485 0 511 0)
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   890
              #'label:' 'unnamed canvas'
290
1428bab2aa68 an empty selection is now specified by 0
ca
parents: 287
diff changeset
   891
              #'min:' #(#Point 10 10)
1428bab2aa68 an empty selection is now specified by 0
ca
parents: 287
diff changeset
   892
              #'max:' #(#Point 1160 870)
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   893
              #'bounds:' #(#Rectangle 219 193 486 512)
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   894
              #'usePreferredExtent:' false
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   895
          )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   896
          #'component:' 
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   897
           #(#SpecCollection
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   898
              #'collection:' 
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   899
               #(
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   900
                 #(#LabelSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   901
                    #'name:' 'nameKeyLabel'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   902
                    #'layout:' #(#AlignmentOrigin 87 0 26 0 1 0.5)
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   903
                    #'label:' 'NameKey:'
263
25f080e1217f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 258
diff changeset
   904
                    #'adjust:' #right
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   905
                    #'resizeForLabel:' true
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   906
                )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   907
                 #(#InputFieldSpec
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   908
                    #'name:' 'nameKeyField'
263
25f080e1217f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 258
diff changeset
   909
                    #'layout:' #(#LayoutFrame 91 0 15 0 0 1.0 37 0)
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   910
                    #'activeHelpKey:' #nameKey
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   911
                    #'tabable:' true
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   912
                    #'model:' #nameKey
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   913
                    #'type:' #symbolOrNil
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   914
                )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   915
                 #(#LabelSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   916
                    #'name:' 'labelLabel'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   917
                    #'layout:' #(#AlignmentOrigin 87 0 53 0 1 0.5)
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   918
                    #'label:' 'Label'
263
25f080e1217f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 258
diff changeset
   919
                    #'adjust:' #right
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   920
                    #'resizeForLabel:' true
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   921
                )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   922
                 #(#InputFieldSpec
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   923
                    #'name:' 'labelField'
263
25f080e1217f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 258
diff changeset
   924
                    #'layout:' #(#LayoutFrame 91 0 42 0 0 1.0 64 0)
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   925
                    #'activeHelpKey:' #label
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   926
                    #'tabable:' true
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   927
                    #'model:' #label
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   928
                )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   929
                 #(#LabelSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   930
                    #'name:' 'valueLabel'
290
1428bab2aa68 an empty selection is now specified by 0
ca
parents: 287
diff changeset
   931
                    #'layout:' #(#AlignmentOrigin 87 0 94 0 1 0.5)
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   932
                    #'label:' 'Value:'
263
25f080e1217f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 258
diff changeset
   933
                    #'adjust:' #right
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   934
                    #'resizeForLabel:' true
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   935
                )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   936
                 #(#InputFieldSpec
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   937
                    #'name:' 'valueField'
290
1428bab2aa68 an empty selection is now specified by 0
ca
parents: 287
diff changeset
   938
                    #'layout:' #(#LayoutFrame 91 0 83 0 0 1.0 105 0)
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   939
                    #'activeHelpKey:' #value
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   940
                    #'tabable:' true
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   941
                    #'model:' #value
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   942
                    #'type:' #symbolOrNil
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   943
                )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   944
                 #(#LabelSpec
290
1428bab2aa68 an empty selection is now specified by 0
ca
parents: 287
diff changeset
   945
                    #'name:' 'argumentLabel'
1428bab2aa68 an empty selection is now specified by 0
ca
parents: 287
diff changeset
   946
                    #'layout:' #(#AlignmentOrigin 87 0 120 0 1 0.5)
1428bab2aa68 an empty selection is now specified by 0
ca
parents: 287
diff changeset
   947
                    #'label:' 'Argument:'
1428bab2aa68 an empty selection is now specified by 0
ca
parents: 287
diff changeset
   948
                    #'adjust:' #right
1428bab2aa68 an empty selection is now specified by 0
ca
parents: 287
diff changeset
   949
                    #'resizeForLabel:' true
1428bab2aa68 an empty selection is now specified by 0
ca
parents: 287
diff changeset
   950
                )
1428bab2aa68 an empty selection is now specified by 0
ca
parents: 287
diff changeset
   951
                 #(#InputFieldSpec
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   952
                    #'name:' 'argumentField'
290
1428bab2aa68 an empty selection is now specified by 0
ca
parents: 287
diff changeset
   953
                    #'layout:' #(#LayoutFrame 91 0 109 0 0 1.0 131 0)
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   954
                    #'activeHelpKey:' #argument
290
1428bab2aa68 an empty selection is now specified by 0
ca
parents: 287
diff changeset
   955
                    #'tabable:' true
1428bab2aa68 an empty selection is now specified by 0
ca
parents: 287
diff changeset
   956
                    #'model:' #argument
1428bab2aa68 an empty selection is now specified by 0
ca
parents: 287
diff changeset
   957
                    #'type:' #string
1428bab2aa68 an empty selection is now specified by 0
ca
parents: 287
diff changeset
   958
                )
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   959
                 #(#LabelSpec
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   960
                    #'name:' 'indicationLabel'
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   961
                    #'layout:' #(#AlignmentOrigin 87 0 160 0 1 0.5)
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   962
                    #'label:' 'Indication:'
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   963
                    #'adjust:' #right
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   964
                    #'resizeForLabel:' true
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   965
                )
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   966
                 #(#InputFieldSpec
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   967
                    #'name:' 'indicationField'
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   968
                    #'layout:' #(#LayoutFrame 91 0 149 0 0 1.0 171 0)
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   969
                    #'activeHelpKey:' #indication
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   970
                    #'tabable:' true
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   971
                    #'model:' #indication
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   972
                    #'type:' #symbolOrNil
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   973
                )
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   974
              )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   975
          )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   976
      )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   977
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
   978
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   979
basicsLinkSpec
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   980
    "this window spec was automatically generated by the ST/X UIPainter"
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   981
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   982
    "do not manually edit this - the painter/builder may not be able to
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   983
     handle the specification if its corrupted."
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   984
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   985
    "
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   986
     UIPainter new openOnClass:MenuEditor andSelector:#basicsLinkSpec
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   987
     MenuEditor new openInterface:#basicsLinkSpec
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   988
    "
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   989
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   990
    <resource: #canvas>
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   991
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   992
    ^
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   993
     
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   994
       #(#FullSpec
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   995
          #'window:' 
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   996
           #(#WindowSpec
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   997
              #'name:' 'unnamed canvas'
7017eaabd9ed add help text
ca
parents: 359
diff changeset
   998
              #'layout:' #(#LayoutFrame 219 0 193 0 485 0 511 0)
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
   999
              #'label:' 'unnamed canvas'
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1000
              #'min:' #(#Point 10 10)
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1001
              #'max:' #(#Point 1280 1024)
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1002
              #'bounds:' #(#Rectangle 219 193 486 512)
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1003
              #'usePreferredExtent:' false
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1004
          )
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1005
          #'component:' 
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1006
           #(#SpecCollection
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1007
              #'collection:' 
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1008
               #(
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1009
                 #(#LabelSpec
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1010
                    #'name:' 'nameKeyLabel'
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1011
                    #'layout:' #(#AlignmentOrigin 87 0 26 0 1 0.5)
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1012
                    #'activeHelpKey:' #nameKey
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1013
                    #'label:' 'NameKey:'
263
25f080e1217f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 258
diff changeset
  1014
                    #'adjust:' #right
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1015
                    #'resizeForLabel:' true
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1016
                )
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1017
                 #(#InputFieldSpec
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1018
                    #'name:' 'nameKeyField'
263
25f080e1217f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 258
diff changeset
  1019
                    #'layout:' #(#LayoutFrame 91 0 15 0 0 1.0 37 0)
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1020
                    #'activeHelpKey:' #nameKey
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1021
                    #'tabable:' true
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1022
                    #'model:' #nameKey
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1023
                    #'type:' #symbolOrNil
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1024
                )
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1025
                 #(#LabelSpec
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1026
                    #'name:' 'labelLabel'
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1027
                    #'layout:' #(#AlignmentOrigin 87 0 53 0 1 0.5)
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1028
                    #'label:' 'Label'
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1029
                    #'resizeForLabel:' true
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1030
                )
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1031
                 #(#InputFieldSpec
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1032
                    #'name:' 'labelField'
263
25f080e1217f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 258
diff changeset
  1033
                    #'layout:' #(#LayoutFrame 91 0 42 0 0 1.0 64 0)
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1034
                    #'activeHelpKey:' #label
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1035
                    #'tabable:' true
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1036
                    #'model:' #label
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1037
                )
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1038
                 #(#InputFieldSpec
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1039
                    #'name:' 'menuField'
263
25f080e1217f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 258
diff changeset
  1040
                    #'layout:' #(#LayoutFrame 91 0 69 0 0 1.0 91 0)
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1041
                    #'activeHelpKey:' #submenuChannel
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1042
                    #'tabable:' true
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1043
                    #'model:' #submenuChannel
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1044
                    #'type:' #symbolOrNil
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1045
                )
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1046
                 #(#LabelSpec
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1047
                    #'name:' 'menuLabel'
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1048
                    #'layout:' #(#AlignmentOrigin 87 0 80 0 1 0.5)
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1049
                    #'label:' 'Menu:'
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1050
                    #'resizeForLabel:' true
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1051
                )
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1052
              )
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1053
          )
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1054
      )
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1055
!
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1056
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1057
basicsMenuSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1058
    "this window spec was automatically generated by the ST/X UIPainter"
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1059
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1060
    "do not manually edit this - the painter/builder may not be able to
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1061
     handle the specification if its corrupted."
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1062
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1063
    "
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1064
     UIPainter new openOnClass:MenuEditor andSelector:#basicsMenuSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1065
     MenuEditor new openInterface:#basicsMenuSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1066
    "
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1067
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1068
    <resource: #canvas>
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1069
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1070
    ^
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1071
     
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1072
       #(#FullSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1073
          #'window:' 
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1074
           #(#WindowSpec
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1075
              #'name:' 'unnamed canvas'
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1076
              #'layout:' #(#LayoutFrame 219 0 193 0 485 0 511 0)
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1077
              #'label:' 'unnamed canvas'
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1078
              #'min:' #(#Point 10 10)
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1079
              #'max:' #(#Point 1280 1024)
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1080
              #'bounds:' #(#Rectangle 219 193 486 512)
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1081
              #'usePreferredExtent:' false
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1082
          )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1083
          #'component:' 
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1084
           #(#SpecCollection
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1085
              #'collection:' 
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1086
               #(
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1087
                 #(#LabelSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1088
                    #'name:' 'nameKeyLabel'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1089
                    #'layout:' #(#AlignmentOrigin 87 0 26 0 1 0.5)
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1090
                    #'label:' 'NameKey:'
263
25f080e1217f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 258
diff changeset
  1091
                    #'adjust:' #right
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1092
                    #'resizeForLabel:' true
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1093
                )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1094
                 #(#InputFieldSpec
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1095
                    #'name:' 'nameKeyField'
263
25f080e1217f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 258
diff changeset
  1096
                    #'layout:' #(#LayoutFrame 91 0 15 0 0 1.0 37 0)
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1097
                    #'activeHelpKey:' #nameKey
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1098
                    #'tabable:' true
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1099
                    #'model:' #nameKey
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1100
                    #'type:' #symbolOrNil
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1101
                )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1102
                 #(#LabelSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1103
                    #'name:' 'labelLabel'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1104
                    #'layout:' #(#AlignmentOrigin 87 0 53 0 1 0.5)
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1105
                    #'label:' 'Label'
263
25f080e1217f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 258
diff changeset
  1106
                    #'adjust:' #right
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1107
                    #'resizeForLabel:' true
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1108
                )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1109
                 #(#InputFieldSpec
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1110
                    #'name:' 'labelField'
263
25f080e1217f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 258
diff changeset
  1111
                    #'layout:' #(#LayoutFrame 91 0 42 0 0 1.0 64 0)
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1112
                    #'activeHelpKey:' #label
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1113
                    #'tabable:' true
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1114
                    #'model:' #label
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1115
                )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1116
              )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1117
          )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1118
      )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1119
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1120
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1121
basicsRootSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1122
    "this window spec was automatically generated by the ST/X UIPainter"
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1123
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1124
    "do not manually edit this - the painter/builder may not be able to
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1125
     handle the specification if its corrupted."
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1126
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1127
    "
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1128
     UIPainter new openOnClass:MenuEditor andSelector:#basicsRootSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1129
     MenuEditor new openInterface:#basicsRootSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1130
    "
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1131
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1132
    <resource: #canvas>
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1133
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1134
    ^
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1135
     
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1136
       #(#FullSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1137
          #'window:' 
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1138
           #(#WindowSpec
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1139
              #'name:' 'unnamed canvas'
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1140
              #'layout:' #(#LayoutFrame 219 0 193 0 485 0 511 0)
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1141
              #'label:' 'unnamed canvas'
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1142
              #'min:' #(#Point 10 10)
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1143
              #'max:' #(#Point 1280 1024)
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1144
              #'bounds:' #(#Rectangle 219 193 486 512)
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1145
              #'usePreferredExtent:' false
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1146
          )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1147
          #'component:' 
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1148
           #(#SpecCollection
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1149
              #'collection:' 
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1150
               #(
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1151
                 #(#LabelSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1152
                    #'name:' 'selectorLabel'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1153
                    #'layout:' #(#AlignmentOrigin 78 0 53 0 1 0.5)
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1154
                    #'label:' 'Selector:'
263
25f080e1217f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 258
diff changeset
  1155
                    #'adjust:' #right
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1156
                    #'resizeForLabel:' true
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1157
                )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1158
                 #(#InputFieldSpec
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1159
                    #'name:' 'selectorField'
263
25f080e1217f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 258
diff changeset
  1160
                    #'layout:' #(#LayoutFrame 82 0 42 0 0 1.0 64 0)
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1161
                    #'activeHelpKey:' #menuSelector
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1162
                    #'tabable:' true
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1163
                    #'model:' #label
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1164
                )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1165
              )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1166
          )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1167
      )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1168
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1169
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1170
basicsSeparatorSpec
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1171
    "this window spec was automatically generated by the ST/X UIPainter"
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1172
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1173
    "do not manually edit this - the painter/builder may not be able to
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1174
     handle the specification if its corrupted."
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1175
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1176
    "
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1177
     UIPainter new openOnClass:MenuEditor andSelector:#basicsSeparatorSpec
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1178
     MenuEditor new openInterface:#basicsSeparatorSpec
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1179
    "
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1180
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1181
    <resource: #canvas>
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1182
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1183
    ^
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1184
     
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1185
       #(#FullSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1186
          #'window:' 
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1187
           #(#WindowSpec
290
1428bab2aa68 an empty selection is now specified by 0
ca
parents: 287
diff changeset
  1188
              #'name:' 'unnamed canvas'
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1189
              #'layout:' #(#LayoutFrame 219 0 193 0 485 0 511 0)
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1190
              #'label:' 'unnamed canvas'
290
1428bab2aa68 an empty selection is now specified by 0
ca
parents: 287
diff changeset
  1191
              #'min:' #(#Point 10 10)
1428bab2aa68 an empty selection is now specified by 0
ca
parents: 287
diff changeset
  1192
              #'max:' #(#Point 1160 870)
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1193
              #'bounds:' #(#Rectangle 219 193 486 512)
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1194
              #'usePreferredExtent:' false
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1195
          )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1196
          #'component:' 
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1197
           #(#SpecCollection
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1198
              #'collection:' 
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1199
               #(
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1200
                 #(#LabelSpec
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1201
                    #'name:' 'separatorLabel'
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1202
                    #'layout:' #(#AlignmentOrigin 127 0 22 0 1 0.5)
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1203
                    #'label:' 'Separator Type:'
263
25f080e1217f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 258
diff changeset
  1204
                    #'adjust:' #right
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1205
                    #'resizeForLabel:' true
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1206
                )
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1207
                 #(#ComboListSpec
290
1428bab2aa68 an empty selection is now specified by 0
ca
parents: 287
diff changeset
  1208
                    #'name:' 'seperatorList'
263
25f080e1217f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 258
diff changeset
  1209
                    #'layout:' #(#LayoutFrame 132 0 11 0 0 1.0 33 0)
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1210
                    #'activeHelpKey:' #seperatorList
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1211
                    #'model:' #seperatorSelection
290
1428bab2aa68 an empty selection is now specified by 0
ca
parents: 287
diff changeset
  1212
                    #'useIndex:' true
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1213
                )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1214
              )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1215
          )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1216
      )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1217
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1218
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1219
detailsEditSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1220
    "this window spec was automatically generated by the ST/X UIPainter"
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1221
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1222
    "do not manually edit this - the painter/builder may not be able to
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1223
     handle the specification if its corrupted."
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1224
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1225
    "
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1226
     UIPainter new openOnClass:MenuEditor andSelector:#detailsEditSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1227
     MenuEditor new openInterface:#detailsEditSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1228
    "
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1229
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1230
    <resource: #canvas>
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1231
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1232
    ^
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1233
     
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1234
       #(#FullSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1235
          #'window:' 
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1236
           #(#WindowSpec
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1237
              #'name:' 'unnamed canvas'
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1238
              #'layout:' #(#LayoutFrame 219 0 193 0 477 0 480 0)
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1239
              #'label:' 'unnamed canvas'
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1240
              #'min:' #(#Point 10 10)
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1241
              #'max:' #(#Point 1280 1024)
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1242
              #'bounds:' #(#Rectangle 219 193 478 481)
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1243
              #'usePreferredExtent:' false
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1244
          )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1245
          #'component:' 
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1246
           #(#SpecCollection
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1247
              #'collection:' 
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1248
               #(
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1249
                 #(#LabelSpec
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1250
                    #'name:' 'shortcutKeyLabel'
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1251
                    #'layout:' #(#AlignmentOrigin 87 0 33 0 1 0.5)
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1252
                    #'label:' 'Accelerator:'
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1253
                    #'adjust:' #right
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1254
                    #'resizeForLabel:' true
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1255
                )
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1256
                 #(#InputFieldSpec
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1257
                    #'name:' 'shortcutKeyField'
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1258
                    #'layout:' #(#LayoutFrame 91 0 22 0 0 1.0 44 0)
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1259
                    #'activeHelpKey:' #shortcutKey
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1260
                    #'tabable:' true
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1261
                    #'model:' #shortcutKey
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1262
                    #'type:' #symbolOrNil
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1263
                )
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1264
                 #(#LabelSpec
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1265
                    #'name:' 'enabledLabel'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1266
                    #'layout:' #(#AlignmentOrigin 87 0 59 0 1 0.5)
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1267
                    #'label:' 'Enabled:'
263
25f080e1217f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 258
diff changeset
  1268
                    #'adjust:' #right
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1269
                    #'resizeForLabel:' true
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1270
                )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1271
                 #(#InputFieldSpec
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1272
                    #'name:' 'enabledField'
263
25f080e1217f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 258
diff changeset
  1273
                    #'layout:' #(#LayoutFrame 91 0 48 0 0 1.0 70 0)
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1274
                    #'activeHelpKey:' #enbled
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1275
                    #'tabable:' true
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1276
                    #'model:' #enabled
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1277
                    #'type:' #symbolOrNil
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1278
                )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1279
                 #(#LabelSpec
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1280
                    #'name:' 'accessCharLabel'
263
25f080e1217f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 258
diff changeset
  1281
                    #'layout:' #(#AlignmentOrigin 211 0 127 0 1 0.5)
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1282
                    #'label:' 'Access Character Position:'
263
25f080e1217f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 258
diff changeset
  1283
                    #'adjust:' #right
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1284
                    #'resizeForLabel:' true
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1285
                )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1286
                 #(#InputFieldSpec
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1287
                    #'name:' 'accessCharField'
263
25f080e1217f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 258
diff changeset
  1288
                    #'layout:' #(#LayoutFrame 215 0 116 0 0 1.0 138 0)
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1289
                    #'activeHelpKey:' #accessCharaterPos
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1290
                    #'tabable:' true
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1291
                    #'model:' #accessCharaterPos
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1292
                    #'type:' #numberOrNil
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1293
                )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1294
              )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1295
          )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1296
      )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1297
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1298
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1299
miscEditSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1300
    "this window spec was automatically generated by the ST/X UIPainter"
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1301
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1302
    "do not manually edit this - the painter/builder may not be able to
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1303
     handle the specification if its corrupted."
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1304
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1305
    "
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1306
     UIPainter new openOnClass:MenuEditor andSelector:#miscEditSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1307
     MenuEditor new openInterface:#miscEditSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1308
    "
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1309
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1310
    <resource: #canvas>
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1311
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1312
    ^
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1313
     
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1314
       #(#FullSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1315
          #'window:' 
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1316
           #(#WindowSpec
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1317
              #'name:' 'unnamed canvas'
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1318
              #'layout:' #(#LayoutFrame 219 0 193 0 463 0 334 0)
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1319
              #'label:' 'unnamed canvas'
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1320
              #'min:' #(#Point 10 10)
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1321
              #'max:' #(#Point 1280 1024)
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1322
              #'bounds:' #(#Rectangle 219 193 464 335)
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1323
              #'usePreferredExtent:' false
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1324
          )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1325
          #'component:' 
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1326
           #(#SpecCollection
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1327
              #'collection:' 
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1328
               #(
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1329
                 #(#LabelSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1330
                    #'name:' 'retrieverLabel'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1331
                    #'layout:' #(#AlignmentOrigin 77 0 26 0 1 0.5)
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1332
                    #'label:' 'Retriever:'
263
25f080e1217f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 258
diff changeset
  1333
                    #'adjust:' #right
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1334
                    #'resizeForLabel:' true
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1335
                )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1336
                 #(#InputFieldSpec
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1337
                    #'name:' 'retrieverField'
263
25f080e1217f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 258
diff changeset
  1338
                    #'layout:' #(#LayoutFrame 81 0 15 0 0 1.0 37 0)
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1339
                    #'activeHelpKey:' #retriever
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1340
                    #'tabable:' true
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1341
                    #'model:' #retriever
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1342
                    #'type:' #symbolOrNil
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1343
                )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1344
                 #(#LabelSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1345
                    #'name:' 'iconLabel'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1346
                    #'layout:' #(#AlignmentOrigin 77 0 50 0 1 0.5)
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1347
                    #'label:' 'Icon:'
263
25f080e1217f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 258
diff changeset
  1348
                    #'adjust:' #right
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1349
                    #'resizeForLabel:' true
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1350
                )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1351
                 #(#InputFieldSpec
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1352
                    #'name:' 'iconField'
263
25f080e1217f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 258
diff changeset
  1353
                    #'layout:' #(#LayoutFrame 81 0 39 0 0 1.0 61 0)
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1354
                    #'activeHelpKey:' #icon
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1355
                    #'tabable:' true
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1356
                    #'model:' #icon
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1357
                    #'type:' #symbolOrNil
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1358
                )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1359
                 #(#CheckBoxSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1360
                    #'name:' 'iconAndLabel'
263
25f080e1217f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 258
diff changeset
  1361
                    #'layout:' #(#LayoutOrigin 15 0 85 0)
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  1362
                    #'activeHelpKey:' #iconAndLabel
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1363
                    #'tabable:' true
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1364
                    #'model:' #iconAndLabel
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1365
                    #'label:' 'Icon & Label'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1366
                )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1367
              )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1368
          )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1369
      )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1370
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1371
209
b2fa6f8d4808 postBuildWith:builder
ca
parents: 199
diff changeset
  1372
!MenuEditor class methodsFor:'startup'!
b2fa6f8d4808 postBuildWith:builder
ca
parents: 199
diff changeset
  1373
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  1374
openModalOnClass:aClass andSelector:aSelector
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  1375
    ^ self new openModalOnClass:aClass andSelector:aSelector
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  1376
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  1377
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  1378
!
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  1379
209
b2fa6f8d4808 postBuildWith:builder
ca
parents: 199
diff changeset
  1380
openOnClass:aClass andSelector:aSelector
b2fa6f8d4808 postBuildWith:builder
ca
parents: 199
diff changeset
  1381
    ^ self new openOnClass:aClass andSelector:aSelector
b2fa6f8d4808 postBuildWith:builder
ca
parents: 199
diff changeset
  1382
b2fa6f8d4808 postBuildWith:builder
ca
parents: 199
diff changeset
  1383
b2fa6f8d4808 postBuildWith:builder
ca
parents: 199
diff changeset
  1384
! !
b2fa6f8d4808 postBuildWith:builder
ca
parents: 199
diff changeset
  1385
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1386
!MenuEditor methodsFor:'accessing'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1387
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1388
menuDefaultLink
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1389
    ^ self class menuDefaultLink
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1390
!
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1391
270
1a68f7479932 provide access to the menus selector;
Claus Gittinger <cg@exept.de>
parents: 266
diff changeset
  1392
selectorName
1a68f7479932 provide access to the menus selector;
Claus Gittinger <cg@exept.de>
parents: 266
diff changeset
  1393
    ^ self painter selectorName
1a68f7479932 provide access to the menus selector;
Claus Gittinger <cg@exept.de>
parents: 266
diff changeset
  1394
1a68f7479932 provide access to the menus selector;
Claus Gittinger <cg@exept.de>
parents: 266
diff changeset
  1395
    "Created: 31.7.1997 / 14:11:28 / cg"
1a68f7479932 provide access to the menus selector;
Claus Gittinger <cg@exept.de>
parents: 266
diff changeset
  1396
!
1a68f7479932 provide access to the menus selector;
Claus Gittinger <cg@exept.de>
parents: 266
diff changeset
  1397
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1398
specClass
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1399
    ^ specClass
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1400
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1401
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1402
specClass:aClass
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1403
    aClass isBehavior ifTrue:[specClass := aClass name]
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1404
                     ifFalse:[specClass := aClass].
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1405
!
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1406
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1407
submenuTest
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1408
    "returns submenu assigned to item test
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1409
    "
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1410
    |menu|
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1411
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1412
    menu := self painter asMenu.
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1413
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1414
    menu allItemsDo:[:anItem|
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1415
        anItem value:nil.
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1416
        anItem enabled:true.
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1417
    ].
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1418
  ^ menu
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1419
!
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1420
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1421
useHelpDictionary:aDictionary
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1422
    self noteBookView.
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1423
    self helpTool dictionary:aDictionary.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1424
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1425
220
ca
parents: 218
diff changeset
  1426
!MenuEditor methodsFor:'accessing menu'!
ca
parents: 218
diff changeset
  1427
ca
parents: 218
diff changeset
  1428
menuButtons
ca
parents: 218
diff changeset
  1429
    "this window spec was automatically generated by the ST/X MenuEditor"
ca
parents: 218
diff changeset
  1430
ca
parents: 218
diff changeset
  1431
    ^ self class menuButtons
ca
parents: 218
diff changeset
  1432
ca
parents: 218
diff changeset
  1433
ca
parents: 218
diff changeset
  1434
!
ca
parents: 218
diff changeset
  1435
ca
parents: 218
diff changeset
  1436
menuPainter
ca
parents: 218
diff changeset
  1437
    "this window spec was automatically generated by the ST/X MenuEditor"
ca
parents: 218
diff changeset
  1438
ca
parents: 218
diff changeset
  1439
    ^ self class menuPainter
ca
parents: 218
diff changeset
  1440
ca
parents: 218
diff changeset
  1441
298
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  1442
!
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  1443
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  1444
menuPullDown
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  1445
    "this window spec was automatically generated by the ST/X MenuEditor"
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  1446
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  1447
    ^ self class menuPullDown
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  1448
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  1449
220
ca
parents: 218
diff changeset
  1450
! !
ca
parents: 218
diff changeset
  1451
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1452
!MenuEditor methodsFor:'actions'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1453
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1454
accept
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1455
    "automatically generated by UIPainter ..."
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1456
255
989494227ffc use #booleanAspectFor: , a codeSaver
Claus Gittinger <cg@exept.de>
parents: 249
diff changeset
  1457
    |painter node cont|
989494227ffc use #booleanAspectFor: , a codeSaver
Claus Gittinger <cg@exept.de>
parents: 249
diff changeset
  1458
989494227ffc use #booleanAspectFor: , a codeSaver
Claus Gittinger <cg@exept.de>
parents: 249
diff changeset
  1459
    painter := self painter.
989494227ffc use #booleanAspectFor: , a codeSaver
Claus Gittinger <cg@exept.de>
parents: 249
diff changeset
  1460
    node := painter selectedNode.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1461
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1462
    node notNil ifTrue:[
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1463
        self isHelpToolSelected ifTrue:[
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1464
            self helpTool accept.
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1465
            node contents activeHelpKey:(self helpTool helpKey)
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1466
        ] ifFalse:[
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1467
            cont := node contents buildFromAspects:aspects.
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1468
            painter selectedNodeChanged
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1469
        ]
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1470
    ].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1471
    self modifiedChannel value:false.
356
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  1472
    isModified := true.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1473
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1474
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1475
cancel
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1476
    |node|
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1477
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1478
    (node := self painter selectedNode) notNil ifTrue:[
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1479
        self helpTool helpKey:(self helpKey).
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1480
        aspects do:[:anAspect| anAspect value:nil ].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1481
        node contents toAspects:aspects.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1482
    ].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1483
    self modifiedChannel value:false.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1484
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1485
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1486
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1487
!MenuEditor methodsFor:'aspects'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1488
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1489
aspectFor:aKey
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1490
    "returns aspect for a key or nil
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1491
    "
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1492
  ^ aspects at:aKey ifAbsent:[ super aspectFor:aKey ]
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1493
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1494
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1495
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1496
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1497
enabledStepIn
257
02d6daa8d878 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
  1498
    ^ builder booleanValueAspectFor:#enabledStepIn
02d6daa8d878 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
  1499
02d6daa8d878 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
  1500
    "Modified: 28.7.1997 / 12:51:55 / cg"
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1501
!
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1502
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1503
enabledStepOut
257
02d6daa8d878 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
  1504
    ^ builder booleanValueAspectFor:#enabledStepOut
02d6daa8d878 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
  1505
02d6daa8d878 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
  1506
    "Modified: 28.7.1997 / 12:52:04 / cg"
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1507
!
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1508
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1509
enabledStepOver
257
02d6daa8d878 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
  1510
    ^ builder booleanValueAspectFor:#enabledStepOver
02d6daa8d878 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
  1511
02d6daa8d878 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
  1512
    "Modified: 28.7.1997 / 12:52:07 / cg"
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1513
!
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1514
220
ca
parents: 218
diff changeset
  1515
hasAnySingleSelection
257
02d6daa8d878 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
  1516
    ^ builder booleanValueAspectFor:#hasAnySingleSelection
02d6daa8d878 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
  1517
02d6daa8d878 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
  1518
    "Modified: 28.7.1997 / 12:52:09 / cg"
220
ca
parents: 218
diff changeset
  1519
!
ca
parents: 218
diff changeset
  1520
ca
parents: 218
diff changeset
  1521
hasValidSelection
257
02d6daa8d878 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
  1522
    ^ builder booleanValueAspectFor:#hasValidSelection
02d6daa8d878 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
  1523
02d6daa8d878 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
  1524
    "Modified: 28.7.1997 / 12:52:11 / cg"
220
ca
parents: 218
diff changeset
  1525
!
ca
parents: 218
diff changeset
  1526
ca
parents: 218
diff changeset
  1527
hasValidSingleSelection
257
02d6daa8d878 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
  1528
    ^ builder booleanValueAspectFor:#hasValidSingleSelection
02d6daa8d878 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
  1529
02d6daa8d878 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
  1530
    "Modified: 28.7.1997 / 12:52:13 / cg"
220
ca
parents: 218
diff changeset
  1531
!
ca
parents: 218
diff changeset
  1532
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1533
modifiedChannel
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1534
    "automatically generated by UIPainter ..."
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1535
257
02d6daa8d878 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
  1536
    ^ builder booleanValueAspectFor:#modifiedChannel
02d6daa8d878 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
  1537
02d6daa8d878 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
  1538
    "Modified: 28.7.1997 / 12:52:14 / cg"
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1539
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1540
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1541
noteBookView
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1542
    "automatically generated by UIPainter ..."
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1543
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1544
    |noteBook helpTool|
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1545
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1546
    (noteBook := builder bindingAt:#noteBookView) isNil ifTrue:[
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1547
        noteBook := View new.
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1548
        helpTool := UIHelpTool new.
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1549
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1550
        helpTool masterApplication:self.
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1551
        helpCanvas := SubCanvas origin:0.0@0.0 corner:1.0@1.0 in:noteBook.
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1552
        specCanvas := SubCanvas origin:0.0@0.0 corner:1.0@1.0 in:noteBook.
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1553
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1554
        helpCanvas client:helpTool.
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1555
        helpTool   masterApplication:self.
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1556
        helpTool   modifiedHolder:(self modifiedChannel).
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1557
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1558
        builder aspectAt:#noteBookView put:noteBook.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1559
    ].
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1560
    ^ noteBook
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1561
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1562
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1563
tabList
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1564
    "automatically generated by UIPainter ..."
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1565
298
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  1566
    |holder|
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  1567
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  1568
    (holder := builder bindingAt:#tabList) isNil ifTrue:[
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  1569
        builder aspectAt:#tabList put:(holder := #('Properties') asValue).
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  1570
    ].
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  1571
    ^ holder
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  1572
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  1573
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1574
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1575
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1576
tabModel
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1577
    "automatically generated by UIPainter ..."
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1578
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1579
    |holder|
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1580
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1581
    (holder := builder bindingAt:#tabModel) isNil ifTrue:[
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1582
        holder := AspectAdaptor new subject:self; forAspect:#tabSelection.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1583
        builder aspectAt:#tabModel put:holder.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1584
    ].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1585
    ^ holder
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1586
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1587
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1588
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1589
!MenuEditor methodsFor:'change & update'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1590
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1591
update:something with:aParameter from:changedObject
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1592
    "one of my models changed its value
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1593
    "
356
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  1594
    self modifiedChannel value:true.
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1595
!
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1596
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1597
updateEnabledChannels
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1598
    "update enabled channels
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1599
    "
220
ca
parents: 218
diff changeset
  1600
    |node parent next painter state|
ca
parents: 218
diff changeset
  1601
ca
parents: 218
diff changeset
  1602
    painter := self painter.
ca
parents: 218
diff changeset
  1603
    node    := painter selectedNode.
ca
parents: 218
diff changeset
  1604
    state   := false.
ca
parents: 218
diff changeset
  1605
ca
parents: 218
diff changeset
  1606
    node notNil ifTrue:[
ca
parents: 218
diff changeset
  1607
        self hasAnySingleSelection value:true.
ca
parents: 218
diff changeset
  1608
ca
parents: 218
diff changeset
  1609
        (parent := node parent) notNil ifTrue:[
ca
parents: 218
diff changeset
  1610
            next := parent childAt:((parent indexOfChild:node) + 1).
ca
parents: 218
diff changeset
  1611
            self enabledStepIn           value:(next notNil and:[next hasChildren]).
ca
parents: 218
diff changeset
  1612
            self enabledStepOver         value:(parent children size > 1).
ca
parents: 218
diff changeset
  1613
            self enabledStepOut          value:(parent parent notNil).
ca
parents: 218
diff changeset
  1614
            self hasValidSingleSelection value:true.
ca
parents: 218
diff changeset
  1615
            self hasValidSelection       value:true.
ca
parents: 218
diff changeset
  1616
          ^ self
ca
parents: 218
diff changeset
  1617
        ]
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1618
    ] ifFalse:[
220
ca
parents: 218
diff changeset
  1619
        self hasAnySingleSelection value:false.
ca
parents: 218
diff changeset
  1620
ca
parents: 218
diff changeset
  1621
        painter numberOfSelections ~~ 0 ifTrue:[
ca
parents: 218
diff changeset
  1622
            state := (painter isInSelection:1) not
ca
parents: 218
diff changeset
  1623
        ]
ca
parents: 218
diff changeset
  1624
    ].
ca
parents: 218
diff changeset
  1625
    self enabledStepOver         value:false.
ca
parents: 218
diff changeset
  1626
    self enabledStepIn           value:false.
ca
parents: 218
diff changeset
  1627
    self enabledStepOut          value:false.
ca
parents: 218
diff changeset
  1628
    self hasValidSingleSelection value:false.
ca
parents: 218
diff changeset
  1629
    self hasValidSelection       value:state.
ca
parents: 218
diff changeset
  1630
! !
ca
parents: 218
diff changeset
  1631
ca
parents: 218
diff changeset
  1632
!MenuEditor methodsFor:'event handling'!
ca
parents: 218
diff changeset
  1633
ca
parents: 218
diff changeset
  1634
doesNotUnderstand:aMessage
ca
parents: 218
diff changeset
  1635
   |painter|
ca
parents: 218
diff changeset
  1636
ca
parents: 218
diff changeset
  1637
   painter := self painter.
ca
parents: 218
diff changeset
  1638
ca
parents: 218
diff changeset
  1639
   (painter respondsTo:(aMessage selector)) ifTrue:[
ca
parents: 218
diff changeset
  1640
        ^ aMessage sendTo:painter
ca
parents: 218
diff changeset
  1641
   ].
ca
parents: 218
diff changeset
  1642
   super doesNotUnderstand:aMessage
ca
parents: 218
diff changeset
  1643
ca
parents: 218
diff changeset
  1644
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1645
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1646
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1647
!MenuEditor methodsFor:'private'!
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1648
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1649
helpKey
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1650
    |node|
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1651
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1652
    (node := self painter selectedNode) notNil ifTrue:[
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1653
        ^ node contents activeHelpKey
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1654
    ].
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1655
    ^ nil
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1656
!
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1657
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1658
helpTool
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1659
    ^ helpCanvas application
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1660
! !
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1661
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1662
!MenuEditor methodsFor:'queries'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1663
270
1a68f7479932 provide access to the menus selector;
Claus Gittinger <cg@exept.de>
parents: 266
diff changeset
  1664
didInstall
1a68f7479932 provide access to the menus selector;
Claus Gittinger <cg@exept.de>
parents: 266
diff changeset
  1665
    "returns true if the menu was installed
1a68f7479932 provide access to the menus selector;
Claus Gittinger <cg@exept.de>
parents: 266
diff changeset
  1666
    "
1a68f7479932 provide access to the menus selector;
Claus Gittinger <cg@exept.de>
parents: 266
diff changeset
  1667
356
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  1668
    ^ didInstall
270
1a68f7479932 provide access to the menus selector;
Claus Gittinger <cg@exept.de>
parents: 266
diff changeset
  1669
!
1a68f7479932 provide access to the menus selector;
Claus Gittinger <cg@exept.de>
parents: 266
diff changeset
  1670
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1671
isHelpToolSelected
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1672
    "returns true if current selection is help tool
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1673
    "
290
1428bab2aa68 an empty selection is now specified by 0
ca
parents: 287
diff changeset
  1674
    (tabSelection ~~ 0 and:[slices notNil]) ifTrue:[
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1675
        ^ (slices at:tabSelection) first = UIHelpTool label
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1676
    ].
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1677
    ^ false
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1678
!
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1679
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1680
isStandAlone
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1681
    "returns true in case of owner of the helptool
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1682
    "
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1683
    ^ self masterApplication isNil
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1684
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1685
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1686
!MenuEditor methodsFor:'selection'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1687
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1688
menuChanged
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1689
    |node item slc sel old|
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1690
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1691
    (node := self painter selectedNode) notNil ifTrue:[
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1692
        aspects do:[:anAspect| anAspect value:nil ].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1693
        item := node contents.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1694
        item toAspects:aspects.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1695
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1696
        item isSeparator ifFalse:[
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1697
            node parent isNil ifFalse:[
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1698
                node hasChildren ifTrue:[
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1699
                    slc := #slicesMenu
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1700
                ] ifFalse:[
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1701
                    item submenuChannel isNil ifTrue:[slc := #slicesItem]
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1702
                                             ifFalse:[slc := #slicesLink]
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1703
                ].
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1704
                slc := (self class perform:slc) copyWith:#( 'Help' #dummy ).
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1705
            ] ifTrue:[
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1706
                slc := self class perform:#slicesRootMenu
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1707
            ].
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1708
        ] ifTrue:[
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1709
            slc := self class perform:#slicesSeparatorMenu.
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1710
        ]
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1711
    ].
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1712
    self helpTool helpKey:(self helpKey).
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1713
    self modifiedChannel value:false.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1714
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1715
    slc ~= slices  ifTrue:[
290
1428bab2aa68 an empty selection is now specified by 0
ca
parents: 287
diff changeset
  1716
        tabSelection ~~ 0 ifTrue:[
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1717
            old := (slices at:tabSelection) first
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1718
        ].
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1719
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1720
        (slices := slc) notNil ifTrue:[
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1721
            sel := slices collect:[:s| s first].
290
1428bab2aa68 an empty selection is now specified by 0
ca
parents: 287
diff changeset
  1722
            tabSelection := 0.
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1723
            self tabList value:sel.
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1724
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1725
            (old notNil and:[(sel := sel findFirst:[:n|n = old]) ~~ 0]) ifFalse:[
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1726
                sel := 1
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1727
            ].
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1728
            self tabModel value:sel
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1729
        ] ifFalse:[
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1730
            self tabList value:nil.
290
1428bab2aa68 an empty selection is now specified by 0
ca
parents: 287
diff changeset
  1731
            self tabSelection:0.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1732
        ]
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1733
    ].
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1734
    self updateEnabledChannels
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1735
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1736
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1737
tabSelection
290
1428bab2aa68 an empty selection is now specified by 0
ca
parents: 287
diff changeset
  1738
    ^ tabSelection ? 0
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1739
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1740
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1741
tabSelection:aSelection
326
4dcda591af02 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 318
diff changeset
  1742
    |sel|
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1743
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1744
    tabSelection = aSelection ifTrue:[
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1745
        ^ self
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1746
    ].
298
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  1747
    (aSelection ~~ 0 and:[slices isNil]) ifTrue:[
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  1748
        ^ self
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  1749
    ].
290
1428bab2aa68 an empty selection is now specified by 0
ca
parents: 287
diff changeset
  1750
    (tabSelection := aSelection) == 0 ifTrue:[
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1751
        slices isNil ifTrue:[
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1752
            specCanvas client:nil.
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1753
            ^ specCanvas raise.
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1754
        ].
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1755
        tabSelection == 1 ifTrue:[^ self].
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1756
        tabSelection := 1
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1757
    ].
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1758
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1759
    self isHelpToolSelected ifTrue:[
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1760
        self helpTool helpKey:(self helpKey).
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1761
        helpCanvas raise.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1762
    ] ifFalse:[
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1763
        sel := (slices at:tabSelection) last.
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1764
        specCanvas client:self spec:(self class perform:sel) builder:builder.
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1765
        specCanvas raise.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1766
    ]    
298
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  1767
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1768
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1769
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1770
!MenuEditor methodsFor:'startup / release'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1771
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1772
buildFrom:aClass andSelector:aSelector
249
bfa28b62528c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
  1773
    |oldClass newClass|
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1774
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1775
    oldClass := self specClass.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1776
    self specClass:aClass.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1777
    newClass := self specClass.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1778
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1779
    (self isStandAlone and:[oldClass ~= newClass]) ifTrue:[
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1780
        self helpTool helpSpecFrom:newClass
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1781
    ].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1782
    self painter buildFrom:newClass andSelector:aSelector.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1783
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1784
356
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  1785
closeRequest
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  1786
    "close request
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  1787
    "
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  1788
    isModified ifTrue:[
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  1789
        (self confirm:'quit without without saving your modifications ?') ifFalse:[
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  1790
            ^ self
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  1791
        ]
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  1792
    ].
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  1793
    super closeRequest.
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  1794
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  1795
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  1796
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  1797
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  1798
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  1799
!
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  1800
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1801
initialize
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1802
    "initialize channels
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1803
    "
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1804
    |holder|
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1805
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1806
    super initialize.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1807
    aspects := IdentityDictionary new.
290
1428bab2aa68 an empty selection is now specified by 0
ca
parents: 287
diff changeset
  1808
    tabSelection := 0.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1809
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1810
    #(
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1811
        label
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1812
        accessCharaterPos
290
1428bab2aa68 an empty selection is now specified by 0
ca
parents: 287
diff changeset
  1813
        argument
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1814
        submenuChannel
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1815
        enabled
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1816
        value
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1817
        nameKey
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1818
        indication
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1819
        shortcutKey
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1820
        retriever
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1821
        iconAndLabel
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1822
        icon
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1823
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1824
     ) do:[:aKey|
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1825
        aspects at:aKey put:(holder := ValueHolder new).
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1826
        holder addDependent:self.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1827
    ].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1828
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1829
    aspects at:#seperatorSelection put:(holder := SelectionInList new).
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1830
    holder list:(Item separatorList).
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1831
    holder addDependent:self.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1832
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1833
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1834
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1835
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  1836
openModalOnClass:aClass andSelector:aSelector
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  1837
    specClass := Association key:aClass value:aSelector.
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  1838
    super openInterfaceModal.
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  1839
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  1840
!
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  1841
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1842
openOnClass:aClass andSelector:aSelector
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  1843
    specClass := Association key:aClass value:aSelector.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1844
    super openInterface.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1845
    self buildFrom:aClass andSelector:aSelector.
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  1846
209
b2fa6f8d4808 postBuildWith:builder
ca
parents: 199
diff changeset
  1847
!
b2fa6f8d4808 postBuildWith:builder
ca
parents: 199
diff changeset
  1848
b2fa6f8d4808 postBuildWith:builder
ca
parents: 199
diff changeset
  1849
postBuildWith:builder
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  1850
    |cls sel|
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  1851
356
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  1852
    didInstall := false.
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  1853
    isModified := false.
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  1854
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  1855
    specClass isAssociation ifTrue:[
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  1856
        cls := specClass key.
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  1857
        sel := specClass value.
228
ae3028e45467 can read PullDownMenus
ca
parents: 227
diff changeset
  1858
ae3028e45467 can read PullDownMenus
ca
parents: 227
diff changeset
  1859
        specClass := nil.
ae3028e45467 can read PullDownMenus
ca
parents: 227
diff changeset
  1860
ae3028e45467 can read PullDownMenus
ca
parents: 227
diff changeset
  1861
        (sel isKindOf:Menu) ifTrue:[
ae3028e45467 can read PullDownMenus
ca
parents: 227
diff changeset
  1862
            self buildFrom:cls andSelector:nil.
ae3028e45467 can read PullDownMenus
ca
parents: 227
diff changeset
  1863
          ^ self painter buildFromMenu:sel.
ae3028e45467 can read PullDownMenus
ca
parents: 227
diff changeset
  1864
        ]
ae3028e45467 can read PullDownMenus
ca
parents: 227
diff changeset
  1865
        
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  1866
    ].
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  1867
    self buildFrom:cls andSelector:sel.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1868
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1869
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1870
!MenuEditor methodsFor:'user interactions'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1871
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1872
doBrowseAppClass
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1873
    "open a browser on the class"
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1874
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1875
    |cls|
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1876
331
ca
parents: 326
diff changeset
  1877
    cls := self resolveName:(self specClass).
ca
parents: 326
diff changeset
  1878
ca
parents: 326
diff changeset
  1879
    cls notNil ifTrue:[
ca
parents: 326
diff changeset
  1880
        SystemBrowser openInClass:cls class selector:(self painter selectorName)
ca
parents: 326
diff changeset
  1881
    ] ifFalse:[
ca
parents: 326
diff changeset
  1882
        self information:'no valid class defined'.
ca
parents: 326
diff changeset
  1883
    ]
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1884
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1885
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1886
doDefineClass
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1887
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1888
    aspects at:#classNameChannel  put:(self specClass asValue).
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1889
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1890
    (self openDialogInterface:#classDefineSpec) ifTrue:[
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1891
        self specClass:((aspects at:#classNameChannel) value)
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1892
    ].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1893
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1894
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1895
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1896
doFromClass
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1897
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1898
    aspects at:#classNameChannel  put:(self specClass asValue).
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1899
    aspects at:#methodNameChannel put:(self painter selectorName asValue).
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1900
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1901
    (self openDialogInterface:#classAndMethodSpec) ifTrue:[
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1902
        self buildFrom:(aspects at:#classNameChannel) value
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1903
           andSelector:(aspects at:#methodNameChannel) value
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1904
    ].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1905
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1906
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1907
doInstallHelp
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1908
    "install help text
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1909
    "
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1910
    self isStandAlone ifTrue:[
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1911
        self helpTool installHelpSpecInto:(self specClass)
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1912
    ]
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1913
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1914
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1915
doInstallSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1916
    |cls selector painter menu spec mthd category code|
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1917
331
ca
parents: 326
diff changeset
  1918
    cls := self resolveName:(self specClass).
ca
parents: 326
diff changeset
  1919
ca
parents: 326
diff changeset
  1920
    cls isNil ifTrue:[
ca
parents: 326
diff changeset
  1921
        ^ self information:'no valid class defined'.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1922
    ].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1923
    painter  := self painter.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1924
    selector := painter selectorName.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1925
    menu     := painter asMenu.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1926
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1927
    menu isNil ifTrue:[
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1928
        ^ self information:'no menu defined'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1929
    ].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1930
    menu := menu literalArrayEncoding.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1931
    spec := WriteStream on:String new.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1932
    UISpecification prettyPrintSpecArray:menu on:spec indent:5.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1933
    spec := spec contents.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1934
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1935
    "/ if that method already exists, do not overwrite the category
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1936
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1937
    category := 'interface specs'.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1938
    (mthd := cls class compiledMethodAt:selector) notNil ifTrue:[
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1939
        category := mthd category.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1940
    ].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1941
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1942
    code := Character excla asString 
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1943
            , cls name , ' class methodsFor:' , category storeString
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1944
            , Character excla asString , '\\'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1945
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1946
            , selector , '\'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1947
            , '    "this window spec was automatically generated by the ST/X MenuEditor"\\'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1948
            , '    "do not manually edit this - the builder may not be able to\'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1949
            , '     handle the specification if its corrupted."\\'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1950
            , '    "\'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1951
            , '     MenuEditor new openOnClass:' , cls name , ' andSelector:#' , selector , '\'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1952
            , '     (Menu new fromLiteralArrayEncoding:(' , cls name , ' ' , selector , ')) startUp\'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1953
            , '    "\'.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1954
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1955
    code := code 
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1956
            , '\'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1957
            , '    <resource: #menu>\\'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1958
            , '    ^\' 
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1959
            , '     ', spec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1960
            , '\'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1961
            , Character excla asString
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1962
            , ' '
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1963
            , Character excla asString
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1964
            , '\\'.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1965
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1966
    code := code withCRs.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1967
    (ReadStream on:code) fileIn.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1968
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1969
    (cls compiledMethodAt:selector) isNil ifTrue:[
318
31a94b71ae1b reuse of generate code for instance method #menu
ca
parents: 304
diff changeset
  1970
        code := self class generateCodeFor:cls menuSelector:selector.
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1971
        code := code withCRs.
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1972
        (ReadStream on:code) fileIn.
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1973
    ].
356
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  1974
    didInstall := true.
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  1975
    isModified := false.
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1976
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1977
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1978
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1979
doNew
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1980
    self buildFrom:nil andSelector:(self painter selectorName)
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1981
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1982
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1983
doPickAMenu
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1984
228
ae3028e45467 can read PullDownMenus
ca
parents: 227
diff changeset
  1985
    |view|
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1986
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1987
    view := Screen current viewFromUser.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1988
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1989
    (view isNil or:[view == Screen current rootView]) ifTrue:[
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1990
        ^ self
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1991
    ].
228
ae3028e45467 can read PullDownMenus
ca
parents: 227
diff changeset
  1992
    view specClass == MenuPanelSpec ifTrue:[
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1993
        ^ self painter buildFromMenu:(view asMenu)
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1994
    ].
228
ae3028e45467 can read PullDownMenus
ca
parents: 227
diff changeset
  1995
    ^ nil
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1996
!
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1997
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1998
doStepDown
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1999
    "move selected child after next child
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2000
    "
298
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2001
    self painter selectedNodeChangeSequenceOrder:1
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2002
!
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2003
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2004
doStepIn
298
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2005
    self painter selectedNodeBecomeChildOfNext
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2006
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2007
!
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2008
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2009
doStepOut
298
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2010
    self painter selectedNodeBecomeSisterOfParent
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2011
!
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2012
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2013
doStepUp
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2014
    "move selected child after next child
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2015
    "
298
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2016
    self painter selectedNodeChangeSequenceOrder:-1
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2017
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2018
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2019
!MenuEditor methodsFor:'values'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2020
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2021
painter
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2022
    "automatically generated by UIPainter ..."
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2023
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2024
    |painter|
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2025
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2026
    (painter := builder bindingAt:#painter) isNil ifTrue:[
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2027
        painter := Painter new.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2028
        painter action:[:dummy| self menuChanged ].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2029
        builder aspectAt:#painter put:painter.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2030
    ].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2031
  ^ painter
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2032
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2033
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2034
!MenuEditor::Item class methodsFor:'constants'!
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2035
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2036
separatorList
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2037
   ^ #( 'blank' 'single line' 'double line' )
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2038
!
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2039
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2040
separatorSlices
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2041
   ^ #(
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2042
        ( #blank        ''  )
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2043
        ( #single       '-' )
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2044
        ( #double       '=' )
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2045
      )
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2046
! !
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2047
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2048
!MenuEditor::Item class methodsFor:'documentation'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2049
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2050
documentation
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2051
"
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2052
    implements the contents assigned to a TreeItem. An instance
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2053
    is associated with one item and keeps all its information
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2054
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2055
    [see also:]
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2056
        TreeItem
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2057
        MenuEditor
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2058
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2059
    [author:]
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2060
        Claus Atzkern
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2061
"
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2062
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2063
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2064
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2065
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2066
!MenuEditor::Item methodsFor:'accessing'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2067
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  2068
activeHelpKey
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  2069
    ^ activeHelpKey
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  2070
!
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  2071
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  2072
activeHelpKey:aKey
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  2073
    activeHelpKey := aKey
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  2074
!
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  2075
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2076
label
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2077
    "return the value of the instance variable 'label' (automatically generated)"
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2078
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2079
    ^ label!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2080
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2081
label:something
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2082
    "set the value of the instance variable 'label' (automatically generated)"
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2083
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2084
    label := something ? '-'.
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2085
!
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2086
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2087
separatorType
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2088
    "returns separator type assigned to item or nil
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2089
    "
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2090
    |c|
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2091
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2092
    label size > 1 ifFalse:[
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2093
        label size == 0 ifTrue:[
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2094
            ^ #blank
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2095
        ].
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2096
        c := label first.
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2097
        c == $- ifTrue:[^ #single].
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2098
        c == $= ifTrue:[^ #double].
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2099
    ].    
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2100
  ^ nil
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2101
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2102
!
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2103
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2104
submenuChannel
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2105
    "return the value of the instance variable 'submenuChannel' (automatically generated)"
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2106
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2107
    ^ submenuChannel
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2108
!
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2109
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2110
submenuChannel:aChannel
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2111
    "return the value of the instance variable 'submenuChannel' (automatically generated)"
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2112
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2113
    submenuChannel := aChannel
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2114
! !
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2115
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2116
!MenuEditor::Item methodsFor:'conversion'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2117
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2118
asMenuItem
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2119
    "converts self to a menu item
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2120
    "
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2121
    |item rcv|
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2122
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2123
    item := MenuItem labeled:label.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2124
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2125
    self isSeparator ifFalse:[
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2126
        item activeHelpKey:activeHelpKey.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2127
        item enabled:enabled.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2128
        item accessCharacterPosition:accessCharaterPos.
290
1428bab2aa68 an empty selection is now specified by 0
ca
parents: 287
diff changeset
  2129
        item argument:argument.
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2130
        item submenuChannel:submenuChannel.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2131
        item nameKey:nameKey.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2132
        item shortcutKeyCharacter:shortcutKey.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2133
        item value:value.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2134
        item indication:indication.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2135
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2136
        icon notNil ifTrue:[
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2137
            rcv := ResourceRetriever new.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2138
            rcv className:retriever.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2139
            rcv selector:icon.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2140
            iconAndLabel == true ifTrue:[
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2141
                rcv labelText:label
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2142
            ].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2143
            item labelImage:rcv
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2144
        ]
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2145
    ].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2146
  ^ item.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2147
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2148
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2149
buildFromAspects:aspects
249
bfa28b62528c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
  2150
    |name|
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2151
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2152
    self isSeparator ifFalse:[
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2153
        name  := label.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2154
        label := (aspects at:#label) value.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2155
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2156
        (label isNil or:[self isSeparator]) ifTrue:[
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2157
            (aspects at:#label) value:(label := name)
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2158
        ].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2159
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2160
        enabled             := (aspects at:#enabled) value.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2161
        value               := (aspects at:#value) value.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2162
        nameKey             := (aspects at:#nameKey) value.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2163
        indication          := (aspects at:#indication) value.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2164
        shortcutKey         := (aspects at:#shortcutKey) value.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2165
        accessCharaterPos   := (aspects at:#accessCharaterPos) value.
290
1428bab2aa68 an empty selection is now specified by 0
ca
parents: 287
diff changeset
  2166
        argument            := (aspects at:#argument) value.
298
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2167
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2168
        argument isString ifTrue:[
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2169
            argument size > 1 ifTrue:[
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2170
                (argument at:1) == $# ifTrue:[
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2171
                    argument := (argument copyFrom:2) asSymbol
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2172
                ]
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2173
            ]
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2174
        ].
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2175
        submenuChannel      := (aspects at:#submenuChannel)    value.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2176
        retriever           := (aspects at:#retriever) value.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2177
        icon                := (aspects at:#icon) value.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2178
        iconAndLabel        := (aspects at:#iconAndLabel) value.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2179
    ] ifTrue:[
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2180
        name  := (aspects at:#seperatorSelection) selectionIndex.
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2181
        label := (self class separatorSlices at:name) last.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2182
    ]
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2183
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2184
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2185
buildFromMenuItem:anItem
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2186
    |rtv|
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2187
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2188
    self label:(anItem label).
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2189
    activeHelpKey := anItem activeHelpKey.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2190
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2191
    (enabled := anItem enabled) isSymbol ifFalse:[
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2192
        enabled := nil
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2193
    ].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2194
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2195
    (value := anItem value) isSymbol ifFalse:[
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2196
        value := nil.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2197
    ].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2198
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2199
    (indication := anItem indication) isSymbol ifFalse:[
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2200
        indication := nil
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2201
    ].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2202
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2203
    nameKey           := anItem nameKey.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2204
    shortcutKey       := anItem shortcutKeyCharacter.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2205
    accessCharaterPos := anItem accessCharacterPosition.
290
1428bab2aa68 an empty selection is now specified by 0
ca
parents: 287
diff changeset
  2206
    argument          := anItem argument.
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2207
    submenuChannel    := anItem submenuChannel.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2208
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2209
    (    ((rtv := anItem adornment) notNil)
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2210
     and:[(rtv := rtv labelImage) isKindOf:ResourceRetriever]
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2211
    ) ifTrue:[
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2212
        retriever := rtv className.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2213
        icon      := rtv selector.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2214
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2215
        (iconAndLabel := rtv labelText notNil) ifTrue:[
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2216
            label := rtv labelText.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2217
        ]
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2218
    ]
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2219
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2220
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2221
toAspects:aspects
249
bfa28b62528c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
  2222
    |type|
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2223
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2224
    (type := self separatorType) notNil ifTrue:[
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2225
        type := self class separatorSlices findFirst:[:el| el first == type ].
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2226
        (aspects at:#seperatorSelection) selectionIndex:type.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2227
    ] ifFalse:[
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2228
        (aspects at:#label)                 value:label.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2229
        (aspects at:#enabled)               value:enabled.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2230
        (aspects at:#value)                 value:value.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2231
        (aspects at:#nameKey)               value:nameKey.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2232
        (aspects at:#indication)            value:indication.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2233
        (aspects at:#shortcutKey)           value:shortcutKey.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2234
        (aspects at:#accessCharaterPos)     value:accessCharaterPos.
298
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2235
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2236
        argument isSymbol ifTrue:[
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2237
            (aspects at:#argument) value:'#', argument
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2238
        ] ifFalse:[
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2239
            (aspects at:#argument) value:argument.
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2240
        ].
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2241
        (aspects at:#submenuChannel)        value:submenuChannel.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2242
        (aspects at:#retriever)             value:retriever.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2243
        (aspects at:#icon)                  value:icon.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2244
        (aspects at:#iconAndLabel)          value:iconAndLabel.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2245
    ]
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2246
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2247
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2248
!MenuEditor::Item methodsFor:'queries'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2249
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2250
isSeparator
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2251
    "returns true if item is a seperator
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2252
    "
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2253
    ^ self separatorType notNil
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2254
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2255
220
ca
parents: 218
diff changeset
  2256
!MenuEditor::Painter class methodsFor:'constants'!
ca
parents: 218
diff changeset
  2257
243
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
  2258
imageItem
275
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2259
    ^ self images at:#item
243
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
  2260
!
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
  2261
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
  2262
imageMenu
275
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2263
    ^ self images at:#menuOpen
243
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
  2264
!
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
  2265
220
ca
parents: 218
diff changeset
  2266
imageMenuLink
275
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2267
    ^ self images at:#menuLink
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2268
220
ca
parents: 218
diff changeset
  2269
!
ca
parents: 218
diff changeset
  2270
ca
parents: 218
diff changeset
  2271
imageSeparator
275
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2272
    ^ self images at:#separator
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2273
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2274
!
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2275
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2276
images
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2277
    "returns an IdentityDictionary containing a list of images and keys used
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2278
    "
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  2279
    <resource: #fileImage>
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  2280
326
4dcda591af02 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 318
diff changeset
  2281
    |image|
275
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2282
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2283
    Images notNil ifTrue:[
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2284
        ^ Images
220
ca
parents: 218
diff changeset
  2285
    ].
275
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2286
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2287
    Images := IdentityDictionary new.
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2288
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2289
    #(
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2290
        (#item            'ui_menuitem.xpm')
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2291
        (#menuClosed      'ui_submenu.xpm')
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2292
        (#menuOpen        'ui_submenu_open.xpm')
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2293
        (#menuLink        'ui_submenulink.xpm')
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2294
        (#separator       'ui_menusep.xpm')
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2295
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2296
     ) do:[:el |
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2297
        image := Image fromFile:( el last ).
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2298
        Images at:(el first) put:image.
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2299
    ].
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2300
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2301
  ^ Images
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2302
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2303
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2304
220
ca
parents: 218
diff changeset
  2305
! !
ca
parents: 218
diff changeset
  2306
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2307
!MenuEditor::Painter class methodsFor:'defaults'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2308
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2309
defaultMenuMessage   
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2310
    "This message is the default yo be sent to the menuHolder to get a menu
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2311
    "
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2312
    ^ #menu
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2313
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2314
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2315
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2316
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2317
!MenuEditor::Painter class methodsFor:'documentation'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2318
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2319
documentation
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2320
"
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2321
    menu selection list
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2322
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2323
    [see also:]
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2324
        SelectionInTreeView
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2325
        SelectionInTree
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2326
        TreeItem
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2327
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2328
    [author:]
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2329
        Claus Atzkern
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2330
"
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2331
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2332
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2333
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2334
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2335
!MenuEditor::Painter methodsFor:'accessing'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2336
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2337
selectorName
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2338
    ^ (listOfNodes first contents label) asSymbol
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2339
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2340
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2341
!MenuEditor::Painter methodsFor:'building'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2342
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2343
buildFrom:aClass andSelector:aSelector
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2344
    |spec cls menu node|
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2345
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2346
    (aClass notNil and:[aSelector notNil]) ifTrue:[
340
1de048872d5e resolveName:
ca
parents: 331
diff changeset
  2347
        cls := self application resolveName:aClass.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2348
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2349
        (cls respondsTo:aSelector) ifTrue:[
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2350
            spec := cls perform:aSelector
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2351
        ]
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2352
    ].
331
ca
parents: 326
diff changeset
  2353
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2354
    spec isNil ifFalse:[
298
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2355
        (spec isMemberOf:Menu) ifFalse:[
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2356
            menu := Menu new fromLiteralArrayEncoding:spec.
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2357
        ] ifTrue:[
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2358
            menu := spec.
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2359
        ].
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2360
        node := self nodeLabel:(aSelector asString).
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2361
        self subMenu:menu parent:node.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2362
    ] ifTrue:[
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2363
        aSelector notNil ifTrue:[cls := aSelector asString]
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2364
                        ifFalse:[cls := 'menu'].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2365
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2366
        node := self nodeLabel:cls.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2367
    ].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2368
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2369
    node hasChildren ifFalse:[
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2370
        node add:(self nodeLabel:'undefined')
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2371
    ].
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2372
    node expand.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2373
    model root:node.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2374
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2375
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2376
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2377
buildFromMenu:aMenu
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2378
249
bfa28b62528c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
  2379
    |node|
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2380
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2381
    node := self nodeLabel:'menu'.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2382
    self subMenu:aMenu parent:node.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2383
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2384
    node hasChildren ifFalse:[
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2385
        node add:(self nodeLabel:'undefined')
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2386
    ].
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2387
    node expand.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2388
    model root:node.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2389
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2390
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2391
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2392
menuItem:anItem
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2393
249
bfa28b62528c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
  2394
    |node|
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2395
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2396
    node := self nodeLabel:(anItem label).
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2397
    node contents buildFromMenuItem:anItem.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2398
    node name:(node contents label).
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2399
    self subMenu:(anItem submenu) parent:node.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2400
  ^ node.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2401
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2402
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2403
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2404
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2405
subMenu:aMenu parent:aParent
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2406
    |idx grp|
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2407
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2408
    aMenu isNil ifFalse:[
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2409
        grp := aMenu groupSizes.
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2410
        aMenu itemsDo:[:i| aParent add:(self menuItem:i)].
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2411
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2412
        grp notNil ifTrue:[
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2413
            idx := 0.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2414
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2415
            grp do:[:i|
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2416
                idx := idx + i + 1.
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2417
                aParent add:(self nodeLabel:nil) beforeIndex:idx.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2418
            ]
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2419
        ]
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2420
    ]
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2421
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2422
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2423
!MenuEditor::Painter methodsFor:'conversion'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2424
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2425
asMenu
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2426
    |menu root|
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2427
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2428
    root := self root.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2429
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2430
    root hasChildren ifTrue:[
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2431
        menu := Menu new.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2432
        root children do:[:aChild| menu addItem:(self asMenuItem:aChild)].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2433
    ].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2434
  ^ menu
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2435
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2436
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2437
asMenuItem:aNode
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2438
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2439
    |menu item|
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2440
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2441
    item := aNode contents asMenuItem.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2442
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2443
    aNode hasChildren ifTrue:[
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2444
        menu := Menu new.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2445
        aNode children do:[:aChild| menu addItem:(self asMenuItem:aChild)].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2446
        item submenu:menu
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2447
    ].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2448
  ^ item
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2449
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2450
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2451
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2452
!MenuEditor::Painter methodsFor:'drawing basics'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2453
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2454
drawLabelIndex:anIndex atX:x y:yCenter
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2455
    "draw text label assigned to a node at x y( center)
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2456
    "
258
c6f8c3e2f463 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 257
diff changeset
  2457
    |y x2 type item|
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2458
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2459
    item := (listOfNodes at:anIndex) contents.
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2460
    type := item separatorType.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2461
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2462
    type isNil ifTrue:[
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2463
        super drawLabelIndex:anIndex atX:x y:yCenter
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2464
    ] ifFalse:[
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2465
        type == #blank ifFalse:[
258
c6f8c3e2f463 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 257
diff changeset
  2466
            x2 := x + 80.
c6f8c3e2f463 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 257
diff changeset
  2467
c6f8c3e2f463 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 257
diff changeset
  2468
            self displayLineFromX:x y:yCenter toX:x2 y:yCenter.
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2469
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2470
            type == #double ifTrue:[
258
c6f8c3e2f463 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 257
diff changeset
  2471
                y := yCenter + 2.
c6f8c3e2f463 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 257
diff changeset
  2472
                self displayLineFromX:x y:y toX:x2 y:y.
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2473
            ]    
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2474
        ]
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2475
    ]
258
c6f8c3e2f463 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 257
diff changeset
  2476
c6f8c3e2f463 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 257
diff changeset
  2477
    "Modified: 28.7.1997 / 13:13:41 / cg"
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2478
!
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2479
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2480
figureFor:aNode
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2481
    "access figure for a node
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2482
    "
220
ca
parents: 218
diff changeset
  2483
    |item|
ca
parents: 218
diff changeset
  2484
ca
parents: 218
diff changeset
  2485
    aNode hasChildren ifFalse:[
ca
parents: 218
diff changeset
  2486
        item := aNode contents.
ca
parents: 218
diff changeset
  2487
ca
parents: 218
diff changeset
  2488
        item submenuChannel notNil ifTrue:[
275
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2489
            ^ images at:#menuLink
220
ca
parents: 218
diff changeset
  2490
        ].
ca
parents: 218
diff changeset
  2491
ca
parents: 218
diff changeset
  2492
        item isSeparator ifTrue:[
275
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2493
            ^ images at:#separator
243
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
  2494
        ].
275
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2495
        ^ images at:#item
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2496
    ].
243
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
  2497
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
  2498
    aNode isExpandable ifTrue:[ 
275
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2499
        ^ images at:#menuClosed
243
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
  2500
    ].
275
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2501
    ^ images at:#menuOpen
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2502
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2503
356
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  2504
!MenuEditor::Painter methodsFor:'event handling'!
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  2505
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  2506
keyPress:key x:x y:y
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  2507
    "any key pressed
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  2508
    "
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  2509
    <resource: #keyboard ( #Delete #BackSpace #Cut #Copy #Paste ) >
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  2510
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  2511
    (key == #Cut or:[key == #Delete or:[key == #BackSpace]]) ifTrue: [
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  2512
        ^ self doCut
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  2513
    ].
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  2514
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  2515
    key == #Copy  ifTrue:[ ^ self doCopy].
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  2516
    key == #Paste ifTrue:[ ^ self doPaste].
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  2517
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  2518
    super keyPress:key x:x y:y.
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  2519
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  2520
! !
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  2521
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2522
!MenuEditor::Painter methodsFor:'initialization'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2523
275
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2524
fetchImageResources
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2525
    "initialize heavily used device resources - to avoid rendering
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2526
     images again and again later; returns maximum extent of the images used.
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2527
    "
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2528
    |y x t|
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2529
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2530
    t := super fetchImageResources.
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2531
    y := t y.
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2532
    x := t x.
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2533
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2534
    images do:[:anIcon|
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2535
        (t := anIcon heightOn:self) > y ifTrue:[y := t].
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2536
        (t := anIcon widthOn:self)  > x ifTrue:[x := t].
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2537
    ].
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2538
  ^ x @ y
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2539
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2540
!
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2541
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2542
initialize
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2543
    super initialize.
275
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2544
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2545
    images := IdentityDictionary new.
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2546
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2547
    self class images associationsDo:[:el|
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2548
        images at:(el key) put:(el value onDevice:device)
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2549
    ].
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2550
    self multipleSelectOk:true.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2551
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2552
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2553
!MenuEditor::Painter methodsFor:'menus'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2554
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2555
doCopy
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2556
    self hasSelection ifTrue:[
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2557
        CopyBuffer := OrderedCollection new.
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2558
        self selectionDo:[:i| CopyBuffer add:((listOfNodes at:i) copy)]
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2559
    ]
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2560
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2561
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2562
doCreateItem
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2563
    self addElement:(self nodeLabel:'undefined')
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2564
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2565
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2566
doCreateLink
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2567
    |node item|
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2568
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2569
    node := self nodeLabel:'undefined'.
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2570
    item := node contents.
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2571
    item submenuChannel:#menuDefaultLink.
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2572
    self addElement:node
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2573
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2574
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2575
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2576
!
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2577
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2578
doCreateMenu
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2579
    |node|
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2580
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2581
    node := self nodeLabel:'undefined'.
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2582
    node add:(self nodeLabel:'undefined').
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2583
    self addElement:node
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2584
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2585
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2586
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2587
doCreateSep
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2588
    self addElement:(self nodeLabel:nil)
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2589
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2590
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2591
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2592
doCut
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2593
    self doCopy.
298
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2594
    self selectedNodesRemove.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2595
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2596
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2597
doPaste
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2598
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2599
    (CopyBuffer notNil and:[self selectedNode notNil]) ifTrue:[
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2600
        self addElement:(CopyBuffer collect:[:el| el copy])
220
ca
parents: 218
diff changeset
  2601
    ].
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2602
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2603
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2604
!MenuEditor::Painter methodsFor:'private'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2605
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2606
addElement:something
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2607
    "add something after selection
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2608
    "
298
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2609
    self selectedNodeAdd:something
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2610
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2611
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2612
nodeLabel:aLabel
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2613
   ^ TreeItem name:aLabel contents:(MenuEditor::Item new label:aLabel).
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2614
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2615
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2616
!MenuEditor::Painter methodsFor:'selection'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2617
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2618
selectedNodeChanged
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2619
    |node name index|
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2620
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2621
    (index := self selectedIndex) ~~ 0 ifTrue:[
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2622
        node := listOfNodes at:index.
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2623
        name := node contents label.
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2624
        list at:index put:name.
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2625
        node name:name.
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2626
        self redrawLine:index.
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2627
    ]
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2628
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2629
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2630
!MenuEditor class methodsFor:'documentation'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2631
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2632
version
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2633
    ^ '$Header$'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2634
! !