Gridarta Editor
TextEditorTab.java
Go to the documentation of this file.
1 /*
2  * Gridarta MMORPG map editor for Crossfire, Daimonin and similar games.
3  * Copyright (C) 2000-2015 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.panel.gameobjectattributes;
21 
22 import javax.swing.JPanel;
28 import org.jetbrains.annotations.NotNull;
29 import org.jetbrains.annotations.Nullable;
30 
35 public class TextEditorTab<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>> extends AbstractGameObjectAttributesTab<G, A, R> {
36 
40  @NotNull
42 
48  public TextEditorTab(@NotNull final GameObjectAttributesModel<G, A, R> gameObjectAttributesModel, @NotNull final ArchetypeTypeSet archetypeTypeSet) {
49  super(gameObjectAttributesModel);
50  gameObjectTextEditor = new GameObjectTextEditor(archetypeTypeSet);
51  addAutoApply(gameObjectTextEditor.getTextPane());
52  }
53 
54  @NotNull
55  @Override
56  public JPanel getPanel() {
57  return gameObjectTextEditor;
58  }
59 
60  @Override
61  protected void refresh(@Nullable final G gameObject) {
62  setTabSeverity(gameObjectTextEditor.refreshDisplay(gameObject));
63  }
64 
65  @Override
66  public boolean canApply() {
67  return gameObjectTextEditor.canApplyChanges();
68  }
69 
70  @Override
71  public void activate() {
72  gameObjectTextEditor.activate();
73  }
74 
75  @Override
76  protected void apply(@NotNull final G gameObject) {
77  gameObjectTextEditor.applyChanges(gameObject);
78  }
79 
80 }
void addAutoApply( @NotNull final Component component)
Registers a component that auto-applies when the focus is lost.
final GameObjectTextEditor gameObjectTextEditor
The displayed GameObjectTextEditor instance.
Graphical User Interface of Gridarta.
Manages ArchetypeType instances, list, and bitmask definitions.
The tab containing the game object text editor.
void applyChanges(@NotNull final GameObject<?, ?, ?> gameObject)
Updates a GameObject&#39;s attributes from the input field.
Severity refreshDisplay(@Nullable final GameObject<?, ?, ?> gameObject)
Refreshes the input field to show the attributes of a GameObject.
Base package of all Gridarta classes.
boolean canApplyChanges()
Returns whether the current text field differs from the initial value.
Reflects a game object (object on a map).
Definition: GameObject.java:36
GameObjects are the objects based on Archetypes found on maps.
Defines types of GameObjects with corresponding attributes.
TextEditorTab(@NotNull final GameObjectAttributesModel< G, A, R > gameObjectAttributesModel, @NotNull final ArchetypeTypeSet archetypeTypeSet)
Creates a new instance.