package it.agilis.mens.azzeroCO2.client.forms.amministrazione; import com.extjs.gxt.ui.client.Style; import com.extjs.gxt.ui.client.data.PagingModelMemoryProxy; import com.extjs.gxt.ui.client.event.ButtonEvent; import com.extjs.gxt.ui.client.event.SelectionListener; import com.extjs.gxt.ui.client.mvc.Dispatcher; import com.extjs.gxt.ui.client.store.ListStore; import com.extjs.gxt.ui.client.util.Margins; import com.extjs.gxt.ui.client.widget.ContentPanel; import com.extjs.gxt.ui.client.widget.LayoutContainer; import com.extjs.gxt.ui.client.widget.button.Button; import com.extjs.gxt.ui.client.widget.form.NumberField; import com.extjs.gxt.ui.client.widget.grid.*; import com.extjs.gxt.ui.client.widget.layout.BorderLayout; import com.extjs.gxt.ui.client.widget.layout.BorderLayoutData; import com.extjs.gxt.ui.client.widget.toolbar.ToolBar; import com.google.gwt.i18n.client.NumberFormat; import com.google.gwt.user.client.Element; import it.agilis.mens.azzeroCO2.client.mvc.events.AmministrazioneEvents; import it.agilis.mens.azzeroCO2.shared.model.amministrazione.CoefficienteModel; import java.util.ArrayList; import java.util.List; /** * Created by IntelliJ IDEA. * User: giovannilt * Date: 6/19/11 * Time: 5:19 PM * To change this template use File | Settings | File Templates. */ public class Coefficienti extends LayoutContainer { private ListStore<CoefficienteModel> store = new ListStore<CoefficienteModel>(); @Override protected void onRender(Element parent, int index) { super.onRender(parent, index); BorderLayout layout = new BorderLayout(); setLayout(layout); ContentPanel centre = createCentre(); centre.setHeaderVisible(false); centre.setHeight(700); centre.setFrame(true); BorderLayoutData centerData = new BorderLayoutData(Style.LayoutRegion.CENTER); centerData.setMargins(new Margins(0)); add(centre, centerData); } private ContentPanel createCentre() { ContentPanel centre = new ContentPanel(); // add paging support for a local collection of models PagingModelMemoryProxy proxy = new PagingModelMemoryProxy(CoefficienteModel.class); /* // loader PagingLoader<PagingLoadResult<ModelData>> loader = new BasePagingLoader<PagingLoadResult<ModelData>>(proxy); loader.setRemoteSort(true); final PagingToolBar toolBar = new PagingToolBar(10); toolBar.bind(loader); loader.load(0, 10); */ final NumberFormat number = NumberFormat.getFormat("0.00"); List<ColumnConfig> configs = new ArrayList<ColumnConfig>(); ColumnConfig column = new ColumnConfig("tipologia", "Tipologia", 300); configs.add(column); column = new ColumnConfig("nome", "Coefficiente", 445); configs.add(column); column = new ColumnConfig("valore", "Valore", 100); column.setAlignment(Style.HorizontalAlignment.RIGHT); column.setEditor(new CellEditor(new NumberField())); configs.add(column); final RowEditor<CoefficienteModel> re = new RowEditor<CoefficienteModel>(); re.getMessages().setSaveText("Salva"); re.getMessages().setCancelText("Annulla"); re.setClicksToEdit(EditorGrid.ClicksToEdit.TWO); ColumnModel cm = new ColumnModel(configs); Grid<CoefficienteModel> grid = new Grid<CoefficienteModel>(store, cm); grid.setBorders(true); grid.addPlugin(re); // grid.setAutoHeight(true); grid.setHeight(650); Button saveButton = new Button("Salva"); saveButton.addSelectionListener(new SelectionListener<ButtonEvent>() { @Override public void componentSelected(ButtonEvent ce) { Dispatcher.forwardEvent(AmministrazioneEvents.SaveCoefficienti, store.getModels()); } }); // centre.setBottomComponent(toolBar); ToolBar toolbar = new ToolBar(); toolbar.add(saveButton); centre.setTopComponent(toolbar); centre.add(grid); return centre; } public void clear() { } public void setCoefficentiInStore(List<CoefficienteModel> coefficienteModels) { try { store.removeAll(); store.add(coefficienteModels); } catch (Exception e) { e.printStackTrace(); } } }