Synchronized swt widgets
Signed-off-by: Emmanuel Bigeon <emmanuel@bigeon.fr>
This commit is contained in:
parent
16514f9c25
commit
d300e896e8
@ -1,3 +1,37 @@
|
|||||||
|
/*
|
||||||
|
* Copyright E. Bigeon (2015)
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
* 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:fr.bigeon.gclc.tools.AOutputForwardRunnable.java
|
* gclc:fr.bigeon.gclc.tools.AOutputForwardRunnable.java
|
||||||
* Created on: Dec 1, 2016
|
* Created on: Dec 1, 2016
|
||||||
|
@ -175,7 +175,9 @@ public class SWTConsole extends Composite
|
|||||||
@SuppressWarnings("synthetic-access")
|
@SuppressWarnings("synthetic-access")
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
consoleOutput.append(text);
|
if (!consoleOutput.isDisposed()) {
|
||||||
|
consoleOutput.append(text);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -188,7 +190,9 @@ public class SWTConsole extends Composite
|
|||||||
@SuppressWarnings("synthetic-access")
|
@SuppressWarnings("synthetic-access")
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
consoleOutput.append(System.lineSeparator());
|
if (!consoleOutput.isDisposed()) {
|
||||||
|
consoleOutput.append(System.lineSeparator());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -201,7 +205,9 @@ public class SWTConsole extends Composite
|
|||||||
@SuppressWarnings("synthetic-access")
|
@SuppressWarnings("synthetic-access")
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
consoleOutput.append(message + System.lineSeparator());
|
if (!consoleOutput.isDisposed()) {
|
||||||
|
consoleOutput.append(message + System.lineSeparator());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -220,8 +226,10 @@ public class SWTConsole extends Composite
|
|||||||
@SuppressWarnings("synthetic-access")
|
@SuppressWarnings("synthetic-access")
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
consoleInput.setEnabled(true);
|
if (!consoleInput.isDisposed()) {
|
||||||
consoleInput.setFocus();
|
consoleInput.setEnabled(true);
|
||||||
|
consoleInput.setFocus();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
prompting = true;
|
prompting = true;
|
||||||
@ -252,11 +260,13 @@ public class SWTConsole extends Composite
|
|||||||
@SuppressWarnings("synthetic-access")
|
@SuppressWarnings("synthetic-access")
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
lblPromptlabel.setText(message);
|
if (!consoleOutput.isDisposed()) {
|
||||||
// relayout
|
lblPromptlabel.setText(message);
|
||||||
SWTConsole.this.layout();
|
// relayout
|
||||||
consoleInput.setEnabled(true);
|
SWTConsole.this.layout();
|
||||||
consoleInput.setFocus();
|
consoleInput.setEnabled(true);
|
||||||
|
consoleInput.setFocus();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
prompting = true;
|
prompting = true;
|
||||||
@ -273,9 +283,11 @@ public class SWTConsole extends Composite
|
|||||||
@SuppressWarnings("synthetic-access")
|
@SuppressWarnings("synthetic-access")
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
lblPromptlabel.setText(prompt);
|
if (!consoleOutput.isDisposed()) {
|
||||||
// relayout
|
lblPromptlabel.setText(prompt);
|
||||||
SWTConsole.this.layout();
|
// relayout
|
||||||
|
SWTConsole.this.layout();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -299,9 +311,11 @@ public class SWTConsole extends Composite
|
|||||||
@SuppressWarnings("synthetic-access")
|
@SuppressWarnings("synthetic-access")
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
lblPromptlabel.setText(prompt);
|
if (!consoleOutput.isDisposed()) {
|
||||||
// relayout
|
lblPromptlabel.setText(prompt);
|
||||||
SWTConsole.this.layout();
|
// relayout
|
||||||
|
SWTConsole.this.layout();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user