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