package ash.gui.core;
import java.net.URL;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JToolBar;
import javax.swing.JButton;
import static java.lang.System.err;
import ash.util.FileUtil;

/**
 * AshGUIFrameの中でツールバーを作成するために使用するベースクラス。
 * 拡張クラスでは、引数無しのコンストラクタの中でadd()メソッドを使用して
 * イメージボタンを作成する。エディタが使用するイメージファイルは、
 * src/ash/gui/core/images の下に配置する必要がある。
 * AshGUIFrame#createToolBar()の実装の際に使用することを想定している。
 */
@SuppressWarnings("serial")
public class AshToolBar extends JToolBar {
	private ActionListener listener = GUIAdapter.getListener();
	public void setActionListener(ActionListener listener) {
		this.listener = listener;
	}

	public JButton add(String imageFile, String tipText, String action) {
		ImageIcon icon = FileUtil.makeImageIcon(getClass(), imageFile);
		return (icon != null) ? add(icon, tipText, action) : null;
	}

	public JButton add(ImageIcon icon, String tipText, String action) {
		JButton b = new JButton();
		b.setIcon(icon);
		b.setToolTipText(tipText);
		b.setActionCommand(action);
		b.addActionListener(listener);
		b.setFocusable(false);
		add(b);
		return b;
	}
}
