List of usage examples for com.google.gwt.user.client.ui Image addMouseMoveHandler
public HandlerRegistration addMouseMoveHandler(MouseMoveHandler handler)
From source file:org.freemedsoftware.gwt.client.widget.MultiPageForm.java
License:Open Source License
public void addWidget(String name, WidgetType type, String options, String value, String help, Integer page, Integer x, Integer y, String textName) { HashSetter w;//from www . j av a 2 s . c o m if (type == WidgetType.TEXT) { w = new CustomTextBox(); try { Integer len = new Integer(options); if (len > 0) { JsonUtil.debug("addWidget " + name + " has length of " + len); ((CustomTextBox) w).setVisibleLength(len.intValue() + 1); ((CustomTextBox) w).setMaxLength(len.intValue()); } } catch (Exception ex) { } } else if (type == WidgetType.MODULE) { w = new SupportModuleWidget(options); } else if (type == WidgetType.SELECT) { w = new CustomListBox(); // Push in all "options" values String[] o = options.split(","); for (int iter = 0; iter < o.length; iter++) { // Check for "description" pairs if (o[iter].contains("|")) { String[] i = o[iter].split("\\|"); ((CustomListBox) w).addItem(i[0], i[1]); } else { if (o[iter].length() > 0) { ((CustomListBox) w).addItem(o[iter]); } } } } else if (type == WidgetType.PATIENT) { w = new PatientWidget(); } else if (type == WidgetType.DATE) { w = new CustomDatePicker(); } else { // Unimplemented, use text box as fallback w = new CustomTextBox(); JsonUtil.debug("MultiPageForm" + ": Unimplemented type '" + type + "' found. Fallback to TextBox."); } // Add to indices and display widgets.put(name, w); if (help != null) { final Image image = new Image(); image.setUrl("resources/images/q_help.16x16.png"); final PopupPanel popup = new PopupPanel(); final HTML html = new HTML(); html.setHTML(help); popup.add(html); popup.setStyleName("freemed-HelpPopup"); image.addMouseOutHandler(new MouseOutHandler() { @Override public void onMouseOut(MouseOutEvent event) { // Hide help PopUp popup.hide(); } }); image.addMouseMoveHandler(new MouseMoveHandler() { @Override public void onMouseMove(MouseMoveEvent event) { // Do nothing popup.setPopupPositionAndShow(new PositionCallback() { public void setPosition(int offsetWidth, int offsetHeight) { // Show it relative to the mouse-pointer. popup.setPopupPosition(offsetWidth + 20, offsetHeight + 20); } }); } }); } // Set widget value after it is added. this.setWidgetValue(name, value); // Place on page GeneratedFormWidget thisPage = pages.get(page); if (thisPage != null) { thisPage.addWidget((Widget) w, x, y, textName); } else { JsonUtil.debug("Could not add widget to page " + page + " at " + x + "," + y); } }
From source file:org.freemedsoftware.gwt.client.widget.MultiPageImageCompositedForm.java
License:Open Source License
public void addWidget(String name, WidgetType type, String options, String value, String help, Integer page, Integer x, Integer y) { HashSetter w;/* ww w. ja v a 2 s . c o m*/ if (type == WidgetType.TEXT) { w = new CustomTextBox(); try { Integer len = new Integer(options); if (len > 0) { JsonUtil.debug("addWidget " + name + " has length of " + len); ((CustomTextBox) w).setVisibleLength(len.intValue() + 1); ((CustomTextBox) w).setMaxLength(len.intValue()); } } catch (Exception ex) { } } else if (type == WidgetType.MODULE) { w = new SupportModuleWidget(options); } else if (type == WidgetType.SELECT) { w = new CustomListBox(); // Push in all "options" values String[] o = options.split(","); for (int iter = 0; iter < o.length; iter++) { // Check for "description" pairs if (o[iter].contains("|")) { String[] i = o[iter].split("\\|"); ((CustomListBox) w).addItem(i[0], i[1]); } else { if (o[iter].length() > 0) { ((CustomListBox) w).addItem(o[iter]); } } } } else if (type == WidgetType.PATIENT) { w = new PatientWidget(); } else if (type == WidgetType.DATE) { w = new CustomDatePicker(); } else { // Unimplemented, use text box as fallback w = new CustomTextBox(); JsonUtil.debug("MultiPageImageCompositedForm" + ": Unimplemented type '" + type + "' found. Fallback to TextBox."); } // Add to indices and display widgets.put(name, w); if (help != null) { final Image image = new Image(); image.setUrl("resources/images/q_help.16x16.png"); final PopupPanel popup = new PopupPanel(); final HTML html = new HTML(); html.setHTML(help); popup.add(html); popup.setStyleName("freemed-HelpPopup"); image.addMouseOutHandler(new MouseOutHandler() { @Override public void onMouseOut(MouseOutEvent event) { // Hide help PopUp popup.hide(); } }); image.addMouseMoveHandler(new MouseMoveHandler() { @Override public void onMouseMove(MouseMoveEvent event) { // Do nothing popup.setPopupPositionAndShow(new PositionCallback() { public void setPosition(int offsetWidth, int offsetHeight) { // Show it relative to the mouse-pointer. popup.setPopupPosition(offsetWidth + 20, offsetHeight + 20); } }); } }); } // Set widget value after it is added. this.setWidgetValue(name, value); // Place on page ImageCompositedForm thisPage = pages.get(page); if (thisPage != null) { thisPage.addWidget((Widget) w, x, y); } else { JsonUtil.debug("Could not add widget to page " + page + " at " + x + "," + y); } }
From source file:org.workcraft.gwt.imagemap.client.ImageMap.java
private void setActiveArea(int index) { clearOverlay();/* ww w.j av a2 s.co m*/ if (index != -1) { final Image overlay = new Image(definition.areas[index].overlayUrl); overlay.addStyleName("imagemap-overlay"); imageDiv.add(overlay); overlay.addMouseMoveHandler(mouseMoveHandler); overlay.addClickHandler(clickHandler); activeOverlay = overlay; lastActiveArea = index; } activeArea = index; }
From source file:org.workcraft.gwt.imagemap.client.ImageMap.java
public ImageMap(final ImageMapDefinition definition, final ResultHandler handler) { this.definition = definition; imageDiv = new FlowPanel(); imageDiv.addStyleName("imagemap-container"); imageDiv.getElement().setTabIndex(1); final Image baseImage = new Image(definition.baseImageUrl); baseImage.addStyleName("imagemap-base-image"); imageDiv.add(baseImage);//ww w .j ava 2 s . c o m mouseMoveHandler = new MouseMoveHandler() { @Override public void onMouseMove(MouseMoveEvent event) { double mouseX = (double) event.getRelativeX(baseImage.getElement()) / baseImage.getOffsetWidth(); double mouseY = (double) event.getRelativeY(baseImage.getElement()) / baseImage.getOffsetWidth(); int mouseOverArea = -1; for (int i = 0; i < definition.areas.length; i++) { if (definition.areas[i].shape.isInside(new Point(mouseX, mouseY))) { mouseOverArea = i; break; } } if (mouseOverArea != activeArea) { if (hasFocus && mouseOverArea == -1) { setActiveArea(lastActiveArea); } else setActiveArea(mouseOverArea); } } }; clickHandler = new ClickHandler() { @Override public void onClick(ClickEvent event) { handler.handleResult(definition.areas[activeArea].id); } }; baseImage.addMouseMoveHandler(mouseMoveHandler); addDomHandler(new KeyDownHandler() { @Override public void onKeyDown(KeyDownEvent event) { // System.out.println (event.getCharCode()); if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_ENTER) { handler.handleResult(activeArea); } if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_LEFT) { prev(); event.preventDefault(); } if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_RIGHT) { next(); event.preventDefault(); } if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_UP) { next(); event.preventDefault(); } if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_DOWN) { prev(); event.preventDefault(); } } }, KeyDownEvent.getType()); addDomHandler(new FocusHandler() { @Override public void onFocus(FocusEvent event) { hasFocus = true; if (activeArea == -1) setActiveArea(0); } }, FocusEvent.getType()); addDomHandler(new BlurHandler() { @Override public void onBlur(BlurEvent event) { hasFocus = false; setActiveArea(-1); } }, BlurEvent.getType()); initWidget(imageDiv); prefetchImages(); }