All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.ioc.commons.impl.gwt.client.ui.HasOneWidgetWrapper Maven / Gradle / Ivy

There is a newer version: 1.2.1
Show newest version
package org.ioc.commons.impl.gwt.client.ui;

import org.ioc.commons.ui.HasOneWidget;
import org.ioc.commons.ui.IsWidget;

import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.Widget;

public class HasOneWidgetWrapper implements HasOneWidget {

	private static final class RootPanelHasOneWidgetWrapper implements com.google.gwt.user.client.ui.HasOneWidget {
		private final RootPanel rootPanel;
		private Widget widget;

		private RootPanelHasOneWidgetWrapper(RootPanel rootPanel) {
			this.rootPanel = rootPanel;
		}

		@Override
		public void setWidget(com.google.gwt.user.client.ui.IsWidget w) {
			rootPanel.clear();
			rootPanel.add(w);
			this.widget = w.asWidget();
		}

		@Override
		public void setWidget(Widget w) {
			rootPanel.clear();
			rootPanel.add(w);
			this.widget = w;
		}

		@Override
		public Widget getWidget() {
			return widget;
		}
	}

	private com.google.gwt.user.client.ui.HasOneWidget wrapped;

	private HasOneWidgetWrapper(com.google.gwt.user.client.ui.HasOneWidget wrapped) {
		this.wrapped = wrapped;
	}

	@Override
	public void setSingleWidget(IsWidget widget) {
		this.wrapped.setWidget((Widget) widget.asWidget());
	}

	@Override
	public IsWidget getSingleWidget() {
		return new IsWidgetImpl(this.wrapped.getWidget());
	}

	public static HasOneWidget from(com.google.gwt.user.client.ui.HasOneWidget gwtHasOneWidget) {
		return new HasOneWidgetWrapper(gwtHasOneWidget);
	}

	public static HasOneWidget from(final RootPanel rootPanel) {
		return new HasOneWidgetWrapper(new RootPanelHasOneWidgetWrapper(rootPanel));
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy