mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-239627 Macros $MODULE_WORKING_DIR$ and/or $MODULE_DIR$ are missing
GitOrigin-RevId: 653ef930a62e6401e831ef51f5886ea9f28db505
This commit is contained in:
committed by
intellij-monorepo-bot
parent
9650fe13f5
commit
4f74daa42f
@@ -45,9 +45,8 @@ public class CommonJavaParametersPanel extends CommonProgramParametersPanel {
|
||||
@Override
|
||||
protected void initMacroSupport() {
|
||||
super.initMacroSupport();
|
||||
addMacroSupport(myVMParametersComponent.getComponent().getEditorField(), MacrosDialog.Filters.ALL, getPathMacros());
|
||||
addMacroSupport((ExtendableTextField)myInputRedirectPanel.getComponent().getTextField(), MacrosDialog.Filters.ANY_PATH,
|
||||
getPathMacros());
|
||||
addMacroSupport(myVMParametersComponent.getComponent().getEditorField(), MacrosDialog.Filters.ALL);
|
||||
addMacroSupport((ExtendableTextField)myInputRedirectPanel.getComponent().getTextField(), MacrosDialog.Filters.ANY_PATH);
|
||||
}
|
||||
|
||||
public void setVMParameters(String text) {
|
||||
|
||||
+16
-10
@@ -30,6 +30,7 @@ import javax.swing.*;
|
||||
import java.awt.*;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.function.Predicate;
|
||||
@@ -43,6 +44,7 @@ public class CommonProgramParametersPanel extends JPanel implements PanelWithAnc
|
||||
|
||||
private Module myModuleContext = null;
|
||||
private boolean myHasModuleMacro;
|
||||
protected final Map<String, String> myMacrosMap = new HashMap<>();
|
||||
|
||||
public CommonProgramParametersPanel() {
|
||||
this(true);
|
||||
@@ -114,7 +116,7 @@ public class CommonProgramParametersPanel extends JPanel implements PanelWithAnc
|
||||
button.addActionListener(new ActionListener() {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
final List<String> macros = ContainerUtil.map(getPathMacros().keySet(), s -> s.startsWith("%") ? s : "$" + s + "$");
|
||||
final List<String> macros = ContainerUtil.map(myMacrosMap.keySet(), s -> s.startsWith("%") ? s : "$" + s + "$");
|
||||
JBPopupFactory.getInstance()
|
||||
.createPopupChooserBuilder(macros)
|
||||
.setItemChosenCallback((value) -> textAccessor.setText(value))
|
||||
@@ -148,8 +150,9 @@ public class CommonProgramParametersPanel extends JPanel implements PanelWithAnc
|
||||
}
|
||||
|
||||
protected void initMacroSupport() {
|
||||
addMacroSupport(myProgramParametersComponent.getComponent().getEditorField(), MacrosDialog.Filters.ALL, getPathMacros());
|
||||
addMacroSupport((ExtendableTextField)myWorkingDirectoryField.getTextField(), MacrosDialog.Filters.DIRECTORY_PATH, getPathMacros());
|
||||
updatePathMacros();
|
||||
addMacroSupport(myProgramParametersComponent.getComponent().getEditorField(), MacrosDialog.Filters.ALL);
|
||||
addMacroSupport((ExtendableTextField)myWorkingDirectoryField.getTextField(), MacrosDialog.Filters.DIRECTORY_PATH);
|
||||
}
|
||||
|
||||
public static void addMacroSupport(@NotNull ExtendableTextField textField) {
|
||||
@@ -157,10 +160,9 @@ public class CommonProgramParametersPanel extends JPanel implements PanelWithAnc
|
||||
}
|
||||
|
||||
protected void addMacroSupport(@NotNull ExtendableTextField textField,
|
||||
@NotNull Predicate<? super Macro> macroFilter,
|
||||
@Nullable Map<String, String> userMacros) {
|
||||
@NotNull Predicate<? super Macro> macroFilter) {
|
||||
final Predicate<? super Macro> commonMacroFilter = getCommonMacroFilter();
|
||||
doAddMacroSupport(textField, t -> commonMacroFilter.test(t) && macroFilter.test(t), userMacros);
|
||||
doAddMacroSupport(textField, t -> commonMacroFilter.test(t) && macroFilter.test(t), myMacrosMap);
|
||||
}
|
||||
|
||||
protected @NotNull Predicate<? super Macro> getCommonMacroFilter() {
|
||||
@@ -175,10 +177,6 @@ public class CommonProgramParametersPanel extends JPanel implements PanelWithAnc
|
||||
}
|
||||
}
|
||||
|
||||
protected @NotNull Map<String, String> getPathMacros() {
|
||||
return MacrosDialog.getPathMacros(myModuleContext != null || myHasModuleMacro);
|
||||
}
|
||||
|
||||
protected void copyDialogCaption(final LabeledComponent<RawCommandLineEditor> component) {
|
||||
final RawCommandLineEditor rawCommandLineEditor = component.getComponent();
|
||||
rawCommandLineEditor.setDialogCaption(component.getRawText());
|
||||
@@ -204,12 +202,20 @@ public class CommonProgramParametersPanel extends JPanel implements PanelWithAnc
|
||||
|
||||
public void setModuleContext(Module moduleContext) {
|
||||
myModuleContext = moduleContext;
|
||||
updatePathMacros();
|
||||
}
|
||||
|
||||
public void setHasModuleMacro() {
|
||||
myHasModuleMacro = true;
|
||||
updatePathMacros();
|
||||
}
|
||||
|
||||
protected void updatePathMacros() {
|
||||
myMacrosMap.clear();
|
||||
myMacrosMap.putAll(MacrosDialog.getPathMacros(myModuleContext != null || myHasModuleMacro));
|
||||
}
|
||||
|
||||
|
||||
public LabeledComponent<RawCommandLineEditor> getProgramParametersComponent() {
|
||||
return myProgramParametersComponent;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user