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