package jp.co.cybec.laxide.model.commands;

import jp.co.cybec.laxide.model.base.AbstractModel;
import jp.co.cybec.laxide.model.base.I_LetsAjaxLayoutModel;
import jp.co.cybec.laxide.model.base.LetsAjaxBodyModel;

import org.eclipse.gef.commands.Command;

/**
 * モデル作成時に呼ばれるコマンドクラス ファイル名：CreateCommand.java
 * 
 * @author nakamura 作成時刻：15:22:50
 * 
 */
public class CreateCommand extends Command {
	private LetsAjaxBodyModel contentsModel;

	private AbstractModel targetModel;

	// オーバーライド
	public void execute() {
		contentsModel.addChild(targetModel);
	}

	public void setLetsAjaxBodyModel(Object model) {
		contentsModel = (LetsAjaxBodyModel) model;
	}

	public void setAbstractModel(Object model) {
		targetModel = (AbstractModel) model;
	}

	// オーバーライド
	public void undo() {
		if (!(targetModel instanceof I_LetsAjaxLayoutModel)) {
			contentsModel.removeChild(targetModel);
		}
	}
}
