package tiled.mapeditor.actions;
import java.awt.event.ActionEvent;
import java.io.IOException;
import javax.swing.AbstractAction;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import javax.swing.filechooser.FileNameExtensionFilter;
import tiled.mapeditor.MapEditor;
import tiled.mapeditor.Resources;
import tiled.mapeditor.dialogs.ConvertImageToTileLayerDialog;
import tiled.util.TiledConfiguration;
public class ConvertImageToTileLayerAction extends AbstractAction {
private static final long serialVersionUID = -6117686275748936514L;
private final MapEditor editor;
public ConvertImageToTileLayerAction(MapEditor editor) {
super(Resources.getString("action.convert.image.to.tile.layer.name"));
this.editor = editor;
}
public void actionPerformed(ActionEvent e) {
String startLocation = TiledConfiguration.node("recent").get("file0",
null);
JFileChooser chooser = new JFileChooser(startLocation);
chooser.setFileFilter(new FileNameExtensionFilter("PNG file", "png"));
int result = chooser.showOpenDialog(editor.getAppFrame());
if (result == JFileChooser.APPROVE_OPTION) {
String selectedFile = chooser.getSelectedFile().getAbsolutePath();
ConvertImageToTileLayerDialog dialog = null;
try {
dialog = new ConvertImageToTileLayerDialog(editor, selectedFile);
} catch (IOException ex) {
JOptionPane.showMessageDialog(editor.getAppFrame(),
ex.getLocalizedMessage(), "Error loading image",
JOptionPane.WARNING_MESSAGE);
}
if (null != dialog) {
dialog.setVisible(true);
}
}
}
}