1
0
Fork 0
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:
Michael Scharf 2007-10-11 20:00:56 +00:00
parent e48c0ba278
commit 36ae768f63
11 changed files with 151 additions and 60 deletions

View file

@ -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;

View file

@ -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

View file

@ -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);
} }

View file

@ -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());
}
}

View file

@ -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);
} }

View file

@ -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$

View file

@ -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);
}
} }

View file

@ -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);

View file

@ -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);
} }

View file

@ -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) {
}
} }

View file

@ -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);
}
} }