package jp.co.cybec.laxide;

import org.eclipse.draw2d.PositionConstants;
import org.eclipse.gef.ui.actions.ActionBarContributor;
import org.eclipse.gef.ui.actions.AlignmentRetargetAction;
import org.eclipse.gef.ui.actions.DeleteRetargetAction;
import org.eclipse.gef.ui.actions.GEFActionConstants;
import org.eclipse.gef.ui.actions.RedoRetargetAction;
import org.eclipse.gef.ui.actions.UndoRetargetAction;
import org.eclipse.jface.action.IToolBarManager;
import org.eclipse.jface.action.Separator;
import org.eclipse.ui.actions.ActionFactory;

public class LetsAjaxContributor extends ActionBarContributor {

	public LetsAjaxContributor() {
		// TODO 自動生成されたコンストラクター・スタブ
	}

	protected void buildActions() {
		// 元に戻す・アクションの作成
		addRetargetAction(new UndoRetargetAction());
		// やり直し・アクションの作成
		addRetargetAction(new RedoRetargetAction());
		// 再ターゲット可能な’削除’アクションを追加
		addRetargetAction(new DeleteRetargetAction());
		
		//整列アクション
		addRetargetAction(new AlignmentRetargetAction(PositionConstants.LEFT));
		addRetargetAction(new AlignmentRetargetAction(PositionConstants.CENTER));
		addRetargetAction(new AlignmentRetargetAction(PositionConstants.RIGHT));
		addRetargetAction(new AlignmentRetargetAction(PositionConstants.TOP));
		addRetargetAction(new AlignmentRetargetAction(PositionConstants.MIDDLE));
		addRetargetAction(new AlignmentRetargetAction(PositionConstants.BOTTOM));
	}

	protected void declareGlobalActionKeys() {
		// TODO 自動生成されたメソッド・スタブ

	}

	public void contributeToToolBar(IToolBarManager toolBarManager) {
		 // 削除アクションの追加
	    toolBarManager.add(getActionRegistry().getAction(
	        ActionFactory.DELETE.getId()));

	    // 元に戻すアクションの追加
	    toolBarManager.add(getActionRegistry().getAction(
	        ActionFactory.UNDO.getId()));

	    // やり直しアクションの追加
	    toolBarManager.add(getActionRegistry().getAction(
	        ActionFactory.REDO.getId()));
		
		//ツールバーへの追加
		toolBarManager.add(new Separator());
	    // 水平方向の整列アクションの追加
	    toolBarManager.add(
	      getActionRegistry().getAction(GEFActionConstants.ALIGN_LEFT));
	    toolBarManager.add(
	      getActionRegistry().getAction(GEFActionConstants.ALIGN_CENTER));
	    toolBarManager.add(
	      getActionRegistry().getAction(GEFActionConstants.ALIGN_RIGHT));
	    toolBarManager.add(new Separator());
	    // 垂直方向の整列アクションの追加
	    toolBarManager.add(
	      getActionRegistry().getAction(GEFActionConstants.ALIGN_TOP));
	    toolBarManager.add(
	      getActionRegistry().getAction(GEFActionConstants.ALIGN_MIDDLE));
	    toolBarManager.add(
	      getActionRegistry().getAction(GEFActionConstants.ALIGN_BOTTOM));
	}
}
