package org.opennms.features.gwt.snmpselect.list.client.view; import java.util.List; import org.opennms.features.gwt.snmpselect.list.client.view.handler.SnmpSelectTableCollectUpdateHandler; import org.opennms.features.gwt.tableresources.client.OnmsSimplePagerResources; import com.google.gwt.core.client.GWT; import com.google.gwt.dom.client.Style.BorderStyle; import com.google.gwt.dom.client.Style.Unit; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; import com.google.gwt.user.cellview.client.SimplePager; import com.google.gwt.user.cellview.client.SimplePager.Resources; import com.google.gwt.user.cellview.client.SimplePager.TextLocation; import com.google.gwt.user.client.Window; import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.FlowPanel; import com.google.gwt.user.client.ui.LayoutPanel; import com.google.gwt.user.client.ui.Widget; import com.google.gwt.view.client.ListDataProvider; public class SnmpSelectListViewImpl extends Composite implements SnmpSelectListView<SnmpCellListItem>{ private static SnmpSelectListViewImplUiBinder uiBinder = GWT .create(SnmpSelectListViewImplUiBinder.class); interface SnmpSelectListViewImplUiBinder extends UiBinder<Widget, SnmpSelectListViewImpl> { } @UiField LayoutPanel m_layoutPanel; @UiField SnmpSelectTable m_snmpSelectTable; @UiField FlowPanel m_pagerContainer; private Presenter<SnmpCellListItem> m_presenter; private SimplePager m_simplePager; private ListDataProvider<SnmpCellListItem> m_dataList; protected SnmpCellListItem m_updatedCell; public SnmpSelectListViewImpl() { initWidget(uiBinder.createAndBindUi(this)); m_layoutPanel.setSize("100%", "500px"); m_layoutPanel.getElement().getStyle().setBorderStyle(BorderStyle.SOLID); m_layoutPanel.getElement().getStyle().setBorderWidth(1, Unit.PX); m_layoutPanel.getElement().getStyle().setBorderColor("#D0D0D0"); m_snmpSelectTable.setWidth("100%"); m_snmpSelectTable.setCollectUpdateHandler(new SnmpSelectTableCollectUpdateHandler() { @Override public void onSnmpInterfaceCollectUpdated(int ifIndex, String oldValue, String newValue) { m_presenter.onSnmpInterfaceCollectUpdated(ifIndex, oldValue, newValue); } }); m_simplePager = new SimplePager(TextLocation.CENTER, (Resources) GWT.create(OnmsSimplePagerResources.class), true, 1000, false); m_simplePager.setWidth("100%"); m_simplePager.setDisplay(m_snmpSelectTable); m_pagerContainer.add(m_simplePager); m_dataList = new ListDataProvider<SnmpCellListItem>(); m_dataList.addDataDisplay(m_snmpSelectTable); } @Override public void setPresenter(Presenter<SnmpCellListItem> presenter) { m_presenter = presenter; } @Override public void setDataList(List<SnmpCellListItem> dataList) { m_dataList.setList(dataList); } @Override public SnmpCellListItem getUpdatedCell() { return m_updatedCell; } @Override public void showError(String message) { Window.alert("Error: " + message); } }