Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,19 @@
* @since 2014-05-28
*/
public interface ClassKind {
LocalizeValue getDescriptionValue();
@Deprecated(forRemoval = true)
default LocalizeValue getDescriptionValue() {
return getDescription();
}

String getDescription();
LocalizeValue getDescription();

@Deprecated(forRemoval = true)
default LocalizeValue getDescriptionAccusativeValue() {
return getDescriptionValue();
return getDescriptionAccusative();
}

default String getDescriptionAccusative() {
default LocalizeValue getDescriptionAccusative() {
return getDescription();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@

import com.intellij.java.language.psi.PsiClass;
import com.intellij.java.language.psi.PsiJavaCodeReferenceElement;
import consulo.application.ApplicationManager;
import consulo.codeEditor.Editor;
import consulo.fileEditor.FileEditorManager;
import consulo.fileEditor.history.IdeDocumentHistory;
Expand All @@ -30,50 +29,48 @@
import consulo.navigation.OpenFileDescriptor;
import consulo.navigation.OpenFileDescriptorFactory;
import consulo.project.Project;
import consulo.util.lang.StringUtil;
import consulo.ui.annotation.RequiredUIAccess;

/**
* @author Mike
*/
public class CreateClassFromUsageFix extends CreateClassFromUsageBaseFix implements SyntheticIntentionAction {

public CreateClassFromUsageFix(PsiJavaCodeReferenceElement refElement, CreateClassKind kind) {
super(kind, refElement);
}

@Override
public LocalizeValue getText(String varName) {
return JavaQuickFixLocalize.createClassFromUsageText(StringUtil.capitalize(myKind.getDescription()), varName);
return JavaQuickFixLocalize.createClassFromUsageText(myKind.getDescription().capitalize(), varName);
}

@RequiredUIAccess
@Override
public void invoke(final Project project, Editor editor, PsiFile file) {
final PsiJavaCodeReferenceElement element = getRefElement();
public void invoke(Project project, Editor editor, PsiFile file) {
PsiJavaCodeReferenceElement element = getRefElement();
assert element != null;
if (!FileModificationService.getInstance().preparePsiElementForWrite(element)) return;
String superClassName = getSuperClassName(element);
final PsiClass aClass = CreateFromUsageUtils.createClass(element, myKind, superClassName);
PsiClass aClass = CreateFromUsageUtils.createClass(element, myKind, superClassName);
if (aClass == null) return;

ApplicationManager.getApplication().runWriteAction(
new Runnable() {
@Override
public void run() {
PsiJavaCodeReferenceElement refElement = element;
try {
refElement = (PsiJavaCodeReferenceElement)refElement.bindToElement(aClass);
}
catch (IncorrectOperationException e) {
LOG.error(e);
}
project.getApplication().runWriteAction(() -> {
PsiJavaCodeReferenceElement refElement = element;
try {
refElement = (PsiJavaCodeReferenceElement)refElement.bindToElement(aClass);
}
catch (IncorrectOperationException e) {
LOG.error(e);
}

IdeDocumentHistory.getInstance(project).includeCurrentPlaceAsChangePlace();
IdeDocumentHistory.getInstance(project).includeCurrentPlaceAsChangePlace();

OpenFileDescriptor descriptor = OpenFileDescriptorFactory.getInstance(refElement.getProject()).builder(aClass.getContainingFile().getVirtualFile()).offset(aClass.getTextOffset()).build();
FileEditorManager.getInstance(aClass.getProject()).openTextEditor(descriptor, true);
}
}
);
OpenFileDescriptor descriptor = OpenFileDescriptorFactory.getInstance(refElement.getProject())
.builder(aClass.getContainingFile().getVirtualFile())
.offset(aClass.getTextOffset())
.build();
FileEditorManager.getInstance(aClass.getProject()).openTextEditor(descriptor, true);
});
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,22 +44,12 @@ public Image getKindIcon() {
}

@Override
public String getDescription() {
return getDescriptionValue().get();
}

@Override
public LocalizeValue getDescriptionValue() {
public LocalizeValue getDescription() {
return myKind.subject();
}

@Override
public LocalizeValue getDescriptionAccusativeValue() {
public LocalizeValue getDescriptionAccusative() {
return myKind.object();
}

@Override
public String getDescriptionAccusative() {
return getDescriptionAccusativeValue().get();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -328,7 +328,7 @@ public PsiClass compute() {
PsiDirectory targetDirectory;
if (!ApplicationManager.getApplication().isUnitTestMode()) {
Project project = manager.getProject();
LocalizeValue title = JavaQuickFixLocalize.createClassTitle(StringUtil.capitalize(classKind.getDescription()));
LocalizeValue title = JavaQuickFixLocalize.createClassTitle(classKind.getDescription().capitalize());

CreateClassDialog dialog = new CreateClassDialog(project, title, name, aPackage.getQualifiedName(), classKind, false, module){
@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ public CreateInnerClassFromNewFix(PsiNewExpression expr) {

@Override
public LocalizeValue getText(String varName) {
return JavaQuickFixLocalize.createInnerClassFromUsageText(StringUtil.capitalize(CreateClassKind.CLASS.getDescription()), varName);
return JavaQuickFixLocalize.createInnerClassFromUsageText(CreateClassKind.CLASS.getDescription().capitalize(), varName);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@
import consulo.ui.ex.awt.JBList;
import consulo.ui.ex.popup.JBPopup;
import consulo.undoRedo.CommandProcessor;
import consulo.util.lang.StringUtil;

import javax.swing.*;
import java.util.ArrayList;
Expand All @@ -47,14 +46,13 @@
* @author ven
*/
public class CreateInnerClassFromUsageFix extends CreateClassFromUsageBaseFix implements SyntheticIntentionAction {

public CreateInnerClassFromUsageFix(PsiJavaCodeReferenceElement refElement, CreateClassKind kind) {
super(kind, refElement);
}

@Override
public LocalizeValue getText(String varName) {
return JavaQuickFixLocalize.createInnerClassFromUsageText(StringUtil.capitalize(myKind.getDescription()), varName);
return JavaQuickFixLocalize.createInnerClassFromUsageText(myKind.getDescription().capitalize(), varName);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ public CreateClassDialog(
init();

if (!myClassNameEditable) {
setTitle(CodeInsightLocalize.dialogCreateClassName(StringUtil.capitalize(kind.getDescription()), targetClassName));
setTitle(CodeInsightLocalize.dialogCreateClassName(kind.getDescription().capitalize(), targetClassName));
}
else {
myInformationLabel.setText(CodeInsightLocalize.dialogCreateClassLabel(kind.getDescription()).get());
Expand Down
Loading