@@ -89,7 +89,7 @@ view: func [
89
89
]
90
90
; Set up default handler...
91
91
if all [
92
- empty? system/view /event-port /extra/handlers ; ...if there is no other handler
92
+ empty? system/ports /event/extra/handlers ; ...if there is no other handler
93
93
not opts/handler ; ...and user did not provide one
94
94
][
95
95
handle-events [
@@ -189,7 +189,7 @@ handle-events: func [
189
189
/local sys-hand
190
190
] [
191
191
handler: make base-handler handler
192
- sys-hand: system/view /event-port /extra/handlers
192
+ sys-hand: system/ports /event/extra/handlers
193
193
; First check if there is not any handler with such a name...
194
194
forall sys-hand [
195
195
if handler/name = sys-hand/1/name [
@@ -214,15 +214,15 @@ unhandle-events: func [
214
214
"Removes a handler from the view event system."
215
215
handler [object! ]
216
216
] [
217
- remove find system/view /event-port /extra/handlers handler
217
+ remove find system/ports /event/extra/handlers handler
218
218
exit
219
219
]
220
220
221
221
handled-events? : func [
222
222
"Returns event handler object matching a given name."
223
223
name
224
224
] [
225
- foreach hand system/view /event-port /extra/handlers [
225
+ foreach hand system/ports /event/extra/handlers [
226
226
if hand/name = name [return hand]
227
227
]
228
228
none
@@ -231,7 +231,7 @@ handled-events?: func [
231
231
do-events : func [
232
232
"Waits for window events. Returns when all windows are closed."
233
233
] [
234
- wait system/view /event-port
234
+ wait system/ports /event
235
235
]
236
236
237
237
init-view-system : func [
@@ -246,28 +246,28 @@ init-view-system: func [
246
246
set in system/view/metrics w gui-metric w
247
247
]
248
248
249
- ; Already initialized?
250
- if system/view/event-port [exit]
249
+ ep: system/ports/event
251
250
252
- ; Open the event port:
253
- ep: open [ scheme: ' event]
254
- system/view/event-port: ep
251
+ unless ep /extra [
252
+ ; Create block of event handlers:
253
+ ep/extra: object [ handlers: copy []]
255
254
256
- ; Create block of event handlers:
257
- ep/extra: object [handlers: copy []]
258
-
259
- ; Global event handler for view system:
260
- ep/awake: func [event /local h] [
261
- h: event/port/extra/handlers
262
- while [ ; (no binding needed)
263
- all [event not tail? h]
264
- ][
265
- ; Handlers should return event in order to continue.
266
- event: h/1/handler event
267
- h: next h
255
+ ; Global event handler for view system:
256
+ ep/awake: func [event /local h] [
257
+ h: event/port/extra/handlers
258
+ while [ ; (no binding needed)
259
+ all [event not tail? h]
260
+ ][
261
+ ; Handlers should return event in order to continue.
262
+ event: h/1/handler event
263
+ h: next h
264
+ ]
265
+ tail? system/view/screen-gob
268
266
]
269
- tail? system/view/screen-gob
270
267
]
268
+
269
+ init-top-window:
270
+ init-view-system: 'done
271
271
]
272
272
273
273
init-view-system
0 commit comments