MenuEditor.st
author ca
Mon, 05 Jan 1998 16:47:22 +0100
changeset 394 1933896da0c3
parent 382 2a46018227a1
child 398 155310ec83aa
permissions -rw-r--r--
sett UIBuilder isEditing to true
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'
381
1d1b1483270c now with image editor support
tz
parents: 371
diff changeset
   889
              #'layout:' #(#LayoutFrame 377 0 282 0 643 0 600 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)
381
1d1b1483270c now with image editor support
tz
parents: 371
diff changeset
   893
              #'bounds:' #(#Rectangle 377 282 644 601)
371
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'
381
1d1b1483270c now with image editor support
tz
parents: 371
diff changeset
   931
                    #'layout:' #(#AlignmentOrigin 87 0 90 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'
381
1d1b1483270c now with image editor support
tz
parents: 371
diff changeset
   938
                    #'layout:' #(#LayoutFrame 91 0 79 0 0 1.0 101 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'
381
1d1b1483270c now with image editor support
tz
parents: 371
diff changeset
   946
                    #'layout:' #(#AlignmentOrigin 87 0 116 0 1 0.5)
290
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'
381
1d1b1483270c now with image editor support
tz
parents: 371
diff changeset
   953
                    #'layout:' #(#LayoutFrame 91 0 105 0 0 1.0 127 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'
381
1d1b1483270c now with image editor support
tz
parents: 371
diff changeset
   961
                    #'layout:' #(#AlignmentOrigin 87 0 156 0 1 0.5)
371
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'
381
1d1b1483270c now with image editor support
tz
parents: 371
diff changeset
   968
                    #'layout:' #(#LayoutFrame 91 0 145 0 0 1.0 167 0)
371
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'
381
1d1b1483270c now with image editor support
tz
parents: 371
diff changeset
  1318
              #'layout:' #(#LayoutFrame 441 0 301 0 685 0 442 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)
381
1d1b1483270c now with image editor support
tz
parents: 371
diff changeset
  1322
              #'bounds:' #(#Rectangle 441 301 686 443)
371
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'
381
1d1b1483270c now with image editor support
tz
parents: 371
diff changeset
  1361
                    #'layout:' #(#LayoutOrigin 15 0 103 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
                )
381
1d1b1483270c now with image editor support
tz
parents: 371
diff changeset
  1367
                 #(#ActionButtonSpec
1d1b1483270c now with image editor support
tz
parents: 371
diff changeset
  1368
                    #'name:' 'imageEditorButton'
1d1b1483270c now with image editor support
tz
parents: 371
diff changeset
  1369
                    #'layout:' #(#LayoutFrame 81 0 65 0 0 1 87 0)
1d1b1483270c now with image editor support
tz
parents: 371
diff changeset
  1370
                    #'label:' 'Image Editor'
1d1b1483270c now with image editor support
tz
parents: 371
diff changeset
  1371
                    #'model:' #doEditImage
1d1b1483270c now with image editor support
tz
parents: 371
diff changeset
  1372
                )
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1373
              )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1374
          )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1375
      )
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1376
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1377
209
b2fa6f8d4808 postBuildWith:builder
ca
parents: 199
diff changeset
  1378
!MenuEditor class methodsFor:'startup'!
b2fa6f8d4808 postBuildWith:builder
ca
parents: 199
diff changeset
  1379
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  1380
openModalOnClass:aClass andSelector:aSelector
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  1381
    ^ self new openModalOnClass:aClass andSelector:aSelector
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  1382
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  1383
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  1384
!
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  1385
209
b2fa6f8d4808 postBuildWith:builder
ca
parents: 199
diff changeset
  1386
openOnClass:aClass andSelector:aSelector
b2fa6f8d4808 postBuildWith:builder
ca
parents: 199
diff changeset
  1387
    ^ self new openOnClass:aClass andSelector:aSelector
b2fa6f8d4808 postBuildWith:builder
ca
parents: 199
diff changeset
  1388
b2fa6f8d4808 postBuildWith:builder
ca
parents: 199
diff changeset
  1389
b2fa6f8d4808 postBuildWith:builder
ca
parents: 199
diff changeset
  1390
! !
b2fa6f8d4808 postBuildWith:builder
ca
parents: 199
diff changeset
  1391
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1392
!MenuEditor methodsFor:'accessing'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1393
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1394
menuDefaultLink
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1395
    ^ self class menuDefaultLink
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1396
!
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1397
270
1a68f7479932 provide access to the menus selector;
Claus Gittinger <cg@exept.de>
parents: 266
diff changeset
  1398
selectorName
1a68f7479932 provide access to the menus selector;
Claus Gittinger <cg@exept.de>
parents: 266
diff changeset
  1399
    ^ self painter selectorName
1a68f7479932 provide access to the menus selector;
Claus Gittinger <cg@exept.de>
parents: 266
diff changeset
  1400
1a68f7479932 provide access to the menus selector;
Claus Gittinger <cg@exept.de>
parents: 266
diff changeset
  1401
    "Created: 31.7.1997 / 14:11:28 / cg"
1a68f7479932 provide access to the menus selector;
Claus Gittinger <cg@exept.de>
parents: 266
diff changeset
  1402
!
1a68f7479932 provide access to the menus selector;
Claus Gittinger <cg@exept.de>
parents: 266
diff changeset
  1403
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1404
specClass
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1405
    ^ specClass
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1406
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1407
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1408
specClass:aClass
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1409
    aClass isBehavior ifTrue:[specClass := aClass name]
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1410
                     ifFalse:[specClass := aClass].
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1411
!
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1412
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1413
submenuTest
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1414
    "returns submenu assigned to item test
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1415
    "
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1416
    |menu|
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 := self painter asMenu.
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1419
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1420
    menu allItemsDo:[:anItem|
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1421
        anItem value:nil.
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1422
        anItem enabled:true.
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1423
    ].
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1424
  ^ menu
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1425
!
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1426
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1427
useHelpDictionary:aDictionary
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1428
    self noteBookView.
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1429
    self helpTool dictionary:aDictionary.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1430
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1431
220
ca
parents: 218
diff changeset
  1432
!MenuEditor methodsFor:'accessing menu'!
ca
parents: 218
diff changeset
  1433
ca
parents: 218
diff changeset
  1434
menuButtons
ca
parents: 218
diff changeset
  1435
    "this window spec was automatically generated by the ST/X MenuEditor"
ca
parents: 218
diff changeset
  1436
ca
parents: 218
diff changeset
  1437
    ^ self class menuButtons
ca
parents: 218
diff changeset
  1438
ca
parents: 218
diff changeset
  1439
ca
parents: 218
diff changeset
  1440
!
ca
parents: 218
diff changeset
  1441
ca
parents: 218
diff changeset
  1442
menuPainter
ca
parents: 218
diff changeset
  1443
    "this window spec was automatically generated by the ST/X MenuEditor"
ca
parents: 218
diff changeset
  1444
ca
parents: 218
diff changeset
  1445
    ^ self class menuPainter
ca
parents: 218
diff changeset
  1446
ca
parents: 218
diff changeset
  1447
298
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
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  1450
menuPullDown
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  1451
    "this window spec was automatically generated by the ST/X MenuEditor"
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  1452
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  1453
    ^ self class menuPullDown
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  1454
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  1455
220
ca
parents: 218
diff changeset
  1456
! !
ca
parents: 218
diff changeset
  1457
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1458
!MenuEditor methodsFor:'actions'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1459
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1460
accept
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1461
    "automatically generated by UIPainter ..."
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1462
255
989494227ffc use #booleanAspectFor: , a codeSaver
Claus Gittinger <cg@exept.de>
parents: 249
diff changeset
  1463
    |painter node cont|
989494227ffc use #booleanAspectFor: , a codeSaver
Claus Gittinger <cg@exept.de>
parents: 249
diff changeset
  1464
989494227ffc use #booleanAspectFor: , a codeSaver
Claus Gittinger <cg@exept.de>
parents: 249
diff changeset
  1465
    painter := self painter.
989494227ffc use #booleanAspectFor: , a codeSaver
Claus Gittinger <cg@exept.de>
parents: 249
diff changeset
  1466
    node := painter selectedNode.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1467
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1468
    node notNil ifTrue:[
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1469
        self isHelpToolSelected ifTrue:[
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1470
            self helpTool accept.
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1471
            node contents activeHelpKey:(self helpTool helpKey)
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1472
        ] ifFalse:[
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1473
            cont := node contents buildFromAspects:aspects.
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1474
            painter selectedNodeChanged
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1475
        ]
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1476
    ].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1477
    self modifiedChannel value:false.
356
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  1478
    isModified := true.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1479
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1480
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1481
cancel
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1482
    |node|
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1483
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1484
    (node := self painter selectedNode) notNil ifTrue:[
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1485
        self helpTool helpKey:(self helpKey).
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1486
        aspects do:[:anAspect| anAspect value:nil ].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1487
        node contents toAspects:aspects.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1488
    ].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1489
    self modifiedChannel value:false.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1490
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1491
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1492
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1493
!MenuEditor methodsFor:'aspects'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1494
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1495
aspectFor:aKey
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1496
    "returns aspect for a key or nil
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1497
    "
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1498
  ^ aspects at:aKey ifAbsent:[ super aspectFor:aKey ]
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1499
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1500
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1501
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1502
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1503
enabledStepIn
257
02d6daa8d878 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
  1504
    ^ builder booleanValueAspectFor:#enabledStepIn
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:51:55 / 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
enabledStepOut
257
02d6daa8d878 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
  1510
    ^ builder booleanValueAspectFor:#enabledStepOut
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:04 / 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
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1515
enabledStepOver
257
02d6daa8d878 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
  1516
    ^ builder booleanValueAspectFor:#enabledStepOver
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:07 / cg"
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1519
!
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1520
220
ca
parents: 218
diff changeset
  1521
hasAnySingleSelection
257
02d6daa8d878 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
  1522
    ^ builder booleanValueAspectFor:#hasAnySingleSelection
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:09 / cg"
220
ca
parents: 218
diff changeset
  1525
!
ca
parents: 218
diff changeset
  1526
ca
parents: 218
diff changeset
  1527
hasValidSelection
257
02d6daa8d878 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
  1528
    ^ builder booleanValueAspectFor:#hasValidSelection
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:11 / cg"
220
ca
parents: 218
diff changeset
  1531
!
ca
parents: 218
diff changeset
  1532
ca
parents: 218
diff changeset
  1533
hasValidSingleSelection
257
02d6daa8d878 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
  1534
    ^ builder booleanValueAspectFor:#hasValidSingleSelection
02d6daa8d878 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
  1535
02d6daa8d878 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
  1536
    "Modified: 28.7.1997 / 12:52:13 / cg"
220
ca
parents: 218
diff changeset
  1537
!
ca
parents: 218
diff changeset
  1538
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1539
modifiedChannel
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1540
    "automatically generated by UIPainter ..."
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1541
257
02d6daa8d878 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
  1542
    ^ builder booleanValueAspectFor:#modifiedChannel
02d6daa8d878 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
  1543
02d6daa8d878 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
  1544
    "Modified: 28.7.1997 / 12:52:14 / cg"
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1545
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1546
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1547
noteBookView
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1548
    "automatically generated by UIPainter ..."
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1549
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1550
    |noteBook helpTool|
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1551
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1552
    (noteBook := builder bindingAt:#noteBookView) isNil ifTrue:[
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1553
        noteBook := View new.
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1554
        helpTool := UIHelpTool new.
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1555
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1556
        helpTool masterApplication:self.
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1557
        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
  1558
        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
  1559
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1560
        helpCanvas client:helpTool.
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1561
        helpTool   masterApplication:self.
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1562
        helpTool   modifiedHolder:(self modifiedChannel).
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1563
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1564
        builder aspectAt:#noteBookView put:noteBook.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1565
    ].
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1566
    ^ noteBook
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1567
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1568
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1569
tabList
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1570
    "automatically generated by UIPainter ..."
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1571
298
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  1572
    |holder|
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  1573
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  1574
    (holder := builder bindingAt:#tabList) isNil ifTrue:[
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  1575
        builder aspectAt:#tabList put:(holder := #('Properties') asValue).
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  1576
    ].
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  1577
    ^ holder
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  1578
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  1579
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1580
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1581
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1582
tabModel
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1583
    "automatically generated by UIPainter ..."
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
    (holder := builder bindingAt:#tabModel) isNil ifTrue:[
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1588
        holder := AspectAdaptor new subject:self; forAspect:#tabSelection.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1589
        builder aspectAt:#tabModel put:holder.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1590
    ].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1591
    ^ holder
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1592
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1593
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1594
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1595
!MenuEditor methodsFor:'change & update'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1596
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1597
update:something with:aParameter from:changedObject
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1598
    "one of my models changed its value
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1599
    "
356
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  1600
    self modifiedChannel value:true.
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1601
!
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1602
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1603
updateEnabledChannels
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1604
    "update enabled channels
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1605
    "
220
ca
parents: 218
diff changeset
  1606
    |node parent next painter state|
ca
parents: 218
diff changeset
  1607
ca
parents: 218
diff changeset
  1608
    painter := self painter.
ca
parents: 218
diff changeset
  1609
    node    := painter selectedNode.
ca
parents: 218
diff changeset
  1610
    state   := false.
ca
parents: 218
diff changeset
  1611
ca
parents: 218
diff changeset
  1612
    node notNil ifTrue:[
ca
parents: 218
diff changeset
  1613
        self hasAnySingleSelection value:true.
ca
parents: 218
diff changeset
  1614
ca
parents: 218
diff changeset
  1615
        (parent := node parent) notNil ifTrue:[
ca
parents: 218
diff changeset
  1616
            next := parent childAt:((parent indexOfChild:node) + 1).
ca
parents: 218
diff changeset
  1617
            self enabledStepIn           value:(next notNil and:[next hasChildren]).
ca
parents: 218
diff changeset
  1618
            self enabledStepOver         value:(parent children size > 1).
ca
parents: 218
diff changeset
  1619
            self enabledStepOut          value:(parent parent notNil).
ca
parents: 218
diff changeset
  1620
            self hasValidSingleSelection value:true.
ca
parents: 218
diff changeset
  1621
            self hasValidSelection       value:true.
ca
parents: 218
diff changeset
  1622
          ^ self
ca
parents: 218
diff changeset
  1623
        ]
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1624
    ] ifFalse:[
220
ca
parents: 218
diff changeset
  1625
        self hasAnySingleSelection value:false.
ca
parents: 218
diff changeset
  1626
ca
parents: 218
diff changeset
  1627
        painter numberOfSelections ~~ 0 ifTrue:[
ca
parents: 218
diff changeset
  1628
            state := (painter isInSelection:1) not
ca
parents: 218
diff changeset
  1629
        ]
ca
parents: 218
diff changeset
  1630
    ].
ca
parents: 218
diff changeset
  1631
    self enabledStepOver         value:false.
ca
parents: 218
diff changeset
  1632
    self enabledStepIn           value:false.
ca
parents: 218
diff changeset
  1633
    self enabledStepOut          value:false.
ca
parents: 218
diff changeset
  1634
    self hasValidSingleSelection value:false.
ca
parents: 218
diff changeset
  1635
    self hasValidSelection       value:state.
ca
parents: 218
diff changeset
  1636
! !
ca
parents: 218
diff changeset
  1637
ca
parents: 218
diff changeset
  1638
!MenuEditor methodsFor:'event handling'!
ca
parents: 218
diff changeset
  1639
ca
parents: 218
diff changeset
  1640
doesNotUnderstand:aMessage
ca
parents: 218
diff changeset
  1641
   |painter|
ca
parents: 218
diff changeset
  1642
ca
parents: 218
diff changeset
  1643
   painter := self painter.
ca
parents: 218
diff changeset
  1644
ca
parents: 218
diff changeset
  1645
   (painter respondsTo:(aMessage selector)) ifTrue:[
ca
parents: 218
diff changeset
  1646
        ^ aMessage sendTo:painter
ca
parents: 218
diff changeset
  1647
   ].
ca
parents: 218
diff changeset
  1648
   super doesNotUnderstand:aMessage
ca
parents: 218
diff changeset
  1649
ca
parents: 218
diff changeset
  1650
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1651
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1652
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1653
!MenuEditor methodsFor:'private'!
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1654
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1655
helpKey
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1656
    |node|
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1657
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1658
    (node := self painter selectedNode) notNil ifTrue:[
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1659
        ^ node contents activeHelpKey
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1660
    ].
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1661
    ^ nil
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1662
!
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1663
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1664
helpTool
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1665
    ^ helpCanvas application
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1666
! !
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1667
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1668
!MenuEditor methodsFor:'queries'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1669
270
1a68f7479932 provide access to the menus selector;
Claus Gittinger <cg@exept.de>
parents: 266
diff changeset
  1670
didInstall
1a68f7479932 provide access to the menus selector;
Claus Gittinger <cg@exept.de>
parents: 266
diff changeset
  1671
    "returns true if the menu was installed
1a68f7479932 provide access to the menus selector;
Claus Gittinger <cg@exept.de>
parents: 266
diff changeset
  1672
    "
1a68f7479932 provide access to the menus selector;
Claus Gittinger <cg@exept.de>
parents: 266
diff changeset
  1673
356
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  1674
    ^ didInstall
270
1a68f7479932 provide access to the menus selector;
Claus Gittinger <cg@exept.de>
parents: 266
diff changeset
  1675
!
1a68f7479932 provide access to the menus selector;
Claus Gittinger <cg@exept.de>
parents: 266
diff changeset
  1676
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1677
isHelpToolSelected
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1678
    "returns true if current selection is help tool
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1679
    "
290
1428bab2aa68 an empty selection is now specified by 0
ca
parents: 287
diff changeset
  1680
    (tabSelection ~~ 0 and:[slices notNil]) ifTrue:[
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1681
        ^ (slices at:tabSelection) first = UIHelpTool label
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1682
    ].
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1683
    ^ false
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1684
!
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1685
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1686
isStandAlone
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1687
    "returns true in case of owner of the helptool
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1688
    "
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1689
    ^ self masterApplication isNil
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1690
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1691
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1692
!MenuEditor methodsFor:'selection'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1693
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1694
menuChanged
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1695
    |node item slc sel old|
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1696
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1697
    (node := self painter selectedNode) notNil ifTrue:[
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1698
        aspects do:[:anAspect| anAspect value:nil ].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1699
        item := node contents.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1700
        item toAspects:aspects.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1701
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1702
        item isSeparator ifFalse:[
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1703
            node parent isNil ifFalse:[
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1704
                node hasChildren ifTrue:[
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1705
                    slc := #slicesMenu
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1706
                ] ifFalse:[
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1707
                    item submenuChannel isNil ifTrue:[slc := #slicesItem]
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1708
                                             ifFalse:[slc := #slicesLink]
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1709
                ].
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1710
                slc := (self class perform:slc) copyWith:#( 'Help' #dummy ).
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1711
            ] ifTrue:[
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1712
                slc := self class perform:#slicesRootMenu
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1713
            ].
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1714
        ] ifTrue:[
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1715
            slc := self class perform:#slicesSeparatorMenu.
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1716
        ]
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1717
    ].
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1718
    self helpTool helpKey:(self helpKey).
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1719
    self modifiedChannel value:false.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1720
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1721
    slc ~= slices  ifTrue:[
290
1428bab2aa68 an empty selection is now specified by 0
ca
parents: 287
diff changeset
  1722
        tabSelection ~~ 0 ifTrue:[
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1723
            old := (slices at:tabSelection) first
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1724
        ].
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1725
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1726
        (slices := slc) notNil ifTrue:[
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1727
            sel := slices collect:[:s| s first].
290
1428bab2aa68 an empty selection is now specified by 0
ca
parents: 287
diff changeset
  1728
            tabSelection := 0.
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1729
            self tabList value:sel.
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1730
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1731
            (old notNil and:[(sel := sel findFirst:[:n|n = old]) ~~ 0]) ifFalse:[
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1732
                sel := 1
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1733
            ].
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1734
            self tabModel value:sel
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1735
        ] ifFalse:[
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1736
            self tabList value:nil.
290
1428bab2aa68 an empty selection is now specified by 0
ca
parents: 287
diff changeset
  1737
            self tabSelection:0.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1738
        ]
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1739
    ].
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1740
    self updateEnabledChannels
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1741
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1742
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1743
tabSelection
290
1428bab2aa68 an empty selection is now specified by 0
ca
parents: 287
diff changeset
  1744
    ^ tabSelection ? 0
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1745
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1746
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1747
tabSelection:aSelection
326
4dcda591af02 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 318
diff changeset
  1748
    |sel|
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1749
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1750
    tabSelection = aSelection ifTrue:[
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1751
        ^ self
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1752
    ].
298
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  1753
    (aSelection ~~ 0 and:[slices isNil]) ifTrue:[
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  1754
        ^ self
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  1755
    ].
290
1428bab2aa68 an empty selection is now specified by 0
ca
parents: 287
diff changeset
  1756
    (tabSelection := aSelection) == 0 ifTrue:[
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1757
        slices isNil ifTrue:[
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1758
            specCanvas client:nil.
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1759
            ^ specCanvas raise.
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1760
        ].
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1761
        tabSelection == 1 ifTrue:[^ self].
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1762
        tabSelection := 1
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1763
    ].
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1764
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1765
    self isHelpToolSelected ifTrue:[
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1766
        self helpTool helpKey:(self helpKey).
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1767
        helpCanvas raise.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1768
    ] ifFalse:[
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1769
        sel := (slices at:tabSelection) last.
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1770
        specCanvas client:self spec:(self class perform:sel) builder:builder.
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1771
        specCanvas raise.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1772
    ]    
298
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  1773
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1774
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1775
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1776
!MenuEditor methodsFor:'startup / release'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1777
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1778
buildFrom:aClass andSelector:aSelector
249
bfa28b62528c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
  1779
    |oldClass newClass|
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1780
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1781
    oldClass := self specClass.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1782
    self specClass:aClass.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1783
    newClass := self specClass.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1784
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1785
    (self isStandAlone and:[oldClass ~= newClass]) ifTrue:[
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1786
        self helpTool helpSpecFrom:newClass
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1787
    ].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1788
    self painter buildFrom:newClass andSelector:aSelector.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1789
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1790
356
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  1791
closeRequest
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  1792
    "close request
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  1793
    "
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  1794
    isModified ifTrue:[
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  1795
        (self confirm:'quit without without saving your modifications ?') ifFalse:[
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  1796
            ^ self
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
    super closeRequest.
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  1800
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  1801
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  1802
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  1803
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  1804
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  1805
!
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  1806
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1807
initialize
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1808
    "initialize channels
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1809
    "
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1810
    |holder|
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1811
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1812
    super initialize.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1813
    aspects := IdentityDictionary new.
290
1428bab2aa68 an empty selection is now specified by 0
ca
parents: 287
diff changeset
  1814
    tabSelection := 0.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1815
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1816
    #(
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1817
        label
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1818
        accessCharaterPos
290
1428bab2aa68 an empty selection is now specified by 0
ca
parents: 287
diff changeset
  1819
        argument
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1820
        submenuChannel
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1821
        enabled
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1822
        value
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1823
        nameKey
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1824
        indication
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1825
        shortcutKey
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1826
        retriever
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1827
        iconAndLabel
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1828
        icon
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1829
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1830
     ) do:[:aKey|
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1831
        aspects at:aKey put:(holder := ValueHolder new).
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1832
        holder addDependent:self.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1833
    ].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1834
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1835
    aspects at:#seperatorSelection put:(holder := SelectionInList new).
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1836
    holder list:(Item separatorList).
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1837
    holder addDependent:self.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1838
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1839
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1840
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1841
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  1842
openModalOnClass:aClass andSelector:aSelector
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  1843
    specClass := Association key:aClass value:aSelector.
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  1844
    super openInterfaceModal.
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  1845
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  1846
!
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  1847
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1848
openOnClass:aClass andSelector:aSelector
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  1849
    specClass := Association key:aClass value:aSelector.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1850
    super openInterface.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1851
    self buildFrom:aClass andSelector:aSelector.
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  1852
209
b2fa6f8d4808 postBuildWith:builder
ca
parents: 199
diff changeset
  1853
!
b2fa6f8d4808 postBuildWith:builder
ca
parents: 199
diff changeset
  1854
b2fa6f8d4808 postBuildWith:builder
ca
parents: 199
diff changeset
  1855
postBuildWith:builder
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  1856
    |cls sel|
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  1857
356
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  1858
    didInstall := false.
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  1859
    isModified := false.
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  1860
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  1861
    specClass isAssociation ifTrue:[
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  1862
        cls := specClass key.
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  1863
        sel := specClass value.
228
ae3028e45467 can read PullDownMenus
ca
parents: 227
diff changeset
  1864
ae3028e45467 can read PullDownMenus
ca
parents: 227
diff changeset
  1865
        specClass := nil.
ae3028e45467 can read PullDownMenus
ca
parents: 227
diff changeset
  1866
ae3028e45467 can read PullDownMenus
ca
parents: 227
diff changeset
  1867
        (sel isKindOf:Menu) ifTrue:[
ae3028e45467 can read PullDownMenus
ca
parents: 227
diff changeset
  1868
            self buildFrom:cls andSelector:nil.
ae3028e45467 can read PullDownMenus
ca
parents: 227
diff changeset
  1869
          ^ self painter buildFromMenu:sel.
ae3028e45467 can read PullDownMenus
ca
parents: 227
diff changeset
  1870
        ]
ae3028e45467 can read PullDownMenus
ca
parents: 227
diff changeset
  1871
        
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  1872
    ].
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  1873
    self buildFrom:cls andSelector:sel.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1874
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1875
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1876
!MenuEditor methodsFor:'user interactions'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1877
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1878
doBrowseAppClass
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1879
    "open a browser on the class"
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1880
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1881
    |cls|
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1882
331
ca
parents: 326
diff changeset
  1883
    cls := self resolveName:(self specClass).
ca
parents: 326
diff changeset
  1884
ca
parents: 326
diff changeset
  1885
    cls notNil ifTrue:[
ca
parents: 326
diff changeset
  1886
        SystemBrowser openInClass:cls class selector:(self painter selectorName)
ca
parents: 326
diff changeset
  1887
    ] ifFalse:[
ca
parents: 326
diff changeset
  1888
        self information:'no valid class defined'.
ca
parents: 326
diff changeset
  1889
    ]
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1890
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1891
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1892
doDefineClass
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1893
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1894
    aspects at:#classNameChannel  put:(self specClass asValue).
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1895
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1896
    (self openDialogInterface:#classDefineSpec) ifTrue:[
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1897
        self specClass:((aspects at:#classNameChannel) value)
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1898
    ].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1899
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1900
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1901
381
1d1b1483270c now with image editor support
tz
parents: 371
diff changeset
  1902
doEditImage
1d1b1483270c now with image editor support
tz
parents: 371
diff changeset
  1903
382
2a46018227a1 image editor startup bug fixed
tz
parents: 381
diff changeset
  1904
    ImageEditor open loadFromMessage: ((aspects at:#retriever) value ? specClass ? '') , ' ', ((aspects at:#icon) value ? '')
381
1d1b1483270c now with image editor support
tz
parents: 371
diff changeset
  1905
!
1d1b1483270c now with image editor support
tz
parents: 371
diff changeset
  1906
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1907
doFromClass
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1908
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1909
    aspects at:#classNameChannel  put:(self specClass asValue).
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1910
    aspects at:#methodNameChannel put:(self painter selectorName asValue).
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1911
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1912
    (self openDialogInterface:#classAndMethodSpec) ifTrue:[
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1913
        self buildFrom:(aspects at:#classNameChannel) value
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1914
           andSelector:(aspects at:#methodNameChannel) value
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1915
    ].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1916
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1917
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1918
doInstallHelp
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1919
    "install help text
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1920
    "
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1921
    self isStandAlone ifTrue:[
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1922
        self helpTool installHelpSpecInto:(self specClass)
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  1923
    ]
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1924
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1925
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1926
doInstallSpec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1927
    |cls selector painter menu spec mthd category code|
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1928
331
ca
parents: 326
diff changeset
  1929
    cls := self resolveName:(self specClass).
ca
parents: 326
diff changeset
  1930
ca
parents: 326
diff changeset
  1931
    cls isNil ifTrue:[
ca
parents: 326
diff changeset
  1932
        ^ self information:'no valid class defined'.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1933
    ].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1934
    painter  := self painter.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1935
    selector := painter selectorName.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1936
    menu     := painter asMenu.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1937
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1938
    menu isNil ifTrue:[
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1939
        ^ self information:'no menu defined'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1940
    ].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1941
    menu := menu literalArrayEncoding.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1942
    spec := WriteStream on:String new.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1943
    UISpecification prettyPrintSpecArray:menu on:spec indent:5.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1944
    spec := spec contents.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1945
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1946
    "/ if that method already exists, do not overwrite the category
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1947
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1948
    category := 'interface specs'.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1949
    (mthd := cls class compiledMethodAt:selector) notNil ifTrue:[
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1950
        category := mthd category.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1951
    ].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1952
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1953
    code := Character excla asString 
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1954
            , cls name , ' class methodsFor:' , category storeString
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1955
            , Character excla asString , '\\'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1956
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1957
            , selector , '\'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1958
            , '    "this window spec was automatically generated by the ST/X MenuEditor"\\'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1959
            , '    "do not manually edit this - the builder may not be able to\'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1960
            , '     handle the specification if its corrupted."\\'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1961
            , '    "\'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1962
            , '     MenuEditor new openOnClass:' , cls name , ' andSelector:#' , selector , '\'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1963
            , '     (Menu new fromLiteralArrayEncoding:(' , cls name , ' ' , selector , ')) startUp\'
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 
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1967
            , '\'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1968
            , '    <resource: #menu>\\'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1969
            , '    ^\' 
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1970
            , '     ', spec
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1971
            , '\'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1972
            , Character excla asString
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1973
            , ' '
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1974
            , Character excla asString
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1975
            , '\\'.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1976
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1977
    code := code withCRs.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1978
    (ReadStream on:code) fileIn.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1979
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1980
    (cls compiledMethodAt:selector) isNil ifTrue:[
318
31a94b71ae1b reuse of generate code for instance method #menu
ca
parents: 304
diff changeset
  1981
        code := self class generateCodeFor:cls menuSelector:selector.
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1982
        code := code withCRs.
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1983
        (ReadStream on:code) fileIn.
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1984
    ].
356
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  1985
    didInstall := true.
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  1986
    isModified := false.
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1987
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1988
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1989
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1990
doNew
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1991
    self buildFrom:nil andSelector:(self painter selectorName)
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1992
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1993
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1994
doPickAMenu
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1995
228
ae3028e45467 can read PullDownMenus
ca
parents: 227
diff changeset
  1996
    |view|
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1997
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  1998
    view := Screen current viewFromUser.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  1999
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2000
    (view isNil or:[view == Screen current rootView]) ifTrue:[
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2001
        ^ self
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2002
    ].
228
ae3028e45467 can read PullDownMenus
ca
parents: 227
diff changeset
  2003
    view specClass == MenuPanelSpec ifTrue:[
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2004
        ^ self painter buildFromMenu:(view asMenu)
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2005
    ].
228
ae3028e45467 can read PullDownMenus
ca
parents: 227
diff changeset
  2006
    ^ nil
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
doStepDown
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2010
    "move selected child after next child
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2011
    "
298
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2012
    self painter selectedNodeChangeSequenceOrder:1
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2013
!
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2014
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2015
doStepIn
298
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2016
    self painter selectedNodeBecomeChildOfNext
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2017
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2018
!
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2019
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2020
doStepOut
298
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2021
    self painter selectedNodeBecomeSisterOfParent
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2022
!
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2023
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2024
doStepUp
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2025
    "move selected child after next child
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2026
    "
298
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2027
    self painter selectedNodeChangeSequenceOrder:-1
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2028
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2029
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2030
!MenuEditor methodsFor:'values'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2031
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2032
painter
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2033
    "automatically generated by UIPainter ..."
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2034
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2035
    |painter|
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2036
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2037
    (painter := builder bindingAt:#painter) isNil ifTrue:[
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2038
        painter := Painter new.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2039
        painter action:[:dummy| self menuChanged ].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2040
        builder aspectAt:#painter put:painter.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2041
    ].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2042
  ^ painter
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2043
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2044
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2045
!MenuEditor::Item class methodsFor:'constants'!
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2046
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2047
separatorList
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2048
   ^ #( 'blank' 'single line' 'double line' )
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2049
!
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2050
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2051
separatorSlices
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2052
   ^ #(
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2053
        ( #blank        ''  )
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2054
        ( #single       '-' )
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2055
        ( #double       '=' )
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2056
      )
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2057
! !
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2058
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2059
!MenuEditor::Item class methodsFor:'documentation'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2060
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2061
documentation
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2062
"
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2063
    implements the contents assigned to a TreeItem. An instance
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2064
    is associated with one item and keeps all its information
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2065
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2066
    [see also:]
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2067
        TreeItem
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2068
        MenuEditor
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2069
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2070
    [author:]
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2071
        Claus Atzkern
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2072
"
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2073
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2074
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2075
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2076
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2077
!MenuEditor::Item methodsFor:'accessing'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2078
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  2079
activeHelpKey
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  2080
    ^ activeHelpKey
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  2081
!
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  2082
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  2083
activeHelpKey:aKey
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  2084
    activeHelpKey := aKey
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  2085
!
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 275
diff changeset
  2086
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2087
label
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2088
    "return the value of the instance variable 'label' (automatically generated)"
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2089
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2090
    ^ label!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2091
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2092
label:something
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2093
    "set the value of the instance variable 'label' (automatically generated)"
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2094
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2095
    label := something ? '-'.
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2096
!
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2097
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2098
separatorType
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2099
    "returns separator type assigned to item or nil
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2100
    "
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2101
    |c|
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2102
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2103
    label size > 1 ifFalse:[
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2104
        label size == 0 ifTrue:[
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2105
            ^ #blank
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2106
        ].
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2107
        c := label first.
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2108
        c == $- ifTrue:[^ #single].
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2109
        c == $= ifTrue:[^ #double].
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2110
    ].    
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2111
  ^ nil
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2112
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2113
!
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2114
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2115
submenuChannel
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2116
    "return the value of the instance variable 'submenuChannel' (automatically generated)"
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2117
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2118
    ^ submenuChannel
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2119
!
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2120
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2121
submenuChannel:aChannel
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2122
    "return the value of the instance variable 'submenuChannel' (automatically generated)"
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2123
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2124
    submenuChannel := aChannel
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2125
! !
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2126
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2127
!MenuEditor::Item methodsFor:'conversion'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2128
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2129
asMenuItem
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2130
    "converts self to a menu item
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2131
    "
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2132
    |item rcv|
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2133
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2134
    item := MenuItem labeled:label.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2135
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2136
    self isSeparator ifFalse:[
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2137
        item activeHelpKey:activeHelpKey.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2138
        item enabled:enabled.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2139
        item accessCharacterPosition:accessCharaterPos.
290
1428bab2aa68 an empty selection is now specified by 0
ca
parents: 287
diff changeset
  2140
        item argument:argument.
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2141
        item submenuChannel:submenuChannel.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2142
        item nameKey:nameKey.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2143
        item shortcutKeyCharacter:shortcutKey.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2144
        item value:value.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2145
        item indication:indication.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2146
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2147
        icon notNil ifTrue:[
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2148
            rcv := ResourceRetriever new.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2149
            rcv className:retriever.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2150
            rcv selector:icon.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2151
            iconAndLabel == true ifTrue:[
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2152
                rcv labelText:label
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2153
            ].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2154
            item labelImage:rcv
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2155
        ]
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2156
    ].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2157
  ^ item.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2158
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2159
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2160
buildFromAspects:aspects
249
bfa28b62528c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
  2161
    |name|
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2162
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2163
    self isSeparator ifFalse:[
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2164
        name  := label.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2165
        label := (aspects at:#label) value.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2166
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2167
        (label isNil or:[self isSeparator]) ifTrue:[
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2168
            (aspects at:#label) value:(label := name)
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2169
        ].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2170
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2171
        enabled             := (aspects at:#enabled) value.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2172
        value               := (aspects at:#value) value.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2173
        nameKey             := (aspects at:#nameKey) value.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2174
        indication          := (aspects at:#indication) value.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2175
        shortcutKey         := (aspects at:#shortcutKey) value.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2176
        accessCharaterPos   := (aspects at:#accessCharaterPos) value.
290
1428bab2aa68 an empty selection is now specified by 0
ca
parents: 287
diff changeset
  2177
        argument            := (aspects at:#argument) value.
298
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2178
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2179
        argument isString ifTrue:[
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2180
            argument size > 1 ifTrue:[
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2181
                (argument at:1) == $# ifTrue:[
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2182
                    argument := (argument copyFrom:2) asSymbol
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2183
                ]
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2184
            ]
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2185
        ].
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2186
        submenuChannel      := (aspects at:#submenuChannel)    value.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2187
        retriever           := (aspects at:#retriever) value.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2188
        icon                := (aspects at:#icon) value.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2189
        iconAndLabel        := (aspects at:#iconAndLabel) value.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2190
    ] ifTrue:[
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2191
        name  := (aspects at:#seperatorSelection) selectionIndex.
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2192
        label := (self class separatorSlices at:name) last.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2193
    ]
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2194
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2195
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2196
buildFromMenuItem:anItem
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2197
    |rtv|
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2198
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2199
    self label:(anItem label).
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2200
    activeHelpKey := anItem activeHelpKey.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2201
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2202
    (enabled := anItem enabled) isSymbol ifFalse:[
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2203
        enabled := nil
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2204
    ].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2205
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2206
    (value := anItem value) isSymbol ifFalse:[
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2207
        value := nil.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2208
    ].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2209
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2210
    (indication := anItem indication) isSymbol ifFalse:[
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2211
        indication := nil
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2212
    ].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2213
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2214
    nameKey           := anItem nameKey.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2215
    shortcutKey       := anItem shortcutKeyCharacter.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2216
    accessCharaterPos := anItem accessCharacterPosition.
290
1428bab2aa68 an empty selection is now specified by 0
ca
parents: 287
diff changeset
  2217
    argument          := anItem argument.
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2218
    submenuChannel    := anItem submenuChannel.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2219
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2220
    (    ((rtv := anItem adornment) notNil)
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2221
     and:[(rtv := rtv labelImage) isKindOf:ResourceRetriever]
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2222
    ) ifTrue:[
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2223
        retriever := rtv className.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2224
        icon      := rtv selector.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2225
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2226
        (iconAndLabel := rtv labelText notNil) ifTrue:[
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2227
            label := rtv labelText.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2228
        ]
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2229
    ]
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2230
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2231
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2232
toAspects:aspects
249
bfa28b62528c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
  2233
    |type|
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2234
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2235
    (type := self separatorType) notNil ifTrue:[
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2236
        type := self class separatorSlices findFirst:[:el| el first == type ].
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2237
        (aspects at:#seperatorSelection) selectionIndex:type.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2238
    ] ifFalse:[
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2239
        (aspects at:#label)                 value:label.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2240
        (aspects at:#enabled)               value:enabled.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2241
        (aspects at:#value)                 value:value.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2242
        (aspects at:#nameKey)               value:nameKey.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2243
        (aspects at:#indication)            value:indication.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2244
        (aspects at:#shortcutKey)           value:shortcutKey.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2245
        (aspects at:#accessCharaterPos)     value:accessCharaterPos.
298
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2246
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2247
        argument isSymbol ifTrue:[
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2248
            (aspects at:#argument) value:'#', argument
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2249
        ] ifFalse:[
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2250
            (aspects at:#argument) value:argument.
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2251
        ].
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2252
        (aspects at:#submenuChannel)        value:submenuChannel.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2253
        (aspects at:#retriever)             value:retriever.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2254
        (aspects at:#icon)                  value:icon.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2255
        (aspects at:#iconAndLabel)          value:iconAndLabel.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2256
    ]
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2257
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2258
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2259
!MenuEditor::Item methodsFor:'queries'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2260
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2261
isSeparator
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2262
    "returns true if item is a seperator
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2263
    "
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2264
    ^ self separatorType notNil
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2265
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2266
220
ca
parents: 218
diff changeset
  2267
!MenuEditor::Painter class methodsFor:'constants'!
ca
parents: 218
diff changeset
  2268
243
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
  2269
imageItem
275
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2270
    ^ self images at:#item
243
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
  2271
!
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
  2272
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
  2273
imageMenu
275
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2274
    ^ self images at:#menuOpen
243
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
  2275
!
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
  2276
220
ca
parents: 218
diff changeset
  2277
imageMenuLink
275
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2278
    ^ self images at:#menuLink
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2279
220
ca
parents: 218
diff changeset
  2280
!
ca
parents: 218
diff changeset
  2281
ca
parents: 218
diff changeset
  2282
imageSeparator
275
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2283
    ^ self images at:#separator
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2284
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2285
!
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
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2288
    "returns an IdentityDictionary containing a list of images and keys used
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2289
    "
371
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  2290
    <resource: #fileImage>
7017eaabd9ed add help text
ca
parents: 359
diff changeset
  2291
326
4dcda591af02 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 318
diff changeset
  2292
    |image|
275
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2293
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2294
    Images notNil ifTrue:[
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2295
        ^ Images
220
ca
parents: 218
diff changeset
  2296
    ].
275
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2297
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2298
    Images := IdentityDictionary new.
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
        (#item            'ui_menuitem.xpm')
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2302
        (#menuClosed      'ui_submenu.xpm')
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2303
        (#menuOpen        'ui_submenu_open.xpm')
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2304
        (#menuLink        'ui_submenulink.xpm')
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2305
        (#separator       'ui_menusep.xpm')
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2306
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2307
     ) do:[:el |
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2308
        image := Image fromFile:( el last ).
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2309
        Images at:(el first) put:image.
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2310
    ].
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2311
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2312
  ^ Images
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2313
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2314
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2315
220
ca
parents: 218
diff changeset
  2316
! !
ca
parents: 218
diff changeset
  2317
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2318
!MenuEditor::Painter class methodsFor:'defaults'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2319
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2320
defaultMenuMessage   
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2321
    "This message is the default yo be sent to the menuHolder to get a menu
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2322
    "
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2323
    ^ #menu
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2324
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2325
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2326
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2327
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2328
!MenuEditor::Painter class methodsFor:'documentation'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2329
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2330
documentation
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2331
"
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2332
    menu selection list
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2333
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2334
    [see also:]
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2335
        SelectionInTreeView
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2336
        SelectionInTree
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2337
        TreeItem
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2338
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2339
    [author:]
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2340
        Claus Atzkern
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2341
"
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2342
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2343
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2344
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2345
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2346
!MenuEditor::Painter methodsFor:'accessing'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2347
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2348
selectorName
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2349
    ^ (listOfNodes first contents label) asSymbol
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2350
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2351
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2352
!MenuEditor::Painter methodsFor:'building'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2353
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2354
buildFrom:aClass andSelector:aSelector
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2355
    |spec cls menu node|
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2356
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2357
    (aClass notNil and:[aSelector notNil]) ifTrue:[
340
1de048872d5e resolveName:
ca
parents: 331
diff changeset
  2358
        cls := self application resolveName:aClass.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2359
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2360
        (cls respondsTo:aSelector) ifTrue:[
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2361
            spec := cls perform:aSelector
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2362
        ]
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2363
    ].
331
ca
parents: 326
diff changeset
  2364
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2365
    spec isNil ifFalse:[
298
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2366
        (spec isMemberOf:Menu) ifFalse:[
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2367
            menu := Menu new fromLiteralArrayEncoding:spec.
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2368
        ] ifTrue:[
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2369
            menu := spec.
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2370
        ].
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2371
        node := self nodeLabel:(aSelector asString).
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2372
        self subMenu:menu parent:node.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2373
    ] ifTrue:[
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2374
        aSelector notNil ifTrue:[cls := aSelector asString]
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2375
                        ifFalse:[cls := 'menu'].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2376
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2377
        node := self nodeLabel:cls.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2378
    ].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2379
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2380
    node hasChildren ifFalse:[
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2381
        node add:(self nodeLabel:'undefined')
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2382
    ].
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2383
    node expand.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2384
    model root:node.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2385
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2386
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2387
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2388
buildFromMenu:aMenu
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2389
249
bfa28b62528c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
  2390
    |node|
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2391
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2392
    node := self nodeLabel:'menu'.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2393
    self subMenu:aMenu parent:node.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2394
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2395
    node hasChildren ifFalse:[
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2396
        node add:(self nodeLabel:'undefined')
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2397
    ].
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2398
    node expand.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2399
    model root:node.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2400
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2401
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2402
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2403
menuItem:anItem
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2404
249
bfa28b62528c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 246
diff changeset
  2405
    |node|
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2406
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2407
    node := self nodeLabel:(anItem label).
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2408
    node contents buildFromMenuItem:anItem.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2409
    node name:(node contents label).
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2410
    self subMenu:(anItem submenu) parent:node.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2411
  ^ node.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2412
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2413
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2414
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2415
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2416
subMenu:aMenu parent:aParent
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2417
    |idx grp|
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2418
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2419
    aMenu isNil ifFalse:[
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2420
        grp := aMenu groupSizes.
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2421
        aMenu itemsDo:[:i| aParent add:(self menuItem:i)].
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2422
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2423
        grp notNil ifTrue:[
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2424
            idx := 0.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2425
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2426
            grp do:[:i|
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2427
                idx := idx + i + 1.
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2428
                aParent add:(self nodeLabel:nil) beforeIndex:idx.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2429
            ]
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2430
        ]
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2431
    ]
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2432
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2433
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2434
!MenuEditor::Painter methodsFor:'conversion'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2435
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2436
asMenu
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2437
    |menu root|
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2438
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2439
    root := self root.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2440
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2441
    root hasChildren ifTrue:[
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2442
        menu := Menu new.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2443
        root children do:[:aChild| menu addItem:(self asMenuItem:aChild)].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2444
    ].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2445
  ^ menu
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2446
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2447
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2448
asMenuItem:aNode
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2449
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2450
    |menu item|
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2451
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2452
    item := aNode contents asMenuItem.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2453
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2454
    aNode hasChildren ifTrue:[
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2455
        menu := Menu new.
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2456
        aNode children do:[:aChild| menu addItem:(self asMenuItem:aChild)].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2457
        item submenu:menu
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2458
    ].
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2459
  ^ item
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2460
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2461
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2462
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2463
!MenuEditor::Painter methodsFor:'drawing basics'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2464
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2465
drawLabelIndex:anIndex atX:x y:yCenter
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2466
    "draw text label assigned to a node at x y( center)
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2467
    "
258
c6f8c3e2f463 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 257
diff changeset
  2468
    |y x2 type item|
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2469
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2470
    item := (listOfNodes at:anIndex) contents.
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2471
    type := item separatorType.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2472
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2473
    type isNil ifTrue:[
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2474
        super drawLabelIndex:anIndex atX:x y:yCenter
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2475
    ] ifFalse:[
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2476
        type == #blank ifFalse:[
258
c6f8c3e2f463 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 257
diff changeset
  2477
            x2 := x + 80.
c6f8c3e2f463 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 257
diff changeset
  2478
c6f8c3e2f463 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 257
diff changeset
  2479
            self displayLineFromX:x y:yCenter toX:x2 y:yCenter.
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2480
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2481
            type == #double ifTrue:[
258
c6f8c3e2f463 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 257
diff changeset
  2482
                y := yCenter + 2.
c6f8c3e2f463 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 257
diff changeset
  2483
                self displayLineFromX:x y:y toX:x2 y:y.
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2484
            ]    
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2485
        ]
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2486
    ]
258
c6f8c3e2f463 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 257
diff changeset
  2487
c6f8c3e2f463 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 257
diff changeset
  2488
    "Modified: 28.7.1997 / 13:13:41 / cg"
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2489
!
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2490
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2491
figureFor:aNode
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2492
    "access figure for a node
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2493
    "
220
ca
parents: 218
diff changeset
  2494
    |item|
ca
parents: 218
diff changeset
  2495
ca
parents: 218
diff changeset
  2496
    aNode hasChildren ifFalse:[
ca
parents: 218
diff changeset
  2497
        item := aNode contents.
ca
parents: 218
diff changeset
  2498
ca
parents: 218
diff changeset
  2499
        item submenuChannel notNil ifTrue:[
275
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2500
            ^ images at:#menuLink
220
ca
parents: 218
diff changeset
  2501
        ].
ca
parents: 218
diff changeset
  2502
ca
parents: 218
diff changeset
  2503
        item isSeparator ifTrue:[
275
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2504
            ^ images at:#separator
243
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
  2505
        ].
275
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2506
        ^ images at:#item
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2507
    ].
243
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
  2508
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
  2509
    aNode isExpandable ifTrue:[ 
275
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2510
        ^ images at:#menuClosed
243
ae6608b760bf nicer images
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
  2511
    ].
275
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2512
    ^ images at:#menuOpen
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2513
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2514
356
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  2515
!MenuEditor::Painter methodsFor:'event handling'!
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  2516
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  2517
keyPress:key x:x y:y
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  2518
    "any key pressed
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
    <resource: #keyboard ( #Delete #BackSpace #Cut #Copy #Paste ) >
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  2521
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  2522
    (key == #Cut or:[key == #Delete or:[key == #BackSpace]]) ifTrue: [
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  2523
        ^ self doCut
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  2524
    ].
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  2525
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  2526
    key == #Copy  ifTrue:[ ^ self doCopy].
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  2527
    key == #Paste ifTrue:[ ^ self doPaste].
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  2528
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  2529
    super keyPress:key x:x y:y.
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  2530
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  2531
! !
269c117830ba before closing the builder, check for outstanding
ca
parents: 340
diff changeset
  2532
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2533
!MenuEditor::Painter methodsFor:'initialization'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2534
275
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2535
fetchImageResources
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2536
    "initialize heavily used device resources - to avoid rendering
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2537
     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
  2538
    "
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2539
    |y x t|
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
    t := super fetchImageResources.
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2542
    y := t y.
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2543
    x := t x.
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 do:[:anIcon|
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2546
        (t := anIcon heightOn:self) > y ifTrue:[y := t].
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2547
        (t := anIcon widthOn:self)  > x ifTrue:[x := t].
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2548
    ].
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2549
  ^ x @ y
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2550
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2551
!
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2552
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2553
initialize
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2554
    super initialize.
275
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2555
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2556
    images := IdentityDictionary new.
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2557
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2558
    self class images associationsDo:[:el|
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2559
        images at:(el key) put:(el value onDevice:device)
cdecb5b5d356 set fontHeight dependent on max. image height
ca
parents: 270
diff changeset
  2560
    ].
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2561
    self multipleSelectOk:true.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2562
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2563
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2564
!MenuEditor::Painter methodsFor:'menus'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2565
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2566
doCopy
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2567
    self hasSelection ifTrue:[
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2568
        CopyBuffer := OrderedCollection new.
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2569
        self selectionDo:[:i| CopyBuffer add:((listOfNodes at:i) copy)]
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2570
    ]
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2571
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2572
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2573
doCreateItem
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2574
    self addElement:(self nodeLabel:'undefined')
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2575
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2576
218
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2577
doCreateLink
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2578
    |node item|
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2579
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2580
    node := self nodeLabel:'undefined'.
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2581
    item := node contents.
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2582
    item submenuChannel:#menuDefaultLink.
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2583
    self addElement:node
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2584
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2585
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2586
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2587
!
5c88856b360f access MenuEditor from any specification;
ca
parents: 215
diff changeset
  2588
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2589
doCreateMenu
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2590
    |node|
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2591
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2592
    node := self nodeLabel:'undefined'.
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2593
    node add:(self nodeLabel:'undefined').
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2594
    self addElement:node
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
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2598
doCreateSep
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2599
    self addElement:(self nodeLabel:nil)
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2600
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2601
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2602
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2603
doCut
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2604
    self doCopy.
298
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2605
    self selectedNodesRemove.
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2606
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2607
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2608
doPaste
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2609
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2610
    (CopyBuffer notNil and:[self selectedNode notNil]) ifTrue:[
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2611
        self addElement:(CopyBuffer collect:[:el| el copy])
220
ca
parents: 218
diff changeset
  2612
    ].
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2613
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2614
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2615
!MenuEditor::Painter methodsFor:'private'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2616
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2617
addElement:something
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2618
    "add something after selection
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2619
    "
298
cec1f174397e use more functionality provided by base class
ca
parents: 290
diff changeset
  2620
    self selectedNodeAdd:something
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2621
!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2622
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2623
nodeLabel:aLabel
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2624
   ^ TreeItem name:aLabel contents:(MenuEditor::Item new label:aLabel).
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2625
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2626
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2627
!MenuEditor::Painter methodsFor:'selection'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2628
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2629
selectedNodeChanged
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2630
    |node name index|
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2631
213
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2632
    (index := self selectedIndex) ~~ 0 ifTrue:[
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2633
        node := listOfNodes at:index.
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2634
        name := node contents label.
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2635
        list at:index put:name.
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2636
        node name:name.
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2637
        self redrawLine:index.
71b11a173f87 change model; supports multiple selection
ca
parents: 209
diff changeset
  2638
    ]
199
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2639
! !
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2640
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2641
!MenuEditor class methodsFor:'documentation'!
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2642
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2643
version
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2644
    ^ '$Header$'
6ce84c1270a6 intitial checkin
ca
parents:
diff changeset
  2645
! !