Example usage for com.google.gwt.user.client.ui Image addMouseMoveHandler

List of usage examples for com.google.gwt.user.client.ui Image addMouseMoveHandler

Introduction

In this page you can find the example usage for com.google.gwt.user.client.ui Image addMouseMoveHandler.

Prototype

public HandlerRegistration addMouseMoveHandler(MouseMoveHandler handler) 

Source Link

Usage

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();
}