Update to gclc-2.0.1
Signed-off-by: Emmanuel Bigeon <emmanuel@bigeon.fr>
This commit is contained in:
parent
d2cd059c01
commit
206df88506
@ -1,4 +1,35 @@
|
|||||||
|
|
||||||
|
<!-- GCLC swt, provide a swt window for console applications -->
|
||||||
|
<!-- Copyright (C) 2015-2017 E. Bigeon -->
|
||||||
|
<!-- mailto:emmanuel@bigeon.fr -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- This software is governed by the CeCILL license under French law and -->
|
||||||
|
<!-- abiding by the rules of distribution of free software. You can use, -->
|
||||||
|
<!-- modify and/or redistribute the software under the terms of the CeCILL -->
|
||||||
|
<!-- license as circulated by CEA, CNRS and INRIA at the following URL -->
|
||||||
|
<!-- "http://www.cecill.info". -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- As a counterpart to the access to the source code and rights to copy, -->
|
||||||
|
<!-- modify and redistribute granted by the license, users are provided only -->
|
||||||
|
<!-- with a limited warranty and the software's author, the holder of the -->
|
||||||
|
<!-- economic rights, and the successive licensors have only limited -->
|
||||||
|
<!-- liability. -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- In this respect, the user's attention is drawn to the risks associated -->
|
||||||
|
<!-- with loading, using, modifying and/or developing or reproducing the -->
|
||||||
|
<!-- software by the user in light of its specific status of free software, -->
|
||||||
|
<!-- that may mean that it is complicated to manipulate, and that also -->
|
||||||
|
<!-- therefore means that it is reserved for developers and experienced -->
|
||||||
|
<!-- professionals having in-depth computer knowledge. Users are therefore -->
|
||||||
|
<!-- encouraged to load and test the software's suitability as regards their -->
|
||||||
|
<!-- requirements in conditions enabling the security of their systems and/or -->
|
||||||
|
<!-- data to be ensured and, more generally, to use and operate it in the -->
|
||||||
|
<!-- same conditions as regards security. -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- The fact that you are presently reading this means that you have had -->
|
||||||
|
<!-- knowledge of the CeCILL license and that you accept its terms. -->
|
||||||
|
|
||||||
|
|
||||||
<!-- Copyright E. Bigeon (2015) -->
|
<!-- Copyright E. Bigeon (2015) -->
|
||||||
<!-- -->
|
<!-- -->
|
||||||
<!-- emmanuel@bigeon.fr -->
|
<!-- emmanuel@bigeon.fr -->
|
||||||
@ -51,7 +82,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>fr.bigeon</groupId>
|
<groupId>fr.bigeon</groupId>
|
||||||
<artifactId>gclc</artifactId>
|
<artifactId>gclc</artifactId>
|
||||||
<version>2.0.0</version>
|
<version>2.0.1</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>fr.bigeon</groupId>
|
<groupId>fr.bigeon</groupId>
|
||||||
|
@ -1,10 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright E. Bigeon (2015)
|
* GCLC swt, provide a swt window for console applications
|
||||||
*
|
* Copyright (C) 2015-2017 E. Bigeon
|
||||||
* emmanuel@bigeon.fr
|
* mailto:emmanuel@bigeon.fr
|
||||||
*
|
|
||||||
* This software is a computer program whose purpose is to
|
|
||||||
* provide a swt window for console applications.
|
|
||||||
*
|
*
|
||||||
* This software is governed by the CeCILL license under French law and
|
* This software is governed by the CeCILL license under French law and
|
||||||
* abiding by the rules of distribution of free software. You can use,
|
* abiding by the rules of distribution of free software. You can use,
|
||||||
@ -46,12 +43,15 @@ package fr.bigeon.gclc.swt;
|
|||||||
*
|
*
|
||||||
* @author Emmanuel Bigeon */
|
* @author Emmanuel Bigeon */
|
||||||
public interface ConsoleDelayIO {
|
public interface ConsoleDelayIO {
|
||||||
/** Actually send the input as the prompt next input. */
|
/** Get the input text.
|
||||||
void validateInput();
|
* @return the non validated input */
|
||||||
|
String getInput();
|
||||||
|
|
||||||
/** @param input the input to set */
|
/** Set the input text.
|
||||||
|
*
|
||||||
|
* @param input the input to set */
|
||||||
void setInput(String input);
|
void setInput(String input);
|
||||||
|
|
||||||
/** @return the non validated input */
|
/** Actually send the input as the prompt next input. */
|
||||||
String getInput();
|
void validateInput();
|
||||||
}
|
}
|
||||||
|
@ -1,10 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright E. Bigeon (2015)
|
* GCLC swt, provide a swt window for console applications
|
||||||
*
|
* Copyright (C) 2015-2017 E. Bigeon
|
||||||
* emmanuel@bigeon.fr
|
* mailto:emmanuel@bigeon.fr
|
||||||
*
|
|
||||||
* This software is a computer program whose purpose is to
|
|
||||||
* provide a swt window for console applications.
|
|
||||||
*
|
*
|
||||||
* This software is governed by the CeCILL license under French law and
|
* This software is governed by the CeCILL license under French law and
|
||||||
* abiding by the rules of distribution of free software. You can use,
|
* abiding by the rules of distribution of free software. You can use,
|
||||||
@ -45,40 +42,46 @@ import org.eclipse.swt.events.KeyEvent;
|
|||||||
import fr.bigeon.collections.ArrayRibbon;
|
import fr.bigeon.collections.ArrayRibbon;
|
||||||
import fr.bigeon.collections.Ribbon;
|
import fr.bigeon.collections.Ribbon;
|
||||||
|
|
||||||
/** A key listener to validate commands and manage the history of commands
|
/** A key listener to validate commands and manage the history of commands.
|
||||||
*
|
*
|
||||||
* @author Emmanuel Bigeon */
|
* @author Emmanuel Bigeon */
|
||||||
public final class HistoryTextKeyListener extends KeyAdapter {
|
public final class HistoryTextKeyListener extends KeyAdapter {
|
||||||
|
|
||||||
/** The size of commands history */
|
/** The size of commands history. */
|
||||||
private static final int DEFAULT_HISTORY_SIZE = 10;
|
private static final int DEFAULT_HISTORY_SIZE = 10;
|
||||||
/** The empty string constant */
|
/** The empty string constant. */
|
||||||
private static final String EMPTY = ""; //$NON-NLS-1$
|
private static final String EMPTY = ""; //$NON-NLS-1$
|
||||||
/** The history ribbon */
|
/** The history ribbon. */
|
||||||
private final Ribbon<String> commands;
|
private final Ribbon<String> commands;
|
||||||
/** The current index in history search */
|
/** The current index in history search. */
|
||||||
private int currentIndex = 0;
|
private int currentIndex = 0;
|
||||||
/** The console to notify of command validation */
|
/** The console to notify of command validation. */
|
||||||
private final ConsoleDelayIO console;
|
private final ConsoleDelayIO console;
|
||||||
|
|
||||||
/** @param console the console delayed */
|
/** Create the key listener that cycle the history.
|
||||||
public HistoryTextKeyListener(ConsoleDelayIO console) {
|
*
|
||||||
|
* @param console the console delayed */
|
||||||
|
public HistoryTextKeyListener(final ConsoleDelayIO console) {
|
||||||
super();
|
super();
|
||||||
this.console = console;
|
this.console = console;
|
||||||
this.commands = new ArrayRibbon<>(DEFAULT_HISTORY_SIZE);
|
commands = new ArrayRibbon<>(DEFAULT_HISTORY_SIZE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.eclipse.swt.events.KeyAdapter#keyPressed(org.eclipse.swt.events.
|
||||||
|
* KeyEvent) */
|
||||||
@Override
|
@Override
|
||||||
public void keyPressed(KeyEvent e) {
|
public void keyPressed(final KeyEvent e) {
|
||||||
|
|
||||||
pressedKeyCode(e.keyCode);
|
pressedKeyCode(e.keyCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @param keyCode the pressed key code */
|
/** Indicate a pressed key combination.
|
||||||
public void pressedKeyCode(int keyCode) {
|
*
|
||||||
|
* @param keyCode the pressed key code */
|
||||||
|
public void pressedKeyCode(final int keyCode) {
|
||||||
// Enter validates the command if prompting
|
// Enter validates the command if prompting
|
||||||
if (keyCode == '\r') {
|
if (keyCode == '\r') {
|
||||||
String input = console.getInput();
|
final String input = console.getInput();
|
||||||
if (!input.isEmpty()) {
|
if (!input.isEmpty()) {
|
||||||
commands.add(input);
|
commands.add(input);
|
||||||
}
|
}
|
||||||
@ -90,7 +93,7 @@ public final class HistoryTextKeyListener extends KeyAdapter {
|
|||||||
if (keyCode == SWT.ARROW_UP &&
|
if (keyCode == SWT.ARROW_UP &&
|
||||||
currentIndex < commands.size() - 1) {
|
currentIndex < commands.size() - 1) {
|
||||||
currentIndex++;
|
currentIndex++;
|
||||||
String cmd = commands.get(commands.size() - currentIndex - 1);
|
final String cmd = commands.get(commands.size() - currentIndex - 1);
|
||||||
console.setInput(cmd);
|
console.setInput(cmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -100,7 +103,7 @@ public final class HistoryTextKeyListener extends KeyAdapter {
|
|||||||
currentIndex--;
|
currentIndex--;
|
||||||
console.setInput(EMPTY);
|
console.setInput(EMPTY);
|
||||||
} else if (currentIndex > 0) {
|
} else if (currentIndex > 0) {
|
||||||
String cmd = commands
|
final String cmd = commands
|
||||||
.get(commands.size() - (--currentIndex) - 1);
|
.get(commands.size() - (--currentIndex) - 1);
|
||||||
console.setInput(cmd);
|
console.setInput(cmd);
|
||||||
}
|
}
|
||||||
|
@ -1,10 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright E. Bigeon (2015)
|
* GCLC swt, provide a swt window for console applications
|
||||||
*
|
* Copyright (C) 2015-2017 E. Bigeon
|
||||||
* emmanuel@bigeon.fr
|
* mailto:emmanuel@bigeon.fr
|
||||||
*
|
|
||||||
* This software is a computer program whose purpose is to
|
|
||||||
* provide a swt window for console applications.
|
|
||||||
*
|
*
|
||||||
* This software is governed by the CeCILL license under French law and
|
* This software is governed by the CeCILL license under French law and
|
||||||
* abiding by the rules of distribution of free software. You can use,
|
* abiding by the rules of distribution of free software. You can use,
|
||||||
@ -54,36 +51,34 @@ import fr.bigeon.gclc.ConsoleApplication;
|
|||||||
import fr.bigeon.gclc.manager.ConsoleInput;
|
import fr.bigeon.gclc.manager.ConsoleInput;
|
||||||
import fr.bigeon.gclc.manager.ConsoleOutput;
|
import fr.bigeon.gclc.manager.ConsoleOutput;
|
||||||
|
|
||||||
/** A SWT component to connect to gclc {@link ConsoleApplication}
|
/** A SWT component to connect to gclc {@link ConsoleApplication}.
|
||||||
* <p>
|
* <p>
|
||||||
*
|
*
|
||||||
* @author Emmanuel Bigeon */
|
* @author Emmanuel Bigeon */
|
||||||
public class SWTConsole extends Composite
|
public final class SWTConsole extends Composite
|
||||||
implements ConsoleDelayIO, ConsoleInput, ConsoleOutput {
|
implements ConsoleDelayIO, ConsoleInput, ConsoleOutput {
|
||||||
/**
|
/** The number of columns of the layout. */
|
||||||
*
|
|
||||||
*/
|
|
||||||
private static final int LAYOUT_NB_COLUMNS = 2;
|
private static final int LAYOUT_NB_COLUMNS = 2;
|
||||||
/** The cmd prefix in the output console */
|
/** The cmd prefix in the output console. */
|
||||||
private static final String CMD_PREFIX = "[CMD] "; //$NON-NLS-1$
|
private static final String CMD_PREFIX = "[CMD] "; //$NON-NLS-1$
|
||||||
/** The class logger */
|
/** The class logger. */
|
||||||
private static final Logger LOGGER = Logger
|
private static final Logger LOGGER = Logger
|
||||||
.getLogger(SWTConsole.class.getName());
|
.getLogger(SWTConsole.class.getName());
|
||||||
/** The empty string constant */
|
/** The empty string constant. */
|
||||||
private static final String EMPTY = ""; //$NON-NLS-1$
|
private static final String EMPTY = ""; //$NON-NLS-1$
|
||||||
/** The console output text field */
|
/** The console output text field. */
|
||||||
private final Text consoleOutput;
|
private final Text consoleOutput;
|
||||||
/** The console input text field */
|
/** The console input text field. */
|
||||||
private final Text consoleInput;
|
private final Text consoleInput;
|
||||||
/** The prompt label */
|
/** The prompt label. */
|
||||||
private final Label lblPromptlabel;
|
private final Label lblPromptlabel;
|
||||||
/** The prompt text */
|
/** The prompt text. */
|
||||||
private String prompt = ">"; //$NON-NLS-1$
|
private String prompt = ">"; //$NON-NLS-1$
|
||||||
/** The command entered by the user */
|
/** The command entered by the user. */
|
||||||
private String command = null;
|
private String command = null;
|
||||||
/** If the prompt should be active */
|
/** If the prompt should be active. */
|
||||||
private boolean prompting = false;
|
private boolean prompting = false;
|
||||||
/** The object for thread synchronization with the prompt */
|
/** The object for thread synchronization with the prompt. */
|
||||||
private final Object promptLock = new Object();
|
private final Object promptLock = new Object();
|
||||||
|
|
||||||
/** Create the composite.
|
/** Create the composite.
|
||||||
@ -121,7 +116,7 @@ public class SWTConsole extends Composite
|
|||||||
@Override
|
@Override
|
||||||
public void close() {
|
public void close() {
|
||||||
synchronized (promptLock) {
|
synchronized (promptLock) {
|
||||||
promptLock.notify();
|
promptLock.notifyAll();
|
||||||
}
|
}
|
||||||
if (consoleInput.isDisposed()) {
|
if (consoleInput.isDisposed()) {
|
||||||
return;
|
return;
|
||||||
@ -149,7 +144,7 @@ public class SWTConsole extends Composite
|
|||||||
@Override
|
@Override
|
||||||
public void interruptPrompt() {
|
public void interruptPrompt() {
|
||||||
synchronized (promptLock) {
|
synchronized (promptLock) {
|
||||||
promptLock.notify();
|
promptLock.notifyAll();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -232,6 +227,7 @@ public class SWTConsole extends Composite
|
|||||||
LOGGER.log(Level.WARNING,
|
LOGGER.log(Level.WARNING,
|
||||||
"Error in synchronization of prompting", e); //$NON-NLS-1$
|
"Error in synchronization of prompting", e); //$NON-NLS-1$
|
||||||
command = null;
|
command = null;
|
||||||
|
Thread.currentThread().interrupt();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (isDisposed()) {
|
if (isDisposed()) {
|
||||||
@ -281,6 +277,7 @@ public class SWTConsole extends Composite
|
|||||||
LOGGER.log(Level.WARNING,
|
LOGGER.log(Level.WARNING,
|
||||||
"Error in synchronization of prompting", e); //$NON-NLS-1$
|
"Error in synchronization of prompting", e); //$NON-NLS-1$
|
||||||
command = null;
|
command = null;
|
||||||
|
Thread.currentThread().interrupt();
|
||||||
} finally {
|
} finally {
|
||||||
Display.getDefault().syncExec(new Runnable() {
|
Display.getDefault().syncExec(new Runnable() {
|
||||||
@SuppressWarnings("synthetic-access")
|
@SuppressWarnings("synthetic-access")
|
||||||
|
@ -1,10 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright E. Bigeon (2015)
|
* GCLC swt, provide a swt window for console applications
|
||||||
*
|
* Copyright (C) 2015-2017 E. Bigeon
|
||||||
* emmanuel@bigeon.fr
|
* mailto:emmanuel@bigeon.fr
|
||||||
*
|
|
||||||
* This software is a computer program whose purpose is to
|
|
||||||
* provide a swt window for console applications.
|
|
||||||
*
|
*
|
||||||
* This software is governed by the CeCILL license under French law and
|
* This software is governed by the CeCILL license under French law and
|
||||||
* abiding by the rules of distribution of free software. You can use,
|
* abiding by the rules of distribution of free software. You can use,
|
||||||
@ -47,7 +44,7 @@ import org.eclipse.swt.widgets.Shell;
|
|||||||
* <p>
|
* <p>
|
||||||
*
|
*
|
||||||
* @author Emmanuel Bigeon */
|
* @author Emmanuel Bigeon */
|
||||||
public class SWTConsoleShell extends Shell {
|
public final class SWTConsoleShell extends Shell {
|
||||||
|
|
||||||
/** The console component */
|
/** The console component */
|
||||||
private SWTConsole console;
|
private SWTConsole console;
|
||||||
|
@ -1,10 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright E. Bigeon (2015)
|
* GCLC swt, provide a swt window for console applications
|
||||||
*
|
* Copyright (C) 2015-2017 E. Bigeon
|
||||||
* emmanuel@bigeon.fr
|
* mailto:emmanuel@bigeon.fr
|
||||||
*
|
|
||||||
* This software is a computer program whose purpose is to
|
|
||||||
* provide a swt window for console applications.
|
|
||||||
*
|
*
|
||||||
* This software is governed by the CeCILL license under French law and
|
* This software is governed by the CeCILL license under French law and
|
||||||
* abiding by the rules of distribution of free software. You can use,
|
* abiding by the rules of distribution of free software. You can use,
|
||||||
@ -58,7 +55,7 @@ import fr.bigeon.gclc.tools.AOutputForwardRunnable;
|
|||||||
* <p>
|
* <p>
|
||||||
*
|
*
|
||||||
* @author Emmanuel Bigeon */
|
* @author Emmanuel Bigeon */
|
||||||
public class SWTConsoleView extends Composite implements ConsoleDelayIO {
|
public final class SWTConsoleView extends Composite implements ConsoleDelayIO {
|
||||||
/** The local implementation of the forwarding runnable
|
/** The local implementation of the forwarding runnable
|
||||||
*
|
*
|
||||||
* @author Emmanuel Bigeon */
|
* @author Emmanuel Bigeon */
|
||||||
@ -95,8 +92,7 @@ public class SWTConsoleView extends Composite implements ConsoleDelayIO {
|
|||||||
private final Text consoleOutput;
|
private final Text consoleOutput;
|
||||||
/** The console input text field */
|
/** The console input text field */
|
||||||
private final Text consoleInput;
|
private final Text consoleInput;
|
||||||
/** The actual manager */
|
/** The input. */
|
||||||
private PipedConsoleOutput manager;
|
|
||||||
private PipedConsoleInput input;
|
private PipedConsoleInput input;
|
||||||
/** The forwarding runnable */
|
/** The forwarding runnable */
|
||||||
private ToSWTConsoleForwardRunnable forward;
|
private ToSWTConsoleForwardRunnable forward;
|
||||||
@ -160,10 +156,12 @@ public class SWTConsoleView extends Composite implements ConsoleDelayIO {
|
|||||||
consoleInput.setSelection(input.length());
|
consoleInput.setSelection(input.length());
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @param manager the manager to set */
|
/** Set the input and output.
|
||||||
|
*
|
||||||
|
* @param manager the output to set
|
||||||
|
* @param input the input */
|
||||||
public void setManager(final PipedConsoleOutput manager,
|
public void setManager(final PipedConsoleOutput manager,
|
||||||
final PipedConsoleInput input) {
|
final PipedConsoleInput input) {
|
||||||
this.manager = manager;
|
|
||||||
this.input = input;
|
this.input = input;
|
||||||
if (forward != null) {
|
if (forward != null) {
|
||||||
forward.setRunning(false);
|
forward.setRunning(false);
|
||||||
|
39
gclc-swt/src/main/java/fr/bigeon/gclc/swt/package-info.java
Normal file
39
gclc-swt/src/main/java/fr/bigeon/gclc/swt/package-info.java
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
/*
|
||||||
|
* GCLC swt, provide a swt window for console applications
|
||||||
|
* Copyright (C) 2015-2017 E. Bigeon
|
||||||
|
* mailto:emmanuel@bigeon.fr
|
||||||
|
*
|
||||||
|
* This software is governed by the CeCILL license under French law and
|
||||||
|
* abiding by the rules of distribution of free software. You can use,
|
||||||
|
* modify and/or redistribute the software under the terms of the CeCILL
|
||||||
|
* license as circulated by CEA, CNRS and INRIA at the following URL
|
||||||
|
* "http://www.cecill.info".
|
||||||
|
*
|
||||||
|
* As a counterpart to the access to the source code and rights to copy,
|
||||||
|
* modify and redistribute granted by the license, users are provided only
|
||||||
|
* with a limited warranty and the software's author, the holder of the
|
||||||
|
* economic rights, and the successive licensors have only limited
|
||||||
|
* liability.
|
||||||
|
*
|
||||||
|
* In this respect, the user's attention is drawn to the risks associated
|
||||||
|
* with loading, using, modifying and/or developing or reproducing the
|
||||||
|
* software by the user in light of its specific status of free software,
|
||||||
|
* that may mean that it is complicated to manipulate, and that also
|
||||||
|
* therefore means that it is reserved for developers and experienced
|
||||||
|
* professionals having in-depth computer knowledge. Users are therefore
|
||||||
|
* encouraged to load and test the software's suitability as regards their
|
||||||
|
* requirements in conditions enabling the security of their systems and/or
|
||||||
|
* data to be ensured and, more generally, to use and operate it in the
|
||||||
|
* same conditions as regards security.
|
||||||
|
*
|
||||||
|
* The fact that you are presently reading this means that you have had
|
||||||
|
* knowledge of the CeCILL license and that you accept its terms.
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
* gclc-swt:fr.bigeon.gclc.swt.package-info.java
|
||||||
|
* Created on: Nov 18, 2017
|
||||||
|
*/
|
||||||
|
/** SWT components for a frontend of GCLC applications.
|
||||||
|
*
|
||||||
|
* @author Emmanuel Bigeon */
|
||||||
|
package fr.bigeon.gclc.swt;
|
@ -1,10 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright E. Bigeon (2015)
|
* GCLC swt, provide a swt window for console applications
|
||||||
*
|
* Copyright (C) 2015-2017 E. Bigeon
|
||||||
* emmanuel@bigeon.fr
|
* mailto:emmanuel@bigeon.fr
|
||||||
*
|
|
||||||
* This software is a computer program whose purpose is to
|
|
||||||
* provide a swt window for console applications.
|
|
||||||
*
|
*
|
||||||
* This software is governed by the CeCILL license under French law and
|
* This software is governed by the CeCILL license under French law and
|
||||||
* abiding by the rules of distribution of free software. You can use,
|
* abiding by the rules of distribution of free software. You can use,
|
||||||
|
@ -1,10 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright E. Bigeon (2015)
|
* GCLC swt, provide a swt window for console applications
|
||||||
*
|
* Copyright (C) 2015-2017 E. Bigeon
|
||||||
* emmanuel@bigeon.fr
|
* mailto:emmanuel@bigeon.fr
|
||||||
*
|
|
||||||
* This software is a computer program whose purpose is to
|
|
||||||
* provide a swt window for console applications.
|
|
||||||
*
|
*
|
||||||
* This software is governed by the CeCILL license under French law and
|
* This software is governed by the CeCILL license under French law and
|
||||||
* abiding by the rules of distribution of free software. You can use,
|
* abiding by the rules of distribution of free software. You can use,
|
||||||
|
@ -1,10 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright E. Bigeon (2015)
|
* GCLC swt, provide a swt window for console applications
|
||||||
*
|
* Copyright (C) 2015-2017 E. Bigeon
|
||||||
* emmanuel@bigeon.fr
|
* mailto:emmanuel@bigeon.fr
|
||||||
*
|
|
||||||
* This software is a computer program whose purpose is to
|
|
||||||
* provide a swt window for console applications.
|
|
||||||
*
|
*
|
||||||
* This software is governed by the CeCILL license under French law and
|
* This software is governed by the CeCILL license under French law and
|
||||||
* abiding by the rules of distribution of free software. You can use,
|
* abiding by the rules of distribution of free software. You can use,
|
||||||
@ -72,13 +69,13 @@ public class SWTConsoleViewTest {
|
|||||||
final Shell shell = new Shell(DISPLAY);
|
final Shell shell = new Shell(DISPLAY);
|
||||||
final SWTConsoleView swtConsole = new SWTConsoleView(shell, SWT.NONE);
|
final SWTConsoleView swtConsole = new SWTConsoleView(shell, SWT.NONE);
|
||||||
try (PipedConsoleOutput manager = new PipedConsoleOutput();
|
try (PipedConsoleOutput manager = new PipedConsoleOutput();
|
||||||
PipedConsoleInput input = new PipedConsoleInput()) {
|
PipedConsoleInput input = new PipedConsoleInput(System.out)) {
|
||||||
swtConsole.setManager(manager, input);
|
swtConsole.setManager(manager, input);
|
||||||
} catch (final IOException e2) {
|
} catch (final IOException e2) {
|
||||||
assertNull(e2);
|
assertNull(e2);
|
||||||
}
|
}
|
||||||
try (PipedConsoleOutput manager = new PipedConsoleOutput();
|
try (PipedConsoleOutput manager = new PipedConsoleOutput();
|
||||||
PipedConsoleInput input = new PipedConsoleInput()) {
|
PipedConsoleInput input = new PipedConsoleInput(System.out)) {
|
||||||
swtConsole.setManager(manager, input);
|
swtConsole.setManager(manager, input);
|
||||||
final ConsoleApplication appl = new ConsoleApplication(manager,
|
final ConsoleApplication appl = new ConsoleApplication(manager,
|
||||||
input,
|
input,
|
||||||
|
Loading…
Reference in New Issue
Block a user