コード例 #1
0
 public CtrlMouseHandler(
     final Project project,
     StartupManager startupManager,
     EditorColorsManager colorsManager,
     FileEditorManager fileEditorManager,
     @NotNull DocumentationManager documentationManager,
     @NotNull final EditorFactory editorFactory) {
   super(project);
   myEditorColorsManager = colorsManager;
   startupManager.registerPostStartupActivity(
       new DumbAwareRunnable() {
         @Override
         public void run() {
           EditorEventMulticaster eventMulticaster = editorFactory.getEventMulticaster();
           eventMulticaster.addEditorMouseListener(myEditorMouseAdapter, project);
           eventMulticaster.addEditorMouseMotionListener(myEditorMouseMotionListener, project);
           eventMulticaster.addCaretListener(
               new CaretAdapter() {
                 @Override
                 public void caretPositionChanged(CaretEvent e) {
                   if (myHint != null) {
                     myDocumentationManager.updateToolwindowContext();
                   }
                 }
               },
               project);
         }
       });
   myFileEditorManager = fileEditorManager;
   myDocumentationManager = documentationManager;
   myDocAlarm = new Alarm(Alarm.ThreadToUse.POOLED_THREAD, myProject);
 }
 @Override
 public void projectOpened() {
   StartupManager startupManager = StartupManager.getInstance(myProject);
   if (startupManager == null) {
     return; // upsource
   }
   startupManager.registerPostStartupActivity(
       new DumbAwareRunnable() {
         @Override
         public void run() {
           final Set<Profile> profiles = new HashSet<Profile>();
           profiles.add(getProjectProfileImpl());
           profiles.addAll(getProfiles());
           profiles.addAll(InspectionProfileManager.getInstance().getProfiles());
           final Application app = ApplicationManager.getApplication();
           Runnable initInspectionProfilesRunnable =
               () -> {
                 for (Profile profile : profiles) {
                   initProfileWrapper(profile);
                 }
                 fireProfilesInitialized();
               };
           if (app.isUnitTestMode() || app.isHeadlessEnvironment()) {
             initInspectionProfilesRunnable.run();
             UIUtil
                 .dispatchAllInvocationEvents(); // do not restart daemon in the middle of the test
           } else {
             app.executeOnPooledThread(initInspectionProfilesRunnable);
           }
           myScopeListener =
               new NamedScopesHolder.ScopeListener() {
                 @Override
                 public void scopesChanged() {
                   for (Profile profile : getProfiles()) {
                     ((InspectionProfile) profile).scopesChanged();
                   }
                 }
               };
           myHolder.addScopeListener(myScopeListener);
           myLocalScopesHolder.addScopeListener(myScopeListener);
           Disposer.register(
               myProject,
               new Disposable() {
                 @Override
                 public void dispose() {
                   myHolder.removeScopeListener(myScopeListener);
                   myLocalScopesHolder.removeScopeListener(myScopeListener);
                 }
               });
         }
       });
 }
コード例 #3
0
 public void readExternal(@NotNull final Element parentNode) {
   // save old breakpoints
   for (Element element : parentNode.getChildren()) {
     myOriginalBreakpointsNodes.add(element.clone());
   }
   if (myProject.isOpen()) {
     doRead(parentNode);
   } else {
     myStartupManager.registerPostStartupActivity(
         new Runnable() {
           @Override
           public void run() {
             doRead(parentNode);
           }
         });
   }
 }
コード例 #4
0
 public CtrlMouseHandler(
     final Project project,
     StartupManager startupManager,
     EditorColorsManager colorsManager,
     FileEditorManager fileEditorManager) {
   super(project);
   startupManager.registerPostStartupActivity(
       new DumbAwareRunnable() {
         public void run() {
           EditorEventMulticaster eventMulticaster =
               EditorFactory.getInstance().getEventMulticaster();
           eventMulticaster.addEditorMouseListener(myEditorMouseAdapter, project);
           eventMulticaster.addEditorMouseMotionListener(myEditorMouseMotionListener, project);
         }
       });
   ourReferenceAttributes =
       colorsManager.getGlobalScheme().getAttributes(CTRL_CLICKABLE_ATTRIBUTES_KEY);
   myFileEditorManager = fileEditorManager;
 }
コード例 #5
0
  @Override
  public void projectOpened() {
    final StartupManager manager = StartupManager.getInstance(myProject);
    manager.registerPostStartupActivity(
        new DumbAwareRunnable() {
          @Override
          public void run() {
            ToolWindowManager toolWindowManager = ToolWindowManager.getInstance(myProject);
            if (toolWindowManager != null) { // Can be null in tests
              if (!Registry.is("vcs.merge.toolwindows")) {
                ToolWindow toolWindow =
                    toolWindowManager.registerToolWindow(
                        ToolWindowId.VCS, true, ToolWindowAnchor.BOTTOM, myProject, true);
                myContentManager = toolWindow.getContentManager();
                toolWindow.setIcon(AllIcons.Toolwindows.VcsSmallTab);
                toolWindow.installWatcher(myContentManager);
              }
            } else {
              myContentManager =
                  ContentFactory.SERVICE.getInstance().createContentManager(true, myProject);
            }
          }
        });

    addInitializationRequest(
        VcsInitObject.AFTER_COMMON,
        new Runnable() {
          @Override
          public void run() {
            if (!ApplicationManager.getApplication().isUnitTestMode()) {
              VcsRootChecker[] checkers =
                  Extensions.getExtensions(VcsRootChecker.EXTENSION_POINT_NAME);
              if (checkers.length != 0) {
                VcsRootScanner.start(myProject, checkers);
              }
            }
          }
        });
  }