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

项目:gw4e.project    文件:JDTManager.java   
/**
 * @param project
 */
public static void reorganizeImport(final ICompilationUnit cu) {

    Display.getDefault().syncExec(() -> {
        try {
            IWorkbenchWindow iww = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
            if (iww == null)
                return;
            IPartService partService = iww.getPartService();
            if (partService == null)
                return;
            IWorkbenchPart wp = partService.getActivePart();
            if (wp == null)
                return;
            IWorkbenchPartSite targetSite = wp.getSite();
            if (targetSite == null)
                return;
            organizeImports(cu, targetSite);
        } catch (Exception e) {
            ResourceManager.logException(e);
        }
    });
}
项目:google-cloud-eclipse    文件:ServiceUtils.java   
/**
 * Returns an OSGi service from {@link ExecutionEvent}. It looks up a service in the following
 * locations (if exist) in the given order:
 *
 * {@code HandlerUtil.getActiveSite(event)}
 * {@code HandlerUtil.getActiveEditor(event).getEditorSite()}
 * {@code HandlerUtil.getActiveEditor(event).getSite()}
 * {@code HandlerUtil.getActiveWorkbenchWindow(event)}
 * {@code PlatformUI.getWorkbench()}
 */
public static <T> T getService(ExecutionEvent event, Class<T> api) {
  IWorkbenchSite activeSite = HandlerUtil.getActiveSite(event);
  if (activeSite != null) {
    return activeSite.getService(api);
  }

  IEditorPart activeEditor = HandlerUtil.getActiveEditor(event);
  if (activeEditor != null) {
    IEditorSite editorSite = activeEditor.getEditorSite();
    if (editorSite != null) {
      return editorSite.getService(api);
    }
    IWorkbenchPartSite site = activeEditor.getSite();
    if (site != null) {
      return site.getService(api);
    }
  }

  IWorkbenchWindow workbenchWindow = HandlerUtil.getActiveWorkbenchWindow(event);
  if (workbenchWindow != null) {
    return workbenchWindow.getService(api);
  }

  return PlatformUI.getWorkbench().getService(api);
}
项目:dsl-devkit    文件:FixedHighlightingReconciler.java   
private Display getDisplay() {
  XtextEditor editor = this.editor;
  if (editor == null) {
    return null;
  }

  IWorkbenchPartSite site = editor.getSite();
  if (site == null) {
    return null;
  }

  Shell shell = site.getShell();
  if (shell == null || shell.isDisposed()) {
    return null;
  }

  Display display = shell.getDisplay();
  if (display == null || display.isDisposed()) {
    return null;
  }
  return display;
}
项目:tlaplus    文件:AbstractPDFViewerRunnable.java   
public AbstractPDFViewerRunnable(ProducePDFHandler handler, IWorkbenchPartSite site, IResource aSpecFile) {
    Assert.isNotNull(handler);
    Assert.isNotNull(site);
    Assert.isNotNull(aSpecFile);
    this.handler = handler;
    this.specFile = aSpecFile;

    final boolean autoRegenerate = TLA2TeXActivator.getDefault().getPreferenceStore()
            .getBoolean(ITLA2TeXPreferenceConstants.AUTO_REGENERATE);
    if (autoRegenerate) {
        // Subscribe to the event bus with which the TLA Editor save events are
        // distributed. In other words, every time the user saves a spec, we
        // receive an event and provided the spec corresponds to this PDF, we
        // regenerate it.
        // Don't subscribe in EmbeddedPDFViewerRunnable#though, because it is run
        // repeatedly and thus would cause us to subscribe multiple times.
        final IEventBroker eventService = site.getService(IEventBroker.class);
        Assert.isTrue(eventService.subscribe(TLAEditor.SAVE_EVENT, this));

        // Register for part close events to deregister the event handler
        // subscribed to the event bus. There is no point in regenerating
        // the PDF if no PDFEditor is open anymore.
        final IPartService partService = site.getService(IPartService.class);
        partService.addPartListener(this);
    }
}
项目:bts    文件:HighlightingReconciler.java   
private Display getDisplay() {
    XtextEditor editor = this.editor;
    if (editor == null){
        if(sourceViewer != null)
            return sourceViewer.getControl().getDisplay();
        return null;
    }
    IWorkbenchPartSite site = editor.getSite();
    if (site == null)
        return null;

    Shell shell = site.getShell();
    if (shell == null || shell.isDisposed())
        return null;

    Display display = shell.getDisplay();
    if (display == null || display.isDisposed())
        return null;
    return display;
}
项目:statecharts    文件:RenameElementHandler.java   
@Override
public boolean isEnabled() {
    IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
    if (window == null) {
        return false;
    }
    IWorkbenchPartSite site = window.getActivePage().getActiveEditor().getSite();
    if (site == null) {
        return false;
    }
    ISelectionProvider selectionProvider = site.getSelectionProvider();
    if (selectionProvider == null) {
        return false;
    }
    ISelection currentSelection = selectionProvider.getSelection();
    setContext(refactoring, currentSelection);
    return refactoring.isExecutable();
}
项目:PDFReporter-Studio    文件:ASPropertyWidget.java   
private IStatusLineManager getStatusLineManager() {
    IWorkbench wb = PlatformUI.getWorkbench();
    IWorkbenchWindow win = wb.getActiveWorkbenchWindow();

    IWorkbenchPage page = win.getActivePage();

    IWorkbenchPart part = page.getActivePart();
    if (part == null)
        return null;
    IWorkbenchPartSite site = part.getSite();
    IActionBars actionBars = null;
    if (site instanceof IEditorSite)
        actionBars = ((IEditorSite) site).getActionBars();
    else if (site instanceof IViewSite)
        actionBars = ((IViewSite) site).getActionBars();
    if (actionBars == null)
        return null;
    return actionBars.getStatusLineManager();
}
项目:PDFReporter-Studio    文件:MultiPageToolbarEditorPart.java   
/**
 * Disposes the given part and its site.
 * 
 * @param part
 *          The part to dispose; must not be <code>null</code>.
 */
private void disposePart(final IWorkbenchPart part) {
    SafeRunner.run(new ISafeRunnable() {
        public void run() {
            IWorkbenchPartSite partSite = part.getSite();
            part.dispose();
            if (partSite instanceof MultiPageToolbarEditorSite) {
                ((MultiPageToolbarEditorSite) partSite).dispose();
            }
        }

        public void handleException(Throwable e) {
            // Exception has already being logged by Core. Do nothing.
        }
    });
}
项目:PDFReporter-Studio    文件:ADataInput.java   
private IStatusLineManager getStatusLineManager() {
    IWorkbench wb = PlatformUI.getWorkbench();
    IWorkbenchWindow win = wb.getActiveWorkbenchWindow();

    IWorkbenchPage page = win.getActivePage();
    if (page == null)
        return null;
    IWorkbenchPart part = page.getActivePart();
    if (part == null)
        return null;
    IWorkbenchPartSite site = part.getSite();
    IActionBars actionBars = null;
    if (site instanceof IEditorSite)
        actionBars = ((IEditorSite) site).getActionBars();
    else if (site instanceof IViewSite)
        actionBars = ((IViewSite) site).getActionBars();
    if (actionBars == null)
        return null;

    return actionBars.getStatusLineManager();
}
项目:PDFReporter-Studio    文件:StyledTextXtextAdapter.java   
protected void initSelectionProvider() {
    // Overrides the editors selection provider to provide the text
    // selection if opened within an editor context
    try {
        IWorkbenchPartSite site = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
                .getActiveEditor().getSite();
        XtextStyledTextSelectionProvider xtextStyledTextSelectionProvider = new XtextStyledTextSelectionProvider();
        ChangeSelectionProviderOnFocusGain listener = new ChangeSelectionProviderOnFocusGain(site,
                xtextStyledTextSelectionProvider);
        styledText.addFocusListener(listener);
        styledText.addDisposeListener(listener);
    } catch (NullPointerException ex) {
        //Do nothing, not opened within editor context
    }

}
项目:gama    文件:GamlSearchField.java   
public void search() {
    final IWorkbenchPart part = WorkbenchHelper.getActivePart();
    if (part instanceof IEditorPart) {
        final IEditorPart editor = (IEditorPart) part;
        final IWorkbenchPartSite site = editor.getSite();
        if (site != null) {
            final ISelectionProvider provider = site.getSelectionProvider();
            if (provider != null) {
                final ISelection viewSiteSelection = provider.getSelection();
                if (viewSiteSelection instanceof TextSelection) {
                    final TextSelection textSelection = (TextSelection) viewSiteSelection;
                    text.setText(textSelection.getText());
                }
            }
        }

    }
    activate(null);
    text.setFocus();

}
项目:APICloud-Studio    文件:StatusLineMessageTimerManager.java   
static IStatusLineManager getStatusLineManager()
{
    try
    {
        IWorkbenchPartSite site = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
                .getActivePart().getSite();
        return ((IViewSite) site).getActionBars().getStatusLineManager();
    }
    catch (Exception e)
    {
        // try to get the IStatusLineManager through an active editor
        try
        {
            return PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor()
                    .getEditorSite().getActionBars().getStatusLineManager();
        }
        catch (Exception e1)
        {
        }
    }
    return null;
}
项目:mytourbook    文件:Util.java   
/**
 * Clear all selection providers in all workench pages.
 */
public static void clearSelection() {

    final IWorkbenchWindow wbWin = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
    if (wbWin != null) {

        final IWorkbenchPage[] wbPages = wbWin.getPages();
        for (final IWorkbenchPage wbPage : wbPages) {

            final IWorkbenchPart wbWinPagePart = wbPage.getActivePart();
            if (wbWinPagePart != null) {

                final IWorkbenchPartSite site = wbWinPagePart.getSite();
                if (site != null) {

                    final ISelectionProvider selectionProvider = site.getSelectionProvider();

                    if (selectionProvider instanceof PostSelectionProvider) {
                        ((PostSelectionProvider) selectionProvider).clearSelection();
                    }
                }
            }
        }
    }
}
项目:OpenSPIFe    文件:PlanTimeline.java   
/**
 * Sets the site and input for this editor then creates and initializes the actions.
 * Subclasses may extend this method, but should always call <code>super.init(site, input)
 * </code>.
 * @see org.eclipse.ui.IEditorPart#init(IEditorSite, IEditorInput)
 */
public void init(IWorkbenchPartSite site, PlanEditorModel planEditorModel) {
    super.init(site, planEditorModel.getEPlan());
    this.planEditorModel = planEditorModel;
    EPlan ePlan = planEditorModel.getEPlan();
    this.domain = TransactionUtils.getDomain(ePlan);
    this.moveThread = new MoveThread(ePlan, this);
    IPreferenceStore store = TimelinePlugin.getDefault().getPreferenceStore();
    if (store.getBoolean(TimelinePreferencePage.P_SNAP_TO_ACTIVE)) {
        setSnapTolerance(SnapToTimelineHandler.DEFAULT_TOLERANCE);
    }
    //FIXME:  Make stores consistent.  See also SnapToAssessment.isEnabled().
    setSnapToOrbitEnabled(TimelineConstants.TIMELINE_PREFERENCES.getBoolean(TimelinePreferencePage.P_SNAP_TO_ORBIT_ACTIVE));
    timelineServices = ClassRegistry.createInstances(PlanTimelineService.class);
    for (PlanTimelineService s : timelineServices) {
        s.setTimeline(this);
    }
}
项目:OpenSPIFe    文件:Timeline.java   
public void init(IWorkbenchPartSite site, T model) {
    this.site = site;
    this.model = model;
    this.timelineModel.eAdapters().add(timelineModelAdapter);
    if (site != null) {
        ISelectionProvider selectionProvider = site.getSelectionProvider();
        if (selectionProvider != null) {
            selectionProvider.addSelectionChangedListener(selectionListener);
        }
    }

    timelineServices = ClassRegistry.createInstances(TimelineService.class);
    for (TimelineService s : timelineServices) {
        s.setTimeline(this);
    }
}
项目:OpenSPIFe    文件:MergeTreeViewer.java   
public MergeTreeViewer(TreeTableComposite treeComposite, final TreeTableColumnConfiguration configuration, IWorkbenchPartSite site) {
    super(treeComposite, configuration, site);
    addFilter(new VisabilityFilter());
    treeComposite.getTree().addTreeListener(new PlanElementTreeListener()); // will be disposed with the Tree

    final Tree tree = getTree();
    tree.addMenuDetectListener(new MenuDetectListener() {
        @Override
        public void menuDetected(MenuDetectEvent e) {
            Point point = tree.toControl(e.x, e.y);
            Rectangle clientArea = tree.getClientArea();
            if (clientArea.y <= point.y && point.y < (clientArea.y + tree.getHeaderHeight())) {
                e.doit = false;
                int columnIndex = getColumnIndex(point.x);
                fillHeaderContextMenu(e.display, columnIndex, point, configuration.getColumns());
            }
        }
    });
}
项目:OpenSPIFe    文件:WorkbenchUtils.java   
/**
 * This function takes a workbench part site, which might be from a top-level view,
 * or from a top-level editor, or from a page-level editor in a multipage editor 
 * site.  The function finds the corresponding part for this site and activates it.
 * @param site
 */
public static void activate(IWorkbenchPartSite site) {
    try {
        IWorkbenchPart part;
        if (site instanceof MultiPageEditorSite) {
            part = ((MultiPageEditorSite)site).getMultiPageEditor();
        } else {
            part = site.getPart();
        }
        if (part == null) {
            return;
        }
        IWorkbenchPage page = site.getPage();
        if (page == null) {
            return;
        }
        page.activate(part);
    } catch (ThreadDeath td) {
        throw td;
    } catch (Throwable t) {
        Logger.getLogger(WorkbenchUtils.class).error("throwable in activate", t);
    }
}
项目:OpenSPIFe    文件:AbstractEnsembleEditorPart.java   
@SuppressWarnings("deprecation")
    protected void attachModel(IEditorInput input, IWorkbenchPartSite site) {
        copyAttributes(cutHandler, ActionFactory.CUT);
        copyAttributes(copyHandler, ActionFactory.COPY);
        copyAttributes(pasteHandler, ActionFactory.PASTE);
//      copyAttributes(pasteSpecialHandler, EnsembleActionFactory.PASTE_SPECIAL);
        copyAttributes(deleteHandler, ActionFactory.DELETE);
        copyAttributes(selectAllHandler, ActionFactory.SELECT_ALL);
        getEditorSite().getKeyBindingService(); // Editors need to bind keyboard actions 

        IUndoContext undoContext = getUndoContext();
        undoHandler = new UndoActionHandler(site, undoContext);
        redoHandler = new RedoActionHandler(site, undoContext);
        cutHandler.init(site, undoContext);
        copyHandler.init(site, undoContext);
        pasteHandler.init(site, undoContext);
//      pasteSpecialHandler.setUndoContext(undoContext);
        deleteHandler.init(site, undoContext);

        updateHandlerEnablements();
    }
项目:e4macs    文件:BaseYankHandler.java   
/**
 * In the console context, use paste as
 * in some consoles (e.g. org.eclipse.debug.internal.ui.views.console.ProcessConsole), updateText
 * will not simulate keyboard input
 *  
 * @param event the ExecutionEvent
 * @param widget The consoles StyledText widget
 */
protected void paste(ExecutionEvent event, StyledText widget) {
        IWorkbenchPart apart = HandlerUtil.getActivePart(event);
        if (apart != null) {
            try {
                IWorkbenchPartSite site = apart.getSite();
                if (site != null) {
                    IHandlerService service = (IHandlerService) site.getService(IHandlerService.class);
                    if (service != null) {
                        service.executeCommand(IEmacsPlusCommandDefinitionIds.EMP_PASTE, null);
                        KillRing.getInstance().setYanked(true);
                    }
                }
            } catch (CommandException e) {
            }
        }
}
项目:OpenSPIFe    文件:TemplatePlanViewAddAction.java   
public TemplatePlanViewAddAction(String text, int style, TemplatePlanView templatePlanView) {
    super(text, style);
    this.templatePlanView = templatePlanView;
    addButtonImageDescriptor = AbstractUIPlugin.imageDescriptorFromPlugin(EditorPlugin.ID, "icons/add.png");
    this.setEnabled(false);
    IWorkbenchPartSite site = templatePlanView.getSite();
    if(partListener == null) {
        partListener = new PartListener();
    }
    if(site != null) {
        IWorkbenchWindow workbenchWindow = site.getWorkbenchWindow();
        if(workbenchWindow != null) {
            IPartService partService = workbenchWindow.getPartService();
            if(partService != null) {
                partService.addPartListener(partListener);
            }
        }
    }
}
项目: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    文件:JavaEditor.java   
/**
 * Makes sure that the editor's folding state is correct the next time
 * it becomes visible. If it already is visible, it toggles the folding
 * state. If not, it either registers a part listener to toggle folding
 * when the editor becomes visible, or cancels an already registered
 * runner.
 */
public void runWhenNextVisible() {
    // if there is one already: toggling twice is the identity
    if (fFoldingRunner != null) {
        fFoldingRunner.cancel();
        return;
    }
    IWorkbenchPartSite site= getSite();
    if (site != null) {
        IWorkbenchPage page= site.getPage();
        if (!page.isPartVisible(JavaEditor.this)) {
            // if we're not visible - defer until visible
            fPage= page;
            fFoldingRunner= this;
            page.addPartListener(this);
            return;
        }
    }
    // we're visible - run now
    toggleFolding();
}
项目:Eclipse-Postfix-Code-Completion    文件:SemanticHighlightingReconciler.java   
/**
 * Update the presentation.
 *
 * @param textPresentation the text presentation
 * @param addedPositions the added positions
 * @param removedPositions the removed positions
 */
private void updatePresentation(TextPresentation textPresentation, List<Position> addedPositions, List<Position> removedPositions) {
    Runnable runnable= fJobPresenter.createUpdateRunnable(textPresentation, addedPositions, removedPositions);
    if (runnable == null)
        return;

    JavaEditor editor= fEditor;
    if (editor == null)
        return;

    IWorkbenchPartSite site= editor.getSite();
    if (site == null)
        return;

    Shell shell= site.getShell();
    if (shell == null || shell.isDisposed())
        return;

    Display display= shell.getDisplay();
    if (display == null || display.isDisposed())
        return;

    display.asyncExec(runnable);
}
项目:Eclipse-Postfix-Code-Completion    文件:JavaReconciler.java   
@Override
public void uninstall() {

    IWorkbenchPartSite site= fTextEditor.getSite();
    IWorkbenchWindow window= site.getWorkbenchWindow();
    window.getPartService().removePartListener(fPartListener);
    fPartListener= null;

    Shell shell= window.getShell();
    if (shell != null && !shell.isDisposed())
        shell.removeShellListener(fActivationListener);
    fActivationListener= null;

    JavaCore.removeElementChangedListener(fJavaElementChangedListener);
    fJavaElementChangedListener= null;

    IWorkspace workspace= JavaPlugin.getWorkspace();
    workspace.removeResourceChangeListener(fResourceChangeListener);
    fResourceChangeListener= null;

    JavaPlugin.getDefault().getCombinedPreferenceStore().removePropertyChangeListener(fPropertyChangeListener);
    fPropertyChangeListener= null;

    super.uninstall();
}
项目:Eclipse-Postfix-Code-Completion    文件:ViewActionGroup.java   
public ViewActionGroup(int mode, IPropertyChangeListener changeListener, IWorkbenchPartSite site) {
    fChangeListener= changeListener;
    fSite= site;
    if (fChangeListener == null) {
        fChangeListener = new IPropertyChangeListener() {
            public void propertyChange(PropertyChangeEvent event) {}
        };
    }
    fFilterActionGroup= new WorkingSetFilterActionGroup(site, fChangeListener);
    fShowActionGroup= new WorkingSetShowActionGroup(site);
    fWorkingSetAssignementAction= new ConfigureWorkingSetAssignementAction(site);

    ISelectionProvider selectionProvider= site.getSelectionProvider();
    selectionProvider.addSelectionChangedListener(fWorkingSetAssignementAction);

    fMode= mode;
    if (fMode == SHOW_WORKING_SETS)
        fActiveActionGroup= fShowActionGroup;
    else
        fActiveActionGroup= fFilterActionGroup;
}
项目:Eclipse-Postfix-Code-Completion    文件:WorkingSetFilterActionGroup.java   
public WorkingSetFilterActionGroup(IWorkbenchPartSite site, IPropertyChangeListener changeListener) {
    Assert.isNotNull(site);
    Assert.isNotNull(changeListener);

    fChangeListener= changeListener;
    fWorkbenchPage= site.getPage();
    fAllowWindowWorkingSetByDefault= true;
    fClearWorkingSetAction= new ClearWorkingSetAction(this);
    fSelectWorkingSetAction= new SelectWorkingSetAction(this, site);
    fEditWorkingSetAction= new EditWorkingSetAction(this, site);

    fWorkingSetListener= new IPropertyChangeListener() {
        public void propertyChange(PropertyChangeEvent event) {
            doPropertyChange(event);
        }
    };
    fWorkingSetFilter= new WorkingSetFilter();

    IWorkingSetManager manager= PlatformUI.getWorkbench().getWorkingSetManager();
    manager.addPropertyChangeListener(fWorkingSetListener);

    if (useWindowWorkingSetByDefault()) {
        setWorkingSet(site.getPage().getAggregateWorkingSet(), false);
    }
}
项目:gef-gwt    文件:RetargetAction.java   
/**
 * A workbench part has been deactivated. Disconnect from it.
 * 
 * @param part
 *            the workbench part that has been deactivated
 */
public void partDeactivated(IWorkbenchPart part) {
    super.partDeactivated(part);
    IWorkbenchPartSite site = part.getSite();
    SubActionBars bars = (SubActionBars) ((PartSite) site).getActionBars();
    bars.removePropertyChangeListener(propertyChangeListener);

    IWorkbenchPart activePart = part.getSite().getPage().getActivePart();
    if (activePart != null) {
        // We are going to get a part activated message so don't bother
        // setting the
        // action handler to null. This prevents enablement flash in the
        // toolbar
        return;
    }

    setActionHandler(null);
}
项目:Eclipse-Postfix-Code-Completion-Juno38    文件:JavaEditor.java   
/**
 * Makes sure that the editor's folding state is correct the next time
 * it becomes visible. If it already is visible, it toggles the folding
 * state. If not, it either registers a part listener to toggle folding
 * when the editor becomes visible, or cancels an already registered
 * runner.
 */
public void runWhenNextVisible() {
    // if there is one already: toggling twice is the identity
    if (fFoldingRunner != null) {
        fFoldingRunner.cancel();
        return;
    }
    IWorkbenchPartSite site= getSite();
    if (site != null) {
        IWorkbenchPage page= site.getPage();
        if (!page.isPartVisible(JavaEditor.this)) {
            // if we're not visible - defer until visible
            fPage= page;
            fFoldingRunner= this;
            page.addPartListener(this);
            return;
        }
    }
    // we're visible - run now
    toggleFolding();
}
项目:Eclipse-Postfix-Code-Completion-Juno38    文件:SemanticHighlightingReconciler.java   
/**
 * Update the presentation.
 *
 * @param textPresentation the text presentation
 * @param addedPositions the added positions
 * @param removedPositions the removed positions
 */
private void updatePresentation(TextPresentation textPresentation, List<Position> addedPositions, List<Position> removedPositions) {
    Runnable runnable= fJobPresenter.createUpdateRunnable(textPresentation, addedPositions, removedPositions);
    if (runnable == null)
        return;

    JavaEditor editor= fEditor;
    if (editor == null)
        return;

    IWorkbenchPartSite site= editor.getSite();
    if (site == null)
        return;

    Shell shell= site.getShell();
    if (shell == null || shell.isDisposed())
        return;

    Display display= shell.getDisplay();
    if (display == null || display.isDisposed())
        return;

    display.asyncExec(runnable);
}
项目:Eclipse-Postfix-Code-Completion-Juno38    文件:JavaReconciler.java   
@Override
public void uninstall() {

    IWorkbenchPartSite site= fTextEditor.getSite();
    IWorkbenchWindow window= site.getWorkbenchWindow();
    window.getPartService().removePartListener(fPartListener);
    fPartListener= null;

    Shell shell= window.getShell();
    if (shell != null && !shell.isDisposed())
        shell.removeShellListener(fActivationListener);
    fActivationListener= null;

    JavaCore.removeElementChangedListener(fJavaElementChangedListener);
    fJavaElementChangedListener= null;

    IWorkspace workspace= JavaPlugin.getWorkspace();
    workspace.removeResourceChangeListener(fResourceChangeListener);
    fResourceChangeListener= null;

    JavaPlugin.getDefault().getCombinedPreferenceStore().removePropertyChangeListener(fPropertyChangeListener);
    fPropertyChangeListener= null;

    super.uninstall();
}
项目:Eclipse-Postfix-Code-Completion-Juno38    文件:WorkingSetFilterActionGroup.java   
public WorkingSetFilterActionGroup(IWorkbenchPartSite site, IPropertyChangeListener changeListener) {
    Assert.isNotNull(site);
    Assert.isNotNull(changeListener);

    fChangeListener= changeListener;
    fWorkbenchPage= site.getPage();
    fAllowWindowWorkingSetByDefault= true;
    fClearWorkingSetAction= new ClearWorkingSetAction(this);
    fSelectWorkingSetAction= new SelectWorkingSetAction(this, site);
    fEditWorkingSetAction= new EditWorkingSetAction(this, site);

    fWorkingSetListener= new IPropertyChangeListener() {
        public void propertyChange(PropertyChangeEvent event) {
            doPropertyChange(event);
        }
    };
    fWorkingSetFilter= new WorkingSetFilter();

    IWorkingSetManager manager= PlatformUI.getWorkbench().getWorkingSetManager();
    manager.addPropertyChangeListener(fWorkingSetListener);

    if (useWindowWorkingSetByDefault()) {
        setWorkingSet(site.getPage().getAggregateWorkingSet(), false);
    }
}
项目:eZooKeeper    文件:ViewerFactory.java   
/**
 * Create a new {@link TableViewer} with {@link DataModel} elements.
 * 
 * @param site The {@link IWorkbenchPartSite} used to register the table's context menu.
 * @param table The {@link Table}.
 * @param dataModelClass The {@link DataModel} element {@link Class}.
 * @param dataModelElementType The {@link DataModel} {@link IElementType}.
 * @param input The {@link TableViewer} input.
 * @param inputElementType The input {@link IElementType}.
 * @return A new {@link TableViewer}.
 */
public static TableViewer createDataModelTableViewer(IWorkbenchPartSite site, Table table, Class<?> dataModelClass,
        final IElementType dataModelElementType, Object input, IElementType inputElementType) {

    TableViewer tableViewer = createTableViewer(table, dataModelClass, dataModelElementType, input,
            inputElementType, new DataModelElementBinding());

    List<BaseAction> tableActions = dataModelElementType.getActions();
    if (tableActions != null) {
        for (BaseAction action : tableActions) {
            action.setSelectionProvider(tableViewer);
        }

        MenuManager menuManager = new MenuManager("#PopupMenu");
        menuManager.setRemoveAllWhenShown(true);
        menuManager.addMenuListener(new IMenuListener() {

            public void menuAboutToShow(IMenuManager manager) {
                dataModelElementType.fillContextMenu(manager);
            }

        });

        Menu menu = menuManager.createContextMenu(table);
        table.setMenu(menu);
        site.registerContextMenu(menuManager, tableViewer);
    }

    return tableViewer;
}
项目:neoscada    文件:VisualInterfaceFactory.java   
@Override
public ViewInstance createViewInstance ( final ViewManager viewManager, final ViewManagerContext viewManagerContext, final ViewInstanceDescriptor descriptor, final Composite viewHolder, final ResourceManager manager, final IWorkbenchPartSite site )
{
    final VisualInterfaceViewInstance instance = new VisualInterfaceViewInstance ( viewManager, viewManagerContext, viewHolder, descriptor, site.getService ( IEvaluationService.class ) );
    instance.init ();
    return instance;
}
项目:neoscada    文件:ChartViewFactory.java   
@Override
public ViewInstance createViewInstance ( final ViewManager viewManager, final ViewManagerContext viewManagerContext, final ViewInstanceDescriptor descriptor, final Composite viewHolder, final ResourceManager manager, final IWorkbenchPartSite site )
{
    final ChartView view = new ChartView ( viewManagerContext, manager, descriptor, viewHolder, (IEvaluationService)site.getService ( IEvaluationService.class ), true );
    view.init ();
    return view;
}
项目:neoscada    文件:ServersViewer.java   
private void hookContextMenu ( final IWorkbenchPartSite site )
{
    final MenuManager menuMgr = new MenuManager ( "#PopupMenu" ); //$NON-NLS-1$
    menuMgr.setRemoveAllWhenShown ( true );
    menuMgr.addMenuListener ( new IMenuListener () {
        @Override
        public void menuAboutToShow ( final IMenuManager manager )
        {
            fillContextMenu ( manager );
        }
    } );
    final Menu menu = menuMgr.createContextMenu ( this.viewer.getControl () );
    this.viewer.getControl ().setMenu ( menu );
    site.registerContextMenu ( menuMgr, this.viewer );
}
项目:scanning    文件:PageUtil.java   
/**
 * Gets the page, even during startup.
 * @return the page
 */
public static IWorkbenchPage getPage(IWorkbenchPartSite site) {
    if (site != null) {
        IWorkbenchPage page = site.getPage();
        if (page != null) return page;
    }
    IWorkbenchPage activePage = PageUtil.getActivePage();
    if (activePage!=null) return activePage;
    return PageUtil.getDefaultPage();
}
项目:scanning    文件:Util.java   
/**
 * Gets the page, even during startup.
 * @return the page
 */
public static IWorkbenchPage getPage(IWorkbenchPartSite site) {
    if (site != null) {
        IWorkbenchPage page = site.getPage();
        if (page != null) return page;
    }
    IWorkbenchPage activePage = getActivePage();
    if (activePage!=null) return activePage;
    return getDefaultPage();
}
项目:team-explorer-everywhere    文件:LegacyActionKeyBindingSupport.java   
private LegacyActionKeyBindingSupport(
    final IWorkbench workbench,
    final Shell shell,
    final IWorkbenchPartSite site) {
    Check.notNull(workbench, "workbench"); //$NON-NLS-1$
    Check.notNull(shell, "shell"); //$NON-NLS-1$

    workbenchCommandSupport = workbench.getCommandSupport();
    this.shell = shell;
    this.site = site;
}
项目:subclipse    文件:Utilities.java   
public static IWorkbenchPartSite findSite(Control c) {
    while (c != null && !c.isDisposed()) {
        Object data= c.getData();
        if (data instanceof IWorkbenchPart)
            return ((IWorkbenchPart)data).getSite();
        c= c.getParent();
    }
    return null;
}
项目:Notepad4e    文件:Note.java   
/**
 * Exports the brute text in the current note as a text file.
 * 
 * @param iWorkbenchPartSite
 */
public void exportToFile(IWorkbenchPartSite iWorkbenchPartSite) {
    // Retrieve the file to save to with an explorer window.
    FileDialog fileDialog = new FileDialog(iWorkbenchPartSite.getShell(), SWT.SAVE);
    fileDialog.setText(LocalStrings.dialogExportTitle);
    String fileName = fileDialog.open();
    // Invalid name specified.
    if (fileName == null || fileName.isEmpty()) {
        return;
    }

    File file = new File(fileName);
    if (file.exists() && !MessageDialog.openQuestion(iWorkbenchPartSite.getShell(),
            LocalStrings.dialogOverwriteTitle, LocalStrings.dialogOverwriteMsg)) {
        return;
    }

    // Write the current note's text to the file, with handling of IO exceptions.
    try (FileOutputStream outStream = new FileOutputStream(file);
            PrintWriter printStream = new PrintWriter(outStream)) {
        printStream.print(getText());
        printStream.flush();
        MessageDialog.openInformation(iWorkbenchPartSite.getShell(), LocalStrings.dialogExportedTitle,
                LocalStrings.dialogExportedMsg);
    } catch (IOException e) {
        MessageDialog.openInformation(iWorkbenchPartSite.getShell(), LocalStrings.dialogErrorTitle,
                LocalStrings.dialogErrorMsg);
        Notepad4e.getDefault().getLog().log(new Status(IStatus.ERROR, LocalStrings.dialogErrorMsg, e.toString()));
    }
}