/*
 * @(#)ZChildWindowAction.java
 *
 * Copyright 2001 by Intelligent Technology Inc. All rights reserved.
 */
package jp.co.iti.fagot.action;

import java.awt.event.ActionEvent;

import jp.co.iti.fagot.IZApp;

import jp.co.iti.fagot.action.ZAction;

import jp.co.iti.fagot.ui.UFrame;
import jp.co.iti.fagot.ui.UWindowManager;

import jp.co.iti.fagot.util.ZDebug;
/**
 * ウィンドウの表示、非表示を切り替え
 */
public class ZChildWindowAction extends ZAction {
	/**
	 * 唯一のコンストラクタです。
	 * @param app アプリケーション
	 * @param nAction フレーム番号
	 */
	public ZChildWindowAction(IZApp app,int nAction) {
    super(app,PREFIX+nAction);
    mWindow = nAction;
	}

	/**
	 * アクション実行
	 */
	public void doAction(ActionEvent e) {
	// 子ウィンドウマネージャの取得
	UWindowManager mgr = ((UFrame)getApp()).getWindowManager();
	boolean bVisible = mgr.isVisible(mWindow);
	mgr.setVisible( mWindow, !bVisible );
//	firePropertyChange(ZAction.CHECKED,null,new Boolean(!bVisible));
	}

	/**
	 * UI更新
	 */
	public void update() {
	UWindowManager mgr = ((UFrame)getApp()).getWindowManager();

	boolean bEnable = mgr.isEnable(mWindow);
	firePropertyChange(ZAction.ENABLED,null,new Boolean(bEnable));

	if ( bEnable ) {
		boolean bVisible = mgr.isVisible(mWindow);
		firePropertyChange(ZAction.CHECKED,null,new Boolean(bVisible));
	}
	}

	//## アトリビュート ###############################################
    /**
     * アクション名のプレフィックス
     */
	final static public String PREFIX	= "childwin" ;

    /**
     * ウィンドウ番号
     */
	protected int mWindow = 0;
}
