+ // Handler that only opens the SCL script console on demand
+ SCLReportingHandler handler = new SCLReportingHandler() {
+
+ private SCLReportingHandler handler;
+
+ // Get a handler for the SCL script console view
+ private SCLReportingHandler getHandler() {
+ if (handler == null) {
+ handler = SCLScripts.getOrCreateConsoleCommandSession().second;
+ }
+ return handler;
+ }
+
+ @Override
+ public void printError(String error) {
+ display.asyncExec(() -> {
+ getHandler().printError(error);
+ });
+ }
+
+ @Override
+ public void printCommand(String command) {
+ display.asyncExec(() -> {
+ getHandler().printCommand(command);
+ });
+ }
+
+ @Override
+ public void print(String text) {
+ display.asyncExec(() -> {
+ getHandler().print(text);
+ });
+ }
+
+ @Override
+ public void didWork(double amount) {
+ display.asyncExec(() -> {
+ getHandler().didWork(amount);
+ });
+ }
+ };
+