List of usage examples for org.eclipse.jface.viewers IStructuredSelection toList
public List toList();
List
. From source file:com.nokia.tools.variant.editor.editors.CPFEditor.java
License:Open Source License
private Group handleParentGroupSelection(IStructuredSelection structuredSelection, Group group) { if (group instanceof ParentGroup) { return group; }// w w w .j av a 2s . co m EList<Setting> settings = group.getSettings(); List<?> list = structuredSelection.toList(); for (Object object : list) { Setting topSetting = getTopSetting(object); if (!settings.contains(topSetting)) { return (Group) group.eContainer(); } } return group; }
From source file:com.nokia.tools.variant.resourcelibrary.views.ResourceLibraryPage.java
License:Open Source License
protected FileSystemElement[] getSelectedFiles(IStructuredSelection selection) { List<?> list = selection.toList(); FileSystemElement[] array = list.toArray(new FileSystemElement[list.size()]); return array; }
From source file:com.nokia.tools.variant.resourcelibrary.views.ResourceLibraryPage.java
License:Open Source License
private ISelection createAdaptableSelection(ISelection selection) { StructuredSelection sel = null;//w w w.j a v a 2s . c o m if (selection instanceof IStructuredSelection) { IStructuredSelection ss = (IStructuredSelection) selection; ArrayList<ResourceStorage> storages = new ArrayList<ResourceStorage>(); for (Object object : ss.toList()) { if (object instanceof FileSystemElement) { FileSystemElement fse = (FileSystemElement) object; ResourceStorage storage = new ResourceStorage(fse); storages.add(storage); } } Object[] array = storages.toArray(); sel = new StructuredSelection(array); } return (sel == null) ? selection : sel; }
From source file:com.nokia.tools.variant.viewer.viewer.SettingsViewer.java
License:Open Source License
@SuppressWarnings("unchecked") private void fireSelection(BaseConfMLWidget widget) { Object data = widget.getData(); IStructuredSelection selection = (IStructuredSelection) getSelection(); if (widget.isSelected()) { List<Object> list = new ArrayList<Object>(); list.addAll(selection.toList()); list.remove(data);/*from w ww . ja v a 2 s .c o m*/ list.add(0, data); selection = new StructuredSelection(list); } fireSelectionChanged(new SelectionChangedEvent(SettingsViewer.this, selection)); }
From source file:com.nokia.tools.variant.viewer.viewer.SettingsViewer.java
License:Open Source License
private void handleShiftMouseSelection(BaseConfMLWidget textBox) { if (!textBox.isSelected()) { IStructuredSelection selection = (IStructuredSelection) getSelection(); List<Object> newSelection = new ArrayList<Object>(); Object firstElement = selection.getFirstElement(); Object data = textBox.getData(); List<Object> flatStructure = getFlatStructure(); for (Object object : flatStructure) { if (selection.toList().contains(object)) { firstElement = object;/*ww w . j av a 2s . c o m*/ break; } } int indexOfData = flatStructure.indexOf(data); int indexOfFirst = flatStructure.indexOf(firstElement); if (indexOfData > indexOfFirst) { for (int i = indexOfFirst; i < indexOfData + 1; i++) { newSelection.add(flatStructure.get(i)); } } else { for (int i = indexOfData; i < indexOfFirst + 1; i++) { newSelection.add(flatStructure.get(i)); } } setSelection(new StructuredSelection(newSelection)); } }
From source file:com.nokia.tools.vct.confml.editor.view.ViewsEditor.java
License:Open Source License
/** * Drop adapter for Drag and Drop// w w w. j av a 2 s . c o m * * @return */ private DropTargetAdapter getDropTargetAdapter() { return new DropTargetAdapter() { public void dragOver(DropTargetEvent event) { ISelection selection = LocalSelectionTransfer.getTransfer().getSelection(); if (!(selection instanceof IStructuredSelection) || selection.isEmpty()) { event.feedback = DND.DROP_NONE; event.detail = DND.DROP_NONE; return; } Object[] dropped = ((IStructuredSelection) selection).toArray(); // combined drops are not supported... boolean hadFeatureOrSettingOrReference = false; boolean hadGroup = false; boolean hadView = false; for (Object obj : dropped) { if (obj instanceof ESetting || obj instanceof EFeature || obj instanceof EAppSetting || obj instanceof EAppFeature) { hadFeatureOrSettingOrReference = true; if (hadGroup) { event.feedback = DND.DROP_NONE; event.detail = DND.DROP_NONE; return; } } else if (obj instanceof ESettingRef) { if (!isFromRootView((EObject) obj)) { event.feedback = DND.DROP_NONE; event.detail = DND.DROP_NONE; return; } hadFeatureOrSettingOrReference = true; if (hadGroup) { event.feedback = DND.DROP_NONE; event.detail = DND.DROP_NONE; return; } } else if (obj instanceof EGroup) { if (!isFromRootView((EObject) obj)) { event.feedback = DND.DROP_NONE; event.detail = DND.DROP_NONE; return; } hadGroup = true; if (hadFeatureOrSettingOrReference) { event.feedback = DND.DROP_NONE; event.detail = DND.DROP_NONE; return; } } else if (obj instanceof EView) { if (!isViewUnderRoot((EObject) obj)) { event.feedback = DND.DROP_NONE; event.detail = DND.DROP_NONE; return; } hadView = true; } else { event.feedback = DND.DROP_NONE; event.detail = DND.DROP_NONE; return; } } if (event.item == null) { event.feedback = DND.DROP_NONE; event.detail = DND.DROP_NONE; return; } if (!hadFeatureOrSettingOrReference && !hadGroup && !hadView) { event.feedback = DND.DROP_NONE; event.detail = DND.DROP_NONE; return; } event.feedback = DND.FEEDBACK_EXPAND | DND.FEEDBACK_SCROLL; event.detail = DND.DROP_MOVE; TreeItem item = (TreeItem) event.item; Point pt = Display.getCurrent().map(null, viewTv.getTree(), event.x, event.y); Rectangle bounds = item.getBounds(); // we are either dropping (moving) groups or refs if (hadGroup) { // only group and view selection is allowed if (item.getData() instanceof EGroup) { if (isFromRootView((EGroup) item.getData())) { if (pt.y < bounds.y + bounds.height / 3) { event.feedback |= DND.FEEDBACK_INSERT_BEFORE; } else if (pt.y > bounds.y + 2 * bounds.height / 3) { event.feedback |= DND.FEEDBACK_INSERT_AFTER; } else { event.feedback |= DND.FEEDBACK_SELECT; } } else { event.feedback = DND.DROP_NONE; event.detail = DND.DROP_NONE; return; } } else if (item.getData() instanceof EView) { if (pt.y < bounds.y + bounds.height / 3) { event.feedback |= DND.FEEDBACK_INSERT_BEFORE; } else if (pt.y > bounds.y + 2 * bounds.height / 3) { event.feedback |= DND.FEEDBACK_INSERT_AFTER; } else { event.feedback = DND.DROP_NONE; event.detail = DND.DROP_NONE; return; } } else { event.feedback = DND.DROP_NONE; event.detail = DND.DROP_NONE; return; } } else if (hadView) { Object treeRootObject = viewTv.getTree().getItems()[0].getData(); if (item.getData() == treeRootObject) event.feedback |= DND.FEEDBACK_SELECT; else if (item.getParentItem().getData() == treeRootObject) { if (pt.y < bounds.y + bounds.height / 3) { event.feedback |= DND.FEEDBACK_INSERT_BEFORE; } else if (pt.y > bounds.y + 2 * bounds.height / 3) { event.feedback |= DND.FEEDBACK_INSERT_AFTER; } else { event.feedback = DND.DROP_NONE; event.detail = DND.DROP_NONE; return; } } else { event.feedback = DND.DROP_NONE; event.detail = DND.DROP_NONE; return; } } else { // Group and another reference is allowed if (item.getData() instanceof EGroup) { if (!isFromRootView((EGroup) item.getData())) { event.feedback = DND.DROP_NONE; event.detail = DND.DROP_NONE; return; } event.feedback |= DND.FEEDBACK_SELECT; } else if (item.getData() instanceof ESettingRef) { if (!isFromRootView((ESettingRef) item.getData())) { event.feedback = DND.DROP_NONE; event.detail = DND.DROP_NONE; return; } if (pt.y < bounds.y + bounds.height / 2) { event.feedback |= DND.FEEDBACK_INSERT_BEFORE; } else { event.feedback |= DND.FEEDBACK_INSERT_AFTER; } } else { event.feedback = DND.DROP_NONE; event.detail = DND.DROP_NONE; return; } } } public void dropAccept(DropTargetEvent event) { ISelection selection = LocalSelectionTransfer.getTransfer().getSelection(); if (selection instanceof IStructuredSelection) { IStructuredSelection s = (IStructuredSelection) selection; Object[] dropped = s.toArray(); // combined drops are not supported... boolean hadFeatureOrSetting = false; boolean hadGroup = false; boolean hadSettingReference = false; boolean hadView = false; for (Object obj : dropped) { if (obj instanceof ESetting || obj instanceof EFeature || obj instanceof EAppSetting || obj instanceof EAppFeature) { hadFeatureOrSetting = true; if (hadGroup || hadSettingReference || hadView) { event.detail = DND.DROP_NONE; return; } } else if (obj instanceof EGroup) { hadGroup = true; if (hadFeatureOrSetting || hadSettingReference || hadView) { event.detail = DND.DROP_NONE; return; } } else if (obj instanceof EView) { hadView = true; if (hadGroup || hadSettingReference || hadFeatureOrSetting) { event.detail = DND.DROP_NONE; return; } } else if (obj instanceof ESettingRef) { hadSettingReference = true; if (hadFeatureOrSetting || hadGroup) { event.detail = DND.DROP_NONE; return; } } else { event.detail = DND.DROP_NONE; return; } } } else { event.detail = DND.DROP_NONE; } isDirty = true; } public void drop(DropTargetEvent event) { ISelection selection = (ISelection) event.data; List<?> dropped = Collections.emptyList(); if (selection instanceof IStructuredSelection) { IStructuredSelection s = (IStructuredSelection) selection; dropped = s.toList(); } if (dropped.isEmpty()) { return; } TreeItem item = (TreeItem) event.item; Point pt = Display.getCurrent().map(null, viewTv.getTree(), event.x, event.y); Rectangle bounds = item.getBounds(); int operation; if (pt.y < bounds.y + bounds.height / 3) { // prepend operation = DND.FEEDBACK_INSERT_BEFORE; } else if (pt.y > bounds.y + 2 * bounds.height / 3) { // append operation = DND.FEEDBACK_INSERT_AFTER; } else { // add child operation = DND.FEEDBACK_SELECT; } List<ESettingRef> added = new ArrayList<ESettingRef>(dropped.size()); List<EGroup> movedGroups = new ArrayList<EGroup>(dropped.size()); List<EView> movedViews = new ArrayList<EView>(dropped.size()); List<ESettingRef> movedRefs = new ArrayList<ESettingRef>(dropped.size()); List<EView> includedViews = new ArrayList<EView>(dropped.size()); for (Object obj : dropped) { ESettingRef ref = null; if (obj instanceof EFeature) { EFeature feature = (EFeature) obj; // move only rest setting in feature // // final EMap<String, ESetting> map = feature // .getSettings(); // EList<ESettingRef> foundedSettings = // getUnsortedSetting( // feature, item); // for (int i = 0; i < map.size(); i++) { // Entry<String, ESetting> entry = map.get(i); // ESetting setting = (ESetting) entry.getValue(); // ref = EViewEditorFactory.eINSTANCE // .createESettingRef(); // ref.setFeatureId(getObjectId(feature)); // ref.setSettingId(getObjectId(setting)); // boolean add = true; // for (ESettingRef set : foundedSettings) { // if (set.getSettingId() == ref.getSettingId()) { // add = false; // } // } // if (add) { // added.add(ref); // } // } ref = null; ref = EViewEditorFactory.eINSTANCE.createESettingRef(); ref.setFeatureId(getObjectId(feature)); ref.setSettingId("*"); } else if (obj instanceof EAppFeature) { /* * final EMap<String, ESetting> map = * feature.getSettings(); for(int i=0;i<map.size();i++){ * Entry entry = map.get(i); ESetting setting = * (ESetting)entry.getValue(); ref = * EViewEditorFactory.eINSTANCE.createESettingRef(); * ref.setFeatureId(((EAppFeature) * obj).getType().getId()); if(i==0){ * ref.setSettingId("*"+getObjectId(setting)); }else{ * ref.setSettingId(getObjectId(setting)); } * added.add(ref); } */ ref = EViewEditorFactory.eINSTANCE.createESettingRef(); ref.setFeatureId(ConverterUtils.getFeatureId((EAppFeature) obj)); ref.setSettingId("*"); } else if (obj instanceof ESetting) { ESetting setting = (ESetting) obj; if (setting.eContainer().eContainer() instanceof EFeature) { EFeature feature = (EFeature) setting.eContainer().eContainer(); ref = EViewEditorFactory.eINSTANCE.createESettingRef(); ref.setFeatureId(getObjectId(feature)); ref.setSettingId(getObjectId(setting)); } else if (setting.eContainer().eContainer() instanceof ESetting) { ESetting parentSetting = (ESetting) setting.eContainer().eContainer(); EFeature feature = (EFeature) parentSetting.eContainer().eContainer(); ref = EViewEditorFactory.eINSTANCE.createESettingRef(); ref.setFeatureId(getObjectId(feature)); ref.setSettingId(getObjectId(parentSetting) + "/" + getObjectId(setting)); } } else if (obj instanceof EAppSetting) { EAppSetting setting = (EAppSetting) obj; EAppFeature feature = (EAppFeature) setting.eContainer(); ref = EViewEditorFactory.eINSTANCE.createESettingRef(); ref.setFeatureId(ConverterUtils.getFeatureId(feature)); ref.setSettingId(ConverterUtils.getSettingId(setting)); } else if (obj instanceof EGroup) { movedGroups.add((EGroup) obj); } else if (obj instanceof ESettingRef) { movedRefs.add((ESettingRef) obj); } else if (obj instanceof EView) { EView includedView = (EView) obj; if (includedView.eContainer() instanceof EView) movedViews.add(includedView); else { includedViews.add(copyView(includedView)); } } if (ref != null) { added.add(ref); } } if (!added.isEmpty()) { Object data = item.getData(); int index; EGroup parentGroup; if (data instanceof ESettingRef) { ESettingRef ref = (ESettingRef) data; parentGroup = (EGroup) ref.eContainer(); if (operation == DND.FEEDBACK_INSERT_BEFORE) { index = parentGroup.getRefs().indexOf(ref); } else { index = parentGroup.getRefs().indexOf(ref) + 1; } } else if (data instanceof EGroup) { parentGroup = (EGroup) data; index = parentGroup.getRefs().size(); } else { return; } AddSettingCommand addSettingCommand = new AddSettingCommand(ViewsEditor.this, parentGroup, index, ArrayUtils.createCopy(ESettingRef.class, added)); getCommandStack().execute(addSettingCommand); refreshConfmlTree(); } if (!movedViews.isEmpty()) { Object data = item.getData(); int index; EGroupContainer parentContainer; if (data instanceof EView) { switch (operation) { case DND.FEEDBACK_INSERT_AFTER: parentContainer = (EGroupContainer) ((EView) data).eContainer(); index = parentContainer.getGroupsAndViews().indexOf(data) + 1; break; case DND.FEEDBACK_INSERT_BEFORE: parentContainer = (EGroupContainer) ((EView) data).eContainer(); index = parentContainer.getGroupsAndViews().indexOf(data); break; default: return; } } else if (data instanceof EGroup) { switch (operation) { case DND.FEEDBACK_INSERT_AFTER: parentContainer = (EGroupContainer) ((EGroup) data).eContainer(); index = parentContainer.getGroupsAndViews().indexOf(data) + 1; break; case DND.FEEDBACK_INSERT_BEFORE: parentContainer = (EGroupContainer) ((EGroup) data).eContainer(); index = parentContainer.getGroupsAndViews().indexOf(data); break; default: return; } } else { return; } Set<EGroupContainer> stack = new HashSet<EGroupContainer>(); EGroupContainer ptr = parentContainer; while (!(ptr instanceof EView)) { stack.add(ptr); ptr = (EGroupContainer) ptr.eContainer(); } boolean error = false; if (!stack.isEmpty()) { error = stack.removeAll(movedGroups); } if (!error) { MoveViewsCommand command = new MoveViewsCommand(ViewsEditor.this, parentContainer, index, movedViews); getCommandStack().execute(command); } } if (!movedGroups.isEmpty()) { // moving group(s) Object data = item.getData(); int index; EGroupContainer parentContainer; if (data instanceof EView) { switch (operation) { case DND.FEEDBACK_INSERT_AFTER: parentContainer = (EGroupContainer) ((EView) data).eContainer(); index = parentContainer.getGroupsAndViews().indexOf(data) + 1; break; case DND.FEEDBACK_INSERT_BEFORE: parentContainer = (EGroupContainer) ((EView) data).eContainer(); index = parentContainer.getGroupsAndViews().indexOf(data); break; default: return; } } else if (data instanceof ESettingRef) { parentContainer = (EGroup) ((ESettingRef) data).eContainer(); index = parentContainer.getGroupsAndViews().size(); } else if (data instanceof EGroup) { switch (operation) { case DND.FEEDBACK_SELECT: parentContainer = (EGroup) data; index = parentContainer.getGroupsAndViews().size(); break; case DND.FEEDBACK_INSERT_AFTER: parentContainer = (EGroupContainer) ((EGroup) data).eContainer(); index = parentContainer.getGroupsAndViews().indexOf(data) + 1; break; case DND.FEEDBACK_INSERT_BEFORE: parentContainer = (EGroupContainer) ((EGroup) data).eContainer(); index = parentContainer.getGroupsAndViews().indexOf(data); break; default: return; } } else { return; } Set<EGroupContainer> stack = new HashSet<EGroupContainer>(); EGroupContainer ptr = parentContainer; while (!(ptr instanceof EView)) { stack.add(ptr); ptr = (EGroupContainer) ptr.eContainer(); } boolean error = false; if (!stack.isEmpty()) { error = stack.removeAll(movedGroups); } if (!error) { MoveGroupsCommand command = new MoveGroupsCommand(ViewsEditor.this, parentContainer, index, movedGroups); getCommandStack().execute(command); } } if (!movedRefs.isEmpty()) { // moving references Object data = item.getData(); int index; EGroup parentContainer; if (data instanceof ESettingRef) { parentContainer = (EGroup) ((ESettingRef) data).eContainer(); switch (operation) { case DND.FEEDBACK_SELECT: case DND.FEEDBACK_INSERT_AFTER: index = parentContainer.getRefs().indexOf(data) + 1; break; case DND.FEEDBACK_INSERT_BEFORE: index = parentContainer.getRefs().indexOf(data); break; default: return; } } else if (data instanceof EGroup) { parentContainer = (EGroup) data; index = parentContainer.getRefs().size(); } else { return; } MoveRefsCommand command = new MoveRefsCommand(ViewsEditor.this, parentContainer, index, movedRefs); try { getCommandStack().execute(command); } catch (Exception ex) { ex.printStackTrace(); } } if (!includedViews.isEmpty()) { Object data = item.getData(); int index = -1; EGroupContainer parentContainer = null; if (data instanceof EView) { switch (operation) { case DND.FEEDBACK_SELECT: parentContainer = (EView) data; index = parentContainer.getGroupsAndViews().size(); break; case DND.FEEDBACK_INSERT_AFTER: parentContainer = (EGroupContainer) ((EView) data).eContainer(); index = parentContainer.getGroupsAndViews().indexOf(data) + 1; break; case DND.FEEDBACK_INSERT_BEFORE: parentContainer = (EGroupContainer) ((EView) data).eContainer(); index = parentContainer.getGroupsAndViews().indexOf(data); break; default: return; } } else if (data instanceof EGroup) { switch (operation) { case DND.FEEDBACK_SELECT: parentContainer = (EGroup) data; index = parentContainer.getGroupsAndViews().size(); break; case DND.FEEDBACK_INSERT_AFTER: parentContainer = (EGroupContainer) ((EGroup) data).eContainer(); index = parentContainer.getGroupsAndViews().indexOf(data) + 1; break; case DND.FEEDBACK_INSERT_BEFORE: parentContainer = (EGroupContainer) ((EGroup) data).eContainer(); index = parentContainer.getGroupsAndViews().indexOf(data); break; default: return; } } if (parentContainer != null && index != -1) { IncludeViewCommand command = new IncludeViewCommand(ViewsEditor.this, parentContainer, index, includedViews); getCommandStack().execute(command); refreshConfmlTree(); } } } }; }
From source file:com.siteview.mde.internal.ui.editor.site.ArchiveSection.java
License:Open Source License
private void handleDelete() { try {//from ww w . jav a 2s .c o m ISelection selection = fViewer.getSelection(); if (selection != null && selection instanceof IStructuredSelection) { IStructuredSelection ssel = (IStructuredSelection) selection; if (ssel.size() > 0) { ISiteArchive[] array = (ISiteArchive[]) ssel.toList().toArray(new ISiteArchive[ssel.size()]); ISite site = ((ISiteModel) getPage().getModel()).getSite(); site.removeArchives(array); } } } catch (CoreException e) { } }
From source file:com.siteview.mde.internal.ui.preferences.TargetPlatformPreferencePage.java
License:Open Source License
/** * Removes the selected targets/*from w ww .j av a 2s .c o m*/ */ private void handleRemove() { IStructuredSelection selection = (IStructuredSelection) fTableViewer.getSelection(); if (!selection.isEmpty()) { List selected = selection.toList(); // If we are going to remove a workspace file, prompt to ask the user first boolean isWorkspace = false; for (Iterator iterator = selected.iterator(); iterator.hasNext();) { ITargetDefinition currentTarget = (ITargetDefinition) iterator.next(); if (currentTarget.getHandle() instanceof WorkspaceFileTargetHandle) { isWorkspace = true; break; } } if (isWorkspace) { MDEPreferencesManager preferences = new MDEPreferencesManager(IMDEUIConstants.PLUGIN_ID); String choice = preferences.getString(IPreferenceConstants.PROP_PROMPT_REMOVE_TARGET); if (!MessageDialogWithToggle.ALWAYS.equalsIgnoreCase(choice)) { MessageDialogWithToggle dialog = MessageDialogWithToggle.openYesNoQuestion(getShell(), MDEUIMessages.TargetPlatformPreferencePage2_19, MDEUIMessages.TargetPlatformPreferencePage2_20, MDEUIMessages.TargetPlatformPreferencePage2_21, false, MDEPlugin.getDefault().getPreferenceStore(), IPreferenceConstants.PROP_PROMPT_REMOVE_TARGET); preferences.savePluginPreferences(); if (dialog.getReturnCode() != IDialogConstants.YES_ID) { return; } } } if (fActiveTarget != null && selected.contains(fActiveTarget)) { fActiveTarget = null; setMessage(MDEUIMessages.TargetPlatformPreferencePage2_22, IMessageProvider.INFORMATION); } fRemoved.addAll(selected); fTargets.removeAll(selected); // Quick hack because the first refresh loses the checkedState, which is being used to bold the active target fTableViewer.refresh(false); fTableViewer.refresh(true); } }
From source file:com.siteview.mde.internal.ui.wizards.imports.PluginImportWizardDetailedPage.java
License:Open Source License
private void handleAdd() { IStructuredSelection ssel = (IStructuredSelection) fAvailableListViewer.getSelection(); if (ssel.size() > 0) { Table table = fAvailableListViewer.getTable(); int index = table.getSelectionIndices()[0]; doAdd(ssel.toList()); table.setSelection(index < table.getItemCount() ? index : table.getItemCount() - 1); pageChanged(true, false);//from ww w . ja v a 2s . c o m } }
From source file:com.siteview.mde.internal.ui.wizards.imports.PluginImportWizardDetailedPage.java
License:Open Source License
private void handleRemove() { IStructuredSelection ssel = (IStructuredSelection) fImportListViewer.getSelection(); if (ssel.size() > 0) { Table table = fImportListViewer.getTable(); int index = table.getSelectionIndices()[0]; doRemove(ssel.toList()); table.setSelection(index < table.getItemCount() ? index : table.getItemCount() - 1); pageChanged(false, true);/*www.j a va 2s .com*/ } }