Java 类org.eclipse.ui.IViewReference 实例源码

项目:OpenSPIFe    文件:EnsembleCommonNavigator.java   
/**
 * Utility method to get all open views that are instances of CommonNavigator
 * @param clazz the class type which extends EnsembleCommonNavigator
 * @return the list of viewers that are of type EnsembleCommonNavigator
 */
public static List<EnsembleCommonNavigator> getExistingInstances(Class<? extends EnsembleCommonNavigator> clazz) {
    List<EnsembleCommonNavigator> commonNavigators = new ArrayList<EnsembleCommonNavigator>();

    IWorkbench workbench = PlatformUI.getWorkbench();
    IWorkbenchWindow[] workbenchWindows = workbench.getWorkbenchWindows();
    for(IWorkbenchWindow workbenchWindow : workbenchWindows) {
        IWorkbenchPage[] pages = workbenchWindow.getPages();
        for(IWorkbenchPage page : pages) {
            IViewReference[] viewReferences = page.getViewReferences();                         
            for(IViewReference viewReference : viewReferences) {
                IViewPart view = viewReference.getView(false);
                    if(view != null) {
                        boolean assignableFrom = clazz.isAssignableFrom(view.getClass());
                        if(assignableFrom) {
                            commonNavigators.add((EnsembleCommonNavigator)view);
                        }
                }
            }
        }
    }

    return commonNavigators;
}
项目:OpenSPIFe    文件:NewResourceAction.java   
protected static IStructuredSelection getCurrentSelection() {
    IStructuredSelection structuredSeleciton = StructuredSelection.EMPTY;
    IWorkbench workbench = PlatformUI.getWorkbench();
    IViewReference[] viewReferences = workbench.getActiveWorkbenchWindow().getActivePage().getViewReferences();
    IViewPart viewPart = null;
    for(IViewReference viewReference : viewReferences) {
        IViewPart view = viewReference.getView(false);
        if(view instanceof CommonViewer) {
            viewPart = view;
        }
    }

    if(viewPart != null) {
        ISelectionProvider selectionProvider = viewPart.getSite().getSelectionProvider();
        ISelection selection = selectionProvider.getSelection();
        if(selection instanceof IStructuredSelection) {
            structuredSeleciton = (IStructuredSelection)selection;
        }
    }

    return structuredSeleciton;
}
项目:scanning    文件:XcenView.java   
private void showQueue() throws Exception {

        IViewReference[] refs = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getViewReferences();

        boolean foundStatus = false;
        for (IViewReference vr : refs) {
            if (StatusQueueView.ID.equals(vr.getId())) foundStatus = true;
        }
        if (!foundStatus) {
            String secondId = XcenServices.getQueueViewSecondaryId();
            IViewPart part = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView(StatusQueueView.ID+":"+secondId, null, IWorkbenchPage.VIEW_VISIBLE);
            if (part !=null && part instanceof StatusQueueView) {
                StatusQueueView view = (StatusQueueView)part;
                PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().bringToTop(view);
                view.refresh();
            }
        }
    }
项目:scanning    文件:ExecuteView.java   
private Collection<DeviceInformation<?>> getDeviceInformation() throws ScanningException {

        IViewReference[] refs = PageUtil.getPage().getViewReferences();
        for (IViewReference iViewReference : refs) {
            IViewPart part = iViewReference.getView(false);
            if (part==null) continue;
            Object info = part.getAdapter(DeviceInformation.class);
            if (info!=null && info instanceof Collection) { // A collection of device information
                return (Collection<DeviceInformation<?>>)info;
            }
        }

        // We cannot find a part which has the temp information so
        // we use the server information.
        return dservice.getDeviceInformation();
    }
项目:iTrace-Archive    文件:GazeHandlerFactory.java   
/**
 * Creates and returns a new IGazeHandler object from the specified object
 * and partRef, or returns null if no handler object is defined for that object.
 */
public static IGazeHandler createHandler(Object target,
        IWorkbenchPartReference partRef) {

    // create gaze handler for a StyledText widget within an EditorPart
    if (target instanceof StyledText &&
            partRef instanceof IEditorReference) {
        return new StyledTextGazeHandler(target); //can go back to using partRef

    } else if (target instanceof Browser) {
        //create gaze handler for a Browser Stack overflow and Bug Report widget
        //cannot get associated partRef
        return new BrowserGazeHandler(target);

    } else if (target instanceof Tree &&
            partRef instanceof IViewReference &&
            partRef.getTitle().equals("Project Explorer")) {
        //create gaze handler for a Project Explorer Tree
        return new ProjectExplorerGazeHandler(target, partRef);
    }

    return null;
}
项目:workspacemechanic    文件:ShowViewScanner.java   
public boolean evaluate() {
  if (!PlatformUI.isWorkbenchRunning()) {
    return true;
  }
  final IWorkbench workbench = PlatformUI.getWorkbench();
  if (workbench == null) {
    return true;
  }

  final Set<String> remaining = Sets.newHashSet(list);
  Display.getDefault().syncExec(new Runnable() {
    public void run() {
      for (IWorkbenchWindow workbenchWindow : workbench.getWorkbenchWindows()) {
        for (IWorkbenchPage workbenchPage : workbenchWindow.getPages()) {
          for (IViewReference viewReference : workbenchPage.getViewReferences()) {
            remaining.remove(viewReference.getId());
          }
        }
      }
    }
  });
  return remaining.isEmpty();
}
项目:CodeCheckerEclipsePlugin    文件:CodeCheckerContext.java   
/**
 * The refresher for Current ReportList View. 
 *
 * @param pages the page list for the currently active workbench windows
 * @param project the project, the user change his/her view to
 * @param filename the filename
 * @param considerViewerRefresh false if the refresh should always happen despite of no real need to force refresh
 */
private void refreshCurrent(IWorkbenchPage[] pages, IProject project, String filename,
        boolean considerViewerRefresh) {
    for(IWorkbenchPage page : pages) {
        for (IViewReference vp : page.getViewReferences()) {
            if (vp.getId().equals(ReportListView.ID)) {
                ReportListView rlv = (ReportListView) vp.getView(true);
                if (!considerViewerRefresh || rlv.getViewerRefresh()) {
                    rlv.onEditorChanged(project, filename);
                } else {
                    rlv.setViewerRefresh(true);
                }
            }
        }
    }
}
项目:CodeCheckerEclipsePlugin    文件:CodeCheckerContext.java   
/**
 * The refresher for Custom ReportList View. If secondary id is empty, 
 * it checks if a refresh really needs to happen and if so updates every 
 * custom view for the current project. If secondary-id is not empty, 
 * it will search for the secondary-id custom view and 
 * updates that particular one.
 *
 * @param pages the page list for the currently active workbench windows.
 * @param project the project, the user change his/her view to
 * @param secondaryId id of the {@link ReportListViewCustom} the refresh
 * @param considerViewerRefresh false if the refresh should always happen despite of no real need to force refresh
 */
private void refreshCustom(IWorkbenchPage[] pages, IProject project, String secondaryId,
        boolean considerProjectChange) {
    for(IWorkbenchPage page : pages) {
        for (IViewReference vp : page.getViewReferences()) {
            if (vp.getId().equals(ReportListViewCustom.ID)) {
                ReportListViewCustom rlvc = (ReportListViewCustom) vp.getView(true);
                if(secondaryId.equals("") && rlvc.getViewSite().getSecondaryId() != null) {
                    if (!considerProjectChange || this.activeProject != project) {
                        rlvc.onEditorChanged(project);
                    }
                } else if(rlvc.getViewSite().getSecondaryId() != null && 
                        rlvc.getViewSite().getSecondaryId().equals(secondaryId)){
                    rlvc.onEditorChanged(project);
                    return;
                }
            }
        }
    }
}
项目:typescript.java    文件:RenameSelectionState.java   
public RenameSelectionState(Object element) {
    fElement = element;
    fParts = new ArrayList<>();
    fSelections = new ArrayList<>();

    IWorkbenchWindow dw = JavaScriptPlugin.getActiveWorkbenchWindow();
    if (dw == null) {
        fDisplay = null;
        return;
    }
    fDisplay = dw.getShell().getDisplay();
    IWorkbenchPage page = dw.getActivePage();
    if (page == null)
        return;
    IViewReference vrefs[] = page.getViewReferences();
    for (int i = 0; i < vrefs.length; i++) {
        consider(vrefs[i].getPart(false));
    }
    IEditorReference refs[] = page.getEditorReferences();
    for (int i = 0; i < refs.length; i++) {
        consider(refs[i].getPart(false));
    }
}
项目:org.csstudio.display.builder    文件:RuntimeViewPart.java   
/** Open a runtime display
 *
 *  <p>Either opens a new display, or if there is already an existing view
 *  for that input, "activate" it, which pops a potentially hidden view to the top.
 *
 *  @param page Page to use. <code>null</code> for 'active' page
 *  @param close_handler Code to call when part is closed
 *  @param info DisplayInfo (to compare with currently open displays)
 *  @return {@link RuntimeViewPart}
 *  @throws Exception on error
 */
public static RuntimeViewPart open(IWorkbenchPage page, final Consumer<DisplayModel> close_handler, final DisplayInfo info)
        throws Exception
{
    if (page == null)
        page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
    if (info != null)
        for (IViewReference view_ref : page.getViewReferences())
            if (view_ref.getId().startsWith(ID))
            {
                final IViewPart view = view_ref.getView(true);
                if (view instanceof RuntimeViewPart)
                {
                    final RuntimeViewPart runtime_view = (RuntimeViewPart) view;
                    if (info.equals(runtime_view.getDisplayInfo())) // Allow for runtime_view.getDisplayInfo() == null
                    {
                        page.showView(view_ref.getId(), view_ref.getSecondaryId(), IWorkbenchPage.VIEW_ACTIVATE);
                        return runtime_view;
                    }
                }
            }
    final RuntimeViewPart part = (RuntimeViewPart) page.showView(ID, UUID.randomUUID().toString(), IWorkbenchPage.VIEW_ACTIVATE);
    part.close_handler = close_handler;
    return part;
}
项目:SPELL    文件:PartPrintableHandler.java   
@Override
public Object execute(ExecutionEvent event) throws ExecutionException
{
    String partId = event.getParameter(PART_ARG);
    IWorkbenchWindow activeWindow = PlatformUI.getWorkbench()
            .getActiveWorkbenchWindow();
    IWorkbenchPage page = activeWindow.getActivePage();
    if (page != null)
    {
        IViewReference ref = page.findViewReference(partId);
        if (ref != null)
        {
            Printable printable = (Printable) ref.getPart(false)
                    .getAdapter(Printable.class);
            return printable;
        }
    }
    return null;
}
项目:SPELL    文件:ViewManager.java   
/***************************************************************************
 * Unregister a view part
 * 
 * @param viewId
 *            View identifier
 **************************************************************************/
private void unregisterProcView(String viewId)
{
    Logger.debug("Unregistering proc view: " + viewId, Level.PROC, this);
    m_procViewList.remove(viewId);

    // Close all tabbed views (AsRun and Log views) associated with
    // this procedure
    IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
    IWorkbenchPage page = window.getActivePage();
    for (IViewReference viewReference : page.getViewReferences())
    {
        if (viewReference.getView(false) instanceof TabbedView)
        {
            TabbedView logOrAsRunView = (TabbedView) viewReference.getView(false);
            if (logOrAsRunView.getProcId().equals(viewId))
            {
                page.hideView(logOrAsRunView);
            }
        }
    }
}
项目:SPELL    文件:ViewManager.java   
/***************************************************************************
 * Close a procedure view
 * 
 * @param procId
 *            The view identifier
 **************************************************************************/
private void closeProcedureView(String procId)
{
    Logger.debug("Close procedure view: " + procId, Level.PROC, this);
    IWorkbenchWindow wbw = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
    IWorkbenchPage page = wbw.getActivePage();
    if (page != null)
    {
        IViewReference ref = page.findViewReference(ProcedureView.ID, procId);
        if (ref != null)
        {
            getProcedureView(procId).setCloseable(true);
            wbw.getActivePage().hideView(ref);
            unregisterProcView(procId);
        }
    }
}
项目:gama    文件:SwtGui.java   
/**
 * Method setSelectedAgent()
 * 
 * @see msi.gama.common.interfaces.IGui#setSelectedAgent(msi.gama.metamodel.agent.IAgent)
 */
@Override
public void setSelectedAgent(final IAgent a) {
    WorkbenchHelper.asyncRun(() -> {
        if (WorkbenchHelper.getPage() == null) { return; }
        if (a == null) { return; }
        try {
            final InspectDisplayOutput output = new InspectDisplayOutput(a);
            output.launch(a.getScope());
        } catch (final GamaRuntimeException g) {
            g.addContext("In opening the agent inspector");
            GAMA.reportError(GAMA.getRuntimeScope(), g, false);
        }
        final IViewReference r = WorkbenchHelper.getPage().findViewReference(IGui.AGENT_VIEW_ID, "");
        if (r != null) {
            WorkbenchHelper.getPage().bringToTop(r.getPart(true));
        }
    });
}
项目:gama    文件:SwtGui.java   
@Override
public void closeSimulationViews(final IScope scope, final boolean openModelingPerspective,
        final boolean immediately) {
    WorkbenchHelper.run(() -> {
        final IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
        final IViewReference[] views = page.getViewReferences();

        for (final IViewReference view : views) {
            final IViewPart part = view.getView(false);
            if (part instanceof IGamaView) {
                ((IGamaView) part).close(scope);

            }
        }
        if (openModelingPerspective) {
            PerspectiveHelper.openModelingPerspective(immediately);
        }
        getStatus(scope).neutralStatus("No simulation running");
    });

}
项目:APICloud-Studio    文件:InvasiveThemeHijacker.java   
protected void hijackOutline()
{
    IWorkbenchPage page = UIUtils.getActivePage();
    if (page != null)
    {
        IViewReference[] refs = page.getViewReferences();
        for (IViewReference ref : refs)
        {
            if (ref.getId().equals(IPageLayout.ID_OUTLINE))
            {
                hijackView(ref.getView(false), false);
                return;
            }
        }
    }
}
项目:APICloud-Studio    文件:InvasiveThemeHijacker.java   
public void partActivated(IWorkbenchPartReference partRef)
{
    if (partRef instanceof IViewReference)
    {
        IViewReference viewRef = (IViewReference) partRef;
        String id = viewRef.getId();
        if ("org.eclipse.ui.console.ConsoleView".equals(id) || "org.eclipse.jdt.ui.TypeHierarchy".equals(id) //$NON-NLS-1$ //$NON-NLS-2$
                || "org.eclipse.jdt.callhierarchy.view".equals(id)) //$NON-NLS-1$
        {
            final IViewPart part = viewRef.getView(false);
            Display.getCurrent().asyncExec(new Runnable()
            {
                public void run()
                {
                    hijackView(part, false);
                }
            });
            return;
        }
    }
    if (partRef instanceof IEditorReference)
    {
        hijackOutline();
    }
}
项目:APICloud-Studio    文件:InvasiveThemeHijacker.java   
public void partClosed(IWorkbenchPartReference partRef)
{
    if (partRef instanceof IEditorReference)
    {
        IEditorPart part = (IEditorPart) partRef.getPart(false);
        if (part instanceof MultiPageEditorPart)
        {
            MultiPageEditorPart multi = (MultiPageEditorPart) part;
            if (pageListener != null)
            {
                multi.getSite().getSelectionProvider().removeSelectionChangedListener(pageListener);
            }
        }
    }
    // If it's a search view, remove any query listeners for it!
    else if (partRef instanceof IViewReference)
    {
        IViewPart view = (IViewPart) partRef.getPart(false);
        if (queryListeners.containsKey(view))
        {
            NewSearchUI.removeQueryListener(queryListeners.remove(view));
        }
    }
}
项目:mytourbook    文件:TourPhotoLinkView.java   
private PicDirView getPicDirView(final IWorkbenchWindow wbWindow) {

        final IWorkbenchPage wbPage = wbWindow.getActivePage();
        if (wbPage != null) {

            for (final IViewReference viewRef : wbPage.getViewReferences()) {

                if (viewRef.getId().equals(PicDirView.ID)) {

                    final IViewPart viewPart = viewRef.getView(false);
                    if (viewPart instanceof PicDirView) {
                        return (PicDirView) viewPart;
                    }
                }
            }
        }

        return null;
    }
项目:jo-widgets    文件:PartSupport.java   
public void closeView(final ViewContext viewContext) {
    for (final Entry<String, ViewContext> viewContextEntry : viewContextMap.entrySet()) {
        // find viewId
        if (viewContextEntry.getValue() == viewContext) {
            final String viewId = viewContextEntry.getKey();
            final String primaryViewId = viewContext.getPrimaryViewId();
            for (final IWorkbenchPage page : PlatformUI.getWorkbench().getActiveWorkbenchWindow().getPages()) {
                final IViewReference viewRef = page.findViewReference(primaryViewId, viewId);
                if (viewRef != null) {
                    closingViewSet.add(viewId);
                    page.hideView(viewRef);
                    break;
                }
            }
            break;
        }
    }
}
项目:jo-widgets    文件:PartSupport.java   
public void activateView(final ViewContext viewContext) {
    for (final Entry<String, ViewContext> viewContextEntry : viewContextMap.entrySet()) {
        // find viewId
        if (viewContextEntry.getValue() == viewContext) {
            final String viewId = viewContextEntry.getKey();
            final String primaryViewId = viewContext.getPrimaryViewId();
            for (final IWorkbenchPage page : PlatformUI.getWorkbench().getActiveWorkbenchWindow().getPages()) {
                final IViewReference viewRef = page.findViewReference(primaryViewId, viewId);
                if (viewRef != null) {
                    try {
                        page.showView(primaryViewId, viewId, IWorkbenchPage.VIEW_ACTIVATE);
                    }
                    catch (final PartInitException e) {
                        throw new RuntimeException(e);
                    }
                    break;
                }
            }
            break;
        }
    }
}
项目:jo-widgets    文件:PartSupport.java   
public void hideView(final ViewContext viewContext) {
    for (final Entry<String, ViewContext> viewContextEntry : viewContextMap.entrySet()) {
        // find viewId
        if (viewContextEntry.getValue() == viewContext) {
            final String viewId = viewContextEntry.getKey();
            final String primaryViewId = viewContext.getPrimaryViewId();
            for (final IWorkbenchPage page : PlatformUI.getWorkbench().getActiveWorkbenchWindow().getPages()) {
                final IViewReference viewRef = page.findViewReference(primaryViewId, viewId);
                if (viewRef != null) {
                    hidingViewSet.add(viewId);
                    page.hideView(viewRef);
                    break;
                }
            }
            break;
        }
    }
}
项目:OpenSPIFe    文件:EditorPartUtils.java   
public static IStructuredSelection getCurrentSelection() {
    IWorkbench workbench = PlatformUI.getWorkbench();
    if (workbench==null || workbench.getActiveWorkbenchWindow()==null) {
        return StructuredSelection.EMPTY;
    }
    IStructuredSelection structuredSelection = StructuredSelection.EMPTY;
    IViewReference[] viewReferences = workbench.getActiveWorkbenchWindow()
            .getActivePage().getViewReferences();
    IViewPart viewPart = null;
    for (IViewReference viewReference : viewReferences) {
        IViewPart view = viewReference.getView(false);
        if (view instanceof CommonViewer) {
            viewPart = view;
        }
    }

    if (viewPart != null) {
        ISelectionProvider selectionProvider = viewPart.getSite()
                .getSelectionProvider();
        ISelection selection = selectionProvider.getSelection();
        if (selection instanceof IStructuredSelection) {
            structuredSelection = (IStructuredSelection) selection;
        }
    }
    return structuredSelection;
}
项目:OpenSPIFe    文件:MultiPagePlanEditor.java   
/**
 * {@inheritDoc}
 */
@Override
public boolean isSaveOnCloseNeeded() {
    // workaround for SPF-6678 "Dirty bit is only set when focus is removed from field in Template View, Details View "
    IWorkbenchPartSite site = getSite();
    if (site != null) {
        IWorkbenchPage page = site.getPage();
        IViewReference[] viewReferences = page.getViewReferences();
        for (IViewReference iViewReference : viewReferences) {
            IViewPart viewPart = iViewReference.getView(false);
            if(viewPart != null) {
                Object adapter = viewPart.getAdapter(IPage.class);
                if(adapter instanceof DetailPage) {
                    DetailPage detailPage = (DetailPage) adapter;
                    if(detailPage.hasSheet()) {
                        this.setFocus();
                        break;
                    }
                }
            }   
        }           
    }
    // end workaround
    return super.isSaveOnCloseNeeded();
}
项目:Eclipse-Postfix-Code-Completion    文件:RenameSelectionState.java   
public RenameSelectionState(Object element) {
    fElement= element;
    fParts= new ArrayList<IWorkbenchPart>();
    fSelections= new ArrayList<IStructuredSelection>();

    IWorkbenchWindow dw = JavaPlugin.getActiveWorkbenchWindow();
    if (dw ==  null) {
        fDisplay= null;
        return;
    }
    fDisplay= dw.getShell().getDisplay();
    IWorkbenchPage page = dw.getActivePage();
    if (page == null)
        return;
    IViewReference vrefs[]= page.getViewReferences();
    for(int i= 0; i < vrefs.length; i++) {
        consider(vrefs[i].getPart(false));
    }
    IEditorReference refs[]= page.getEditorReferences();
    for(int i= 0; i < refs.length; i++) {
        consider(refs[i].getPart(false));
    }
}
项目:LIMBO    文件:PlotArrivalRateFileInPlotViewAction.java   
@Override
public void run(IAction action) {
    //
    // get plot view
    IViewReference[] references = PlatformUI.getWorkbench()
            .getActiveWorkbenchWindow().getActivePage().getViewReferences();
    for (int i = 0; i < references.length; i++) {
        if (references[i].getId().equals(PLOTVIEWID)) {
            PlotView view = (PlotView) (references[i].getView(true));
            if (view.isPlottingFile()) {
                view.setPlottingFile(false);
            } else {
                // show dialog
                PlotArrivalRateFileDialog dialog = new PlotArrivalRateFileDialog(
                        shell);
                dialog.open();
                if (!dialog.wasCanceled()) {
                    view.setPlottingFile(true);
                    view.setArrivalRateFileList(dialog.getArrivalRateList());
                }
            }
            view.updatePlot();
        }
    }

}
项目:LIMBO    文件:DecomposeInPlotViewAction.java   
@Override
public void run(IAction action) {
    try {
        PlatformUI.getWorkbench().getActiveWorkbenchWindow()
        .getActivePage().showView(PLOTVIEWID);

        IViewReference[] references = PlatformUI.getWorkbench()
                .getActiveWorkbenchWindow().getActivePage()
                .getViewReferences();
        for (int i = 0; i < references.length; i++) {
            if (references[i].getId().equals(PLOTVIEWID)) {
                PlotView view = (PlotView) (references[i].getView(true));
                view.setDecompose(true);
                view.updatePlot(DlimFileUtils
                        .getEObjectFromSelection(currentSelection));
            }
        }

    } catch (PartInitException e) {
        DlimEditorPlugin.INSTANCE.log(
                new Status(Status.ERROR, DlimEditorPlugin.PLUGIN_ID, "Failed to initialize Plotview", e));
    }

}
项目:LIMBO    文件:SaveGraphFromPlotViewAction.java   
@Override
public void run(IAction action) {
    // Display save dialog
    SavePlotViewImageDialog dialog = new SavePlotViewImageDialog(PlatformUI
            .getWorkbench().getActiveWorkbenchWindow().getShell());
    dialog.open();

    if (!dialog.wasCanceled()) {
        IViewReference[] references = PlatformUI.getWorkbench()
                .getActiveWorkbenchWindow().getActivePage()
                .getViewReferences();
        for (int i = 0; i < references.length; i++) {
            if (references[i].getId().equals(PLOTVIEWID)) {
                PlotView view = (PlotView) (references[i].getView(true));
                view.savePlotImage(dialog.getImageFilePath(),
                        dialog.getWidth(), dialog.getHeight());
            }
        }
    }

}
项目:Eclipse-Postfix-Code-Completion-Juno38    文件:RenameSelectionState.java   
public RenameSelectionState(Object element) {
    fElement= element;
    fParts= new ArrayList<IWorkbenchPart>();
    fSelections= new ArrayList<IStructuredSelection>();

    IWorkbenchWindow dw = JavaPlugin.getActiveWorkbenchWindow();
    if (dw ==  null) {
        fDisplay= null;
        return;
    }
    fDisplay= dw.getShell().getDisplay();
    IWorkbenchPage page = dw.getActivePage();
    if (page == null)
        return;
    IViewReference vrefs[]= page.getViewReferences();
    for(int i= 0; i < vrefs.length; i++) {
        consider(vrefs[i].getPart(false));
    }
    IEditorReference refs[]= page.getEditorReferences();
    for(int i= 0; i < refs.length; i++) {
        consider(refs[i].getPart(false));
    }
}
项目:birt    文件:UIUtil.java   
/**
 * Gets the ViewPart with the specified id
 * 
 * @param id
 *            the id of view part
 * 
 * @return Returns the view part, or null if not found
 */

public static IViewPart getView( String id )
{
    IWorkbenchPage tPage = PlatformUI.getWorkbench( )
            .getActiveWorkbenchWindow( )
            .getActivePage( );
    IViewReference[] v = tPage.getViewReferences( );
    int i;
    for ( i = 0; i < v.length; i++ )
    {
        if ( v[i].getId( ).equals( id ) )
            return (IViewPart) v[i].getPart( true );
    }
    return null;
}
项目:Pydev    文件:UIUtils.java   
public static ViewPart getView(String viewId, boolean forceVisible) {
    IWorkbenchWindow workbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
    try {
        if (workbenchWindow == null) {
            return null;
        }
        IWorkbenchPage page = workbenchWindow.getActivePage();
        if (forceVisible) {
            return (ViewPart) page.showView(viewId, null, IWorkbenchPage.VIEW_VISIBLE);

        } else {
            IViewReference viewReference = page.findViewReference(viewId);
            if (viewReference != null) {
                //if it's there, return it (but don't restore it if it's still not there).
                //when made visible, it'll handle things properly later on.
                return (ViewPart) viewReference.getView(false);
            }
        }
    } catch (Exception e) {
        Log.log(e);
    }
    return null;

}
项目:Pydev    文件:ScriptConsole.java   
/**
 * @param page the page where the console view is
 * @param restore whether we should try to restore it
 * @return a list with the parts containing the console
 */
private static List<IViewPart> getConsoleParts(IWorkbenchPage page, boolean restore) {
    List<IViewPart> consoleParts = new ArrayList<IViewPart>();

    IViewReference[] viewReferences = page.getViewReferences();
    for (IViewReference ref : viewReferences) {
        if (ref.getId().equals(IConsoleConstants.ID_CONSOLE_VIEW)) {
            IViewPart part = ref.getView(restore);
            if (part != null) {
                consoleParts.add(part);
                if (restore) {
                    return consoleParts;
                }
            }
        }
    }
    return consoleParts;
}
项目:Pydev    文件:PyCodeCoverageView.java   
/**
 * Gets the py code coverage view. May only be called in the UI thread. If the view is not visible, if createIfNotThere
 * is true, it's made visible.
 *
 * Note that it may return null if createIfNotThere == false and the view is not currently shown or if not in the
 * UI thread.
 */
public static PyCodeCoverageView getView(boolean createIfNotThere) {
    IWorkbenchWindow workbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
    try {
        if (workbenchWindow == null) {
            return null;
        }
        IWorkbenchPage page = workbenchWindow.getActivePage();
        if (createIfNotThere) {
            return (PyCodeCoverageView) page.showView(PY_COVERAGE_VIEW_ID, null, IWorkbenchPage.VIEW_ACTIVATE);
        } else {
            IViewReference viewReference = page.findViewReference(PY_COVERAGE_VIEW_ID);
            if (viewReference != null) {
                //if it's there, return it (but don't restore it if it's still not there).
                //when made visible, it'll handle things properly later on.
                return (PyCodeCoverageView) viewReference.getView(false);
            }
        }
    } catch (Exception e) {
        Log.log(e);
    }
    return null;
}
项目:jbt    文件:Utilities.java   
/**
 * Returns a IViewPart by its class. If cannot be found, returns null.
 */
public static IViewPart getView(Class c) {
    IWorkbenchPage page = getMainWindowActivePage();

    if (page != null) {
        IViewReference[] views = page.getViewReferences();
        for (int i = 0; i < views.length; i++) {
            if (views[i].getView(true) != null) {
                if (c.isInstance(views[i].getView(false))) {
                    return views[i].getView(false);
                }
            }
        }
    }
    return null;
}
项目:convertigo-eclipse    文件:ConvertigoPerspectiveListener.java   
public void perspectiveChanged(IWorkbenchPage page, IPerspectiveDescriptor perspective, String changeId) {
    ConvertigoPlugin.logDebug3("IWorkbenchPage perspectiveChanged : " + page.getLabel() + "("
            + perspective.getLabel() + " - " + changeId + ")");

    IViewReference introView = page.findViewReference("org.eclipse.ui.internal.introview");
    // Maximize the intro view if present
    if (introView != null) {
        page.setPartState(introView, IWorkbenchPage.STATE_MAXIMIZED);
    }
}
项目:scanning    文件:ModelViewer.java   
private boolean isScanView(IViewReference des) {
    IViewPart part = des.getView(false);
    if (part instanceof SeriesItemView) {
        SeriesItemView view = (SeriesItemView)part;
        return view.isSeriesOf(IPointGenerator.class);
    }
    return false;
}
项目:scanning    文件:ViewUtil.java   
/**
 * Ensures that certain views exist and work has been done to load them.
 * @param ids
 */
public static void createViews(String... ids) {
    for (String id : ids) {
        // Try to ensure that the model view and regions view are initialized
        IViewReference ref = PageUtil.getPage().findViewReference(id);
        if (ref!=null) ref.getView(true);
    }
}
项目:gw4e.project    文件:FilterTests.java   
private void resetWorkbench() {
    try {
        IViewReference[] views = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getViewReferences();
        for (IViewReference iViewReference : views) {
             if ( iViewReference.getTitle().equals( "Welcome" ) ) {
                    iViewReference.getPage().hideView(iViewReference);
                    break;
            }
        }

        IWorkbench workbench = PlatformUI.getWorkbench();
        IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
        IWorkbenchPage page = workbenchWindow.getActivePage();
        Shell activeShell = Display.getCurrent().getActiveShell();
        if ( activeShell != null && activeShell != workbenchWindow.getShell() ) {
            activeShell.close();
        }
        page.closeAllEditors( false );
        page.resetPerspective();
        String defaultPerspectiveId = workbench.getPerspectiveRegistry().getDefaultPerspective();
        workbench.showPerspective( defaultPerspectiveId, workbenchWindow );
        page.resetPerspective();
    }
    catch ( WorkbenchException e ) {
        throw new RuntimeException( e );
    }

}
项目:gw4e.project    文件:WorkbenchHelper.java   
private static void resetWorkbench() {
    try {
        IViewReference[] views = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
                .getViewReferences();
        for (IViewReference iViewReference : views) {

            if (iViewReference.getTitle().equals("Welcome")) {
                iViewReference.getPage().hideView(iViewReference);
                break;
            }
        }

        IWorkbench workbench = PlatformUI.getWorkbench();
        IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
        IWorkbenchPage page = workbenchWindow.getActivePage();
        Shell activeShell = Display.getCurrent().getActiveShell();
        if (activeShell != null && activeShell != workbenchWindow.getShell()) {
            activeShell.close();
        }
        page.closeAllEditors(false);

        page.resetPerspective();
        String defaultPerspectiveId = workbench.getPerspectiveRegistry().getDefaultPerspective();
        workbench.showPerspective(defaultPerspectiveId, workbenchWindow);
        page.resetPerspective();
    } catch (WorkbenchException e) {
        throw new RuntimeException(e);
    }
}
项目:team-explorer-everywhere    文件:ViewHelper.java   
/**
 * Locates a view by ID in the workbench and returns the first found (or
 * null if none were located.)
 *
 * @param id
 *        The view ID to locate (not <code>null</code>)
 * @param activate
 *        True to activate an inactive (but existing) view
 * @return the first found corresponding {@link IViewPart} or
 *         <code>null</code> if none were located in the active workbench
 */
public static IViewPart getActiveView(final String id, final boolean activate) {
    Check.notNull(id, "id"); //$NON-NLS-1$

    try {
        final IWorkbenchWindow workbenchWindow = Workbench.getInstance().getActiveWorkbenchWindow();

        if (workbenchWindow != null) {
            final IWorkbenchPage[] pages = workbenchWindow.getPages();

            for (int i = 0; i < pages.length; i++) {
                final IViewReference[] viewReferences = pages[i].getViewReferences();

                for (int j = 0; j < viewReferences.length; j++) {
                    if (id.equals(viewReferences[j].getId())) {
                        final IViewPart view = viewReferences[j].getView(activate);

                        if (view != null) {
                            return view;
                        }
                    }
                }
            }
        } else {
            log.warn("Could not locate active workbench window"); //$NON-NLS-1$
        }
    } catch (final Exception e) {
        final String messageFormat = "Could not locate view part {0}"; //$NON-NLS-1$
        final String message = MessageFormat.format(messageFormat, id);
        log.warn(message, e);
    }

    return null;
}