List of usage examples for org.eclipse.jface.viewers StructuredSelection iterator
@Override
public Iterator iterator()
From source file:net.sf.colorer.eclipse.EscapedWriter.java
License:LGPL
public void run(IAction action) { ISelectionProvider selectionProvider = workbenchPart.getSite().getSelectionProvider(); ISelection isel = selectionProvider.getSelection(); if (!(isel instanceof StructuredSelection)) { return;/*from w w w.j ava 2 s . c o m*/ } StructuredSelection selection = (StructuredSelection) selectionProvider.getSelection(); // StringBuffer fileNames = new StringBuffer(); // String lastFileName = ""; // String filePath = "./"; // int num = 0; GeneratorDialog gd = new GeneratorDialog(); Vector fileList = new Vector(); Iterator iterator = selection.iterator(); while (iterator.hasNext()) { Object obj = iterator.next(); IResource adapted = null; if (obj instanceof IAdaptable) { adapted = (IResource) ((IAdaptable) obj).getAdapter(IResource.class); } if (adapted == null) continue; addElement(adapted, fileList); } gd.setFileList(fileList); final ParserFactory pf = ColorerPlugin.getDefaultPF(); Vector hrdSchemas = new Vector(); for (Enumeration hrds = pf.enumerateHRDInstances("rgb"); hrds.hasMoreElements();) { final String hrd_name = (String) hrds.nextElement(); final String hrd_descr = pf.getHRDescription("rgb", hrd_name); hrdSchemas.addElement(hrd_descr); hrdSchemas.addElement(hrd_name); } gd.setHRDSchema(hrdSchemas); IPreferenceStore ps = ColorerPlugin.getDefault().getPreferenceStore(); gd.setPrefix(ps.getString("g.Prefix")); gd.setSuffix(ps.getString("g.Suffix")); gd.setHRDSchema(ps.getString("g.HRDSchema")); gd.setHtmlHeaderFooter(ps.getBoolean("g.HtmlHeaderFooter")); gd.setInfoHeader(ps.getBoolean("g.InfoHeader")); gd.setUseLineNumbers(ps.getBoolean("g.UseLineNumbers")); gd.setOutputEncoding(ps.getString("g.OutputEncoding")); gd.setTargetDirectory(ps.getString("g.TargetDirectory")); gd.setLinkSource(ps.getString("g.LinkSource")); gd.run(new Generator()); }
From source file:net.sf.smbt.touchosc.ui.touchoscgui.diagram.sheet.TouchoscguiPropertySectionOLD.java
License:LGPL
public void setInput(IWorkbenchPart part, ISelection selection) { if (selection.isEmpty() || false == selection instanceof StructuredSelection) { setInput2(part, selection);/*from w w w . ja va 2 s. c o m*/ return; } final StructuredSelection structuredSelection = ((StructuredSelection) selection); ArrayList transformedSelection = new ArrayList(structuredSelection.size()); for (Iterator it = structuredSelection.iterator(); it.hasNext();) { Object r = transformSelection(it.next()); if (r != null) { transformedSelection.add(r); } } setInput2(part, new StructuredSelection(transformedSelection)); }
From source file:net.sourceforge.docfetcher.view.ScopeGroup.java
License:Open Source License
/** * Returns the currently selected <tt>RootScope</tt>s. Shows a warning * message if some of them don't exist anymore. */// w w w . jav a 2 s. c o m private RootScope[] getExistingRootSelection() { // Get selected RootScopes StructuredSelection sel = (StructuredSelection) viewer.getSelection(); List<RootScope> selRootScopes = new ArrayList<RootScope>(sel.size()); Iterator<?> it = sel.iterator(); while (it.hasNext()) { Object item = it.next(); if (item instanceof RootScope) // Only enable action for RootScopes (not for other Scopes) selRootScopes.add((RootScope) item); } // Separate existing and missing RootScopes if (selRootScopes.size() == 0) return new RootScope[0]; List<RootScope> existing = new ArrayList<RootScope>(selRootScopes.size()); List<RootScope> missing = new ArrayList<RootScope>(selRootScopes.size()); for (RootScope scope : selRootScopes) { if (scope.getFile().exists()) existing.add(scope); else missing.add(scope); } // Show warning message for missing RootScopes if (!missing.isEmpty()) { String items = "\n" + UtilList.toString("\n", missing); //$NON-NLS-1$ //$NON-NLS-2$ UtilGUI.showWarningMsg(Msg.folders_not_found.value() + items); } return existing.toArray(new RootScope[existing.size()]); }
From source file:net.sourceforge.docfetcher.view.ViewerMenuManager.java
License:Open Source License
public ViewerMenuManager(Viewer viewer) { contextMenu = new MenuManager(); viewer.getControl().setMenu(contextMenu.createContextMenu(viewer.getControl())); // Update enabled state of actions according to current selection viewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { StructuredSelection selection = (StructuredSelection) event.getSelection(); setEnabled(nonEmptyActions, !selection.isEmpty()); setEnabled(singleElementActions, selection.size() == 1); if (rootChecker != null) { List<Object> rootSelection = new ArrayList<Object>(selection.size()); Iterator<?> it = selection.iterator(); while (it.hasNext()) { Object item = it.next(); if (rootChecker.isRoot(item)) // Only enable action for RootScopes (not for other Scopes) rootSelection.add(item); }/*from ww w . jav a 2s .com*/ setEnabled(rootActions, rootSelection.size() > 0); } } private void setEnabled(List<Action> actions, boolean enabled) { for (Action action : actions) action.setEnabled(enabled); } }); // Activate context menu entries through keyboard shortcuts viewer.getControl().addKeyListener(new KeyAdapter() { public void keyReleased(KeyEvent e) { Key key = Key.getKey(e.stateMask, e.keyCode); if (key == null) return; Action action = keyActionMap.get(key); if (action != null && action.isEnabled()) action.run(); } }); }
From source file:net.tourbook.ui.views.rawData.RawDataView.java
License:Open Source License
private void enableActions() { final Object[] rawData = _rawDataMgr.getImportedTours().values().toArray(); final boolean isTourAvailable = rawData.length > 0; final StructuredSelection selection = (StructuredSelection) _tourViewer.getSelection(); int savedTours = 0; int unsavedTours = 0; int selectedTours = 0; // contains all tours which are selected and not deleted int selectedNotDeleteTours = 0; TourData firstSavedTour = null;// ww w. ja va2 s. c o m TourData firstValidTour = null; for (final Iterator<?> iter = selection.iterator(); iter.hasNext();) { final Object treeItem = iter.next(); if (treeItem instanceof TourData) { selectedTours++; final TourData tourData = (TourData) treeItem; if (tourData.getTourPerson() == null) { // tour is not saved if (tourData.isTourDeleted == false) { // tour is not deleted, deleted tours are ignored unsavedTours++; selectedNotDeleteTours++; } } else { if (savedTours == 0) { firstSavedTour = tourData; } savedTours++; selectedNotDeleteTours++; } if (selectedNotDeleteTours == 1) { firstValidTour = tourData; } } } final boolean isSavedTourSelected = savedTours > 0; final boolean isOneSavedAndNotDeleteTour = (selectedNotDeleteTours == 1) && (savedTours == 1); final boolean isOneSelectedNotDeleteTour = selectedNotDeleteTours == 1; // action: save tour with person final TourPerson person = TourbookPlugin.getActivePerson(); if (person != null) { _actionSaveTourWithPerson .setText(NLS.bind(Messages.import_data_action_save_tour_with_person, person.getName())); _actionSaveTourWithPerson.setPerson(person); } _actionSaveTourWithPerson.setEnabled((person != null) && (unsavedTours > 0)); // action: save tour... if (selection.size() == 1) { _actionSaveTour.setText(Messages.import_data_action_save_tour_for_person); } else { _actionSaveTour.setText(Messages.import_data_action_save_tours_for_person); } _actionSaveTour.setEnabled(unsavedTours > 0); // action: merge tour ... into ... if (isOneSelectedNotDeleteTour) { final StringBuilder sb = new StringBuilder().append(UI.EMPTY_STRING)// .append(TourManager.getTourDateShort(firstValidTour)).append(UI.DASH_WITH_SPACE) .append(TourManager.getTourTimeShort(firstValidTour)).append(UI.DASH_WITH_SPACE) .append(firstValidTour.getDeviceName()); _actionMergeIntoTour.setText(NLS.bind(Messages.import_data_action_assignMergedTour, sb.toString())); } else { // tour cannot be merged, display default text _actionMergeIntoTour.setText(Messages.import_data_action_assignMergedTour_default); } _actionMergeIntoTour.setEnabled(isOneSelectedNotDeleteTour); _actionMergeTour.setEnabled(isOneSavedAndNotDeleteTour && (firstSavedTour.getMergeSourceTourId() != null)); _actionReimportSubMenu.setEnabled(selectedTours > 0); _actionRemoveTour.setEnabled(selectedTours > 0); _actionExportTour.setEnabled(selectedNotDeleteTours > 0); _actionJoinTours.setEnabled(selectedNotDeleteTours > 1); _actionEditTour.setEnabled(isOneSavedAndNotDeleteTour); _actionEditQuick.setEnabled(isOneSavedAndNotDeleteTour); _actionOpenTour.setEnabled(isOneSavedAndNotDeleteTour); _actionOpenMarkerDialog.setEnabled(isOneSavedAndNotDeleteTour); _actionOpenAdjustAltitudeDialog.setEnabled(isOneSavedAndNotDeleteTour); _actionDeleteTourFile.setEnabled(isTourAvailable); // set double click state _tourDoubleClickState.canEditTour = isOneSavedAndNotDeleteTour; _tourDoubleClickState.canQuickEditTour = isOneSavedAndNotDeleteTour; _tourDoubleClickState.canEditMarker = isOneSavedAndNotDeleteTour; _tourDoubleClickState.canAdjustAltitude = isOneSavedAndNotDeleteTour; _tourDoubleClickState.canOpenTour = isOneSelectedNotDeleteTour; final ArrayList<TourType> tourTypes = TourDatabase.getAllTourTypes(); _actionSetTourType.setEnabled(isSavedTourSelected && (tourTypes.size() > 0)); final ArrayList<Long> existingTagIds = new ArrayList<Long>(); long existingTourTypeId = TourDatabase.ENTITY_IS_NOT_SAVED; boolean isOneTour; if ((firstSavedTour != null) && (savedTours == 1)) { // one tour is selected isOneTour = true; final TourType tourType = firstSavedTour.getTourType(); existingTourTypeId = tourType == null ? TourDatabase.ENTITY_IS_NOT_SAVED : tourType.getTypeId(); final Set<TourTag> existingTags = firstSavedTour.getTourTags(); if ((existingTags != null) && (existingTags.size() > 0)) { // tour contains at least one tag for (final TourTag tourTag : existingTags) { existingTagIds.add(tourTag.getTagId()); } } } else { // multiple tours are selected isOneTour = false; } // enable/disable actions for tags/tour types _tagMenuMgr.enableTagActions(isSavedTourSelected, isOneTour, existingTagIds); TourTypeMenuManager.enableRecentTourTypeActions(isSavedTourSelected, existingTourTypeId); /* * Action: Setup import */ _actionSetupImport.setEnabled(!isTourAvailable); _actionClearView.setEnabled(isTourAvailable); }
From source file:net.tourbook.ui.views.tagging.TaggingView.java
License:Open Source License
private void enableActions() { final StructuredSelection selection = (StructuredSelection) _tagViewer.getSelection(); final int treeItems = _tagViewer.getTree().getItemCount(); /*//from w w w. ja v a 2 s.co m * count number of selected items */ int tourItems = 0; int tagItems = 0; int categoryItems = 0; int items = 0; int otherItems = 0; TVITagViewTour firstTour = null; for (final Iterator<?> iter = selection.iterator(); iter.hasNext();) { final Object treeItem = iter.next(); if (treeItem instanceof TVITagViewTour) { if (tourItems == 0) { firstTour = (TVITagViewTour) treeItem; } tourItems++; } else if (treeItem instanceof TVITagViewTag) { tagItems++; } else if (treeItem instanceof TVITagViewTagCategory) { categoryItems++; } else { otherItems++; } items++; } final boolean isTourSelected = tourItems > 0; final boolean isTagSelected = tagItems > 0 && tourItems == 0 && categoryItems == 0 && otherItems == 0; final boolean isCategorySelected = categoryItems > 0 && tourItems == 0 && tagItems == 0 && otherItems == 0; final boolean isOneTour = tourItems == 1; final boolean isItemsAvailable = treeItems > 0; final int selectedItems = selection.size(); final TVITagViewItem firstElement = (TVITagViewItem) selection.getFirstElement(); final boolean firstElementHasChildren = firstElement == null ? false : firstElement.hasChildren(); _tourDoubleClickState.canEditTour = isOneTour; _tourDoubleClickState.canOpenTour = isOneTour; _tourDoubleClickState.canQuickEditTour = isOneTour; _tourDoubleClickState.canEditMarker = isOneTour; _tourDoubleClickState.canAdjustAltitude = isOneTour; _actionEditTour.setEnabled(isOneTour); _actionOpenTour.setEnabled(isOneTour); _actionEditQuick.setEnabled(isOneTour); // action: set tour type final ArrayList<TourType> tourTypes = TourDatabase.getAllTourTypes(); _actionSetTourType.setEnabled(isTourSelected && tourTypes.size() > 0); // enable rename action if (selectedItems == 1) { if (isTagSelected) { _actionRenameTag.setText(Messages.action_tag_rename_tag); _actionRenameTag.setEnabled(true); } else if (isCategorySelected) { _actionRenameTag.setText(Messages.action_tag_rename_tag_category); _actionRenameTag.setEnabled(true); } else { _actionRenameTag.setEnabled(false); } } else { _actionRenameTag.setEnabled(false); } /* * tree expand type can be set if only tags are selected or when an item is selected which * is not a category */ _actionSetTagStructure.setEnabled(isTagSelected || (items == 1 && categoryItems == 0)); _actionSetAllTagStructures.setEnabled(isItemsAvailable); _actionExpandSelection.setEnabled(firstElement == null ? false : // selectedItems == 1 ? firstElementHasChildren : // true); _actionCollapseOthers.setEnabled(selectedItems == 1 && firstElementHasChildren); _actionCollapseAll.setEnabled(isItemsAvailable); _tagMenuMgr.enableTagActions(isTourSelected, isOneTour, firstTour == null ? null : firstTour.tagIds); TourTypeMenuManager.enableRecentTourTypeActions(isTourSelected, isOneTour ? firstTour.tourTypeId : TourDatabase.ENTITY_IS_NOT_SAVED); }
From source file:net.tourbook.ui.views.tourCatalog.TourCompareResultView.java
License:Open Source License
/** * Remove compared tour from the database *//* w w w . j a va 2 s . c om*/ void removeComparedTourFromDb() { final StructuredSelection selection = (StructuredSelection) _tourViewer.getSelection(); final SelectionRemovedComparedTours selectionRemovedCompareTours = new SelectionRemovedComparedTours(); final ArrayList<Long> removedComparedTours = selectionRemovedCompareTours.removedComparedTours; for (final Iterator<?> iterator = selection.iterator(); iterator.hasNext();) { final Object selectedElement = iterator.next(); if (selectedElement instanceof TVICompareResultComparedTour) { final TVICompareResultComparedTour compareItem = (TVICompareResultComparedTour) selectedElement; if (TourCompareManager.removeComparedTourFromDb(compareItem.compId)) { removedComparedTours.add(compareItem.compId); } } } if (removedComparedTours.size() > 0) { _postSelectionProvider.setSelection(selectionRemovedCompareTours); removeComparedToursFromViewer(selectionRemovedCompareTours); } }
From source file:net.tourbook.ui.views.tourDataEditor.TourDataEditorView.java
License:Open Source License
/** * enable actions//from w ww.j a v a 2 s . c om */ private void enableSliceActions() { final StructuredSelection sliceSelection = (StructuredSelection) _sliceViewer.getSelection(); final int numberOfSelectedSlices = sliceSelection.size(); final boolean isSliceSelected = numberOfSelectedSlices > 0; final boolean isOneSliceSelected = numberOfSelectedSlices == 1; final boolean isTourInDb = isTourInDb(); // check if a marker can be created boolean canCreateMarker = false; if (isOneSliceSelected) { final TimeSlice oneTimeSlice = (TimeSlice) sliceSelection.getFirstElement(); canCreateMarker = _markerMap.containsKey(oneTimeSlice.serieIndex) == false; } // get selected Marker TourMarker selectedMarker = null; for (final Iterator<?> iterator = sliceSelection.iterator(); iterator.hasNext();) { final TimeSlice timeSlice = (TimeSlice) iterator.next(); if (_markerMap.containsKey(timeSlice.serieIndex)) { selectedMarker = _markerMap.get(timeSlice.serieIndex); break; } } _actionCreateTourMarker.setEnabled(_isEditMode && isTourInDb && isOneSliceSelected && canCreateMarker); _actionOpenMarkerDialog.setEnabled(_isEditMode && isTourInDb); // select marker _actionOpenMarkerDialog.setTourMarker(selectedMarker); _actionDeleteTimeSlicesRemoveTime.setEnabled(_isEditMode && isTourInDb && isSliceSelected); _actionDeleteTimeSlicesKeepTime.setEnabled(_isEditMode && isTourInDb && isSliceSelected); _actionExportTour.setEnabled(true); _actionCsvTimeSliceExport.setEnabled(isSliceSelected); _actionSplitTour.setEnabled(isOneSliceSelected); _actionExtractTour.setEnabled(numberOfSelectedSlices >= 2); // set start/end position into the actions if (isSliceSelected) { final Object[] selectedSliceArray = sliceSelection.toArray(); final int lastSliceIndex = selectedSliceArray.length - 1; final TimeSlice firstSelectedTimeSlice = (TimeSlice) selectedSliceArray[0]; final TimeSlice lastSelectedTimeSlice = (TimeSlice) selectedSliceArray[lastSliceIndex]; final int firstSelectedSerieIndex = firstSelectedTimeSlice.serieIndex; final int lastSelectedSerieIndex = lastSelectedTimeSlice.serieIndex; _actionExportTour.setTourRange(firstSelectedSerieIndex, lastSelectedSerieIndex); _actionSplitTour.setTourRange(firstSelectedSerieIndex); _actionExtractTour.setTourRange(firstSelectedSerieIndex, lastSelectedSerieIndex); /* * prevent that the first and last slice is selected for the split which causes errors */ final int numberOfAllSlices = _sliceViewerItems.length; final boolean isSplitValid = firstSelectedSerieIndex > 0 && firstSelectedSerieIndex < numberOfAllSlices - 1; _actionSplitTour.setEnabled(isOneSliceSelected && isSplitValid); } }
From source file:net.tourbook.ui.views.tourMarker.TourMarkerAllView.java
License:Open Source License
private void fireSelection(final StructuredSelection selection) { // get unique tour id's final HashSet<Long> tourIds = new HashSet<Long>(); for (final Iterator<?> selectedItem = selection.iterator(); selectedItem.hasNext();) { tourIds.add(((TourMarkerItem) selectedItem.next()).tourId); }//from ww w.j a v a 2 s.com final SelectionTourIds selectionTourIds = new SelectionTourIds(new ArrayList<>(tourIds)); final int uniqueTourIds = tourIds.size(); if (uniqueTourIds == 1) { // only one unique tour is selected, fire a marker selection final TourMarkerItem firstMarkerItem = (TourMarkerItem) selection.getFirstElement(); // get tour by id final TourData tourData = TourManager.getInstance().getTourData(firstMarkerItem.tourId); if (tourData == null) { return; } final ArrayList<TourMarker> selectedTourMarkers = new ArrayList<TourMarker>(); for (final Iterator<?> iterator = selection.iterator(); iterator.hasNext();) { final long selectedMarkerId = ((TourMarkerItem) iterator.next()).markerId; // get marker by id for (final TourMarker tourMarker : tourData.getTourMarkers()) { if (tourMarker.getMarkerId() == selectedMarkerId) { selectedTourMarkers.add(tourMarker); break; } } } _isInUpdate = true; { /* * Set selection in the selection provider that the part selection provider is in * sync with the marker selection, otherwise a selection listener, e.g. tour editor * can display the wrong tour. This happened !!! */ _postSelectionProvider.setSelectionNoFireEvent(selectionTourIds); TourManager.fireEventWithCustomData(// TourEventId.MARKER_SELECTION, new SelectionTourMarker(tourData, selectedTourMarkers), getSite().getPart()); } _isInUpdate = false; } else if (uniqueTourIds > 1) { // multiple tours are selected, fire a part selection _isInUpdate = true; { _postSelectionProvider.setSelection(selectionTourIds); } _isInUpdate = false; } }
From source file:net.tourbook.ui.views.tourMarker.TourMarkerAllView.java
License:Open Source License
@Override public ArrayList<TourData> getSelectedTours() { final ArrayList<TourData> selectedTours = new ArrayList<TourData>(); final StructuredSelection selection = getViewerSelection(); for (final Iterator<?> iterator = selection.iterator(); iterator.hasNext();) { final Object element = iterator.next(); if (element instanceof TourMarkerItem) { // get TourData from the tour marker item final TourMarkerItem tourMarkerItem = (TourMarkerItem) element; // get tour by id final TourData tourData = TourManager.getInstance().getTourData(tourMarkerItem.tourId); if (tourData != null) { selectedTours.add(tourData); }//from ww w.j av a 2 s. co m } } return selectedTours; }