Skip to content

Instantly share code, notes, and snippets.

@porcelli
Created June 8, 2012 19:49
Show Gist options
  • Save porcelli/2897800 to your computer and use it in GitHub Desktop.
Save porcelli/2897800 to your computer and use it in GitHub Desktop.
view.getTree().addOpenHandler(new OpenHandler<TreeItem>() {
@Override public void onOpen(final OpenEvent<TreeItem> event) {
if (needsLoading(event.getTarget())) {
vfsService.call(new RemoteCallback<DirectoryStream<Path>>() {
@Override
public void callback(DirectoryStream<Path> response) {
event.getTarget().getChild(0).remove();
for (final Path path : response) {
vfsService.call(new RemoteCallback<Map>() {
@Override
public void callback(final Map response) {
final BasicFileAttributes attrs = VFSTempUtil.toBasicFileAttributes(response);
final TreeItem item;
if (attrs.isDirectory()) {
item = event.getTarget().addItem(Util.getHeader(images.openedFolder(), path.getFileName()));
item.addItem(LAZY_LOAD);
} else {
item = event.getTarget().addItem(Util.getHeader(images.file(), path.getFileName()));
}
item.setUserObject(path);
}
}).readAttributes(path);
}
}
}).newDirectoryStream((Path) event.getTarget().getUserObject());
}
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment