/*
 * LOGICAL-PARADOX.ORG
 * Copyright (C)2005 satoshi akabane(akabane@logical-paradox.org)
 * $Id: NodePropertyPopupMenu.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.RemoveNodeBtnListener;
import org.logical_paradox.testsite.oln.object.AppContext;
import org.logical_paradox.testsite.oln.object.Node;
import org.logical_paradox.testsite.oln.object.RequestContext;

/**
 * ノード選択時のポップアップメニュー
 * @author satoshi akabane@logical-paradox.org
 * @version $Revision: 1.3 $
 */
public class NodePropertyPopupMenu extends OlnBasePopupMenu {
	/** 選択されているノード */
	private final Node node_;
	/**
	 * コンストラクタ
	 * @param Node 選択されたノード
	 */
	public NodePropertyPopupMenu(AppContext context, RequestContext request, Node node) {
		super("node:" + node.getNodeNo(), context, request);
		node_ = node;
		init();
	}
	/**
	 * メニューアイテムを初期化する
	 */
	protected void init() {
		// 選択全解除
		getAppContext().getTopology().deSelectAll();
		// 指定されたノードを選択状態にする
		node_.setSelected(true);
		// 選択ノード削除
		JMenuItem mRemoveNode = new JMenuItem("Remove");
		mRemoveNode.addActionListener(new RemoveNodeBtnListener(getAppContext(), getRequestContext()));

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