mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-06-09 10:46:02 +02:00
Terminal: Prepare "New Terminal View" action
This commit is contained in:
parent
121f0a2e00
commit
8eba787d83
9 changed files with 100 additions and 4 deletions
Binary file not shown.
After Width: | Height: | Size: 934 B |
Binary file not shown.
After Width: | Height: | Size: 175 B |
Binary file not shown.
After Width: | Height: | Size: 173 B |
|
@ -0,0 +1,47 @@
|
||||||
|
/*******************************************************************************
|
||||||
|
* Copyright (c) 2015 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
|
||||||
|
*
|
||||||
|
* Contributors:
|
||||||
|
* Wind River Systems - initial API and implementation
|
||||||
|
*******************************************************************************/
|
||||||
|
package org.eclipse.tm.terminal.view.ui.actions;
|
||||||
|
|
||||||
|
import org.eclipse.jface.action.IAction;
|
||||||
|
import org.eclipse.tm.internal.terminal.control.actions.AbstractTerminalAction;
|
||||||
|
import org.eclipse.tm.terminal.view.ui.activator.UIPlugin;
|
||||||
|
import org.eclipse.tm.terminal.view.ui.interfaces.ITerminalsView;
|
||||||
|
import org.eclipse.tm.terminal.view.ui.interfaces.ImageConsts;
|
||||||
|
import org.eclipse.tm.terminal.view.ui.nls.Messages;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Opens a new terminal view with a new secondary view ID.
|
||||||
|
*/
|
||||||
|
public class NewTerminalViewAction extends AbstractTerminalAction {
|
||||||
|
|
||||||
|
private ITerminalsView view = null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructor.
|
||||||
|
*/
|
||||||
|
public NewTerminalViewAction(ITerminalsView view) {
|
||||||
|
super(null, NewTerminalViewAction.class.getName(), IAction.AS_PUSH_BUTTON);
|
||||||
|
|
||||||
|
this.view = view;
|
||||||
|
setupAction(Messages.NewTerminalViewAction_menu, Messages.NewTerminalViewAction_tooltip,
|
||||||
|
UIPlugin.getImageDescriptor(ImageConsts.ACTION_NewTerminalView_Hover),
|
||||||
|
UIPlugin.getImageDescriptor(ImageConsts.ACTION_NewTerminalView_Enabled),
|
||||||
|
UIPlugin.getImageDescriptor(ImageConsts.ACTION_NewTerminalView_Disabled), true);
|
||||||
|
setEnabled(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.eclipse.tm.internal.terminal.control.actions.AbstractTerminalAction#run()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -239,6 +239,13 @@ public class UIPlugin extends AbstractUIPlugin {
|
||||||
registry.put(ImageConsts.ACTION_ToggleCommandField_Enabled, ImageDescriptor.createFromURL(url));
|
registry.put(ImageConsts.ACTION_ToggleCommandField_Enabled, ImageDescriptor.createFromURL(url));
|
||||||
url = bundle.getEntry(ImageConsts.IMAGE_DIR_ROOT + ImageConsts.IMAGE_DIR_DLCL + "command_input_field.gif"); //$NON-NLS-1$
|
url = bundle.getEntry(ImageConsts.IMAGE_DIR_ROOT + ImageConsts.IMAGE_DIR_DLCL + "command_input_field.gif"); //$NON-NLS-1$
|
||||||
registry.put(ImageConsts.ACTION_ToggleCommandField_Disabled, ImageDescriptor.createFromURL(url));
|
registry.put(ImageConsts.ACTION_ToggleCommandField_Disabled, ImageDescriptor.createFromURL(url));
|
||||||
|
|
||||||
|
url = bundle.getEntry(ImageConsts.IMAGE_DIR_ROOT + ImageConsts.IMAGE_DIR_CLCL + "new_terminal_view.gif"); //$NON-NLS-1$
|
||||||
|
registry.put(ImageConsts.ACTION_NewTerminalView_Hover, ImageDescriptor.createFromURL(url));
|
||||||
|
url = bundle.getEntry(ImageConsts.IMAGE_DIR_ROOT + ImageConsts.IMAGE_DIR_ELCL + "new_terminal_view.gif"); //$NON-NLS-1$
|
||||||
|
registry.put(ImageConsts.ACTION_NewTerminalView_Enabled, ImageDescriptor.createFromURL(url));
|
||||||
|
url = bundle.getEntry(ImageConsts.IMAGE_DIR_ROOT + ImageConsts.IMAGE_DIR_DLCL + "new_terminal_view.gif"); //$NON-NLS-1$
|
||||||
|
registry.put(ImageConsts.ACTION_NewTerminalView_Disabled, ImageDescriptor.createFromURL(url));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -79,6 +79,21 @@ public interface ImageConsts {
|
||||||
*/
|
*/
|
||||||
public static final String ACTION_PinTerminal_Hover = "PinTerminalAction_hover"; //$NON-NLS-1$
|
public static final String ACTION_PinTerminal_Hover = "PinTerminalAction_hover"; //$NON-NLS-1$
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The key to access the new terminal view action image (enabled).
|
||||||
|
*/
|
||||||
|
public static final String ACTION_NewTerminalView_Enabled = "NewTerminalViewAction_enabled"; //$NON-NLS-1$
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The key to access the new terminal view action image (disabled).
|
||||||
|
*/
|
||||||
|
public static final String ACTION_NewTerminalView_Disabled = "NewTerminalViewAction_disabled"; //$NON-NLS-1$
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The key to access the new terminal view action image (hover).
|
||||||
|
*/
|
||||||
|
public static final String ACTION_NewTerminalView_Hover = "NewTerminalViewAction_hover"; //$NON-NLS-1$
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The key to access the toggle command field action image (enabled).
|
* The key to access the toggle command field action image (enabled).
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -73,6 +73,9 @@ public class Messages extends NLS {
|
||||||
public static String PinTerminalAction_menu;
|
public static String PinTerminalAction_menu;
|
||||||
public static String PinTerminalAction_toolTip;
|
public static String PinTerminalAction_toolTip;
|
||||||
|
|
||||||
|
public static String NewTerminalViewAction_menu;
|
||||||
|
public static String NewTerminalViewAction_tooltip;
|
||||||
|
|
||||||
public static String ToggleCommandFieldAction_menu;
|
public static String ToggleCommandFieldAction_menu;
|
||||||
public static String ToggleCommandFieldAction_toolTip;
|
public static String ToggleCommandFieldAction_toolTip;
|
||||||
|
|
||||||
|
|
|
@ -31,6 +31,9 @@ TabTerminalListener_consoleConnecting={0} : {1}...
|
||||||
PinTerminalAction_menu=Pin
|
PinTerminalAction_menu=Pin
|
||||||
PinTerminalAction_toolTip=Pin the Terminal View
|
PinTerminalAction_toolTip=Pin the Terminal View
|
||||||
|
|
||||||
|
NewTerminalViewAction_menu=New Terminal View
|
||||||
|
NewTerminalViewAction_tooltip=Opens a new Terminal View
|
||||||
|
|
||||||
ToggleCommandFieldAction_menu=Toggle Command Input Field
|
ToggleCommandFieldAction_menu=Toggle Command Input Field
|
||||||
ToggleCommandFieldAction_toolTip=Toggle Command Input Field
|
ToggleCommandFieldAction_toolTip=Toggle Command Input Field
|
||||||
|
|
||||||
|
|
|
@ -29,6 +29,7 @@ import org.eclipse.tm.internal.terminal.control.actions.TerminalActionCopy;
|
||||||
import org.eclipse.tm.internal.terminal.control.actions.TerminalActionPaste;
|
import org.eclipse.tm.internal.terminal.control.actions.TerminalActionPaste;
|
||||||
import org.eclipse.tm.internal.terminal.provisional.api.TerminalState;
|
import org.eclipse.tm.internal.terminal.provisional.api.TerminalState;
|
||||||
import org.eclipse.tm.terminal.view.ui.actions.AbstractAction;
|
import org.eclipse.tm.terminal.view.ui.actions.AbstractAction;
|
||||||
|
import org.eclipse.tm.terminal.view.ui.actions.NewTerminalViewAction;
|
||||||
import org.eclipse.tm.terminal.view.ui.actions.PinTerminalAction;
|
import org.eclipse.tm.terminal.view.ui.actions.PinTerminalAction;
|
||||||
import org.eclipse.tm.terminal.view.ui.actions.TabScrollLockAction;
|
import org.eclipse.tm.terminal.view.ui.actions.TabScrollLockAction;
|
||||||
import org.eclipse.tm.terminal.view.ui.actions.ToggleCommandFieldAction;
|
import org.eclipse.tm.terminal.view.ui.actions.ToggleCommandFieldAction;
|
||||||
|
@ -284,6 +285,17 @@ public class TabFolderToolbarHandler extends PlatformObject {
|
||||||
return getActiveTerminalViewControl();
|
return getActiveTerminalViewControl();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Create and add the new terminal view action
|
||||||
|
// add (new NewTerminalViewAction(getParentView()) {
|
||||||
|
// /* (non-Javadoc)
|
||||||
|
// * @see org.eclipse.tm.internal.terminal.control.actions.AbstractTerminalAction#getTarget()
|
||||||
|
// */
|
||||||
|
// @Override
|
||||||
|
// protected ITerminalViewControl getTarget() {
|
||||||
|
// return getActiveTerminalViewControl();
|
||||||
|
// }
|
||||||
|
// });
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -301,7 +313,8 @@ public class TabFolderToolbarHandler extends PlatformObject {
|
||||||
manager.add(new Separator("anchor")); //$NON-NLS-1$
|
manager.add(new Separator("anchor")); //$NON-NLS-1$
|
||||||
|
|
||||||
// we want that at the end
|
// we want that at the end
|
||||||
PinTerminalAction pinAction=null;
|
PinTerminalAction pinAction = null;
|
||||||
|
NewTerminalViewAction newTerminalAction = null;
|
||||||
|
|
||||||
// Loop all actions and add them to the menu manager
|
// Loop all actions and add them to the menu manager
|
||||||
for (AbstractTerminalAction action : toolbarActions) {
|
for (AbstractTerminalAction action : toolbarActions) {
|
||||||
|
@ -311,17 +324,25 @@ public class TabFolderToolbarHandler extends PlatformObject {
|
||||||
manager.insertAfter("anchor", new Separator()); //$NON-NLS-1$
|
manager.insertAfter("anchor", new Separator()); //$NON-NLS-1$
|
||||||
}
|
}
|
||||||
// skip pin action for now
|
// skip pin action for now
|
||||||
if(action instanceof PinTerminalAction){
|
if (action instanceof PinTerminalAction){
|
||||||
pinAction=(PinTerminalAction)action;
|
pinAction=(PinTerminalAction)action;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
// skip new terminal view action for now
|
||||||
|
if (action instanceof NewTerminalViewAction){
|
||||||
|
newTerminalAction = (NewTerminalViewAction)action;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
// Add the action itself
|
// Add the action itself
|
||||||
manager.insertAfter("anchor", action); //$NON-NLS-1$
|
manager.insertAfter("anchor", action); //$NON-NLS-1$
|
||||||
}
|
}
|
||||||
// now add pin at the end
|
// now add pin at the end
|
||||||
if(pinAction!=null){
|
if (pinAction != null){
|
||||||
manager.add(pinAction);
|
manager.add(pinAction);
|
||||||
}
|
}
|
||||||
|
if (newTerminalAction != null){
|
||||||
|
manager.add(newTerminalAction);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -337,7 +358,7 @@ public class TabFolderToolbarHandler extends PlatformObject {
|
||||||
// If the terminal control is not available, the updateAction
|
// If the terminal control is not available, the updateAction
|
||||||
// method of certain actions enable the action (bugzilla #260372).
|
// method of certain actions enable the action (bugzilla #260372).
|
||||||
// Workaround by forcing the action to get disabled with setEnabled.
|
// Workaround by forcing the action to get disabled with setEnabled.
|
||||||
if (control == null && !(action instanceof PinTerminalAction)) {
|
if (control == null && !(action instanceof PinTerminalAction) && !(action instanceof NewTerminalViewAction)) {
|
||||||
action.setEnabled(false);
|
action.setEnabled(false);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
Loading…
Add table
Reference in a new issue