package jaist.css.covis.cls;

import java.awt.Component;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPopupMenu;

import jaist.css.covis.util.FramePopup;


public class ArrayPrimitiveMenu extends JPopupMenu implements FramePopup {
	
	private static final long serialVersionUID = 8027248166373847225L;
	Covis_primitive v;
	Covis_Array a;
	JFrame f;

	public ArrayPrimitiveMenu(Covis_primitive _v, Covis_Array _a) {
		this.v = _v;
		this.a = _a;

		JMenuItem menuItem;

		setLightWeightPopupEnabled(false);

		menuItem = new JMenuItem("cancel");
		add(menuItem);

		addSeparator();
		menuItem = new JMenuItem("edit value");
		add(menuItem);
		menuItem.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				String input;
				input = JOptionPane.showInputDialog(f, "Input Value", v.getValue());
				if (input == null) return;
				if (!v.setValue(input)){
					JOptionPane.showMessageDialog(f,"Value is not accepted.","Error",JOptionPane.WARNING_MESSAGE);
					return;
				}
				v.buffer.putHistoryEditValueArray(v,a); //ÏXµ½ç\[XR[hÉÇÁ
				Informer.playSound("Pop.wav");
			}
		});
	}

	public void showWithFrame(Component c, int x, int y, JFrame _f) {
		f = _f;
		show(c, x, y);
	}

}
