package gr.grnet.pithos.web.client;
-import gr.grnet.pithos.web.client.grouptree.GroupTreeView;
-import gr.grnet.pithos.web.client.grouptree.GroupTreeView.Templates;
-
-import com.google.gwt.dom.client.Style;
import com.google.gwt.event.logical.shared.CloseEvent;
import com.google.gwt.event.logical.shared.CloseHandler;
import com.google.gwt.event.logical.shared.OpenEvent;
import com.google.gwt.resources.client.ClientBundle;
import com.google.gwt.resources.client.CssResource;
import com.google.gwt.resources.client.ImageResource;
-import com.google.gwt.resources.client.CssResource.ImportedWithPrefix;
-import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
-import com.google.gwt.user.client.ui.AbstractImagePrototype;
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.HasVerticalAlignment;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Image;
-import com.google.gwt.user.client.ui.IsWidget;
import com.google.gwt.user.client.ui.Widget;
public class PithosDisclosurePanel extends Composite {
return header;
}
- public void add(IsWidget widget) {
- panel.add(widget);
+ public void setContent(Widget widget) {
+ panel.setContent(widget);
panel.getContent().removeStyleName("content");
panel.getContent().addStyleName(resources.pithosDisclosurePanelCss().content());
}
tree = new CellTree(model, null, res);
tree.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.ENABLED);
- panel.add(tree);
+ panel.setContent(tree);
initWidget(panel);
}
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.Command;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.Tree;
private MysharedTreeViewModel model;
+ private PithosDisclosurePanel panel;
+
private CellTree tree;
+ private CellTree.Resources res = GWT.create(BasicResources.class);
+
public MysharedTreeView(MysharedTreeViewModel viewModel) {
this.model = viewModel;
- PithosDisclosurePanel panel = new PithosDisclosurePanel((Resources) GWT.create(Resources.class), "Shared by me", false);
- /*
+ panel = new PithosDisclosurePanel((Resources) GWT.create(Resources.class), "Shared by me", false);
+ createTree();
+
+ initWidget(panel);
+ }
+
+ /**
+ *
+ */
+ void createTree() {
+ /*
* Create the tree using the model. We use <code>null</code> as the default
* value of the root node. The default value will be passed to
* CustomTreeModel#getNodeInfo();
*/
- CellTree.Resources res = GWT.create(BasicResources.class);
+ if (tree != null)
+ tree.removeFromParent();
tree = new CellTree(model, null, res);
tree.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.ENABLED);
-
- panel.add(tree);
- initWidget(panel);
- }
+ panel.setContent(tree);
+ }
@Override
}
public void updateRoot() {
- TreeNode root = tree.getRootTreeNode();
- root.setChildOpen(0, true);
- root.setChildOpen(0, false);
+ model.initialize(new Command() {
+
+ @Override
+ public void execute() {
+ createTree();
+ }
+ });
}
}
tree = new CellTree(model, null, res);
tree.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.ENABLED);
- panel.add(tree);
+ panel.setContent(tree);
initWidget(panel);
}