List of usage examples for org.eclipse.jface.viewers CheckboxTreeViewer getCheckedElements
public Object[] getCheckedElements()
From source file:com.crispico.flower.mp.metamodelset.flowerfile.wizard.FlowerModelFileWizard.java
License:Open Source License
private void organizeJavaSrcDirs(EObject[] initialModels) { // get the root package Package rootPackage = (Package) initialModels[FlowerMPUtils.ROOT_PACKAGE_POSITION]; // control from where we will extract the selected srcDirs CheckboxTreeViewer treeViewer = (CheckboxTreeViewer) ((SelectDirectoriesWizardPageForFlowerModel) selectSrcDirsPage) .getJavaTreeViewer();/* www . j a v a 2 s .c o m*/ // add things only if there is something checked in the tree if (treeViewer.getCheckedElements().length > 0) { boolean unknownTypesPackageExists = false; for (Package pack : rootPackage.getNestedPackages()) { if (pack instanceof JavaUnknownTypesPackage) { unknownTypesPackageExists = true; break; } } if (!unknownTypesPackageExists) { rootPackage.getNestedPackages().add(CodeSyncJavaFactory.eINSTANCE.createJavaUnknownTypesPackage()); } IFile newFile = newFileWizardPage.getModelFile(); // for every checked folders from selectSrcDirs, create a JavaSrcDirPackage for (Object obj : treeViewer.getCheckedElements()) { String name = null; IProject proj; String path = ""; //get the project where it resides proj = ((IContainer) obj).getProject(); // get the path to this folder path = ((IContainer) obj).getProjectRelativePath().toString(); if (proj != newFile.getProject()) { // absolute if in another project (with ..//) name = "../" + proj.getName() + "/" + path; } else if (obj instanceof IProject) { name = "../" + proj.getName(); } else { // relative if in the same project name = path; } JavaSrcDirPackage srcDir = CodeSyncJavaFactory.eINSTANCE.createJavaSrcDirPackage(); srcDir.setName(name); rootPackage.getNestedPackages().add(srcDir); } } }
From source file:com.crispico.flower.mp.metamodelset.uml4asfile.wizard.UML4ASModelWizard.java
License:Open Source License
/** * The method gets the user options regarding model contents and creates the corresponding model. * * @author Cristina//from w w w. j a va2 s . co m * @flowerModelElementId _MeEEkIxEEeCzNMVLxoYGLw */ private void organizeSrcDirs(EObject[] initialModels) { // get the root package Package rootPackage = (Package) initialModels[FlowerMPUtils.ROOT_PACKAGE_POSITION]; // control from where we will extract the selected srcDirs CheckboxTreeViewer treeViewer = (CheckboxTreeViewer) selectSrcDirsPage.getTreeViewer(); // add things only if there is something checked in the tree if (treeViewer.getCheckedElements().length > 0) { boolean unknownTypesPackageExists = false; for (Package pack : rootPackage.getNestedPackages()) { if (pack instanceof ActionScriptUnknownTypesPackage) { unknownTypesPackageExists = true; break; } } if (!unknownTypesPackageExists) { rootPackage.getNestedPackages() .add(CodeSyncASFactory.eINSTANCE.createActionScriptUnknownTypesPackage()); } IFile newFile = newFileWizardPage.getModelFile(); // for every checked folders from selectSrcDirs, create an ActionScriptSrcDirPackage for (Object obj : treeViewer.getCheckedElements()) { String name = null; IProject proj; String path = ""; //get the project where it resides proj = ((IContainer) obj).getProject(); // get the path to this folder path = ((IContainer) obj).getProjectRelativePath().toString(); if (proj != newFile.getProject()) { // absolute if in another project (with ..//) name = "../" + proj.getName() + "/" + path; } else if (obj instanceof IProject) { name = "../" + proj.getName(); } else { // relative if in the same project name = path; } ActionScriptSrcDirPackage srcDir = CodeSyncASFactory.eINSTANCE.createActionScriptSrcDirPackage(); srcDir.setName(name); rootPackage.getNestedPackages().add(srcDir); } } }
From source file:com.github.caofangkun.bazelipse.wizard.DirectoryTreeContentProvider.java
License:Open Source License
/** * Returns the list of path selected in <code>tv</code>. It returns the list of checked path * without the children of the checked path. Each path is returned as a string giving the relative * path from the root of the tree.// w ww .jav a 2 s. c o m */ static ImmutableList<String> getSelectPathsRelativeToRoot(CheckboxTreeViewer tv) { DirectoryTreeContentProvider provider = (DirectoryTreeContentProvider) tv.getContentProvider(); String root = provider.root.getAbsolutePath(); ImmutableList.Builder<String> builder = ImmutableList.builder(); for (Object element : tv.getCheckedElements()) { if (!tv.getGrayed(element)) { Object parent = provider.getParent(element); if (parent == null || tv.getGrayed(parent)) { // Only add this element if its parent is not selected (so it's the root). String path = ((File) element).getAbsolutePath(); // Strip root from path if (path.startsWith(root)) { path = path.substring(root.length()); if (path.startsWith("/")) { path = path.substring(1); } builder.add(path); } } } } return builder.build(); }
From source file:com.nomagic.magicdraw.classpath.MDClasspathContainerPage.java
License:Open Source License
protected void handleSelectButtonPressed() { final IPath fRootPath = MDVariableInitializer.getMDInstallRootPath().addTrailingSeparator(); final File fRoot = fRootPath.toFile(); final List<File> initialSelection = new ArrayList<File>(); final List<String> checkedPrefixes = new ArrayList<String>(); final List<File> checkedSummary = new ArrayList<File>(); for (IPath mdLibPath : fMDClasspathEntries) { File mdLib = mdLibPath.toFile(); initialSelection.add(mdLib);//from w ww . j a v a2s . com } CheckedTreeSelectionDialog dialog = new CheckedTreeSelectionDialog(getContainer().getShell(), new FileLabelProvider(), new FileContentProvider()) { @Override public void create() { super.create(); CheckboxTreeViewer treeViewer = getTreeViewer(); for (File f : initialSelection) { IPath fp = fRootPath.append(f.getPath()); File af = fp.toFile(); treeViewer.reveal(af); treeViewer.setChecked(af, true); } treeViewer.collapseAll(); } @Override protected void computeResult() { checkedSummary.clear(); CheckboxTreeViewer treeViewer = getTreeViewer(); for (Object checkedElement : treeViewer.getCheckedElements()) { if (treeViewer.getGrayed(checkedElement)) continue; if (checkedElement instanceof File) { File checkedFile = (File) checkedElement; String checkedFilepath = checkedFile.getAbsolutePath(); boolean isCheckedDirectory = checkedFile.isDirectory(); if (isCheckedDirectory && !checkedFilepath.endsWith(File.separator)) checkedFilepath += File.separator; boolean addToSummary = true; for (String checkedPrefix : checkedPrefixes) { if (checkedPrefix.equals(checkedFilepath) || (!isCheckedDirectory && checkedFilepath.startsWith(checkedPrefix))) addToSummary = false; } if (addToSummary) { checkedSummary.add(checkedFile); if (checkedFile.isDirectory()) checkedPrefixes.add(checkedFilepath); } } } } }; dialog.setTitle("MagicDraw Library Classpath Selection"); dialog.setMessage("Select the libraries from the MagicDraw installation root:"); dialog.setInput(fRoot); dialog.setContainerMode(true); dialog.open(); int code = dialog.getReturnCode(); if (Dialog.OK == code) { String root = MDVariableInitializer.getMDInstallRootPath().toString(); int rootPrefix = root.length() + 1; fMDClasspathEntries.clear(); for (File file : checkedSummary) { String path = file.getAbsolutePath(); String lib = path.substring(rootPrefix); IPath mdLibpath = new Path(lib); fMDClasspathEntries.add(mdLibpath); } fMDClasspathEntryViewer.setInput(fMDClasspathEntries); } }
From source file:dynamicrefactoring.interfaz.wizard.classificationscombo.ClassificationsCheckBoxTreeListener.java
License:Open Source License
/** * Oscurece el padre si alguno de sus hijos esta marcado. Es decir * oscurece la clasificacion si alguna de sus categorias esta marcada. * /* ww w . j a v a2 s . com*/ * @param classification * elemento padre * @param viewer visor */ protected static void grayParentIfNeeded(Classification classification, CheckboxTreeViewer viewer) { // Si alguno de los hijos de la clasificacion tiene algun hijo marcado if (!Sets.intersection(classification.getCategories(), Sets.newHashSet(Arrays.asList(viewer.getCheckedElements()))).isEmpty()) { // El padre se oscurecera viewer.setGrayChecked(classification, true); } else { viewer.setGrayChecked(classification, false); } }
From source file:net.refractions.udig.project.ui.internal.LegendViewCheckboxUtils.java
License:Open Source License
/** * Returns what the status of the folder's checkbox should be with respect to its child layers. * //from w ww. jav a 2s . c om * @param viewer * @param folder * @return CHECKED - the folder should be checked, BLOCKED - folder should be blocked, UNCHECKED * - folder should be unchecked */ private static FolderState getFolderCheckboxDisplay(CheckboxTreeViewer viewer, Folder folder) { final List<ILegendItem> items = folder.getItems(); if (items.size() == 0) { final boolean isGrayed = viewer.getGrayed(folder); if (isGrayed) { return FolderState.BLOCKED; } final boolean isChecked = viewer.getChecked(folder); if (isChecked) { return FolderState.CHECKED; } } else { int checkedCnt = 0; int grayedCnt = 0; final List<Object> grayedElements = Arrays.asList(viewer.getGrayedElements()); final List<Object> checkedElements = Arrays.asList(viewer.getCheckedElements()); for (ILegendItem item : items) { if (grayedElements.contains(item)) { grayedCnt++; } else if (checkedElements.contains(item)) { checkedCnt++; } } if (checkedCnt > 0) { if (checkedCnt == items.size()) { return FolderState.CHECKED; } else { return FolderState.BLOCKED; } } if (grayedCnt > 0) { return FolderState.BLOCKED; } } return FolderState.UNCHECKED; }
From source file:org.eclipse.edt.ide.rui.visualeditor.internal.wizards.insertwidget.InsertWidgetWizard.java
License:Open Source License
@Override public boolean performFinish() { //get the selected InsertDataNodes CheckboxTreeViewer configureWidgetsTableViewer = insertWidgetWizardPage.getConfigureWidgetsTableViewer(); Object[] checkedElements = configureWidgetsTableViewer.getCheckedElements(); for (int i = 0; i < checkedElements.length; i++) { Object checkedElement = checkedElements[i]; if (checkedElement instanceof InsertDataNode) { InsertDataNode insertDataNode = (InsertDataNode) checkedElement; Activator.getDefault().getPreferenceStore().putValue( insertDataNode.getBindingName() + insertDataNode.getPurpose(), insertDataNode.getWidgetType().getName()); if (!InsertWidgetWizardUtil.isAnEmbedRecord(insertDataNode) && !InsertWidgetWizardUtil.isAPrimitiveArrayInRecord(insertDataNode)) { insertDataNode.setGen(true); if (insertDataNode.getWidgetName() == null) { insertDataNode.setWidgetName(insertDataNode.getDefaultWidgetName()); }/*from w w w . j a v a 2 s . co m*/ } } } //generate TreeItem[] treeItems = configureWidgetsTableViewer.getTree().getItems(); if (treeItems != null && treeItems.length > 0) { TreeItem firstTreeItem = treeItems[0]; if (firstTreeItem.getData() instanceof InsertDataNode) { InsertDataNode rootInsertDataNode = (InsertDataNode) firstTreeItem.getData(); if (rootInsertDataNode.isGen()) { IProgressService progressService = PlatformUI.getWorkbench().getProgressService(); try { progressService.runInUI(PlatformUI.getWorkbench().getProgressService(), new GenerationProgress(rootInsertDataNode, evDesignOverlay, dropLocation), ResourcesPlugin.getWorkspace().getRoot()); } catch (InvocationTargetException e) { Activator.getDefault().getLog().log(new Status(Status.ERROR, Activator.PLUGIN_ID, "InvocationTargetException while insert widget.", e)); } catch (InterruptedException e) { Activator.getDefault().getLog().log(new Status(Status.ERROR, Activator.PLUGIN_ID, "InterruptedException while insert widget.", e)); } } } } return true; }
From source file:org.eclipse.emf.converter.ui.contribution.base.ModelConverterPackagePage.java
License:Open Source License
protected void referencedGenModelsAddSelected(CheckboxTreeViewer treeViewer) { IPath path = null;/*from ww w . ja v a 2s. c om*/ Resource resource = getModelConverter().getGenModel().eResource(); if (resource != null) { if (resource.getURI().isPlatformResource()) { path = new Path(resource.getURI().toPlatformString(true)).makeAbsolute(); } } final IPath genModelPath = path; ResourceSet resourceSet = null; List<GenModel> genModels = new UniqueEList.FastCompare<GenModel>(); final Set<URI> genModelURIs = new HashSet<URI>(); Object input = treeViewer.getInput(); if (input instanceof ItemProvider) { Collection<?> elements = ((ItemProvider) input).getChildren(); for (Object element : elements) { if (element instanceof GenModel) { GenModel genModel = (GenModel) element; URI genModelURI = genModel.eResource().getURI(); genModels.add(genModel); genModelURIs.add(genModelURI); if (resourceSet == null && genModelURI.isPlatformResource()) { resourceSet = genModel.eResource().getResourceSet(); } } } } ViewerFilter genModelFilter = new ViewerFilter() { @Override public boolean select(Viewer viewer, Object parentElement, Object element) { if (element instanceof IFile) { IFile file = (IFile) element; URI uri = URI.createPlatformResourceURI(file.getFullPath().toString(), true); String fileExtension = file.getFileExtension(); return ("genmodel".equals(fileExtension) || "xcore".equals(fileExtension)) && !file.getFullPath().equals(genModelPath) && !genModelURIs.contains(uri); } return true; } }; IFile[] files = WorkspaceResourceDialog.openFileSelection(getShell(), null, ConverterPlugin.INSTANCE.getString("_UI_SelectGenModel_message"), true, null, Collections.singletonList(genModelFilter)); if (files.length > 0) { ResourceSet referencedGenModels = resourceSet != null ? resourceSet : getModelConverter().createResourceSet(); for (int i = 0; i < files.length; ++i) { URI genModelURI = URI.createPlatformResourceURI(files[i].getFullPath().toString(), true); Resource genModelResource = referencedGenModels.getResource(genModelURI, true); GenModel genModel = (GenModel) EcoreUtil.getObjectByType(genModelResource.getContents(), GenModelPackage.Literals.GEN_MODEL); genModels.add(genModel); } addExternalGenModels(genModels); addReferencedGenModels(genModels); List<GenPackage> genPackagesToCheck = new ArrayList<GenPackage>(); Object[] checkedElements = treeViewer.getCheckedElements(); LOOP: for (int i = 0; i < checkedElements.length; i++) { if (checkedElements[i] instanceof GenPackage) { GenPackage checkedGenPackage = (GenPackage) checkedElements[i]; String nsURI = checkedGenPackage.getNSURI(); for (GenModel genModel : genModels) { for (GenPackage genPackage : genModel.getGenPackages()) { if (nsURI.equals(genPackage.getNSURI())) { genPackagesToCheck.add(genPackage); continue LOOP; } } } } } treeViewer.getTree().deselectAll(); treeViewer.cancelEditing(); treeViewer.setInput(new ItemProvider(genModels)); for (Iterator<?> i = genModels.iterator(); i.hasNext();) { treeViewer.expandToLevel(i.next(), AbstractTreeViewer.ALL_LEVELS); } treeViewer.setCheckedElements(genPackagesToCheck.toArray()); referencedGenModelsCheckboxTreeViewerCheckStateChanged(null); } }
From source file:org.eclipse.tcf.internal.cdt.ui.breakpoints.TCFThreadFilterEditor.java
License:Open Source License
protected void doStore() { IDialogSettings settings = getDialogSettings(true); String scopedExpression = getScopeExpression(); if (scopedExpression.length() != 0) updateExpressionsDialogSettings(settings, scopedExpression); TCFBreakpointScopeExtension filterExtension = fPage.getFilterExtension(); if (filterExtension == null) return;/*from ww w .j ava2s .co m*/ filterExtension.setPropertiesFilter(scopedExpression); CheckboxTreeViewer viewer = getThreadViewer(); Object[] elements = viewer.getCheckedElements(); String[] threadIds = null; List<String> checkedIds = new ArrayList<String>(); for (int i = 0; i < elements.length; ++i) { if (elements[i] instanceof Context) { Context ctx = (Context) elements[i]; if (!viewer.getGrayed(ctx)) { checkedIds.add(ctx.fScopeId); } } } if (checkedIds.size() != fFilteredContexts.size()) { threadIds = checkedIds.toArray(new String[checkedIds.size()]); } filterExtension.setThreadFilter(threadIds); }
From source file:org.eclipse.tm.internal.tcf.cdt.ui.breakpoints.TCFThreadFilterEditor.java
License:Open Source License
protected void doStore() { CheckboxTreeViewer viewer = getThreadViewer(); Object[] elements = viewer.getCheckedElements(); String[] threadIds;/*from ww w . j av a2 s . co m*/ List<String> checkedIds = new ArrayList<String>(); for (int i = 0; i < elements.length; ++i) { if (elements[i] instanceof Context) { Context ctx = (Context) elements[i]; if (!viewer.getGrayed(ctx)) { checkedIds.add(ctx.fScopeId); } } } if (checkedIds.size() == fContexts.size()) { threadIds = null; } else { threadIds = checkedIds.toArray(new String[checkedIds.size()]); } TCFBreakpointScopeExtension filterExtension = fPage.getFilterExtension(); if (filterExtension == null) { return; } filterExtension.setThreadFilter(threadIds); DebugPlugin.getDefault().getBreakpointManager().fireBreakpointChanged(fPage.getBreakpoint()); }