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