1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-01 06:05:24 +02:00

bug 206221: [terminal] The preference setting "Limit terminal output" has no effect

https://bugs.eclipse.org/bugs/show_bug.cgi?id=206221
This commit is contained in:
Michael Scharf 2007-10-13 03:32:22 +00:00
parent 878abc5139
commit 60e7a1f2d6
2 changed files with 3 additions and 76 deletions

View file

@ -20,12 +20,6 @@ import org.eclipse.jface.preference.BooleanFieldEditor;
import org.eclipse.jface.preference.FieldEditorPreferencePage;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.IntegerFieldEditor;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPreferencePage;
@ -43,8 +37,6 @@ public class TerminalPreferencePage extends FieldEditorPreferencePage implements
public static final boolean DEFAULT_INVERT_COLORS = false;
protected TerminalBooleanFieldEditor fEditorLimitOutput;
protected BooleanFieldEditor fInvertColors;
protected IntegerFieldEditor fEditorBufferSize;
@ -55,41 +47,15 @@ public class TerminalPreferencePage extends FieldEditorPreferencePage implements
public TerminalPreferencePage() {
super(GRID);
}
public void onLimitOutputSelected() {
Button ctlButton;
Text ctlText;
Label ctlLabel;
boolean bEnabled;
ctlButton = fEditorLimitOutput.getChangeControl(getFieldEditorParent());
ctlText = fEditorBufferSize.getTextControl(getFieldEditorParent());
ctlLabel = fEditorBufferSize.getLabelControl(getFieldEditorParent());
bEnabled = ctlButton.getSelection();
ctlText.setEnabled(bEnabled);
ctlLabel.setEnabled(bEnabled);
}
protected void createFieldEditors() {
setupPage();
}
protected void initialize() {
super.initialize();
onLimitOutputSelected();
}
protected void performDefaults() {
super.performDefaults();
onLimitOutputSelected();
}
public void init(IWorkbench workbench) {
// do nothing
}
protected void setupPage() {
setupData();
setupEditors();
setupListeners();
}
protected void setupData() {
TerminalViewPlugin plugin;
@ -103,9 +69,6 @@ public class TerminalPreferencePage extends FieldEditorPreferencePage implements
fInvertColors = new BooleanFieldEditor(
PREF_INVERT_COLORS, ViewMessages.INVERT_COLORS,
getFieldEditorParent());
fEditorLimitOutput = new TerminalBooleanFieldEditor(
PREF_LIMITOUTPUT, ViewMessages.LIMITOUTPUT,
getFieldEditorParent());
fEditorBufferSize = new IntegerFieldEditor(PREF_BUFFERLINES,
ViewMessages.BUFFERLINES, getFieldEditorParent());
fEditorSerialTimeout = new IntegerFieldEditor(
@ -120,44 +83,8 @@ public class TerminalPreferencePage extends FieldEditorPreferencePage implements
fEditorNetworkTimeout.setValidRange(0, Integer.MAX_VALUE);
addField(fInvertColors);
addField(fEditorLimitOutput);
addField(fEditorBufferSize);
addField(fEditorSerialTimeout);
addField(fEditorNetworkTimeout);
}
protected void setupListeners() {
TerminalSelectionHandler selectionHandler;
Button ctlButton;
selectionHandler = new TerminalSelectionHandler();
ctlButton = fEditorLimitOutput.getChangeControl(getFieldEditorParent());
ctlButton.addSelectionListener(selectionHandler);
}
public class TerminalBooleanFieldEditor extends BooleanFieldEditor {
public TerminalBooleanFieldEditor(String strName, String strLabel,
Composite ctlParent) {
super(strName, strLabel, ctlParent);
}
public Button getChangeControl(Composite parent) {
return super.getChangeControl(parent);
}
}
protected class TerminalSelectionHandler extends SelectionAdapter {
protected TerminalSelectionHandler() {
super();
}
public void widgetSelected(SelectionEvent event) {
Object source;
Button ctlButton;
source = event.getSource();
ctlButton = fEditorLimitOutput
.getChangeControl(getFieldEditorParent());
if (source == ctlButton) {
onLimitOutputSelected();
}
}
}
}

View file

@ -163,10 +163,10 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi
*/
private void updatePreferences() {
Preferences preferences = TerminalViewPlugin.getDefault().getPluginPreferences();
boolean limitOutput = preferences.getBoolean(TerminalPreferencePage.PREF_LIMITOUTPUT);
// boolean limitOutput = preferences.getBoolean(TerminalPreferencePage.PREF_LIMITOUTPUT);
// if(!limitOutput)
// bufferLineLimit=-1;
int bufferLineLimit = preferences.getInt(TerminalPreferencePage.PREF_BUFFERLINES);
if(!limitOutput)
bufferLineLimit=-1;
fCtlTerminal.setBufferLineLimit(bufferLineLimit);
fCtlTerminal.setInvertedColors(preferences.getBoolean(TerminalPreferencePage.PREF_INVERT_COLORS));
}