20 package net.sf.gridarta.gui.scripts;
22 import java.awt.Component;
23 import java.awt.Container;
24 import java.awt.FlowLayout;
25 import java.awt.Frame;
27 import javax.swing.AbstractButton;
28 import javax.swing.BorderFactory;
29 import javax.swing.Box;
30 import javax.swing.BoxLayout;
31 import javax.swing.JButton;
32 import javax.swing.JDialog;
33 import javax.swing.JLabel;
34 import javax.swing.JPanel;
35 import javax.swing.JTextField;
36 import javax.swing.WindowConstants;
37 import javax.swing.text.JTextComponent;
46 import net.
sf.japi.swing.action.ActionBuilder;
47 import net.
sf.japi.swing.action.ActionBuilderFactory;
48 import org.jetbrains.annotations.NotNull;
60 private static final ActionBuilder
ACTION_BUILDER = ActionBuilderFactory.getInstance().getActionBuilder(
"net.sf.gridarta");
101 final File scriptFile;
102 if (scriptPath.startsWith(
"/")) {
107 scriptFile =
new File(mapManager.getLocalMapDir(), scriptPath);
111 if (scriptFile.exists() && scriptFile.isFile()) {
115 ACTION_BUILDER.showMessageDialog(parent,
"openScriptNotFound", scriptFile);
127 pathFrame.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
129 final JPanel mainPanel =
new JPanel();
130 mainPanel.setLayout(
new BoxLayout(mainPanel, BoxLayout.Y_AXIS));
131 mainPanel.setBorder(BorderFactory.createEmptyBorder(5, 5, 2, 5));
134 final Container line1 =
new JPanel(
new FlowLayout(FlowLayout.RIGHT));
139 mainPanel.add(line1);
142 final Container line2 =
new JPanel(
new FlowLayout(FlowLayout.RIGHT));
145 inputOptions =
new JTextField(scriptedEvent.getOptions(), 20);
147 mainPanel.add(line2);
148 mainPanel.add(Box.createVerticalStrut(5));
151 final Container line3 =
new JPanel(
new FlowLayout(FlowLayout.RIGHT));
156 mainPanel.add(line3);
157 mainPanel.add(Box.createVerticalStrut(5));
160 final Container line4 =
new JPanel(
new FlowLayout(FlowLayout.RIGHT));
162 okButton.addActionListener(e -> {
163 scriptedEvent.modifyEventPath();
169 cancelButton.addActionListener(e -> pathFrame.dispose());
170 line4.add(cancelButton);
171 mainPanel.add(line4);
173 pathFrame.getContentPane().add(mainPanel);
175 pathFrame.setLocationRelativeTo(parent);
176 pathFrame.setVisible(
true);