diff --git a/java/compiler/impl/src/com/intellij/packaging/impl/run/ArtifactChooser.java b/java/compiler/impl/src/com/intellij/packaging/impl/run/ArtifactChooser.java index 38e093a7e54e..f235dbb77bb7 100644 --- a/java/compiler/impl/src/com/intellij/packaging/impl/run/ArtifactChooser.java +++ b/java/compiler/impl/src/com/intellij/packaging/impl/run/ArtifactChooser.java @@ -61,7 +61,7 @@ public class ArtifactChooser extends ElementsChooser { } @Override - protected Icon getItemIcon(ArtifactPointer value) { + protected Icon getItemIcon(@NotNull ArtifactPointer value) { final Artifact artifact = value.getArtifact(); return artifact != null ? artifact.getArtifactType().getIcon() : null; } diff --git a/java/idea-ui/src/com/intellij/projectImport/SelectImportedProjectsStep.java b/java/idea-ui/src/com/intellij/projectImport/SelectImportedProjectsStep.java index 6d9e22b1b3b6..83d068599aaf 100644 --- a/java/idea-ui/src/com/intellij/projectImport/SelectImportedProjectsStep.java +++ b/java/idea-ui/src/com/intellij/projectImport/SelectImportedProjectsStep.java @@ -43,7 +43,7 @@ public abstract class SelectImportedProjectsStep extends ProjectImportWizardS return getElementText(item); } - protected Icon getItemIcon(final T item) { + protected Icon getItemIcon(@NotNull final T item) { return getElementIcon (item); } }; diff --git a/platform/lang-impl/src/com/intellij/ide/actions/GotoFileAction.java b/platform/lang-impl/src/com/intellij/ide/actions/GotoFileAction.java index 4e3e8bab6794..c3bf359869b4 100644 --- a/platform/lang-impl/src/com/intellij/ide/actions/GotoFileAction.java +++ b/platform/lang-impl/src/com/intellij/ide/actions/GotoFileAction.java @@ -66,6 +66,7 @@ public class GotoFileAction extends GotoActionBase implements DumbAware { public void elementChosen(final ChooseByNamePopup popup, final Object element) { if (element == null) return; ApplicationManager.getApplication().invokeLater(new Runnable() { + @Override public void run() { Navigatable n = (Navigatable)element; @@ -89,6 +90,8 @@ public class GotoFileAction extends GotoActionBase implements DumbAware { super(popup, model, GotoFileConfiguration.getInstance(project), project); } + @Override + @NotNull protected List getAllFilterValues() { List elements = new ArrayList(); ContainerUtil.addAll(elements, FileTypeManager.getInstance().getRegisteredFileTypes()); @@ -96,11 +99,13 @@ public class GotoFileAction extends GotoActionBase implements DumbAware { return elements; } - protected String textForFilterValue(FileType value) { + @Override + protected String textForFilterValue(@NotNull FileType value) { return value.getName(); } - protected Icon iconForFilterValue(FileType value) { + @Override + protected Icon iconForFilterValue(@NotNull FileType value) { return value.getIcon(); } } @@ -122,6 +127,7 @@ public class GotoFileAction extends GotoActionBase implements DumbAware { /** * {@inheritDoc} */ + @Override public int compare(final FileType o1, final FileType o2) { if (o1 == o2) { return 0; diff --git a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameFactoryImpl.java b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameFactoryImpl.java index f473df569a6e..36114ef4023a 100644 --- a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameFactoryImpl.java +++ b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameFactoryImpl.java @@ -30,6 +30,7 @@ public class ChooseByNameFactoryImpl extends ChooseByNameFactory { myProject = project; } + @Override public ChooseByNamePopup createChooseByNamePopupComponent(final ChooseByNameModel model) { return ChooseByNamePopup.createPopup(myProject, model, GotoActionBase.getPsiContext(myProject)); } diff --git a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameFilter.java b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameFilter.java index b03fea45c1e5..100ace19ec17 100644 --- a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameFilter.java +++ b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameFilter.java @@ -80,10 +80,12 @@ public abstract class ChooseByNameFilter { myParentPopup = popup; DefaultActionGroup actionGroup = new DefaultActionGroup("go.to.file.filter", false); ToggleAction action = new ToggleAction("Filter", "Filter files by type", AllIcons.General.Filter) { + @Override public boolean isSelected(final AnActionEvent e) { return myPopup != null; } + @Override public void setSelected(final AnActionEvent e, final boolean state) { if (state) { createPopup(); @@ -115,6 +117,7 @@ public abstract class ChooseByNameFilter { JPanel buttons = new JPanel(); JButton all = new JButton("All"); all.addActionListener(new ActionListener() { + @Override public void actionPerformed(final ActionEvent e) { myChooser.setAllElementsMarked(true); } @@ -122,6 +125,7 @@ public abstract class ChooseByNameFilter { buttons.add(all); JButton none = new JButton("None"); none.addActionListener(new ActionListener() { + @Override public void actionPerformed(final ActionEvent e) { myChooser.setAllElementsMarked(false); } @@ -129,6 +133,7 @@ public abstract class ChooseByNameFilter { buttons.add(none); JButton invert = new JButton("Invert"); invert.addActionListener(new ActionListener() { + @Override public void actionPerformed(final ActionEvent e) { final int count = myChooser.getElementCount(); for (int i = 0; i < count; i++) { @@ -150,7 +155,9 @@ public abstract class ChooseByNameFilter { * @param filterConfiguration * @return a created file chooser */ - protected ElementsChooser createChooser(final FilteringGotoByModel model, final ChooseByNameFilterConfiguration filterConfiguration) { + @NotNull + protected ElementsChooser createChooser(@NotNull final FilteringGotoByModel model, + @NotNull final ChooseByNameFilterConfiguration filterConfiguration) { List elements = new ArrayList(getAllFilterValues()); final ElementsChooser chooser = new ElementsChooser(elements, true) { @Override @@ -159,7 +166,7 @@ public abstract class ChooseByNameFilter { } @Override - protected Icon getItemIcon(final T value) { + protected Icon getItemIcon(@NotNull final T value) { return iconForFilterValue(value); } }; @@ -173,20 +180,21 @@ public abstract class ChooseByNameFilter { } updateModel(model, chooser, true); chooser.addElementsMarkListener(new ElementsChooser.ElementsMarkListener() { + @Override public void elementMarkChanged(final T element, final boolean isMarked) { filterConfiguration.setVisible(element, isMarked); updateModel(model, chooser, false); } }); return chooser; - } - protected abstract String textForFilterValue(T value); + protected abstract String textForFilterValue(@NotNull T value); @Nullable - protected abstract Icon iconForFilterValue(T value); + protected abstract Icon iconForFilterValue(@NotNull T value); + @NotNull protected abstract Collection getAllFilterValues(); /** @@ -195,7 +203,7 @@ public abstract class ChooseByNameFilter { * @param gotoFileModel a model * @param chooser a file type chooser */ - protected void updateModel(final FilteringGotoByModel gotoFileModel, ElementsChooser chooser, boolean initial) { + protected void updateModel(@NotNull FilteringGotoByModel gotoFileModel, @NotNull ElementsChooser chooser, boolean initial) { final List markedElements = chooser.getMarkedElements(); gotoFileModel.setFilterItems(markedElements); myParentPopup.rebuildList(initial); @@ -212,6 +220,7 @@ public abstract class ChooseByNameFilter { .setResizable(true).setCancelOnClickOutside(false).setMinSize(new Dimension(200, 200)) .setDimensionServiceKey(myProject, "GotoFile_FileTypePopup", false).createPopup(); myPopup.addListener(new JBPopupListener.Adapter() { + @Override public void onClosed(LightweightWindowEvent event) { myPopup = null; } diff --git a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameFilterConfiguration.java b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameFilterConfiguration.java index bb5f5ef4f92f..96aeeaa9a1e8 100644 --- a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameFilterConfiguration.java +++ b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameFilterConfiguration.java @@ -34,6 +34,7 @@ public abstract class ChooseByNameFilterConfiguration implements PersistentSt /** * {@inheritDoc} */ + @Override public Items getState() { return items; } @@ -41,6 +42,7 @@ public abstract class ChooseByNameFilterConfiguration implements PersistentSt /** * {@inheritDoc} */ + @Override public void loadState(final Items state) { items = state; } diff --git a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameLanguageFilter.java b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameLanguageFilter.java index 3b21dd501cc2..09137c18b0d2 100644 --- a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameLanguageFilter.java +++ b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameLanguageFilter.java @@ -37,17 +37,18 @@ public class ChooseByNameLanguageFilter extends ChooseByNameFilter { } @Override - protected String textForFilterValue(Language value) { + protected String textForFilterValue(@NotNull Language value) { return value.getDisplayName(); } @Nullable @Override - protected Icon iconForFilterValue(Language value) { + protected Icon iconForFilterValue(@NotNull Language value) { final LanguageFileType fileType = value.getAssociatedFileType(); return fileType != null ? fileType.getIcon() : null; } + @NotNull @Override protected Collection getAllFilterValues() { final Collection registeredLanguages = Language.getRegisteredLanguages(); @@ -57,12 +58,14 @@ public class ChooseByNameLanguageFilter extends ChooseByNameFilter { accepted.add(language); } } - Collections.sort(accepted, new Comparator() { - @Override - public int compare(Language o1, Language o2) { - return o1.getDisplayName().compareTo(o2.getDisplayName()); - } - }); + Collections.sort(accepted, BY_DISPLAY_NAME); return accepted; } + + private static final Comparator BY_DISPLAY_NAME = new Comparator() { + @Override + public int compare(Language o1, Language o2) { + return o1.getDisplayName().compareTo(o2.getDisplayName()); + } + }; } diff --git a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNamePanel.java b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNamePanel.java index e6c7c7b676df..08ed2a530ffc 100644 --- a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNamePanel.java +++ b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNamePanel.java @@ -33,6 +33,7 @@ public class ChooseByNamePanel extends ChooseByNameBase implements Disposable { myCheckBoxVisible = isCheckboxVisible; } + @Override protected void initUI(ChooseByNamePopupComponent.Callback callback, ModalityState modalityState, boolean allowMultipleSelection) { super.initUI(callback, modalityState, allowMultipleSelection); @@ -49,23 +50,29 @@ public class ChooseByNamePanel extends ChooseByNameBase implements Disposable { return myTextField; } + @Override protected void showList(){ } + @Override protected void hideList(){ } + @Override protected void close(boolean isOk) { } + @Override protected boolean isShowListForEmptyPattern() { return true; } + @Override protected boolean isCloseByFocusLost() { return false; } + @Override protected boolean isCheckboxVisible(){ return myCheckBoxVisible; } @@ -74,6 +81,7 @@ public class ChooseByNamePanel extends ChooseByNameBase implements Disposable { return myPanel; } + @Override public void dispose() { setDisposed(true); cancelListUpdater(); diff --git a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/DefaultFileNavigationContributor.java b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/DefaultFileNavigationContributor.java index a70bbcaf3736..a4420876743d 100644 --- a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/DefaultFileNavigationContributor.java +++ b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/DefaultFileNavigationContributor.java @@ -25,11 +25,13 @@ import org.jetbrains.annotations.NotNull; public class DefaultFileNavigationContributor implements ChooseByNameContributor, DumbAware { + @Override @NotNull public String[] getNames(Project project, boolean includeNonProjectItems) { return FilenameIndex.getAllFilenames(project); } + @Override @NotNull public NavigationItem[] getItemsByName(String name, final String pattern, Project project, boolean includeNonProjectItems) { return FilenameIndex.getFilesByName(project, name, diff --git a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/GotoClassModel2.java b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/GotoClassModel2.java index e942f8fa7bd5..c029fe8593f1 100644 --- a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/GotoClassModel2.java +++ b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/GotoClassModel2.java @@ -55,35 +55,42 @@ public class GotoClassModel2 extends FilteringGotoByModel { return items; } + @Override @Nullable public String getPromptText() { return IdeBundle.message("prompt.gotoclass.enter.class.name"); } + @Override public String getCheckBoxName() { return IdeBundle.message("checkbox.include.non.project.classes"); } + @Override public String getNotInMessage() { return IdeBundle.message("label.no.matches.found.in.project"); } + @Override public String getNotFoundMessage() { return IdeBundle.message("label.no.matches.found"); } + @Override public char getCheckBoxMnemonic() { // Some combination like Alt+N, Ant+O, etc are a dead symbols, therefore // we have to change mnemonics for Mac users. return SystemInfo.isMac?'P':'n'; } + @Override public boolean loadInitialCheckBoxState() { PropertiesComponent propertiesComponent = PropertiesComponent.getInstance(myProject); return Boolean.TRUE.toString().equals(propertiesComponent.getValue("GoToClass.toSaveIncludeLibraries")) && Boolean.TRUE.toString().equals(propertiesComponent.getValue("GoToClass.includeLibraries")); } + @Override public void saveInitialCheckBoxState(boolean state) { PropertiesComponent propertiesComponent = PropertiesComponent.getInstance(myProject); if (Boolean.TRUE.toString().equals(propertiesComponent.getValue("GoToClass.toSaveIncludeLibraries"))){ @@ -91,6 +98,7 @@ public class GotoClassModel2 extends FilteringGotoByModel { } } + @Override public String getFullName(final Object element) { for(ChooseByNameContributor c: getContributors()) { if (c instanceof GotoClassContributor) { @@ -102,6 +110,7 @@ public class GotoClassModel2 extends FilteringGotoByModel { return getElementName(element); } + @Override @NotNull public String[] getSeparators() { if (mySeparators == null) { diff --git a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/GotoFileCellRenderer.java b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/GotoFileCellRenderer.java index d061c62801cb..d864f8da0251 100644 --- a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/GotoFileCellRenderer.java +++ b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/GotoFileCellRenderer.java @@ -46,6 +46,7 @@ public class GotoFileCellRenderer extends PsiElementListCellRenderer { myMaxWidth = maxSize; } + @Override public String getElementText(PsiFile element) { return element.getName(); } @@ -65,6 +66,7 @@ public class GotoFileCellRenderer extends PsiElementListCellRenderer { } } + @Override protected String getContainerText(PsiFile element, String name) { final PsiDirectory psiDirectory = element.getContainingDirectory(); if (psiDirectory == null) return null; @@ -93,7 +95,7 @@ public class GotoFileCellRenderer extends PsiElementListCellRenderer { final String projectHomeUrl = baseDir.getPresentableUrl(); if (url.startsWith(projectHomeUrl)) { final String cont = url.substring(projectHomeUrl.length()); - if (cont.length() == 0) return null; + if (cont.isEmpty()) return null; url = "..." + cont; } } @@ -137,6 +139,7 @@ public class GotoFileCellRenderer extends PsiElementListCellRenderer { return rightRenderer; } + @Override protected int getIconFlags() { return Iconable.ICON_FLAG_READ_STATUS; } diff --git a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/GotoFileModel.java b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/GotoFileModel.java index bfcd4ab9c122..6fb5f949eda1 100644 --- a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/GotoFileModel.java +++ b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/GotoFileModel.java @@ -70,40 +70,49 @@ public class GotoFileModel extends FilteringGotoByModel { return item instanceof PsiFile ? ((PsiFile) item).getFileType() : null; } + @Override public String getPromptText() { return IdeBundle.message("prompt.gotofile.enter.file.name"); } + @Override public String getCheckBoxName() { return IdeBundle.message("checkbox.include.non.project.files"); } + @Override public char getCheckBoxMnemonic() { return SystemInfo.isMac?'P':'n'; } + @Override public String getNotInMessage() { return IdeBundle.message("label.no.non.java.files.found"); } + @Override public String getNotFoundMessage() { return IdeBundle.message("label.no.files.found"); } + @Override public boolean loadInitialCheckBoxState() { PropertiesComponent propertiesComponent = PropertiesComponent.getInstance(myProject); return propertiesComponent.isTrueValue("GoToClass.includeJavaFiles"); } + @Override public void saveInitialCheckBoxState(boolean state) { PropertiesComponent propertiesComponent = PropertiesComponent.getInstance(myProject); propertiesComponent.setValue("GoToClass.includeJavaFiles", Boolean.toString(state)); } + @Override public PsiElementListCellRenderer getListCellRenderer() { return new GotoFileCellRenderer(myMaxSize); } + @Override @Nullable public String getFullName(final Object element) { if (element instanceof PsiFile) { @@ -114,6 +123,7 @@ public class GotoFileModel extends FilteringGotoByModel { return getElementName(element); } + @Override @NotNull public String[] getSeparators() { return new String[] {"/", "\\"}; diff --git a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/GotoSymbolModel2.java b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/GotoSymbolModel2.java index 7fd5381ee3cd..711c1094c00a 100644 --- a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/GotoSymbolModel2.java +++ b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/GotoSymbolModel2.java @@ -55,35 +55,43 @@ public class GotoSymbolModel2 extends FilteringGotoByModel { return items; } + @Override public String getPromptText() { return IdeBundle.message("prompt.gotosymbol.enter.symbol.name"); } + @Override public String getCheckBoxName() { return IdeBundle.message("checkbox.include.non.project.symbols"); } + @Override public String getNotInMessage() { return IdeBundle.message("label.no.matches.found.in.project"); } + @Override public String getNotFoundMessage() { return IdeBundle.message("label.no.matches.found"); } + @Override public char getCheckBoxMnemonic() { // Some combination like Alt+N, Ant+O, etc are a dead sysmbols, therefore // we have to change mnemonics for Mac users. return SystemInfo.isMac?'P':'n'; } + @Override public boolean loadInitialCheckBoxState() { return false; } + @Override public void saveInitialCheckBoxState(boolean state) { } + @Override public String getFullName(final Object element) { for(ChooseByNameContributor c: getContributors()) { if (c instanceof GotoClassContributor) { @@ -102,6 +110,7 @@ public class GotoSymbolModel2 extends FilteringGotoByModel { return getElementName(element); } + @Override @NotNull public String[] getSeparators() { if (mySeparators == null) { diff --git a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ListChooseByNameModel.java b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ListChooseByNameModel.java index 28f616873e9b..22013c5d0393 100644 --- a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ListChooseByNameModel.java +++ b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ListChooseByNameModel.java @@ -66,13 +66,16 @@ public class ListChooseByNameModel extends SimpleCho return myNotInMessage; } + @Override public String getNotFoundMessage() { return myNotInMessage; } // from ruby plugin + @Override public ListCellRenderer getListCellRenderer() { return new DefaultListCellRenderer() { + @Override public Component getListCellRendererComponent(final JList list, final Object value, final int index, final boolean isSelected, final boolean cellHasFocus) { @@ -129,6 +132,7 @@ public class ListChooseByNameModel extends SimpleCho }; } + @Override public String getElementName(final Object element) { if (!(element instanceof ChooseByNameItem)) return null; return ((ChooseByNameItem)element).getName(); diff --git a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ProjectBaseDirNavigationContributor.java b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ProjectBaseDirNavigationContributor.java index 987a5acd68da..86d5e804fc12 100644 --- a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ProjectBaseDirNavigationContributor.java +++ b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ProjectBaseDirNavigationContributor.java @@ -33,6 +33,7 @@ import java.util.ArrayList; public class ProjectBaseDirNavigationContributor implements ChooseByNameContributor, DumbAware { + @Override @NotNull public String[] getNames(Project project, boolean includeNonProjectItems) { final VirtualFile baseDir = project.getBaseDir(); @@ -47,6 +48,7 @@ public class ProjectBaseDirNavigationContributor implements ChooseByNameContribu return ArrayUtil.toStringArray(list); } + @Override @NotNull public NavigationItem[] getItemsByName(String name, final String pattern, Project project, boolean includeNonProjectItems) { final PsiManager psiManager = PsiManager.getInstance(project); diff --git a/platform/platform-impl/src/com/intellij/ide/util/ElementsChooser.java b/platform/platform-impl/src/com/intellij/ide/util/ElementsChooser.java index 08c6aaaf0050..282b809522d8 100644 --- a/platform/platform-impl/src/com/intellij/ide/util/ElementsChooser.java +++ b/platform/platform-impl/src/com/intellij/ide/util/ElementsChooser.java @@ -30,6 +30,7 @@ import javax.swing.table.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import java.awt.event.InputEvent; import java.awt.event.KeyEvent; import java.util.*; import java.util.List; @@ -83,6 +84,7 @@ public class ElementsChooser extends JPanel implements ComponentWithEmptyText add(pane, BorderLayout.CENTER); myTable.registerKeyboardAction( new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { final int[] selectedRows = myTable.getSelectedRows(); boolean currentlyMarked = true; @@ -100,6 +102,7 @@ public class ElementsChooser extends JPanel implements ComponentWithEmptyText ); final SpeedSearchBase speedSearch = new SpeedSearchBase(myTable) { + @Override public int getSelectedIndex() { return myTable.getSelectedRow(); } @@ -109,6 +112,7 @@ public class ElementsChooser extends JPanel implements ComponentWithEmptyText return myTable.convertRowIndexToModel(viewIndex); } + @Override public Object[] getAllElements() { final int count = myTableModel.getRowCount(); Object[] elements = new Object[count]; @@ -118,10 +122,12 @@ public class ElementsChooser extends JPanel implements ComponentWithEmptyText return elements; } + @Override public String getElementText(Object element) { return getItemText((T)element); } + @Override public void selectElement(Object element, String selectedText) { final int count = myTableModel.getRowCount(); for (int row = 0; row < count; row++) { @@ -143,8 +149,8 @@ public class ElementsChooser extends JPanel implements ComponentWithEmptyText InputMap inputMap = table.getInputMap(WHEN_FOCUSED); inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_END, 0), "selectLastRow"); inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_HOME, 0), "selectFirstRow"); - inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_HOME, KeyEvent.SHIFT_DOWN_MASK), "selectFirstRowExtendSelection"); - inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_END, KeyEvent.SHIFT_DOWN_MASK), "selectLastRowExtendSelection"); + inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_HOME, InputEvent.SHIFT_DOWN_MASK), "selectFirstRowExtendSelection"); + inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_END, InputEvent.SHIFT_DOWN_MASK), "selectLastRowExtendSelection"); } @NotNull @@ -283,7 +289,7 @@ public class ElementsChooser extends JPanel implements ComponentWithEmptyText } } - public static interface ElementProperties { + public interface ElementProperties { @Nullable Icon getIcon(); @Nullable @@ -329,7 +335,7 @@ public class ElementsChooser extends JPanel implements ComponentWithEmptyText } public void selectElements(Collection elements) { - if (elements.size() == 0) { + if (elements.isEmpty()) { myTable.clearSelection(); return; } @@ -369,6 +375,7 @@ public class ElementsChooser extends JPanel implements ComponentWithEmptyText myTableModel.sort(comparator); } + @Override public void setEnabled(boolean enabled) { super.setEnabled(enabled); myTable.setRowSelectionAllowed(enabled); @@ -453,15 +460,15 @@ public class ElementsChooser extends JPanel implements ComponentWithEmptyText return isMarked.booleanValue(); } - protected void addElement(T element, boolean isMarked) { + private void addElement(T element, boolean isMarked) { myElements.add(element); myMarkedMap.put(element, isMarked? Boolean.TRUE : Boolean.FALSE); int row = myElements.size() - 1; fireTableRowsInserted(row, row); } - protected void addElements(@Nullable List elements, boolean isMarked) { - if (elements == null || elements.size() == 0) { + private void addElements(@Nullable List elements, boolean isMarked) { + if (elements == null || elements.isEmpty()) { return; } for (final T element : elements) { @@ -507,14 +514,17 @@ public class ElementsChooser extends JPanel implements ComponentWithEmptyText fireTableDataChanged(); } + @Override public int getRowCount() { return myElements.size(); } + @Override public int getColumnCount() { return myElementsCanBeMarked? 2 : 1; } + @Override @Nullable public Object getValueAt(int rowIndex, int columnIndex) { T element = myElements.get(rowIndex); @@ -527,6 +537,7 @@ public class ElementsChooser extends JPanel implements ComponentWithEmptyText return null; } + @Override public void setValueAt(Object aValue, int rowIndex, int columnIndex) { if (columnIndex == CHECK_MARK_COLUM_INDEX) { setMarked(rowIndex, ((Boolean)aValue).booleanValue()); @@ -562,6 +573,7 @@ public class ElementsChooser extends JPanel implements ComponentWithEmptyText fireTableRowsUpdated(firstRow, lastRow); } + @Override public Class getColumnClass(int columnIndex) { if (columnIndex == CHECK_MARK_COLUM_INDEX) { return Boolean.class; @@ -569,8 +581,9 @@ public class ElementsChooser extends JPanel implements ComponentWithEmptyText return super.getColumnClass(columnIndex); } + @Override public boolean isCellEditable(int rowIndex, int columnIndex) { - if (!ElementsChooser.this.isEnabled() || columnIndex != CHECK_MARK_COLUM_INDEX) { + if (!isEnabled() || columnIndex != CHECK_MARK_COLUM_INDEX) { return false; } final T o = (T)getValueAt(rowIndex, ELEMENT_COLUMN_INDEX); @@ -589,11 +602,12 @@ public class ElementsChooser extends JPanel implements ComponentWithEmptyText } @Nullable - protected Icon getItemIcon(T value) { + protected Icon getItemIcon(@NotNull T value) { return null; } private class MyElementColumnCellRenderer extends DefaultTableCellRenderer { + @Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { final Color color = UIUtil.getTableFocusCellBackground(); Component component; @@ -610,7 +624,7 @@ public class ElementsChooser extends JPanel implements ComponentWithEmptyText UIManager.put(UIUtil.TABLE_FOCUS_CELL_BACKGROUND_PROPERTY, color); } final MyTableModel model = (MyTableModel)table.getModel(); - component.setEnabled(ElementsChooser.this.isEnabled() && (myColorUnmarkedElements? model.isElementMarked(row) : true)); + component.setEnabled(ElementsChooser.this.isEnabled() && (!myColorUnmarkedElements || model.isElementMarked(row))); final ElementProperties properties = myElementToPropertiesMap.get(t); if (component instanceof JLabel) { final Icon icon = properties != null ? properties.getIcon() : t != null ? getItemIcon(t) : null; @@ -620,7 +634,7 @@ public class ElementsChooser extends JPanel implements ComponentWithEmptyText } component.setForeground(properties != null && properties.getColor() != null ? properties.getColor() : - (isSelected ? table.getSelectionForeground() : table.getForeground())); + isSelected ? table.getSelectionForeground() : table.getForeground()); return component; } } @@ -632,9 +646,10 @@ public class ElementsChooser extends JPanel implements ComponentWithEmptyText myDelegate = delegate; } + @Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { Component component = myDelegate.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); - component.setEnabled(ElementsChooser.this.isEnabled()); + component.setEnabled(isEnabled()); if (component instanceof JComponent) { ((JComponent)component).setBorder(null); } diff --git a/plugins/eclipse/src/org/jetbrains/idea/eclipse/export/ExportEclipseProjectsDialog.java b/plugins/eclipse/src/org/jetbrains/idea/eclipse/export/ExportEclipseProjectsDialog.java index 8a858f230d5d..d402e08f98b5 100644 --- a/plugins/eclipse/src/org/jetbrains/idea/eclipse/export/ExportEclipseProjectsDialog.java +++ b/plugins/eclipse/src/org/jetbrains/idea/eclipse/export/ExportEclipseProjectsDialog.java @@ -21,6 +21,7 @@ import com.intellij.openapi.module.Module; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.DialogWrapper; import com.intellij.openapi.ui.TextFieldWithBrowseButton; +import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.idea.eclipse.EclipseBundle; @@ -61,7 +62,7 @@ public class ExportEclipseProjectsDialog extends DialogWrapper { private void createUIComponents() { moduleChooser = new ElementsChooser(true) { - protected String getItemText(final Module module) { + protected String getItemText(@NotNull final Module module) { return module.getName(); } };