package org.gcube.portlets.user.workspace.client.view; import org.gcube.portlets.user.workspace.client.ConstantsPortlet; import org.gcube.portlets.user.workspace.client.model.FileGridModel; import org.gcube.portlets.user.workspace.client.model.FileModel; import org.gcube.portlets.user.workspace.client.model.ListStoreModel; import com.extjs.gxt.ui.client.event.Events; import com.extjs.gxt.ui.client.event.Listener; import com.extjs.gxt.ui.client.event.SelectionChangedEvent; import com.extjs.gxt.ui.client.store.ListStore; import com.extjs.gxt.ui.client.util.Format; import com.extjs.gxt.ui.client.widget.ContentPanel; import com.extjs.gxt.ui.client.widget.LayoutContainer; import com.extjs.gxt.ui.client.widget.ListView; /** * @author Francesco Mangiacrapa francesco.mangiacrapa{@literal @}isti.cnr.it * */ public class GxtListView extends LayoutContainer { private ContentPanel cp = new ContentPanel(); // private String headerTitle = ConstantsPortlet.RESULT; private ListStore store = ListStoreModel.getInstance().getStore(); public GxtListView() { cp.setBodyBorder(false); cp.setHeading(ConstantsPortlet.RESULT); cp.setHeaderVisible(true); ListView view = new ListView() { @Override protected FileGridModel prepareData(FileGridModel model) { String s = model.get(FileModel.NAME); model.set("shortName", Format.ellipse(s, 15)); return model; } }; view.setStore(store); view.setItemSelector("div.thumb-wrap"); view.getSelectionModel().addListener(Events.SelectionChange, new Listener>() { public void handleEvent(SelectionChangedEvent be) { cp.setHeading("Simple ListView (" + be.getSelection().size() + " items selected)"); } }); cp.add(view); add(cp); } private native String getTemplate() /*-{ return [ '', '
', '
', '{shortName}
', '
', '
' ].join(""); }-*/; }