Go to the documentation of this file.
20 package net.sf.gridarta.gui.panel.objectchooser;
22 import java.awt.BorderLayout;
23 import java.awt.Point;
24 import java.util.ArrayList;
25 import java.util.Collection;
26 import java.util.Collections;
27 import java.util.List;
28 import javax.swing.JPanel;
29 import javax.swing.JTabbedPane;
30 import javax.swing.SwingConstants;
31 import javax.swing.event.ChangeListener;
52 import org.jetbrains.annotations.NotNull;
53 import org.jetbrains.annotations.Nullable;
89 private final JTabbedPane
tabbedPane =
new JTabbedPane(SwingConstants.TOP);
95 private final List<ObjectChooserTab<G, A, R>>
tabs =
new ArrayList<>();
101 private final Collection<ObjectChooserListener<G, A, R>>
listeners =
new ArrayList<>();
139 public void mapCursorChangedPos(@NotNull
final Point location) {
144 public void mapCursorChangedMode() {
149 public void mapCursorChangedGameObject(@Nullable
final MapSquare<G, A, R> mapSquare, @Nullable
final G gameObject) {
154 public void mapCursorChangedSize() {
168 public DefaultObjectChooser(@NotNull
final ObjectChooserTab<G, A, R> archetypeChooserControl, @NotNull
final ObjectChooserTab<G, A, R> pickmapChooserControl, @NotNull
final ArchetypeChooserModel<G, A, R> archetypeChooserModel, @NotNull
final PickmapChooserModel<G, A, R> pickmapChooserModel, @NotNull
final ArchetypeTypeSet archetypeTypeSet) {
169 super(
new BorderLayout());
176 addTab(archetypeChooserControl);
199 public void selectedArchetypeChanged(@Nullable
final R selectedArchetype) {
206 public void directionChanged(@Nullable
final Integer direction) {
235 public void pickmapModifiedChanged(
final int index, @NotNull
final PickmapState<G, A, R> pickmapState) {
240 pickmapChooserModel.addPickmapChooserListener(pickmapChooserModelListener);
251 tabbedPane.addTab(tab.getTitle(), tab.getComponent());
261 tab =
tabs.get(index);
262 }
catch (
final IndexOutOfBoundsException ignored) {
344 final int index =
tabbedPane.getSelectedIndex();
381 if (mapCursor ==
null) {
384 final Point location = mapCursor.getLocation();
389 if (pickmap ==
null) {
412 listener.selectionChanged(gameObject);
final BaseObject< G, A, R, ?> getSelection()
final ObjectChooserTab< G, A, R > pickmapChooserControl
static final long serialVersionUID
ArchetypeChooserFolder< G, A, R > getSelectedFolder()
final Collection< ObjectChooserListener< G, A, R > > listeners
G getFirst(@NotNull final GameObjectMatcher gameObjectMatcher)
BaseObject< G, A, R, ?> cursorSelection
final JTabbedPane tabbedPane
void setActive(boolean active)
void updatePickmapInfo(@Nullable final MapCursor< G, A, R > mapCursor)
final List< ObjectChooserTab< G, A, R > > tabs
void setActiveTab(final int index)
BaseObject< G, A, R, ?> getCursorSelection()
void removeObjectChooserListener(@NotNull final ObjectChooserListener< G, A, R > listener)
MapView< G, A, R > activePickmapView
PickmapState< G, A, R > activePickmapState
final ObjectChoiceDisplay objectChoiceDisplay
void addTab(@NotNull final ObjectChooserTab< G, A, R > tab)
void addArchetypeChooserModelListener(@NotNull final ArchetypeChooserModelListener< G, A, R > listener)
void updateSelectedIndex()
void addObjectChooserListener(@NotNull final ObjectChooserListener< G, A, R > listener)
MapView< G, A, R > getMapView()
final boolean isPickmapActive()
void showObjectChooserQuickObject(@Nullable final BaseObject<?, ?, ?, ?> gameObject, final boolean isPickmapActive)
MapSquare< G, A, R > getMapSquare(@NotNull Point pos)
void addMapCursorListener(@NotNull final MapCursorListener< G, A, R > listener)
void updateActivePickmap()
final MapCursorListener< G, A, R > mapCursorListener
boolean isMatching(@NotNull G gameObject)
ObjectChooserTab< G, A, R > activeTab
MapControl< G, A, R > getPickmap()
boolean isMatching(@NotNull final G gameObject)
void moveArchetypeChooserToFront()
void movePickmapChooserToFront()
final ArchetypeChooserModel< G, A, R > archetypeChooserModel
BaseObject< G, A, R, ?> getSelection()
List<? extends BaseObject< G, A, R, ?> > getSelections()
DefaultObjectChooser(@NotNull final ObjectChooserTab< G, A, R > archetypeChooserControl, @NotNull final ObjectChooserTab< G, A, R > pickmapChooserControl, @NotNull final ArchetypeChooserModel< G, A, R > archetypeChooserModel, @NotNull final PickmapChooserModel< G, A, R > pickmapChooserModel, @NotNull final ArchetypeTypeSet archetypeTypeSet)
List<? extends BaseObject< G, A, R, ?> > getSelections()
void removeMapCursorListener(@NotNull final MapCursorListener< G, A, R > listener)
void fireSelectionChanged(@Nullable final BaseObject< G, A, R, ?> gameObject)
MapModel< G, A, R > getMapModel()
MapCursor< G, A, R > getMapCursor()
void updateActivePickmap(@Nullable final PickmapState< G, A, R > pickmapState)
ArchetypeChooserPanel< G, A, R > getSelectedPanel()