package org.xmind.ui.views; import org.eclipse.core.runtime.Assert; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; /** * * @author Frank Shaka * @since 3.6.50 */ public abstract class Page implements IPage { private Control control; public void createControl(Composite parent) { Assert.isTrue(this.control == null); Control control = doCreateControl(parent); Assert.isTrue(control != null); this.control = control; } protected abstract Control doCreateControl(Composite parent); public <T> T getAdapter(Class<T> adapter) { if (Control.class.equals(adapter)) return adapter.cast(control); return null; } public Control getControl() { return control; } public void setFocus() { setFocus(control); } protected boolean setFocus(Control c) { if (c != null && !c.isDisposed()) { return c.setFocus(); } return false; } }