1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
| public class MyDialog extends DialogBox
{
/*Image image = new Image("lgm/gwt/standard/images/closeb.gif");
PushButton close = new PushButton(image);*/
Button close = new Button("x");
HTML title = new HTML("");
HorizontalPanel captionPanel = new HorizontalPanel();
public MyDialog(boolean autoHide, boolean modal)
{
super(autoHide, modal);
Element td = getCellElement(0, 1);
DOM.removeChild(td, (Element) td.getFirstChildElement());
DOM.appendChild(td, captionPanel.getElement());
captionPanel.setStyleName("Caption");//width-100%
captionPanel.add(title);
captionPanel.add(send);
send.addStyleName("SendButton");
close.addStyleName("CloseButton");//float:right
captionPanel.add(close);
super.setGlassEnabled(true);
super.setAnimationEnabled(true);
}
public MyDialog(boolean autoHide)
{
this(autoHide, true);
}
public MyDialog()
{
this(false);
}
@Override
public String getHTML()
{
return this.title.getHTML();
}
@Override
public String getText()
{
return this.title.getText();
}
@Override
public void setHTML(String html)
{
this.title.setHTML(html);
}
@Override
public void setText(String text)
{
this.title.setText(text);
}
@Override
protected void onPreviewNativeEvent(NativePreviewEvent event)
{
NativeEvent nativeEvent = event.getNativeEvent();
if (!event.isCanceled()
&& (event.getTypeInt() == Event.ONCLICK)
&& isCloseEvent(nativeEvent))
{
this.hide();
}
super.onPreviewNativeEvent(event);
}
private boolean isCloseEvent(NativeEvent event)
{
return event.getEventTarget().equals(close.getElement());//compares equality of the underlying DOM elements
}
} |
Partager