StdSysV.st
author Claus Gittinger <cg@exept.de>
Sat, 27 Jan 1996 16:35:09 +0100
changeset 385 15fd1c806d2a
parent 328 7bbe05da5769
child 504 bc7734000bd3
permissions -rw-r--r--
pass info if focus change was explicit (i.e. Tab-key) or by window manager.
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
328
7bbe05da5769 activity notification added
Claus Gittinger <cg@exept.de>
parents: 298
diff changeset
    14
	instanceVariableNames:'label icon iconView iconLabel minExtent maxExtent sizeFixed
7bbe05da5769 activity notification added
Claus Gittinger <cg@exept.de>
parents: 298
diff changeset
    15
		application windowEventsForApplication'
7bbe05da5769 activity notification added
Claus Gittinger <cg@exept.de>
parents: 298
diff changeset
    16
	classVariableNames:'DefaultIcon TakeFocusWhenMapped IncludeHostNameInLabel'
7bbe05da5769 activity notification added
Claus Gittinger <cg@exept.de>
parents: 298
diff changeset
    17
	poolDictionaries:''
7bbe05da5769 activity notification added
Claus Gittinger <cg@exept.de>
parents: 298
diff changeset
    18
	category:'Views-Basic'
0
48194c26a46c Initial revision
claus
parents:
diff changeset
    19
!
48194c26a46c Initial revision
claus
parents:
diff changeset
    20
46
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    21
!StandardSystemView class methodsFor:'documentation'!
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    22
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    23
copyright
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    24
"
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    25
 COPYRIGHT (c) 1989 by Claus Gittinger
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
    26
	      All Rights Reserved
0
48194c26a46c Initial revision
claus
parents:
diff changeset
    27
46
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    28
 This software is furnished under a license and may be used
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    29
 only in accordance with the terms of that license and with the
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    30
 inclusion of the above copyright notice.   This software may not
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    31
 be provided or otherwise made available to, or used by, any
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    32
 other person.  No title to or ownership of the software is
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    33
 hereby transferred.
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    34
"
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    35
!
0
48194c26a46c Initial revision
claus
parents:
diff changeset
    36
46
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    37
documentation
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    38
"
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    39
    I represent topViews i.e. those views which have a title-label,
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
    40
    an icon etc. Usually StandardSystemViews are subclassed for
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
    41
    special views.
46
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
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
    45
!StandardSystemView class methodsFor:'instance creation'!
183
claus
parents: 181
diff changeset
    46
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
    47
extent:anExtent label:aLabel icon:aForm
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
    48
    "create a new topView and define its extent, label and icon"
180
claus
parents: 157
diff changeset
    49
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
    50
    ^ self origin:nil extent:anExtent
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
    51
	   label:aLabel icon:aForm
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
    52
	   minExtent:nil maxExtent:nil
81
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
    53
!
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
    54
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
    55
extent:anExtent label:aLabel icon:aForm minExtent:minExtent
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
    56
    ^ self origin:nil extent:anExtent
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
    57
	   label:aLabel icon:aForm
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
    58
	   minExtent:minExtent maxExtent:nil
46
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    59
!
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
    60
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
    61
extent:anExtent label:aLabel icon:aForm minExtent:minExtent maxExtent:maxExtent
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
    62
    ^ self origin:nil extent:anExtent
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
    63
	   label:aLabel icon:aForm
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
    64
	   minExtent:minExtent maxExtent:maxExtent
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
    65
!
0
48194c26a46c Initial revision
claus
parents:
diff changeset
    66
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
    67
extent:anExtent label:aLabel minExtent:minExtent
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
    68
    "create a new topView and define its extent, label and minumum extent"
0
48194c26a46c Initial revision
claus
parents:
diff changeset
    69
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
    70
    ^ self origin:nil extent:anExtent
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
    71
	   label:aLabel icon:nil
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
    72
	   minExtent:minExtent maxExtent:nil
0
48194c26a46c Initial revision
claus
parents:
diff changeset
    73
!
48194c26a46c Initial revision
claus
parents:
diff changeset
    74
48194c26a46c Initial revision
claus
parents:
diff changeset
    75
label:aLabel
48194c26a46c Initial revision
claus
parents:
diff changeset
    76
    "create a new topView and define its label"
48194c26a46c Initial revision
claus
parents:
diff changeset
    77
48194c26a46c Initial revision
claus
parents:
diff changeset
    78
    ^ self origin:nil extent:nil
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
    79
	   label:aLabel icon:nil
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
    80
	   minExtent:nil maxExtent:nil
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
label:aLabel icon:aForm
81
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
    84
    "create a new topView and define its label and icon"
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
    85
0
48194c26a46c Initial revision
claus
parents:
diff changeset
    86
    ^ self origin:nil extent:nil
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
    87
	   label:aLabel icon:aForm
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
    88
	   minExtent:nil maxExtent:nil
0
48194c26a46c Initial revision
claus
parents:
diff changeset
    89
!
48194c26a46c Initial revision
claus
parents:
diff changeset
    90
48194c26a46c Initial revision
claus
parents:
diff changeset
    91
label:aLabel icon:aForm minExtent:anExtent
81
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
    92
    "create a new topView and define its label, icon and minumum extent"
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
    93
0
48194c26a46c Initial revision
claus
parents:
diff changeset
    94
    ^ self origin:nil extent:nil
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
    95
	   label:aLabel icon:aForm
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
    96
	   minExtent:anExtent maxExtent:nil
0
48194c26a46c Initial revision
claus
parents:
diff changeset
    97
!
48194c26a46c Initial revision
claus
parents:
diff changeset
    98
48194c26a46c Initial revision
claus
parents:
diff changeset
    99
label:aLabel icon:aForm minExtent:minExtent maxExtent:maxExtent
81
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   100
    "create a new topView and define its label, icon, min and max extents"
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   101
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   102
    ^ self origin:nil extent:nil
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   103
	   label:aLabel icon:aForm
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   104
	   minExtent:minExtent maxExtent:maxExtent
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   105
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   106
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   107
label:aLabel minExtent:anExtent
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   108
    "create a new topView and define its label and minimum extent"
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   109
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   110
    ^ self origin:nil extent:nil
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   111
	   label:aLabel icon:nil
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   112
	   minExtent:anExtent maxExtent:nil
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   113
!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   114
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   115
model:aModel label:aLabel minimumSize:minExtent
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   116
    "ST80-style instance creation"
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   117
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   118
    |newView|
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   119
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   120
    newView := self origin:nil 
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   121
		    extent:minExtent
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   122
		     label:aLabel 
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   123
		      icon:nil
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   124
		 minExtent:minExtent
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   125
		 maxExtent:nil.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   126
    newView model:aModel.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   127
"/    newView controller:(self defaultControllerClass new view:newView).
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   128
    ^ newView
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   129
!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   130
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   131
origin:anOrigin extent:anExtent label:aLabel
81
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   132
    "create a new topView and define its origin, extent and label"
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   133
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   134
    ^ self origin:anOrigin extent:anExtent
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   135
	   label:aLabel icon:nil
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   136
	   minExtent:nil maxExtent:nil
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   137
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   138
48194c26a46c Initial revision
claus
parents:
diff changeset
   139
origin:anOrigin label:aLabel icon:aForm
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   140
		minExtent:minExtent maxExtent:maxExtent
81
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   141
    "create a new topView and define its origin, extent, label, icon
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   142
     and extent-boundaries."
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   143
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   144
    ^ self origin:anOrigin extent:nil
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   145
	   label:aLabel icon:aForm
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   146
	   minExtent:minExtent maxExtent:maxExtent
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   147
! !
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   148
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   149
!StandardSystemView class methodsFor:'defaults'!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   150
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   151
defaultIcon
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   152
    "return the default icon for views.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   153
     This can be redefined in subclasses or overwritten in
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   154
     initialize methods."
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   155
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   156
    DefaultIcon isNil ifTrue:[
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   157
	DefaultIcon := Image fromFile:'SmalltalkX.xbm'.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   158
	DefaultIcon notNil ifTrue:[
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   159
	    DefaultIcon := DefaultIcon on:Display
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   160
	]
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   161
    ].
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   162
    ^ DefaultIcon
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   163
!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   164
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   165
defaultLabel
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   166
    "return the default label for views of my kind.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   167
     This can be redefined in subclasses or overwritten in
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   168
     initialize methods."
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   169
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   170
    ^ 'aView'
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   171
!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   172
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   173
includeHostNameInLabel
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   174
    "return the flag which controls if a views label should
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   175
     include the hostname.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   176
     This flag is usually set/cleared in your private.rc file;
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   177
     the default is false."
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   178
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   179
    ^ IncludeHostNameInLabel
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   180
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   181
    "Created: 10.9.1995 / 19:21:16 / claus"
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   182
!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   183
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   184
includeHostNameInLabel:aBoolean
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   185
    "set/clear the flag which controls if a views label should
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   186
     include the hostname - this is highly useful if you have 
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   187
     multiple smalltalks open simultaniously ...
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   188
     This flag is usually set/cleared in your private.rc file;
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   189
     the default is false."
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   190
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   191
    IncludeHostNameInLabel := aBoolean
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   192
! !
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   193
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   194
!StandardSystemView class methodsFor:'startup'!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   195
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   196
open
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   197
    "create, realize the view - this topview and all its subviews will
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   198
     run as a separate process with its own windowGroup"
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   199
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   200
    ^ self new open 
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   201
!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   202
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   203
start
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   204
    "create, realize the view - this topview and all its subviews will
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   205
     run as a separate process with its own windowGroup.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   206
     This method exists for backward compatibility - use open."
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   207
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   208
    ^ self open
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   209
! !
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   210
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   211
!StandardSystemView methodsFor:'accessing'!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   212
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   213
application
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   214
    "return the topViews application.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   215
     This is new protocol for ST-80 compatibility and not yet fully supported"
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   216
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   217
    ^ application
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   218
!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   219
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   220
application:anApplicationModel
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   221
    "set the topViews application.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   222
     This is new protocol for ST-80 compatibility and not yet fully supported"
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   223
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   224
    application := anApplicationModel
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   225
!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   226
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   227
bePartner
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   228
    self setWindowGroupFromApplication.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   229
    super bePartner.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   230
298
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   231
    "
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   232
     see example in TopView>>bePartner
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   233
    "
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   234
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   235
    "Created: 22.9.1995 / 17:40:15 / claus"
298
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   236
    "Modified: 10.12.1995 / 13:30:36 / cg"
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   237
!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   238
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   239
beSlave
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   240
    self setWindowGroupFromApplication.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   241
    super beSlave.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   242
298
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   243
    "
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   244
     see example in TopView>>beSlave
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   245
    "
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   246
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   247
    "Created: 22.9.1995 / 17:40:15 / claus"
298
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   248
    "Modified: 10.12.1995 / 13:24:51 / cg"
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   249
!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   250
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   251
icon
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   252
    "return the form defined as icon"
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   253
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   254
    ^ icon
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   255
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   256
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   257
icon:aForm
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   258
    "define the form (bitmap) used as icon"
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   259
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   260
    |invertedIcon i|
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   261
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   262
    icon := aForm.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   263
    icon notNil ifTrue:[
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   264
	drawableId notNil ifTrue:[
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   265
	    icon depth ~~ 1 ifTrue:[
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   266
		icon := icon asMonochromeFormOn:device.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   267
	    ].
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   268
	    "icons assume 1s as black - invert icon if the device thinks different"
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   269
	    (device depth == 1 and:[device whitepixel ~~ 0]) ifTrue:[
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   270
		i := icon on:device.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   271
		i notNil ifTrue:[
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   272
		    invertedIcon := Form width:icon width height:icon height on:device.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   273
		    invertedIcon function:#copy.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   274
		    invertedIcon foreground:Color noColor background:Color allColor.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   275
		    invertedIcon copyFrom:i x:0 y:0 toX:0 y:0 width:icon width height:icon height.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   276
		    i := invertedIcon.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   277
		]
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   278
	    ] ifFalse:[
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   279
		i := icon on:device.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   280
	    ].
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   281
	    (i notNil and:[i id notNil]) ifTrue:[
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   282
		device setWindowIcon:i in:drawableId
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   283
	    ]
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   284
	]
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   285
    ]
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   286
!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   287
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   288
iconLabel
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   289
    "return the name displayed in the icon"
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   290
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   291
    ^ iconLabel
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   292
!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   293
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   294
iconLabel:aString
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   295
    "define the name to be displayed in the icon"
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   296
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   297
    iconLabel := aString.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   298
    drawableId notNil ifTrue:[
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   299
	device setIconName:aString in:drawableId.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   300
	"
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   301
	 unbuffered - to make it visible right NOW
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   302
	"
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   303
	device flush.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   304
    ]
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   305
!
81
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   306
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   307
iconName:aString
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   308
    "this method will vanish soon ... - for backward compatibility"
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   309
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   310
    self iconLabel:aString
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   311
!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   312
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   313
iconView
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   314
    "return the view used as icon-view"
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   315
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   316
    ^ iconView
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   317
!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   318
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   319
iconView:aView
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   320
    "specify the view to be used as icon"
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   321
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   322
    iconView := aView.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   323
    drawableId notNil ifTrue:[
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   324
	aView create.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   325
	device setWindowIconWindow:aView in:drawableId
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   326
    ]
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   327
!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   328
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   329
label
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   330
    "return the views name in the title area"
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   331
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   332
    ^ label
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   333
!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   334
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   335
label:aString
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   336
    "define the views name in the windows title area.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   337
     If IncludeHostNameInLabel is true, prepend the hostname
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   338
     (you will appreciate this, if you are working on multiple
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   339
      machines simultanously - as I do ...)"
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   340
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   341
    |l|
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   342
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   343
    aString ~= label ifTrue:[
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   344
	label := aString.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   345
	drawableId notNil ifTrue: [
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   346
	    IncludeHostNameInLabel == true ifTrue:[
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   347
		l := OperatingSystem getHostName , ': ' , aString.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   348
	    ] ifFalse:[
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   349
		l := aString
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   350
	    ].
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   351
	    device setWindowName:l in:drawableId.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   352
	    "
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   353
	     unbuffered - to make it visible right NOW
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   354
	    "
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   355
	    device flush.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   356
	]
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   357
    ]
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   358
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   359
    "Created: 8.9.1995 / 19:37:06 / claus"
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   360
    "Modified: 8.9.1995 / 19:39:18 / claus"
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   361
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   362
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   363
label:labelString iconLabel:iconLabelString
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   364
    "set both the label and the iconLabel"
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   365
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   366
    self label:labelString.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   367
    self iconLabel:iconLabelString
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   368
!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   369
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   370
maxExtent
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   371
    "return the views maximum allowed extent"
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   372
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   373
    ^ maxExtent
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   374
!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   375
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   376
maxExtent:max
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   377
    "define the maximum extent the view may have -
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   378
     depends on good-will of window manager"
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   379
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   380
    maxExtent := max.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   381
    (width notNil and:[height notNil]) ifTrue:[
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   382
	((width > (maxExtent x)) or:
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   383
	 [height > (maxExtent y)]) ifTrue: [
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   384
	    self extent:maxExtent
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   385
	]
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   386
    ]
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   387
!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   388
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   389
maximumSize:anExtent
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   390
    "same as maxExtent: for ST-80 compatibility"
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   391
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   392
    ^ self maxExtent:anExtent
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   393
!
81
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   394
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   395
minExtent
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   396
    "return the views minimum allowed extent"
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   397
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   398
    ^ minExtent
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   399
!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   400
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   401
minExtent:min
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   402
    "define the minimum extent the view may have -
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   403
     depends on good-will of window manager"
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   404
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   405
    minExtent := min.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   406
    (width notNil and:[height notNil]) ifTrue:[
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   407
	((width < (minExtent x)) or:
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   408
	 [height < (minExtent y)]) ifTrue: [
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   409
	    self extent:minExtent
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   410
	]
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   411
    ]
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   412
!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   413
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   414
minimumSize
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   415
    "same as minExtent for ST-80 compatibility"
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   416
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   417
    ^ self minExtent
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   418
!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   419
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   420
minimumSize:anExtent
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   421
    "same as minExtent: for ST-80 compatibility"
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   422
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   423
    ^ self minExtent:anExtent
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   424
!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   425
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   426
name
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   427
    "return the topViews label"
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   428
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   429
    ^ label
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   430
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   431
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   432
sizeFixed:aBoolean
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   433
    "this prevents the view from resizing itself when realized.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   434
     For normal topViews, this is void, since they dont do this anyway.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   435
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   436
     However, modalBoxes (especially: DialogBoxes) typically resize themselfes 
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   437
     to the preferredExtent of their components. In some cases, this behavior is 
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   438
     not desired and it should be turned off by setting sizeFixed to true.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   439
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   440
     To avoid confusion:
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   441
	This does NOT prevent the window manager from resizing the view, 
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   442
	instead it tells the view to NOT resize ITSELF."
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   443
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   444
    sizeFixed := aBoolean.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   445
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   446
    "example: dialog which resizes itself on #open: 
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   447
	      (thereby ignoring the 200@200 extent)
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   448
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   449
	|dialog|
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   450
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   451
	dialog := Dialog new.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   452
	dialog addInputFieldOn:'' asValue.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   453
	dialog addOkButton.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   454
	dialog extent:200@200.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   455
	dialog open.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   456
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   457
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   458
    using sizeFixed:
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   459
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   460
	|dialog|
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   461
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   462
	dialog := Dialog new.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   463
	dialog addInputFieldOn:'' asValue.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   464
	dialog addOkButton.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   465
	dialog extent:200@200; sizeFixed:true.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   466
	dialog open.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   467
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   468
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   469
    using openWithExtent (also sets sizeFixed):
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   470
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   471
	|dialog|
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   472
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   473
	dialog := Dialog new.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   474
	dialog addInputFieldOn:'' asValue.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   475
	dialog addOkButton.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   476
	dialog openWithExtent:200@200.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   477
    "
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   478
! !
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   479
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   480
!StandardSystemView methodsFor:'destroying'!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   481
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   482
closeRequest 
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   483
    "programmatic close request"
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   484
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   485
    ^ self terminate
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   486
!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   487
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   488
destroy
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   489
    "destroy the view."
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   490
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   491
    self removeFromCurrentProject.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   492
    windowGroup notNil ifTrue:[
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   493
	windowGroup focusSequence:nil.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   494
    ].
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   495
    application notNil ifTrue:[
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   496
	application windowEvent:(#close -> self) from:self
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   497
    ].
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   498
    super destroy.
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   499
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   500
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   501
saveAndTerminate
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   502
    "save & terminate request from the windowManager. The application should 
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   503
     save its data/files/text etc. somehow and close.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   504
     If there is an application, let it decide how do do that.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   505
     Otherwise, forward it to superclasses which knows how to do this.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   506
     (it defaults to a terminate there).
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   507
     Notice, that not all windowmanagers are nice enough
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   508
     to send this request; some simply distroy the view."
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   509
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   510
    application notNil ifTrue:[
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   511
	application saveAndTerminateRequest
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   512
    ] ifFalse:[
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   513
	super saveAndTerminate
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   514
    ]
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   515
!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   516
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   517
terminate
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   518
    "terminate request from the windowManager. If there is an application,
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   519
     let it decide if it really wants to be close. Otherwise, forward it to
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   520
     superclasses terminate which knows how to do this.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   521
     Notice, that not all windowmanagers are nice enough
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   522
     to send this request; some simply distroy the view."
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   523
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   524
    application notNil ifTrue:[
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   525
	application closeRequest
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   526
    ] ifFalse:[
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   527
	super terminate
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   528
    ]
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   529
! !
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   530
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   531
!StandardSystemView methodsFor:'event handling'!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   532
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   533
focusIn
385
15fd1c806d2a pass info if focus change was explicit (i.e. Tab-key) or by window manager.
Claus Gittinger <cg@exept.de>
parents: 328
diff changeset
   534
    "the view got the keyboard focus (via the window manager)"
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   535
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   536
    |v|
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   537
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   538
    windowGroup notNil ifTrue:[
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   539
	(v := windowGroup focusView) notNil ifTrue:[
385
15fd1c806d2a pass info if focus change was explicit (i.e. Tab-key) or by window manager.
Claus Gittinger <cg@exept.de>
parents: 328
diff changeset
   540
	    v showFocus:false.
15fd1c806d2a pass info if focus change was explicit (i.e. Tab-key) or by window manager.
Claus Gittinger <cg@exept.de>
parents: 328
diff changeset
   541
	    ^ self
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   542
	]
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   543
    ].
385
15fd1c806d2a pass info if focus change was explicit (i.e. Tab-key) or by window manager.
Claus Gittinger <cg@exept.de>
parents: 328
diff changeset
   544
    delegate notNil ifTrue:[
15fd1c806d2a pass info if focus change was explicit (i.e. Tab-key) or by window manager.
Claus Gittinger <cg@exept.de>
parents: 328
diff changeset
   545
	delegate showFocus:false.
15fd1c806d2a pass info if focus change was explicit (i.e. Tab-key) or by window manager.
Claus Gittinger <cg@exept.de>
parents: 328
diff changeset
   546
    ]
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   547
!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   548
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   549
focusOut
385
15fd1c806d2a pass info if focus change was explicit (i.e. Tab-key) or by window manager.
Claus Gittinger <cg@exept.de>
parents: 328
diff changeset
   550
    "the view lost keyboard focus (via the window manager)"
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   551
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   552
    |v|
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   553
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   554
    windowGroup notNil ifTrue:[
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   555
	(v := windowGroup focusView) notNil ifTrue:[
385
15fd1c806d2a pass info if focus change was explicit (i.e. Tab-key) or by window manager.
Claus Gittinger <cg@exept.de>
parents: 328
diff changeset
   556
	    v showNoFocus:false.
15fd1c806d2a pass info if focus change was explicit (i.e. Tab-key) or by window manager.
Claus Gittinger <cg@exept.de>
parents: 328
diff changeset
   557
	    ^ self
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   558
	]
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   559
    ].
385
15fd1c806d2a pass info if focus change was explicit (i.e. Tab-key) or by window manager.
Claus Gittinger <cg@exept.de>
parents: 328
diff changeset
   560
    delegate notNil ifTrue:[
15fd1c806d2a pass info if focus change was explicit (i.e. Tab-key) or by window manager.
Claus Gittinger <cg@exept.de>
parents: 328
diff changeset
   561
	delegate showNoFocus:false.
15fd1c806d2a pass info if focus change was explicit (i.e. Tab-key) or by window manager.
Claus Gittinger <cg@exept.de>
parents: 328
diff changeset
   562
    ]
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   563
!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   564
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   565
mapped
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   566
    "the view got mapped"
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   567
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   568
    super mapped.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   569
    "
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   570
     ask for the focus - this avoids having to click on the
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   571
     view with WM's which need an explicit click.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   572
     Q: is this a good idea ?
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   573
    "
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   574
    TakeFocusWhenMapped == true ifTrue:[
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   575
	self getKeyboardFocus.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   576
    ]
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   577
!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   578
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   579
sendWindowEvents:collectionOfEventSymbols
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   580
    "define the events that are to be forwarded to the application.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   581
     This is being implemented ..."
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   582
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   583
    windowEventsForApplication := collectionOfEventSymbols
328
7bbe05da5769 activity notification added
Claus Gittinger <cg@exept.de>
parents: 298
diff changeset
   584
!
7bbe05da5769 activity notification added
Claus Gittinger <cg@exept.de>
parents: 298
diff changeset
   585
7bbe05da5769 activity notification added
Claus Gittinger <cg@exept.de>
parents: 298
diff changeset
   586
showActivity:someMessage
7bbe05da5769 activity notification added
Claus Gittinger <cg@exept.de>
parents: 298
diff changeset
   587
    application notNil ifTrue:[
385
15fd1c806d2a pass info if focus change was explicit (i.e. Tab-key) or by window manager.
Claus Gittinger <cg@exept.de>
parents: 328
diff changeset
   588
	application showActivity:someMessage
328
7bbe05da5769 activity notification added
Claus Gittinger <cg@exept.de>
parents: 298
diff changeset
   589
    ]
7bbe05da5769 activity notification added
Claus Gittinger <cg@exept.de>
parents: 298
diff changeset
   590
7bbe05da5769 activity notification added
Claus Gittinger <cg@exept.de>
parents: 298
diff changeset
   591
    "Created: 16.12.1995 / 18:40:44 / cg"
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   592
! !
48194c26a46c Initial revision
claus
parents:
diff changeset
   593
48194c26a46c Initial revision
claus
parents:
diff changeset
   594
!StandardSystemView methodsFor:'initialization'!
48194c26a46c Initial revision
claus
parents:
diff changeset
   595
48194c26a46c Initial revision
claus
parents:
diff changeset
   596
addToCurrentProject
46
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   597
    "add the receiver (a topview) to the current projects set-of-views.
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   598
     (If there is a current project)"
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   599
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   600
    |p|
69
04d0949dc053 *** empty log message ***
claus
parents: 54
diff changeset
   601
04d0949dc053 *** empty log message ***
claus
parents: 54
diff changeset
   602
    "
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   603
     the following check allows systems
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   604
     without projects and changeSets
69
04d0949dc053 *** empty log message ***
claus
parents: 54
diff changeset
   605
    "
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   606
    (Project notNil and:[(p := Project current) notNil]) ifTrue:[
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   607
	p addView: self
69
04d0949dc053 *** empty log message ***
claus
parents: 54
diff changeset
   608
    ]
04d0949dc053 *** empty log message ***
claus
parents: 54
diff changeset
   609
!
12
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
   610
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   611
defaultControllerClass
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   612
    "for ST-80 compatibility only - not used in ST/X"
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   613
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   614
    ^ nil "/ StandardSystemController
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   615
!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   616
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   617
initEvents
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   618
    super initEvents.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   619
    self enableFocusEvents.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   620
!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   621
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   622
initialize
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   623
    super initialize.
69
04d0949dc053 *** empty log message ***
claus
parents: 54
diff changeset
   624
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   625
    borderWidth := 2.         "- notice: many window managers ignore this"
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   626
    minExtent := 10 @ 10.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   627
    maxExtent := (device width) @ (device height).
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   628
    label isNil ifTrue:[label := self class defaultLabel].
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   629
    icon isNil ifTrue:[icon := self class defaultIcon].
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   630
    name := self class name.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   631
!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   632
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   633
reAdjustGeometry
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   634
    "when we come up on a smaller display, 
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   635
     make certain, that the receiver is visible"
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   636
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   637
    |dX dY limitRight limitBottom|
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   638
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   639
    dX := (device horizontalPixelPerMillimeter * 20) rounded.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   640
    dY := (device verticalPixelPerMillimeter * 20) rounded.
69
04d0949dc053 *** empty log message ***
claus
parents: 54
diff changeset
   641
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   642
    limitRight := device width - dX.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   643
    limitBottom := device height - dY.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   644
    ((self left > limitRight) or:[
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   645
      self top > limitBottom]) ifTrue:[
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   646
	'moving view into visible area' errorPrintNL.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   647
	self origin:limitRight @ limitBottom
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   648
    ]
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   649
!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   650
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   651
realize
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   652
    "realize the view i.e. make it visible."
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   653
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   654
    super realize.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   655
    windowGroup notNil ifTrue:[
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   656
	"/
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   657
	"/ have to wait till now with focus-setting, 
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   658
	"/ up to now, I may have had no windowGroup (its set in realize)
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   659
	"/
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   660
	windowGroup focusSequence:self focusSequence.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   661
	"/
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   662
	"/ let the application add its views to the current project
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   663
	"/
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   664
	application notNil ifTrue:[
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   665
	    application opened.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   666
	] ifFalse:[
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   667
	    self addToCurrentProject.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   668
	].
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   669
    ]
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   670
!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   671
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   672
recreate
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   673
    "recreate the view after a snap-in"
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   674
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   675
    icon := self convertedIcon.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   676
    super recreate.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   677
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   678
    iconView notNil ifTrue:[
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   679
	iconView create.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   680
	device setWindowIconWindow:iconView in:drawableId
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   681
    ] ifFalse:[
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   682
	(icon notNil and:[icon id notNil]) ifTrue:[
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   683
	    device setWindowIcon:icon in:drawableId
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   684
	].
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   685
    ].
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   686
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   687
    iconLabel notNil ifTrue:[
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   688
	device setIconName:iconLabel in:drawableId
12
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
   689
    ]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   690
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   691
24
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   692
reinitialize
46
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   693
    "reopen the receiver if if was visible before.
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   694
     This is called right after snapIn; Notice, that all instance variables
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   695
     (such as shown, realized etc.) are left-overs from the time the snapout
46
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   696
     was done. Remap the receiver, if it was mapped at snapout time"
24
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   697
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   698
    |myController|
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   699
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   700
    "if I have already been reinited - return"
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   701
    drawableId notNil ifTrue:[
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   702
	^ self
24
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   703
    ].
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   704
46
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   705
    "have to kludge with the controller 
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   706
     - otherwise its startup performs unwanted actions ..."
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   707
24
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   708
    myController := controller.
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   709
    controller := nil.
46
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   710
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   711
    "physically create the view & subviews"
24
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   712
    self recreate.
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   713
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   714
    "if I was mapped, do it again"
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   715
    realized ifTrue:[
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   716
	"if it was iconified, try to remap iconified"
89
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   717
	device mapView:self id:drawableId iconified:(shown not) 
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   718
		   atX:left y:top width:width height:height.
24
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   719
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   720
	"and restart the window-group process"
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   721
	windowGroup notNil ifTrue:[
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   722
	    windowGroup restart
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   723
	]
24
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   724
    ].
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   725
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   726
    "restore controller"
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   727
    controller := myController
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   728
!
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   729
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   730
removeFromCurrentProject
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   731
    "remove the receiver (a topview) from the current projects set-of-views.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   732
     (If there is a current project)"
46
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   733
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   734
    |p|
12
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
   735
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   736
    "
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   737
     the following check allows systems
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   738
     without projects and changeSets
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   739
    "
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   740
    (Project notNil and:[(p := Project current) notNil]) ifTrue:[
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   741
	p removeView:self
89
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   742
    ]
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   743
!
ea2bf46eb669 *** empty log message ***
claus
parents: 82
diff changeset
   744
140
claus
parents: 135
diff changeset
   745
restarted
claus
parents: 135
diff changeset
   746
    "sent by my windowGroup, when restarted from an image.
claus
parents: 135
diff changeset
   747
     Nothing done here, but can be redefined to perform any actions
claus
parents: 135
diff changeset
   748
     required to reset the application after an image-restart.
claus
parents: 135
diff changeset
   749
     (for example: check if application files are still around, restart
claus
parents: 135
diff changeset
   750
     subprocesses etc.)."
claus
parents: 135
diff changeset
   751
claus
parents: 135
diff changeset
   752
    application notNil ifTrue:[
claus
parents: 135
diff changeset
   753
	application restarted
claus
parents: 135
diff changeset
   754
    ].
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   755
! !
48194c26a46c Initial revision
claus
parents:
diff changeset
   756
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   757
!StandardSystemView methodsFor:'printing & storing'!
142
claus
parents: 141
diff changeset
   758
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   759
displayString
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   760
    "just for your convenience in inspectors ...
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   761
     ... add the views label to the displayString."
142
claus
parents: 141
diff changeset
   762
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   763
    |s|
142
claus
parents: 141
diff changeset
   764
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   765
    s := super displayString.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   766
    label notNil ifTrue:[
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   767
	s := s , '(' , label , ')'
157
claus
parents: 153
diff changeset
   768
    ].
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   769
    ^ s
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   770
! !
48194c26a46c Initial revision
claus
parents:
diff changeset
   771
24
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   772
!StandardSystemView methodsFor:'private'!
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   773
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   774
convertedIcon
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   775
    "make certain, that the icon is a b&w bitmap;
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   776
     do so by converting if required.
24
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   777
     Will add a device supportsDeepIcons and only convert when needed;
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   778
     for now, we always have to convert (since there are only Xdisplays)."
24
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   779
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   780
    |deviceIcon|
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   781
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   782
    icon isNil ifTrue:[^ nil].
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   783
81
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   784
    device supportsDeepIcons ifFalse:[
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   785
	icon depth ~~ 1 ifTrue:[
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   786
	    "
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   787
	     dither to monochrome
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   788
	    "
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   789
	    deviceIcon := icon asMonochromeFormOn:device.
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   790
	] ifFalse:[
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   791
	    deviceIcon := icon
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   792
	]
24
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   793
    ].
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   794
    deviceIcon notNil ifTrue:[
81
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   795
	"
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   796
	 get device pixmap (i.e. allocate colors & resource)
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   797
	"
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   798
	deviceIcon := deviceIcon on:device
24
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   799
    ].
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   800
    ^ deviceIcon
193
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   801
!
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   802
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   803
setWindowGroupFromApplication
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   804
    |win|
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   805
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   806
    windowGroup isNil ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   807
	application notNil ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   808
	    (win := application window) notNil ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   809
		windowGroup := win windowGroup.
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   810
	    ]
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   811
	]
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   812
    ].
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   813
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   814
    "Created: 22.9.1995 / 17:40:36 / claus"
24
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   815
! !
e810b1be068b *** empty log message ***
claus
parents: 21
diff changeset
   816
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   817
!StandardSystemView methodsFor:'queries'!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   818
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   819
focusSequence
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   820
    "return a sequence which defines the order in which the focus
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   821
     is passed for FocusNext and FocusPrevious keys.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   822
     All views which like to support these keys should redefine
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   823
     this method and return a collection of (sub-) views.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   824
     Or, if the model is some applicationModel, it may itself define
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   825
     the focusSequence.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   826
     Notice: I dont think this is good style: the focusSequence seems
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   827
     to belong into the controller, ..."
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   828
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   829
    "/
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   830
    "/ if I have an application, its supposed to
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   831
    "/ know about the focusSequence
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   832
    "/
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   833
    application notNil ifTrue:[
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   834
	^ application focusSequence
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   835
    ].
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   836
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   837
    (model notNil
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   838
    and:[(model respondsTo:#focusSequence)
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   839
    and:[model ~~ self]]) ifTrue:[
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   840
	^ model focusSequence
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   841
    ].
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   842
    ^ nil
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   843
!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   844
298
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   845
isModal
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   846
    windowGroup isNil ifTrue:[^ false].
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   847
    ^ windowGroup isModal
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   848
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   849
    "Created: 10.12.1995 / 13:11:17 / cg"
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   850
!
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   851
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   852
processName
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   853
    "return a string to be shown for my process in the
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   854
     process monitor"
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   855
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   856
    application notNil ifTrue:[
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   857
	^ application processName
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   858
    ].
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   859
    label notNil ifTrue:[^ label].
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   860
    ^ super processName
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   861
! !
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   862
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   863
!StandardSystemView methodsFor:'realization'!
48194c26a46c Initial revision
claus
parents:
diff changeset
   864
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   865
create
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   866
    "create - make certain that icon is available"
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   867
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   868
    icon := self convertedIcon.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   869
    super create.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   870
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   871
    iconView notNil ifTrue:[
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   872
	iconView create.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   873
	device setWindowIconWindow:iconView in:drawableId
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   874
    ].
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   875
    iconLabel notNil ifTrue:[
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   876
	device setIconName:iconLabel in:drawableId
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   877
    ]
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   878
!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   879
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   880
openWithPriority:aPriority
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   881
    "open the view, run the windowgroup process at
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   882
     other than UserScehdulingPriority."
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   883
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   884
    self open.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   885
    windowGroup process priority:aPriority.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   886
!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   887
46
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   888
physicalCreate
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   889
    "common code for create & recreate"
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   890
183
claus
parents: 181
diff changeset
   891
    |l|
claus
parents: 181
diff changeset
   892
claus
parents: 181
diff changeset
   893
    IncludeHostNameInLabel == true ifTrue:[
claus
parents: 181
diff changeset
   894
	l := OperatingSystem getHostName , ': ' , label.
claus
parents: 181
diff changeset
   895
    ] ifFalse:[
claus
parents: 181
diff changeset
   896
	l := label
claus
parents: 181
diff changeset
   897
    ].
claus
parents: 181
diff changeset
   898
46
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   899
    drawableId := device 
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   900
		      createWindowFor:self 
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   901
		      origin:(left @ top)
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   902
		      extent:(width @ height)
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   903
		      minExtent:minExtent
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   904
		      maxExtent:maxExtent
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   905
		      borderWidth:borderWidth
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   906
		      subViewOf:nil 
157
claus
parents: 153
diff changeset
   907
		      onTop:(self isPopUpView)
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   908
		      inputOnly:(self inputOnly)
183
claus
parents: 181
diff changeset
   909
		      label:l
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   910
		      cursor:cursor
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   911
		      icon:icon
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   912
		      iconView:iconView.
46
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   913
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   914
    extentChanged := false.
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   915
    originChanged := false.
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   916
81
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   917
    (borderColor notNil and:[borderColor ~~ Black]) ifTrue:[
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   918
	borderColor := borderColor on:device.
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   919
	self setBorderColor
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   920
    ].
81
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   921
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   922
"/  (viewGravity notNil "and:[viewGravity ~~ #NorthWest]") ifTrue:[
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   923
"/        device setWindowGravity:viewGravity in:drawableId
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   924
"/  ].
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   925
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   926
"/  (bitGravity notNil "and:[bitGravity ~~ #NorthWest]") ifTrue:[
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   927
"/      device setBitGravity:bitGravity in:drawableId
4ba554473294 *** empty log message ***
claus
parents: 78
diff changeset
   928
"/  ].
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   929
46
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   930
    borderShape notNil ifTrue:[
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   931
	device setWindowBorderShape:(borderShape id) in:drawableId
46
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   932
    ].
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   933
    viewShape notNil ifTrue:[
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   934
	device setWindowShape:(viewShape id) in:drawableId
46
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   935
    ].
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   936
    (backed notNil and:[backed ~~ false]) ifTrue:[
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   937
	device setBackingStore:backed in:drawableId
46
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   938
    ].
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   939
    saveUnder ifTrue:[
72
3e84121988c3 *** empty log message ***
claus
parents: 69
diff changeset
   940
	device setSaveUnder:true in:drawableId
46
7b331e9012fd *** empty log message ***
claus
parents: 24
diff changeset
   941
    ].
141
claus
parents: 140
diff changeset
   942
! !
claus
parents: 140
diff changeset
   943
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   944
!StandardSystemView class methodsFor:'documentation'!
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   945
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   946
version
385
15fd1c806d2a pass info if focus change was explicit (i.e. Tab-key) or by window manager.
Claus Gittinger <cg@exept.de>
parents: 328
diff changeset
   947
    ^ '$Header: /cvs/stx/stx/libview/Attic/StdSysV.st,v 1.40 1996-01-27 15:35:07 cg Exp $'
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   948
! !