List of usage examples for com.google.gwt.safehtml.shared SafeHtmlBuilder SafeHtmlBuilder
public SafeHtmlBuilder()
From source file:nl.mpi.tg.eg.experiment.client.view.ComplexView.java
License:Open Source License
public void showHtmlPopup(String popupText, final PresenterEventListner... buttonListeners) { final PopupPanel popupPanel = new PopupPanel(false); // the close action to this panel causes background buttons to be clicked popupPanel.setGlassEnabled(true);/*w ww. j av a 2 s . com*/ popupPanel.setStylePrimaryName("svgPopupPanel"); final VerticalPanel popupverticalPanel = new VerticalPanel(); final HTML htmlText = new HTML(new SafeHtmlBuilder().appendHtmlConstant(popupText).toSafeHtml()); htmlText.setStylePrimaryName("popupTextBox"); popupverticalPanel.add(htmlText); popupverticalPanel.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT); final HorizontalPanel buttonPanel = new HorizontalPanel(); for (final PresenterEventListner buttonListener : buttonListeners) { final SingleShotEventListner okSingleShotEventListner = new SingleShotEventListner() { @Override protected void singleShotFired() { popupPanel.hide(); buttonListener.eventFired(null, null); } }; final Button okButton = new Button(buttonListener.getLabel()); if (buttonListener.getStyleName() != null && !buttonListener.getStyleName().isEmpty()) { okButton.addStyleName(buttonListener.getStyleName()); } okButton.addClickHandler(okSingleShotEventListner); okButton.addTouchStartHandler(okSingleShotEventListner); okButton.addTouchMoveHandler(okSingleShotEventListner); okButton.addTouchEndHandler(okSingleShotEventListner); buttonPanel.add(okButton); } popupverticalPanel.add(buttonPanel); popupPanel.setWidget(popupverticalPanel); popupPanel.setPopupPositionAndShow(new PopupPanel.PositionCallback() { @Override public void setPosition(int offsetWidth, int offsetHeight) { final int topPosition = Window.getClientHeight() / 2 - offsetHeight; // topPosition is used to make sure the dialogue is above the half way point on the screen to avoid the software keyboard covering the box // topPosition is also checked to make sure it does not show above the top of the page popupPanel.setPopupPosition(Window.getClientWidth() / 2 - offsetWidth / 2, (topPosition < 0) ? 0 : topPosition); } }); }
From source file:nl.mpi.tg.eg.experiment.client.view.MenuView.java
License:Open Source License
public void addMenuItem(final PresenterEventListner menuItemListerner, final boolean menuEnabled) { checkFlexTableExists();//from www . j ava2 s .c o m final Button menuButton = new Button( new SafeHtmlBuilder().appendEscapedLines(menuItemListerner.getLabel()).toSafeHtml()); // tableMap.get(flexTable).add(menuButton); menuButton.addStyleName("menuButton"); menuButton.setEnabled(menuEnabled); final SingleShotEventListner singleShotEventListner = new SingleShotEventListner() { @Override protected void singleShotFired() { if (menuButton.isEnabled()) { menuItemListerner.eventFired(menuButton, this); } } }; menuButton.addClickHandler(singleShotEventListner); menuButton.addTouchStartHandler(singleShotEventListner); menuButton.addTouchMoveHandler(singleShotEventListner); menuButton.addTouchEndHandler(singleShotEventListner); final int rowCount = flexTable.getRowCount(); flexTable.setWidget(rowCount, 0, menuButton); }
From source file:nl.mpi.tg.eg.experiment.client.view.MenuView.java
License:Open Source License
public void addMenuLabel(String textString, boolean boldText) { checkFlexTableExists();/* ww w . j a va2 s. com*/ HTML html = new HTML(new SafeHtmlBuilder().appendEscapedLines(textString).toSafeHtml()); if (boldText) { html.addStyleName("highlightedText"); } // tableMap.get(flexTable).add(html); final int rowCount = flexTable.getRowCount(); flexTable.setWidget(rowCount, 0, html); }
From source file:nl.mpi.tg.eg.experiment.client.view.SimpleView.java
License:Open Source License
public void setDisplayText(String text) { final HTML html = new HTML(new SafeHtmlBuilder().appendEscapedLines(text).toSafeHtml()); html.setStylePrimaryName("contentBody"); scrollPanel.setWidget(html);//from w w w . j av a 2 s . c o m }
From source file:nl.ru.languageininteraction.language.client.view.AbstractSvgView.java
License:Open Source License
public void setupScreen(PresenterEventListner backEventListner, PresenterEventListner nextEventListner) { this.backEventListner = backEventListner; this.nextEventListner = nextEventListner; verticalPanel.add(debugLabel);//from w w w .ja va 2s . c o m SafeHtmlBuilder builder = new SafeHtmlBuilder(); builder.append(SafeHtmlUtils.fromTrustedString("<style>.overlay {pointer-events: none;}</style>")); // int height = Window.getClientHeight() - (HEADER_SIZE * 3); // int width = Window.getClientWidth(); String svgDiagramName = null; // MatchLanguageBuilder.SvgGroupStates.svgDiagram.name(); builder.append(SafeHtmlUtils.fromTrustedString("<svg class='svgDiagram' id='" + svgDiagramName + "' width=\"100%\" height=\"100%\" viewBox='0 0 568 320' >")); //<g id=\"" + ROTATABLE_GROUP + "\"> getSvg(builder); builder.append(SafeHtmlUtils.fromTrustedString("</svg>")); //</g> final HTML html = new HTML(builder.toSafeHtml()); html.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { event.preventDefault(); eventTriggered(Element.as(event.getNativeEvent().getEventTarget())); } }); html.addTouchEndHandler(new TouchEndHandler() { @Override public void onTouchEnd(TouchEndEvent event) { event.preventDefault(); eventTriggered(Element.as(event.getNativeEvent().getEventTarget())); } }); html.setStylePrimaryName("svgPanel"); verticalPanel.add(html); add(verticalPanel); }
From source file:nl.ru.languageininteraction.language.client.view.ComplexView.java
License:Open Source License
public void addText(String textString) { HTML html = new HTML(new SafeHtmlBuilder().appendEscapedLines(textString).toSafeHtml()); outerPanel.add(html);/*from w ww. ja va 2 s . com*/ }
From source file:nl.ru.languageininteraction.language.client.view.ComplexView.java
License:Open Source License
public void addHighlightedText(String textString) { HTML html = new HTML(new SafeHtmlBuilder().appendEscapedLines(textString).toSafeHtml()); html.addStyleName("highlightedText"); outerPanel.add(html);/*from w ww. j av a2 s .c om*/ }
From source file:nl.ru.languageininteraction.language.client.view.ComplexView.java
License:Open Source License
public void addLink(String label, final String target) { final Anchor anchor = new Anchor(new SafeHtmlBuilder().appendEscapedLines(label).toSafeHtml()); // this link relies on the org.apache.cordova.inappbrowser which offers secure viewing of external html pages and handles user navigation such as back navigation. // in this case the link will be opend in the system browser rather than in the cordova application. outerPanel.add(anchor);//from ww w. j a v a2 s .co m anchor.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { event.preventDefault(); Window.open(target, "_system", ""); } }); anchor.addTouchEndHandler(new TouchEndHandler() { @Override public void onTouchEnd(TouchEndEvent event) { event.preventDefault(); Window.open(target, "_system", ""); } }); anchor.addStyleName("pageLink"); }
From source file:nl.ru.languageininteraction.language.client.view.MapView.java
License:Open Source License
public void addMap() { final Label label = new Label("click a land mass"); verticalPanel.add(label);//from w ww .j a va 2s . com // String[] items = new String[]{"one", "two", "three"}; SafeHtmlBuilder builder = new SafeHtmlBuilder(); // for (String item : items) { // builder.appendEscaped(item).appendHtmlConstant("<br/>"); // } height = Window.getClientHeight(); width = Window.getClientWidth(); builder.append(SafeHtmlUtils.fromTrustedString("<style>.overlay {pointer-events: none;}</style>")); builder.append(SafeHtmlUtils .fromTrustedString("<svg id='ocean' height='" + height + "px' width='" + width + "px' >")); builder.append(SafeHtmlUtils.fromTrustedString("<g id='zoomableGroup'>")); builder.append(SafeHtmlUtils.fromTrustedString("<g transform='scale(0.3)'>")); // builder.append(SVG_TEMPLATE.groupTag(autotypRegions.idIndic(), autotypRegions.transformIndic())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath97259(), autotypRegions.stylepath97259(), autotypRegions.datapath97259())); // builder.append(SVG_TEMPLATE.groupTagEnd()); // builder.append(SVG_TEMPLATE.groupTag(autotypRegions.idBasinandPlains(), autotypRegions.transformBasinandPlains())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath107611(), autotypRegions.stylepath107611(), autotypRegions.datapath107611())); // builder.append(SVG_TEMPLATE.groupTagEnd()); // builder.append(SVG_TEMPLATE.groupTag(autotypRegions.idAlaskaOregon(), autotypRegions.transformAlaskaOregon())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath107614(), autotypRegions.stylepath107614(), autotypRegions.datapath107614())); // builder.append(SVG_TEMPLATE.groupTagEnd()); // builder.append(SVG_TEMPLATE.groupTag(autotypRegions.idCalifornia(), autotypRegions.transformCalifornia())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath107582(), autotypRegions.stylepath107582(), autotypRegions.datapath107582())); // builder.append(SVG_TEMPLATE.groupTagEnd()); // builder.append(SVG_TEMPLATE.groupTag(autotypRegions.idMesoamerica(), autotypRegions.transformMesoamerica())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath97265(), autotypRegions.stylepath97265(), autotypRegions.datapath97265())); // builder.append(SVG_TEMPLATE.groupTagEnd()); // builder.append(SVG_TEMPLATE.groupTag(autotypRegions.idSESouthAmerica(), autotypRegions.transformSESouthAmerica())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath107722(), autotypRegions.stylepath107722(), autotypRegions.datapath107722())); // builder.append(SVG_TEMPLATE.groupTagEnd()); // builder.append(SVG_TEMPLATE.groupTag(autotypRegions.idNESouthAmerica(), autotypRegions.transformNESouthAmerica())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath97311(), autotypRegions.stylepath97311(), autotypRegions.datapath97311())); // builder.append(SVG_TEMPLATE.groupTagEnd()); // builder.append(SVG_TEMPLATE.groupTag(autotypRegions.idAndean(), autotypRegions.transformAndean())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath107701(), autotypRegions.stylepath107701(), autotypRegions.datapath107701())); // builder.append(SVG_TEMPLATE.groupTagEnd()); // builder.append(SVG_TEMPLATE.groupTag(autotypRegions.idNAustralia(), autotypRegions.transformNAustralia())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath97635(), autotypRegions.stylepath97635(), autotypRegions.datapath97635())); // builder.append(SVG_TEMPLATE.groupTagEnd()); // builder.append(SVG_TEMPLATE.groupTag(autotypRegions.idGreenland(), autotypRegions.transformGreenland())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath140696(), autotypRegions.stylepath140696(), autotypRegions.datapath140696())); // builder.append(SVG_TEMPLATE.groupTagEnd()); // builder.append(SVG_TEMPLATE.groupTag(autotypRegions.idSAustralia(), autotypRegions.transformSAustralia())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath107441(), autotypRegions.stylepath107441(), autotypRegions.datapath107441())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath99393(), autotypRegions.stylepath99393(), autotypRegions.datapath99393())); // builder.append(SVG_TEMPLATE.groupTagEnd()); // builder.append(SVG_TEMPLATE.groupTag(autotypRegions.idNAfrica(), autotypRegions.transformNAfrica())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath140264(), autotypRegions.stylepath140264(), autotypRegions.datapath140264())); // builder.append(SVG_TEMPLATE.groupTagEnd()); // builder.append(SVG_TEMPLATE.groupTag(autotypRegions.idSAfrica(), autotypRegions.transformSAfrica())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath140076(), autotypRegions.stylepath140076(), autotypRegions.datapath140076())); // builder.append(SVG_TEMPLATE.groupTagEnd()); // builder.append(SVG_TEMPLATE.groupTag(autotypRegions.idGreaterMesopotamia(), autotypRegions.transformGreaterMesopotamia())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath97275(), autotypRegions.stylepath97275(), autotypRegions.datapath97275())); // builder.append(SVG_TEMPLATE.groupTagEnd()); // builder.append(SVG_TEMPLATE.groupTag(autotypRegions.idInnerAsia(), autotypRegions.transformInnerAsia())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath97287(), autotypRegions.stylepath97287(), autotypRegions.datapath97287())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath140112(), autotypRegions.stylepath140112(), autotypRegions.datapath140112())); // builder.append(SVG_TEMPLATE.groupTagEnd()); // builder.append(SVG_TEMPLATE.groupTag(autotypRegions.idEurope(), autotypRegions.transformEurope())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath97263(), autotypRegions.stylepath97263(), autotypRegions.datapath97263())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath97585(), autotypRegions.stylepath97585(), autotypRegions.datapath97585())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath97977(), autotypRegions.stylepath97977(), autotypRegions.datapath97977())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath98383(), autotypRegions.stylepath98383(), autotypRegions.datapath98383())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath99041(), autotypRegions.stylepath99041(), autotypRegions.datapath99041())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath100331(), autotypRegions.stylepath100331(), autotypRegions.datapath100331())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath97431(), autotypRegions.stylepath97431(), autotypRegions.datapath97431())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath98187(), autotypRegions.stylepath98187(), autotypRegions.datapath98187())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath98391(), autotypRegions.stylepath98391(), autotypRegions.datapath98391())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath100255(), autotypRegions.stylepath100255(), autotypRegions.datapath100255())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath100829(), autotypRegions.stylepath100829(), autotypRegions.datapath100829())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath101047(), autotypRegions.stylepath101047(), autotypRegions.datapath101047())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath101127(), autotypRegions.stylepath101127(), autotypRegions.datapath101127())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath101193(), autotypRegions.stylepath101193(), autotypRegions.datapath101193())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath101671(), autotypRegions.stylepath101671(), autotypRegions.datapath101671())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath140654(), autotypRegions.stylepath140654(), autotypRegions.datapath140654())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath97911(), autotypRegions.stylepath97911(), autotypRegions.datapath97911())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath141650(), autotypRegions.stylepath141650(), autotypRegions.datapath141650())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath142374(), autotypRegions.stylepath142374(), autotypRegions.datapath142374())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath143814(), autotypRegions.stylepath143814(), autotypRegions.datapath143814())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath144104(), autotypRegions.stylepath144104(), autotypRegions.datapath144104())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath140764(), autotypRegions.stylepath140764(), autotypRegions.datapath140764())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath140714(), autotypRegions.stylepath140714(), autotypRegions.datapath140714())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath143158(), autotypRegions.stylepath143158(), autotypRegions.datapath143158())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath144174(), autotypRegions.stylepath144174(), autotypRegions.datapath144174())); // builder.append(SVG_TEMPLATE.groupTagEnd()); // builder.append(SVG_TEMPLATE.groupTag(autotypRegions.idSoutheast_Asia(), autotypRegions.transformSoutheast_Asia())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath97365(), autotypRegions.stylepath97365(), autotypRegions.datapath97365())); // builder.append(SVG_TEMPLATE.groupTagEnd()); // builder.append(SVG_TEMPLATE.groupTag(autotypRegions.idNorthCoastAsia(), autotypRegions.transformNorthCoastAsia())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath97393(), autotypRegions.stylepath97393(), autotypRegions.datapath97393())); // builder.append(SVG_TEMPLATE.groupTagEnd()); // builder.append(SVG_TEMPLATE.groupTag(autotypRegions.idENorthAmerica(), autotypRegions.transformENorthAmerica())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath107580(), autotypRegions.stylepath107580(), autotypRegions.datapath107580())); // builder.append(SVG_TEMPLATE.groupTagEnd()); // builder.append(SVG_TEMPLATE.groupTag(autotypRegions.idPapua(), autotypRegions.transformPapua())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath97649(), autotypRegions.stylepath97649(), autotypRegions.datapath97649())); // builder.append(SVG_TEMPLATE.groupTagEnd()); // builder.append(SVG_TEMPLATE.groupTag(autotypRegions.idAfricanSavanah(), autotypRegions.transformAfricanSavanah())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath13257(), autotypRegions.stylepath13257(), autotypRegions.datapath13257())); // builder.append(SVG_TEMPLATE.groupTagEnd()); // builder.append(SVG_TEMPLATE.groupTag(autotypRegions.idOceania(), autotypRegions.transformOceania())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath107904(), autotypRegions.stylepath107904(), autotypRegions.datapath107904())); // builder.append(SVG_TEMPLATE.pathTag(autotypRegions.transformpath97885(), autotypRegions.stylepath97885(), autotypRegions.datapath97885())); builder.append(SVG_TEMPLATE.groupTagEnd()); // builder.append(SafeHtmlUtils.fromTrustedString("<rect id='island' x='250' y='150' height='5px' width='5px' fill='blue'/>")); // builder.append(SafeHtmlUtils.fromTrustedString("<rect id='island' x='255' y='170' height='5px' width='5px' fill='blue'/>")); // builder.append(SafeHtmlUtils.fromTrustedString("<rect id='island' x='10' y='160' height='5px' width='5px' fill='blue'/>")); // builder.append(SafeHtmlUtils.fromTrustedString("<rect id='island' x='30' y='150' height='5px' width='5px' fill='blue'/>")); // builder.append(SafeHtmlUtils.fromTrustedString("<rect id='island' x='20' y='150' height='5px' width='5px' fill='blue'/>")); // builder.append(SafeHtmlUtils.fromTrustedString("<rect id='continent' x='0' y='10'height='88px' width='88px' fill='green'/>")); // builder.append(SafeHtmlUtils.fromTrustedString("<rect id='asia' x='250' y='50' height='88px' width='88px' fill='green'/>")); // builder.append(SafeHtmlUtils.fromTrustedString("<rect id='europe' x='150' y='10' height='88px' width='88px' fill='green'/>")); // builder.append(SafeHtmlUtils.fromTrustedString("<rect id='africa' x='100' y='110' height='88px' width='88px' fill='green'/>")); // builder.append(SafeHtmlUtils.fromTrustedString("<rect id='australia' x='400' y='100' height='88px' width='88px' fill='green'/>")); // builder.append(SafeHtmlUtils.fromTrustedString("<rect id='newzealand' x='500' y='150' height='20px' width='10px' fill='green'/>")); builder.append(SafeHtmlUtils.fromTrustedString("</g>")); builder.append(SafeHtmlUtils.fromTrustedString("</g>")); builder.append(SafeHtmlUtils.fromTrustedString("<line id='horizontal' class='overlay' x1='0' y1='100' x2='" + width + "' y2='100' style='stroke:rgb(255,0,0);stroke-width:2'/>")); builder.append( SafeHtmlUtils.fromTrustedString("<line id='vertical' class='overlay' x1='100' y1='0' x2='100' y2='" + height + "' style='stroke:rgb(255,0,0);stroke-width:2'/>")); builder.append(SafeHtmlUtils.fromTrustedString("</svg>")); final HTML html = new HTML(builder.toSafeHtml()); html.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { final Element targetElement = Element.as(event.getNativeEvent().getEventTarget()); final Element parentElement = targetElement.getParentElement(); if (!parentElement.getId().isEmpty()) { label.setText(parentElement.getId()); } else { label.setText(targetElement.getId()); } final Element horizontalLine = Document.get().getElementById("horizontal"); final Element verticalLine = Document.get().getElementById("vertical"); final Element svgElement = Document.get().getElementById("ocean"); final int relativeX = event.getRelativeX(svgElement); final int relativeY = event.getRelativeY(svgElement); horizontalLine.setAttribute("y1", String.valueOf(relativeY)); horizontalLine.setAttribute("y2", String.valueOf(relativeY)); horizontalLine.setAttribute("x2", String.valueOf(width)); verticalLine.setAttribute("x1", String.valueOf(relativeX)); verticalLine.setAttribute("x2", String.valueOf(relativeX)); verticalLine.setAttribute("y2", String.valueOf(height)); } }); verticalPanel.add(html); // verticalPanel.add(new HTML(builder.toSafeHtml())); setContent(verticalPanel); }
From source file:nl.ru.languageininteraction.language.client.view.MenuView.java
License:Open Source License
public void addMenuItem(final PresenterEventListner menuItemListerner, final boolean menuEnabled) { if (flexTable == null) { flexTable = new FlexTable(); flexTable.setStylePrimaryName("menuTable"); outerPanel.setStylePrimaryName("menuOuter"); outerPanel.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER); outerPanel.add(flexTable);// w ww .j a va2s.c o m } final Button menuButton = new Button( new SafeHtmlBuilder().appendEscapedLines(menuItemListerner.getLabel()).toSafeHtml()); buttonsArray.add(menuButton); menuButton.addStyleName("menuButton"); menuButton.setEnabled(menuEnabled); menuButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { event.preventDefault(); menuItemListerner.eventFired(menuButton); } }); menuButton.addTouchEndHandler(new TouchEndHandler() { @Override public void onTouchEnd(TouchEndEvent event) { event.preventDefault(); menuItemListerner.eventFired(menuButton); } }); final int rowCount = flexTable.getRowCount(); flexTable.setWidget(rowCount, 0, menuButton); }