package org.jboss.bpm.console.client.process; import org.gwt.mosaic.ui.client.layout.ColumnLayout; import org.gwt.mosaic.ui.client.layout.ColumnLayoutData; import org.gwt.mosaic.ui.client.layout.MosaicPanel; import org.jboss.bpm.console.client.util.ConsoleLog; import org.jboss.errai.workspaces.client.api.ProvisioningCallback; import org.jboss.errai.workspaces.client.api.WidgetProvider; import org.jboss.errai.workspaces.client.framework.Registry; import com.google.gwt.user.client.ui.Widget; import com.mvc4g.client.Controller; /** * @author Maciej Swiderski <swiderski.maciej@gmail.com> */ public class MergedProcessHistoryView implements WidgetProvider { MosaicPanel panel; DefinitionHistoryListView definitionView; HistoryInstanceListView instanceView; public void provideWidget(ProvisioningCallback callback) { Controller controller = Registry.get(Controller.class); panel = new MosaicPanel(); panel.setPadding(0); definitionView = new DefinitionHistoryListView(); instanceView = new HistoryInstanceListView(); final MosaicPanel splitPanel = new MosaicPanel(new ColumnLayout()); splitPanel.setPadding(0); definitionView.provideWidget(new ProvisioningCallback() { public void onSuccess(Widget instance) { splitPanel.add(instance, new ColumnLayoutData("250 px")); } public void onUnavailable() { ConsoleLog.error("Failed to load DefinitionListView.class"); } }); instanceView.provideWidget( new ProvisioningCallback() { public void onSuccess(Widget instance) { splitPanel.add(instance); } public void onUnavailable() { ConsoleLog.error("Failed to load DefinitionListView.class"); } } ); panel.add(splitPanel); callback.onSuccess(panel); } }