/* * @see ViewerSorter#category(Object) */ public int category(Object obj) { if (obj instanceof CPListElement) { CPListElement element = (CPListElement) obj; if (element.getParentContainer() != null) { return CONTAINER_ENTRY; } if (element.isJRE()) { return JRE_ENTRY; } if (element.isInNonModifiableContainer()) { return REQUIRED_ENTRY; } switch (element.getEntryKind()) { case IIncludePathEntry.CPE_LIBRARY: return LIBRARY; case IIncludePathEntry.CPE_PROJECT: return PROJECT; case IIncludePathEntry.CPE_SOURCE: return SOURCE; case IIncludePathEntry.CPE_CONTAINER: return CONTAINER; } } else if (obj instanceof CPListElementAttribute) { return ATTRIBUTE; } else if (obj instanceof IAccessRule) { return ATTRIBUTE; } return OTHER; }
private void editElementEntry(CPListElement elem) { CPListElement[] res = openProjectDialog(elem); if (res != null && res.length > 0) { CPListElement curr = res[0]; curr.setExported(elem.isExported()); fProjectsList.replaceElement(elem, curr); } }
public ExclusionInclusionEntryDialog( Shell parent, boolean isExclusion, String patternToEdit, List existingPatterns, CPListElement entryToEdit) { super(parent); fIsExclusion = isExclusion; fExistingPatterns = existingPatterns; String title, message; if (isExclusion) { if (patternToEdit == null) { title = NewWizardMessages.ExclusionInclusionEntryDialog_exclude_add_title; } else { title = NewWizardMessages.ExclusionInclusionEntryDialog_exclude_edit_title; } message = Messages.format( NewWizardMessages.ExclusionInclusionEntryDialog_exclude_pattern_label, BasicElementLabels.getPathLabel(entryToEdit.getPath(), false)); } else { if (patternToEdit == null) { title = NewWizardMessages.ExclusionInclusionEntryDialog_include_add_title; } else { title = NewWizardMessages.ExclusionInclusionEntryDialog_include_edit_title; } message = Messages.format( NewWizardMessages.ExclusionInclusionEntryDialog_include_pattern_label, BasicElementLabels.getPathLabel(entryToEdit.getPath(), false)); } setTitle(title); if (patternToEdit != null) { fExistingPatterns.remove(patternToEdit); } IWorkspaceRoot root = entryToEdit.getJavaProject().getProject().getWorkspace().getRoot(); IResource res = root.findMember(entryToEdit.getPath()); if (res instanceof IContainer) { fCurrSourceFolder = (IContainer) res; } fExclusionPatternStatus = new StatusInfo(); ExclusionPatternAdapter adapter = new ExclusionPatternAdapter(); fExclusionPatternDialog = new StringButtonDialogField(adapter); fExclusionPatternDialog.setLabelText(message); fExclusionPatternDialog.setButtonLabel( NewWizardMessages.ExclusionInclusionEntryDialog_pattern_button); fExclusionPatternDialog.setDialogFieldListener(adapter); fExclusionPatternDialog.enableButton(fCurrSourceFolder != null); if (patternToEdit == null) { fExclusionPatternDialog.setText(""); // $NON-NLS-1$ } else { fExclusionPatternDialog.setText(patternToEdit.toString()); } }
private void updateProjectsList(IJavaScriptProject currJProject) { // add the projects-cpentries that are already on the class path List cpelements = fClassPathList.getElements(); final List checkedProjects = new ArrayList(cpelements.size()); for (int i = cpelements.size() - 1; i >= 0; i--) { CPListElement cpelem = (CPListElement) cpelements.get(i); if (isEntryKind(cpelem.getEntryKind())) { checkedProjects.add(cpelem); } } fProjectsList.setElements(checkedProjects); }
private void showAccessRestrictionDialog(CPListElement selElement) { AccessRulesDialog dialog = new AccessRulesDialog(getShell(), selElement, fCurrJProject, fPageContainer != null); int res = dialog.open(); if (res == Window.OK || res == AccessRulesDialog.SWITCH_PAGE) { selElement.setAttribute(CPListElement.ACCESSRULES, dialog.getAccessRules()); selElement.setAttribute( CPListElement.COMBINE_ACCESSRULES, new Boolean(dialog.doCombineAccessRules())); fProjectsList.refresh(); fClassPathList.dialogFieldChanged(); // validate if (res == AccessRulesDialog.SWITCH_PAGE) { dialog.performPageSwitch(fPageContainer); } } }
private CPListElement[] openProjectDialog(CPListElement elem) { try { ArrayList selectable = new ArrayList(); selectable.addAll(Arrays.asList(fCurrJProject.getJavaScriptModel().getJavaScriptProjects())); selectable.remove(fCurrJProject); List elements = fProjectsList.getElements(); for (int i = 0; i < elements.size(); i++) { CPListElement curr = (CPListElement) elements.get(0); IJavaScriptProject proj = (IJavaScriptProject) JavaScriptCore.create(curr.getResource()); selectable.remove(proj); } Object[] selectArr = selectable.toArray(); new JavaScriptElementComparator().sort(null, selectArr); ListSelectionDialog dialog = new ListSelectionDialog( getShell(), Arrays.asList(selectArr), new ArrayContentProvider(), new JavaUILabelProvider(), NewWizardMessages.ProjectsWorkbookPage_chooseProjects_message); dialog.setTitle(NewWizardMessages.ProjectsWorkbookPage_chooseProjects_title); dialog.setHelpAvailable(false); if (dialog.open() == Window.OK) { Object[] result = dialog.getResult(); CPListElement[] cpElements = new CPListElement[result.length]; for (int i = 0; i < result.length; i++) { IJavaScriptProject curr = (IJavaScriptProject) result[i]; cpElements[i] = new CPListElement( fCurrJProject, IIncludePathEntry.CPE_PROJECT, curr.getPath(), curr.getResource()); } return cpElements; } } catch (JavaScriptModelException e) { return null; } return null; }
private void updateClasspathList() { List projelements = fProjectsList.getElements(); boolean remove = false; List cpelements = fClassPathList.getElements(); // backwards, as entries will be deleted for (int i = cpelements.size() - 1; i >= 0; i--) { CPListElement cpe = (CPListElement) cpelements.get(i); if (isEntryKind(cpe.getEntryKind())) { if (!projelements.remove(cpe)) { cpelements.remove(i); remove = true; } } } for (int i = 0; i < projelements.size(); i++) { cpelements.add(projelements.get(i)); } if (remove || (projelements.size() > 0)) { fClassPathList.setElements(cpelements); } }
/** * @return Returns the container child status or <code>null</code> if the attribute is not in a * container child */ private IStatus getContainerChildStatus() { return fParent.getContainerChildStatus(this); }
public int hashCode() { return fKey.hashCode() * 89 + fParent.getPath().hashCode(); }
public boolean equals(Object obj) { if (!(obj instanceof CPListElementAttribute)) return false; CPListElementAttribute attrib = (CPListElementAttribute) obj; return attrib.fKey == this.fKey && attrib.getParent().getPath().equals(fParent.getPath()); }