private boolean canExport(List<?> selected) { if (selected.size() != 1) { return false; } Object elem = selected.get(0); if (elem instanceof CPElement) { CPElement element = (CPElement) selected.get(0); if (element.getParentContainer() == null && element.getInherited() == null) { IPath base_ref = (IPath) element.getAttribute(CPElement.BASE_REF); if (base_ref != null && !base_ref.equals(Path.EMPTY)) return false; return element.getEntryKind() == IPathEntry.CDT_INCLUDE || element.getEntryKind() == IPathEntry.CDT_MACRO; } } return false; }
private boolean canMove(List<?> selected) { if (selected.size() == 0) { return false; } for (int i = 0; i < selected.size(); i++) { Object element = selected.get(i); if (!(element instanceof CPElement)) return false; CPElement elem = (CPElement) element; if (elem.getEntryKind() != IPathEntry.CDT_INCLUDE && elem.getEntryKind() != IPathEntry.CDT_MACRO) { return false; } if (elem.getParentContainer() != null || elem.getInherited() != null) { return false; } } return true; }
/** * @param cpentry * @param str */ private void addParentInfo(CPElement cpentry, StringBuffer str) { if (bShowParentInfo) { CPElement parent = cpentry.getParentContainer(); if (parent != null) { str.append(" ["); // $NON-NLS-1$ try { IPathEntryContainer container = CoreModel.getPathEntryContainer(cpentry.getPath(), cpentry.getCProject()); if (container != null) { str.append(container.getDescription()); } } catch (CModelException e) { str.append(parent.getPath()); } str.append(']'); } } }
private boolean canRemove(List<?> selected) { if (selected.size() != 1) { return false; } Object elem = selected.get(0); if (elem instanceof CPElement) { CPElement element = (CPElement) elem; if (element.getParentContainer() == null) { return element.getEntryKind() == IPathEntry.CDT_INCLUDE || element.getEntryKind() == IPathEntry.CDT_MACRO; } } else if (elem instanceof CPElementAttribute) { CPElementAttribute attrib = (CPElementAttribute) elem; if (attrib.getKey().equals(CPElement.EXCLUSION)) { if (((IPath[]) attrib.getValue()).length > 0) { return true; } } } return false; }
private boolean canEdit(List<?> selected) { if (selected.size() != 1) { return false; } Object elem = selected.get(0); if (elem instanceof CPElement) { CPElement element = (CPElement) selected.get(0); if (element.getParentContainer() == null && element.getInherited() == null) { IPath path = (IPath) element.getAttribute(CPElement.BASE_REF); if (path != null && !path.equals(Path.EMPTY)) { return false; } return element.getEntryKind() == IPathEntry.CDT_INCLUDE || element.getEntryKind() == IPathEntry.CDT_MACRO || element.getEntryKind() == IPathEntry.CDT_CONTAINER; } } if (elem instanceof CPElementAttribute) { return true; } return false; }