List of usage examples for org.eclipse.jface.viewers StructuredSelection size
@Override public int size()
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 . ja v 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 w w w . j a va 2s. c om*/ 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.sourceforge.javahexeditor.plugin.editors.HexEditor.java
License:Open Source License
@Override public void setSelection(ISelection selection) { if (selection.isEmpty()) { return;//from w w w . jav a 2 s.c om } StructuredSelection aSelection = (StructuredSelection) selection; long[] startEnd = (long[]) aSelection.getFirstElement(); long start = startEnd[0]; long end = start; if (startEnd.length > 1) { end = startEnd[1]; } if (aSelection.size() > 1) { startEnd = (long[]) aSelection.toArray()[1]; end = startEnd[0]; if (startEnd.length > 1) { end = startEnd[1]; } } getManager().setSelection(new RangeSelection(start, end)); }
From source file:net.tourbook.preferences.TagDropAdapter.java
License:Open Source License
@Override public boolean performDrop(final Object dropData) { boolean returnValue = false; /*//from w w w .j a va 2 s .c om * check if drag was startet from this tree */ if (LocalSelectionTransfer.getTransfer().getSelectionSetTime() != _prefPageTags.getDragStartTime()) { return false; } if (dropData instanceof StructuredSelection) { final StructuredSelection selection = (StructuredSelection) dropData; final Object firstElement = selection.getFirstElement(); if (selection.size() == 1 && firstElement instanceof TVIPrefTagCategory) { /* * drop a category, to avoid confusion only one category is supported to be dragged * & dropped */ returnValue = dropCategory((TVIPrefTagCategory) firstElement); } else { // drop all tags, categories will be ignored for (final Object element : selection.toList()) { if (element instanceof TVIPrefTag) { returnValue |= dropTag((TVIPrefTag) element); } } } if (returnValue) { _prefPageTags.setIsModified(); } } return returnValue; }
From source file:net.tourbook.srtm.PrefPageSRTMColors.java
License:Open Source License
private void enableActions() { final StructuredSelection selection = (StructuredSelection) _profileViewer.getSelection(); _btnRemoveProfile.setEnabled(selection.size() == 1 && _profileList.size() > 1); }
From source file:net.tourbook.tag.ActionMenuSetTagStructure.java
License:Open Source License
/** * get expand type from the selected tag * //from w ww . j a va 2s . c o m * @return */ private int getSelectedExpandType() { int selectedExpandType = -1; final StructuredSelection selection = (StructuredSelection) _tourViewer.getViewer().getSelection(); if (selection.size() == 1) { // set the expand type when only one tag is selected if (selection.getFirstElement() instanceof TVITagViewTag) { final TVITagViewTag itemTag = (TVITagViewTag) selection.getFirstElement(); selectedExpandType = itemTag.getExpandType(); } } return selectedExpandType; }
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;/*from w w w .j a v a2s. 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. j av a 2 s . com * 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.ActionCheckTours.java
License:Open Source License
@Override public void run() { // check all selected compared tours which are not yet stored final CheckboxTreeViewer viewer = fCompareResultView.getViewer(); final StructuredSelection selection = (StructuredSelection) viewer.getSelection(); if (selection.size() > 0) { for (final Object tour : selection.toArray()) { if (tour instanceof TVICompareResultComparedTour) { final TVICompareResultComparedTour comparedTour = (TVICompareResultComparedTour) tour; if (comparedTour.isSaved() == false) { viewer.setChecked(tour, true); }/* w w w .j a v a2 s . c om*/ } } } }
From source file:net.tourbook.ui.views.tourCatalog.YearStatisticView.java
License:Open Source License
private void onSelectionChanged(final ISelection selection) { if (selection instanceof SelectionTourCatalogView) { final SelectionTourCatalogView tourCatalogItem = (SelectionTourCatalogView) selection; final TVICatalogRefTourItem refItem = tourCatalogItem.getRefItem(); if (refItem != null) { // reference tour is selected _currentRefItem = refItem;/*from w ww . j a v a2 s . co m*/ updateUI_YearChart(true); } else { // show statistic for a specific year final TVICatalogYearItem yearItem = tourCatalogItem.getYearItem(); if (yearItem != null) { _currentRefItem = yearItem.getRefItem(); // overwrite last year _lastYear = yearItem.year; // update year data setYearData(); updateUI_YearChart(false); } } // select tour in the statistic final Long compTourId = tourCatalogItem.getCompTourId(); if (compTourId != null) { selectTourInYearChart(compTourId); } else { // select first tour for the youngest year int yearIndex = 0; for (final TVICatalogComparedTour tourItem : _allTours) { if (tourItem.tourDate.getYear() == _lastYear) { break; } yearIndex++; } final int allTourSize = _allTours.size(); if (allTourSize > 0 && yearIndex < allTourSize) { selectTourInYearChart(_allTours.get(yearIndex).getTourId()); } } } else if (selection instanceof StructuredSelection) { final StructuredSelection structuredSelection = (StructuredSelection) selection; if (structuredSelection.size() > 0) { final Object firstElement = structuredSelection.getFirstElement(); if (firstElement instanceof TVICatalogComparedTour) { final TVICatalogComparedTour compareItem = (TVICatalogComparedTour) firstElement; // select tour in the year chart final Long compTourId = compareItem.getTourId(); if (compTourId != null) { selectTourInYearChart(compTourId); } } } } else if (selection instanceof SelectionRemovedComparedTours) { final SelectionRemovedComparedTours removedCompTours = (SelectionRemovedComparedTours) selection; if (removedCompTours.removedComparedTours.size() > 0) { updateUI_YearChart(false); } } }