StdSysV.st
author claus
Tue, 28 Feb 1995 22:51:15 +0100
changeset 110 60c08d82e209
parent 109 ba47d9d6bda8
child 118 25e775072a89
permissions -rw-r--r--
*** empty log message ***
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
48194c26a46c Initial revision
claus
parents:
diff changeset
     1
"
6
7ee0cfde237d *** empty log message ***
claus
parents: 5
diff changeset
     2
 COPYRIGHT (c) 1989 by Claus Gittinger
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
     3
	      All Rights Reserved
0
48194c26a46c Initial revision
claus
parents:
diff changeset
     4
48194c26a46c Initial revision
claus
parents:
diff changeset
     5
 This software is furnished under a license and may be used
48194c26a46c Initial revision
claus
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
48194c26a46c Initial revision
claus
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
48194c26a46c Initial revision
claus
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
48194c26a46c Initial revision
claus
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
48194c26a46c Initial revision
claus
parents:
diff changeset
    10
 hereby transferred.
48194c26a46c Initial revision
claus
parents:
diff changeset
    11
"
48194c26a46c Initial revision
claus
parents:
diff changeset
    12
48194c26a46c Initial revision
claus
parents:
diff changeset
    13
View subclass:#StandardSystemView
24
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
    14
       instanceVariableNames:'label icon iconView iconLabel
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
    15
			      minExtent maxExtent'
89
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
    16
       classVariableNames:   'DefaultIcon TakeFocusWhenMapped'
0
48194c26a46c Initial revision
claus
parents:
diff changeset
    17
       poolDictionaries:''
48194c26a46c Initial revision
claus
parents:
diff changeset
    18
       category:'Views-Basic'
48194c26a46c Initial revision
claus
parents:
diff changeset
    19
!
48194c26a46c Initial revision
claus
parents:
diff changeset
    20
48194c26a46c Initial revision
claus
parents:
diff changeset
    21
StandardSystemView comment:'
46
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    22
COPYRIGHT (c) 1989 by Claus Gittinger
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
    23
	      All Rights Reserved
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
    24
110
60c08d82e209 *** empty log message ***
claus
parents: 109
diff changeset
    25
$Header: /cvs/stx/stx/libview/Attic/StdSysV.st,v 1.18 1995-02-28 21:50:35 claus Exp $
46
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    26
'!
0
48194c26a46c Initial revision
claus
parents:
diff changeset
    27
46
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    28
!StandardSystemView class methodsFor:'documentation'!
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    29
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    30
copyright
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    31
"
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    32
 COPYRIGHT (c) 1989 by Claus Gittinger
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
    33
	      All Rights Reserved
0
48194c26a46c Initial revision
claus
parents:
diff changeset
    34
46
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    35
 This software is furnished under a license and may be used
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    36
 only in accordance with the terms of that license and with the
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    37
 inclusion of the above copyright notice.   This software may not
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    38
 be provided or otherwise made available to, or used by, any
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    39
 other person.  No title to or ownership of the software is
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    40
 hereby transferred.
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    41
"
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    42
!
0
48194c26a46c Initial revision
claus
parents:
diff changeset
    43
46
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    44
version
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    45
"
110
60c08d82e209 *** empty log message ***
claus
parents: 109
diff changeset
    46
$Header: /cvs/stx/stx/libview/Attic/StdSysV.st,v 1.18 1995-02-28 21:50:35 claus Exp $
46
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    47
"
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    48
!
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    49
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    50
documentation
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    51
"
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    52
    I represent topViews i.e. those views which have a title-label,
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
    53
    an icon etc. Usually StandardSystemViews are subclassed for
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
    54
    special views.
46
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    55
"
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    56
! !
0
48194c26a46c Initial revision
claus
parents:
diff changeset
    57
48194c26a46c Initial revision
claus
parents:
diff changeset
    58
!StandardSystemView class methodsFor:'defaults'!
48194c26a46c Initial revision
claus
parents:
diff changeset
    59
48194c26a46c Initial revision
claus
parents:
diff changeset
    60
defaultExtent
48194c26a46c Initial revision
claus
parents:
diff changeset
    61
    "topviews extent is (0.6 @ 0.6) of screen by default"
48194c26a46c Initial revision
claus
parents:
diff changeset
    62
48194c26a46c Initial revision
claus
parents:
diff changeset
    63
    ^ (Display width // 3 * 2) @ (Display height // 3 * 2)
81
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
    64
!
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
    65
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
    66
defaultLabel
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
    67
    "return the default label for views of my kind.
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
    68
     This can be redefined in subclasses or overwritten in
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
    69
     initialize methods."
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
    70
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
    71
    ^ 'aView'
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
    72
!
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
    73
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
    74
defaultIcon
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
    75
    "return the default icon for views.
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
    76
     This can be redefined in subclasses or overwritten in
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
    77
     initialize methods."
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
    78
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
    79
    DefaultIcon isNil ifTrue:[
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
    80
	DefaultIcon := Image fromFile:'bitmaps/SmalltalkX.xbm'
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
    81
    ].
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
    82
    ^ DefaultIcon
0
48194c26a46c Initial revision
claus
parents:
diff changeset
    83
! !
48194c26a46c Initial revision
claus
parents:
diff changeset
    84
48194c26a46c Initial revision
claus
parents:
diff changeset
    85
!StandardSystemView class methodsFor:'startup'!
48194c26a46c Initial revision
claus
parents:
diff changeset
    86
46
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    87
open
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    88
    "create, realize the view - this topview and all its subviews will
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    89
     run as a separate process with its own windowGroup"
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    90
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    91
    ^ self new open 
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    92
!
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    93
0
48194c26a46c Initial revision
claus
parents:
diff changeset
    94
start
12
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
    95
    "create, realize the view - this topview and all its subviews will
81
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
    96
     run as a separate process with its own windowGroup.
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
    97
     This method exists for backward compatibility - use open."
0
48194c26a46c Initial revision
claus
parents:
diff changeset
    98
46
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    99
    ^ self open
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   100
! !
48194c26a46c Initial revision
claus
parents:
diff changeset
   101
48194c26a46c Initial revision
claus
parents:
diff changeset
   102
!StandardSystemView class methodsFor:'instance creation'!
48194c26a46c Initial revision
claus
parents:
diff changeset
   103
48194c26a46c Initial revision
claus
parents:
diff changeset
   104
model:aModel label:aLabel minimumSize:minExtent
81
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   105
    "ST80-style instance creation"
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   106
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   107
    |newView|
48194c26a46c Initial revision
claus
parents:
diff changeset
   108
48194c26a46c Initial revision
claus
parents:
diff changeset
   109
    newView := self origin:nil 
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   110
		    extent:minExtent
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   111
		     label:aLabel 
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   112
		      icon:nil
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   113
		 minExtent:minExtent
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   114
		 maxExtent:nil.
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   115
    newView model:aModel.
109
ba47d9d6bda8 *** empty log message ***
claus
parents: 94
diff changeset
   116
"/    newView controller:(self defaultControllerClass new view:newView).
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   117
    ^ newView
48194c26a46c Initial revision
claus
parents:
diff changeset
   118
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   119
48194c26a46c Initial revision
claus
parents:
diff changeset
   120
label:aLabel
48194c26a46c Initial revision
claus
parents:
diff changeset
   121
    "create a new topView and define its label"
48194c26a46c Initial revision
claus
parents:
diff changeset
   122
48194c26a46c Initial revision
claus
parents:
diff changeset
   123
    ^ self origin:nil extent:nil
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   124
	   label:aLabel icon:nil
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   125
	   minExtent:nil maxExtent:nil
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   126
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   127
48194c26a46c Initial revision
claus
parents:
diff changeset
   128
label:aLabel minExtent:anExtent
81
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   129
    "create a new topView and define its label and minimum extent"
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   130
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   131
    ^ self origin:nil extent:nil
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   132
	   label:aLabel icon:nil
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   133
	   minExtent:anExtent maxExtent:nil
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   134
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   135
48194c26a46c Initial revision
claus
parents:
diff changeset
   136
label:aLabel icon:aForm
81
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   137
    "create a new topView and define its label and icon"
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   138
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   139
    ^ self origin:nil extent:nil
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   140
	   label:aLabel icon:aForm
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   141
	   minExtent:nil maxExtent:nil
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   142
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   143
48194c26a46c Initial revision
claus
parents:
diff changeset
   144
label:aLabel icon:aForm minExtent:anExtent
81
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   145
    "create a new topView and define its label, icon and minumum extent"
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   146
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   147
    ^ self origin:nil extent:nil
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   148
	   label:aLabel icon:aForm
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   149
	   minExtent:anExtent maxExtent:nil
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   150
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   151
48194c26a46c Initial revision
claus
parents:
diff changeset
   152
label:aLabel icon:aForm minExtent:minExtent maxExtent:maxExtent
81
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   153
    "create a new topView and define its label, icon, min and max extents"
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   154
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   155
    ^ self origin:nil extent:nil
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   156
	   label:aLabel icon:aForm
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   157
	   minExtent:minExtent maxExtent:maxExtent
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   158
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   159
48194c26a46c Initial revision
claus
parents:
diff changeset
   160
origin:anOrigin extent:anExtent label:aLabel
81
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   161
    "create a new topView and define its origin, extent and label"
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   162
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   163
    ^ self origin:anOrigin extent:anExtent
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   164
	   label:aLabel icon:nil
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   165
	   minExtent:nil maxExtent:nil
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   166
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   167
48194c26a46c Initial revision
claus
parents:
diff changeset
   168
origin:anOrigin label:aLabel icon:aForm
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   169
		minExtent:minExtent maxExtent:maxExtent
81
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   170
    "create a new topView and define its origin, extent, label, icon
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   171
     and extent-boundaries."
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   172
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   173
    ^ self origin:anOrigin extent:nil
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   174
	   label:aLabel icon:aForm
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   175
	   minExtent:minExtent maxExtent:maxExtent
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   176
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   177
81
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   178
extent:anExtent label:aLabel minExtent:minExtent
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   179
    "create a new topView and define its extent, label and minumum extent"
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   180
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   181
    ^ self origin:nil extent:anExtent
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   182
	   label:aLabel icon:nil
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   183
	   minExtent:minExtent maxExtent:nil
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   184
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   185
48194c26a46c Initial revision
claus
parents:
diff changeset
   186
extent:anExtent label:aLabel icon:aForm
81
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   187
    "create a new topView and define its extent, label and icon"
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   188
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   189
    ^ self origin:nil extent:anExtent
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   190
	   label:aLabel icon:aForm
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   191
	   minExtent:nil maxExtent:nil
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   192
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   193
81
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   194
extent:anExtent label:aLabel icon:aForm minExtent:minExtent
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   195
    ^ self origin:nil extent:anExtent
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   196
	   label:aLabel icon:aForm
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   197
	   minExtent:minExtent maxExtent:nil
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   198
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   199
81
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   200
extent:anExtent label:aLabel icon:aForm minExtent:minExtent maxExtent:maxExtent
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   201
    ^ self origin:nil extent:anExtent
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   202
	   label:aLabel icon:aForm
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   203
	   minExtent:minExtent maxExtent:maxExtent
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   204
! !
48194c26a46c Initial revision
claus
parents:
diff changeset
   205
48194c26a46c Initial revision
claus
parents:
diff changeset
   206
!StandardSystemView methodsFor:'initialization'!
48194c26a46c Initial revision
claus
parents:
diff changeset
   207
48194c26a46c Initial revision
claus
parents:
diff changeset
   208
initialize
81
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   209
    |screenCenter|
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   210
48194c26a46c Initial revision
claus
parents:
diff changeset
   211
    super initialize.
48194c26a46c Initial revision
claus
parents:
diff changeset
   212
48194c26a46c Initial revision
claus
parents:
diff changeset
   213
    self addToCurrentProject.
48194c26a46c Initial revision
claus
parents:
diff changeset
   214
81
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   215
    screenCenter := device center.
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   216
    left := screenCenter x - (width // 2).
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   217
    top := screenCenter y - (height // 2).
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   218
    borderWidth := 2.         "- notice: many window managers ignore this"
110
60c08d82e209 *** empty log message ***
claus
parents: 109
diff changeset
   219
    label isNil ifTrue:[label := self class defaultLabel].
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   220
    minExtent := 10 @ 10.
81
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   221
    maxExtent := (device width) @ (device height).
110
60c08d82e209 *** empty log message ***
claus
parents: 109
diff changeset
   222
    icon isNil ifTrue:[icon := self class defaultIcon].
81
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   223
    name := self class name.
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   224
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   225
89
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   226
initEvents
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   227
    super initEvents.
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   228
    self enableFocusEvents.
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   229
!
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   230
109
ba47d9d6bda8 *** empty log message ***
claus
parents: 94
diff changeset
   231
defaultControllerClass
46
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   232
    "for ST-80 compatibility only - not used in ST/X"
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   233
89
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   234
    ^ nil "/ StandardSystemController
12
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
   235
!
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
   236
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   237
addToCurrentProject
46
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   238
    "add the receiver (a topview) to the current projects set-of-views.
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   239
     (If there is a current project)"
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   240
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   241
    |p|
69
04d0949dc053 *** empty log message ***
claus
parents: 54
diff changeset
   242
04d0949dc053 *** empty log message ***
claus
parents: 54
diff changeset
   243
    "
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   244
     the following check allows systems
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   245
     without projects and changeSets
69
04d0949dc053 *** empty log message ***
claus
parents: 54
diff changeset
   246
    "
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   247
    (Project notNil and:[(p := Project current) notNil]) ifTrue:[
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   248
	p addView: self
69
04d0949dc053 *** empty log message ***
claus
parents: 54
diff changeset
   249
    ]
04d0949dc053 *** empty log message ***
claus
parents: 54
diff changeset
   250
!
12
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
   251
69
04d0949dc053 *** empty log message ***
claus
parents: 54
diff changeset
   252
removeFromCurrentProject
04d0949dc053 *** empty log message ***
claus
parents: 54
diff changeset
   253
    "remove the receiver (a topview) from the current projects set-of-views.
04d0949dc053 *** empty log message ***
claus
parents: 54
diff changeset
   254
     (If there is a current project)"
04d0949dc053 *** empty log message ***
claus
parents: 54
diff changeset
   255
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   256
    |p|
69
04d0949dc053 *** empty log message ***
claus
parents: 54
diff changeset
   257
04d0949dc053 *** empty log message ***
claus
parents: 54
diff changeset
   258
    "
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   259
     the following check allows systems
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   260
     without projects and changeSets
69
04d0949dc053 *** empty log message ***
claus
parents: 54
diff changeset
   261
    "
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   262
    (Project notNil and:[(p := Project current) notNil]) ifTrue:[
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   263
	p removeView:self
12
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
   264
    ]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   265
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   266
24
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   267
reinitialize
46
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   268
    "reopen the receiver if if was visible before.
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   269
     This is called right after snapIn; Notice, that all instance variables
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   270
     (such as shown, realized etc.) are left-overs from the time the snapout
46
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   271
     was done. Remap the receiver, if it was mapped at snapout time"
24
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   272
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   273
    |myController|
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   274
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   275
    "if I have already been reinited - return"
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   276
    drawableId notNil ifTrue:[
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   277
	^ self
24
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   278
    ].
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   279
46
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   280
    "have to kludge with the controller 
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   281
     - otherwise its startup performs unwanted actions ..."
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   282
24
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   283
    myController := controller.
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   284
    controller := nil.
46
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   285
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   286
    "physically create the view & subviews"
24
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   287
    self recreate.
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   288
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   289
    "if I was mapped, do it again"
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   290
    realized ifTrue:[
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   291
	"if it was iconified, try to remap iconified"
89
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   292
	device mapView:self id:drawableId iconified:(shown not) 
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   293
		   atX:left y:top width:width height:height.
24
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   294
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   295
	"and restart the window-group process"
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   296
	windowGroup notNil ifTrue:[
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   297
	    windowGroup restart
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   298
	]
24
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   299
    ].
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   300
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   301
    "restore controller"
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   302
    controller := myController
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   303
!
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   304
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   305
recreate
48194c26a46c Initial revision
claus
parents:
diff changeset
   306
    "recreate the view after a snap-in"
48194c26a46c Initial revision
claus
parents:
diff changeset
   307
24
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   308
    icon := self convertedIcon.
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   309
    super recreate.
46
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   310
24
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   311
    iconView notNil ifTrue:[
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   312
	iconView create.
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   313
	device setWindowIconWindow:iconView in:drawableId
24
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   314
    ] ifFalse:[
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   315
	(icon notNil and:[icon id notNil]) ifTrue:[
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   316
	    device setWindowIcon:icon in:drawableId
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   317
	].
12
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
   318
    ].
24
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   319
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   320
    iconLabel notNil ifTrue:[
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   321
	device setIconName:iconLabel in:drawableId
12
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
   322
    ]
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
   323
!
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
   324
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
   325
reAdjustGeometry
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
   326
    "when we come up on a smaller display, 
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
   327
     make certain, that the receiver is visible"
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
   328
94
8931597dfa3c *** empty log message ***
claus
parents: 89
diff changeset
   329
    |dX dY limitRight limitBottom|
12
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
   330
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
   331
    dX := (device horizontalPixelPerMillimeter * 20) rounded.
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
   332
    dY := (device verticalPixelPerMillimeter * 20) rounded.
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
   333
94
8931597dfa3c *** empty log message ***
claus
parents: 89
diff changeset
   334
    limitRight := device width - dX.
8931597dfa3c *** empty log message ***
claus
parents: 89
diff changeset
   335
    limitBottom := device height - dY.
8931597dfa3c *** empty log message ***
claus
parents: 89
diff changeset
   336
    ((self left > limitRight) or:[
8931597dfa3c *** empty log message ***
claus
parents: 89
diff changeset
   337
      self top > limitBottom]) ifTrue:[
8931597dfa3c *** empty log message ***
claus
parents: 89
diff changeset
   338
	'moving view into visible area' errorPrintNL.
8931597dfa3c *** empty log message ***
claus
parents: 89
diff changeset
   339
	self origin:limitRight @ limitBottom
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   340
    ]
89
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   341
!
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   342
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   343
realize
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   344
    super realize.
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   345
    windowGroup notNil ifTrue:[
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   346
	windowGroup focusSequence:(self focusSequence)
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   347
    ]
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   348
!
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   349
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   350
focusSequence
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   351
    "return a sequence which defines the order in which the focus
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   352
     is passed for FocusNext and FocusPrevious keys.
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   353
     All views which like to support these keys should redefine
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   354
     this method and return a collection of (sub-) views"
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   355
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   356
    ^ nil
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   357
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   358
! !
48194c26a46c Initial revision
claus
parents:
diff changeset
   359
48194c26a46c Initial revision
claus
parents:
diff changeset
   360
!StandardSystemView methodsFor:'destroying'!
48194c26a46c Initial revision
claus
parents:
diff changeset
   361
48194c26a46c Initial revision
claus
parents:
diff changeset
   362
destroy
48194c26a46c Initial revision
claus
parents:
diff changeset
   363
    super destroy.
69
04d0949dc053 *** empty log message ***
claus
parents: 54
diff changeset
   364
    self removeFromCurrentProject
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   365
! !
48194c26a46c Initial revision
claus
parents:
diff changeset
   366
24
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   367
!StandardSystemView methodsFor:'private'!
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   368
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   369
convertedIcon
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   370
    "make certain, that the icon is a b&w bitmap;
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   371
     do so by converting if required.
24
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   372
     Will add a device supportsDeepIcons and only convert when needed;
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   373
     for now, we always have to convert (since there are only Xdisplays)."
24
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   374
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   375
    |deviceIcon|
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   376
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   377
    icon isNil ifTrue:[^ nil].
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   378
81
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   379
    device supportsDeepIcons ifFalse:[
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   380
	icon depth ~~ 1 ifTrue:[
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   381
	    "
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   382
	     dither to monochrome
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   383
	    "
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   384
	    deviceIcon := icon asMonochromeFormOn:device.
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   385
	] ifFalse:[
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   386
	    deviceIcon := icon
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   387
	]
24
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   388
    ].
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   389
    deviceIcon notNil ifTrue:[
81
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   390
	"
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   391
	 get device pixmap (i.e. allocate colors & resource)
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   392
	"
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   393
	deviceIcon := deviceIcon on:device
24
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   394
    ].
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   395
    ^ deviceIcon
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   396
! !
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   397
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   398
!StandardSystemView methodsFor:'realization'!
48194c26a46c Initial revision
claus
parents:
diff changeset
   399
46
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   400
physicalCreate
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   401
    "common code for create & recreate"
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   402
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   403
    drawableId := device 
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   404
		      createWindowFor:self 
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   405
		      origin:(left @ top)
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   406
		      extent:(width @ height)
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   407
		      minExtent:minExtent
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   408
		      maxExtent:maxExtent
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   409
		      borderWidth:borderWidth
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   410
		      subViewOf:nil 
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   411
		      onTop:(self createOnTop)
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   412
		      inputOnly:(self inputOnly)
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   413
		      label:label
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   414
		      cursor:cursor
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   415
		      icon:icon
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   416
		      iconView:iconView.
46
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   417
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   418
    extentChanged := false.
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   419
    originChanged := false.
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   420
81
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   421
    (borderColor notNil and:[borderColor ~~ Black]) ifTrue:[
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   422
	borderColor := borderColor on:device.
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   423
	self setBorderColor
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   424
    ].
81
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   425
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   426
"/  (viewGravity notNil "and:[viewGravity ~~ #NorthWest]") ifTrue:[
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   427
"/        device setWindowGravity:viewGravity in:drawableId
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   428
"/  ].
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   429
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   430
"/  (bitGravity notNil "and:[bitGravity ~~ #NorthWest]") ifTrue:[
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   431
"/      device setBitGravity:bitGravity in:drawableId
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   432
"/  ].
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   433
46
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   434
    borderShape notNil ifTrue:[
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   435
	device setWindowBorderShape:(borderShape id) in:drawableId
46
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   436
    ].
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   437
    viewShape notNil ifTrue:[
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   438
	device setWindowShape:(viewShape id) in:drawableId
46
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   439
    ].
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   440
    (backed notNil and:[backed ~~ false]) ifTrue:[
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   441
	device setBackingStore:backed in:drawableId
46
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   442
    ].
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   443
    saveUnder ifTrue:[
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   444
	device setSaveUnder:true in:drawableId
46
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   445
    ].
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   446
!
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   447
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   448
create
48194c26a46c Initial revision
claus
parents:
diff changeset
   449
    "create - make certain that icon is available"
48194c26a46c Initial revision
claus
parents:
diff changeset
   450
24
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   451
    icon := self convertedIcon.
2
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
   452
    super create.
12
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
   453
2
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
   454
    iconView notNil ifTrue:[
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   455
	iconView create.
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   456
	device setWindowIconWindow:iconView in:drawableId
24
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   457
    ].
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   458
    iconLabel notNil ifTrue:[
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   459
	device setIconName:iconLabel in:drawableId
2
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
   460
    ]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   461
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   462
48194c26a46c Initial revision
claus
parents:
diff changeset
   463
openWithExtent:anExtent
48194c26a46c Initial revision
claus
parents:
diff changeset
   464
    "set extent and open - for ST-80 compatibility"
48194c26a46c Initial revision
claus
parents:
diff changeset
   465
48194c26a46c Initial revision
claus
parents:
diff changeset
   466
    self extent:anExtent.
48194c26a46c Initial revision
claus
parents:
diff changeset
   467
    self open
94
8931597dfa3c *** empty log message ***
claus
parents: 89
diff changeset
   468
!
8931597dfa3c *** empty log message ***
claus
parents: 89
diff changeset
   469
8931597dfa3c *** empty log message ***
claus
parents: 89
diff changeset
   470
openWithPriority:aPriority
8931597dfa3c *** empty log message ***
claus
parents: 89
diff changeset
   471
    "open the view, run the windowgroup process at
8931597dfa3c *** empty log message ***
claus
parents: 89
diff changeset
   472
     other than UserScehdulingPriority"
8931597dfa3c *** empty log message ***
claus
parents: 89
diff changeset
   473
8931597dfa3c *** empty log message ***
claus
parents: 89
diff changeset
   474
    self open.
8931597dfa3c *** empty log message ***
claus
parents: 89
diff changeset
   475
    windowGroup process priority:aPriority.
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   476
! !
48194c26a46c Initial revision
claus
parents:
diff changeset
   477
69
04d0949dc053 *** empty log message ***
claus
parents: 54
diff changeset
   478
!StandardSystemView methodsFor:'misc'!
04d0949dc053 *** empty log message ***
claus
parents: 54
diff changeset
   479
04d0949dc053 *** empty log message ***
claus
parents: 54
diff changeset
   480
withWaitCursorDo:aBlock
04d0949dc053 *** empty log message ***
claus
parents: 54
diff changeset
   481
    "evaluate aBlock while showing a waitCursor in all my views"
04d0949dc053 *** empty log message ***
claus
parents: 54
diff changeset
   482
04d0949dc053 *** empty log message ***
claus
parents: 54
diff changeset
   483
    self withCursor:(Cursor wait) do:aBlock
04d0949dc053 *** empty log message ***
claus
parents: 54
diff changeset
   484
!
04d0949dc053 *** empty log message ***
claus
parents: 54
diff changeset
   485
04d0949dc053 *** empty log message ***
claus
parents: 54
diff changeset
   486
withCursor:aCursor do:aBlock
04d0949dc053 *** empty log message ***
claus
parents: 54
diff changeset
   487
    "evaluate aBlock while showing aCursor in all my views"
04d0949dc053 *** empty log message ***
claus
parents: 54
diff changeset
   488
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   489
    windowGroup notNil ifTrue:[
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   490
	windowGroup withCursor:aCursor do:aBlock
78
1c9c22df3251 *** empty log message ***
claus
parents: 72
diff changeset
   491
    ] ifFalse:[
1c9c22df3251 *** empty log message ***
claus
parents: 72
diff changeset
   492
	super withCursor:aCursor do:aBlock
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   493
    ]
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   494
! !
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   495
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   496
!StandardSystemView methodsFor:'printing & storing'!
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   497
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   498
displayString
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   499
    "just for your convenience in inspectors ..."
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   500
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   501
    |s|
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   502
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   503
    s := super displayString.
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   504
    label isNil ifTrue:[
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   505
	s := s , '(' , label , ')'
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   506
    ].
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   507
    ^ s
69
04d0949dc053 *** empty log message ***
claus
parents: 54
diff changeset
   508
! !
04d0949dc053 *** empty log message ***
claus
parents: 54
diff changeset
   509
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   510
!StandardSystemView methodsFor:'accessing'!
48194c26a46c Initial revision
claus
parents:
diff changeset
   511
82
98a70bce6d51 *** empty log message ***
claus
parents: 81
diff changeset
   512
preferedExtent
98a70bce6d51 *** empty log message ***
claus
parents: 81
diff changeset
   513
    "return my preferred extent - this is the minimum size I would like to have.
98a70bce6d51 *** empty log message ***
claus
parents: 81
diff changeset
   514
     The default here is the classes default extent."
98a70bce6d51 *** empty log message ***
claus
parents: 81
diff changeset
   515
98a70bce6d51 *** empty log message ***
claus
parents: 81
diff changeset
   516
    ^ self class defaultExtent
98a70bce6d51 *** empty log message ***
claus
parents: 81
diff changeset
   517
!
98a70bce6d51 *** empty log message ***
claus
parents: 81
diff changeset
   518
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   519
heightIncludingBorder
48194c26a46c Initial revision
claus
parents:
diff changeset
   520
    "return the views overall-height"
48194c26a46c Initial revision
claus
parents:
diff changeset
   521
48194c26a46c Initial revision
claus
parents:
diff changeset
   522
    ^ height
48194c26a46c Initial revision
claus
parents:
diff changeset
   523
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   524
48194c26a46c Initial revision
claus
parents:
diff changeset
   525
widthIncludingBorder
48194c26a46c Initial revision
claus
parents:
diff changeset
   526
    "return the views overall-width"
48194c26a46c Initial revision
claus
parents:
diff changeset
   527
48194c26a46c Initial revision
claus
parents:
diff changeset
   528
    ^ width
48194c26a46c Initial revision
claus
parents:
diff changeset
   529
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   530
48194c26a46c Initial revision
claus
parents:
diff changeset
   531
label
48194c26a46c Initial revision
claus
parents:
diff changeset
   532
    "return the views name in the title area"
48194c26a46c Initial revision
claus
parents:
diff changeset
   533
48194c26a46c Initial revision
claus
parents:
diff changeset
   534
    ^ label
48194c26a46c Initial revision
claus
parents:
diff changeset
   535
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   536
48194c26a46c Initial revision
claus
parents:
diff changeset
   537
label:aString
48194c26a46c Initial revision
claus
parents:
diff changeset
   538
    "define the views name in the windows title area"
48194c26a46c Initial revision
claus
parents:
diff changeset
   539
48194c26a46c Initial revision
claus
parents:
diff changeset
   540
    label := aString.
48194c26a46c Initial revision
claus
parents:
diff changeset
   541
    drawableId notNil ifTrue: [
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   542
	device setWindowName:aString in:drawableId.
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   543
	"
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   544
	 unbuffered - to make it visible right NOW
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   545
	"
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   546
	device synchronizeOutput.
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   547
    ]
48194c26a46c Initial revision
claus
parents:
diff changeset
   548
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   549
24
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   550
iconLabel
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   551
    "return the name displayed in the icon"
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   552
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   553
    ^ iconLabel
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   554
!
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   555
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   556
iconLabel:aString
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   557
    "define the name to be displayed in the icon"
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   558
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   559
    iconLabel := aString.
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   560
    drawableId notNil ifTrue:[
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   561
	device setIconName:aString in:drawableId.
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   562
	"
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   563
	 unbuffered - to make it visible right NOW
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   564
	"
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   565
	device synchronizeOutput.
24
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   566
    ]
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   567
!
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   568
12
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
   569
name
24
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   570
    "return the topViews label"
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   571
12
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
   572
    ^ label
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
   573
!
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
   574
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   575
icon
48194c26a46c Initial revision
claus
parents:
diff changeset
   576
    "return the form defined as icon"
48194c26a46c Initial revision
claus
parents:
diff changeset
   577
48194c26a46c Initial revision
claus
parents:
diff changeset
   578
    ^ icon
48194c26a46c Initial revision
claus
parents:
diff changeset
   579
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   580
48194c26a46c Initial revision
claus
parents:
diff changeset
   581
icon:aForm
48194c26a46c Initial revision
claus
parents:
diff changeset
   582
    "define the form (bitmap) used as icon"
48194c26a46c Initial revision
claus
parents:
diff changeset
   583
24
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   584
    |invertedIcon i|
12
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
   585
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   586
    icon := aForm.
12
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
   587
    icon notNil ifTrue:[
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   588
	drawableId notNil ifTrue:[
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   589
	    icon depth ~~ 1 ifTrue:[
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   590
		icon := icon asMonochromeFormOn:device.
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   591
	    ].
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   592
	    "icons assume 1s as black - invert icon if the device thinks different"
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   593
	    (device depth == 1 and:[device whitepixel ~~ 0]) ifTrue:[
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   594
		i := icon on:device.
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   595
		i notNil ifTrue:[
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   596
		    invertedIcon := Form width:icon width height:icon height on:device.
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   597
		    invertedIcon function:#copy.
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   598
		    invertedIcon foreground:Color noColor background:Color allColor.
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   599
		    invertedIcon copyFrom:i x:0 y:0 toX:0 y:0 width:icon width height:icon height.
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   600
		    i := invertedIcon.
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   601
		]
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   602
	    ] ifFalse:[
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   603
		i := icon on:device.
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   604
	    ].
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   605
	    (i notNil and:[i id notNil]) ifTrue:[
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   606
		device setWindowIcon:i in:drawableId
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   607
	    ]
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   608
	]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   609
    ]
48194c26a46c Initial revision
claus
parents:
diff changeset
   610
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   611
48194c26a46c Initial revision
claus
parents:
diff changeset
   612
iconView
48194c26a46c Initial revision
claus
parents:
diff changeset
   613
    "return the view used as icon-view"
48194c26a46c Initial revision
claus
parents:
diff changeset
   614
48194c26a46c Initial revision
claus
parents:
diff changeset
   615
    ^ iconView
48194c26a46c Initial revision
claus
parents:
diff changeset
   616
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   617
48194c26a46c Initial revision
claus
parents:
diff changeset
   618
iconView:aView
48194c26a46c Initial revision
claus
parents:
diff changeset
   619
    "specify the view to be used as icon"
48194c26a46c Initial revision
claus
parents:
diff changeset
   620
48194c26a46c Initial revision
claus
parents:
diff changeset
   621
    iconView := aView.
48194c26a46c Initial revision
claus
parents:
diff changeset
   622
    drawableId notNil ifTrue:[
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   623
	aView create.
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   624
	device setWindowIconWindow:aView in:drawableId
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   625
    ]
48194c26a46c Initial revision
claus
parents:
diff changeset
   626
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   627
48194c26a46c Initial revision
claus
parents:
diff changeset
   628
iconName:aString
24
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   629
    "this method will vanish soon ... - for backward compatibility"
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   630
24
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   631
    self iconLabel:aString
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   632
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   633
48194c26a46c Initial revision
claus
parents:
diff changeset
   634
maximumSize:anExtent
24
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   635
    "same as maxExtent: for ST-80 compatibility"
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   636
48194c26a46c Initial revision
claus
parents:
diff changeset
   637
    ^ self maxExtent:anExtent
48194c26a46c Initial revision
claus
parents:
diff changeset
   638
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   639
48194c26a46c Initial revision
claus
parents:
diff changeset
   640
minimumSize:anExtent
24
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   641
    "same as minExtent: for ST-80 compatibility"
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   642
48194c26a46c Initial revision
claus
parents:
diff changeset
   643
    ^ self minExtent:anExtent
48194c26a46c Initial revision
claus
parents:
diff changeset
   644
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   645
48194c26a46c Initial revision
claus
parents:
diff changeset
   646
minExtent
48194c26a46c Initial revision
claus
parents:
diff changeset
   647
    "return the views minimum allowed extent"
48194c26a46c Initial revision
claus
parents:
diff changeset
   648
48194c26a46c Initial revision
claus
parents:
diff changeset
   649
    ^ minExtent
48194c26a46c Initial revision
claus
parents:
diff changeset
   650
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   651
48194c26a46c Initial revision
claus
parents:
diff changeset
   652
minExtent:min
48194c26a46c Initial revision
claus
parents:
diff changeset
   653
    "define the minimum extent the view may have -
48194c26a46c Initial revision
claus
parents:
diff changeset
   654
     depends on good-will of window manager"
48194c26a46c Initial revision
claus
parents:
diff changeset
   655
48194c26a46c Initial revision
claus
parents:
diff changeset
   656
    minExtent := min.
48194c26a46c Initial revision
claus
parents:
diff changeset
   657
    (width notNil and:[height notNil]) ifTrue:[
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   658
	((width < (minExtent x)) or:
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   659
	 [height < (minExtent y)]) ifTrue: [
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   660
	    self extent:minExtent
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   661
	]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   662
    ]
48194c26a46c Initial revision
claus
parents:
diff changeset
   663
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   664
48194c26a46c Initial revision
claus
parents:
diff changeset
   665
maxExtent
48194c26a46c Initial revision
claus
parents:
diff changeset
   666
    "return the views maximum allowed extent"
48194c26a46c Initial revision
claus
parents:
diff changeset
   667
48194c26a46c Initial revision
claus
parents:
diff changeset
   668
    ^ maxExtent
48194c26a46c Initial revision
claus
parents:
diff changeset
   669
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   670
48194c26a46c Initial revision
claus
parents:
diff changeset
   671
maxExtent:max
48194c26a46c Initial revision
claus
parents:
diff changeset
   672
    "define the maximum extent the view may have -
48194c26a46c Initial revision
claus
parents:
diff changeset
   673
     depends on good-will of window manager"
48194c26a46c Initial revision
claus
parents:
diff changeset
   674
48194c26a46c Initial revision
claus
parents:
diff changeset
   675
    maxExtent := max.
48194c26a46c Initial revision
claus
parents:
diff changeset
   676
    (width notNil and:[height notNil]) ifTrue:[
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   677
	((width > (maxExtent x)) or:
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   678
	 [height > (maxExtent y)]) ifTrue: [
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   679
	    self extent:maxExtent
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   680
	]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   681
    ]
48194c26a46c Initial revision
claus
parents:
diff changeset
   682
! !
89
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   683
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   684
!StandardSystemView methodsFor:'event handling'!
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   685
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   686
focusOut
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   687
    "the view lost keyboard focus"
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   688
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   689
    |v|
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   690
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   691
    windowGroup notNil ifTrue:[
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   692
	(v := windowGroup focusView) notNil ifTrue:[
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   693
	    v showNoFocus
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   694
	]
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   695
    ].
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   696
!
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   697
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   698
focusIn
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   699
    "the view got the keyboard focus"
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   700
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   701
    |v|
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   702
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   703
    windowGroup notNil ifTrue:[
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   704
	(v := windowGroup focusView) notNil ifTrue:[
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   705
	    v showFocus
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   706
	]
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   707
    ].
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   708
!
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   709
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   710
mapped
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   711
    "the view got mapped"
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   712
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   713
    super mapped.
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   714
    "
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   715
     ask for the focus - this avoids having to click on the
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   716
     view with WM's which need an explicit click.
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   717
     Q: is this a good idea ?
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   718
    "
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   719
    TakeFocusWhenMapped == true ifTrue:[
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   720
	self getKeyboardFocus.
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   721
    ]
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   722
! !