package ilarkesto.gwt.client;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.ScrollPanel;
import com.google.gwt.user.client.ui.Widget;
public class SwitcherWidget extends AWidget {
private Widget currentWidget;
private boolean height100;
private ScrollPanel scrollPanel;
public SwitcherWidget(boolean height100) {
this.height100 = height100;
}
@Override
protected final Widget onInitialization() {
if (height100) setHeight100();
return new Label("Empty SwitcherWidget");
}
public <W extends Widget> W show(W widget) {
if (currentWidget == widget) {
// update();
return widget;
}
currentWidget = widget;
replaceContent(currentWidget);
update();
if (scrollPanel != null) scrollPanel.scrollToTop();
return widget;
}
public boolean isShowing(Widget widget) {
return currentWidget == widget;
}
public Widget getCurrentWidget() {
return currentWidget;
}
public void setScrollPanel(ScrollPanel scrollPanel) {
this.scrollPanel = scrollPanel;
}
@Override
public String toString() {
return "SwitcherWidget(" + Gwt.toString(currentWidget) + ")";
}
}