/**
* Sencha GXT 3.0.0b - Sencha for GWT
* Copyright(c) 2007-2012, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.desktopapp.client.filemanager;
import com.google.gwt.dom.client.Element;
import com.google.gwt.dom.client.EventTarget;
import com.google.gwt.user.client.Event;
import com.sencha.gxt.data.shared.TreeStore;
import com.sencha.gxt.desktopapp.client.persistence.FileModel;
import com.sencha.gxt.desktopapp.client.persistence.FileModel.FileType;
import com.sencha.gxt.widget.core.client.grid.ColumnConfig;
import com.sencha.gxt.widget.core.client.grid.ColumnModel;
import com.sencha.gxt.widget.core.client.treegrid.TreeGrid;
public class FileManagerTreeGrid extends TreeGrid<FileModel> {
public FileManagerTreeGrid(TreeStore<FileModel> store, ColumnModel<FileModel> cm,
ColumnConfig<FileModel, ?> treeColumn) {
super(store, cm, treeColumn);
}
@Override
public boolean isLeaf(FileModel model) {
return model.getFileType() != FileType.FOLDER;
}
public void unbind() {
if (storeHandlerRegistration != null) {
storeHandlerRegistration.removeHandler();
}
}
@Override
protected void onClick(Event event) {
super.onClick(event);
EventTarget eventTarget = event.getEventTarget();
if (Element.is(eventTarget)) {
FileModel m = store.get(getView().findRowIndex(Element.as(eventTarget)));
if (m == null) {
getSelectionModel().deselectAll();
}
}
}
}