@Override public void dispose() { fActionGroup.dispose(); super.dispose(); }
public void menuAboutToShow(IMenuManager mgr) { SearchView.createContextMenuGroups(mgr); fillContextMenu(mgr); fViewPart.fillContextMenu(mgr); } });
/** * Note: this is internal API and should not be called from clients outside * of the search plug-in. * <p> * Removes the currently selected match. Does nothing if no match is * selected. * </p> * * @noreference This method is not intended to be referenced by clients. */ public void internalRemoveSelected() { AbstractTextSearchResult result = getInput(); if (result == null) return; StructuredViewer viewer = getViewer(); IStructuredSelection selection = viewer.getStructuredSelection(); HashSet<Match> set = new HashSet<>(); if (viewer instanceof TreeViewer) { ITreeContentProvider cp = (ITreeContentProvider) viewer.getContentProvider(); collectAllMatchesBelow(result, set, cp, selection.toArray()); } else { collectAllMatches(set, selection.toArray()); } navigateNext(true); Match[] matches = new Match[set.size()]; set.toArray(matches); result.removeMatches(matches); }
@Override public void run() { Match match= fPage.getCurrentMatch(); AbstractTextSearchResult result= fPage.getInput(); if (match != null && result != null) result.removeMatch(match); }
private void updateBusyLabel() { AbstractTextSearchResult result = getInput(); boolean shouldShowBusy = result != null && NewSearchUI.isQueryRunning(result.getQuery()) && result.getMatchCount() == 0; if (shouldShowBusy == fIsBusyShown) return; fIsBusyShown = shouldShowBusy; showBusyLabel(fIsBusyShown); }
private void createViewer(Composite parent, int layout) { if ((layout & FLAG_LAYOUT_FLAT) != 0) { TableViewer viewer = createTableViewer(parent); fViewer = viewer; configureTableViewer(viewer); } else if ((layout & FLAG_LAYOUT_TREE) != 0) { TreeViewer viewer = createTreeViewer(parent); fViewer = viewer; configureTreeViewer(viewer); fSelectAllAction.setViewer(fViewer); IToolBarManager tbm = getSite().getActionBars().getToolBarManager(); tbm.removeAll(); SearchView.createToolBarGroups(tbm); fillToolbar(tbm); tbm.update(false); fViewer.getControl().setMenu(menu); updateLayoutActions(); getViewPart().updateLabel();
/** * {@inheritDoc} */ public String getLabel() { AbstractTextSearchResult result= getInput(); if (result == null) return ""; //$NON-NLS-1$ return result.getLabel(); }
@Override public void createControl(Composite parent) { fQueryListener = createQueryListener(); fMenu = new MenuManager("#PopUp"); //$NON-NLS-1$ fMenu.setRemoveAllWhenShown(true); fMenu.setParent(getSite().getActionBars().getMenuManager()); fMenu.addMenuListener(mgr -> { SearchView.createContextMenuGroups(mgr); fillContextMenu(mgr); fViewPart.fillContextMenu(mgr); }); fPagebook = new PageBook(parent, SWT.NULL); fPagebook.setLayoutData(new GridData(GridData.FILL_BOTH)); fBusyLabel = createBusyControl(); fViewerContainer = new Composite(fPagebook, SWT.NULL); fViewerContainer.setLayoutData(new GridData(GridData.FILL_BOTH)); fViewerContainer.setSize(100, 100); fViewerContainer.setLayout(new FillLayout()); fViewerAdapter= new SelectionProviderAdapter(); getSite().setSelectionProvider(fViewerAdapter); // Register menu getSite().registerContextMenu(fViewPart.getViewSite().getId(), fMenu, fViewerAdapter); createViewer(fViewerContainer, fCurrentLayout); showBusyLabel(fIsBusyShown); NewSearchUI.addQueryListener(fQueryListener); }
public void run() { Shell shell= fPage.getSite().getShell(); AbstractTextSearchResult input= fPage.getInput(); if (input == null) { return; } MatchFilter[] allFilters= input.getAllMatchFilters(); MatchFilter[] checkedFilters= input.getActiveMatchFilters(); Integer limit= fPage.getElementLimit(); boolean enableMatchFilterConfiguration= checkedFilters != null; boolean enableLimitConfiguration= limit != null; int elementLimit= limit != null ? limit.intValue() : -1; MatchFilterSelectionDialog dialog = new MatchFilterSelectionDialog(shell, enableMatchFilterConfiguration, allFilters, checkedFilters, enableLimitConfiguration, elementLimit); if (dialog.open() == Window.OK) { if (enableMatchFilterConfiguration) { input.setActiveMatchFilters(dialog.getMatchFilters()); } if (enableLimitConfiguration) { fPage.setElementLimit(new Integer(dialog.getLimit())); } } }
boolean hasCurrentMatch = showCurrentMatch(OpenStrategy.activateOnOpen()); ISelection sel= event.getSelection(); if (viewer instanceof TreeViewer && sel instanceof IStructuredSelection) { IStructuredSelection selection= (IStructuredSelection) sel; TreeViewer tv = (TreeViewer) getViewer(); Object element = selection.getFirstElement(); if (element != null) { if (!hasCurrentMatch && getDisplayedMatchCount(element) > 0) gotoNextMatch(OpenStrategy.activateOnOpen()); else tv.setExpandedState(element, !tv.getExpandedState(element)); gotoNextMatch(OpenStrategy.activateOnOpen());
@Override protected StructuredViewer getViewer() { // override so that it's visible in the package. return super.getViewer(); }
@Override public void setViewPart(ISearchResultViewPart part) { super.setViewPart(part); fActionGroup= new NewSearchViewActionGroup(part); }
public void saveState(IMemento memento) { super.saveState(memento); memento.putInteger(KEY_SORTING, fCurrentSortOrder); }
public void restoreState(IMemento memento) { super.restoreState(memento); try { fCurrentSortOrder= getSettings().getInt(KEY_SORTING); } catch (NumberFormatException e) { //fCurrentSortOrder= fSortByNameAction.getSortOrder(); } if (memento != null) { Integer value= memento.getInteger(KEY_SORTING); if (value != null) fCurrentSortOrder= value.intValue(); } } public void saveState(IMemento memento) {
public String getLabel() { String label= super.getLabel(); StructuredViewer viewer= getViewer(); if (viewer instanceof TableViewer) { TableViewer tv= (TableViewer) viewer; AbstractTextSearchResult result= getInput(); if (result != null) { int itemCount= ((IStructuredContentProvider) tv.getContentProvider()).getElements(getInput()).length; int fileCount= getInput().getElements().length; if (itemCount < fileCount) { String format= SearchMessages.FileSearchPage_limited_format; return MessageFormat.format(format, new Object[]{label, new Integer(itemCount), new Integer(fileCount)}); } } } return label; }
/** * Fills the context menu for this page. Subclasses may override this * method. * * @param mgr the menu manager representing the context menu */ protected void fillContextMenu(IMenuManager mgr) { mgr.appendToGroup(IContextMenuConstants.GROUP_SHOW, fShowNextAction); mgr.appendToGroup(IContextMenuConstants.GROUP_SHOW, fShowPreviousAction); mgr.appendToGroup(IContextMenuConstants.GROUP_EDIT, fCopyToClipboardAction); if (getCurrentMatch() != null) mgr.appendToGroup(IContextMenuConstants.GROUP_REMOVE_MATCHES, fRemoveCurrentMatch); if (canRemoveMatchesWith(getViewer().getSelection())) mgr.appendToGroup(IContextMenuConstants.GROUP_REMOVE_MATCHES, fRemoveSelectedMatches); mgr.appendToGroup(IContextMenuConstants.GROUP_REMOVE_MATCHES, fRemoveAllResultsAction); }
@Override public void init(IPageSite pageSite) { super.init(pageSite); // wait until site is set setLinkingEnabled(getDialogSettings().getBoolean(DIALOGSTORE_LINKEDITORS)); }
private IAction[] addFilterActionsToViewMenu() { AbstractTextSearchResult input= getInput(); if (input == null) { return null; } MatchFilter[] allMatchFilters= input.getAllMatchFilters(); if (allMatchFilters == null && getElementLimit() == null) { return null; } IActionBars bars= getSite().getActionBars(); IMenuManager menu= bars.getMenuManager(); menu.prependToGroup(IContextMenuConstants.GROUP_FILTERING, new MatchFilterSelectionAction(this)); if (allMatchFilters != null) { MatchFilterAction[] actions= new MatchFilterAction[allMatchFilters.length]; for (int i= allMatchFilters.length - 1; i >= 0; i--) { MatchFilterAction filterAction= new MatchFilterAction(this, allMatchFilters[i]); actions[i]= filterAction; menu.prependToGroup(IContextMenuConstants.GROUP_FILTERING, filterAction); } return actions; } return null; }
@Override protected void fillToolbar(IToolBarManager tbm) { super.fillToolbar(tbm); tbm.add(fToggleLinkingAction); }