TopView.st
author Claus Gittinger <cg@exept.de>
Thu, 28 Mar 2013 11:32:04 +0100
changeset 6033 4e9ab193b90f
parent 5971 7f45b30da64a
child 6135 e304eed84588
permissions -rw-r--r--
moved assignKeyboardFocus stuff from topView to View, to allow for applicationSubviews to do this also (when adding an application with textViews in it, as in the fileBrowser, when double clicking in the search list)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
135
claus
parents:
diff changeset
     1
"
claus
parents:
diff changeset
     2
 COPYRIGHT (c) 1995 by Claus Gittinger
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
     3
	      All Rights Reserved
135
claus
parents:
diff changeset
     4
claus
parents:
diff changeset
     5
 This software is furnished under a license and may be used
claus
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
claus
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
claus
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
claus
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
claus
parents:
diff changeset
    10
 hereby transferred.
claus
parents:
diff changeset
    11
"
3347
e7b8350d6525 ismodal moved up;
ca
parents: 3152
diff changeset
    12
"{ Package: 'stx:libview' }"
e7b8350d6525 ismodal moved up;
ca
parents: 3152
diff changeset
    13
135
claus
parents:
diff changeset
    14
View subclass:#TopView
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
    15
	instanceVariableNames:'type iconified keyboardProcessor'
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
    16
	classVariableNames:'TakeFocusWhenMapped ForceModalBoxesToOpenAtCenter
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
    17
		ForceModalBoxesToOpenAtPointer MasterSlaveMask WindowTypeMask
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
    18
		TypeMaster TypeSlave TypePartner TypeDialog TypePopUp
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
    19
		TypeUndecorated TypeToolWindow TypeToolDialog MDIClientMask
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
    20
		MDIClient TypeScreenDialog CurrentWindowMoveStart
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
    21
		CurrentWindowMoveState CurrentWindowBeingMoved'
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
    22
	poolDictionaries:''
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
    23
	category:'Views-Basic'
135
claus
parents:
diff changeset
    24
!
claus
parents:
diff changeset
    25
1160
5eb12a5b8100 resource spec updated
Claus Gittinger <cg@exept.de>
parents: 966
diff changeset
    26
!TopView class methodsFor:'documentation'!
135
claus
parents:
diff changeset
    27
claus
parents:
diff changeset
    28
copyright
claus
parents:
diff changeset
    29
"
claus
parents:
diff changeset
    30
 COPYRIGHT (c) 1995 by Claus Gittinger
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
    31
	      All Rights Reserved
135
claus
parents:
diff changeset
    32
claus
parents:
diff changeset
    33
 This software is furnished under a license and may be used
claus
parents:
diff changeset
    34
 only in accordance with the terms of that license and with the
claus
parents:
diff changeset
    35
 inclusion of the above copyright notice.   This software may not
claus
parents:
diff changeset
    36
 be provided or otherwise made available to, or used by, any
claus
parents:
diff changeset
    37
 other person.  No title to or ownership of the software is
claus
parents:
diff changeset
    38
 hereby transferred.
claus
parents:
diff changeset
    39
"
claus
parents:
diff changeset
    40
!
claus
parents:
diff changeset
    41
claus
parents:
diff changeset
    42
documentation
claus
parents:
diff changeset
    43
"
claus
parents:
diff changeset
    44
    I am an abstract superclass of StandardSystemView and PopUpView;
claus
parents:
diff changeset
    45
    i.e. views which have no superview.
616
56cf67c82664 documentation
Claus Gittinger <cg@exept.de>
parents: 597
diff changeset
    46
625
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
    47
    Do not get confused by the name TopView - your applications
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
    48
    topViews are typically instances of StandardSystemView.
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
    49
1396
d9bfda85ef2b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1353
diff changeset
    50
    [instance variables:]
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
    51
	type            <Integer>       encodes master/slave relationship:
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
    52
					    #normal, #master, #slave or #partner
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
    53
					for modeless views
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
    54
					(the #master-, #slave- or #partner-type links multiple views
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
    55
					 into a windowManagers windowGroup -> for de-iconification)
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
    56
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
    57
					encodes window type:
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
    58
					    #normal, #dialog, #popup, #undecorated
625
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
    59
616
56cf67c82664 documentation
Claus Gittinger <cg@exept.de>
parents: 597
diff changeset
    60
    [see also:]
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
    61
	StandardSystemView PopUpView DialogBox
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
    62
	( introduction to view programming :html: programming/viewintro.html )
616
56cf67c82664 documentation
Claus Gittinger <cg@exept.de>
parents: 597
diff changeset
    63
56cf67c82664 documentation
Claus Gittinger <cg@exept.de>
parents: 597
diff changeset
    64
    [author:]
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
    65
	Claus Gittinger
135
claus
parents:
diff changeset
    66
"
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
    67
!
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
    68
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
    69
examples
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
    70
"
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
    71
  Notice, the following examples only demonstrate the windos style (not its modal behavior).
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
    72
  the style is controlled by the systems windowManager, and might even be ignored by some.
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
    73
  (for example, the dialog- and normal styles often look the same).
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
    74
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
    75
  The bahavior is controlled by ST/X, and controlled by the open vs. openModeless vs. openModal message.
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
    76
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
    77
  Modeless:
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
    78
    regular style:
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
    79
							    [exBegin]
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
    80
	|v|
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
    81
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
    82
	v := TopView new.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
    83
	v extent:200@200.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
    84
	v open
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
    85
							    [exEnd]
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
    86
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
    87
    dialog:
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
    88
							    [exBegin]
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
    89
	|v|
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
    90
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
    91
	v := TopView new.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
    92
	v beDialogView.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
    93
	v extent:200@200.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
    94
	v open
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
    95
	Delay waitForSeconds:10. v destroy.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
    96
							    [exEnd]
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
    97
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
    98
    popUp (always on top):
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
    99
							    [exBegin]
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   100
	|v|
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   101
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   102
	v := TopView new.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   103
	v bePopUpView.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   104
	v extent:200@200.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   105
	v open.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   106
	Delay waitForSeconds:10. v destroy.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   107
							    [exEnd]
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   108
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   109
    undecorated (looks loke popUp, but is not always on top):
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   110
							    [exBegin]
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   111
	|v|
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   112
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   113
	v := TopView new.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   114
	v beUndecorated.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   115
	v extent:200@200.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   116
	v open.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   117
	Delay waitForSeconds:10. v destroy.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   118
							    [exEnd]
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   119
4254
4e1ead8d389a *** empty log message ***
ca
parents: 4191
diff changeset
   120
    toolwindow (looks loke normal, but has smaller windowTitle-area on win32):
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   121
							    [exBegin]
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   122
	|v|
4254
4e1ead8d389a *** empty log message ***
ca
parents: 4191
diff changeset
   123
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   124
	v := TopView new.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   125
	v beToolWindow.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   126
	v extent:200@200.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   127
	v open.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   128
	Delay waitForSeconds:10. v destroy.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   129
							    [exEnd]
4254
4e1ead8d389a *** empty log message ***
ca
parents: 4191
diff changeset
   130
4256
323ae7edb0fe *** empty log message ***
ca
parents: 4255
diff changeset
   131
    toolwindow dialog (looks loke normal, but has smaller windowTitle-area on win32):
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   132
							    [exBegin]
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   133
	|v|
4256
323ae7edb0fe *** empty log message ***
ca
parents: 4255
diff changeset
   134
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   135
	v := TopView new.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   136
	v beToolDialog.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   137
	v extent:200@200.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   138
	v open.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   139
	Delay waitForSeconds:10. v destroy.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   140
							    [exEnd]
4256
323ae7edb0fe *** empty log message ***
ca
parents: 4255
diff changeset
   141
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   142
  Modal:
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   143
    regular style:
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   144
							    [exBegin]
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   145
	|v|
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   146
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   147
	v := TopView new.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   148
	v extent:200@200.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   149
	v openModal
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   150
							    [exEnd]
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   151
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   152
    dialog:
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   153
							    [exBegin]
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   154
	|v|
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   155
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   156
	v := TopView new.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   157
	v beDialogView.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   158
	v extent:200@200.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   159
	v openModal
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   160
							    [exEnd]
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   161
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   162
    popUp (always on top):
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   163
							    [exBegin]
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   164
	|v|
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   165
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   166
	v := TopView new.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   167
	v bePopUpView.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   168
	v extent:200@200.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   169
	v openModal
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   170
							    [exEnd]
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   171
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   172
    undecorated (looks loke popUp, but is not always on top):
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   173
							    [exBegin]
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   174
	|v|
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   175
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   176
	v := TopView new.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   177
	v beUndecorated.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   178
	v extent:200@200.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   179
	v openModal
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   180
							    [exEnd]
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   181
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   182
"
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   183
! !
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   184
5720
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   185
!TopView class methodsFor:'accessing'!
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   186
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   187
currentWindowBeingMoved
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   188
    "the current window move operation 
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   189
     (only used with modeless popup windows; i.e. windows without decoration,
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   190
      which want to be moved by click-motion on the background)"
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   191
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   192
    ^ CurrentWindowBeingMoved
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   193
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   194
    "Created: / 03-03-2011 / 19:20:34 / cg"
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   195
! !
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   196
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   197
!TopView class methodsFor:'class initialization'!
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   198
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   199
initialize
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   200
    MasterSlaveMask := 16r0F.
4498
Claus Gittinger <cg@exept.de>
parents: 4438
diff changeset
   201
     TypeMaster      := 16r01.
Claus Gittinger <cg@exept.de>
parents: 4438
diff changeset
   202
     TypeSlave       := 16r02.
Claus Gittinger <cg@exept.de>
parents: 4438
diff changeset
   203
     TypePartner     := 16r03.
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   204
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   205
    WindowTypeMask  := 16rF0.
4498
Claus Gittinger <cg@exept.de>
parents: 4438
diff changeset
   206
     TypeDialog      := 16r10.
Claus Gittinger <cg@exept.de>
parents: 4438
diff changeset
   207
     TypePopUp       := 16r20.
Claus Gittinger <cg@exept.de>
parents: 4438
diff changeset
   208
     TypeUndecorated := 16r30.
Claus Gittinger <cg@exept.de>
parents: 4438
diff changeset
   209
     TypeToolWindow  := 16r40.
Claus Gittinger <cg@exept.de>
parents: 4438
diff changeset
   210
     TypeToolDialog  := 16r50.
4798
096226757fdd + beScreenDialog
Michael Beyl <mb@exept.de>
parents: 4570
diff changeset
   211
     TypeScreenDialog:= 16r60.
4498
Claus Gittinger <cg@exept.de>
parents: 4438
diff changeset
   212
Claus Gittinger <cg@exept.de>
parents: 4438
diff changeset
   213
    MDIClientMask   := 16r100.
Claus Gittinger <cg@exept.de>
parents: 4438
diff changeset
   214
     MDIClient       := 16r100.
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   215
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   216
    "
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   217
     self initialize
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   218
    "
135
claus
parents:
diff changeset
   219
! !
claus
parents:
diff changeset
   220
1160
5eb12a5b8100 resource spec updated
Claus Gittinger <cg@exept.de>
parents: 966
diff changeset
   221
!TopView class methodsFor:'defaults'!
135
claus
parents:
diff changeset
   222
claus
parents:
diff changeset
   223
defaultExtent
586
b91f10f632d5 commentary
Claus Gittinger <cg@exept.de>
parents: 510
diff changeset
   224
    "return the default extent of my instances.
b91f10f632d5 commentary
Claus Gittinger <cg@exept.de>
parents: 510
diff changeset
   225
     Topviews extents is 2/3 of screen by default"
135
claus
parents:
diff changeset
   226
153
claus
parents: 151
diff changeset
   227
    |display|
claus
parents: 151
diff changeset
   228
claus
parents: 151
diff changeset
   229
    display := Screen current.
3072
7a778116db5a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3035
diff changeset
   230
    display isNil ifTrue:[
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   231
	^ 600 @ 400
3072
7a778116db5a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3035
diff changeset
   232
    ].
3446
e66622e4f832 defaultExtent: ask device
Claus Gittinger <cg@exept.de>
parents: 3370
diff changeset
   233
    ^ display defaultExtentForTopViews
3519
ab3bf0ab96d0 added forceModalBoxesToOpenAtCenter: flag
Claus Gittinger <cg@exept.de>
parents: 3446
diff changeset
   234
!
ab3bf0ab96d0 added forceModalBoxesToOpenAtCenter: flag
Claus Gittinger <cg@exept.de>
parents: 3446
diff changeset
   235
ab3bf0ab96d0 added forceModalBoxesToOpenAtCenter: flag
Claus Gittinger <cg@exept.de>
parents: 3446
diff changeset
   236
forceModalBoxesToOpenAtCenter
5614
7c75195a84c1 Multi Screen Support
Michael Beyl <mb@exept.de>
parents: 5287
diff changeset
   237
    "return the flag which forces all modal views to be opened
3519
ab3bf0ab96d0 added forceModalBoxesToOpenAtCenter: flag
Claus Gittinger <cg@exept.de>
parents: 3446
diff changeset
   238
     at the screens center"
ab3bf0ab96d0 added forceModalBoxesToOpenAtCenter: flag
Claus Gittinger <cg@exept.de>
parents: 3446
diff changeset
   239
ab3bf0ab96d0 added forceModalBoxesToOpenAtCenter: flag
Claus Gittinger <cg@exept.de>
parents: 3446
diff changeset
   240
    ^ ForceModalBoxesToOpenAtCenter ? false
ab3bf0ab96d0 added forceModalBoxesToOpenAtCenter: flag
Claus Gittinger <cg@exept.de>
parents: 3446
diff changeset
   241
!
ab3bf0ab96d0 added forceModalBoxesToOpenAtCenter: flag
Claus Gittinger <cg@exept.de>
parents: 3446
diff changeset
   242
ab3bf0ab96d0 added forceModalBoxesToOpenAtCenter: flag
Claus Gittinger <cg@exept.de>
parents: 3446
diff changeset
   243
forceModalBoxesToOpenAtCenter:aBoolean
3768
e39ab287f08c added ForceAtPointer flag
Claus Gittinger <cg@exept.de>
parents: 3712
diff changeset
   244
    "set/clear a flag which forces all modal views to be opened
3519
ab3bf0ab96d0 added forceModalBoxesToOpenAtCenter: flag
Claus Gittinger <cg@exept.de>
parents: 3446
diff changeset
   245
     at the screens center"
ab3bf0ab96d0 added forceModalBoxesToOpenAtCenter: flag
Claus Gittinger <cg@exept.de>
parents: 3446
diff changeset
   246
ab3bf0ab96d0 added forceModalBoxesToOpenAtCenter: flag
Claus Gittinger <cg@exept.de>
parents: 3446
diff changeset
   247
    ForceModalBoxesToOpenAtCenter := aBoolean
ab3bf0ab96d0 added forceModalBoxesToOpenAtCenter: flag
Claus Gittinger <cg@exept.de>
parents: 3446
diff changeset
   248
ab3bf0ab96d0 added forceModalBoxesToOpenAtCenter: flag
Claus Gittinger <cg@exept.de>
parents: 3446
diff changeset
   249
    "
ab3bf0ab96d0 added forceModalBoxesToOpenAtCenter: flag
Claus Gittinger <cg@exept.de>
parents: 3446
diff changeset
   250
     TopView forceModalBoxesToOpenAtCenter:true
ab3bf0ab96d0 added forceModalBoxesToOpenAtCenter: flag
Claus Gittinger <cg@exept.de>
parents: 3446
diff changeset
   251
     TopView forceModalBoxesToOpenAtCenter:false
ab3bf0ab96d0 added forceModalBoxesToOpenAtCenter: flag
Claus Gittinger <cg@exept.de>
parents: 3446
diff changeset
   252
    "
3768
e39ab287f08c added ForceAtPointer flag
Claus Gittinger <cg@exept.de>
parents: 3712
diff changeset
   253
!
e39ab287f08c added ForceAtPointer flag
Claus Gittinger <cg@exept.de>
parents: 3712
diff changeset
   254
e39ab287f08c added ForceAtPointer flag
Claus Gittinger <cg@exept.de>
parents: 3712
diff changeset
   255
forceModalBoxesToOpenAtPointer
5614
7c75195a84c1 Multi Screen Support
Michael Beyl <mb@exept.de>
parents: 5287
diff changeset
   256
    "return the flag which forces all modal views to be opened
3768
e39ab287f08c added ForceAtPointer flag
Claus Gittinger <cg@exept.de>
parents: 3712
diff changeset
   257
     at the current pointer position"
e39ab287f08c added ForceAtPointer flag
Claus Gittinger <cg@exept.de>
parents: 3712
diff changeset
   258
e39ab287f08c added ForceAtPointer flag
Claus Gittinger <cg@exept.de>
parents: 3712
diff changeset
   259
    ^ ForceModalBoxesToOpenAtPointer ? false
e39ab287f08c added ForceAtPointer flag
Claus Gittinger <cg@exept.de>
parents: 3712
diff changeset
   260
!
e39ab287f08c added ForceAtPointer flag
Claus Gittinger <cg@exept.de>
parents: 3712
diff changeset
   261
e39ab287f08c added ForceAtPointer flag
Claus Gittinger <cg@exept.de>
parents: 3712
diff changeset
   262
forceModalBoxesToOpenAtPointer:aBoolean
5614
7c75195a84c1 Multi Screen Support
Michael Beyl <mb@exept.de>
parents: 5287
diff changeset
   263
    "set/clear the flag which forces all modal views to be opened
3768
e39ab287f08c added ForceAtPointer flag
Claus Gittinger <cg@exept.de>
parents: 3712
diff changeset
   264
     at the current pointer position"
e39ab287f08c added ForceAtPointer flag
Claus Gittinger <cg@exept.de>
parents: 3712
diff changeset
   265
e39ab287f08c added ForceAtPointer flag
Claus Gittinger <cg@exept.de>
parents: 3712
diff changeset
   266
    ForceModalBoxesToOpenAtPointer := aBoolean
3978
a7a7e5aa016d takeFocusWhenMapped moved up
ca
parents: 3916
diff changeset
   267
!
a7a7e5aa016d takeFocusWhenMapped moved up
ca
parents: 3916
diff changeset
   268
a7a7e5aa016d takeFocusWhenMapped moved up
ca
parents: 3916
diff changeset
   269
takeFocusWhenMapped:aBoolean
a7a7e5aa016d takeFocusWhenMapped moved up
ca
parents: 3916
diff changeset
   270
    "if turned on, topViews will grab the keyboard when mapped.
a7a7e5aa016d takeFocusWhenMapped moved up
ca
parents: 3916
diff changeset
   271
     This is useful on systems like openView or Win32, where a view needs a click
a7a7e5aa016d takeFocusWhenMapped moved up
ca
parents: 3916
diff changeset
   272
     otherwise"
a7a7e5aa016d takeFocusWhenMapped moved up
ca
parents: 3916
diff changeset
   273
a7a7e5aa016d takeFocusWhenMapped moved up
ca
parents: 3916
diff changeset
   274
    TakeFocusWhenMapped := aBoolean
a7a7e5aa016d takeFocusWhenMapped moved up
ca
parents: 3916
diff changeset
   275
a7a7e5aa016d takeFocusWhenMapped moved up
ca
parents: 3916
diff changeset
   276
    "
a7a7e5aa016d takeFocusWhenMapped moved up
ca
parents: 3916
diff changeset
   277
     StandardSystemView takeFocusWhenMapped:true
a7a7e5aa016d takeFocusWhenMapped moved up
ca
parents: 3916
diff changeset
   278
    "
135
claus
parents:
diff changeset
   279
! !
claus
parents:
diff changeset
   280
3880
c4c8268a2d9f method category rename
Claus Gittinger <cg@exept.de>
parents: 3818
diff changeset
   281
!TopView methodsFor:'Compatibility-ST80'!
1410
ee1f7f3b2dfd added #displayBox for ST-80 compatibility
Claus Gittinger <cg@exept.de>
parents: 1401
diff changeset
   282
ee1f7f3b2dfd added #displayBox for ST-80 compatibility
Claus Gittinger <cg@exept.de>
parents: 1401
diff changeset
   283
displayBox
ee1f7f3b2dfd added #displayBox for ST-80 compatibility
Claus Gittinger <cg@exept.de>
parents: 1401
diff changeset
   284
    ^ self bounds
ee1f7f3b2dfd added #displayBox for ST-80 compatibility
Claus Gittinger <cg@exept.de>
parents: 1401
diff changeset
   285
ee1f7f3b2dfd added #displayBox for ST-80 compatibility
Claus Gittinger <cg@exept.de>
parents: 1401
diff changeset
   286
    "Created: 3.3.1997 / 16:31:33 / cg"
ee1f7f3b2dfd added #displayBox for ST-80 compatibility
Claus Gittinger <cg@exept.de>
parents: 1401
diff changeset
   287
!
ee1f7f3b2dfd added #displayBox for ST-80 compatibility
Claus Gittinger <cg@exept.de>
parents: 1401
diff changeset
   288
ee1f7f3b2dfd added #displayBox for ST-80 compatibility
Claus Gittinger <cg@exept.de>
parents: 1401
diff changeset
   289
displayBox:aRectangle
ee1f7f3b2dfd added #displayBox for ST-80 compatibility
Claus Gittinger <cg@exept.de>
parents: 1401
diff changeset
   290
    self origin:aRectangle origin corner:aRectangle corner
ee1f7f3b2dfd added #displayBox for ST-80 compatibility
Claus Gittinger <cg@exept.de>
parents: 1401
diff changeset
   291
ee1f7f3b2dfd added #displayBox for ST-80 compatibility
Claus Gittinger <cg@exept.de>
parents: 1401
diff changeset
   292
    "Created: 3.3.1997 / 16:34:38 / cg"
ee1f7f3b2dfd added #displayBox for ST-80 compatibility
Claus Gittinger <cg@exept.de>
parents: 1401
diff changeset
   293
! !
ee1f7f3b2dfd added #displayBox for ST-80 compatibility
Claus Gittinger <cg@exept.de>
parents: 1401
diff changeset
   294
3370
3a4990b6bfb5 keyboardProcessor lifted (to have it in dialogs, too)
ca
parents: 3347
diff changeset
   295
!TopView methodsFor:'accessing'!
3a4990b6bfb5 keyboardProcessor lifted (to have it in dialogs, too)
ca
parents: 3347
diff changeset
   296
3a4990b6bfb5 keyboardProcessor lifted (to have it in dialogs, too)
ca
parents: 3347
diff changeset
   297
keyboardProcessor
3a4990b6bfb5 keyboardProcessor lifted (to have it in dialogs, too)
ca
parents: 3347
diff changeset
   298
    "return my keyboard processor"
3a4990b6bfb5 keyboardProcessor lifted (to have it in dialogs, too)
ca
parents: 3347
diff changeset
   299
3a4990b6bfb5 keyboardProcessor lifted (to have it in dialogs, too)
ca
parents: 3347
diff changeset
   300
    ^ keyboardProcessor
3a4990b6bfb5 keyboardProcessor lifted (to have it in dialogs, too)
ca
parents: 3347
diff changeset
   301
3a4990b6bfb5 keyboardProcessor lifted (to have it in dialogs, too)
ca
parents: 3347
diff changeset
   302
    "Created: / 18.6.1998 / 18:52:42 / cg"
3a4990b6bfb5 keyboardProcessor lifted (to have it in dialogs, too)
ca
parents: 3347
diff changeset
   303
    "Modified: / 18.6.1998 / 20:00:18 / cg"
3a4990b6bfb5 keyboardProcessor lifted (to have it in dialogs, too)
ca
parents: 3347
diff changeset
   304
!
3a4990b6bfb5 keyboardProcessor lifted (to have it in dialogs, too)
ca
parents: 3347
diff changeset
   305
3a4990b6bfb5 keyboardProcessor lifted (to have it in dialogs, too)
ca
parents: 3347
diff changeset
   306
keyboardProcessor:something
3a4990b6bfb5 keyboardProcessor lifted (to have it in dialogs, too)
ca
parents: 3347
diff changeset
   307
    "set my keyboard processor"
3a4990b6bfb5 keyboardProcessor lifted (to have it in dialogs, too)
ca
parents: 3347
diff changeset
   308
3a4990b6bfb5 keyboardProcessor lifted (to have it in dialogs, too)
ca
parents: 3347
diff changeset
   309
    keyboardProcessor := something.
3a4990b6bfb5 keyboardProcessor lifted (to have it in dialogs, too)
ca
parents: 3347
diff changeset
   310
3a4990b6bfb5 keyboardProcessor lifted (to have it in dialogs, too)
ca
parents: 3347
diff changeset
   311
    "Created: / 18.6.1998 / 18:52:42 / cg"
3a4990b6bfb5 keyboardProcessor lifted (to have it in dialogs, too)
ca
parents: 3347
diff changeset
   312
    "Modified: / 18.6.1998 / 20:00:30 / cg"
4138
cb6aed659e6a *** empty log message ***
werner
parents: 4081
diff changeset
   313
!
cb6aed659e6a *** empty log message ***
werner
parents: 4081
diff changeset
   314
cb6aed659e6a *** empty log message ***
werner
parents: 4081
diff changeset
   315
label:labelString iconLabel:iconLabelString
cb6aed659e6a *** empty log message ***
werner
parents: 4081
diff changeset
   316
    "/ ignored here - for compat. with StdSysViews
3370
3a4990b6bfb5 keyboardProcessor lifted (to have it in dialogs, too)
ca
parents: 3347
diff changeset
   317
! !
3a4990b6bfb5 keyboardProcessor lifted (to have it in dialogs, too)
ca
parents: 3347
diff changeset
   318
625
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   319
!TopView methodsFor:'accessing-behavior'!
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   320
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   321
beDialogView
4798
096226757fdd + beScreenDialog
Michael Beyl <mb@exept.de>
parents: 4570
diff changeset
   322
    "make me a Dialog Window; that is one which raises above all other ST/X views"
096226757fdd + beScreenDialog
Michael Beyl <mb@exept.de>
parents: 4570
diff changeset
   323
4256
323ae7edb0fe *** empty log message ***
ca
parents: 4255
diff changeset
   324
    "/ the nonInteger handling code is for backward compatibility only.
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   325
    type isInteger ifTrue:[
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   326
	type := (type bitClear:WindowTypeMask) bitOr:TypeDialog.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   327
	^ self.
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   328
    ].
5614
7c75195a84c1 Multi Screen Support
Michael Beyl <mb@exept.de>
parents: 5287
diff changeset
   329
    type := #dialog
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   330
!
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   331
1765
4be7b62a32e3 checkin from browser
ca
parents: 1536
diff changeset
   332
beIndependent
4be7b62a32e3 checkin from browser
ca
parents: 1536
diff changeset
   333
    "make this an independent view; i.e. remove any master/slave or partner
4be7b62a32e3 checkin from browser
ca
parents: 1536
diff changeset
   334
     attribute (this is the default).
4be7b62a32e3 checkin from browser
ca
parents: 1536
diff changeset
   335
     However, the view remains in the current windowGroup"
4be7b62a32e3 checkin from browser
ca
parents: 1536
diff changeset
   336
4256
323ae7edb0fe *** empty log message ***
ca
parents: 4255
diff changeset
   337
    "/ the nonInteger handling code is for backward compatibility only.
4081
189e44935650 no access to type instVar
Claus Gittinger <cg@exept.de>
parents: 4079
diff changeset
   338
    type isInteger ifTrue:[
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   339
	type := type bitClear:MasterSlaveMask.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   340
	^ self.
4081
189e44935650 no access to type instVar
Claus Gittinger <cg@exept.de>
parents: 4079
diff changeset
   341
    ].
1765
4be7b62a32e3 checkin from browser
ca
parents: 1536
diff changeset
   342
    type := nil
4be7b62a32e3 checkin from browser
ca
parents: 1536
diff changeset
   343
!
4be7b62a32e3 checkin from browser
ca
parents: 1536
diff changeset
   344
4500
964544126594 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4498
diff changeset
   345
beMDIClientView
4498
Claus Gittinger <cg@exept.de>
parents: 4438
diff changeset
   346
    type := (type bitClear:MDIClientMask) bitOr:MDIClient.
Claus Gittinger <cg@exept.de>
parents: 4438
diff changeset
   347
!
Claus Gittinger <cg@exept.de>
parents: 4438
diff changeset
   348
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   349
beMaster
5614
7c75195a84c1 Multi Screen Support
Michael Beyl <mb@exept.de>
parents: 5287
diff changeset
   350
    "make this a master-view.
4032
ced6a721d1a6 comment
Claus Gittinger <cg@exept.de>
parents: 3978
diff changeset
   351
     All slave views within the same windowGroup will be closed if any master is closed
ced6a721d1a6 comment
Claus Gittinger <cg@exept.de>
parents: 3978
diff changeset
   352
     and also de/iconify together with their master(s).
ced6a721d1a6 comment
Claus Gittinger <cg@exept.de>
parents: 3978
diff changeset
   353
     (i.e. they follow their master(s))."
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   354
4256
323ae7edb0fe *** empty log message ***
ca
parents: 4255
diff changeset
   355
    "/ the nonInteger handling code is for backward compatibility only.
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   356
    type isInteger ifTrue:[
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   357
	type := (type bitClear:MasterSlaveMask) bitOr:TypeMaster.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   358
	^ self.
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   359
    ].
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   360
    type := #master
298
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   361
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   362
    "
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   363
     see example in TopView>>beSlave
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   364
    "
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   365
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   366
    "Created: 10.12.1995 / 13:30:50 / cg"
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   367
!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   368
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   369
bePartner
5614
7c75195a84c1 Multi Screen Support
Michael Beyl <mb@exept.de>
parents: 5287
diff changeset
   370
    "make this a partner-view. Each partner-view will automatically
712
7d1330ebc4b8 commentary
Claus Gittinger <cg@exept.de>
parents: 658
diff changeset
   371
     close other partner views (within the same windowGroup) when closed."
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   372
4256
323ae7edb0fe *** empty log message ***
ca
parents: 4255
diff changeset
   373
    "/ the nonInteger handling code is for backward compatibility only.
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   374
    type isInteger ifTrue:[
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   375
	type := (type bitClear:MasterSlaveMask) bitOr:TypePartner.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   376
	^ self.
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   377
    ].
5614
7c75195a84c1 Multi Screen Support
Michael Beyl <mb@exept.de>
parents: 5287
diff changeset
   378
    type := #partner
298
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   379
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   380
    "
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   381
     create two topViews within the same group:
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   382
     if any of them is iconified/deiconified/closed, the other one is also
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   383
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   384
     |top1 top2|
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   385
712
7d1330ebc4b8 commentary
Claus Gittinger <cg@exept.de>
parents: 658
diff changeset
   386
     top1 := StandardSystemView new label:'partner'; extent:300@300.
7d1330ebc4b8 commentary
Claus Gittinger <cg@exept.de>
parents: 658
diff changeset
   387
     top2 := StandardSystemView new label:'partner'; extent:200@200.
298
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   388
     top1 bePartner.
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   389
     top2 bePartner.
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   390
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   391
     top1 open.
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   392
     top2 openInGroup:(top1 windowGroup)
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   393
    "
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   394
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   395
    "Created: 10.12.1995 / 13:29:59 / cg"
712
7d1330ebc4b8 commentary
Claus Gittinger <cg@exept.de>
parents: 658
diff changeset
   396
    "Modified: 25.5.1996 / 11:44:48 / cg"
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   397
!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   398
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   399
bePopUpView
4256
323ae7edb0fe *** empty log message ***
ca
parents: 4255
diff changeset
   400
    "/ the nonInteger handling code is for backward compatibility only.
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   401
    type isInteger ifTrue:[
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   402
	type := (type bitClear:WindowTypeMask) bitOr:TypePopUp.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   403
	^ self.
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   404
    ].
5614
7c75195a84c1 Multi Screen Support
Michael Beyl <mb@exept.de>
parents: 5287
diff changeset
   405
    type := #popup
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   406
!
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   407
5719
014212ef8765 class definition
Claus Gittinger <cg@exept.de>
parents: 5718
diff changeset
   408
bePopUpViewNotModal
014212ef8765 class definition
Claus Gittinger <cg@exept.de>
parents: 5718
diff changeset
   409
    "/ the nonInteger handling code is for backward compatibility only.
014212ef8765 class definition
Claus Gittinger <cg@exept.de>
parents: 5718
diff changeset
   410
"/    type isInteger ifTrue:[
014212ef8765 class definition
Claus Gittinger <cg@exept.de>
parents: 5718
diff changeset
   411
"/        type := (type bitClear:WindowTypeMask) bitOr:TypePopUp.
014212ef8765 class definition
Claus Gittinger <cg@exept.de>
parents: 5718
diff changeset
   412
"/        ^ self.
014212ef8765 class definition
Claus Gittinger <cg@exept.de>
parents: 5718
diff changeset
   413
"/    ].
014212ef8765 class definition
Claus Gittinger <cg@exept.de>
parents: 5718
diff changeset
   414
    type := #popUpNotModal
014212ef8765 class definition
Claus Gittinger <cg@exept.de>
parents: 5718
diff changeset
   415
014212ef8765 class definition
Claus Gittinger <cg@exept.de>
parents: 5718
diff changeset
   416
    "Created: / 03-03-2011 / 19:04:40 / cg"
014212ef8765 class definition
Claus Gittinger <cg@exept.de>
parents: 5718
diff changeset
   417
!
014212ef8765 class definition
Claus Gittinger <cg@exept.de>
parents: 5718
diff changeset
   418
4798
096226757fdd + beScreenDialog
Michael Beyl <mb@exept.de>
parents: 4570
diff changeset
   419
beScreenDialog
096226757fdd + beScreenDialog
Michael Beyl <mb@exept.de>
parents: 4570
diff changeset
   420
    "make me a Screen-Dialog Window; that is one which raises above ALL other windows
096226757fdd + beScreenDialog
Michael Beyl <mb@exept.de>
parents: 4570
diff changeset
   421
     (not only st/x ones)"
096226757fdd + beScreenDialog
Michael Beyl <mb@exept.de>
parents: 4570
diff changeset
   422
096226757fdd + beScreenDialog
Michael Beyl <mb@exept.de>
parents: 4570
diff changeset
   423
    "/ the nonInteger handling code is for backward compatibility only.
096226757fdd + beScreenDialog
Michael Beyl <mb@exept.de>
parents: 4570
diff changeset
   424
    type isInteger ifTrue:[
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   425
	type := (type bitClear:WindowTypeMask) bitOr:TypeScreenDialog.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   426
	^ self.
4798
096226757fdd + beScreenDialog
Michael Beyl <mb@exept.de>
parents: 4570
diff changeset
   427
    ].
5614
7c75195a84c1 Multi Screen Support
Michael Beyl <mb@exept.de>
parents: 5287
diff changeset
   428
    type := #dialog
4798
096226757fdd + beScreenDialog
Michael Beyl <mb@exept.de>
parents: 4570
diff changeset
   429
!
096226757fdd + beScreenDialog
Michael Beyl <mb@exept.de>
parents: 4570
diff changeset
   430
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   431
beSlave
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   432
    "make this a slave-view. It will be closed automatically,
712
7d1330ebc4b8 commentary
Claus Gittinger <cg@exept.de>
parents: 658
diff changeset
   433
     whenever any master of the windowgroup is closed.
7d1330ebc4b8 commentary
Claus Gittinger <cg@exept.de>
parents: 658
diff changeset
   434
     See also: #bePartner"
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   435
4256
323ae7edb0fe *** empty log message ***
ca
parents: 4255
diff changeset
   436
    "/ the nonInteger handling code is for backward compatibility only.
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   437
    type isInteger ifTrue:[
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   438
	type := (type bitClear:MasterSlaveMask) bitOr:TypeSlave.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   439
	^ self.
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   440
    ].
5614
7c75195a84c1 Multi Screen Support
Michael Beyl <mb@exept.de>
parents: 5287
diff changeset
   441
    type := #slave
298
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   442
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   443
    "
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   444
     create two topViews within the same group:
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   445
     the slave is allowed to be iconified/close independ of the master;
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   446
     but if the master is iconified, the slave is also.
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   447
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   448
     |top1 top2|
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   449
712
7d1330ebc4b8 commentary
Claus Gittinger <cg@exept.de>
parents: 658
diff changeset
   450
     top1 := StandardSystemView new label:'master'; extent:300@300.
7d1330ebc4b8 commentary
Claus Gittinger <cg@exept.de>
parents: 658
diff changeset
   451
     top2 := StandardSystemView new label:'slave'; extent:200@200.
298
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   452
     top1 beMaster.
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   453
     top2 beSlave.
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   454
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   455
     top1 open.
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   456
     top2 openInGroup:(top1 windowGroup)
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   457
    "
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   458
37bc0d73346f documentation update
Claus Gittinger <cg@exept.de>
parents: 269
diff changeset
   459
    "Created: 10.12.1995 / 13:29:10 / cg"
712
7d1330ebc4b8 commentary
Claus Gittinger <cg@exept.de>
parents: 658
diff changeset
   460
    "Modified: 25.5.1996 / 11:45:30 / cg"
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   461
!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   462
4256
323ae7edb0fe *** empty log message ***
ca
parents: 4255
diff changeset
   463
beToolDialog
323ae7edb0fe *** empty log message ***
ca
parents: 4255
diff changeset
   464
    "/ the nonInteger handling code is for backward compatibility only.
4254
4e1ead8d389a *** empty log message ***
ca
parents: 4191
diff changeset
   465
    type isInteger ifTrue:[
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   466
	type := (type bitClear:WindowTypeMask) bitOr:TypeToolDialog.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   467
	^ self.
4254
4e1ead8d389a *** empty log message ***
ca
parents: 4191
diff changeset
   468
    ].
5614
7c75195a84c1 Multi Screen Support
Michael Beyl <mb@exept.de>
parents: 5287
diff changeset
   469
    type := #dialog
4254
4e1ead8d389a *** empty log message ***
ca
parents: 4191
diff changeset
   470
!
4e1ead8d389a *** empty log message ***
ca
parents: 4191
diff changeset
   471
4256
323ae7edb0fe *** empty log message ***
ca
parents: 4255
diff changeset
   472
beToolWindow
323ae7edb0fe *** empty log message ***
ca
parents: 4255
diff changeset
   473
    "/ the nonInteger handling code is for backward compatibility only.
323ae7edb0fe *** empty log message ***
ca
parents: 4255
diff changeset
   474
    type isInteger ifTrue:[
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   475
	type := (type bitClear:WindowTypeMask) bitOr:TypeToolWindow.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   476
	^ self.
4256
323ae7edb0fe *** empty log message ***
ca
parents: 4255
diff changeset
   477
    ].
5614
7c75195a84c1 Multi Screen Support
Michael Beyl <mb@exept.de>
parents: 5287
diff changeset
   478
    type := nil
4256
323ae7edb0fe *** empty log message ***
ca
parents: 4255
diff changeset
   479
!
323ae7edb0fe *** empty log message ***
ca
parents: 4255
diff changeset
   480
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   481
beUndecorated
4798
096226757fdd + beScreenDialog
Michael Beyl <mb@exept.de>
parents: 4570
diff changeset
   482
    "make me an undecorated Window"
096226757fdd + beScreenDialog
Michael Beyl <mb@exept.de>
parents: 4570
diff changeset
   483
4256
323ae7edb0fe *** empty log message ***
ca
parents: 4255
diff changeset
   484
    "/ the nonInteger handling code is for backward compatibility only.
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   485
    type isInteger ifTrue:[
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   486
	type := (type bitClear:WindowTypeMask) bitOr:TypeUndecorated.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   487
	^ self.
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   488
    ].
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   489
    type := nil
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   490
!
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   491
5724
Claus Gittinger <cg@exept.de>
parents: 5723
diff changeset
   492
beUndecoratedResizable
Claus Gittinger <cg@exept.de>
parents: 5723
diff changeset
   493
    "make me an undecorated Window"
Claus Gittinger <cg@exept.de>
parents: 5723
diff changeset
   494
    "experimental - do not use"
5725
68cc101589a5 changed: #beUndecoratedResizable
Claus Gittinger <cg@exept.de>
parents: 5724
diff changeset
   495
"/    type := #popUpWithFrame
5724
Claus Gittinger <cg@exept.de>
parents: 5723
diff changeset
   496
    type := #undecoratedResizable
Claus Gittinger <cg@exept.de>
parents: 5723
diff changeset
   497
Claus Gittinger <cg@exept.de>
parents: 5723
diff changeset
   498
    "Created: / 03-03-2011 / 20:22:14 / cg"
Claus Gittinger <cg@exept.de>
parents: 5723
diff changeset
   499
!
Claus Gittinger <cg@exept.de>
parents: 5723
diff changeset
   500
501
0a701f42de02 focusKey handling now done here & in Controller
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   501
focusSequence:aCollectionOfSubcomponents
625
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   502
    "define the sequence for stepping through my components."
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   503
501
0a701f42de02 focusKey handling now done here & in Controller
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   504
    windowGroup isNil ifTrue:[
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   505
	windowGroup := self windowGroupClass new.
501
0a701f42de02 focusKey handling now done here & in Controller
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   506
    ].
0a701f42de02 focusKey handling now done here & in Controller
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   507
    windowGroup focusSequence:aCollectionOfSubcomponents.
0a701f42de02 focusKey handling now done here & in Controller
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   508
0a701f42de02 focusKey handling now done here & in Controller
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   509
    "Created: 6.3.1996 / 15:37:11 / cg"
625
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   510
    "Modified: 30.4.1996 / 15:41:40 / cg"
4569
f7a22f2c6e5a initial focus behavior
Claus Gittinger <cg@exept.de>
parents: 4522
diff changeset
   511
!
f7a22f2c6e5a initial focus behavior
Claus Gittinger <cg@exept.de>
parents: 4522
diff changeset
   512
5724
Claus Gittinger <cg@exept.de>
parents: 5723
diff changeset
   513
windowType:aTypeSymbol
Claus Gittinger <cg@exept.de>
parents: 5723
diff changeset
   514
    "experimental - do not use"
Claus Gittinger <cg@exept.de>
parents: 5723
diff changeset
   515
Claus Gittinger <cg@exept.de>
parents: 5723
diff changeset
   516
    type := aTypeSymbol
Claus Gittinger <cg@exept.de>
parents: 5723
diff changeset
   517
Claus Gittinger <cg@exept.de>
parents: 5723
diff changeset
   518
    "Created: / 03-03-2011 / 20:12:40 / cg"
625
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   519
! !
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   520
4836
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   521
!TopView methodsFor:'accessing-look'!
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   522
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   523
addTrayIcon:anImageOrForm toolTipMessage:toolTipMessage
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   524
    "WIN32 only: add a tray icon for myself;
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   525
     may then receive tray*-events in the future."
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   526
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   527
    self device
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   528
	 addTrayIconFor:self
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   529
	 icon:anImageOrForm iconMask:nil
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   530
	 toolTipMessage:toolTipMessage
4836
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   531
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   532
    "
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   533
     |v icon|
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   534
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   535
     v := StandardSystemView new.
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   536
     v openAndWait.
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   537
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   538
     icon := Icon stxIcon.
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   539
     v addTrayIcon:icon toolTipMessage:'Hi There'
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   540
    "
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   541
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   542
    "Modified: / 05-11-2007 / 12:10:48 / cg"
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   543
! !
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   544
625
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   545
!TopView methodsFor:'event handling'!
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   546
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   547
keyPress:key x:x y:y
5614
7c75195a84c1 Multi Screen Support
Michael Beyl <mb@exept.de>
parents: 5287
diff changeset
   548
    "notice: this ought to be moved into the upcoming
625
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   549
     StandardSystemViewController."
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   550
5614
7c75195a84c1 Multi Screen Support
Michael Beyl <mb@exept.de>
parents: 5287
diff changeset
   551
    <resource: #keyboard ( #Tab
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   552
			   #FocusNext #FocusPrevious
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   553
			   #CursorDown #CursorUp ) >
625
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   554
932
1748c4b8b848 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
   555
    windowGroup notNil ifTrue:[
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   556
	key == #Tab ifTrue:[
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   557
	    self sensor shiftDown ifTrue:[
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   558
		windowGroup focusPrevious
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   559
	    ] ifFalse:[
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   560
		windowGroup focusNext
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   561
	    ].
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   562
	    ^ self.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   563
	].
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   564
	(key == #FocusNext or:[key == #CursorDown]) ifTrue:[
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   565
	    windowGroup focusNext.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   566
	    ^ self.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   567
	].
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   568
	(key == #FocusPrevious or:[key == #CursorUp])  ifTrue:[
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   569
	    windowGroup focusPrevious.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   570
	    ^ self.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   571
	].
625
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   572
    ].
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   573
932
1748c4b8b848 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
   574
    super keyPress:key x:x y:y
1748c4b8b848 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
   575
4823
3a4246ca2a32 tray stuff only sent to a topView
Claus Gittinger <cg@exept.de>
parents: 4799
diff changeset
   576
    "Created: / 01-02-1996 / 22:08:30 / cg"
3a4246ca2a32 tray stuff only sent to a topView
Claus Gittinger <cg@exept.de>
parents: 4799
diff changeset
   577
    "Modified: / 31-10-2007 / 01:48:50 / cg"
501
0a701f42de02 focusKey handling now done here & in Controller
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   578
!
0a701f42de02 focusKey handling now done here & in Controller
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   579
625
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   580
showActivity:someMessage
5614
7c75195a84c1 Multi Screen Support
Michael Beyl <mb@exept.de>
parents: 5287
diff changeset
   581
    "some activityNotification shalt be communicated to the user.
625
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   582
     Default for activity notifications here: ignore them"
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   583
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   584
    ^ self
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   585
4823
3a4246ca2a32 tray stuff only sent to a topView
Claus Gittinger <cg@exept.de>
parents: 4799
diff changeset
   586
    "Created: / 16-12-1995 / 18:40:13 / cg"
3a4246ca2a32 tray stuff only sent to a topView
Claus Gittinger <cg@exept.de>
parents: 4799
diff changeset
   587
    "Modified: / 31-10-2007 / 01:48:33 / cg"
4836
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   588
!
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   589
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   590
trayButtonDoubleClick:buttonNr
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   591
    "WIN32 only: double-click in the tray.
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   592
     Nothing done here - must be redefined in a subclass"
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   593
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   594
    ^ self
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   595
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   596
    "Created: / 31-10-2007 / 01:46:27 / cg"
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   597
    "Modified: / 05-11-2007 / 12:11:24 / cg"
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   598
!
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   599
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   600
trayButtonPress:buttonNr
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   601
    "WIN32 only: button-press in the tray.
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   602
     Nothing done here - must be redefined in a subclass"
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   603
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   604
    ^ self
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   605
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   606
    "Created: / 31-10-2007 / 01:25:52 / cg"
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   607
    "Modified: / 05-11-2007 / 12:11:21 / cg"
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   608
!
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   609
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   610
trayButtonRelease:buttonNr
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   611
    "WIN32 only: button-release in the tray.
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   612
     Nothing done here - must be redefined in a subclass"
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   613
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   614
    ^ self
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   615
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   616
    "Created: / 31-10-2007 / 01:25:55 / cg"
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   617
    "Modified: / 05-11-2007 / 12:11:19 / cg"
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   618
!
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   619
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   620
trayMouseMotion
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   621
    "WIN32 only: mouse-motion in the tray.
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   622
     Nothing done here - must be redefined in a subclass"
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   623
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   624
    ^ self
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   625
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   626
    "Created: / 31-10-2007 / 01:25:33 / cg"
d8e472ac02fe tray stuff moved to here
Claus Gittinger <cg@exept.de>
parents: 4823
diff changeset
   627
    "Modified: / 05-11-2007 / 12:11:17 / cg"
625
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   628
! !
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   629
5720
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   630
!TopView methodsFor:'event handling-window move'!
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   631
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   632
doWindowMove
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   633
    "a window move operation 
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   634
     (only used with modeless popup windows; i.e. windows without decoration,
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   635
      which want to be moved by click-motion on the background)"
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   636
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   637
    |delta|
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   638
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   639
    CurrentWindowBeingMoved == self ifTrue:[
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   640
        delta := device pointerPosition - CurrentWindowMoveStart.
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   641
        (CurrentWindowMoveState notNil
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   642
        or:[ delta r > 5 ]) ifTrue:[
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   643
            CurrentWindowMoveState := #inMove.
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   644
            CurrentWindowMoveStart := device pointerPosition.
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   645
            self origin:(self origin + delta).
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   646
        ].
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   647
    ].
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   648
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   649
    "Created: / 03-03-2011 / 19:13:08 / cg"
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   650
!
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   651
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   652
endWindowMove
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   653
    "a window move operation 
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   654
     (only used with modeless popup windows; i.e. windows without decoration,
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   655
      which want to be moved by click-motion on the background)"
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   656
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   657
    CurrentWindowBeingMoved := nil.
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   658
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   659
    "Created: / 03-03-2011 / 19:17:24 / cg"
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   660
!
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   661
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   662
startWindowMove
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   663
    "a window move operation 
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   664
     (only used with modeless popup windows; i.e. windows without decoration,
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   665
      which want to be moved by click-motion on the background)"
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   666
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   667
    CurrentWindowBeingMoved := self.
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   668
    CurrentWindowMoveStart := device pointerPosition.
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   669
    CurrentWindowMoveState := nil.
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   670
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   671
    "Created: / 03-03-2011 / 19:09:39 / cg"
5723
d75bdd85df13 added: #startWindowMoveOnButtonPress
Claus Gittinger <cg@exept.de>
parents: 5721
diff changeset
   672
!
d75bdd85df13 added: #startWindowMoveOnButtonPress
Claus Gittinger <cg@exept.de>
parents: 5721
diff changeset
   673
d75bdd85df13 added: #startWindowMoveOnButtonPress
Claus Gittinger <cg@exept.de>
parents: 5721
diff changeset
   674
startWindowMoveOnButtonPress
d75bdd85df13 added: #startWindowMoveOnButtonPress
Claus Gittinger <cg@exept.de>
parents: 5721
diff changeset
   675
    "this allows undecorated windows (i.e. modeless popups) to be moved by
d75bdd85df13 added: #startWindowMoveOnButtonPress
Claus Gittinger <cg@exept.de>
parents: 5721
diff changeset
   676
     drag-moving in their window area 
d75bdd85df13 added: #startWindowMoveOnButtonPress
Claus Gittinger <cg@exept.de>
parents: 5721
diff changeset
   677
     (similar to how mac windows and realplayer are moved).
d75bdd85df13 added: #startWindowMoveOnButtonPress
Claus Gittinger <cg@exept.de>
parents: 5721
diff changeset
   678
     Return true here, if a window move should be initiated"
d75bdd85df13 added: #startWindowMoveOnButtonPress
Claus Gittinger <cg@exept.de>
parents: 5721
diff changeset
   679
d75bdd85df13 added: #startWindowMoveOnButtonPress
Claus Gittinger <cg@exept.de>
parents: 5721
diff changeset
   680
    ^ self windowGroup isModal not
d75bdd85df13 added: #startWindowMoveOnButtonPress
Claus Gittinger <cg@exept.de>
parents: 5721
diff changeset
   681
    and:[  self topView isPopUpView ]
d75bdd85df13 added: #startWindowMoveOnButtonPress
Claus Gittinger <cg@exept.de>
parents: 5721
diff changeset
   682
d75bdd85df13 added: #startWindowMoveOnButtonPress
Claus Gittinger <cg@exept.de>
parents: 5721
diff changeset
   683
    "Created: / 03-03-2011 / 19:30:59 / cg"
5720
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   684
! !
4c3aa29fff39 window move operations
Claus Gittinger <cg@exept.de>
parents: 5719
diff changeset
   685
4992
f5ad380a9967 + flyByHelpDependsOnPositionIn:
Claus Gittinger <cg@exept.de>
parents: 4982
diff changeset
   686
!TopView methodsFor:'help'!
f5ad380a9967 + flyByHelpDependsOnPositionIn:
Claus Gittinger <cg@exept.de>
parents: 4982
diff changeset
   687
f5ad380a9967 + flyByHelpDependsOnPositionIn:
Claus Gittinger <cg@exept.de>
parents: 4982
diff changeset
   688
flyByHelpDependsOnPositionIn:aView
f5ad380a9967 + flyByHelpDependsOnPositionIn:
Claus Gittinger <cg@exept.de>
parents: 4982
diff changeset
   689
    "subclasses where the help-text depends upon the pointer position might
f5ad380a9967 + flyByHelpDependsOnPositionIn:
Claus Gittinger <cg@exept.de>
parents: 4982
diff changeset
   690
     want to redefine this"
f5ad380a9967 + flyByHelpDependsOnPositionIn:
Claus Gittinger <cg@exept.de>
parents: 4982
diff changeset
   691
f5ad380a9967 + flyByHelpDependsOnPositionIn:
Claus Gittinger <cg@exept.de>
parents: 4982
diff changeset
   692
    ^ false
f5ad380a9967 + flyByHelpDependsOnPositionIn:
Claus Gittinger <cg@exept.de>
parents: 4982
diff changeset
   693
! !
f5ad380a9967 + flyByHelpDependsOnPositionIn:
Claus Gittinger <cg@exept.de>
parents: 4982
diff changeset
   694
2466
6a85fa3b62a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2326
diff changeset
   695
!TopView methodsFor:'help stubs'!
6a85fa3b62a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2326
diff changeset
   696
3697
44233528f334 flyByHelpTextFor:
Claus Gittinger <cg@exept.de>
parents: 3621
diff changeset
   697
flyByHelpTextFor:aSubView
44233528f334 flyByHelpTextFor:
Claus Gittinger <cg@exept.de>
parents: 3621
diff changeset
   698
    "this will vanish - its temporarily here to allow for stdSysViews to be
44233528f334 flyByHelpTextFor:
Claus Gittinger <cg@exept.de>
parents: 3621
diff changeset
   699
     used as a masterApp for dialogs"
44233528f334 flyByHelpTextFor:
Claus Gittinger <cg@exept.de>
parents: 3621
diff changeset
   700
44233528f334 flyByHelpTextFor:
Claus Gittinger <cg@exept.de>
parents: 3621
diff changeset
   701
    ^ nil
44233528f334 flyByHelpTextFor:
Claus Gittinger <cg@exept.de>
parents: 3621
diff changeset
   702
!
44233528f334 flyByHelpTextFor:
Claus Gittinger <cg@exept.de>
parents: 3621
diff changeset
   703
44233528f334 flyByHelpTextFor:
Claus Gittinger <cg@exept.de>
parents: 3621
diff changeset
   704
helpTextFor:aSubView
44233528f334 flyByHelpTextFor:
Claus Gittinger <cg@exept.de>
parents: 3621
diff changeset
   705
    "this will vanish - its temporarily here to allow for stdSysViews to be
44233528f334 flyByHelpTextFor:
Claus Gittinger <cg@exept.de>
parents: 3621
diff changeset
   706
     used as a masterApp for dialogs"
44233528f334 flyByHelpTextFor:
Claus Gittinger <cg@exept.de>
parents: 3621
diff changeset
   707
44233528f334 flyByHelpTextFor:
Claus Gittinger <cg@exept.de>
parents: 3621
diff changeset
   708
    ^ nil
44233528f334 flyByHelpTextFor:
Claus Gittinger <cg@exept.de>
parents: 3621
diff changeset
   709
!
44233528f334 flyByHelpTextFor:
Claus Gittinger <cg@exept.de>
parents: 3621
diff changeset
   710
2466
6a85fa3b62a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2326
diff changeset
   711
showHelp:aHelpText for:aView
6a85fa3b62a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2326
diff changeset
   712
    "dummy - added in case a regular topView is installed
6a85fa3b62a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2326
diff changeset
   713
     as a dialogs masterApplication.
6a85fa3b62a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2326
diff changeset
   714
     Concrete application subclasses may redefine this to
6a85fa3b62a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2326
diff changeset
   715
     display a help text in one of its message areas"
6a85fa3b62a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2326
diff changeset
   716
! !
6a85fa3b62a3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2326
diff changeset
   717
3884
dc9ea4cfc963 method category rename
Claus Gittinger <cg@exept.de>
parents: 3881
diff changeset
   718
!TopView methodsFor:'initialization & release'!
2573
437ff42d1ba3 category change
Claus Gittinger <cg@exept.de>
parents: 2488
diff changeset
   719
4438
abc5f1353b01 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4424
diff changeset
   720
addToCurrentProject
abc5f1353b01 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4424
diff changeset
   721
    "for compatibility with views which can"
abc5f1353b01 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4424
diff changeset
   722
!
abc5f1353b01 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4424
diff changeset
   723
4178
e176977f5f2c initial focus - allow explicit setup via InputFieldSpec
Claus Gittinger <cg@exept.de>
parents: 4140
diff changeset
   724
assignInitialKeyboardFocus
e176977f5f2c initial focus - allow explicit setup via InputFieldSpec
Claus Gittinger <cg@exept.de>
parents: 4140
diff changeset
   725
    "assign the initial keyboard focus to a 'useful' component."
e176977f5f2c initial focus - allow explicit setup via InputFieldSpec
Claus Gittinger <cg@exept.de>
parents: 4140
diff changeset
   726
4180
85392e34c7a7 initial focus
Claus Gittinger <cg@exept.de>
parents: 4178
diff changeset
   727
    |componentWithInitialFocus|
4178
e176977f5f2c initial focus - allow explicit setup via InputFieldSpec
Claus Gittinger <cg@exept.de>
parents: 4140
diff changeset
   728
4180
85392e34c7a7 initial focus
Claus Gittinger <cg@exept.de>
parents: 4178
diff changeset
   729
"/    |keyboardProcessor componentWithInitialFocus|
85392e34c7a7 initial focus
Claus Gittinger <cg@exept.de>
parents: 4178
diff changeset
   730
"/
85392e34c7a7 initial focus
Claus Gittinger <cg@exept.de>
parents: 4178
diff changeset
   731
"/    keyboardProcessor := self keyboardProcessor.
85392e34c7a7 initial focus
Claus Gittinger <cg@exept.de>
parents: 4178
diff changeset
   732
"/    keyboardProcessor notNil ifTrue:[
85392e34c7a7 initial focus
Claus Gittinger <cg@exept.de>
parents: 4178
diff changeset
   733
"/        componentWithInitialFocus := keyboardProcessor componentWithInitialFocus.
85392e34c7a7 initial focus
Claus Gittinger <cg@exept.de>
parents: 4178
diff changeset
   734
"/        componentWithInitialFocus notNil ifTrue:[
85392e34c7a7 initial focus
Claus Gittinger <cg@exept.de>
parents: 4178
diff changeset
   735
"/            self windowGroup focusView:componentWithInitialFocus byTab:true.
5614
7c75195a84c1 Multi Screen Support
Michael Beyl <mb@exept.de>
parents: 5287
diff changeset
   736
"/            "/ componentWithInitialFocus requestFocus.
4180
85392e34c7a7 initial focus
Claus Gittinger <cg@exept.de>
parents: 4178
diff changeset
   737
"/            ^ self.
85392e34c7a7 initial focus
Claus Gittinger <cg@exept.de>
parents: 4178
diff changeset
   738
"/        ]
85392e34c7a7 initial focus
Claus Gittinger <cg@exept.de>
parents: 4178
diff changeset
   739
"/    ].
85392e34c7a7 initial focus
Claus Gittinger <cg@exept.de>
parents: 4178
diff changeset
   740
5614
7c75195a84c1 Multi Screen Support
Michael Beyl <mb@exept.de>
parents: 5287
diff changeset
   741
    (windowGroup notNil
4180
85392e34c7a7 initial focus
Claus Gittinger <cg@exept.de>
parents: 4178
diff changeset
   742
    and:[(componentWithInitialFocus := windowGroup defaultKeyboardConsumer) notNil]) ifTrue:[
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   743
	windowGroup focusView:componentWithInitialFocus byTab:true "false".
4180
85392e34c7a7 initial focus
Claus Gittinger <cg@exept.de>
parents: 4178
diff changeset
   744
    ] ifFalse:[
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   745
	self assignKeyboardFocusToFirstInputField.
4178
e176977f5f2c initial focus - allow explicit setup via InputFieldSpec
Claus Gittinger <cg@exept.de>
parents: 4140
diff changeset
   746
    ].
e176977f5f2c initial focus - allow explicit setup via InputFieldSpec
Claus Gittinger <cg@exept.de>
parents: 4140
diff changeset
   747
!
e176977f5f2c initial focus - allow explicit setup via InputFieldSpec
Claus Gittinger <cg@exept.de>
parents: 4140
diff changeset
   748
2573
437ff42d1ba3 category change
Claus Gittinger <cg@exept.de>
parents: 2488
diff changeset
   749
destroy
437ff42d1ba3 category change
Claus Gittinger <cg@exept.de>
parents: 2488
diff changeset
   750
    "the receiver is to be destroyed - look for partners and slaves"
437ff42d1ba3 category change
Claus Gittinger <cg@exept.de>
parents: 2488
diff changeset
   751
437ff42d1ba3 category change
Claus Gittinger <cg@exept.de>
parents: 2488
diff changeset
   752
    |wg dev|
437ff42d1ba3 category change
Claus Gittinger <cg@exept.de>
parents: 2488
diff changeset
   753
437ff42d1ba3 category change
Claus Gittinger <cg@exept.de>
parents: 2488
diff changeset
   754
    wg := windowGroup.                  "/ have to fetch windowGroup before;
437ff42d1ba3 category change
Claus Gittinger <cg@exept.de>
parents: 2488
diff changeset
   755
    dev := device.                      "/ and device ...
437ff42d1ba3 category change
Claus Gittinger <cg@exept.de>
parents: 2488
diff changeset
   756
    super destroy.                      "/ ... since destroy nils em
437ff42d1ba3 category change
Claus Gittinger <cg@exept.de>
parents: 2488
diff changeset
   757
437ff42d1ba3 category change
Claus Gittinger <cg@exept.de>
parents: 2488
diff changeset
   758
"/    dev notNil ifTrue:[
437ff42d1ba3 category change
Claus Gittinger <cg@exept.de>
parents: 2488
diff changeset
   759
"/        dev flush
437ff42d1ba3 category change
Claus Gittinger <cg@exept.de>
parents: 2488
diff changeset
   760
"/    ].
437ff42d1ba3 category change
Claus Gittinger <cg@exept.de>
parents: 2488
diff changeset
   761
437ff42d1ba3 category change
Claus Gittinger <cg@exept.de>
parents: 2488
diff changeset
   762
    "/
437ff42d1ba3 category change
Claus Gittinger <cg@exept.de>
parents: 2488
diff changeset
   763
    "/ destroy slaves and partners
437ff42d1ba3 category change
Claus Gittinger <cg@exept.de>
parents: 2488
diff changeset
   764
    "/
437ff42d1ba3 category change
Claus Gittinger <cg@exept.de>
parents: 2488
diff changeset
   765
    self masterSlaveMessage:#destroy inGroup:wg
437ff42d1ba3 category change
Claus Gittinger <cg@exept.de>
parents: 2488
diff changeset
   766
3446
e66622e4f832 defaultExtent: ask device
Claus Gittinger <cg@exept.de>
parents: 3370
diff changeset
   767
    "Modified: 20.3.1997 / 22:14:16 / cg"
e66622e4f832 defaultExtent: ask device
Claus Gittinger <cg@exept.de>
parents: 3370
diff changeset
   768
!
625
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   769
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   770
initialize
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   771
    "initialize the topViews position for the screens center"
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   772
5971
7f45b30da64a class: TopView
Stefan Vogel <sv@exept.de>
parents: 5887
diff changeset
   773
    |screenCenter|
625
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   774
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   775
    super initialize.
2874
213e4f118402 postRealize and initializeHooks added.
Claus Gittinger <cg@exept.de>
parents: 2808
diff changeset
   776
    device initializeTopViewHookFor:self.
213e4f118402 postRealize and initializeHooks added.
Claus Gittinger <cg@exept.de>
parents: 2808
diff changeset
   777
5625
09972b8ce40a comment/format in: #initialize
Claus Gittinger <cg@exept.de>
parents: 5620
diff changeset
   778
    "/ MULTI SCREEN
5971
7f45b30da64a class: TopView
Stefan Vogel <sv@exept.de>
parents: 5887
diff changeset
   779
    screenCenter := device centerOfMonitorHavingPointer rounded.
5614
7c75195a84c1 Multi Screen Support
Michael Beyl <mb@exept.de>
parents: 5287
diff changeset
   780
625
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   781
    left := screenCenter x - (width // 2).
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   782
    top := screenCenter y - (height // 2).
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   783
    type := 0
5625
09972b8ce40a comment/format in: #initialize
Claus Gittinger <cg@exept.de>
parents: 5620
diff changeset
   784
09972b8ce40a comment/format in: #initialize
Claus Gittinger <cg@exept.de>
parents: 5620
diff changeset
   785
    "Modified: / 22-10-2010 / 11:03:00 / cg"
2874
213e4f118402 postRealize and initializeHooks added.
Claus Gittinger <cg@exept.de>
parents: 2808
diff changeset
   786
!
213e4f118402 postRealize and initializeHooks added.
Claus Gittinger <cg@exept.de>
parents: 2808
diff changeset
   787
213e4f118402 postRealize and initializeHooks added.
Claus Gittinger <cg@exept.de>
parents: 2808
diff changeset
   788
postRealize
213e4f118402 postRealize and initializeHooks added.
Claus Gittinger <cg@exept.de>
parents: 2808
diff changeset
   789
    super postRealize.
3370
3a4990b6bfb5 keyboardProcessor lifted (to have it in dialogs, too)
ca
parents: 3347
diff changeset
   790
3a4990b6bfb5 keyboardProcessor lifted (to have it in dialogs, too)
ca
parents: 3347
diff changeset
   791
    keyboardProcessor isNil ifTrue:[
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   792
	keyboardProcessor := KeyboardProcessor new.
3370
3a4990b6bfb5 keyboardProcessor lifted (to have it in dialogs, too)
ca
parents: 3347
diff changeset
   793
    ].
3a4990b6bfb5 keyboardProcessor lifted (to have it in dialogs, too)
ca
parents: 3347
diff changeset
   794
3446
e66622e4f832 defaultExtent: ask device
Claus Gittinger <cg@exept.de>
parents: 3370
diff changeset
   795
    device realizedTopViewHookFor:self
3706
c2b41c6ea4ef destroy - release
Claus Gittinger <cg@exept.de>
parents: 3697
diff changeset
   796
!
c2b41c6ea4ef destroy - release
Claus Gittinger <cg@exept.de>
parents: 3697
diff changeset
   797
4407
d0f371afaa58 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4362
diff changeset
   798
realize
d0f371afaa58 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4362
diff changeset
   799
    self isMarkedAsUnmappedModalBox ifTrue:[
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   800
	"/ must clear this flag
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   801
	"/ - otherwise realize thinks it is already realized.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   802
	realized := false.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   803
	self unmarkAsUnmappedModalBox.
4407
d0f371afaa58 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4362
diff changeset
   804
    ].
d0f371afaa58 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4362
diff changeset
   805
    super realize.
d0f371afaa58 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4362
diff changeset
   806
!
d0f371afaa58 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4362
diff changeset
   807
3706
c2b41c6ea4ef destroy - release
Claus Gittinger <cg@exept.de>
parents: 3697
diff changeset
   808
release
c2b41c6ea4ef destroy - release
Claus Gittinger <cg@exept.de>
parents: 3697
diff changeset
   809
    keyboardProcessor notNil ifTrue:[
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   810
	keyboardProcessor release.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   811
	keyboardProcessor := nil.
3706
c2b41c6ea4ef destroy - release
Claus Gittinger <cg@exept.de>
parents: 3697
diff changeset
   812
    ].
c2b41c6ea4ef destroy - release
Claus Gittinger <cg@exept.de>
parents: 3697
diff changeset
   813
    super release
3446
e66622e4f832 defaultExtent: ask device
Claus Gittinger <cg@exept.de>
parents: 3370
diff changeset
   814
! !
625
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   815
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   816
!TopView methodsFor:'misc'!
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   817
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   818
raiseDeiconified
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   819
    "deiconify & bring to front"
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   820
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   821
    self isCollapsed ifTrue:[
3818
6a5b62a616a7 do not unmap in order to raiseDeiconified
Claus Gittinger <cg@exept.de>
parents: 3768
diff changeset
   822
"/        self unmap.
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   823
	self realize.
625
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   824
    ].
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   825
    self raise
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   826
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   827
    "
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   828
     Transcript topView raiseDeiconified
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   829
    "
645
a62615e26583 Rename unrealize-->unmap.
Stefan Vogel <sv@exept.de>
parents: 625
diff changeset
   830
a62615e26583 Rename unrealize-->unmap.
Stefan Vogel <sv@exept.de>
parents: 625
diff changeset
   831
    "Modified: 3.5.1996 / 23:49:36 / stefan"
625
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   832
!
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   833
2124
750a1fc2a510 added #waitUntilClosed (mostly for rdoit)
Claus Gittinger <cg@exept.de>
parents: 2103
diff changeset
   834
waitUntilClosed
750a1fc2a510 added #waitUntilClosed (mostly for rdoit)
Claus Gittinger <cg@exept.de>
parents: 2103
diff changeset
   835
    "wait until the receiver has been closed.
750a1fc2a510 added #waitUntilClosed (mostly for rdoit)
Claus Gittinger <cg@exept.de>
parents: 2103
diff changeset
   836
     Can be used to synchronize multiple-window applications,
750a1fc2a510 added #waitUntilClosed (mostly for rdoit)
Claus Gittinger <cg@exept.de>
parents: 2103
diff changeset
   837
     and (especially) to wait until an application session is finished
750a1fc2a510 added #waitUntilClosed (mostly for rdoit)
Claus Gittinger <cg@exept.de>
parents: 2103
diff changeset
   838
     when invoking commands with the rDoit mechanism"
750a1fc2a510 added #waitUntilClosed (mostly for rdoit)
Claus Gittinger <cg@exept.de>
parents: 2103
diff changeset
   839
750a1fc2a510 added #waitUntilClosed (mostly for rdoit)
Claus Gittinger <cg@exept.de>
parents: 2103
diff changeset
   840
    [drawableId isNil] whileFalse:[
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   841
	Delay waitForSeconds:0.1.
2124
750a1fc2a510 added #waitUntilClosed (mostly for rdoit)
Claus Gittinger <cg@exept.de>
parents: 2103
diff changeset
   842
    ].
750a1fc2a510 added #waitUntilClosed (mostly for rdoit)
Claus Gittinger <cg@exept.de>
parents: 2103
diff changeset
   843
750a1fc2a510 added #waitUntilClosed (mostly for rdoit)
Claus Gittinger <cg@exept.de>
parents: 2103
diff changeset
   844
    "asynchronous:
750a1fc2a510 added #waitUntilClosed (mostly for rdoit)
Claus Gittinger <cg@exept.de>
parents: 2103
diff changeset
   845
750a1fc2a510 added #waitUntilClosed (mostly for rdoit)
Claus Gittinger <cg@exept.de>
parents: 2103
diff changeset
   846
     EditTextView open
750a1fc2a510 added #waitUntilClosed (mostly for rdoit)
Claus Gittinger <cg@exept.de>
parents: 2103
diff changeset
   847
    "
750a1fc2a510 added #waitUntilClosed (mostly for rdoit)
Claus Gittinger <cg@exept.de>
parents: 2103
diff changeset
   848
750a1fc2a510 added #waitUntilClosed (mostly for rdoit)
Claus Gittinger <cg@exept.de>
parents: 2103
diff changeset
   849
    "synchronous:
750a1fc2a510 added #waitUntilClosed (mostly for rdoit)
Claus Gittinger <cg@exept.de>
parents: 2103
diff changeset
   850
750a1fc2a510 added #waitUntilClosed (mostly for rdoit)
Claus Gittinger <cg@exept.de>
parents: 2103
diff changeset
   851
     EditTextView open topView waitUntilClosed
750a1fc2a510 added #waitUntilClosed (mostly for rdoit)
Claus Gittinger <cg@exept.de>
parents: 2103
diff changeset
   852
    "
750a1fc2a510 added #waitUntilClosed (mostly for rdoit)
Claus Gittinger <cg@exept.de>
parents: 2103
diff changeset
   853
750a1fc2a510 added #waitUntilClosed (mostly for rdoit)
Claus Gittinger <cg@exept.de>
parents: 2103
diff changeset
   854
    "Modified: / 20.5.1998 / 18:03:37 / cg"
750a1fc2a510 added #waitUntilClosed (mostly for rdoit)
Claus Gittinger <cg@exept.de>
parents: 2103
diff changeset
   855
!
750a1fc2a510 added #waitUntilClosed (mostly for rdoit)
Claus Gittinger <cg@exept.de>
parents: 2103
diff changeset
   856
625
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   857
withCursor:aCursor do:aBlock
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   858
    "evaluate aBlock while showing aCursor in all my views.
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   859
     Return the value as returned by aBlock."
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   860
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   861
    windowGroup notNil ifTrue:[
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   862
	^ windowGroup withCursor:aCursor do:aBlock
625
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   863
    ].
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   864
    ^ super withCursor:aCursor do:aBlock
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   865
! !
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   866
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   867
!TopView methodsFor:'queries'!
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
   868
4338
769232b6ca5e beep control
Claus Gittinger <cg@exept.de>
parents: 4309
diff changeset
   869
beepWhenOpening
5620
4dd0cdcf76a3 changed: #beepWhenOpening
Claus Gittinger <cg@exept.de>
parents: 5614
diff changeset
   870
    "can be redefined by error and warnBoxes"
4dd0cdcf76a3 changed: #beepWhenOpening
Claus Gittinger <cg@exept.de>
parents: 5614
diff changeset
   871
4338
769232b6ca5e beep control
Claus Gittinger <cg@exept.de>
parents: 4309
diff changeset
   872
    ^ false
5620
4dd0cdcf76a3 changed: #beepWhenOpening
Claus Gittinger <cg@exept.de>
parents: 5614
diff changeset
   873
4dd0cdcf76a3 changed: #beepWhenOpening
Claus Gittinger <cg@exept.de>
parents: 5614
diff changeset
   874
    "Modified: / 21-10-2010 / 17:05:08 / cg"
4338
769232b6ca5e beep control
Claus Gittinger <cg@exept.de>
parents: 4309
diff changeset
   875
!
769232b6ca5e beep control
Claus Gittinger <cg@exept.de>
parents: 4309
diff changeset
   876
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   877
heightIncludingBorder
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   878
    "return the views overall-height"
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   879
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   880
    ^ height
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   881
!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   882
4961
3270bcfea358 +isActive
Claus Gittinger <cg@exept.de>
parents: 4836
diff changeset
   883
isActive
3270bcfea358 +isActive
Claus Gittinger <cg@exept.de>
parents: 4836
diff changeset
   884
    "true, if I have the focus (w.r.t the windowing system);
3270bcfea358 +isActive
Claus Gittinger <cg@exept.de>
parents: 4836
diff changeset
   885
     i.e. if one of my subViews actually has the real focus.
3270bcfea358 +isActive
Claus Gittinger <cg@exept.de>
parents: 4836
diff changeset
   886
     With click-to-focus behavior, this is obviously the current application.
4982
d7f559496984 Take care for nil windowgroup when showing ToolTip
Stefan Vogel <sv@exept.de>
parents: 4974
diff changeset
   887
     Use this query with caution, for example, to suppress tooltips for inactive apps."
4961
3270bcfea358 +isActive
Claus Gittinger <cg@exept.de>
parents: 4836
diff changeset
   888
5614
7c75195a84c1 Multi Screen Support
Michael Beyl <mb@exept.de>
parents: 5287
diff changeset
   889
    ^ windowGroup notNil and:[windowGroup anyViewHasFocus]
4961
3270bcfea358 +isActive
Claus Gittinger <cg@exept.de>
parents: 4836
diff changeset
   890
!
3270bcfea358 +isActive
Claus Gittinger <cg@exept.de>
parents: 4836
diff changeset
   891
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   892
isCollapsed
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   893
    "ST80 compatibility: return true if the view is not shown (i.e. iconified)"
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   894
1536
9c4e6fd967fb comment
Claus Gittinger <cg@exept.de>
parents: 1519
diff changeset
   895
    "/ ^ device windowIsIconified:drawableId
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   896
    ^ shown not
1536
9c4e6fd967fb comment
Claus Gittinger <cg@exept.de>
parents: 1519
diff changeset
   897
9c4e6fd967fb comment
Claus Gittinger <cg@exept.de>
parents: 1519
diff changeset
   898
    "Modified: 4.4.1997 / 14:44:39 / cg"
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   899
!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   900
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   901
isDialogView
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   902
    "return true if this is a dialog view"
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   903
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   904
    type isInteger ifTrue:[
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   905
	^ (type bitAnd:WindowTypeMask) == TypeDialog
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   906
    ].
4256
323ae7edb0fe *** empty log message ***
ca
parents: 4255
diff changeset
   907
    "/ the nonInteger handling code is for backward compatibility only.
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   908
    ^ type == #dialog
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   909
!
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   910
4500
964544126594 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4498
diff changeset
   911
isMDIClientView
5724
Claus Gittinger <cg@exept.de>
parents: 5723
diff changeset
   912
    type isInteger ifFalse:[^ false].
Claus Gittinger <cg@exept.de>
parents: 5723
diff changeset
   913
4498
Claus Gittinger <cg@exept.de>
parents: 4438
diff changeset
   914
    ^ (type bitAnd:MDIClientMask) == MDIClient.
5724
Claus Gittinger <cg@exept.de>
parents: 5723
diff changeset
   915
Claus Gittinger <cg@exept.de>
parents: 5723
diff changeset
   916
    "Modified: / 03-03-2011 / 20:14:09 / cg"
4498
Claus Gittinger <cg@exept.de>
parents: 4438
diff changeset
   917
!
Claus Gittinger <cg@exept.de>
parents: 4438
diff changeset
   918
3620
8202baeec111 added isSlave, isMaster
Claus Gittinger <cg@exept.de>
parents: 3585
diff changeset
   919
isMaster
8202baeec111 added isSlave, isMaster
Claus Gittinger <cg@exept.de>
parents: 3585
diff changeset
   920
    "return true, if this is a masterView"
8202baeec111 added isSlave, isMaster
Claus Gittinger <cg@exept.de>
parents: 3585
diff changeset
   921
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   922
    type isInteger ifTrue:[
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   923
	^ (type bitAnd:MasterSlaveMask) == TypeMaster
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   924
    ].
4256
323ae7edb0fe *** empty log message ***
ca
parents: 4255
diff changeset
   925
    "/ the nonInteger handling code is for backward compatibility only.
3620
8202baeec111 added isSlave, isMaster
Claus Gittinger <cg@exept.de>
parents: 3585
diff changeset
   926
    ^ type == #master
8202baeec111 added isSlave, isMaster
Claus Gittinger <cg@exept.de>
parents: 3585
diff changeset
   927
!
8202baeec111 added isSlave, isMaster
Claus Gittinger <cg@exept.de>
parents: 3585
diff changeset
   928
3347
e7b8350d6525 ismodal moved up;
ca
parents: 3152
diff changeset
   929
isModal
e7b8350d6525 ismodal moved up;
ca
parents: 3152
diff changeset
   930
    "return true, if the receiver has been opened modal"
e7b8350d6525 ismodal moved up;
ca
parents: 3152
diff changeset
   931
e7b8350d6525 ismodal moved up;
ca
parents: 3152
diff changeset
   932
    windowGroup isNil ifTrue:[^ false].
3446
e66622e4f832 defaultExtent: ask device
Claus Gittinger <cg@exept.de>
parents: 3370
diff changeset
   933
    ^ windowGroup isModal
e66622e4f832 defaultExtent: ask device
Claus Gittinger <cg@exept.de>
parents: 3370
diff changeset
   934
!
3347
e7b8350d6525 ismodal moved up;
ca
parents: 3152
diff changeset
   935
3621
5990a5870777 added isPartner
Claus Gittinger <cg@exept.de>
parents: 3620
diff changeset
   936
isPartner
5990a5870777 added isPartner
Claus Gittinger <cg@exept.de>
parents: 3620
diff changeset
   937
    "return true, if this is a partnerView"
5990a5870777 added isPartner
Claus Gittinger <cg@exept.de>
parents: 3620
diff changeset
   938
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   939
    type isInteger ifTrue:[
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   940
	^ (type bitAnd:MasterSlaveMask) == TypePartner
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   941
    ].
4256
323ae7edb0fe *** empty log message ***
ca
parents: 4255
diff changeset
   942
    "/ the nonInteger handling code is for backward compatibility only.
3621
5990a5870777 added isPartner
Claus Gittinger <cg@exept.de>
parents: 3620
diff changeset
   943
    ^ type == #partner
5990a5870777 added isPartner
Claus Gittinger <cg@exept.de>
parents: 3620
diff changeset
   944
!
5990a5870777 added isPartner
Claus Gittinger <cg@exept.de>
parents: 3620
diff changeset
   945
1398
8b54a84a6367 changed #isPopUpView
Claus Gittinger <cg@exept.de>
parents: 1396
diff changeset
   946
isPopUpView
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   947
    "return true if I am a popup view.
5718
7013638adb71 changed: #isPopUpView
Claus Gittinger <cg@exept.de>
parents: 5717
diff changeset
   948
     (i.e. I want to come up without any decoration and popUp to top immediately)"
1398
8b54a84a6367 changed #isPopUpView
Claus Gittinger <cg@exept.de>
parents: 1396
diff changeset
   949
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   950
    type isInteger ifTrue:[
5718
7013638adb71 changed: #isPopUpView
Claus Gittinger <cg@exept.de>
parents: 5717
diff changeset
   951
        ^ (type bitAnd:WindowTypeMask) == TypePopUp
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   952
    ].
4256
323ae7edb0fe *** empty log message ***
ca
parents: 4255
diff changeset
   953
    "/ the nonInteger handling code is for backward compatibility only.
1398
8b54a84a6367 changed #isPopUpView
Claus Gittinger <cg@exept.de>
parents: 1396
diff changeset
   954
    ^ type == #popup
8b54a84a6367 changed #isPopUpView
Claus Gittinger <cg@exept.de>
parents: 1396
diff changeset
   955
5718
7013638adb71 changed: #isPopUpView
Claus Gittinger <cg@exept.de>
parents: 5717
diff changeset
   956
    "Created: / 28-02-1997 / 22:12:30 / cg"
7013638adb71 changed: #isPopUpView
Claus Gittinger <cg@exept.de>
parents: 5717
diff changeset
   957
    "Modified: / 03-03-2011 / 15:00:35 / cg"
1398
8b54a84a6367 changed #isPopUpView
Claus Gittinger <cg@exept.de>
parents: 1396
diff changeset
   958
!
8b54a84a6367 changed #isPopUpView
Claus Gittinger <cg@exept.de>
parents: 1396
diff changeset
   959
4798
096226757fdd + beScreenDialog
Michael Beyl <mb@exept.de>
parents: 4570
diff changeset
   960
isScreenDialog
096226757fdd + beScreenDialog
Michael Beyl <mb@exept.de>
parents: 4570
diff changeset
   961
    "return true if I am a screen dialog view.
5656
b12406d419b3 changed: #isScreenDialog
Claus Gittinger <cg@exept.de>
parents: 5625
diff changeset
   962
     (i.e. I want to come up above all other windows)"
4798
096226757fdd + beScreenDialog
Michael Beyl <mb@exept.de>
parents: 4570
diff changeset
   963
096226757fdd + beScreenDialog
Michael Beyl <mb@exept.de>
parents: 4570
diff changeset
   964
    type isInteger ifTrue:[
5656
b12406d419b3 changed: #isScreenDialog
Claus Gittinger <cg@exept.de>
parents: 5625
diff changeset
   965
        ^ (type bitAnd:WindowTypeMask) == TypeScreenDialog
4798
096226757fdd + beScreenDialog
Michael Beyl <mb@exept.de>
parents: 4570
diff changeset
   966
    ].
096226757fdd + beScreenDialog
Michael Beyl <mb@exept.de>
parents: 4570
diff changeset
   967
    "/ the nonInteger handling code is for backward compatibility only.
096226757fdd + beScreenDialog
Michael Beyl <mb@exept.de>
parents: 4570
diff changeset
   968
    ^ false
5656
b12406d419b3 changed: #isScreenDialog
Claus Gittinger <cg@exept.de>
parents: 5625
diff changeset
   969
b12406d419b3 changed: #isScreenDialog
Claus Gittinger <cg@exept.de>
parents: 5625
diff changeset
   970
    "Modified: / 01-12-2010 / 12:15:59 / cg"
4798
096226757fdd + beScreenDialog
Michael Beyl <mb@exept.de>
parents: 4570
diff changeset
   971
!
096226757fdd + beScreenDialog
Michael Beyl <mb@exept.de>
parents: 4570
diff changeset
   972
3620
8202baeec111 added isSlave, isMaster
Claus Gittinger <cg@exept.de>
parents: 3585
diff changeset
   973
isSlave
8202baeec111 added isSlave, isMaster
Claus Gittinger <cg@exept.de>
parents: 3585
diff changeset
   974
    "return true, if this is a slaveView"
8202baeec111 added isSlave, isMaster
Claus Gittinger <cg@exept.de>
parents: 3585
diff changeset
   975
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   976
    type isInteger ifTrue:[
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
   977
	^ (type bitAnd:MasterSlaveMask) == TypeSlave
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
   978
    ].
4256
323ae7edb0fe *** empty log message ***
ca
parents: 4255
diff changeset
   979
    "/ the nonInteger handling code is for backward compatibility only.
3620
8202baeec111 added isSlave, isMaster
Claus Gittinger <cg@exept.de>
parents: 3585
diff changeset
   980
    ^ type == #slave
8202baeec111 added isSlave, isMaster
Claus Gittinger <cg@exept.de>
parents: 3585
diff changeset
   981
!
8202baeec111 added isSlave, isMaster
Claus Gittinger <cg@exept.de>
parents: 3585
diff changeset
   982
4256
323ae7edb0fe *** empty log message ***
ca
parents: 4255
diff changeset
   983
isToolDialog
323ae7edb0fe *** empty log message ***
ca
parents: 4255
diff changeset
   984
    "return true if I am a toolWindow dialog view.
5717
a63f96cbb291 changed:
Claus Gittinger <cg@exept.de>
parents: 5666
diff changeset
   985
     (i.e. I want to come up with a smaller window-title area, without minimize and maximize buttons)"
4256
323ae7edb0fe *** empty log message ***
ca
parents: 4255
diff changeset
   986
323ae7edb0fe *** empty log message ***
ca
parents: 4255
diff changeset
   987
    type isInteger ifTrue:[
5717
a63f96cbb291 changed:
Claus Gittinger <cg@exept.de>
parents: 5666
diff changeset
   988
        ^ (type bitAnd:WindowTypeMask) == TypeToolDialog
4256
323ae7edb0fe *** empty log message ***
ca
parents: 4255
diff changeset
   989
    ].
323ae7edb0fe *** empty log message ***
ca
parents: 4255
diff changeset
   990
    "/ the nonInteger handling code is for backward compatibility only.
323ae7edb0fe *** empty log message ***
ca
parents: 4255
diff changeset
   991
    ^ false
5717
a63f96cbb291 changed:
Claus Gittinger <cg@exept.de>
parents: 5666
diff changeset
   992
a63f96cbb291 changed:
Claus Gittinger <cg@exept.de>
parents: 5666
diff changeset
   993
    "Modified: / 03-03-2011 / 14:59:42 / cg"
4256
323ae7edb0fe *** empty log message ***
ca
parents: 4255
diff changeset
   994
!
323ae7edb0fe *** empty log message ***
ca
parents: 4255
diff changeset
   995
4254
4e1ead8d389a *** empty log message ***
ca
parents: 4191
diff changeset
   996
isToolWindow
4e1ead8d389a *** empty log message ***
ca
parents: 4191
diff changeset
   997
    "return true if I am a toolWindow view.
5717
a63f96cbb291 changed:
Claus Gittinger <cg@exept.de>
parents: 5666
diff changeset
   998
     (i.e. I want to come up with a smaller window-title area, without minimize and maximize buttons)"
4254
4e1ead8d389a *** empty log message ***
ca
parents: 4191
diff changeset
   999
4e1ead8d389a *** empty log message ***
ca
parents: 4191
diff changeset
  1000
    type isInteger ifTrue:[
5717
a63f96cbb291 changed:
Claus Gittinger <cg@exept.de>
parents: 5666
diff changeset
  1001
        ^ (type bitAnd:WindowTypeMask) == TypeToolWindow
4254
4e1ead8d389a *** empty log message ***
ca
parents: 4191
diff changeset
  1002
    ].
4256
323ae7edb0fe *** empty log message ***
ca
parents: 4255
diff changeset
  1003
    "/ the nonInteger handling code is for backward compatibility only.
323ae7edb0fe *** empty log message ***
ca
parents: 4255
diff changeset
  1004
    ^ false
5717
a63f96cbb291 changed:
Claus Gittinger <cg@exept.de>
parents: 5666
diff changeset
  1005
a63f96cbb291 changed:
Claus Gittinger <cg@exept.de>
parents: 5666
diff changeset
  1006
    "Modified: / 03-03-2011 / 14:59:38 / cg"
4254
4e1ead8d389a *** empty log message ***
ca
parents: 4191
diff changeset
  1007
!
4e1ead8d389a *** empty log message ***
ca
parents: 4191
diff changeset
  1008
1481
335881213805 added #isTopView query
Claus Gittinger <cg@exept.de>
parents: 1476
diff changeset
  1009
isTopView
335881213805 added #isTopView query
Claus Gittinger <cg@exept.de>
parents: 1476
diff changeset
  1010
    "return true, since I am a topView"
335881213805 added #isTopView query
Claus Gittinger <cg@exept.de>
parents: 1476
diff changeset
  1011
335881213805 added #isTopView query
Claus Gittinger <cg@exept.de>
parents: 1476
diff changeset
  1012
    ^ true
335881213805 added #isTopView query
Claus Gittinger <cg@exept.de>
parents: 1476
diff changeset
  1013
335881213805 added #isTopView query
Claus Gittinger <cg@exept.de>
parents: 1476
diff changeset
  1014
    "Created: 22.3.1997 / 14:45:55 / cg"
335881213805 added #isTopView query
Claus Gittinger <cg@exept.de>
parents: 1476
diff changeset
  1015
!
335881213805 added #isTopView query
Claus Gittinger <cg@exept.de>
parents: 1476
diff changeset
  1016
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
  1017
isUndecoratedView
5717
a63f96cbb291 changed:
Claus Gittinger <cg@exept.de>
parents: 5666
diff changeset
  1018
    "return true if I am an undecorated view (no minimize, maximize and close buttons)."
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
  1019
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
  1020
    type isInteger ifTrue:[
5717
a63f96cbb291 changed:
Claus Gittinger <cg@exept.de>
parents: 5666
diff changeset
  1021
        ^ (type bitAnd:WindowTypeMask) == TypeUndecorated
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
  1022
    ].
4256
323ae7edb0fe *** empty log message ***
ca
parents: 4255
diff changeset
  1023
    "/ the nonInteger handling code is for backward compatibility only.
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
  1024
    ^ false
5717
a63f96cbb291 changed:
Claus Gittinger <cg@exept.de>
parents: 5666
diff changeset
  1025
a63f96cbb291 changed:
Claus Gittinger <cg@exept.de>
parents: 5666
diff changeset
  1026
    "Modified: / 03-03-2011 / 15:00:22 / cg"
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
  1027
!
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
  1028
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1029
preferredExtent
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1030
    "return my preferred extent - this is the minimum size I would like to have.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1031
     The default here is the classes default extent,
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1032
     however many subclasses redefine this to compute the actual value
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1033
     depending on the sizes of the contents or subcomponents."
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1034
5059
0b3c75d7dbad changed #preferredExtent - use explicitExtent instvar
Stefan Vogel <sv@exept.de>
parents: 4992
diff changeset
  1035
    "/ If I have an explicit preferredExtent..
0b3c75d7dbad changed #preferredExtent - use explicitExtent instvar
Stefan Vogel <sv@exept.de>
parents: 4992
diff changeset
  1036
    explicitExtent notNil ifTrue:[
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1037
	^ explicitExtent
5059
0b3c75d7dbad changed #preferredExtent - use explicitExtent instvar
Stefan Vogel <sv@exept.de>
parents: 4992
diff changeset
  1038
    ].
966
8e202c385338 handle Text items in xOfCol...
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
  1039
5059
0b3c75d7dbad changed #preferredExtent - use explicitExtent instvar
Stefan Vogel <sv@exept.de>
parents: 4992
diff changeset
  1040
    "/ If I have a cached preferredExtent value..
761
34d17118452a care for preSet preferredExtent
Claus Gittinger <cg@exept.de>
parents: 712
diff changeset
  1041
    preferredExtent notNil ifTrue:[
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1042
	^ preferredExtent
761
34d17118452a care for preSet preferredExtent
Claus Gittinger <cg@exept.de>
parents: 712
diff changeset
  1043
    ].
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1044
    ^ self class defaultExtent
761
34d17118452a care for preSet preferredExtent
Claus Gittinger <cg@exept.de>
parents: 712
diff changeset
  1045
966
8e202c385338 handle Text items in xOfCol...
Claus Gittinger <cg@exept.de>
parents: 960
diff changeset
  1046
    "Modified: 19.7.1996 / 20:45:41 / cg"
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1047
!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1048
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1049
widthIncludingBorder
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1050
    "return the views overall-width"
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1051
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1052
    ^ width
2808
627ce4f2a090 respond to #window - for compatibility with appModel
Claus Gittinger <cg@exept.de>
parents: 2799
diff changeset
  1053
!
627ce4f2a090 respond to #window - for compatibility with appModel
Claus Gittinger <cg@exept.de>
parents: 2799
diff changeset
  1054
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
  1055
windowStyle
4254
4e1ead8d389a *** empty log message ***
ca
parents: 4191
diff changeset
  1056
    "return a symbol describing my style which should be one of
4e1ead8d389a *** empty log message ***
ca
parents: 4191
diff changeset
  1057
     #dialog, #popUp, #undecorated, #normal or #toolWindow.
4e1ead8d389a *** empty log message ***
ca
parents: 4191
diff changeset
  1058
     This is used by the device as a decoration hint."
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
  1059
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
  1060
    |t|
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
  1061
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
  1062
    type isInteger ifTrue:[
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1063
	t := type bitAnd:WindowTypeMask.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1064
	t == TypeUndecorated ifTrue:[^ #undecorated].
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1065
	t == TypeDialog ifTrue:[^ #dialog].
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1066
	t == TypePopUp ifTrue:[^ #popUp].
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1067
	t == TypeToolWindow ifTrue:[^ #toolWindow].
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1068
	t == TypeToolDialog ifTrue:[^ #toolDialog].
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1069
	^ #normal
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
  1070
    ].
4256
323ae7edb0fe *** empty log message ***
ca
parents: 4255
diff changeset
  1071
    "/ the nonInteger handling code is for backward compatibility only.
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
  1072
    ^ super windowStyle
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1073
! !
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1074
4338
769232b6ca5e beep control
Claus Gittinger <cg@exept.de>
parents: 4309
diff changeset
  1075
!TopView methodsFor:'realization'!
769232b6ca5e beep control
Claus Gittinger <cg@exept.de>
parents: 4309
diff changeset
  1076
769232b6ca5e beep control
Claus Gittinger <cg@exept.de>
parents: 4309
diff changeset
  1077
openModal
769232b6ca5e beep control
Claus Gittinger <cg@exept.de>
parents: 4309
diff changeset
  1078
    "added bell to wake up user"
769232b6ca5e beep control
Claus Gittinger <cg@exept.de>
parents: 4309
diff changeset
  1079
769232b6ca5e beep control
Claus Gittinger <cg@exept.de>
parents: 4309
diff changeset
  1080
    (self beepWhenOpening) ifTrue:[
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1081
	self beep.
4338
769232b6ca5e beep control
Claus Gittinger <cg@exept.de>
parents: 4309
diff changeset
  1082
    ].
769232b6ca5e beep control
Claus Gittinger <cg@exept.de>
parents: 4309
diff changeset
  1083
    super openModal
769232b6ca5e beep control
Claus Gittinger <cg@exept.de>
parents: 4309
diff changeset
  1084
769232b6ca5e beep control
Claus Gittinger <cg@exept.de>
parents: 4309
diff changeset
  1085
    "
769232b6ca5e beep control
Claus Gittinger <cg@exept.de>
parents: 4309
diff changeset
  1086
     self warn:'hello'
769232b6ca5e beep control
Claus Gittinger <cg@exept.de>
parents: 4309
diff changeset
  1087
     self information:'hello'
769232b6ca5e beep control
Claus Gittinger <cg@exept.de>
parents: 4309
diff changeset
  1088
     ModalBox new openModal
769232b6ca5e beep control
Claus Gittinger <cg@exept.de>
parents: 4309
diff changeset
  1089
     WarningBox new openModal
769232b6ca5e beep control
Claus Gittinger <cg@exept.de>
parents: 4309
diff changeset
  1090
     InfoBox new openModal
769232b6ca5e beep control
Claus Gittinger <cg@exept.de>
parents: 4309
diff changeset
  1091
    "
769232b6ca5e beep control
Claus Gittinger <cg@exept.de>
parents: 4309
diff changeset
  1092
769232b6ca5e beep control
Claus Gittinger <cg@exept.de>
parents: 4309
diff changeset
  1093
    "Modified: 28.5.1996 / 16:59:01 / cg"
769232b6ca5e beep control
Claus Gittinger <cg@exept.de>
parents: 4309
diff changeset
  1094
! !
769232b6ca5e beep control
Claus Gittinger <cg@exept.de>
parents: 4309
diff changeset
  1095
3881
6661ab0fa781 method category rename
Claus Gittinger <cg@exept.de>
parents: 3880
diff changeset
  1096
!TopView methodsFor:'show & hide'!
1399
a10829e54d2c fixPosition moved from ModalBox
Claus Gittinger <cg@exept.de>
parents: 1398
diff changeset
  1097
4353
4547c189668a raise bug under win32
Claus Gittinger <cg@exept.de>
parents: 4338
diff changeset
  1098
activate
4547c189668a raise bug under win32
Claus Gittinger <cg@exept.de>
parents: 4338
diff changeset
  1099
    "added for MS-windows - much like raise.
4547c189668a raise bug under win32
Claus Gittinger <cg@exept.de>
parents: 4338
diff changeset
  1100
     Raise/Activate seem to work only within my own (ST/X)-windows;
4547c189668a raise bug under win32
Claus Gittinger <cg@exept.de>
parents: 4338
diff changeset
  1101
     they do not raise one of my views above another (for example: command.com)-window.
5614
7c75195a84c1 Multi Screen Support
Michael Beyl <mb@exept.de>
parents: 5287
diff changeset
  1102
     Can anyone tell me what the difference between raise, activate and setForeground
4353
4547c189668a raise bug under win32
Claus Gittinger <cg@exept.de>
parents: 4338
diff changeset
  1103
     really is (I mean really - not what is written in the crappy documentation)"
4547c189668a raise bug under win32
Claus Gittinger <cg@exept.de>
parents: 4338
diff changeset
  1104
4547c189668a raise bug under win32
Claus Gittinger <cg@exept.de>
parents: 4338
diff changeset
  1105
    drawableId isNil ifTrue:[self create].
4547c189668a raise bug under win32
Claus Gittinger <cg@exept.de>
parents: 4338
diff changeset
  1106
    device activateWindow:drawableId
4547c189668a raise bug under win32
Claus Gittinger <cg@exept.de>
parents: 4338
diff changeset
  1107
4547c189668a raise bug under win32
Claus Gittinger <cg@exept.de>
parents: 4338
diff changeset
  1108
    "
4547c189668a raise bug under win32
Claus Gittinger <cg@exept.de>
parents: 4338
diff changeset
  1109
     Transcript topView activate
4547c189668a raise bug under win32
Claus Gittinger <cg@exept.de>
parents: 4338
diff changeset
  1110
    "
4547c189668a raise bug under win32
Claus Gittinger <cg@exept.de>
parents: 4338
diff changeset
  1111
!
4547c189668a raise bug under win32
Claus Gittinger <cg@exept.de>
parents: 4338
diff changeset
  1112
1399
a10829e54d2c fixPosition moved from ModalBox
Claus Gittinger <cg@exept.de>
parents: 1398
diff changeset
  1113
fixPosition:aPoint
5614
7c75195a84c1 Multi Screen Support
Michael Beyl <mb@exept.de>
parents: 5287
diff changeset
  1114
    "set origin to aPoint, but make sure, that the box is fully visible
1399
a10829e54d2c fixPosition moved from ModalBox
Claus Gittinger <cg@exept.de>
parents: 1398
diff changeset
  1115
     by shifting it into the visible screen area if nescessary.
a10829e54d2c fixPosition moved from ModalBox
Claus Gittinger <cg@exept.de>
parents: 1398
diff changeset
  1116
     This prevents invisible modalBoxes (which you could never close)."
a10829e54d2c fixPosition moved from ModalBox
Claus Gittinger <cg@exept.de>
parents: 1398
diff changeset
  1117
a10829e54d2c fixPosition moved from ModalBox
Claus Gittinger <cg@exept.de>
parents: 1398
diff changeset
  1118
    self origin:aPoint.
a10829e54d2c fixPosition moved from ModalBox
Claus Gittinger <cg@exept.de>
parents: 1398
diff changeset
  1119
    self makeFullyVisible
a10829e54d2c fixPosition moved from ModalBox
Claus Gittinger <cg@exept.de>
parents: 1398
diff changeset
  1120
a10829e54d2c fixPosition moved from ModalBox
Claus Gittinger <cg@exept.de>
parents: 1398
diff changeset
  1121
    "Created: 28.2.1997 / 16:39:31 / cg"
1401
fca5f070bc0b positionOffset also defined here
Claus Gittinger <cg@exept.de>
parents: 1399
diff changeset
  1122
!
fca5f070bc0b positionOffset also defined here
Claus Gittinger <cg@exept.de>
parents: 1399
diff changeset
  1123
5272
2e4ccb226a3f hide redefined to allow abort in close.
Claus Gittinger <cg@exept.de>
parents: 5261
diff changeset
  1124
hide
2e4ccb226a3f hide redefined to allow abort in close.
Claus Gittinger <cg@exept.de>
parents: 5261
diff changeset
  1125
    |masterGroup myApplication|
2e4ccb226a3f hide redefined to allow abort in close.
Claus Gittinger <cg@exept.de>
parents: 5261
diff changeset
  1126
2e4ccb226a3f hide redefined to allow abort in close.
Claus Gittinger <cg@exept.de>
parents: 5261
diff changeset
  1127
    realized ifFalse:[^ self].
2e4ccb226a3f hide redefined to allow abort in close.
Claus Gittinger <cg@exept.de>
parents: 5261
diff changeset
  1128
2e4ccb226a3f hide redefined to allow abort in close.
Claus Gittinger <cg@exept.de>
parents: 5261
diff changeset
  1129
    "/ if I am a modal-opened application's view
2e4ccb226a3f hide redefined to allow abort in close.
Claus Gittinger <cg@exept.de>
parents: 5261
diff changeset
  1130
    "/ (for example, an UIPainter) give it a chance
2e4ccb226a3f hide redefined to allow abort in close.
Claus Gittinger <cg@exept.de>
parents: 5261
diff changeset
  1131
    "/ to intercept the hide.
2e4ccb226a3f hide redefined to allow abort in close.
Claus Gittinger <cg@exept.de>
parents: 5261
diff changeset
  1132
    "/ Q: shouln't this be done in the windowGroup,
2e4ccb226a3f hide redefined to allow abort in close.
Claus Gittinger <cg@exept.de>
parents: 5261
diff changeset
  1133
    "/ by sending a closerequest always and letting popUps
2e4ccb226a3f hide redefined to allow abort in close.
Claus Gittinger <cg@exept.de>
parents: 5261
diff changeset
  1134
    "/ respond by hiding ???
5287
b25ac0bdfbe7 cleanup scheme fixed
ca
parents: 5284
diff changeset
  1135
5272
2e4ccb226a3f hide redefined to allow abort in close.
Claus Gittinger <cg@exept.de>
parents: 5261
diff changeset
  1136
    (windowGroup notNil
2e4ccb226a3f hide redefined to allow abort in close.
Claus Gittinger <cg@exept.de>
parents: 5261
diff changeset
  1137
    and:[ windowGroup isModal ]) ifTrue:[
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1138
	masterGroup := windowGroup previousGroup.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1139
	myApplication := self application.
5272
2e4ccb226a3f hide redefined to allow abort in close.
Claus Gittinger <cg@exept.de>
parents: 5261
diff changeset
  1140
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1141
	(myApplication notNil
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1142
	and:[ masterGroup isNil or:[myApplication ~= masterGroup application]]) ifTrue:[
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1143
	    AbortOperationRequest handle:[:ex |
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1144
		"/ in case the close is cought by the application
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1145
		^ self.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1146
	    ] do:[
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1147
		myApplication closeRequest.
5287
b25ac0bdfbe7 cleanup scheme fixed
ca
parents: 5284
diff changeset
  1148
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1149
		"/ if myApp called closeDownViews, it wants me to hide.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1150
		"/ otherwise, it has redefined closeRequest to return without closeDownViews.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1151
		realized ifTrue:[
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1152
		    "/ closeDownViews was not called - app wants me to remain open
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1153
		    ^ self
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1154
		].
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1155
	    ].
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1156
	].
5272
2e4ccb226a3f hide redefined to allow abort in close.
Claus Gittinger <cg@exept.de>
parents: 5261
diff changeset
  1157
    ].
2e4ccb226a3f hide redefined to allow abort in close.
Claus Gittinger <cg@exept.de>
parents: 5261
diff changeset
  1158
    super hide.
2e4ccb226a3f hide redefined to allow abort in close.
Claus Gittinger <cg@exept.de>
parents: 5261
diff changeset
  1159
!
2e4ccb226a3f hide redefined to allow abort in close.
Claus Gittinger <cg@exept.de>
parents: 5261
diff changeset
  1160
3916
5452ecf8d6ef map at old position (remap)
Claus Gittinger <cg@exept.de>
parents: 3884
diff changeset
  1161
map
5452ecf8d6ef map at old position (remap)
Claus Gittinger <cg@exept.de>
parents: 3884
diff changeset
  1162
    "make the view visible on the screen.
5452ecf8d6ef map at old position (remap)
Claus Gittinger <cg@exept.de>
parents: 3884
diff changeset
  1163
     For topViews, the windowManager will choose (or ask for) the
5452ecf8d6ef map at old position (remap)
Claus Gittinger <cg@exept.de>
parents: 3884
diff changeset
  1164
     views position on the screen.
5452ecf8d6ef map at old position (remap)
Claus Gittinger <cg@exept.de>
parents: 3884
diff changeset
  1165
     Notice:
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1166
	Actually, this method is only valid for topViews;
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1167
	however, it is defined here to allow things like 'Button new realize'"
3916
5452ecf8d6ef map at old position (remap)
Claus Gittinger <cg@exept.de>
parents: 3884
diff changeset
  1168
5452ecf8d6ef map at old position (remap)
Claus Gittinger <cg@exept.de>
parents: 3884
diff changeset
  1169
    self mapAt:(self origin) iconified:false
5452ecf8d6ef map at old position (remap)
Claus Gittinger <cg@exept.de>
parents: 3884
diff changeset
  1170
!
5452ecf8d6ef map at old position (remap)
Claus Gittinger <cg@exept.de>
parents: 3884
diff changeset
  1171
1821
d2b91606dc55 added #mapIconified and #openIconified.
Claus Gittinger <cg@exept.de>
parents: 1765
diff changeset
  1172
mapIconified
d2b91606dc55 added #mapIconified and #openIconified.
Claus Gittinger <cg@exept.de>
parents: 1765
diff changeset
  1173
    "make the view visible but iconified.
d2b91606dc55 added #mapIconified and #openIconified.
Claus Gittinger <cg@exept.de>
parents: 1765
diff changeset
  1174
     In contrast to map, which does it non-iconified"
d2b91606dc55 added #mapIconified and #openIconified.
Claus Gittinger <cg@exept.de>
parents: 1765
diff changeset
  1175
d2b91606dc55 added #mapIconified and #openIconified.
Claus Gittinger <cg@exept.de>
parents: 1765
diff changeset
  1176
    realized ifFalse:[
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1177
	"
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1178
	 now, make the view visible
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1179
	"
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1180
	realized := true.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1181
	device
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1182
	    mapView:self id:drawableId iconified:true
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1183
	    atX:left y:top width:width height:height
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1184
	    minExtent:(self minExtent) maxExtent:(self maxExtent)
1821
d2b91606dc55 added #mapIconified and #openIconified.
Claus Gittinger <cg@exept.de>
parents: 1765
diff changeset
  1185
    ]
d2b91606dc55 added #mapIconified and #openIconified.
Claus Gittinger <cg@exept.de>
parents: 1765
diff changeset
  1186
d2b91606dc55 added #mapIconified and #openIconified.
Claus Gittinger <cg@exept.de>
parents: 1765
diff changeset
  1187
    "Modified: 25.2.1997 / 22:44:33 / cg"
d2b91606dc55 added #mapIconified and #openIconified.
Claus Gittinger <cg@exept.de>
parents: 1765
diff changeset
  1188
    "Created: 24.7.1997 / 12:48:21 / cg"
d2b91606dc55 added #mapIconified and #openIconified.
Claus Gittinger <cg@exept.de>
parents: 1765
diff changeset
  1189
!
d2b91606dc55 added #mapIconified and #openIconified.
Claus Gittinger <cg@exept.de>
parents: 1765
diff changeset
  1190
1401
fca5f070bc0b positionOffset also defined here
Claus Gittinger <cg@exept.de>
parents: 1399
diff changeset
  1191
positionOffset
fca5f070bc0b positionOffset also defined here
Claus Gittinger <cg@exept.de>
parents: 1399
diff changeset
  1192
    "return the delta, by which the box should be
fca5f070bc0b positionOffset also defined here
Claus Gittinger <cg@exept.de>
parents: 1399
diff changeset
  1193
     displaced from the mouse pointer.
fca5f070bc0b positionOffset also defined here
Claus Gittinger <cg@exept.de>
parents: 1399
diff changeset
  1194
     Here, the boxes center is returned as a default.
fca5f070bc0b positionOffset also defined here
Claus Gittinger <cg@exept.de>
parents: 1399
diff changeset
  1195
     Usually redefined in subclasses to have the most convenient
fca5f070bc0b positionOffset also defined here
Claus Gittinger <cg@exept.de>
parents: 1399
diff changeset
  1196
     ok-button appear under the pointer."
fca5f070bc0b positionOffset also defined here
Claus Gittinger <cg@exept.de>
parents: 1399
diff changeset
  1197
fca5f070bc0b positionOffset also defined here
Claus Gittinger <cg@exept.de>
parents: 1399
diff changeset
  1198
    ^ self extent // 2
fca5f070bc0b positionOffset also defined here
Claus Gittinger <cg@exept.de>
parents: 1399
diff changeset
  1199
fca5f070bc0b positionOffset also defined here
Claus Gittinger <cg@exept.de>
parents: 1399
diff changeset
  1200
    "Created: 28.2.1997 / 22:56:34 / cg"
4353
4547c189668a raise bug under win32
Claus Gittinger <cg@exept.de>
parents: 4338
diff changeset
  1201
!
4547c189668a raise bug under win32
Claus Gittinger <cg@exept.de>
parents: 4338
diff changeset
  1202
4547c189668a raise bug under win32
Claus Gittinger <cg@exept.de>
parents: 4338
diff changeset
  1203
setForegroundWindow
4522
4dcd83c66861 comments
Stefan Vogel <sv@exept.de>
parents: 4500
diff changeset
  1204
    "make a window the foreground window (so raise and activate it).
4dcd83c66861 comments
Stefan Vogel <sv@exept.de>
parents: 4500
diff changeset
  1205
     Under Win 98/Me/XP/2000 the window is not raised/activated, if a window from
4dcd83c66861 comments
Stefan Vogel <sv@exept.de>
parents: 4500
diff changeset
  1206
     a different process is currently active - in this case the title bar/icon is flashed.
4974
bd8ff34bd381 Comment in #raise/#setForegroundWindow
Stefan Vogel <sv@exept.de>
parents: 4961
diff changeset
  1207
     this also raises the priority of the sending thread slightly.
bd8ff34bd381 Comment in #raise/#setForegroundWindow
Stefan Vogel <sv@exept.de>
parents: 4961
diff changeset
  1208
5614
7c75195a84c1 Multi Screen Support
Michael Beyl <mb@exept.de>
parents: 5287
diff changeset
  1209
     Mark a TopView as #beScreenDialog, to send this on open."
4353
4547c189668a raise bug under win32
Claus Gittinger <cg@exept.de>
parents: 4338
diff changeset
  1210
4547c189668a raise bug under win32
Claus Gittinger <cg@exept.de>
parents: 4338
diff changeset
  1211
    drawableId isNil ifTrue:[self create].
4547c189668a raise bug under win32
Claus Gittinger <cg@exept.de>
parents: 4338
diff changeset
  1212
    device setForegroundWindow:drawableId
4547c189668a raise bug under win32
Claus Gittinger <cg@exept.de>
parents: 4338
diff changeset
  1213
4547c189668a raise bug under win32
Claus Gittinger <cg@exept.de>
parents: 4338
diff changeset
  1214
    "
4974
bd8ff34bd381 Comment in #raise/#setForegroundWindow
Stefan Vogel <sv@exept.de>
parents: 4961
diff changeset
  1215
     Transcript topView raise
4353
4547c189668a raise bug under win32
Claus Gittinger <cg@exept.de>
parents: 4338
diff changeset
  1216
     Transcript topView setForegroundWindow
4547c189668a raise bug under win32
Claus Gittinger <cg@exept.de>
parents: 4338
diff changeset
  1217
    "
1399
a10829e54d2c fixPosition moved from ModalBox
Claus Gittinger <cg@exept.de>
parents: 1398
diff changeset
  1218
! !
a10829e54d2c fixPosition moved from ModalBox
Claus Gittinger <cg@exept.de>
parents: 1398
diff changeset
  1219
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1220
!TopView methodsFor:'startup'!
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1221
908
0fbe814e06ee renamed #openAt: to #openTransientAt:
Claus Gittinger <cg@exept.de>
parents: 907
diff changeset
  1222
openAt:aPosition transientFor:anotherView
0fbe814e06ee renamed #openAt: to #openTransientAt:
Claus Gittinger <cg@exept.de>
parents: 907
diff changeset
  1223
    "force the view to be opened at some position on the screen
0fbe814e06ee renamed #openAt: to #openTransientAt:
Claus Gittinger <cg@exept.de>
parents: 907
diff changeset
  1224
     AND tell the windowManager to NOT let the user choose a position
0fbe814e06ee renamed #openAt: to #openTransientAt:
Claus Gittinger <cg@exept.de>
parents: 907
diff changeset
  1225
     (i.e. suppress any ghostframe).
0fbe814e06ee renamed #openAt: to #openTransientAt:
Claus Gittinger <cg@exept.de>
parents: 907
diff changeset
  1226
     The view is marked as being a transient (i.e. pop-up) view for
0fbe814e06ee renamed #openAt: to #openTransientAt:
Claus Gittinger <cg@exept.de>
parents: 907
diff changeset
  1227
     anotherView - it will deiconify with it and (on some windowManagers)
0fbe814e06ee renamed #openAt: to #openTransientAt:
Claus Gittinger <cg@exept.de>
parents: 907
diff changeset
  1228
     have no iconify button of its own.
0fbe814e06ee renamed #openAt: to #openTransientAt:
Claus Gittinger <cg@exept.de>
parents: 907
diff changeset
  1229
     Notice, that its up to the windowManager to care for any borders -
0fbe814e06ee renamed #openAt: to #openTransientAt:
Claus Gittinger <cg@exept.de>
parents: 907
diff changeset
  1230
     it seems not deterministic, where the view actually ends up being positioned.
909
d2d624d57f61 renamed #openAt: to #openTransientAt:
Claus Gittinger <cg@exept.de>
parents: 908
diff changeset
  1231
     Not all windowManagers (olwm) honor this - some insist on it ..."
908
0fbe814e06ee renamed #openAt: to #openTransientAt:
Claus Gittinger <cg@exept.de>
parents: 907
diff changeset
  1232
5887
01e5466e9686 changed:
Stefan Vogel <sv@exept.de>
parents: 5744
diff changeset
  1233
    <resource: #obsolete>
01e5466e9686 changed:
Stefan Vogel <sv@exept.de>
parents: 5744
diff changeset
  1234
908
0fbe814e06ee renamed #openAt: to #openTransientAt:
Claus Gittinger <cg@exept.de>
parents: 907
diff changeset
  1235
    |otherId|
0fbe814e06ee renamed #openAt: to #openTransientAt:
Claus Gittinger <cg@exept.de>
parents: 907
diff changeset
  1236
5887
01e5466e9686 changed:
Stefan Vogel <sv@exept.de>
parents: 5744
diff changeset
  1237
    self obsoleteMethodWarning.
01e5466e9686 changed:
Stefan Vogel <sv@exept.de>
parents: 5744
diff changeset
  1238
1836
df791f4fe7b4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1829
diff changeset
  1239
    drawableId isNil ifTrue:[self create].
908
0fbe814e06ee renamed #openAt: to #openTransientAt:
Claus Gittinger <cg@exept.de>
parents: 907
diff changeset
  1240
    anotherView isNil ifTrue:[
5887
01e5466e9686 changed:
Stefan Vogel <sv@exept.de>
parents: 5744
diff changeset
  1241
        otherId := drawableId.
908
0fbe814e06ee renamed #openAt: to #openTransientAt:
Claus Gittinger <cg@exept.de>
parents: 907
diff changeset
  1242
    ] ifFalse:[
5887
01e5466e9686 changed:
Stefan Vogel <sv@exept.de>
parents: 5744
diff changeset
  1243
        anotherView create.
01e5466e9686 changed:
Stefan Vogel <sv@exept.de>
parents: 5744
diff changeset
  1244
        otherId := anotherView id.
908
0fbe814e06ee renamed #openAt: to #openTransientAt:
Claus Gittinger <cg@exept.de>
parents: 907
diff changeset
  1245
    ].
0fbe814e06ee renamed #openAt: to #openTransientAt:
Claus Gittinger <cg@exept.de>
parents: 907
diff changeset
  1246
    device setTransient:drawableId for:otherId.
0fbe814e06ee renamed #openAt: to #openTransientAt:
Claus Gittinger <cg@exept.de>
parents: 907
diff changeset
  1247
    self origin:aPosition.
0fbe814e06ee renamed #openAt: to #openTransientAt:
Claus Gittinger <cg@exept.de>
parents: 907
diff changeset
  1248
    self open
0fbe814e06ee renamed #openAt: to #openTransientAt:
Claus Gittinger <cg@exept.de>
parents: 907
diff changeset
  1249
0fbe814e06ee renamed #openAt: to #openTransientAt:
Claus Gittinger <cg@exept.de>
parents: 907
diff changeset
  1250
    "
0fbe814e06ee renamed #openAt: to #openTransientAt:
Claus Gittinger <cg@exept.de>
parents: 907
diff changeset
  1251
     |v1 v2|
0fbe814e06ee renamed #openAt: to #openTransientAt:
Claus Gittinger <cg@exept.de>
parents: 907
diff changeset
  1252
0fbe814e06ee renamed #openAt: to #openTransientAt:
Claus Gittinger <cg@exept.de>
parents: 907
diff changeset
  1253
     v1 := StandardSystemView extent:300@300.
0fbe814e06ee renamed #openAt: to #openTransientAt:
Claus Gittinger <cg@exept.de>
parents: 907
diff changeset
  1254
     v2 := StandardSystemView extent:300@300.
0fbe814e06ee renamed #openAt: to #openTransientAt:
Claus Gittinger <cg@exept.de>
parents: 907
diff changeset
  1255
     v1 open.
0fbe814e06ee renamed #openAt: to #openTransientAt:
Claus Gittinger <cg@exept.de>
parents: 907
diff changeset
  1256
     v2 openAt:0@0 transientFor:v1.
0fbe814e06ee renamed #openAt: to #openTransientAt:
Claus Gittinger <cg@exept.de>
parents: 907
diff changeset
  1257
    "
0fbe814e06ee renamed #openAt: to #openTransientAt:
Claus Gittinger <cg@exept.de>
parents: 907
diff changeset
  1258
960
b9bd0a5c4884 example
Claus Gittinger <cg@exept.de>
parents: 932
diff changeset
  1259
    "
b9bd0a5c4884 example
Claus Gittinger <cg@exept.de>
parents: 932
diff changeset
  1260
     |v1|
b9bd0a5c4884 example
Claus Gittinger <cg@exept.de>
parents: 932
diff changeset
  1261
b9bd0a5c4884 example
Claus Gittinger <cg@exept.de>
parents: 932
diff changeset
  1262
     v1 := StandardSystemView extent:300@300.
b9bd0a5c4884 example
Claus Gittinger <cg@exept.de>
parents: 932
diff changeset
  1263
     v1 openAt:0@0 transientFor:v1.
b9bd0a5c4884 example
Claus Gittinger <cg@exept.de>
parents: 932
diff changeset
  1264
    "
b9bd0a5c4884 example
Claus Gittinger <cg@exept.de>
parents: 932
diff changeset
  1265
908
0fbe814e06ee renamed #openAt: to #openTransientAt:
Claus Gittinger <cg@exept.de>
parents: 907
diff changeset
  1266
    "Created: 28.6.1996 / 10:51:55 / cg"
1836
df791f4fe7b4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1829
diff changeset
  1267
    "Modified: 28.7.1997 / 18:53:16 / cg"
908
0fbe814e06ee renamed #openAt: to #openTransientAt:
Claus Gittinger <cg@exept.de>
parents: 907
diff changeset
  1268
!
0fbe814e06ee renamed #openAt: to #openTransientAt:
Claus Gittinger <cg@exept.de>
parents: 907
diff changeset
  1269
1353
d791b80c3bf1 checkin from browser
ca
parents: 1336
diff changeset
  1270
openDisplayAt:aPoint
d791b80c3bf1 checkin from browser
ca
parents: 1336
diff changeset
  1271
    "ST-80 compatibility: open the view centered around aPoint"
d791b80c3bf1 checkin from browser
ca
parents: 1336
diff changeset
  1272
d791b80c3bf1 checkin from browser
ca
parents: 1336
diff changeset
  1273
    ^ self openModelessAt:(aPoint - (self extent//2))
d791b80c3bf1 checkin from browser
ca
parents: 1336
diff changeset
  1274
d791b80c3bf1 checkin from browser
ca
parents: 1336
diff changeset
  1275
    "
d791b80c3bf1 checkin from browser
ca
parents: 1336
diff changeset
  1276
     (TopView new extent:200@200) openDisplayAt:300@300
d791b80c3bf1 checkin from browser
ca
parents: 1336
diff changeset
  1277
    "
d791b80c3bf1 checkin from browser
ca
parents: 1336
diff changeset
  1278
!
d791b80c3bf1 checkin from browser
ca
parents: 1336
diff changeset
  1279
1821
d2b91606dc55 added #mapIconified and #openIconified.
Claus Gittinger <cg@exept.de>
parents: 1765
diff changeset
  1280
openIconified
d2b91606dc55 added #mapIconified and #openIconified.
Claus Gittinger <cg@exept.de>
parents: 1765
diff changeset
  1281
    "open the view in iconified state"
d2b91606dc55 added #mapIconified and #openIconified.
Claus Gittinger <cg@exept.de>
parents: 1765
diff changeset
  1282
1829
f6a2d9e8d7c1 fixed #openIconified
Claus Gittinger <cg@exept.de>
parents: 1821
diff changeset
  1283
    self openModelessAt:nil iconified:true
1821
d2b91606dc55 added #mapIconified and #openIconified.
Claus Gittinger <cg@exept.de>
parents: 1765
diff changeset
  1284
d2b91606dc55 added #mapIconified and #openIconified.
Claus Gittinger <cg@exept.de>
parents: 1765
diff changeset
  1285
    "
d2b91606dc55 added #mapIconified and #openIconified.
Claus Gittinger <cg@exept.de>
parents: 1765
diff changeset
  1286
     FileBrowser new openIconified
1829
f6a2d9e8d7c1 fixed #openIconified
Claus Gittinger <cg@exept.de>
parents: 1821
diff changeset
  1287
     ChangesBrowser new openIconified
1821
d2b91606dc55 added #mapIconified and #openIconified.
Claus Gittinger <cg@exept.de>
parents: 1765
diff changeset
  1288
    "
d2b91606dc55 added #mapIconified and #openIconified.
Claus Gittinger <cg@exept.de>
parents: 1765
diff changeset
  1289
1829
f6a2d9e8d7c1 fixed #openIconified
Claus Gittinger <cg@exept.de>
parents: 1821
diff changeset
  1290
    "Modified: 24.7.1997 / 14:54:58 / cg"
1821
d2b91606dc55 added #mapIconified and #openIconified.
Claus Gittinger <cg@exept.de>
parents: 1765
diff changeset
  1291
!
d2b91606dc55 added #mapIconified and #openIconified.
Claus Gittinger <cg@exept.de>
parents: 1765
diff changeset
  1292
1336
15847aa31d5c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1317
diff changeset
  1293
openIn:aBoundaryRectangle
5614
7c75195a84c1 Multi Screen Support
Michael Beyl <mb@exept.de>
parents: 5287
diff changeset
  1294
    "set origin & extent and open.
1336
15847aa31d5c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1317
diff changeset
  1295
     The given extent overrides the receivers preferredExtent.
15847aa31d5c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1317
diff changeset
  1296
     Added for ST-80 compatibility"
15847aa31d5c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1317
diff changeset
  1297
5614
7c75195a84c1 Multi Screen Support
Michael Beyl <mb@exept.de>
parents: 5287
diff changeset
  1298
    self
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1299
	origin:aBoundaryRectangle origin;
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1300
	extent:aBoundaryRectangle extent;
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1301
	sizeFixed:true.
1336
15847aa31d5c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1317
diff changeset
  1302
    self open
15847aa31d5c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1317
diff changeset
  1303
15847aa31d5c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1317
diff changeset
  1304
    "Modified: 12.2.1997 / 11:58:21 / cg"
15847aa31d5c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1317
diff changeset
  1305
!
15847aa31d5c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1317
diff changeset
  1306
908
0fbe814e06ee renamed #openAt: to #openTransientAt:
Claus Gittinger <cg@exept.de>
parents: 907
diff changeset
  1307
openTransientAt:aPosition
907
6bc7254cdd6a added #openAt: - open a view at forced position
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
  1308
    "force the view to be opened at soem position on the screen
6bc7254cdd6a added #openAt: - open a view at forced position
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
  1309
     AND tell the windowManager to NOT let the user choose a position
6bc7254cdd6a added #openAt: - open a view at forced position
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
  1310
     (i.e. suppress any ghostframe).
6bc7254cdd6a added #openAt: - open a view at forced position
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
  1311
     Notice, that its up to the windowManager to care for any borders -
6bc7254cdd6a added #openAt: - open a view at forced position
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
  1312
     it seems not deterministic, where the view actually ends up being positioned.
909
d2d624d57f61 renamed #openAt: to #openTransientAt:
Claus Gittinger <cg@exept.de>
parents: 908
diff changeset
  1313
     Not all windowManagers (olwm) honor this - some insist on it ..."
907
6bc7254cdd6a added #openAt: - open a view at forced position
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
  1314
5887
01e5466e9686 changed:
Stefan Vogel <sv@exept.de>
parents: 5744
diff changeset
  1315
    <resource: #obsolete>
01e5466e9686 changed:
Stefan Vogel <sv@exept.de>
parents: 5744
diff changeset
  1316
    self obsoleteMethodWarning.
908
0fbe814e06ee renamed #openAt: to #openTransientAt:
Claus Gittinger <cg@exept.de>
parents: 907
diff changeset
  1317
    self openAt:aPosition transientFor:nil
907
6bc7254cdd6a added #openAt: - open a view at forced position
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
  1318
6bc7254cdd6a added #openAt: - open a view at forced position
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
  1319
    "normal open:
6bc7254cdd6a added #openAt: - open a view at forced position
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
  1320
6bc7254cdd6a added #openAt: - open a view at forced position
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
  1321
     |v|
6bc7254cdd6a added #openAt: - open a view at forced position
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
  1322
6bc7254cdd6a added #openAt: - open a view at forced position
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
  1323
     v := StandardSystemView extent:300@300.
6bc7254cdd6a added #openAt: - open a view at forced position
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
  1324
     v open
6bc7254cdd6a added #openAt: - open a view at forced position
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
  1325
    "
6bc7254cdd6a added #openAt: - open a view at forced position
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
  1326
6bc7254cdd6a added #openAt: - open a view at forced position
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
  1327
    "open at position:
6bc7254cdd6a added #openAt: - open a view at forced position
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
  1328
6bc7254cdd6a added #openAt: - open a view at forced position
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
  1329
     |v|
6bc7254cdd6a added #openAt: - open a view at forced position
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
  1330
6bc7254cdd6a added #openAt: - open a view at forced position
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
  1331
     v := StandardSystemView extent:300@300.
908
0fbe814e06ee renamed #openAt: to #openTransientAt:
Claus Gittinger <cg@exept.de>
parents: 907
diff changeset
  1332
     v openTransientAt:10@10
907
6bc7254cdd6a added #openAt: - open a view at forced position
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
  1333
    "
6bc7254cdd6a added #openAt: - open a view at forced position
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
  1334
908
0fbe814e06ee renamed #openAt: to #openTransientAt:
Claus Gittinger <cg@exept.de>
parents: 907
diff changeset
  1335
    "Created: 28.6.1996 / 10:52:30 / cg"
909
d2d624d57f61 renamed #openAt: to #openTransientAt:
Claus Gittinger <cg@exept.de>
parents: 908
diff changeset
  1336
    "Modified: 28.6.1996 / 10:55:15 / cg"
907
6bc7254cdd6a added #openAt: - open a view at forced position
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
  1337
!
6bc7254cdd6a added #openAt: - open a view at forced position
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
  1338
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1339
openWithExtent:anExtent
5614
7c75195a84c1 Multi Screen Support
Michael Beyl <mb@exept.de>
parents: 5287
diff changeset
  1340
    "set extent and open. The given extent overrides the
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1341
     receivers preferredExtent.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1342
     Added for ST-80 compatibility"
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1343
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1344
    self extent:anExtent; sizeFixed:true.
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1345
    self open
625
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
  1346
!
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
  1347
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
  1348
openWithPriority:aPriority
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
  1349
    "open the view, run the windowgroup process at
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
  1350
     other than UserScehdulingPriority."
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
  1351
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
  1352
    self open.
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
  1353
    windowGroup process priority:aPriority.
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
  1354
4d8f6dc3af75 commentary & category changes
Claus Gittinger <cg@exept.de>
parents: 616
diff changeset
  1355
    "Created: 30.4.1996 / 15:34:44 / cg"
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1356
! !
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1357
157
claus
parents: 153
diff changeset
  1358
!TopView methodsFor:'window events'!
claus
parents: 153
diff changeset
  1359
5614
7c75195a84c1 Multi Screen Support
Michael Beyl <mb@exept.de>
parents: 5287
diff changeset
  1360
mapped
4355
76a0dbfc0385 raising
Claus Gittinger <cg@exept.de>
parents: 4354
diff changeset
  1361
    "the recevier was mapped (i.e. deiconified);
2488
cb393b7431f0 oops - (re-)fixed mapped/unmapped with partner/slaves
Claus Gittinger <cg@exept.de>
parents: 2466
diff changeset
  1362
     look for partners and slaves."
cb393b7431f0 oops - (re-)fixed mapped/unmapped with partner/slaves
Claus Gittinger <cg@exept.de>
parents: 2466
diff changeset
  1363
5614
7c75195a84c1 Multi Screen Support
Michael Beyl <mb@exept.de>
parents: 5287
diff changeset
  1364
    realized := true.
2488
cb393b7431f0 oops - (re-)fixed mapped/unmapped with partner/slaves
Claus Gittinger <cg@exept.de>
parents: 2466
diff changeset
  1365
    super mapped.
cb393b7431f0 oops - (re-)fixed mapped/unmapped with partner/slaves
Claus Gittinger <cg@exept.de>
parents: 2466
diff changeset
  1366
cb393b7431f0 oops - (re-)fixed mapped/unmapped with partner/slaves
Claus Gittinger <cg@exept.de>
parents: 2466
diff changeset
  1367
    "/
cb393b7431f0 oops - (re-)fixed mapped/unmapped with partner/slaves
Claus Gittinger <cg@exept.de>
parents: 2466
diff changeset
  1368
    "/ map slaves and partners
cb393b7431f0 oops - (re-)fixed mapped/unmapped with partner/slaves
Claus Gittinger <cg@exept.de>
parents: 2466
diff changeset
  1369
    "/
2799
e7b1ea0db727 partners must be remapped (at the old position)
Claus Gittinger <cg@exept.de>
parents: 2693
diff changeset
  1370
    self masterSlaveMessage:#remap inGroup:windowGroup.
2488
cb393b7431f0 oops - (re-)fixed mapped/unmapped with partner/slaves
Claus Gittinger <cg@exept.de>
parents: 2466
diff changeset
  1371
3347
e7b8350d6525 ismodal moved up;
ca
parents: 3152
diff changeset
  1372
    self isModal ifTrue:[
5657
6dd2915a226b changed: #mapped
Claus Gittinger <cg@exept.de>
parents: 5656
diff changeset
  1373
        "take it away from any popup menu possibly still active"
3347
e7b8350d6525 ismodal moved up;
ca
parents: 3152
diff changeset
  1374
5657
6dd2915a226b changed: #mapped
Claus Gittinger <cg@exept.de>
parents: 5656
diff changeset
  1375
        self forceUngrabKeyboard.
6dd2915a226b changed: #mapped
Claus Gittinger <cg@exept.de>
parents: 5656
diff changeset
  1376
        self forceUngrabPointer.
6dd2915a226b changed: #mapped
Claus Gittinger <cg@exept.de>
parents: 5656
diff changeset
  1377
        "
6dd2915a226b changed: #mapped
Claus Gittinger <cg@exept.de>
parents: 5656
diff changeset
  1378
         get the focus
6dd2915a226b changed: #mapped
Claus Gittinger <cg@exept.de>
parents: 5656
diff changeset
  1379
        "
6dd2915a226b changed: #mapped
Claus Gittinger <cg@exept.de>
parents: 5656
diff changeset
  1380
        self getKeyboardFocus.
6dd2915a226b changed: #mapped
Claus Gittinger <cg@exept.de>
parents: 5656
diff changeset
  1381
        self enableEnterLeaveEvents
3347
e7b8350d6525 ismodal moved up;
ca
parents: 3152
diff changeset
  1382
    ] ifFalse:[
5657
6dd2915a226b changed: #mapped
Claus Gittinger <cg@exept.de>
parents: 5656
diff changeset
  1383
        "
6dd2915a226b changed: #mapped
Claus Gittinger <cg@exept.de>
parents: 5656
diff changeset
  1384
         ask for the focus - this avoids having to click on the
6dd2915a226b changed: #mapped
Claus Gittinger <cg@exept.de>
parents: 5656
diff changeset
  1385
         view with WM's which need an explicit click.
6dd2915a226b changed: #mapped
Claus Gittinger <cg@exept.de>
parents: 5656
diff changeset
  1386
         Q: is this a good idea ?
6dd2915a226b changed: #mapped
Claus Gittinger <cg@exept.de>
parents: 5656
diff changeset
  1387
        "
6dd2915a226b changed: #mapped
Claus Gittinger <cg@exept.de>
parents: 5656
diff changeset
  1388
        TakeFocusWhenMapped == true ifTrue:[
6dd2915a226b changed: #mapped
Claus Gittinger <cg@exept.de>
parents: 5656
diff changeset
  1389
            self getKeyboardFocus.
6dd2915a226b changed: #mapped
Claus Gittinger <cg@exept.de>
parents: 5656
diff changeset
  1390
        ]
4355
76a0dbfc0385 raising
Claus Gittinger <cg@exept.de>
parents: 4354
diff changeset
  1391
    ].
5744
a01df3cdda2d changed: #mapped
Stefan Vogel <sv@exept.de>
parents: 5725
diff changeset
  1392
    device platformName = #WIN32 ifTrue:[
5657
6dd2915a226b changed: #mapped
Claus Gittinger <cg@exept.de>
parents: 5656
diff changeset
  1393
        self raise
4355
76a0dbfc0385 raising
Claus Gittinger <cg@exept.de>
parents: 4354
diff changeset
  1394
    ].
5658
7accf61e7948 oops - mapping
Claus Gittinger <cg@exept.de>
parents: 5657
diff changeset
  1395
    false "self isScreenDialog" ifTrue:[
5657
6dd2915a226b changed: #mapped
Claus Gittinger <cg@exept.de>
parents: 5656
diff changeset
  1396
        self setForegroundWindow.
6dd2915a226b changed: #mapped
Claus Gittinger <cg@exept.de>
parents: 5656
diff changeset
  1397
        self activate.
4799
b91607dae5bb if marked as ScreenDialog, raise above ALL windows.
Michael Beyl <mb@exept.de>
parents: 4798
diff changeset
  1398
    ].
5666
e5d4d5e455e5 changed: #mapped
Claus Gittinger <cg@exept.de>
parents: 5658
diff changeset
  1399
    subViews notNil ifTrue:[
e5d4d5e455e5 changed: #mapped
Claus Gittinger <cg@exept.de>
parents: 5658
diff changeset
  1400
        subViews do:[:eachSubView | eachSubView topViewWasMapped ].
e5d4d5e455e5 changed: #mapped
Claus Gittinger <cg@exept.de>
parents: 5658
diff changeset
  1401
    ]
3347
e7b8350d6525 ismodal moved up;
ca
parents: 3152
diff changeset
  1402
5666
e5d4d5e455e5 changed: #mapped
Claus Gittinger <cg@exept.de>
parents: 5658
diff changeset
  1403
    "Modified: / 09-12-2010 / 18:13:20 / cg"
3446
e66622e4f832 defaultExtent: ask device
Claus Gittinger <cg@exept.de>
parents: 3370
diff changeset
  1404
!
2488
cb393b7431f0 oops - (re-)fixed mapped/unmapped with partner/slaves
Claus Gittinger <cg@exept.de>
parents: 2466
diff changeset
  1405
501
0a701f42de02 focusKey handling now done here & in Controller
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
  1406
masterSlaveMessage:aSelector inGroup:aWindowGroup
0a701f42de02 focusKey handling now done here & in Controller
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
  1407
    "send aSelector to partners and/or slaves.
0a701f42de02 focusKey handling now done here & in Controller
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
  1408
     This is a private helper for destroy / mapped / unmapped"
0a701f42de02 focusKey handling now done here & in Controller
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
  1409
0a701f42de02 focusKey handling now done here & in Controller
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
  1410
    aWindowGroup notNil ifTrue:[
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1411
	"/
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1412
	"/ if I am a master or partner, send to all slaves
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1413
	"/
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1414
	(self isMaster or:[self isPartner]) ifTrue:[
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1415
	    aWindowGroup slavesDo:[:v | v perform:aSelector].
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1416
	].
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1417
	"/
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1418
	"/ if I am a partner, send to all partners
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1419
	"/
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1420
	self isPartner ifTrue:[
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1421
	    aWindowGroup partnersDo:[:v | v ~~ self ifTrue:[v perform:aSelector]].
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1422
	].
501
0a701f42de02 focusKey handling now done here & in Controller
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
  1423
    ].
0a701f42de02 focusKey handling now done here & in Controller
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
  1424
!
0a701f42de02 focusKey handling now done here & in Controller
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
  1425
5614
7c75195a84c1 Multi Screen Support
Michael Beyl <mb@exept.de>
parents: 5287
diff changeset
  1426
unmapped
157
claus
parents: 153
diff changeset
  1427
    "the recevier was unmapped (i.e. iconified);
claus
parents: 153
diff changeset
  1428
     look for partners and slaves."
claus
parents: 153
diff changeset
  1429
3035
3a4068306f55 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2936
diff changeset
  1430
    |r|
3a4068306f55 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2936
diff changeset
  1431
3a4068306f55 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2936
diff changeset
  1432
    (windowGroup notNil and:[windowGroup isModal]) ifTrue:[
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1433
	"keep the realized flag true (to avoid exiting the modal event loop).
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1434
	 Consider this a kludge."
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1435
	self markAsUnmappedModalBox.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1436
	r := realized.
3035
3a4068306f55 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2936
diff changeset
  1437
    ] ifFalse:[
5721
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1438
	self unmarkAsUnmappedModalBox.
c183558179c4 variable renamed in:
Claus Gittinger <cg@exept.de>
parents: 5720
diff changeset
  1439
	r := realized := false.
3035
3a4068306f55 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2936
diff changeset
  1440
    ].
4407
d0f371afaa58 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4362
diff changeset
  1441
    super unmapped.
d0f371afaa58 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4362
diff changeset
  1442
    realized := r.
419
07b575e87a34 openModal moved to SimpleView (can now open subviews modal)
Claus Gittinger <cg@exept.de>
parents: 416
diff changeset
  1443
07b575e87a34 openModal moved to SimpleView (can now open subviews modal)
Claus Gittinger <cg@exept.de>
parents: 416
diff changeset
  1444
    "/
775
fbabce661c52 comment
Claus Gittinger <cg@exept.de>
parents: 761
diff changeset
  1445
    "/ unmap slaves and partners
419
07b575e87a34 openModal moved to SimpleView (can now open subviews modal)
Claus Gittinger <cg@exept.de>
parents: 416
diff changeset
  1446
    "/
658
ce56170b3fb1 renamed rerealize to remap
Claus Gittinger <cg@exept.de>
parents: 645
diff changeset
  1447
    self masterSlaveMessage:#unmap inGroup:windowGroup
157
claus
parents: 153
diff changeset
  1448
775
fbabce661c52 comment
Claus Gittinger <cg@exept.de>
parents: 761
diff changeset
  1449
    "Modified: 30.5.1996 / 09:37:22 / cg"
157
claus
parents: 153
diff changeset
  1450
! !
claus
parents: 153
diff changeset
  1451
1160
5eb12a5b8100 resource spec updated
Claus Gittinger <cg@exept.de>
parents: 966
diff changeset
  1452
!TopView class methodsFor:'documentation'!
135
claus
parents:
diff changeset
  1453
269
ea536bb319a6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1454
version
6033
4e9ab193b90f moved assignKeyboardFocus stuff from topView
Claus Gittinger <cg@exept.de>
parents: 5971
diff changeset
  1455
    ^ '$Header: /cvs/stx/stx/libview/TopView.st,v 1.146 2013-03-28 10:32:04 cg Exp $'
5614
7c75195a84c1 Multi Screen Support
Michael Beyl <mb@exept.de>
parents: 5287
diff changeset
  1456
!
7c75195a84c1 Multi Screen Support
Michael Beyl <mb@exept.de>
parents: 5287
diff changeset
  1457
7c75195a84c1 Multi Screen Support
Michael Beyl <mb@exept.de>
parents: 5287
diff changeset
  1458
version_CVS
6033
4e9ab193b90f moved assignKeyboardFocus stuff from topView
Claus Gittinger <cg@exept.de>
parents: 5971
diff changeset
  1459
    ^ '$Header: /cvs/stx/stx/libview/TopView.st,v 1.146 2013-03-28 10:32:04 cg Exp $'
135
claus
parents:
diff changeset
  1460
! !
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
  1461
6033
4e9ab193b90f moved assignKeyboardFocus stuff from topView
Claus Gittinger <cg@exept.de>
parents: 5971
diff changeset
  1462
4079
8a66b0c94337 added new windowStyle: #undecorated.
Claus Gittinger <cg@exept.de>
parents: 4032
diff changeset
  1463
TopView initialize!