Example usage for com.google.gwt.safehtml.shared SafeHtmlBuilder toSafeHtml

List of usage examples for com.google.gwt.safehtml.shared SafeHtmlBuilder toSafeHtml

Introduction

In this page you can find the example usage for com.google.gwt.safehtml.shared SafeHtmlBuilder toSafeHtml.

Prototype

public SafeHtml toSafeHtml() 

Source Link

Document

Returns the safe HTML accumulated in the builder as a SafeHtml .

Usage

From source file:com.sencha.gxt.widget.core.client.SplitBar.java

License:sencha.com license

/**
 * Creates a new split bar with the specified appearance
 * //from  ww  w. j a v  a  2 s  .  co  m
 * @param appearance the split bar appearance
 * @param region the bar location
 * @param resizeWidget the widget being resized
 */
public SplitBar(SplitBarAppearance appearance, LayoutRegion region, Component resizeWidget) {
    this.appearance = appearance;
    this.region = region;
    this.resizeWidget = resizeWidget;
    this.resizeEl = resizeWidget.getElement();

    this.handleWidth = appearance.getDefaultBarWidth();

    SafeHtmlBuilder builder = new SafeHtmlBuilder();
    this.appearance.render(builder, region);

    setElement((Element) XDOM.create(builder.toSafeHtml()));

    setAllowTextSelection(false);
    getElement().makePositionable(true);

    Handler handler = new Handler();
    handlerRegistration = new GroupingHandlerRegistration();
    handlerRegistration.add(resizeWidget.addAttachHandler(handler));
    handlerRegistration.add(resizeWidget.addMoveHandler(handler));
    handlerRegistration.add(resizeWidget.addResizeHandler(handler));
    handlerRegistration.add(resizeWidget.addHideHandler(handler));
    handlerRegistration.add(resizeWidget.addShowHandler(handler));

    draggable = new Draggable(this);
    draggable.setUpdateZIndex(false);
    draggable.setStartDragDistance(0);
    draggable.setProxyStyle(appearance.proxyClass());

    DragHandler dragHandler = new DragHandler() {
        @Override
        public void onDragCancel(DragCancelEvent event) {
            onCancelDrag(event);
        }

        @Override
        public void onDragEnd(DragEndEvent event) {
            onEndDrag(event);
        }

        @Override
        public void onDragMove(DragMoveEvent event) {

        }

        @Override
        public void onDragStart(DragStartEvent event) {
            onStartDrag(event);
        }
    };

    draggable.addDragHandler(dragHandler);

    if (resizeWidget.isAttached()) {
        onHandleAttach();
    }

    delay = new DelayedTask() {

        @Override
        public void onExecute() {
            sync();
        }
    };

    sinkEvents(Event.ONCLICK | Event.ONMOUSEOVER | Event.ONMOUSEOUT);
}

From source file:com.sencha.gxt.widget.core.client.Status.java

License:sencha.com license

/**
 * Creates a status component with the specified appearance.
 * //ww w  .  j av  a 2  s  . c  o  m
 * @param appearance the appearance of the status widget.
 */
public Status(StatusAppearance appearance) {
    this.appearance = appearance;

    SafeHtmlBuilder sb = new SafeHtmlBuilder();
    appearance.render(sb);

    setElement((Element) XDOM.create(sb.toSafeHtml()));
}

From source file:com.sencha.gxt.widget.core.client.TabPanel.java

License:sencha.com license

/**
 * Creates a new tab panel with the specified appearance.
 * //w  ww  .jav a2 s . c om
 * @param appearance the appearance of the tab panel
 */
public TabPanel(TabPanelAppearance appearance) {
    this.appearance = appearance;

    SafeHtmlBuilder sb = new SafeHtmlBuilder();
    appearance.render(sb);

    setElement((Element) XDOM.create(sb.toSafeHtml()));

    ComponentHelper.setParent(this, container);
    appearance.getBody(getElement()).appendChild(container.getElement());

    setDeferHeight(true);

    addGestureRecognizer(new TapGestureRecognizer() {

        @Override
        protected void onTap(TouchData touchData) {
            TabPanel.this.onTap(touchData.getLastNativeEvent().<Event>cast());
            super.onTap(touchData);
        }

        @Override
        protected void handlePreventDefault(NativeEvent event) {
            XElement target = event.getEventTarget().cast();
            if (getAppearance().getBar(getElement()).isOrHasChild(target)) {
                event.preventDefault();
            }
        }
    });
}

From source file:com.sencha.gxt.widget.core.client.tips.Tip.java

License:sencha.com license

public Tip(TipAppearance appearance) {
    this.appearance = appearance;
    SafeHtmlBuilder sb = new SafeHtmlBuilder();
    appearance.render(sb);// w w w  . ja  v a2s  . c o  m

    setElement((Element) XDOM.create(sb.toSafeHtml()));

    shim = true;

    setShadow(true);

    getElement().makePositionable(true);
}

From source file:com.sencha.gxt.widget.core.client.toolbar.LabelToolItem.java

License:sencha.com license

public LabelToolItem(LabelToolItemAppearance appearance) {
    this.appearance = appearance;

    SafeHtmlBuilder markupBuilder = new SafeHtmlBuilder();
    this.appearance.render(markupBuilder);

    setElement((Element) XDOM.create(markupBuilder.toSafeHtml()));
}

From source file:com.sencha.gxt.widget.core.client.toolbar.SeparatorToolItem.java

License:sencha.com license

public SeparatorToolItem(SeparatorToolItemAppearance appearance) {
    this.appearance = appearance;

    SafeHtmlBuilder markupBuilder = new SafeHtmlBuilder();
    appearance.render(markupBuilder);//from  w w  w  .  j  ava2s  . com

    setElement((Element) XDOM.create(markupBuilder.toSafeHtml()));
}

From source file:com.sencha.gxt.widget.core.client.tree.Tree.java

License:sencha.com license

public Tree(TreeStore<M> store, ValueProvider<? super M, C> valueProvider, TreeAppearance appearance) {
    this.appearance = appearance;
    this.valueProvider = valueProvider;

    SafeHtmlBuilder builder = new SafeHtmlBuilder();
    this.appearance.render(builder);

    setElement((Element) XDOM.create(builder.toSafeHtml()));

    ensureFocusElement();/*w  w w.j  a  v a 2s  .  c  o  m*/

    setStore(store);

    setSelectionModel(new TreeSelectionModel<M>());
    view.bind(this);

    addGestureRecognizer(new TapGestureRecognizer() {

        @Override
        protected void onTap(TouchData touchData) {
            Event event = touchData.getLastNativeEvent().cast();
            onClick(event);
            getSelectionModel().onMouseDown(event);
            getSelectionModel().onMouseClick(event);
            super.onTap(touchData);
        }
    });
    addGestureRecognizer(new ScrollGestureRecognizer(getElement(), ScrollDirection.BOTH));
}

From source file:com.sencha.gxt.widget.core.client.tree.Tree.java

License:sencha.com license

protected SafeHtml getCellContent(M model) {
    C value = getValue(model);//from   w w  w .  j av a 2  s.  c  om
    SafeHtmlBuilder sb = new SafeHtmlBuilder();
    if (cell == null) {
        String text = null;
        if (value != null) {
            text = value.toString();
        }
        sb.append(Util.isEmptyString(text) ? Util.NBSP_SAFE_HTML : SafeHtmlUtils.fromString(text));
    } else {
        Context context = new Context(store.indexOf(model), 0, store.getKeyProvider().getKey(model));
        cell.render(context, value, sb);
    }
    return sb.toSafeHtml();
}

From source file:com.sencha.gxt.widget.core.client.tree.Tree.java

License:sencha.com license

protected void onAdd(StoreAddEvent<M> event) {
    for (M child : event.getItems()) {
        register(child);/*ww  w  .j a  va2s  . c  om*/
    }
    if (isOrWasAttached()) {
        M parent = store.getParent(event.getItems().get(0));
        TreeNode<M> pn = findNode(parent);
        if (parent == null || (pn != null && pn.isChildrenRendered())) {
            SafeHtmlBuilder sb = new SafeHtmlBuilder();

            int parentDepth = parent == null ? 0 : store.getDepth(parent);
            for (M child : event.getItems()) {
                TreeViewRenderMode mode = !bufferRender ? TreeViewRenderMode.ALL
                        : TreeViewRenderMode.BUFFER_WRAP;

                sb.append(renderChild(parent, child, parentDepth, mode));
            }
            int index = event.getIndex();
            int parentChildCount = parent == null ? store.getRootCount() : store.getChildCount(parent);
            if (index == 0) {
                DomHelper.insertFirst(getContainer(parent), sb.toSafeHtml());
            } else if (index == parentChildCount - event.getItems().size()) {
                DomHelper.insertHtml("beforeEnd", getContainer(parent), sb.toSafeHtml());
            } else {
                DomHelper.insertBefore((Element) getContainer(parent).getChild(index).cast(), sb.toSafeHtml());
            }

        }
        refresh(parent);
        update();
    }
}

From source file:com.sencha.gxt.widget.core.client.tree.Tree.java

License:sencha.com license

protected void onAfterFirstAttach() {
    SafeHtmlBuilder builder = new SafeHtmlBuilder();
    this.appearance.renderContainer(builder);

    // TODO we should be asking appearance for the root container element rather
    // than assuming its the last child.
    rootContainer = getRootContainer();/*ww  w .ja  v  a2  s.  c o m*/

    rootContainer.setInnerSafeHtml(builder.toSafeHtml());

    getElement().show();
    getElement().getStyle().setProperty("overflow", "auto");

    if (store.getRootItems().size() == 0 && loader != null) {
        loader.load();
    } else {
        renderChildren(null);
        if (autoSelect) {
            getSelectionModel().select(0, false);
        }
    }

    // JAWS does not work when disabling text selection
    setAllowTextSelection(false);
    sinkEvents(Event.ONSCROLL | Event.ONCLICK | Event.ONDBLCLICK | Event.MOUSEEVENTS | Event.KEYEVENTS);
}