20 package net.sf.gridarta.gui.panel.tools;
22 import java.awt.BorderLayout;
23 import java.awt.Container;
24 import java.awt.event.InputEvent;
25 import java.awt.event.MouseEvent;
26 import javax.swing.JPanel;
27 import javax.swing.JTabbedPane;
40 import net.
sf.japi.swing.action.ActionBuilder;
41 import net.
sf.japi.swing.action.ActionBuilderFactory;
42 import org.jetbrains.annotations.NotNull;
43 import org.jetbrains.annotations.Nullable;
61 private static final ActionBuilder
ACTION_BUILDER = ActionBuilderFactory.getInstance().getActionBuilder(
"net.sf.gridarta.gui.panel.tools");
92 public ToolPalette(@NotNull
final MapViewSettings mapViewSettings, @NotNull
final SelectedSquareModel<G, A, R> selectedSquareModel, @NotNull
final ObjectChooser<G, A, R> objectChooser, @NotNull
final PickmapSettings pickmapSettings, @Nullable
final GameObjectMatcher floorGameObjectMatcher, @Nullable
final GameObjectMatcher wallGameObjectMatcher, @Nullable
final GameObjectMatcher monsterGameObjectMatcher, @NotNull
final InsertionModeSet<G, A, R> insertionModeSet) {
93 super(
new BorderLayout());
94 lmbSelector =
new ToolSelector<>(
"selection", mapViewSettings, selectedSquareModel, objectChooser, pickmapSettings, floorGameObjectMatcher, wallGameObjectMatcher, monsterGameObjectMatcher, insertionModeSet);
95 mmbSelector =
new ToolSelector<>(
"deletion", mapViewSettings, selectedSquareModel, objectChooser, pickmapSettings, floorGameObjectMatcher, wallGameObjectMatcher, monsterGameObjectMatcher, insertionModeSet);
96 rmbSelector =
new ToolSelector<>(
"insertion", mapViewSettings, selectedSquareModel, objectChooser, pickmapSettings, floorGameObjectMatcher, wallGameObjectMatcher, monsterGameObjectMatcher, insertionModeSet);
98 final Container mouseTabs =
new JTabbedPane();
114 final int button =
event.getButton();
117 case MouseEvent.BUTTON1:
120 case MouseEvent.BUTTON2:
123 case MouseEvent.BUTTON3:
127 final int mask =
event.getModifiers();
128 if ((mask & InputEvent.BUTTON1_DOWN_MASK) == InputEvent.BUTTON1_DOWN_MASK) {
130 }
else if ((mask & InputEvent.BUTTON2_DOWN_MASK) == InputEvent.BUTTON2_DOWN_MASK) {
132 }
else if ((mask & InputEvent.BUTTON3_DOWN_MASK) == InputEvent.BUTTON3_DOWN_MASK) {
Graphical User Interface of Gridarta.
Interface for classes that match GameObjects.
This package contains classes related to matching GameObjects, so called GameObjectMatchers.
static String getString(@NotNull final ActionBuilder actionBuilder, @NotNull final String key, @NotNull final String defaultValue)
Returns the value of a key.
Base package of all Gridarta classes.
Reflects a game object (object on a map).
Container for settings that affect the rendering of maps.
GameObjects are the objects based on Archetypes found on maps.
Displays the contents of the currently selected map square.
Base classes for rendering maps.
Interface for Mouse Operations.
Utility class for ActionBuilder related functions.
A MouseOpEvent is an event triggered for a MouseOpListener.
static JLabel newLabel(@NotNull final ActionBuilder actionBuilder, @NotNull final String key)
Creates a new JLabel from a resource key.
Common base interface for ObjectChoosers.
The model component of the selected square control.
Interface for MapArchObjects.
Container for settings that affect pickmaps.