protected IPathEntry[] getRawPathEntries() { List<CPElement> paths = getCPaths(); IPathEntry[] currEntries = new IPathEntry[paths.size()]; for (int i = 0; i < currEntries.length; i++) { CPElement curr = paths.get(i); currEntries[i] = curr.getPathEntry(); } return currEntries; }
protected CPElement[] openContainerSelectionDialog(CPElement existing) { IContainerEntry elem = null; String title; if (existing == null) { title = CPathEntryMessages.IncludeSymbolEntryPage_ContainerDialog_new_title; } else { title = CPathEntryMessages.IncludeSymbolEntryPage_ContainerDialog_edit_title; elem = (IContainerEntry) existing.getPathEntry(); } CPathContainerWizard wizard = new CPathContainerWizard( elem, null, fCurrCProject, getRawPathEntries(), new int[] {IPathEntry.CDT_INCLUDE, IPathEntry.CDT_MACRO}); wizard.setWindowTitle(title); if (CPathContainerWizard.openWizard(getShell(), wizard) == Window.OK) { IPathEntry parent = wizard.getEntriesParent(); IPathEntry[] elements = wizard.getEntries(); if (elements != null) { CPElement[] res = new CPElement[elements.length]; CPElementGroup group = getSelectedGroup(); for (int i = 0; i < res.length; i++) { if (elements[i].getEntryKind() == IPathEntry.CDT_INCLUDE) { res[i] = new CPElement( fCurrCProject, IPathEntry.CDT_INCLUDE, group.getResource().getFullPath(), group.getResource()); res[i].setAttribute(CPElement.INCLUDE, ((IIncludeEntry) elements[i]).getIncludePath()); res[i].setAttribute(CPElement.BASE_REF, parent.getPath()); } else if (elements[i].getEntryKind() == IPathEntry.CDT_MACRO) { res[i] = new CPElement( fCurrCProject, IPathEntry.CDT_MACRO, group.getResource().getFullPath(), group.getResource()); res[i].setAttribute(CPElement.MACRO_NAME, ((IMacroEntry) elements[i]).getMacroName()); res[i].setAttribute(CPElement.BASE_REF, parent.getPath()); } } return res; } return new CPElement[] {CPElement.createFromExisting(parent, fCurrCProject)}; } return null; }