package kornell.gui.client.uidget; import com.google.gwt.user.client.ui.Composite; import kornell.core.lom.Actom; import kornell.core.lom.ExternalPage; import kornell.gui.client.event.ViewReadyEvent; import kornell.gui.client.event.ViewReadyEventHandler; public abstract class Uidget extends Composite { public static Uidget forActom(Actom actom) { if (actom == null) return null; if (actom instanceof ExternalPage) return new ExternalPageView((ExternalPage) actom); throw new IllegalArgumentException("Do not know how to view [" + actom + "]"); } private ViewReadyEventHandler viewReadyEventHandler; public void onViewReady(ViewReadyEventHandler viewReadyEventHandler) { this.viewReadyEventHandler = viewReadyEventHandler; } protected void fireViewReady() { if(viewReadyEventHandler != null) viewReadyEventHandler.onViewReady(new ViewReadyEvent()); } }