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,
} 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())
consoleIsEmpty = true;
}
- private void addContributedListeners() {
+ protected void addContributedListeners() {
final BundleContext context = Activator.getInstance().getBundle().getBundleContext();
new ServiceTracker<SCLConsoleListener, SCLConsoleListener>(context,
SCLConsoleListener.class, null) {