package pbl2011.gui;

import java.awt.Font;
import java.awt.FontMetrics;
import java.util.ArrayList;

import javax.swing.JToggleButton;

import pbl2011.common.CommonConst;
import ash.gui.core.AshFont;

/**
 * <p>
 * 状態管理クラス
 * <p>
 * ツールバー等の設定情報を管理するクラス。
 *
 * @author 10745104 Y.Ishii
 */
public class State implements CommonConst{


	static boolean classSelect; // クラスのトグルボタンON OFF

	// 関連継承の　トグルボタン　null:選択なし
	static AssocType arcSelect;

	static boolean gridFlag; //グリッド表示・非表示フラグ
	static boolean gridlineFlag; //補助線表示・非表示フラグ
	public static int attributeVisibility;
	public static int methodVisibility;

	static {
		classSelect = false;
		arcSelect = null;
		gridFlag = true;
		gridlineFlag = true;
		attributeVisibility = VisibilityType.PRIVATE.level();
		methodVisibility = VisibilityType.PRIVATE.level();
	}

	static ArrayList<JToggleButton> toggleBtnList = new ArrayList<JToggleButton> ();
	static JToggleButton selectJtg;

	/**
	 * 状態を選択モードに変更する。
	 */
	static void changeToSelectMode() {
		classSelect = false;
		arcSelect = null;
		for (JToggleButton btn: State.toggleBtnList) {
			btn.setSelected(false);
		}
		selectJtg.setSelected(true);
	}

	static Font font;
	public static FontMetrics fm; // フォントメトリクス

	static {
		font = AshFont.getFont();
	}

	public static int width; // ウィンドウ幅
	public static int height; // ウィンドウ高さ

	static {
		width = CANVAS_WIDTH;
		height = CANVAS_HEIGHT;
	}

}
