WindowBuilder.st
author ca
Fri, 14 Feb 1997 01:01:41 +0100
changeset 422 ccffe7647895
parent 420 ca86c6276ecb
child 423 64c2d739caf1
permissions -rw-r--r--
changed binding access
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
89
claus
parents: 86
diff changeset
     1
"
claus
parents: 86
diff changeset
     2
 COPYRIGHT (c) 1995 by Claus Gittinger
99
claus
parents: 89
diff changeset
     3
	      All Rights Reserved
89
claus
parents: 86
diff changeset
     4
claus
parents: 86
diff changeset
     5
 This software is furnished under a license and may be used
claus
parents: 86
diff changeset
     6
 only in accordance with the terms of that license and with the
claus
parents: 86
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
claus
parents: 86
diff changeset
     8
 be provided or otherwise made available to, or used by, any
claus
parents: 86
diff changeset
     9
 other person.  No title to or ownership of the software is
claus
parents: 86
diff changeset
    10
 hereby transferred.
claus
parents: 86
diff changeset
    11
"
claus
parents: 86
diff changeset
    12
100
claus
parents: 99
diff changeset
    13
Object subclass:#WindowBuilder
410
2d21748e0d9c checkin from browser
ca
parents: 408
diff changeset
    14
	instanceVariableNames:'window application bindings focusSequence namedComponents
422
ccffe7647895 changed binding access
ca
parents: 420
diff changeset
    15
		componentCreationHook applicationClass'
223
b65dc250db8d documentation
Claus Gittinger <cg@exept.de>
parents: 176
diff changeset
    16
	classVariableNames:''
b65dc250db8d documentation
Claus Gittinger <cg@exept.de>
parents: 176
diff changeset
    17
	poolDictionaries:''
b65dc250db8d documentation
Claus Gittinger <cg@exept.de>
parents: 176
diff changeset
    18
	category:'Interface-Support-UI'
66
claus
parents:
diff changeset
    19
!
claus
parents:
diff changeset
    20
claus
parents:
diff changeset
    21
!WindowBuilder class methodsFor:'documentation'!
claus
parents:
diff changeset
    22
89
claus
parents: 86
diff changeset
    23
copyright
claus
parents: 86
diff changeset
    24
"
claus
parents: 86
diff changeset
    25
 COPYRIGHT (c) 1995 by Claus Gittinger
99
claus
parents: 89
diff changeset
    26
	      All Rights Reserved
89
claus
parents: 86
diff changeset
    27
claus
parents: 86
diff changeset
    28
 This software is furnished under a license and may be used
claus
parents: 86
diff changeset
    29
 only in accordance with the terms of that license and with the
claus
parents: 86
diff changeset
    30
 inclusion of the above copyright notice.   This software may not
claus
parents: 86
diff changeset
    31
 be provided or otherwise made available to, or used by, any
claus
parents: 86
diff changeset
    32
 other person.  No title to or ownership of the software is
claus
parents: 86
diff changeset
    33
 hereby transferred.
claus
parents: 86
diff changeset
    34
"
claus
parents: 86
diff changeset
    35
!
claus
parents: 86
diff changeset
    36
66
claus
parents:
diff changeset
    37
documentation
claus
parents:
diff changeset
    38
"
69
claus
parents: 66
diff changeset
    39
    a no-op class, for systems which do not use the UIBuilder.
66
claus
parents:
diff changeset
    40
    Concrete subclasses know how to create a view (with components) from
claus
parents:
diff changeset
    41
    some interface spec. Currently, an experimantal version of UIBuilder exists,
claus
parents:
diff changeset
    42
    and more may be added in the future (for example, to parse different UI
claus
parents:
diff changeset
    43
    specs - thinking of motifs UIL specs etc).
223
b65dc250db8d documentation
Claus Gittinger <cg@exept.de>
parents: 176
diff changeset
    44
b65dc250db8d documentation
Claus Gittinger <cg@exept.de>
parents: 176
diff changeset
    45
    [author:]
b65dc250db8d documentation
Claus Gittinger <cg@exept.de>
parents: 176
diff changeset
    46
        Claus Gittinger
66
claus
parents:
diff changeset
    47
"
claus
parents:
diff changeset
    48
! !
claus
parents:
diff changeset
    49
claus
parents:
diff changeset
    50
!WindowBuilder methodsFor:'accessing'!
claus
parents:
diff changeset
    51
100
claus
parents: 99
diff changeset
    52
application
372
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
    53
    "return the application (an ApplicationModel),
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
    54
     for which the view is built.
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
    55
     This one is supposed to provide the aspects, menus etc."
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
    56
100
claus
parents: 99
diff changeset
    57
    ^ application
372
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
    58
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
    59
    "Modified: 17.1.1997 / 19:04:40 / cg"
66
claus
parents:
diff changeset
    60
!
claus
parents:
diff changeset
    61
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    62
application:anApplicationModel
372
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
    63
    "set the application (an ApplicationModel),
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
    64
     for which the view is built.
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
    65
     This one is supposed to provide the aspects, menus etc."
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
    66
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    67
    application := anApplicationModel
372
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
    68
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
    69
    "Modified: 17.1.1997 / 19:04:47 / cg"
66
claus
parents:
diff changeset
    70
!
claus
parents:
diff changeset
    71
422
ccffe7647895 changed binding access
ca
parents: 420
diff changeset
    72
applicationClass:something
ccffe7647895 changed binding access
ca
parents: 420
diff changeset
    73
    "set the value of the instance variable 'applicationClass' (automatically generated)"
ccffe7647895 changed binding access
ca
parents: 420
diff changeset
    74
ccffe7647895 changed binding access
ca
parents: 420
diff changeset
    75
    applicationClass := something.!
ccffe7647895 changed binding access
ca
parents: 420
diff changeset
    76
66
claus
parents:
diff changeset
    77
aspectAt:aSymbol
372
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
    78
    bindings isNil ifTrue:[^ nil].
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
    79
    ^ bindings at:aSymbol ifAbsent:nil
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
    80
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
    81
    "Modified: 17.1.1997 / 19:28:32 / cg"
66
claus
parents:
diff changeset
    82
!
claus
parents:
diff changeset
    83
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    84
aspectAt:aSymbol put:aModel
372
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
    85
    bindings isNil ifTrue:[
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
    86
        bindings := IdentityDictionary new
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    87
    ].
372
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
    88
    ^ bindings at:aSymbol put:aModel
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
    89
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
    90
    "Modified: 17.1.1997 / 19:28:37 / cg"
100
claus
parents: 99
diff changeset
    91
!
claus
parents: 99
diff changeset
    92
claus
parents: 99
diff changeset
    93
bindings
claus
parents: 99
diff changeset
    94
    ^ bindings
claus
parents: 99
diff changeset
    95
!
claus
parents: 99
diff changeset
    96
claus
parents: 99
diff changeset
    97
bindings:aDictionary
claus
parents: 99
diff changeset
    98
    bindings := aDictionary
claus
parents: 99
diff changeset
    99
!
claus
parents: 99
diff changeset
   100
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   101
componentAt:name
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   102
    bindings isNil ifTrue:[^ nil].
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   103
    ^ bindings at:name ifAbsent:nil
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   104
!
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   105
100
claus
parents: 99
diff changeset
   106
componentAt:name put:aComponent
claus
parents: 99
diff changeset
   107
    bindings isNil ifTrue:[
claus
parents: 99
diff changeset
   108
	bindings := IdentityDictionary new.
claus
parents: 99
diff changeset
   109
    ].
claus
parents: 99
diff changeset
   110
    bindings at:name put:aComponent
claus
parents: 99
diff changeset
   111
!
claus
parents: 99
diff changeset
   112
410
2d21748e0d9c checkin from browser
ca
parents: 408
diff changeset
   113
componentCreationHook:something
2d21748e0d9c checkin from browser
ca
parents: 408
diff changeset
   114
    "set the value of the instance variable 'componentCreationHook' (automatically generated)"
2d21748e0d9c checkin from browser
ca
parents: 408
diff changeset
   115
2d21748e0d9c checkin from browser
ca
parents: 408
diff changeset
   116
    componentCreationHook := something.!
2d21748e0d9c checkin from browser
ca
parents: 408
diff changeset
   117
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   118
focusSequence 
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   119
    ^ focusSequence
66
claus
parents:
diff changeset
   120
!
claus
parents:
diff changeset
   121
86
claus
parents: 80
diff changeset
   122
namedComponents
claus
parents: 80
diff changeset
   123
    ^ bindings
claus
parents: 80
diff changeset
   124
!
claus
parents: 80
diff changeset
   125
372
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   126
source
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   127
    "same as #application, for ST-80 compatibility"
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   128
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   129
    ^ application
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   130
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   131
    "Created: 17.1.1997 / 19:03:51 / cg"
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   132
!
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   133
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   134
source:anApplicationModel
372
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   135
    "same as #application:, for ST-80 compatibility"
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   136
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   137
    application := anApplicationModel
372
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   138
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   139
    "Modified: 17.1.1997 / 19:03:57 / cg"
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   140
!
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   141
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   142
window
372
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   143
    "return the top window (view), for which an interface
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   144
     is (being) built"
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   145
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   146
    ^ window
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   147
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   148
    "Modified: 17.1.1997 / 19:30:00 / cg"
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   149
!
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   150
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   151
window:aView
372
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   152
    "set the top window (view), for which an interface
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   153
     is (being) built"
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   154
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   155
    window := aView
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   156
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   157
    "Modified: 17.1.1997 / 19:30:22 / cg"
66
claus
parents:
diff changeset
   158
!
claus
parents:
diff changeset
   159
claus
parents:
diff changeset
   160
windowGroup
372
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   161
self halt.
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   162
    ^ window windowGroup
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   163
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   164
    "Modified: 17.1.1997 / 19:30:26 / cg"
66
claus
parents:
diff changeset
   165
! !
claus
parents:
diff changeset
   166
372
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   167
!WindowBuilder methodsFor:'building'!
66
claus
parents:
diff changeset
   168
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   169
buildFromSpec:aSpec
176
3890e2b312e0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 132
diff changeset
   170
    ^ self subclassResponsibility
408
93582137e1c7 tabable
ca
parents: 374
diff changeset
   171
!
93582137e1c7 tabable
ca
parents: 374
diff changeset
   172
93582137e1c7 tabable
ca
parents: 374
diff changeset
   173
makeTabable:aComponent
93582137e1c7 tabable
ca
parents: 374
diff changeset
   174
    focusSequence isNil ifTrue:[
93582137e1c7 tabable
ca
parents: 374
diff changeset
   175
        focusSequence := OrderedCollection new.
93582137e1c7 tabable
ca
parents: 374
diff changeset
   176
    ].
93582137e1c7 tabable
ca
parents: 374
diff changeset
   177
    focusSequence add:aComponent
66
claus
parents:
diff changeset
   178
! !
100
claus
parents: 99
diff changeset
   179
422
ccffe7647895 changed binding access
ca
parents: 420
diff changeset
   180
!WindowBuilder methodsFor:'spec creation aspect fetch'!
100
claus
parents: 99
diff changeset
   181
374
5be095a54715 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 372
diff changeset
   182
actionFor:aKey
5be095a54715 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 372
diff changeset
   183
    application notNil ifTrue:[
5be095a54715 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 372
diff changeset
   184
        ^ application actionFor:aKey
5be095a54715 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 372
diff changeset
   185
    ].
422
ccffe7647895 changed binding access
ca
parents: 420
diff changeset
   186
    applicationClass notNil ifTrue:[
ccffe7647895 changed binding access
ca
parents: 420
diff changeset
   187
        ^ applicationClass actionFor:aKey
ccffe7647895 changed binding access
ca
parents: 420
diff changeset
   188
    ].
ccffe7647895 changed binding access
ca
parents: 420
diff changeset
   189
    ^ []
374
5be095a54715 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 372
diff changeset
   190
5be095a54715 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 372
diff changeset
   191
    "Created: 17.1.1997 / 21:08:22 / cg"
5be095a54715 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 372
diff changeset
   192
!
5be095a54715 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 372
diff changeset
   193
5be095a54715 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 372
diff changeset
   194
aspectFor:aKey
5be095a54715 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 372
diff changeset
   195
    application notNil ifTrue:[
5be095a54715 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 372
diff changeset
   196
        ^ application aspectFor:aKey
5be095a54715 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 372
diff changeset
   197
    ].
422
ccffe7647895 changed binding access
ca
parents: 420
diff changeset
   198
    applicationClass notNil ifTrue:[
ccffe7647895 changed binding access
ca
parents: 420
diff changeset
   199
        ^ applicationClass aspectFor:aKey
ccffe7647895 changed binding access
ca
parents: 420
diff changeset
   200
    ].
374
5be095a54715 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 372
diff changeset
   201
    ^ self aspectAt:aKey
5be095a54715 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 372
diff changeset
   202
5be095a54715 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 372
diff changeset
   203
    "Created: 17.1.1997 / 21:06:16 / cg"
5be095a54715 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 372
diff changeset
   204
!
5be095a54715 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 372
diff changeset
   205
422
ccffe7647895 changed binding access
ca
parents: 420
diff changeset
   206
labelFor:aKey
ccffe7647895 changed binding access
ca
parents: 420
diff changeset
   207
    |cls|
ccffe7647895 changed binding access
ca
parents: 420
diff changeset
   208
ccffe7647895 changed binding access
ca
parents: 420
diff changeset
   209
    application notNil ifTrue:[
ccffe7647895 changed binding access
ca
parents: 420
diff changeset
   210
        ^ application labelFor:aKey
ccffe7647895 changed binding access
ca
parents: 420
diff changeset
   211
    ].
ccffe7647895 changed binding access
ca
parents: 420
diff changeset
   212
    applicationClass notNil ifTrue:[
ccffe7647895 changed binding access
ca
parents: 420
diff changeset
   213
        ^ applicationClass labelFor:aKey
ccffe7647895 changed binding access
ca
parents: 420
diff changeset
   214
    ].
ccffe7647895 changed binding access
ca
parents: 420
diff changeset
   215
    ^ self aspectAt:aKey
ccffe7647895 changed binding access
ca
parents: 420
diff changeset
   216
ccffe7647895 changed binding access
ca
parents: 420
diff changeset
   217
!
ccffe7647895 changed binding access
ca
parents: 420
diff changeset
   218
ccffe7647895 changed binding access
ca
parents: 420
diff changeset
   219
listFor:aKey
ccffe7647895 changed binding access
ca
parents: 420
diff changeset
   220
    application notNil ifTrue:[
ccffe7647895 changed binding access
ca
parents: 420
diff changeset
   221
        ^ application listFor:aKey
ccffe7647895 changed binding access
ca
parents: 420
diff changeset
   222
    ].
ccffe7647895 changed binding access
ca
parents: 420
diff changeset
   223
    applicationClass notNil ifTrue:[
ccffe7647895 changed binding access
ca
parents: 420
diff changeset
   224
        ^ applicationClass listFor:aKey
ccffe7647895 changed binding access
ca
parents: 420
diff changeset
   225
    ].
ccffe7647895 changed binding access
ca
parents: 420
diff changeset
   226
    ^ self aspectAt:aKey
ccffe7647895 changed binding access
ca
parents: 420
diff changeset
   227
ccffe7647895 changed binding access
ca
parents: 420
diff changeset
   228
    "Created: 17.1.1997 / 21:08:45 / cg"
ccffe7647895 changed binding access
ca
parents: 420
diff changeset
   229
! !
ccffe7647895 changed binding access
ca
parents: 420
diff changeset
   230
ccffe7647895 changed binding access
ca
parents: 420
diff changeset
   231
!WindowBuilder methodsFor:'spec creation callbacks'!
ccffe7647895 changed binding access
ca
parents: 420
diff changeset
   232
100
claus
parents: 99
diff changeset
   233
createdComponent:aView forSpec:spec
410
2d21748e0d9c checkin from browser
ca
parents: 408
diff changeset
   234
    componentCreationHook notNil ifTrue:[
2d21748e0d9c checkin from browser
ca
parents: 408
diff changeset
   235
        componentCreationHook value:aView value:spec value:self
2d21748e0d9c checkin from browser
ca
parents: 408
diff changeset
   236
    ]
100
claus
parents: 99
diff changeset
   237
claus
parents: 99
diff changeset
   238
    "Modified: 5.9.1995 / 21:42:54 / claus"
claus
parents: 99
diff changeset
   239
! !
claus
parents: 99
diff changeset
   240
372
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   241
!WindowBuilder methodsFor:'startup'!
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   242
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   243
closeRequest
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   244
    window destroy
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   245
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   246
    "Modified: 17.1.1997 / 19:30:32 / cg"
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   247
!
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   248
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   249
open
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   250
    "open my topView, as previously created"
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   251
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   252
    self 
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   253
        openWithExtent:nil
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   254
        andType:(application defaultWindowType)
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   255
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   256
    "Modified: 17.1.1997 / 19:59:22 / cg"
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   257
!
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   258
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   259
openDialog
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   260
    "open my topView, as previously created as a modal view,
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   261
     blocking interaction to the currently active view."
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   262
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   263
    self 
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   264
        openWithExtent:nil 
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   265
        andType:#dialog
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   266
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   267
    "Modified: 17.1.1997 / 19:59:29 / cg"
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   268
!
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   269
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   270
openDialogWithExtent:ext
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   271
    "open my topView, as previously created as a modal view,
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   272
     blocking interaction to the currently active view."
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   273
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   274
    self 
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   275
        openWithExtent:ext 
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   276
        andType:#dialog
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   277
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   278
    "Modified: 17.1.1997 / 19:59:36 / cg"
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   279
!
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   280
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   281
openPopUpIn:aRectangle
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   282
    "open my topView, as previously created as a popUp view,
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   283
     blocking interaction to the currently active view."
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   284
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   285
    self 
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   286
        openWithExtent:nil 
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   287
        andType:#popUp
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   288
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   289
    "Modified: 17.1.1997 / 19:59:29 / cg"
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   290
    "Created: 17.1.1997 / 20:01:24 / cg"
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   291
!
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   292
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   293
openWithExtent:aPoint
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   294
    "open my topView, as previously created, but override
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   295
     the extent."
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   296
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   297
    self 
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   298
        openWithExtent:aPoint 
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   299
        andType:(application defaultWindowType)
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   300
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   301
    "Modified: 17.1.1997 / 19:58:48 / cg"
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   302
!
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   303
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   304
openWithExtent:ext andType:type
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   305
    "open my window, as previously created. The type argument
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   306
     may be #dialog or #normal, and specifies if the view should
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   307
     be opened as a modal view, blocking interaction to the currently 
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   308
     active view, or as a normal view."
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   309
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   310
    ext notNil ifTrue:[
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   311
        window extent:ext
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   312
    ].
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   313
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   314
    type == #dialog ifTrue:[
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   315
        window openModal.
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   316
        ^ self
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   317
    ].
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   318
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   319
    type == #normal ifTrue:[
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   320
        window open.
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   321
        ^ self
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   322
    ].
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   323
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   324
    type == #popUp ifTrue:[
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   325
"/        window openAsPopUp.  "/ not yet implemented
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   326
        window openModal.
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   327
        ^ self
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   328
    ].
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   329
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   330
    "
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   331
     if ST-80 supports more types - these may be added later
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   332
    "
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   333
    self halt:'unimplemented'
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   334
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   335
    "Modified: 17.1.1997 / 20:02:01 / cg"
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   336
! !
6d7718f3d298 more ST-80 compatibility stuff
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   337
132
0a8fe342ed91 version method at the end
Claus Gittinger <cg@exept.de>
parents: 125
diff changeset
   338
!WindowBuilder class methodsFor:'documentation'!
0a8fe342ed91 version method at the end
Claus Gittinger <cg@exept.de>
parents: 125
diff changeset
   339
0a8fe342ed91 version method at the end
Claus Gittinger <cg@exept.de>
parents: 125
diff changeset
   340
version
422
ccffe7647895 changed binding access
ca
parents: 420
diff changeset
   341
    ^ '$Header: /cvs/stx/stx/libview2/WindowBuilder.st,v 1.19 1997-02-14 00:01:41 ca Exp $'
132
0a8fe342ed91 version method at the end
Claus Gittinger <cg@exept.de>
parents: 125
diff changeset
   342
! !