diff --git a/java/idea-ui/src/com/intellij/ide/palette/impl/PaletteManager.java b/java/idea-ui/src/com/intellij/ide/palette/impl/PaletteManager.java index 6612b41e59ba..86b821d7506c 100644 --- a/java/idea-ui/src/com/intellij/ide/palette/impl/PaletteManager.java +++ b/java/idea-ui/src/com/intellij/ide/palette/impl/PaletteManager.java @@ -205,15 +205,15 @@ public class PaletteManager implements ProjectComponent { } private class MyFileEditorManagerListener implements FileEditorManagerListener { - public void fileOpened(FileEditorManager source, VirtualFile file) { + public void fileOpened(@NotNull FileEditorManager source, @NotNull VirtualFile file) { processFileEditorChange(file); } - public void fileClosed(FileEditorManager source, VirtualFile file) { + public void fileClosed(@NotNull FileEditorManager source, @NotNull VirtualFile file) { processFileEditorChange(null); } - public void selectionChanged(FileEditorManagerEvent event) { + public void selectionChanged(@NotNull FileEditorManagerEvent event) { processFileEditorChange(event.getNewFile()); } } diff --git a/java/java-impl/src/com/intellij/codeInspection/ex/FilteringInspectionTool.java b/java/java-impl/src/com/intellij/codeInspection/ex/FilteringInspectionTool.java index 71a3fc304930..71a49a4bed30 100644 --- a/java/java-impl/src/com/intellij/codeInspection/ex/FilteringInspectionTool.java +++ b/java/java-impl/src/com/intellij/codeInspection/ex/FilteringInspectionTool.java @@ -114,16 +114,7 @@ public abstract class FilteringInspectionTool extends InspectionTool { @Override public void cleanup() { super.cleanup(); - final GlobalInspectionContextImpl context = getContext(); - if (context != null && context.getUIOptions().SHOW_DIFF_WITH_PREVIOUS_RUN){ - if (myOldPackageContents == null){ - myOldPackageContents = new HashMap>(); - } - myOldPackageContents.clear(); - myOldPackageContents.putAll(myPackageContents); - } else { - myOldPackageContents = null; - } + myOldPackageContents = null; myPackageContents.clear(); myIgnoreElements.clear(); } diff --git a/platform/lang-api/src/com/intellij/execution/ui/layout/ViewContext.java b/platform/lang-api/src/com/intellij/execution/ui/layout/ViewContext.java index db9f63568310..90dfad98dbbc 100644 --- a/platform/lang-api/src/com/intellij/execution/ui/layout/ViewContext.java +++ b/platform/lang-api/src/com/intellij/execution/ui/layout/ViewContext.java @@ -45,7 +45,7 @@ public interface ViewContext extends Disposable { @Nullable Tab getTabFor(final Grid grid); - View getStateFor(Content content); + View getStateFor(@NotNull Content content); void saveUiState(); @@ -61,7 +61,7 @@ public interface ViewContext extends Disposable { GridCell findCellFor(@NotNull final Content content); - Grid findGridFor(Content content); + Grid findGridFor(@NotNull Content content); ActionCallback select(Content content, boolean requestFocus); diff --git a/platform/lang-impl/src/com/intellij/codeInsight/completion/CompletionPhase.java b/platform/lang-impl/src/com/intellij/codeInsight/completion/CompletionPhase.java index d9f4c7b62ab7..ad9f518936b8 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/completion/CompletionPhase.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/completion/CompletionPhase.java @@ -297,7 +297,7 @@ public abstract class CompletionPhase implements Disposable { MessageBusConnection connection = project.getMessageBus().connect(this); connection.subscribe(FileEditorManagerListener.FILE_EDITOR_MANAGER, new FileEditorManagerAdapter() { @Override - public void selectionChanged(FileEditorManagerEvent event) { + public void selectionChanged(@NotNull FileEditorManagerEvent event) { stopAutoPopup(); } }); diff --git a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/EditorTracker.java b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/EditorTracker.java index 2e2407476f10..57bb450f8f64 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/EditorTracker.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/EditorTracker.java @@ -74,7 +74,7 @@ public class EditorTracker extends AbstractProjectComponent { myIdeFrame = ((WindowManagerEx)myWindowManager).getFrame(myProject); myProject.getMessageBus().connect(myProject).subscribe(FileEditorManagerListener.FILE_EDITOR_MANAGER, new FileEditorManagerAdapter() { @Override - public void selectionChanged(FileEditorManagerEvent event) { + public void selectionChanged(@NotNull FileEditorManagerEvent event) { if (myIdeFrame == null || myIdeFrame.getFocusOwner() == null) return; setActiveWindow(myIdeFrame); } @@ -165,7 +165,7 @@ public class EditorTracker extends AbstractProjectComponent { List editorsList = myWindowToEditorsMap.get(oldWindow); boolean removed = editorsList.remove(editor); LOG.assertTrue(removed); - + if (editorsList.isEmpty()) { myWindowToEditorsMap.remove(oldWindow); final WindowFocusListener listener = myWindowToWindowFocusListenerMap.remove(oldWindow); diff --git a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/StatusBarUpdater.java b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/StatusBarUpdater.java index 4171b9bb4fcf..1a644fb17afa 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/StatusBarUpdater.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/StatusBarUpdater.java @@ -34,6 +34,7 @@ import com.intellij.openapi.wm.StatusBar; import com.intellij.openapi.wm.WindowManager; import com.intellij.openapi.wm.ex.StatusBarEx; import com.intellij.util.Alarm; +import org.jetbrains.annotations.NotNull; public class StatusBarUpdater implements Disposable { private final Project myProject; @@ -52,7 +53,7 @@ public class StatusBarUpdater implements Disposable { project.getMessageBus().connect(this).subscribe(FileEditorManagerListener.FILE_EDITOR_MANAGER, new FileEditorManagerAdapter() { @Override - public void selectionChanged(FileEditorManagerEvent event) { + public void selectionChanged(@NotNull FileEditorManagerEvent event) { updateLater(); } }); diff --git a/platform/lang-impl/src/com/intellij/codeInsight/highlighting/BraceHighlighter.java b/platform/lang-impl/src/com/intellij/codeInsight/highlighting/BraceHighlighter.java index d54f5d2762b8..c304a65d7445 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/highlighting/BraceHighlighter.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/highlighting/BraceHighlighter.java @@ -112,7 +112,7 @@ public class BraceHighlighter implements StartupActivity { fileEditorManager.addFileEditorManagerListener(new FileEditorManagerAdapter() { @Override - public void selectionChanged(FileEditorManagerEvent e) { + public void selectionChanged(@NotNull FileEditorManagerEvent e) { myAlarm.cancelAllRequests(); } }, project); diff --git a/platform/lang-impl/src/com/intellij/codeInsight/navigation/CtrlMouseHandler.java b/platform/lang-impl/src/com/intellij/codeInsight/navigation/CtrlMouseHandler.java index 172c5da69736..116cca6e1e7a 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/navigation/CtrlMouseHandler.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/navigation/CtrlMouseHandler.java @@ -149,7 +149,7 @@ public class CtrlMouseHandler extends AbstractProjectComponent { private final FileEditorManagerListener myFileEditorManagerListener = new FileEditorManagerAdapter() { @Override - public void selectionChanged(FileEditorManagerEvent e) { + public void selectionChanged(@NotNull FileEditorManagerEvent e) { disposeHighlighter(); myTooltipProvider = null; } @@ -270,7 +270,7 @@ public class CtrlMouseHandler extends AbstractProjectComponent { } return new Rectangle(hintComponent.getLocationOnScreen(), hintComponent.getSize()); } - + private static BrowseMode getBrowseMode(@JdkConstants.InputEventMask int modifiers) { if (modifiers != 0) { final Keymap activeKeymap = KeymapManager.getInstance().getActiveKeymap(); @@ -615,7 +615,7 @@ public class CtrlMouseHandler extends AbstractProjectComponent { UIUtil.invokeLaterIfNeeded(new Runnable() { @Override public void run() { - + // There is a possible case that quick doc control width is changed, e.g. it contained text // like 'public final class String implements java.io.Serializable, java.lang.Comparable' and // new text replaces fully-qualified class names by hyperlinks with short name. @@ -625,7 +625,7 @@ public class CtrlMouseHandler extends AbstractProjectComponent { JComponent component = hint.getComponent(); Dimension oldSize = component.getPreferredSize(); newTextConsumer.consume(newHtml); - + final int widthIncrease; if (component instanceof QuickDocInfoPane) { int buttonWidth = ((QuickDocInfoPane)component).getButtonWidth(); @@ -638,16 +638,16 @@ public class CtrlMouseHandler extends AbstractProjectComponent { if (oldSize == null) { return; } - + Dimension newSize = component.getPreferredSize(); if (newSize.width + widthIncrease == oldSize.width) { return; } component.setPreferredSize(new Dimension(newSize.width + widthIncrease, newSize.height)); - + // We're assuming here that there are two possible hint representation modes: popup and layered pane. if (hint.isRealPopup()) { - + TooltipProvider tooltipProvider = myTooltipProvider; if (tooltipProvider != null) { // There is a possible case that 'raw' control was rather wide but the 'rich' one is narrower. That's why we try to @@ -674,7 +674,7 @@ public class CtrlMouseHandler extends AbstractProjectComponent { topLevelLayeredPaneChild = current; } } - + if (adjustBounds && topLevelLayeredPaneChild != null) { Rectangle bounds = topLevelLayeredPaneChild.getBounds(); topLevelLayeredPaneChild.setBounds(bounds.x, bounds.y, bounds.width + newSize.width + widthIncrease - oldSize.width, bounds.height); @@ -688,7 +688,7 @@ public class CtrlMouseHandler extends AbstractProjectComponent { /** * It's possible that we need to expand quick doc control's width in order to provide better visual representation * (see http://youtrack.jetbrains.com/issue/IDEA-101425). This method calculates that width expand. - * + * * @param buttonWidth icon button's width * @param updatedText text which will be should at the quick doc control * @return width increase to apply to the target quick doc control (zero if no additional width increase is required) @@ -802,7 +802,7 @@ public class CtrlMouseHandler extends AbstractProjectComponent { if (!info.isValid(myEditor.getDocument())) { return; } - + myHighlighter = installHighlighterSet(info, myEditor); DocInfo docInfo = info.getInfo(); @@ -812,7 +812,7 @@ public class CtrlMouseHandler extends AbstractProjectComponent { if (myDocumentationManager.hasActiveDockedDocWindow()) { info.showDocInfo(myDocumentationManager); } - + HyperlinkListener hyperlinkListener = docInfo.docProvider == null ? null : new QuickDocHyperlinkListener(docInfo.docProvider, info.myElementAtPointer); @@ -850,7 +850,7 @@ public class CtrlMouseHandler extends AbstractProjectComponent { quickDocPane = new QuickDocInfoPane(docInfo.documentationAnchor, info.myElementAtPointer, label, docInfo.text); quickDocPaneRef.set(quickDocPane); } - + JComponent hintContent = quickDocPane == null ? label : quickDocPane; final LightweightHint hint = new LightweightHint(hintContent); @@ -877,7 +877,7 @@ public class CtrlMouseHandler extends AbstractProjectComponent { 0, false, HintManagerImpl.createHintHint(myEditor, p, hint, HintManager.ABOVE).setContentActive(false)); } } - + private HighlightersSet installHighlighterSet(Info info, Editor editor) { final JComponent internalComponent = editor.getContentComponent(); internalComponent.addKeyListener(myEditorKeyListener); @@ -928,7 +928,7 @@ public class CtrlMouseHandler extends AbstractProjectComponent { return myStoredInfo; } } - + private static class DocInfo { public static final DocInfo EMPTY = new DocInfo(null, null, null); @@ -1030,7 +1030,7 @@ public class CtrlMouseHandler extends AbstractProjectComponent { } return new Dimension(Math.max(myMinWidth, base.width), Math.max(myMinHeight, base.height)); } - + @Override public void doLayout() { Rectangle bounds = getBounds(); @@ -1064,7 +1064,7 @@ public class CtrlMouseHandler extends AbstractProjectComponent { return; } - // Skip event triggered when mouse leaves action button area. + // Skip event triggered when mouse leaves action button area. if (!mouseEntered && new Rectangle(getLocationOnScreen(), getSize()).contains(mouseScreenLocation)) { return; } diff --git a/platform/lang-impl/src/com/intellij/codeInsight/preview/ImageOrColorPreviewProjectComponent.java b/platform/lang-impl/src/com/intellij/codeInsight/preview/ImageOrColorPreviewProjectComponent.java index 3f4e501f7ed4..29b049f94b8d 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/preview/ImageOrColorPreviewProjectComponent.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/preview/ImageOrColorPreviewProjectComponent.java @@ -51,7 +51,7 @@ public class ImageOrColorPreviewProjectComponent extends AbstractProjectComponen private static class MyFileEditorManagerListener extends FileEditorManagerAdapter { @Override - public void fileOpened(final FileEditorManager source, final VirtualFile file) { + public void fileOpened(@NotNull final FileEditorManager source, @NotNull final VirtualFile file) { if (isSuitable(source.getProject(), file)) { final FileEditor[] fileEditors = source.getEditors(file); for (final FileEditor each : fileEditors) { @@ -65,7 +65,7 @@ public class ImageOrColorPreviewProjectComponent extends AbstractProjectComponen private static boolean isSuitable(final Project project, final VirtualFile file) { final FileViewProvider provider = PsiManager.getInstance(project).findViewProvider(file); if (provider == null) return false; - + for (final PsiFile psiFile : provider.getAllFiles()) { for(PreviewHintProvider hintProvider: Extensions.getExtensions(PreviewHintProvider.EP_NAME)) { if (hintProvider.isSupportedFile(psiFile)) { diff --git a/platform/lang-impl/src/com/intellij/codeInspection/ex/DescriptorProviderInspection.java b/platform/lang-impl/src/com/intellij/codeInspection/ex/DescriptorProviderInspection.java index ce2019d746b4..2914f1340600 100644 --- a/platform/lang-impl/src/com/intellij/codeInspection/ex/DescriptorProviderInspection.java +++ b/platform/lang-impl/src/com/intellij/codeInspection/ex/DescriptorProviderInspection.java @@ -218,17 +218,7 @@ public abstract class DescriptorProviderInspection extends InspectionTool implem @Override public void cleanup() { super.cleanup(); - final GlobalInspectionContextImpl context = getContext(); - if (context != null && context.getUIOptions().SHOW_DIFF_WITH_PREVIOUS_RUN){ - if (myOldProblemElements == null) { - myOldProblemElements = new HashMap(); - } - myOldProblemElements.clear(); - myOldProblemElements.putAll(getIgnoredElements()); - myOldProblemElements.putAll(getProblemElements()); - } else { - myOldProblemElements = null; - } + myOldProblemElements = null; synchronized (lock) { myProblemElements = null; diff --git a/platform/lang-impl/src/com/intellij/codeInspection/ex/InspectionProfileImpl.java b/platform/lang-impl/src/com/intellij/codeInspection/ex/InspectionProfileImpl.java index a8e325c03bbe..7624c4dd9237 100644 --- a/platform/lang-impl/src/com/intellij/codeInspection/ex/InspectionProfileImpl.java +++ b/platform/lang-impl/src/com/intellij/codeInspection/ex/InspectionProfileImpl.java @@ -651,9 +651,7 @@ public class InspectionProfileImpl extends ProfileEx implements ModifiableModel, if (toolList.isEnabled()) { for (InspectionProfileEntry tool : toolList.getAllTools()) { tool.projectClosed(project); - if (((InspectionTool)tool).getContext() != null) { - ((InspectionTool)tool).cleanup(); - } + ((InspectionTool)tool).cleanup(); } } } diff --git a/platform/lang-impl/src/com/intellij/execution/console/LanguageConsoleImpl.java b/platform/lang-impl/src/com/intellij/execution/console/LanguageConsoleImpl.java index faaf856531aa..7b17f96292fe 100644 --- a/platform/lang-impl/src/com/intellij/execution/console/LanguageConsoleImpl.java +++ b/platform/lang-impl/src/com/intellij/execution/console/LanguageConsoleImpl.java @@ -620,7 +620,7 @@ public class LanguageConsoleImpl implements Disposable, TypeSafeDataProvider { private void installEditorFactoryListener() { final FileEditorManagerAdapter fileEditorListener = new FileEditorManagerAdapter() { @Override - public void fileOpened(FileEditorManager source, VirtualFile file) { + public void fileOpened(@NotNull FileEditorManager source, @NotNull VirtualFile file) { if (!Comparing.equal(file, myVirtualFile) || myConsoleEditor == null) return; Editor selectedTextEditor = source.getSelectedTextEditor(); for (FileEditor fileEditor : source.getAllEditors(file)) { @@ -642,7 +642,7 @@ public class LanguageConsoleImpl implements Disposable, TypeSafeDataProvider { } @Override - public void fileClosed(FileEditorManager source, VirtualFile file) { + public void fileClosed(@NotNull FileEditorManager source, @NotNull VirtualFile file) { if (!Comparing.equal(file, myVirtualFile)) return; if (myUiUpdateRunnable != null && !Boolean.TRUE.equals(file.getUserData(FileEditorManagerImpl.CLOSING_TO_REOPEN))) { if (myCurrentEditor != null && myCurrentEditor.isDisposed()) myCurrentEditor = null; diff --git a/platform/lang-impl/src/com/intellij/execution/ui/layout/impl/RunnerContentUi.java b/platform/lang-impl/src/com/intellij/execution/ui/layout/impl/RunnerContentUi.java index f38d1211fca7..0a7dc717ebcc 100644 --- a/platform/lang-impl/src/com/intellij/execution/ui/layout/impl/RunnerContentUi.java +++ b/platform/lang-impl/src/com/intellij/execution/ui/layout/impl/RunnerContentUi.java @@ -587,7 +587,7 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac } @Override - public void setManager(final ContentManager manager) { + public void setManager(@NotNull final ContentManager manager) { assert myManager == null; myManager = manager; @@ -661,7 +661,7 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac } @Nullable - private GridImpl getGridFor(Content content, boolean createIfMissing) { + private GridImpl getGridFor(@NotNull Content content, boolean createIfMissing) { GridImpl grid = (GridImpl)findGridFor(content); if (grid != null || !createIfMissing) return grid; @@ -1004,7 +1004,7 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac @Override @Nullable - public Grid findGridFor(Content content) { + public Grid findGridFor(@NotNull Content content) { TabImpl tab = (TabImpl)getStateFor(content).getTab(); for (TabInfo each : myTabs.getTabs()) { TabImpl t = getTabFor(each); @@ -1058,7 +1058,7 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac } @Override - public boolean canChangeSelectionTo(Content content, boolean implicit) { + public boolean canChangeSelectionTo(@NotNull Content content, boolean implicit) { if (implicit) { GridImpl grid = getGridFor(content, false); if (grid != null) { @@ -1069,21 +1069,25 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac return true; } + @NotNull @Override public String getCloseActionName() { return UIBundle.message("tabbed.pane.close.tab.action.name"); } + @NotNull @Override public String getCloseAllButThisActionName() { return UIBundle.message("tabbed.pane.close.all.tabs.but.this.action.name"); } + @NotNull @Override public String getPreviousContentActionName() { return "Select Previous Tab"; } + @NotNull @Override public String getNextContentActionName() { return "Select Next Tab"; @@ -1447,7 +1451,7 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac } @Override - public View getStateFor(final Content content) { + public View getStateFor(@NotNull final Content content) { return myLayoutSettings.getStateFor(content); } diff --git a/platform/lang-impl/src/com/intellij/ide/impl/ProjectViewSelectInGroupTarget.java b/platform/lang-impl/src/com/intellij/ide/impl/ProjectViewSelectInGroupTarget.java index ab9054472bb4..8b96157234d8 100644 --- a/platform/lang-impl/src/com/intellij/ide/impl/ProjectViewSelectInGroupTarget.java +++ b/platform/lang-impl/src/com/intellij/ide/impl/ProjectViewSelectInGroupTarget.java @@ -68,6 +68,7 @@ public class ProjectViewSelectInGroupTarget implements CompositeSelectInTarget, if (target.canSelect(context)) { if (requestFocus) { IdeFocusManager.getInstance(context.getProject()).requestFocus(new FocusCommand() { + @NotNull @Override public ActionCallback run() { target.selectIn(context, requestFocus); diff --git a/platform/lang-impl/src/com/intellij/ide/navigationToolbar/NavBarListener.java b/platform/lang-impl/src/com/intellij/ide/navigationToolbar/NavBarListener.java index 247f13175ef7..3fe38cea2ed3 100644 --- a/platform/lang-impl/src/com/intellij/ide/navigationToolbar/NavBarListener.java +++ b/platform/lang-impl/src/com/intellij/ide/navigationToolbar/NavBarListener.java @@ -344,7 +344,7 @@ public class NavBarListener extends WolfTheProblemSolver.ProblemListener } @Override - public void fileOpened(final FileEditorManager manager, final VirtualFile file) { + public void fileOpened(@NotNull final FileEditorManager manager, @NotNull final VirtualFile file) { ApplicationManager.getApplication().invokeLater(new Runnable() { @Override public void run() { @@ -403,8 +403,8 @@ public class NavBarListener extends WolfTheProblemSolver.ProblemListener public void childRemoved(@NotNull PsiTreeChangeEvent event) {} @Override - public void fileClosed(FileEditorManager source, VirtualFile file) {} + public void fileClosed(@NotNull FileEditorManager source, @NotNull VirtualFile file) {} @Override - public void selectionChanged(FileEditorManagerEvent event) {} + public void selectionChanged(@NotNull FileEditorManagerEvent event) {} } diff --git a/platform/lang-impl/src/com/intellij/ide/todo/CurrentFileTodosPanel.java b/platform/lang-impl/src/com/intellij/ide/todo/CurrentFileTodosPanel.java index 4ea35b0bc5c9..6dc005444586 100644 --- a/platform/lang-impl/src/com/intellij/ide/todo/CurrentFileTodosPanel.java +++ b/platform/lang-impl/src/com/intellij/ide/todo/CurrentFileTodosPanel.java @@ -27,6 +27,7 @@ import com.intellij.psi.PsiDocumentManager; import com.intellij.psi.PsiFile; import com.intellij.psi.PsiManager; import com.intellij.ui.content.Content; +import org.jetbrains.annotations.NotNull; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.TreePath; @@ -78,7 +79,7 @@ abstract class CurrentFileTodosPanel extends TodoPanel{ private final class MyFileEditorManagerListener extends FileEditorManagerAdapter{ @Override - public void selectionChanged(FileEditorManagerEvent e){ + public void selectionChanged(@NotNull FileEditorManagerEvent e){ VirtualFile file=e.getNewFile(); final PsiFile psiFile=file != null && file.isValid() ? PsiManager.getInstance(myProject).findFile(file) : null; // This invokeLater is required. The problem is setFile does a commit to PSI, but setFile is diff --git a/platform/lang-impl/src/com/intellij/openapi/fileEditor/impl/TestEditorManagerImpl.java b/platform/lang-impl/src/com/intellij/openapi/fileEditor/impl/TestEditorManagerImpl.java index 3289956c49e2..f3bed6077ff8 100644 --- a/platform/lang-impl/src/com/intellij/openapi/fileEditor/impl/TestEditorManagerImpl.java +++ b/platform/lang-impl/src/com/intellij/openapi/fileEditor/impl/TestEditorManagerImpl.java @@ -97,8 +97,9 @@ import java.util.Map; return false; } + @NotNull @Override - public ActionCallback notifyPublisher(Runnable runnable) { + public ActionCallback notifyPublisher(@NotNull Runnable runnable) { runnable.run(); return new ActionCallback.Done(); } @@ -244,6 +245,7 @@ import java.util.Map; return null; } + @NotNull @Override public AsyncResult getActiveWindow() { return new AsyncResult.Done(null); @@ -259,7 +261,7 @@ import java.util.Map; } @Override - public void updateFilePresentation(VirtualFile file) { + public void updateFilePresentation(@NotNull VirtualFile file) { } @Override @@ -305,7 +307,7 @@ import java.util.Map; @Override @NotNull - public VirtualFile[] getSiblings(VirtualFile file) { + public VirtualFile[] getSiblings(@NotNull VirtualFile file) { throw new UnsupportedOperationException(); } @@ -393,7 +395,7 @@ import java.util.Map; } @Override - public Editor openTextEditor(OpenFileDescriptor descriptor, boolean focusEditor) { + public Editor openTextEditor(@NotNull OpenFileDescriptor descriptor, boolean focusEditor) { final VirtualFile file = descriptor.getFile(); Editor editor = myVirtualFile2Editor.get(file); @@ -473,6 +475,7 @@ import java.util.Map; return "TestEditorManager"; } + @NotNull @Override public EditorsSplitters getSplitters() { return null; @@ -484,6 +487,6 @@ import java.util.Map; } @Override - public void setSelectedEditor(VirtualFile file, String fileEditorProviderId) { + public void setSelectedEditor(@NotNull VirtualFile file, String fileEditorProviderId) { } } diff --git a/platform/lang-impl/src/com/intellij/openapi/fileEditor/impl/text/TextEditorPsiDataProvider.java b/platform/lang-impl/src/com/intellij/openapi/fileEditor/impl/text/TextEditorPsiDataProvider.java index f5649e6d4c5c..be2b52ec1706 100644 --- a/platform/lang-impl/src/com/intellij/openapi/fileEditor/impl/text/TextEditorPsiDataProvider.java +++ b/platform/lang-impl/src/com/intellij/openapi/fileEditor/impl/text/TextEditorPsiDataProvider.java @@ -30,6 +30,7 @@ import com.intellij.openapi.wm.ToolWindowManager; import com.intellij.psi.*; import com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtil; import com.intellij.psi.util.PsiUtilBase; +import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.util.LinkedHashSet; @@ -41,7 +42,7 @@ import static com.intellij.util.containers.ContainerUtil.addIfNotNull; public class TextEditorPsiDataProvider implements EditorDataProvider { @Override @Nullable - public Object getData(final String dataId, final Editor e, final VirtualFile file) { + public Object getData(@NotNull final String dataId, @NotNull final Editor e, @NotNull final VirtualFile file) { if (!file.isValid()) return null; if (dataId.equals(injectedId(EDITOR.getName()))) { @@ -147,7 +148,7 @@ public class TextEditorPsiDataProvider implements EditorDataProvider { } @Nullable - private static PsiElement getPsiElementIn(final Editor editor, VirtualFile file) { + private static PsiElement getPsiElementIn(@NotNull Editor editor, @NotNull VirtualFile file) { final PsiFile psiFile = getPsiFile(editor, file); if (psiFile == null) return null; @@ -160,7 +161,7 @@ public class TextEditorPsiDataProvider implements EditorDataProvider { } @Nullable - private static PsiFile getPsiFile(Editor e, VirtualFile file) { + private static PsiFile getPsiFile(@NotNull Editor e, @NotNull VirtualFile file) { if (!file.isValid()) { return null; // fix for SCR 40329 } @@ -172,7 +173,7 @@ public class TextEditorPsiDataProvider implements EditorDataProvider { return psiFile != null && psiFile.isValid() ? psiFile : null; } - private Language[] computeLanguages(Editor editor, VirtualFile file) { + private Language[] computeLanguages(@NotNull Editor editor, @NotNull VirtualFile file) { LinkedHashSet set = new LinkedHashSet(4); Language injectedLanguage = (Language)getData(injectedId(LANGUAGE.getName()), editor, file); addIfNotNull(injectedLanguage, set); diff --git a/platform/lang-impl/src/com/intellij/openapi/wm/impl/status/TogglePopupHintsPanel.java b/platform/lang-impl/src/com/intellij/openapi/wm/impl/status/TogglePopupHintsPanel.java index e95694f0731a..ab323b06c09e 100644 --- a/platform/lang-impl/src/com/intellij/openapi/wm/impl/status/TogglePopupHintsPanel.java +++ b/platform/lang-impl/src/com/intellij/openapi/wm/impl/status/TogglePopupHintsPanel.java @@ -57,13 +57,13 @@ public class TogglePopupHintsPanel extends EditorBasedWidget implements StatusBa } @Override - public void selectionChanged(FileEditorManagerEvent event) { + public void selectionChanged(@NotNull FileEditorManagerEvent event) { updateStatus(); } @Override - public void fileOpened(FileEditorManager source, VirtualFile file) { + public void fileOpened(@NotNull FileEditorManager source, @NotNull VirtualFile file) { updateStatus(); } diff --git a/platform/platform-api/src/com/intellij/openapi/fileEditor/EditorDataProvider.java b/platform/platform-api/src/com/intellij/openapi/fileEditor/EditorDataProvider.java index 73cba82be2bb..7dfec0240c1f 100644 --- a/platform/platform-api/src/com/intellij/openapi/fileEditor/EditorDataProvider.java +++ b/platform/platform-api/src/com/intellij/openapi/fileEditor/EditorDataProvider.java @@ -15,6 +15,7 @@ */ package com.intellij.openapi.fileEditor; +import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.vfs.VirtualFile; @@ -23,5 +24,5 @@ import com.intellij.openapi.vfs.VirtualFile; * @author peter */ public interface EditorDataProvider { - @Nullable Object getData(String dataId, Editor e, final VirtualFile file); + @Nullable Object getData(@NotNull String dataId, @NotNull Editor e, @NotNull VirtualFile file); } diff --git a/platform/platform-api/src/com/intellij/openapi/fileEditor/FileEditorManager.java b/platform/platform-api/src/com/intellij/openapi/fileEditor/FileEditorManager.java index d2e1882113ab..3cb2b18856cb 100644 --- a/platform/platform-api/src/com/intellij/openapi/fileEditor/FileEditorManager.java +++ b/platform/platform-api/src/com/intellij/openapi/fileEditor/FileEditorManager.java @@ -39,7 +39,8 @@ public abstract class FileEditorManager { * * @return array of opened editors */ - @NotNull public abstract FileEditor[] openFile(@NotNull VirtualFile file, boolean focusEditor); + @NotNull + public abstract FileEditor[] openFile(@NotNull VirtualFile file, boolean focusEditor); /** @@ -51,25 +52,26 @@ public abstract class FileEditorManager { * @param searchForOpen * @return array of opened editors */ - @NotNull public FileEditor[] openFile(@NotNull VirtualFile file, boolean focusEditor, boolean searchForOpen) { + @NotNull + public FileEditor[] openFile(@NotNull VirtualFile file, boolean focusEditor, boolean searchForOpen) { throw new UnsupportedOperationException("Not implemented"); } /** * Closes all editors opened for the file. - * - * @param file file to be closed. Cannot be null. + * + * @param file file to be closed. Cannot be null. */ public abstract void closeFile(@NotNull VirtualFile file); /** - * Works as {@link #openFile(VirtualFile, boolean)} but forces opening of text editor. + * Works as {@link #openFile(VirtualFile, boolean)} but forces opening of text editor. * This method ignores {@link FileEditorPolicy#HIDE_DEFAULT_EDITOR} policy. * * @return opened text editor. The method returns null in case if text editor wasn't opened. */ @Nullable - public abstract Editor openTextEditor(OpenFileDescriptor descriptor, boolean focusEditor); + public abstract Editor openTextEditor(@NotNull OpenFileDescriptor descriptor, boolean focusEditor); /** * @return currently selected text editor. The method returns null in case @@ -86,22 +88,25 @@ public abstract class FileEditorManager { /** * @return all opened files. Order of files in the array corresponds to the order of editor tabs. */ - @NotNull public abstract VirtualFile[] getOpenFiles(); + @NotNull + public abstract VirtualFile[] getOpenFiles(); /** - * @return files currently selected. The method returns empty array if there are no selected files. - * If more than one file is selected (split), the file with most recent focused editor is returned first. + * @return files currently selected. The method returns empty array if there are no selected files. + * If more than one file is selected (split), the file with most recent focused editor is returned first. */ - @NotNull public abstract VirtualFile[] getSelectedFiles(); + @NotNull + public abstract VirtualFile[] getSelectedFiles(); /** * @return editors currently selected. The method returns empty array if no editors are open. */ - @NotNull public abstract FileEditor[] getSelectedEditors(); + @NotNull + public abstract FileEditor[] getSelectedEditors(); /** * @param file cannot be null - * + * * @return editor which is currently selected in the currently selected file. * The method returns null if file is not opened. */ @@ -113,19 +118,22 @@ public abstract class FileEditorManager { * * @return current editors for the specified file */ - @NotNull public abstract FileEditor[] getEditors(@NotNull VirtualFile file); + @NotNull + public abstract FileEditor[] getEditors(@NotNull VirtualFile file); /** * @param file cannot be null * * @return all editors for the specified file */ - @NotNull public abstract FileEditor[] getAllEditors(@NotNull VirtualFile file); + @NotNull + public abstract FileEditor[] getAllEditors(@NotNull VirtualFile file); /** * @return all open editors */ - @NotNull public abstract FileEditor[] getAllEditors(); + @NotNull + public abstract FileEditor[] getAllEditors(); /** * @deprecated use addTopComponent @@ -182,5 +190,5 @@ public abstract class FileEditorManager { * @param fileEditorProviderId the ID of the file editor to open; matches the return value of * {@link com.intellij.openapi.fileEditor.FileEditorProvider#getEditorTypeId()} */ - public abstract void setSelectedEditor(VirtualFile file, String fileEditorProviderId); + public abstract void setSelectedEditor(@NotNull VirtualFile file, String fileEditorProviderId); } diff --git a/platform/platform-api/src/com/intellij/openapi/fileEditor/FileEditorManagerAdapter.java b/platform/platform-api/src/com/intellij/openapi/fileEditor/FileEditorManagerAdapter.java index b0d72217c36f..6d25562ed76e 100644 --- a/platform/platform-api/src/com/intellij/openapi/fileEditor/FileEditorManagerAdapter.java +++ b/platform/platform-api/src/com/intellij/openapi/fileEditor/FileEditorManagerAdapter.java @@ -16,11 +16,12 @@ package com.intellij.openapi.fileEditor; import com.intellij.openapi.vfs.VirtualFile; +import org.jetbrains.annotations.NotNull; public abstract class FileEditorManagerAdapter implements FileEditorManagerListener{ - public void fileOpened(FileEditorManager source, VirtualFile file) {} + public void fileOpened(@NotNull FileEditorManager source, @NotNull VirtualFile file) {} - public void fileClosed(FileEditorManager source, VirtualFile file) {} + public void fileClosed(@NotNull FileEditorManager source, @NotNull VirtualFile file) {} - public void selectionChanged(FileEditorManagerEvent event) {} + public void selectionChanged(@NotNull FileEditorManagerEvent event) {} } diff --git a/platform/platform-api/src/com/intellij/openapi/fileEditor/FileEditorManagerListener.java b/platform/platform-api/src/com/intellij/openapi/fileEditor/FileEditorManagerListener.java index e3fa34a409ef..02793d3a39f5 100644 --- a/platform/platform-api/src/com/intellij/openapi/fileEditor/FileEditorManagerListener.java +++ b/platform/platform-api/src/com/intellij/openapi/fileEditor/FileEditorManagerListener.java @@ -17,6 +17,7 @@ package com.intellij.openapi.fileEditor; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.util.messages.Topic; +import org.jetbrains.annotations.NotNull; import java.util.EventListener; @@ -26,31 +27,31 @@ public interface FileEditorManagerListener extends EventListener{ /** * TODO[vova] write javadoc */ - void fileOpened(FileEditorManager source, VirtualFile file); - - /** - * TODO[vova] write javadoc - */ - void fileClosed(FileEditorManager source, VirtualFile file); + void fileOpened(@NotNull FileEditorManager source, @NotNull VirtualFile file); /** * TODO[vova] write javadoc */ - void selectionChanged(FileEditorManagerEvent event); + void fileClosed(@NotNull FileEditorManager source, @NotNull VirtualFile file); + + /** + * TODO[vova] write javadoc + */ + void selectionChanged(@NotNull FileEditorManagerEvent event); interface Before extends EventListener { Topic FILE_EDITOR_MANAGER = new Topic("file editor before events", Before.class); - void beforeFileOpened(FileEditorManager source, VirtualFile file); - void beforeFileClosed(FileEditorManager source, VirtualFile file); + void beforeFileOpened(@NotNull FileEditorManager source, @NotNull VirtualFile file); + void beforeFileClosed(@NotNull FileEditorManager source, @NotNull VirtualFile file); class Adapter implements Before { @Override - public void beforeFileOpened(FileEditorManager source, VirtualFile file) { + public void beforeFileOpened(@NotNull FileEditorManager source, @NotNull VirtualFile file) { } @Override - public void beforeFileClosed(FileEditorManager source, VirtualFile file) { + public void beforeFileClosed(@NotNull FileEditorManager source, @NotNull VirtualFile file) { } } diff --git a/platform/platform-api/src/com/intellij/openapi/ui/DialogWrapperPeerFactory.java b/platform/platform-api/src/com/intellij/openapi/ui/DialogWrapperPeerFactory.java index 4b8d8ddea83d..eff254606508 100644 --- a/platform/platform-api/src/com/intellij/openapi/ui/DialogWrapperPeerFactory.java +++ b/platform/platform-api/src/com/intellij/openapi/ui/DialogWrapperPeerFactory.java @@ -37,8 +37,8 @@ public abstract class DialogWrapperPeerFactory { return ServiceManager.getService(DialogWrapperPeerFactory.class); } - public abstract DialogWrapperPeer createPeer(DialogWrapper wrapper, @Nullable Project project, boolean canBeParent); - public abstract DialogWrapperPeer createPeer(DialogWrapper wrapper, boolean canBeParent); - public abstract DialogWrapperPeer createPeer(DialogWrapper wrapper, boolean canBeParent, boolean applicationModalIfPossible); - public abstract DialogWrapperPeer createPeer(DialogWrapper wrapper, @NotNull Component parent, boolean canBeParent); + public abstract DialogWrapperPeer createPeer(@NotNull DialogWrapper wrapper, @Nullable Project project, boolean canBeParent); + public abstract DialogWrapperPeer createPeer(@NotNull DialogWrapper wrapper, boolean canBeParent); + public abstract DialogWrapperPeer createPeer(@NotNull DialogWrapper wrapper, boolean canBeParent, boolean applicationModalIfPossible); + public abstract DialogWrapperPeer createPeer(@NotNull DialogWrapper wrapper, @NotNull Component parent, boolean canBeParent); } \ No newline at end of file diff --git a/platform/platform-api/src/com/intellij/openapi/util/ActiveRunnable.java b/platform/platform-api/src/com/intellij/openapi/util/ActiveRunnable.java index d18d087232c2..f3b5e59d34e3 100644 --- a/platform/platform-api/src/com/intellij/openapi/util/ActiveRunnable.java +++ b/platform/platform-api/src/com/intellij/openapi/util/ActiveRunnable.java @@ -31,5 +31,6 @@ public abstract class ActiveRunnable extends ComparableObject.Impl { super(objects); } + @NotNull public abstract ActionCallback run(); } \ No newline at end of file diff --git a/platform/platform-api/src/com/intellij/openapi/util/AsyncResult.java b/platform/platform-api/src/com/intellij/openapi/util/AsyncResult.java index dbb3e986c977..1d59ae0ade28 100644 --- a/platform/platform-api/src/com/intellij/openapi/util/AsyncResult.java +++ b/platform/platform-api/src/com/intellij/openapi/util/AsyncResult.java @@ -52,6 +52,7 @@ public class AsyncResult extends ActionCallback { @NotNull public AsyncResult doWhenDone(@NotNull final Handler handler) { doWhenDone(new Runnable() { + @Override public void run() { handler.run(myResult); } @@ -72,6 +73,7 @@ public class AsyncResult extends ActionCallback { @NotNull public AsyncResult doWhenRejected(@NotNull final Handler handler) { doWhenRejected(new Runnable() { + @Override public void run() { handler.run(myResult); } @@ -79,6 +81,7 @@ public class AsyncResult extends ActionCallback { return this; } + @Override @NotNull public final AsyncResult notify(@NotNull final ActionCallback child) { super.notify(child); diff --git a/platform/platform-api/src/com/intellij/openapi/util/BusyObject.java b/platform/platform-api/src/com/intellij/openapi/util/BusyObject.java index 66a11097fa8c..1343eac3745f 100644 --- a/platform/platform-api/src/com/intellij/openapi/util/BusyObject.java +++ b/platform/platform-api/src/com/intellij/openapi/util/BusyObject.java @@ -109,14 +109,15 @@ public interface BusyObject { public static class Simple extends Impl { - private AtomicInteger myBusyCount = new AtomicInteger(); + private final AtomicInteger myBusyCount = new AtomicInteger(); @Override public boolean isReady() { return myBusyCount.get() == 0; } - public ActionCallback execute(ActiveRunnable runnable) { + @NotNull + public ActionCallback execute(@NotNull ActiveRunnable runnable) { myBusyCount.addAndGet(1); ActionCallback cb = runnable.run(); cb.doWhenProcessed(new Runnable() { diff --git a/platform/platform-api/src/com/intellij/openapi/wm/FocusCommand.java b/platform/platform-api/src/com/intellij/openapi/wm/FocusCommand.java index 61486df6009d..54a43658b7dd 100644 --- a/platform/platform-api/src/com/intellij/openapi/wm/FocusCommand.java +++ b/platform/platform-api/src/com/intellij/openapi/wm/FocusCommand.java @@ -19,7 +19,7 @@ import com.intellij.openapi.ui.popup.util.PopupUtil; import com.intellij.openapi.util.ActionCallback; import com.intellij.openapi.util.ActiveRunnable; import com.intellij.openapi.util.Expirable; -import com.intellij.openapi.util.registry.Registry; +import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import javax.swing.*; @@ -146,6 +146,7 @@ public abstract class FocusCommand extends ActiveRunnable implements Expirable { myToFocus = toFocus; } + @NotNull public final ActionCallback run() { if (myToFocus != null) { if (!myToFocus.requestFocusInWindow()) { diff --git a/platform/platform-api/src/com/intellij/ui/AutoScrollFromSourceHandler.java b/platform/platform-api/src/com/intellij/ui/AutoScrollFromSourceHandler.java index 304cb92af336..89f9190ce71a 100644 --- a/platform/platform-api/src/com/intellij/ui/AutoScrollFromSourceHandler.java +++ b/platform/platform-api/src/com/intellij/ui/AutoScrollFromSourceHandler.java @@ -76,7 +76,7 @@ public abstract class AutoScrollFromSourceHandler implements Disposable { final MessageBusConnection connection = myProject.getMessageBus().connect(myProject); connection.subscribe(FileEditorManagerListener.FILE_EDITOR_MANAGER, new FileEditorManagerAdapter() { @Override - public void selectionChanged(FileEditorManagerEvent event) { + public void selectionChanged(@NotNull FileEditorManagerEvent event) { final FileEditor editor = event.getNewEditor(); if (editor != null && myComponent.isShowing() && isAutoScrollEnabled()) { myAlarm.cancelAllRequests(); diff --git a/platform/platform-api/src/com/intellij/ui/EditorNotifications.java b/platform/platform-api/src/com/intellij/ui/EditorNotifications.java index c27e337eaada..375ec0431fc8 100644 --- a/platform/platform-api/src/com/intellij/ui/EditorNotifications.java +++ b/platform/platform-api/src/com/intellij/ui/EditorNotifications.java @@ -66,7 +66,7 @@ public class EditorNotifications extends AbstractProjectComponent { myFileEditorManager = fileEditorManager; project.getMessageBus().connect(project).subscribe(FileEditorManagerListener.FILE_EDITOR_MANAGER, new FileEditorManagerAdapter() { @Override - public void fileOpened(FileEditorManager source, VirtualFile file) { + public void fileOpened(@NotNull FileEditorManager source, @NotNull VirtualFile file) { updateNotifications(file); } }); diff --git a/platform/platform-api/src/com/intellij/ui/content/ContentManager.java b/platform/platform-api/src/com/intellij/ui/content/ContentManager.java index 48cf47a4803c..2243be2527d0 100644 --- a/platform/platform-api/src/com/intellij/ui/content/ContentManager.java +++ b/platform/platform-api/src/com/intellij/ui/content/ContentManager.java @@ -31,6 +31,7 @@ public interface ContentManager extends Disposable, BusyObject { boolean canCloseContents(); + @NotNull JComponent getComponent(); void addContent(@NotNull Content content); @@ -38,29 +39,38 @@ public interface ContentManager extends Disposable, BusyObject { void addContent(@NotNull Content content, Object constraints); boolean removeContent(@NotNull Content content, final boolean dispose); + @NotNull ActionCallback removeContent(@NotNull Content content, final boolean dispose, boolean trackFocus, boolean forcedFocus); void setSelectedContent(@NotNull Content content); + @NotNull ActionCallback setSelectedContentCB(@NotNull Content content); void setSelectedContent(@NotNull Content content, boolean requestFocus); + @NotNull ActionCallback setSelectedContentCB(@NotNull Content content, boolean requestFocus); void setSelectedContent(@NotNull Content content, boolean requestFocus, boolean forcedFocus); + + @NotNull ActionCallback setSelectedContentCB(@NotNull Content content, boolean requestFocus, boolean forcedFocus); + @NotNull ActionCallback setSelectedContent(@NotNull Content content, boolean requestFocus, boolean forcedFocus, boolean implicit); void addSelectedContent(@NotNull Content content); @Nullable Content getSelectedContent(); - @NotNull Content[] getSelectedContents(); + + @NotNull + Content[] getSelectedContents(); void removeAllContents(final boolean dispose); int getContentCount(); - @NotNull Content[] getContents(); + @NotNull + Content[] getContents(); //TODO[anton,vova] is this method needed? Content findContent(String displayName); @@ -72,6 +82,7 @@ public interface ContentManager extends Disposable, BusyObject { int getIndexOfContent(Content content); + @NotNull String getCloseActionName(); boolean canCloseAllContents(); @@ -90,10 +101,13 @@ public interface ContentManager extends Disposable, BusyObject { * @return the action name. * @since 5.1 */ + @NotNull String getCloseAllButThisActionName(); - + + @NotNull String getPreviousContentActionName(); + @NotNull String getNextContentActionName(); List getAdditionalPopupActions(@NotNull Content content); @@ -102,11 +116,13 @@ public interface ContentManager extends Disposable, BusyObject { boolean isSelected(@NotNull Content content); + @NotNull ActionCallback requestFocus(@Nullable Content content, boolean forced); void addDataProvider(@NotNull DataProvider provider); - - @NotNull ContentFactory getFactory(); + + @NotNull + ContentFactory getFactory(); boolean isDisposed(); diff --git a/platform/platform-api/src/com/intellij/ui/content/ContentUI.java b/platform/platform-api/src/com/intellij/ui/content/ContentUI.java index 7e64dc15f655..d0c7ff794ba4 100644 --- a/platform/platform-api/src/com/intellij/ui/content/ContentUI.java +++ b/platform/platform-api/src/com/intellij/ui/content/ContentUI.java @@ -16,23 +16,28 @@ package com.intellij.ui.content; import com.intellij.openapi.Disposable; +import org.jetbrains.annotations.NotNull; import javax.swing.*; public interface ContentUI extends Disposable { JComponent getComponent(); - void setManager(ContentManager manager); - + void setManager(@NotNull ContentManager manager); + boolean isSingleSelection(); boolean isToSelectAddedContent(); boolean canBeEmptySelection(); void beforeDispose(); - boolean canChangeSelectionTo(Content content, boolean implicit); + boolean canChangeSelectionTo(@NotNull Content content, boolean implicit); + @NotNull String getCloseActionName(); + @NotNull String getCloseAllButThisActionName(); + @NotNull String getPreviousContentActionName(); + @NotNull String getNextContentActionName(); } diff --git a/platform/platform-api/src/com/intellij/ui/tabs/JBTabs.java b/platform/platform-api/src/com/intellij/ui/tabs/JBTabs.java index 7e95d62fe9ad..90eca88c410b 100644 --- a/platform/platform-api/src/com/intellij/ui/tabs/JBTabs.java +++ b/platform/platform-api/src/com/intellij/ui/tabs/JBTabs.java @@ -37,12 +37,15 @@ public interface JBTabs extends SwitchProvider { @NotNull TabInfo addTab(TabInfo info); + @NotNull ActionCallback removeTab(@Nullable TabInfo info); void removeAllTabs(); + @NotNull JBTabs setPopupGroup(@NotNull ActionGroup popupGroup, @NotNull String place, final boolean addNavigationGroup); + @NotNull ActionCallback select(@NotNull TabInfo info, boolean requestFocus); @Nullable @@ -69,6 +72,7 @@ public interface JBTabs extends SwitchProvider { JBTabs setSelectionChangeHandler(SelectionChangeHandler handler); + @Override @NotNull JComponent getComponent(); @@ -94,6 +98,7 @@ public interface JBTabs extends SwitchProvider { void processDropOver(TabInfo over, RelativePoint point); interface SelectionChangeHandler { - ActionCallback execute(final TabInfo info, final boolean requestFocus, ActiveRunnable doChangeSelection); + @NotNull + ActionCallback execute(final TabInfo info, final boolean requestFocus, @NotNull ActiveRunnable doChangeSelection); } } diff --git a/platform/platform-api/src/com/intellij/ui/tabs/impl/JBTabsImpl.java b/platform/platform-api/src/com/intellij/ui/tabs/impl/JBTabsImpl.java index 9b2bc20d4be3..e041ddab4f28 100644 --- a/platform/platform-api/src/com/intellij/ui/tabs/impl/JBTabsImpl.java +++ b/platform/platform-api/src/com/intellij/ui/tabs/impl/JBTabsImpl.java @@ -207,19 +207,23 @@ public class JBTabsImpl extends JComponent myLayout = mySingleRowLayout; myPopupListener = new PopupMenuListener() { + @Override public void popupMenuWillBecomeVisible(final PopupMenuEvent e) { } + @Override public void popupMenuWillBecomeInvisible(final PopupMenuEvent e) { disposePopupListener(); } + @Override public void popupMenuCanceled(final PopupMenuEvent e) { disposePopupListener(); } }; addMouseListener(new MouseAdapter() { + @Override public void mousePressed(final MouseEvent e) { if (mySingleRowLayout.myLastSingRowLayout != null && mySingleRowLayout.myLastSingRowLayout.moreRect != null && @@ -239,6 +243,7 @@ public class JBTabsImpl extends JComponent }); myAnimator = new Animator("JBTabs Attractions", 2, 500, true) { + @Override public void paintNow(final int frame, final int totalFrames, final int cycle) { repaintAttractions(); } @@ -246,6 +251,7 @@ public class JBTabsImpl extends JComponent setFocusCycleRoot(true); setFocusTraversalPolicy(new LayoutFocusTraversalPolicy() { + @Override public Component getDefaultComponent(final Container aContainer) { return getToFocus(); } @@ -256,6 +262,7 @@ public class JBTabsImpl extends JComponent new LazyUiDisposable(parent, this, this) { + @Override protected void initialize(@NotNull Disposable parent, @NotNull JBTabsImpl child, @Nullable Project project) { if (project != null) { myProject = project; @@ -263,6 +270,7 @@ public class JBTabsImpl extends JComponent Disposer.register(child, myAnimator); Disposer.register(child, new Disposable() { + @Override public void dispose() { removeTimerUpdate(); } @@ -276,6 +284,7 @@ public class JBTabsImpl extends JComponent } UIUtil.addAwtListener(new AWTEventListener() { + @Override public void eventDispatched(final AWTEvent event) { if (mySingleRowLayout.myMorePopup != null) return; processFocusChange(); @@ -298,6 +307,7 @@ public class JBTabsImpl extends JComponent } + @Override public JBTabs setNavigationActionBinding(String prevActionId, String nextActionId) { if (myNextAction != null) { myNextAction.reconnect(nextActionId); @@ -313,15 +323,18 @@ public class JBTabsImpl extends JComponent return false; } + @Override public JBTabs setNavigationActionsEnabled(boolean enabled) { myNavigationActionsEnabled = enabled; return this; } + @Override public final boolean isDisposed() { return myDisposed; } + @Override public JBTabs setAdditionalSwitchProviderWhenOriginal(SwitchProvider delegate) { mySwitchDelegate = delegate; return this; @@ -344,6 +357,7 @@ public class JBTabsImpl extends JComponent return img; } + @Override public void dispose() { myDisposed = true; mySelectedInfo = null; @@ -389,6 +403,7 @@ public class JBTabsImpl extends JComponent } } + @Override public void addNotify() { super.addNotify(); addTimerUpdate(); @@ -401,6 +416,7 @@ public class JBTabsImpl extends JComponent } } + @Override public void removeNotify() { super.removeNotify(); @@ -499,10 +515,12 @@ public class JBTabsImpl extends JComponent } + @Override public ModalityState getModalityState() { return ModalityState.stateForComponent(this); } + @Override public void run() { updateTabActions(false); } @@ -511,6 +529,7 @@ public class JBTabsImpl extends JComponent final Ref changed = new Ref(Boolean.FALSE); for (final TabInfo eachInfo : myInfo2Label.keySet()) { updateTab(new Computable() { + @Override public Boolean compute() { final boolean changes = myInfo2Label.get(eachInfo).updateTabActions(); changed.set(changed.get().booleanValue() || changes); @@ -552,6 +571,7 @@ public class JBTabsImpl extends JComponent mySingleRowLayout.myMorePopup.add(item); item.addActionListener(new ActionListener() { + @Override public void actionPerformed(final ActionEvent e) { select(each, true); } @@ -559,13 +579,16 @@ public class JBTabsImpl extends JComponent } mySingleRowLayout.myMorePopup.addPopupMenuListener(new PopupMenuListener() { + @Override public void popupMenuWillBecomeVisible(final PopupMenuEvent e) { } + @Override public void popupMenuWillBecomeInvisible(final PopupMenuEvent e) { mySingleRowLayout.myMorePopup = null; } + @Override public void popupMenuCanceled(final PopupMenuEvent e) { mySingleRowLayout.myMorePopup = null; } @@ -611,6 +634,7 @@ public class JBTabsImpl extends JComponent return toFocus; } + @Override public void requestFocus() { final JComponent toFocus = getToFocus(); if (toFocus != null) { @@ -621,6 +645,7 @@ public class JBTabsImpl extends JComponent } } + @Override public boolean requestFocusInWindow() { final JComponent toFocus = getToFocus(); if (toFocus != null) { @@ -632,6 +657,7 @@ public class JBTabsImpl extends JComponent } + @Override @NotNull public TabInfo addTab(TabInfo info, int index) { return addTab(info, index, false, true); @@ -693,6 +719,7 @@ public class JBTabsImpl extends JComponent return new TabLabel(this, info); } + @Override @NotNull public TabInfo addTab(TabInfo info) { return addTab(info, -1); @@ -707,14 +734,18 @@ public class JBTabsImpl extends JComponent return myPopupPlace; } + @Override + @NotNull public JBTabs setPopupGroup(@NotNull final ActionGroup popupGroup, @NotNull String place, final boolean addNavigationGroup) { return setPopupGroup(new Getter() { + @Override public ActionGroup get() { return popupGroup; } }, place, addNavigationGroup); } + @NotNull public JBTabs setPopupGroup(@NotNull final Getter popupGroup, @NotNull final String place, final boolean addNavigationGroup) { @@ -751,13 +782,17 @@ public class JBTabsImpl extends JComponent return (JComponent)(owner instanceof JComponent ? owner : null); } + @Override + @NotNull public ActionCallback select(@NotNull TabInfo info, boolean requestFocus) { return _setSelected(info, requestFocus); } + @NotNull private ActionCallback _setSelected(final TabInfo info, final boolean requestFocus) { if (mySelectionChangeHandler != null) { return mySelectionChangeHandler.execute(info, requestFocus, new ActiveRunnable() { + @NotNull @Override public ActionCallback run() { return executeSelectionChange(info, requestFocus); @@ -769,6 +804,7 @@ public class JBTabsImpl extends JComponent } } + @NotNull private ActionCallback executeSelectionChange(TabInfo info, boolean requestFocus) { if (mySelectedInfo != null && mySelectedInfo.equals(info)) { if (!requestFocus) { @@ -807,6 +843,7 @@ public class JBTabsImpl extends JComponent if (myProject != null && toFocus != null) { final ActionCallback result = new ActionCallback(); requestFocus(toFocus).doWhenProcessed(new Runnable() { + @Override public void run() { if (myDisposed) { result.setRejected(); @@ -860,6 +897,7 @@ public class JBTabsImpl extends JComponent } } + @NotNull private ActionCallback requestFocus(final JComponent toFocus) { if (toFocus == null) return new ActionCallback.Done(); @@ -895,12 +933,14 @@ public class JBTabsImpl extends JComponent } } + @NotNull private ActionCallback removeDeferred() { final ActionCallback callback = new ActionCallback(); final long executionRequest = ++myRemoveDeferredRequest; final Runnable onDone = new Runnable() { + @Override public void run() { if (myRemoveDeferredRequest == executionRequest) { removeDeferredNow(); @@ -937,6 +977,7 @@ public class JBTabsImpl extends JComponent myDeferredToRemove.clear(); } + @Override public void propertyChange(final PropertyChangeEvent evt) { final TabInfo tabInfo = (TabInfo)evt.getSource(); if (TabInfo.ACTION_GROUP.equals(evt.getPropertyName())) { @@ -1041,6 +1082,7 @@ public class JBTabsImpl extends JComponent private void updateIcon(final TabInfo tabInfo) { updateTab(new Computable() { + @Override public Boolean compute() { myInfo2Label.get(tabInfo).setIcon(tabInfo.getIcon()); return true; @@ -1052,6 +1094,7 @@ public class JBTabsImpl extends JComponent myInfo2Label.get(tabInfo).setInactiveStateImage(null); updateTab(new Computable() { + @Override public Boolean compute() { repaint(); return true; @@ -1119,6 +1162,7 @@ public class JBTabsImpl extends JComponent private void updateText(final TabInfo tabInfo) { updateTab(new Computable() { + @Override public Boolean compute() { final TabLabel label = myInfo2Label.get(tabInfo); label.setText(tabInfo.getColoredText()); @@ -1143,6 +1187,7 @@ public class JBTabsImpl extends JComponent myInfo2Label.get(info).setTabActions(info.getTabLabelActions()); } + @Override @Nullable public TabInfo getSelectedInfo() { if (myOldSelection != null) return myOldSelection; @@ -1214,6 +1259,7 @@ public class JBTabsImpl extends JComponent return new Toolbar(this, tabInfo); } + @Override @NotNull public TabInfo getTabAt(final int tabIndex) { return getTabs().get(tabIndex); @@ -1235,17 +1281,21 @@ public class JBTabsImpl extends JComponent return result; } + @Override public TabInfo getTargetInfo() { return myPopupInfo != null ? myPopupInfo : getSelectedInfo(); } + @Override public void popupMenuWillBecomeVisible(final PopupMenuEvent e) { } + @Override public void popupMenuWillBecomeInvisible(final PopupMenuEvent e) { resetPopup(); } + @Override public void popupMenuCanceled(final PopupMenuEvent e) { resetPopup(); } @@ -1253,12 +1303,14 @@ public class JBTabsImpl extends JComponent private void resetPopup() { //todo [kirillk] dirty hack, should rely on ActionManager to understand that menu item was either chosen on or cancelled SwingUtilities.invokeLater(new Runnable() { + @Override public void run() { myPopupInfo = null; } }); } + @Override public void setPaintBlocked(boolean blocked, final boolean takeSnapshot) { if (blocked && !myPaintBlocked) { if (takeSnapshot) { @@ -1294,12 +1346,14 @@ public class JBTabsImpl extends JComponent return myToDrawBorderIfTabsHidden; } + @Override @NotNull public JBTabsPresentation setToDrawBorderIfTabsHidden(final boolean toDrawBorderIfTabsHidden) { myToDrawBorderIfTabsHidden = toDrawBorderIfTabsHidden; return this; } + @Override @NotNull public JBTabs getJBTabs() { return this; @@ -1341,6 +1395,7 @@ public class JBTabsImpl extends JComponent } + @Override public void doLayout() { try { myHeaderFitSize = computeHeaderFitSize(); @@ -1451,6 +1506,7 @@ public class JBTabsImpl extends JComponent } + @Override public JBTabsPresentation setInnerInsets(final Insets innerInsets) { myInnerInsets = innerInsets; return this; @@ -1530,6 +1586,7 @@ public class JBTabsImpl extends JComponent g2d.fill(clip); } + @Override protected void paintComponent(final Graphics g) { super.paintComponent(g); @@ -2165,6 +2222,7 @@ public class JBTabsImpl extends JComponent } + @Override public void paint(final Graphics g) { Rectangle clip = g.getClipBounds(); if (clip == null) { @@ -2181,6 +2239,7 @@ public class JBTabsImpl extends JComponent super.paint(g); } + @Override protected void paintChildren(final Graphics g) { super.paintChildren(g); @@ -2215,16 +2274,20 @@ public class JBTabsImpl extends JComponent return max; } + @Override public Dimension getMinimumSize() { return computeSize(new Transform() { + @Override public Dimension transform(JComponent component) { return component.getMinimumSize(); } }, 1); } + @Override public Dimension getPreferredSize() { return computeSize(new Transform() { + @Override public Dimension transform(JComponent component) { return component.getPreferredSize(); } @@ -2312,23 +2375,29 @@ public class JBTabsImpl extends JComponent return size; } + @Override public int getTabCount() { return getTabs().size(); } + @Override @NotNull public JBTabsPresentation getPresentation() { return this; } + @Override + @NotNull public ActionCallback removeTab(final TabInfo info) { return removeTab(info, null, true); } + @NotNull public ActionCallback removeTab(final TabInfo info, @Nullable TabInfo forcedSelectionTransfer, boolean transferFocus) { return removeTab(info, forcedSelectionTransfer, transferFocus, false); } + @NotNull private ActionCallback removeTab(TabInfo info, @Nullable TabInfo forcedSelectionTransfer, boolean transferFocus, boolean isDropTarget) { if (!isDropTarget) { if (info == null || !getTabs().contains(info)) return new ActionCallback.Done(); @@ -2357,6 +2426,7 @@ public class JBTabsImpl extends JComponent mySelectedInfo = info; } _setSelected(toSelect, transferFocus).doWhenProcessed(new Runnable() { + @Override public void run() { removeDeferred().notifyWhenDone(result); } @@ -2410,6 +2480,7 @@ public class JBTabsImpl extends JComponent return null; } + @Override public TabInfo findInfo(MouseEvent event) { return findInfo(event, false); } @@ -2420,6 +2491,7 @@ public class JBTabsImpl extends JComponent return _findInfo(point, labelsOnly); } + @Override public TabInfo findInfo(final Object object) { for (int i = 0; i < getTabCount(); i++) { final TabInfo each = getTabAt(i); @@ -2448,6 +2520,7 @@ public class JBTabsImpl extends JComponent return null; } + @Override public void removeAllTabs() { for (TabInfo each : getTabs()) { removeTab(each); @@ -2490,6 +2563,7 @@ public class JBTabsImpl extends JComponent relayout(forced, layoutNow); } + @Override protected void addImpl(final Component comp, final Object constraints, final int index) { unqueueFromRemove(comp); @@ -2516,6 +2590,7 @@ public class JBTabsImpl extends JComponent return myBorder; } + @Override @NotNull public JBTabs addTabMouseListener(@NotNull MouseListener listener) { removeListeners(); @@ -2524,11 +2599,13 @@ public class JBTabsImpl extends JComponent return this; } + @Override @NotNull public JComponent getComponent() { return this; } + @Override public boolean isCycleRoot() { return false; } @@ -2572,6 +2649,7 @@ public class JBTabsImpl extends JComponent addListeners(); } + @Override public JBTabs addListener(@NotNull TabsListener listener) { myTabListeners.add(listener); return this; @@ -2593,14 +2671,17 @@ public class JBTabsImpl extends JComponent } } + @Override public int getIndexOf(@Nullable final TabInfo tabInfo) { return myVisibleInfos.indexOf(tabInfo); } + @Override public boolean isHideTabs() { return myHideTabs; } + @Override public void setHideTabs(final boolean hideTabs) { if (isHideTabs() == hideTabs) return; @@ -2609,10 +2690,12 @@ public class JBTabsImpl extends JComponent relayout(true, false); } + @Override public JBTabsPresentation setPaintBorder(int top, int left, int right, int bottom) { return myBorder.setPaintBorder(top, left, right, bottom); } + @Override public JBTabsPresentation setTabSidePaintBorder(int size) { return myBorder.setTabSidePaintBorder(size); } @@ -2625,6 +2708,7 @@ public class JBTabsImpl extends JComponent return myPaintFocus; } + @Override @NotNull public JBTabsPresentation setActiveTabFillIn(@Nullable final Color color) { if (!isChanged(myActiveTabFillIn, color)) return this; @@ -2639,6 +2723,7 @@ public class JBTabsImpl extends JComponent return oldObject != null && !oldObject.equals(newObject) || newObject != null && !newObject.equals(oldObject); } + @Override @NotNull public JBTabsPresentation setTabLabelActionsAutoHide(final boolean autoHide) { if (myTabLabelActionsAutoHide != autoHide) { @@ -2653,12 +2738,14 @@ public class JBTabsImpl extends JComponent return myActiveTabFillIn; } + @Override public JBTabsPresentation setFocusCycle(final boolean root) { setFocusCycleRoot(root); return this; } + @Override public JBTabsPresentation setPaintFocus(final boolean paintFocus) { myPaintFocus = paintFocus; return this; @@ -2678,6 +2765,7 @@ public class JBTabsImpl extends JComponent setEnabledInModalContext(true); } + @Override public final void update(final AnActionEvent e) { JBTabsImpl tabs = e.getData(NAVIGATION_ACTIONS_KEY); e.getPresentation().setVisible(tabs != null); @@ -2721,6 +2809,7 @@ public class JBTabsImpl extends JComponent protected abstract void _update(AnActionEvent e, final JBTabsImpl tabs, int selectedIndex); + @Override public final void actionPerformed(final AnActionEvent e) { JBTabsImpl tabs = e.getData(NAVIGATION_ACTIONS_KEY); tabs = findNavigatableTabs(tabs); @@ -2740,10 +2829,12 @@ public class JBTabsImpl extends JComponent super(IdeActions.ACTION_NEXT_TAB, tabs, mgr); } + @Override protected void _update(final AnActionEvent e, final JBTabsImpl tabs, int selectedIndex) { e.getPresentation().setEnabled(tabs.findEnabledForward(selectedIndex, true) != null); } + @Override protected void _actionPerformed(final AnActionEvent e, final JBTabsImpl tabs, final int selectedIndex) { tabs.select(tabs.findEnabledForward(selectedIndex, true), true); } @@ -2754,10 +2845,12 @@ public class JBTabsImpl extends JComponent super(IdeActions.ACTION_PREVIOUS_TAB, tabs, mgr); } + @Override protected void _update(final AnActionEvent e, final JBTabsImpl tabs, int selectedIndex) { e.getPresentation().setEnabled(tabs.findEnabledBackward(selectedIndex, true) != null); } + @Override protected void _actionPerformed(final AnActionEvent e, final JBTabsImpl tabs, final int selectedIndex) { tabs.select(tabs.findEnabledBackward(selectedIndex, true), true); } @@ -2770,6 +2863,7 @@ public class JBTabsImpl extends JComponent } } + @Override public JBTabsPresentation setStealthTabMode(final boolean stealthTabMode) { myStealthTabMode = stealthTabMode; @@ -2782,6 +2876,7 @@ public class JBTabsImpl extends JComponent return myStealthTabMode; } + @Override public JBTabsPresentation setSideComponentVertical(final boolean vertical) { myHorizontalSide = !vertical; @@ -2804,6 +2899,7 @@ public class JBTabsImpl extends JComponent return this; } + @Override public JBTabsPresentation setSingleRow(boolean singleRow) { myLayout = singleRow ? mySingleRowLayout : myTableLayout; @@ -2812,6 +2908,7 @@ public class JBTabsImpl extends JComponent return this; } + @Override public JBTabsPresentation setGhostsAlwaysVisible(final boolean visible) { myGhostsAlwaysVisible = visible; @@ -2836,6 +2933,7 @@ public class JBTabsImpl extends JComponent return myGhostsAlwaysVisible; } + @Override public boolean isSingleRow() { return getEffectiveLayout() == mySingleRowLayout; } @@ -2853,20 +2951,24 @@ public class JBTabsImpl extends JComponent return mySingleRowLayout; } + @Override public JBTabsPresentation setUiDecorator(@Nullable UiDecorator decorator) { myUiDecorator = decorator == null ? ourDefaultDecorator : decorator; applyDecoration(); return this; } + @Override protected void setUI(final ComponentUI newUI) { super.setUI(newUI); applyDecoration(); } + @Override public void updateUI() { super.updateUI(); SwingUtilities.invokeLater(new Runnable() { + @Override public void run() { applyDecoration(); @@ -2907,12 +3009,14 @@ public class JBTabsImpl extends JComponent return myRequestFocusOnLastFocusedComponent; } + @Override public JBTabsPresentation setRequestFocusOnLastFocusedComponent(final boolean requestFocusOnLastFocusedComponent) { myRequestFocusOnLastFocusedComponent = requestFocusOnLastFocusedComponent; return this; } + @Override @Nullable public Object getData(@NonNls final String dataId) { if (myDataProvider != null) { @@ -2931,6 +3035,7 @@ public class JBTabsImpl extends JComponent return NAVIGATION_ACTIONS_KEY.is(dataId) ? this : null; } + @Override public List getActions(boolean originalProvider) { ArrayList result = new ArrayList(); @@ -2946,6 +3051,7 @@ public class JBTabsImpl extends JComponent return result; } + @Override public DataProvider getDataProvider() { return myDataProvider; } @@ -2968,6 +3074,7 @@ public class JBTabsImpl extends JComponent private static class DefaultDecorator implements UiDecorator { + @Override @NotNull public UiDecoration getDecoration() { return new UiDecoration(null, new Insets(0, 4, 0, 5)); @@ -3008,6 +3115,7 @@ public class JBTabsImpl extends JComponent } + @Override @NotNull public JBTabsPresentation setTabLabelActionsMouseDeadzone(final TimedDeadzone.Length length) { myTabActionsMouseDeadzone = length; @@ -3019,6 +3127,7 @@ public class JBTabsImpl extends JComponent return this; } + @Override @NotNull public JBTabsPresentation setTabsPosition(final JBTabsPosition position) { myPosition = position; @@ -3026,6 +3135,7 @@ public class JBTabsImpl extends JComponent return this; } + @Override public JBTabsPosition getTabsPosition() { return myPosition; } @@ -3034,6 +3144,7 @@ public class JBTabsImpl extends JComponent return myTabActionsMouseDeadzone; } + @Override public JBTabsPresentation setTabDraggingEnabled(boolean enabled) { myTabDraggingEnabled = enabled; return this; @@ -3043,6 +3154,7 @@ public class JBTabsImpl extends JComponent return myTabDraggingEnabled; } + @Override public JBTabsPresentation setProvideSwitchTargets(boolean provide) { myOwnSwitchProvider = provide; return this; @@ -3064,6 +3176,7 @@ public class JBTabsImpl extends JComponent return getTabsPosition() == JBTabsPosition.top || getTabsPosition() == JBTabsPosition.bottom; } + @Override public void putInfo(@NotNull Map info) { final TabInfo selected = getSelectedInfo(); if (selected != null) { @@ -3077,6 +3190,7 @@ public class JBTabsImpl extends JComponent repaint(); } + @Override public List getTargets(boolean onlyVisible, boolean originalProvider) { ArrayList result = new ArrayList(); for (TabInfo each : myVisibleInfos) { @@ -3094,6 +3208,7 @@ public class JBTabsImpl extends JComponent } + @Override public SwitchTarget getCurrentTarget() { if (mySwitchDelegate != null) { SwitchTarget selection = mySwitchDelegate.getCurrentTarget(); @@ -3111,14 +3226,17 @@ public class JBTabsImpl extends JComponent myInfo = info; } + @Override public ActionCallback switchTo(boolean requestFocus) { return select(myInfo, requestFocus); } + @Override public boolean isVisible() { return getRectangle() != null; } + @Override public RelativeRectangle getRectangle() { TabLabel label = myInfo2Label.get(myInfo); if (label.getRootPane() == null) return null; @@ -3131,6 +3249,7 @@ public class JBTabsImpl extends JComponent return new RelativeRectangle(label.getParent(), b); } + @Override public Component getComponent() { return myInfo2Label.get(myInfo); } diff --git a/platform/platform-impl/src/com/intellij/codeInsight/hint/HintManagerImpl.java b/platform/platform-impl/src/com/intellij/codeInsight/hint/HintManagerImpl.java index e34eeed7f315..52ad3df3abb5 100644 --- a/platform/platform-impl/src/com/intellij/codeInsight/hint/HintManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/codeInsight/hint/HintManagerImpl.java @@ -423,7 +423,7 @@ public class HintManagerImpl extends HintManager implements Disposable { hint.show(layeredPane, p.x, p.y, editor.getContentComponent(), hintInfo); } } - + public static void updateLocation(final LightweightHint hint, final Editor editor, Point p) { doShowInGivenLocation(hint, editor, p, createHintHint(editor, p, hint, UNDER), false); } @@ -863,7 +863,7 @@ public class HintManagerImpl extends HintManager implements Disposable { */ private final class MyEditorManagerListener extends FileEditorManagerAdapter { @Override - public void selectionChanged(FileEditorManagerEvent event) { + public void selectionChanged(@NotNull FileEditorManagerEvent event) { hideHints(0, false, true); } } diff --git a/platform/platform-impl/src/com/intellij/ide/impl/ProjectUtil.java b/platform/platform-impl/src/com/intellij/ide/impl/ProjectUtil.java index 51f30aa244dd..d704d98a75de 100644 --- a/platform/platform-impl/src/com/intellij/ide/impl/ProjectUtil.java +++ b/platform/platform-impl/src/com/intellij/ide/impl/ProjectUtil.java @@ -123,6 +123,7 @@ public class ProjectUtil { if (project != null) { ApplicationManager.getApplication().invokeLater(new Runnable() { + @Override public void run() { if (!project.isDisposed()) { final ToolWindow toolWindow = ToolWindowManager.getInstance(project).getToolWindow(ToolWindowId.PROJECT_VIEW); @@ -251,6 +252,7 @@ public class ProjectUtil { public static void focusProjectWindow(final Project p, boolean executeIfAppInactive) { FocusCommand cmd = new FocusCommand() { + @NotNull @Override public ActionCallback run() { JFrame f = WindowManager.getInstance().getFrame(p); diff --git a/platform/platform-impl/src/com/intellij/openapi/fileEditor/ex/FileEditorManagerEx.java b/platform/platform-impl/src/com/intellij/openapi/fileEditor/ex/FileEditorManagerEx.java index 3d385a775947..eca89ca171b5 100644 --- a/platform/platform-impl/src/com/intellij/openapi/fileEditor/ex/FileEditorManagerEx.java +++ b/platform/platform-impl/src/com/intellij/openapi/fileEditor/ex/FileEditorManagerEx.java @@ -65,7 +65,7 @@ public abstract class FileEditorManagerEx extends FileEditorManager implements B @Nullable public abstract VirtualFile getFile(@NotNull FileEditor editor); - public abstract void updateFilePresentation(VirtualFile file); + public abstract void updateFilePresentation(@NotNull VirtualFile file); /** * @@ -73,6 +73,7 @@ public abstract class FileEditorManagerEx extends FileEditorManager implements B */ public abstract EditorWindow getCurrentWindow(); + @NotNull public abstract AsyncResult getActiveWindow(); public abstract void setCurrentWindow(EditorWindow window); @@ -101,7 +102,8 @@ public abstract class FileEditorManagerEx extends FileEditorManager implements B * is not open. The returned files have the same order as they have in the * tabbed container. */ - @NotNull public abstract VirtualFile[] getSiblings(VirtualFile file); + @NotNull + public abstract VirtualFile[] getSiblings(@NotNull VirtualFile file); public abstract void createSplitter(int orientation, @Nullable EditorWindow window); @@ -122,8 +124,10 @@ public abstract class FileEditorManagerEx extends FileEditorManager implements B public abstract void closeAllFiles(); + @NotNull public abstract EditorsSplitters getSplitters(); + @Override @NotNull public FileEditor[] openFile(@NotNull final VirtualFile file, final boolean focusEditor) { return openFileWithProviders(file, focusEditor, false).getFirst (); @@ -135,13 +139,15 @@ public abstract class FileEditorManagerEx extends FileEditorManager implements B return openFileWithProviders(file, focusEditor, searchForOpen).getFirst(); } - @NotNull public abstract Pair openFileWithProviders(@NotNull VirtualFile file, - boolean focusEditor, - boolean searchForSplitter); + @NotNull + public abstract Pair openFileWithProviders(@NotNull VirtualFile file, + boolean focusEditor, + boolean searchForSplitter); - @NotNull public abstract Pair openFileWithProviders(@NotNull VirtualFile file, - boolean focusEditor, - @NotNull EditorWindow window); + @NotNull + public abstract Pair openFileWithProviders(@NotNull VirtualFile file, + boolean focusEditor, + @NotNull EditorWindow window); public abstract boolean isChanged(@NotNull EditorComposite editor); @@ -152,7 +158,7 @@ public abstract class FileEditorManagerEx extends FileEditorManager implements B public abstract boolean isInsideChange(); @Nullable - public final Object getData(String dataId, Editor editor, final VirtualFile file) { + public final Object getData(@NotNull String dataId, @NotNull Editor editor, @NotNull VirtualFile file) { for (final EditorDataProvider dataProvider : myDataProviders) { final Object o = dataProvider.getData(dataId, editor, file); if (o != null) return o; @@ -160,10 +166,12 @@ public abstract class FileEditorManagerEx extends FileEditorManager implements B return null; } + @Override public void registerExtraEditorDataProvider(@NotNull final EditorDataProvider provider, Disposable parentDisposable) { myDataProviders.add(provider); if (parentDisposable != null) { Disposer.register(parentDisposable, new Disposable() { + @Override public void dispose() { myDataProviders.remove(provider); } @@ -186,6 +194,7 @@ public abstract class FileEditorManagerEx extends FileEditorManager implements B public abstract EditorsSplitters getSplittersFor(Component c); - public abstract ActionCallback notifyPublisher(Runnable runnable); + @NotNull + public abstract ActionCallback notifyPublisher(@NotNull Runnable runnable); } diff --git a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorComposite.java b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorComposite.java index a21d7e2cb349..abf870486625 100644 --- a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorComposite.java +++ b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorComposite.java @@ -177,7 +177,7 @@ public abstract class EditorComposite implements Disposable { myFileEditorManager.addFileEditorManagerListener(new FileEditorManagerAdapter() { @Override - public void selectionChanged(final FileEditorManagerEvent event) { + public void selectionChanged(@NotNull final FileEditorManagerEvent event) { final VirtualFile oldFile = event.getOldFile(); final VirtualFile newFile = event.getNewFile(); if (Comparing.equal(oldFile, newFile) && Comparing.equal(getFile(), newFile)) { @@ -436,7 +436,7 @@ public abstract class EditorComposite implements Disposable { return result == null ? Color.black : result; } }); - + add(component); } } diff --git a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorHistoryManager.java b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorHistoryManager.java index 5380ee9ec8fa..d3a77a64b758 100644 --- a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorHistoryManager.java +++ b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorHistoryManager.java @@ -109,7 +109,7 @@ public final class EditorHistoryManager extends AbstractProjectComponent impleme private void fileOpenedImpl(@NotNull final VirtualFile file) { fileOpenedImpl(file, null, null); } - + /** * Makes file most recent one */ @@ -161,11 +161,11 @@ public final class EditorHistoryManager extends AbstractProjectComponent impleme trimToSize(); } } - + private void updateHistoryEntry(@Nullable final VirtualFile file, final boolean changeEntryOrderOnly) { updateHistoryEntry(file, null, null, changeEntryOrderOnly); } - + private void updateHistoryEntry(@Nullable final VirtualFile file, @Nullable final FileEditor fallbackEditor, @Nullable FileEditorProvider fallbackProvider, @@ -182,7 +182,7 @@ public final class EditorHistoryManager extends AbstractProjectComponent impleme editors = new FileEditor[] {fallbackEditor}; providers = new FileEditorProvider[] {fallbackProvider}; } - + if (editors.length == 0) { // obviously not opened in any editor at the moment, // makes no sense to put the file in the history @@ -312,9 +312,9 @@ public final class EditorHistoryManager extends AbstractProjectComponent impleme } public void readExternal(final Element element) { - // we have to delay xml processing because history entries require EditorStates to be created - // which is done via corresponding EditorProviders, those are not accessible before their - // is initComponent() called + // we have to delay xml processing because history entries require EditorStates to be created + // which is done via corresponding EditorProviders, those are not accessible before their + // is initComponent() called myElement = (Element)element.clone(); } @@ -337,11 +337,11 @@ public final class EditorHistoryManager extends AbstractProjectComponent impleme * Updates history */ private final class MyEditorManagerListener extends FileEditorManagerAdapter{ - public void fileOpened(final FileEditorManager source, final VirtualFile file){ + public void fileOpened(@NotNull final FileEditorManager source, @NotNull final VirtualFile file){ fileOpenedImpl(file); } - public void selectionChanged(final FileEditorManagerEvent event){ + public void selectionChanged(@NotNull final FileEditorManagerEvent event){ updateHistoryEntry(event.getOldFile(), event.getOldEditor(), event.getOldProvider(), false); updateHistoryEntry(event.getNewFile(), true); } @@ -349,7 +349,7 @@ public final class EditorHistoryManager extends AbstractProjectComponent impleme private final class MyEditorManagerBeforeListener extends FileEditorManagerListener.Before.Adapter { @Override - public void beforeFileClosed(FileEditorManager source, VirtualFile file) { + public void beforeFileClosed(@NotNull FileEditorManager source, @NotNull VirtualFile file) { updateHistoryEntry(file, false); } } diff --git a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorTabbedContainer.java b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorTabbedContainer.java index cb260c8fa1cb..876b43189645 100644 --- a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorTabbedContainer.java +++ b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorTabbedContainer.java @@ -84,7 +84,7 @@ public final class EditorTabbedContainer implements Disposable, CloseAction.Clos myWindow = window; myProject = project; final ActionManager actionManager = ActionManager.getInstance(); - myTabs = new JBEditorTabs(project, actionManager, IdeFocusManager.getInstance(project), this); + myTabs = new JBEditorTabs(project, actionManager, IdeFocusManager.getInstance(project), this); myTabs.setDataProvider(new MyDataProvider()).setPopupGroup(new Getter() { public ActionGroup get() { return (ActionGroup)CustomActionsSchema.getInstance().getCorrectedAction(IdeActions.GROUP_EDITOR_TAB_POPUP); @@ -112,8 +112,9 @@ public final class EditorTabbedContainer implements Disposable, CloseAction.Clos } }).setAdditionalSwitchProviderWhenOriginal(new MySwitchProvider()) .setSelectionChangeHandler(new JBTabs.SelectionChangeHandler() { + @NotNull @Override - public ActionCallback execute(TabInfo info, boolean requestFocus, final ActiveRunnable doChangeSelection) { + public ActionCallback execute(TabInfo info, boolean requestFocus, @NotNull final ActiveRunnable doChangeSelection) { final ActionCallback result = new ActionCallback(); CommandProcessor.getInstance().executeCommand(myProject, new Runnable() { @Override diff --git a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/FileEditorManagerImpl.java b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/FileEditorManagerImpl.java index 0016064e3967..3b4bed5808aa 100644 --- a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/FileEditorManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/FileEditorManagerImpl.java @@ -134,7 +134,7 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Projec if (Extensions.getExtensions(FileEditorAssociateFinder.EP_NAME).length > 0) { myListenerList.add(new FileEditorManagerAdapter() { @Override - public void selectionChanged(FileEditorManagerEvent event) { + public void selectionChanged(@NotNull FileEditorManagerEvent event) { EditorsSplitters splitters = getSplitters(); openAssociatedFile(event.getNewFile(), splitters.getCurrentWindow(), splitters); } @@ -164,6 +164,7 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Projec return myPanels; } + @NotNull public EditorsSplitters getMainSplitters() { initUI(); @@ -311,7 +312,7 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Projec return FileUtil.getLocationRelativeToUserHome(file.getPresentableUrl()); } - public void updateFilePresentation(VirtualFile file) { + public void updateFilePresentation(@NotNull VirtualFile file) { if (!isFileOpen(file)) return; updateFileColor(file); @@ -505,10 +506,12 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Projec return getActiveSplitters(true).getResult().getCurrentFile(); } + @NotNull public AsyncResult getActiveWindow() { return _getActiveWindow(false); } + @NotNull private AsyncResult _getActiveWindow(boolean now) { final AsyncResult result = new AsyncResult(); getActiveSplitters(now).doWhenDone(new AsyncResult.Handler() { @@ -926,11 +929,13 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Projec return editorHistoryManager.getSelectedProvider(file); } + @NotNull @Override - public ActionCallback notifyPublisher(final Runnable runnable) { + public ActionCallback notifyPublisher(@NotNull final Runnable runnable) { final IdeFocusManager focusManager = IdeFocusManager.getInstance(myProject); final ActionCallback done = new ActionCallback(); return myBusyObject.execute(new ActiveRunnable() { + @NotNull @Override public ActionCallback run() { focusManager.doWhenFocusSettlesDown(new ExpirableRunnable.ForProject(myProject) { @@ -946,7 +951,7 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Projec } @Override - public void setSelectedEditor(VirtualFile file, String fileEditorProviderId) { + public void setSelectedEditor(@NotNull VirtualFile file, String fileEditorProviderId) { EditorWithProviderComposite composite = getCurrentEditorWithProviderComposite(file); if (composite == null) { final List composites = getEditorComposites(file); @@ -1080,7 +1085,7 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Projec } @Nullable - public Editor openTextEditor(final OpenFileDescriptor descriptor, final boolean focusEditor) { + public Editor openTextEditor(@NotNull final OpenFileDescriptor descriptor, final boolean focusEditor) { final Collection fileEditors = openEditor(descriptor, focusEditor); for (FileEditor fileEditor : fileEditors) { if (fileEditor instanceof TextEditor) { @@ -1146,6 +1151,7 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Projec return selectedEditors.toArray(new FileEditor[selectedEditors.size()]); } + @NotNull public EditorsSplitters getSplitters() { EditorsSplitters active = getActiveSplitters(true).getResult(); return active == null ? getMainSplitters() : active; @@ -1459,7 +1465,7 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Projec }); } } - + @NotNull private static Trinity extract(@Nullable EditorComposite composite) { final VirtualFile file; @@ -1478,7 +1484,7 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Projec } return new Trinity(file, editor, provider); } - + public boolean isChanged(@NotNull final EditorComposite editor) { final FileStatusManager fileStatusManager = FileStatusManager.getInstance(myProject); if (fileStatusManager != null) { @@ -1796,7 +1802,7 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Projec } @NotNull - public VirtualFile[] getSiblings(VirtualFile file) { + public VirtualFile[] getSiblings(@NotNull VirtualFile file) { return getOpenFiles(); } diff --git a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/IdeDocumentHistoryImpl.java b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/IdeDocumentHistoryImpl.java index 2da26aefe055..b53b4b1a75d6 100644 --- a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/IdeDocumentHistoryImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/IdeDocumentHistoryImpl.java @@ -129,7 +129,7 @@ public class IdeDocumentHistoryImpl extends IdeDocumentHistory implements Projec myProject.getMessageBus().connect().subscribe(FileEditorManagerListener.FILE_EDITOR_MANAGER, new FileEditorManagerAdapter() { @Override - public void selectionChanged(FileEditorManagerEvent e) { + public void selectionChanged(@NotNull FileEditorManagerEvent e) { onSelectionChanged(); } }); @@ -440,7 +440,7 @@ public class IdeDocumentHistoryImpl extends IdeDocumentHistory implements Projec removed = true; } } - + return removed; } diff --git a/platform/platform-impl/src/com/intellij/openapi/progress/util/ProgressWindow.java b/platform/platform-impl/src/com/intellij/openapi/progress/util/ProgressWindow.java index e3529b172e90..37118382c9dd 100644 --- a/platform/platform-impl/src/com/intellij/openapi/progress/util/ProgressWindow.java +++ b/platform/platform-impl/src/com/intellij/openapi/progress/util/ProgressWindow.java @@ -630,7 +630,7 @@ public class ProgressWindow extends BlockingProgressIndicator implements Disposa } @Override - protected DialogWrapperPeer createPeer(final Component parent, final boolean canBeParent) { + protected DialogWrapperPeer createPeer(@NotNull final Component parent, final boolean canBeParent) { if (System.getProperty("vintage.progress") == null) { try { return new GlassPaneDialogWrapperPeer(this, parent, canBeParent); diff --git a/platform/platform-impl/src/com/intellij/openapi/ui/impl/DialogWrapperPeerFactoryImpl.java b/platform/platform-impl/src/com/intellij/openapi/ui/impl/DialogWrapperPeerFactoryImpl.java index 451593bc949f..f7fa6256b23b 100644 --- a/platform/platform-impl/src/com/intellij/openapi/ui/impl/DialogWrapperPeerFactoryImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/ui/impl/DialogWrapperPeerFactoryImpl.java @@ -26,22 +26,22 @@ import java.awt.*; public class DialogWrapperPeerFactoryImpl extends DialogWrapperPeerFactory { @Override - public DialogWrapperPeer createPeer(DialogWrapper wrapper, @Nullable Project project, boolean canBeParent) { + public DialogWrapperPeer createPeer(@NotNull DialogWrapper wrapper, @Nullable Project project, boolean canBeParent) { return new DialogWrapperPeerImpl(wrapper, project, canBeParent); } @Override - public DialogWrapperPeer createPeer(DialogWrapper wrapper, boolean canBeParent) { + public DialogWrapperPeer createPeer(@NotNull DialogWrapper wrapper, boolean canBeParent) { return new DialogWrapperPeerImpl(wrapper, canBeParent); } @Override - public DialogWrapperPeer createPeer(final DialogWrapper wrapper, final boolean canBeParent, final boolean applicationModalIfPossible) { + public DialogWrapperPeer createPeer(@NotNull final DialogWrapper wrapper, final boolean canBeParent, final boolean applicationModalIfPossible) { return new DialogWrapperPeerImpl(wrapper, canBeParent, applicationModalIfPossible); } @Override - public DialogWrapperPeer createPeer(DialogWrapper wrapper, @NotNull Component parent, boolean canBeParent) { + public DialogWrapperPeer createPeer(@NotNull DialogWrapper wrapper, @NotNull Component parent, boolean canBeParent) { return new DialogWrapperPeerImpl(wrapper, parent, canBeParent); } } \ No newline at end of file diff --git a/platform/platform-impl/src/com/intellij/openapi/ui/impl/DialogWrapperPeerImpl.java b/platform/platform-impl/src/com/intellij/openapi/ui/impl/DialogWrapperPeerImpl.java index 79296664126e..6104f7a77439 100644 --- a/platform/platform-impl/src/com/intellij/openapi/ui/impl/DialogWrapperPeerImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/ui/impl/DialogWrapperPeerImpl.java @@ -64,7 +64,7 @@ import java.util.Map; public class DialogWrapperPeerImpl extends DialogWrapperPeer implements FocusTrackbackProvider { private static final Logger LOG = Logger.getInstance("#com.intellij.openapi.ui.DialogWrapper"); - private DialogWrapper myWrapper; + private final DialogWrapper myWrapper; private AbstractDialog myDialog; private boolean myCanBeParent = true; private WindowManagerEx myWindowManager; @@ -84,7 +84,7 @@ public class DialogWrapperPeerImpl extends DialogWrapperPeer implements FocusTra * @param canBeParent specifies whether the dialog can be parent for other windows. This parameter is used * by WindowManager. */ - protected DialogWrapperPeerImpl(DialogWrapper wrapper, @Nullable Project project, boolean canBeParent) { + protected DialogWrapperPeerImpl(@NotNull DialogWrapper wrapper, @Nullable Project project, boolean canBeParent) { myWrapper = wrapper; myTypeAheadCallback = myWrapper.isTypeAheadEnabled() ? new ActionCallback() : null; myWindowManager = null; @@ -127,10 +127,11 @@ public class DialogWrapperPeerImpl extends DialogWrapperPeer implements FocusTra createDialog(owner, canBeParent); } - protected DialogWrapperPeerImpl(DialogWrapper wrapper, boolean canBeParent) { + protected DialogWrapperPeerImpl(@NotNull DialogWrapper wrapper, boolean canBeParent) { this(wrapper, (Project)null, canBeParent); } + @Override public boolean isHeadless() { return isHeadlessEnv(); } @@ -151,7 +152,7 @@ public class DialogWrapperPeerImpl extends DialogWrapperPeer implements FocusTra * @param parent parent component which is used to calculate heavy weight window ancestor. * parent cannot be null and must be showing. */ - protected DialogWrapperPeerImpl(DialogWrapper wrapper, @NotNull Component parent, boolean canBeParent) { + protected DialogWrapperPeerImpl(@NotNull DialogWrapper wrapper, @NotNull Component parent, boolean canBeParent) { myWrapper = wrapper; if (!parent.isShowing() && parent != JOptionPane.getRootFrame()) { throw new IllegalArgumentException("parent must be showing: " + parent); @@ -169,7 +170,7 @@ public class DialogWrapperPeerImpl extends DialogWrapperPeer implements FocusTra createDialog(owner, canBeParent); } - public DialogWrapperPeerImpl(final DialogWrapper wrapper, final boolean canBeParent, final boolean applicationModalIfPossible) { + public DialogWrapperPeerImpl(@NotNull DialogWrapper wrapper, final boolean canBeParent, final boolean applicationModalIfPossible) { myWrapper = wrapper; myWindowManager = null; Application application = ApplicationManager.getApplication(); @@ -186,18 +187,22 @@ public class DialogWrapperPeerImpl extends DialogWrapperPeer implements FocusTra } } + @Override public void setUndecorated(boolean undecorated) { myDialog.setUndecorated(undecorated); } + @Override public void addMouseListener(MouseListener listener) { myDialog.addMouseListener(listener); } + @Override public void addMouseListener(MouseMotionListener listener) { myDialog.addMouseMotionListener(listener); } + @Override public void addKeyListener(KeyListener listener) { myDialog.addKeyListener(listener); } @@ -215,14 +220,17 @@ public class DialogWrapperPeerImpl extends DialogWrapperPeer implements FocusTra myCanBeParent = canBeParent; } + @Override public void toFront() { myDialog.toFront(); } + @Override public void toBack() { myDialog.toBack(); } + @Override @SuppressWarnings("SSBasedInspection") protected void dispose() { LOG.assertTrue(EventQueue.isDispatchThread(), "Access is allowed from event dispatch thread only"); @@ -233,11 +241,13 @@ public class DialogWrapperPeerImpl extends DialogWrapperPeer implements FocusTra final JRootPane root = myDialog.getRootPane(); Runnable disposer = new Runnable() { + @Override public void run() { myDialog.dispose(); myProject = null; SwingUtilities.invokeLater(new Runnable() { + @Override public void run() { if (myDialog != null && root != null) { myDialog.remove(root); @@ -259,6 +269,7 @@ public class DialogWrapperPeerImpl extends DialogWrapperPeer implements FocusTra return myWrapper.isModalProgress(); } + @Override @Nullable public Container getContentPane() { return getRootPane() != null ? myDialog.getContentPane() : null; @@ -267,6 +278,7 @@ public class DialogWrapperPeerImpl extends DialogWrapperPeer implements FocusTra /** * @see javax.swing.JDialog#validate */ + @Override public void validate() { myDialog.validate(); } @@ -274,26 +286,32 @@ public class DialogWrapperPeerImpl extends DialogWrapperPeer implements FocusTra /** * @see javax.swing.JDialog#repaint */ + @Override public void repaint() { myDialog.repaint(); } + @Override public Window getOwner() { return myDialog.getOwner(); } + @Override public Window getWindow() { return myDialog.getWindow(); } + @Override public JRootPane getRootPane() { return myDialog.getRootPane(); } + @Override public Dimension getSize() { return myDialog.getSize(); } + @Override public String getTitle() { return myDialog.getTitle(); } @@ -301,23 +319,28 @@ public class DialogWrapperPeerImpl extends DialogWrapperPeer implements FocusTra /** * @see java.awt.Window#pack */ + @Override public void pack() { myDialog.pack(); } + @Override @SuppressWarnings("UnusedDeclaration") public void setIconImages(final List images) { myDialog.getWindow().setIconImages(images); } + @Override public void setAppIcons() { AppUIUtil.updateWindowIcon(getWindow()); } + @Override public Dimension getPreferredSize() { return myDialog.getPreferredSize(); } + @Override public void setModal(boolean modal) { myDialog.setModal(modal); } @@ -327,42 +350,52 @@ public class DialogWrapperPeerImpl extends DialogWrapperPeer implements FocusTra return myDialog.isModal(); } + @Override public boolean isVisible() { return myDialog.isVisible(); } + @Override public boolean isShowing() { return myDialog.isShowing(); } + @Override public void setSize(int width, int height) { myDialog.setSize(width, height); } + @Override public void setTitle(String title) { myDialog.setTitle(title); } + @Override public void isResizable() { myDialog.isResizable(); } + @Override public void setResizable(boolean resizable) { myDialog.setResizable(resizable); } + @Override public Point getLocation() { return myDialog.getLocation(); } + @Override public void setLocation(Point p) { myDialog.setLocation(p); } + @Override public void setLocation(int x, int y) { myDialog.setLocation(x, y); } + @Override public ActionCallback show() { if (myTypeAheadCallback != null) { IdeFocusManager.getInstance(myProject).typeAheadUntil(myTypeAheadCallback); @@ -375,6 +408,7 @@ public class DialogWrapperPeerImpl extends DialogWrapperPeer implements FocusTra final JRootPane rootPane = getRootPane(); anCancelAction.registerCustomShortcutSet(new CustomShortcutSet(KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0)), rootPane); myDisposeActions.add(new Runnable() { + @Override public void run() { anCancelAction.unregisterCustomShortcutSet(rootPane); } @@ -422,17 +456,20 @@ public class DialogWrapperPeerImpl extends DialogWrapperPeer implements FocusTra StackingPopupDispatcher.getInstance().hidePersistentPopups(); myDisposeActions.add(new Runnable() { + @Override public void run() { StackingPopupDispatcher.getInstance().restorePersistentPopups(); } }); } + @Override public FocusTrackback getFocusTrackback() { return myDialog.getFocusTrackback(); } private class AnCancelAction extends AnAction implements DumbAware { + @Override public void update(AnActionEvent e) { Component focusOwner = KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusOwner(); e.getPresentation().setEnabled(false); @@ -456,6 +493,7 @@ public class DialogWrapperPeerImpl extends DialogWrapperPeer implements FocusTra } } + @Override public void actionPerformed(AnActionEvent e) { myWrapper.doCancelAction(e.getInputEvent()); } @@ -479,16 +517,16 @@ public class DialogWrapperPeerImpl extends DialogWrapperPeer implements FocusTra private MyDialog.MyWindowListener myWindowListener; private final WeakReference myProject; - private ActionCallback myFocusedCallback; - private ActionCallback myTypeAheadDone; - private ActionCallback myTypeAheadCallback; + private final ActionCallback myFocusedCallback; + private final ActionCallback myTypeAheadDone; + private final ActionCallback myTypeAheadCallback; private MyComponentListener myComponentListener; public MyDialog(Window owner, DialogWrapper dialogWrapper, Project project, - ActionCallback focused, - ActionCallback typeAheadDone, + @NotNull ActionCallback focused, + @NotNull ActionCallback typeAheadDone, ActionCallback typeAheadCallback) { super(owner); if (Registry.is("ide.mac.modalDialogsOnFullscreen")) { @@ -497,10 +535,7 @@ public class DialogWrapperPeerImpl extends DialogWrapperPeer implements FocusTra } myDialogWrapper = new WeakReference(dialogWrapper); myProject = project != null ? new WeakReference(project) : null; - initDialog(focused, typeAheadDone, typeAheadCallback); - } - private void initDialog(ActionCallback focused, ActionCallback typeAheadDone, ActionCallback typeAheadCallback) { setFocusTraversalPolicy(new LayoutFocusTraversalPolicyExt() { @Override protected boolean accept(Component aComponent) { @@ -526,26 +561,32 @@ public class DialogWrapperPeerImpl extends DialogWrapperPeer implements FocusTra addComponentListener(myComponentListener); } + @Override public JDialog getWindow() { return this; } + @Override public void putInfo(@NotNull Map info) { info.put("dialog", getTitle()); } + @Override public FocusTrackback getFocusTrackback() { return myFocusTrackback; } + @Override public DialogWrapper getDialogWrapper() { return myDialogWrapper.get(); } + @Override public void centerInParent() { setLocationRelativeTo(getOwner()); } + @Override public Object getData(String dataId) { final DialogWrapper wrapper = myDialogWrapper.get(); if (wrapper instanceof DataProvider) { @@ -558,6 +599,7 @@ public class DialogWrapperPeerImpl extends DialogWrapperPeer implements FocusTra return null; } + @Override public void setSize(int width, int height) { _setSizeForLocation(width, height, null); } @@ -573,21 +615,25 @@ public class DialogWrapperPeerImpl extends DialogWrapperPeer implements FocusTra super.setSize(rect.width, rect.height); } + @Override public void setBounds(int x, int y, int width, int height) { Rectangle rect = new Rectangle(x, y, width, height); ScreenUtil.fitToScreen(rect); super.setBounds(rect.x, rect.y, rect.width, rect.height); } + @Override public void setBounds(Rectangle r) { ScreenUtil.fitToScreen(r); super.setBounds(r); } + @Override protected JRootPane createRootPane() { return new DialogRootPane(); } + @Override @SuppressWarnings("deprecation") public void show() { myFocusTrackback = new FocusTrackback(getDialogWrapper(), getParent(), true); @@ -643,6 +689,7 @@ public class DialogWrapperPeerImpl extends DialogWrapperPeer implements FocusTra if (wrapper != null && myFocusTrackback != null) { myFocusTrackback.cleanParentWindow(); myFocusTrackback.registerFocusComponent(new FocusTrackback.ComponentQuery() { + @Override public Component getComponent() { return wrapper.getPreferredFocusedComponent(); } @@ -658,6 +705,7 @@ public class DialogWrapperPeerImpl extends DialogWrapperPeer implements FocusTra if (project != null && !project.isDisposed()) { focusManager.set(getFocusManager()); focusManager.get().doWhenFocusSettlesDown(new Runnable() { + @Override public void run() { disposeFocusTrackbackIfNoChildWindowFocused(focusManager.get()); } @@ -755,6 +803,7 @@ public class DialogWrapperPeerImpl extends DialogWrapperPeer implements FocusTra myFocusTrackback.setWillBeSheduledForRestore(); IdeFocusManager mgr = getFocusManager(); Runnable r = new Runnable() { + @Override public void run() { if (myFocusTrackback != null) myFocusTrackback.restoreFocus(); myFocusTrackback = null; @@ -845,12 +894,13 @@ public class DialogWrapperPeerImpl extends DialogWrapperPeer implements FocusTra // inherit graphics so rendering hints won't be applied and trees or lists may render ugly. UIUtil.applyRenderingHints(g); } - + super.paint(g); } @SuppressWarnings("SSBasedInspection") private class MyWindowListener extends WindowAdapter { + @Override public void windowClosing(WindowEvent e) { DialogWrapper dialogWrapper = getDialogWrapper(); if (dialogWrapper.shouldCloseOnCross()) { @@ -893,12 +943,13 @@ public class DialogWrapperPeerImpl extends DialogWrapperPeer implements FocusTra myTypeAheadDone.setRejected(); } } - }); + }); } @Override public void windowActivated(final WindowEvent e) { SwingUtilities.invokeLater(new Runnable() { + @Override public void run() { final DialogWrapper wrapper = getActiveWrapper(); if (wrapper == null && !myFocusedCallback.isProcessed()) { @@ -922,6 +973,7 @@ public class DialogWrapperPeerImpl extends DialogWrapperPeer implements FocusTra if (toFocus != null) { final JComponent toRequest = toFocus; SwingUtilities.invokeLater(new Runnable() { + @Override public void run() { if (isShowing() && isActive()) { getFocusManager().requestFocus(toRequest, true); @@ -946,11 +998,12 @@ public class DialogWrapperPeerImpl extends DialogWrapperPeer implements FocusTra final long timeout = wrapper.getTypeAheadTimeoutMs(); if (timeout > 0) { SimpleTimer.getInstance().setUp(new EdtRunnable() { + @Override public void runEdt() { myTypeAheadDone.setDone(); } }, timeout); - } + } } private DialogWrapper getActiveWrapper() { @@ -981,6 +1034,7 @@ public class DialogWrapperPeerImpl extends DialogWrapperPeer implements FocusTra } private class MyComponentListener extends ComponentAdapter { + @Override @SuppressWarnings({"RefusedBequest"}) public void componentResized(ComponentEvent e) { UIUtil.adjustWindowToMinimumSize(getWindow()); @@ -997,6 +1051,7 @@ public class DialogWrapperPeerImpl extends DialogWrapperPeer implements FocusTra putClientProperty("DIALOG_ROOT_PANE", true); } + @Override protected JLayeredPane createLayeredPane() { JLayeredPane p = new JBLayeredPane(); p.setName(this.getName()+".layeredPane"); @@ -1013,6 +1068,7 @@ public class DialogWrapperPeerImpl extends DialogWrapperPeer implements FocusTra super.setGlassPane(glass); } + @Override public Object getData(@NonNls String dataId) { final DialogWrapper wrapper = myDialogWrapper.get(); return wrapper != null && PlatformDataKeys.UI_DISPOSABLE.is(dataId) ? wrapper.getDisposable() : null; @@ -1031,6 +1087,7 @@ public class DialogWrapperPeerImpl extends DialogWrapperPeer implements FocusTra setToInvalidateRequestors(false); Disposer.register(wrapper.getDisposable(), new Disposable() { + @Override public void dispose() { if (!myTypeAheadDone.isProcessed()) { myTypeAheadDone.setDone(); @@ -1041,6 +1098,8 @@ public class DialogWrapperPeerImpl extends DialogWrapperPeer implements FocusTra }); } + @Override + @NotNull public ActionCallback run() { return myTypeAheadDone; } @@ -1050,6 +1109,7 @@ public class DialogWrapperPeerImpl extends DialogWrapperPeer implements FocusTra return this; } + @Override public Boolean dispatch(KeyEvent e, Context context) { if (myWrapper == null || myTypeAheadDone.isProcessed()) return null; @@ -1065,9 +1125,10 @@ public class DialogWrapperPeerImpl extends DialogWrapperPeer implements FocusTra } private boolean isToDispatchToDialogNow(KeyEvent e) { - return e.getKeyCode() == KeyEvent.VK_ENTER || e.getKeyCode() == KeyEvent.VK_ESCAPE || e.getKeyCode() == KeyEvent.VK_TAB; + return e.getKeyCode() == KeyEvent.VK_ENTER || e.getKeyCode() == KeyEvent.VK_ESCAPE || e.getKeyCode() == KeyEvent.VK_TAB; } + @Override public void finish(Context context) { myContextOnFinish = context; } @@ -1095,10 +1156,12 @@ public class DialogWrapperPeerImpl extends DialogWrapperPeer implements FocusTra } } + @Override public void setContentPane(JComponent content) { myDialog.setContentPane(content); } + @Override public void centerInParent() { myDialog.centerInParent(); } diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowHeadlessManagerImpl.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowHeadlessManagerImpl.java index 1f54b2bb341a..952bb259a605 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowHeadlessManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowHeadlessManagerImpl.java @@ -315,26 +315,31 @@ public class ToolWindowHeadlessManagerImpl extends ToolWindowManagerEx { return Collections.emptyList(); } + @NotNull @Override public String getCloseActionName() { return "close"; } + @NotNull @Override public String getCloseAllButThisActionName() { return "closeallbutthis"; } + @NotNull @Override public String getPreviousContentActionName() { return "previous"; } + @NotNull @Override public String getNextContentActionName() { return "next"; } + @NotNull @Override public JComponent getComponent() { return new JLabel(); @@ -402,6 +407,7 @@ public class ToolWindowHeadlessManagerImpl extends ToolWindowManagerEx { return myContents.remove(content); } + @NotNull @Override public ActionCallback removeContent(@NotNull Content content, boolean dispose, boolean trackFocus, boolean implicitFocus) { return new ActionCallback.Done(); @@ -430,6 +436,7 @@ public class ToolWindowHeadlessManagerImpl extends ToolWindowManagerEx { mySelected = content; } + @NotNull @Override public ActionCallback setSelectedContentCB(@NotNull Content content) { return new ActionCallback.Done(); @@ -439,6 +446,7 @@ public class ToolWindowHeadlessManagerImpl extends ToolWindowManagerEx { public void setSelectedContent(@NotNull final Content content, final boolean requestFocus) { } + @NotNull @Override public ActionCallback setSelectedContentCB(@NotNull final Content content, final boolean requestFocus) { return new ActionCallback.Done(); @@ -448,16 +456,19 @@ public class ToolWindowHeadlessManagerImpl extends ToolWindowManagerEx { public void setSelectedContent(@NotNull Content content, boolean requestFocus, boolean forcedFocus) { } + @NotNull @Override public ActionCallback setSelectedContentCB(@NotNull final Content content, final boolean requestFocus, final boolean forcedFocus) { return new ActionCallback.Done(); } + @NotNull @Override public ActionCallback setSelectedContent(@NotNull Content content, boolean requestFocus, boolean forcedFocus, boolean implicit) { return new ActionCallback.Done(); } + @NotNull @Override public ActionCallback requestFocus(@Nullable final Content content, final boolean forced) { return new ActionCallback.Done(); diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowManagerImpl.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowManagerImpl.java index 7d2ec66417ea..e09e48c464ea 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowManagerImpl.java @@ -200,11 +200,11 @@ public final class ToolWindowManagerImpl extends ToolWindowManagerEx implements project.getMessageBus().connect().subscribe(FileEditorManagerListener.FILE_EDITOR_MANAGER, new FileEditorManagerListener() { @Override - public void fileOpened(FileEditorManager source, VirtualFile file) { + public void fileOpened(@NotNull FileEditorManager source, @NotNull VirtualFile file) { } @Override - public void fileClosed(FileEditorManager source, VirtualFile file) { + public void fileClosed(@NotNull FileEditorManager source, @NotNull VirtualFile file) { getFocusManagerImpl(myProject).doWhenFocusSettlesDown(new ExpirableRunnable.ForProject(myProject) { @Override public void run() { @@ -216,7 +216,7 @@ public final class ToolWindowManagerImpl extends ToolWindowManagerEx implements } @Override - public void selectionChanged(FileEditorManagerEvent event) { + public void selectionChanged(@NotNull FileEditorManagerEvent event) { } }); @@ -621,6 +621,7 @@ public final class ToolWindowManagerImpl extends ToolWindowManagerEx implements @Override public void run() { requestor.requestFocus(new FocusCommand() { + @NotNull @Override public ActionCallback run() { runnable.run(); @@ -657,6 +658,7 @@ public final class ToolWindowManagerImpl extends ToolWindowManagerEx implements public void run() { if (forced) { getFocusManagerImpl(myProject).requestFocus(new FocusCommand() { + @NotNull @Override public ActionCallback run() { final ArrayList cmds = new ArrayList(); @@ -2263,6 +2265,7 @@ public final class ToolWindowManagerImpl extends ToolWindowManagerEx implements public ActionCallback requestDefaultFocus(final boolean forced) { return getFocusManagerImpl(myProject).requestFocus(new FocusCommand() { + @NotNull @Override public ActionCallback run() { return processDefaultFocusRequest(forced); diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/commands/RequestFocusInToolWindowCmd.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/commands/RequestFocusInToolWindowCmd.java index cf4b6c3fbb5a..177e73efe9c2 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/commands/RequestFocusInToolWindowCmd.java +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/commands/RequestFocusInToolWindowCmd.java @@ -28,6 +28,7 @@ import com.intellij.openapi.wm.impl.FloatingDecorator; import com.intellij.openapi.wm.impl.ToolWindowImpl; import com.intellij.openapi.wm.impl.WindowManagerImpl; import com.intellij.openapi.wm.impl.WindowWatcher; +import org.jetbrains.annotations.NotNull; import javax.swing.*; import java.awt.*; @@ -157,6 +158,7 @@ public final class RequestFocusInToolWindowCmd extends FinalizableCommand { final Component owner = KeyboardFocusManager.getCurrentKeyboardFocusManager().getPermanentFocusOwner(); if (owner != null && owner == c) { myManager.getFocusManager().requestFocus(new FocusCommand() { + @NotNull public ActionCallback run() { return new ActionCallback.Done(); } diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/content/ToolWindowContentUi.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/content/ToolWindowContentUi.java index 06726ba258b8..68d1baf44845 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/content/ToolWindowContentUi.java +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/content/ToolWindowContentUi.java @@ -121,7 +121,7 @@ public class ToolWindowContentUi extends JPanel implements ContentUI, PropertyCh return this; } - public void setManager(final ContentManager manager) { + public void setManager(@NotNull final ContentManager manager) { if (myManager != null) { getCurrentLayout().reset(); } @@ -256,25 +256,29 @@ public class ToolWindowContentUi extends JPanel implements ContentUI, PropertyCh public void beforeDispose() { } - public boolean canChangeSelectionTo(Content content, boolean implicit) { + public boolean canChangeSelectionTo(@NotNull Content content, boolean implicit) { return true; } + @NotNull @Override public String getCloseActionName() { return getCurrentLayout().getCloseActionName(); } + @NotNull @Override public String getCloseAllButThisActionName() { return getCurrentLayout().getCloseAllButThisActionName(); } + @NotNull @Override public String getPreviousContentActionName() { return getCurrentLayout().getPreviousContentActionName(); } + @NotNull @Override public String getNextContentActionName() { return getCurrentLayout().getNextContentActionName(); diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/EncodingPanel.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/EncodingPanel.java index 5bd909f7b452..c516b63540ef 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/EncodingPanel.java +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/EncodingPanel.java @@ -104,13 +104,13 @@ public class EncodingPanel extends EditorBasedWidget implements StatusBarWidget. } @Override - public void selectionChanged(FileEditorManagerEvent event) { + public void selectionChanged(@NotNull FileEditorManagerEvent event) { if (ApplicationManager.getApplication().isUnitTestMode()) return; update(); } @Override - public void fileOpened(FileEditorManager source, VirtualFile file) { + public void fileOpened(@NotNull FileEditorManager source, @NotNull VirtualFile file) { update(); } @@ -255,7 +255,7 @@ public class EncodingPanel extends EditorBasedWidget implements StatusBarWidget. } } }); - + } @Override diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/LineSeparatorPanel.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/LineSeparatorPanel.java index b305685c0c74..bdf9646f62d8 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/LineSeparatorPanel.java +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/LineSeparatorPanel.java @@ -151,7 +151,7 @@ public class LineSeparatorPanel extends EditorBasedWidget implements StatusBarWi if (!(group instanceof ActionGroup)) { return; } - + ListPopup popup = JBPopupFactory.getInstance().createActionGroupPopup( "Line separator", (ActionGroup)group, @@ -190,7 +190,7 @@ public class LineSeparatorPanel extends EditorBasedWidget implements StatusBarWi editor == null ? null : editor.getComponent(), parent) )); } - + @Override public JComponent getComponent() { return myComponent; @@ -214,13 +214,13 @@ public class LineSeparatorPanel extends EditorBasedWidget implements StatusBarWi } @Override - public void selectionChanged(FileEditorManagerEvent event) { + public void selectionChanged(@NotNull FileEditorManagerEvent event) { if (ApplicationManager.getApplication().isUnitTestMode()) return; update(); } @Override - public void fileOpened(FileEditorManager source, VirtualFile file) { + public void fileOpened(@NotNull FileEditorManager source, @NotNull VirtualFile file) { update(); } } diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/PositionPanel.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/PositionPanel.java index 52e2d7a8f0a8..9be7a9245544 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/PositionPanel.java +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/PositionPanel.java @@ -42,7 +42,7 @@ public class PositionPanel extends EditorBasedWidget implements StatusBarWidget. } @Override - public void selectionChanged(FileEditorManagerEvent event) { + public void selectionChanged(@NotNull FileEditorManagerEvent event) { updatePosition(getEditor()); } diff --git a/platform/platform-impl/src/com/intellij/ui/FocusTrackback.java b/platform/platform-impl/src/com/intellij/ui/FocusTrackback.java index 26bb96bcf27d..be468c64d779 100644 --- a/platform/platform-impl/src/com/intellij/ui/FocusTrackback.java +++ b/platform/platform-impl/src/com/intellij/ui/FocusTrackback.java @@ -533,6 +533,7 @@ public class FocusTrackback { private class MyFocusCommand extends FocusCommand { + @NotNull public ActionCallback run() { return _restoreFocus(); } diff --git a/platform/platform-impl/src/com/intellij/ui/content/TabbedPaneContentUI.java b/platform/platform-impl/src/com/intellij/ui/content/TabbedPaneContentUI.java index 80d80e005833..5fb909fd2305 100644 --- a/platform/platform-impl/src/com/intellij/ui/content/TabbedPaneContentUI.java +++ b/platform/platform-impl/src/com/intellij/ui/content/TabbedPaneContentUI.java @@ -21,6 +21,7 @@ import com.intellij.ui.*; import com.intellij.ui.content.tabs.PinToolwindowTabAction; import com.intellij.ui.content.tabs.TabbedContentAction; import com.intellij.util.IJSwingUtilities; +import org.jetbrains.annotations.NotNull; import javax.swing.*; import javax.swing.event.ChangeEvent; @@ -66,7 +67,7 @@ public class TabbedPaneContentUI implements ContentUI, PropertyChangeListener { return myTabbedPaneWrapper.getComponent(); } - public void setManager(ContentManager manager) { + public void setManager(@NotNull ContentManager manager) { if (myManager != null) { throw new IllegalStateException(); } @@ -317,25 +318,29 @@ public class TabbedPaneContentUI implements ContentUI, PropertyChangeListener { public void beforeDispose() { } - public boolean canChangeSelectionTo(Content content, boolean implicit) { + public boolean canChangeSelectionTo(@NotNull Content content, boolean implicit) { return true; } + @NotNull @Override public String getCloseActionName() { return UIBundle.message("tabbed.pane.close.tab.action.name"); } + @NotNull @Override public String getCloseAllButThisActionName() { return UIBundle.message("tabbed.pane.close.all.tabs.but.this.action.name"); } + @NotNull @Override public String getPreviousContentActionName() { return "Select Previous Tab"; } + @NotNull @Override public String getNextContentActionName() { return "Select Next Tab"; diff --git a/platform/platform-impl/src/com/intellij/ui/content/impl/ContentManagerImpl.java b/platform/platform-impl/src/com/intellij/ui/content/impl/ContentManagerImpl.java index 7468af219eee..ce28504f64b1 100644 --- a/platform/platform-impl/src/com/intellij/ui/content/impl/ContentManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/ui/content/impl/ContentManagerImpl.java @@ -91,6 +91,7 @@ public class ContentManagerImpl implements ContentManager, PropertyChangeListene return myCanCloseContents; } + @NotNull @Override public JComponent getComponent() { if (myComponent == null) { @@ -232,6 +233,7 @@ public class ContentManagerImpl implements ContentManager, PropertyChangeListene return removeContent(content, true, dispose); } + @NotNull @Override public ActionCallback removeContent(@NotNull Content content, boolean dispose, final boolean trackFocus, final boolean forcedFocus) { final ActionCallback result = new ActionCallback(); @@ -385,21 +387,25 @@ public class ContentManagerImpl implements ContentManager, PropertyChangeListene return myContents.indexOf(content); } + @NotNull @Override public String getCloseActionName() { return myUI.getCloseActionName(); } + @NotNull @Override public String getCloseAllButThisActionName() { return myUI.getCloseAllButThisActionName(); } + @NotNull @Override public String getPreviousContentActionName() { return myUI.getPreviousContentActionName(); } + @NotNull @Override public String getNextContentActionName() { return myUI.getNextContentActionName(); @@ -476,6 +482,7 @@ public class ContentManagerImpl implements ContentManager, PropertyChangeListene setSelectedContentCB(content, requestFocus); } + @NotNull @Override public ActionCallback setSelectedContentCB(@NotNull final Content content, final boolean requestFocus) { return setSelectedContentCB(content, requestFocus, true); @@ -486,11 +493,13 @@ public class ContentManagerImpl implements ContentManager, PropertyChangeListene setSelectedContentCB(content, requestFocus, forcedFocus); } + @NotNull @Override public ActionCallback setSelectedContentCB(@NotNull final Content content, final boolean requestFocus, final boolean forcedFocus) { return setSelectedContent(content, requestFocus, forcedFocus, false); } + @NotNull @Override public ActionCallback setSelectedContent(@NotNull final Content content, final boolean requestFocus, final boolean forcedFocus, boolean implicit) { if (isSelected(content) && requestFocus) { @@ -509,6 +518,7 @@ public class ContentManagerImpl implements ContentManager, PropertyChangeListene final Content[] old = getSelectedContents(); final ActiveRunnable selection = new ActiveRunnable() { + @NotNull @Override public ActionCallback run() { if (myDisposed || getIndexOfContent(content) == -1) return new ActionCallback.Rejected(); @@ -558,6 +568,7 @@ public class ContentManagerImpl implements ContentManager, PropertyChangeListene return focused; } + @NotNull @Override public ActionCallback setSelectedContentCB(@NotNull Content content) { return setSelectedContentCB(content, false); @@ -565,7 +576,7 @@ public class ContentManagerImpl implements ContentManager, PropertyChangeListene @Override public void setSelectedContent(@NotNull final Content content) { - setSelectedContentCB(content); + setSelectedContentCB(content); } @Override @@ -643,6 +654,7 @@ public class ContentManagerImpl implements ContentManager, PropertyChangeListene return true; } + @NotNull @Override public ActionCallback requestFocus(final Content content, final boolean forced) { final Content toSelect = content == null ? getSelectedContent() : content; @@ -651,6 +663,7 @@ public class ContentManagerImpl implements ContentManager, PropertyChangeListene return getFocusManager().requestFocus(new FocusCommand(content, toSelect.getPreferredFocusableComponent()) { + @NotNull @Override public ActionCallback run() { return doRequestFocus(toSelect); diff --git a/platform/platform-impl/src/com/intellij/ui/popup/AbstractPopup.java b/platform/platform-impl/src/com/intellij/ui/popup/AbstractPopup.java index 2b5357ff4f47..2ddeed784945 100644 --- a/platform/platform-impl/src/com/intellij/ui/popup/AbstractPopup.java +++ b/platform/platform-impl/src/com/intellij/ui/popup/AbstractPopup.java @@ -855,6 +855,7 @@ public class AbstractPopup implements JBPopup { if (myRequestFocus) { getFocusManager().requestFocus(new FocusCommand() { + @NotNull @Override public ActionCallback run() { if (isDisposed()) { @@ -884,6 +885,7 @@ public class AbstractPopup implements JBPopup { } furtherRequestor.requestFocus(new FocusCommand() { + @NotNull @Override public ActionCallback run() { if (isDisposed()) { @@ -1094,6 +1096,7 @@ public class AbstractPopup implements JBPopup { if (!myFocusable) return false; getFocusManager().requestFocus(new FocusCommand() { + @NotNull @Override public ActionCallback run() { _requestFocus(); diff --git a/platform/testFramework/src/com/intellij/mock/Mock.java b/platform/testFramework/src/com/intellij/mock/Mock.java index 99e448dd9c55..9e2a14be0711 100644 --- a/platform/testFramework/src/com/intellij/mock/Mock.java +++ b/platform/testFramework/src/com/intellij/mock/Mock.java @@ -133,8 +133,9 @@ public class Mock { return null; } + @NotNull @Override - public ActionCallback notifyPublisher(Runnable runnable) { + public ActionCallback notifyPublisher(@NotNull Runnable runnable) { runnable.run(); return new ActionCallback.Done(); } @@ -149,7 +150,7 @@ public class Mock { public Pair openFileWithProviders(@NotNull VirtualFile file, boolean focusEditor, @NotNull EditorWindow window) { - return null; //To change body of implemented methods use File | Settings | File Templates. + throw new RuntimeException("not implemented"); } @Override @@ -167,14 +168,16 @@ public class Mock { return null; } + @NotNull @Override public EditorsSplitters getSplitters() { - return null; + throw new RuntimeException("not implemented"); } + @NotNull @Override public AsyncResult getActiveWindow() { - return null; + throw new RuntimeException("not implemented"); } @Override @@ -223,7 +226,7 @@ public class Mock { } @Override - public void updateFilePresentation(VirtualFile file) { + public void updateFilePresentation(@NotNull VirtualFile file) { } @Override @@ -244,7 +247,7 @@ public class Mock { @Override @NotNull - public VirtualFile[] getSiblings(VirtualFile file) { + public VirtualFile[] getSiblings(@NotNull VirtualFile file) { return new VirtualFile[0]; } @@ -328,7 +331,7 @@ public class Mock { } @Override - public Editor openTextEditor(OpenFileDescriptor descriptor, boolean focusEditor) { + public Editor openTextEditor(@NotNull OpenFileDescriptor descriptor, boolean focusEditor) { return null; } @@ -374,7 +377,7 @@ public class Mock { @NotNull @Override public FileEditor[] getAllEditors(@NotNull VirtualFile file) { - return new FileEditor[0]; + return new FileEditor[0]; } @Override @@ -425,7 +428,7 @@ public class Mock { } @Override - public void setSelectedEditor(VirtualFile file, String fileEditorProviderId) { + public void setSelectedEditor(@NotNull VirtualFile file, String fileEditorProviderId) { } } diff --git a/platform/testFramework/src/com/intellij/testFramework/MockProblemDescriptor.java b/platform/testFramework/src/com/intellij/testFramework/MockProblemDescriptor.java index a99ae4d0acf0..695104e5207f 100644 --- a/platform/testFramework/src/com/intellij/testFramework/MockProblemDescriptor.java +++ b/platform/testFramework/src/com/intellij/testFramework/MockProblemDescriptor.java @@ -13,8 +13,9 @@ import org.jetbrains.annotations.NotNull; * @author peter */ public class MockProblemDescriptor extends ProblemDescriptorImpl { - public MockProblemDescriptor(@NotNull final PsiElement psiElement, final String descriptionTemplate, - final ProblemHighlightType highlightType, + public MockProblemDescriptor(@NotNull final PsiElement psiElement, + final String descriptionTemplate, + @NotNull ProblemHighlightType highlightType, final LocalQuickFix... fixes) { super(psiElement, psiElement, descriptionTemplate, fixes, highlightType, false, null, true); } diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/committed/OutdatedVersionNotifier.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/committed/OutdatedVersionNotifier.java index 1082ef55da46..a78c7c6098bf 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/committed/OutdatedVersionNotifier.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/committed/OutdatedVersionNotifier.java @@ -160,7 +160,7 @@ public class OutdatedVersionNotifier implements ProjectComponent { } private class MyFileEditorManagerListener implements FileEditorManagerListener { - public void fileOpened(FileEditorManager source, VirtualFile file) { + public void fileOpened(@NotNull FileEditorManager source, @NotNull VirtualFile file) { if (myCache.getCachedIncomingChanges() == null) { requestLoadIncomingChanges(); } @@ -175,10 +175,10 @@ public class OutdatedVersionNotifier implements ProjectComponent { } } - public void fileClosed(FileEditorManager source, VirtualFile file) { + public void fileClosed(@NotNull FileEditorManager source, @NotNull VirtualFile file) { } - public void selectionChanged(FileEditorManagerEvent event) { + public void selectionChanged(@NotNull FileEditorManagerEvent event) { } } diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/XDebuggerManagerImpl.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/XDebuggerManagerImpl.java index 4560443f89cd..38ce19971ea2 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/XDebuggerManagerImpl.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/XDebuggerManagerImpl.java @@ -83,7 +83,7 @@ public class XDebuggerManagerImpl extends XDebuggerManager myExecutionPointHighlighter = new ExecutionPointHighlighter(project); messageBus.connect().subscribe(FileEditorManagerListener.FILE_EDITOR_MANAGER, new FileEditorManagerAdapter() { @Override - public void fileOpened(final FileEditorManager source, final VirtualFile file) { + public void fileOpened(@NotNull final FileEditorManager source, @NotNull final VirtualFile file) { if (file instanceof HttpVirtualFile && file.equals(myExecutionPointHighlighter.getCurrentFile())) { myExecutionPointHighlighter.update(); } diff --git a/plugins/git4idea/src/git4idea/ui/branch/GitBranchWidget.java b/plugins/git4idea/src/git4idea/ui/branch/GitBranchWidget.java index 10f8de491587..ca3ab373b504 100644 --- a/plugins/git4idea/src/git4idea/ui/branch/GitBranchWidget.java +++ b/plugins/git4idea/src/git4idea/ui/branch/GitBranchWidget.java @@ -70,17 +70,17 @@ public class GitBranchWidget extends EditorBasedWidget implements StatusBarWidge } @Override - public void selectionChanged(FileEditorManagerEvent event) { + public void selectionChanged(@NotNull FileEditorManagerEvent event) { update(); } @Override - public void fileOpened(FileEditorManager source, VirtualFile file) { + public void fileOpened(@NotNull FileEditorManager source, @NotNull VirtualFile file) { update(); } @Override - public void fileClosed(FileEditorManager source, VirtualFile file) { + public void fileClosed(@NotNull FileEditorManager source, @NotNull VirtualFile file) { update(); } diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/compiler/GroovyCompilerLoader.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/compiler/GroovyCompilerLoader.java index 87ff95e6a0ab..83af21ad068a 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/compiler/GroovyCompilerLoader.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/compiler/GroovyCompilerLoader.java @@ -57,7 +57,7 @@ public class GroovyCompilerLoader extends AbstractProjectComponent { myProject.getMessageBus().connect().subscribe(FileEditorManagerListener.FILE_EDITOR_MANAGER, new FileEditorManagerAdapter() { @Override - public void fileOpened(FileEditorManager source, final VirtualFile file) { + public void fileOpened(@NotNull FileEditorManager source, @NotNull final VirtualFile file) { if (file.getName().endsWith(".java") && file.getPath().contains(GroovycStubGenerator.GROOVY_STUBS)) { final PsiClass psiClass = GroovycStubGenerator.findClassByStub(myProject, file); if (psiClass != null) { @@ -66,7 +66,7 @@ public class GroovyCompilerLoader extends AbstractProjectComponent { if (editors.length != 0) { decorateStubFile(file, fileEditorManager, editors[0]); } - + } } } diff --git a/plugins/hg4idea/src/org/zmlx/hg4idea/HgVcs.java b/plugins/hg4idea/src/org/zmlx/hg4idea/HgVcs.java index a33f235aaf4b..2784a5bf0203 100644 --- a/plugins/hg4idea/src/org/zmlx/hg4idea/HgVcs.java +++ b/plugins/hg4idea/src/org/zmlx/hg4idea/HgVcs.java @@ -282,7 +282,7 @@ public class HgVcs extends AbstractVcs { messageBusConnection = myProject.getMessageBus().connect(); messageBusConnection.subscribe(FileEditorManagerListener.FILE_EDITOR_MANAGER, new FileEditorManagerAdapter() { @Override - public void selectionChanged(FileEditorManagerEvent event) { + public void selectionChanged(@NotNull FileEditorManagerEvent event) { Project project = event.getManager().getProject(); project.getMessageBus().syncPublisher(BRANCH_TOPIC).update(project, null); } diff --git a/plugins/hg4idea/src/org/zmlx/hg4idea/status/ui/HgIncomingOutgoingWidget.java b/plugins/hg4idea/src/org/zmlx/hg4idea/status/ui/HgIncomingOutgoingWidget.java index 836f73cbdf37..2b95f5533904 100644 --- a/plugins/hg4idea/src/org/zmlx/hg4idea/status/ui/HgIncomingOutgoingWidget.java +++ b/plugins/hg4idea/src/org/zmlx/hg4idea/status/ui/HgIncomingOutgoingWidget.java @@ -88,17 +88,17 @@ public class HgIncomingOutgoingWidget extends EditorBasedWidget } @Override - public void selectionChanged(FileEditorManagerEvent event) { + public void selectionChanged(@NotNull FileEditorManagerEvent event) { update(); } @Override - public void fileOpened(FileEditorManager source, VirtualFile file) { + public void fileOpened(@NotNull FileEditorManager source, @NotNull VirtualFile file) { update(); } @Override - public void fileClosed(FileEditorManager source, VirtualFile file) { + public void fileClosed(@NotNull FileEditorManager source, @NotNull VirtualFile file) { update(); } diff --git a/plugins/hg4idea/src/org/zmlx/hg4idea/status/ui/HgStatusWidget.java b/plugins/hg4idea/src/org/zmlx/hg4idea/status/ui/HgStatusWidget.java index 198dbdba198c..ab2d2ed5515f 100644 --- a/plugins/hg4idea/src/org/zmlx/hg4idea/status/ui/HgStatusWidget.java +++ b/plugins/hg4idea/src/org/zmlx/hg4idea/status/ui/HgStatusWidget.java @@ -76,17 +76,17 @@ public class HgStatusWidget extends EditorBasedWidget implements StatusBarWidget } @Override - public void selectionChanged(FileEditorManagerEvent event) { + public void selectionChanged(@NotNull FileEditorManagerEvent event) { update(); } @Override - public void fileOpened(FileEditorManager source, VirtualFile file) { + public void fileOpened(@NotNull FileEditorManager source, @NotNull VirtualFile file) { update(); } @Override - public void fileClosed(FileEditorManager source, VirtualFile file) { + public void fileClosed(@NotNull FileEditorManager source, @NotNull VirtualFile file) { update(); } diff --git a/plugins/properties/src/com/intellij/lang/properties/editor/ResourceBundleEditor.java b/plugins/properties/src/com/intellij/lang/properties/editor/ResourceBundleEditor.java index 6f3db95647c0..04b4c0068130 100644 --- a/plugins/properties/src/com/intellij/lang/properties/editor/ResourceBundleEditor.java +++ b/plugins/properties/src/com/intellij/lang/properties/editor/ResourceBundleEditor.java @@ -153,7 +153,7 @@ public class ResourceBundleEditor extends UserDataHolderBase implements FileEdit getSplitter().setAndLoadSplitterProportionKey(getClass() + ".splitter"); project.getMessageBus().connect(project).subscribe(FileEditorManagerListener.FILE_EDITOR_MANAGER, new FileEditorManagerAdapter() { @Override - public void selectionChanged(FileEditorManagerEvent event) { + public void selectionChanged(@NotNull FileEditorManagerEvent event) { onSelectionChanged(event); } }); @@ -196,7 +196,7 @@ public class ResourceBundleEditor extends UserDataHolderBase implements FileEdit if (tree == null) { return; } - + Object root = tree.getModel().getRoot(); if (AbstractTreeUi.isLoadingChildrenFor(root)) { mySelectionChangeAlarm.cancelAllRequests(); @@ -204,7 +204,7 @@ public class ResourceBundleEditor extends UserDataHolderBase implements FileEdit @Override public void run() { mySelectionChangeAlarm.cancelAllRequests(); - setStructureViewSelection(propertyName); + setStructureViewSelection(propertyName); } }, 500); return; @@ -259,7 +259,7 @@ public class ResourceBundleEditor extends UserDataHolderBase implements FileEdit } } } - + @Nullable private static String getNodeValue(@NotNull DefaultMutableTreeNode node) { Object userObject = node.getUserObject(); @@ -391,7 +391,7 @@ public class ResourceBundleEditor extends UserDataHolderBase implements FileEdit } } }; - + virtualFileManager.addVirtualFileListener(myVfsListener, this); PsiTreeChangeAdapter psiTreeChangeAdapter = new PsiTreeChangeAdapter() { @Override @@ -465,7 +465,7 @@ public class ResourceBundleEditor extends UserDataHolderBase implements FileEdit } else { String rawValue = property.getValue(); - value = rawValue == null ? "" : ResourceBundleUtil.fromPropertyValueToValueEditor(rawValue); + value = rawValue == null ? "" : ResourceBundleUtil.fromPropertyValueToValueEditor(rawValue); } final Document document = editor.getDocument(); CommandProcessor.getInstance().executeCommand(null, new Runnable() { @@ -784,7 +784,7 @@ public class ResourceBundleEditor extends UserDataHolderBase implements FileEdit * Renames target property if the one is available. *

* Note: is assumed to be called under {@link WriteAction write action}. - * + * * @param oldName old property name * @param newName new property name */ @@ -796,7 +796,7 @@ public class ResourceBundleEditor extends UserDataHolderBase implements FileEdit } } } - + public static class ResourceBundleEditorState implements FileEditorState { private final String myPropertyName; diff --git a/plugins/ui-designer-core/src/com/intellij/designer/AbstractToolWindowManager.java b/plugins/ui-designer-core/src/com/intellij/designer/AbstractToolWindowManager.java index fd0fbceee98a..87656783aaff 100644 --- a/plugins/ui-designer-core/src/com/intellij/designer/AbstractToolWindowManager.java +++ b/plugins/ui-designer-core/src/com/intellij/designer/AbstractToolWindowManager.java @@ -28,6 +28,7 @@ import com.intellij.openapi.vfs.VirtualFile; import com.intellij.openapi.wm.ToolWindow; import com.intellij.util.ui.update.MergingUpdateQueue; import com.intellij.util.ui.update.Update; +import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; /** @@ -69,12 +70,12 @@ public abstract class AbstractToolWindowManager implements ProjectComponent { private void initListeners() { myProject.getMessageBus().connect(myProject).subscribe(FileEditorManagerListener.FILE_EDITOR_MANAGER, new FileEditorManagerListener() { @Override - public void fileOpened(FileEditorManager source, VirtualFile file) { + public void fileOpened(@NotNull FileEditorManager source, @NotNull VirtualFile file) { bindToDesigner(getActiveDesigner()); } @Override - public void fileClosed(FileEditorManager source, VirtualFile file) { + public void fileClosed(@NotNull FileEditorManager source, @NotNull VirtualFile file) { ApplicationManager.getApplication().invokeLater(new Runnable() { @Override public void run() { @@ -84,7 +85,7 @@ public abstract class AbstractToolWindowManager implements ProjectComponent { } @Override - public void selectionChanged(FileEditorManagerEvent event) { + public void selectionChanged(@NotNull FileEditorManagerEvent event) { bindToDesigner(getDesigner(event.getNewEditor())); } }); diff --git a/plugins/ui-designer/src/com/intellij/uiDesigner/propertyInspector/UIDesignerToolWindowManager.java b/plugins/ui-designer/src/com/intellij/uiDesigner/propertyInspector/UIDesignerToolWindowManager.java index 4a4e34dae8a3..a30b4c65db07 100644 --- a/plugins/ui-designer/src/com/intellij/uiDesigner/propertyInspector/UIDesignerToolWindowManager.java +++ b/plugins/ui-designer/src/com/intellij/uiDesigner/propertyInspector/UIDesignerToolWindowManager.java @@ -229,11 +229,11 @@ public class UIDesignerToolWindowManager implements ProjectComponent { } private class MyFileEditorManagerListener implements FileEditorManagerListener { - public void fileOpened(FileEditorManager source, VirtualFile file) { + public void fileOpened(@NotNull FileEditorManager source, @NotNull VirtualFile file) { processFileEditorChange(getActiveFormFileEditor()); } - public void fileClosed(FileEditorManager source, VirtualFile file) { + public void fileClosed(@NotNull FileEditorManager source, @NotNull VirtualFile file) { ApplicationManager.getApplication().invokeLater(new Runnable() { @Override public void run() { @@ -242,7 +242,7 @@ public class UIDesignerToolWindowManager implements ProjectComponent { }); } - public void selectionChanged(FileEditorManagerEvent event) { + public void selectionChanged(@NotNull FileEditorManagerEvent event) { UIFormEditor newEditor = event.getNewEditor() instanceof UIFormEditor ? (UIFormEditor)event.getNewEditor() : null; processFileEditorChange(newEditor); } diff --git a/xml/dom-openapi/src/com/intellij/util/xml/ui/PerspectiveFileEditor.java b/xml/dom-openapi/src/com/intellij/util/xml/ui/PerspectiveFileEditor.java index b55bcdb61bcc..39fc98e438f8 100644 --- a/xml/dom-openapi/src/com/intellij/util/xml/ui/PerspectiveFileEditor.java +++ b/xml/dom-openapi/src/com/intellij/util/xml/ui/PerspectiveFileEditor.java @@ -67,7 +67,7 @@ abstract public class PerspectiveFileEditor extends UserDataHolderBase implement myFile = file; FileEditorManager.getInstance(myProject).addFileEditorManagerListener(new FileEditorManagerAdapter() { - public void selectionChanged(FileEditorManagerEvent event) { + public void selectionChanged(@NotNull FileEditorManagerEvent event) { if (!isValid()) return; ApplicationManager.getApplication().invokeLater(new Runnable() { diff --git a/xml/impl/src/com/intellij/xml/breadcrumbs/BreadcrumbsLoaderComponent.java b/xml/impl/src/com/intellij/xml/breadcrumbs/BreadcrumbsLoaderComponent.java index be1aeced392b..9a3a11385062 100644 --- a/xml/impl/src/com/intellij/xml/breadcrumbs/BreadcrumbsLoaderComponent.java +++ b/xml/impl/src/com/intellij/xml/breadcrumbs/BreadcrumbsLoaderComponent.java @@ -1,4 +1,3 @@ - package com.intellij.xml.breadcrumbs; import com.intellij.application.options.editor.WebEditorOptions; @@ -19,7 +18,7 @@ import javax.swing.*; /** * @author spleaner */ -public class BreadcrumbsLoaderComponent extends AbstractProjectComponent { +public class BreadcrumbsLoaderComponent extends AbstractProjectComponent { public BreadcrumbsLoaderComponent(@NotNull final Project project) { super(project); @@ -41,7 +40,7 @@ public class BreadcrumbsLoaderComponent extends AbstractProjectComponent { } private static class MyFileEditorManagerListener extends FileEditorManagerAdapter { - public void fileOpened(final FileEditorManager source, final VirtualFile file) { + public void fileOpened(@NotNull final FileEditorManager source, @NotNull final VirtualFile file) { if (isEnabled() && isSuitable(source.getProject(), file)) { final FileEditor[] fileEditors = source.getEditors(file); for (final FileEditor fileEditor : fileEditors) {