mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-13 12:05:21 +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 DISCONNECT;
|
||||
public static String SETTINGS_ELLIPSE;
|
||||
public static String SCROLL_LOCK_0;
|
||||
public static String SCROLL_LOCK_1;
|
||||
|
||||
public static String COPY;
|
||||
public static String CUT;
|
||||
public static String PASTE;
|
||||
|
|
|
@ -18,10 +18,12 @@ NEW_TERMINAL = New Terminal
|
|||
CONNECT = Connect
|
||||
DISCONNECT = Disconnect
|
||||
SETTINGS_ELLIPSE = Settings...
|
||||
SCROLL_LOCK_0 = Scroll &Lock
|
||||
SCROLL_LOCK_1 = Scroll Lock
|
||||
COPY = Copy
|
||||
CUT = Cut
|
||||
PASTE = Paste
|
||||
SELECTALL = Select All
|
||||
CLEARALL = Clear All
|
||||
CLEARALL = Clear Terminal
|
||||
SETTINGS = Settings
|
||||
TOGGLE_COMMAND_INPUT_FIELD= Toggle Command Input Field
|
||||
|
|
|
@ -16,8 +16,8 @@
|
|||
*******************************************************************************/
|
||||
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.ImageConsts;
|
||||
|
||||
public class TerminalActionClearAll extends TerminalAction
|
||||
{
|
||||
|
@ -28,9 +28,9 @@ public class TerminalActionClearAll extends TerminalAction
|
|||
|
||||
setupAction(ActionMessages.CLEARALL,
|
||||
ActionMessages.CLEARALL,
|
||||
(ImageDescriptor)null,
|
||||
null,
|
||||
null,
|
||||
ImageConsts.IMAGE_CLCL_CLEAR_ALL,
|
||||
ImageConsts.IMAGE_ELCL_CLEAR_ALL,
|
||||
ImageConsts.IMAGE_DLCL_CLEAR_ALL,
|
||||
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 boolean hasCommandInputField();
|
||||
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_DISCONNECT = "ImageClclDisconnect"; //$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_DISCONNECT = "ImageDlclDisconnect"; //$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_DISCONNECT = "ImageElclDisconnect"; //$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_ELCL_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;
|
||||
|
||||
// private TerminalAction fActionTerminalScrollLock;
|
||||
|
||||
protected TerminalAction fActionTerminalDisconnect;
|
||||
|
||||
protected TerminalAction fActionTerminalSettings;
|
||||
|
@ -125,7 +127,6 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi
|
|||
}
|
||||
}
|
||||
};
|
||||
|
||||
public TerminalView() {
|
||||
Logger
|
||||
.log("==============================================================="); //$NON-NLS-1$
|
||||
|
@ -509,6 +510,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi
|
|||
|
||||
protected void setupActions() {
|
||||
fActionTerminalNewTerminal = new TerminalActionNewTerminal(this);
|
||||
// fActionTerminalScrollLock = new TerminalActionScrollLock(this);
|
||||
fActionTerminalConnect = new TerminalActionConnect(this);
|
||||
fActionTerminalDisconnect = new TerminalActionDisconnect(this);
|
||||
fActionTerminalSettings = new TerminalActionSettings(this);
|
||||
|
@ -552,6 +554,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi
|
|||
IToolBarManager toolBarMgr = getViewSite().getActionBars().getToolBarManager();
|
||||
|
||||
toolBarMgr.add(fActionTerminalNewTerminal);
|
||||
// toolBarMgr.add(fActionTerminalScrollLock);
|
||||
toolBarMgr.add(fActionTerminalConnect);
|
||||
toolBarMgr.add(fActionTerminalDisconnect);
|
||||
toolBarMgr.add(fActionTerminalSettings);
|
||||
|
@ -581,7 +584,10 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi
|
|||
menuMgr.add(new Separator());
|
||||
menuMgr.add(fActionEditClearAll);
|
||||
menuMgr.add(fActionEditSelectAll);
|
||||
menuMgr.add(new Separator());
|
||||
menuMgr.add(fActionToggleCommandInputField);
|
||||
// menuMgr.add(fActionTerminalScrollLock);
|
||||
|
||||
|
||||
// Other plug-ins can contribute there actions here
|
||||
menuMgr.add(new Separator("Additions")); //$NON-NLS-1$
|
||||
|
@ -744,4 +750,12 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi
|
|||
}
|
||||
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_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_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);
|
||||
|
||||
|
@ -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_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_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);
|
||||
|
||||
|
@ -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_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_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);
|
||||
|
||||
|
|
|
@ -73,4 +73,6 @@ public interface ITerminalViewControl {
|
|||
* in the terminal view. -1 means unlimited.
|
||||
*/
|
||||
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 TerminalModifyListener fModifyListener;
|
||||
private KeyListener fKeyHandler;
|
||||
private ITerminalListener fTerminalListener;
|
||||
private final ITerminalListener fTerminalListener;
|
||||
private String fMsg = ""; //$NON-NLS-1$
|
||||
private VerifyKeyListener fVerifyKeyListener;
|
||||
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
|
||||
* displayed using the view's StyledText widget.
|
||||
*/
|
||||
private VT100Emulator fTerminalText;
|
||||
private final VT100Emulator fTerminalText;
|
||||
private Display fDisplay;
|
||||
private TextCanvas fCtlText;
|
||||
private Composite fWndParent;
|
||||
private Clipboard fClipboard;
|
||||
private KeyListener fKeyHandler;
|
||||
private ITerminalListener fTerminalListener;
|
||||
private final ITerminalListener fTerminalListener;
|
||||
private String fMsg = ""; //$NON-NLS-1$
|
||||
private FocusListener fFocusListener;
|
||||
private ITerminalConnectorInfo fConnectorInfo;
|
||||
|
@ -104,7 +104,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
|
|||
|
||||
private volatile TerminalState fState;
|
||||
|
||||
private ITerminalTextData fTerminalModel;
|
||||
private final ITerminalTextData fTerminalModel;
|
||||
|
||||
volatile private Job fJob;
|
||||
|
||||
|
@ -898,4 +898,12 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
|
|||
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