/*
 * LOGICAL-PARADOX.ORG
 * Copyright (C)2005 satoshi akabane(akabane@logical-paradox.org)
 * $Id: MainWndGeneralPopupMenu.java,v 1.3 2005/03/18 13:55:26 rampil Exp $
 */
package org.logical_paradox.testsite.oln.view;

import javax.swing.JMenuItem;
import org.logical_paradox.testsite.oln.model.handler.AdditionNewNodeBtnListener;
import org.logical_paradox.testsite.oln.model.handler.RemoveNodeBtnListener;
import org.logical_paradox.testsite.oln.object.AppContext;
import org.logical_paradox.testsite.oln.object.RequestContext;

/**
 * トポロジービュー上での一般的なポップアップメニュー
 * @author satoshi akabane@logical-paradox.org
 * @version $Revision: 1.3 $
 */
public class MainWndGeneralPopupMenu extends OlnBasePopupMenu {
	/**
	 * コンストラクタ
	 * @param context アプリケーションコンテキスト
	 * @param request リクエストコンテキスト
	 */
	public MainWndGeneralPopupMenu(AppContext context, RequestContext request) {
		super("General", context, request);
		init();
	}
	/**
	 * メニューアイテムを初期化する
	 */
	protected void init() {
		// 新規ノード追加
		JMenuItem mAddNewNode = new JMenuItem("Add new node");
		mAddNewNode.addActionListener(new AdditionNewNodeBtnListener(getAppContext(), getRequestContext()));
		// 全ノード削除
		JMenuItem mRemoveNode = new JMenuItem("Remove selected nodes");
		mRemoveNode.addActionListener(new RemoveNodeBtnListener(getAppContext(), getRequestContext()));
		if(getAppContext().getTopology().isSelected() == false) {
			// ノード未選択の場合はメニューを無効にする
			mRemoveNode.setEnabled(false);
		}
		// ビュー再描画
		JMenuItem mUpdateView = new JMenuItem("Refresh topology view");

		// メニューアイテムをポップアップメニューに追加する
		add(mAddNewNode);
		add(mRemoveNode);
		addSeparator();
		add(mUpdateView);
	}
}
