package org.ovirt.engine.ui.webadmin.widget.action; import java.util.ArrayList; import java.util.List; import org.ovirt.engine.ui.webadmin.uicommon.model.SearchableModelProvider; import com.google.gwt.core.client.GWT; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; import com.google.gwt.uibinder.client.UiHandler; import com.google.gwt.user.client.ui.ButtonBase; import com.google.gwt.user.client.ui.Widget; import com.google.gwt.view.client.SingleSelectionModel; public class SimpleActionPanel<T> extends AbstractActionPanel<T> { interface WidgetUiBinder extends UiBinder<Widget, SimpleActionPanel<?>> { WidgetUiBinder uiBinder = GWT.create(WidgetUiBinder.class); } private final SingleSelectionModel<T> selectionModel; @UiField ButtonBase refreshButton; public SimpleActionPanel(SearchableModelProvider<T, ?> dataProvider, SingleSelectionModel<T> selectionModel) { super(dataProvider); this.selectionModel = selectionModel; initWidget(WidgetUiBinder.uiBinder.createAndBindUi(this)); } @UiHandler("refreshButton") void handleRefreshButtonClick(ClickEvent event) { getDataProvider().getModel().getForceRefreshCommand().Execute(); } @Override protected List<T> getSelectedItems() { List<T> selectedItems = new ArrayList<T>(); selectedItems.add(selectionModel.getSelectedObject()); return selectedItems; } @Override protected ActionButton createNewActionButton(ActionButtonDefinition<T> buttonDef) { return new SimpleActionButton(); } }