Package com.tensegrity.wpalo.client.ui.model

Examples of com.tensegrity.wpalo.client.ui.model.TreeNode


        final List<TreeNode> orderedSelection = new ArrayList<TreeNode>();
        final LinkedHashSet<FastMSTreeItem> currentSelection = sourceHierarchyTree.getSelection();
        sourceHierarchyTree.traverse(new FastMSTreeItemVisitor() {
          public boolean visit(FastMSTreeItem item, FastMSTreeItem parent) {
            if (currentSelection.contains(item)) {
              TreeNode node = (TreeNode) item.getModel();             
              node.set("filterPath", node.getPath());
              orderedSelection.add(node);
            }
            return item.getChildCount() > 0;
          }
        });
View Full Code Here


    allPrefixes.add(prefix);
    addAllPrefixes(prefix);
  }
 
  public boolean filter(final FastMSTreeItem item) {
    final TreeNode tNode = item.getModel();
    if (tNode != null && size > 0) {
      String path = tNode.getPath();
      if (allPaths.contains(path)) {
        selector.select(item, true);
        if (!reachedFirstSelectedElement) {
          reachedFirstSelectedElement = true;
          DeferredCommand.addCommand(new Command(){
View Full Code Here

  public boolean shouldExpand(FastMSTreeItem item) {
    if (item.isLeafNode()) {
      return false;
    }
    TreeNode tNode = item.getModel();
    if (tNode != null && size > 0) {
      String path = tNode.getPath();
      if (allPrefixes.contains(path)) {
        return true;
      }
//      for (String p : allPaths) {
//        if (p.indexOf(path) != -1 && !p.equals(path)) {
View Full Code Here

    return new XObjectModel(xObject);
  }

  private final XObjectModel determineParent(
      Map<Integer, XObjectModel> nodeMap, TreeNode node) {
    TreeNode nd = node;
    while (nd.getParent() != null) {
      if (nodeMap.containsKey(nd.getParent().getId())) {
        return nodeMap.get(nd.getParent().getId());
      }
      nd = nd.getParent();
    }
    return null;
  }
View Full Code Here

    DeferredCommand.addCommand(new IncrementalCommand() {
      private int index = 0;
      private final int size = nodes.size();
     
      public boolean execute() {
        TreeNode node = nodes.get(index);
        XObjectModel parent = determineParent(nodeMap, node);
        XObjectModel xObjModel = wrap(node.getXObject());
        if (node.get("filterPath") != null) {
          xObjModel.set("filterPath", node.get("filterPath"));
        } else {
          xObjModel.remove("filterPath");
        }
        FastMSTreeItem item = new FastMSTreeItem();   
        item.setVisible(true);
        item.setXObjectModel(xObjModel);
        if (node.getXObject() instanceof XElementNode) {
          item.setHTML(getTreeItemText((XElementNode) node.getXObject()));
        } else {
          item.setText(node.getXObject().getName());
        }
        xObjModel.setItem(item);
        if (parent == null) {
          if (selectedRoot == null) {
            tree.addItem(item);
            DOM.scrollIntoView(item.getElement());
            roots.add(item);
          } else {
            selectedRoot.getItem().addItem(item);
          }
        } else {
          parent.getItem().addItem(item);
        }
        nodeMap.put(node.getId(), xObjModel);
        index++;
        if (index >= size) {
          tree.deepExpand(roots);
          fireSelectionNumberChanged();
          nodeMap.clear();
View Full Code Here

  private final void doAdd(int eventType) {
    Object input = null;
    IEditor editor = null;
    switch(eventType) {
    case ADD_ACCOUNT_ITEM:
      input = new TreeNode(null, new XAccount());
      editor = accountEditor;
      break;
    case ADD_CONNECTION_ITEM:
      input = new TreeNode(null, new XConnection());
      editor = connectionEditor;
      break;
    }
   
    final Workbench wb = (Workbench)Registry.get(Workbench.ID);
View Full Code Here

    try {
    Object input = null;
    IEditor editor = null;
    switch(eventType) {
    case ADD_GROUP_ITEM:
      input = new TreeNode(null, new XGroup());
      editor = grpEditor;
      break;
    case ADD_ROLE_ITEM:
      input = new TreeNode(null, new XRole());
      editor = roleEditor;
      break;
    case ADD_USER_ITEM:
      XUser user = ((Workbench) Registry.get(Workbench.ID)).getUser();
      String sessionId = user.getSessionId();
      WPaloAdminServiceProvider.getInstance().getRoles(sessionId, user,
          new Callback<XRole[]>(constants.loadingAllRolesFailed()) {
            public void onSuccess(XRole[] result) {
              XUser newXUser = new XUser();
              final Object input = new TreeNode(null, newXUser);
              for (XRole r: result) {
                if (r.getName().equalsIgnoreCase("editor")) {
                  newXUser.addRoleID(r.getId());
                  newXUser.addRoleName(r.getId(), r.getName());
                }
View Full Code Here

    return browserModel.getViews();
  }

  final void addView(XView originalView, XView xView, boolean openIt,
      boolean isPublic, boolean isEditable) {
    TreeNode selection = getSelectedNode();
    if (originalView != null) {
      selection = findNodeOf(originalView);
    }
    TreeNode parent = getParentFolder(selection);
    browserModel.addView(xView, parent, openIt, this, isPublic, isEditable);
  }
View Full Code Here

    case WPaloEvent.EXPANDED_VIEWBROWSER_SECTION:
      // reload tree
//      browserModel.reload();
      break;
    case WPaloEvent.WILL_DELETE_VIEWBROWSER_VIEW:
      TreeNode viewNode = null;
      Object obj = event.data;
      if (event.data instanceof XObjectWrapper) {
        obj = ((XObjectWrapper) event.data).getXObject();
      }
      if (obj instanceof XView) {
        viewNode = findNodeOf((XView) obj);
      } else if (obj instanceof XFolderElement) {
        viewNode = findNodeOf((XFolderElement) obj);
      } else {
        viewNode = (TreeNode) obj;
      }
      if (viewNode != null)
        delete(viewNode, false);
      break;
    case WPaloEvent.DELETED_ITEM:
      TreeNode node = (TreeNode) event.data;
      // Account account = getAccount((TreeNode)event.data);
      // if(account != null) {
      // deleteAllViewsFor(account)
      // }
      // TreeNode viewNode = (TreeNode)event.data;
View Full Code Here

          if (le.data != null && le.data instanceof List) {
            List loaded = (List) le.data;
            if (!loaded.isEmpty()) {
              Object o = loaded.get(0);
              if (o instanceof TreeNode) {
                TreeNode tn = (TreeNode) o;
                Component c = treeBinder.findItem(tn);
                if (c != null && c instanceof TreeItem) {
                  if (!((TreeItem) c).isExpanded()) {
                    ((TreeItem) c).setExpanded(true);
                    treeLoader.removeLoadListener(this);
                  }
                }
              }
            }
          }
        }
        ((Workbench)Registry.get(Workbench.ID)).hideWaitCursor();
      }     
    };
    treeLoader.addLoadListener(initialOpenListener);
    treeLoader.addLoadListener(new LoadListener(){
        public void loaderBeforeLoad(LoadEvent le) {
          ((Workbench)Registry.get(Workbench.ID)).showWaitCursor(constants.loadingChildren());
        }

        public void loaderLoadException(LoadEvent le) {
          ((Workbench)Registry.get(Workbench.ID)).hideWaitCursor();
        }

        public void loaderLoad(LoadEvent le) {
          ((Workbench)Registry.get(Workbench.ID)).hideWaitCursor();
        }     
    });
    final ToolBar toolbar = new ToolBar();
    TextToolItem addFolder = new TextToolItem("", "icon-create-folder");
    addFolder.setToolTip(constants.createNewViewFolder());
    addFolder.addSelectionListener(new SelectionListener<ComponentEvent>() {
      public void componentSelected(ComponentEvent ce) {
        createNewFolder();
      }
    });
    toolbar.add(addFolder);

    toolbar.add(new SeparatorToolItem());

    TextToolItem createViews = new TextToolItem("", "icon-create-view");
    createViews.setToolTip(constants.createNewViews());
    createViews
        .addSelectionListener(new SelectionListener<ComponentEvent>() {
          public void componentSelected(ComponentEvent ce) {
            TreeNode node = getSelectedNode();
            createViews(node);
          }
        });
    toolbar.add(createViews);
    TextToolItem importViews = new TextToolItem("", "icon-import-view");
    importViews.setToolTip(constants.importViews());
    importViews
        .addSelectionListener(new SelectionListener<ComponentEvent>() {
          public void componentSelected(ComponentEvent ce) {
            TreeNode node = getSelectedNode();
            importViews(node);
          }
        });
    toolbar.add(importViews);

    toolbar.add(new SeparatorToolItem());

    renameItem = new TextToolItem("", "icon-rename");
    renameItem.setToolTip(constants.renameSelectedItem());
    renameItem.setEnabled(true);
    renameItem.addSelectionListener(new SelectionListener<ComponentEvent>() {
      public void componentSelected(ComponentEvent ce) {
        handleAction(RENAME);
      }
    });
    toolbar.add(renameItem);
   
    deleteItem = new TextToolItem("", "icon-delete-off");
    deleteItem.setToolTip(constants.deleteSelectedItem());
    deleteItem.setEnabled(false);
    deleteItem
        .addSelectionListener(new SelectionListener<ComponentEvent>() {
          public void componentSelected(ComponentEvent ce) {
            handleAction(DELETE);
          }
        });
    toolbar.add(deleteItem);
 
    navigator.setTopComponent(toolbar);
    navigator.add(viewsTree);
    Workbench wb = (Workbench) Registry.get(Workbench.ID);
    wb.addToViewPanel(navigator);
    ComponentHelper.doAttach(viewsTree);
    navigator.addListener(Events.OnKeyUp, new Listener<BaseEvent>() {
      public void handleEvent(BaseEvent be) {
        viewsTree.fireEvent(Events.OnKeyUp, be);
      }      
    });
   
    toolbar.add(new SeparatorToolItem());
       
//    SplitToolItem about = new SplitToolItem("");
//    about.setIconStyle("icon-about");
   
    TextToolItem about = new TextToolItem("", "icon-about");
    about.setToolTip(constants.extras());
//    about.addSelectionListener(new SelectionListener<ComponentEvent>() {
//      public void componentSelected(ComponentEvent ce) {
//        WPaloPropertyServiceProvider.getInstance().getBuildNumber(new AsyncCallback<String>() {
//          public void onFailure(Throwable arg0) {
//            displayAboutDialog("<Unknown>");
//          }
//
//          public void onSuccess(String result) {
//            displayAboutDialog(result);
//          }
//        });
//      }
//    });
   
    Menu menu = new Menu();
    editViewProperties = new MenuItem(constants.editViewProperties());
    editViewProperties.addSelectionListener(new SelectionListener<ComponentEvent>() {
      public void componentSelected(ComponentEvent ce) {
        XUser user = ((Workbench)Registry.get(Workbench.ID)).getUser();
        final String sessionId = user.getSessionId();
        XView targetView = null;
        XObject xObj = null;
        TreeItem item = null;
        TreeNode node = null;
        if (treeBinder != null && treeBinder.getTree() != null) {
          TreeItem selection = treeBinder.getTree().getSelectedItem();
          if (selection != null) {
            item = selection;
            node = (TreeNode) selection.getModel();
            xObj = browserModel.getWrappedXObject(node);
            if (xObj instanceof XFolderElement) {
              XObject source = ((XFolderElement) xObj).getSourceObject();
              if (source != null && source instanceof XView) {
                targetView = (XView) source;
              }
            }
          }
        }
        if (targetView != null) {
          final XView viewToModify = targetView;
          final XObject xObject = xObj;
          final TreeItem selectedItem = item;
          final TreeNode nodeOfView = node;
//          int permission = user.getId().equals(targetView.getOwnerId()) ? 2 : 16;
          int permission = user.isAdmin() ? 0 : (user.getId().equals(targetView.getOwnerId()) ? 16 : 22);
          WPaloCubeViewServiceProvider.getInstance().checkPermission(sessionId, permission, new Callback <Boolean>(){
            public void onSuccess(Boolean result) {
              if (result) {
                final EditViewPropertiesDialog dlg =
                  new EditViewPropertiesDialog(viewToModify);
                dlg.addButtonListener(EditViewPropertiesDialog.BUTTON_OK,
                    new Listener<BaseEvent>() {
                      public void handleEvent(BaseEvent be) {
                        boolean pub = dlg.isPublic();
                        boolean edi = dlg.isEditable();
                        String ownerId = dlg.getOwner();
                        String accId = dlg.getAccountId();
                        String dbId = dlg.getDatabaseId();
                        String cubeId = dlg.getCubeId();
                        WPaloCubeViewServiceProvider.getInstance().setVisibility(
                            sessionId, (XFolderElement) xObject, pub, edi, ownerId, accId, dbId, cubeId, new Callback <XView>(){
                              public void onSuccess(XView view) {                                                             
                                XFolderElement xObj = (XFolderElement) browserModel.getWrappedXObject(nodeOfView);
                                xObj.setSourceObject(view);                               
                                selectedItem.setIconStyle(getIconStyle(view));
                                treeBinder.getStore().update(nodeOfView);
                              }});
                      }
                    });
                dlg.show();
              } else {
                MessageBox.alert(constants.notEnoughRights(), constants.notEnoughRightsToModifyVisibility(), null);
              }
            }
          });
        }
      }
    });
    menu.add(editViewProperties);
   
    createDirectLink = new MenuItem(constants.createDirectLink());
    createDirectLink.addSelectionListener(new SelectionListener<ComponentEvent>() {
      public void componentSelected(ComponentEvent ce) {
        if (treeBinder != null && treeBinder.getTree() != null) {
          TreeItem selection = treeBinder.getTree().getSelectedItem();
          if (selection != null) {
            TreeNode node = (TreeNode) selection.getModel();
            final XObject xObj = browserModel.getWrappedXObject(node);
            if (xObj instanceof XFolderElement) {
              final XObject source = ((XFolderElement) xObj).getSourceObject();
              if (source != null && source instanceof XView) {
                final CreateDirectLinkDialog cdl = new CreateDirectLinkDialog((XView) source);
View Full Code Here

TOP

Related Classes of com.tensegrity.wpalo.client.ui.model.TreeNode

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.