20 package net.sf.gridarta.gui.map.maptilepane;
22 import java.awt.Component;
23 import java.awt.GridBagConstraints;
24 import java.awt.GridBagLayout;
26 import javax.swing.BorderFactory;
27 import javax.swing.JButton;
28 import javax.swing.JComponent;
29 import javax.swing.JPanel;
30 import javax.swing.border.CompoundBorder;
31 import javax.swing.filechooser.FileFilter;
50 import net.
sf.japi.swing.action.ActionBuilder;
51 import net.
sf.japi.swing.action.ActionBuilderFactory;
52 import net.
sf.japi.swing.action.ActionMethod;
53 import org.jetbrains.annotations.NotNull;
76 private static final ActionBuilder
ACTION_BUILDER = ActionBuilderFactory.getInstance().getActionBuilder(
"net.sf.gridarta");
136 protected AbstractMapTilePane(@NotNull
final MapManager<G, A, R> mapManager, @NotNull
final ProjectSettings projectSettings, @NotNull
final MapModel<G, A, R> mapModel, @NotNull
final MapLink @NotNull [] @NotNull [] tileLink, @NotNull
final Direction @NotNull [] directionMapping,
final int @NotNull []
nextFocus, @NotNull
final FileFilter
mapFileFilter) {
141 assert tileLink.length == 10;
155 canAttachMaps = tileLink[0].length + tileLink[1].length + tileLink[2].length + tileLink[3].length + tileLink[4].length + tileLink[5].length + tileLink[6].length + tileLink[7].length + tileLink[8].length + tileLink[9].length > 0;
178 setLayout(
new GridBagLayout());
179 final GridBagConstraints gbc =
new GridBagConstraints();
180 gbc.gridwidth = GridBagConstraints.REMAINDER;
182 gbc.fill = GridBagConstraints.BOTH;
197 for (
int index = 0; index < tilePanels.length; index++) {
216 for (
int index = 0; index < tilePanels.length; index++) {
217 panel.add(tilePanels[index].getTilePanel(), directionMapping[index]);
229 final JComponent subPanel =
new JPanel(
new GridBagLayout());
231 final GridBagConstraints gbc =
new GridBagConstraints();
232 gbc.fill = GridBagConstraints.NONE;
236 gbc.anchor = GridBagConstraints.EAST;
237 subPanel.add(
new JButton(
ACTION_BUILDER.createAction(
false,
"mapTilesAttach",
this)), gbc);
239 gbc.gridwidth = GridBagConstraints.REMAINDER;
240 gbc.anchor =
canAttachMaps ? GridBagConstraints.WEST : GridBagConstraints.CENTER;
241 subPanel.add(
new JButton(
ACTION_BUILDER.createAction(
false,
"mapTilesClear",
this)), gbc);
250 final String[] tmpTilePaths =
new String[
tilePaths.length];
251 for (
int i = 0; i < tmpTilePaths.length; i++) {
261 ACTION_BUILDER.showMessageDialog(
this,
"mapErrorFatalWrite", ex.getMessage());
270 for (
int i = 0; i < tmpTilePaths.length; i++) {
281 tilePath.getTilePanel().setText(
"",
true);
290 for (
int i = 0; i <
tilePaths.length; i++) {
300 tilePath.getTilePanel().mapTileRevert();