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

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

Introduction

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

Prototype

public SafeHtmlBuilder append(SafeHtml html) 

Source Link

Document

Appends the contents of another SafeHtml object, without applying HTML-escaping to it.

Usage

From source file:org.kaaproject.avro.ui.gwt.client.widget.grid.cell.ValueSelectionCell.java

License:Apache License

@Override
public void render(Context context, T value, SafeHtmlBuilder sb) {
    int selectedIndex = getSelectedIndex(value);
    sb.appendHtmlConstant("<select tabindex=\"-1\">");
    int index = 0;
    for (T option : options) {
        if (index++ == selectedIndex) {
            sb.append(template.selected(renderer.render(option)));
        } else {/*w  w w.ja  v  a  2  s.c om*/
            sb.append(template.deselected(renderer.render(option)));
        }
    }
    sb.appendHtmlConstant("</select>");
}

From source file:org.kie.guvnor.decoratedgrid.client.widget.cells.PopupDropDownEditCell.java

License:Apache License

@Override
public void render(Context context, String value, SafeHtmlBuilder sb) {

    //We need to get the list of potential values to lookup the "Display" value from the "Stored" value.
    //Since the content of the list may be different for each cell (dependent enumerations) the list
    //has to be populated "on demand". 
    DropDownData dd = sce.getEnums(this.factType, this.factField,
            this.dropDownManager.getCurrentValueMap(context));
    if (dd == null) {
        return;/*  ww  w  .  j  a  va2  s  .c o m*/
    }
    setItems(dd.getFixedList());

    //Render value
    if (value != null) {
        String label = getLabel(value);
        sb.append(renderer.render(label));
    }
}

From source file:org.kie.workbench.common.forms.dynamic.client.rendering.renderers.lov.creator.input.widget.impl.DateTimePickerCell.java

License:Apache License

@Override
public void render(Context context, Date value, SafeHtmlBuilder sb) {
    Object key = context.getKey();
    Date viewData = getViewData(key);
    if (viewData != null && viewData.equals(value)) {
        clearViewData(key);/*from   ww  w .  j a  v a 2s. com*/
        viewData = null;
    }

    String s = null;
    if (viewData != null) {
        s = format.format(viewData);
    } else if (value != null) {
        s = format.format(value);
    }
    if (s != null) {
        sb.append(renderer.render(s));
    }
}

From source file:org.kie.workbench.common.screens.datamodeller.client.widgets.ClickableImageResourceCell.java

License:Apache License

@Override
public void render(Context context, ImageResource value, SafeHtmlBuilder sb) {

    if (value != null) {
        SafeHtml startAnchor = null;// w  w  w .j  av  a2  s . c  om
        SafeHtml endAnchor = null;
        if (asAnchor) {
            startAnchor = new SafeHtml() {
                @Override
                public String asString() {
                    String minWidthStyle = minWidth > 0 ? " min-width:" + minWidth + "px;" : "";

                    return "<div style=\"cursor: pointer;" + minWidthStyle + "\">";
                }
            };

            endAnchor = new SafeHtml() {
                @Override
                public String asString() {
                    return "</div>";
                }
            };

            sb.append(startAnchor);
        }
        super.render(context, value, sb);
        if (asAnchor) {
            sb.append(endAnchor);
        }
    }
}

From source file:org.kie.workbench.common.screens.datamodeller.client.widgets.DataModelBrowser.java

License:Apache License

public DataModelBrowser() {
    initWidget(uiBinder.createAndBindUi(this));

    modelName.setText(Constants.INSTANCE.modelBrowser_modelUnknown());

    dataObjectsProvider.setList(dataObjects);
    dataObjectsTable.setEmptyTableWidget(
            new com.github.gwtbootstrap.client.ui.Label(Constants.INSTANCE.modelBrowser_emptyTable()));

    // Init delete column
    ClickableImageResourceCell clickableImageResourceCell = new ClickableImageResourceCell(true);
    final TooltipCellDecorator<ImageResource> decorator = new TooltipCellDecorator<ImageResource>(
            clickableImageResourceCell);
    decorator.setText(Constants.INSTANCE.modelBrowser_action_deleteDataObject());

    final Column<DataObjectTO, ImageResource> deleteDataObjectColumnImg = new Column<DataObjectTO, ImageResource>(
            decorator) {//  w  w w  .jav a2  s .com
        @Override
        public ImageResource getValue(final DataObjectTO global) {
            return ImagesResources.INSTANCE.Delete();
        }
    };

    deleteDataObjectColumnImg.setFieldUpdater(new FieldUpdater<DataObjectTO, ImageResource>() {
        public void update(final int index, final DataObjectTO object, final ImageResource value) {
            deleteDataObject(object, index);
        }
    });

    dataObjectsTable.addColumn(deleteDataObjectColumnImg);
    dataObjectsTable.setColumnWidth(deleteDataObjectColumnImg, 20, Style.Unit.PX);

    // Init data object column
    final TextColumn<DataObjectTO> dataObjectColumn = new TextColumn<DataObjectTO>() {

        @Override
        public void render(Cell.Context context, DataObjectTO object, SafeHtmlBuilder sb) {
            SafeHtml startDiv = new SafeHtml() {
                @Override
                public String asString() {
                    return "<div style=\"cursor: pointer;\">";
                }
            };
            SafeHtml endDiv = new SafeHtml() {
                @Override
                public String asString() {
                    return "</div>";
                }
            };

            sb.append(startDiv);
            super.render(context, object, sb);
            sb.append(endDiv);
        }

        @Override
        public String getValue(final DataObjectTO dataObject) {
            return DataModelerUtils.getDataObjectUILabel(dataObject);
        }
    };
    dataObjectColumn.setSortable(true);
    dataObjectsTable.addColumn(dataObjectColumn, Constants.INSTANCE.modelBrowser_columnName());

    ColumnSortEvent.ListHandler<DataObjectTO> dataObjectNameColHandler = new ColumnSortEvent.ListHandler<DataObjectTO>(
            dataObjectsProvider.getList());
    dataObjectNameColHandler.setComparator(dataObjectColumn, new DataObjectComparator());
    dataObjectsTable.addColumnSortHandler(dataObjectNameColHandler);
    dataObjectsTable.getColumnSortList().push(dataObjectColumn);

    //Init the selection model
    SingleSelectionModel<DataObjectTO> selectionModel = new SingleSelectionModel<DataObjectTO>();
    selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {

        @Override
        public void onSelectionChange(SelectionChangeEvent event) {
            if (!skipNextOnChange) {
                DataObjectTO selectedObjectTO = ((SingleSelectionModel<DataObjectTO>) dataObjectsTable
                        .getSelectionModel()).getSelectedObject();
                notifyObjectSelected(selectedObjectTO);
            }
            skipNextOnChange = false;
        }
    });

    dataObjectsTable
            .setKeyboardSelectionPolicy(HasKeyboardSelectionPolicy.KeyboardSelectionPolicy.BOUND_TO_SELECTION);
    dataObjectsTable.setSelectionModel(selectionModel);

    dataObjectsProvider.addDataDisplay(dataObjectsTable);
    dataObjectsProvider.refresh();

    newEntityButton.setIcon(IconType.PLUS_SIGN);
}

From source file:org.kie.workbench.common.screens.datamodeller.client.widgets.DataObjectBrowser.java

License:Apache License

public DataObjectBrowser() {
    initWidget(uiBinder.createAndBindUi(this));

    objectButton.setType(ButtonType.LINK);
    objectButton.addClickHandler(new ClickHandler() {
        @Override/*  www . j ava2  s .co  m*/
        public void onClick(ClickEvent event) {
            lastSelectedRow = dataObjectPropertiesTable.getKeyboardSelectedRow();
            showingObject = true;
            ObjectProperty currentSelection = ((SingleSelectionModel<ObjectProperty>) dataObjectPropertiesTable
                    .getSelectionModel()).getSelectedObject();
            if (currentSelection != null) {
                dataObjectPropertiesTable.getSelectionModel().setSelected(currentSelection, false);
            }
            notifyObjectSelected();
        }
    });

    dataObjectPropertiesProvider.setList(new ArrayList<ObjectProperty>());

    //Init data objects table

    dataObjectPropertiesTable.setEmptyTableWidget(
            new com.github.gwtbootstrap.client.ui.Label(Constants.INSTANCE.objectBrowser_emptyTable()));

    //Init property name column

    final TextColumn<ObjectProperty> propertyNameColumn = new TextColumn<ObjectProperty>() {

        @Override
        public void render(Cell.Context context, ObjectProperty object, SafeHtmlBuilder sb) {
            SafeHtml startDiv = new SafeHtml() {
                @Override
                public String asString() {
                    return "<div style=\"cursor: pointer;\">";
                }
            };
            SafeHtml endDiv = new SafeHtml() {
                @Override
                public String asString() {
                    return "</div>";
                }
            };

            sb.append(startDiv);
            super.render(context, object, sb);
            sb.append(endDiv);
        }

        @Override
        public String getValue(final ObjectProperty objectProperty) {
            return objectProperty.getName();
        }
    };

    propertyNameColumn.setSortable(true);
    dataObjectPropertiesTable.addColumn(propertyNameColumn, Constants.INSTANCE.objectBrowser_columnName());
    //dataObjectPropertiesTable.setColumnWidth(propertyNameColumn, 100, Style.Unit.PX);
    dataObjectPropertiesTable.setColumnWidth(propertyNameColumn, 30, Style.Unit.PCT);

    ColumnSortEvent.ListHandler<ObjectProperty> propertyNameColHandler = new ColumnSortEvent.ListHandler<ObjectProperty>(
            dataObjectPropertiesProvider.getList());
    propertyNameColHandler.setComparator(propertyNameColumn, new ObjectPropertyComparator("name"));
    dataObjectPropertiesTable.addColumnSortHandler(propertyNameColHandler);

    //Init property Label column

    final TextColumn<ObjectProperty> propertyLabelColumn = new TextColumn<ObjectProperty>() {

        @Override
        public void render(Cell.Context context, ObjectProperty object, SafeHtmlBuilder sb) {
            SafeHtml startDiv = new SafeHtml() {
                @Override
                public String asString() {
                    return "<div style=\"cursor: pointer;\">";
                }
            };
            SafeHtml endDiv = new SafeHtml() {
                @Override
                public String asString() {
                    return "</div>";
                }
            };

            sb.append(startDiv);
            super.render(context, object, sb);
            sb.append(endDiv);
        }

        @Override
        public String getValue(final ObjectProperty objectProperty) {
            return AnnotationValueHandler.getStringValue(objectProperty, MainDomainAnnotations.LABEL_ANNOTATION,
                    MainDomainAnnotations.VALUE_PARAM);
        }
    };

    propertyLabelColumn.setSortable(true);
    dataObjectPropertiesTable.addColumn(propertyLabelColumn, Constants.INSTANCE.objectBrowser_columnLabel());
    dataObjectPropertiesTable.setColumnWidth(propertyLabelColumn, 30, Style.Unit.PCT);

    ColumnSortEvent.ListHandler<ObjectProperty> propertyLabelColHandler = new ColumnSortEvent.ListHandler<ObjectProperty>(
            dataObjectPropertiesProvider.getList());
    propertyNameColHandler.setComparator(propertyLabelColumn, new ObjectPropertyComparator("label"));
    dataObjectPropertiesTable.addColumnSortHandler(propertyLabelColHandler);

    //Init property type browsing column
    ClickableImageResourceCell typeImageCell = new ClickableImageResourceCell(true, 25);
    final TooltipCellDecorator<ImageResource> typeImageDecorator = new TooltipCellDecorator<ImageResource>(
            typeImageCell);
    typeImageDecorator.setText(Constants.INSTANCE.objectBrowser_action_goToDataObjectDefinition());

    final Column<ObjectProperty, ImageResource> typeImageColumn = new Column<ObjectProperty, ImageResource>(
            typeImageDecorator) {
        @Override
        public ImageResource getValue(final ObjectProperty property) {

            if (!property.isBaseType() && !getDataObject().getClassName().equals(property.getClassName())
                    && !getDataModel().isExternal(property.getClassName())) {
                return ImagesResources.INSTANCE.BrowseObject();
            } else {
                return null;
            }
        }
    };

    typeImageColumn.setFieldUpdater(new FieldUpdater<ObjectProperty, ImageResource>() {
        public void update(final int index, final ObjectProperty property, final ImageResource value) {

            onTypeCellSelection(property);
        }
    });

    dataObjectPropertiesTable.addColumn(typeImageColumn);

    //Init property type column
    final TextColumn<ObjectProperty> propertyTypeColumn = new TextColumn<ObjectProperty>() {

        @Override
        public void render(Cell.Context context, ObjectProperty object, SafeHtmlBuilder sb) {
            SafeHtml startDiv = new SafeHtml() {
                @Override
                public String asString() {
                    return "<div style=\"cursor: pointer;\">";
                }
            };
            SafeHtml endDiv = new SafeHtml() {
                @Override
                public String asString() {
                    return "</div>";
                }
            };

            sb.append(startDiv);
            super.render(context, object, sb);
            sb.append(endDiv);
        }

        @Override
        public String getValue(final ObjectProperty objectProperty) {
            return propertyTypeDisplay(objectProperty);
        }
    };
    propertyTypeColumn.setSortable(true);
    dataObjectPropertiesTable.addColumn(propertyTypeColumn, Constants.INSTANCE.objectBrowser_columnType());
    dataObjectPropertiesTable.setColumnWidth(propertyTypeColumn, 40, Style.Unit.PCT);

    //Init delete column
    ClickableImageResourceCell deleteImageCell = new ClickableImageResourceCell(true, 25);
    final TooltipCellDecorator<ImageResource> decorator = new TooltipCellDecorator<ImageResource>(
            deleteImageCell);
    decorator.setPlacement(Placement.LEFT);
    decorator.setText(Constants.INSTANCE.objectBrowser_action_deleteProperty());

    final Column<ObjectProperty, ImageResource> deletePropertyColumnImg = new Column<ObjectProperty, ImageResource>(
            decorator) {
        @Override
        public ImageResource getValue(final ObjectProperty global) {
            if (!isReadonly()) {
                return ImagesResources.INSTANCE.Delete();
            } else {
                return null;
            }
        }
    };

    deletePropertyColumnImg.setFieldUpdater(new FieldUpdater<ObjectProperty, ImageResource>() {
        public void update(final int index, final ObjectProperty property, final ImageResource value) {

            if (!isReadonly()) {
                checkAndDeleteDataObjectProperty(property, index);
            }
        }
    });

    dataObjectPropertiesTable.addColumn(deletePropertyColumnImg);

    ColumnSortEvent.ListHandler<ObjectProperty> propertyTypeColHandler = new ColumnSortEvent.ListHandler<ObjectProperty>(
            dataObjectPropertiesProvider.getList());
    propertyTypeColHandler.setComparator(propertyTypeColumn, new ObjectPropertyComparator("className"));
    dataObjectPropertiesTable.addColumnSortHandler(propertyTypeColHandler);

    dataObjectPropertiesTable.getColumnSortList().push(propertyNameColumn);

    //Init the selection model
    SingleSelectionModel<ObjectProperty> selectionModel = new SingleSelectionModel<ObjectProperty>();
    dataObjectPropertiesTable.setSelectionModel(selectionModel);
    selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {

        @Override
        public void onSelectionChange(SelectionChangeEvent event) {
            ObjectProperty selectedProperty = ((SingleSelectionModel<ObjectProperty>) dataObjectPropertiesTable
                    .getSelectionModel()).getSelectedObject();
            notifyFieldSelected(selectedProperty);
        }
    });

    dataObjectPropertiesTable
            .setKeyboardSelectionPolicy(HasKeyboardSelectionPolicy.KeyboardSelectionPolicy.BOUND_TO_SELECTION);

    dataObjectPropertiesTable.addCellPreviewHandler(new CellPreviewEvent.Handler<ObjectProperty>() {

        @Override
        public void onCellPreview(CellPreviewEvent<ObjectProperty> event) {
            if (showingObject && "click".equals(event.getNativeEvent().getType())) {
                int selectedRow = dataObjectPropertiesTable.getKeyboardSelectedRow();
                if (lastSelectedRow >= 0 && lastSelectedRow == selectedRow) {
                    ObjectProperty selectedProperty = dataObjectPropertiesProvider.getList().get(selectedRow);
                    ((SingleSelectionModel<ObjectProperty>) dataObjectPropertiesTable.getSelectionModel())
                            .setSelected(selectedProperty, true);
                }
                showingObject = false;
            }
        }
    });

    dataObjectPropertiesProvider.addDataDisplay(dataObjectPropertiesTable);
    dataObjectPropertiesProvider.refresh();

    newPropertyButton.setIcon(IconType.PLUS_SIGN);

    setReadonly(true);

}

From source file:org.kie.workbench.common.screens.datamodeller.client.widgets.old.DataModelBrowser.java

License:Apache License

public DataModelBrowser() {
    initWidget(uiBinder.createAndBindUi(this));

    //modelName.setText( Constants.INSTANCE.modelBrowser_modelUnknown() );

    dataObjectsProvider.setList(dataObjects);
    dataObjectsTable.setEmptyTableWidget(
            new com.github.gwtbootstrap.client.ui.Label(Constants.INSTANCE.modelBrowser_emptyTable()));

    // Init data object column
    final TextColumn<DataObject> dataObjectColumn = new TextColumn<DataObject>() {

        @Override/*  w  w w. jav a2 s  . c om*/
        public void render(Cell.Context context, DataObject object, SafeHtmlBuilder sb) {
            SafeHtml startDiv = new SafeHtml() {
                @Override
                public String asString() {
                    return "<div style=\"cursor: pointer;\">";
                }
            };
            SafeHtml endDiv = new SafeHtml() {
                @Override
                public String asString() {
                    return "</div>";
                }
            };

            sb.append(startDiv);
            super.render(context, object, sb);
            sb.append(endDiv);
        }

        @Override
        public String getValue(final DataObject dataObject) {
            // TODO return clipped AND tooltipped object UI label when relevant
            return DataModelerUtils.getDataObjectUILabel(dataObject);
        }
    };
    dataObjectColumn.setSortable(true);
    dataObjectsTable.addColumn(dataObjectColumn, Constants.INSTANCE.modelBrowser_columnName());

    // Init delete column
    ClickableImageResourceCell clickableImageResourceCell = new ClickableImageResourceCell(true, 16);
    final TooltipCellDecorator<ImageResource> decorator = new TooltipCellDecorator<ImageResource>(
            clickableImageResourceCell);
    decorator.setPlacement(Placement.LEFT);
    decorator.setText(Constants.INSTANCE.modelBrowser_action_deleteDataObject());

    final Column<DataObject, ImageResource> deleteDataObjectColumnImg = new Column<DataObject, ImageResource>(
            decorator) {
        @Override
        public ImageResource getValue(final DataObject dataObject) {
            return ImagesResources.INSTANCE.Delete();
        }
    };

    deleteDataObjectColumnImg.setFieldUpdater(new FieldUpdater<DataObject, ImageResource>() {
        public void update(final int index, final DataObject object, final ImageResource value) {
            checkAndDeleteDataObject(object, index);
        }
    });

    dataObjectsTable.addColumn(deleteDataObjectColumnImg);
    dataObjectsTable.setColumnWidth(deleteDataObjectColumnImg, 32, Style.Unit.PX);

    ColumnSortEvent.ListHandler<DataObject> dataObjectNameColHandler = new ColumnSortEvent.ListHandler<DataObject>(
            dataObjectsProvider.getList());
    dataObjectNameColHandler.setComparator(dataObjectColumn, new DataObjectComparator());
    dataObjectsTable.addColumnSortHandler(dataObjectNameColHandler);
    dataObjectsTable.getColumnSortList().push(dataObjectColumn);

    //Init the selection model
    SingleSelectionModel<DataObject> selectionModel = new SingleSelectionModel<DataObject>();
    selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {

        @Override
        public void onSelectionChange(SelectionChangeEvent event) {
            if (!skipNextOnChange) {
                DataObject selectedObject = ((SingleSelectionModel<DataObject>) dataObjectsTable
                        .getSelectionModel()).getSelectedObject();
                notifyObjectSelected(selectedObject);
            }
            skipNextOnChange = false;
        }
    });

    dataObjectsTable
            .setKeyboardSelectionPolicy(HasKeyboardSelectionPolicy.KeyboardSelectionPolicy.BOUND_TO_SELECTION);
    dataObjectsTable.setSelectionModel(selectionModel);

    dataObjectsProvider.addDataDisplay(dataObjectsTable);
    dataObjectsProvider.refresh();

    newEntityButton.setIcon(IconType.PLUS_SIGN);
}

From source file:org.kie.workbench.common.screens.datamodeller.client.widgets.PropertyTypeCell.java

License:Apache License

@Override
public void render(Context context, SafeHtml value, SafeHtmlBuilder sb) {

    ObjectProperty property = (ObjectProperty) context.getKey();
    if (navigable && property != null && !property.isBaseType()) {
        SafeHtml startAnchor = null;/*  w w w .  j ava2 s  .c  o  m*/
        SafeHtml endAnchor = null;
        startAnchor = new SafeHtml() {
            @Override
            public String asString() {
                return "<div style=\"cursor: pointer;\">";
            }
        };

        endAnchor = new SafeHtml() {
            @Override
            public String asString() {
                return "</div>";
            }
        };

        sb.append(startAnchor);
        sb.append(value);
        sb.append(endAnchor);

    } else {
        super.render(context, value, sb);
    }
}

From source file:org.kie.workbench.common.screens.datamodeller.client.widgets.refactoring.ShowUsagesPopup.java

License:Apache License

private void initTable() {
    usedByTable.columnPickerButton.setVisible(true);

    usedByFilesProvider.addDataDisplay(usedByTable);
    Column<UsedByRow, String> nameColumn = new TextColumn<UsedByRow>() {
        @Override/*from w ww.  java  2 s.c  o  m*/
        public String getValue(UsedByRow row) {
            return row.getPath() != null ? row.getPath().getFileName() : null;
        }

        @Override
        public void render(Cell.Context context, UsedByRow object, SafeHtmlBuilder sb) {
            final String currentValue = getValue(object);
            if (currentValue != null) {
                sb.append(SafeHtmlUtils.fromTrustedString("<div title=\""));
                sb.append(SafeHtmlUtils.fromString(currentValue));
                sb.append(SafeHtmlUtils.fromTrustedString("\">"));
            }
            super.render(context, object, sb);
            if (currentValue != null) {
                sb.append(SafeHtmlUtils.fromTrustedString("</div>"));
            }
        }
    };
    usedByTable.addColumn(nameColumn, Constants.INSTANCE.usages_popup_file_name_column());
    usedByTable.setColumnWidth(nameColumn, 40, Style.Unit.PCT);

    Column<UsedByRow, String> pathColumn = new TextColumn<UsedByRow>() {
        @Override
        public String getValue(UsedByRow row) {
            String pathStr = null;
            if (row.getPath() != null && row.getPath().getFileName() != null) {
                pathStr = row.getPath().toURI().substring(0, row.getPath().toURI().lastIndexOf('/'));
            }
            return pathStr;
        }

        @Override
        public void render(Cell.Context context, UsedByRow object, SafeHtmlBuilder sb) {
            final String currentValue = getValue(object);
            if (currentValue != null) {
                sb.append(SafeHtmlUtils.fromTrustedString("<div title=\""));
                sb.append(SafeHtmlUtils.fromString(currentValue));
                sb.append(SafeHtmlUtils.fromTrustedString("\">"));
            }
            super.render(context, object, sb);
            if (currentValue != null) {
                sb.append(SafeHtmlUtils.fromTrustedString("</div>"));
            }
        }
    };
    usedByTable.addColumn(pathColumn, Constants.INSTANCE.usages_popup_file_path_column());
    usedByTable.setColumnWidth(pathColumn, 60, Style.Unit.PCT);
}

From source file:org.kie.workbench.common.screens.projecteditor.client.forms.dependencies.WaterMarkEditTextCell.java

License:Apache License

@Override
public void render(Context context, String value, SafeHtmlBuilder sb) {
    // Get the view data.
    Object key = context.getKey();
    ViewData viewData = getViewData(key);
    if (viewData != null && !viewData.isEditing() && value != null && value.equals(viewData.getText())) {
        clearViewData(key);/*from w  w  w.jav a2s. c  om*/
        viewData = null;
    }

    String toRender = value;
    if (viewData != null) {
        String text = viewData.getText();
        if (viewData.isEditing()) {
            /*
             * Do not use the renderer in edit mode because the value of a text
             * input element is always treated as text. SafeHtml isn't valid in the
             * context of the value attribute.
             */
            sb.append(template.input(text));
            return;
        } else {
            // The user pressed enter, but view data still exists.
            toRender = text;
        }
    }

    if (toRender != null && toRender.trim().length() > 0) {
        sb.append(renderer.render(toRender));
    } else {
        sb.append(waterMarkTemplate.watermark(watermark));
    }
}