X-Git-Url: https://code.grnet.gr/git/pithos-web-client/blobdiff_plain/277505e5e37758675dcc661de45df7d354e2038f..refs/heads/newLeftPane:/src/gr/grnet/pithos/web/client/grouptree/GroupTreeView.java diff --git a/src/gr/grnet/pithos/web/client/grouptree/GroupTreeView.java b/src/gr/grnet/pithos/web/client/grouptree/GroupTreeView.java index 87c69ed..c013e6b 100644 --- a/src/gr/grnet/pithos/web/client/grouptree/GroupTreeView.java +++ b/src/gr/grnet/pithos/web/client/grouptree/GroupTreeView.java @@ -1,5 +1,5 @@ /* - * Copyright 2011 GRNET S.A. All rights reserved. + * Copyright 2011-2012 GRNET S.A. All rights reserved. * * Redistribution and use in source and binary forms, with or * without modification, are permitted provided that the following @@ -36,37 +36,49 @@ package gr.grnet.pithos.web.client.grouptree; import gr.grnet.pithos.web.client.FolderContextMenu; +import gr.grnet.pithos.web.client.PithosDisclosurePanel; +import gr.grnet.pithos.web.client.TreeView; +import gr.grnet.pithos.web.client.PithosDisclosurePanel.Style; import gr.grnet.pithos.web.client.foldertree.Folder; import com.google.gwt.core.client.GWT; import com.google.gwt.resources.client.ImageResource; +import com.google.gwt.resources.client.ClientBundle.Source; import com.google.gwt.resources.client.ImageResource.ImageOptions; +import com.google.gwt.resources.client.ImageResource.RepeatStyle; import com.google.gwt.safehtml.client.SafeHtmlTemplates; import com.google.gwt.safehtml.shared.SafeHtml; import com.google.gwt.user.cellview.client.CellTree; import com.google.gwt.user.cellview.client.HasKeyboardSelectionPolicy.KeyboardSelectionPolicy; import com.google.gwt.user.cellview.client.TreeNode; import com.google.gwt.user.client.ui.Composite; +import com.google.gwt.user.client.ui.DisclosurePanel; +import com.google.gwt.user.client.ui.HTML; import com.google.gwt.user.client.ui.Tree; -public class GroupTreeView extends Composite { +public class GroupTreeView extends Composite implements TreeView { - public void updateChildren(Folder folder) { - TreeNode root = ((CellTree) getWidget()).getRootTreeNode(); - updateChildren(root, folder); + public void updateChildren(Group group) { + TreeNode root = tree.getRootTreeNode(); + if (group != null) + updateChildren(root, group); + else { + root.setChildOpen(0, false, true); + root.setChildOpen(0, true, true); + } } - private void updateChildren(TreeNode node, Folder folder) { + private void updateChildren(TreeNode node, Group group) { for (int i=0; i{0}") + @Template("{0}") public SafeHtml nameSpan(String name); } private GroupTreeViewModel model; + + private CellTree tree; public GroupTreeView(GroupTreeViewModel viewModel) { this.model = viewModel; + + PithosDisclosurePanel panel = new PithosDisclosurePanel((Resources) GWT.create(Resources.class), "Groups", false); /* * Create the tree using the model. We use null as the default * value of the root node. The default value will be passed to * CustomTreeModel#getNodeInfo(); */ CellTree.Resources res = GWT.create(BasicResources.class); - CellTree tree = new CellTree(model, null, res); + tree = new CellTree(model, null, res); tree.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.ENABLED); - initWidget(tree); + panel.add(tree); + + initWidget(panel); } - - public Folder getSelection() { -// return model.getSelection(); - return null; + public void updateGroupNode(Group group) { + model.updateGroupNode(group); + updateChildren(group); } - public void updateFolder(Folder folder, boolean showfiles) { -// model.updateFolder(folder, showfiles); - } + @Override + public Folder getSelection() { + // TODO Auto-generated method stub + return null; + } + + public Object getSelected() { + return model.getSelectedObject(); + } }