WindowEvent.st
author ca
Fri, 02 Aug 2002 13:55:31 +0200
changeset 3680 4c096f11e018
parent 3654 91f60b377f68
child 3686 33158a6957a2
permissions -rw-r--r--
more windowEvent types; almost clean now.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
26
ac9f66dc8f53 *** empty log message ***
claus
parents: 23
diff changeset
     1
"
ac9f66dc8f53 *** empty log message ***
claus
parents: 23
diff changeset
     2
 COPYRIGHT (c) 1993 by Claus Gittinger
72
3e84121988c3 *** empty log message ***
claus
parents: 54
diff changeset
     3
	      All Rights Reserved
26
ac9f66dc8f53 *** empty log message ***
claus
parents: 23
diff changeset
     4
ac9f66dc8f53 *** empty log message ***
claus
parents: 23
diff changeset
     5
 This software is furnished under a license and may be used
ac9f66dc8f53 *** empty log message ***
claus
parents: 23
diff changeset
     6
 only in accordance with the terms of that license and with the
ac9f66dc8f53 *** empty log message ***
claus
parents: 23
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
ac9f66dc8f53 *** empty log message ***
claus
parents: 23
diff changeset
     8
 be provided or otherwise made available to, or used by, any
ac9f66dc8f53 *** empty log message ***
claus
parents: 23
diff changeset
     9
 other person.  No title to or ownership of the software is
ac9f66dc8f53 *** empty log message ***
claus
parents: 23
diff changeset
    10
 hereby transferred.
ac9f66dc8f53 *** empty log message ***
claus
parents: 23
diff changeset
    11
"
11
bc3949e465a0 Initial revision
claus
parents:
diff changeset
    12
3294
6bcc3e052d34 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3138
diff changeset
    13
"{ Package: 'stx:libview' }"
6bcc3e052d34 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3138
diff changeset
    14
3295
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
    15
MessageSend subclass:#WindowEvent
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
    16
	instanceVariableNames:'delegatedFrom consumed'
356
2f773ceb7032 new query methods
Claus Gittinger <cg@exept.de>
parents: 320
diff changeset
    17
	classVariableNames:''
2f773ceb7032 new query methods
Claus Gittinger <cg@exept.de>
parents: 320
diff changeset
    18
	poolDictionaries:''
2f773ceb7032 new query methods
Claus Gittinger <cg@exept.de>
parents: 320
diff changeset
    19
	category:'Interface-Support'
11
bc3949e465a0 Initial revision
claus
parents:
diff changeset
    20
!
bc3949e465a0 Initial revision
claus
parents:
diff changeset
    21
3680
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    22
WindowEvent subclass:#ApplicationEvent
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    23
	instanceVariableNames:''
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    24
	classVariableNames:''
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    25
	poolDictionaries:''
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    26
	privateIn:WindowEvent
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    27
!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    28
3011
e5880bb2738d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
    29
WindowEvent subclass:#InputEvent
e5880bb2738d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
    30
	instanceVariableNames:'modifierFlags'
e5880bb2738d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
    31
	classVariableNames:'F_CTRL F_ALT F_META F_SHIFT F_BUTTON1 F_BUTTON2 F_BUTTON3'
e5880bb2738d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
    32
	poolDictionaries:''
e5880bb2738d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
    33
	privateIn:WindowEvent
e5880bb2738d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
    34
!
e5880bb2738d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
    35
3680
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    36
WindowEvent::InputEvent subclass:#ButtonEvent
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    37
	instanceVariableNames:''
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    38
	classVariableNames:''
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    39
	poolDictionaries:''
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    40
	privateIn:WindowEvent
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    41
!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    42
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    43
WindowEvent::ButtonEvent subclass:#ButtonPressEvent
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    44
	instanceVariableNames:''
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    45
	classVariableNames:''
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    46
	poolDictionaries:''
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    47
	privateIn:WindowEvent
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    48
!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    49
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    50
WindowEvent::ButtonPressEvent subclass:#ButtonMultiPressEvent
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    51
	instanceVariableNames:''
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    52
	classVariableNames:''
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    53
	poolDictionaries:''
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    54
	privateIn:WindowEvent
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    55
!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    56
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    57
WindowEvent::ButtonEvent subclass:#ButtonReleaseEvent
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    58
	instanceVariableNames:''
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    59
	classVariableNames:''
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    60
	poolDictionaries:''
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    61
	privateIn:WindowEvent
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    62
!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    63
3465
a14f06f3af91 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3376
diff changeset
    64
WindowEvent subclass:#ClientEvent
a14f06f3af91 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3376
diff changeset
    65
	instanceVariableNames:'eventData'
a14f06f3af91 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3376
diff changeset
    66
	classVariableNames:''
a14f06f3af91 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3376
diff changeset
    67
	poolDictionaries:''
a14f06f3af91 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3376
diff changeset
    68
	privateIn:WindowEvent
a14f06f3af91 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3376
diff changeset
    69
!
a14f06f3af91 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3376
diff changeset
    70
3680
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    71
WindowEvent subclass:#ConfigureEvent
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    72
	instanceVariableNames:''
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    73
	classVariableNames:''
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    74
	poolDictionaries:''
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    75
	privateIn:WindowEvent
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    76
!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    77
3465
a14f06f3af91 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3376
diff changeset
    78
WindowEvent subclass:#DamageEvent
3297
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
    79
	instanceVariableNames:''
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
    80
	classVariableNames:''
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
    81
	poolDictionaries:''
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
    82
	privateIn:WindowEvent
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
    83
!
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
    84
3680
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    85
WindowEvent::InputEvent subclass:#DropEvent
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    86
	instanceVariableNames:''
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    87
	classVariableNames:''
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    88
	poolDictionaries:''
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    89
	privateIn:WindowEvent
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    90
!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    91
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    92
WindowEvent::InputEvent subclass:#EnterLeaveEvent
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    93
	instanceVariableNames:''
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    94
	classVariableNames:''
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    95
	poolDictionaries:''
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    96
	privateIn:WindowEvent
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    97
!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
    98
3465
a14f06f3af91 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3376
diff changeset
    99
WindowEvent::InputEvent subclass:#FocusEvent
a14f06f3af91 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3376
diff changeset
   100
	instanceVariableNames:''
a14f06f3af91 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3376
diff changeset
   101
	classVariableNames:''
a14f06f3af91 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3376
diff changeset
   102
	poolDictionaries:''
a14f06f3af91 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3376
diff changeset
   103
	privateIn:WindowEvent
a14f06f3af91 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3376
diff changeset
   104
!
a14f06f3af91 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3376
diff changeset
   105
3680
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   106
WindowEvent::ButtonEvent subclass:#ButtonMotionEvent
3294
6bcc3e052d34 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3138
diff changeset
   107
	instanceVariableNames:''
6bcc3e052d34 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3138
diff changeset
   108
	classVariableNames:''
6bcc3e052d34 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3138
diff changeset
   109
	poolDictionaries:''
6bcc3e052d34 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3138
diff changeset
   110
	privateIn:WindowEvent
6bcc3e052d34 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3138
diff changeset
   111
!
6bcc3e052d34 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3138
diff changeset
   112
6bcc3e052d34 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3138
diff changeset
   113
WindowEvent::InputEvent subclass:#KeyboardEvent
6bcc3e052d34 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3138
diff changeset
   114
	instanceVariableNames:'rawKey'
6bcc3e052d34 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3138
diff changeset
   115
	classVariableNames:''
6bcc3e052d34 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3138
diff changeset
   116
	poolDictionaries:''
6bcc3e052d34 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3138
diff changeset
   117
	privateIn:WindowEvent
6bcc3e052d34 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3138
diff changeset
   118
!
6bcc3e052d34 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3138
diff changeset
   119
3680
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   120
WindowEvent::KeyboardEvent subclass:#KeyReleaseEvent
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   121
	instanceVariableNames:''
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   122
	classVariableNames:''
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   123
	poolDictionaries:''
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   124
	privateIn:WindowEvent
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   125
!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   126
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   127
WindowEvent::KeyboardEvent subclass:#KeyPressEvent
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   128
	instanceVariableNames:''
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   129
	classVariableNames:''
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   130
	poolDictionaries:''
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   131
	privateIn:WindowEvent
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   132
!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   133
3376
a9784be22e6a added hasKeyboardFocus event
tm
parents: 3297
diff changeset
   134
WindowEvent::InputEvent subclass:#KeyboardFocusEvent
3295
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
   135
	instanceVariableNames:''
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
   136
	classVariableNames:''
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
   137
	poolDictionaries:''
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
   138
	privateIn:WindowEvent
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
   139
!
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
   140
3465
a14f06f3af91 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3376
diff changeset
   141
WindowEvent subclass:#MessageSendEvent
3376
a9784be22e6a added hasKeyboardFocus event
tm
parents: 3297
diff changeset
   142
	instanceVariableNames:''
a9784be22e6a added hasKeyboardFocus event
tm
parents: 3297
diff changeset
   143
	classVariableNames:''
a9784be22e6a added hasKeyboardFocus event
tm
parents: 3297
diff changeset
   144
	poolDictionaries:''
a9784be22e6a added hasKeyboardFocus event
tm
parents: 3297
diff changeset
   145
	privateIn:WindowEvent
a9784be22e6a added hasKeyboardFocus event
tm
parents: 3297
diff changeset
   146
!
a9784be22e6a added hasKeyboardFocus event
tm
parents: 3297
diff changeset
   147
3680
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   148
WindowEvent subclass:#WindowMapUnmapEvent
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   149
	instanceVariableNames:''
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   150
	classVariableNames:''
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   151
	poolDictionaries:''
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   152
	privateIn:WindowEvent
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   153
!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   154
46
7b331e9012fd *** empty log message ***
claus
parents: 28
diff changeset
   155
!WindowEvent class methodsFor:'documentation'!
7b331e9012fd *** empty log message ***
claus
parents: 28
diff changeset
   156
7b331e9012fd *** empty log message ***
claus
parents: 28
diff changeset
   157
copyright
7b331e9012fd *** empty log message ***
claus
parents: 28
diff changeset
   158
"
7b331e9012fd *** empty log message ***
claus
parents: 28
diff changeset
   159
 COPYRIGHT (c) 1993 by Claus Gittinger
72
3e84121988c3 *** empty log message ***
claus
parents: 54
diff changeset
   160
	      All Rights Reserved
46
7b331e9012fd *** empty log message ***
claus
parents: 28
diff changeset
   161
7b331e9012fd *** empty log message ***
claus
parents: 28
diff changeset
   162
 This software is furnished under a license and may be used
7b331e9012fd *** empty log message ***
claus
parents: 28
diff changeset
   163
 only in accordance with the terms of that license and with the
7b331e9012fd *** empty log message ***
claus
parents: 28
diff changeset
   164
 inclusion of the above copyright notice.   This software may not
7b331e9012fd *** empty log message ***
claus
parents: 28
diff changeset
   165
 be provided or otherwise made available to, or used by, any
7b331e9012fd *** empty log message ***
claus
parents: 28
diff changeset
   166
 other person.  No title to or ownership of the software is
7b331e9012fd *** empty log message ***
claus
parents: 28
diff changeset
   167
 hereby transferred.
7b331e9012fd *** empty log message ***
claus
parents: 28
diff changeset
   168
"
7b331e9012fd *** empty log message ***
claus
parents: 28
diff changeset
   169
!
7b331e9012fd *** empty log message ***
claus
parents: 28
diff changeset
   170
7b331e9012fd *** empty log message ***
claus
parents: 28
diff changeset
   171
documentation
7b331e9012fd *** empty log message ***
claus
parents: 28
diff changeset
   172
"
7b331e9012fd *** empty log message ***
claus
parents: 28
diff changeset
   173
    Instances of WindowEvent are created for every event coming from
144
claus
parents: 143
diff changeset
   174
    the graphics device. 
claus
parents: 143
diff changeset
   175
    Usually, they are enqueued by the event dispatcher process into
claus
parents: 143
diff changeset
   176
    a sensors input queue, and dequeued & processed by a windowGroup process
claus
parents: 143
diff changeset
   177
    in its event loop.
claus
parents: 143
diff changeset
   178
claus
parents: 143
diff changeset
   179
    WindowEvents hold the event type and additional information (such as key,
claus
parents: 143
diff changeset
   180
    x/y coordinates etc). Also, windowEvents know how to send themself to some
claus
parents: 143
diff changeset
   181
    destination. To provide a common (single) place where event dispatching is
1421
0f7c6d4ba280 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1420
diff changeset
   182
    implemented, this forwarding is done by a class method here (i.e. not by the
144
claus
parents: 143
diff changeset
   183
    window group itself).
claus
parents: 143
diff changeset
   184
claus
parents: 143
diff changeset
   185
    The algorithm for event dispatching is:
claus
parents: 143
diff changeset
   186
1982
55d0357449c2 oops - pointerLeave events did not return true for the #isPointerXXX query
Claus Gittinger <cg@exept.de>
parents: 1947
diff changeset
   187
	- if the destination view has a keyboard focus set,
55d0357449c2 oops - pointerLeave events did not return true for the #isPointerXXX query
Claus Gittinger <cg@exept.de>
parents: 1947
diff changeset
   188
	  AND the event is a keyboard event,
55d0357449c2 oops - pointerLeave events did not return true for the #isPointerXXX query
Claus Gittinger <cg@exept.de>
parents: 1947
diff changeset
   189
	  THEN recursively invoke the event dispatching method,
55d0357449c2 oops - pointerLeave events did not return true for the #isPointerXXX query
Claus Gittinger <cg@exept.de>
parents: 1947
diff changeset
   190
	       sending the event to the focus view (or its delegate, as below)
144
claus
parents: 143
diff changeset
   191
1982
55d0357449c2 oops - pointerLeave events did not return true for the #isPointerXXX query
Claus Gittinger <cg@exept.de>
parents: 1947
diff changeset
   192
	- if the destination view has a delegate,
55d0357449c2 oops - pointerLeave events did not return true for the #isPointerXXX query
Claus Gittinger <cg@exept.de>
parents: 1947
diff changeset
   193
	  AND its a keyboard, button or pointer event,
55d0357449c2 oops - pointerLeave events did not return true for the #isPointerXXX query
Claus Gittinger <cg@exept.de>
parents: 1947
diff changeset
   194
	  AND the delegate is interested in that event 
55d0357449c2 oops - pointerLeave events did not return true for the #isPointerXXX query
Claus Gittinger <cg@exept.de>
parents: 1947
diff changeset
   195
	      (i.e. implements & responds to #handlesXXX with true)
55d0357449c2 oops - pointerLeave events did not return true for the #isPointerXXX query
Claus Gittinger <cg@exept.de>
parents: 1947
diff changeset
   196
	  THEN send the event to the delegate, passing the original view
55d0357449c2 oops - pointerLeave events did not return true for the #isPointerXXX query
Claus Gittinger <cg@exept.de>
parents: 1947
diff changeset
   197
	       as additional argument
144
claus
parents: 143
diff changeset
   198
1982
55d0357449c2 oops - pointerLeave events did not return true for the #isPointerXXX query
Claus Gittinger <cg@exept.de>
parents: 1947
diff changeset
   199
	- if the view has a nonNil controller,
55d0357449c2 oops - pointerLeave events did not return true for the #isPointerXXX query
Claus Gittinger <cg@exept.de>
parents: 1947
diff changeset
   200
	  AND its a key, button or pointer event,
55d0357449c2 oops - pointerLeave events did not return true for the #isPointerXXX query
Claus Gittinger <cg@exept.de>
parents: 1947
diff changeset
   201
	  THEN send the event to the controller
144
claus
parents: 143
diff changeset
   202
1982
55d0357449c2 oops - pointerLeave events did not return true for the #isPointerXXX query
Claus Gittinger <cg@exept.de>
parents: 1947
diff changeset
   203
	- otherwise send the event to the view
144
claus
parents: 143
diff changeset
   204
claus
parents: 143
diff changeset
   205
claus
parents: 143
diff changeset
   206
    If the view has a non-nil transformation, the event is sent as a
claus
parents: 143
diff changeset
   207
    #deviceXXX message, passing device coordinates. Typically, subclasses
claus
parents: 143
diff changeset
   208
    of view do not redefine this method and the inherited default method
claus
parents: 143
diff changeset
   209
    translates these device coordinates into logical coordinates and resends
claus
parents: 143
diff changeset
   210
    an XXX message.
claus
parents: 143
diff changeset
   211
    If the view has no transformation, the XXX message is directly sent here.
claus
parents: 143
diff changeset
   212
claus
parents: 143
diff changeset
   213
    For example, a 'buttonPress:button x:x y:y' event leads to sending of
claus
parents: 143
diff changeset
   214
    'aView deviceButtonPress:button x:x y:y' which resends
claus
parents: 143
diff changeset
   215
    'aView buttonPress:button x:(x-logical) y:(y-logical)'
claus
parents: 143
diff changeset
   216
320
b7b8dc88fe9f interest is written with one 'r' (shame on me)
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
   217
    This allows views which are interested in deviceCoordinates to get them
144
claus
parents: 143
diff changeset
   218
    (by redefining #deviceXXX) and other views to transparently get & use
claus
parents: 143
diff changeset
   219
    logical coordinates.
claus
parents: 143
diff changeset
   220
claus
parents: 143
diff changeset
   221
    Therefore, for a delegated keyPress messages, the flow is:
claus
parents: 143
diff changeset
   222
1982
55d0357449c2 oops - pointerLeave events did not return true for the #isPointerXXX query
Claus Gittinger <cg@exept.de>
parents: 1947
diff changeset
   223
	sendEvent
55d0357449c2 oops - pointerLeave events did not return true for the #isPointerXXX query
Claus Gittinger <cg@exept.de>
parents: 1947
diff changeset
   224
	    view has delegate
55d0357449c2 oops - pointerLeave events did not return true for the #isPointerXXX query
Claus Gittinger <cg@exept.de>
parents: 1947
diff changeset
   225
		------> ask delegate via 'handlesKeyPress:key inView:view'
55d0357449c2 oops - pointerLeave events did not return true for the #isPointerXXX query
Claus Gittinger <cg@exept.de>
parents: 1947
diff changeset
   226
		<------ returns true
55d0357449c2 oops - pointerLeave events did not return true for the #isPointerXXX query
Claus Gittinger <cg@exept.de>
parents: 1947
diff changeset
   227
		------> 'delegate keyPress:key x:x y:y view:view'
55d0357449c2 oops - pointerLeave events did not return true for the #isPointerXXX query
Claus Gittinger <cg@exept.de>
parents: 1947
diff changeset
   228
			-----> delegate does whatever it wants to do
55d0357449c2 oops - pointerLeave events did not return true for the #isPointerXXX query
Claus Gittinger <cg@exept.de>
parents: 1947
diff changeset
   229
			       (typically sends the event to some other view)
144
claus
parents: 143
diff changeset
   230
claus
parents: 143
diff changeset
   231
    for an undelegated message:
claus
parents: 143
diff changeset
   232
1982
55d0357449c2 oops - pointerLeave events did not return true for the #isPointerXXX query
Claus Gittinger <cg@exept.de>
parents: 1947
diff changeset
   233
	sendEvent
55d0357449c2 oops - pointerLeave events did not return true for the #isPointerXXX query
Claus Gittinger <cg@exept.de>
parents: 1947
diff changeset
   234
	    view has delegate
55d0357449c2 oops - pointerLeave events did not return true for the #isPointerXXX query
Claus Gittinger <cg@exept.de>
parents: 1947
diff changeset
   235
		------> ask delegate via 'handlesKeyPress:key inView:view'
55d0357449c2 oops - pointerLeave events did not return true for the #isPointerXXX query
Claus Gittinger <cg@exept.de>
parents: 1947
diff changeset
   236
		<------ returns false
55d0357449c2 oops - pointerLeave events did not return true for the #isPointerXXX query
Claus Gittinger <cg@exept.de>
parents: 1947
diff changeset
   237
	    view has controller
55d0357449c2 oops - pointerLeave events did not return true for the #isPointerXXX query
Claus Gittinger <cg@exept.de>
parents: 1947
diff changeset
   238
		------> 'controller keyPress:key x:x y:y'
55d0357449c2 oops - pointerLeave events did not return true for the #isPointerXXX query
Claus Gittinger <cg@exept.de>
parents: 1947
diff changeset
   239
	    view has no controller
55d0357449c2 oops - pointerLeave events did not return true for the #isPointerXXX query
Claus Gittinger <cg@exept.de>
parents: 1947
diff changeset
   240
		view has transformation
55d0357449c2 oops - pointerLeave events did not return true for the #isPointerXXX query
Claus Gittinger <cg@exept.de>
parents: 1947
diff changeset
   241
		    ----> 'view deviceKeyPress:key x:x y:y'
55d0357449c2 oops - pointerLeave events did not return true for the #isPointerXXX query
Claus Gittinger <cg@exept.de>
parents: 1947
diff changeset
   242
			  inverse transform x/y
55d0357449c2 oops - pointerLeave events did not return true for the #isPointerXXX query
Claus Gittinger <cg@exept.de>
parents: 1947
diff changeset
   243
			  ----> 'self keyPress:key x:xLogical y:yLogical'
55d0357449c2 oops - pointerLeave events did not return true for the #isPointerXXX query
Claus Gittinger <cg@exept.de>
parents: 1947
diff changeset
   244
		view has no transformation
55d0357449c2 oops - pointerLeave events did not return true for the #isPointerXXX query
Claus Gittinger <cg@exept.de>
parents: 1947
diff changeset
   245
		    ----> 'view keyPress:key x:x y:y'
598
1a2339e902d4 commentary
Claus Gittinger <cg@exept.de>
parents: 511
diff changeset
   246
612
8758d0c9933e documentation
Claus Gittinger <cg@exept.de>
parents: 598
diff changeset
   247
    [author:]
1982
55d0357449c2 oops - pointerLeave events did not return true for the #isPointerXXX query
Claus Gittinger <cg@exept.de>
parents: 1947
diff changeset
   248
	Claus Gittinger
612
8758d0c9933e documentation
Claus Gittinger <cg@exept.de>
parents: 598
diff changeset
   249
598
1a2339e902d4 commentary
Claus Gittinger <cg@exept.de>
parents: 511
diff changeset
   250
    [see also:]
1982
55d0357449c2 oops - pointerLeave events did not return true for the #isPointerXXX query
Claus Gittinger <cg@exept.de>
parents: 1947
diff changeset
   251
	WindowGroup WindowSensor
55d0357449c2 oops - pointerLeave events did not return true for the #isPointerXXX query
Claus Gittinger <cg@exept.de>
parents: 1947
diff changeset
   252
	DeviceWorkstation View
55d0357449c2 oops - pointerLeave events did not return true for the #isPointerXXX query
Claus Gittinger <cg@exept.de>
parents: 1947
diff changeset
   253
	KeyboardMap KeyboardForwarder EventListener
598
1a2339e902d4 commentary
Claus Gittinger <cg@exept.de>
parents: 511
diff changeset
   254
46
7b331e9012fd *** empty log message ***
claus
parents: 28
diff changeset
   255
"
7b331e9012fd *** empty log message ***
claus
parents: 28
diff changeset
   256
! !
7b331e9012fd *** empty log message ***
claus
parents: 28
diff changeset
   257
11
bc3949e465a0 Initial revision
claus
parents:
diff changeset
   258
!WindowEvent class methodsFor:'instance creation'!
bc3949e465a0 Initial revision
claus
parents:
diff changeset
   259
3680
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   260
buttonMotion:buttonState x:x y:y view:aView
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   261
    ^ (ButtonMotionEvent new)
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   262
          for:aView
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   263
          type:#buttonMotion:x:y:
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   264
          arguments:(Array with:buttonState with:x with:y)
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   265
!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   266
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   267
buttonMultiPress:button x:x y:y view:aView
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   268
    ^ (ButtonMultiPressEvent new)
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   269
          for:aView
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   270
          type:#buttonMultiPress:x:y:
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   271
          arguments:(Array with:button with:x with:y)
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   272
!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   273
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   274
buttonPress:button x:x y:y view:aView
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   275
    ^ (ButtonPressEvent new)
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   276
          for:aView
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   277
          type:#buttonPress:x:y:
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   278
          arguments:(Array with:button with:x with:y)
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   279
!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   280
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   281
buttonRelease:button x:x y:y view:aView
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   282
    ^ (ButtonReleaseEvent new)
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   283
          for:aView
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   284
          type:#buttonRelease:x:y:
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   285
          arguments:(Array with:button with:x with:y)
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   286
!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   287
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   288
clientMessageEvent:type format:format eventData:data view:aView
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   289
    ^ ClientEvent
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   290
         for:aView
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   291
         type:#clientMessage:format:eventData:
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   292
         arguments:(Array with:type with:format with:data)
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   293
!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   294
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   295
configureX:x y:y width:w height:h view:aView
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   296
    ^ ConfigureEvent
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   297
         for:aView
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   298
         type:#configureX:y:width:height:
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   299
         arguments:(Array with:x with:y with:w with:h)
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   300
!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   301
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   302
coveredBy:coveringSiblingView view:coveredView
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   303
    ^ (WindowEvent basicNew)
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   304
        for:coveredView 
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   305
        type:#coveredBy:
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   306
        arguments:(Array with:coveringSiblingView)
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   307
!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   308
244
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   309
damageFor:aView rectangle:aRectangle
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   310
    "create and return a new damage Event for aRectangle
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   311
     in aView"
11
bc3949e465a0 Initial revision
claus
parents:
diff changeset
   312
3680
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   313
    ^ (DamageEvent new) for:aView type:#damage arguments:aRectangle
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   314
!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   315
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   316
destroyedView:aView
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   317
    ^ (self basicNew)
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   318
        for:aView 
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   319
        type:#destroyed
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   320
!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   321
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   322
dropMessage:dropType data:dropValue view:aView
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   323
    ^ DropEvent 
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   324
          for:aView
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   325
          type:#dropMessage:data:
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   326
          arguments:(Array with:dropType with:dropValue)
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   327
!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   328
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   329
focusInView:aView
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   330
    ^ FocusEvent 
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   331
        for:aView 
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   332
        type:#focusIn
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   333
!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   334
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   335
focusOutView:aView
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   336
    ^ FocusEvent 
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   337
        for:aView 
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   338
        type:#focusOut
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   339
!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   340
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   341
keyPress:key rawKey:untranslatedKey 
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   342
    hasShift:shiftDown ctrl:ctrlDown alt:altDown meta:metaDown
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   343
    button1:leftButtonDown button2:middleButtonDown button3:rightButtonDown
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   344
    x:x y:y view:aView
244
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   345
3680
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   346
    |ev|
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   347
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   348
    ev := self keyPress:key x:x y:y view:aView.
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   349
    ev rawKey:untranslatedKey.
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   350
    ev  hasShift:shiftDown ctrl:ctrlDown alt:altDown meta:metaDown
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   351
        button1:leftButtonDown button2:middleButtonDown button3:rightButtonDown.
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   352
    ^ ev
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   353
!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   354
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   355
keyPress:key x:x y:y view:aView
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   356
    ^ (KeyPressEvent new)
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   357
          for:aView
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   358
          type:#keyPress:x:y:
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   359
          arguments:(Array with:key with:x with:y)
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   360
!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   361
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   362
keyRelease:key rawKey:untranslatedKey 
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   363
    hasShift:shiftDown ctrl:ctrlDown alt:altDown meta:metaDown
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   364
    button1:leftButtonDown button2:middleButtonDown button3:rightButtonDown
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   365
    x:x y:y view:aView
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   366
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   367
    |ev|
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   368
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   369
    ev := self keyRelease:key x:x y:y view:aView.
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   370
    ev rawKey:untranslatedKey.
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   371
    ev  hasShift:shiftDown ctrl:ctrlDown alt:altDown meta:metaDown
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   372
        button1:leftButtonDown button2:middleButtonDown button3:rightButtonDown.
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   373
    ^ ev
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   374
!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   375
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   376
keyRelease:key x:x y:y view:aView
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   377
    ^ (KeyReleaseEvent new)
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   378
          for:aView
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   379
          type:#keyRelease:x:y:
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   380
          arguments:(Array with:key with:x with:y)
46
7b331e9012fd *** empty log message ***
claus
parents: 28
diff changeset
   381
!
7b331e9012fd *** empty log message ***
claus
parents: 28
diff changeset
   382
3680
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   383
mappedView:aView
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   384
    ^ WindowMapUnmapEvent 
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   385
        for:aView 
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   386
        type:#mapped
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   387
!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   388
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   389
messageSend:receiver selector:aSelector arguments:arguments
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   390
    ^ MessageSendEvent
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   391
         for:receiver
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   392
         type:aSelector
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   393
         arguments:arguments
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   394
!
72
3e84121988c3 *** empty log message ***
claus
parents: 54
diff changeset
   395
3680
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   396
mouseWheelMotion:state x:x y:y amount:amount deltaTime:deltaTime view:aView
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   397
    ^ InputEvent
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   398
             for:aView
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   399
             type:#mouseWheelMotion:x:y:amount:deltaTime:
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   400
             arguments:(Array with:state with:x with:y with:amount with:deltaTime).
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   401
!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   402
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   403
pasteFromClipBoard:something view:aView
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   404
    ^ (self basicNew)
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   405
        for:aView
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   406
        type:#pasteFromClipBoard:
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   407
        arguments:(Array with:something).
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   408
!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   409
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   410
pointerEnter:state x:x y:y view:aView
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   411
    ^ EnterLeaveEvent
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   412
             for:aView
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   413
             type:#pointerEnter:x:y:
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   414
             arguments:(Array with:state with:x with:y).
72
3e84121988c3 *** empty log message ***
claus
parents: 54
diff changeset
   415
!
3e84121988c3 *** empty log message ***
claus
parents: 54
diff changeset
   416
3680
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   417
pointerLeave:state view:aView
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   418
    ^ EnterLeaveEvent
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   419
             for:aView
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   420
             type:#pointerLeave:
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   421
             arguments:(Array with:state).
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   422
!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   423
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   424
postViewCreateNotification:aView
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   425
    ^ (self basicNew) 
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   426
        for:aView 
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   427
        type:#postCreateView
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   428
!
28
3879ff2138f1 *** empty log message ***
claus
parents: 26
diff changeset
   429
3680
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   430
preViewCreateNotification:aView
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   431
    ^ (self basicNew) 
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   432
        for:aView 
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   433
        type:#preCreateView
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   434
!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   435
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   436
saveAndTerminateView:aView
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   437
    ^ (self basicNew)
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   438
        for:aView 
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   439
        type:#saveAndTerminate
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   440
!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   441
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   442
terminateView:aView
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   443
    ^ (self basicNew)
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   444
        for:aView 
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   445
        type:#terminate
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   446
!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   447
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   448
unmappedView:aView
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   449
    ^ WindowMapUnmapEvent 
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   450
        for:aView 
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   451
        type:#unmapped
28
3879ff2138f1 *** empty log message ***
claus
parents: 26
diff changeset
   452
! !
3879ff2138f1 *** empty log message ***
claus
parents: 26
diff changeset
   453
1527
661de0f76595 started to separate into distinct event classes;
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   454
!WindowEvent class methodsFor:'event class access'!
661de0f76595 started to separate into distinct event classes;
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   455
661de0f76595 started to separate into distinct event classes;
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   456
buttonEvent
2136
bdfd59774db2 comments
Claus Gittinger <cg@exept.de>
parents: 2126
diff changeset
   457
    "return the class used to represent buttonEvents"
bdfd59774db2 comments
Claus Gittinger <cg@exept.de>
parents: 2126
diff changeset
   458
3680
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   459
self obsoleteMethodWarning:'use explicit event creation message'.
1527
661de0f76595 started to separate into distinct event classes;
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   460
    ^ ButtonEvent
661de0f76595 started to separate into distinct event classes;
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   461
2136
bdfd59774db2 comments
Claus Gittinger <cg@exept.de>
parents: 2126
diff changeset
   462
    "Created: / 4.4.1997 / 13:45:04 / cg"
bdfd59774db2 comments
Claus Gittinger <cg@exept.de>
parents: 2126
diff changeset
   463
    "Modified: / 6.6.1998 / 21:00:29 / cg"
1527
661de0f76595 started to separate into distinct event classes;
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   464
!
661de0f76595 started to separate into distinct event classes;
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   465
1531
d26ab32f3b4b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1530
diff changeset
   466
clientEvent
2136
bdfd59774db2 comments
Claus Gittinger <cg@exept.de>
parents: 2126
diff changeset
   467
    "return the class used to represent clientEvents"
bdfd59774db2 comments
Claus Gittinger <cg@exept.de>
parents: 2126
diff changeset
   468
3680
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   469
self obsoleteMethodWarning:'use explicit event creation message'.
1531
d26ab32f3b4b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1530
diff changeset
   470
    ^ ClientEvent
d26ab32f3b4b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1530
diff changeset
   471
2136
bdfd59774db2 comments
Claus Gittinger <cg@exept.de>
parents: 2126
diff changeset
   472
    "Created: / 4.4.1997 / 13:58:25 / cg"
bdfd59774db2 comments
Claus Gittinger <cg@exept.de>
parents: 2126
diff changeset
   473
    "Modified: / 6.6.1998 / 21:00:36 / cg"
1531
d26ab32f3b4b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1530
diff changeset
   474
!
d26ab32f3b4b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1530
diff changeset
   475
2707
cb775384565a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2471
diff changeset
   476
focusEvent
cb775384565a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2471
diff changeset
   477
    "return the class used to represent focusEvents"
cb775384565a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2471
diff changeset
   478
3680
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   479
self obsoleteMethodWarning:'use explicit event creation message'.
2707
cb775384565a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2471
diff changeset
   480
    ^ FocusEvent
cb775384565a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2471
diff changeset
   481
cb775384565a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2471
diff changeset
   482
    "Modified: / 6.6.1998 / 21:00:50 / cg"
cb775384565a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2471
diff changeset
   483
    "Created: / 21.5.1999 / 19:45:25 / cg"
cb775384565a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2471
diff changeset
   484
!
cb775384565a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2471
diff changeset
   485
1863
18f36adfb4e8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1862
diff changeset
   486
inputEvent
2136
bdfd59774db2 comments
Claus Gittinger <cg@exept.de>
parents: 2126
diff changeset
   487
    "return the class used to represent inputEvents"
bdfd59774db2 comments
Claus Gittinger <cg@exept.de>
parents: 2126
diff changeset
   488
3680
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   489
self obsoleteMethodWarning:'use explicit event creation message'.
1863
18f36adfb4e8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1862
diff changeset
   490
    ^ InputEvent
18f36adfb4e8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1862
diff changeset
   491
2136
bdfd59774db2 comments
Claus Gittinger <cg@exept.de>
parents: 2126
diff changeset
   492
    "Created: / 13.8.1997 / 23:03:02 / cg"
bdfd59774db2 comments
Claus Gittinger <cg@exept.de>
parents: 2126
diff changeset
   493
    "Modified: / 6.6.1998 / 21:00:43 / cg"
1863
18f36adfb4e8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1862
diff changeset
   494
!
18f36adfb4e8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1862
diff changeset
   495
1527
661de0f76595 started to separate into distinct event classes;
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   496
keyboardEvent
2136
bdfd59774db2 comments
Claus Gittinger <cg@exept.de>
parents: 2126
diff changeset
   497
    "return the class used to represent keyboardEvents"
bdfd59774db2 comments
Claus Gittinger <cg@exept.de>
parents: 2126
diff changeset
   498
3680
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   499
self obsoleteMethodWarning:'use explicit event creation message'.
1527
661de0f76595 started to separate into distinct event classes;
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   500
    ^ KeyboardEvent
661de0f76595 started to separate into distinct event classes;
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   501
2136
bdfd59774db2 comments
Claus Gittinger <cg@exept.de>
parents: 2126
diff changeset
   502
    "Created: / 4.4.1997 / 13:41:44 / cg"
bdfd59774db2 comments
Claus Gittinger <cg@exept.de>
parents: 2126
diff changeset
   503
    "Modified: / 6.6.1998 / 21:00:50 / cg"
3294
6bcc3e052d34 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3138
diff changeset
   504
!
6bcc3e052d34 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3138
diff changeset
   505
3297
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
   506
messageSendEvent
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
   507
    "return the class used to represent arbitrary messageSend-Events"
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
   508
3680
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   509
self obsoleteMethodWarning:'use explicit event creation message'.
3297
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
   510
    ^ MessageSendEvent
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
   511
!
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
   512
3294
6bcc3e052d34 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3138
diff changeset
   513
userEvent
6bcc3e052d34 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3138
diff changeset
   514
    "return the class used to represent userEvents"
6bcc3e052d34 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3138
diff changeset
   515
3680
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   516
self obsoleteMethodWarning:'use explicit event creation message'.
3294
6bcc3e052d34 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3138
diff changeset
   517
    ^ UserEvent
1527
661de0f76595 started to separate into distinct event classes;
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   518
! !
661de0f76595 started to separate into distinct event classes;
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   519
3680
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   520
!WindowEvent class methodsFor:'instance creation basic'!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   521
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   522
for:aView type:aSymbol
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   523
    "create and return a new windowEvent for sending
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   524
     aSymbol-message with no arguments to aView"
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   525
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   526
    ^ (self new) for:aView type:aSymbol
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   527
!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   528
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   529
for:aView type:aSymbol arguments:argArray
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   530
    "create and return a new windowEvent for sending
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   531
     aSymbol-message with arguments to aView"
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   532
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   533
    ^ (self new) for:aView type:aSymbol arguments:argArray
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   534
!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   535
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   536
new
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   537
    self == WindowEvent ifTrue:[
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   538
'----------------' errorPrint.
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   539
'WindowEvent is abstract - use/add explicit creation message' errorPrintCR.
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   540
thisContext fullPrintAll.
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   541
    ].
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   542
    ^ super new
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   543
! !
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   544
244
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   545
!WindowEvent methodsFor:'accessing'!
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   546
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   547
arguments:anArray
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   548
    "set the arguments"
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   549
3295
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
   550
    args := anArray
244
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   551
!
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   552
3465
a14f06f3af91 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3376
diff changeset
   553
consumed
a14f06f3af91 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3376
diff changeset
   554
    "return the value of the instance variable 'consumed' (automatically generated)"
a14f06f3af91 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3376
diff changeset
   555
a14f06f3af91 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3376
diff changeset
   556
    ^ consumed
a14f06f3af91 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3376
diff changeset
   557
!
a14f06f3af91 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3376
diff changeset
   558
a14f06f3af91 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3376
diff changeset
   559
consumed:aBoolean
a14f06f3af91 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3376
diff changeset
   560
    "set the value of the instance variable 'consumed' (automatically generated)"
a14f06f3af91 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3376
diff changeset
   561
a14f06f3af91 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3376
diff changeset
   562
    consumed := aBoolean.
a14f06f3af91 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3376
diff changeset
   563
!
a14f06f3af91 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3376
diff changeset
   564
3089
ea806f804f5c accessors for x/y
ca
parents: 3011
diff changeset
   565
delegatedFrom
ea806f804f5c accessors for x/y
ca
parents: 3011
diff changeset
   566
    "return the value of the instance variable 'delegatedFrom' (automatically generated)"
ea806f804f5c accessors for x/y
ca
parents: 3011
diff changeset
   567
3376
a9784be22e6a added hasKeyboardFocus event
tm
parents: 3297
diff changeset
   568
    ^ delegatedFrom
a9784be22e6a added hasKeyboardFocus event
tm
parents: 3297
diff changeset
   569
!
3089
ea806f804f5c accessors for x/y
ca
parents: 3011
diff changeset
   570
ea806f804f5c accessors for x/y
ca
parents: 3011
diff changeset
   571
delegatedFrom:something
ea806f804f5c accessors for x/y
ca
parents: 3011
diff changeset
   572
    "set the value of the instance variable 'delegatedFrom' (automatically generated)"
ea806f804f5c accessors for x/y
ca
parents: 3011
diff changeset
   573
3376
a9784be22e6a added hasKeyboardFocus event
tm
parents: 3297
diff changeset
   574
    delegatedFrom := something.
a9784be22e6a added hasKeyboardFocus event
tm
parents: 3297
diff changeset
   575
!
3089
ea806f804f5c accessors for x/y
ca
parents: 3011
diff changeset
   576
244
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   577
key
1841
3773debcc078 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1730
diff changeset
   578
    "return the key - nil is returned here.
3773debcc078 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1730
diff changeset
   579
     This is redefined in KeyboardEvent."
244
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   580
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   581
    ^ nil
1841
3773debcc078 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1730
diff changeset
   582
3773debcc078 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1730
diff changeset
   583
    "Created: 1.8.1997 / 13:56:21 / cg"
244
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   584
!
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   585
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   586
rectangle
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   587
    "return the damage rectangle"
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   588
3295
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
   589
    ^ args "consider this a kludge"
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
   590
!
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
   591
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
   592
target
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
   593
    "return the target, for which the event is for"
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
   594
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
   595
    ^ receiver
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
   596
!
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
   597
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
   598
target:anObject
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
   599
    "set the target, for which the event is for"
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
   600
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
   601
    receiver := anObject
244
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   602
!
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   603
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   604
type
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   605
    "return the type of the event"
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   606
3295
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
   607
    ^ selector
244
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   608
!
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   609
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   610
view
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   611
    "return the view, for which the event is for"
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   612
3295
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
   613
    ^ receiver
244
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   614
!
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   615
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   616
view:aView
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   617
    "set the view, for which the event is for"
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   618
3295
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
   619
    receiver := aView
3089
ea806f804f5c accessors for x/y
ca
parents: 3011
diff changeset
   620
!
ea806f804f5c accessors for x/y
ca
parents: 3011
diff changeset
   621
ea806f804f5c accessors for x/y
ca
parents: 3011
diff changeset
   622
x
ea806f804f5c accessors for x/y
ca
parents: 3011
diff changeset
   623
    "the x coordinate - if any.
ea806f804f5c accessors for x/y
ca
parents: 3011
diff changeset
   624
     nil returned for all but button- and keyEvents"
ea806f804f5c accessors for x/y
ca
parents: 3011
diff changeset
   625
ea806f804f5c accessors for x/y
ca
parents: 3011
diff changeset
   626
    ^ nil
ea806f804f5c accessors for x/y
ca
parents: 3011
diff changeset
   627
!
ea806f804f5c accessors for x/y
ca
parents: 3011
diff changeset
   628
ea806f804f5c accessors for x/y
ca
parents: 3011
diff changeset
   629
x:ignoredInteger
3295
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
   630
    "set the x coordinate - ignored here.
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
   631
     only for button- and keyEvents"
3089
ea806f804f5c accessors for x/y
ca
parents: 3011
diff changeset
   632
!
ea806f804f5c accessors for x/y
ca
parents: 3011
diff changeset
   633
ea806f804f5c accessors for x/y
ca
parents: 3011
diff changeset
   634
y
ea806f804f5c accessors for x/y
ca
parents: 3011
diff changeset
   635
    "the y coordinate - if any.
ea806f804f5c accessors for x/y
ca
parents: 3011
diff changeset
   636
     nil returned for all but button- and keyEvents"
ea806f804f5c accessors for x/y
ca
parents: 3011
diff changeset
   637
ea806f804f5c accessors for x/y
ca
parents: 3011
diff changeset
   638
    ^ nil
ea806f804f5c accessors for x/y
ca
parents: 3011
diff changeset
   639
!
ea806f804f5c accessors for x/y
ca
parents: 3011
diff changeset
   640
ea806f804f5c accessors for x/y
ca
parents: 3011
diff changeset
   641
y:ignoredInteger
3295
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
   642
    "set the y coordinate - ignored here.
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
   643
     only for button- and keyEvents"
244
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   644
! !
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   645
3011
e5880bb2738d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   646
!WindowEvent methodsFor:'dispatching'!
e5880bb2738d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   647
e5880bb2738d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   648
dispatchTo:anObject
e5880bb2738d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   649
    "send this event to anObject"
e5880bb2738d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   650
3295
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
   651
    ^ anObject perform:selector withArguments:args
3011
e5880bb2738d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   652
!
e5880bb2738d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   653
e5880bb2738d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   654
dispatchWithViewArgumentTo:anObject
e5880bb2738d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   655
    "send this event to anObject, and pass an additional view argument"
e5880bb2738d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   656
3295
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
   657
    args size = 0 ifTrue:[
3011
e5880bb2738d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   658
        ^ anObject 
3295
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
   659
            perform:(selector , ':') asSymbol
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
   660
            with:receiver
3011
e5880bb2738d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   661
    ].
e5880bb2738d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   662
e5880bb2738d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   663
    ^ anObject 
3295
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
   664
        perform:(selector , 'view:') asSymbol
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
   665
        withArguments:(args copyWith:receiver)
3011
e5880bb2738d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   666
! !
e5880bb2738d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   667
511
233dabfcc81c added #displayString (for eventTracing)
Claus Gittinger <cg@exept.de>
parents: 356
diff changeset
   668
!WindowEvent methodsFor:'printing & storing'!
233dabfcc81c added #displayString (for eventTracing)
Claus Gittinger <cg@exept.de>
parents: 356
diff changeset
   669
233dabfcc81c added #displayString (for eventTracing)
Claus Gittinger <cg@exept.de>
parents: 356
diff changeset
   670
displayString
1905
5bf0b9628c80 comment
Claus Gittinger <cg@exept.de>
parents: 1886
diff changeset
   671
    "return a string for display in inspectors etc."
5bf0b9628c80 comment
Claus Gittinger <cg@exept.de>
parents: 1886
diff changeset
   672
511
233dabfcc81c added #displayString (for eventTracing)
Claus Gittinger <cg@exept.de>
parents: 356
diff changeset
   673
    ^ self className 
3295
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
   674
      , '(' , selector storeString 
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
   675
      , ' view: ' , receiver className 
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
   676
      , ' args: ' , args displayString
511
233dabfcc81c added #displayString (for eventTracing)
Claus Gittinger <cg@exept.de>
parents: 356
diff changeset
   677
      , ')'
233dabfcc81c added #displayString (for eventTracing)
Claus Gittinger <cg@exept.de>
parents: 356
diff changeset
   678
233dabfcc81c added #displayString (for eventTracing)
Claus Gittinger <cg@exept.de>
parents: 356
diff changeset
   679
    "Created: 7.3.1996 / 14:55:50 / cg"
1905
5bf0b9628c80 comment
Claus Gittinger <cg@exept.de>
parents: 1886
diff changeset
   680
    "Modified: 20.9.1997 / 11:42:11 / cg"
511
233dabfcc81c added #displayString (for eventTracing)
Claus Gittinger <cg@exept.de>
parents: 356
diff changeset
   681
! !
233dabfcc81c added #displayString (for eventTracing)
Claus Gittinger <cg@exept.de>
parents: 356
diff changeset
   682
244
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   683
!WindowEvent methodsFor:'private accessing'!
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   684
3680
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   685
for:aView type:aSymbol
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   686
    "set the instance variables of the event"
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   687
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   688
    receiver :=  aView.
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   689
    selector := aSymbol.
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   690
    args := #()
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   691
!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   692
244
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   693
for:aView type:aSymbol arguments:argArray
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   694
    "set the instance variables of the event"
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   695
3295
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
   696
    receiver :=  aView.
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
   697
    selector := aSymbol.
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
   698
    args := argArray
244
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   699
! !
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   700
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   701
!WindowEvent methodsFor:'queries'!
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   702
1588
8f9468059ef7 keep modifierKey information in keyboardEvents
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
   703
hasAlt
8f9468059ef7 keep modifierKey information in keyboardEvents
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
   704
    "return true, if this is a keyboard event, with ALT pressed"
8f9468059ef7 keep modifierKey information in keyboardEvents
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
   705
8f9468059ef7 keep modifierKey information in keyboardEvents
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
   706
    ^ false
8f9468059ef7 keep modifierKey information in keyboardEvents
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
   707
8f9468059ef7 keep modifierKey information in keyboardEvents
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
   708
    "Created: 12.4.1997 / 11:04:10 / cg"
8f9468059ef7 keep modifierKey information in keyboardEvents
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
   709
!
8f9468059ef7 keep modifierKey information in keyboardEvents
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
   710
8f9468059ef7 keep modifierKey information in keyboardEvents
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
   711
hasCtrl
8f9468059ef7 keep modifierKey information in keyboardEvents
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
   712
    "return true, if this is a keyboard event, with CTRL pressed"
8f9468059ef7 keep modifierKey information in keyboardEvents
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
   713
8f9468059ef7 keep modifierKey information in keyboardEvents
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
   714
    ^ false
8f9468059ef7 keep modifierKey information in keyboardEvents
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
   715
8f9468059ef7 keep modifierKey information in keyboardEvents
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
   716
    "Created: 12.4.1997 / 11:04:03 / cg"
8f9468059ef7 keep modifierKey information in keyboardEvents
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
   717
!
8f9468059ef7 keep modifierKey information in keyboardEvents
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
   718
8f9468059ef7 keep modifierKey information in keyboardEvents
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
   719
hasMeta
8f9468059ef7 keep modifierKey information in keyboardEvents
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
   720
    "return true, if this is a keyboard event, with META pressed"
8f9468059ef7 keep modifierKey information in keyboardEvents
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
   721
8f9468059ef7 keep modifierKey information in keyboardEvents
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
   722
    ^ false
8f9468059ef7 keep modifierKey information in keyboardEvents
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
   723
8f9468059ef7 keep modifierKey information in keyboardEvents
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
   724
    "Created: 12.4.1997 / 11:04:16 / cg"
8f9468059ef7 keep modifierKey information in keyboardEvents
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
   725
!
8f9468059ef7 keep modifierKey information in keyboardEvents
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
   726
1590
18ca787fd066 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1588
diff changeset
   727
hasShift
18ca787fd066 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1588
diff changeset
   728
    "return true, if this is a keyboard event, with SHIFT pressed"
18ca787fd066 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1588
diff changeset
   729
18ca787fd066 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1588
diff changeset
   730
    ^ false
18ca787fd066 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1588
diff changeset
   731
18ca787fd066 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1588
diff changeset
   732
    "Created: 12.4.1997 / 11:30:59 / cg"
18ca787fd066 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1588
diff changeset
   733
!
18ca787fd066 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1588
diff changeset
   734
3680
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   735
isApplicationEvent
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   736
    "return true, if this event is application related (i.e. not for a particular view)"
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   737
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   738
    ^ false
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   739
!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   740
244
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   741
isButtonEvent
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   742
    "return true, if this event is a button event"
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   743
3295
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
   744
    ^ false
244
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   745
!
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   746
1730
ca
parents: 1590
diff changeset
   747
isButtonMotionEvent
ca
parents: 1590
diff changeset
   748
    "return true, if this event is a buttonMotion event"
ca
parents: 1590
diff changeset
   749
3295
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
   750
    ^ false
1730
ca
parents: 1590
diff changeset
   751
ca
parents: 1590
diff changeset
   752
    "Created: 5.3.1997 / 12:25:43 / cg"
ca
parents: 1590
diff changeset
   753
!
ca
parents: 1590
diff changeset
   754
1420
960068850f29 more queries
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
   755
isButtonPressEvent
960068850f29 more queries
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
   756
    "return true, if this event is a buttonPress event"
960068850f29 more queries
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
   757
3295
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
   758
    ^ false
1420
960068850f29 more queries
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
   759
960068850f29 more queries
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
   760
    "Created: 5.3.1997 / 12:25:43 / cg"
960068850f29 more queries
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
   761
!
960068850f29 more queries
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
   762
3011
e5880bb2738d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   763
isButtonReleaseEvent
e5880bb2738d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   764
    "return true, if this event is a buttonPress event"
e5880bb2738d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   765
3295
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
   766
    ^ false
3011
e5880bb2738d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   767
e5880bb2738d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   768
    "Created: 5.3.1997 / 12:25:43 / cg"
e5880bb2738d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   769
!
e5880bb2738d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   770
2811
7460f7225d79 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2761
diff changeset
   771
isConfigureEvent
3680
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   772
    "return true, if this is a window geometry change event"
2811
7460f7225d79 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2761
diff changeset
   773
3680
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   774
    selector == #'configureX:y:width:height:' ifTrue:[
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   775
        'oops-isConfigureEvent' errorPrintCR.
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   776
        ^ true.
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   777
    ].
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   778
    ^ false.
2811
7460f7225d79 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2761
diff changeset
   779
!
7460f7225d79 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2761
diff changeset
   780
244
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   781
isDamage
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   782
    "return true, if this is a damage event"
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   783
3680
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   784
    selector == #damage ifTrue:[
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   785
        'oops - isDamage broken' errorPrintCR.
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   786
Display beep.
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   787
thisContext sender fullPrintAll.
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   788
        ^ true.
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   789
    ].
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   790
    ^ false.
244
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   791
!
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   792
2471
4bc7d82df319 + isDamageForView:
Claus Gittinger <cg@exept.de>
parents: 2399
diff changeset
   793
isDamageForView:aView
3680
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   794
    "return true, if this is a damage event for a View"
2471
4bc7d82df319 + isDamageForView:
Claus Gittinger <cg@exept.de>
parents: 2399
diff changeset
   795
3295
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
   796
    selector == #damage ifTrue:[
3680
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   797
        'oops - isDamage broken' errorPrintCR.
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   798
Display beep.
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   799
thisContext sender fullPrintAll.
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   800
        ^ (receiver == aView).
2471
4bc7d82df319 + isDamageForView:
Claus Gittinger <cg@exept.de>
parents: 2399
diff changeset
   801
    ].
3680
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   802
    ^ false.
2471
4bc7d82df319 + isDamageForView:
Claus Gittinger <cg@exept.de>
parents: 2399
diff changeset
   803
!
4bc7d82df319 + isDamageForView:
Claus Gittinger <cg@exept.de>
parents: 2399
diff changeset
   804
1420
960068850f29 more queries
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
   805
isFocusEvent
960068850f29 more queries
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
   806
    "return true, if this event is a focusIn/focusOut event"
960068850f29 more queries
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
   807
3295
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
   808
    ^ false
1420
960068850f29 more queries
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
   809
960068850f29 more queries
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
   810
    "Created: 5.3.1997 / 12:12:37 / cg"
960068850f29 more queries
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
   811
!
960068850f29 more queries
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
   812
960068850f29 more queries
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
   813
isFocusInEvent
960068850f29 more queries
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
   814
    "return true, if this event is a focusIn event"
960068850f29 more queries
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
   815
3295
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
   816
    ^ false
1420
960068850f29 more queries
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
   817
960068850f29 more queries
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
   818
    "Created: 5.3.1997 / 12:18:10 / cg"
960068850f29 more queries
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
   819
!
960068850f29 more queries
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
   820
2707
cb775384565a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2471
diff changeset
   821
isInputEvent
cb775384565a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2471
diff changeset
   822
    "return true, if this event is an input (pointer, key or button) event"
cb775384565a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2471
diff changeset
   823
cb775384565a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2471
diff changeset
   824
    ^ false
cb775384565a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2471
diff changeset
   825
cb775384565a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2471
diff changeset
   826
    "Created: / 21.5.1999 / 19:49:42 / cg"
cb775384565a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2471
diff changeset
   827
    "Modified: / 21.5.1999 / 19:50:11 / cg"
cb775384565a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2471
diff changeset
   828
!
cb775384565a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2471
diff changeset
   829
244
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   830
isKeyEvent
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   831
    "return true, if this event is a keyboard event"
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   832
2028
9f4244301ef8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1982
diff changeset
   833
    ^ false
9f4244301ef8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1982
diff changeset
   834
9f4244301ef8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1982
diff changeset
   835
    "Modified: / 28.1.1998 / 00:03:17 / cg"
244
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   836
!
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   837
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   838
isKeyPressEvent
2028
9f4244301ef8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1982
diff changeset
   839
    "return true, if this event is a keyboard press event"
9f4244301ef8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1982
diff changeset
   840
9f4244301ef8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1982
diff changeset
   841
    ^ false
9f4244301ef8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1982
diff changeset
   842
9f4244301ef8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1982
diff changeset
   843
    "Modified: / 28.1.1998 / 00:03:24 / cg"
9f4244301ef8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1982
diff changeset
   844
!
244
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   845
2028
9f4244301ef8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1982
diff changeset
   846
isKeyReleaseEvent
9f4244301ef8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1982
diff changeset
   847
    "return true, if this event is a keyboard release event"
9f4244301ef8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1982
diff changeset
   848
9f4244301ef8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1982
diff changeset
   849
    ^ false
9f4244301ef8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1982
diff changeset
   850
9f4244301ef8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1982
diff changeset
   851
    "Modified: / 28.1.1998 / 00:03:31 / cg"
356
2f773ceb7032 new query methods
Claus Gittinger <cg@exept.de>
parents: 320
diff changeset
   852
!
2f773ceb7032 new query methods
Claus Gittinger <cg@exept.de>
parents: 320
diff changeset
   853
3376
a9784be22e6a added hasKeyboardFocus event
tm
parents: 3297
diff changeset
   854
isKeyboardFocusEvent
a9784be22e6a added hasKeyboardFocus event
tm
parents: 3297
diff changeset
   855
    "return true, if this event is a keyboard focus event"
a9784be22e6a added hasKeyboardFocus event
tm
parents: 3297
diff changeset
   856
a9784be22e6a added hasKeyboardFocus event
tm
parents: 3297
diff changeset
   857
    ^ false
a9784be22e6a added hasKeyboardFocus event
tm
parents: 3297
diff changeset
   858
!
a9784be22e6a added hasKeyboardFocus event
tm
parents: 3297
diff changeset
   859
2034
9fd5b2a4d315 added isMapEvent / isUnmapEvent
Claus Gittinger <cg@exept.de>
parents: 2028
diff changeset
   860
isMapEvent
9fd5b2a4d315 added isMapEvent / isUnmapEvent
Claus Gittinger <cg@exept.de>
parents: 2028
diff changeset
   861
    "return true, if this is a map event event"
9fd5b2a4d315 added isMapEvent / isUnmapEvent
Claus Gittinger <cg@exept.de>
parents: 2028
diff changeset
   862
3680
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   863
    ^ false
2034
9fd5b2a4d315 added isMapEvent / isUnmapEvent
Claus Gittinger <cg@exept.de>
parents: 2028
diff changeset
   864
9fd5b2a4d315 added isMapEvent / isUnmapEvent
Claus Gittinger <cg@exept.de>
parents: 2028
diff changeset
   865
    "Created: / 29.1.1998 / 21:52:54 / cg"
9fd5b2a4d315 added isMapEvent / isUnmapEvent
Claus Gittinger <cg@exept.de>
parents: 2028
diff changeset
   866
!
9fd5b2a4d315 added isMapEvent / isUnmapEvent
Claus Gittinger <cg@exept.de>
parents: 2028
diff changeset
   867
3297
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
   868
isMessageSendEvent
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
   869
    "return true, if this event is a general messageSend event"
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
   870
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
   871
    ^ false
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
   872
!
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
   873
3011
e5880bb2738d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   874
isMouseWheelEvent
3680
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   875
    selector == #mouseWheelMotion:x:y:amount:deltaTime:
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   876
    ifTrue:[
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   877
        self halt.
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   878
        ^ true.
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   879
    ].
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   880
    ^ false
3011
e5880bb2738d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   881
!
e5880bb2738d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   882
356
2f773ceb7032 new query methods
Claus Gittinger <cg@exept.de>
parents: 320
diff changeset
   883
isPointerEnterEvent
2f773ceb7032 new query methods
Claus Gittinger <cg@exept.de>
parents: 320
diff changeset
   884
    "return true, if this event is a pointer-enter event"
2f773ceb7032 new query methods
Claus Gittinger <cg@exept.de>
parents: 320
diff changeset
   885
3680
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   886
    ^ false
356
2f773ceb7032 new query methods
Claus Gittinger <cg@exept.de>
parents: 320
diff changeset
   887
2f773ceb7032 new query methods
Claus Gittinger <cg@exept.de>
parents: 320
diff changeset
   888
    "Created: 9.1.1996 / 15:51:24 / cg"
2f773ceb7032 new query methods
Claus Gittinger <cg@exept.de>
parents: 320
diff changeset
   889
    "Modified: 9.1.1996 / 15:51:40 / cg"
2f773ceb7032 new query methods
Claus Gittinger <cg@exept.de>
parents: 320
diff changeset
   890
!
2f773ceb7032 new query methods
Claus Gittinger <cg@exept.de>
parents: 320
diff changeset
   891
2f773ceb7032 new query methods
Claus Gittinger <cg@exept.de>
parents: 320
diff changeset
   892
isPointerEnterLeaveEvent
2f773ceb7032 new query methods
Claus Gittinger <cg@exept.de>
parents: 320
diff changeset
   893
    "return true, if this event is a pointer-enter/leave event"
2f773ceb7032 new query methods
Claus Gittinger <cg@exept.de>
parents: 320
diff changeset
   894
3680
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   895
    ^ false
356
2f773ceb7032 new query methods
Claus Gittinger <cg@exept.de>
parents: 320
diff changeset
   896
2f773ceb7032 new query methods
Claus Gittinger <cg@exept.de>
parents: 320
diff changeset
   897
    "Created: 9.1.1996 / 15:51:18 / cg"
2f773ceb7032 new query methods
Claus Gittinger <cg@exept.de>
parents: 320
diff changeset
   898
!
2f773ceb7032 new query methods
Claus Gittinger <cg@exept.de>
parents: 320
diff changeset
   899
2f773ceb7032 new query methods
Claus Gittinger <cg@exept.de>
parents: 320
diff changeset
   900
isPointerLeaveEvent
2f773ceb7032 new query methods
Claus Gittinger <cg@exept.de>
parents: 320
diff changeset
   901
    "return true, if this event is a pointer-leave event"
2f773ceb7032 new query methods
Claus Gittinger <cg@exept.de>
parents: 320
diff changeset
   902
3680
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   903
    ^ false
356
2f773ceb7032 new query methods
Claus Gittinger <cg@exept.de>
parents: 320
diff changeset
   904
2f773ceb7032 new query methods
Claus Gittinger <cg@exept.de>
parents: 320
diff changeset
   905
    "Created: 9.1.1996 / 15:51:36 / cg"
1158
847d085a498f added #isUserEvent
Claus Gittinger <cg@exept.de>
parents: 727
diff changeset
   906
!
847d085a498f added #isUserEvent
Claus Gittinger <cg@exept.de>
parents: 727
diff changeset
   907
2034
9fd5b2a4d315 added isMapEvent / isUnmapEvent
Claus Gittinger <cg@exept.de>
parents: 2028
diff changeset
   908
isUnmapEvent
9fd5b2a4d315 added isMapEvent / isUnmapEvent
Claus Gittinger <cg@exept.de>
parents: 2028
diff changeset
   909
    "return true, if this is an unmap event event"
9fd5b2a4d315 added isMapEvent / isUnmapEvent
Claus Gittinger <cg@exept.de>
parents: 2028
diff changeset
   910
3680
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   911
    ^ false
2034
9fd5b2a4d315 added isMapEvent / isUnmapEvent
Claus Gittinger <cg@exept.de>
parents: 2028
diff changeset
   912
9fd5b2a4d315 added isMapEvent / isUnmapEvent
Claus Gittinger <cg@exept.de>
parents: 2028
diff changeset
   913
    "Modified: / 29.1.1998 / 21:53:02 / cg"
9fd5b2a4d315 added isMapEvent / isUnmapEvent
Claus Gittinger <cg@exept.de>
parents: 2028
diff changeset
   914
!
9fd5b2a4d315 added isMapEvent / isUnmapEvent
Claus Gittinger <cg@exept.de>
parents: 2028
diff changeset
   915
1158
847d085a498f added #isUserEvent
Claus Gittinger <cg@exept.de>
parents: 727
diff changeset
   916
isUserEvent
847d085a498f added #isUserEvent
Claus Gittinger <cg@exept.de>
parents: 727
diff changeset
   917
    "return true, if this event is a user event (i.e. mouse, keyboard or button)"
847d085a498f added #isUserEvent
Claus Gittinger <cg@exept.de>
parents: 727
diff changeset
   918
3680
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   919
    self isButtonEvent       ifTrue:[^ true].
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   920
    self isKeyEvent          ifTrue:[^ true].
1158
847d085a498f added #isUserEvent
Claus Gittinger <cg@exept.de>
parents: 727
diff changeset
   921
3680
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   922
    self isPointerEnterEvent ifTrue:[^ true].
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   923
    "/ self isPointerLeaveEvent ifTrue:[^ true].     -- why disabled ?
1420
960068850f29 more queries
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
   924
1158
847d085a498f added #isUserEvent
Claus Gittinger <cg@exept.de>
parents: 727
diff changeset
   925
    ^ false
847d085a498f added #isUserEvent
Claus Gittinger <cg@exept.de>
parents: 727
diff changeset
   926
1420
960068850f29 more queries
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
   927
    "Modified: 5.3.1997 / 11:27:40 / cg"
3654
91f60b377f68 +targetView
penk
parents: 3465
diff changeset
   928
!
91f60b377f68 +targetView
penk
parents: 3465
diff changeset
   929
3680
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   930
isWindowGeometryEvent
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   931
    ^ false
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   932
!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   933
3654
91f60b377f68 +targetView
penk
parents: 3465
diff changeset
   934
targetView
91f60b377f68 +targetView
penk
parents: 3465
diff changeset
   935
    "return the view which will eventually handle the event;
91f60b377f68 +targetView
penk
parents: 3465
diff changeset
   936
     for most events, this is the same as the view, for which the event was
91f60b377f68 +targetView
penk
parents: 3465
diff changeset
   937
     originally generated.
91f60b377f68 +targetView
penk
parents: 3465
diff changeset
   938
     Except, if an explicit focus has been assigned (i.e. tabbed into a component),
91f60b377f68 +targetView
penk
parents: 3465
diff changeset
   939
     AND the event is a keyboard event. In this case, the targetView might be different.
91f60b377f68 +targetView
penk
parents: 3465
diff changeset
   940
     Notice: this method might return nil, for synthetic (app-related) or display screen related
91f60b377f68 +targetView
penk
parents: 3465
diff changeset
   941
     events"
91f60b377f68 +targetView
penk
parents: 3465
diff changeset
   942
91f60b377f68 +targetView
penk
parents: 3465
diff changeset
   943
    |evView group focusView|
91f60b377f68 +targetView
penk
parents: 3465
diff changeset
   944
91f60b377f68 +targetView
penk
parents: 3465
diff changeset
   945
    (evView := self view) notNil ifTrue:[
91f60b377f68 +targetView
penk
parents: 3465
diff changeset
   946
        group := evView windowGroup.
91f60b377f68 +targetView
penk
parents: 3465
diff changeset
   947
        group notNil ifTrue:[
91f60b377f68 +targetView
penk
parents: 3465
diff changeset
   948
            focusView := group focusView.
91f60b377f68 +targetView
penk
parents: 3465
diff changeset
   949
            focusView notNil ifTrue:[^ focusView].
91f60b377f68 +targetView
penk
parents: 3465
diff changeset
   950
        ].
91f60b377f68 +targetView
penk
parents: 3465
diff changeset
   951
    ].
91f60b377f68 +targetView
penk
parents: 3465
diff changeset
   952
    ^ evView
244
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   953
! !
83218faf792c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   954
3680
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   955
!WindowEvent::ApplicationEvent methodsFor:'blocked'!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   956
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   957
view
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   958
    ^ nil
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   959
! !
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   960
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   961
!WindowEvent::ApplicationEvent methodsFor:'queries'!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   962
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   963
isApplicationEvent
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   964
    ^ true
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   965
! !
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
   966
1861
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
   967
!WindowEvent::InputEvent class methodsFor:'class initialization'!
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
   968
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
   969
initialize
1862
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
   970
    F_SHIFT := 16r001.
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
   971
    F_CTRL  := 16r002.
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
   972
    F_ALT   := 16r004.
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
   973
    F_META  := 16r008.
1861
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
   974
1862
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
   975
    F_BUTTON1 := 16r100.
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
   976
    F_BUTTON2 := 16r200.
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
   977
    F_BUTTON3 := 16r400.
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
   978
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
   979
    "
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
   980
     self initialize
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
   981
    "
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
   982
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
   983
    "Modified: 13.8.1997 / 22:16:17 / cg"
1861
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
   984
! !
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
   985
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
   986
!WindowEvent::InputEvent methodsFor:'accessing'!
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
   987
1862
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
   988
hasShift:shift ctrl:ctrl alt:alt meta:meta button1:b1 button2:b2 button3:b3
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
   989
    |f "{ Class: SmallInteger }"|
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
   990
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
   991
    f := 0.
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
   992
    shift ifTrue:[f := f bitOr:F_SHIFT].
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
   993
    ctrl ifTrue:[f := f bitOr:F_CTRL].
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
   994
    alt ifTrue:[f := f bitOr:F_ALT].
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
   995
    meta ifTrue:[f := f bitOr:F_META].
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
   996
    b1 ifTrue:[f := f bitOr:F_BUTTON1].
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
   997
    b2 ifTrue:[f := f bitOr:F_BUTTON2].
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
   998
    b3 ifTrue:[f := f bitOr:F_BUTTON3].
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
   999
    modifierFlags := f.
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
  1000
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
  1001
    "Created: 13.8.1997 / 22:17:56 / cg"
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
  1002
!
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
  1003
1861
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1004
hasShift:shift hasCtrl:ctrl hasAlt:alt hasMeta:meta
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1005
    |f "{ Class: SmallInteger }"|
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1006
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1007
    f := 0.
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1008
    shift ifTrue:[f := f bitOr:F_SHIFT].
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1009
    ctrl ifTrue:[f := f bitOr:F_CTRL].
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1010
    alt ifTrue:[f := f bitOr:F_ALT].
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1011
    meta ifTrue:[f := f bitOr:F_META].
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1012
    modifierFlags := f.
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1013
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1014
    "Created: 13.8.1997 / 22:02:09 / cg"
1862
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
  1015
!
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
  1016
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
  1017
hasShift:shift hasCtrl:ctrl hasAlt:alt hasMeta:meta hasButton1:b1 hasButton2:b2 hasButton3:b3
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
  1018
    |f "{ Class: SmallInteger }"|
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
  1019
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
  1020
    f := 0.
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
  1021
    shift ifTrue:[f := f bitOr:F_SHIFT].
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
  1022
    ctrl ifTrue:[f := f bitOr:F_CTRL].
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
  1023
    alt ifTrue:[f := f bitOr:F_ALT].
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
  1024
    meta ifTrue:[f := f bitOr:F_META].
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
  1025
    b1 ifTrue:[f := f bitOr:F_BUTTON1].
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
  1026
    b2 ifTrue:[f := f bitOr:F_BUTTON2].
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
  1027
    b3 ifTrue:[f := f bitOr:F_BUTTON3].
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
  1028
    modifierFlags := f.
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
  1029
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
  1030
    "Created: 13.8.1997 / 22:17:25 / cg"
2761
accf9c7f470e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2707
diff changeset
  1031
!
accf9c7f470e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2707
diff changeset
  1032
accf9c7f470e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2707
diff changeset
  1033
modifierFlags
accf9c7f470e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2707
diff changeset
  1034
    ^ modifierFlags
accf9c7f470e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2707
diff changeset
  1035
!
accf9c7f470e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2707
diff changeset
  1036
accf9c7f470e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2707
diff changeset
  1037
modifierFlags:flagBits
accf9c7f470e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2707
diff changeset
  1038
    modifierFlags := flagBits
1861
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1039
! !
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1040
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1041
!WindowEvent::InputEvent methodsFor:'queries'!
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1042
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1043
hasAlt
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1044
    "return true, if this is an event, with ALT pressed"
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1045
1885
e1021e9ed342 care for nil modifiers
Claus Gittinger <cg@exept.de>
parents: 1863
diff changeset
  1046
    modifierFlags isNil ifTrue:[^ false].
1861
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1047
    ^ (modifierFlags bitAnd:F_ALT) ~~ 0
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1048
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1049
    "Created: 13.8.1997 / 22:02:23 / cg"
1885
e1021e9ed342 care for nil modifiers
Claus Gittinger <cg@exept.de>
parents: 1863
diff changeset
  1050
    "Modified: 21.8.1997 / 19:41:11 / cg"
1861
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1051
!
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1052
1862
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
  1053
hasButton1
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
  1054
    "return true, if this is an event, with the left mouse button pressed"
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
  1055
1885
e1021e9ed342 care for nil modifiers
Claus Gittinger <cg@exept.de>
parents: 1863
diff changeset
  1056
    modifierFlags isNil ifTrue:[^ false].
1862
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
  1057
    ^ (modifierFlags bitAnd:F_BUTTON1) ~~ 0
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
  1058
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
  1059
    "Created: 13.8.1997 / 22:16:35 / cg"
1885
e1021e9ed342 care for nil modifiers
Claus Gittinger <cg@exept.de>
parents: 1863
diff changeset
  1060
    "Modified: 21.8.1997 / 19:41:40 / cg"
1862
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
  1061
!
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
  1062
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
  1063
hasButton2
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
  1064
    "return true, if this is an event, with the middle mouse button pressed"
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
  1065
1885
e1021e9ed342 care for nil modifiers
Claus Gittinger <cg@exept.de>
parents: 1863
diff changeset
  1066
    modifierFlags isNil ifTrue:[^ false].
1862
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
  1067
    ^ (modifierFlags bitAnd:F_BUTTON2) ~~ 0
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
  1068
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
  1069
    "Created: 13.8.1997 / 22:16:43 / cg"
1885
e1021e9ed342 care for nil modifiers
Claus Gittinger <cg@exept.de>
parents: 1863
diff changeset
  1070
    "Modified: 21.8.1997 / 19:41:47 / cg"
1862
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
  1071
!
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
  1072
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
  1073
hasButton3
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
  1074
    "return true, if this is an event, with the right mouse button pressed"
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
  1075
1885
e1021e9ed342 care for nil modifiers
Claus Gittinger <cg@exept.de>
parents: 1863
diff changeset
  1076
    modifierFlags isNil ifTrue:[^ false].
1862
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
  1077
    ^ (modifierFlags bitAnd:F_BUTTON3) ~~ 0
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
  1078
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
  1079
    "Created: 13.8.1997 / 22:16:49 / cg"
1885
e1021e9ed342 care for nil modifiers
Claus Gittinger <cg@exept.de>
parents: 1863
diff changeset
  1080
    "Modified: 21.8.1997 / 19:41:52 / cg"
1862
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
  1081
!
e56d9a7389bb also remember buttonStates in keyEvents.
Claus Gittinger <cg@exept.de>
parents: 1861
diff changeset
  1082
1861
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1083
hasCtrl
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1084
    "return true, if this is an event, with CTRL pressed"
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1085
1885
e1021e9ed342 care for nil modifiers
Claus Gittinger <cg@exept.de>
parents: 1863
diff changeset
  1086
    modifierFlags isNil ifTrue:[^ false].
1861
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1087
    ^ (modifierFlags bitAnd:F_CTRL) ~~ 0
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1088
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1089
    "Created: 13.8.1997 / 22:02:29 / cg"
1885
e1021e9ed342 care for nil modifiers
Claus Gittinger <cg@exept.de>
parents: 1863
diff changeset
  1090
    "Modified: 21.8.1997 / 19:41:21 / cg"
1861
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1091
!
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1092
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1093
hasMeta
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1094
    "return true, if this is an event, with META pressed"
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1095
1885
e1021e9ed342 care for nil modifiers
Claus Gittinger <cg@exept.de>
parents: 1863
diff changeset
  1096
    modifierFlags isNil ifTrue:[^ false].
1861
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1097
    ^ (modifierFlags bitAnd:F_META) ~~ 0
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1098
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1099
    "Created: 13.8.1997 / 22:02:59 / cg"
1885
e1021e9ed342 care for nil modifiers
Claus Gittinger <cg@exept.de>
parents: 1863
diff changeset
  1100
    "Modified: 21.8.1997 / 19:41:27 / cg"
1861
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1101
!
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1102
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1103
hasShift
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1104
    "return true, if this is an event, with SHIFT pressed"
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1105
1885
e1021e9ed342 care for nil modifiers
Claus Gittinger <cg@exept.de>
parents: 1863
diff changeset
  1106
    modifierFlags isNil ifTrue:[^ false].
1861
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1107
    ^ (modifierFlags bitAnd:F_SHIFT) ~~ 0
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1108
1b1e49147380 remember shift,meta,alt & ctrl state in buttonEvents
Claus Gittinger <cg@exept.de>
parents: 1841
diff changeset
  1109
    "Created: 13.8.1997 / 22:03:09 / cg"
1885
e1021e9ed342 care for nil modifiers
Claus Gittinger <cg@exept.de>
parents: 1863
diff changeset
  1110
    "Modified: 21.8.1997 / 19:41:34 / cg"
2707
cb775384565a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2471
diff changeset
  1111
!
cb775384565a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2471
diff changeset
  1112
cb775384565a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2471
diff changeset
  1113
isInputEvent
cb775384565a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2471
diff changeset
  1114
    ^ true
cb775384565a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2471
diff changeset
  1115
cb775384565a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2471
diff changeset
  1116
    "Created: / 21.5.1999 / 19:49:30 / cg"
3465
a14f06f3af91 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3376
diff changeset
  1117
!
a14f06f3af91 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3376
diff changeset
  1118
3680
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1119
isMouseWheelEvent
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1120
    ^ selector == #mouseWheelMotion:x:y:amount:deltaTime:
3465
a14f06f3af91 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3376
diff changeset
  1121
! !
a14f06f3af91 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3376
diff changeset
  1122
3297
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1123
!WindowEvent::ButtonEvent methodsFor:'accessing'!
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1124
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1125
button
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1126
    "return the button nr of the button-event"
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1127
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1128
    ^ args at:1
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1129
!
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1130
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1131
state
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1132
    "return the button state of the button-event
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1133
     (mouse button bits at the time of the event)."
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1134
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1135
    ^ args at:1
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1136
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1137
    "Created: / 12.11.1998 / 16:21:18 / cg"
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1138
!
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1139
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1140
x
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1141
    "return the x coordinate of the button-event
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1142
     (mouse position at the time of the event)."
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1143
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1144
    ^ args at:2
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1145
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1146
    "Created: 1.8.1997 / 13:58:15 / cg"
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1147
!
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1148
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1149
x:anInteger
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1150
    "change the x coordinate of the button-event"
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1151
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1152
    args at:2 put:anInteger
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1153
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1154
    "Created: 1.8.1997 / 13:58:15 / cg"
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1155
!
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1156
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1157
y
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1158
    "return the y coordinate of the button-event
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1159
     (mouse position at the time of the event)."
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1160
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1161
    ^ args at:3
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1162
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1163
    "Created: 1.8.1997 / 13:58:07 / cg"
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1164
!
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1165
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1166
y:anInteger
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1167
    "change the y coordinate of the button-event"
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1168
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1169
    ^ args at:3 put:anInteger
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1170
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1171
    "Created: 1.8.1997 / 13:58:15 / cg"
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1172
! !
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1173
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1174
!WindowEvent::ButtonEvent methodsFor:'queries'!
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1175
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1176
isButtonEvent
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1177
    "return true, if this event is a button event"
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1178
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1179
    ^ true
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1180
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1181
    "Created: 4.4.1997 / 13:44:11 / cg"
3680
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1182
! !
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1183
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1184
!WindowEvent::ButtonPressEvent methodsFor:'queries'!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1185
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1186
isButtonPressEvent
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1187
    "return true, if this event is a buttonPress event"
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1188
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1189
    ^ true
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1190
! !
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1191
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1192
!WindowEvent::ButtonMultiPressEvent methodsFor:'queries'!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1193
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1194
isButtonPressEvent
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1195
    "/ ATTENTION: temporary for bw. compatibility, since due to a bug,
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1196
    "/ multi-presses returned false to this query
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1197
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1198
"/'----------------' errorPrint.
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1199
"/'oops multipressEvent asked for isButtonPress' errorPrintCR.
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1200
"/thisContext fullPrintAll.
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1201
    ^ false
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1202
! !
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1203
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1204
!WindowEvent::ButtonReleaseEvent methodsFor:'queries'!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1205
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1206
isButtonReleaseEvent
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1207
    "return true, if this event is a buttonRelease event"
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1208
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1209
    ^ true
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1210
! !
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1211
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1212
!WindowEvent::ClientEvent methodsFor:'accessing'!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1213
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1214
eventData
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1215
    "return the value of the instance variable 'eventData' (automatically generated)"
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1216
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1217
    ^ eventData
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1218
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1219
    "Created: 4.4.1997 / 17:41:50 / cg"
3297
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1220
!
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1221
3680
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1222
eventData:something
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1223
    "set the value of the instance variable 'eventData' (automatically generated)"
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1224
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1225
    eventData := something.
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1226
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1227
    "Created: 4.4.1997 / 17:41:57 / cg"
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1228
! !
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1229
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1230
!WindowEvent::ConfigureEvent methodsFor:'queries'!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1231
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1232
isConfigureEvent
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1233
    ^ true
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1234
! !
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1235
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1236
!WindowEvent::DamageEvent methodsFor:'queries'!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1237
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1238
isDamage
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1239
    "return true, if this is a damage event"
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1240
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1241
    ^ true
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1242
!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1243
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1244
isDamageForView:aView
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1245
    "return true, if this is a damage event for aView"
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1246
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1247
    ^ (receiver == aView)
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1248
! !
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1249
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1250
!WindowEvent::EnterLeaveEvent methodsFor:'queries'!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1251
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1252
isPointerEnterEvent
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1253
    "return true, if this event is a pointer-enter event"
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1254
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1255
    ^ (selector == #'pointerEnter:x:y:')
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1256
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1257
    "Created: 9.1.1996 / 15:51:24 / cg"
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1258
    "Modified: 9.1.1996 / 15:51:40 / cg"
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1259
!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1260
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1261
isPointerEnterLeaveEvent
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1262
    "return true, if this event is a pointer-enter/leave event"
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1263
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1264
    ^ true
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1265
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1266
    "Created: 9.1.1996 / 15:51:18 / cg"
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1267
!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1268
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1269
isPointerLeaveEvent
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1270
    "return true, if this event is a pointer-leave event"
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1271
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1272
    ^ selector == #'pointerLeave:'
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1273
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1274
    "Created: 9.1.1996 / 15:51:36 / cg"
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1275
! !
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1276
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1277
!WindowEvent::FocusEvent methodsFor:'queries'!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1278
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1279
isFocusEvent
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1280
    "return true, if this event is a focus event"
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1281
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1282
    ^ true
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1283
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1284
    "Created: / 21.5.1999 / 19:44:47 / cg"
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1285
!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1286
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1287
isFocusInEvent
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1288
    "return true, if this event is a focusIn event"
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1289
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1290
    ^ (selector == #focusIn)
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1291
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1292
    "Created: / 21.5.1999 / 19:45:04 / cg"
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1293
! !
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1294
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1295
!WindowEvent::ButtonMotionEvent methodsFor:'queries'!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1296
3297
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1297
isButtonMotionEvent
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1298
    "return true, if this event is a buttonMotion event"
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1299
3680
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1300
    ^ true
3297
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1301
! !
a811e83db982 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3295
diff changeset
  1302
1527
661de0f76595 started to separate into distinct event classes;
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
  1303
!WindowEvent::KeyboardEvent methodsFor:'accessing'!
661de0f76595 started to separate into distinct event classes;
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
  1304
1841
3773debcc078 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1730
diff changeset
  1305
key
3773debcc078 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1730
diff changeset
  1306
    "return the key of the key-event."
3773debcc078 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1730
diff changeset
  1307
3295
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
  1308
    ^ args at:1
1841
3773debcc078 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1730
diff changeset
  1309
3773debcc078 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1730
diff changeset
  1310
    "Created: 1.8.1997 / 13:55:19 / cg"
3773debcc078 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1730
diff changeset
  1311
!
3773debcc078 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1730
diff changeset
  1312
2852
4eb0bb90d703 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2811
diff changeset
  1313
key:aCharacterOrSymbol
4eb0bb90d703 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2811
diff changeset
  1314
    "change the key of the key-event."
4eb0bb90d703 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2811
diff changeset
  1315
3295
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
  1316
    args at:1 put:aCharacterOrSymbol
2852
4eb0bb90d703 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2811
diff changeset
  1317
4eb0bb90d703 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2811
diff changeset
  1318
    "Created: 1.8.1997 / 13:55:19 / cg"
4eb0bb90d703 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2811
diff changeset
  1319
!
4eb0bb90d703 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2811
diff changeset
  1320
1527
661de0f76595 started to separate into distinct event classes;
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
  1321
rawKey
661de0f76595 started to separate into distinct event classes;
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
  1322
    ^ rawKey
661de0f76595 started to separate into distinct event classes;
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
  1323
661de0f76595 started to separate into distinct event classes;
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
  1324
    "Created: 4.4.1997 / 13:47:15 / cg"
661de0f76595 started to separate into distinct event classes;
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
  1325
!
661de0f76595 started to separate into distinct event classes;
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
  1326
661de0f76595 started to separate into distinct event classes;
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
  1327
rawKey:aKey
661de0f76595 started to separate into distinct event classes;
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
  1328
    rawKey := aKey
661de0f76595 started to separate into distinct event classes;
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
  1329
661de0f76595 started to separate into distinct event classes;
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
  1330
    "Created: 4.4.1997 / 13:47:10 / cg"
1841
3773debcc078 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1730
diff changeset
  1331
!
3773debcc078 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1730
diff changeset
  1332
3773debcc078 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1730
diff changeset
  1333
x
3773debcc078 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1730
diff changeset
  1334
    "return the x coordinate of the key-event
3773debcc078 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1730
diff changeset
  1335
     (mouse position at the time of the key-event)."
3773debcc078 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1730
diff changeset
  1336
3295
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
  1337
    ^ args at:2
1841
3773debcc078 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1730
diff changeset
  1338
3773debcc078 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1730
diff changeset
  1339
    "Created: 1.8.1997 / 13:57:27 / cg"
3773debcc078 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1730
diff changeset
  1340
!
3773debcc078 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1730
diff changeset
  1341
3089
ea806f804f5c accessors for x/y
ca
parents: 3011
diff changeset
  1342
xy:anInteger
ea806f804f5c accessors for x/y
ca
parents: 3011
diff changeset
  1343
    "change the x coordinate of the key-event"
ea806f804f5c accessors for x/y
ca
parents: 3011
diff changeset
  1344
3295
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
  1345
    ^ args at:2 put:anInteger
3089
ea806f804f5c accessors for x/y
ca
parents: 3011
diff changeset
  1346
!
ea806f804f5c accessors for x/y
ca
parents: 3011
diff changeset
  1347
1841
3773debcc078 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1730
diff changeset
  1348
y
3773debcc078 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1730
diff changeset
  1349
    "return the y coordinate of the key-event
3773debcc078 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1730
diff changeset
  1350
     (mouse position at the time of the key-event)."
3773debcc078 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1730
diff changeset
  1351
3295
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
  1352
    ^ args at:3
1841
3773debcc078 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1730
diff changeset
  1353
3773debcc078 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1730
diff changeset
  1354
    "Created: 1.8.1997 / 13:55:19 / cg"
3773debcc078 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1730
diff changeset
  1355
    "Modified: 1.8.1997 / 13:57:42 / cg"
3089
ea806f804f5c accessors for x/y
ca
parents: 3011
diff changeset
  1356
!
ea806f804f5c accessors for x/y
ca
parents: 3011
diff changeset
  1357
ea806f804f5c accessors for x/y
ca
parents: 3011
diff changeset
  1358
y:anInteger
ea806f804f5c accessors for x/y
ca
parents: 3011
diff changeset
  1359
    "change the y coordinate of the key-event"
ea806f804f5c accessors for x/y
ca
parents: 3011
diff changeset
  1360
3295
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
  1361
    ^ args at:3 put:anInteger
1527
661de0f76595 started to separate into distinct event classes;
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
  1362
! !
661de0f76595 started to separate into distinct event classes;
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
  1363
661de0f76595 started to separate into distinct event classes;
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
  1364
!WindowEvent::KeyboardEvent methodsFor:'queries'!
661de0f76595 started to separate into distinct event classes;
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
  1365
661de0f76595 started to separate into distinct event classes;
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
  1366
isKeyEvent
661de0f76595 started to separate into distinct event classes;
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
  1367
    "return true, if this event is a keyboard event"
661de0f76595 started to separate into distinct event classes;
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
  1368
661de0f76595 started to separate into distinct event classes;
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
  1369
    ^ true
661de0f76595 started to separate into distinct event classes;
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
  1370
661de0f76595 started to separate into distinct event classes;
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
  1371
    "Created: 4.4.1997 / 13:39:59 / cg"
2028
9f4244301ef8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1982
diff changeset
  1372
!
9f4244301ef8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1982
diff changeset
  1373
9f4244301ef8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1982
diff changeset
  1374
isKeyPressEvent
9f4244301ef8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1982
diff changeset
  1375
    "return true, if this event is a keyboard press event"
9f4244301ef8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1982
diff changeset
  1376
3295
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
  1377
    ^ (selector == #keyPress:x:y:)
2028
9f4244301ef8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1982
diff changeset
  1378
9f4244301ef8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1982
diff changeset
  1379
    "Created: / 28.1.1998 / 00:02:40 / cg"
9f4244301ef8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1982
diff changeset
  1380
    "Modified: / 28.1.1998 / 00:02:52 / cg"
9f4244301ef8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1982
diff changeset
  1381
!
9f4244301ef8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1982
diff changeset
  1382
9f4244301ef8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1982
diff changeset
  1383
isKeyReleaseEvent
9f4244301ef8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1982
diff changeset
  1384
    "return true, if this event is a keyboard release event"
9f4244301ef8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1982
diff changeset
  1385
3295
84de6d18b9d1 code cleanup - now a subclass of MessageSend - thats what it is really
Claus Gittinger <cg@exept.de>
parents: 3294
diff changeset
  1386
    ^ (selector == #keyRelease:x:y:)
2028
9f4244301ef8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1982
diff changeset
  1387
9f4244301ef8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1982
diff changeset
  1388
    "Created: / 28.1.1998 / 00:02:48 / cg"
1527
661de0f76595 started to separate into distinct event classes;
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
  1389
! !
661de0f76595 started to separate into distinct event classes;
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
  1390
3376
a9784be22e6a added hasKeyboardFocus event
tm
parents: 3297
diff changeset
  1391
!WindowEvent::KeyboardFocusEvent methodsFor:'queries'!
a9784be22e6a added hasKeyboardFocus event
tm
parents: 3297
diff changeset
  1392
a9784be22e6a added hasKeyboardFocus event
tm
parents: 3297
diff changeset
  1393
isKeyboardFocusEvent
a9784be22e6a added hasKeyboardFocus event
tm
parents: 3297
diff changeset
  1394
    "return true, if this event is a keyboard focus event"
a9784be22e6a added hasKeyboardFocus event
tm
parents: 3297
diff changeset
  1395
a9784be22e6a added hasKeyboardFocus event
tm
parents: 3297
diff changeset
  1396
    ^ true
a9784be22e6a added hasKeyboardFocus event
tm
parents: 3297
diff changeset
  1397
! !
a9784be22e6a added hasKeyboardFocus event
tm
parents: 3297
diff changeset
  1398
3680
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1399
!WindowEvent::MessageSendEvent methodsFor:'blocked'!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1400
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1401
view
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1402
    ^ nil
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1403
! !
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1404
3465
a14f06f3af91 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3376
diff changeset
  1405
!WindowEvent::MessageSendEvent methodsFor:'queries'!
3089
ea806f804f5c accessors for x/y
ca
parents: 3011
diff changeset
  1406
3465
a14f06f3af91 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3376
diff changeset
  1407
isMessageSendEvent
a14f06f3af91 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3376
diff changeset
  1408
    "return true, if this event is a general messageSend event"
3089
ea806f804f5c accessors for x/y
ca
parents: 3011
diff changeset
  1409
ea806f804f5c accessors for x/y
ca
parents: 3011
diff changeset
  1410
    ^ true
ea806f804f5c accessors for x/y
ca
parents: 3011
diff changeset
  1411
ea806f804f5c accessors for x/y
ca
parents: 3011
diff changeset
  1412
ea806f804f5c accessors for x/y
ca
parents: 3011
diff changeset
  1413
ea806f804f5c accessors for x/y
ca
parents: 3011
diff changeset
  1414
! !
ea806f804f5c accessors for x/y
ca
parents: 3011
diff changeset
  1415
3680
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1416
!WindowEvent::WindowMapUnmapEvent methodsFor:'queries'!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1417
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1418
isMapEvent
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1419
    "return true, if this is a map event event"
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1420
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1421
    ^ selector == #mapped
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1422
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1423
    "Created: / 29.1.1998 / 21:52:54 / cg"
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1424
!
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1425
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1426
isUnmapEvent
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1427
    "return true, if this is an unmap event event"
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1428
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1429
    ^ selector == #unmapped
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1430
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1431
    "Modified: / 29.1.1998 / 21:53:02 / cg"
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1432
! !
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1433
251
915de9a65169 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 244
diff changeset
  1434
!WindowEvent class methodsFor:'documentation'!
915de9a65169 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 244
diff changeset
  1435
915de9a65169 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 244
diff changeset
  1436
version
3680
4c096f11e018 more windowEvent types;
ca
parents: 3654
diff changeset
  1437
    ^ '$Header: /cvs/stx/stx/libview/WindowEvent.st,v 1.72 2002-08-02 11:55:19 ca Exp $'
251
915de9a65169 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 244
diff changeset
  1438
! !