source: trunk/quest-plugin-mfc/src/main/java/de/ugoe/cs/quest/plugin/mfc/eventcore/WindowsMessageType.java @ 655

Last change on this file since 655 was 655, checked in by pharms, 12 years ago
  • removed old copyright file header
  • Property svn:mime-type set to text/plain
File size: 8.1 KB
Line 
1package de.ugoe.cs.quest.plugin.mfc.eventcore;
2
3/**
4 * TODO comment
5 *
6 * @version $Revision: $ $Date: $
7 * @author 2011, last modified by $Author: $
8 */
9public enum WindowsMessageType {
10   
11    WM_NULL(0),
12    WM_CREATE(1),
13    WM_DESTROY(2),
14    WM_MOVE(3),
15    WM_SIZE(5),
16    WM_ACTIVATE(6),
17    WM_SETFOCUS(7),
18    WM_KILLFOCUS(8),
19    WM_ENABLE(10),
20    WM_SETREDRAW(11),
21    WM_SETTEXT(12),
22    WM_GETTEXT(13),
23    WM_GETTEXTLENGTH(14),
24    WM_PAINT(15),
25    WM_CLOSE(16),
26    WM_QUERYENDSESSION(17),
27    WM_QUIT(18),
28    WM_QUERYOPEN(19),
29    WM_ERASEBKGND(20),
30    WM_SYSCOLORCHANGE(21),
31    WM_ENDSESSION(22),
32    WM_SHOWWINDOW(24),
33    WM_CTLCOLOR(25),
34    WM_WININICHANGE(26),
35    WM_DEVMODECHANGE(27),
36    WM_ACTIVATEAPP(28),
37    WM_FONTCHANGE(29),
38    WM_TIMECHANGE(30),
39    WM_CANCELMODE(31),
40    WM_SETCURSOR(32),
41    WM_MOUSEACTIVATE(33),
42    WM_CHILDACTIVATE(34),
43    WM_QUEUESYNC(35),
44    WM_GETMINMAXINFO(36),
45    WM_PAINTICON(38),
46    WM_ICONERASEBKGND(39),
47    WM_NEXTDLGCTL(40),
48    WM_SPOOLERSTATUS(42),
49    WM_DRAWITEM(43),
50    WM_MEASUREITEM(44),
51    WM_DELETEITEM(45),
52    WM_VKEYTOITEM(46),
53    WM_CHARTOITEM(47),
54    WM_SETFONT(48),
55    WM_GETFONT(49),
56    WM_SETHOTKEY(50),
57    WM_GETHOTKEY(51),
58    WM_QUERYDRAGICON(55),
59    WM_COMPAREITEM(57),
60    WM_GETOBJECT(61),
61    WM_COMPACTING(65),
62    WM_COMMNOTIFY(68),
63    WM_WINDOWPOSCHANGING(70),
64    WM_WINDOWPOSCHANGED(71),
65    WM_POWER(72),
66    WM_COPYDATA(74),
67    WM_CANCELJOURNAL(75),
68    WM_NOTIFY(78),
69    WM_INPUTLANGCHANGEREQUEST(80),
70    WM_INPUTLANGCHANGE(81),
71    WM_TCARD(82),
72    WM_HELP(83),
73    WM_USERCHANGED(84),
74    WM_NOTIFYFORMAT(85),
75    WM_CONTEXTMENU(123),
76    WM_STYLECHANGING(124),
77    WM_STYLECHANGED(125),
78    WM_DISPLAYCHANGE(126),
79    WM_GETICON(127),
80    WM_SETICON(128),
81    WM_NCCREATE(129),
82    WM_NCDESTROY(130),
83    WM_NCCALCSIZE(131),
84    WM_NCHITTEST(132),
85    WM_NCPAINT(133),
86    WM_NCACTIVATE(134),
87    WM_GETDLGCODE(135),
88    WM_SYNCPAINT(136),
89    WM_NCMOUSEMOVE(160),
90    WM_NCLBUTTONDOWN(161),
91    WM_NCLBUTTONUP(162),
92    WM_NCLBUTTONDBLCLK(163),
93    WM_NCRBUTTONDOWN(164),
94    WM_NCRBUTTONUP(165),
95    WM_NCRBUTTONDBLCLK(166),
96    WM_NCMBUTTONDOWN(167),
97    WM_NCMBUTTONUP(168),
98    WM_NCMBUTTONDBLCLK(169),
99    WM_NCXBUTTONDOWN(171),
100    WM_NCXBUTTONUP(172),
101    WM_NCXBUTTONDBLCLK(173),
102    SBM_SETPOS(224),
103    BM_CLICK(245),
104    WM_INPUT(255),
105    WM_KEYDOWN(256),
106    WM_KEYFIRST(256),
107    WM_KEYUP(257),
108    WM_CHAR(258),
109    WM_DEADCHAR(259),
110    WM_SYSKEYDOWN(260),
111    WM_SYSKEYUP(261),
112    WM_SYSCHAR(262),
113    WM_SYSDEADCHAR(263),
114    WM_KEYLAST(264),
115    WM_WNT_CONVERTREQUESTEX(265),
116    WM_CONVERTREQUEST(266),
117    WM_CONVERTRESULT(267),
118    WM_INTERIM(268),
119    WM_IME_STARTCOMPOSITION(269),
120    WM_IME_ENDCOMPOSITION(270),
121    WM_IME_COMPOSITION(271),
122    WM_IME_KEYLAST(271),
123    WM_INITDIALOG(272),
124    WM_COMMAND(273),
125    WM_SYSCOMMAND(274),
126    WM_TIMER(275),
127    WM_HSCROLL(276),
128    WM_VSCROLL(277),
129    WM_INITMENU(278),
130    WM_INITMENUPOPUP(279),
131    WM_MENUSELECT(287),
132    WM_MENUCHAR(288),
133    WM_ENTERIDLE(289),
134    WM_MENURBUTTONUP(290),
135    WM_MENUDRAG(291),
136    WM_MENUGETOBJECT(292),
137    WM_UNINTMENUPOPUP(293),
138    WM_MENUCOMMAND(294),
139    WM_CHANGEUISTATE(295),
140    WM_UPDATEUISTATE(296),
141    WM_QUERYUISTATE(297),
142    WM_CTLCOLORMSGBOX(306),
143    WM_CTLCOLOREDIT(307),
144    WM_CTLCOLORLISTBOX(308),
145    WM_CTLCOLORBTN(309),
146    WM_CTLCOLORDLG(310),
147    WM_CTLCOLORSCROLLBAR(311),
148    WM_CTLCOLORSTATIC(312),
149    CB_SHOWDROPDOWN(335),
150    LB_SETCURSEL(390),
151    WM_MOUSEFIRST(512),
152    WM_MOUSEMOVE(512),
153    WM_LBUTTONDOWN(513),
154    WM_LBUTTONUP(514),
155    WM_LBUTTONDBLCLK(515),
156    WM_RBUTTONDOWN(516),
157    WM_RBUTTONUP(517),
158    WM_RBUTTONDBLCLK(518),
159    WM_MBUTTONDOWN(519),
160    WM_MBUTTONUP(520),
161    WM_MBUTTONDBLCLK(521),
162    WM_MOUSELAST(521),
163    WM_MOUSEWHEEL(522),
164    WM_XBUTTONDOWN(523),
165    WM_XBUTTONUP(524),
166    WM_XBUTTONDBLCLK(525),
167    WM_USER(1024),
168    CB_SETCURSEL(334),
169    TBM_SETPOS(1029),
170    UDM_SETRANGE(1125),
171    TCM_SETCURSEL(4876);
172
173    /** the numerical representation of the message type */
174    private int mNumber;
175
176    /**
177     * @param number
178     */
179    WindowsMessageType(int number) {
180        mNumber = number;
181    }
182
183    /**
184     * @return Returns the number.
185     */
186    public int getNumber() {
187        return mNumber;
188    }
189
190    /**
191     * <p>
192     * Checks if the type of a message generated is a keyboard interaction.
193     * </p>
194     *
195     * @param msgType
196     *            type of the message
197     * @return true if it is a keyboard interaction; false otherwise
198     */
199    public boolean isKeyMessage() {
200        boolean isKeyMsg = false;
201        switch (this)
202        {
203            case WM_KEYDOWN:
204            case WM_KEYUP:
205            case WM_SYSKEYDOWN:
206            case WM_SYSKEYUP:
207                isKeyMsg = true;
208                break;
209            default:
210                break;
211        }
212        return isKeyMsg;
213    }
214
215    /**
216     * <p>
217     * Checks if the type of a message indicates that the mouse has been pressed down.
218     * </p>
219     *
220     * @param msgType
221     *            type of the message
222     * @return true if it is mouse-down message; false otherwise
223     */
224    public boolean isDownMessage() {
225        boolean isDownMsg = false;
226        switch (this)
227        {
228            case WM_LBUTTONDOWN:
229            case WM_RBUTTONDOWN:
230            case WM_MBUTTONDOWN:
231            case WM_XBUTTONDOWN:
232            case WM_NCLBUTTONDOWN:
233            case WM_NCRBUTTONDOWN:
234            case WM_NCMBUTTONDOWN:
235            case WM_NCXBUTTONDOWN:
236                isDownMsg = true;
237                break;
238            default:
239                break;
240        }
241        return isDownMsg;
242    }
243
244    /**
245     * <p>
246     * Checks if the type of a message indicates that a double click has been performed.
247     * </p>
248     *
249     * @param msgType
250     *            type of the message
251     * @return true if it is a double click message; false otherwise
252     */
253    public boolean isDblclkMessage() {
254        boolean isDblclkMsg = false;
255        switch (this)
256        {
257            case WM_LBUTTONDBLCLK:
258            case WM_RBUTTONDBLCLK:
259            case WM_MBUTTONDBLCLK:
260            case WM_XBUTTONDBLCLK:
261            case WM_NCLBUTTONDBLCLK:
262            case WM_NCRBUTTONDBLCLK:
263            case WM_NCMBUTTONDBLCLK:
264            case WM_NCXBUTTONDBLCLK:
265                isDblclkMsg = true;
266                break;
267            default:
268                break;
269        }
270        return isDblclkMsg;
271    }
272
273    /**
274     * <p>
275     * Checks if the type of a message indicates that the mouse has been released.
276     * </p>
277     *
278     * @param msgType
279     *            type of the message
280     * @return true if it is mouse-up message; false otherwise
281     */
282    public boolean isUpMessage() {
283        boolean isUpMsg = false;
284        switch (this)
285        {
286            case WM_LBUTTONUP:
287            case WM_RBUTTONUP:
288            case WM_MBUTTONUP:
289            case WM_XBUTTONUP:
290            case WM_NCLBUTTONUP:
291            case WM_NCRBUTTONUP:
292            case WM_NCMBUTTONUP:
293            case WM_NCXBUTTONUP:
294                isUpMsg = true;
295                break;
296            default:
297                break;
298        }
299        return isUpMsg;
300    }
301
302    /**
303     *
304     */
305    public static WindowsMessageType parseMessageType(String numberString) {
306        try {
307            int number = Integer.parseInt(numberString);
308            return valueOf(number);
309        }
310        catch (NumberFormatException e) {
311            return WindowsMessageType.valueOf(WindowsMessageType.class, numberString);
312        }
313    }
314
315    /**
316     *
317     */
318    public static WindowsMessageType valueOf(int number) {
319        for (WindowsMessageType type : WindowsMessageType.values()) {
320            if (type.mNumber == number) {
321                return type;
322            }
323        }
324
325        throw new IllegalArgumentException("there is no message type with number " + number);
326    }
327}
Note: See TracBrowser for help on using the repository browser.