// ..and when we close it
popup.addPopupListener(new PopupListener() {
public void onPopupClosed(PopupPanel sender, boolean autoClosed) {
- ((CustomPopup) sender).syncChildren();
updateState(false);
}
});
@Override
protected void onDetach() {
popup.hide();
- client.unregisterPaintable(popup.popupComponentPaintable);
super.onDetach();
}
super(true, false, true); // autoHide, not modal, dropshadow
}
- // For some reason ONMOUSEOUT events are not always recieved, so we have
+ // For some reason ONMOUSEOUT events are not always received, so we have
// to use ONMOUSEMOVE that doesn't target the popup
@Override
public boolean onEventPreview(Event event) {
@Override
public void hide() {
hiding = true;
+ syncChildren();
unregisterPaintables();
if (popupComponentWidget != null && popupComponentWidget != loading) {
remove(popupComponentWidget);
super.hide();
}
+ @Override
+ public void show() {
+ hiding = false;
+ super.show();
+ }
+
/**
* Try to sync all known active child widgets to server
*/