DayZ Scripts
v1.21.156300 ยท Jun 20, 2023
 
Loading...
Searching...
No Matches
WidgetEventHandler.c
Go to the documentation of this file.
2{
3 private ref static WidgetEventHandler s_instance;
4
21
23 {
24 return s_instance;
25 }
26
28 {
29 s_instance = this;
46 }
47
49 {
51 m_OnMouseButtonUpRegister.Remove( w );
52 m_OnMouseWheel.Remove( w );
53 m_OnDropReceived.Remove( w );
54 m_OnDrag.Remove( w );
55 m_OnDrop.Remove( w );
56 m_OnDraggingOver.Remove( w );
57 m_OnMouseEnter.Remove( w );
58 m_OnMouseButtonLeave.Remove( w );
59 m_OnClick.Remove( w );
60 m_OnDoubleClick.Remove( w );
61 m_OnDoubleClick.Remove( w );
62 m_OnFocus.Remove( w );
63 m_OnFocusLost.Remove( w );
64 m_OnController.Remove( w );
65 m_OnChildAdd.Remove( w );
66 m_OnChildRemove.Remove( w );
67 w.SetHandler( NULL );
68 }
69
70 void RegisterOnMouseButtonDown( Widget w, Managed eventHandler, string functionName )
71 {
72 w.SetHandler( this );
73 Param param = new Param2<Managed, string>( eventHandler, functionName );
74 m_OnMouseButtonDownRegister.Insert( w, param );
75 }
76
77 void RegisterOnMouseButtonUp( Widget w, Managed eventHandler, string functionName )
78 {
79 w.SetHandler( this );
80 Param param = new Param2<Managed, string>( eventHandler, functionName );
81 m_OnMouseButtonUpRegister.Insert( w, param );
82 }
83
84 void RegisterOnMouseWheel( Widget w, Managed eventHandler, string functionName )
85 {
86 w.SetHandler( this );
87 Param param = new Param2<Managed, string>( eventHandler, functionName );
88 m_OnMouseWheel.Insert( w, param );
89 }
90
91 void RegisterOnDropReceived( Widget w, Managed eventHandler, string functionName )
92 {
93 w.SetHandler( this );
94 Param param = new Param2<Managed, string>( eventHandler, functionName );
95 m_OnDropReceived.Insert( w, param );
96 }
97
98 void RegisterOnDrag( Widget w, Managed eventHandler, string functionName )
99 {
100 w.SetHandler( this );
101 Param param = new Param2<Managed, string>( eventHandler, functionName );
102 m_OnDrag.Insert( w, param );
103 }
104
105 void RegisterOnDrop( Widget w, Managed eventHandler, string functionName )
106 {
107 w.SetHandler( this );
108 Param param = new Param2<Managed, string>( eventHandler, functionName );
109 m_OnDrop.Insert( w, param );
110 }
111
112 void RegisterOnDraggingOver( Widget w, Managed eventHandler, string functionName )
113 {
114 w.SetHandler( this );
115 Param param = new Param2<Managed, string>( eventHandler, functionName );
116 m_OnDraggingOver.Insert( w, param );
117 }
118
119 void RegisterOnMouseEnter(Widget w, Managed eventHandler, string functionName )
120 {
121 w.SetHandler( this );
122 Param param = new Param2<Managed, string>( eventHandler, functionName );
123 m_OnMouseEnter.Insert( w, param );
124 }
125
126 void RegisterOnMouseLeave(Widget w, Managed eventHandler, string functionName )
127 {
128 w.SetHandler( this );
129 Param param = new Param2<Managed, string>( eventHandler, functionName );
130 m_OnMouseButtonLeave.Insert( w, param );
131 }
132
133 void RegisterOnClick(Widget w, Managed eventHandler, string functionName )
134 {
135 w.SetHandler( this );
136 Param param = new Param2<Managed, string>( eventHandler, functionName );
137 m_OnClick.Insert( w, param );
138 }
139
140 void RegisterOnDoubleClick(Widget w, Managed eventHandler, string functionName )
141 {
142 w.SetHandler( this );
143 Param param = new Param2<Managed, string>( eventHandler, functionName );
144 m_OnDoubleClick.Insert( w, param );
145 }
146
147 void RegisterOnFocus(Widget w, Managed eventHandler, string functionName )
148 {
149 w.SetHandler( this );
150 Param param = new Param2<Managed, string>( eventHandler, functionName );
151 m_OnFocus.Insert( w, param );
152 }
153 void RegisterOnFocusLost(Widget w, Managed eventHandler, string functionName )
154 {
155 w.SetHandler( this );
156 Param param = new Param2<Managed, string>( eventHandler, functionName );
157 m_OnFocusLost.Insert( w, param );
158 }
159
160 void RegisterOnChildAdd(Widget w, Managed eventHandler, string functionName )
161 {
162 w.SetHandler( this );
163 Param param = new Param2<Managed, string>( eventHandler, functionName );
164 m_OnChildAdd.Insert( w, param );
165 }
166
167 void RegisterOnChildRemove(Widget w, Managed eventHandler, string functionName )
168 {
169 w.SetHandler( this );
170 Param param = new Param2<Managed, string>( eventHandler, functionName );
171 m_OnChildRemove.Insert( w, param );
172 }
173
174 override bool OnClick(Widget w, int x, int y, int button)
175 {
177 if( param == NULL )
178 {
179 return false;
180 }
181
182 if( !param.param1 )
183 {
184 m_OnClick.Remove( w );
185 }
186
187 Param param2 = new Param4<Widget, int, int, int>( w, x, y, button );
188 GetGame().GameScript.CallFunctionParams( param.param1, param.param2, NULL, param2 );
189
190 return true;
191 }
192
193 override bool OnDoubleClick(Widget w, int x, int y, int button)
194 {
196 if( param == NULL )
197 {
198 return false;
199 }
200
201 if( !param.param1 )
202 {
203 m_OnDoubleClick.Remove( w );
204 }
205
206 Param param2 = new Param4<Widget, int, int, int>( w, x, y, button );
207 GetGame().GameScript.CallFunctionParams( param.param1, param.param2, NULL, param2 );
208
209 return true;
210 }
211
212 override bool OnMouseLeave(Widget w, Widget enterW, int x, int y)
213 {
215 if( param == NULL )
216 {
217 return false;
218 }
219
220 if( !param.param1 )
221 {
222 m_OnMouseButtonLeave.Remove( w );
223 }
224
225 Param param2 = new Param4<Widget, Widget, int, int>( w, enterW, x, y );
226 GetGame().GameScript.CallFunctionParams( param.param1, param.param2, NULL, param2 );
227
228 return true;
229 }
230
231 override bool OnMouseEnter( Widget w, int x, int y )
232 {
234 if( param == NULL )
235 {
236 return false;
237 }
238
239 if( !param.param1 )
240 {
241 m_OnMouseEnter.Remove( w );
242 }
243
244 Param param2 = new Param3<Widget, int, int>( w, x, y );
245 GetGame().GameScript.CallFunctionParams( param.param1, param.param2, NULL, param2 );
246
247 return true;
248 }
249
250 override bool OnMouseButtonDown( Widget w, int x, int y, int button )
251 {
253 if( param == NULL )
254 {
255 return false;
256 }
257
258 if( !param.param1 )
259 {
260 m_OnMouseButtonDownRegister.Remove( w );
261 }
262
263 Param param2 = new Param4<Widget, int, int, int>( w, x, y, button );
264 GetGame().GameScript.CallFunctionParams( param.param1, param.param2, NULL, param2 );
265
266 return true;
267 }
268
269 override bool OnMouseButtonUp( Widget w, int x, int y, int button )
270 {
272 if( param == NULL )
273 {
274 return false;
275 }
276
277 if( !param.param1 )
278 {
279 m_OnMouseButtonUpRegister.Remove( w );
280 }
281
282 Param param2 = new Param4<Widget, int, int, int>( w, x, y, button );
283 GetGame().GameScript.CallFunctionParams( param.param1, param.param2, NULL, param2 );
284
285 return true;
286 }
287
288 override bool OnDrag(Widget w, int x, int y)
289 {
291 if( param == NULL )
292 {
293 return false;
294 }
295
296 if( !param.param1 )
297 {
298 m_OnDrag.Remove( w );
299 }
300
301 Param param2 = new Param3<Widget, int, int>( w, x, y );
302 GetGame().GameScript.CallFunctionParams( param.param1, param.param2, NULL, param2 );
303
304 return true;
305 }
306
307 override bool OnDrop(Widget w, int x, int y, Widget reciever)
308 {
310 if( param == NULL )
311 {
312 return false;
313 }
314
315 if( !param.param1 )
316 {
317 m_OnDrop.Remove( w );
318 }
319
320 Param param2 = new Param3<Widget, int, int>( w, x, y );
321 GetGame().GameScript.CallFunctionParams( param.param1, param.param2, NULL, param2 );
322
323 return true;
324 }
325
326 override bool OnDraggingOver(Widget w, int x, int y, Widget reciever)
327 {
329 if( param == NULL )
330 {
331 return false;
332 }
333
334 if( !param.param1 )
335 {
336 m_OnDraggingOver.Remove( w );
337 }
338
339 Param param2 = new Param4<Widget, int, int, Widget>( w, x, y, reciever );
340 GetGame().GameScript.CallFunctionParams( param.param1, param.param2, NULL, param2 );
341
342 return true;
343 }
344
345 override bool OnDropReceived( Widget w, int x, int y, Widget reciever )
346 {
347 if( w.GetName() == "GridItem" )
348 {
349 return false;
350 }
351 Param p = m_OnDropReceived.Get( reciever );
353 if( param == NULL )
354 {
355 return false;
356 }
357
358 if( !param.param1 )
359 {
360 m_OnDropReceived.Remove( w );
361 }
362
363 Param param2 = new Param4<Widget, int, int, Widget>( w, x, y, reciever );
364 GetGame().GameScript.CallFunctionParams( param.param1, param.param2, NULL, param2 );
365
366 return true;
367 }
368
369 override bool OnFocus( Widget w, int x, int y )
370 {
372 if( param == NULL )
373 {
374 return false;
375 }
376
377 if( !param.param1 )
378 {
379 m_OnFocus.Remove( w );
380 }
381
382 Param param2 = new Param3<Widget, int, int>( w, x, y );
383 GetGame().GameScript.CallFunctionParams( param.param1, param.param2, NULL, param2 );
384
385 return true;
386 }
387
388 override bool OnFocusLost( Widget w, int x, int y )
389 {
391 if( param == NULL )
392 {
393 return false;
394 }
395
396 if( !param.param1 )
397 {
398 m_OnFocusLost.Remove( w );
399 }
400
401 Param param2 = new Param3<Widget, int, int>( w, x, y );
402 GetGame().GameScript.CallFunctionParams( param.param1, param.param2, NULL, param2 );
403
404 return true;
405 }
406
407 override bool OnMouseWheel(Widget w, int x, int y, int wheel)
408 {
410 if( param == NULL )
411 {
412 return false;
413 }
414
415 if( !param.param1 )
416 {
417 m_OnMouseWheel.Remove( w );
418 }
419
420 Param param2 = new Param4<Widget, int, int, int>( w, x, y, wheel );
421 GetGame().GameScript.CallFunctionParams( param.param1, param.param2, NULL, param2 );
422
423 return true;
424 }
425
426 override bool OnChildAdd( Widget w, Widget child )
427 {
429 if( param == NULL )
430 {
431 return false;
432 }
433
434 if( !param.param1 )
435 {
436 m_OnChildAdd.Remove( w );
437 }
438
439 Param param2 = new Param2<Widget, Widget>( w, child );
440 GetGame().GameScript.CallFunctionParams( param.param1, param.param2, NULL, param2 );
441
442 return true;
443 }
444
445 override bool OnChildRemove( Widget w, Widget child )
446 {
448 if( param == NULL )
449 {
450 return false;
451 }
452
453 if( !param.param1 )
454 {
455 m_OnChildRemove.Remove( w );
456 }
457
458 Param param2 = new Param2<Widget, Widget>( w, child );
459 GetGame().GameScript.CallFunctionParams( param.param1, param.param2, NULL, param2 );
460
461 return true;
462 }
463}
Icon x
Icon y
ScriptModule GameScript
Definition Game.c:12
TODO doc.
Definition EnScript.c:118
Base Param Class with no parameters. Used as general purpose parameter overloaded with Param1 to Para...
Definition param.c:12
map: item x vector(index, width, height)
Definition EnWidgets.c:538
protected ref map< Widget, ref Param > m_OnClick
protected ref map< Widget, ref Param > m_OnFocusLost
protected ref map< Widget, ref Param > m_OnMouseButtonDownRegister
protected ref map< Widget, ref Param > m_OnChildRemove
void RegisterOnMouseButtonDown(Widget w, Managed eventHandler, string functionName)
protected ref map< Widget, ref Param > m_OnMouseButtonUpRegister
protected ref map< Widget, ref Param > m_OnDrop
override bool OnDrop(Widget w, int x, int y, Widget reciever)
void RegisterOnFocus(Widget w, Managed eventHandler, string functionName)
override bool OnChildAdd(Widget w, Widget child)
protected ref map< Widget, ref Param > m_OnChildAdd
void RegisterOnMouseButtonUp(Widget w, Managed eventHandler, string functionName)
override bool OnDoubleClick(Widget w, int x, int y, int button)
override bool OnDrag(Widget w, int x, int y)
protected ref map< Widget, ref Param > m_OnFocus
static WidgetEventHandler GetInstance()
void RegisterOnDrag(Widget w, Managed eventHandler, string functionName)
override bool OnMouseLeave(Widget w, Widget enterW, int x, int y)
void UnregisterWidget(Widget w)
private static ref WidgetEventHandler s_instance
protected ref map< Widget, ref Param > m_OnMouseEnter
override bool OnChildRemove(Widget w, Widget child)
protected ref map< Widget, ref Param > m_OnMouseWheel
protected ref map< Widget, ref Param > m_OnDropReceived
void RegisterOnDrop(Widget w, Managed eventHandler, string functionName)
override bool OnDropReceived(Widget w, int x, int y, Widget reciever)
void RegisterOnClick(Widget w, Managed eventHandler, string functionName)
void RegisterOnDoubleClick(Widget w, Managed eventHandler, string functionName)
protected ref map< Widget, ref Param > m_OnDoubleClick
void RegisterOnChildRemove(Widget w, Managed eventHandler, string functionName)
override bool OnDraggingOver(Widget w, int x, int y, Widget reciever)
void RegisterOnDropReceived(Widget w, Managed eventHandler, string functionName)
void RegisterOnMouseWheel(Widget w, Managed eventHandler, string functionName)
void RegisterOnMouseEnter(Widget w, Managed eventHandler, string functionName)
void RegisterOnFocusLost(Widget w, Managed eventHandler, string functionName)
override bool OnFocusLost(Widget w, int x, int y)
protected ref map< Widget, ref Param > m_OnController
override bool OnMouseEnter(Widget w, int x, int y)
override bool OnMouseButtonDown(Widget w, int x, int y, int button)
void RegisterOnChildAdd(Widget w, Managed eventHandler, string functionName)
override bool OnMouseWheel(Widget w, int x, int y, int wheel)
override bool OnFocus(Widget w, int x, int y)
override bool OnClick(Widget w, int x, int y, int button)
override bool OnMouseButtonUp(Widget w, int x, int y, int button)
void RegisterOnDraggingOver(Widget w, Managed eventHandler, string functionName)
void RegisterOnMouseLeave(Widget w, Managed eventHandler, string functionName)
protected ref map< Widget, ref Param > m_OnMouseButtonLeave
protected ref map< Widget, ref Param > m_OnDraggingOver
protected ref map< Widget, ref Param > m_OnDrag
proto native CGame GetGame()
proto volatile int CallFunctionParams(Class inst, string function, out void returnVal, Class parms)