source: trunk/EventBenchConsole/rules/rules.xml @ 37

Last change on this file since 37 was 37, checked in by jhall, 13 years ago

Added "TabChange?" for tab handling
Fixed a bug with "HScroll"

File size: 12.6 KB
Line 
1<?xml version="1.0" encoding="utf-8"?>
2<!DOCTYPE rules SYSTEM "ruleDoctype.dtd">
3<rules xmlns="ul:rules" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="ul:rules ruleSchema.xsd">
4
5  <!-- rules regarding mouse clicks -->
6<rule name="LeftClickButton">
7 <msg type="&WM_LBUTTONDOWN;">
8  <store var="clicked"/>
9 </msg>
10 <msg type="&WM_LBUTTONUP;">
11  <equals>
12   <constValue value="Button"/>
13   <winInfoValue obj="this" winParam="class"/>
14  </equals>
15  <equals>
16   <paramValue obj="clicked" param="window.hwnd"/>
17   <paramValue obj="this" param="window.hwnd"/>
18  </equals>
19 </msg>
20 <genMsg delay="100">
21  <type>
22   <constValue value="&BM_CLICK;"/>
23  </type>
24  <target>
25   <msgInfoValue obj="clicked" msgParam="target"/>
26  </target>
27 </genMsg>
28</rule>
29
30  <rule name="LeftClickListBox">
31    <msg type="&WM_LBUTTONDOWN;">
32      <equals>
33        <winInfoValue obj="this" winParam="class"/>
34        <constValue value="ListBox"/>
35      </equals>
36      <store var="clicked"/>
37    </msg>
38    <msg type="&WM_LBUTTONUP;">
39      <equals>
40        <paramValue obj="this" param="window.hwnd"/>
41        <paramValue obj="clicked" param="window.hwnd"/>
42      </equals>
43      <store var="up"/>
44    </msg>
45    <genMsg delay="1000">
46      <type>
47        <constValue value="&LB_SETCURSEL;"/>
48      </type>
49      <target>
50        <msgInfoValue obj="clicked" msgParam="target"/>
51      </target>
52      <WPARAM>
53        <paramValue obj="up" param="scrollPos"/>
54      </WPARAM>
55    </genMsg>
56  </rule>
57
58 
59  <!--Wird in einem Tabfeld auch wirklich auf ein Tabelement geklickt (und nicht in den Content darunter), wird eine WM_USER Nachricht versendet, d.h.
60      1) Irgendwo in das Tabfeld klicken: WM_LBUTTONDOWN
61      2) Auf ein Tabelement klicken:      WM_LBUTTONDOWN + WM_USER -->
62  <rule name="TabChange">
63    <msg type="&WM_LBUTTONDOWN;">
64      <equals>
65        <constValue value="SysTabControl32"/>
66        <winInfoValue obj="this" winParam="class"/>
67      </equals>
68      <store var="clicked"/>
69    </msg>
70    <msg type="&WM_USER;">
71    </msg>
72    <msg type="&WM_LBUTTONUP;">
73      <equals>
74        <paramValue obj="this" param="window.hwnd"/>
75        <paramValue obj="clicked" param="window.hwnd"/>
76      </equals>
77      <store var="up"/>
78    </msg>
79    <genMsg delay="20">
80      <type>
81        <constValue value="&TCM_SETCURSEL;"/>
82      </type>
83      <target>
84        <msgInfoValue obj="up" msgParam="target"/>
85      </target>
86      <WPARAM>
87        <paramValue obj="up" param="scrollPos"/>
88      </WPARAM>
89    </genMsg>
90  </rule>
91 
92
93  <rule name="ComboBox">
94    <msg type="&WM_LBUTTONDOWN;">
95      <equals>
96        <winInfoValue obj="this" winParam="class"/>
97        <constValue value="ComboBox"/>
98      </equals>
99      <store var="clicked"/>
100    </msg>
101    <msg type="&WM_COMMAND;">
102      <equals>
103        <paramValue obj="this" param="window.hwnd"/>
104        <paramValue obj="clicked" param="window.hwnd"/>
105      </equals>
106      <store var="cmd1">
107        <resolveHwnd param="source" storeParam="sourceDesc"/>
108      </store>
109    </msg>
110    <msg type="&WM_COMMAND;" multiple="true">
111      <equals>
112        <paramValue obj="this" param="source"/>
113        <paramValue obj="clicked" param="window.hwnd"/>
114      </equals>
115      <storeSeq varSeq="cmds">
116        <resolveHwnd param="window.hwnd" storeParam="msgTarget"/>
117        <resolveHwnd param="source" storeParam="sourceDesc"/>
118      </storeSeq>
119    </msg>
120    <msg type="&WM_LBUTTONUP;">
121      <equals>
122        <paramValue obj="this" param="window.hwnd"/>
123        <paramValue obj="clicked" param="window.hwnd"/>
124      </equals>
125    </msg>
126    <genMsg delay="100">
127      <type>
128        <constValue value="&WM_SETFOCUS;"/>
129      </type>
130      <target>
131        <msgInfoValue obj="clicked" msgParam="target"/>
132      </target>
133    </genMsg>
134    <genMsg delay="100">
135      <type>
136        <constValue value="&CB_SHOWDROPDOWN;"/>
137      </type>
138      <target>
139        <msgInfoValue obj="clicked" msgParam="target"/>
140      </target>
141      <WPARAM>
142        <constValue value="1"/>
143      </WPARAM>
144    </genMsg>
145    <!--
146    <genMsg delay="100">
147      <type>
148        <constValue value="273"/>
149      </type>
150      <target>
151        <msgInfoValue obj="cmd1" msgParam="target"/>
152      </target>
153      <LPARAM>
154        <paramValue obj="cmd1" param="sourceDesc"/>
155      </LPARAM>
156      <WPARAM>
157        <paramValue obj="cmd1" param="WPARAM"/>
158      </WPARAM>
159    </genMsg>
160    <genMsgSeq delay="50">
161      <type>
162        <constValue value="273"/>
163      </type>
164      <target>
165        <seqValue seqObj="cmds" param="msgTarget"/>
166      </target>
167      <LPARAM>
168        <seqValue seqObj="cmds" param ="sourceDesc"/>
169      </LPARAM>
170      <WPARAM>
171        <seqValue seqObj="cmds" param="WPARAM"/>
172      </WPARAM>
173    </genMsgSeq>-->
174  </rule>
175 
176  <rule name="LeftClickCommand">
177    <msg type="&WM_LBUTTONDOWN;">
178      <store var="clicked"/>
179    </msg>
180    <msg type="&WM_LBUTTONUP;">
181      <equals>
182        <paramValue obj="clicked" param="window.hwnd"/>
183        <paramValue obj="this" param="window.hwnd"/>
184      </equals>
185    </msg>
186    <msg type="&WM_COMMAND;">
187      <equals>
188        <paramValue obj="clicked" param="window.hwnd"/>
189        <paramValue obj="this" param="source"/>
190      </equals>
191      <store var="cmd">
192        <resolveHwnd param="source" storeParam="sourceDesc"/>
193      </store>
194    </msg>
195    <genMsg delay="100">
196      <type>
197        <msgInfoValue obj="cmd" msgParam="type"/>
198      </type>
199      <target>
200        <msgInfoValue obj="cmd" msgParam="target"/>
201      </target>
202      <LPARAM>
203        <paramValue obj="cmd" param="sourceDesc"/>
204      </LPARAM>
205      <WPARAM>
206        <paramValue obj="cmd" param="WPARAM"/>
207      </WPARAM>
208    </genMsg>
209  </rule>
210
211  <rule name="LeftClickSysCommand">
212    <msg type="&WM_LBUTTONDOWN;">
213      <store var="clicked"/>
214    </msg>
215    <msg type="&WM_LBUTTONUP;">
216      <equals>
217        <paramValue obj="clicked" param="window.hwnd"/>
218        <paramValue obj="this" param="window.hwnd"/>
219      </equals>
220    </msg>
221    <msg type="&WM_SYSCOMMAND;">
222      <store var="cmd"/>
223    </msg>
224    <genMsg delay="100">
225      <storedVar obj="cmd"/>
226    </genMsg>
227  </rule>
228
229  <rule name="NCLeftClickSysCommand">
230    <msg type="&WM_NCLBUTTONDOWN;">
231      <store var="clicked"/>
232    </msg>
233    <msg type="&WM_LBUTTONUP;">
234      <equals>
235        <paramValue obj="clicked" param="window.hwnd"/>
236        <paramValue obj="this" param="window.hwnd"/>
237      </equals>
238    </msg>
239    <msg type="&WM_SYSCOMMAND;">
240      <equals>
241        <paramValue obj="clicked" param="window.hwnd"/>
242        <paramValue obj="this" param="window.hwnd"/>
243      </equals>
244      <store var="cmd"/>
245    </msg>
246    <genMsg delay="100">
247      <storedVar obj="cmd"/>
248    </genMsg>
249  </rule>
250
251  <rule name="LeftClickMenuItemCmd">
252    <msg type="&WM_LBUTTONDOWN;">
253      <store var="clicked"/>
254    </msg>
255    <msg type="&WM_LBUTTONUP;">
256      <equals>
257        <paramValue obj="clicked" param="window.hwnd"/>
258        <paramValue obj="this" param="window.hwnd"/>
259      </equals>
260    </msg>
261    <msg type="&WM_MENUSELECT;">
262      <equals>
263        <paramValue obj="clicked" param="window.hwnd"/>
264        <paramValue obj="this" param="window.hwnd"/>
265      </equals>
266    </msg>
267    <msg type="&WM_COMMAND;">
268      <equals>
269        <paramValue obj="this" param="sourceType"/>
270        <constValue value="0"/>
271      </equals>
272      <store var="cmd"/>
273    </msg>
274    <genMsg delay="100">
275      <storedVar obj="cmd"/>
276    </genMsg>
277  </rule>
278
279 
280  <!-- rules involving mouse movement -->
281  <rule name="HScroll">
282    <msg type="&WM_LBUTTONDOWN;">
283      <store var="clicked"/>
284    </msg>
285    <msg type="&WM_HSCROLL;" multiple="true">
286      <equals>
287        <paramValue obj="this" param="scrollBarHandle"/>
288        <paramValue obj="clicked" param="window.hwnd"/>
289      </equals>
290      <storeSeq varSeq="scrolls">
291        <resolveHwnd param="scrollBarHandle" storeParam="scrollBarTarget"/>
292      </storeSeq>
293    </msg>
294    <msg type="&WM_LBUTTONUP;">
295      <equals>
296        <paramValue obj="this" param="window.hwnd"/>
297        <paramValue obj="clicked" param="window.hwnd"/>
298      </equals>
299    </msg>
300    <genMsgSeq delay="20">
301      <type>
302        <constValue value="&TBM_SETPOS;"/>
303      </type>
304      <target>
305        <seqValue seqObj="scrolls" param="scrollBarTarget"/>
306      </target>
307      <LPARAM>
308        <seqValue seqObj="scrolls" param="scrollPos"/>
309      </LPARAM>
310      <WPARAM>
311        <constValue value="1"/>
312      </WPARAM>
313    </genMsgSeq>
314  </rule>
315
316   
317 
318  <!-- if nothing else, at least switch focus, works only partially -->
319  <rule name="LeftClickChangeFocus">
320    <msg type="&WM_LBUTTONDOWN;">
321      <equals>
322        <winInfoValue obj="this" winParam="class"/>
323        <constValue value="Edit"/>
324      </equals>
325      <store var="clicked"/>
326    </msg>
327    <msg type="&WM_KILLFOCUS;">
328      <store var="killfocus"/>
329    </msg>
330    <msg type="&WM_SETFOCUS;">
331      <equals>
332        <paramValue obj="this" param="WPARAM"/>
333        <paramValue obj="killfocus" param="window.hwnd"/>
334      </equals>
335      <store var="setfocus"/>
336    </msg>
337    <msg type="&WM_COMMAND;">
338      <equals>
339        <paramValue obj="this" param="source"/>
340        <paramValue obj="clicked" param="window.hwnd"/>
341      </equals>
342      <equals>
343        <paramValue obj="this" param="sourceType"/>
344        <constValue value="256"/>
345      </equals>
346      <store var="cmd"/>
347    </msg>
348    <msg type="&WM_LBUTTONUP;">
349      <equals>
350        <paramValue obj="this" param="window.hwnd"/>
351        <paramValue obj="clicked" param="window.hwnd"/>
352      </equals>
353    </msg>
354    <genMsg delay="20">
355      <type>
356        <constValue value="&WM_KILLFOCUS;"/>
357      </type>
358      <target>
359        <msgInfoValue obj="killfocus" msgParam="target"/>
360      </target>
361      <WPARAM>
362        <msgInfoValue obj="setfocus" msgParam="target"/>
363      </WPARAM>
364    </genMsg>
365    <genMsg delay="20">
366      <type>
367        <constValue value="&WM_SETFOCUS;"/>
368      </type>
369      <target>
370        <msgInfoValue obj="setfocus" msgParam="target"/>
371      </target>
372      <WPARAM>
373        <msgInfoValue obj="killfocus" msgParam="target"/>
374      </WPARAM>
375    </genMsg>
376    <genMsg delay="100">
377      <type>
378        <constValue value="&WM_COMMAND;"/>
379      </type>
380      <target>
381        <msgInfoValue obj="cmd" msgParam="target"/>
382      </target>
383      <LPARAM>
384        <msgInfoValue obj="setfocus" msgParam="target"/>
385      </LPARAM>
386      <WPARAM>
387        <paramValue obj="cmd" param="WPARAM"/>
388      </WPARAM>
389    </genMsg>
390  </rule>
391
392
393  <!-- rules regarding keyboard input -->
394  <!-- <rule name="KeyPressed">
395    <msg type="&WM_KEYDOWN;">
396      <store var="keydown"/>
397    </msg>
398    <msg type="&WM_KEYUP;">
399      <store var="keyup"/>
400    </msg>
401    <genMsg delay="20">
402      <storedVar obj="keydown"/>
403    </genMsg>
404    <genMsg delay="100">
405      <storedVar obj="keyup"/>
406    </genMsg>
407    <idinfo>
408      <paramValue obj="keydown" param="key"/>
409    </idinfo>
410  </rule>
411
412  <rule name="SysKeyPressed">
413    <msg type="&WM_SYSKEYDOWN;">
414      <store var="keydown"/>
415    </msg>
416    <msg type="&WM_SYSKEYUP;">
417      <store var="keyup"/>
418    </msg>
419    <genMsg delay="20">
420      <storedVar obj="keydown"/>
421    </genMsg>
422    <genMsg delay="100">
423      <storedVar obj="keyup"/>
424    </genMsg>
425    <idinfo>
426      <paramValue obj="keydown" param="key"/>
427    </idinfo>
428  </rule> -->
429 
430  <!-- Alternate rules -->
431  <rule name="KeyDown">
432    <msg type="&WM_KEYDOWN;">
433      <store var="keydown"/>
434    </msg>
435    <genMsg delay="20">
436      <storedVar obj="keydown"/>
437    </genMsg>
438    <idinfo>
439      <paramValue obj="keydown" param="key"/>
440    </idinfo>
441  </rule>
442
443  <rule name="KeyUp">
444    <msg type="&WM_KEYUP;">
445      <store var="keyup"/>
446    </msg>
447    <genMsg delay="20">
448      <storedVar obj="keyup"/>
449    </genMsg>
450    <idinfo>
451      <paramValue obj="keyup" param="key"/>
452    </idinfo>
453  </rule>
454
455  <rule name="SysKeyDown">
456    <msg type="&WM_SYSKEYDOWN;">
457      <store var="keydown"/>
458    </msg>
459    <genMsg delay="20">
460      <storedVar obj="keydown"/>
461    </genMsg>
462    <idinfo>
463      <paramValue obj="keydown" param="key"/>
464    </idinfo>
465  </rule>
466
467  <rule name="SysKeyUp">
468    <msg type="&WM_SYSKEYUP;">
469      <store var="keyup"/>
470    </msg>
471    <genMsg delay="20">
472      <storedVar obj="keyup"/>
473    </genMsg>
474    <idinfo>
475      <paramValue obj="keyup" param="key"/>
476    </idinfo>
477  </rule>
478
479</rules>
Note: See TracBrowser for help on using the repository browser.