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) {