Example usage for com.google.gwt.user.client Element getOffsetWidth

List of usage examples for com.google.gwt.user.client Element getOffsetWidth

Introduction

In this page you can find the example usage for com.google.gwt.user.client Element getOffsetWidth.

Prototype

@Override
    public int getOffsetWidth() 

Source Link

Usage

From source file:at.ac.fhcampuswien.atom.client.gui.attributes.components.slider.SliderBar.java

License:Apache License

/**
 * Draw the knob where it is supposed to be relative to the line.
 *//*from  www.  ja  va2  s.c  o  m*/
private void drawKnob() {
    // Abort if not attached
    if (!isAttached()) {
        return;
    }

    // Move the knob to the correct position
    Element knobElement = knobImage.getElement();
    int lineWidth = lineElement.getOffsetWidth();
    int knobWidth = knobElement.getOffsetWidth();
    int knobLeftOffset = (int) (lineLeftOffset + (getKnobPercent() * lineWidth) - (knobWidth / 2));
    knobLeftOffset = Math.min(knobLeftOffset, lineLeftOffset + lineWidth - (knobWidth / 2) - 1);
    DOM.setStyleAttribute(knobElement, "left", knobLeftOffset + "px");
}

From source file:at.ac.fhcampuswien.atom.client.gui.attributes.components.slider.SliderBar.java

License:Apache License

/**
 * Draw the labels along the line./*from   w  w w . jav  a 2s . co m*/
 */
private void drawLabels() {
    // Abort if not attached
    if (!isAttached()) {
        return;
    }

    // Draw the labels
    int lineWidth = lineElement.getOffsetWidth();
    if (numLabels > 0) {
        // Create the labels or make them visible
        for (int i = 0; i <= numLabels; i++) {
            Element label = null;
            if (i < labelElements.size()) {
                label = labelElements.get(i);
            } else { // Create the new label
                label = DOM.createDiv();
                DOM.setStyleAttribute(label, "position", "absolute");
                DOM.setStyleAttribute(label, "display", "none");
                if (enabled) {
                    DOM.setElementProperty(label, "className", "gwt-SliderBar-label");
                } else {
                    DOM.setElementProperty(label, "className", "gwt-SliderBar-label-disabled");
                }
                DOM.appendChild(getElement(), label);
                labelElements.add(label);
            }

            // Set the label text
            double value = minValue + (getTotalRange() * i / numLabels);
            DOM.setStyleAttribute(label, "visibility", "hidden");
            DOM.setStyleAttribute(label, "display", "");
            DOM.setElementProperty(label, "innerHTML", formatLabel(value));

            // Move to the left so the label width is not clipped by the
            // shell
            DOM.setStyleAttribute(label, "left", "0px");

            // Position the label and make it visible
            int labelWidth = label.getOffsetWidth();
            int labelLeftOffset = lineLeftOffset + (lineWidth * i / numLabels) - (labelWidth / 2);
            labelLeftOffset = Math.min(labelLeftOffset, lineLeftOffset + lineWidth - labelWidth);
            labelLeftOffset = Math.max(labelLeftOffset, lineLeftOffset);
            DOM.setStyleAttribute(label, "left", labelLeftOffset + "px");
            DOM.setStyleAttribute(label, "visibility", "visible");
        }

        // Hide unused labels
        for (int i = (numLabels + 1); i < labelElements.size(); i++) {
            DOM.setStyleAttribute(labelElements.get(i), "display", "none");
        }
    } else { // Hide all labels
        for (Element elem : labelElements) {
            DOM.setStyleAttribute(elem, "display", "none");
        }
    }
}

From source file:at.ac.fhcampuswien.atom.client.gui.attributes.components.slider.SliderBar.java

License:Apache License

/**
 * Draw the tick along the line./* w ww .ja v  a 2s  .  c om*/
 */
private void drawTicks() {
    // Abort if not attached
    if (!isAttached()) {
        return;
    }

    // Draw the ticks
    int lineWidth = lineElement.getOffsetWidth();
    if (numTicks > 0) {
        // Create the ticks or make them visible
        for (int i = 0; i <= numTicks; i++) {
            Element tick = null;
            if (i < tickElements.size()) {
                tick = tickElements.get(i);
            } else { // Create the new tick
                tick = DOM.createDiv();
                DOM.setStyleAttribute(tick, "position", "absolute");
                DOM.setStyleAttribute(tick, "display", "none");
                DOM.appendChild(getElement(), tick);
                tickElements.add(tick);
            }
            if (enabled) {
                DOM.setElementProperty(tick, "className", "gwt-SliderBar-tick");
            } else {
                DOM.setElementProperty(tick, "className", "gwt-SliderBar-tick gwt-SliderBar-tick-disabled");
            }
            // Position the tick and make it visible
            DOM.setStyleAttribute(tick, "visibility", "hidden");
            DOM.setStyleAttribute(tick, "display", "");
            int tickWidth = tick.getOffsetWidth();
            int tickLeftOffset = lineLeftOffset + (lineWidth * i / numTicks) - (tickWidth / 2);
            tickLeftOffset = Math.min(tickLeftOffset, lineLeftOffset + lineWidth - tickWidth);
            DOM.setStyleAttribute(tick, "left", tickLeftOffset + "px");
            DOM.setStyleAttribute(tick, "visibility", "visible");
        }

        // Hide unused ticks
        for (int i = (numTicks + 1); i < tickElements.size(); i++) {
            DOM.setStyleAttribute(tickElements.get(i), "display", "none");
        }
    } else { // Hide all ticks
        for (Element elem : tickElements) {
            DOM.setStyleAttribute(elem, "display", "none");
        }
    }
}

From source file:com.extjs.gxt.desktop.client.TaskBar.java

License:Open Source License

public TaskButton addButton(Window win) {
    Element li = strip.createChild("<li></li>", edge.dom).dom;
    TaskButton btn = new TaskButton(win, li);
    items.add(btn);//w w  w. ja  v  a 2s .  c o m
    if (!buttonWidthSet) {
        lastButtonWidth = li.getOffsetWidth();
    }
    setActiveButton(btn);
    win.setData("taskButton", btn);

    ComponentHelper.doAttach(btn);
    return btn;
}

From source file:com.extjs.gxt.desktop.client.TaskBar.java

License:Open Source License

private void autoSize() {
    int count = items.size();
    int aw = el().getStyleWidth();

    if (!resizeButtons || count < 1) {
        return;//from  w  ww  .  ja  v  a 2  s. c o  m
    }

    int each = (int) Math.max(Math.min(Math.floor((aw - 4) / count) - buttonMargin, buttonWidth),
            minButtonWidth);
    NodeList<com.google.gwt.dom.client.Element> btns = stripWrap.dom.getElementsByTagName("button");

    El b = items.get(0).el();
    lastButtonWidth = b.findParent("li", 5).getWidth();

    for (int i = 0, len = btns.getLength(); i < len; i++) {
        Element btn = btns.getItem(i).cast();

        int tw = items.get(i).el().getParent().dom.getOffsetWidth();
        int iw = btn.getOffsetWidth();
        btn.getStyle().setPropertyPx("width", (each - (tw - iw)));
    }
}

From source file:com.extjs.gxt.ui.client.widget.treepanel.TreePanel.java

License:sencha.com license

protected void moveFocus(Element selectedElem) {
    if (selectedElem == null)
        return;/*from w  w  w .java2s  .c o m*/
    int containerLeft = getAbsoluteLeft();
    int containerTop = getAbsoluteTop();

    int left = selectedElem.getAbsoluteLeft() - containerLeft;
    int top = selectedElem.getAbsoluteTop() - containerTop;

    int width = selectedElem.getOffsetWidth();
    int height = selectedElem.getOffsetHeight();

    if (width == 0 || height == 0) {
        focusEl.setLeftTop(0, 0);
        return;
    }
    focusEl.setLeftTop(left, top);
}

From source file:com.seanchenxi.gwt.ui.widget.Mask.java

License:Apache License

public static void showMaskFor(final Widget widget) {
    clearHandler();//w ww .j ava2s  . c o m
    if (widget.isAttached()) {
        RESOURCES.style().ensureInjected();
        MASK.addStyleName(RESOURCES.style().loaderIcon());
        Element element = widget.getElement();
        MASK.setPixelSize(element.getOffsetWidth(), element.getOffsetHeight());
        RootPanel.get().add(MASK, DOM.getAbsoluteLeft(element), DOM.getAbsoluteTop(element));
    } else {
        delayHandler(widget);
    }
}

From source file:com.tensegrity.wpalo.client.ui.mvc.viewbrowser.ViewBrowser.java

License:Open Source License

private final void align(Editor editor) {
    Element icon = ui.getIconElement();
    int x = icon.getAbsoluteLeft() + icon.getOffsetWidth() + 2;
    int y = icon.getAbsoluteTop();
    int w = getOffsetWidth() + 15 - x;
    // Need to use the icon's offsetHeight, because otherwise
    // the editor will be too high for expanded folder elements
    int h = icon.getOffsetHeight();
    if (GXT.isIE) {
        h -= 2;/*from www.  j a v a  2s.c o  m*/
    }
    // getOffsetHeight() + 1;

    editor.setBounds(x, y, w, h);
}

From source file:com.tensegrity.wpalo.client.ui.mvc.viewbrowser.ViewBrowser.java

License:Open Source License

public boolean clickedOnIcon(Point mouseXY) {
    Element icon = ui.getIconElement();
    int iconX = icon.getAbsoluteLeft();
    int iconW = iconX + icon.getOffsetWidth();
    int iconY = icon.getAbsoluteTop();
    int iconH = iconY + icon.getOffsetHeight();
    return (mouseXY.x >= iconX && mouseXY.x <= iconW) && (mouseXY.y >= iconY && mouseXY.y <= iconH);
}

From source file:com.vaadin.graph.client.NodePresenter.java

License:Apache License

private void limitToBoundingBox() {
    Element element = view.getElement();
    Style style = element.getStyle();

    int width = element.getOffsetWidth();
    model.setWidth(width);/*w w  w.  ja va  2 s .  co m*/
    int xRadius = width / 2;
    int leftEdge = model.getX() - xRadius;
    leftEdge = limit(0, leftEdge, parent.getOffsetWidth() - width);
    model.setX(leftEdge + xRadius);
    style.setLeft(leftEdge, Unit.PX);

    int height = element.getOffsetHeight();
    model.setHeight(height);
    int yRadius = height / 2;
    int topEdge = model.getY() - yRadius;
    topEdge = limit(0, topEdge, parent.getOffsetHeight() - height);
    model.setY(topEdge + yRadius);
    style.setTop(topEdge, Unit.PX);
}