/**
   * Provide the initialization of the listeners additions. The Window, Part, and Document Listener
   * are added. Note that sensor shell should be instantiated before this method is called because
   * <code>processActivity()</code> method uses sensor shell instance.
   */
  private void registerListeners() {
    IWorkbench workbench = EclipseSensorPlugin.getInstance().getWorkbench();

    // :RESOLVED: JULY 1, 2003
    // Supports the multiple window for sensor collection.
    IWorkbenchWindow[] activeWindows = workbench.getWorkbenchWindows();

    // Check if window listener is not added yet. Otherwise multi instances are notified.
    if (this.windowListener == null) {
      this.windowListener = new WindowListenerAdapter();
      workbench.addWindowListener(new WindowListenerAdapter());
    }

    for (int i = 0; i < activeWindows.length; i++) {
      IWorkbenchPage activePage = activeWindows[i].getActivePage();
      activePage.addPartListener(new PartListenerAdapter());
      IEditorPart activeEditorPart = activePage.getActiveEditor();

      // Adds this EclipseSensorPlugin instance to IDocumentListener
      // only when activeEditorPart is the instance of ITextEditor
      // so that null case is also ignored.
      if (activeEditorPart instanceof ITextEditor) {
        // Sets activeTextEditor. Otherwise a first activated file would not be recorded.
        this.activeTextEditor = (ITextEditor) activeEditorPart;
        // Gets opened file since the initial opened file is not notified from IPartListener.
        URI fileResource = EclipseSensor.this.getFileResource(this.activeTextEditor);

        Map<String, String> keyValueMap = new HashMap<String, String>();
        keyValueMap.put(EclipseSensorConstants.SUBTYPE, "Open");
        keyValueMap.put(EclipseSensorConstants.UNIT_TYPE, EclipseSensorConstants.FILE);
        keyValueMap.put(
            EclipseSensorConstants.UNIT_NAME, EclipseSensor.this.extractFileName(fileResource));
        this.addDevEvent(
            EclipseSensorConstants.DEVEVENT_EDIT,
            fileResource,
            keyValueMap,
            "Opened " + fileResource.toString());

        IDocumentProvider provider = this.activeTextEditor.getDocumentProvider();
        IDocument document = provider.getDocument(activeEditorPart.getEditorInput());

        // Initially sets active buffer and threshold buffer.
        // Otherwise a first activated buffer would not be recorded.
        this.activeBufferSize = document.getLength();
        this.thresholdBufferSize = document.getLength();
        document.addDocumentListener(new DocumentListenerAdapter());
      }
    }

    // Handles breakpoint set/unset event.
    IBreakpointManager bpManager = DebugPlugin.getDefault().getBreakpointManager();
    bpManager.addBreakpointListener(new BreakPointerSensor(this));

    // Listens to debug event.
    DebugPlugin.getDefault().addDebugEventListener(new DebugSensor(this));

    // Creates instance to handle build error.
    this.buildErrorSensor = new BuildErrorSensor(this);
  }
Beispiel #2
0
    /* (non-Javadoc)
     * @see org.eclipse.ui.IPageListener#pageActivated(org.eclipse.ui.IWorkbenchPage)
     */
    @Override
    public void pageActivated(IWorkbenchPage page) {
      if (currentActivePage != null)
        currentActivePage.removePartListener(MbeWorkbenchPagePartListener.Default);

      currentActivePage = page;

      if (currentActivePage != null)
        currentActivePage.addPartListener(MbeWorkbenchPagePartListener.Default);
    }
  /*
   * @see IEditorActionBarContributor#init(IActionBars, IWorkbenchPage)
   */
  @Override
  public void init(IActionBars bars, IWorkbenchPage page) {
    fToggleBreadcrumbAction = new ToggleBreadcrumbAction(page);
    Iterator<RetargetAction> e = fPartListeners.iterator();
    while (e.hasNext()) page.addPartListener(e.next());

    super.init(bars, page);

    bars.setGlobalActionHandler(
        ITextEditorActionDefinitionIds.TOGGLE_SHOW_SELECTED_ELEMENT_ONLY, fTogglePresentation);
    bars.setGlobalActionHandler(
        IJavaEditorActionDefinitionIds.TOGGLE_MARK_OCCURRENCES, fToggleMarkOccurrencesAction);
    bars.setGlobalActionHandler(
        IJavaEditorActionDefinitionIds.TOGGLE_BREADCRUMB, fToggleBreadcrumbAction);
  }
Beispiel #4
0
 public SourceDisplayListener() {
   IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
   fPage = window.getActivePage();
   fPage.addPartListener(this);
   fPage
       .getWorkbenchWindow()
       .getShell()
       .getDisplay()
       .asyncExec(
           new Runnable() {
             public void run() {
               partBroughtToTop(fPage.getActiveEditor());
             }
           });
 }
  public static void install() {
    IWorkbenchPage page = CeylonTestUtil.getActivePage();

    IViewPart part = page.findView(PackageExplorerPart.VIEW_ID);
    if (part != null) {
      PackageExplorerPart packageExplorerPart = (PackageExplorerPart) part;
      install(packageExplorerPart);
    }

    page.addPartListener(
        new IPartListener2() {
          @Override
          public void partOpened(IWorkbenchPartReference partRef) {
            if (partRef.getId().equals(PackageExplorerPart.VIEW_ID)) {
              IWorkbenchPart part = partRef.getPart(false);
              if (part != null) {
                PackageExplorerPart packageExplorerPart = (PackageExplorerPart) part;
                install(packageExplorerPart);
              }
            }
          }

          @Override
          public void partVisible(IWorkbenchPartReference partRef) {}

          @Override
          public void partInputChanged(IWorkbenchPartReference partRef) {}

          @Override
          public void partHidden(IWorkbenchPartReference partRef) {}

          @Override
          public void partDeactivated(IWorkbenchPartReference partRef) {}

          @Override
          public void partClosed(IWorkbenchPartReference partRef) {}

          @Override
          public void partBroughtToTop(IWorkbenchPartReference partRef) {}

          @Override
          public void partActivated(IWorkbenchPartReference partRef) {}
        });
  }
 public void registerAsListener() {
   IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
   if (page != null) page.addPartListener(this);
 }
 public void setActiveEditor(IEditorPart targetEditor) {
   super.setActiveEditor(targetEditor);
   workbench = targetEditor.getSite().getWorkbenchWindow().getActivePage();
   workbench.addPartListener(this);
   targetEditor.addPropertyListener(this);
 }
 public void pageOpened(IWorkbenchPage page) {
   page.addPartListener(listener);
 }