package org.ovirt.engine.ui.webadmin.widget.table; import org.ovirt.engine.ui.webadmin.ApplicationConstants; import org.ovirt.engine.ui.webadmin.gin.ClientGinjectorProvider; import org.ovirt.engine.ui.webadmin.uicommon.model.SearchableTableModelProvider; import org.ovirt.engine.ui.webadmin.widget.action.ActionButton; import org.ovirt.engine.ui.webadmin.widget.action.ActionButtonDefinition; import org.ovirt.engine.ui.webadmin.widget.action.SimpleActionButton; import com.google.gwt.core.client.GWT; import com.google.gwt.resources.client.CssResource; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; import com.google.gwt.user.cellview.client.CellTable.Resources; import com.google.gwt.user.client.ui.HTMLPanel; import com.google.gwt.user.client.ui.Widget; public class SimpleActionTable<T> extends AbstractActionTable<T> { interface WidgetUiBinder extends UiBinder<Widget, SimpleActionTable<?>> { WidgetUiBinder uiBinder = GWT.create(WidgetUiBinder.class); } @UiField Style style; @UiField HTMLPanel barPanel; public SimpleActionTable(SearchableTableModelProvider<T, ?> dataProvider) { this(dataProvider, null, null); } public SimpleActionTable(SearchableTableModelProvider<T, ?> dataProvider, Resources resources) { this(dataProvider, resources, null); } public SimpleActionTable(SearchableTableModelProvider<T, ?> dataProvider, Resources resources, Resources headerResources) { super(dataProvider, resources, headerResources); initWidget(WidgetUiBinder.uiBinder.createAndBindUi(this)); localize(ClientGinjectorProvider.instance().getApplicationConstants()); initStyles(); refreshPanel.setVisible(false); prevPageButton.setVisible(false); nextPageButton.setVisible(false); } void localize(ApplicationConstants constants) { prevPageButton.setText(constants.actionTablePrevPageButtonLabel()); nextPageButton.setText(constants.actionTableNextPageButtonLabel()); } void initStyles() { tableContainer.setStyleName(showDefaultHeader ? style.contentWithDefaultHeader() : style.content()); } public void showRefreshButton() { refreshPanel.setVisible(true); } public void showPagingButtons() { prevPageButton.setVisible(true); nextPageButton.setVisible(true); } public void setBarStyle(String barStyle) { barPanel.setStyleName(barStyle); } @Override protected ActionButton createNewActionButton(ActionButtonDefinition<T> buttonDef) { return new SimpleActionButton(); } interface Style extends CssResource { String content(); String contentWithDefaultHeader(); } }