mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-13 20:15:22 +02:00
UNFINISHED (does not work as expected) - bug 205486: [terminal] create a switch for scroll locking
https://bugs.eclipse.org/bugs/show_bug.cgi?id=205486
This commit is contained in:
parent
e48c0ba278
commit
36ae768f63
11 changed files with 151 additions and 60 deletions
|
@ -27,6 +27,9 @@ public class ActionMessages extends NLS {
|
||||||
public static String TOGGLE_COMMAND_INPUT_FIELD;
|
public static String TOGGLE_COMMAND_INPUT_FIELD;
|
||||||
public static String DISCONNECT;
|
public static String DISCONNECT;
|
||||||
public static String SETTINGS_ELLIPSE;
|
public static String SETTINGS_ELLIPSE;
|
||||||
|
public static String SCROLL_LOCK_0;
|
||||||
|
public static String SCROLL_LOCK_1;
|
||||||
|
|
||||||
public static String COPY;
|
public static String COPY;
|
||||||
public static String CUT;
|
public static String CUT;
|
||||||
public static String PASTE;
|
public static String PASTE;
|
||||||
|
|
|
@ -18,10 +18,12 @@ NEW_TERMINAL = New Terminal
|
||||||
CONNECT = Connect
|
CONNECT = Connect
|
||||||
DISCONNECT = Disconnect
|
DISCONNECT = Disconnect
|
||||||
SETTINGS_ELLIPSE = Settings...
|
SETTINGS_ELLIPSE = Settings...
|
||||||
|
SCROLL_LOCK_0 = Scroll &Lock
|
||||||
|
SCROLL_LOCK_1 = Scroll Lock
|
||||||
COPY = Copy
|
COPY = Copy
|
||||||
CUT = Cut
|
CUT = Cut
|
||||||
PASTE = Paste
|
PASTE = Paste
|
||||||
SELECTALL = Select All
|
SELECTALL = Select All
|
||||||
CLEARALL = Clear All
|
CLEARALL = Clear Terminal
|
||||||
SETTINGS = Settings
|
SETTINGS = Settings
|
||||||
TOGGLE_COMMAND_INPUT_FIELD= Toggle Command Input Field
|
TOGGLE_COMMAND_INPUT_FIELD= Toggle Command Input Field
|
||||||
|
|
|
@ -16,8 +16,8 @@
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.eclipse.tm.internal.terminal.actions;
|
package org.eclipse.tm.internal.terminal.actions;
|
||||||
|
|
||||||
import org.eclipse.jface.resource.ImageDescriptor;
|
|
||||||
import org.eclipse.tm.internal.terminal.view.ITerminalView;
|
import org.eclipse.tm.internal.terminal.view.ITerminalView;
|
||||||
|
import org.eclipse.tm.internal.terminal.view.ImageConsts;
|
||||||
|
|
||||||
public class TerminalActionClearAll extends TerminalAction
|
public class TerminalActionClearAll extends TerminalAction
|
||||||
{
|
{
|
||||||
|
@ -28,9 +28,9 @@ public class TerminalActionClearAll extends TerminalAction
|
||||||
|
|
||||||
setupAction(ActionMessages.CLEARALL,
|
setupAction(ActionMessages.CLEARALL,
|
||||||
ActionMessages.CLEARALL,
|
ActionMessages.CLEARALL,
|
||||||
(ImageDescriptor)null,
|
ImageConsts.IMAGE_CLCL_CLEAR_ALL,
|
||||||
null,
|
ImageConsts.IMAGE_ELCL_CLEAR_ALL,
|
||||||
null,
|
ImageConsts.IMAGE_DLCL_CLEAR_ALL,
|
||||||
false);
|
false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,41 @@
|
||||||
|
/*******************************************************************************
|
||||||
|
* Copyright (c) 2004, 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
|
||||||
|
*******************************************************************************/
|
||||||
|
package org.eclipse.tm.internal.terminal.actions;
|
||||||
|
|
||||||
|
import org.eclipse.jface.action.IAction;
|
||||||
|
import org.eclipse.tm.internal.terminal.view.ITerminalView;
|
||||||
|
import org.eclipse.tm.internal.terminal.view.ImageConsts;
|
||||||
|
|
||||||
|
public class TerminalActionScrollLock extends TerminalAction
|
||||||
|
{
|
||||||
|
public TerminalActionScrollLock(ITerminalView target)
|
||||||
|
{
|
||||||
|
super(target,
|
||||||
|
TerminalActionScrollLock.class.getName(),IAction.AS_RADIO_BUTTON);
|
||||||
|
|
||||||
|
setupAction(ActionMessages.SCROLL_LOCK_0,
|
||||||
|
ActionMessages.SCROLL_LOCK_1,
|
||||||
|
ImageConsts.IMAGE_CLCL_SCROLL_LOCK,
|
||||||
|
ImageConsts.IMAGE_ELCL_SCROLL_LOCK,
|
||||||
|
ImageConsts.IMAGE_DLCL_SCROLL_LOCK,
|
||||||
|
true);
|
||||||
|
}
|
||||||
|
public void run() {
|
||||||
|
fTarget.setScrollLock(!fTarget.isScrollLock());
|
||||||
|
setChecked(fTarget.isScrollLock());
|
||||||
|
}
|
||||||
|
}
|
|
@ -28,4 +28,6 @@ public interface ITerminalView {
|
||||||
public void onEditSelectAll();
|
public void onEditSelectAll();
|
||||||
public boolean hasCommandInputField();
|
public boolean hasCommandInputField();
|
||||||
public void setCommandInputField(boolean on);
|
public void setCommandInputField(boolean on);
|
||||||
|
public boolean isScrollLock();
|
||||||
|
public void setScrollLock(boolean b);
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,14 +33,20 @@ public interface ImageConsts
|
||||||
public static final String IMAGE_CLCL_CONNECT = "ImageClclConnect"; //$NON-NLS-1$
|
public static final String IMAGE_CLCL_CONNECT = "ImageClclConnect"; //$NON-NLS-1$
|
||||||
public static final String IMAGE_CLCL_DISCONNECT = "ImageClclDisconnect"; //$NON-NLS-1$
|
public static final String IMAGE_CLCL_DISCONNECT = "ImageClclDisconnect"; //$NON-NLS-1$
|
||||||
public static final String IMAGE_CLCL_SETTINGS = "ImageClclSettings"; //$NON-NLS-1$
|
public static final String IMAGE_CLCL_SETTINGS = "ImageClclSettings"; //$NON-NLS-1$
|
||||||
|
public static final String IMAGE_CLCL_CLEAR_ALL = "ImageClclClearAll"; //$NON-NLS-1$
|
||||||
|
public static final String IMAGE_CLCL_SCROLL_LOCK = "ImageClclScrollLock"; //$NON-NLS-1$
|
||||||
|
|
||||||
public static final String IMAGE_DLCL_CONNECT = "ImageDlclConnect"; //$NON-NLS-1$
|
public static final String IMAGE_DLCL_CONNECT = "ImageDlclConnect"; //$NON-NLS-1$
|
||||||
public static final String IMAGE_DLCL_DISCONNECT = "ImageDlclDisconnect"; //$NON-NLS-1$
|
public static final String IMAGE_DLCL_DISCONNECT = "ImageDlclDisconnect"; //$NON-NLS-1$
|
||||||
public static final String IMAGE_DLCL_SETTINGS = "ImageDlclSettings"; //$NON-NLS-1$
|
public static final String IMAGE_DLCL_SETTINGS = "ImageDlclSettings"; //$NON-NLS-1$
|
||||||
|
public static final String IMAGE_DLCL_CLEAR_ALL = "ImageDlclClearAll"; //$NON-NLS-1$
|
||||||
|
public static final String IMAGE_DLCL_SCROLL_LOCK = "ImageDlclScrollLock"; //$NON-NLS-1$
|
||||||
|
|
||||||
public static final String IMAGE_ELCL_CONNECT = "ImageElclConnect"; //$NON-NLS-1$
|
public static final String IMAGE_ELCL_CONNECT = "ImageElclConnect"; //$NON-NLS-1$
|
||||||
public static final String IMAGE_ELCL_DISCONNECT = "ImageElclDisconnect"; //$NON-NLS-1$
|
public static final String IMAGE_ELCL_DISCONNECT = "ImageElclDisconnect"; //$NON-NLS-1$
|
||||||
public static final String IMAGE_ELCL_SETTINGS = "ImageElclSettings"; //$NON-NLS-1$
|
public static final String IMAGE_ELCL_SETTINGS = "ImageElclSettings"; //$NON-NLS-1$
|
||||||
|
public static final String IMAGE_ELCL_CLEAR_ALL = "ImageElclClearAll"; //$NON-NLS-1$
|
||||||
|
public static final String IMAGE_ELCL_SCROLL_LOCK = "ImageElclScrollLock"; //$NON-NLS-1$
|
||||||
public static final String IMAGE_CLCL_COMMAND_INPUT_FIELD = "ImageClclCommandInputField";//$NON-NLS-1$
|
public static final String IMAGE_CLCL_COMMAND_INPUT_FIELD = "ImageClclCommandInputField";//$NON-NLS-1$
|
||||||
public static final String IMAGE_ELCL_COMMAND_INPUT_FIELD = "ImageDlclCommandInputField";//$NON-NLS-1$
|
public static final String IMAGE_ELCL_COMMAND_INPUT_FIELD = "ImageDlclCommandInputField";//$NON-NLS-1$
|
||||||
public static final String IMAGE_DLCL_COMMAND_INPUT_FIELD = "ImageDlclCommandInputField";//$NON-NLS-1$
|
public static final String IMAGE_DLCL_COMMAND_INPUT_FIELD = "ImageDlclCommandInputField";//$NON-NLS-1$
|
||||||
|
|
|
@ -88,6 +88,8 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi
|
||||||
|
|
||||||
protected TerminalAction fActionTerminalConnect;
|
protected TerminalAction fActionTerminalConnect;
|
||||||
|
|
||||||
|
// private TerminalAction fActionTerminalScrollLock;
|
||||||
|
|
||||||
protected TerminalAction fActionTerminalDisconnect;
|
protected TerminalAction fActionTerminalDisconnect;
|
||||||
|
|
||||||
protected TerminalAction fActionTerminalSettings;
|
protected TerminalAction fActionTerminalSettings;
|
||||||
|
@ -125,7 +127,6 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
public TerminalView() {
|
public TerminalView() {
|
||||||
Logger
|
Logger
|
||||||
.log("==============================================================="); //$NON-NLS-1$
|
.log("==============================================================="); //$NON-NLS-1$
|
||||||
|
@ -509,6 +510,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi
|
||||||
|
|
||||||
protected void setupActions() {
|
protected void setupActions() {
|
||||||
fActionTerminalNewTerminal = new TerminalActionNewTerminal(this);
|
fActionTerminalNewTerminal = new TerminalActionNewTerminal(this);
|
||||||
|
// fActionTerminalScrollLock = new TerminalActionScrollLock(this);
|
||||||
fActionTerminalConnect = new TerminalActionConnect(this);
|
fActionTerminalConnect = new TerminalActionConnect(this);
|
||||||
fActionTerminalDisconnect = new TerminalActionDisconnect(this);
|
fActionTerminalDisconnect = new TerminalActionDisconnect(this);
|
||||||
fActionTerminalSettings = new TerminalActionSettings(this);
|
fActionTerminalSettings = new TerminalActionSettings(this);
|
||||||
|
@ -552,6 +554,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi
|
||||||
IToolBarManager toolBarMgr = getViewSite().getActionBars().getToolBarManager();
|
IToolBarManager toolBarMgr = getViewSite().getActionBars().getToolBarManager();
|
||||||
|
|
||||||
toolBarMgr.add(fActionTerminalNewTerminal);
|
toolBarMgr.add(fActionTerminalNewTerminal);
|
||||||
|
// toolBarMgr.add(fActionTerminalScrollLock);
|
||||||
toolBarMgr.add(fActionTerminalConnect);
|
toolBarMgr.add(fActionTerminalConnect);
|
||||||
toolBarMgr.add(fActionTerminalDisconnect);
|
toolBarMgr.add(fActionTerminalDisconnect);
|
||||||
toolBarMgr.add(fActionTerminalSettings);
|
toolBarMgr.add(fActionTerminalSettings);
|
||||||
|
@ -581,7 +584,10 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi
|
||||||
menuMgr.add(new Separator());
|
menuMgr.add(new Separator());
|
||||||
menuMgr.add(fActionEditClearAll);
|
menuMgr.add(fActionEditClearAll);
|
||||||
menuMgr.add(fActionEditSelectAll);
|
menuMgr.add(fActionEditSelectAll);
|
||||||
|
menuMgr.add(new Separator());
|
||||||
menuMgr.add(fActionToggleCommandInputField);
|
menuMgr.add(fActionToggleCommandInputField);
|
||||||
|
// menuMgr.add(fActionTerminalScrollLock);
|
||||||
|
|
||||||
|
|
||||||
// Other plug-ins can contribute there actions here
|
// Other plug-ins can contribute there actions here
|
||||||
menuMgr.add(new Separator("Additions")); //$NON-NLS-1$
|
menuMgr.add(new Separator("Additions")); //$NON-NLS-1$
|
||||||
|
@ -744,4 +750,12 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi
|
||||||
}
|
}
|
||||||
fCtlTerminal.setCommandInputField(fCommandInputField);
|
fCtlTerminal.setCommandInputField(fCommandInputField);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isScrollLock() {
|
||||||
|
return fCtlTerminal.isScrollLock();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setScrollLock(boolean on) {
|
||||||
|
fCtlTerminal.setScrollLock(on);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -48,6 +48,8 @@ public class TerminalViewPlugin extends AbstractUIPlugin {
|
||||||
map.put(ImageConsts.IMAGE_CLCL_DISCONNECT, "disconnect_co.gif"); //$NON-NLS-1$
|
map.put(ImageConsts.IMAGE_CLCL_DISCONNECT, "disconnect_co.gif"); //$NON-NLS-1$
|
||||||
map.put(ImageConsts.IMAGE_CLCL_SETTINGS, "properties_tsk.gif"); //$NON-NLS-1$
|
map.put(ImageConsts.IMAGE_CLCL_SETTINGS, "properties_tsk.gif"); //$NON-NLS-1$
|
||||||
map.put(ImageConsts.IMAGE_CLCL_COMMAND_INPUT_FIELD, "command_input_field.gif"); //$NON-NLS-1$
|
map.put(ImageConsts.IMAGE_CLCL_COMMAND_INPUT_FIELD, "command_input_field.gif"); //$NON-NLS-1$
|
||||||
|
map.put(ImageConsts.IMAGE_CLCL_SCROLL_LOCK, "lock_co.gif"); //$NON-NLS-1$
|
||||||
|
map.put(ImageConsts.IMAGE_CLCL_CLEAR_ALL, "clear_co.gif"); //$NON-NLS-1$
|
||||||
|
|
||||||
loadImageRegistry(imageRegistry, ImageConsts.IMAGE_DIR_LOCALTOOL, map);
|
loadImageRegistry(imageRegistry, ImageConsts.IMAGE_DIR_LOCALTOOL, map);
|
||||||
|
|
||||||
|
@ -59,6 +61,8 @@ public class TerminalViewPlugin extends AbstractUIPlugin {
|
||||||
map.put(ImageConsts.IMAGE_ELCL_DISCONNECT, "disconnect_co.gif"); //$NON-NLS-1$
|
map.put(ImageConsts.IMAGE_ELCL_DISCONNECT, "disconnect_co.gif"); //$NON-NLS-1$
|
||||||
map.put(ImageConsts.IMAGE_ELCL_SETTINGS, "properties_tsk.gif"); //$NON-NLS-1$
|
map.put(ImageConsts.IMAGE_ELCL_SETTINGS, "properties_tsk.gif"); //$NON-NLS-1$
|
||||||
map.put(ImageConsts.IMAGE_ELCL_COMMAND_INPUT_FIELD, "command_input_field.gif"); //$NON-NLS-1$
|
map.put(ImageConsts.IMAGE_ELCL_COMMAND_INPUT_FIELD, "command_input_field.gif"); //$NON-NLS-1$
|
||||||
|
map.put(ImageConsts.IMAGE_ELCL_SCROLL_LOCK, "lock_co.gif"); //$NON-NLS-1$
|
||||||
|
map.put(ImageConsts.IMAGE_ELCL_CLEAR_ALL, "clear_co.gif"); //$NON-NLS-1$
|
||||||
|
|
||||||
loadImageRegistry(imageRegistry, ImageConsts.IMAGE_DIR_ELCL, map);
|
loadImageRegistry(imageRegistry, ImageConsts.IMAGE_DIR_ELCL, map);
|
||||||
|
|
||||||
|
@ -70,6 +74,8 @@ public class TerminalViewPlugin extends AbstractUIPlugin {
|
||||||
map.put(ImageConsts.IMAGE_DLCL_DISCONNECT, "disconnect_co.gif"); //$NON-NLS-1$
|
map.put(ImageConsts.IMAGE_DLCL_DISCONNECT, "disconnect_co.gif"); //$NON-NLS-1$
|
||||||
map.put(ImageConsts.IMAGE_DLCL_SETTINGS, "properties_tsk.gif"); //$NON-NLS-1$
|
map.put(ImageConsts.IMAGE_DLCL_SETTINGS, "properties_tsk.gif"); //$NON-NLS-1$
|
||||||
map.put(ImageConsts.IMAGE_DLCL_COMMAND_INPUT_FIELD, "command_input_field.gif"); //$NON-NLS-1$
|
map.put(ImageConsts.IMAGE_DLCL_COMMAND_INPUT_FIELD, "command_input_field.gif"); //$NON-NLS-1$
|
||||||
|
map.put(ImageConsts.IMAGE_DLCL_SCROLL_LOCK, "lock_co.gif"); //$NON-NLS-1$
|
||||||
|
map.put(ImageConsts.IMAGE_DLCL_CLEAR_ALL, "clear_co.gif"); //$NON-NLS-1$
|
||||||
|
|
||||||
loadImageRegistry(imageRegistry, ImageConsts.IMAGE_DIR_DLCL, map);
|
loadImageRegistry(imageRegistry, ImageConsts.IMAGE_DIR_DLCL, map);
|
||||||
|
|
||||||
|
|
|
@ -73,4 +73,6 @@ public interface ITerminalViewControl {
|
||||||
* in the terminal view. -1 means unlimited.
|
* in the terminal view. -1 means unlimited.
|
||||||
*/
|
*/
|
||||||
public void setBufferLineLimit(int bufferLineLimit);
|
public void setBufferLineLimit(int bufferLineLimit);
|
||||||
|
boolean isScrollLock();
|
||||||
|
void setScrollLock(boolean on);
|
||||||
}
|
}
|
|
@ -85,7 +85,7 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro
|
||||||
private Clipboard fClipboard;
|
private Clipboard fClipboard;
|
||||||
private TerminalModifyListener fModifyListener;
|
private TerminalModifyListener fModifyListener;
|
||||||
private KeyListener fKeyHandler;
|
private KeyListener fKeyHandler;
|
||||||
private ITerminalListener fTerminalListener;
|
private final ITerminalListener fTerminalListener;
|
||||||
private String fMsg = ""; //$NON-NLS-1$
|
private String fMsg = ""; //$NON-NLS-1$
|
||||||
private VerifyKeyListener fVerifyKeyListener;
|
private VerifyKeyListener fVerifyKeyListener;
|
||||||
private FocusListener fFocusListener;
|
private FocusListener fFocusListener;
|
||||||
|
@ -862,4 +862,11 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isScrollLock() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setScrollLock(boolean on) {
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -87,13 +87,13 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
|
||||||
* text processing on data received from the remote host and controls how text is
|
* text processing on data received from the remote host and controls how text is
|
||||||
* displayed using the view's StyledText widget.
|
* displayed using the view's StyledText widget.
|
||||||
*/
|
*/
|
||||||
private VT100Emulator fTerminalText;
|
private final VT100Emulator fTerminalText;
|
||||||
private Display fDisplay;
|
private Display fDisplay;
|
||||||
private TextCanvas fCtlText;
|
private TextCanvas fCtlText;
|
||||||
private Composite fWndParent;
|
private Composite fWndParent;
|
||||||
private Clipboard fClipboard;
|
private Clipboard fClipboard;
|
||||||
private KeyListener fKeyHandler;
|
private KeyListener fKeyHandler;
|
||||||
private ITerminalListener fTerminalListener;
|
private final ITerminalListener fTerminalListener;
|
||||||
private String fMsg = ""; //$NON-NLS-1$
|
private String fMsg = ""; //$NON-NLS-1$
|
||||||
private FocusListener fFocusListener;
|
private FocusListener fFocusListener;
|
||||||
private ITerminalConnectorInfo fConnectorInfo;
|
private ITerminalConnectorInfo fConnectorInfo;
|
||||||
|
@ -104,7 +104,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
|
||||||
|
|
||||||
private volatile TerminalState fState;
|
private volatile TerminalState fState;
|
||||||
|
|
||||||
private ITerminalTextData fTerminalModel;
|
private final ITerminalTextData fTerminalModel;
|
||||||
|
|
||||||
volatile private Job fJob;
|
volatile private Job fJob;
|
||||||
|
|
||||||
|
@ -898,4 +898,12 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
|
||||||
fTerminalModel.setMaxHeight(bufferLineLimit);
|
fTerminalModel.setMaxHeight(bufferLineLimit);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isScrollLock() {
|
||||||
|
return fCtlText.isScrollLock();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setScrollLock(boolean on) {
|
||||||
|
fCtlText.setScrollLock(on);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue