Example usage for com.google.gwt.user.client.ui RootPanel getBodyElement

List of usage examples for com.google.gwt.user.client.ui RootPanel getBodyElement

Introduction

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

Prototype

public static Element getBodyElement() 

Source Link

Usage

From source file:asquare.gwt.tests.tabledom.client.Demo.java

License:Apache License

public void onModuleLoad() {
    m_textArea.setVisibleLines(20);//w  ww.ja  va 2s  .c o m
    m_textArea.setCharacterWidth(80);

    final Button button = new Button();
    DOM.setStyleAttribute(button.getElement(), "display", "block");
    button.setText("Execute");
    button.addClickHandler(new ClickHandler() {
        public void onClick(ClickEvent event) {
            Element tbody = DOM.createTBody();
            setInnerHtml(tbody, "", "setInnerHtml(tbody, \"\")");
            setInnerHtml(tbody, "", "setInnerHtml(tbody, \"\") again");
            Element table = DOM.createTable();
            DOM.appendChild(table, tbody);
            setInnerHtml(tbody, "", "setInnerHtml(table.tbody, \"\")");
            setInnerHtml(tbody, " ", "setInnerHtml(table.tbody, \" \")");
            setInnerHtml(tbody, "<tr></tr>", "setInnerHtml(table.tbody, \"<tr></tr>\")");
            setInnerHtml(tbody, "<tr><td></td></tr>", "setInnerHtml(table.tbody, \"<tr><td></td></tr>\")");
            DOM.appendChild(RootPanel.getBodyElement(), table);
            setInnerHtml(tbody, "", "setInnerHtml(body.table.tbody, \"\")");
            DOM.removeChild(table, tbody);
            setInnerHtml(tbody, "", "setInnerHtml(tbody, \"\")");

            Element td = DOM.createTD();
            setInnerHtml(td, "", "setInnerHtml(td, \"\")");
            Element tr = DOM.createTR();
            DOM.appendChild(tr, td);
            setInnerHtml(td, "", "setInnerHtml(tr.td, \"\")");
            tbody = DOM.createTBody();
            DOM.appendChild(tbody, tr);
            setInnerHtml(td, "", "setInnerHtml(tbody.tr.td, \"\")");
            table = DOM.createTable();
            DOM.appendChild(table, tbody);
            setInnerHtml(td, "", "setInnerHtml(table.tbody.tr.td, \"\")");
            setInnerHtml(tr, "", "setInnerHtml(table.tbody.tr, \"\")");
            setInnerHtml(tbody, "", "setInnerHtml(table.tbody, \"\")");
            setInnerHtml(table, "", "setInnerHtml(table, \"\")");

            setInnerHtml(DOM.createTable(), "", "setInnerHtml(new Table(), \"\")");

            tr = DOM.createTR();
            setInnerHtml(tr, "<td></td>", "setInnerHtml(tr, \"<td></td>\")");
        }
    });
    RootPanel.get().add(button);
    RootPanel.get().add(m_textArea);
}

From source file:at.ait.dme.yuma.suite.apps.image.client.ImageViewer.java

License:EUPL

public TagCloud getTagCloud() {
    if (tagCloud == null) {
        tagCloud = new TagCloud(initialImageWidth, initialImageHeight, RootPanel.getBodyElement(),
                new TagSelectionListener() {
                    @Override/*from www .  ja  va 2s .c o  m*/
                    public void onTagSelected(SemanticTag tag, boolean selected) {
                        if (editForm != null) {
                            if (selected) {
                                editForm.addTag(tag);
                            } else {
                                editForm.removeTag(tag);
                            }
                        }
                    }
                });
        tagCloud.hide();
        tagCloud.moveTo(initialImageWidth / 2, initialImageHeight / 2);
    }
    return tagCloud;
}

From source file:ch.unifr.pai.twice.dragndrop.client.MPDragNDrop.java

License:Apache License

/**
 * Invoked when a drag starts. This method handles the full dragging
 * /*from  ww w. j  a  v a 2 s .  co m*/
 * @param w
 *            - the widget to be dragged
 * @param deviceId
 *            - the deviceId of the device dragging the widget
 * @param offsetX
 * @param offsetY
 * @param conf
 * @param dragProxyTemplate
 */
protected void startDrag(Widget w, String deviceId, int offsetX, int offsetY, DragConfiguration conf,
        Element dragProxyTemplate) {

    MultiCursorController.getInstance().notifyCursor(deviceId, "startDrag");
    if (conf == null)
        conf = DragConfiguration.withProxy();
    if (conf.getDragNDropHandler() != null) {
        conf.getDragNDropHandler().onStartDrag(deviceId, w);
    }
    conf.setDragProxy(DOM.clone(
            dragProxyTemplate == null ? w.getElement() : (com.google.gwt.user.client.Element) dragProxyTemplate,
            true));
    conf.getDragProxy().addClassName("drag-proxy");
    conf.getDragProxy().getStyle().setPosition(Position.ABSOLUTE);
    RootPanel.getBodyElement().appendChild(conf.getDragProxy());
    conf.getDragProxy().getStyle().setLeft(w.getElement().getAbsoluteLeft(), Unit.PX);
    conf.getDragProxy().getStyle().setTop(w.getElement().getAbsoluteTop(), Unit.PX);
    conf.getDragProxy().getStyle().setPosition(Position.ABSOLUTE);
    // DOM.eventPreventDefault((Event) event.getNativeEvent());
    if (activeHandlers.isEmpty())
        addEventPreview();
    MPDragNDrop d = createDragNDrop();
    d.initialize(w, offsetX, offsetY, conf);
    activeHandlers.put(deviceId, d);
    if (!conf.isWithProxy()) {
        w.getElement().getStyle().setDisplay(Display.BLOCK);
    } else {
        w.addStyleName(DRAGGINGSTYLENAME);
    }
}

From source file:ch.unifr.pai.twice.layout.client.mobile.MobileUtils.java

License:Apache License

/**
 * Add necessary html tags to ensure unified initial zoom levels of the web page, fullscreen establishment and add proprietary tags (e.g.
 * "apple-mobile-web-app-capable" for extended functionalities).
 * // www . j  a  va2 s  .c  o  m
 * The main purpose is to establish a "native" look of the application even within the boundaries of the web browser.
 */
public static void preparePage() {
    RootPanel.getBodyElement().getStyle().setHeight(100, Unit.PCT);
    RootPanel.getBodyElement().getStyle().setOverflow(Overflow.HIDDEN);
    RootPanel.getBodyElement().getStyle().setMargin(0, Unit.PX);
    RootPanel.getBodyElement().getStyle().setPadding(0, Unit.PX);
    Document.get().getDocumentElement().getStyle().setProperty("minHeight", "300px");
    Document.get().getDocumentElement().getStyle().setHeight(100, Unit.PCT);
    NodeList<Element> tags = Document.get().getElementsByTagName("head");
    Element head;
    if (tags.getLength() > 0) {
        head = tags.getItem(0);
    } else {
        head = DOM.createElement("head");
        Document.get().insertFirst(head);
    }
    Element meta = DOM.createElement("meta");
    meta.setAttribute("name", "viewport");
    meta.setAttribute("content", "width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0");
    head.appendChild(meta);
    LinkElement e = Document.get().createLinkElement();
    e.setRel("stylesheet");
    e.setHref(GWT.getModuleBaseURL() + "master.css");
    head.appendChild(e);

    Element iphoneFullscreen = DOM.createElement("meta");
    iphoneFullscreen.setAttribute("name", "apple-touch-fullscreen");
    iphoneFullscreen.setAttribute("content", "yes");
    head.appendChild(iphoneFullscreen);

    Element iphoneWebAppCapable = DOM.createElement("meta");
    iphoneWebAppCapable.setAttribute("name", "apple-mobile-web-app-capable");
    iphoneWebAppCapable.setAttribute("content", "yes");
    head.appendChild(iphoneWebAppCapable);

    Scheduler.get().scheduleDeferred(new ScheduledCommand() {

        @Override
        public void execute() {
            Window.scrollTo(0, 1);
        }
    });
}

From source file:ch.unifr.pai.twice.mousecontrol.client.TouchPadNintendoDS.java

License:Apache License

public TouchPadNintendoDS() {
    super(false);
    add(focus);/* w  ww. j ava2  s  .  c  o  m*/
    setWidth("2000px");
    setHeight("2000px");
    add(l);
    l.setWidth("200px");
    l.setHeight("200px");
    l.getElement().getStyle().setPosition(Position.ABSOLUTE);
    l.getElement().getStyle().setZIndex(200);
    updater = new Timer() {

        @Override
        public void run() {
            if (skipEvents == 0) {
                left = RootPanel.getBodyElement().getScrollLeft();
                top = RootPanel.getBodyElement().getScrollTop();
                if (currentX == -1 || currentY == -1) {
                    currentX = left;
                    currentY = top;
                } else if (left != currentX || top != currentY) {
                    // l.getElement().getStyle().setDisplay(Display.NONE);
                    // focus.setVisible(false);
                    int dX = currentX - left;
                    int dY = currentY - top;
                    currentX = left;
                    currentY = top;
                    updatePos(dX, dY);
                    lastUpdate = new Date().getTime();

                }
                // else if (lastUpdate != -1
                // && new Date().getTime() - lastUpdate > timerThreshold) {
                // lastUpdate = -1;
                // currentX = -1;
                // currentY = -1;
                // skipEvents = eventsAfterReset;
                // Window.scrollTo(1000, 1000);
                // l.getElement().getStyle().setDisplay(Display.BLOCK);
                // focus.setVisible(true);
                // }
            }
        }
    };

}

From source file:ch.unifr.pai.twice.mousecontrol.client.TouchPadNintendoDS.java

License:Apache License

@Override
public void start() {
    super.start();
    if (windowScrollHandler != null)
        windowScrollHandler.removeHandler();
    windowScrollHandler = Window.addWindowScrollHandler(new Window.ScrollHandler() {

        @Override/*  ww  w  . j  a  va  2s .  c om*/
        public void onWindowScroll(ScrollEvent event) {
            if (skipEvents > 0)
                skipEvents--;
            l.getElement().getStyle().setLeft(RootPanel.getBodyElement().getScrollLeft(), Unit.PX);
            l.getElement().getStyle().setTop(RootPanel.getBodyElement().getScrollTop(), Unit.PX);
        }
    });
    Timer t2 = new Timer() {

        @Override
        public void run() {
            skipEvents = eventsAfterReset;
            Window.scrollTo(1000, 1000);
            updater.scheduleRepeating(50);
        }
    };
    t2.schedule(1000);
}

From source file:ch.unifr.pai.twice.widgets.mpproxy.client.MPProxyBody.java

License:Apache License

@Override
public void initialize() {
    // multiCursor.start();
    super.initialize();
    replaceAllTextBoxes(RootPanel.getBodyElement());
    // // hiddenTextBoxForFocusControl.setHeight("0px");
    // // hiddenTextBoxForFocusControl.setWidth("0px");
    // // hiddenTextBoxForFocusControl.getElement().getStyle()
    // // .setPosition(Position.ABSOLUTE);
    // // hiddenTextBoxForFocusControl.getElement().getStyle().setZIndex(-1);
    // // hiddenTextBoxForFocusControl.getElement().getStyle().setTop(0, Unit.PX);
    // // hiddenTextBoxForFocusControl.getElement().getStyle()
    // // .setLeft(0, Unit.PX);
    // // RootPanel.get().add(hiddenTextBoxForFocusControl);
    // Event.addNativePreviewHandler(new NativePreviewHandler() {
    // public void onPreviewNativeEvent(NativePreviewEvent event) {
    ///*from   ww w  .  jav  a  2 s  . co  m*/
    // // boolean doProcess = true;
    // //
    // // // Block all mouse events which are not originated from a
    // // // owningDevice (if defined)
    // // switch (event.getTypeInt()) {
    // // case Event.ONCLICK:
    // // case Event.ONMOUSEOVER:
    // // case Event.ONMOUSEUP:
    // // case Event.ONMOUSEDOWN:
    // // case Event.ONMOUSEMOVE:
    // // case Event.ONMOUSEOUT:
    // // case Event.ONDBLCLICK:
    // // case Event.ONMOUSEWHEEL:
    // // String device = MultiCursorController.getUUIDNative(event
    // // .getNativeEvent());
    // // if (owningDevices != null && owningDevices.size() > 0
    // // && !owningDevices.contains(device)) {
    // // doProcess = false;
    // // event.cancel();
    // // event.getNativeEvent().preventDefault();
    // // }
    // // break;
    // // }
    //
    // // if (doProcess) {
    // // Record the currently focused element per device
    // switch (event.getTypeInt()) {
    // case Event.ONMOUSEUP:
    // case Event.ONMOUSEDOWN:
    // case Event.ONCLICK:
    // Element e = event.getNativeEvent().getEventTarget()
    // .<Element> cast();
    // TextBoxBase base = getTextBoxBase(e);
    // TextBoxBase old = focusedElement
    // .remove(MultiCursorController.getUUIDNative(event
    // .getNativeEvent()));
    // if (old != null) {
    // old.getElement().getStyle().clearBorderColor();
    // RootPanel.detachNow(old);
    // }
    // if (base != null) {
    // String device = MultiCursorController.getUUIDNative(event
    // .getNativeEvent());
    // focusedElement.put(device, base);
    // String color = deviceToColor.get(device);
    // if (color == null) {
    // if (currentColorIndex > -1
    // && currentColorIndex < colors.length - 2) {
    // color = colors[currentColorIndex];
    // currentColorIndex++;
    // } else {
    // color = colors[0];
    // currentColorIndex = 0;
    // }
    // deviceToColor.put(device, color);
    // }
    //
    // base.getElement().getStyle()
    // .setBorderStyle(BorderStyle.SOLID);
    // base.getElement().getStyle()
    // .setBorderWidth(1, Unit.PX);
    // base.getElement().getStyle().setBorderColor(color);
    // // event.cancel();
    // // event.getNativeEvent().preventDefault();
    // // DomEvent.fireNativeEvent(Document.get().createMouseDownEvent(0,
    // // 0, 0, 0, 0, false, false, false, false, 0),
    // // hiddenTextBoxForFocusControl);
    // }
    // break;
    // }
    // }
    // }
    //
    // });
    //
    // // Scheduler.get().scheduleDeferred(new ScheduledCommand() {
    // //
    // // @Override
    // // public void execute() {
    // // hiddenTextBoxForFocusControl.setFocus(true);
    // // }
    // // });
}

From source file:ch.unifr.pai.twice.widgets.mpProxyScreenShot.client.Viewer.java

License:Apache License

@Override
public void onModuleLoad() {
    Timer t = new Timer() {

        @Override//from   ww  w.  j ava  2s .  co m
        public void run() {
            try {
                RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, Window.Location.getProtocol() + "//"
                        + Window.Location.getHost() + "/miceScreenShot/manager");
                rb.sendRequest(null, new RequestCallback() {

                    @Override
                    public void onResponseReceived(Request request, Response response) {
                        RootPanel.getBodyElement().setInnerHTML(response.getText());
                    }

                    @Override
                    public void onError(Request request, Throwable exception) {
                    }
                });
            } catch (RequestException e) {
                e.printStackTrace();
            }
        }
    };
    t.run();
    //      t.scheduleRepeating(1000);

}

From source file:ch.unifr.pai.twice.widgets.mptransparentproxy.client.MPProxyBody.java

License:Apache License

@Override
public void initialize() {
    super.initialize();
    replaceAllTextBoxes(RootPanel.getBodyElement());
}

From source file:cl.uai.client.EMarkingWeb.java

License:Open Source License

/**
 * This is the entry point method.// w  w  w .  java  2s  .  co m
 */
public void onModuleLoad() {
    // Pointer to CSS manager. It has to go first!
    GWT.<Resources>create(Resources.class).css().ensureInjected();
    // Log messages
    String msg = "\nInitializing EMarking 3.0\n" + "Platform: " + Navigator.getPlatform() + "\n"
            + "User agent: " + Navigator.getUserAgent() + "\n" + "App name: " + Navigator.getAppName() + "\n"
            + "App code name: " + Navigator.getAppCodeName() + "\n" + "App version: "
            + Navigator.getAppVersion();

    logger.fine(msg);

    // List of errors after trying to initialize
    ArrayList<String> errors = new ArrayList<String>();

    // Get id for eMarkingWeb's DIV tag
    final String eMarkingDivId = "emarking";
    if (RootPanel.get(eMarkingDivId) == null) {
        errors.add("Can not initalize. EMarking requires an existing DIV tag with id: emarking.");
        return;
    }

    RootPanel.get(eMarkingDivId).add(new Label("Loading"));

    int draftId = 0;
    int preferredWidth = 860;
    boolean showRubric = true;
    boolean showColors = false;

    try {
        // First, if there's a URL parameter, replace the value
        if (Window.Location.getParameter("id") != null) {
            draftId = Integer.parseInt(Window.Location.getParameter("id"));
        }

        // Validate that the submission id is a positive integer
        if (draftId <= 0) {
            errors.add("Submission id must be a non negative integer.");
        }

        // Reading the image width
        float imagewidth = 0;
        if (RootPanel.get(eMarkingDivId).getElement().getAttribute("imagewidth") != null)
            imagewidth = Float.parseFloat(RootPanel.get(eMarkingDivId).getElement().getAttribute("imagewidth"));

        String cookie_width = Cookies.getCookie("emarking_width");

        if (cookie_width != null) {
            preferredWidth = Integer.parseInt(cookie_width);
        } else if (imagewidth > 0) {
            preferredWidth = (int) (imagewidth / 0.6f);
        }

        // Validate that the preferredWidth is a positive integer greater than 10
        if (preferredWidth <= 10) {
            errors.add("Preferred width should be a positive integer greater than 10.");
        }

        // Validate that the preferredWidth is a positive integer greater than 10
        if (preferredWidth <= 10) {
            errors.add("Preferred width should be a positive integer greater than 10.");
        }

        String cookie_showrubric = Cookies.getCookie("emarking_showrubric");

        if (cookie_showrubric != null) {
            showRubric = Integer.parseInt(cookie_showrubric) == 1;
        }

        String cookie_showcolors = Cookies.getCookie("emarking_showcolors");

        if (cookie_showcolors != null) {
            showColors = Integer.parseInt(cookie_showcolors) == 1;
        }

    } catch (Exception e) {
        logger.severe(e.getMessage());
        errors.add(
                "Error in HTML for eMarkingWeb can not initalize. Invalid submissionId value (must be integer).");
    }

    // Read div attribute for readonly
    String moodleurl = null;
    if (RootPanel.get(eMarkingDivId).getElement().getAttribute("moodleurl") != null)
        moodleurl = RootPanel.get(eMarkingDivId).getElement().getAttribute("moodleurl");

    logger.fine("\nShowRubric: " + showRubric + "\nShow colors:" + showColors + "\nPreferred width:"
            + preferredWidth + "\nMoodle ajax url: " + moodleurl);

    if (moodleurl == null)
        errors.add("Invalid Moodle ajax url");

    // If there are errors die with a configuration message
    if (errors.size() > 0) {
        Label errorsLabel = new Label();
        String text = "";
        for (int i = 0; i < errors.size(); i++) {
            text += "\n" + errors.get(i);
        }
        errorsLabel.setText(text);
        errorsLabel.setTitle("Fatal error while initializing eMarking-Web");

        RootPanel.get(eMarkingDivId).clear();
        RootPanel.get(eMarkingDivId).add(errorsLabel);
    } else {
        // Set eMarking's main interface submission id according to HTML
        MarkingInterface.setDraftId(draftId);

        EMarkingConfiguration.setShowRubricOnLoad(showRubric);
        EMarkingConfiguration.setColoredRubric(showColors);

        // Ajax URL in moodle
        EMarkingConfiguration.setMoodleUrl(moodleurl);

        // Automagically resize popup to use most of the window
        int width = screenWidth();
        int height = screenHeight();

        // Preferred width can not be bigger than the screen
        if (width < preferredWidth) {
            preferredWidth = width;
        }

        //  Resize the popup window and move it to the top left corner
        Window.resizeTo(preferredWidth, height);
        Window.moveTo(0, 0);

        // Initialize eMarking's interface
        markingInterface = new MarkingInterface();

        // Add eMarking to the browser
        RootPanel.get(eMarkingDivId).clear();
        RootPanel.get(eMarkingDivId).add(markingInterface);
        RootPanel.getBodyElement().focus();
    }
}