Go to the documentation of this file.
20 package net.sf.gridarta.gui.dialog.plugin;
22 import java.awt.Component;
23 import java.awt.event.FocusListener;
24 import java.awt.event.ItemEvent;
25 import java.awt.event.MouseListener;
26 import javax.swing.JComboBox;
27 import javax.swing.JTextField;
28 import javax.swing.event.DocumentEvent;
29 import javax.swing.event.DocumentListener;
30 import javax.swing.text.JTextComponent;
40 import org.apache.log4j.Category;
41 import org.apache.log4j.Logger;
42 import org.jetbrains.annotations.NotNull;
105 public <G extends GameObject<G, A, R>, A extends
MapArchObject<A>, R extends
Archetype<G, A, R>>
PluginEditorRow(@NotNull
final Plugin<G, A, R> plugin, @NotNull
final PluginParameter<G, A, R, ?> parameter, @NotNull
final PluginParameterViewFactory<G, A, R> pluginParameterViewFactory, @NotNull
final MouseListener
mouseListener, @NotNull
final FocusListener
focusListener, @NotNull
final Component parent) {
122 final JTextComponent textField =
new JTextField(parameter.
getName());
123 textField.getDocument().addDocumentListener(
new DocumentListener() {
126 public void insertUpdate(@NotNull
final DocumentEvent e) {
131 public void removeUpdate(@NotNull
final DocumentEvent e) {
136 public void changedUpdate(@NotNull
final DocumentEvent e) {
143 private void change() {
144 parameter.
setName(textField.getText());
159 final JTextComponent textField =
new JTextField(parameter.
getDescription());
160 textField.getDocument().addDocumentListener(
new DocumentListener() {
163 public void changedUpdate(@NotNull
final DocumentEvent e) {
168 public void insertUpdate(@NotNull
final DocumentEvent e) {
173 public void removeUpdate(@NotNull
final DocumentEvent e) {
180 private void change() {
195 private <G extends GameObject<G, A, R>, A extends
MapArchObject<A>, R extends
Archetype<G, A, R>> Component
createTypeEditor(
final Plugin<G, A, R> plugin,
final PluginParameter<G, A, R, ?> parameter) {
198 comboBox.addItemListener(e -> {
199 if (e.getStateChange() != ItemEvent.SELECTED) {
203 final String newParameterType = (String) e.getItem();
209 plugin.convertType(parameter, newParameterType);
211 LOG.warn(
"Cannot create parameter for " + ex.getMessage());
227 private <G extends GameObject<G, A, R>, A extends
MapArchObject<A>, R extends
Archetype<G, A, R>>
PluginParameterView createView(
final PluginParameter<G, A, R, ?> parameter,
final PluginParameterViewFactory<G, A, R> pluginParameterViewFactory,
final Component parent) {
public< G extends GameObject< G, A, R >, A extends MapArchObject< A >, R extends Archetype< G, A, R > > PluginEditorRow(@NotNull final Plugin< G, A, R > plugin, @NotNull final PluginParameter< G, A, R, ?> parameter, @NotNull final PluginParameterViewFactory< G, A, R > pluginParameterViewFactory, @NotNull final MouseListener mouseListener, @NotNull final FocusListener focusListener, @NotNull final Component parent)
String getParameterType()
private< G extends GameObject< G, A, R >, A extends MapArchObject< A >, R extends Archetype< G, A, R > > Component createDescriptionEditor(final PluginParameter< G, A, R, ?> parameter)
Component getConfigComponent()
private< G extends GameObject< G, A, R >, A extends MapArchObject< A >, R extends Archetype< G, A, R > > Component createTypeEditor(final Plugin< G, A, R > plugin, final PluginParameter< G, A, R, ?> parameter)
void setDescription(@NotNull String description)
private< G extends GameObject< G, A, R >, A extends MapArchObject< A >, R extends Archetype< G, A, R > > PluginParameterView createView(final PluginParameter< G, A, R, ?> parameter, final PluginParameterViewFactory< G, A, R > pluginParameterViewFactory, final Component parent)
final MouseListener mouseListener
final PluginParameterView pluginParameterView
void attachListeners(@NotNull final Component component)
Component getParameterDescriptionEditor()
void setName(@NotNull String name)
PluginParameterView newPluginParameterView(@NotNull final Component parent, @NotNull final PluginParameter< G, A, R, ?> parameter)
Component getParameterTypeEditor()
final Component parameterNameEditor
final FocusListener focusListener
Component getParameterNameEditor()
Component getValueComponent()
static final Category LOG
JComponent getConfigComponent()
final Component parameterTypeEditor
JComponent getValueComponent()
final Component parameterDescriptionEditor
private< G extends GameObject< G, A, R >, A extends MapArchObject< A >, R extends Archetype< G, A, R > > Component createNameEditor(final PluginParameter< G, A, R, ?> parameter)
static String[] getTypes()