/*
* #######################################################
*
* Copyright (c) 2013, A. Weinberger. All rights reserved.
* --------------------------------------------------------
*/
package ale.view.gui.chooser;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.StringSelection;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;
import ale.controller.Main;
import ale.model.skin.SkinPreviewVO;
import ale.view.gui.util.GUIStrings;
final class ListPopUpMenu extends JPopupMenu {
private static final long serialVersionUID = 1L;
private JMenuItem nameItem;
private JMenuItem authorItem;
private JMenuItem webItem;
private JMenuItem applyItem;
private JMenuItem editItem;
private JMenuItem deleteItem;
private JMenuItem renameItem;
ListPopUpMenu(final SkinPreviewVO skinprw) {
this.nameItem = new JMenuItem(GUIStrings.keyToLocatedString(GUIStrings.KEY_QUICKCHOOSER_COPYNAME));
this.authorItem = new JMenuItem(GUIStrings.keyToLocatedString(GUIStrings.KEY_QUICKCHOOSER_COPYAUTHOR));
this.webItem = new JMenuItem(GUIStrings.keyToLocatedString(GUIStrings.KEY_QUICKCHOOSER_COPYWEBSITE));
this.applyItem = new JMenuItem(GUIStrings.keyToLocatedString(GUIStrings.KEY_QUICKCHOOSER_APPLYBTN));
this.editItem = new JMenuItem(GUIStrings.keyToLocatedString(GUIStrings.KEY_QUICKCHOOSER_EDITBTN));
this.deleteItem = new JMenuItem(GUIStrings.keyToLocatedString(GUIStrings.KEY_QUICKCHOOSER_DELETEBTN));
this.renameItem = new JMenuItem(GUIStrings.keyToLocatedString(GUIStrings.KEY_QUICKCHOOSER_RENAMEBTN));
add(this.nameItem);
add(this.authorItem);
add(this.webItem);
addSeparator();
add(this.applyItem);
add(this.editItem);
add(this.deleteItem);
addSeparator();
add(this.renameItem);
final Clipboard clipboard = getToolkit().getSystemClipboard();
this.nameItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
StringSelection data = new StringSelection(skinprw.getName());
clipboard.setContents(data, data);
}
});
this.authorItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
StringSelection data = new StringSelection(skinprw.getAuthor());
clipboard.setContents(data, data);
}
});
this.webItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
StringSelection data = new StringSelection(skinprw.getWebsite());
clipboard.setContents(data, data);
}
});
this.applyItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
Main.showApplySkinDialog(skinprw.getFilename());
}
});
this.editItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
Main.showEditor(skinprw.getFilename());
}
});
this.deleteItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
Main.deleteSkin(skinprw.getFilename());
}
});
this.renameItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
Main.showRenameSkinDialog(skinprw.getFilename());
}
});
}
}