예제 #1
0
    public PostponeableLogRefresher(
        @NotNull Project project, @NotNull VcsLogDataHolder dataHolder) {
      myDataHolder = dataHolder;
      myToolWindowManager = (ToolWindowManagerImpl) ToolWindowManager.getInstance(project);
      myToolWindow = (ToolWindowImpl) myToolWindowManager.getToolWindow(TOOLWINDOW_ID);

      Disposer.register(myToolWindow.getContentManager(), this);

      myPostponedEventsListener = new MyRefreshPostponedEventsListener();
      myToolWindow.getContentManager().addContentManagerListener(myPostponedEventsListener);
      myToolWindowManager.addToolWindowManagerListener(myPostponedEventsListener);
    }
예제 #2
0
 private boolean isOurContentPaneShowing() {
   if (myToolWindowManager.isToolWindowRegistered(TOOLWINDOW_ID) && myToolWindow.isVisible()) {
     Content content = myToolWindow.getContentManager().getSelectedContent();
     return content != null && content.getTabName().equals(VcsLogContentProvider.TAB_NAME);
   }
   return false;
 }
예제 #3
0
 @Override
 public void dispose() {
   myToolWindow.getContentManager().removeContentManagerListener(myPostponedEventsListener);
   myToolWindowManager.removeToolWindowManagerListener(myPostponedEventsListener);
 }