Example usage for com.google.gwt.user.client.ui TreeItem getParentItem

List of usage examples for com.google.gwt.user.client.ui TreeItem getParentItem

Introduction

In this page you can find the example usage for com.google.gwt.user.client.ui TreeItem getParentItem.

Prototype

public TreeItem getParentItem() 

Source Link

Document

Gets this item's parent.

Usage

From source file:com.openkm.frontend.client.widget.Draggable.java

License:Open Source License

/**
 * Dragable/*from   ww w.j a va  2  s .c  o m*/
 */
public Draggable() {
    dragged = false;
    floater = new HTML("");
    table.setVisible(false);
    floater.sinkEvents(Event.MOUSEEVENTS);
    floater.setWordWrap(false);
    floater.setStyleName("okm-Draggable");

    table.setVisible(false);
    table.setWidget(0, 0, floater);
    table.setStyleName("okm-Draggable");

    floater.addMouseUpHandler(new MouseUpHandler() {
        @Override
        public void onMouseUp(MouseUpEvent event) {
            DOM.releaseCapture(floater.getElement());
            floater.setHTML("");
            table.setVisible(false);

            // Only move if dragged has been enabled by timer
            if (dragged) {

                // Action depends on origin dragable
                switch (originPanel) {
                case TREE_ROOT:

                    TreeItem clickedTreeItem = Main.get().activeFolderTree
                            .elementClicked(DOM.eventGetTarget((Event) event.getNativeEvent()));
                    if (clickedTreeItem != null
                            && (((GWTFolder) clickedTreeItem.getUserObject()).getPermissions()
                                    & GWTPermission.WRITE) == GWTPermission.WRITE) {
                        final TreeItem draggedTreeItem = Main.get().activeFolderTree.getActualItem();
                        boolean isChild = DOM.isOrHasChild(draggedTreeItem.getElement(),
                                clickedTreeItem.getElement());

                        if (draggedTreeItem != clickedTreeItem && !isChild) {
                            // Actual folder
                            GWTFolder gwtFolder = ((GWTFolder) draggedTreeItem.getUserObject());

                            // Destination path
                            final String dstPath = ((GWTFolder) clickedTreeItem.getUserObject()).getPath();

                            // The parent of actual item selected
                            TreeItem parentItem = draggedTreeItem.getParentItem();
                            ObjectToMove objToMove = new ObjectToMove(gwtFolder, dstPath, null, draggedTreeItem,
                                    parentItem, clickedTreeItem);
                            Main.get().confirmPopup
                                    .setConfirm(ConfirmPopup.CONFIRM_DRAG_DROP_MOVE_FOLDER_FROM_TREE);
                            Main.get().confirmPopup.setValue(objToMove);
                            Main.get().confirmPopup.show();
                        }
                    }
                    break;

                case FILE_BROWSER:
                    clickedTreeItem = Main.get().activeFolderTree
                            .elementClicked(DOM.eventGetTarget((Event) event.getNativeEvent()));
                    TreeItem actualTreeItem = Main.get().activeFolderTree.getActualItem();

                    if (clickedTreeItem != null
                            && Main.get().mainPanel.desktop.browser.fileBrowser.isSelectedRow()
                            && (((GWTFolder) clickedTreeItem.getUserObject()).getPermissions()
                                    & GWTPermission.WRITE) == GWTPermission.WRITE) {

                        // Destination path
                        final String dstPath = ((GWTFolder) clickedTreeItem.getUserObject()).getPath();

                        // if selected path = actual path must not move
                        if (!dstPath.equals(((GWTFolder) actualTreeItem.getUserObject()).getPath())) {

                            // Unselects folder destination on tree
                            if (lastSelectElement != null) {
                                DOM.setElementProperty(lastSelectElement, "className", "gwt-TreeItem");
                            }

                            if (Main.get().mainPanel.desktop.browser.fileBrowser.isFolderSelected()) {

                                final GWTFolder gwtFolder = Main.get().mainPanel.desktop.browser.fileBrowser
                                        .getFolder(); // The dragged folder
                                String fldPath = gwtFolder.getPath(); // Folder actual path

                                // Destination path must not containt actual folder path, because folder can't
                                // be moved to his subfolders
                                if (!dstPath.startsWith(fldPath)) {
                                    // Gets the moved tree Item
                                    final TreeItem movedTreeItem = Main.get().activeFolderTree
                                            .getChildFolder(fldPath);
                                    ObjectToMove objToMove = new ObjectToMove(gwtFolder, dstPath, fldPath,
                                            movedTreeItem, actualTreeItem, clickedTreeItem);
                                    Main.get().confirmPopup.setConfirm(
                                            ConfirmPopup.CONFIRM_DRAG_DROP_MOVE_FOLDER_FROM_BROWSER);
                                    Main.get().confirmPopup.setValue(objToMove);
                                    Main.get().confirmPopup.show();
                                }

                            } else if (Main.get().mainPanel.desktop.browser.fileBrowser.isDocumentSelected()) {
                                GWTDocument gwtDocument = Main.get().mainPanel.desktop.browser.fileBrowser
                                        .getDocument(); // The dragged document
                                ObjectToMove objToMove = new ObjectToMove(gwtDocument, dstPath, null, null,
                                        null, null);
                                Main.get().confirmPopup
                                        .setConfirm(ConfirmPopup.CONFIRM_DRAG_DROP_MOVE_DOCUMENT);
                                Main.get().confirmPopup.setValue(objToMove);
                                Main.get().confirmPopup.show();

                            } else if (Main.get().mainPanel.desktop.browser.fileBrowser.isMailSelected()) {
                                GWTMail gwtMail = Main.get().mainPanel.desktop.browser.fileBrowser.getMail(); // The
                                // dragged
                                // document
                                ObjectToMove objToMove = new ObjectToMove(gwtMail, dstPath, null, null, null,
                                        null);
                                Main.get().confirmPopup.setConfirm(ConfirmPopup.CONFIRM_DRAG_DROP_MOVE_MAIL);
                                Main.get().confirmPopup.setValue(objToMove);
                                Main.get().confirmPopup.show();
                            }
                        }
                    }
                    break;
                }
            }

            dragged = false; // Sets always dragged to false

            // Always we destroy possible timers to automatic up / down scroll
            Main.get().mainPanel.desktop.navigator.scrollTaxonomyPanel.destroyTimer();

        }
    });

    floater.addMouseMoveHandler(new MouseMoveHandler() {
        @Override
        public void onMouseMove(MouseMoveEvent event) {
            if (dragged && event != null) {

                // Sets the floater visible
                table.setVisible(true);

                int posX = event.getClientX();
                int posY = event.getClientY();
                //RootPanel.get().setWidgetPosition(Main.get().draggable, posX + 1, posY);
                RootLayoutPanel.get().setWidgetLeftWidth(Main.get().draggable, posX + 1, Unit.PX,
                        table.getOffsetWidth(), Unit.PX);
                RootLayoutPanel.get().setWidgetTopHeight(Main.get().draggable, posY, Unit.PX,
                        table.getOffsetHeight(), Unit.PX);

                // Sets selected tree style to indicate posible selected destination
                selectedTreeItem = Main.get().activeFolderTree
                        .elementClicked(DOM.eventGetTarget((Event) event.getNativeEvent()));
                TreeItem actualItem = Main.get().activeFolderTree.getActualItem();

                // Removes always style of last selected treeItem
                if (lastSelectedTreeItem != null && !actualItem.equals(lastSelectedTreeItem)
                        && lastSelectElement != null) {
                    DOM.setElementProperty(lastSelectElement, "className", "gwt-TreeItem");
                    lastSelectedTreeItem = null;
                }

                // Sets the style of actual tree item
                if (selectedTreeItem != null) {
                    selectedElement = getSelectedElement(selectedTreeItem.getElement());
                    if (selectedElement == null) {
                        Window.alert("Problem: '" + selectedTreeItem.getElement().getInnerHTML() + "'");
                    }
                    DOM.setElementProperty(selectedElement, "className", "gwt-TreeItem gwt-TreeItem-selected");

                    if (lastSelectedTreeItem != null && !selectedTreeItem.equals(lastSelectedTreeItem)
                            && !actualItem.equals(lastSelectedTreeItem) && lastSelectElement != null) {
                        DOM.setElementProperty(lastSelectElement, "className", "gwt-TreeItem");
                    }

                    lastSelectedTreeItem = selectedTreeItem;
                    lastSelectElement = selectedElement;
                }

                // Action depends dragables destinations widgets
                Main.get().mainPanel.desktop.navigator.scrollTaxonomyPanel.ScrollOnDragDrop(posX + 1, posY);
            }
        }
    });

    initWidget(table);
}

From source file:com.square.composant.ged.square.client.presenter.AssociationActionsDocumentsPresenter.java

License:Open Source License

@Override
public void onBind() {

    // Construction de la liste arborescente des documents associs  l'utilisateur
    view.getBoutonAnnuler().addClickHandler(new ClickHandler() {
        @Override/*from   ww w . j a va 2  s. com*/
        public void onClick(ClickEvent event) {
            view.fermer();
        }
    });
    view.getBoutonAjouter().addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {

            // Ajout de l'entre slectionne  la liste des documents associs.
            if (mapItemsDisponibles.containsKey(view.getArbreDocumentsClient().getSelectedItem())) {
                // Dj affect ?
                final DocumentModel docSelectionne = mapItemsDisponibles
                        .get(view.getArbreDocumentsClient().getSelectedItem());
                if (!mapIdItemsAssocies.containsKey(
                        docSelectionne.getParent().getIdentifiant() + docSelectionne.getIdentifiant())) {
                    // Ajout  la liste & affichage
                    if (!listeIdsDocumentsAction.contains(docSelectionne.getIdentifiant())) {
                        listeIdsDocumentsAction.add(docSelectionne.getIdentifiant());
                    }

                    // Ajout de l'lment
                    final TreeItem parent = selectionneParentDyna(docSelectionne.getParent());
                    final TreeItem treeItem = new TreeItem(docSelectionne.getNom());
                    treeItem.addStyleName("elementArborescence");
                    parent.addItem(treeItem);
                    mapIdItemsAssocies.put(
                            docSelectionne.getParent().getIdentifiant() + docSelectionne.getIdentifiant(),
                            treeItem);
                    mapItemsAssocies.put(treeItem, docSelectionne);
                    ouvrirParents(treeItem);
                }
            }
        }
    });
    view.getBoutonEnlever().addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            // Suppression de l'entite slectionne de la liste des documents associs.
            final TreeItem selectedItem = view.getArbreDocumentsAction().getSelectedItem();
            if (mapItemsAssocies.containsKey(selectedItem)) {
                final DocumentModel document = mapItemsAssocies
                        .get(view.getArbreDocumentsAction().getSelectedItem());
                listeIdsDocumentsAction.remove(document.getIdentifiant());
                final TreeItem parent = selectedItem.getParentItem();
                selectedItem.remove();
                mapItemsAssocies.remove(selectedItem);
                mapIdItemsAssocies.remove(document.getParent().getIdentifiant() + document.getIdentifiant());
                nettoyerParents(parent);
            }
        }
    });
    view.getBoutonAjouterDocument().addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            if (ajoutDocumentPresenter == null) {
                ajoutDocumentPresenter = new AjoutDocumentPresenter(eventBus, numClient, idAction,
                        new AjoutDocumentViewImpl(), documentService);
                ajoutDocumentPresenter.showPresenter(null);
                ajoutDocumentPresenter.addEventHandlerToLocalBus(AddDocumentEvent.TYPE,
                        new AddDocumentEventHandler() {
                            @Override
                            public void onAddDocument(AddDocumentEvent event) {
                                // Si un document a t ajout  une action, on ferme la popup
                                view.fermer();
                                fireEventLocalBus(new AssociationActionDocumentEvent());
                            }
                        });
            } else {
                ajoutDocumentPresenter.afficher(numClient, idAction);
            }
        }
    });
    view.getBoutonEnregistrer().addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            view.afficherLoadingPopup(
                    new LoadingPopupConfiguration(view.getViewConstants().chargementDesDocumentsEnCours()));
            documentService.associerDocumentsAAction(idAction, listeIdsDocumentsAction,
                    new AsyncCallback<Object>() {

                        @Override
                        public void onFailure(Throwable caught) {
                            view.onRpcServiceFailure(caught);
                        }

                        @Override
                        public void onSuccess(Object result) {
                            view.onRpcServiceSuccess();
                            view.fermer();
                            fireEventLocalBus(new AssociationActionDocumentEvent());
                        }
                    });
        }
    });
}

From source file:com.square.composant.ged.square.client.presenter.AssociationActionsDocumentsPresenter.java

License:Open Source License

/**
 * Nettoyage des noeuds parents.//from  ww w.  j  a  v a 2s  .  c  o  m
 */
private void nettoyerParents(TreeItem noeud) {
    if (noeud != null) {
        final TreeItem parent = noeud.getParentItem();
        if (noeud.getChildCount() == 0) {
            if (mapItemsDossiersAssocies.containsKey(noeud)) {
                final DossierDocumentModel dossierModel = mapItemsDossiersAssocies.get(noeud);
                mapIdItemsDossierAssocies.remove(dossierModel.getIdentifiant());
                mapItemsDossiersAssocies.remove(noeud);
            }
            noeud.remove();
        }
        if (parent != null) {
            nettoyerParents(parent);
        }
    }
}

From source file:com.square.composant.ged.square.client.presenter.AssociationActionsDocumentsPresenter.java

License:Open Source License

/**
 * Nettoyage des noeuds parents./*from   w w w. ja v  a2  s  .c  o m*/
 */
private void ouvrirParents(TreeItem noeud) {
    if (noeud.getParentItem() != null) {
        noeud.getParentItem().setState(true);
        ouvrirParents(noeud.getParentItem());
    }
}

From source file:de.novanic.gwteventservice.demo.conversationapp.client.conversation.ui.GWTConversationChannelPanel.java

License:Open Source License

private boolean isChannelItem(TreeItem aTreeItem) {
    //the channels are at the first level (has no parent item)
    return (aTreeItem.getParentItem() == null);
}

From source file:eml.studio.client.ui.tree.BaseTree.java

License:Open Source License

public BaseTree() {
    super(new TreeImageResources(), true);

    this.addStyleName("bda-treedir");

    this.addSelectionHandler(new SelectionHandler<TreeItem>() {
        @Override//from   w w  w .  j av a 2  s . c  o m
        public void onSelection(SelectionEvent<TreeItem> event) {
            TreeItem item = event.getSelectedItem();
            Boolean state = item.getState();
            // [GWT Issue 3660] to avoid pass invoke onSection two times
            TreeItem parent = item.getParentItem();
            item.getTree().setSelectedItem(parent, false);
            if (parent != null)
                parent.setSelected(false);
            item.setState(!state);
        }
    });
}

From source file:fast.servicescreen.client.gui.RuleUtil.java

License:Open Source License

/**
 * Returns false, if given item is null or
 * his parents text is "Rules:" (means highest item in List) 
 * //www.ja v a 2s  .  co  m
 * Returns true, otherwise
 * */
public static boolean isNotNullOrRoot(TreeItem item) {
    if ((item == null) || (item.getParentItem().getText().equals("Rules:")))
        return false;
    return true;
}

From source file:gov.nist.spectrumbrowser.admin.JSONViewer.java

License:Open Source License

public void draw() {

    Tree tree = new Tree();

    HorizontalPanel hpanel = new HorizontalPanel();
    HorizontalPanel treePanel = new HorizontalPanel();
    treePanel.add(tree);/* ww  w.j  a va 2s .  c o  m*/
    treePanel.setCellHorizontalAlignment(tree, HasHorizontalAlignment.ALIGN_LEFT);
    JSONObject strJ = (JSONObject) jsonObject.get(rootName);
    TreeItem rootItem = tree.addTextItem(rootName);
    TreeItem madAdder = populate(rootItem, strJ);
    Button okButton = new Button("OK");
    Button logoffButton = new Button("Log Off");

    verticalPanel.clear();
    madAdder.setState(true);
    tree.addItem(madAdder);

    tree.addSelectionHandler(new SelectionHandler<TreeItem>() {

        @Override
        public void onSelection(SelectionEvent<TreeItem> event) {
            TreeItem item = event.getSelectedItem();
            String parentItem = item.getParentItem().getText();
            if (parentItem.equals("_dataKey")) {
                JSONValue messageData = sensor.getMessageData().get(rootName + "_DATA");
                JSONArray arrdata = (JSONArray) messageData;
                if (arrdata == null) {
                    Window.alert("Empty");
                } else {
                    List<String> strlist = new ArrayList<String>();
                    for (int i = 0; i < arrdata.size(); i++) {
                        strlist.add(arrdata.get(i).toString());
                    }
                    final MyPopup popup = new MyPopup();
                    final TextArea box = new TextArea();
                    final SimplePanel pane = new SimplePanel();
                    box.setText("The first five corresponding values are: \n" + strlist.subList(0, 5));
                    box.setReadOnly(true);
                    box.setCharacterWidth(50);
                    pane.add(box);
                    popup.setWidget(pane);
                    popup.center();
                    popup.setAutoHideEnabled(true);
                    popup.show();

                }
            }
        }
    });

    okButton.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            showMessageDates.draw();

        }
    });
    hpanel.add(okButton);

    logoffButton.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            admin.logoff();
        }
    });

    hpanel.add(logoffButton);

    verticalPanel.add(treePanel);
    verticalPanel.add(hpanel);
    initWidget(verticalPanel);

}

From source file:info.vstour.dbdoc.client.DbDoc.java

License:Apache License

public void onModuleLoad() {

    Window.enableScrolling(false);
    Window.setMargin("0" + UNIT);

    final VerticalPanel bodyVPanel = new VerticalPanel();
    bodyVPanel.setWidth("100%");

    final HorizontalPanel bodyHPanel = new HorizontalPanel();
    bodyHPanel.setSpacing(3);/*from   w w w.  j ava2s.  c o  m*/

    final HTML doc = new HTML();

    final ScrollPanel docWrapper = new ScrollPanel(doc);

    objectsTree = new DbObjectsPanel(docService);

    final MenuPanel menuPanel = new MenuPanel(docService, eventBus);
    menuPanel.ownerChangeHandlers().addChangeHandler(new ChangeHandler() {
        @Override
        public void onChange(ChangeEvent event) {
            objectsTree.clearDbObjects();
            doc.setHTML("");
            objectsTree.initDbObjects(Filter.get().getDbObjects());
        }
    });

    eventBus.addHandler(MenuUpdateEvent.TYPE, new MenuUpdateEvent.Handler() {
        @Override
        public void onMenuUpdate(MenuUpdateEvent event) {
            if (event.isNewConn()) {
                objectsTree.clear();
                doc.setHTML("");
            } else {
                objectsTree.clearDbObjects();
            }
            objectsTree.initDbObjects(Filter.get().getDbObjects());
        }
    });

    objectsTree.getTreeOpenHandler().addOpenHandler(new OpenHandler<TreeItem>() {
        public void onOpen(OpenEvent<TreeItem> event) {
            final TreeItem treeItem = event.getTarget();
            if (treeItem.getChild(0).getText().isEmpty()) {

                doc.setHTML(new Image(Resources.INSTANCE.processing()).toString());

                docService.getTreeItems(Filter.get().getConnName(), Filter.get().getOwner(), treeItem.getText(),
                        Filter.get().getFilter(), new AsyncCallback<List<String>>() {
                            @Override
                            public void onSuccess(List<String> items) {
                                doc.setHTML("");
                                for (String item : items) {
                                    treeItem.addItem(item);
                                }
                            }

                            @Override
                            public void onFailure(Throwable caught) {
                                doc.setHTML("");
                            }
                        });

                // Remove the temporary item when we finish loading
                treeItem.getChild(0).remove();
            }
        }
    });

    // Handler that gets documentation
    SelectionHandler<TreeItem> sHandler = new SelectionHandler<TreeItem>() {
        public void onSelection(SelectionEvent<TreeItem> event) {
            final TreeItem treeItem = event.getSelectedItem();

            if (treeItem.getParentItem() != null) {
                final String parent = treeItem.getParentItem().getText();
                final String child = treeItem.getText();

                doc.setHTML(new Image(Resources.INSTANCE.processing()).toString());
                docService.getDoc(Filter.get().getConnName(), Filter.get().getOwner(), parent, child,
                        new AsyncCallback<String>() {

                            public void onFailure(Throwable caught) {
                                doc.setHTML(caught.toString());
                            }

                            public void onSuccess(String result) {
                                objectsTree.cacheDoc(Filter.get().getOwner() + "." + child, result);
                                doc.setHTML(result);
                            }
                        });
            }
        }
    };
    objectsTree.getTreeSelectionHandler().addSelectionHandler(sHandler);

    objectsTree.getCacheTreeSelectionHandler().addSelectionHandler(new SelectionHandler<TreeItem>() {
        @Override
        public void onSelection(SelectionEvent<TreeItem> event) {
            doc.setHTML(objectsTree.getCachedDoc(event.getSelectedItem().getText()));
        }
    });

    bodyHPanel.add(objectsTree);
    bodyHPanel.add(docWrapper);

    bodyVPanel.add(menuPanel);
    bodyVPanel.add(bodyHPanel);

    Window.addResizeHandler(new ResizeHandler() {

        public void onResize(ResizeEvent event) {
            int height = event.getHeight();
            int width = event.getWidth();
            bodyVPanel.setHeight(height + UNIT);
            docWrapper.setHeight(height - docWrapper.getAbsoluteTop() + UNIT);
            docWrapper.setWidth(width - docWrapper.getAbsoluteLeft() + UNIT);
            objectsTree.setHeight(height);
        }
    });

    RootPanel.get().add(bodyVPanel);

    objectsTree.setHeight(Window.getClientHeight());
    docWrapper.setHeight(Window.getClientHeight() - docWrapper.getAbsoluteTop() + UNIT);
    docWrapper.setWidth(Window.getClientWidth() - docWrapper.getAbsoluteLeft() + UNIT);

}

From source file:net.husoftware.client.spike.DragDropLabel.java

License:Open Source License

private void initDrop() {
    addDomHandler(new DragOverHandler() {
        @Override/*  w w w .  j av a 2  s  . c  o  m*/
        public void onDragOver(DragOverEvent event) {
            addStyleName("dropping");
        }
    }, DragOverEvent.getType());

    addDomHandler(new DragLeaveHandler() {
        @Override
        public void onDragLeave(DragLeaveEvent event) {
            removeStyleName("dropping");
        }
    }, DragLeaveEvent.getType());

    addDomHandler(new DropHandler() {
        @Override
        public void onDrop(DropEvent event) {
            event.preventDefault();
            if (dragging != null) {
                // Target treeitem is found via 'this';
                // Dragged treeitem is found via 'dragging'.

                TreeItem dragTarget = null;
                TreeItem dragSource = null;

                // The parent of 'this' is not the TreeItem, as that's not a Widget.
                // The parent is the tree containing the treeitem.
                Tree tree = (Tree) DragDropLabel.this.getParent();

                // Visit the entire tree, searching for the drag and drop TreeItems

                List<TreeItem> stack = new ArrayList<TreeItem>();
                stack.add(tree.getItem(0));
                while (!stack.isEmpty()) {
                    TreeItem item = stack.remove(0);
                    for (int i = 0; i < item.getChildCount(); i++) {
                        stack.add(item.getChild(i));
                    }

                    Widget w = item.getWidget();
                    if (w != null) {
                        if (w == dragging) {
                            dragSource = item;
                            if (dragTarget != null) {
                                break;
                            }
                        }
                        if (w == DragDropLabel.this) {
                            dragTarget = item;
                            w.removeStyleName("dropping");
                            if (dragSource != null) {
                                break;
                            }
                        }
                    }
                }

                // Do we have a source and a target?
                if (dragSource != null && dragTarget != null) {
                    // Make sure that target is not a child of dragSource

                    TreeItem test = dragTarget;
                    while (test != null) {
                        if (test == dragSource) {
                            return;
                        }
                        test = test.getParentItem();
                    }

                    // Move the dragged item (source) under the target.
                    dragTarget.addItem(dragSource);
                    // Make sure the the target treeitem is open.
                    dragTarget.setState(true);
                }
                dragging = null;
            }
        }
    }, DropEvent.getType());
}