UIPainter.st
author tz
Tue, 27 Jan 1998 14:56:15 +0100
changeset 486 2a1024483349
parent 482 00acfc336304
child 490 c0e98d01e2d4
permissions -rw-r--r--
info bar as subSpec to class ToolApplicationModel moved
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
156
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 155
diff changeset
     1
"
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 155
diff changeset
     2
 COPYRIGHT (c) 1995 by eXept Software AG
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 155
diff changeset
     3
              All Rights Reserved
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 155
diff changeset
     4
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 155
diff changeset
     5
 This software is furnished under a license and may be used
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 155
diff changeset
     6
 only in accordance with the terms of that license and with the
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 155
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 155
diff changeset
     8
 be provided or otherwise made available to, or used by, any
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 155
diff changeset
     9
 other person.  No title to or ownership of the software is
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 155
diff changeset
    10
 hereby transferred.
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 155
diff changeset
    11
"
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 155
diff changeset
    12
368
9e588f397bc9 support of lineFeed character \ in the help text
ca
parents: 366
diff changeset
    13
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
    14
ToolApplicationModel subclass:#UIPainter
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
    15
	instanceVariableNames:'treeView selectionPanel tabSelection specClass specSelector
297
14db1276218c change the spec;
ca
parents: 295
diff changeset
    16
		specSuperclass aspects layoutCanvas helpCanvas specCanvas
14db1276218c change the spec;
ca
parents: 295
diff changeset
    17
		transcript'
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
    18
	classVariableNames:''
60
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
    19
	poolDictionaries:''
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
    20
	category:'Interface-UIPainter'
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
    21
!
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
    22
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
    23
SelectionInTreeView subclass:#TreeView
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
    24
	instanceVariableNames:'lastDrawnMaster cvsEventsDisabled imageMasterParent
311
52f954630dca support of menu and srollers for the canvas
ca
parents: 305
diff changeset
    25
		imageEmptyParent imageMasterChild windowSpec'
440
1198f19712ff spec items have got individual icons
tz
parents: 437
diff changeset
    26
	classVariableNames:'Images'
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
    27
	poolDictionaries:''
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
    28
	privateIn:UIPainter
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
    29
!
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
    30
60
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
    31
!UIPainter class methodsFor:'documentation'!
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
    32
156
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 155
diff changeset
    33
copyright
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 155
diff changeset
    34
"
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 155
diff changeset
    35
 COPYRIGHT (c) 1995 by eXept Software AG
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 155
diff changeset
    36
              All Rights Reserved
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 155
diff changeset
    37
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 155
diff changeset
    38
 This software is furnished under a license and may be used
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 155
diff changeset
    39
 only in accordance with the terms of that license and with the
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 155
diff changeset
    40
 inclusion of the above copyright notice.   This software may not
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 155
diff changeset
    41
 be provided or otherwise made available to, or used by, any
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 155
diff changeset
    42
 other person.  No title to or ownership of the software is
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 155
diff changeset
    43
 hereby transferred.
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 155
diff changeset
    44
"
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 155
diff changeset
    45
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 155
diff changeset
    46
!
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 155
diff changeset
    47
60
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
    48
documentation
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
    49
"
127
95070ea7ae42 update layout from view
ca
parents: 124
diff changeset
    50
    GUI-Builder:
95070ea7ae42 update layout from view
ca
parents: 124
diff changeset
    51
    this class allows the user to build its own applications providing a graphical
95070ea7ae42 update layout from view
ca
parents: 124
diff changeset
    52
    user interface to buildin components and to define the behavior of the components
95070ea7ae42 update layout from view
ca
parents: 124
diff changeset
    53
    during runtime. The resulting specifications can be installed as methods on 
95070ea7ae42 update layout from view
ca
parents: 124
diff changeset
    54
    classes, typically subclasses of an ApplicationModel. These specifications
95070ea7ae42 update layout from view
ca
parents: 124
diff changeset
    55
    are used by the UIBuilder to generate the application window and its component
95070ea7ae42 update layout from view
ca
parents: 124
diff changeset
    56
    structues when open the application.
60
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
    57
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
    58
    [start with:]
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
    59
        UIPainter open
127
95070ea7ae42 update layout from view
ca
parents: 124
diff changeset
    60
156
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 155
diff changeset
    61
    [author:]
183
bb0cc63e2cf1 set masterApllication instead of application
ca
parents: 179
diff changeset
    62
        Claus Gittinger
156
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 155
diff changeset
    63
        Claus Atzkern
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 155
diff changeset
    64
127
95070ea7ae42 update layout from view
ca
parents: 124
diff changeset
    65
    [see also:]
95070ea7ae42 update layout from view
ca
parents: 124
diff changeset
    66
        UIBuilder
95070ea7ae42 update layout from view
ca
parents: 124
diff changeset
    67
        ApplicationModel
95070ea7ae42 update layout from view
ca
parents: 124
diff changeset
    68
        UISpecification
60
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
    69
"
109
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
    70
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
    71
! !
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
    72
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
    73
!UIPainter class methodsFor:'instance creation'!
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
    74
195
350f95af5d9d check before sending selector to class
Claus Gittinger <cg@exept.de>
parents: 194
diff changeset
    75
openOnClass:aClass andSelector:aSelector
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
    76
    "open up an interface builder, fetching a spec from aClass
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
    77
     via some selector
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
    78
    "
195
350f95af5d9d check before sending selector to class
Claus Gittinger <cg@exept.de>
parents: 194
diff changeset
    79
    ^ self new openOnClass:aClass andSelector:aSelector
350f95af5d9d check before sending selector to class
Claus Gittinger <cg@exept.de>
parents: 194
diff changeset
    80
!
350f95af5d9d check before sending selector to class
Claus Gittinger <cg@exept.de>
parents: 194
diff changeset
    81
109
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
    82
painter:aBuilderView
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
    83
    "set the painter
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
    84
    "
109
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
    85
    |application|
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
    86
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
    87
    application := self new.
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
    88
    application painter:aBuilderView.
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
    89
  ^ application open
60
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
    90
! !
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
    91
87
cc6d70449622 add ST-80 queries
ca
parents: 81
diff changeset
    92
!UIPainter class methodsFor:'ST-80 queries'!
cc6d70449622 add ST-80 queries
ca
parents: 81
diff changeset
    93
cc6d70449622 add ST-80 queries
ca
parents: 81
diff changeset
    94
preferenceFor:aSymbol
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
    95
    "ST-80 compatible; always returns false
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
    96
    "
87
cc6d70449622 add ST-80 queries
ca
parents: 81
diff changeset
    97
    ^ false
109
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
    98
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
    99
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
   100
! !
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
   101
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   102
!UIPainter class methodsFor:'accessing'!
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   103
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   104
label
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   105
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   106
    ^'GUI Builder'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   107
! !
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   108
193
450d9e5c6f4a checkin from browser
ca
parents: 187
diff changeset
   109
!UIPainter class methodsFor:'help specs'!
450d9e5c6f4a checkin from browser
ca
parents: 187
diff changeset
   110
450d9e5c6f4a checkin from browser
ca
parents: 187
diff changeset
   111
helpSpec
450d9e5c6f4a checkin from browser
ca
parents: 187
diff changeset
   112
    "return a dictionary filled with helpKey -> helptext associations.
295
114befd1c369 add some help text
ca
parents: 287
diff changeset
   113
     These are used by the activeHelp tool."
114befd1c369 add some help text
ca
parents: 287
diff changeset
   114
193
450d9e5c6f4a checkin from browser
ca
parents: 187
diff changeset
   115
    "
295
114befd1c369 add some help text
ca
parents: 287
diff changeset
   116
    UIHelpTool openOnClass:UIPainter    
114befd1c369 add some help text
ca
parents: 287
diff changeset
   117
    "
114befd1c369 add some help text
ca
parents: 287
diff changeset
   118
193
450d9e5c6f4a checkin from browser
ca
parents: 187
diff changeset
   119
  ^ super helpSpec addPairsFrom:#(
450d9e5c6f4a checkin from browser
ca
parents: 187
diff changeset
   120
466
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   121
#accept
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   122
'write back changes'
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   123
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   124
#alignSelectionBottom
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   125
'align selected widgets to the bottom edge of the dominant widget'
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   126
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   127
#alignSelectionCenterHor
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   128
'align selected widgets vertical to the center of the dominant widget'
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   129
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   130
#alignSelectionCenterVer
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   131
'align selected widgets horizontal to the center of the dominant widget'
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   132
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   133
#alignSelectionLeft
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   134
'align selected widgets to the left edge of the dominant widget'
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   135
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   136
#alignSelectionLeftAndRight
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   137
'align selected widgets to the right and left edge of the dominant widget'
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   138
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   139
#alignSelectionRight
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   140
'align selected widgets to the right edge of the dominant widget'
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   141
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   142
#alignSelectionTop
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   143
'align selected widgets to the top edge of the dominant widget'
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   144
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   145
#alignSelectionTopAndBottom
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   146
'align selected widgets to the top and bottom edge of the dominant widget'
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   147
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   148
#cancel
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   149
'reread specification and layout'
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   150
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   151
#centerSelectionHor
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   152
'center widgets horizontal to their top widget'
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   153
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   154
#centerSelectionVer
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   155
'center vertical horizontal in contained view'
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   156
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   157
#copyExtent
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   158
'copy extent of the selected widget'
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   159
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   160
#copyLayout
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   161
'copy layout of the selected widget'
295
114befd1c369 add some help text
ca
parents: 287
diff changeset
   162
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
   163
#galleryShown
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
   164
'show or hide gallery view'
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
   165
466
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   166
#menuAlignment
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   167
'provides a set of alignment operation on the current selected widgets'
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
   168
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
   169
#menuChangeHierarchy
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
   170
'change hierarchy of the selected widget'
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
   171
466
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   172
#moveSelectionDown
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   173
'move selected widgets down while pressing the button'
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   174
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   175
#moveSelectionLeft
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   176
'move selected widgets left while pressing the button'
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
   177
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
   178
#moveSelectionRight
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
   179
'move selected widgets right while pressing the button'
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
   180
466
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   181
#moveSelectionUp
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   182
'move selected widgets up while pressing the button'
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
   183
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
   184
#painterShown
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
   185
'show or hide painter view'
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
   186
466
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   187
#pasteBuffer
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   188
'paste widgets at current mouse position'
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   189
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
   190
#pasteExtent
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
   191
'change extent of all selected widgets to the last copied extent'
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
   192
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
   193
#pasteHeight
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
   194
'change height of all selected widgets to the last copied extent height'
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
   195
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
   196
#pasteLayout
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
   197
'change layout of all selected widgets to the last copied layout'
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
   198
466
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   199
#pasteWidth
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   200
'change width of all selected widgets to the last copied extent width'
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   201
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   202
#pasteWithLayout
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   203
'paste widgets without changing their layouts'
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   204
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   205
#setToDefaultExtent
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   206
'set selected widgets to their default extent'
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   207
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   208
#setToDefaultHeight
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   209
'set selected widgets to their default height'
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   210
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   211
#setToDefaultWidth
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   212
'set selected widgets to their default width'
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
   213
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
   214
#spreadSelectionHor
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
   215
'horizontal spacing between selected widgets is made the same'
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
   216
466
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   217
#spreadSelectionVer
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   218
'vertical spacing between selected widgets is made the same'
194
2b05bd327785 recompute property list when changing view ordering by
ca
parents: 193
diff changeset
   219
193
450d9e5c6f4a checkin from browser
ca
parents: 187
diff changeset
   220
)
450d9e5c6f4a checkin from browser
ca
parents: 187
diff changeset
   221
! !
450d9e5c6f4a checkin from browser
ca
parents: 187
diff changeset
   222
297
14db1276218c change the spec;
ca
parents: 295
diff changeset
   223
!UIPainter class methodsFor:'helpers'!
14db1276218c change the spec;
ca
parents: 295
diff changeset
   224
368
9e588f397bc9 support of lineFeed character \ in the help text
ca
parents: 366
diff changeset
   225
convertString:aString maxLineSize:maxCharactersPerLine skipLineFeed:skipLineFeed
297
14db1276218c change the spec;
ca
parents: 295
diff changeset
   226
    "converts a string to a string collection with maximum characters
14db1276218c change the spec;
ca
parents: 295
diff changeset
   227
     per line
14db1276218c change the spec;
ca
parents: 295
diff changeset
   228
    "
14db1276218c change the spec;
ca
parents: 295
diff changeset
   229
    |stream
14db1276218c change the spec;
ca
parents: 295
diff changeset
   230
        max     "{ Class:SmallInteger }"
14db1276218c change the spec;
ca
parents: 295
diff changeset
   231
        size    "{ Class:SmallInteger }"
14db1276218c change the spec;
ca
parents: 295
diff changeset
   232
        start   "{ Class:SmallInteger }"
14db1276218c change the spec;
ca
parents: 295
diff changeset
   233
        stop    "{ Class:SmallInteger }"
14db1276218c change the spec;
ca
parents: 295
diff changeset
   234
        cpySz   "{ Class:SmallInteger }"
14db1276218c change the spec;
ca
parents: 295
diff changeset
   235
        lnSz    "{ Class:SmallInteger }"|
14db1276218c change the spec;
ca
parents: 295
diff changeset
   236
14db1276218c change the spec;
ca
parents: 295
diff changeset
   237
    maxCharactersPerLine < 20 ifFalse:[max := maxCharactersPerLine - 1]
14db1276218c change the spec;
ca
parents: 295
diff changeset
   238
                               ifTrue:[max := 20].
14db1276218c change the spec;
ca
parents: 295
diff changeset
   239
14db1276218c change the spec;
ca
parents: 295
diff changeset
   240
    (size := aString size) <= max ifTrue:[
14db1276218c change the spec;
ca
parents: 295
diff changeset
   241
        ^ aString
14db1276218c change the spec;
ca
parents: 295
diff changeset
   242
    ].
14db1276218c change the spec;
ca
parents: 295
diff changeset
   243
    start  := 1.
14db1276218c change the spec;
ca
parents: 295
diff changeset
   244
    lnSz   := 0.
14db1276218c change the spec;
ca
parents: 295
diff changeset
   245
    stream := (String new:size) writeStream.
14db1276218c change the spec;
ca
parents: 295
diff changeset
   246
14db1276218c change the spec;
ca
parents: 295
diff changeset
   247
    [start <= size] whileTrue:[
14db1276218c change the spec;
ca
parents: 295
diff changeset
   248
        (start := aString indexOfNonSeparatorStartingAt:start) == 0 ifTrue:[
14db1276218c change the spec;
ca
parents: 295
diff changeset
   249
            ^ stream contents
14db1276218c change the spec;
ca
parents: 295
diff changeset
   250
        ].
368
9e588f397bc9 support of lineFeed character \ in the help text
ca
parents: 366
diff changeset
   251
        (aString at:start) == $\ ifTrue:[
9e588f397bc9 support of lineFeed character \ in the help text
ca
parents: 366
diff changeset
   252
            skipLineFeed ifFalse:[
9e588f397bc9 support of lineFeed character \ in the help text
ca
parents: 366
diff changeset
   253
                stream nextPut:$\
9e588f397bc9 support of lineFeed character \ in the help text
ca
parents: 366
diff changeset
   254
            ].
9e588f397bc9 support of lineFeed character \ in the help text
ca
parents: 366
diff changeset
   255
            start := start + 1.
9e588f397bc9 support of lineFeed character \ in the help text
ca
parents: 366
diff changeset
   256
            stream cr.
9e588f397bc9 support of lineFeed character \ in the help text
ca
parents: 366
diff changeset
   257
            start := start + 1.
9e588f397bc9 support of lineFeed character \ in the help text
ca
parents: 366
diff changeset
   258
            lnSz := 0.
9e588f397bc9 support of lineFeed character \ in the help text
ca
parents: 366
diff changeset
   259
        ] ifFalse:[
9e588f397bc9 support of lineFeed character \ in the help text
ca
parents: 366
diff changeset
   260
            (stop := aString indexOfSeparatorStartingAt:start) == 0 ifTrue:[
9e588f397bc9 support of lineFeed character \ in the help text
ca
parents: 366
diff changeset
   261
                    stop := size + 1
9e588f397bc9 support of lineFeed character \ in the help text
ca
parents: 366
diff changeset
   262
            ].
9e588f397bc9 support of lineFeed character \ in the help text
ca
parents: 366
diff changeset
   263
            (aString at:(stop - 1)) == $\ ifTrue:[
9e588f397bc9 support of lineFeed character \ in the help text
ca
parents: 366
diff changeset
   264
                stop := stop - 1
9e588f397bc9 support of lineFeed character \ in the help text
ca
parents: 366
diff changeset
   265
            ].
9e588f397bc9 support of lineFeed character \ in the help text
ca
parents: 366
diff changeset
   266
            cpySz := stop - start.
9e588f397bc9 support of lineFeed character \ in the help text
ca
parents: 366
diff changeset
   267
9e588f397bc9 support of lineFeed character \ in the help text
ca
parents: 366
diff changeset
   268
            lnSz == 0 ifFalse:[
9e588f397bc9 support of lineFeed character \ in the help text
ca
parents: 366
diff changeset
   269
                (lnSz := lnSz + cpySz) >= max ifTrue:[stream cr.    lnSz := cpySz ]
9e588f397bc9 support of lineFeed character \ in the help text
ca
parents: 366
diff changeset
   270
                                             ifFalse:[stream space. lnSz := lnSz + 1]
9e588f397bc9 support of lineFeed character \ in the help text
ca
parents: 366
diff changeset
   271
            ] ifTrue:[
9e588f397bc9 support of lineFeed character \ in the help text
ca
parents: 366
diff changeset
   272
                lnSz := cpySz
9e588f397bc9 support of lineFeed character \ in the help text
ca
parents: 366
diff changeset
   273
            ].
9e588f397bc9 support of lineFeed character \ in the help text
ca
parents: 366
diff changeset
   274
            stream nextPutAll:aString startingAt:start to:(stop - 1).
9e588f397bc9 support of lineFeed character \ in the help text
ca
parents: 366
diff changeset
   275
            start := stop.
9e588f397bc9 support of lineFeed character \ in the help text
ca
parents: 366
diff changeset
   276
        ]
297
14db1276218c change the spec;
ca
parents: 295
diff changeset
   277
    ].
14db1276218c change the spec;
ca
parents: 295
diff changeset
   278
    ^ stream contents
14db1276218c change the spec;
ca
parents: 295
diff changeset
   279
! !
14db1276218c change the spec;
ca
parents: 295
diff changeset
   280
60
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
   281
!UIPainter class methodsFor:'interface specs'!
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
   282
366
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   283
gridParametersSpec
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   284
    "this window spec was automatically generated by the ST/X UIPainter"
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   285
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   286
    "do not manually edit this - the painter/builder may not be able to
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   287
     handle the specification if its corrupted."
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   288
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   289
    "
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   290
     UIPainter new openOnClass:UIPainter andSelector:#gridParametersSpec
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   291
     UIPainter new openInterface:#gridParametersSpec
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   292
    "
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   293
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   294
    <resource: #canvas>
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   295
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   296
    ^
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   297
     
366
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   298
       #(#FullSpec
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   299
          #'window:' 
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   300
           #(#WindowSpec
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   301
              #'name:' 'Grid Parameters:'
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   302
              #'layout:' #(#LayoutFrame 229 0 394 0 494 0 543 0)
366
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   303
              #'label:' 'Grid Parameters:'
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   304
              #'min:' #(#Point 10 10)
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   305
              #'max:' #(#Point 1280 1024)
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   306
              #'bounds:' #(#Rectangle 229 394 495 544)
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   307
              #'usePreferredExtent:' false
366
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   308
          )
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   309
          #'component:' 
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   310
           #(#SpecCollection
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   311
              #'collection:' 
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   312
               #(
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   313
                 #(#CheckBoxSpec
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   314
                    #'name:' 'show'
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   315
                    #'layout:' #(#Point 13 14)
366
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   316
                    #'model:' #showGrid
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   317
                    #'label:' 'Show grid'
366
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   318
                )
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   319
                 #(#CheckBoxSpec
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   320
                    #'name:' 'align'
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   321
                    #'layout:' #(#Point 117 14)
366
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   322
                    #'model:' #alignToGrid
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   323
                    #'label:' 'Align to Grid'
366
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   324
                )
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   325
                 #(#LabelSpec
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   326
                    #'name:' 'hrzLabel'
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   327
                    #'layout:' #(#AlignmentOrigin 136 0 62 0 1 0.5)
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   328
                    #'label:' 'Horizontal Pixels:'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   329
                    #'adjust:' #right
366
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   330
                    #'resizeForLabel:' true
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   331
                )
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   332
                 #(#InputFieldSpec
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   333
                    #'name:' 'hrzField'
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   334
                    #'layout:' #(#LayoutFrame 141 0 51 0 194 0 73 0)
366
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   335
                    #'model:' #hspace
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   336
                    #'type:' #numberOrNil
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   337
                )
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   338
                 #(#LabelSpec
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   339
                    #'name:' 'vrtLabel'
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   340
                    #'layout:' #(#AlignmentOrigin 137 0 85 0 1 0.5)
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   341
                    #'label:' 'Vertical Pixels:'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   342
                    #'adjust:' #right
366
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   343
                    #'resizeForLabel:' true
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   344
                )
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   345
                 #(#InputFieldSpec
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   346
                    #'name:' 'vrtField'
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   347
                    #'layout:' #(#LayoutFrame 141 0 74 0 194 0 96 0)
366
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   348
                    #'model:' #vspace
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   349
                    #'type:' #numberOrNil
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   350
                )
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   351
                 #(#UISubSpecification
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   352
                    #'name:' 'uISubSpecifica1'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   353
                    #'layout:' #(#LayoutFrame 0 0.0 -29 1 0 1.0 -5 1)
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   354
                    #'majorKey:' #ToolApplicationModel
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   355
                    #'minorKey:' #windowSpecForCommitWithoutChannels
366
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   356
                )
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   357
              )
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   358
          )
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   359
      )
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   360
!
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
   361
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   362
nameAndSelectorSpec
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   363
    "this window spec was automatically generated by the ST/X UIPainter"
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   364
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   365
    "do not manually edit this - the painter/builder may not be able to
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   366
     handle the specification if its corrupted."
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   367
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   368
    "
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   369
     UIPainter new openOnClass:UIPainter andSelector:#nameAndSelectorSpec
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   370
     UIPainter new openInterface:#nameAndSelectorSpec
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   371
    "
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   372
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   373
    <resource: #canvas>
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   374
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   375
    ^
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   376
     
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   377
       #(#FullSpec
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   378
          #'window:' 
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   379
           #(#WindowSpec
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   380
              #'name:' 'Painter'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   381
              #'layout:' #(#LayoutFrame 101 0 328 0 491 0 497 0)
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   382
              #'label:' 'Painter'
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   383
              #'min:' #(#Point 10 10)
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   384
              #'max:' #(#Point 1152 900)
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   385
              #'bounds:' #(#Rectangle 101 328 492 498)
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   386
              #'usePreferredExtent:' false
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   387
          )
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   388
          #'component:' 
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   389
           #(#SpecCollection
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   390
              #'collection:' 
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   391
               #(
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   392
                 #(#LabelSpec
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   393
                    #'name:' 'classLabel'
265
28478a237d91 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 256
diff changeset
   394
                    #'layout:' #(#AlignmentOrigin 50 0.11 51 0 1 0.5)
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   395
                    #'label:' 'Class:'
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   396
                    #'adjust:' #right
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   397
                    #'resizeForLabel:' true
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   398
                )
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   399
                 #(#LabelSpec
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   400
                    #'name:' 'superClassLabel'
265
28478a237d91 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 256
diff changeset
   401
                    #'layout:' #(#AlignmentOrigin 50 0.11 77 0 1 0.5)
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   402
                    #'label:' 'Superclass:'
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   403
                    #'adjust:' #right
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   404
                    #'resizeForLabel:' true
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   405
                )
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   406
                 #(#LabelSpec
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   407
                    #'name:' 'selectorLabel'
265
28478a237d91 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 256
diff changeset
   408
                    #'layout:' #(#AlignmentOrigin 50 0.11 105 0 1 0.5)
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   409
                    #'label:' 'Selector:'
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   410
                    #'adjust:' #right
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   411
                    #'resizeForLabel:' true
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   412
                )
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   413
                 #(#InputFieldSpec
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   414
                    #'name:' 'methodNameField'
265
28478a237d91 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 256
diff changeset
   415
                    #'layout:' #(#LayoutFrame 51 0.11 95 0 -2 1.0 117 0)
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   416
                    #'tabable:' true
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   417
                    #'model:' #methodNameChannel
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   418
                )
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   419
                 #(#LabelSpec
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   420
                    #'name:' 'boxLabel'
265
28478a237d91 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 256
diff changeset
   421
                    #'layout:' #(#Point 2 10)
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   422
                    #'label:' 'Class and selector for interface:'
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   423
                    #'adjust:' #left
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   424
                    #'resizeForLabel:' true
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   425
                )
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   426
                 #(#InputFieldSpec
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   427
                    #'name:' 'classNameField'
265
28478a237d91 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 256
diff changeset
   428
                    #'layout:' #(#LayoutFrame 51 0.11 39 0 -2 1.0 61 0)
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   429
                    #'tabable:' true
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   430
                    #'model:' #classNameChannel
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   431
                )
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   432
                 #(#ComboBoxSpec
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   433
                    #'name:' 'comboBox1'
265
28478a237d91 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 256
diff changeset
   434
                    #'layout:' #(#LayoutFrame 51 0.11 67 0 0 1.0 89 0)
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   435
                    #'tabable:' true
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   436
                    #'model:' #superclassNameChannel
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   437
                    #'comboList:' #superclassNameDefaults
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   438
                )
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   439
                 #(#UISubSpecification
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   440
                    #'name:' 'uISubSpecifica1'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   441
                    #'layout:' #(#LayoutFrame 0 0.0 -29 1 0 1.0 -5 1)
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   442
                    #'majorKey:' #ToolApplicationModel
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   443
                    #'minorKey:' #windowSpecForCommitWithoutChannels
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   444
                )
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   445
              )
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   446
          )
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   447
      )
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   448
!
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   449
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   450
windowSpec
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   451
    "this window spec was automatically generated by the ST/X UIPainter"
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   452
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   453
    "do not manually edit this - the painter/builder may not be able to
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   454
     handle the specification if its corrupted."
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   455
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   456
    "
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   457
     UIPainter new openOnClass:UIPainter andSelector:#windowSpec
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   458
     UIPainter new openInterface:#windowSpec
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   459
    "
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   460
    "UIPainter open"
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   461
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   462
    <resource: #canvas>
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   463
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   464
    ^
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   465
     
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   466
       #(#FullSpec
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   467
          #'window:' 
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   468
           #(#WindowSpec
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
   469
              #'name:' 'Tree-View'
486
2a1024483349 info bar as subSpec to class ToolApplicationModel moved
tz
parents: 482
diff changeset
   470
              #'layout:' #(#LayoutFrame 166 0 328 0 718 0 788 0)
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   471
              #'label:' 'Tree-View'
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
   472
              #'min:' #(#Point 10 10)
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
   473
              #'max:' #(#Point 1160 870)
486
2a1024483349 info bar as subSpec to class ToolApplicationModel moved
tz
parents: 482
diff changeset
   474
              #'bounds:' #(#Rectangle 166 328 719 789)
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   475
              #'menu:' #menu
375
b43507f222ce checkin from browser
Claus Gittinger <cg@exept.de>
parents: 368
diff changeset
   476
              #'usePreferredExtent:' false
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   477
          )
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   478
          #'component:' 
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   479
           #(#SpecCollection
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   480
              #'collection:' 
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   481
               #(
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   482
                 #(#MenuPanelSpec
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   483
                    #'name:' 'menuToolbarView'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   484
                    #'layout:' #(#LayoutFrame -1 0.0 0 0 -1 1.0 32 0)
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   485
                    #'activeHelpKey:' #menuChangeHierarchy
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   486
                    #'tabable:' true
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   487
                    #'menu:' #menuToolbar
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   488
                    #'showSeparatingLines:' true
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   489
                )
297
14db1276218c change the spec;
ca
parents: 295
diff changeset
   490
                 #(#VariableVerticalPanelSpec
14db1276218c change the spec;
ca
parents: 295
diff changeset
   491
                    #'name:' 'vpanel'
448
9f115893b4df info bar added
tz
parents: 447
diff changeset
   492
                    #'layout:' #(#LayoutFrame 0 0.0 34 0.0 0 1.0 -22 1.0)
297
14db1276218c change the spec;
ca
parents: 295
diff changeset
   493
                    #'component:' 
14db1276218c change the spec;
ca
parents: 295
diff changeset
   494
                     #(#SpecCollection
14db1276218c change the spec;
ca
parents: 295
diff changeset
   495
                        #'collection:' 
14db1276218c change the spec;
ca
parents: 295
diff changeset
   496
                         #(
14db1276218c change the spec;
ca
parents: 295
diff changeset
   497
                           #(#VariableHorizontalPanelSpec
14db1276218c change the spec;
ca
parents: 295
diff changeset
   498
                              #'name:' 'hpanel'
14db1276218c change the spec;
ca
parents: 295
diff changeset
   499
                              #'component:' 
14db1276218c change the spec;
ca
parents: 295
diff changeset
   500
                               #(#SpecCollection
14db1276218c change the spec;
ca
parents: 295
diff changeset
   501
                                  #'collection:' 
14db1276218c change the spec;
ca
parents: 295
diff changeset
   502
                                   #(
14db1276218c change the spec;
ca
parents: 295
diff changeset
   503
                                     #(#ArbitraryComponentSpec
14db1276218c change the spec;
ca
parents: 295
diff changeset
   504
                                        #'name:' 'treeView'
375
b43507f222ce checkin from browser
Claus Gittinger <cg@exept.de>
parents: 368
diff changeset
   505
                                        #'tabable:' true
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   506
                                        #'menu:' #menuEdit
297
14db1276218c change the spec;
ca
parents: 295
diff changeset
   507
                                        #'hasHorizontalScrollBar:' true
14db1276218c change the spec;
ca
parents: 295
diff changeset
   508
                                        #'hasVerticalScrollBar:' true
14db1276218c change the spec;
ca
parents: 295
diff changeset
   509
                                        #'miniScrollerHorizontal:' true
14db1276218c change the spec;
ca
parents: 295
diff changeset
   510
                                        #'miniScrollerVertical:' true
14db1276218c change the spec;
ca
parents: 295
diff changeset
   511
                                        #'component:' #treeView
14db1276218c change the spec;
ca
parents: 295
diff changeset
   512
                                        #'hasBorder:' false
14db1276218c change the spec;
ca
parents: 295
diff changeset
   513
                                    )
14db1276218c change the spec;
ca
parents: 295
diff changeset
   514
                                     #(#ViewSpec
14db1276218c change the spec;
ca
parents: 295
diff changeset
   515
                                        #'name:' 'specHolderView'
14db1276218c change the spec;
ca
parents: 295
diff changeset
   516
                                        #'component:' 
14db1276218c change the spec;
ca
parents: 295
diff changeset
   517
                                         #(#SpecCollection
14db1276218c change the spec;
ca
parents: 295
diff changeset
   518
                                            #'collection:' 
14db1276218c change the spec;
ca
parents: 295
diff changeset
   519
                                             #(
14db1276218c change the spec;
ca
parents: 295
diff changeset
   520
                                               #(#NoteBookViewSpec
14db1276218c change the spec;
ca
parents: 295
diff changeset
   521
                                                  #'name:' 'noteBook'
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   522
                                                  #'layout:' #(#LayoutFrame 0 0.0 26 0.0 0 1.0 -30 1.0)
297
14db1276218c change the spec;
ca
parents: 295
diff changeset
   523
                                                  #'enableChannel:' #enableChannel
14db1276218c change the spec;
ca
parents: 295
diff changeset
   524
                                                  #'tabable:' true
345
c4d8f4c74c26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 344
diff changeset
   525
                                                  #'model:' #tabModel
297
14db1276218c change the spec;
ca
parents: 295
diff changeset
   526
                                                  #'menu:' #tabList
345
c4d8f4c74c26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 344
diff changeset
   527
                                                  #'style:' #(#FontDescription #helvetica #medium #roman 10)
297
14db1276218c change the spec;
ca
parents: 295
diff changeset
   528
                                                  #'canvas:' #noteBookView
14db1276218c change the spec;
ca
parents: 295
diff changeset
   529
                                              )
14db1276218c change the spec;
ca
parents: 295
diff changeset
   530
                                               #(#HorizontalPanelViewSpec
14db1276218c change the spec;
ca
parents: 295
diff changeset
   531
                                                  #'name:' 'modifyPanel'
14db1276218c change the spec;
ca
parents: 295
diff changeset
   532
                                                  #'layout:' #(#LayoutFrame 0 0.0 -30 1.0 0 1.0 0 1.0)
14db1276218c change the spec;
ca
parents: 295
diff changeset
   533
                                                  #'component:' 
14db1276218c change the spec;
ca
parents: 295
diff changeset
   534
                                                   #(#SpecCollection
14db1276218c change the spec;
ca
parents: 295
diff changeset
   535
                                                      #'collection:' 
14db1276218c change the spec;
ca
parents: 295
diff changeset
   536
                                                       #(
14db1276218c change the spec;
ca
parents: 295
diff changeset
   537
                                                         #(#ActionButtonSpec
14db1276218c change the spec;
ca
parents: 295
diff changeset
   538
                                                            #'name:' 'cancelButton'
14db1276218c change the spec;
ca
parents: 295
diff changeset
   539
                                                            #'activeHelpKey:' #cancel
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   540
                                                            #'label:' 'Cancel'
297
14db1276218c change the spec;
ca
parents: 295
diff changeset
   541
                                                            #'tabable:' true
14db1276218c change the spec;
ca
parents: 295
diff changeset
   542
                                                            #'model:' #cancel
14db1276218c change the spec;
ca
parents: 295
diff changeset
   543
                                                            #'enableChannel:' #modifiedChannel
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   544
                                                            #'extent:' #(#Point 179 24)
297
14db1276218c change the spec;
ca
parents: 295
diff changeset
   545
                                                        )
14db1276218c change the spec;
ca
parents: 295
diff changeset
   546
                                                         #(#ActionButtonSpec
14db1276218c change the spec;
ca
parents: 295
diff changeset
   547
                                                            #'name:' 'acceptButton'
14db1276218c change the spec;
ca
parents: 295
diff changeset
   548
                                                            #'activeHelpKey:' #accept
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   549
                                                            #'label:' 'OK'
297
14db1276218c change the spec;
ca
parents: 295
diff changeset
   550
                                                            #'tabable:' true
14db1276218c change the spec;
ca
parents: 295
diff changeset
   551
                                                            #'model:' #accept
14db1276218c change the spec;
ca
parents: 295
diff changeset
   552
                                                            #'enableChannel:' #modifiedChannel
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   553
                                                            #'extent:' #(#Point 180 24)
297
14db1276218c change the spec;
ca
parents: 295
diff changeset
   554
                                                        )
14db1276218c change the spec;
ca
parents: 295
diff changeset
   555
                                                      )
14db1276218c change the spec;
ca
parents: 295
diff changeset
   556
                                                  )
14db1276218c change the spec;
ca
parents: 295
diff changeset
   557
                                                  #'horizontalLayout:' #fitSpace
14db1276218c change the spec;
ca
parents: 295
diff changeset
   558
                                                  #'verticalLayout:' #fitSpace
14db1276218c change the spec;
ca
parents: 295
diff changeset
   559
                                                  #'horizontalSpace:' 3
14db1276218c change the spec;
ca
parents: 295
diff changeset
   560
                                                  #'verticalSpace:' 3
14db1276218c change the spec;
ca
parents: 295
diff changeset
   561
                                              )
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   562
                                               #(#HorizontalPanelViewSpec
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   563
                                                  #'name:' 'panelViewButtons'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   564
                                                  #'layout:' #(#LayoutFrame 0 0.0 0 0 0 1.0 24 0)
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   565
                                                  #'component:' 
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   566
                                                   #(#SpecCollection
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   567
                                                      #'collection:' 
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   568
                                                       #(
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   569
                                                         #(#ArrowButtonSpec
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   570
                                                            #'name:' 'moveLeft'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   571
                                                            #'activeHelpKey:' #moveSelectionLeft
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   572
                                                            #'tabable:' true
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   573
                                                            #'model:' #moveSelectionLeft
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   574
                                                            #'enableChannel:' #canMoveOrAlignSelection
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   575
                                                            #'isTriggerOnDown:' true
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   576
                                                            #'direction:' #left
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   577
                                                            #'extent:' #(#Point 22 22)
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   578
                                                        )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   579
                                                         #(#ArrowButtonSpec
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   580
                                                            #'name:' 'moveRight'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   581
                                                            #'activeHelpKey:' #moveSelectionRight
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   582
                                                            #'model:' #moveSelectionRight
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   583
                                                            #'enableChannel:' #canMoveOrAlignSelection
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   584
                                                            #'isTriggerOnDown:' true
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   585
                                                            #'direction:' #right
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   586
                                                            #'extent:' #(#Point 22 22)
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   587
                                                        )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   588
                                                         #(#ArrowButtonSpec
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   589
                                                            #'name:' 'moveDown'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   590
                                                            #'activeHelpKey:' #moveSelectionDown
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   591
                                                            #'model:' #moveSelectionDown
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   592
                                                            #'enableChannel:' #canMoveOrAlignSelection
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   593
                                                            #'isTriggerOnDown:' true
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   594
                                                            #'direction:' #down
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   595
                                                            #'extent:' #(#Point 22 22)
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   596
                                                        )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   597
                                                         #(#ArrowButtonSpec
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   598
                                                            #'name:' 'moveUp'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   599
                                                            #'activeHelpKey:' #moveSelectionUp
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   600
                                                            #'model:' #moveSelectionUp
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   601
                                                            #'enableChannel:' #canMoveOrAlignSelection
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   602
                                                            #'isTriggerOnDown:' true
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   603
                                                            #'direction:' #up
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   604
                                                            #'extent:' #(#Point 22 22)
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   605
                                                        )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   606
                                                      )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   607
                                                  )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   608
                                                  #'level:' 1
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   609
                                                  #'horizontalLayout:' #left
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   610
                                                  #'verticalLayout:' #fit
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   611
                                                  #'horizontalSpace:' 4
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   612
                                                  #'verticalSpace:' 4
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   613
                                              )
297
14db1276218c change the spec;
ca
parents: 295
diff changeset
   614
                                            )
14db1276218c change the spec;
ca
parents: 295
diff changeset
   615
                                        )
14db1276218c change the spec;
ca
parents: 295
diff changeset
   616
                                        #'borderWidth:' 1
14db1276218c change the spec;
ca
parents: 295
diff changeset
   617
                                    )
14db1276218c change the spec;
ca
parents: 295
diff changeset
   618
                                  )
14db1276218c change the spec;
ca
parents: 295
diff changeset
   619
                              )
14db1276218c change the spec;
ca
parents: 295
diff changeset
   620
                              #'level:' 1
14db1276218c change the spec;
ca
parents: 295
diff changeset
   621
                              #'handles:' #(#Any 0.329435 1.0)
14db1276218c change the spec;
ca
parents: 295
diff changeset
   622
                          )
14db1276218c change the spec;
ca
parents: 295
diff changeset
   623
                           #(#TextEditorSpec
14db1276218c change the spec;
ca
parents: 295
diff changeset
   624
                              #'name:' 'Transcript'
14db1276218c change the spec;
ca
parents: 295
diff changeset
   625
                              #'hasHorizontalScrollBar:' true
14db1276218c change the spec;
ca
parents: 295
diff changeset
   626
                              #'hasVerticalScrollBar:' true
14db1276218c change the spec;
ca
parents: 295
diff changeset
   627
                              #'miniScrollerHorizontal:' true
14db1276218c change the spec;
ca
parents: 295
diff changeset
   628
                              #'miniScrollerVertical:' true
14db1276218c change the spec;
ca
parents: 295
diff changeset
   629
                          )
14db1276218c change the spec;
ca
parents: 295
diff changeset
   630
                        )
14db1276218c change the spec;
ca
parents: 295
diff changeset
   631
                    )
14db1276218c change the spec;
ca
parents: 295
diff changeset
   632
                    #'handles:' #(#Any 0.880597 1.0)
14db1276218c change the spec;
ca
parents: 295
diff changeset
   633
                )
486
2a1024483349 info bar as subSpec to class ToolApplicationModel moved
tz
parents: 482
diff changeset
   634
                 #(#UISubSpecification
2a1024483349 info bar as subSpec to class ToolApplicationModel moved
tz
parents: 482
diff changeset
   635
                    #'name:' 'infoBarSubSpec'
2a1024483349 info bar as subSpec to class ToolApplicationModel moved
tz
parents: 482
diff changeset
   636
                    #'layout:' #(#LayoutFrame 0 0.0 -22 1 0 1.0 0 1.0)
2a1024483349 info bar as subSpec to class ToolApplicationModel moved
tz
parents: 482
diff changeset
   637
                    #'majorKey:' #ToolApplicationModel
2a1024483349 info bar as subSpec to class ToolApplicationModel moved
tz
parents: 482
diff changeset
   638
                    #'minorKey:' #windowSpecForInfoBar
448
9f115893b4df info bar added
tz
parents: 447
diff changeset
   639
                )
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   640
              )
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   641
          )
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   642
      )
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   643
! !
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   644
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   645
!UIPainter class methodsFor:'menu specs'!
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
   646
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   647
menu
217
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
   648
    "this window spec was automatically generated by the ST/X MenuEditor"
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
   649
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
   650
    "do not manually edit this - the builder may not be able to
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
   651
     handle the specification if its corrupted."
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
   652
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
   653
    "
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   654
     MenuEditor new openOnClass:UIPainter andSelector:#menu
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   655
     (Menu new fromLiteralArrayEncoding:(UIPainter menu)) startUp
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   656
    "
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   657
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   658
    <resource: #menu>
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   659
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   660
    ^
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   661
     
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   662
       #(#Menu
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   663
          
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   664
           #(
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   665
             #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   666
                #'label:' 'About'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   667
                #'labelImage:' #(#ResourceRetriever nil #icon)
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   668
                #'submenuChannel:' #menuAbout
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   669
            )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   670
             #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   671
                #'label:' 'File'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   672
                #'value:' #file
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   673
                #'enabled:' #enableChannel
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   674
                #'submenu:' 
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   675
                 #(#Menu
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   676
                    
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   677
                     #(
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   678
                       #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   679
                          #'label:' 'New'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   680
                          #'value:' #doNew
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   681
                      )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   682
                       #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   683
                          #'label:' '-'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   684
                      )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   685
                       #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   686
                          #'label:' 'Load From Class...'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   687
                          #'value:' #doFromClass
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   688
                      )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   689
                       #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   690
                          #'label:' 'Load From Class With Superclass...'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   691
                          #'value:' #loadFromClassWithSuperclass
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   692
                      )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   693
                       #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   694
                          #'label:' '-'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   695
                      )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   696
                       #(#MenuItem
466
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   697
                          #'label:' 'Save'
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   698
                          #'value:' #doInstallSpec
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   699
                      )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   700
                       #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   701
                          #'label:' '-'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   702
                      )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   703
                       #(#MenuItem
466
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   704
                          #'label:' 'Define Class And Selector...'
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   705
                          #'value:' #defineClassAndSelector
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   706
                      )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   707
                       #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   708
                          #'label:' '-'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   709
                      )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   710
                       #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   711
                          #'label:' 'Create Aspect Methods'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   712
                          #'value:' #doInstallAspects
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   713
                          #'enabled:' #hasSpecClass
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   714
                      )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   715
                       #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   716
                          #'label:' 'Create Hook Methods'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   717
                          #'value:' #doInstallHooks
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   718
                      )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   719
                       #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   720
                          #'label:' '-'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   721
                      )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   722
                       #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   723
                          #'label:' 'Show Window Spec'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   724
                          #'value:' #doWindowSpec
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   725
                      )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   726
                       #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   727
                          #'label:' 'Browse Application'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   728
                          #'value:' #doBrowseAppClass
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   729
                          #'enabled:' #hasSpecClass
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   730
                      )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   731
                       #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   732
                          #'label:' 'Browse Aspect Methods'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   733
                          #'value:' #doBrowseAspectMethods
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   734
                      )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   735
                       #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   736
                          #'label:' '-'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   737
                      )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   738
                       #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   739
                          #'label:' 'Pick a View '
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   740
                          #'value:' #doPickAView
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   741
                      )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   742
                       #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   743
                          #'label:' '-'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   744
                      )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   745
                       #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   746
                          #'label:' 'Exit'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   747
                          #'value:' #closeRequest
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   748
                      )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   749
                    ) nil
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   750
                    nil
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   751
                )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   752
            )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   753
             #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   754
                #'label:' 'Edit'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   755
                #'submenuChannel:' #menuEdit
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   756
            )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   757
             #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   758
                #'label:' 'Align'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   759
                #'submenuChannel:' #menuAlign
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   760
            )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   761
             #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   762
                #'label:' 'Test'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   763
                #'submenu:' 
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   764
                 #(#Menu
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   765
                    
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   766
                     #(
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   767
                       #(#MenuItem
466
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   768
                          #'label:' 'Start Application'
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   769
                          #'value:' #doStartApplication
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   770
                      )
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   771
                       #(#MenuItem
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   772
                          #'label:' '-'
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   773
                      )
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
   774
                       #(#MenuItem
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   775
                          #'label:' 'Geometry Test Mode'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   776
                          #'indication:' #'testMode:'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   777
                      )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   778
                    ) nil
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   779
                    nil
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   780
                )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   781
            )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   782
             #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   783
                #'label:' 'Settings'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   784
                #'submenu:' 
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   785
                 #(#Menu
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   786
                    
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   787
                     #(
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   788
                       #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   789
                          #'label:' 'Undo Manager'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   790
                          #'value:' #openUndoMenu
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   791
                      )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   792
                       #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   793
                          #'label:' '-'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   794
                      )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   795
                       #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   796
                          #'label:' 'Grid Manager'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   797
                          #'value:' #gridMenu
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   798
                      )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   799
                    ) nil
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   800
                    nil
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   801
                )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   802
            )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   803
             #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   804
                #'label:' 'History'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   805
                #'submenuChannel:' #menuHistory
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   806
            )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   807
             #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   808
                #'label:' ''
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   809
            )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   810
             #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   811
                #'label:' 'Gallery'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   812
                #'indication:' #galleryShown
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   813
            )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   814
             #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   815
                #'label:' 'Canvas'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   816
                #'indication:' #painterShown
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   817
            )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   818
          ) nil
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   819
          nil
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   820
      )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   821
!
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   822
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   823
menuAlign
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   824
    "this window spec was automatically generated by the ST/X MenuEditor"
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   825
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   826
    "do not manually edit this - the builder may not be able to
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   827
     handle the specification if its corrupted."
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   828
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   829
    "
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   830
     MenuEditor new openOnClass:UIPainter andSelector:#menuAlign
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   831
     (Menu new fromLiteralArrayEncoding:(UIPainter menuAlign)) startUp
217
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
   832
    "
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
   833
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
   834
    <resource: #menu>
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
   835
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
   836
    ^
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
   837
     
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
   838
       #(#Menu
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
   839
          
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
   840
           #(
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
   841
             #(#MenuItem
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   842
                #'label:' 'Align Left'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   843
                #'value:' #alignSelectionLeft
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   844
                #'activeHelpKey:' #alignSelectionLeft
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   845
                #'labelImage:' #(#ResourceRetriever #UIPainter #iconAlignL 'Align Left')
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   846
            )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   847
             #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   848
                #'label:' 'Align Right'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   849
                #'value:' #alignSelectionRight
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   850
                #'activeHelpKey:' #alignSelectionRight
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   851
                #'labelImage:' #(#ResourceRetriever #UIPainter #iconAlignR 'Align Right')
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   852
            )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   853
             #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   854
                #'label:' 'Align Left & Right'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   855
                #'value:' #alignSelectionLeftAndRight
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   856
                #'activeHelpKey:' #alignSelectionLeftAndRight
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   857
                #'labelImage:' #(#ResourceRetriever #UIPainter #iconAlignLR 'Align Left & Right')
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   858
            )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   859
             #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   860
                #'label:' 'Align top'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   861
                #'value:' #alignSelectionTop
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   862
                #'activeHelpKey:' #alignSelectionTop
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   863
                #'labelImage:' #(#ResourceRetriever #UIPainter #iconAlignT 'Align top')
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   864
            )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   865
             #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   866
                #'label:' 'Align Bottom'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   867
                #'value:' #alignSelectionBottom
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   868
                #'activeHelpKey:' #alignSelectionBottom
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   869
                #'labelImage:' #(#ResourceRetriever #UIPainter #iconAlignB 'Align Bottom')
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   870
            )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   871
             #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   872
                #'label:' 'Align Top & Bottom'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   873
                #'value:' #alignSelectionTopAndBottom
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   874
                #'activeHelpKey:' #alignSelectionTopAndBottom
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   875
                #'labelImage:' #(#ResourceRetriever #UIPainter #iconAlignTB 'Align Top & Bottom')
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   876
            )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   877
             #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   878
                #'label:' 'Align Centered Horizontal'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   879
                #'value:' #alignSelectionCenterHor
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   880
                #'activeHelpKey:' #alignSelectionCenterHor
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   881
                #'labelImage:' #(#ResourceRetriever #UIPainter #iconAlignCenterH 'Align Centered Horizontal')
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   882
            )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   883
             #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   884
                #'label:' 'Align Centered Vertical'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   885
                #'value:' #alignSelectionCenterVer
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   886
                #'activeHelpKey:' #alignSelectionCenterVer
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   887
                #'labelImage:' #(#ResourceRetriever #UIPainter #iconAlignCenterV 'Align Centered Vertical')
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   888
            )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   889
             #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   890
                #'label:' '-'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   891
            )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   892
             #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   893
                #'label:' 'Spread Horizontal'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   894
                #'value:' #spreadSelectionHor
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   895
                #'activeHelpKey:' #spreadSelectionHor
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   896
            )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   897
             #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   898
                #'label:' 'Spread Vertical'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   899
                #'value:' #spreadSelectionVer
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   900
                #'activeHelpKey:' #spreadSelectionVer
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   901
            )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   902
             #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   903
                #'label:' '-'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   904
            )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   905
             #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   906
                #'label:' 'Center Horizontal In Frame'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   907
                #'value:' #centerSelectionHor
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   908
                #'activeHelpKey:' #centerSelectionHor
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   909
            )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   910
             #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   911
                #'label:' 'Center Vertical In Frame'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   912
                #'value:' #centerSelectionVer
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   913
                #'activeHelpKey:' #centerSelectionVer
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   914
            )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   915
          ) nil
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   916
          nil
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   917
      )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   918
!
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   919
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   920
menuEdit
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   921
    "this window spec was automatically generated by the ST/X MenuEditor"
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   922
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   923
    "do not manually edit this - the builder may not be able to
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   924
     handle the specification if its corrupted."
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   925
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   926
    "
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   927
     MenuEditor new openOnClass:UIPainter andSelector:#menuEdit
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   928
     (Menu new fromLiteralArrayEncoding:(UIPainter menuEdit)) startUp
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   929
    "
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   930
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   931
    <resource: #menu>
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   932
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   933
    ^
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   934
     
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   935
       #(#Menu
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   936
          
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   937
           #(
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   938
             #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   939
                #'label:' 'Cut'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   940
                #'value:' #deleteSelection
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   941
                #'enabled:' #hasSelection
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   942
                #'shortcutKeyCharacter:' #Cut
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   943
            )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   944
             #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   945
                #'label:' 'Copy'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   946
                #'value:' #copySelection
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   947
                #'enabled:' #hasSelection
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   948
                #'shortcutKeyCharacter:' #Copy
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   949
            )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   950
             #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   951
                #'label:' 'Paste'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   952
                #'nameKey:' #paste
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   953
                #'value:' #paste
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   954
                #'enabled:' #canPaste
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   955
                #'submenu:' 
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   956
                 #(#Menu
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   957
                    
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   958
                     #(
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   959
                       #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   960
                          #'label:' 'Paste'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   961
                          #'value:' #pasteBuffer
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   962
                          #'activeHelpKey:' #pasteBuffer
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   963
                          #'shortcutKeyCharacter:' #Paste
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   964
                      )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   965
                       #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   966
                          #'label:' 'Keep Layout'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   967
                          #'value:' #pasteWithLayout
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   968
                          #'activeHelpKey:' #pasteWithLayout
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   969
                          #'enabled:' #canKeepLayoutInSelection
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   970
                      )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   971
                    ) nil
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   972
                    nil
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   973
                )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   974
            )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   975
             #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   976
                #'label:' '-'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   977
            )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   978
             #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   979
                #'label:' 'Undo'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   980
                #'nameKey:' #undo
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   981
                #'value:' #undoLast
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   982
                #'enabled:' #hasUndoHistory
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   983
                #'shortcutKeyCharacter:' #Cmdu
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   984
            )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   985
             #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   986
                #'label:' '-'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   987
            )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   988
             #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   989
                #'label:' 'Dimension'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   990
                #'value:' #dimension
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   991
                #'enabled:' #hasSelection
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   992
                #'submenu:' 
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   993
                 #(#Menu
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   994
                    
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   995
                     #(
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   996
                       #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   997
                          #'label:' 'Default Extent'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   998
                          #'value:' #setToDefaultExtent
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
   999
                          #'activeHelpKey:' #setToDefaultExtent
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1000
                          #'enabled:' #canMoveOrAlignSelection
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1001
                      )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1002
                       #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1003
                          #'label:' 'Default Width'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1004
                          #'value:' #setToDefaultWidth
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1005
                          #'activeHelpKey:' #setToDefaultWidth
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1006
                          #'enabled:' #canMoveOrAlignSelection
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1007
                      )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1008
                       #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1009
                          #'label:' 'Default Height'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1010
                          #'value:' #setToDefaultHeight
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1011
                          #'activeHelpKey:' #setToDefaultHeight
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1012
                          #'enabled:' #canMoveOrAlignSelection
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1013
                      )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1014
                       #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1015
                          #'label:' '-'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1016
                      )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1017
                       #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1018
                          #'label:' 'Copy Extent'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1019
                          #'value:' #copyExtent
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1020
                          #'activeHelpKey:' #copyExtent
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1021
                          #'enabled:' #hasSingleSelection
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1022
                      )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1023
                       #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1024
                          #'label:' '-'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1025
                      )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1026
                       #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1027
                          #'label:' 'Paste Extent'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1028
                          #'value:' #pasteExtent
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1029
                          #'activeHelpKey:' #pasteExtent
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1030
                          #'enabled:' #canMoveOrAlignSelection
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1031
                      )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1032
                       #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1033
                          #'label:' 'Paste Width'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1034
                          #'value:' #pasteWidth
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1035
                          #'activeHelpKey:' #pasteWidth
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1036
                          #'enabled:' #canMoveOrAlignSelection
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1037
                      )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1038
                       #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1039
                          #'label:' 'Paste Height'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1040
                          #'value:' #pasteHeight
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1041
                          #'activeHelpKey:' #pasteHeight
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1042
                          #'enabled:' #canMoveOrAlignSelection
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1043
                      )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1044
                       #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1045
                          #'label:' '-'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1046
                      )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1047
                       #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1048
                          #'label:' 'Copy Layout'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1049
                          #'value:' #copyLayout
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1050
                          #'activeHelpKey:' #copyLayout
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1051
                          #'enabled:' #hasSingleSelection
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1052
                      )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1053
                       #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1054
                          #'label:' 'Paste Layout'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1055
                          #'value:' #pasteLayout
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1056
                          #'activeHelpKey:' #pasteLayout
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1057
                          #'enabled:' #canMoveOrAlignSelection
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1058
                      )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1059
                    ) nil
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1060
                    nil
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1061
                )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1062
            )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1063
             #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1064
                #'label:' 'Align'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1065
                #'submenuChannel:' #menuAlign
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1066
            )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1067
          ) nil
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1068
          nil
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1069
      )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1070
!
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1071
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1072
menuToolbar
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1073
    "this window spec was automatically generated by the ST/X MenuEditor"
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1074
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1075
    "do not manually edit this - the builder may not be able to
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1076
     handle the specification if its corrupted."
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1077
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1078
    "
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1079
     MenuEditor new openOnClass:UIPainter andSelector:#menuToolbar
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1080
     (Menu new fromLiteralArrayEncoding:(UIPainter menuToolbar)) startUp
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1081
    "
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1082
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1083
    <resource: #menu>
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1084
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1085
    ^
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1086
     
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1087
       #(#Menu
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1088
          
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1089
           #(
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1090
             #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1091
                #'label:' 'Run'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1092
                #'isButton:' true
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1093
                #'value:' #doStartApplication
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1094
                #'labelImage:' #(#ResourceRetriever nil #runIcon)
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1095
            )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1096
             #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1097
                #'label:' '-'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1098
            )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1099
             #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1100
                #'label:' 'New'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1101
                #'isButton:' true
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1102
                #'value:' #doNew
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1103
                #'labelImage:' #(#ResourceRetriever nil #newIcon)
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1104
            )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1105
             #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1106
                #'label:' 'Load'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1107
                #'isButton:' true
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1108
                #'value:' #doFromClass
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1109
                #'labelImage:' #(#ResourceRetriever nil #loadIcon)
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1110
            )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1111
             #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1112
                #'label:' 'Save'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1113
                #'isButton:' true
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1114
                #'value:' #doInstallSpec
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1115
                #'labelImage:' #(#ResourceRetriever nil #saveIcon)
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1116
            )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1117
             #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1118
                #'label:' '-'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1119
            )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1120
             #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1121
                #'label:' 'stepUp'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1122
                #'isButton:' true
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1123
                #'value:' #doStepUp
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1124
                #'enabled:' #enabledStepOver
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1125
                #'labelImage:' #(#ResourceRetriever nil #upIcon)
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1126
            )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1127
             #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1128
                #'label:' 'stepDown'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1129
                #'isButton:' true
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1130
                #'value:' #doStepDown
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1131
                #'enabled:' #enabledStepOver
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1132
                #'labelImage:' #(#ResourceRetriever nil #downIcon)
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1133
            )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1134
             #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1135
                #'label:' 'stepIn'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1136
                #'isButton:' true
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1137
                #'value:' #doStepIn
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1138
                #'enabled:' #enabledStepIn
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1139
                #'labelImage:' #(#ResourceRetriever nil #downRightIcon)
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1140
            )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1141
             #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1142
                #'label:' 'stepOut'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1143
                #'isButton:' true
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1144
                #'value:' #doStepOut
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1145
                #'enabled:' #enabledStepOut
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1146
                #'labelImage:' #(#ResourceRetriever nil #leftDownIcon)
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1147
            )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1148
             #(#MenuItem
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1149
                #'label:' '-'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1150
            )
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1151
             #(#MenuItem
217
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1152
                #'label:' 'align left'
437
6317d2f08662 button style added
tz
parents: 394
diff changeset
  1153
                #'isButton:' true
217
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1154
                #'value:' #alignSelectionLeft
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1155
                #'activeHelpKey:' #alignSelectionLeft
437
6317d2f08662 button style added
tz
parents: 394
diff changeset
  1156
                #'labelImage:' #(#ResourceRetriever nil #iconAlignL)
217
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1157
            )
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1158
             #(#MenuItem
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1159
                #'label:' 'align right'
437
6317d2f08662 button style added
tz
parents: 394
diff changeset
  1160
                #'isButton:' true
217
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1161
                #'value:' #alignSelectionRight
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1162
                #'activeHelpKey:' #alignSelectionRight
437
6317d2f08662 button style added
tz
parents: 394
diff changeset
  1163
                #'labelImage:' #(#ResourceRetriever nil #iconAlignR)
217
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1164
            )
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1165
             #(#MenuItem
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1166
                #'label:' 'align left & right'
437
6317d2f08662 button style added
tz
parents: 394
diff changeset
  1167
                #'isButton:' true
217
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1168
                #'value:' #alignSelectionLeftAndRight
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1169
                #'activeHelpKey:' #alignSelectionLeftAndRight
437
6317d2f08662 button style added
tz
parents: 394
diff changeset
  1170
                #'labelImage:' #(#ResourceRetriever nil #iconAlignLR)
6317d2f08662 button style added
tz
parents: 394
diff changeset
  1171
            )
6317d2f08662 button style added
tz
parents: 394
diff changeset
  1172
             #(#MenuItem
217
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1173
                #'label:' 'align top'
437
6317d2f08662 button style added
tz
parents: 394
diff changeset
  1174
                #'isButton:' true
217
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1175
                #'value:' #alignSelectionTop
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1176
                #'activeHelpKey:' #alignSelectionTop
437
6317d2f08662 button style added
tz
parents: 394
diff changeset
  1177
                #'labelImage:' #(#ResourceRetriever nil #iconAlignT)
217
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1178
            )
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1179
             #(#MenuItem
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1180
                #'label:' 'align bottom'
437
6317d2f08662 button style added
tz
parents: 394
diff changeset
  1181
                #'isButton:' true
217
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1182
                #'value:' #alignSelectionBottom
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1183
                #'activeHelpKey:' #alignSelectionBottom
437
6317d2f08662 button style added
tz
parents: 394
diff changeset
  1184
                #'labelImage:' #(#ResourceRetriever nil #iconAlignB)
217
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1185
            )
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1186
             #(#MenuItem
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1187
                #'label:' 'align top & bottom'
437
6317d2f08662 button style added
tz
parents: 394
diff changeset
  1188
                #'isButton:' true
217
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1189
                #'value:' #alignSelectionTopAndBottom
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1190
                #'activeHelpKey:' #alignSelectionTopAndBottom
437
6317d2f08662 button style added
tz
parents: 394
diff changeset
  1191
                #'labelImage:' #(#ResourceRetriever nil #iconAlignTB)
6317d2f08662 button style added
tz
parents: 394
diff changeset
  1192
            )
6317d2f08662 button style added
tz
parents: 394
diff changeset
  1193
             #(#MenuItem
6317d2f08662 button style added
tz
parents: 394
diff changeset
  1194
                #'label:' '-'
217
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1195
            )
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1196
             #(#MenuItem
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1197
                #'label:' 'align centered horizontal'
437
6317d2f08662 button style added
tz
parents: 394
diff changeset
  1198
                #'isButton:' true
217
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1199
                #'value:' #alignSelectionCenterHor
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1200
                #'activeHelpKey:' #alignSelectionCenterHor
437
6317d2f08662 button style added
tz
parents: 394
diff changeset
  1201
                #'labelImage:' #(#ResourceRetriever nil #iconAlignCenterH)
217
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1202
            )
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1203
             #(#MenuItem
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1204
                #'label:' 'align centered vertical'
437
6317d2f08662 button style added
tz
parents: 394
diff changeset
  1205
                #'isButton:' true
217
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1206
                #'value:' #alignSelectionCenterVer
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1207
                #'activeHelpKey:' #alignSelectionCenterVer
437
6317d2f08662 button style added
tz
parents: 394
diff changeset
  1208
                #'labelImage:' #(#ResourceRetriever nil #iconAlignCenterV)
217
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1209
            )
437
6317d2f08662 button style added
tz
parents: 394
diff changeset
  1210
          ) nil
217
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1211
          nil
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1212
      )
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1213
! !
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1214
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1215
!UIPainter class methodsFor:'resources'!
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1216
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1217
iconAlignB
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1218
    "ImageEditor openOnClass:self andSelector:#iconAlignB"
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1219
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1220
    <resource: #image>
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1221
    ^(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(#[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 7 0 0 0 0 0 7 0 80 0 0 0 7 0 112 0 0 0 7 0 112 0 0 0 7 0 112 0 0 80 7 0 112 0 0 112 7 0 112 11 0 112 7 0 112 0 0 112 7 0 112 1 0 112 7 0 112 0 0 112 7 0 112 11 0 0 0 0 0 0 10 170 170 170 170 0 10 170 170 170 170 0 0 0 0 0 0 0 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 red:0.0 green:0.0 blue:49.9977)); at:4 put:((Color grey:66.9978)); 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 120 3 0 120 0 0 121 224 0 121 224 0 121 224 0 121 224 30 121 224 30 121 224 30 121 224 30 121 225 30 121 224 30 121 224 30 121 224 30 121 224 63 255 240 63 255 240 0 0 0 0 0 3 0 0 0]) ; yourself); yourself!
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1222
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1223
iconAlignCenterH
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1224
    "ImageEditor openOnClass:self andSelector:#iconAlignCenterH"
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1225
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1226
    <resource: #image>
466
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
  1227
    ^(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(#[85 85 85 85 85 80 85 85 85 85 85 80 85 85 85 85 85 80 90 170 170 170 170 80 90 170 170 170 170 80 85 85 77 85 85 80 85 85 63 85 85 80 85 84 255 213 85 92 85 83 255 245 85 87 85 79 255 253 85 80 85 69 85 85 85 80 85 85 85 85 85 80 90 170 170 170 170 80 90 170 170 170 170 80 85 85 77 85 85 80 85 85 63 85 85 80 85 84 255 213 85 80 85 83 255 245 85 80 85 79 255 253 85 87 85 69 85 85 85 80 85 85 85 85 85 80 85 85 85 85 85 80]) ; colorMap:(((Array new:4) at:1 put:((Color white)); at:2 put:((Color black)); at:3 put:((Color red:0.0 green:0.0 blue:49.9977)); 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 2 63 255 240 63 255 240 0 112 0 0 248 0 1 252 0 3 254 0 7 255 0 7 255 0 0 0 0 63 255 240 63 255 243 0 112 0 0 248 0 1 252 0 3 254 0 7 255 0 7 255 0 0 0 0 0 0 0]) ; yourself); yourself!
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1228
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1229
iconAlignCenterV
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1230
    "ImageEditor openOnClass:self andSelector:#iconAlignCenterV"
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1231
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1232
    <resource: #image>
466
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
  1233
    ^(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(#[85 85 85 85 85 80 85 85 85 85 85 80 85 85 165 85 105 80 85 85 165 85 105 80 85 85 165 85 105 80 80 85 164 21 105 80 83 213 164 245 105 80 83 245 164 253 105 80 83 253 164 255 105 87 83 255 164 255 233 80 83 255 164 255 233 95 83 253 164 255 105 80 83 245 164 253 105 80 83 213 164 245 105 80 83 85 164 213 105 87 85 85 165 85 105 80 85 85 165 85 105 80 85 85 165 85 105 95 85 85 165 85 105 87 85 85 165 85 105 80 85 85 85 85 85 80 85 85 85 85 85 81]) ; colorMap:(((Array new:4) at:1 put:((Color white)); at:2 put:((Color black)); at:3 put:((Color red:0.0 green:0.0 blue:49.9977)); 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 192 97 0 192 96 0 192 96 48 216 96 56 220 96 60 222 96 62 223 96 63 223 224 63 223 224 63 223 224 62 223 96 60 222 96 56 220 96 16 200 99 0 192 96 0 192 96 0 192 96 0 192 96 0 0 3 0 0 0]) ; yourself); yourself!
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1234
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1235
iconAlignL
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1236
    "ImageEditor openOnClass:self andSelector:#iconAlignL"
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1237
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1238
    <resource: #image>
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1239
    ^(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(#[0 0 0 0 0 0 0 0 0 0 0 0 2 128 0 0 0 0 2 128 0 0 0 0 2 133 85 85 0 9 2 135 255 255 0 0 2 128 0 0 0 0 2 128 0 0 0 0 2 128 0 0 0 0 2 128 0 0 0 0 2 133 85 85 80 0 2 135 255 255 240 0 2 128 0 0 0 5 2 128 0 0 0 0 2 128 0 0 0 0 2 128 0 0 0 0 2 133 85 0 0 0 2 135 255 0 0 0 2 128 0 0 0 0 2 128 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0]) ; colorMap:(((Array new:4) at:1 put:((Color black)); at:2 put:((Color white)); at:3 put:((Color red:0.0 green:0.0 blue:49.9992)); at:4 put:((Color grey:66.9993)); yourself)); mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(#[0 0 0 0 0 0 24 0 0 31 255 128 31 255 128 31 255 128 31 255 128 24 0 0 24 0 0 31 255 224 31 255 224 31 255 224 31 255 224 24 0 0 24 0 0 31 248 0 31 248 0 31 248 0 31 248 0 24 0 0 0 0 0 0 0 0]) ; yourself); yourself!
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1240
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1241
iconAlignLR
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1242
    "ImageEditor openOnClass:self andSelector:#iconAlignLR"
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1243
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1244
    <resource: #image>
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1245
    ^(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(#[0 0 0 0 0 0 0 0 0 0 0 0 2 128 0 0 40 0 2 128 0 0 40 0 2 133 85 85 40 9 2 135 255 255 40 0 2 128 0 0 40 0 2 128 0 0 40 0 2 128 0 0 40 0 2 128 0 0 40 0 2 133 85 85 40 0 2 135 255 255 40 0 2 128 0 0 40 5 2 128 0 0 40 0 2 128 0 0 40 0 2 128 0 0 40 0 2 133 85 85 40 0 2 135 255 252 40 0 2 128 0 0 40 0 2 128 0 0 40 0 0 0 0 0 0 5 0 0 0 0 0 0]) ; colorMap:(((Array new:4) at:1 put:((Color black)); at:2 put:((Color white)); at:3 put:((Color red:0.0 green:0.0 blue:49.9992)); at:4 put:((Color grey:66.9993)); yourself)); mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(#[0 0 0 0 0 0 24 0 96 31 255 224 31 255 224 31 255 224 31 255 224 24 0 96 24 0 96 31 255 224 31 255 224 31 255 224 31 255 224 24 0 96 24 0 96 31 255 224 31 255 224 31 254 224 31 255 224 24 0 96 0 0 0 0 0 0]) ; yourself); yourself!
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1246
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1247
iconAlignR
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1248
    "ImageEditor openOnClass:self andSelector:#iconAlignR"
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1249
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1250
    <resource: #image>
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1251
    ^(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(#[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 40 0 0 0 0 0 40 0 0 5 85 85 40 9 0 7 255 255 40 0 0 0 0 0 40 0 0 0 0 0 40 0 0 0 0 0 40 0 0 0 0 0 40 0 0 85 85 85 40 0 0 127 255 255 40 0 0 0 0 0 40 5 0 0 0 0 40 0 0 0 0 0 40 0 0 0 0 0 40 0 0 0 5 85 40 0 0 0 7 255 40 0 0 0 0 0 40 0 0 0 0 0 40 0 0 0 0 0 0 5 0 0 0 0 0 0]) ; colorMap:(((Array new:4) at:1 put:((Color black)); at:2 put:((Color white)); at:3 put:((Color red:0.0 green:0.0 blue:49.9992)); at:4 put:((Color grey:66.9993)); yourself)); mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(#[0 0 0 0 0 0 0 0 96 7 255 224 7 255 224 7 255 224 7 255 224 0 0 96 0 0 96 31 255 224 31 255 224 31 255 224 31 255 224 0 0 96 0 0 96 0 127 224 0 127 224 0 127 224 0 127 224 0 0 96 0 0 0 0 0 0]) ; yourself); yourself!
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1252
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1253
iconAlignT
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1254
    "ImageEditor openOnClass:self andSelector:#iconAlignT"
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1255
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1256
    <resource: #image>
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1257
    ^(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(#[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 170 170 170 170 0 10 170 170 170 170 0 0 0 0 0 0 0 0 80 5 0 80 11 0 112 7 0 112 0 0 112 7 0 112 1 0 112 7 0 112 0 0 112 7 0 112 11 0 112 7 0 112 0 0 0 7 0 112 0 0 0 7 0 112 0 0 0 7 0 112 0 0 0 7 0 112 0 0 0 7 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 red:0.0 green:0.0 blue:49.9977)); at:4 put:((Color grey:66.9978)); yourself)); mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(#[0 0 0 0 0 3 0 0 0 63 255 240 63 255 240 30 121 224 30 121 224 30 121 224 30 121 224 30 121 225 30 121 224 30 121 224 30 121 224 0 121 224 0 121 224 0 121 224 0 121 224 0 120 0 0 120 3 0 0 0 0 0 0 0 0 0]) ; yourself); yourself!
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1258
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1259
iconAlignTB
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1260
    "ImageEditor openOnClass:self andSelector:#iconAlignTB"
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1261
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1262
    <resource: #image>
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1263
    ^(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(#[0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 10 170 170 170 170 0 10 170 170 170 170 0 0 0 0 0 0 0 0 80 5 0 80 7 0 112 7 0 112 0 0 112 7 0 112 0 0 112 7 0 112 0 0 112 7 0 112 8 0 112 7 0 112 0 0 112 7 0 112 1 0 112 7 0 112 0 0 112 7 0 112 0 0 112 7 0 64 0 0 0 0 0 0 0 10 170 170 170 170 0 10 170 170 170 170 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0]) ; colorMap:(((Array new:4) at:1 put:((Color black)); at:2 put:((Color white)); at:3 put:((Color red:0.0 green:0.0 blue:49.9977)); at:4 put:((Color grey:66.9978)); yourself)); mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(#[0 0 0 0 0 3 0 0 0 63 255 240 63 255 240 30 121 224 30 121 225 30 121 224 30 121 224 30 121 224 30 121 224 30 121 224 30 121 224 30 121 225 30 121 225 30 121 160 30 121 224 63 255 240 63 255 242 0 0 0 0 0 0 0 0 0]) ; yourself); yourself! !
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  1264
109
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1265
!UIPainter methodsFor:'actions'!
60
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  1266
109
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1267
accept
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1268
    "accept changes done to the specification. The component assigned to the
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1269
     specification will change immediately dependant on the attributes derived
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1270
     from the specification.
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1271
    "
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1272
    |layout spec prop key layoutTool|
60
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  1273
166
cd5699643975 add tools: layout and specification tool
ca
parents: 161
diff changeset
  1274
    self isLayoutToolSelected ifTrue:[
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1275
        layoutTool := self layoutTool.
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1276
144
bca8b1953ee8 checkin from browser
ca
parents: 142
diff changeset
  1277
        (layout := layoutTool layout) notNil ifTrue:[
bca8b1953ee8 checkin from browser
ca
parents: 142
diff changeset
  1278
            layoutTool layoutType == #Extent ifTrue:[
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1279
                layoutTool layoutView == self painter topView ifTrue:[
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1280
                    layoutTool layoutView extent:layout
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1281
                ] ifFalse:[
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1282
                    self painter setExtent:layout
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1283
                ]
144
bca8b1953ee8 checkin from browser
ca
parents: 142
diff changeset
  1284
            ] ifFalse:[
149
e652608690b1 help ...
ca
parents: 144
diff changeset
  1285
                self painter setLayout:layout
109
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1286
            ]
144
bca8b1953ee8 checkin from browser
ca
parents: 142
diff changeset
  1287
        ]
bca8b1953ee8 checkin from browser
ca
parents: 142
diff changeset
  1288
    ] ifFalse:[
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1289
        spec := self specTool specification.
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1290
166
cd5699643975 add tools: layout and specification tool
ca
parents: 161
diff changeset
  1291
        self isHelpToolSelected ifTrue:[
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1292
            self helpTool accept.
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1293
            key  := self helpTool helpKey.
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1294
            prop := treeView propertySelected.
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1295
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1296
            prop notNil ifTrue:[
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1297
                prop spec activeHelpKey:key
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1298
            ].
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1299
            spec activeHelpKey:key.
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1300
        ] ifFalse:[
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1301
            self painter updateFromSpec:spec.
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1302
        ]
144
bca8b1953ee8 checkin from browser
ca
parents: 142
diff changeset
  1303
    ].
166
cd5699643975 add tools: layout and specification tool
ca
parents: 161
diff changeset
  1304
    self modifiedChannel value:false.
109
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1305
!
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1306
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1307
cancel
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1308
    "cancel all changes done to the specification; reread attributes from the
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1309
     assigned component
109
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1310
    "
328
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1311
    |spec key view|
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1312
272
99de6af43afa confirm/cancel changes before switching a section or widget
ca
parents: 271
diff changeset
  1313
    self isModified ifTrue:[
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1314
        (spec := self painter specForSelection) notNil ifTrue:[
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1315
            key := spec activeHelpKey.
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1316
        ].
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1317
        self helpTool helpKey:key.
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1318
        self specTool specification:spec.
328
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1319
        view := self layoutTool layoutView.
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1320
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1321
        self setViewInLayoutTool:view.
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1322
        spec class == DataSetSpec ifTrue:[
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1323
            view columnDescriptors:(spec columns)
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1324
        ].        
166
cd5699643975 add tools: layout and specification tool
ca
parents: 161
diff changeset
  1325
        self modifiedChannel value:false.
cd5699643975 add tools: layout and specification tool
ca
parents: 161
diff changeset
  1326
    ]
137
ca
parents: 136
diff changeset
  1327
!
ca
parents: 136
diff changeset
  1328
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1329
moveSelectionDown
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1330
    "move selected components down
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1331
    "
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1332
    self painter moveSelectionDown
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1333
!
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1334
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1335
moveSelectionLeft
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1336
    "move selected components left
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1337
    "
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1338
    self painter moveSelectionLeft
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1339
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1340
!
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1341
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1342
moveSelectionRight
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1343
    "move selected components right
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1344
    "
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1345
    self painter moveSelectionRight
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1346
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1347
!
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1348
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1349
moveSelectionUp
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1350
    "move selected components up
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1351
    "
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1352
    self painter moveSelectionUp
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1353
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1354
!
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1355
328
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1356
openDataSetColumnEditor
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1357
    "opens a column editor
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1358
    "
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1359
    |cls aspect editor columns|
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1360
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1361
    cls := self resolveName:specClass.
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1362
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1363
    cls isNil ifTrue:[
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1364
        ^ self information:'no application class defined yet'
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1365
    ].
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1366
    aspect := self specTool specification columns.
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1367
    editor := DataSetBuilder new.
341
0f297824bcf6 set masterApplication for DataSetBuilder
ca
parents: 333
diff changeset
  1368
    editor masterApplication:self.
328
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1369
    editor columns:aspect fromView:(self layoutTool layoutView).
333
a2e23dea36bf change className to rowClassName
ca
parents: 328
diff changeset
  1370
    editor rowClassName:(self specTool specification rowClassName).
328
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1371
    editor openModal.
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1372
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1373
    editor hasChanged ifTrue:[
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1374
        self specTool specification columns:(editor columns).
333
a2e23dea36bf change className to rowClassName
ca
parents: 328
diff changeset
  1375
        self specTool specification rowClassName:(editor rowClassName).
328
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1376
        self modifiedChannel value:true.
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1377
    ].
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1378
!
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1379
217
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1380
openEditMenu
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1381
    "opens a menu editor on current widget
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1382
    "
217
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1383
    |cls aspect editor|
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1384
328
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1385
    cls := self resolveName:specClass.
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1386
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1387
    cls isNil ifTrue:[
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1388
        ^ self information:'no application class defined yet'
217
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1389
    ].
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1390
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1391
    cls notNil ifTrue:[
295
114befd1c369 add some help text
ca
parents: 287
diff changeset
  1392
        (aspect := self specTool specification menuSelector) notNil ifTrue:[
217
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1393
            aspect := aspect asSymbol
229
cabe3bd6fd74 openEditMenu changed
ca
parents: 222
diff changeset
  1394
        ] ifFalse:[
267
6feed486f1f1 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 265
diff changeset
  1395
            "/ cg: q&d hack ...
6feed486f1f1 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 265
diff changeset
  1396
229
cabe3bd6fd74 openEditMenu changed
ca
parents: 222
diff changeset
  1397
            aspect := treeView propertySelected.
cabe3bd6fd74 openEditMenu changed
ca
parents: 222
diff changeset
  1398
            aspect notNil ifTrue:[
245
d48281345935 better warning message
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
  1399
                Object errorSignal handle:[:ex |
271
ca85216907a4 better menu editing
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
  1400
                    aspect := nil.
245
d48281345935 better warning message
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
  1401
                ] do:[
d48281345935 better warning message
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
  1402
                    aspect := aspect view asMenu.
d48281345935 better warning message
Claus Gittinger <cg@exept.de>
parents: 233
diff changeset
  1403
                ]
271
ca85216907a4 better menu editing
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
  1404
            ].
217
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1405
        ].
229
cabe3bd6fd74 openEditMenu changed
ca
parents: 222
diff changeset
  1406
        
217
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1407
        editor := MenuEditor new.
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1408
        editor masterApplication:self.
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1409
        editor useHelpDictionary:(self helpTool dictionary).
271
ca85216907a4 better menu editing
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
  1410
        editor openModalOnClass:cls andSelector:aspect.
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1411
        self helpTool updateList.
271
ca85216907a4 better menu editing
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
  1412
ca85216907a4 better menu editing
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
  1413
        editor selectorName ~= aspect ifTrue:[
ca85216907a4 better menu editing
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
  1414
            editor didInstall ifTrue:[
295
114befd1c369 add some help text
ca
parents: 287
diff changeset
  1415
                self specTool specification menuSelector:editor selectorName asSymbol.
271
ca85216907a4 better menu editing
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
  1416
                self modifiedChannel value:true.
ca85216907a4 better menu editing
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
  1417
                self accept
ca85216907a4 better menu editing
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
  1418
            ]
ca85216907a4 better menu editing
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
  1419
        ].
217
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1420
    ]
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1421
271
ca85216907a4 better menu editing
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
  1422
    "Modified: 31.7.1997 / 14:26:13 / cg"
301
131f874fc2a2 support of hierarchical list editor
ca
parents: 297
diff changeset
  1423
!
131f874fc2a2 support of hierarchical list editor
ca
parents: 297
diff changeset
  1424
131f874fc2a2 support of hierarchical list editor
ca
parents: 297
diff changeset
  1425
openHierarchicalListEditor
131f874fc2a2 support of hierarchical list editor
ca
parents: 297
diff changeset
  1426
    "opens a hierarchical list editor editor on current widget
131f874fc2a2 support of hierarchical list editor
ca
parents: 297
diff changeset
  1427
    "
131f874fc2a2 support of hierarchical list editor
ca
parents: 297
diff changeset
  1428
    |cls aspect editor|
131f874fc2a2 support of hierarchical list editor
ca
parents: 297
diff changeset
  1429
328
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1430
    cls := self resolveName:specClass.
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1431
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1432
    cls isNil ifTrue:[
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1433
        ^ self information:'no application class defined yet'
301
131f874fc2a2 support of hierarchical list editor
ca
parents: 297
diff changeset
  1434
    ].
131f874fc2a2 support of hierarchical list editor
ca
parents: 297
diff changeset
  1435
328
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1436
    (aspect := self specTool specification hierarchicalList) notNil ifTrue:[
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1437
        aspect := aspect asSymbol
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1438
    ] ifFalse:[
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1439
        "/ cg: q&d hack ...
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1440
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1441
        aspect := treeView propertySelected.
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1442
        aspect notNil ifTrue:[
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1443
            Object errorSignal handle:[:ex |
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1444
                aspect := nil.
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1445
            ] do:[
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1446
                aspect := aspect view asMenu.
301
131f874fc2a2 support of hierarchical list editor
ca
parents: 297
diff changeset
  1447
            ]
131f874fc2a2 support of hierarchical list editor
ca
parents: 297
diff changeset
  1448
        ].
328
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1449
    ].
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1450
    
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1451
    editor := HierarchicalListEditor new.
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1452
    editor masterApplication:self.
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1453
    editor openModalOnClass:cls andSelector:aspect.
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1454
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1455
    editor selectorName ~= aspect ifTrue:[
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1456
        editor didInstall ifTrue:[
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1457
            self specTool specification hierarchicalList:editor selectorName asSymbol.
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1458
            self modifiedChannel value:true.
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1459
            self accept
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1460
        ]
301
131f874fc2a2 support of hierarchical list editor
ca
parents: 297
diff changeset
  1461
    ]
60
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  1462
! !
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  1463
365
1610933f0e94 clear help view if there is no help
Claus Gittinger <cg@exept.de>
parents: 363
diff changeset
  1464
!UIPainter methodsFor:'active help'!
1610933f0e94 clear help view if there is no help
Claus Gittinger <cg@exept.de>
parents: 363
diff changeset
  1465
1610933f0e94 clear help view if there is no help
Claus Gittinger <cg@exept.de>
parents: 363
diff changeset
  1466
showHelp:aHelpText for:view
1610933f0e94 clear help view if there is no help
Claus Gittinger <cg@exept.de>
parents: 363
diff changeset
  1467
    "display active help texts in my own info area."
1610933f0e94 clear help view if there is no help
Claus Gittinger <cg@exept.de>
parents: 363
diff changeset
  1468
1610933f0e94 clear help view if there is no help
Claus Gittinger <cg@exept.de>
parents: 363
diff changeset
  1469
    |txt|
1610933f0e94 clear help view if there is no help
Claus Gittinger <cg@exept.de>
parents: 363
diff changeset
  1470
1610933f0e94 clear help view if there is no help
Claus Gittinger <cg@exept.de>
parents: 363
diff changeset
  1471
    aHelpText isNil ifTrue:[
1610933f0e94 clear help view if there is no help
Claus Gittinger <cg@exept.de>
parents: 363
diff changeset
  1472
        txt := nil
1610933f0e94 clear help view if there is no help
Claus Gittinger <cg@exept.de>
parents: 363
diff changeset
  1473
    ] ifFalse:[
1610933f0e94 clear help view if there is no help
Claus Gittinger <cg@exept.de>
parents: 363
diff changeset
  1474
        txt := self class 
1610933f0e94 clear help view if there is no help
Claus Gittinger <cg@exept.de>
parents: 363
diff changeset
  1475
                convertString:(aHelpText asString)
368
9e588f397bc9 support of lineFeed character \ in the help text
ca
parents: 366
diff changeset
  1476
                maxLineSize:(transcript width // transcript font width)
9e588f397bc9 support of lineFeed character \ in the help text
ca
parents: 366
diff changeset
  1477
               skipLineFeed:true
365
1610933f0e94 clear help view if there is no help
Claus Gittinger <cg@exept.de>
parents: 363
diff changeset
  1478
    ].
1610933f0e94 clear help view if there is no help
Claus Gittinger <cg@exept.de>
parents: 363
diff changeset
  1479
    transcript hideCursor.
1610933f0e94 clear help view if there is no help
Claus Gittinger <cg@exept.de>
parents: 363
diff changeset
  1480
    transcript contents:txt.
1610933f0e94 clear help view if there is no help
Claus Gittinger <cg@exept.de>
parents: 363
diff changeset
  1481
    ^ true
1610933f0e94 clear help view if there is no help
Claus Gittinger <cg@exept.de>
parents: 363
diff changeset
  1482
1610933f0e94 clear help view if there is no help
Claus Gittinger <cg@exept.de>
parents: 363
diff changeset
  1483
    "Modified: / 29.10.1997 / 22:33:55 / cg"
1610933f0e94 clear help view if there is no help
Claus Gittinger <cg@exept.de>
parents: 363
diff changeset
  1484
! !
1610933f0e94 clear help view if there is no help
Claus Gittinger <cg@exept.de>
parents: 363
diff changeset
  1485
60
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  1486
!UIPainter methodsFor:'aspects'!
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  1487
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1488
canMoveOrAlignSelection
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1489
    "returns a boolean value holder which is true in case that any selection exists
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1490
     and all widgets in the selection can change its layout through to a move or
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1491
     align operation
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1492
    "
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1493
    ^ builder booleanValueAspectFor:#canMoveOrAlignSelection
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  1494
!
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  1495
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1496
canMoveSelectionIntoContainer
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1497
    "returns a boolean value holder which is true in case that one component is selected
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1498
     and can change its container widget to the next element in the list which will have
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1499
     the same container.
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1500
    "
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1501
    ^ builder booleanValueAspectFor:#canMoveSelectionIntoContainer
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1502
!
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1503
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1504
canMoveSelectionOutOfContainer
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1505
    "returns a boolean value holder which is true in case that one component is selected
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1506
     which is contained within another component
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1507
    "
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1508
    ^ builder booleanValueAspectFor:#canMoveSelectionOutOfContainer
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  1509
!
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  1510
118
bc196200ea8b enabled and style
ca
parents: 114
diff changeset
  1511
enableChannel
bc196200ea8b enabled and style
ca
parents: 114
diff changeset
  1512
    "true if modifications are allowed otherwise running test
bc196200ea8b enabled and style
ca
parents: 114
diff changeset
  1513
    "
bc196200ea8b enabled and style
ca
parents: 114
diff changeset
  1514
  ^ self painter enableChannel
109
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1515
!
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1516
173
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1517
galleryShown
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1518
    "returns a boolean value holder which is set to true if the gallery is shown
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1519
    "
173
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1520
    |holder|
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1521
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1522
    (holder := builder bindingAt:#galleryShown) isNil ifTrue:[
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1523
        builder aspectAt:#galleryShown put:(holder :=  true asValue).
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1524
        holder addDependent:self
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1525
    ].
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1526
    ^ holder
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1527
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1528
!
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1529
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1530
hasOneSelectionOtherThanCanvas
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1531
    "returns a value holder which is true in case that one component is selected
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1532
     other than the canvas.
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1533
    "
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1534
    ^ builder booleanValueAspectFor:#hasOneSelectionOtherThanCanvas
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  1535
!
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  1536
109
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1537
modifiedChannel
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1538
    "returns a boolean value holder which is set to true if something is modified
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1539
     and not accepted
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1540
    "
256
d8643afc8203 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 254
diff changeset
  1541
    ^ builder booleanValueAspectFor:#modifiedChannel
109
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1542
!
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1543
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1544
noteBookView
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1545
    "returns the notebook view; initialize components within the notebook
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1546
    "
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1547
    |noteBook channel helpTool layoutTool specTool|
109
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1548
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1549
    (noteBook := builder bindingAt:#noteBookView) isNil ifTrue:[
166
cd5699643975 add tools: layout and specification tool
ca
parents: 161
diff changeset
  1550
        noteBook   := View new.
cd5699643975 add tools: layout and specification tool
ca
parents: 161
diff changeset
  1551
        layoutTool := UILayoutTool new.
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1552
        helpTool   := UIHelpTool   new.
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1553
        helpTool helpSpecFrom:specClass.
166
cd5699643975 add tools: layout and specification tool
ca
parents: 161
diff changeset
  1554
        specTool   := UISpecificationTool new.
144
bca8b1953ee8 checkin from browser
ca
parents: 142
diff changeset
  1555
        channel    := self modifiedChannel.
166
cd5699643975 add tools: layout and specification tool
ca
parents: 161
diff changeset
  1556
152
ca
parents: 149
diff changeset
  1557
        layoutTool masterApplication:self.
166
cd5699643975 add tools: layout and specification tool
ca
parents: 161
diff changeset
  1558
        specTool   masterApplication:self.
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1559
        helpTool   masterApplication:self.
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1560
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1561
        layoutCanvas := SubCanvas origin:0.0@0.0 corner:1.0@1.0 in:noteBook.
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1562
        helpCanvas   := SubCanvas origin:0.0@0.0 corner:1.0@1.0 in:noteBook.
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1563
        specCanvas   := SubCanvas origin:0.0@0.0 corner:1.0@1.0 in:noteBook.
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1564
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1565
        layoutCanvas client:layoutTool.
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1566
        helpCanvas   client:helpTool.
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1567
        specTool builder:(specCanvas client:specTool).
166
cd5699643975 add tools: layout and specification tool
ca
parents: 161
diff changeset
  1568
cd5699643975 add tools: layout and specification tool
ca
parents: 161
diff changeset
  1569
        layoutTool masterApplication:self.
cd5699643975 add tools: layout and specification tool
ca
parents: 161
diff changeset
  1570
        specTool   masterApplication:self.
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1571
        helpTool   masterApplication:self.
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1572
109
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1573
        layoutTool modifiedHolder:channel.
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1574
        helpTool   modifiedHolder:channel.
166
cd5699643975 add tools: layout and specification tool
ca
parents: 161
diff changeset
  1575
        specTool   modifiedHolder:channel.
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1576
109
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1577
        builder aspectAt:#noteBookView put:noteBook.
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1578
    ].
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1579
    ^ noteBook
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1580
!
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1581
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1582
painterShown
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1583
    "returns a boolean value holder which is set to true if the painter is shown
109
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1584
    "
173
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1585
    |holder|
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1586
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1587
    (holder := builder bindingAt:#painterShown) isNil ifTrue:[
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1588
        builder aspectAt:#painterShown put:(holder :=  true asValue).
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1589
        holder addDependent:self
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1590
    ].
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1591
    ^ holder
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1592
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1593
!
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1594
109
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1595
tabList
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1596
    "returns a value holder which keeps a list of labels assigned to the tabs
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1597
    "
109
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1598
    |holder|
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1599
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1600
    (holder := builder bindingAt:#tabList) isNil ifTrue:[
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1601
        builder aspectAt:#tabList put:(holder :=  ValueHolder new).
144
bca8b1953ee8 checkin from browser
ca
parents: 142
diff changeset
  1602
        holder value:#( 'Properties' ).
109
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1603
    ].
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1604
    ^ holder
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1605
!
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1606
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1607
tabModel
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1608
    "returns a value holder which keeps the current name of the tab selected
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1609
    "
109
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1610
    |holder|
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1611
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1612
    (holder := builder bindingAt:#tabModel) isNil ifTrue:[
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1613
        holder := AspectAdaptor new subject:self; forAspect:#tabSelection.
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1614
        builder aspectAt:#tabModel put:holder.
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1615
    ].
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1616
    ^ holder
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  1617
!
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  1618
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  1619
treeView
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1620
    "returns the selection tree view which holds all widget identifiers
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1621
    "
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  1622
    ^ treeView
60
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  1623
! !
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  1624
109
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1625
!UIPainter methodsFor:'binding access'!
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1626
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1627
aspectFor:aKey
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  1628
    "aspect for a key
109
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1629
    "
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  1630
  ^ aspects at:aKey ifAbsent:[ super aspectFor:aKey ]
109
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1631
! !
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1632
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1633
!UIPainter methodsFor:'change & update'!
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1634
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  1635
layoutChanged
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1636
    "called by the painter/canvas whenever the layout of the current selected
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1637
     widget changed
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1638
    "
272
99de6af43afa confirm/cancel changes before switching a section or widget
ca
parents: 271
diff changeset
  1639
    self isModified ifFalse:[
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1640
        self layoutTool update.
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  1641
        self modifiedChannel value:false
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  1642
    ]
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  1643
!
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  1644
272
99de6af43afa confirm/cancel changes before switching a section or widget
ca
parents: 271
diff changeset
  1645
propertyChanged
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1646
    "called by the painter/canvas whenever the property of the current selected
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1647
     widget changed
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  1648
    "
272
99de6af43afa confirm/cancel changes before switching a section or widget
ca
parents: 271
diff changeset
  1649
    |p|
99de6af43afa confirm/cancel changes before switching a section or widget
ca
parents: 271
diff changeset
  1650
99de6af43afa confirm/cancel changes before switching a section or widget
ca
parents: 271
diff changeset
  1651
    (p := treeView propertySelected) notNil ifTrue:[
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1652
        self specTool specification:(p spec copy).
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1653
        self setViewInLayoutTool:(p view).
272
99de6af43afa confirm/cancel changes before switching a section or widget
ca
parents: 271
diff changeset
  1654
        self modifiedChannel value:false
99de6af43afa confirm/cancel changes before switching a section or widget
ca
parents: 271
diff changeset
  1655
    ] ifFalse:[
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1656
        self layoutTool layoutView notNil ifTrue:[
272
99de6af43afa confirm/cancel changes before switching a section or widget
ca
parents: 271
diff changeset
  1657
            self modifiedChannel value:false.
99de6af43afa confirm/cancel changes before switching a section or widget
ca
parents: 271
diff changeset
  1658
            self treeSelection
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  1659
        ]
272
99de6af43afa confirm/cancel changes before switching a section or widget
ca
parents: 271
diff changeset
  1660
    ]
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  1661
!
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  1662
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  1663
update:something with:aParameter from:someObject
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1664
    "catch change notifications
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1665
    "
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  1666
    someObject == treeView model ifTrue:[
362
55154d7a4deb checkin from browser
Claus Gittinger <cg@exept.de>
parents: 358
diff changeset
  1667
        (something == #selection
55154d7a4deb checkin from browser
Claus Gittinger <cg@exept.de>
parents: 358
diff changeset
  1668
        or:[something == #selectionIndex]) ifTrue:[self treeSelection].
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  1669
      ^ self
173
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1670
    ].
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1671
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1672
    self galleryShown == someObject ifTrue:[
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1673
        (self galleryShown value) ifTrue:[
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1674
            self raiseUIView:(selectionPanel window)
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1675
        ] ifFalse:[
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1676
            self hideUIView:(selectionPanel window)
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1677
        ].
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1678
      ^ self
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1679
    ].
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1680
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1681
    self painterShown == someObject ifTrue:[
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1682
        (self painterShown value) ifTrue:[
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1683
            self raiseUIView:(self painter topView)
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1684
        ] ifFalse:[
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1685
            self hideUIView:(self painter topView)
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1686
        ].
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1687
      ^ self
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1688
    ].
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1689
362
55154d7a4deb checkin from browser
Claus Gittinger <cg@exept.de>
parents: 358
diff changeset
  1690
    "Modified: / 29.10.1997 / 17:48:19 / cg"
109
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1691
! !
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1692
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1693
!UIPainter methodsFor:'event handling'!
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1694
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1695
doesNotUnderstand:aMessage
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1696
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1697
    |painter|
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1698
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1699
    painter := self painter.
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1700
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1701
    (painter respondsTo:(aMessage selector)) ifTrue:[
109
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1702
        ^ aMessage sendTo:painter
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1703
    ].
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1704
    super doesNotUnderstand:aMessage
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1705
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1706
! !
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1707
297
14db1276218c change the spec;
ca
parents: 295
diff changeset
  1708
!UIPainter methodsFor:'printing'!
14db1276218c change the spec;
ca
parents: 295
diff changeset
  1709
14db1276218c change the spec;
ca
parents: 295
diff changeset
  1710
show:aText
14db1276218c change the spec;
ca
parents: 295
diff changeset
  1711
    transcript hideCursor.
14db1276218c change the spec;
ca
parents: 295
diff changeset
  1712
    transcript contents:aText.
14db1276218c change the spec;
ca
parents: 295
diff changeset
  1713
        
14db1276218c change the spec;
ca
parents: 295
diff changeset
  1714
! !
14db1276218c change the spec;
ca
parents: 295
diff changeset
  1715
109
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1716
!UIPainter methodsFor:'private'!
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1717
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1718
checkModified
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1719
    "check interface modification
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1720
    "
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1721
    self painter isModified
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1722
    ifTrue:
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1723
    [
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1724
        ((YesNoBox title:'Interface was modified!!')        
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1725
            noText:'Cancel';
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1726
            yesText:'Waste it and proceed';
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1727
            showAtPointer;
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1728
            accepted) ifFalse: [^false].
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1729
        self painter resetModification
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1730
    ].
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1731
    ^true
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1732
!
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1733
173
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1734
hideUIView:aView
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1735
    "hide the view which is an application or top view
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1736
    "
173
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1737
    aView beIndependent.
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1738
    aView unmap.
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1739
!
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1740
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1741
raiseTabView
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1742
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1743
    self isLayoutToolSelected ifTrue:[
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1744
        layoutCanvas raise
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1745
    ] ifFalse:[
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1746
        self isHelpToolSelected ifTrue:[
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1747
            helpCanvas raise
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1748
        ] ifFalse:[
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1749
            self specTool selection:tabSelection.
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1750
            specCanvas raise
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1751
        ]
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1752
    ]
173
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1753
!
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1754
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1755
raiseUIView:aView
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1756
    "raise the view which is an application or top view
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1757
    "
173
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1758
    aView map.
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  1759
    aView bePartner.
177
eefd69a52f5b fixed setup of class/selector when picking/fetching via
Claus Gittinger <cg@exept.de>
parents: 176
diff changeset
  1760
!
eefd69a52f5b fixed setup of class/selector when picking/fetching via
Claus Gittinger <cg@exept.de>
parents: 176
diff changeset
  1761
eefd69a52f5b fixed setup of class/selector when picking/fetching via
Claus Gittinger <cg@exept.de>
parents: 176
diff changeset
  1762
setClass:cls selector:selector
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1763
    "set the application class and the selector under which the
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1764
     window specification should be stored
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1765
    "
177
eefd69a52f5b fixed setup of class/selector when picking/fetching via
Claus Gittinger <cg@exept.de>
parents: 176
diff changeset
  1766
    |clsName superClassName|
eefd69a52f5b fixed setup of class/selector when picking/fetching via
Claus Gittinger <cg@exept.de>
parents: 176
diff changeset
  1767
eefd69a52f5b fixed setup of class/selector when picking/fetching via
Claus Gittinger <cg@exept.de>
parents: 176
diff changeset
  1768
    clsName := cls name.
eefd69a52f5b fixed setup of class/selector when picking/fetching via
Claus Gittinger <cg@exept.de>
parents: 176
diff changeset
  1769
    superClassName := cls superclass name.
eefd69a52f5b fixed setup of class/selector when picking/fetching via
Claus Gittinger <cg@exept.de>
parents: 176
diff changeset
  1770
eefd69a52f5b fixed setup of class/selector when picking/fetching via
Claus Gittinger <cg@exept.de>
parents: 176
diff changeset
  1771
    (self aspectFor:#classNameChannel) value:clsName.
eefd69a52f5b fixed setup of class/selector when picking/fetching via
Claus Gittinger <cg@exept.de>
parents: 176
diff changeset
  1772
    (self aspectFor:#methodNameChannel) value:(selector ? '').
eefd69a52f5b fixed setup of class/selector when picking/fetching via
Claus Gittinger <cg@exept.de>
parents: 176
diff changeset
  1773
    (self aspectFor:#superclassNameChannel) value:superClassName.
eefd69a52f5b fixed setup of class/selector when picking/fetching via
Claus Gittinger <cg@exept.de>
parents: 176
diff changeset
  1774
eefd69a52f5b fixed setup of class/selector when picking/fetching via
Claus Gittinger <cg@exept.de>
parents: 176
diff changeset
  1775
    self painter 
eefd69a52f5b fixed setup of class/selector when picking/fetching via
Claus Gittinger <cg@exept.de>
parents: 176
diff changeset
  1776
            className:clsName 
eefd69a52f5b fixed setup of class/selector when picking/fetching via
Claus Gittinger <cg@exept.de>
parents: 176
diff changeset
  1777
            superclassName:superClassName
eefd69a52f5b fixed setup of class/selector when picking/fetching via
Claus Gittinger <cg@exept.de>
parents: 176
diff changeset
  1778
            selector:(selector ? '').
eefd69a52f5b fixed setup of class/selector when picking/fetching via
Claus Gittinger <cg@exept.de>
parents: 176
diff changeset
  1779
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1780
    self specClass:clsName.
177
eefd69a52f5b fixed setup of class/selector when picking/fetching via
Claus Gittinger <cg@exept.de>
parents: 176
diff changeset
  1781
    specSelector := (selector ? '').
eefd69a52f5b fixed setup of class/selector when picking/fetching via
Claus Gittinger <cg@exept.de>
parents: 176
diff changeset
  1782
    specSuperclass := superClassName.
eefd69a52f5b fixed setup of class/selector when picking/fetching via
Claus Gittinger <cg@exept.de>
parents: 176
diff changeset
  1783
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1784
    specClass notNil & selector notNil
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1785
    ifTrue:
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1786
    [
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1787
        |className message|
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1788
        specClass isClass ifTrue: [className := specClass name].
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1789
        specClass isString ifTrue: [className := specClass].
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1790
        message := className, ' ', specSelector.
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1791
        self addToHistory: message -> #loadFromMessage:.
448
9f115893b4df info bar added
tz
parents: 447
diff changeset
  1792
        self valueOfInfoLabel value: className, ' >> ', specSelector
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1793
    ].
177
eefd69a52f5b fixed setup of class/selector when picking/fetching via
Claus Gittinger <cg@exept.de>
parents: 176
diff changeset
  1794
    "Modified: 24.6.1997 / 19:07:01 / cg"
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1795
!
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1796
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1797
setViewInLayoutTool:aView
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1798
    "set view for layout tool
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1799
    "
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1800
    |type|
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1801
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1802
    self painter topView == aView ifTrue:[
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1803
        type := #Extent
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1804
    ].
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1805
    self layoutTool layoutView:aView type:type
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1806
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1807
!
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1808
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1809
specClass:aClass
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1810
    specClass := aClass.
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1811
    self helpTool helpSpecFrom:specClass.
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1812
! !
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1813
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1814
!UIPainter methodsFor:'private tools'!
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1815
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1816
helpTool
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1817
    "returns the help tool
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1818
    "
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1819
    helpCanvas isNil ifTrue:[
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1820
        self noteBookView
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1821
    ].
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1822
    ^ helpCanvas application
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1823
!
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1824
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1825
layoutTool
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1826
    "returns the layout tool
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1827
    "
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1828
    layoutCanvas isNil ifTrue:[
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1829
        self noteBookView
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1830
    ].
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1831
    ^ layoutCanvas application
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1832
!
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1833
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1834
painter
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1835
    "returns the painter/canvas view
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1836
    "
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1837
    ^ treeView canvas
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1838
!
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1839
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1840
specTool
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1841
    "returns the spec tool
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1842
    "
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1843
    specCanvas isNil ifTrue:[
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1844
        self noteBookView
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1845
    ].
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1846
    ^ specCanvas application
109
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1847
! !
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1848
166
cd5699643975 add tools: layout and specification tool
ca
parents: 161
diff changeset
  1849
!UIPainter methodsFor:'queries'!
cd5699643975 add tools: layout and specification tool
ca
parents: 161
diff changeset
  1850
217
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1851
hasSpecClass
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1852
    "checks whether an application class is defined
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1853
    "
328
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  1854
    ^ (self resolveName:specClass) notNil
217
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1855
!
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1856
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1857
hasSpecClassAndSelector
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1858
    "checks whether an application class and a selector under which
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1859
     the window specification is stored is defined.
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1860
    "
217
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1861
    specSelector size > 1 ifTrue:[
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1862
        ^ self hasSpecClass
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1863
    ].
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1864
  ^ false
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1865
!
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1866
166
cd5699643975 add tools: layout and specification tool
ca
parents: 161
diff changeset
  1867
isHelpToolSelected
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1868
    "returns true if current selected tab in the noteBook is assigned
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1869
     to the 'Help' tool
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1870
    "
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1871
    ^ tabSelection = UIHelpTool label
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1872
166
cd5699643975 add tools: layout and specification tool
ca
parents: 161
diff changeset
  1873
!
cd5699643975 add tools: layout and specification tool
ca
parents: 161
diff changeset
  1874
cd5699643975 add tools: layout and specification tool
ca
parents: 161
diff changeset
  1875
isLayoutToolSelected
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1876
    "returns true if current selected tab in the noteBook is assigned
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1877
     to the 'Layout' tool
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1878
    "
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1879
    ^ tabSelection = UILayoutTool label
217
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1880
!
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1881
272
99de6af43afa confirm/cancel changes before switching a section or widget
ca
parents: 271
diff changeset
  1882
isModified
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1883
    "returns true if current specification or layout is modified
272
99de6af43afa confirm/cancel changes before switching a section or widget
ca
parents: 271
diff changeset
  1884
    "
99de6af43afa confirm/cancel changes before switching a section or widget
ca
parents: 271
diff changeset
  1885
    ^ self modifiedChannel value
99de6af43afa confirm/cancel changes before switching a section or widget
ca
parents: 271
diff changeset
  1886
!
99de6af43afa confirm/cancel changes before switching a section or widget
ca
parents: 271
diff changeset
  1887
217
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1888
isPainterEnabled
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1889
    "returns true if not running in test mode
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1890
    "
217
354ba46948b4 access MenuEditor for specs
ca
parents: 206
diff changeset
  1891
    ^ self painter enabled
166
cd5699643975 add tools: layout and specification tool
ca
parents: 161
diff changeset
  1892
! !
cd5699643975 add tools: layout and specification tool
ca
parents: 161
diff changeset
  1893
109
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1894
!UIPainter methodsFor:'selection'!
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1895
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1896
tabSelection
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1897
    "returns name of current selected tab in the notebook.
272
99de6af43afa confirm/cancel changes before switching a section or widget
ca
parents: 271
diff changeset
  1898
    "
109
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1899
    ^ tabSelection
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1900
!
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1901
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1902
tabSelection:something
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1903
    "the tab selection of the notebook changed
272
99de6af43afa confirm/cancel changes before switching a section or widget
ca
parents: 271
diff changeset
  1904
    "
351
7cb9f9c9a872 more checks
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  1905
7cb9f9c9a872 more checks
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  1906
    |whatToDo|
7cb9f9c9a872 more checks
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  1907
272
99de6af43afa confirm/cancel changes before switching a section or widget
ca
parents: 271
diff changeset
  1908
    (something isNil or:[tabSelection = something]) ifTrue:[
99de6af43afa confirm/cancel changes before switching a section or widget
ca
parents: 271
diff changeset
  1909
        ^ self
99de6af43afa confirm/cancel changes before switching a section or widget
ca
parents: 271
diff changeset
  1910
    ].
99de6af43afa confirm/cancel changes before switching a section or widget
ca
parents: 271
diff changeset
  1911
99de6af43afa confirm/cancel changes before switching a section or widget
ca
parents: 271
diff changeset
  1912
    self isModified ifTrue:[
351
7cb9f9c9a872 more checks
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  1913
        whatToDo := DialogBox 
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1914
                        confirmWithCancel:'Accept change made in ' , tabSelection printString , ' section?'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1915
                        labels:#('Cancel' 'Ignore' 'Accept')
351
7cb9f9c9a872 more checks
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  1916
                        default:3.
7cb9f9c9a872 more checks
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  1917
        whatToDo isNil ifTrue:[^self].
7cb9f9c9a872 more checks
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  1918
        whatToDo == true ifTrue:[
7cb9f9c9a872 more checks
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  1919
            self accept
7cb9f9c9a872 more checks
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  1920
        ] ifFalse:[
7cb9f9c9a872 more checks
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  1921
            self cancel
7cb9f9c9a872 more checks
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  1922
        ]
272
99de6af43afa confirm/cancel changes before switching a section or widget
ca
parents: 271
diff changeset
  1923
    ].
99de6af43afa confirm/cancel changes before switching a section or widget
ca
parents: 271
diff changeset
  1924
99de6af43afa confirm/cancel changes before switching a section or widget
ca
parents: 271
diff changeset
  1925
    tabSelection := something.
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1926
    self raiseTabView.
272
99de6af43afa confirm/cancel changes before switching a section or widget
ca
parents: 271
diff changeset
  1927
    self cancel.
351
7cb9f9c9a872 more checks
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  1928
7cb9f9c9a872 more checks
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  1929
    "Modified: / 26.10.1997 / 15:54:15 / cg"
272
99de6af43afa confirm/cancel changes before switching a section or widget
ca
parents: 271
diff changeset
  1930
!
99de6af43afa confirm/cancel changes before switching a section or widget
ca
parents: 271
diff changeset
  1931
99de6af43afa confirm/cancel changes before switching a section or widget
ca
parents: 271
diff changeset
  1932
treeSelection
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1933
    "called whenever the selection of the treeview changed
272
99de6af43afa confirm/cancel changes before switching a section or widget
ca
parents: 271
diff changeset
  1934
    "
295
114befd1c369 add some help text
ca
parents: 287
diff changeset
  1935
    |view list spec slices size property tabComponent|
272
99de6af43afa confirm/cancel changes before switching a section or widget
ca
parents: 271
diff changeset
  1936
99de6af43afa confirm/cancel changes before switching a section or widget
ca
parents: 271
diff changeset
  1937
    self isModified ifTrue:[
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1938
        (self confirm:'Accept change made in ' , tabSelection printString , ' section ?') ifTrue:[
272
99de6af43afa confirm/cancel changes before switching a section or widget
ca
parents: 271
diff changeset
  1939
            self accept
99de6af43afa confirm/cancel changes before switching a section or widget
ca
parents: 271
diff changeset
  1940
        ]
99de6af43afa confirm/cancel changes before switching a section or widget
ca
parents: 271
diff changeset
  1941
    ].
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1942
    self canMoveOrAlignSelection        value:(treeView canMoveOrAlignSelection).
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1943
    self canMoveSelectionIntoContainer  value:(treeView canMoveSelectionIntoContainer).
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1944
    self canMoveSelectionOutOfContainer value:(treeView canMoveSelectionOutOfContainer).
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1945
    self hasOneSelectionOtherThanCanvas value:(treeView hasOneSelectionOtherThanCanvas).
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1946
281
aabb4037f6a3 window spec
ca
parents: 280
diff changeset
  1947
    treeView isCanvasSelected ifTrue:[
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1948
        spec := treeView canvasSpec.
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1949
        view := self painter topView.
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1950
    ] ifFalse:[
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1951
        (property := treeView propertySelected) notNil ifTrue:[
301
131f874fc2a2 support of hierarchical list editor
ca
parents: 297
diff changeset
  1952
            treeView canResizeSelectedWidget ifTrue:[
131f874fc2a2 support of hierarchical list editor
ca
parents: 297
diff changeset
  1953
                view := property view.
131f874fc2a2 support of hierarchical list editor
ca
parents: 297
diff changeset
  1954
            ].
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1955
            spec := property spec copy.
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1956
        ]
281
aabb4037f6a3 window spec
ca
parents: 280
diff changeset
  1957
    ].
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1958
    tabComponent := builder componentAt:#noteBook.
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1959
    self setViewInLayoutTool:view.
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1960
    self specTool specification:spec.
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1961
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1962
    spec notNil ifTrue:[
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1963
        self helpTool helpKey:(spec activeHelpKey).
295
114befd1c369 add some help text
ca
parents: 287
diff changeset
  1964
        slices := spec class slices.
114befd1c369 add some help text
ca
parents: 287
diff changeset
  1965
        size   := slices size.
301
131f874fc2a2 support of hierarchical list editor
ca
parents: 297
diff changeset
  1966
131f874fc2a2 support of hierarchical list editor
ca
parents: 297
diff changeset
  1967
        view notNil ifTrue:[
131f874fc2a2 support of hierarchical list editor
ca
parents: 297
diff changeset
  1968
            list := Array new:(size + 2).
131f874fc2a2 support of hierarchical list editor
ca
parents: 297
diff changeset
  1969
            list at:(size + 2) put:(UILayoutTool label).
131f874fc2a2 support of hierarchical list editor
ca
parents: 297
diff changeset
  1970
        ] ifFalse:[
131f874fc2a2 support of hierarchical list editor
ca
parents: 297
diff changeset
  1971
            list := Array new:(size + 1).
131f874fc2a2 support of hierarchical list editor
ca
parents: 297
diff changeset
  1972
        ].
295
114befd1c369 add some help text
ca
parents: 287
diff changeset
  1973
        1 to:size do:[:i| list at:i put:((slices at:i) first asString)].
114befd1c369 add some help text
ca
parents: 287
diff changeset
  1974
        list at:(size + 1) put:(UIHelpTool   label).
301
131f874fc2a2 support of hierarchical list editor
ca
parents: 297
diff changeset
  1975
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1976
        self tabList value:list.
297
14db1276218c change the spec;
ca
parents: 295
diff changeset
  1977
        self show:(spec class name).
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1978
        tabComponent enabled:true.
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1979
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1980
        (tabSelection := tabComponent selection) isNil ifTrue:[
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1981
            tabComponent setSelection:(tabSelection := list first)
272
99de6af43afa confirm/cancel changes before switching a section or widget
ca
parents: 271
diff changeset
  1982
        ].
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1983
        self raiseTabView
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1984
    ] ifFalse:[
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  1985
        self helpTool helpKey:nil.
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  1986
        tabComponent enabled:false.
297
14db1276218c change the spec;
ca
parents: 295
diff changeset
  1987
        self show:nil.
272
99de6af43afa confirm/cancel changes before switching a section or widget
ca
parents: 271
diff changeset
  1988
    ].
99de6af43afa confirm/cancel changes before switching a section or widget
ca
parents: 271
diff changeset
  1989
    self modifiedChannel value:false.
60
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  1990
! !
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  1991
109
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1992
!UIPainter methodsFor:'startup / release'!
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1993
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1994
closeRequest
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1995
    "close all windows open by builder
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  1996
    "
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  1997
    self checkModified ifFalse:[^self].
133
e12f82d3afb7 popup box caused by a closeRequest with still open
ca
parents: 130
diff changeset
  1998
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  1999
    treeView model removeDependent:self.
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2000
    self painter release.
366
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
  2001
    ColorMenu releaseResources.
60
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2002
109
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  2003
    selectionPanel notNil ifTrue:[
183
bb0cc63e2cf1 set masterApllication instead of application
ca
parents: 179
diff changeset
  2004
        selectionPanel masterApplication:nil.
109
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  2005
        selectionPanel closeRequest
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  2006
    ].
149
e652608690b1 help ...
ca
parents: 144
diff changeset
  2007
    selectionPanel := nil.
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2008
    treeView       := nil.
149
e652608690b1 help ...
ca
parents: 144
diff changeset
  2009
351
7cb9f9c9a872 more checks
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  2010
    ActiveHelp stopFor:self.
7cb9f9c9a872 more checks
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  2011
109
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  2012
    super closeRequest.
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  2013
351
7cb9f9c9a872 more checks
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  2014
    "Modified: / 27.10.1997 / 00:01:30 / cg"
109
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  2015
!
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  2016
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  2017
closeRequestFor:aTopView
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  2018
    "handle a close request for a specific view
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  2019
    "
173
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  2020
    |topView|
60
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2021
109
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  2022
    topView := self window.
60
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2023
109
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  2024
    topView == aTopView ifTrue:[
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  2025
        super closeRequestFor:aTopView
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  2026
    ] ifFalse:[
173
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  2027
        aTopView = selectionPanel window ifTrue:[
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  2028
            self galleryShown value:false
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  2029
        ] ifFalse:[
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  2030
            self painterShown value:false
a8468f4e83f0 show/hide painter/gallery
ca
parents: 171
diff changeset
  2031
        ].
133
e12f82d3afb7 popup box caused by a closeRequest with still open
ca
parents: 130
diff changeset
  2032
        topView raise.
109
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  2033
    ].
60
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2034
!
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2035
345
c4d8f4c74c26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 344
diff changeset
  2036
openInterface:aSymbol
109
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  2037
    "open interfaces
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  2038
    "
345
c4d8f4c74c26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 344
diff changeset
  2039
    |painterView painter cls topView|
60
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2040
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2041
    aspects := IdentityDictionary new.
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2042
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2043
    aspects at:#classNameChannel put:(
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2044
        (specClass notNil ifTrue:[specClass]
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2045
                         ifFalse:['NewApplication']) asValue
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2046
    ).
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2047
    specSuperclass isNil ifTrue:[
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2048
        specClass notNil ifTrue:[
328
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  2049
            (cls := self resolveName:specClass) notNil ifTrue:[
60
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2050
                specSuperclass := cls superclass name.
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2051
            ]
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2052
        ]
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2053
    ].
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2054
    aspects at:#superclassNameChannel put:(
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2055
        (specSuperclass notNil ifTrue:[specSuperclass]
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2056
                         ifFalse:['ApplicationModel']) asValue
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2057
    ).
157
ce974dce3dd4 enhanced class & method dialog
Claus Gittinger <cg@exept.de>
parents: 156
diff changeset
  2058
    aspects at:#superclassNameDefaults put:#('ApplicationModel' 'SimpleDialog') asValue.
60
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2059
    aspects at:#methodNameChannel put:(
161
12a70f62f414 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 160
diff changeset
  2060
        (specSelector notNil ifTrue:[specSelector asValue]
60
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2061
                            ifFalse:[#windowSpec]) asValue
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2062
    ).
136
42a2a4494281 remove postOpen
ca
parents: 133
diff changeset
  2063
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2064
    treeView    := TreeView new.
136
42a2a4494281 remove postOpen
ca
parents: 133
diff changeset
  2065
    painterView := StandardSystemView new.
42a2a4494281 remove postOpen
ca
parents: 133
diff changeset
  2066
    painterView label:'unnamed canvas'.
42a2a4494281 remove postOpen
ca
parents: 133
diff changeset
  2067
    painterView extent:300@300.
42a2a4494281 remove postOpen
ca
parents: 133
diff changeset
  2068
42a2a4494281 remove postOpen
ca
parents: 133
diff changeset
  2069
    painter := UIPainterView in:painterView.
109
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  2070
    painter layout:(0.0 @ 0.0 corner:1.0 @ 1.0) asLayout.
136
42a2a4494281 remove postOpen
ca
parents: 133
diff changeset
  2071
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2072
    treeView := treeView canvas:painter.
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2073
    painter treeView:treeView.
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2074
    treeView model addDependent:self.
136
42a2a4494281 remove postOpen
ca
parents: 133
diff changeset
  2075
345
c4d8f4c74c26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 344
diff changeset
  2076
    super openInterface:aSymbol.
c4d8f4c74c26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 344
diff changeset
  2077
297
14db1276218c change the spec;
ca
parents: 295
diff changeset
  2078
    transcript := (self builder componentAt:#Transcript) scrolledView.
136
42a2a4494281 remove postOpen
ca
parents: 133
diff changeset
  2079
    topView := self window.
42a2a4494281 remove postOpen
ca
parents: 133
diff changeset
  2080
    topView bePartner.
345
c4d8f4c74c26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 344
diff changeset
  2081
    topView label:'GUI Painter'.
136
42a2a4494281 remove postOpen
ca
parents: 133
diff changeset
  2082
42a2a4494281 remove postOpen
ca
parents: 133
diff changeset
  2083
    painterView openInGroup:(topView windowGroup).
42a2a4494281 remove postOpen
ca
parents: 133
diff changeset
  2084
    painterView bePartner.
42a2a4494281 remove postOpen
ca
parents: 133
diff changeset
  2085
    painterView application:self.
42a2a4494281 remove postOpen
ca
parents: 133
diff changeset
  2086
    painterView open.
42a2a4494281 remove postOpen
ca
parents: 133
diff changeset
  2087
42a2a4494281 remove postOpen
ca
parents: 133
diff changeset
  2088
    painterView application:self.
183
bb0cc63e2cf1 set masterApllication instead of application
ca
parents: 179
diff changeset
  2089
    selectionPanel := UISelectionPanel new.
136
42a2a4494281 remove postOpen
ca
parents: 133
diff changeset
  2090
    selectionPanel allButOpenInterface:#windowSpec.
345
c4d8f4c74c26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 344
diff changeset
  2091
    selectionPanel window openInGroup:(topView windowGroup).
c4d8f4c74c26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 344
diff changeset
  2092
    selectionPanel window bePartner.
136
42a2a4494281 remove postOpen
ca
parents: 133
diff changeset
  2093
    selectionPanel openWindow.
183
bb0cc63e2cf1 set masterApllication instead of application
ca
parents: 179
diff changeset
  2094
    selectionPanel masterApplication:self.
274
2db2e583b3b4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
  2095
345
c4d8f4c74c26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 344
diff changeset
  2096
    topView iconLabel:'GUI Painter'.
c4d8f4c74c26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 344
diff changeset
  2097
    topView icon:(Image fromFile:'bitmaps/UIPainter.xbm' resolution:100).
c4d8f4c74c26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 344
diff changeset
  2098
c4d8f4c74c26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 344
diff changeset
  2099
    painterView iconLabel:'GUI Painter'.
c4d8f4c74c26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 344
diff changeset
  2100
    painterView icon:(Image fromFile:'bitmaps/UIPainter.xbm' resolution:100).
c4d8f4c74c26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 344
diff changeset
  2101
c4d8f4c74c26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 344
diff changeset
  2102
    selectionPanel window iconLabel:'GUI Painter'.
c4d8f4c74c26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 344
diff changeset
  2103
    selectionPanel window icon:(Image fromFile:'bitmaps/UIPainter.xbm' resolution:100).
c4d8f4c74c26 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 344
diff changeset
  2104
351
7cb9f9c9a872 more checks
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  2105
    ActiveHelp startFor:self.
7cb9f9c9a872 more checks
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  2106
7cb9f9c9a872 more checks
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  2107
    "Modified: / 27.10.1997 / 00:01:12 / cg"
60
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2108
!
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2109
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2110
openNewWindowCanvas
109
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  2111
    "open new
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  2112
    "
60
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2113
    self open.
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2114
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2115
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2116
!
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2117
109
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  2118
openOnClass:aClass
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  2119
    "open up an interface builder
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  2120
    "
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  2121
    self openOnClass:aClass andSelector:#windowSpec
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  2122
!
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  2123
60
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2124
openOnClass:aClass andSelector:aSelector
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2125
    "open up an interface builder, fetching a spec from someClass
109
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  2126
     via some selector
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  2127
    "
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  2128
    |painter|
60
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2129
157
ce974dce3dd4 enhanced class & method dialog
Claus Gittinger <cg@exept.de>
parents: 156
diff changeset
  2130
    aClass isNil ifTrue:[
351
7cb9f9c9a872 more checks
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  2131
        (self confirm:'nil class given to UIPainter (class was probably renamed ?)\\Open anyway (to create a new interface) ?' withCRs)
7cb9f9c9a872 more checks
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  2132
        ifFalse:[^ nil].
157
ce974dce3dd4 enhanced class & method dialog
Claus Gittinger <cg@exept.de>
parents: 156
diff changeset
  2133
    ].
ce974dce3dd4 enhanced class & method dialog
Claus Gittinger <cg@exept.de>
parents: 156
diff changeset
  2134
109
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  2135
    self openInterface.
60
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2136
157
ce974dce3dd4 enhanced class & method dialog
Claus Gittinger <cg@exept.de>
parents: 156
diff changeset
  2137
    aClass notNil ifTrue:[
ce974dce3dd4 enhanced class & method dialog
Claus Gittinger <cg@exept.de>
parents: 156
diff changeset
  2138
        painter        := self painter.
60
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2139
177
eefd69a52f5b fixed setup of class/selector when picking/fetching via
Claus Gittinger <cg@exept.de>
parents: 176
diff changeset
  2140
        self setClass:aClass selector:aSelector.
eefd69a52f5b fixed setup of class/selector when picking/fetching via
Claus Gittinger <cg@exept.de>
parents: 176
diff changeset
  2141
"/        specClass      := aClass name.
eefd69a52f5b fixed setup of class/selector when picking/fetching via
Claus Gittinger <cg@exept.de>
parents: 176
diff changeset
  2142
"/        specSuperclass := aClass superclass name.
eefd69a52f5b fixed setup of class/selector when picking/fetching via
Claus Gittinger <cg@exept.de>
parents: 176
diff changeset
  2143
"/        specSelector   := aSelector.
eefd69a52f5b fixed setup of class/selector when picking/fetching via
Claus Gittinger <cg@exept.de>
parents: 176
diff changeset
  2144
"/
eefd69a52f5b fixed setup of class/selector when picking/fetching via
Claus Gittinger <cg@exept.de>
parents: 176
diff changeset
  2145
"/        (aspects at:#classNameChannel) value:specClass.
eefd69a52f5b fixed setup of class/selector when picking/fetching via
Claus Gittinger <cg@exept.de>
parents: 176
diff changeset
  2146
"/        (aspects at:#superclassNameChannel) value:specSuperclass.
eefd69a52f5b fixed setup of class/selector when picking/fetching via
Claus Gittinger <cg@exept.de>
parents: 176
diff changeset
  2147
"/        (aspects at:#methodNameChannel) value:specSelector asSymbol.
eefd69a52f5b fixed setup of class/selector when picking/fetching via
Claus Gittinger <cg@exept.de>
parents: 176
diff changeset
  2148
"/
eefd69a52f5b fixed setup of class/selector when picking/fetching via
Claus Gittinger <cg@exept.de>
parents: 176
diff changeset
  2149
"/        painter 
eefd69a52f5b fixed setup of class/selector when picking/fetching via
Claus Gittinger <cg@exept.de>
parents: 176
diff changeset
  2150
"/            className:aClass name 
eefd69a52f5b fixed setup of class/selector when picking/fetching via
Claus Gittinger <cg@exept.de>
parents: 176
diff changeset
  2151
"/            superclassName:aClass superclass name
eefd69a52f5b fixed setup of class/selector when picking/fetching via
Claus Gittinger <cg@exept.de>
parents: 176
diff changeset
  2152
"/            selector:aSelector.
60
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2153
195
350f95af5d9d check before sending selector to class
Claus Gittinger <cg@exept.de>
parents: 194
diff changeset
  2154
        (aClass respondsTo:aSelector) ifTrue:[
350f95af5d9d check before sending selector to class
Claus Gittinger <cg@exept.de>
parents: 194
diff changeset
  2155
            painter setupFromSpec:(aClass perform:aSelector).
350f95af5d9d check before sending selector to class
Claus Gittinger <cg@exept.de>
parents: 194
diff changeset
  2156
        ]
157
ce974dce3dd4 enhanced class & method dialog
Claus Gittinger <cg@exept.de>
parents: 156
diff changeset
  2157
    ]
ce974dce3dd4 enhanced class & method dialog
Claus Gittinger <cg@exept.de>
parents: 156
diff changeset
  2158
351
7cb9f9c9a872 more checks
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  2159
    "Modified: / 25.10.1997 / 19:11:51 / cg"
60
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2160
! !
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2161
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2162
!UIPainter methodsFor:'user interactions'!
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2163
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2164
doBrowseAppClass
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2165
    "open a browser on the class"
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2166
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2167
    |cls|
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2168
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2169
    self painter isModified ifTrue:[
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2170
        self warn:'The current interface has not yet been saved.\\The browser will show the code of the old interface.' withCRs.
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2171
    ].
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2172
    cls := self resolveName:specClass.
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2173
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2174
    cls notNil ifTrue:[
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2175
        SystemBrowser openInClass:cls
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2176
    ] ifFalse:[
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2177
        self information:'No class defined!!'.
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2178
    ].
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2179
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2180
!
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2181
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2182
doBrowseAspectMethods
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2183
    "open a browser on the aspect methods"
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2184
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2185
    |cls methods|
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2186
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2187
    self painter isModified ifTrue:[
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2188
        self warn:'The current interface has not yet been saved.\\The browser may show the code of the old aspect methods.' withCRs.
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2189
    ].
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2190
    cls := self resolveName:specClass.
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2191
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2192
    cls notNil ifTrue:[
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2193
        methods := self painter aspectMethods.
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2194
        methods isEmpty ifTrue:[
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2195
            self warn:'No aspect methods have been saved yet!!'.
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2196
            ^ self.
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2197
        ].
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2198
        SystemBrowser browseMethods:methods title:'Aspect methods'.
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2199
    ] ifFalse:[
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2200
        self information:'No class defined!!'.
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2201
    ].
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2202
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2203
    "Created: / 25.10.1997 / 19:07:55 / cg"
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2204
!
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2205
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2206
doFromClass
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2207
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2208
    self loadFromInClassesOf: #Object
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2209
!
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2210
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2211
doInstallAspects
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2212
    "install aspects and actions
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2213
    "
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2214
    |code|
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2215
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2216
    self hasSpecClassAndSelector ifFalse:[
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2217
        self defineClassAndSelector
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2218
    ].
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2219
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2220
    self checkClassAndSelector ifFalse:[
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2221
        ^ self
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2222
    ].
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2223
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2224
    self painter className:specClass
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2225
        superclassName:specSuperclass
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2226
              selector:specSelector.
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2227
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2228
    code := self painter generateAspectMethods.
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2229
    (ReadStream on:code) fileIn.
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2230
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2231
!
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2232
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2233
doInstallHooks
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2234
    "install application hooks
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2235
    "
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2236
    |code|
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2237
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2238
    self hasSpecClassAndSelector ifFalse:[
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2239
        self defineClassAndSelector
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2240
    ].
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2241
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2242
    self checkClassAndSelector ifFalse:[
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2243
        ^ self
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2244
    ].
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2245
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2246
    self painter className:specClass
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2247
        superclassName:specSuperclass
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2248
              selector:specSelector.
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2249
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2250
    code := self painter generateHookMethods.
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2251
    (ReadStream on:code) fileIn.
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2252
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2253
    "Created: / 31.10.1997 / 17:37:54 / cg"
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2254
!
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2255
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2256
doInstallSpec
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2257
    "install window specification
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2258
    "
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2259
    |code painter|
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2260
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2261
    self hasSpecClassAndSelector ifFalse:[
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2262
        self defineClassAndSelector
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2263
    ].
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2264
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2265
    self checkClassAndSelector ifFalse:[
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2266
        ^ self
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2267
    ].
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2268
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2269
    self isModified ifTrue:[
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2270
        (self confirm:'Accept change made in ' , tabSelection printString , ' section?') ifTrue:[
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2271
            self accept
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2272
        ] ifFalse:[
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2273
            (self confirm:'Load old interface?') ifFalse:[
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2274
                ^ self
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2275
            ]
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2276
        ]
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2277
    ].
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2278
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2279
    painter := self painter.
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2280
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2281
    painter className:specClass
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2282
       superclassName:specSuperclass
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2283
             selector:specSelector.
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2284
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2285
    code := painter generateWindowSpecMethodSource withCRs.
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2286
    painter resetModification.
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2287
    (ReadStream on:code) fileIn.
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2288
466
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
  2289
    self helpTool installHelpSpecInto:specClass
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2290
!
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2291
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2292
doNew
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2293
    "remove all components and associated resources
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2294
    "
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2295
    self painter isModified ifTrue:[
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2296
        (self confirm:'Edit a new interface without saving current?') ifFalse:[
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2297
            ^ self
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2298
        ]
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2299
    ].
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2300
    self painter removeAll
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2301
!
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2302
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2303
doPickAView
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2304
    "pick a view and setup specifications
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2305
    "
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2306
    |painter view cls spec app|
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2307
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2308
    self painter isModified ifTrue:[
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2309
        (self confirm:'pick another interface without saving your modifications ?') ifFalse:[
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2310
            ^ self
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2311
        ]
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2312
    ].
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2313
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2314
    (view := Screen current viewFromUser) notNil ifTrue:[
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2315
        view == Screen current rootView ifFalse:[
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2316
            painter := self painter.
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2317
            spec    := UISpecification fromView:view topView.
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2318
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2319
         "/ ok, got it
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2320
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2321
            (app := view application) notNil ifTrue:[
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2322
                cls := app class
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2323
            ] ifFalse:[
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2324
                cls := view class
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2325
            ].
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2326
            self setClass:cls selector:nil.
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2327
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2328
            painter setupFromSpec:spec.
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2329
        ]
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2330
    ]
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2331
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2332
    "Modified: / 1.11.1997 / 13:47:49 / cg"
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2333
!
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2334
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2335
doStartApplication
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2336
    "start current edited application
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2337
    "
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2338
    |cls app infoMessage|
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2339
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2340
    self isModified ifTrue:[
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2341
        (self confirm:'Accept change made in ' , tabSelection printString , ' section?') ifTrue:[
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2342
            self accept.
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2343
            "/  "XXX must be fixed - canvas changes are not recorded in the history
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2344
            "/  so isModified returns false here
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2345
            "/
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2346
            "/ self painter isModified ifTrue:[
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2347
            "/
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2348
                (self confirm:'Reinstall the new interface?' withCRs) ifTrue:[
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2349
                    self doInstallSpec
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2350
                ]
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2351
            "/ ].
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2352
        ]
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2353
    ].
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2354
    self painter isModified ifTrue:[
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2355
        (self confirm:'The current interface has not yet been reinstalled!!\\Start anyway (based upon the previous interface)?' withCRs) ifFalse:[
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2356
            ^ self
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2357
        ]
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2358
    ].
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2359
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2360
    (specClass isNil or:[specSelector size < 2]) ifTrue:[
466
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
  2361
        infoMessage := 'No class and selector defined!!'.
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2362
    ] ifFalse:[
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2363
        cls := self resolveName:specClass.
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2364
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2365
        cls isNil ifTrue:[
466
daba7254ed49 no separate help saves
tz
parents: 453
diff changeset
  2366
            infoMessage := 'Class does not exist!!'.
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2367
        ] ifFalse:[
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2368
            (cls respondsTo:specSelector) ifFalse:[
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2369
                infoMessage := ('No method for: #' 
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2370
                                , specSelector , ' in ' , cls name
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2371
                                , '\\(did you install the interface?)') withCRs.
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2372
            ]
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2373
        ]
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2374
    ].
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2375
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2376
    infoMessage notNil ifTrue:[
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2377
        ^ self information:infoMessage
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2378
    ].
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2379
    app := cls new.
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2380
    (app respondsTo:#openInterface:) ifFalse:[
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2381
        ^ self warn:('The application does not respond to the ''openInterface:'' message.\\(maybe its supposed to be used as subApplication/subCanvas)') withCRs.
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2382
    ].        
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2383
    app openInterface:specSelector
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2384
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2385
    "Modified: / 29.10.1997 / 19:01:50 / cg"
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2386
!
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2387
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2388
doWindowSpec
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2389
   "create the window specification but do not write to application; instead
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2390
    open a view
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2391
   "
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2392
   |code v|
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2393
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2394
   code := self painter generateWindowSpecMethodSource.
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2395
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2396
   v := CodeView open.
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2397
   v contents:code.
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2398
   v label:'windowSpec'.
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2399
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2400
!
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2401
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2402
loadFromClassWithSuperclass
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2403
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2404
    |box|
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2405
    box := EnterBox new.
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2406
    box title:'Name of superclass:'.
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2407
    box okText:'OK'.
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2408
    box abortText:'Cancel'.
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2409
    box initialText: 'ApplicationModel'.
482
00acfc336304 Add class name completion.
Stefan Vogel <sv@exept.de>
parents: 466
diff changeset
  2410
    box entryCompletionBlock:[:contents |
00acfc336304 Add class name completion.
Stefan Vogel <sv@exept.de>
parents: 466
diff changeset
  2411
        |s what m|
00acfc336304 Add class name completion.
Stefan Vogel <sv@exept.de>
parents: 466
diff changeset
  2412
00acfc336304 Add class name completion.
Stefan Vogel <sv@exept.de>
parents: 466
diff changeset
  2413
        s := contents withoutSpaces.
00acfc336304 Add class name completion.
Stefan Vogel <sv@exept.de>
parents: 466
diff changeset
  2414
        what := Smalltalk classnameCompletion:s.
00acfc336304 Add class name completion.
Stefan Vogel <sv@exept.de>
parents: 466
diff changeset
  2415
        box contents:what first.
00acfc336304 Add class name completion.
Stefan Vogel <sv@exept.de>
parents: 466
diff changeset
  2416
        (what at:2) size ~~ 1 ifTrue:[
00acfc336304 Add class name completion.
Stefan Vogel <sv@exept.de>
parents: 466
diff changeset
  2417
            self beep
00acfc336304 Add class name completion.
Stefan Vogel <sv@exept.de>
parents: 466
diff changeset
  2418
        ]
00acfc336304 Add class name completion.
Stefan Vogel <sv@exept.de>
parents: 466
diff changeset
  2419
    ].
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2420
    box showAtPointer.
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2421
    box accepted
482
00acfc336304 Add class name completion.
Stefan Vogel <sv@exept.de>
parents: 466
diff changeset
  2422
    ifTrue:[            
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2423
        self loadFromInClassesOf: box contents asSymbol
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2424
    ]
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2425
482
00acfc336304 Add class name completion.
Stefan Vogel <sv@exept.de>
parents: 466
diff changeset
  2426
    "Modified: / 27.1.1998 / 09:30:27 / stefan"
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2427
!
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2428
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2429
loadFromInClassesOf: aSuperclassOrSymbol
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2430
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2431
    self loadFromMessage: 
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2432
        (ResourceSelectionBrowser
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2433
            request: 'Load Interface From Class'
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2434
            onSuperclass: aSuperclassOrSymbol
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2435
            andClass: specClass
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2436
            andSelector: nil
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2437
            withResourceTypes: #(canvas))
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2438
!
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2439
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2440
loadFromMessage: aMessage
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2441
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2442
    ((aMessage size > 0) and: [self checkModified])
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2443
    ifTrue:
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2444
    [
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2445
        |readStream aClass aSelector|
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2446
        readStream := aMessage readStream.
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2447
        (aClass := Smalltalk at: (readStream upTo: $ ) asSymbol) notNil
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2448
        ifTrue:
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2449
        [
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2450
            aSelector :=  readStream upToEnd asSymbol.
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2451
            self setClass: aClass selector: aSelector.
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2452
            (aClass respondsTo:aSelector) 
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2453
            ifTrue:
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2454
            [
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2455
                self painter setupFromSpec:(aClass perform:aSelector).
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2456
            ]
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2457
        ]
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2458
    ]
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2459
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2460
! !
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2461
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2462
!UIPainter methodsFor:'user interactions - dialog'!
60
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2463
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2464
checkClassAndSelector
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2465
    "check for class & superclass"
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2466
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2467
    |superclass cls|
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2468
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2469
    specClass isNil ifTrue:[^ false].
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2470
328
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  2471
    cls := self resolveName:specClass.
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  2472
60
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2473
    cls isNil ifTrue:[
328
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  2474
        superclass := self resolveName:specSuperclass.
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  2475
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  2476
        superclass isNil ifTrue:[
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2477
            self warn:'No class named ' , specSuperclass , ' exists!!'.
60
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2478
            ^ false.
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2479
        ].
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2480
        (self confirm:'Create ' , specClass , '?') ifTrue:[
60
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2481
            superclass subclass:(specClass asSymbol)
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2482
                       instanceVariableNames:''
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2483
                       classVariableNames:''
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2484
                       poolDictionaries:''
280
1dd13e8107e2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 274
diff changeset
  2485
                       category:'Applications'.
60
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2486
            ^ true.
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2487
        ].
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2488
        ^ false.
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2489
    ].
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2490
    cls isBehavior ifFalse:[
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2491
        self warn:'A global named ' , specClass , ' exists, but is no class.'.
60
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2492
        ^ false.
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2493
    ].
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2494
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2495
    specSuperclass isBehavior ifFalse:[
179
72eec92090f6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 177
diff changeset
  2496
        specSuperclass isEmpty ifFalse:[
328
0e8a4296dec1 add DataSetBuilder
ca
parents: 321
diff changeset
  2497
            superclass := self resolveName:specSuperclass
179
72eec92090f6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 177
diff changeset
  2498
        ] ifTrue:[
72eec92090f6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 177
diff changeset
  2499
            specSuperclass := nil.
72eec92090f6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 177
diff changeset
  2500
        ]
60
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2501
    ] ifTrue:[
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2502
        superclass := specSuperclass
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2503
    ].
179
72eec92090f6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 177
diff changeset
  2504
60
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2505
    specSuperclass notNil ifTrue:[
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2506
        superclass isNil ifTrue:[
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2507
            self warn:'No class named ' , specSuperclass , ' exists!!'.
60
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2508
            ^ false.
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2509
        ].
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2510
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2511
        (cls isSubclassOf:superclass) ifFalse:[
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2512
            self information:('A global named ' , specClass , ' exists,\' ,
206
1c3fb15ffd62 checkClassAndSelector
ca
parents: 197
diff changeset
  2513
                              'but is not a subclass of ' , superclass name , '.\\' ,
1c3fb15ffd62 checkClassAndSelector
ca
parents: 197
diff changeset
  2514
                              'Check and try again if that is not what you want.') withCRs.
60
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2515
        ]
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2516
    ].
179
72eec92090f6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 177
diff changeset
  2517
72eec92090f6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 177
diff changeset
  2518
    superclass isNil ifTrue:[
72eec92090f6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 177
diff changeset
  2519
        cls notNil ifTrue:[
72eec92090f6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 177
diff changeset
  2520
            specSuperclass := cls superclass name
72eec92090f6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 177
diff changeset
  2521
        ]
72eec92090f6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 177
diff changeset
  2522
    ].
72eec92090f6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 177
diff changeset
  2523
60
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2524
    ^ true
109
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  2525
280
1dd13e8107e2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 274
diff changeset
  2526
    "Modified: 12.8.1997 / 23:39:10 / cg"
60
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2527
!
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2528
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2529
defineClassAndSelector
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2530
    "launch a dialog to define class, superclass and method"
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2531
176
a9e5b1615761 update menu
ca
parents: 174
diff changeset
  2532
    |again tmp|
60
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2533
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2534
    [
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2535
        again := false.
160
622b88baeff6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 157
diff changeset
  2536
176
a9e5b1615761 update menu
ca
parents: 174
diff changeset
  2537
        (tmp := specClass) isNil ifTrue:[tmp := 'NewApplication'].
a9e5b1615761 update menu
ca
parents: 174
diff changeset
  2538
        aspects at:#classNameChannel put:tmp asValue.
a9e5b1615761 update menu
ca
parents: 174
diff changeset
  2539
a9e5b1615761 update menu
ca
parents: 174
diff changeset
  2540
        (tmp := specSelector) isNil ifTrue:[tmp := 'windowSpec'].
a9e5b1615761 update menu
ca
parents: 174
diff changeset
  2541
        aspects at:#methodNameChannel put:tmp asValue.
a9e5b1615761 update menu
ca
parents: 174
diff changeset
  2542
a9e5b1615761 update menu
ca
parents: 174
diff changeset
  2543
        (tmp := specSuperclass) isNil ifTrue:[tmp := 'ApplicationModel'].
a9e5b1615761 update menu
ca
parents: 174
diff changeset
  2544
        aspects at:#superclassNameChannel put:tmp asValue.
160
622b88baeff6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 157
diff changeset
  2545
60
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2546
        (self openDialogInterface:#nameAndSelectorSpec) ifTrue:[
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2547
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  2548
            specClass    := (self aspectFor:#classNameChannel) value.
60
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2549
            specSelector := (self aspectFor:#methodNameChannel) value.
161
12a70f62f414 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 160
diff changeset
  2550
            specSelector notNil ifTrue:[specSelector := specSelector asSymbol].
60
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2551
            specSuperclass := (self aspectFor:#superclassNameChannel) value.
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2552
109
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  2553
            (again := self checkClassAndSelector not) ifFalse:[
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  2554
                self painter className:specClass
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  2555
                        superclassName:specSuperclass
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  2556
                              selector:specSelector.
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  2557
            ]
60
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2558
        ]
109
0b53bd128667 *** empty log message ***
ca
parents: 101
diff changeset
  2559
287
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  2560
    ] doWhile:[again].
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  2561
1ecabfd468dc HelpTool is seperated like LayoutTool
ca
parents: 282
diff changeset
  2562
    self specClass:specClass.
366
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
  2563
!
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
  2564
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
  2565
gridMenu
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
  2566
    "open a dialog for grip parameters configuration
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
  2567
    "
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
  2568
    |hspace vspace bindings painter gridPara|
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
  2569
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
  2570
    painter  := self painter.
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
  2571
    bindings := IdentityDictionary new.
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
  2572
    gridPara := painter gridParameters copy.
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
  2573
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
  2574
    bindings at:#showGrid    put:(painter gridShown asValue).
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
  2575
    bindings at:#alignToGrid put:(painter gridAlign asValue).
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
  2576
    bindings at:#hspace      put:((gridPara at:1) asValue).
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
  2577
    bindings at:#vspace      put:((gridPara at:2) asValue).
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
  2578
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
  2579
    (self openDialogInterface:#gridParametersSpec withBindings:bindings) ifFalse:[
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
  2580
        ^ self
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
  2581
    ].
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
  2582
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
  2583
    hspace := (bindings at:#hspace) value ? 5.
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
  2584
    vspace := (bindings at:#vspace) value ? 5.
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
  2585
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
  2586
    gridPara at:1 put:hspace.
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
  2587
    gridPara at:2 put:vspace.
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
  2588
    gridPara at:5 put:hspace.
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
  2589
    gridPara at:6 put:vspace.
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
  2590
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
  2591
    painter gridShown:false.
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
  2592
    painter gridAlign:false.
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
  2593
    painter gridParameters:gridPara.
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
  2594
    painter gridAlign:(bindings at:#alignToGrid) value.
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
  2595
    painter gridShown:(bindings at:#showGrid) value.
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
  2596
68b0e0a329a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 365
diff changeset
  2597
60
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2598
! !
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  2599
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2600
!UIPainter methodsFor:'user interactions - move'!
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2601
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2602
doStepDown
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  2603
    "move selected component after the next component in the hierarchy of
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  2604
     its container widget
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  2605
    "
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2606
    treeView doStepOver:1
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2607
!
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2608
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2609
doStepIn
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  2610
    "change the container of the selected widget
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  2611
    "
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2612
    treeView doStepIn
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2613
!
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2614
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2615
doStepOut
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  2616
    "change the container of the selected widget
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  2617
    "
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2618
    treeView doStepOut
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2619
!
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2620
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2621
doStepUp
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  2622
    "move selected component before the previous component in the hierarchy of
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  2623
     its container widget
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  2624
    "
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2625
    treeView doStepOver:-1
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2626
! !
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2627
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2628
!UIPainter::TreeView class methodsFor:'constants'!
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2629
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  2630
defaultNameOfCanvas
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  2631
    "returns the default name (id) of the application
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  2632
    "
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  2633
    ^ 'Canvas'
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2634
! !
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2635
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2636
!UIPainter::TreeView class methodsFor:'documentation'!
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2637
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2638
documentation
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2639
"
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2640
    selection in tree view; only used by the UIPainter
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2641
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2642
    [see also:]
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2643
        SelectionInTreeView
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2644
        SelectionInTree
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2645
        TreeItem
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2646
        UIPainter
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2647
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2648
    [author:]
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2649
        Claus Atzkern
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2650
"
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2651
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2652
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2653
! !
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2654
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2655
!UIPainter::TreeView methodsFor:'accessing'!
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2656
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2657
canvas
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2658
    "returns the canvas( UIPainter )
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2659
    "
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2660
  ^ model root contents view
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2661
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2662
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2663
!
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2664
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2665
canvas:aCanvas
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2666
    "install canvas( UIPainter )
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2667
    "
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2668
    |props|
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2669
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2670
    props := UIPainterView::ViewProperty new.
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2671
    props view:aCanvas.
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  2672
    model root:(TreeItem name:(self class defaultNameOfCanvas) contents:props).
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2673
    model root expand.
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2674
    self enableChannel:(aCanvas enableChannel).
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2675
281
aabb4037f6a3 window spec
ca
parents: 280
diff changeset
  2676
!
aabb4037f6a3 window spec
ca
parents: 280
diff changeset
  2677
aabb4037f6a3 window spec
ca
parents: 280
diff changeset
  2678
canvasSpec
aabb4037f6a3 window spec
ca
parents: 280
diff changeset
  2679
    "returns spec assigned to canvas
aabb4037f6a3 window spec
ca
parents: 280
diff changeset
  2680
    "
aabb4037f6a3 window spec
ca
parents: 280
diff changeset
  2681
    |spec|
aabb4037f6a3 window spec
ca
parents: 280
diff changeset
  2682
aabb4037f6a3 window spec
ca
parents: 280
diff changeset
  2683
    spec := WindowSpec new.
311
52f954630dca support of menu and srollers for the canvas
ca
parents: 305
diff changeset
  2684
281
aabb4037f6a3 window spec
ca
parents: 280
diff changeset
  2685
    spec fromView:(self canvas topView) callBack:nil.
aabb4037f6a3 window spec
ca
parents: 280
diff changeset
  2686
    spec name:(listOfNodes at:1) name.
311
52f954630dca support of menu and srollers for the canvas
ca
parents: 305
diff changeset
  2687
52f954630dca support of menu and srollers for the canvas
ca
parents: 305
diff changeset
  2688
    windowSpec notNil ifTrue:[
362
55154d7a4deb checkin from browser
Claus Gittinger <cg@exept.de>
parents: 358
diff changeset
  2689
        spec copyValuesFromSpec:windowSpec
311
52f954630dca support of menu and srollers for the canvas
ca
parents: 305
diff changeset
  2690
    ].
362
55154d7a4deb checkin from browser
Claus Gittinger <cg@exept.de>
parents: 358
diff changeset
  2691
    ^ spec
55154d7a4deb checkin from browser
Claus Gittinger <cg@exept.de>
parents: 358
diff changeset
  2692
55154d7a4deb checkin from browser
Claus Gittinger <cg@exept.de>
parents: 358
diff changeset
  2693
    "Modified: / 29.10.1997 / 18:06:44 / cg"
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  2694
!
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  2695
311
52f954630dca support of menu and srollers for the canvas
ca
parents: 305
diff changeset
  2696
canvasSpec:aSpec
52f954630dca support of menu and srollers for the canvas
ca
parents: 305
diff changeset
  2697
    "update canvas from spec
52f954630dca support of menu and srollers for the canvas
ca
parents: 305
diff changeset
  2698
    "
52f954630dca support of menu and srollers for the canvas
ca
parents: 305
diff changeset
  2699
    |spec|
52f954630dca support of menu and srollers for the canvas
ca
parents: 305
diff changeset
  2700
52f954630dca support of menu and srollers for the canvas
ca
parents: 305
diff changeset
  2701
    self setAttributesFromWindowSpec:aSpec.
52f954630dca support of menu and srollers for the canvas
ca
parents: 305
diff changeset
  2702
    spec := aSpec copy.
52f954630dca support of menu and srollers for the canvas
ca
parents: 305
diff changeset
  2703
    spec  menu:nil.
52f954630dca support of menu and srollers for the canvas
ca
parents: 305
diff changeset
  2704
    spec flags:nil.
52f954630dca support of menu and srollers for the canvas
ca
parents: 305
diff changeset
  2705
394
1933896da0c3 sett UIBuilder isEditing to true
ca
parents: 375
diff changeset
  2706
    spec setAttributesIn:(self canvas topView) with:(UIBuilder new isEditing:true).
311
52f954630dca support of menu and srollers for the canvas
ca
parents: 305
diff changeset
  2707
!
52f954630dca support of menu and srollers for the canvas
ca
parents: 305
diff changeset
  2708
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  2709
itemOfView:aView
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  2710
    "returns item assigned to view or nil
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  2711
    "
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  2712
    aView notNil ifTrue:[
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  2713
        self allItemsDo:[:anItem|
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  2714
            (anItem contents view == aView) ifTrue:[^ anItem]
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  2715
        ]
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  2716
    ].
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  2717
  ^ nil
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  2718
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  2719
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2720
! !
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2721
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2722
!UIPainter::TreeView methodsFor:'accessing property'!
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2723
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2724
propertiesDo:aOneArgBlock
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2725
    "evaluate the argument a block on each property
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2726
    "
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2727
    self allItemsDo:[:anItem| aOneArgBlock value:(anItem contents)]
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2728
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2729
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2730
!
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2731
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2732
propertyDetect:aOneArgBlock
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2733
    "evaluate the block on each property
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2734
    "
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2735
    self allItemsDo:[:anItem|
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2736
        (aOneArgBlock value:(anItem contents)) ifTrue:[^ anItem contents]
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2737
    ].
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2738
  ^ nil
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2739
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2740
!
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2741
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2742
propertySelected
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2743
    "returns current selected property or nil in case of multi selection
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2744
     or empty selection
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2745
    "
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2746
    |idx|
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2747
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2748
    selection size == 1 ifTrue:[
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2749
        (idx := selection first) ~~ 1 ifTrue:[          "canvas: not yet supported"
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2750
            ^ (listOfNodes at:idx) contents
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2751
        ]
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2752
    ].
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2753
  ^ nil
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2754
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2755
! !
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2756
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2757
!UIPainter::TreeView methodsFor:'adding & removing'!
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2758
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2759
addProperty:aProperty
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2760
    "add a new item
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2761
    "
295
114befd1c369 add some help text
ca
parents: 287
diff changeset
  2762
    |parent|
114befd1c369 add some help text
ca
parents: 287
diff changeset
  2763
114befd1c369 add some help text
ca
parents: 287
diff changeset
  2764
    parent := self detectItemRespondsToView:(aProperty view superView).
114befd1c369 add some help text
ca
parents: 287
diff changeset
  2765
114befd1c369 add some help text
ca
parents: 287
diff changeset
  2766
    parent notNil ifTrue:[
114befd1c369 add some help text
ca
parents: 287
diff changeset
  2767
        model add:(TreeItem name:(aProperty name) contents:aProperty) below:parent
114befd1c369 add some help text
ca
parents: 287
diff changeset
  2768
    ]
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2769
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2770
!
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2771
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2772
removeAll
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2773
    "remove all items other than canvas
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2774
    "
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2775
    lastDrawnMaster := nil.
311
52f954630dca support of menu and srollers for the canvas
ca
parents: 305
diff changeset
  2776
    windowSpec := nil.
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2777
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2778
    self canvas subViews copy do:[:aView|
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2779
        (aView isKindOf:InputView) ifFalse:[aView destroy]
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2780
    ].
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  2781
    model root name:(self class defaultNameOfCanvas).
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2782
    model root children:(OrderedCollection new).
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2783
    model recomputeList.
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2784
    self selection:nil.
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2785
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2786
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2787
!
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2788
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2789
removeView:aView
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2790
    "remove a view
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2791
    "
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  2792
    |item prnt|
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  2793
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  2794
    ((item := self itemOfView:aView) notNil and:[(prnt := item parent) notNil]) ifTrue:[
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2795
        aView destroy.
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  2796
        prnt contents view sizeChanged:nil.
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2797
        model remove:item
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2798
    ]
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2799
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2800
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2801
! !
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2802
311
52f954630dca support of menu and srollers for the canvas
ca
parents: 305
diff changeset
  2803
!UIPainter::TreeView methodsFor:'building'!
52f954630dca support of menu and srollers for the canvas
ca
parents: 305
diff changeset
  2804
52f954630dca support of menu and srollers for the canvas
ca
parents: 305
diff changeset
  2805
generateFullSpecForComponents:aSpecArray
351
7cb9f9c9a872 more checks
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  2806
    "generates a full spec for components
311
52f954630dca support of menu and srollers for the canvas
ca
parents: 305
diff changeset
  2807
    "
351
7cb9f9c9a872 more checks
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  2808
    |fullSpec winSpec|
311
52f954630dca support of menu and srollers for the canvas
ca
parents: 305
diff changeset
  2809
52f954630dca support of menu and srollers for the canvas
ca
parents: 305
diff changeset
  2810
    fullSpec := FullSpec new.
52f954630dca support of menu and srollers for the canvas
ca
parents: 305
diff changeset
  2811
52f954630dca support of menu and srollers for the canvas
ca
parents: 305
diff changeset
  2812
    fullSpec fromBuilder:(self canvas topView)
52f954630dca support of menu and srollers for the canvas
ca
parents: 305
diff changeset
  2813
              components:(SpecCollection new collection:aSpecArray).
52f954630dca support of menu and srollers for the canvas
ca
parents: 305
diff changeset
  2814
52f954630dca support of menu and srollers for the canvas
ca
parents: 305
diff changeset
  2815
    windowSpec notNil ifTrue:[
351
7cb9f9c9a872 more checks
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  2816
        winSpec := fullSpec window.
362
55154d7a4deb checkin from browser
Claus Gittinger <cg@exept.de>
parents: 358
diff changeset
  2817
        winSpec copyValuesFromSpec:windowSpec
311
52f954630dca support of menu and srollers for the canvas
ca
parents: 305
diff changeset
  2818
    ].    
52f954630dca support of menu and srollers for the canvas
ca
parents: 305
diff changeset
  2819
    ^ fullSpec literalArrayEncoding.
351
7cb9f9c9a872 more checks
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  2820
362
55154d7a4deb checkin from browser
Claus Gittinger <cg@exept.de>
parents: 358
diff changeset
  2821
    "Modified: / 29.10.1997 / 18:05:58 / cg"
311
52f954630dca support of menu and srollers for the canvas
ca
parents: 305
diff changeset
  2822
!
52f954630dca support of menu and srollers for the canvas
ca
parents: 305
diff changeset
  2823
52f954630dca support of menu and srollers for the canvas
ca
parents: 305
diff changeset
  2824
setAttributesFromWindowSpec:aWindowSpec
52f954630dca support of menu and srollers for the canvas
ca
parents: 305
diff changeset
  2825
    "set windowSpec from argument a WindowSpec
52f954630dca support of menu and srollers for the canvas
ca
parents: 305
diff changeset
  2826
    "
362
55154d7a4deb checkin from browser
Claus Gittinger <cg@exept.de>
parents: 358
diff changeset
  2827
    windowSpec := WindowSpec new copyValuesFromSpec:aWindowSpec.
311
52f954630dca support of menu and srollers for the canvas
ca
parents: 305
diff changeset
  2828
    self canvasNameChanged:aWindowSpec name.
362
55154d7a4deb checkin from browser
Claus Gittinger <cg@exept.de>
parents: 358
diff changeset
  2829
55154d7a4deb checkin from browser
Claus Gittinger <cg@exept.de>
parents: 358
diff changeset
  2830
    "Modified: / 29.10.1997 / 18:06:56 / cg"
311
52f954630dca support of menu and srollers for the canvas
ca
parents: 305
diff changeset
  2831
! !
52f954630dca support of menu and srollers for the canvas
ca
parents: 305
diff changeset
  2832
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2833
!UIPainter::TreeView methodsFor:'canvas selection'!
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2834
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2835
cvsSelection:aSelection
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2836
    "canvas changed its selection
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2837
    "
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2838
    |sel list rcLt|
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2839
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2840
    list := OrderedCollection new.
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2841
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2842
    aSelection isNil ifFalse:[
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2843
        aSelection isCollection ifTrue:[
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2844
            aSelection notNil ifTrue:[sel := aSelection]
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2845
        ] ifFalse:[
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2846
            sel := Array with:aSelection
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2847
        ]
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2848
    ].
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2849
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2850
    sel notNil ifTrue:[
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2851
        rcLt := false.
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2852
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2853
        sel do:[:aView||item|
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2854
            (item := self itemOfView:aView) notNil ifTrue:[
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2855
                list add:item.
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2856
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2857
                [(item := item parent) notNil] whileTrue:[
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2858
                    item hidden ifTrue:[
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2859
                        rcLt := true.
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2860
                        item expand.
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2861
                    ]
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2862
                ]
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2863
            ]
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2864
        ].
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2865
        rcLt ifTrue:[model recomputeList].
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2866
        sel := list collect:[:anItem| listOfNodes findFirst:[:el| el == anItem]]
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2867
    ] ifFalse:[
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2868
        sel := list
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2869
    ].
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2870
    self cvsEventsDisabledDo:[ self selection:sel ].            
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2871
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2872
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2873
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2874
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2875
!
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2876
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2877
cvsSelectionAdd:aView
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2878
    "canvas adds a view to current selection
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2879
    "
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2880
    |parent item rcLt oldSel|
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2881
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2882
    item := self itemOfView:aView.
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2883
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2884
    item notNil ifTrue:[
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2885
        parent := item.
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2886
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2887
        [ (parent := parent parent) notNil ] whileTrue:[
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2888
            parent hidden ifTrue:[
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2889
                rcLt := true.
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2890
                parent expand.
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2891
            ]
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2892
        ].
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2893
        rcLt == true ifTrue:[model recomputeList].
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2894
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2895
        oldSel := selection copy.
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2896
        self addToSelection:(listOfNodes findFirst:[:el| el == item]).
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2897
        self selectionChangedFrom:oldSel
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2898
    ].            
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2899
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2900
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2901
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2902
!
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2903
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2904
cvsSelectionRemove:aView
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2905
    "canvas removes a view from current selection
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2906
    "
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2907
    |parent item rcLt oldSel|
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2908
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2909
    item := self itemOfView:aView.
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2910
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2911
    item notNil ifTrue:[
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2912
        parent := item.
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2913
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2914
        [ (parent := parent parent) notNil ] whileTrue:[
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2915
            parent hidden ifTrue:[
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2916
                rcLt := true.
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2917
                parent expand.
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2918
            ]
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2919
        ].
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2920
        rcLt == true ifTrue:[model recomputeList].
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2921
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2922
        oldSel := selection copy.
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2923
        self removeFromSelection:(listOfNodes findFirst:[:el| el == item]).
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2924
        self selectionChangedFrom:oldSel
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2925
    ].            
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2926
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2927
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2928
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2929
! !
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2930
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2931
!UIPainter::TreeView methodsFor:'change & update'!
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2932
281
aabb4037f6a3 window spec
ca
parents: 280
diff changeset
  2933
canvasNameChanged:aName
aabb4037f6a3 window spec
ca
parents: 280
diff changeset
  2934
    "called if identification name assigned to window (canvas) changed
aabb4037f6a3 window spec
ca
parents: 280
diff changeset
  2935
    "
aabb4037f6a3 window spec
ca
parents: 280
diff changeset
  2936
    |name node|
aabb4037f6a3 window spec
ca
parents: 280
diff changeset
  2937
aabb4037f6a3 window spec
ca
parents: 280
diff changeset
  2938
    node := listOfNodes at:1.
aabb4037f6a3 window spec
ca
parents: 280
diff changeset
  2939
aabb4037f6a3 window spec
ca
parents: 280
diff changeset
  2940
    (    aName size ~~ 0
aabb4037f6a3 window spec
ca
parents: 280
diff changeset
  2941
     and:[(name := aName string withoutSeparators) size ~~ 0
aabb4037f6a3 window spec
ca
parents: 280
diff changeset
  2942
     and:[(self propertyDetect:[:p| p name = name]) isNil
aabb4037f6a3 window spec
ca
parents: 280
diff changeset
  2943
     and:[node name ~= name]]]
aabb4037f6a3 window spec
ca
parents: 280
diff changeset
  2944
    ) ifTrue:[
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2945
        node name: name.
281
aabb4037f6a3 window spec
ca
parents: 280
diff changeset
  2946
        self redrawLine:1.
aabb4037f6a3 window spec
ca
parents: 280
diff changeset
  2947
    ].
aabb4037f6a3 window spec
ca
parents: 280
diff changeset
  2948
!
aabb4037f6a3 window spec
ca
parents: 280
diff changeset
  2949
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2950
layoutChanged
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2951
    "layout of any component changed; in case of single selection, the
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2952
     application will be informed to update its layout
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2953
    "
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2954
    selection size == 1 ifTrue:[
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2955
        self application layoutChanged
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2956
    ]
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2957
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2958
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2959
!
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2960
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2961
propertyChanged:aProperty
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2962
    "property of view derived from argument a property changed
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2963
    "
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2964
    |item idx end|
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2965
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2966
    item := self itemOfView:(aProperty view).
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2967
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2968
    item notNil ifTrue:[
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2969
        item contents:aProperty.
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2970
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2971
        item name = aProperty name ifFalse:[
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2972
            idx := self firstLineShown.
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2973
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2974
            (end := self lastLineShown) > listOfNodes size ifTrue:[
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2975
                end := listOfNodes size
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2976
            ].                          
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  2977
            item name: aProperty name.
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2978
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2979
            [idx <= end] whileTrue:[
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2980
                (listOfNodes at:idx) == item ifTrue:[
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2981
                    self redrawLine:idx.                "/ is visible; redraw line
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2982
                    end := 0
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2983
                ] ifFalse:[
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2984
                    idx := idx + 1
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2985
                ]
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2986
            ]
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2987
        ].
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2988
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2989
        self selectedNode == item ifTrue:[              "/ inform application
272
99de6af43afa confirm/cancel changes before switching a section or widget
ca
parents: 271
diff changeset
  2990
            self application propertyChanged
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2991
        ]
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2992
    ].
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2993
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2994
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2995
! !
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2996
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2997
!UIPainter::TreeView methodsFor:'drag & drop'!
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2998
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  2999
canDrop:anObjectOrCollection
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3000
    "can drop ? delegate to canvas
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3001
    "
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3002
  ^ self canvas canDrop:anObjectOrCollection
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3003
!
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3004
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3005
drop:anObjectOrCollection at:aPoint
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3006
    "drop objects ? delegate to canvas
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3007
    "
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3008
    self canvas drop:anObjectOrCollection at:aPoint
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3009
! !
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3010
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3011
!UIPainter::TreeView methodsFor:'enumerating'!
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3012
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3013
allItemsDo:aOneArgBlock
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3014
    "evaluate the argument a block on each item other than the canvas
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3015
    "
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3016
    model root allChildrenDo:aOneArgBlock
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3017
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3018
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3019
! !
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3020
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3021
!UIPainter::TreeView methodsFor:'event processing'!
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3022
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3023
cvsEventsDisabledDo:aBlock
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3024
    "evaluate the block without raising selection changed notifications
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3025
     to canvas
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3026
    "
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3027
    |restoreCvsEvents|
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3028
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3029
    restoreCvsEvents  := cvsEventsDisabled.
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3030
    cvsEventsDisabled := true.
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3031
    aBlock value.
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3032
    cvsEventsDisabled := restoreCvsEvents.
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3033
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3034
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3035
!
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3036
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3037
cvsSetupListDo:aBlock
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3038
    "evaluate block without handling notifications from model; after evaluation
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3039
     the new list will be recomputed
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3040
    "
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3041
    model removeDependent:self.
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3042
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3043
    self cvsEventsDisabledDo:[
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3044
        self selection:nil.
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3045
        aBlock value
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3046
    ].
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3047
    model addDependent:self.
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3048
    model recomputeList.
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3049
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3050
!
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3051
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3052
doubleClicked
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3053
    "disable collapse of canvas item
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3054
    "
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3055
    self selectedNode == model root ifFalse:[
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3056
        super doubleClicked
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3057
    ]
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3058
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3059
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3060
! !
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3061
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3062
!UIPainter::TreeView methodsFor:'initialization'!
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3063
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  3064
destroy
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  3065
    "destroy images"
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  3066
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  3067
    super destroy.
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  3068
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  3069
    Images removeAll
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  3070
!
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  3071
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3072
initialize
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3073
    "initialization; set multiple select and model
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3074
    "
440
1198f19712ff spec items have got individual icons
tz
parents: 437
diff changeset
  3075
    Images := Images ? IdentityDictionary new.
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3076
    super initialize.
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3077
    self multipleSelectOk:true.
368
9e588f397bc9 support of lineFeed character \ in the help text
ca
parents: 366
diff changeset
  3078
    cvsEventsDisabled := false.
440
1198f19712ff spec items have got individual icons
tz
parents: 437
diff changeset
  3079
    self showDirectoryIndicator: true.
1198f19712ff spec items have got individual icons
tz
parents: 437
diff changeset
  3080
    self showDirectoryIndicatorForRoot: false
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3081
! !
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3082
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3083
!UIPainter::TreeView methodsFor:'private'!
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3084
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3085
figureFor:aNode
440
1198f19712ff spec items have got individual icons
tz
parents: 437
diff changeset
  3086
    "returns image for an spec item"
1198f19712ff spec items have got individual icons
tz
parents: 437
diff changeset
  3087
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  3088
    |cls image|
440
1198f19712ff spec items have got individual icons
tz
parents: 437
diff changeset
  3089
1198f19712ff spec items have got individual icons
tz
parents: 437
diff changeset
  3090
    cls := aNode contents spec class.
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  3091
    aNode contents spec isNil ifTrue: [cls := WindowSpec].
440
1198f19712ff spec items have got individual icons
tz
parents: 437
diff changeset
  3092
    cls := cls withAllSuperclasses detect: [:cls| cls class implements: #icon] ifNone: [^nil].
446
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  3093
    image := Images at: cls name ifAbsent: [Images at: cls name put: cls icon].
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  3094
    image device ~~ device ifTrue: [image := image onDevice: device].
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  3095
    image extent y > 16 ifTrue: [image := image magnifiedBy: 16/image extent y].
b513a621a7a4 new toolbar + other features added
tz
parents: 440
diff changeset
  3096
    ^image
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3097
!
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3098
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3099
selectionChangedFrom:oldSelection
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3100
    "selection has changed. update master selection and raise notification
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3101
     to canvas in case of enabled cvs events
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3102
    "
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3103
    |sel size|
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3104
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3105
    super selectionChangedFrom:oldSelection.
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3106
    size := selection size.
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3107
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3108
    cvsEventsDisabled ifFalse:[
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3109
        (size ~~ 0 and:[size ~~ 1 or:[selection first ~~ 1]]) ifTrue:[
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3110
            sel := OrderedCollection new.
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3111
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3112
            selection do:[:i|
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3113
                i ~~ 1 ifTrue:[sel add:(listOfNodes at:i) contents view]
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3114
            ]
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3115
        ].
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3116
        self canvas updateSelectionFromModel:sel
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3117
    ].
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3118
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3119
    size ~~ 0 ifTrue:[
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3120
        sel := selection first.
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3121
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3122
        (listOfNodes at:sel) == lastDrawnMaster ifFalse:[
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3123
            self redrawLine:sel
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3124
        ]
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3125
    ]
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3126
! !
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3127
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3128
!UIPainter::TreeView methodsFor:'queries'!
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3129
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3130
canMoveOrAlignSelection
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3131
    "returns true if any selection exists and all widgets in the selection
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3132
     can change their layout through to a move or align operation.
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3133
    "
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3134
    |canvas|
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3135
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3136
    selection size == 0 ifTrue:[
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3137
        ^ false
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3138
    ].
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3139
    canvas := self canvas.
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3140
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3141
    selection do:[:i|
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3142
        i == 1 ifTrue:[^ false].
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3143
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3144
        (canvas canChangeLayoutOfView:((listOfNodes at:i) contents view)) ifFalse:[
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3145
            ^ false
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3146
        ]
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3147
    ].
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3148
    ^ true
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3149
!
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3150
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3151
canMoveSelectionIntoContainer
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3152
    "returns true in case that one component is selected and can change its container
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3153
     widget to the next element in the list which will have the same container.
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3154
    "
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3155
    |item prnt|
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3156
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3157
    (     (item := self selectedNode) isNil
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3158
      or:[(prnt := item parent) isNil
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3159
      or:[(prnt := prnt childAt:((prnt indexOfChild:item) + 1)) isNil
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3160
      or:[prnt contents spec class supportsSubComponents not]]]
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3161
    ) ifTrue:[
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3162
        ^ false
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3163
    ].
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3164
  ^ true
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3165
!
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3166
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3167
canMoveSelectionOutOfContainer
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3168
    "returns true in case that one component is selected which is contained within
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3169
     another component.
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3170
    "
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3171
    |item prnt|
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3172
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3173
    (     (item := self selectedNode) isNil
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3174
      or:[(prnt := item parent) isNil
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3175
      or:[prnt parent isNil]]
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3176
    ) ifTrue:[
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3177
        ^ false
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3178
    ].
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3179
  ^ true
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3180
!
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3181
301
131f874fc2a2 support of hierarchical list editor
ca
parents: 297
diff changeset
  3182
canResizeSelectedWidget
131f874fc2a2 support of hierarchical list editor
ca
parents: 297
diff changeset
  3183
    "returns true in case of one widget selected and is contained
131f874fc2a2 support of hierarchical list editor
ca
parents: 297
diff changeset
  3184
     within a widget which allows to resize sub components
131f874fc2a2 support of hierarchical list editor
ca
parents: 297
diff changeset
  3185
    "
131f874fc2a2 support of hierarchical list editor
ca
parents: 297
diff changeset
  3186
    |n|
131f874fc2a2 support of hierarchical list editor
ca
parents: 297
diff changeset
  3187
131f874fc2a2 support of hierarchical list editor
ca
parents: 297
diff changeset
  3188
    (n := self selectedNode) notNil ifTrue:[
131f874fc2a2 support of hierarchical list editor
ca
parents: 297
diff changeset
  3189
        (n := n parent) notNil ifTrue:[
131f874fc2a2 support of hierarchical list editor
ca
parents: 297
diff changeset
  3190
            ^ (n parent isNil or:[n contents spec class canResizeSubComponents])
131f874fc2a2 support of hierarchical list editor
ca
parents: 297
diff changeset
  3191
        ]
131f874fc2a2 support of hierarchical list editor
ca
parents: 297
diff changeset
  3192
    ].
131f874fc2a2 support of hierarchical list editor
ca
parents: 297
diff changeset
  3193
    ^ false
131f874fc2a2 support of hierarchical list editor
ca
parents: 297
diff changeset
  3194
!
131f874fc2a2 support of hierarchical list editor
ca
parents: 297
diff changeset
  3195
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3196
hasOneSelectionOtherThanCanvas
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3197
    "returns true in case that one selection exists other than the canvas
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3198
    "
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3199
    ^ (selection size == 1 and:[selection first ~~ 1])
281
aabb4037f6a3 window spec
ca
parents: 280
diff changeset
  3200
!
aabb4037f6a3 window spec
ca
parents: 280
diff changeset
  3201
aabb4037f6a3 window spec
ca
parents: 280
diff changeset
  3202
isCanvasSelected
aabb4037f6a3 window spec
ca
parents: 280
diff changeset
  3203
    "returns true in case of a single selection and the
aabb4037f6a3 window spec
ca
parents: 280
diff changeset
  3204
     selection is the canvas (index 1)
aabb4037f6a3 window spec
ca
parents: 280
diff changeset
  3205
    "
aabb4037f6a3 window spec
ca
parents: 280
diff changeset
  3206
    ^ (selection size == 1 and:[self isInSelection:1])
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3207
! !
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3208
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3209
!UIPainter::TreeView methodsFor:'seraching'!
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3210
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3211
detectItemRespondsToView:aView
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3212
    "detect the item responding to the view. The item of the view or the first
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3213
     subview providing the item is returned. If no property is detected nil is
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3214
     returned
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3215
    "
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3216
    |view item|
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3217
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3218
    (view := aView) notNil ifTrue:[
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3219
        [(item := self itemOfView:view) isNil] whileTrue:[
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3220
            (view := view superView) isNil ifTrue:[^ listOfNodes at:1]
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3221
        ].
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3222
    ].
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3223
    ^ item
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3224
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3225
! !
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3226
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3227
!UIPainter::TreeView methodsFor:'user interactions'!
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3228
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3229
doStepIn
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3230
    |item prnt canvas|
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3231
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3232
    (     (item := self selectedNode) isNil
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3233
      or:[(prnt := item parent) isNil
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3234
      or:[(prnt := prnt childAt:((prnt indexOfChild:item) + 1)) isNil
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3235
      or:[prnt contents spec class supportsSubComponents not]]]
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3236
    ) ifFalse:[
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3237
        canvas := self canvas.
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3238
        canvas deleteSelection.
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3239
        canvas setSelection:(prnt contents view) withRedraw:false.
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3240
        canvas pasteWithLayout.
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3241
    ]
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3242
!
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3243
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3244
doStepOut
250
d2d028799b01 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 248
diff changeset
  3245
    |item next prnt canvas|
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3246
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3247
    (     (item := self selectedNode) isNil
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3248
      or:[(prnt := item parent) isNil
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3249
      or:[(next := prnt parent) isNil]]
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3250
    ) ifTrue:[
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3251
        ^ self
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3252
    ].
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3253
    model removeDependent:self.
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3254
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3255
    canvas := self canvas.
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3256
    canvas deleteSelection.
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3257
    canvas setSelection:(next contents view) withRedraw:false.
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3258
    canvas pasteWithLayout.
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3259
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3260
!
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3261
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3262
doStepOver:anIndex
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3263
    "move child 'anOffset' forward or backward in list of children
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3264
    "
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3265
    |item idx size prnt spVw view canvas|
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3266
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3267
    (    (item := self selectedNode) isNil
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3268
     or:[(prnt := item parent) isNil
282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3269
     or:[(size := prnt children size) < 2
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3270
     or:[(idx  := prnt indexOfChild:item) == 0]]]
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3271
    ) ifTrue:[
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3272
        ^ self
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3273
    ].
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3274
    model removeDependent:self.
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3275
    model removeSelection.
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3276
    selection := nil.
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3277
    model addDependent:self.
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3278
    idx := idx + anIndex.
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3279
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3280
    idx < 1 ifTrue:[idx := size]
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3281
           ifFalse:[idx > size ifTrue:[idx := 1]].
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3282
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3283
    model add:item beforeIndex:idx below:prnt.
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3284
    idx    := prnt indexOfChild:item.
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3285
    view   := item contents view.
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3286
    spVw   := prnt contents view.
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3287
    canvas := self canvas.
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3288
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3289
    canvas hideSelection.
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3290
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3291
 "/ input view might by contained in sequence
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3292
    ((size := canvas findInputViewIn:spVw) ~~ 0 and:[idx >= size]) ifTrue:[
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3293
        idx := idx + 1
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3294
    ].
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3295
    spVw changeSequenceOrderFor:view to:idx.
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3296
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3297
    spVw specClass isLayoutContainer ifFalse:[
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3298
        spVw subViews do:[:v| v raise ].
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3299
        canvas inputView raise
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3300
    ].
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3301
    canvas showSelection.
bb88d92ae887 checkin from browser
ca
parents: 281
diff changeset
  3302
    self selectNode:item.
222
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3303
! !
dd2688307d90 added treeView; change specs
ca
parents: 217
diff changeset
  3304
60
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  3305
!UIPainter class methodsFor:'documentation'!
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  3306
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  3307
version
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  3308
    ^ '$Header$'
7542ab7fbbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
  3309
! !