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

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

Introduction

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

Prototype

public SafeHtmlBuilder() 

Source Link

Document

Constructs an empty SafeHtmlBuilder.

Usage

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

License:sencha.com license

/**
 * Creates a {@link CollapsePanel} that acts as a stand-in for the given panel
 * when it is collapsed./*from w  w  w.  j av a2s .  c o  m*/
 * 
 * @param appearance the appearance instance to use when rendering and updating the dom
 * @param panel the content panel
 * @param data layout data describing a region in a border panel
 * @param region the region this panel occupies in the border panel
 */
public CollapsePanel(CollapsePanelAppearance appearance, ContentPanel panel, BorderLayoutData data,
        LayoutRegion region) {
    this.panel = panel;
    this.panelData = data;
    this.region = region;
    this.appearance = appearance;
    monitorWindowResize = true;

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

    setElement((Element) XDOM.create(builder.toSafeHtml()));
    sinkEvents(Event.ONCLICK);

    IconConfig config = ToolButton.DOUBLERIGHT;
    switch (region) {
    case EAST:
        config = ToolButton.DOUBLELEFT;
        break;
    case NORTH:
        config = ToolButton.DOUBLEDOWN;
        break;
    case SOUTH:
        config = ToolButton.DOUBLEUP;
        break;
    default:
        // do nothing
    }

    expandBtn = new ToolButton(config);
    expandBtn.addSelectHandler(new SelectHandler() {

        @Override
        public void onSelect(SelectEvent event) {
            if (expanded) {
                disableAnimations = false;
                collapse();
                disableAnimations = true;
            }
            onExpandButton();
        }
    });

    appearance.iconWrap(getElement()).appendChild(expandBtn.getElement());
    appearance.textWrap(getElement()).setInnerSafeHtml(panel.getHeading());
}

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

License:sencha.com license

/**
 * Creates a border layout container with the specified appearance.
 * //from   w ww .java 2  s.  c  om
 * @param appearance the appearance of the border layout container
 */
public BorderLayoutContainer(BorderLayoutAppearance appearance) {
    super(true);
    this.appearance = appearance;

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

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

    getElement().makePositionable();
}

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

License:sencha.com license

/**
 * Creates a box layout container with the specified appearance.
 * /*from  w  ww  . ja  v a 2s  .  co  m*/
 * @param appearance the box layout container appearance
 */
public BoxLayoutContainer(BoxLayoutContainerAppearance 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.container.CssFloatLayoutContainer.java

License:sencha.com license

/**
 * Creates a CSS float layout container with the specified appearance.
 * /*from w w  w .  jav a  2 s.co m*/
 * @param appearance the appearance of the CSS float layout container
 */
public CssFloatLayoutContainer(CssFloatLayoutAppearance 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.container.PortalLayoutContainer.java

License:sencha.com license

protected void onPortletDragStart(DragStartEvent de) {
    active = (Portlet) de.getTarget();//from  w ww  .java 2 s .  c o m

    if (dummy == null) {
        SafeHtmlBuilder sb = new SafeHtmlBuilder();
        appearance.renderInsert(sb);
        dummy = XDOM.create(sb.toSafeHtml()).cast();
    }

    dummy.getStyle().setMarginBottom(spacing, Unit.PX);

    int h = active.getElement().getOffsetHeight() - active.getElement().getFrameWidth(Side.TOP, Side.BOTTOM);
    dummy.getFirstChildElement().<XElement>cast().setHeight(h);

    startColumns = new ArrayList<Integer>();
    for (int i = 0; i < numColumns; i++) {
        CssFloatLayoutContainer con = getWidget(i);
        int x = con.getAbsoluteLeft();
        startColumns.add(x);
    }
    startCol = getColumn(de.getX());
    startRow = getRow(startCol, de.getY());
    active.setVisible(false);
    addInsert(startCol, startRow);

    if (autoScroll) {
        getAutoScrollSupport().start();
    }
}

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

License:sencha.com license

/**
 * Creates a viewport layout container with the specified appearance.
 * //w  w w  .j  ava 2s .c om
 * @param appearance the appearance of the viewport layout container
 */
public Viewport(ViewportAppearance appearance) {
    super(true);
    SafeHtmlBuilder sb = new SafeHtmlBuilder();
    appearance.render(sb);
    setElement((Element) XDOM.create(sb.toSafeHtml()));
    monitorWindowResize = true;
    getFocusSupport().setIgnore(false);
    setPixelSize(Window.getClientWidth(), Window.getClientHeight());
}

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

License:sencha.com license

/**
 * Creates a content panel with the specified appearance.
 *
 * @param appearance the appearance of the content panel.
 *//*from   www .  j av  a2s. c  o m*/
public ContentPanel(ContentPanelAppearance appearance) {
    super(true);
    this.appearance = appearance;

    setDeferHeight(true);

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

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

    header = new Header(appearance.getHeaderAppearance());
    ComponentHelper.setParent(this, header);

    XElement headerElem = appearance.getHeaderElem(getElement());
    headerElem.appendChild(header.getElement());

    buttonBar = new ButtonBar();
    buttonBar.setMinButtonWidth(75);
    buttonBar.setPack(BoxLayoutPack.END);
    buttonBar.setVisible(false);
    buttonBar.getElement().getStyle().setProperty("minHeight", "5px");
    appearance.getFooterElem(getElement()).appendChild(buttonBar.getElement());
}

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

License:sencha.com license

/**
 * Creates a date picker with the specified appearance.
 *
 * @param appearance the appearance of the date picker
 *//*from ww  w.ja  va 2 s. c  o m*/
public DatePicker(DatePickerAppearance appearance) {
    this.appearance = appearance;

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

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

    setAllowTextSelection(false);

    setStartDay(dateTimeInfo.getFirstDayOfTheWeek());

    todayBtn = new TextButton(getMessages().todayText());
    todayBtn.addSelectHandler(new SelectHandler() {

        @Override
        public void onSelect(SelectEvent event) {
            selectToday();
        }
    });

    todayBtn.setToolTip(
            getMessages().todayTip(DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT).format(new Date())));

    getElement().selectNode(appearance.todayButtonSelector()).appendChild(todayBtn.getElement());

    monthPickerOkButton = new TextButton(getMessages().okText());
    monthPickerOkButton.addSelectHandler(new SelectHandler() {
        @Override
        public void onSelect(SelectEvent event) {
            DateWrapper d = new DateWrapper(mpSelYear, mpSelMonth, 1);
            update(d);
            focus();
            hideMonthPicker();
        }
    });

    monthPickerCancelButton = new TextButton(getMessages().cancelText());
    monthPickerCancelButton.addSelectHandler(new SelectHandler() {
        @Override
        public void onSelect(SelectEvent event) {
            focus();
            hideMonthPicker();
        }
    });

    monthPicker = XElement.createElement("div");
    monthPicker.getStyle().setDisplay(Display.NONE);

    getElement().appendChild(monthPicker);

    cells = Util.toElementArray(appearance.getDateCells(getElement()));

    activeDate = value != null ? value : new DateWrapper();
    update(activeDate);

    new KeyNav(this) {
        @Override
        public void onKeyPress(NativeEvent evt) {
            handlerKeyPress(evt);
        }
    };

    getElement().makePositionable();
    getElement().setTabIndex(0);
    getElement().setAttribute("hideFocus", "true");
    sinkEvents(Event.ONCLICK | Event.MOUSEEVENTS | Event.ONFOCUS);

    XElement target = getElement().selectNode(appearance.leftMonthSelector());
    target.setTitle(messages.prevText());
    target = getElement().selectNode(appearance.rightMonthSelector());
    target.setTitle(messages.nextText());
    target = getElement().selectNode(appearance.monthButtonSelector());
    target.setTitle(messages.monthYearText());

    addGestureRecognizer(new TapGestureRecognizer() {

        @Override
        protected void onTap(TouchData touchData) {
            super.onTap(touchData);
            DatePicker.this.onTap(touchData);
        }
    });
}

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

License:sencha.com license

protected void createMonthPicker() {
    SafeHtmlBuilder builder = new SafeHtmlBuilder();
    appearance.renderMonthPicker(builder, messages, dateTimeInfo.getMonthsShort());

    monthPicker.removeChildren();// w  ww .ja  v  a2  s .c  o  m
    monthPicker.setInnerSafeHtml(builder.toSafeHtml());

    monthPicker.selectNode(appearance.monthPickerOkSelector()).appendChild(monthPickerOkButton.getElement());
    monthPicker.selectNode(appearance.monthPickerCancelSelector())
            .appendChild(monthPickerCancelButton.getElement());

    mpMonths = new CompositeElement(
            Util.toElementArray(monthPicker.select(appearance.monthPickerMonthSelector())));
    mpYears = new CompositeElement(
            Util.toElementArray(monthPicker.select(appearance.monthPickerYearSelector())));

    mpMonths.each(new CompositeFunction() {

        public void doFunction(Element elem, CompositeElement ce, int index) {
            index += 1;
            if (index % 2 == 0) {
                elem.setPropertyInt("xmonth", (int) (5 + (Math.round(index * .5))));
            } else {
                elem.setPropertyInt("xmonth", (int) (Math.round((index - 1) * .5)));
            }
        }

    });
}

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

License:sencha.com license

/**
 * Creates a field label with the specified the specified widget and
 * appearance./*from   www . ja  v a  2s. c o  m*/
 * 
 * @param widget the widget to label
 * @param appearance the appearance of the field label
 */
public FieldLabel(Widget widget, FieldLabelAppearance appearance) {
    super(true);
    this.appearance = appearance;
    String id;
    if (widget == null) {
        id = null;
    } else {
        id = ComponentHelper.getWidgetId(widget);

        if (widget instanceof ValueBaseField<?>) {
            id += "-input";
        }
    }

    SafeHtmlBuilder sb = new SafeHtmlBuilder();
    appearance.render(sb, id, options);
    setElement((Element) XDOM.create(sb.toSafeHtml()));

    if (widget != null) {
        setWidget(widget);
    }
}