import com.google.gwt.dom.client.NodeList;
import com.google.gwt.event.logical.shared.CloseEvent;
import com.google.gwt.event.logical.shared.CloseHandler;
-import com.google.gwt.event.logical.shared.ValueChangeEvent;
-import com.google.gwt.event.logical.shared.ValueChangeHandler;
import com.google.gwt.user.client.Command;
import com.google.gwt.user.client.DOM;
import com.google.gwt.user.client.DeferredCommand;
import com.google.gwt.user.client.Element;
import com.google.gwt.user.client.Event;
-import com.google.gwt.user.client.History;
import com.google.gwt.user.client.Timer;
import com.google.gwt.user.client.ui.HasHTML;
import com.google.gwt.user.client.ui.PopupPanel;
import com.vaadin.terminal.gwt.client.Util;
public class VMenuBar extends Widget implements Paintable,
-CloseHandler<PopupPanel>, ContainerResizedListener,
-ValueChangeHandler<String> {
+CloseHandler<PopupPanel>, ContainerResizedListener {
/** Set the CSS class name to allow styling. */
public static final String CLASSNAME = "v-menubar";
if (!subMenu) {
setStylePrimaryName(CLASSNAME);
- // Monitor back&forward buttons
- History.addValueChangeHandler(this);
} else {
setStylePrimaryName(CLASSNAME + "-submenu");
}
if (client.updateComponent(this, uidl, true)) {
return;
}
- this.enabled = !uidl.getBooleanAttribute("disabled");
+ enabled = !uidl.getBooleanAttribute("disabled");
// For future connections
this.client = client;
}
}
+ @Override
+ protected void onDetach() {
+ super.onDetach();
+ if (!subMenu) {
+ setSelected(null);
+ hideChildren();
+ menuVisible = false;
+ }
+ }
+
private boolean isEnabled() {
return enabled;
}
}
return w;
}
-
- public void onValueChange(ValueChangeEvent<String> arg0) {
- // Close menu if user uses back & forward buttons #4109
- if (!subMenu) {
- setSelected(null);
- hideChildren();
- menuVisible = false;
- }
- }
}
import com.google.gwt.dom.client.TableSectionElement;
import com.google.gwt.event.dom.client.ScrollEvent;
import com.google.gwt.event.dom.client.ScrollHandler;
-import com.google.gwt.event.logical.shared.ValueChangeEvent;
-import com.google.gwt.event.logical.shared.ValueChangeHandler;
import com.google.gwt.user.client.Command;
import com.google.gwt.user.client.DOM;
import com.google.gwt.user.client.DeferredCommand;
import com.google.gwt.user.client.Element;
import com.google.gwt.user.client.Event;
-import com.google.gwt.user.client.History;
import com.google.gwt.user.client.Timer;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.FlowPanel;
*
* TODO implement unregistering for child components in Cells
*/
-public class VScrollTable extends FlowPanel implements Table, ScrollHandler,
- ValueChangeHandler<String> {
+public class VScrollTable extends FlowPanel implements Table, ScrollHandler {
public static final String CLASSNAME = "v-table";
public static final String ITEM_CLICK_EVENT_ID = "itemClick";
add(bodyContainer);
rowRequestHandler = new RowRequestHandler();
-
- // Handle back & forward browser buttons
- History.addValueChangeHandler(this);
}
@SuppressWarnings("unchecked")
}
}
+ @Override
+ protected void onDetach() {
+ super.onDetach();
+ client.getContextMenu().ensureHidden(this);
+ }
+
class VisibleColumnAction extends Action {
String colKey;
}
}
+ @Override
+ protected void onDetach() {
+ super.onDetach();
+ client.getContextMenu().ensureHidden(this);
+ }
+
public String getKey() {
return String.valueOf(rowKey);
}
rowRequestHandler.deferRowFetch();
}
}
-
- public void onValueChange(ValueChangeEvent<String> arg0) {
- client.getContextMenu().hide();
- }
-
}