UIBuilder.st
author Claus Gittinger <cg@exept.de>
Thu, 16 Jan 1997 11:11:49 +0100
changeset 367 7316abe03075
parent 363 c7a26a5ebaba
child 372 6d7718f3d298
permissions -rw-r--r--
made obsolete stuff ignored
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
88
claus
parents: 86
diff changeset
     1
"
claus
parents: 86
diff changeset
     2
 COPYRIGHT (c) 1995 by Claus Gittinger
100
claus
parents: 96
diff changeset
     3
	      All Rights Reserved
88
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: 96
diff changeset
    13
WindowBuilder subclass:#UIBuilder
223
b65dc250db8d documentation
Claus Gittinger <cg@exept.de>
parents: 139
diff changeset
    14
	instanceVariableNames:'view currentMenuSelector menuAspect spec'
b65dc250db8d documentation
Claus Gittinger <cg@exept.de>
parents: 139
diff changeset
    15
	classVariableNames:'Verbose'
b65dc250db8d documentation
Claus Gittinger <cg@exept.de>
parents: 139
diff changeset
    16
	poolDictionaries:''
b65dc250db8d documentation
Claus Gittinger <cg@exept.de>
parents: 139
diff changeset
    17
	category:'Interface-Support-UI'
66
claus
parents:
diff changeset
    18
!
claus
parents:
diff changeset
    19
claus
parents:
diff changeset
    20
!UIBuilder class methodsFor:'documentation'!
claus
parents:
diff changeset
    21
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    22
copyright
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    23
"
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    24
 COPYRIGHT (c) 1995 by Claus Gittinger
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    25
	      All Rights Reserved
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    26
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    27
 This software is furnished under a license and may be used
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    28
 only in accordance with the terms of that license and with the
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    29
 inclusion of the above copyright notice.   This software may not
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    30
 be provided or otherwise made available to, or used by, any
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    31
 other person.  No title to or ownership of the software is
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    32
 hereby transferred.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    33
"
88
claus
parents: 86
diff changeset
    34
!
claus
parents: 86
diff changeset
    35
66
claus
parents:
diff changeset
    36
documentation
claus
parents:
diff changeset
    37
"
claus
parents:
diff changeset
    38
    this class will (eventually) allow parsing windowSpecs as
claus
parents:
diff changeset
    39
    created by ST-80's UIPainter, and thereby allow to run applications
claus
parents:
diff changeset
    40
    built with this tool.
claus
parents:
diff changeset
    41
    It was created to allow execution of PD applications which were
claus
parents:
diff changeset
    42
    written using that tool (and more and more are appearing ...).
claus
parents:
diff changeset
    43
claus
parents:
diff changeset
    44
    The class is not completed yet and certainly not bug free.
claus
parents:
diff changeset
    45
    Also, it is not quaranteed that all winSpecs are understood.
223
b65dc250db8d documentation
Claus Gittinger <cg@exept.de>
parents: 139
diff changeset
    46
b65dc250db8d documentation
Claus Gittinger <cg@exept.de>
parents: 139
diff changeset
    47
    [author:]
b65dc250db8d documentation
Claus Gittinger <cg@exept.de>
parents: 139
diff changeset
    48
        Claus Gittinger
66
claus
parents:
diff changeset
    49
"
claus
parents:
diff changeset
    50
! !
claus
parents:
diff changeset
    51
claus
parents:
diff changeset
    52
!UIBuilder class methodsFor:'initialization'!
claus
parents:
diff changeset
    53
claus
parents:
diff changeset
    54
initialize
claus
parents:
diff changeset
    55
    Verbose := false    "/ debugging flag
claus
parents:
diff changeset
    56
! !
claus
parents:
diff changeset
    57
86
claus
parents: 80
diff changeset
    58
!UIBuilder methodsFor:'accessing'!
claus
parents: 80
diff changeset
    59
claus
parents: 80
diff changeset
    60
menuAspect
claus
parents: 80
diff changeset
    61
    ^ menuAspect
claus
parents: 80
diff changeset
    62
! !
claus
parents: 80
diff changeset
    63
66
claus
parents:
diff changeset
    64
!UIBuilder methodsFor:'operation'!
claus
parents:
diff changeset
    65
367
7316abe03075 made obsolete stuff ignored
Claus Gittinger <cg@exept.de>
parents: 363
diff changeset
    66
add:aSpec
7316abe03075 made obsolete stuff ignored
Claus Gittinger <cg@exept.de>
parents: 363
diff changeset
    67
    view := aSpec buildViewFor:self.
7316abe03075 made obsolete stuff ignored
Claus Gittinger <cg@exept.de>
parents: 363
diff changeset
    68
    ^ view
7316abe03075 made obsolete stuff ignored
Claus Gittinger <cg@exept.de>
parents: 363
diff changeset
    69
7316abe03075 made obsolete stuff ignored
Claus Gittinger <cg@exept.de>
parents: 363
diff changeset
    70
    "Modified: 16.1.1997 / 00:45:07 / cg"
7316abe03075 made obsolete stuff ignored
Claus Gittinger <cg@exept.de>
parents: 363
diff changeset
    71
!
7316abe03075 made obsolete stuff ignored
Claus Gittinger <cg@exept.de>
parents: 363
diff changeset
    72
100
claus
parents: 96
diff changeset
    73
buildFromSpec:aSpecArray
claus
parents: 96
diff changeset
    74
    |m spec|
claus
parents: 96
diff changeset
    75
claus
parents: 96
diff changeset
    76
"/ old:
claus
parents: 96
diff changeset
    77
"/    self readSpec:aSpecArray.
claus
parents: 96
diff changeset
    78
claus
parents: 96
diff changeset
    79
    spec := UISpecification from:aSpecArray.
claus
parents: 96
diff changeset
    80
    topView := view := spec buildViewFor:self.
claus
parents: 96
diff changeset
    81
claus
parents: 96
diff changeset
    82
    menuAspect notNil ifTrue:[
114
e577a2f332d0 uff - version methods changed to return stings
Claus Gittinger <cg@exept.de>
parents: 100
diff changeset
    83
	m := self componentAt:menuAspect.
e577a2f332d0 uff - version methods changed to return stings
Claus Gittinger <cg@exept.de>
parents: 100
diff changeset
    84
	m notNil ifTrue:[
e577a2f332d0 uff - version methods changed to return stings
Claus Gittinger <cg@exept.de>
parents: 100
diff changeset
    85
	    m := m value.
e577a2f332d0 uff - version methods changed to return stings
Claus Gittinger <cg@exept.de>
parents: 100
diff changeset
    86
	    m notNil ifTrue:[
e577a2f332d0 uff - version methods changed to return stings
Claus Gittinger <cg@exept.de>
parents: 100
diff changeset
    87
		m receiver:application.
e577a2f332d0 uff - version methods changed to return stings
Claus Gittinger <cg@exept.de>
parents: 100
diff changeset
    88
		topView add:m.
e577a2f332d0 uff - version methods changed to return stings
Claus Gittinger <cg@exept.de>
parents: 100
diff changeset
    89
		view topInset:(m heightIncludingBorder).
e577a2f332d0 uff - version methods changed to return stings
Claus Gittinger <cg@exept.de>
parents: 100
diff changeset
    90
	    ]
e577a2f332d0 uff - version methods changed to return stings
Claus Gittinger <cg@exept.de>
parents: 100
diff changeset
    91
	]
86
claus
parents: 80
diff changeset
    92
    ].
claus
parents: 80
diff changeset
    93
100
claus
parents: 96
diff changeset
    94
    ^ topView
66
claus
parents:
diff changeset
    95
100
claus
parents: 96
diff changeset
    96
    "Modified: 5.9.1995 / 21:43:29 / claus"
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    97
!
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    98
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    99
buildFromSpec:aSpecArray in:aView
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   100
    |m spec|
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   101
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   102
    spec := UISpecification from:aSpecArray.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   103
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   104
    view := spec buildViewFor:self in:aView.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   105
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   106
    menuAspect notNil ifTrue:[
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   107
	m := self componentAt:menuAspect.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   108
	m notNil ifTrue:[
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   109
	    m := m value.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   110
	    m notNil ifTrue:[
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   111
		m receiver:application.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   112
		topView add:m.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   113
		view topInset:(m heightIncludingBorder).
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   114
	    ]
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   115
	]
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   116
    ].
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   117
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   118
    ^ topView
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   119
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   120
    "Modified: 5.9.1995 / 21:48:09 / claus"
363
c7a26a5ebaba doFinalHookup (ST-80 compatibility)
Claus Gittinger <cg@exept.de>
parents: 344
diff changeset
   121
!
c7a26a5ebaba doFinalHookup (ST-80 compatibility)
Claus Gittinger <cg@exept.de>
parents: 344
diff changeset
   122
c7a26a5ebaba doFinalHookup (ST-80 compatibility)
Claus Gittinger <cg@exept.de>
parents: 344
diff changeset
   123
doFinalHookup
c7a26a5ebaba doFinalHookup (ST-80 compatibility)
Claus Gittinger <cg@exept.de>
parents: 344
diff changeset
   124
c7a26a5ebaba doFinalHookup (ST-80 compatibility)
Claus Gittinger <cg@exept.de>
parents: 344
diff changeset
   125
    "Created: 14.2.1997 / 14:52:27 / cg"
100
claus
parents: 96
diff changeset
   126
! !
86
claus
parents: 80
diff changeset
   127
367
7316abe03075 made obsolete stuff ignored
Claus Gittinger <cg@exept.de>
parents: 363
diff changeset
   128
!UIBuilder ignoredMethodsFor:'private arg parsing'!
66
claus
parents:
diff changeset
   129
100
claus
parents: 96
diff changeset
   130
getAlignmentOrigin:spec
claus
parents: 96
diff changeset
   131
    "called for #(AlignmentOrigin ?x ?relX ?x ?y ?relY ?y)"
66
claus
parents:
diff changeset
   132
100
claus
parents: 96
diff changeset
   133
    ^ AlignmentOrigin new fromLiteralArrayEncoding:spec.
claus
parents: 96
diff changeset
   134
"/    ^ Array with:#alignmentOrigin
claus
parents: 96
diff changeset
   135
"/            with:((spec at:2) @ (spec at:5))     "/ ?
claus
parents: 96
diff changeset
   136
"/            with:((spec at:3) @ (spec at:6))     "/ rels ?
claus
parents: 96
diff changeset
   137
"/            with:((spec at:4) @ (spec at:7))     "/ insets ?
66
claus
parents:
diff changeset
   138
!
claus
parents:
diff changeset
   139
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   140
getArg:spec
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   141
    "take something like #(Point 50 100) and return the value"
66
claus
parents:
diff changeset
   142
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   143
    |what|
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   144
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   145
    what := spec at:1.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   146
    ^ self perform:('get' , what , ':') asSymbol with:spec
66
claus
parents:
diff changeset
   147
!
claus
parents:
diff changeset
   148
100
claus
parents: 96
diff changeset
   149
getColorValue:spec
claus
parents: 96
diff changeset
   150
    "called for #(ColorValue #sym)
claus
parents: 96
diff changeset
   151
	     or #(ColorValue red green blue)"
66
claus
parents:
diff changeset
   152
344
42ae71c13eef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   153
    |arg|
66
claus
parents:
diff changeset
   154
100
claus
parents: 96
diff changeset
   155
    (arg := spec at:2) isSymbol ifTrue:[
claus
parents: 96
diff changeset
   156
	(Color respondsTo:arg) ifTrue:[
claus
parents: 96
diff changeset
   157
	    ^ Color perform:arg
claus
parents: 96
diff changeset
   158
	].
claus
parents: 96
diff changeset
   159
	^ Color name:arg asString ifIllegal:[Color black]
claus
parents: 96
diff changeset
   160
    ].
claus
parents: 96
diff changeset
   161
    arg isInteger ifTrue:[
claus
parents: 96
diff changeset
   162
	^ ColorValue scaledRed:arg
claus
parents: 96
diff changeset
   163
		     scaledGreen:(spec at:3)
claus
parents: 96
diff changeset
   164
		     scaledBlue:(spec at:4)
claus
parents: 96
diff changeset
   165
    ].
claus
parents: 96
diff changeset
   166
    ^ ColorValue red:arg
claus
parents: 96
diff changeset
   167
		 green:(spec at:3)
claus
parents: 96
diff changeset
   168
		 blue:(spec at:4)
66
claus
parents:
diff changeset
   169
claus
parents:
diff changeset
   170
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   171
!
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   172
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   173
getCompositeSpec:spec
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   174
    "called for #(CompositeSpec layout: #(orgx orgy cornx corny)"
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   175
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   176
    |layout|
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   177
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   178
    (spec at:2) == #layout: ifTrue:[
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   179
	layout := spec at:3.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   180
	(layout at:1) == #Rectangle ifTrue:[
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   181
	    ^ Rectangle
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   182
		    origin:(layout at:2) @ (layout at:3)
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   183
		    corner:(layout at:4) @ (layout at:5)
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   184
	].
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   185
    ].
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   186
    self halt:'unimplemented'.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   187
!
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   188
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   189
getLayoutFrame:spec
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   190
    "called for #(LayoutFrame absOrgX relOrgX absOrgY relOrgY absCornX relCornX absCornY relCornY)"
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   191
    "             1           2       3       4        5      6        7        8        9"
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   192
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   193
    ^ LayoutFrame new fromLiteralArrayEncoding:spec.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   194
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   195
"/    ^ Array with:#layoutFrame
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   196
"/            with:((spec at:2) @ (spec at:4))     "/ org inset
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   197
"/            with:((spec at:6) @ (spec at:8))     "/ corner inset
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   198
"/            with:((spec at:3) @ (spec at:5))     "/ rel org
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   199
"/            with:((spec at:7) @ (spec at:9))     "/ rel corn 
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   200
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   201
!
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   202
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   203
getLayoutOrigin:spec
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   204
    "called for #(LayoutOrigin xInset relX yInset relY)"
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   205
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   206
    ^ LayoutOrigin new fromLiteralArrayEncoding:spec.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   207
"/    ^ Array with:#layoutOrigin
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   208
"/            with:((spec at:3) @ (spec at:5))     "/ rels
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   209
"/            with:((spec at:2) @ (spec at:4))     "/ insets
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   210
!
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   211
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   212
getLookPreferences:spec
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   213
    "called for #(LookPreferences setForegroundColor: (...) setBackgroundColor: (...) ...)"
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   214
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   215
    |coll|
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   216
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   217
    coll := OrderedCollection new.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   218
    2 to:spec size by:2 do:[:index |
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   219
	coll add: 
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   220
	    (Array with:(spec at:index)
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   221
		  with:(self getArg:(spec at:index+1)))
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   222
    ].
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   223
    ^ coll.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   224
!
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   225
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   226
getPoint:spec
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   227
    "called for #(Point x y)"
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   228
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   229
    ^ Array with:#point 
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   230
	    with:((spec at:2) @ (spec at:3))
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   231
!
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   232
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   233
getRectangle:spec
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   234
    "called for #(Rectangle x y)"
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   235
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   236
    ^ Array with:#rectangle
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   237
	    with:(((spec at:2) @ (spec at:3)) corner:((spec at:4) @ (spec at:5)))
66
claus
parents:
diff changeset
   238
! !
claus
parents:
diff changeset
   239
367
7316abe03075 made obsolete stuff ignored
Claus Gittinger <cg@exept.de>
parents: 363
diff changeset
   240
!UIBuilder ignoredMethodsFor:'private spec attribute parsing'!
66
claus
parents:
diff changeset
   241
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   242
XXyMultipleSelections:args view:aView
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   243
    aView multipleSelectOk:args
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   244
!
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   245
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   246
doesNotUnderstand:aMessage
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   247
    |rest sel|
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   248
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   249
    ((sel := aMessage selector) startsWith:'y') ifTrue:[
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   250
	rest := sel copyFrom:2 to:(sel indexOf:$:).
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   251
	rest at:1 put:(rest at:1) asLowercase.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   252
	rest := rest asSymbolIfInterned.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   253
	rest notNil ifTrue:[
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   254
	    (aMessage arguments at:2) perform:rest with:(aMessage arguments at:1).
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   255
	    ^ self.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   256
	]
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   257
    ].
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   258
    super doesNotUnderstand:aMessage
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   259
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   260
    "Modified: 5.9.1995 / 21:13:16 / claus"
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   261
!
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   262
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   263
yBounds:args view:aView frame:frameView
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   264
    |value r|
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   265
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   266
    value := self getArg:args.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   267
    (value at:1) == #rectangle ifTrue:[
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   268
	r := value at:2.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   269
	aView origin:r origin corner:r corner.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   270
	^ self
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   271
    ].
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   272
    self halt:'unimplemented'.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   273
!
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   274
66
claus
parents:
diff changeset
   275
yCollection:args view:aView frame:frameView
claus
parents:
diff changeset
   276
    args do:[:aSpec |
claus
parents:
diff changeset
   277
	self readSpec:aSpec view:aView frame:frameView.
claus
parents:
diff changeset
   278
    ].
claus
parents:
diff changeset
   279
!
claus
parents:
diff changeset
   280
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   281
yColors:args view:aView frame:frameView
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   282
    |value|
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   283
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   284
    value := self getArg:args.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   285
    self halt:'unimplemented'.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   286
!
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   287
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   288
yComponent:args view:aView frame:frameView
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   289
    |v|
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   290
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   291
    args isSymbol ifTrue:[
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   292
	v := application perform:args.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   293
	v origin:0.0@0.0 corner:1.0@1.0.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   294
	aView addSubView:v
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   295
    ] ifFalse:[
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   296
"/        v := View origin:0.0@0.0 corner:1.0@1.0 in:aView.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   297
"/        self readSpec:args view:v frame:frameView.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   298
	self readSpec:args view:aView frame:frameView.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   299
    ]
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   300
!
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   301
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   302
yCompositeSpec:args view:aView frame:frameView
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   303
    |value r|
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   304
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   305
    self doSpec:args for:aView.
344
42ae71c13eef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   306
"/
42ae71c13eef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   307
"/    value := self getArg:args.
42ae71c13eef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   308
"/    (value at:1) == #rectangle ifTrue:[
42ae71c13eef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   309
"/	r := value at:2.
42ae71c13eef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   310
"/	aView origin:r origin corner:r corner.
42ae71c13eef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   311
"/	^ self
42ae71c13eef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   312
"/    ].
42ae71c13eef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   313
"/
42ae71c13eef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   314
"/self halt.
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   315
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   316
!
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   317
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   318
yDefaultable:args view:aView frame:frameView
270
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   319
    'defaultable ignored' printCR
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   320
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   321
    "Modified: 20.5.1996 / 10:29:24 / cg"
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   322
!
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   323
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   324
yFlags:args view:aView frame:frameView
270
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   325
    'flags: ' print. args print. ' for ' print. aView print. ' ignored' printCR
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   326
"
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   327
32 : initially disabled
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   328
16 : initially invisible
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   329
 8 : border
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   330
 4 : menuBar
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   331
 2 : hScroll
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   332
 1 : vScroll
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   333
"
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   334
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   335
    "Modified: 2.9.1995 / 15:44:15 / claus"
270
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   336
    "Modified: 20.5.1996 / 10:29:26 / cg"
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   337
!
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   338
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   339
yIsDefault:args view:aView frame:frameView
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   340
    aView isReturnButton:args
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   341
!
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   342
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   343
yIsOpaque:args view:aView frame:frameView
270
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   344
    'isOpaque ignored' printCR.
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   345
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   346
    "Modified: 20.5.1996 / 10:29:29 / cg"
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   347
!
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   348
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   349
yIsReadOnly:args view:aView frame:frameView
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   350
    args ifTrue:[
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   351
	aView readOnly
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   352
    ]
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   353
!
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   354
66
claus
parents:
diff changeset
   355
yLayout:args view:aView frame:frameView
claus
parents:
diff changeset
   356
    |value r org corn orgInset cornInset what|
claus
parents:
diff changeset
   357
claus
parents:
diff changeset
   358
    value := self getArg:args.
100
claus
parents: 96
diff changeset
   359
    value isLayout ifTrue:[
270
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   360
        frameView geometryLayout:value.
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   361
        ^ self
100
claus
parents: 96
diff changeset
   362
    ].
66
claus
parents:
diff changeset
   363
claus
parents:
diff changeset
   364
    what := value at:1.
claus
parents:
diff changeset
   365
    what == #point ifTrue:[
270
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   366
        Verbose ifTrue:[frameView print. ' ' print. 'origin: ' print. (value at:2) printCR].
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   367
        frameView origin:(value at:2).
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   368
        ^ self
66
claus
parents:
diff changeset
   369
    ].
claus
parents:
diff changeset
   370
    what == #rectangle ifTrue:[
270
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   371
        r := value at:2.
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   372
        Verbose ifTrue:[
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   373
            frameView print. ' ' print. 'origin: ' print. r origin print.
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   374
                             ' corner: ' print. r corner printCR.
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   375
        ].
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   376
        frameView origin:r origin corner:r corner.
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   377
        ^ self
66
claus
parents:
diff changeset
   378
    ].
claus
parents:
diff changeset
   379
    what == #layoutOrigin ifTrue:[
270
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   380
        "/ #layoutOrigin relOrg orgInset
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   381
        org := value at:2.       "/ relative origin
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   382
        org := org x asFloat @ org y asFloat.
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   383
        orgInset := self fixExtentFor:(value at:3).
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   384
        Verbose ifTrue:[
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   385
            frameView print. ' ' print. 'origin: ' print. org printCR
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   386
        ].
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   387
        frameView origin:org.
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   388
        frameView 
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   389
              leftInset:orgInset x;
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   390
              topInset:orgInset y.
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   391
        ^ self
66
claus
parents:
diff changeset
   392
    ].
claus
parents:
diff changeset
   393
    what == #layoutFrame ifTrue:[
270
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   394
        "/ #layoutFrame orgInset cornInset relOrg relCorner
66
claus
parents:
diff changeset
   395
270
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   396
        org := value at:4.       "/ relative origin
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   397
        orgInset := self fixExtentFor:(value at:2).
66
claus
parents:
diff changeset
   398
270
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   399
        org := org x asFloat @ org y asFloat.
66
claus
parents:
diff changeset
   400
"/        org = (0@0) ifTrue:[
claus
parents:
diff changeset
   401
"/            org := value at:2    "/ absolute origin
claus
parents:
diff changeset
   402
"/        ].
claus
parents:
diff changeset
   403
270
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   404
        corn := value at:5.      "/ relative corner
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   405
        cornInset := self fixExtentFor:(value at:3).
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   406
        corn := corn x asFloat @ corn y asFloat.
66
claus
parents:
diff changeset
   407
"/        corn = (0@0) ifTrue:[
claus
parents:
diff changeset
   408
"/            corn := value at:3   "/ absolute corner
claus
parents:
diff changeset
   409
"/        ].
270
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   410
        Verbose ifTrue:[
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   411
            frameView print. ' ' print. 'origin: ' print. org print.
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   412
                             ' corner: ' print. corn printCR.
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   413
        ].
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   414
        frameView origin:org corner:corn.
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   415
        frameView leftInset:orgInset x;
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   416
              topInset:orgInset y;
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   417
              rightInset:cornInset x negated;
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   418
              bottomInset:cornInset y negated.
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   419
        frameView sizeFixed:true.
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   420
        ^ self
66
claus
parents:
diff changeset
   421
    ].
claus
parents:
diff changeset
   422
    what == #alignmentOrigin ifTrue:[
270
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   423
        org := value at:3.       "/ relative origin
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   424
        org = (0@0) ifTrue:[
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   425
            org := value at:2    "/ absolute origin
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   426
        ].
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   427
        Verbose ifTrue:[frameView print. ' ' print. 'origin: ' print. org printCR].
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   428
        frameView origin:org.
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   429
        ^ self
66
claus
parents:
diff changeset
   430
    ].
claus
parents:
diff changeset
   431
claus
parents:
diff changeset
   432
    self halt:'unimplemented'.
270
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   433
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   434
    "Modified: 20.5.1996 / 10:29:35 / cg"
66
claus
parents:
diff changeset
   435
!
claus
parents:
diff changeset
   436
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   437
yMax:args view:aView frame:frameView
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   438
    |value|
100
claus
parents: 96
diff changeset
   439
claus
parents: 96
diff changeset
   440
    value := self getArg:args.
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   441
    (value at:1) == #point ifTrue:[
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   442
	aView maxExtent:(value at:2).
100
claus
parents: 96
diff changeset
   443
	^ self
claus
parents: 96
diff changeset
   444
    ].
claus
parents: 96
diff changeset
   445
    self halt:'unimplemented'.
claus
parents: 96
diff changeset
   446
!
claus
parents: 96
diff changeset
   447
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   448
yMenu:args view:aView frame:frameView
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   449
    menuAspect := args
66
claus
parents:
diff changeset
   450
!
claus
parents:
diff changeset
   451
claus
parents:
diff changeset
   452
yMin:args view:aView frame:frameView
claus
parents:
diff changeset
   453
    |value|
claus
parents:
diff changeset
   454
claus
parents:
diff changeset
   455
    value := self getArg:args.
claus
parents:
diff changeset
   456
    (value at:1) == #point ifTrue:[
claus
parents:
diff changeset
   457
	aView minExtent:(value at:2).
claus
parents:
diff changeset
   458
	^ self
claus
parents:
diff changeset
   459
    ].
claus
parents:
diff changeset
   460
    self halt:'unimplemented'.
claus
parents:
diff changeset
   461
!
claus
parents:
diff changeset
   462
claus
parents:
diff changeset
   463
yModel:args view:aView frame:frameView
claus
parents:
diff changeset
   464
    |model|
claus
parents:
diff changeset
   465
claus
parents:
diff changeset
   466
    (aspects notNil and:[aspects includesKey:args]) ifTrue:[
claus
parents:
diff changeset
   467
	model := aspects at:args
claus
parents:
diff changeset
   468
    ] ifFalse:[
86
claus
parents: 80
diff changeset
   469
	(aView isMemberOf:Button) ifTrue:[
claus
parents: 80
diff changeset
   470
	    model := application.
claus
parents: 80
diff changeset
   471
	    aView aspect:nil.
claus
parents: 80
diff changeset
   472
	    aView changeMessage:args.
claus
parents: 80
diff changeset
   473
	] ifFalse:[
claus
parents: 80
diff changeset
   474
	    model := application perform:args.
claus
parents: 80
diff changeset
   475
	].
66
claus
parents:
diff changeset
   476
    ].
claus
parents:
diff changeset
   477
    aView model:model.
claus
parents:
diff changeset
   478
!
claus
parents:
diff changeset
   479
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   480
yMultipleSelections:args view:aView frame:frameView
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   481
    args == true ifTrue:[
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   482
	aView multipleSelectOk:true
66
claus
parents:
diff changeset
   483
    ]
claus
parents:
diff changeset
   484
!
claus
parents:
diff changeset
   485
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   486
yName:args view:aView frame:frameView
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   487
    self componentAt:args put:aView
66
claus
parents:
diff changeset
   488
!
claus
parents:
diff changeset
   489
claus
parents:
diff changeset
   490
yOrientation:args view:aView frame:frameView
270
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   491
    'orientation ignored' printCR.
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   492
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   493
    "Modified: 20.5.1996 / 10:29:37 / cg"
66
claus
parents:
diff changeset
   494
!
claus
parents:
diff changeset
   495
claus
parents:
diff changeset
   496
ySelectionStyle:args view:aView frame:frameView
270
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   497
    'selectionStyle ignored' printCR.
66
claus
parents:
diff changeset
   498
270
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   499
    "Modified: 20.5.1996 / 10:29:41 / cg"
66
claus
parents:
diff changeset
   500
!
claus
parents:
diff changeset
   501
claus
parents:
diff changeset
   502
yStart:args view:aView frame:frameView
86
claus
parents: 80
diff changeset
   503
    (aView isKindOf:Scroller) ifTrue:[
270
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   504
        aView start:args.
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   505
        ^ self
86
claus
parents: 80
diff changeset
   506
    ].
270
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   507
    'start ignored' printCR.
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   508
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   509
    "Modified: 20.5.1996 / 10:29:42 / cg"
66
claus
parents:
diff changeset
   510
!
claus
parents:
diff changeset
   511
claus
parents:
diff changeset
   512
yStep:args view:aView frame:frameView
270
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   513
    'step ignored' printCR.
66
claus
parents:
diff changeset
   514
270
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   515
    "Modified: 20.5.1996 / 10:29:44 / cg"
66
claus
parents:
diff changeset
   516
!
claus
parents:
diff changeset
   517
86
claus
parents: 80
diff changeset
   518
yStop:args view:aView frame:frameView
claus
parents: 80
diff changeset
   519
    (aView isKindOf:Scroller) ifTrue:[
270
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   520
        aView stop:args.
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   521
        ^ self
86
claus
parents: 80
diff changeset
   522
    ].
270
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   523
    'stop ignored' printCR.
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   524
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   525
    "Modified: 20.5.1996 / 10:29:46 / cg"
66
claus
parents:
diff changeset
   526
!
claus
parents:
diff changeset
   527
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   528
yStyle:args view:aView frame:frameView
270
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   529
    'name ignored' printCR.
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   530
270
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   531
    "Modified: 20.5.1996 / 10:29:48 / cg"
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   532
!
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   533
86
claus
parents: 80
diff changeset
   534
ySubmenu:aSpec view:menu frame:frameView
claus
parents: 80
diff changeset
   535
    |items lines selectors labels|
claus
parents: 80
diff changeset
   536
claus
parents: 80
diff changeset
   537
    aSpec first ~~ #Menu ifTrue:[
139
779ae6adb925 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 132
diff changeset
   538
        self halt:'unexpected'.
86
claus
parents: 80
diff changeset
   539
    ].
claus
parents: 80
diff changeset
   540
    items := (aSpec at:2).
claus
parents: 80
diff changeset
   541
    lines := aSpec at:3.
claus
parents: 80
diff changeset
   542
    selectors := aSpec at:4.
66
claus
parents:
diff changeset
   543
86
claus
parents: 80
diff changeset
   544
    "collect labels & selectors"
claus
parents: 80
diff changeset
   545
    labels := OrderedCollection new.
claus
parents: 80
diff changeset
   546
    items do:[:item |
139
779ae6adb925 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 132
diff changeset
   547
        item first ~~ #MenuItem ifTrue:[
779ae6adb925 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 132
diff changeset
   548
            self halt:'unexpected'
779ae6adb925 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 132
diff changeset
   549
        ].
779ae6adb925 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 132
diff changeset
   550
        (item at:2) ~~ #'label:' ifTrue:[
779ae6adb925 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 132
diff changeset
   551
            self halt:'unexpected'
779ae6adb925 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 132
diff changeset
   552
        ].
779ae6adb925 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 132
diff changeset
   553
        labels add:(item at:3).
86
claus
parents: 80
diff changeset
   554
    ].
claus
parents: 80
diff changeset
   555
claus
parents: 80
diff changeset
   556
    menu at:currentMenuSelector
139
779ae6adb925 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 132
diff changeset
   557
        putLabels:labels
779ae6adb925 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 132
diff changeset
   558
        selectors:selectors
779ae6adb925 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 132
diff changeset
   559
        receiver:nil.
779ae6adb925 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 132
diff changeset
   560
779ae6adb925 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 132
diff changeset
   561
    "Created: 9.12.1995 / 23:06:39 / cg"
779ae6adb925 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 132
diff changeset
   562
    "Modified: 9.12.1995 / 23:08:15 / cg"
86
claus
parents: 80
diff changeset
   563
!
claus
parents: 80
diff changeset
   564
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   565
yTabable:args view:aView frame:frameView
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   566
    args == true ifTrue:[
270
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   567
        focusSequence isNil ifTrue:[
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   568
            focusSequence := OrderedCollection new.
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   569
        ].
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   570
        focusSequence add:aView.
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   571
        'tabable element added' printCR.
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   572
    ]
270
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   573
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   574
    "Modified: 20.5.1996 / 10:29:53 / cg"
66
claus
parents:
diff changeset
   575
!
claus
parents:
diff changeset
   576
claus
parents:
diff changeset
   577
yType:args view:aView frame:frameView
86
claus
parents: 80
diff changeset
   578
    (aView isMemberOf:EditField) ifTrue:[
270
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   579
        args == #number ifTrue:[
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   580
            aView converter:(PrintConverter new initForNumber).
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   581
            ^ self
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   582
        ]
86
claus
parents: 80
diff changeset
   583
    ].
claus
parents: 80
diff changeset
   584
270
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   585
    'type ignored' printCR.
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   586
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   587
    "Modified: 20.5.1996 / 10:29:55 / cg"
100
claus
parents: 96
diff changeset
   588
!
claus
parents: 96
diff changeset
   589
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   590
yWindow:args view:aView frame:frameView
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   591
    self readSpec:args view:aView frame:frameView.
66
claus
parents:
diff changeset
   592
! !
claus
parents:
diff changeset
   593
367
7316abe03075 made obsolete stuff ignored
Claus Gittinger <cg@exept.de>
parents: 363
diff changeset
   594
!UIBuilder ignoredMethodsFor:'private spec component parsing'!
66
claus
parents:
diff changeset
   595
100
claus
parents: 96
diff changeset
   596
xActionButtonSpec:aSpec view:aView
claus
parents: 96
diff changeset
   597
    |b|
claus
parents: 96
diff changeset
   598
claus
parents: 96
diff changeset
   599
    b := Button in:aView.
claus
parents: 96
diff changeset
   600
    self fixFontFor:b.
claus
parents: 96
diff changeset
   601
    self doSpec:aSpec for:b 
66
claus
parents:
diff changeset
   602
!
claus
parents:
diff changeset
   603
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   604
xArbitraryComponentSpec:aSpec view:aView
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   605
    |v|
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   606
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   607
    v := View in:aView.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   608
"/    v := Label label:'ArbitraryView' in:aView.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   609
    v origin:0.0@0.0 corner:1.0@1.0.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   610
    v level:-1.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   611
    self doSpec:aSpec for:v
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   612
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   613
    "Modified: 2.9.1995 / 15:26:03 / claus"
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   614
!
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   615
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   616
xCheckBoxSpec:aSpec view:aView
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   617
    |b|
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   618
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   619
    b := CheckBox in:aView.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   620
    self fixFontFor:b.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   621
    self doSpec:aSpec for:b 
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   622
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   623
!
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   624
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   625
xCompositeSpecCollection:aSpec view:aView
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   626
    |v|
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   627
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   628
"/ 'compositeSpecCollection ignored' printNL.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   629
"/ ^ self.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   630
    v := View in:aView.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   631
    self doSpec:aSpec for:v 
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   632
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   633
!
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   634
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   635
xDividerSpec:aSpec view:aView
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   636
    |l|
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   637
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   638
    l := View in:aView.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   639
    self doSpec:aSpec for:l 
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   640
!
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   641
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   642
xFramedBoxSpec:aSpec view:aView
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   643
    |v|
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   644
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   645
    v := FramedBox in:aView.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   646
    self doSpec:aSpec for:v
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   647
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   648
    "Modified: 5.9.1995 / 21:05:38 / claus"
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   649
!
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   650
100
claus
parents: 96
diff changeset
   651
xFullSpec:aSpec
claus
parents: 96
diff changeset
   652
    topView isNil ifTrue:[
claus
parents: 96
diff changeset
   653
	topView := StandardSystemView new.
claus
parents: 96
diff changeset
   654
	topView controller:(ApplicationController new).
claus
parents: 96
diff changeset
   655
	topView application:application.
claus
parents: 96
diff changeset
   656
    ].
claus
parents: 96
diff changeset
   657
claus
parents: 96
diff changeset
   658
    view := View new.
claus
parents: 96
diff changeset
   659
    self doSpec:aSpec for:view.
claus
parents: 96
diff changeset
   660
claus
parents: 96
diff changeset
   661
    topView extent:(view extent).
claus
parents: 96
diff changeset
   662
    view origin:0.0@0.0 corner:1.0@1.0.
claus
parents: 96
diff changeset
   663
    topView add:view.
claus
parents: 96
diff changeset
   664
claus
parents: 96
diff changeset
   665
    ^ topView
claus
parents: 96
diff changeset
   666
!
claus
parents: 96
diff changeset
   667
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   668
xGroupBoxSpec:aSpec view:aView
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   669
    |l|
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   670
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   671
    l := FramedBox in:aView.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   672
    self doSpec:aSpec for:l 
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   673
!
66
claus
parents:
diff changeset
   674
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   675
xHorizontalPanelViewSpec:aSpec view:aView
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   676
    |v|
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   677
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   678
    v := HorizontalPanelView in:aView.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   679
    self doSpec:aSpec for:v
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   680
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   681
    "Modified: 5.9.1995 / 21:06:25 / claus"
66
claus
parents:
diff changeset
   682
!
claus
parents:
diff changeset
   683
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   684
xInputFieldSpec:aSpec view:aView
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   685
    |l|
66
claus
parents:
diff changeset
   686
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   687
    l := EditField in:aView.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   688
    self fixFontFor:l.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   689
    l aspect:#value; change:#value:.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   690
    self doSpec:aSpec for:l 
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   691
!
100
claus
parents: 96
diff changeset
   692
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   693
xLabelSpec:aSpec view:aView
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   694
    |l|
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   695
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   696
    l := Label in:aView.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   697
    self fixFontFor:l.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   698
    self doSpec:aSpec for:l 
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   699
66
claus
parents:
diff changeset
   700
!
claus
parents:
diff changeset
   701
100
claus
parents: 96
diff changeset
   702
xMenu:aSpec
claus
parents: 96
diff changeset
   703
    |items numItems unknown prevCurrent labels|
claus
parents: 96
diff changeset
   704
claus
parents: 96
diff changeset
   705
    topView := PullDownMenu new.
claus
parents: 96
diff changeset
   706
claus
parents: 96
diff changeset
   707
    items := aSpec at:2.
claus
parents: 96
diff changeset
   708
    numItems := (aSpec at:3) at:1.
claus
parents: 96
diff changeset
   709
    unknown := (aSpec at:4).
claus
parents: 96
diff changeset
   710
claus
parents: 96
diff changeset
   711
    prevCurrent := currentMenuSelector.
66
claus
parents:
diff changeset
   712
100
claus
parents: 96
diff changeset
   713
    "precollect labels ..."
claus
parents: 96
diff changeset
   714
    labels := OrderedCollection new.
claus
parents: 96
diff changeset
   715
    items do:[:item |
139
779ae6adb925 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 132
diff changeset
   716
        (item at:1) ~~ #MenuItem ifTrue:[
779ae6adb925 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 132
diff changeset
   717
            self halt:'unexpected'
779ae6adb925 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 132
diff changeset
   718
        ].
779ae6adb925 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 132
diff changeset
   719
        (item at:2) ~~ #'label:' ifTrue:[
779ae6adb925 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 132
diff changeset
   720
            self halt:'unexpected'
779ae6adb925 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 132
diff changeset
   721
        ].
779ae6adb925 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 132
diff changeset
   722
        labels add:(item at:3)
100
claus
parents: 96
diff changeset
   723
    ].
claus
parents: 96
diff changeset
   724
claus
parents: 96
diff changeset
   725
    topView labels:labels.
claus
parents: 96
diff changeset
   726
claus
parents: 96
diff changeset
   727
    items with:(1 to:numItems) do:[:item :index |
139
779ae6adb925 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 132
diff changeset
   728
        currentMenuSelector := index.
779ae6adb925 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 132
diff changeset
   729
        self doSpec:item for:topView.
100
claus
parents: 96
diff changeset
   730
    ].
claus
parents: 96
diff changeset
   731
claus
parents: 96
diff changeset
   732
    currentMenuSelector := prevCurrent.
claus
parents: 96
diff changeset
   733
    ^ topView
139
779ae6adb925 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 132
diff changeset
   734
779ae6adb925 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 132
diff changeset
   735
    "Created: 9.12.1995 / 23:06:31 / cg"
779ae6adb925 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 132
diff changeset
   736
    "Modified: 9.12.1995 / 23:08:11 / cg"
66
claus
parents:
diff changeset
   737
!
claus
parents:
diff changeset
   738
100
claus
parents: 96
diff changeset
   739
xPopUpMenu:aSpec
claus
parents: 96
diff changeset
   740
    |menu values|
66
claus
parents:
diff changeset
   741
100
claus
parents: 96
diff changeset
   742
    menu := PopUpMenu 
claus
parents: 96
diff changeset
   743
		labels:(aSpec at:2).
claus
parents: 96
diff changeset
   744
    values := Array new:((aSpec at:2) size).
66
claus
parents:
diff changeset
   745
100
claus
parents: 96
diff changeset
   746
    (aSpec at:4) keysAndValuesDo:[:index :item |
claus
parents: 96
diff changeset
   747
	((item size > 0)
claus
parents: 96
diff changeset
   748
	and:[(item at:1) == #PopUpMenu]) ifTrue:[
claus
parents: 96
diff changeset
   749
	    menu subMenuAt:index put:(self xPopUpMenu:item)
claus
parents: 96
diff changeset
   750
	] ifFalse:[
claus
parents: 96
diff changeset
   751
	    values at:index put:item
claus
parents: 96
diff changeset
   752
	]
66
claus
parents:
diff changeset
   753
    ].
100
claus
parents: 96
diff changeset
   754
claus
parents: 96
diff changeset
   755
    menu values:values.
claus
parents: 96
diff changeset
   756
    ^ menu
claus
parents: 96
diff changeset
   757
!
claus
parents: 96
diff changeset
   758
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   759
xProgressIndicatorSpec:aSpec view:aView
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   760
    |s|
100
claus
parents: 96
diff changeset
   761
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   762
    s := ProgressIndicator in:aView.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   763
    self doSpec:aSpec for:s 
66
claus
parents:
diff changeset
   764
!
claus
parents:
diff changeset
   765
100
claus
parents: 96
diff changeset
   766
xScrollerSpec:aSpec view:aView
claus
parents: 96
diff changeset
   767
    |s idx orientation|
claus
parents: 96
diff changeset
   768
claus
parents: 96
diff changeset
   769
    idx := aSpec indexOf:#orientation:.
claus
parents: 96
diff changeset
   770
    idx == 0 ifTrue:[
claus
parents: 96
diff changeset
   771
	orientation := #vertical
claus
parents: 96
diff changeset
   772
    ] ifFalse:[
claus
parents: 96
diff changeset
   773
	orientation := aSpec at:(idx + 1)
claus
parents: 96
diff changeset
   774
    ].
claus
parents: 96
diff changeset
   775
    orientation == #horizontal ifTrue:[
claus
parents: 96
diff changeset
   776
	s := HorizontalScroller in:aView
claus
parents: 96
diff changeset
   777
    ] ifFalse:[
claus
parents: 96
diff changeset
   778
	s := Scroller in:aView
claus
parents: 96
diff changeset
   779
    ].
claus
parents: 96
diff changeset
   780
    self doSpec:aSpec for:s 
claus
parents: 96
diff changeset
   781
!
claus
parents: 96
diff changeset
   782
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   783
xSequenceViewSpec:aSpec view:aView
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   784
    |f s|
100
claus
parents: 96
diff changeset
   785
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   786
    f := ScrollableView for:SelectionInListView in:aView.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   787
    s := f scrolledView.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   788
    self doSpec:aSpec for:s frame:f.
100
claus
parents: 96
diff changeset
   789
!
66
claus
parents:
diff changeset
   790
100
claus
parents: 96
diff changeset
   791
xSliderSpec:aSpec view:aView
claus
parents: 96
diff changeset
   792
    |s idx orientation|
66
claus
parents:
diff changeset
   793
100
claus
parents: 96
diff changeset
   794
    idx := aSpec indexOf:#orientation:.
claus
parents: 96
diff changeset
   795
    idx == 0 ifTrue:[
claus
parents: 96
diff changeset
   796
	orientation := #vertical
claus
parents: 96
diff changeset
   797
    ] ifFalse:[
claus
parents: 96
diff changeset
   798
	orientation := aSpec at:(idx + 1)
claus
parents: 96
diff changeset
   799
    ].
claus
parents: 96
diff changeset
   800
    orientation == #horizontal ifTrue:[
claus
parents: 96
diff changeset
   801
	s := HorizontalSlider in:aView
claus
parents: 96
diff changeset
   802
    ] ifFalse:[
claus
parents: 96
diff changeset
   803
	s := Slider in:aView
claus
parents: 96
diff changeset
   804
    ].
claus
parents: 96
diff changeset
   805
    self doSpec:aSpec for:s 
claus
parents: 96
diff changeset
   806
!
claus
parents: 96
diff changeset
   807
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   808
xSpecCollection:aSpec view:aView
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   809
    self doSpec:aSpec for:aView
66
claus
parents:
diff changeset
   810
claus
parents:
diff changeset
   811
!
claus
parents:
diff changeset
   812
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   813
xSubCanvasSpec:aSpec view:aView
100
claus
parents: 96
diff changeset
   814
    |v|
66
claus
parents:
diff changeset
   815
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   816
    v := SubCanvas in:aView.
100
claus
parents: 96
diff changeset
   817
    v origin:0.0@0.0 corner:1.0@1.0.
claus
parents: 96
diff changeset
   818
    self doSpec:aSpec for:v
claus
parents: 96
diff changeset
   819
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   820
    "Modified: 2.9.1995 / 15:26:15 / claus"
100
claus
parents: 96
diff changeset
   821
!
claus
parents: 96
diff changeset
   822
claus
parents: 96
diff changeset
   823
xTableViewSpec:aSpec view:aView
claus
parents: 96
diff changeset
   824
    |l|
claus
parents: 96
diff changeset
   825
270
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   826
    'tableView ignored' printCR.
100
claus
parents: 96
diff changeset
   827
    l := Label label:'TableView' in:aView.
claus
parents: 96
diff changeset
   828
    l level:-1.
270
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   829
    self doSpec:aSpec for:l
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   830
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   831
    "Modified: 20.5.1996 / 10:29:20 / cg"
66
claus
parents:
diff changeset
   832
!
claus
parents:
diff changeset
   833
100
claus
parents: 96
diff changeset
   834
xVerticalPanelViewSpec:aSpec view:aView
claus
parents: 96
diff changeset
   835
    |v|
claus
parents: 96
diff changeset
   836
claus
parents: 96
diff changeset
   837
    v := VerticalPanelView in:aView.
claus
parents: 96
diff changeset
   838
    self doSpec:aSpec for:v
66
claus
parents:
diff changeset
   839
100
claus
parents: 96
diff changeset
   840
    "Modified: 5.9.1995 / 21:06:19 / claus"
claus
parents: 96
diff changeset
   841
!
66
claus
parents:
diff changeset
   842
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   843
xWindowSpec:aSpec view:aView
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   844
    self doSpec:aSpec for:aView
100
claus
parents: 96
diff changeset
   845
66
claus
parents:
diff changeset
   846
! !
claus
parents:
diff changeset
   847
367
7316abe03075 made obsolete stuff ignored
Claus Gittinger <cg@exept.de>
parents: 363
diff changeset
   848
!UIBuilder ignoredMethodsFor:'private spec parsing'!
66
claus
parents:
diff changeset
   849
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   850
doSingleSpec:selector args:args for:aView frame:frame
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   851
    Verbose ifTrue:[
270
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   852
        'doSingle (' print. aView print. ' -> ' print. selector print.
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   853
        ' ' print. args printString printCR.
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   854
    ].
66
claus
parents:
diff changeset
   855
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   856
    self perform:('y' , selector asString asUppercaseFirst , 'view:frame:') asSymbol 
270
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   857
            with:args
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   858
            with:aView
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   859
            with:frame.
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   860
270
229eb729da57 printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 223
diff changeset
   861
    "Modified: 20.5.1996 / 10:29:17 / cg"
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   862
!
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   863
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   864
doSpec:aSpec for:aView
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   865
    ^ self doSpec:aSpec for:aView frame:aView
66
claus
parents:
diff changeset
   866
!
claus
parents:
diff changeset
   867
claus
parents:
diff changeset
   868
doSpec:aSpec for:aView frame:frame 
344
42ae71c13eef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   869
    |selector args argsToRead|
66
claus
parents:
diff changeset
   870
claus
parents:
diff changeset
   871
    argsToRead := 0.
claus
parents:
diff changeset
   872
    args := #().
claus
parents:
diff changeset
   873
    aSpec from:2 to:(aSpec size) do:[:element |
139
779ae6adb925 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 132
diff changeset
   874
        argsToRead > 1 ifTrue:[
779ae6adb925 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 132
diff changeset
   875
            self halt:'invalid spec'.
779ae6adb925 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 132
diff changeset
   876
        ] ifFalse:[
779ae6adb925 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 132
diff changeset
   877
            argsToRead == 1 ifTrue:[
779ae6adb925 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 132
diff changeset
   878
                args := element.
779ae6adb925 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 132
diff changeset
   879
                argsToRead := argsToRead - 1
779ae6adb925 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 132
diff changeset
   880
            ] ifFalse:[
779ae6adb925 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 132
diff changeset
   881
                selector := element.
779ae6adb925 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 132
diff changeset
   882
                argsToRead := selector numArgs.
779ae6adb925 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 132
diff changeset
   883
            ].
779ae6adb925 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 132
diff changeset
   884
        ].
779ae6adb925 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 132
diff changeset
   885
        argsToRead == 0 ifTrue:[
779ae6adb925 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 132
diff changeset
   886
            self doSingleSpec:selector args:args for:aView frame:frame
779ae6adb925 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 132
diff changeset
   887
        ]
66
claus
parents:
diff changeset
   888
    ]
139
779ae6adb925 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 132
diff changeset
   889
779ae6adb925 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 132
diff changeset
   890
    "Created: 9.12.1995 / 23:06:18 / cg"
66
claus
parents:
diff changeset
   891
!
claus
parents:
diff changeset
   892
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   893
readSpec:aSpec
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   894
    |what|
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   895
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   896
    what := aSpec first.
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   897
    ^ self perform:('x' , what , ':') asSymbol with:aSpec
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   898
!
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   899
66
claus
parents:
diff changeset
   900
readSpec:aSpec view:aView frame:frameView
claus
parents:
diff changeset
   901
    |what|
claus
parents:
diff changeset
   902
claus
parents:
diff changeset
   903
    what := aSpec first.
claus
parents:
diff changeset
   904
    self perform:('x' , what , ':view:') asSymbol with:aSpec with:aView
claus
parents:
diff changeset
   905
! !
claus
parents:
diff changeset
   906
367
7316abe03075 made obsolete stuff ignored
Claus Gittinger <cg@exept.de>
parents: 363
diff changeset
   907
!UIBuilder ignoredMethodsFor:'private special kludges'!
66
claus
parents:
diff changeset
   908
125
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   909
fixExtentFor:aPoint
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   910
    ^ aPoint "/ (aPoint * (1 @ 1.5)) truncated
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   911
!
fa5b5e4336bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   912
66
claus
parents:
diff changeset
   913
fixFontFor:aComponent
claus
parents:
diff changeset
   914
    "since ST-80 seems to use a smaller default font,
claus
parents:
diff changeset
   915
     and component sizes are often given in pixels in winSpecs,
75
claus
parents: 69
diff changeset
   916
     make the font smaller for less ugly looking elements."
66
claus
parents:
diff changeset
   917
claus
parents:
diff changeset
   918
"/   aComponent font:(aComponent font size:8)
claus
parents:
diff changeset
   919
! !
claus
parents:
diff changeset
   920
132
0a8fe342ed91 version method at the end
Claus Gittinger <cg@exept.de>
parents: 125
diff changeset
   921
!UIBuilder class methodsFor:'documentation'!
0a8fe342ed91 version method at the end
Claus Gittinger <cg@exept.de>
parents: 125
diff changeset
   922
0a8fe342ed91 version method at the end
Claus Gittinger <cg@exept.de>
parents: 125
diff changeset
   923
version
367
7316abe03075 made obsolete stuff ignored
Claus Gittinger <cg@exept.de>
parents: 363
diff changeset
   924
    ^ '$Header: /cvs/stx/stx/libview2/UIBuilder.st,v 1.17 1997-01-16 10:11:49 cg Exp $'
132
0a8fe342ed91 version method at the end
Claus Gittinger <cg@exept.de>
parents: 125
diff changeset
   925
! !
100
claus
parents: 96
diff changeset
   926
UIBuilder initialize!