Thank you Jens for your hint. I couldn't see any getConsumedEvents() so I
used onBrowserEvent and it working ok.
private class HeaderCell extends AbstractCell<String> {
private String text;
public HeaderCell(String text) {
/*
* Let the parent class know that our cell responds to click
events and
* keydown events.
*/
//super("click", "keydown");
super("mouseover");
this.text=text;
}
@Override
public void onBrowserEvent(Context context, Element parent, String
value,
NativeEvent event, ValueUpdater<String> valueUpdater) {
// Check that the value is not null.
if (value == null) {
return;
}
// Call the super handler, which handlers the enter key.
super.onBrowserEvent(context, parent, value, event, valueUpdater);
if ("mouseover".equals(event.getType())) {
SafeHtmlBuilder sb=new SafeHtmlBuilder();
sb.appendHtmlConstant("<b>");
sb.appendHtmlConstant("<font color=\"blue\">");
sb.appendEscaped(text);
sb.appendHtmlConstant("</font></b>");
meaningMessagesPopup.setWidget(new HTML(sb.toSafeHtml()));
int left = event.getClientX() -140;
int top = event.getClientY() +30;
meaningMessagesPopup.setPopupPosition(left, top);
// Show the popup
meaningMessagesPopup.show();
}
else if ("mouseout".equals(event.getType())) {
meaningMessagesPopup.hide();
}
}
@Override
public void render(Context context, String value, SafeHtmlBuilder
sb) {
/*
* Always do a null check on the value. Cell widgets can pass
null to
* cells if the underlying data contains a null, or if the data
arrives
* out of order.
*/
if (value == null) {
return;
}
sb.appendEscaped(value);
}
}
Then
Header<String> nameColumnHeader = new Header<String>(new HeaderCell("my
Text...")) {
@Override
public String getValue() {
return "Name";
}
};
table.addColumn(nameColumn, nameColumnHeader);
On Friday, June 13, 2014 9:10:40 AM UTC+10, Jens wrote:
>
> ClickableTextCell only listens for click and keydown events so
> Header.onBrowserEvent() will never be called for mouseover events. You must
> create your own Cell class (possibly extending any of GWTs cells) and call
> the super constructor AbstractCell(String... consumedEvents) if possible or
> override AbstractCell.getConsumedEvents().
>
> Also you can use BrowserEvents.MOUSEOVER as a predefined constant.
>
> -- J.
>
--
You received this message because you are subscribed to the Google Groups
"Google Web Toolkit" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.