switch (index) { case IDX_ADDJAR: /* add jar */ libentries= openJarFileDialog(null); break; case IDX_ADDEXT: /* add external jar */ libentries= openExtJarFileDialog(null); break; case IDX_ADDVAR: /* add variable */ libentries= openVariableSelectionDialog(null); break; case IDX_ADDLIB: /* add library */ libentries= openContainerSelectionDialog(null); break; case IDX_ADDFOL: /* add folder */ libentries= openClassFolderDialog(null); break; case IDX_EDIT: /* edit */ editEntry(); return; case IDX_REMOVE: /* remove */ removeEntry(); return; case IDX_REPLACE: /* replace */ replaceJarFile(); return; askForAddingExclusionPatternsDialog(elementsToAdd);
private void updateEnabledState() { List selElements= fLibrariesList.getSelectedElements(); fLibrariesList.enableButton(IDX_EDIT, canEdit(selElements)); fLibrariesList.enableButton(IDX_REMOVE, canRemove(selElements)); fLibrariesList.enableButton(IDX_REPLACE, getSelectedPackageFragmentRoot() != null); boolean noAttributes= containsOnlyTopLevelEntries(selElements); fLibrariesList.enableButton(IDX_ADDEXT, noAttributes); fLibrariesList.enableButton(IDX_ADDFOL, noAttributes); fLibrariesList.enableButton(IDX_ADDJAR, noAttributes); fLibrariesList.enableButton(IDX_ADDLIB, noAttributes); fLibrariesList.enableButton(IDX_ADDVAR, noAttributes); }
IPath[] paths= BuildPathDialogAccess.chooseVariableEntries(getShell(), existingPathsArray); if (paths != null) { ArrayList result= new ArrayList(); for (int i = 0; i < paths.length; i++) { IPath path= paths[i]; CPListElement elem= createCPVariableElement(path); if (!existingElements.contains(elem)) { result.add(elem); IPath path= BuildPathDialogAccess.configureVariableEntry(getShell(), existing.getPath(), existingPathsArray); if (path != null) { return new CPListElement[] { createCPVariableElement(path) };
protected void libaryPageKeyPressed(TreeListDialogField field, KeyEvent event) { if (field == fLibrariesList) { if (event.character == SWT.DEL && event.stateMask == 0) { List selection= field.getSelectedElements(); if (canRemove(selection)) { removeEntry(); } } } }
switch (index) { case IDX_ADDJAR: /* add jar */ libentries= openJarFileDialog(null); break; case IDX_ADDEXT: /* add external jar */ libentries= openExtJarFileDialog(null); break; case IDX_ADDVAR: /* add variable */ libentries= openVariableSelectionDialog(null); break; case IDX_ADDLIB: /* add library */ libentries= openContainerSelectionDialog(null); break; case IDX_ADDFOL: /* add folder */ libentries= openClassFolderDialog(null); break; case IDX_ADDEXTFOL: /* add external folder */ libentries= openExternalClassFolderDialog(null); break; case IDX_EDIT: /* edit */ editEntry(); return; case IDX_REMOVE: /* remove */ removeEntry(); return; case IDX_REPLACE: /* replace */ replaceJarFile(); return;
IClasspathEntry result= BuildPathDialogAccess.configureSourceAttachment(getShell(), selElement.getClasspathEntry(), canEditEncoding); if (result != null) { selElement.setAttribute(CPListElement.SOURCEATTACHMENT, result.getSourceAttachmentPath()); selElement.setAttribute(CPListElement.SOURCE_ATTACHMENT_ENCODING, SourceAttachmentBlock.getSourceAttachmentEncoding(result)); String[] changedAttributes= { CPListElement.SOURCEATTACHMENT, CPListElement.SOURCE_ATTACHMENT_ENCODING }; attributeUpdated(selElement, changedAttributes); fLibrariesList.refresh(elem); updateEnabledState(); 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()); String[] changedAttributes= { CPListElement.ACCESSRULES }; attributeUpdated(selElement, changedAttributes); updateEnabledState(); if (showModuleDialog(getShell(), elem)) { String[] changedAttributes= { CPListElement.MODULE }; attributeUpdated(selElement, changedAttributes); if (hasRootNodes()) { boolean isModular= selElement.getAttribute(CPListElement.MODULE) != null; RootNodeChange direction= RootNodeChange.fromOldAndNew(wasModular, isModular); if (direction != RootNodeChange.NoChange) { moveCPElementAcrossNode(fLibrariesList, selElement, direction); updateEnabledState();
IClasspathEntry result= BuildPathDialogAccess.configureSourceAttachment(getShell(), selElement.getClasspathEntry()); if (result != null) { selElement.setAttribute(CPListElement.SOURCEATTACHMENT, result.getSourceAttachmentPath()); String[] changedAttributes= { CPListElement.SOURCEATTACHMENT }; attributeUpdated(selElement, changedAttributes); fLibrariesList.refresh(elem); updateEnabledState(); 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()); String[] changedAttributes= { CPListElement.ACCESSRULES }; attributeUpdated(selElement, changedAttributes); updateEnabledState(); if (editCustomAttribute(getShell(), elem)) { String[] changedAttributes= { key }; attributeUpdated(selElement, changedAttributes); fLibrariesList.refresh(elem); updateEnabledState();
item.setControl(fProjectsPage.getControl(folder)); fLibrariesPage= new LibrariesWorkbookPage(fClassPathList, fPageContainer); item= new TabItem(folder, SWT.NONE); item.setText(NewWizardMessages.BuildPathsBlock_tab_libraries); item.setImage(JavaPluginImages.get(JavaPluginImages.IMG_OBJS_LIBRARY)); item.setData(fLibrariesPage); item.setControl(fLibrariesPage.getControl(folder)); fLibrariesPage.init(fCurrJProject); fProjectsPage.init(fCurrJProject);
private boolean canEdit(List<?> selElements) { if (selElements.size() != 1) { return false; } Object elem= selElements.get(0); if (elem instanceof CPListElement) { CPListElement curr= (CPListElement) elem; if(((CPListElement) elem).isRootNodeForPath()) { return false; } return !(curr.getResource() instanceof IFolder) && curr.getParentContainer() == null; } if (elem instanceof CPListElementAttribute) { CPListElementAttribute attrib= (CPListElementAttribute) elem; if (attrib.isNonModifiable()) { return false; } if (!attrib.isBuiltIn()) { return canEditCustomAttribute(attrib); } if (hasRootNodes() && attrib.getKey().equals(IClasspathAttribute.MODULE)) { //module attribute should always be enabled return true; } return true; } return false; }
public void addElement(IClasspathEntry entry) { int pageIndex= getPageIndex(entry.getEntryKind()); if (fTabFolder == null) { fPageIndex= pageIndex; } else { fTabFolder.setSelection(pageIndex); Object page= fTabFolder.getItem(pageIndex).getData(); if (page instanceof LibrariesWorkbookPage) { CPListElement element= CPListElement.createFromExisting(entry, fCurrJProject); ((LibrariesWorkbookPage) page).addElement(element); } } }
if (!canRemoveCustomAttribute(attrib)) { return false;
private boolean canEdit(List selElements) { if (selElements.size() != 1) { return false; } Object elem= selElements.get(0); if (elem instanceof CPListElement) { CPListElement curr= (CPListElement) elem; return !(curr.getResource() instanceof IFolder) && curr.getParentContainer() == null; } if (elem instanceof CPListElementAttribute) { CPListElementAttribute attrib= (CPListElementAttribute) elem; if (attrib.isNonModifiable()) { return false; } if (!attrib.isBuiltIn()) { return canEditCustomAttribute(attrib); } return true; } return false; }
IClasspathEntry result= BuildPathDialogAccess.configureSourceAttachment(getShell(), selElement.getClasspathEntry(), canEditEncoding); if (result != null) { selElement.setAttribute(CPListElement.SOURCEATTACHMENT, result.getSourceAttachmentPath()); selElement.setAttribute(CPListElement.SOURCE_ATTACHMENT_ENCODING, SourceAttachmentBlock.getSourceAttachmentEncoding(result)); String[] changedAttributes= { CPListElement.SOURCEATTACHMENT, CPListElement.SOURCE_ATTACHMENT_ENCODING }; attributeUpdated(selElement, changedAttributes); fLibrariesList.refresh(elem); updateEnabledState(); 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()); String[] changedAttributes= { CPListElement.ACCESSRULES }; attributeUpdated(selElement, changedAttributes); updateEnabledState(); if (editCustomAttribute(getShell(), elem)) { String[] changedAttributes= { key }; attributeUpdated(selElement, changedAttributes); fLibrariesList.refresh(elem); updateEnabledState(); if (key.equals(IClasspathAttribute.EXTERNAL_ANNOTATION_PATH)) { if (fCurrJProject.getOption(JavaCore.COMPILER_ANNOTATION_NULL_ANALYSIS, true).equals(JavaCore.DISABLED)) { MessageDialog messageDialog= new MessageDialog(getShell(), NewWizardMessages.LibrariesWorkbookPage_externalAnnotationNeedsNullAnnotationEnabled_title,
item.setControl(fProjectsPage.getControl(folder)); fLibrariesPage= new LibrariesWorkbookPage(fClassPathList, fPageContainer); item= new TabItem(folder, SWT.NONE); item.setText(NewWizardMessages.BuildPathsBlock_tab_libraries); item.setImage(JavaPluginImages.get(JavaPluginImages.IMG_OBJS_LIBRARY)); item.setData(fLibrariesPage); item.setControl(fLibrariesPage.getControl(folder)); fLibrariesPage.init(fCurrJProject); fProjectsPage.init(fCurrJProject); fIs9OrHigher= JavaModelUtil.is9OrHigher(fCurrJProject);
protected void libaryPageKeyPressed(TreeListDialogField<CPListElement> field, KeyEvent event) { if (field == fLibrariesList) { if (event.character == SWT.DEL && event.stateMask == 0) { List<?> selection= field.getSelectedElements(); if (canRemove(selection)) { removeEntry(); } } } }
public void addElement(IClasspathEntry entry) { int pageIndex= getPageIndex(entry.getEntryKind()); if (fTabFolder == null) { fPageIndex= pageIndex; } else { fTabFolder.setSelection(pageIndex); Object page= fTabFolder.getItem(pageIndex).getData(); if (page instanceof LibrariesWorkbookPage) { CPListElement element= CPListElement.create(entry, true, fCurrJProject); ((LibrariesWorkbookPage) page).addElement(element); } } }
if (!canRemoveCustomAttribute(attrib)) { return false;
private boolean canEdit(List<?> selElements) { if (selElements.size() != 1) { return false; } Object elem= selElements.get(0); if (elem instanceof CPListElement) { CPListElement curr= (CPListElement) elem; return !(curr.getResource() instanceof IFolder) && curr.getParentContainer() == null; } if (elem instanceof CPListElementAttribute) { CPListElementAttribute attrib= (CPListElementAttribute) elem; if (attrib.isNonModifiable()) { return false; } if (!attrib.isBuiltIn()) { return canEditCustomAttribute(attrib); } return true; } return false; }