Gridarta Editor
PluginEditor.java
Go to the documentation of this file.
1 /*
2  * Gridarta MMORPG map editor for Crossfire, Daimonin and similar games.
3  * Copyright (C) 2000-2023 The Gridarta Developers.
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License along
16  * with this program; if not, write to the Free Software Foundation, Inc.,
17  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18  */
19 
20 package net.sf.gridarta.gui.dialog.plugin;
21 
22 import java.awt.BorderLayout;
23 import java.awt.Component;
24 import java.awt.Container;
25 import java.awt.FlowLayout;
26 import java.awt.Font;
27 import java.awt.GridBagConstraints;
28 import java.awt.GridBagLayout;
29 import java.awt.Insets;
30 import java.awt.event.FocusEvent;
31 import java.awt.event.FocusListener;
32 import java.awt.event.MouseEvent;
33 import java.awt.event.MouseListener;
34 import java.util.IdentityHashMap;
35 import java.util.Map;
36 import javax.swing.JButton;
37 import javax.swing.JCheckBox;
38 import javax.swing.JLabel;
39 import javax.swing.JOptionPane;
40 import javax.swing.JPanel;
41 import javax.swing.JScrollPane;
42 import javax.swing.JTabbedPane;
43 import javax.swing.SwingConstants;
44 import javax.swing.event.DocumentEvent;
45 import javax.swing.event.DocumentListener;
50 import net.sf.gridarta.plugin.Plugin;
56 import net.sf.japi.swing.action.ActionBuilder;
57 import net.sf.japi.swing.action.ActionBuilderFactory;
58 import net.sf.japi.swing.action.ActionMethod;
59 import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
60 import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
61 import org.fife.ui.rtextarea.RTextScrollPane;
62 import org.jetbrains.annotations.NotNull;
63 
64 public class PluginEditor<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>> {
65 
69  @NotNull
70  private static final ActionBuilder ACTION_BUILDER = ActionBuilderFactory.getInstance().getActionBuilder("net.sf.gridarta");
71 
75  @NotNull
77 
78  @NotNull
79  private final Container panel = new JPanel(new BorderLayout());
80 
81  @NotNull
83 
84  @NotNull
85  private final JPanel parameterTable = new JPanel(new GridBagLayout());
86 
87  @NotNull
89 
90  @NotNull
91  private final Plugin<G, A, R> plugin;
92 
93  @NotNull
94  private final Map<PluginParameter<G, A, R, ?>, PluginEditorRow> rows = new IdentityHashMap<>();
95 
96  private int selectedRow = -1;
97 
98  @NotNull
99  private final MouseListener cellMouseListener = new MouseListener() {
100 
101  @Override
102  public void mouseClicked(@NotNull final MouseEvent e) {
103  selectTableComponent((Component) e.getSource());
104  }
105 
106  @Override
107  public void mouseEntered(@NotNull final MouseEvent e) {
108  }
109 
110  @Override
111  public void mouseExited(@NotNull final MouseEvent e) {
112  }
113 
114  @Override
115  public void mousePressed(@NotNull final MouseEvent e) {
116  selectTableComponent((Component) e.getSource());
117  }
118 
119  @Override
120  public void mouseReleased(@NotNull final MouseEvent e) {
121  selectTableComponent((Component) e.getSource());
122  }
123  };
124 
125  @NotNull
126  private final FocusListener cellFocusListener = new FocusListener() {
127 
128  @Override
129  public void focusGained(@NotNull final FocusEvent e) {
130  selectTableComponent((Component) e.getSource());
131  }
132 
133  @Override
134  public void focusLost(@NotNull final FocusEvent e) {
135  }
136  };
137 
145  this.pluginController = pluginController;
146  this.pluginModel = pluginModel;
147  this.plugin = plugin;
148  this.pluginParameterViewFactory = pluginParameterViewFactory;
149 
150  final JTabbedPane tabs = new JTabbedPane();
151  tabs.addTab(ActionBuilderUtils.getString(ACTION_BUILDER, "pluginEditorTabOptions"), createOptionsTab(resourceIcons));
152  tabs.addTab(ActionBuilderUtils.getString(ACTION_BUILDER, "pluginEditorTabParameters"), createParameterTab());
153  tabs.addTab(ActionBuilderUtils.getString(ACTION_BUILDER, "pluginEditorTabCode"), createCodePanel());
154  panel.add(tabs);
155  }
156 
157  @NotNull
158  private Component createOptionsTab(@NotNull final ResourceIcons resourceIcons) {
159  final Container optionsTab = new JPanel(new GridBagLayout());
160  final GridBagConstraints gbc = new GridBagConstraints();
161 
162  final Container parameterButtons = new JPanel();
163  parameterButtons.setLayout(new StackLayout(5));
164  parameterButtons.add(new JButton(ACTION_BUILDER.createAction(false, "pluginEditorReRegister", this)));
165  parameterButtons.add(new JButton(ACTION_BUILDER.createAction(false, "pluginEditorExport", this)));
166 
167  gbc.fill = GridBagConstraints.HORIZONTAL;
168  gbc.gridx = 0;
169  gbc.gridy = 0;
170  gbc.gridwidth = 2;
171  gbc.weightx = 1.0;
172  gbc.anchor = GridBagConstraints.CENTER;
173  optionsTab.add(new JLabel(ActionBuilderUtils.getString(ACTION_BUILDER, "pluginEditorRunMode"), SwingConstants.LEFT), gbc);
174 
175  gbc.gridx = 0;
176  gbc.gridwidth = 1;
177  gbc.weightx = 0.0;
178  gbc.anchor = GridBagConstraints.CENTER;
179 
180  gbc.gridy = 1;
181  optionsTab.add(new JLabel(resourceIcons.getResourceIcon(ResourceIcons.AUTO_RUN_SMALL_ICON)), gbc);
182  gbc.gridy = 2;
183  optionsTab.add(new JLabel(resourceIcons.getResourceIcon(ResourceIcons.FILTER_SMALL_ICON)), gbc);
184  gbc.gridy = 3;
185  optionsTab.add(new JLabel(resourceIcons.getResourceIcon(ResourceIcons.RUN_PLUGIN_SMALL_ICON)), gbc);
186 
187  gbc.gridx = 1;
188  gbc.gridwidth = 1;
189  gbc.weightx = 1.0;
190  gbc.anchor = GridBagConstraints.WEST;
191 
192  gbc.gridy = 1;
193  optionsTab.add(new JCheckBox(ACTION_BUILDER.createToggle(false, "pluginEditorIsAutoRun", this)), gbc);
194  gbc.gridy = 2;
195  optionsTab.add(new JCheckBox(ACTION_BUILDER.createToggle(false, "pluginEditorIsFilter", this)), gbc);
196  gbc.gridy = 3;
197  optionsTab.add(new JCheckBox(ACTION_BUILDER.createToggle(false, "pluginEditorIsScript", this)), gbc);
198 
199  gbc.gridx = 0;
200  gbc.gridwidth = 2;
201  gbc.weightx = 1.0;
202  gbc.anchor = GridBagConstraints.WEST;
203  gbc.fill = GridBagConstraints.NONE;
204 
205  gbc.gridy = 4;
206  optionsTab.add(parameterButtons, gbc);
207 
208  gbc.gridx = 0;
209  gbc.gridy = 5;
210  gbc.gridwidth = 2;
211  gbc.weightx = 1.0;
212  gbc.weighty = 1.0;
213  gbc.fill = GridBagConstraints.BOTH;
214  optionsTab.add(new JPanel(), gbc);
215 
216  return optionsTab;
217  }
218 
219  @NotNull
220  private Component createParameterTab() {
221  plugin.addPluginListener(this::redrawTable);
222 
223  final Container parameterButtons = new JPanel();
224  parameterButtons.setLayout(new StackLayout(5));
225  parameterButtons.add(new JButton(ACTION_BUILDER.createAction(false, "pluginEditorAddParameter", this)));
226  parameterButtons.add(new JButton(ACTION_BUILDER.createAction(false, "pluginEditorRemoveParameter", this)));
227 
228  final GridBagConstraints gbc = new GridBagConstraints();
229 
230  gbc.gridx = 0;
231  gbc.gridy = 0;
232  gbc.gridwidth = 1;
233  gbc.weightx = 1.0;
234  gbc.fill = GridBagConstraints.HORIZONTAL;
235  gbc.anchor = GridBagConstraints.WEST;
236 
237  final Container parameterTab = new JPanel(new GridBagLayout());
238  parameterTab.add(new JScrollPane(parameterTable), gbc);
239  gbc.gridy++;
240  parameterTab.add(parameterButtons, gbc);
241  gbc.gridy++;
242  gbc.weighty = 1.0;
243  gbc.fill = GridBagConstraints.BOTH;
244  parameterTab.add(new JPanel(), gbc);
245 
246  redrawTable();
247  return parameterTab;
248  }
249 
250  @NotNull
251  private Component createCode() {
252  final RSyntaxTextArea code = new RSyntaxTextArea();
253  code.setText(plugin.getCode());
254  code.setCaretPosition(0);
255  code.setFont(new Font("Monospaced", Font.PLAIN, 14));
256  code.getDocument().addDocumentListener(new DocumentListener() {
257 
258  @Override
259  public void changedUpdate(final DocumentEvent e) {
260  plugin.setCode(code.getText());
261  }
262 
263  @Override
264  public void insertUpdate(final DocumentEvent e) {
265  plugin.setCode(code.getText());
266  }
267 
268  @Override
269  public void removeUpdate(final DocumentEvent e) {
270  plugin.setCode(code.getText());
271  }
272  });
273  code.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);
274  code.setRows(40);
275  return new RTextScrollPane(code);
276  }
277 
278  @NotNull
279  private Component createCodePanel() {
280  final Container codeBottom = new JPanel(new FlowLayout());
281  codeBottom.add(new JButton(ACTION_BUILDER.createAction(false, "pluginEditorRunScript", this)));
282 
283  final Container codePanel = new JPanel(new BorderLayout());
284  codePanel.add(createCode(), BorderLayout.CENTER);
285  codePanel.add(codeBottom, BorderLayout.SOUTH);
286 
287  return codePanel;
288  }
289 
290  private void selectTableComponent(@NotNull final Component c) {
291  final GridBagLayout l = (GridBagLayout) parameterTable.getLayout();
292  final GridBagConstraints gbc = l.getConstraints(c);
293  if (gbc != null) {
294  selectedRow = gbc.gridy - 1;
295  }
296  }
297 
298  private void redrawTable() {
299  final GridBagConstraints gbc = new GridBagConstraints(0, 0, 1, 1, 0.1, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 5, 0);
300  parameterTable.removeAll();
301  parameterTable.add(ActionBuilderUtils.newLabel(ACTION_BUILDER, "pluginEditorTitleName.text"), gbc);
302  gbc.gridx = 1;
303  parameterTable.add(ActionBuilderUtils.newLabel(ACTION_BUILDER, "pluginEditorTitleDescription.text"), gbc);
304  gbc.gridx = 2;
305  parameterTable.add(ActionBuilderUtils.newLabel(ACTION_BUILDER, "pluginEditorTitleType.text"), gbc);
306  gbc.gridx = 3;
307  parameterTable.add(ActionBuilderUtils.newLabel(ACTION_BUILDER, "pluginEditorTitleConfig.text"), gbc);
308  gbc.gridx = 4;
309  parameterTable.add(ActionBuilderUtils.newLabel(ACTION_BUILDER, "pluginEditorTitleDefault.text"), gbc);
310  for (final PluginParameter<G, A, R, ?> parameter : plugin) {
311  final PluginEditorRow row = getOrCreateRow(parameter);
312  gbc.gridy++;
313  gbc.gridx = 0;
314  parameterTable.add(row.getParameterNameEditor(), gbc);
315  gbc.gridx = 1;
316  gbc.weightx = 0.5;
318  gbc.gridx = 2;
319  gbc.weightx = 0.1;
320  parameterTable.add(row.getParameterTypeEditor(), gbc);
321  gbc.gridx = 3;
322  parameterTable.add(row.getConfigComponent(), gbc);
323  gbc.gridx = 4;
324  parameterTable.add(row.getValueComponent(), gbc);
325  }
326  panel.repaint();
327  }
328 
335  @NotNull
336  private PluginEditorRow getOrCreateRow(@NotNull final PluginParameter<G, A, R, ?> parameter) {
337  final PluginEditorRow existingRow = rows.get(parameter);
338  if (existingRow != null) {
339  return existingRow;
340  }
341 
343  rows.put(parameter, row);
344  return row;
345  }
346 
351  @NotNull
352  public Component getComponent() {
353  return panel;
354  }
355 
360  @ActionMethod
361  public boolean isPluginEditorIsAutoRun() {
362  return plugin.isAutoBoot();
363  }
364 
369  @ActionMethod
370  public void setPluginEditorIsAutoRun(final boolean autoRun) {
371  plugin.setAutoBoot(autoRun);
372  }
373 
378  @ActionMethod
379  public boolean isPluginIsEditorFilter() {
380  return plugin.isFilter();
381  }
382 
387  @ActionMethod
388  public void setPluginIsEditorFilter(final boolean filter) {
389  plugin.setFilter(filter);
390  }
391 
396  @ActionMethod
397  public boolean isPluginIsScript() {
398  return plugin.isScript();
399  }
400 
406  @ActionMethod
407  public void setPluginIsScript(final boolean script) {
408  plugin.setScript(script);
409  }
410 
414  @ActionMethod
415  public void pluginEditorReRegister() {
417  }
418 
422  @ActionMethod
423  public void pluginEditorExport() {
425  }
426 
430  @ActionMethod
431  public void pluginEditorAddParameter() {
433  }
434 
439  @ActionMethod
441  if (selectedRow < 0) {
442  return;
443  }
444 
445  final PluginParameter<G, A, R, ?> parameter;
446  try {
447  parameter = plugin.getParameter(selectedRow);
448  } catch (final NoSuchParameterException ignored) {
449  return;
450  }
451  final String name = parameter.getName();
452  final String title = ActionBuilderUtils.getString(ACTION_BUILDER, "pluginEditorRemoveParameterConfirm.title");
453  final String message = ActionBuilderUtils.format(ACTION_BUILDER, "pluginEditorRemoveParameterConfirm.message", name);
454  if (JOptionPane.showConfirmDialog(panel, message, title, JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) {
456  }
457  }
458 
462  @ActionMethod
463  public void pluginEditorRunScript() {
465  }
466 
467 }
net.sf.gridarta.gui.dialog.plugin.PluginEditor.isPluginIsEditorFilter
boolean isPluginIsEditorFilter()
Action method for option to make an editor script a map filter.
Definition: PluginEditor.java:379
name
name
Definition: ArchetypeTypeSetParserTest-ignoreDefaultAttribute1-result.txt:2
net.sf.gridarta.utils.ResourceIcons.RUN_PLUGIN_SMALL_ICON
static final String RUN_PLUGIN_SMALL_ICON
Definition: ResourceIcons.java:133
net.sf.gridarta.gui.dialog.plugin.PluginEditor.pluginParameterViewFactory
final PluginParameterViewFactory< G, A, R > pluginParameterViewFactory
Definition: PluginEditor.java:82
net.sf.gridarta.gui.dialog.plugin.PluginEditor.panel
final Container panel
Definition: PluginEditor.java:79
net.sf.gridarta.plugin
Definition: BshRunnable.java:20
net.sf.gridarta.gui.dialog.plugin.PluginEditor.createCodePanel
Component createCodePanel()
Definition: PluginEditor.java:279
net.sf.gridarta.gui.dialog.plugin.PluginEditorRow.getValueComponent
Component getValueComponent()
Returns the editor component for editing the parameter's value.
Definition: PluginEditorRow.java:276
net.sf.gridarta.plugin.parameter.PluginParameter
Parameter for a Plugin.
Definition: PluginParameter.java:33
net.sf.gridarta.gui.dialog.plugin.PluginEditor.cellFocusListener
final FocusListener cellFocusListener
Definition: PluginEditor.java:126
net.sf.gridarta.gui.dialog.plugin.PluginEditorRow.getParameterDescriptionEditor
Component getParameterDescriptionEditor()
Returns the editor component for editing the parameter's description.
Definition: PluginEditorRow.java:248
net.sf.gridarta
Base package of all Gridarta classes.
net.sf.gridarta.gui.dialog.plugin.PluginEditorRow
A set of components for editing a PluginParameter and its configuration.
Definition: PluginEditorRow.java:49
net.sf.gridarta.plugin.Plugin.setScript
void setScript(final boolean script)
Sets whether this plugin is a stand-alone plugin.
Definition: Plugin.java:351
net.sf.gridarta.gui.dialog.plugin.PluginEditor.PluginEditor
PluginEditor(@NotNull final Plugin< G, A, R > plugin, @NotNull final PluginController< G, A, R > pluginController, @NotNull final PluginModel< G, A, R > pluginModel, @NotNull final PluginParameterViewFactory< G, A, R > pluginParameterViewFactory, @NotNull final ResourceIcons resourceIcons)
Creates a visual JComponent used to edit the given script.
Definition: PluginEditor.java:144
net.sf.gridarta.gui.dialog.plugin.PluginEditor.getComponent
Component getComponent()
Returns the Component for this plugin editor.
Definition: PluginEditor.java:352
net.sf.gridarta.plugin.Plugin.getParameter
int getParameter(@NotNull final String parameterName)
Returns the index for a plugin parameter name.
Definition: Plugin.java:187
net.sf
net.sf.gridarta.plugin.Plugin.newParameter
void newParameter()
Creates a new plugin parameter.
Definition: Plugin.java:207
net.sf.gridarta.gui.dialog.plugin.PluginEditor.parameterTable
final JPanel parameterTable
Definition: PluginEditor.java:85
net.sf.gridarta.utils.ResourceIcons.AUTO_RUN_SMALL_ICON
static final String AUTO_RUN_SMALL_ICON
Definition: ResourceIcons.java:127
net.sf.gridarta.gui.dialog.plugin.PluginEditor.redrawTable
void redrawTable()
Definition: PluginEditor.java:298
net.sf.gridarta.gui.dialog.plugin.PluginEditor.pluginEditorReRegister
void pluginEditorReRegister()
Action method to re-register the current plugin.
Definition: PluginEditor.java:415
net.sf.gridarta.plugin.Plugin.setCode
void setCode(@NotNull final String code)
Sets the executable code of this plugin.
Definition: Plugin.java:165
net.sf.gridarta.gui.dialog.plugin.PluginEditor.pluginEditorExport
void pluginEditorExport()
Action method to export the current plugin as an XML file.
Definition: PluginEditor.java:423
net.sf.gridarta.model.archetype
Definition: AbstractArchetype.java:20
net.sf.gridarta.model.gameobject.GameObject
Reflects a game object (object on a map).
Definition: GameObject.java:36
net.sf.gridarta.gui.dialog.plugin.PluginEditor.pluginEditorAddParameter
void pluginEditorAddParameter()
Action method to add a parameter to the current plugin script.
Definition: PluginEditor.java:431
net.sf.gridarta.plugin.Plugin.addPluginListener
void addPluginListener(@NotNull final PluginListener listener)
Adds a PluginListener to be notified about changes.
Definition: Plugin.java:235
net.sf.gridarta.gui.dialog.plugin.parameter
net.sf.gridarta.gui.dialog.plugin.PluginEditor.isPluginEditorIsAutoRun
boolean isPluginEditorIsAutoRun()
Action method for option to run the editor script automatically.
Definition: PluginEditor.java:361
net.sf.gridarta.utils.ActionBuilderUtils.newLabel
static JLabel newLabel(@NotNull final ActionBuilder actionBuilder, @NotNull final String key)
Creates a new JLabel from a resource key.
Definition: ActionBuilderUtils.java:117
net.sf.gridarta.gui.dialog.plugin.PluginEditorRow.getParameterTypeEditor
Component getParameterTypeEditor()
Returns the editor component for editing the parameter's type.
Definition: PluginEditorRow.java:257
net.sf.gridarta.gui.dialog.plugin.PluginEditor.selectedRow
int selectedRow
Definition: PluginEditor.java:96
net.sf.gridarta.gui
Graphical User Interface of Gridarta.
net.sf.gridarta.plugin.parameter.NoSuchParameterException
Thrown if a parameter does not exist.
Definition: NoSuchParameterException.java:29
net.sf.gridarta.model.gameobject
GameObjects are the objects based on Archetypes found on maps.
Definition: AbstractGameObject.java:20
net
net.sf.gridarta.gui.dialog.plugin.PluginEditor.createParameterTab
Component createParameterTab()
Definition: PluginEditor.java:220
net.sf.gridarta.gui.dialog.plugin.PluginEditor.rows
final Map< PluginParameter< G, A, R, ?>, PluginEditorRow > rows
Definition: PluginEditor.java:94
net.sf.gridarta.gui.dialog.plugin.StackLayout
A layoutManager which stacks components one on top of the other, regardless of their size.
Definition: StackLayout.java:37
net.sf.gridarta.gui.dialog.plugin.PluginEditor.setPluginIsScript
void setPluginIsScript(final boolean script)
Action method for option to add the script to the plugins menu.
Definition: PluginEditor.java:407
net.sf.gridarta.gui.dialog.plugin.PluginEditor.cellMouseListener
final MouseListener cellMouseListener
Definition: PluginEditor.java:99
net.sf.gridarta.gui.dialog.plugin.PluginEditor.pluginController
final PluginController< G, A, R > pluginController
The associated PluginController instance.
Definition: PluginEditor.java:76
net.sf.gridarta.plugin.PluginModel.reRegister
void reRegister(@NotNull final Plugin< G, A, R > plugin)
Definition: PluginModel.java:213
net.sf.gridarta.gui.dialog.plugin.PluginEditor.createOptionsTab
Component createOptionsTab(@NotNull final ResourceIcons resourceIcons)
Definition: PluginEditor.java:158
net.sf.gridarta.model.maparchobject.MapArchObject
Interface for MapArchObjects.
Definition: MapArchObject.java:40
net.sf.gridarta.plugin.Plugin.isScript
boolean isScript()
Returns whether this plugin is a stand-alone plugin.
Definition: Plugin.java:323
net.sf.gridarta.plugin.Plugin.setAutoBoot
void setAutoBoot(final boolean autoBoot)
Sets whether this plugin is run whenever the editor starts.
Definition: Plugin.java:339
net.sf.gridarta.gui.dialog.plugin.PluginEditorRow.getConfigComponent
Component getConfigComponent()
Returns the editor component for editing the parameter's configuration parameters.
Definition: PluginEditorRow.java:267
net.sf.gridarta.gui.dialog.plugin.PluginEditor.getOrCreateRow
PluginEditorRow getOrCreateRow(@NotNull final PluginParameter< G, A, R, ?> parameter)
Returns the PluginEditorRow instance for a {}.
Definition: PluginEditor.java:336
net.sf.gridarta.utils.ResourceIcons.FILTER_SMALL_ICON
static final String FILTER_SMALL_ICON
Definition: ResourceIcons.java:130
net.sf.gridarta.gui.dialog.plugin.PluginEditor.setPluginIsEditorFilter
void setPluginIsEditorFilter(final boolean filter)
Action method for option to run the editor script automatically.
Definition: PluginEditor.java:388
net.sf.gridarta.plugin.parameter.PluginParameter.getName
String getName()
The name of the parameter.
net.sf.gridarta.utils.ActionBuilderUtils.format
static String format(@NotNull final ActionBuilder actionBuilder, @NotNull final String key, @NotNull final Object... args)
Returns the value of a key.
Definition: ActionBuilderUtils.java:101
net.sf.gridarta.plugin.Plugin.isFilter
boolean isFilter()
Returns whether this plugin is a filter.
Definition: Plugin.java:331
net.sf.gridarta.utils.ActionBuilderUtils.getString
static String getString(@NotNull final ActionBuilder actionBuilder, @NotNull final String key, @NotNull final String defaultValue)
Returns the value of a key.
Definition: ActionBuilderUtils.java:71
net.sf.gridarta.gui.dialog.plugin.PluginEditorRow.getParameterNameEditor
Component getParameterNameEditor()
Returns the editor component for editing the parameter's name.
Definition: PluginEditorRow.java:239
net.sf.gridarta.gui.dialog
net.sf.gridarta.plugin.Plugin.setFilter
void setFilter(final boolean filter)
Sets whether this plugin is a filter.
Definition: Plugin.java:363
net.sf.gridarta.plugin.Plugin.removeParameter
void removeParameter(final int index)
Removes a plugin parameter.
Definition: Plugin.java:225
net.sf.gridarta.gui.dialog.plugin
Definition: CloseableTabbedPane.java:47
net.sf.gridarta.gui.dialog.plugin.PluginEditor.plugin
final Plugin< G, A, R > plugin
Definition: PluginEditor.java:91
net.sf.gridarta.gui.dialog.plugin.parameter.PluginParameterViewFactory
Factory for creating PluginParameterView instances.
Definition: PluginParameterViewFactory.java:49
net.sf.gridarta.gui.dialog.plugin.PluginEditor.pluginEditorRemoveParameter
void pluginEditorRemoveParameter()
Action method to remove the selected parameter from the current plugin script.
Definition: PluginEditor.java:440
net.sf.gridarta.gui.dialog.plugin.PluginEditor.pluginModel
final PluginModel< G, A, R > pluginModel
Definition: PluginEditor.java:88
net.sf.gridarta.model
net.sf.gridarta.model.archetype.Archetype
Reflects an Archetype.
Definition: Archetype.java:41
net.sf.gridarta.gui.dialog.plugin.PluginEditor
Definition: PluginEditor.java:64
net.sf.gridarta.plugin.Plugin
Model for plugins.
Definition: Plugin.java:53
net.sf.gridarta.gui.dialog.plugin.PluginEditor.setPluginEditorIsAutoRun
void setPluginEditorIsAutoRun(final boolean autoRun)
Action method for option to run the editor script automatically.
Definition: PluginEditor.java:370
net.sf.gridarta.gui.dialog.plugin.PluginController.savePluginAs
boolean savePluginAs(@NotNull final Plugin< G, A, R > plugin, final boolean updatePluginFile)
Prompts the user for a file name to save a plugin.
Definition: PluginController.java:209
net.sf.gridarta.utils.ActionBuilderUtils
Utility class for ActionBuilder related functions.
Definition: ActionBuilderUtils.java:31
net.sf.gridarta.plugin.Plugin.isAutoBoot
boolean isAutoBoot()
Returns whether this plugin is run whenever the editor starts.
Definition: Plugin.java:315
net.sf.gridarta.model.maparchobject
Definition: AbstractMapArchObject.java:20
net.sf.gridarta.utils.ResourceIcons
Creates ImageIcon instances from resources.
Definition: ResourceIcons.java:46
net.sf.gridarta.gui.dialog.plugin.PluginEditor.isPluginIsScript
boolean isPluginIsScript()
Action method for option to add an editor script to the plugins menu.
Definition: PluginEditor.java:397
net.sf.gridarta.gui.dialog.plugin.PluginEditor.ACTION_BUILDER
static final ActionBuilder ACTION_BUILDER
Action Builder.
Definition: PluginEditor.java:70
net.sf.gridarta.gui.dialog.plugin.PluginController< G, A, R >
net.sf.gridarta.utils
Definition: ActionBuilderUtils.java:20
net.sf.gridarta.gui.dialog.plugin.PluginEditor.pluginEditorRunScript
void pluginEditorRunScript()
Action method to execute the selected plugin script.
Definition: PluginEditor.java:463
net.sf.gridarta.plugin.Plugin.getCode
String getCode()
Returns the executable code of this plugin.
Definition: Plugin.java:157
net.sf.gridarta.plugin.parameter
Definition: AbstractPathParameter.java:20
net.sf.gridarta.gui.dialog.plugin.PluginEditor.createCode
Component createCode()
Definition: PluginEditor.java:251
net.sf.gridarta.gui.dialog.plugin.PluginController.runPlugin
void runPlugin(@NotNull final Plugin< G, A, R > plugin)
Definition: PluginController.java:234
net.sf.gridarta.plugin.PluginModel
Definition: PluginModel.java:49
net.sf.gridarta.gui.dialog.plugin.PluginEditor.selectTableComponent
void selectTableComponent(@NotNull final Component c)
Definition: PluginEditor.java:290