X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.scl.ui%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fui%2Fconsole%2FSCLConsole.java;h=dcb56cc3a72d7d29354efd6544fc11af7ff8dcd0;hp=16a946fbebb86922ee99bd9ad481b5e547d37fd1;hb=d1c23bec0b9900d92fc522429ef5476757a2af93;hpb=4bb82aede02d798846196cc4f51e09d9f9161fef diff --git a/bundles/org.simantics.scl.ui/src/org/simantics/scl/ui/console/SCLConsole.java b/bundles/org.simantics.scl.ui/src/org/simantics/scl/ui/console/SCLConsole.java index 16a946fbe..dcb56cc3a 100644 --- a/bundles/org.simantics.scl.ui/src/org/simantics/scl/ui/console/SCLConsole.java +++ b/bundles/org.simantics.scl.ui/src/org/simantics/scl/ui/console/SCLConsole.java @@ -58,13 +58,23 @@ public class SCLConsole extends AbstractCommandConsole { CommandSession session = new CommandSession(SCLOsgi.MODULE_REPOSITORY, handler); ContentProposalAdapter contentProposalAdapter; - + public SCLConsole(Composite parent, int style) { - super(parent, style); - + this(parent, style, 0); + } + + public SCLConsole(Composite parent, int style, int options) { + super(parent, style, options); + createContentProposalAdapter(); + addContributedListeners(); + } + + protected void createContentProposalAdapter() { + if (input == null) + return; + StyledTextContentAdapter styledTextContentAdapter = new StyledTextContentAdapter(); SCLContentProposalProvider contentProvider = new SCLContentProposalProvider(session); - try { contentProposalAdapter = new ContentProposalAdapter( input, @@ -76,15 +86,13 @@ public class SCLConsole extends AbstractCommandConsole { } catch (ParseException e) { // No content assist then. } - - addContributedListeners(); } @Override protected boolean canExecuteCommand() { - return !contentProposalAdapter.isProposalPopupOpen(); + return contentProposalAdapter == null || !contentProposalAdapter.isProposalPopupOpen(); } - + @Override public ErrorAnnotation[] validate(String command) { if(command.isEmpty()) @@ -216,7 +224,7 @@ public class SCLConsole extends AbstractCommandConsole { consoleIsEmpty = true; } - private void addContributedListeners() { + protected void addContributedListeners() { final BundleContext context = Activator.getInstance().getBundle().getBundleContext(); new ServiceTracker(context, SCLConsoleListener.class, null) {