package de.ugoe.cs.eventbench.windows; import de.ugoe.cs.eventbench.windows.data.WindowTree; /** *
* Message handler for {@code WM_CREATE} messages. The handler maintains the * {@link WindowTree}. *
* * @author Steffen Herbold * @version 1.0 */ public class HandlerCreate extends MessageHandler { /** ** Constructor. Creates a new HandlerCreate. *
*/ public HandlerCreate() { super(); } /** ** Name of the created window. *
*/ private String windowName; /** ** HWND of the created window. *
*/ private int hwnd; /** ** HWND of the created window's parent. *
*/ private int parentHwnd; /** ** Resource Id of the created window. *
*/ private int resourceId; /** ** Window class of the created window. *
*/ private String className; /** ** Modality of the created window. *
*/ private boolean isModal; /* * (non-Javadoc) * * @see de.ugoe.cs.eventbench.windows.MessageHandler#onEndElement() */ @Override public void onEndElement() { if (hwnd != 0) { WindowTree.getInstance().add(parentHwnd, hwnd, windowName, resourceId, className, isModal); } } /* * (non-Javadoc) * * @see * de.ugoe.cs.eventbench.windows.MessageHandler#onParameter(java.lang.String * , java.lang.String) */ @Override public void onParameter(String name, String value) { if (name.equals("window.hwnd")) { hwnd = Integer.parseInt(value); } else if (name.equals("window.name")) { windowName = value; } else if (name.equals("window.parent.hwnd")) { parentHwnd = Integer.parseInt(value); } else if (name.equals("window.resourceId")) { resourceId = Integer.parseInt(value); } else if (name.equals("window.class")) { if (value.startsWith("Afx:")) { className = "Afx:"; } else { className = value; } } else if (name.equals("window.ismodal")) { if (value.equals("true") || value.equals("1")) { isModal = true; } } } /* * (non-Javadoc) * * @see de.ugoe.cs.eventbench.windows.MessageHandler#onStartElement() */ @Override public void onStartElement() { windowName = ""; hwnd = 0; parentHwnd = 0; resourceId = 0; className = ""; isModal = false; } }