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

Last change on this file since 36 was 35, checked in by jhall, 14 years ago

Added rules regarding listBoxes

File size: 11.5 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  <rule name="ComboBox">
60    <msg type="&WM_LBUTTONDOWN;">
61      <equals>
62        <winInfoValue obj="this" winParam="class"/>
63        <constValue value="ComboBox"/>
64      </equals>
65      <store var="clicked"/>
66    </msg>
67    <msg type="&WM_COMMAND;">
68      <equals>
69        <paramValue obj="this" param="window.hwnd"/>
70        <paramValue obj="clicked" param="window.hwnd"/>
71      </equals>
72      <store var="cmd1">
73        <resolveHwnd param="source" storeParam="sourceDesc"/>
74      </store>
75    </msg>
76    <msg type="&WM_COMMAND;" multiple="true">
77      <equals>
78        <paramValue obj="this" param="source"/>
79        <paramValue obj="clicked" param="window.hwnd"/>
80      </equals>
81      <storeSeq varSeq="cmds">
82        <resolveHwnd param="window.hwnd" storeParam="msgTarget"/>
83        <resolveHwnd param="source" storeParam="sourceDesc"/>
84      </storeSeq>
85    </msg>
86    <msg type="&WM_LBUTTONUP;">
87      <equals>
88        <paramValue obj="this" param="window.hwnd"/>
89        <paramValue obj="clicked" param="window.hwnd"/>
90      </equals>
91    </msg>
92    <genMsg delay="100">
93      <type>
94        <constValue value="&WM_SETFOCUS;"/>
95      </type>
96      <target>
97        <msgInfoValue obj="clicked" msgParam="target"/>
98      </target>
99    </genMsg>
100    <genMsg delay="100">
101      <type>
102        <constValue value="&CB_SHOWDROPDOWN;"/>
103      </type>
104      <target>
105        <msgInfoValue obj="clicked" msgParam="target"/>
106      </target>
107      <WPARAM>
108        <constValue value="1"/>
109      </WPARAM>
110    </genMsg>
111    <!--
112    <genMsg delay="100">
113      <type>
114        <constValue value="273"/>
115      </type>
116      <target>
117        <msgInfoValue obj="cmd1" msgParam="target"/>
118      </target>
119      <LPARAM>
120        <paramValue obj="cmd1" param="sourceDesc"/>
121      </LPARAM>
122      <WPARAM>
123        <paramValue obj="cmd1" param="WPARAM"/>
124      </WPARAM>
125    </genMsg>
126    <genMsgSeq delay="50">
127      <type>
128        <constValue value="273"/>
129      </type>
130      <target>
131        <seqValue seqObj="cmds" param="msgTarget"/>
132      </target>
133      <LPARAM>
134        <seqValue seqObj="cmds" param ="sourceDesc"/>
135      </LPARAM>
136      <WPARAM>
137        <seqValue seqObj="cmds" param="WPARAM"/>
138      </WPARAM>
139    </genMsgSeq>-->
140  </rule>
141 
142  <rule name="LeftClickCommand">
143    <msg type="&WM_LBUTTONDOWN;">
144      <store var="clicked"/>
145    </msg>
146    <msg type="&WM_LBUTTONUP;">
147      <equals>
148        <paramValue obj="clicked" param="window.hwnd"/>
149        <paramValue obj="this" param="window.hwnd"/>
150      </equals>
151    </msg>
152    <msg type="&WM_COMMAND;">
153      <equals>
154        <paramValue obj="clicked" param="window.hwnd"/>
155        <paramValue obj="this" param="source"/>
156      </equals>
157      <store var="cmd">
158        <resolveHwnd param="source" storeParam="sourceDesc"/>
159      </store>
160    </msg>
161    <genMsg delay="100">
162      <type>
163        <msgInfoValue obj="cmd" msgParam="type"/>
164      </type>
165      <target>
166        <msgInfoValue obj="cmd" msgParam="target"/>
167      </target>
168      <LPARAM>
169        <paramValue obj="cmd" param="sourceDesc"/>
170      </LPARAM>
171      <WPARAM>
172        <paramValue obj="cmd" param="WPARAM"/>
173      </WPARAM>
174    </genMsg>
175  </rule>
176
177  <rule name="LeftClickSysCommand">
178    <msg type="&WM_LBUTTONDOWN;">
179      <store var="clicked"/>
180    </msg>
181    <msg type="&WM_LBUTTONUP;">
182      <equals>
183        <paramValue obj="clicked" param="window.hwnd"/>
184        <paramValue obj="this" param="window.hwnd"/>
185      </equals>
186    </msg>
187    <msg type="&WM_SYSCOMMAND;">
188      <store var="cmd"/>
189    </msg>
190    <genMsg delay="100">
191      <storedVar obj="cmd"/>
192    </genMsg>
193  </rule>
194
195  <rule name="NCLeftClickSysCommand">
196    <msg type="&WM_NCLBUTTONDOWN;">
197      <store var="clicked"/>
198    </msg>
199    <msg type="&WM_LBUTTONUP;">
200      <equals>
201        <paramValue obj="clicked" param="window.hwnd"/>
202        <paramValue obj="this" param="window.hwnd"/>
203      </equals>
204    </msg>
205    <msg type="&WM_SYSCOMMAND;">
206      <equals>
207        <paramValue obj="clicked" param="window.hwnd"/>
208        <paramValue obj="this" param="window.hwnd"/>
209      </equals>
210      <store var="cmd"/>
211    </msg>
212    <genMsg delay="100">
213      <storedVar obj="cmd"/>
214    </genMsg>
215  </rule>
216
217  <rule name="LeftClickMenuItemCmd">
218    <msg type="&WM_LBUTTONDOWN;">
219      <store var="clicked"/>
220    </msg>
221    <msg type="&WM_LBUTTONUP;">
222      <equals>
223        <paramValue obj="clicked" param="window.hwnd"/>
224        <paramValue obj="this" param="window.hwnd"/>
225      </equals>
226    </msg>
227    <msg type="&WM_MENUSELECT;">
228      <equals>
229        <paramValue obj="clicked" param="window.hwnd"/>
230        <paramValue obj="this" param="window.hwnd"/>
231      </equals>
232    </msg>
233    <msg type="&WM_COMMAND;">
234      <equals>
235        <paramValue obj="this" param="sourceType"/>
236        <constValue value="0"/>
237      </equals>
238      <store var="cmd"/>
239    </msg>
240    <genMsg delay="100">
241      <storedVar obj="cmd"/>
242    </genMsg>
243  </rule>
244
245 
246  <!-- rules involving mouse movement -->
247  <rule name="HScroll">
248    <msg type="&WM_LBUTTONDOWN;">
249      <store var="clicked"/>
250    </msg>
251    <msg type="&WM_HSCROLL;" multiple="true">
252      <equals>
253        <paramValue obj="this" param="scrollBarHandle"/>
254        <paramValue obj="clicked" param="window.hwnd"/>
255      </equals>
256      <storeSeq varSeq="scrolls">
257        <resolveHwnd param="scrollBarHandle" storeParam="scrollBarTarget"/>
258      </storeSeq>
259    </msg>
260    <msg type="&WM_LBUTTONUP;">
261      <equals>
262        <paramValue obj="clicked" param="window.hwnd"/>
263        <paramValue obj="clicked" param="window.hwnd"/>
264      </equals>
265    </msg>
266    <genMsgSeq delay="20">
267      <type>
268        <constValue value="&TBM_SETPOS;"/>
269      </type>
270      <target>
271        <seqValue seqObj="scrolls" param="scrollBarTarget"/>
272      </target>
273      <LPARAM>
274        <constValue value="1"/>
275      </LPARAM>
276      <WPARAM>
277        <seqValue seqObj="scrolls" param="scrollPos"/>
278      </WPARAM>
279    </genMsgSeq>
280  </rule>
281
282  <!-- if nothing else, at least switch focus, works only partially -->
283  <rule name="LeftClickChangeFocus">
284    <msg type="&WM_LBUTTONDOWN;">
285      <equals>
286        <winInfoValue obj="this" winParam="class"/>
287        <constValue value="Edit"/>
288      </equals>
289      <store var="clicked"/>
290    </msg>
291    <msg type="&WM_KILLFOCUS;">
292      <store var="killfocus"/>
293    </msg>
294    <msg type="&WM_SETFOCUS;">
295      <equals>
296        <paramValue obj="this" param="WPARAM"/>
297        <paramValue obj="killfocus" param="window.hwnd"/>
298      </equals>
299      <store var="setfocus"/>
300    </msg>
301    <msg type="&WM_COMMAND;">
302      <equals>
303        <paramValue obj="this" param="source"/>
304        <paramValue obj="clicked" param="window.hwnd"/>
305      </equals>
306      <equals>
307        <paramValue obj="this" param="sourceType"/>
308        <constValue value="256"/>
309      </equals>
310      <store var="cmd"/>
311    </msg>
312    <msg type="&WM_LBUTTONUP;">
313      <equals>
314        <paramValue obj="this" param="window.hwnd"/>
315        <paramValue obj="clicked" param="window.hwnd"/>
316      </equals>
317    </msg>
318    <genMsg delay="20">
319      <type>
320        <constValue value="&WM_KILLFOCUS;"/>
321      </type>
322      <target>
323        <msgInfoValue obj="killfocus" msgParam="target"/>
324      </target>
325      <WPARAM>
326        <msgInfoValue obj="setfocus" msgParam="target"/>
327      </WPARAM>
328    </genMsg>
329    <genMsg delay="20">
330      <type>
331        <constValue value="&WM_SETFOCUS;"/>
332      </type>
333      <target>
334        <msgInfoValue obj="setfocus" msgParam="target"/>
335      </target>
336      <WPARAM>
337        <msgInfoValue obj="killfocus" msgParam="target"/>
338      </WPARAM>
339    </genMsg>
340    <genMsg delay="100">
341      <type>
342        <constValue value="&WM_COMMAND;"/>
343      </type>
344      <target>
345        <msgInfoValue obj="cmd" msgParam="target"/>
346      </target>
347      <LPARAM>
348        <msgInfoValue obj="setfocus" msgParam="target"/>
349      </LPARAM>
350      <WPARAM>
351        <paramValue obj="cmd" param="WPARAM"/>
352      </WPARAM>
353    </genMsg>
354  </rule>
355
356
357  <!-- rules regarding keyboard input -->
358  <!-- <rule name="KeyPressed">
359    <msg type="&WM_KEYDOWN;">
360      <store var="keydown"/>
361    </msg>
362    <msg type="&WM_KEYUP;">
363      <store var="keyup"/>
364    </msg>
365    <genMsg delay="20">
366      <storedVar obj="keydown"/>
367    </genMsg>
368    <genMsg delay="100">
369      <storedVar obj="keyup"/>
370    </genMsg>
371    <idinfo>
372      <paramValue obj="keydown" param="key"/>
373    </idinfo>
374  </rule>
375
376  <rule name="SysKeyPressed">
377    <msg type="&WM_SYSKEYDOWN;">
378      <store var="keydown"/>
379    </msg>
380    <msg type="&WM_SYSKEYUP;">
381      <store var="keyup"/>
382    </msg>
383    <genMsg delay="20">
384      <storedVar obj="keydown"/>
385    </genMsg>
386    <genMsg delay="100">
387      <storedVar obj="keyup"/>
388    </genMsg>
389    <idinfo>
390      <paramValue obj="keydown" param="key"/>
391    </idinfo>
392  </rule> -->
393 
394  <!-- Alternate rules -->
395  <rule name="KeyDown">
396    <msg type="&WM_KEYDOWN;">
397      <store var="keydown"/>
398    </msg>
399    <genMsg delay="20">
400      <storedVar obj="keydown"/>
401    </genMsg>
402    <idinfo>
403      <paramValue obj="keydown" param="key"/>
404    </idinfo>
405  </rule>
406
407  <rule name="KeyUp">
408    <msg type="&WM_KEYUP;">
409      <store var="keyup"/>
410    </msg>
411    <genMsg delay="20">
412      <storedVar obj="keyup"/>
413    </genMsg>
414    <idinfo>
415      <paramValue obj="keyup" param="key"/>
416    </idinfo>
417  </rule>
418
419  <rule name="SysKeyDown">
420    <msg type="&WM_SYSKEYDOWN;">
421      <store var="keydown"/>
422    </msg>
423    <genMsg delay="20">
424      <storedVar obj="keydown"/>
425    </genMsg>
426    <idinfo>
427      <paramValue obj="keydown" param="key"/>
428    </idinfo>
429  </rule>
430
431  <rule name="SysKeyUp">
432    <msg type="&WM_SYSKEYUP;">
433      <store var="keyup"/>
434    </msg>
435    <genMsg delay="20">
436      <storedVar obj="keyup"/>
437    </genMsg>
438    <idinfo>
439      <paramValue obj="keyup" param="key"/>
440    </idinfo>
441  </rule>
442
443</rules>
Note: See TracBrowser for help on using the repository browser.