/*******************************************************************************
* Copyright (c) 2005, 2007 Wind River Systems, Inc. and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Initial Contributors:
* The following Wind River employees contributed to the Terminal component
* that contains this file: Chris Thew, Fran Litterio, Stephen Lamb,
* Helmut Haigermoser and Ted Williams.
*
* Contributors:
* Michael Scharf (Wind River) - split into core, view and connector plugins
* Martin Oberhuber (Wind River) - fixed copyright headers and beautified
* Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button
*******************************************************************************/
package com.netifera.platform.host.terminal.ui.actions;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.ActionContributionItem;
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.action.IMenuCreator;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Menu;
import com.netifera.platform.host.internal.terminal.ui.Activator;
import com.netifera.platform.host.terminal.ui.view.ITerminalView;
/**
* UNDER CONSTRUCTION
*
* @author Fran Litterio <francis.litterio@windriver.com>
*/
public class NewTerminalAction extends TerminalViewAction implements IMenuCreator {
private Menu fMenu;
public NewTerminalAction(ITerminalView target)
{
super(target, NewTerminalAction.class.getName());
setText("Open &Terminal");
setToolTipText("Open Terminal");
setImageDescriptor(Activator.getInstance().getImageCache().getDescriptor("icons/new_terminal.png"));
setMenuCreator(this);
}
public void run() {
fTarget.onTerminalNewTerminal();
}
public void dispose() {
if (fMenu != null) {
fMenu.dispose();
}
}
public Menu getMenu(Control parent) {
if(fMenu==null) {
fMenu= new Menu(parent);
addActionToMenu(fMenu,
new Action("New Terminal Connection In Current View") {
public void run() {
fTarget.onTerminalNewTerminal();
}
});
addActionToMenu(fMenu,
new Action("New Terminal View") {
public void run() {
fTarget.onTerminalNewView();
}
});
}
return fMenu;
}
protected void addActionToMenu(Menu parent, IAction action) {
ActionContributionItem item = new ActionContributionItem(action);
item.fill(parent, -1);
}
public Menu getMenu(Menu parent) {
return null;
}
}