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