mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
fix cell editor for exact type, create inner class should not check file in the directory
This commit is contained in:
+11
-9
@@ -264,15 +264,17 @@ public class JavaIntroduceParameterObjectDelegate
|
||||
conflicts.putValue(method, "Created class won't be accessible");
|
||||
}
|
||||
|
||||
final PsiFile containingFile = method.getContainingFile();
|
||||
final PsiDirectory containingDirectory = containingFile.getContainingDirectory();
|
||||
PsiDirectory directory = moveDestination.getTargetDirectory(containingDirectory);
|
||||
if (directory != null) {
|
||||
PsiFile file = directory.findFile(classDescriptor.getClassName() + ".java");
|
||||
if (file != null) {
|
||||
VirtualFile virtualFile = PsiUtilCore.getVirtualFile(file);
|
||||
if (virtualFile != null) {
|
||||
conflicts.putValue(method, "File already exits: " + virtualFile.getPresentableUrl());
|
||||
if (!classDescriptor.isCreateInnerClass()) {
|
||||
final PsiFile containingFile = method.getContainingFile();
|
||||
final PsiDirectory containingDirectory = containingFile.getContainingDirectory();
|
||||
PsiDirectory directory = moveDestination.getTargetDirectory(containingDirectory);
|
||||
if (directory != null) {
|
||||
PsiFile file = directory.findFile(classDescriptor.getClassName() + ".java");
|
||||
if (file != null) {
|
||||
VirtualFile virtualFile = PsiUtilCore.getVirtualFile(file);
|
||||
if (virtualFile != null) {
|
||||
conflicts.putValue(method, "File already exits: " + virtualFile.getPresentableUrl());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -84,9 +84,13 @@ public abstract class ParameterTablePanel extends AbstractParameterTablePanel<Va
|
||||
typeColumn.setCellEditor(new AbstractTableCellEditor() {
|
||||
TypeSelector myCurrentSelector;
|
||||
final JBComboBoxTableCellEditorComponent myEditorComponent = new JBComboBoxTableCellEditorComponent();
|
||||
final JLabel myTypeLabel = new JLabel();
|
||||
|
||||
@Nullable
|
||||
public Object getCellEditorValue() {
|
||||
if (myCurrentSelector.getComponent() instanceof JLabel) {
|
||||
return myCurrentSelector.getSelectedType();
|
||||
}
|
||||
return myEditorComponent.getEditorValue();
|
||||
}
|
||||
|
||||
@@ -95,12 +99,19 @@ public abstract class ParameterTablePanel extends AbstractParameterTablePanel<Va
|
||||
final boolean isSelected,
|
||||
final int row,
|
||||
final int column) {
|
||||
myCurrentSelector = myParameterTypeSelectors[row];
|
||||
if (myParameterTypeSelectors[row].getComponent() instanceof JLabel) {
|
||||
PsiType selectedType = myCurrentSelector.getSelectedType();
|
||||
if (selectedType != null) {
|
||||
myTypeLabel.setText(selectedType.getPresentableText());
|
||||
}
|
||||
return myTypeLabel;
|
||||
}
|
||||
myEditorComponent.setCell(table, row, column);
|
||||
myEditorComponent.setOptions(myParameterTypeSelectors[row].getTypes());
|
||||
myEditorComponent.setOptions(myCurrentSelector.getTypes());
|
||||
myEditorComponent.setDefaultValue(getVariableData()[row].type);
|
||||
myEditorComponent.setToString(o -> ((PsiType)o).getPresentableText());
|
||||
|
||||
myCurrentSelector = myParameterTypeSelectors[row];
|
||||
return myEditorComponent;
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user