Extract Function: Enable visibility selection when target container is class/object
This commit is contained in:
+12
-1
@@ -25,6 +25,7 @@ import com.intellij.ui.EditorTextField;
|
|||||||
import com.intellij.util.containers.ContainerUtil;
|
import com.intellij.util.containers.ContainerUtil;
|
||||||
import com.intellij.util.containers.MultiMap;
|
import com.intellij.util.containers.MultiMap;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.jet.lang.psi.JetClassBody;
|
||||||
import org.jetbrains.jet.lang.psi.JetClassOrObject;
|
import org.jetbrains.jet.lang.psi.JetClassOrObject;
|
||||||
import org.jetbrains.jet.lang.psi.JetFile;
|
import org.jetbrains.jet.lang.psi.JetFile;
|
||||||
import org.jetbrains.jet.plugin.refactoring.JetNameSuggester;
|
import org.jetbrains.jet.plugin.refactoring.JetNameSuggester;
|
||||||
@@ -34,6 +35,8 @@ import org.jetbrains.jet.plugin.refactoring.extractFunction.*;
|
|||||||
import org.jetbrains.jet.renderer.DescriptorRenderer;
|
import org.jetbrains.jet.renderer.DescriptorRenderer;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
import java.awt.event.ItemEvent;
|
||||||
|
import java.awt.event.ItemListener;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@@ -70,7 +73,7 @@ public class KotlinExtractFunctionDialog extends DialogWrapper {
|
|||||||
|
|
||||||
private boolean isVisibilitySectionAvailable() {
|
private boolean isVisibilitySectionAvailable() {
|
||||||
PsiElement target = originalDescriptor.getDescriptor().getExtractionData().getNextSibling().getParent();
|
PsiElement target = originalDescriptor.getDescriptor().getExtractionData().getNextSibling().getParent();
|
||||||
return target instanceof JetClassOrObject || target instanceof JetFile;
|
return target instanceof JetClassBody || target instanceof JetFile;
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getFunctionName() {
|
private String getFunctionName() {
|
||||||
@@ -125,6 +128,14 @@ public class KotlinExtractFunctionDialog extends DialogWrapper {
|
|||||||
String visibility = originalDescriptor.getDescriptor().getVisibility();
|
String visibility = originalDescriptor.getDescriptor().getVisibility();
|
||||||
visibilityBox.setSelectedItem(visibility.isEmpty() ? "internal" : visibility);
|
visibilityBox.setSelectedItem(visibility.isEmpty() ? "internal" : visibility);
|
||||||
}
|
}
|
||||||
|
visibilityBox.addItemListener(
|
||||||
|
new ItemListener() {
|
||||||
|
@Override
|
||||||
|
public void itemStateChanged(@NotNull ItemEvent e) {
|
||||||
|
update(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
parameterTablePanel = new KotlinParameterTablePanel() {
|
parameterTablePanel = new KotlinParameterTablePanel() {
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user