public boolean isExpandable(Object element) { if (contentProviderIsLazy) { TreeItem treeItem = (TreeItem) internalExpand(element, false); if (treeItem == null) { return false; } virtualMaterializeItem(treeItem); return treeItem.getItemCount() > 0; } return super.isExpandable(element); }
@Override public boolean isExpandable(Object element) { if (contentProviderIsLazy) { TreeItem treeItem = (TreeItem) internalExpand(element, false); if (treeItem == null) { return false; } virtualMaterializeItem(treeItem); return treeItem.getItemCount() > 0; } return super.isExpandable(element); }
@Override public boolean isExpandable(Object element) { if (contentProviderIsLazy) { TreeItem treeItem = (TreeItem) internalExpand(element, false); if (treeItem == null) { return false; } virtualMaterializeItem(treeItem); return treeItem.getItemCount() > 0; } return super.isExpandable(element); }
/** * Return whether the given element is expandable. * * @param item * the tree item for the element * @param parentPath * the parent path if it is known or <code>null</code> if it * needs to be determines * @param element * the element * @return whether the given element is expandable */ private boolean isExpandable(Item item, TreePath parentPath, Object element) { Object elementOrTreePath = element; if (isTreePathContentProvider()) { if (parentPath != null) { elementOrTreePath = parentPath.createChildPath(element); } else { elementOrTreePath = getTreePathFromItem(item); } } return isExpandable(elementOrTreePath); }
/** * Return whether the given element is expandable. * * @param item * the tree item for the element * @param parentPath * the parent path if it is known or <code>null</code> if it * needs to be determines * @param element * the element * @return whether the given element is expandable */ private boolean isExpandable(Item item, TreePath parentPath, Object element) { Object elementOrTreePath = element; if (isTreePathContentProvider()) { if (parentPath != null) { elementOrTreePath = parentPath.createChildPath(element); } else { elementOrTreePath = getTreePathFromItem(item); } } return isExpandable(elementOrTreePath); }
/** * Return whether the given element is expandable. * * @param item * the tree item for the element * @param parentPath * the parent path if it is known or <code>null</code> if it * needs to be determines * @param element * the element * @return whether the given element is expandable */ private boolean isExpandable(Item item, TreePath parentPath, Object element) { Object elementOrTreePath = element; if (isTreePathContentProvider()) { if (parentPath != null) { elementOrTreePath = parentPath.createChildPath(element); } else { elementOrTreePath = getTreePathFromItem(item); } } return isExpandable(elementOrTreePath); }
/** Returns true if children were pruned */ /*package*/ boolean optionallyPruneChildren(Item item, Object element) { // need a dummy node if element is expandable; // but try to avoid recreating the dummy node boolean needDummy = isExpandable(item, null, element); boolean haveDummy = false; // remove all children Item[] items = getItems(item); for (int i = 0; i < items.length; i++) { if (items[i].getData() != null) { disassociate(items[i]); items[i].dispose(); } else { if (needDummy && !haveDummy) { haveDummy = true; } else { items[i].dispose(); } } } if (needDummy && !haveDummy) { newItem(item, SWT.NULL, -1); } return true; }
/** Returns true if children were pruned */ /*package*/ boolean optionallyPruneChildren(Item item, Object element) { // need a dummy node if element is expandable; // but try to avoid recreating the dummy node boolean needDummy = isExpandable(item, null, element); boolean haveDummy = false; // remove all children Item[] items = getItems(item); for (Item child : items) { if (child.getData() != null) { disassociate(child); child.dispose(); } else { if (needDummy && !haveDummy) { haveDummy = true; } else { child.dispose(); } } } if (needDummy && !haveDummy) { newItem(item, SWT.NULL, -1); } return true; }
/** Returns true if children were pruned */ /*package*/ boolean optionallyPruneChildren(Item item, Object element) { // need a dummy node if element is expandable; // but try to avoid recreating the dummy node boolean needDummy = isExpandable(item, null, element); boolean haveDummy = false; // remove all children Item[] items = getItems(item); for (int i = 0; i < items.length; i++) { if (items[i].getData() != null) { disassociate(items[i]); items[i].dispose(); } else { if (needDummy && !haveDummy) { haveDummy = true; } else { items[i].dispose(); } } } if (needDummy && !haveDummy) { newItem(item, SWT.NULL, -1); } return true; }
if (level == ALL_LEVELS || level > 0) { if (widget instanceof Item && widget.getData() != null && !isExpandable((Item) widget, null, widget.getData())) { return;
if (level == ALL_LEVELS || level > 0) { if (widget instanceof Item && widget.getData() != null && !isExpandable((Item) widget, null, widget.getData())) { return;
if (level == ALL_LEVELS || level > 0) { if (widget instanceof Item && widget.getData() != null && !isExpandable((Item) widget, null, widget.getData())) { return;
/** * Returns the frame for the selection, or <code>null</code> if there is no * frame for the selection. * * @param flags a bit-wise OR of the frame source flag constants * @return the selection frame, or <code>null</code> */ protected Frame getSelectionFrame(int flags) { IStructuredSelection sel = (IStructuredSelection) viewer.getSelection(); if (sel.size() == 1) { Object o = sel.getFirstElement(); if (viewer.isExpandable(o)) { TreeFrame frame = createFrame(o); if ((flags & IFrameSource.FULL_CONTEXT) != 0) { frame.setSelection(viewer.getSelection()); frame.setExpandedElements(viewer.getExpandedElements()); } return frame; } } return null; }
boolean needsPlus = isExpandable(item, null, element); boolean removeAll = false; boolean addDummy = false;
boolean needsPlus = isExpandable(item, null, element); boolean removeAll = false; boolean addDummy = false;
boolean needsPlus = isExpandable(item, null, element); boolean removeAll = false; boolean addDummy = false;
Item ti = (Item) widget; if (!getExpanded(ti)) { boolean needDummy = isExpandable(ti, path, parent); boolean haveDummy = false;
Item ti = (Item) widget; if (!getExpanded(ti)) { boolean needDummy = isExpandable(ti, path, parent); boolean haveDummy = false;
Item ti = (Item) widget; if (!getExpanded(ti)) { boolean needDummy = isExpandable(ti, path, parent); boolean haveDummy = false;
if (isExpandable(ti, null, parent)) { if (its.length == 0) {