Search in sources :

Example 1 with ColorManager

use of org.erlide.ui.util.ColorManager in project erlide_eclipse by erlang.

the class ErlangScratchPad method initializeEditor.

@Override
protected void initializeEditor() {
    colorManager = new ColorManager();
    setDocumentProvider(new TextFileDocumentProvider());
    final IPreferenceStore store = ErlangScratchPad.getErlangEditorPreferenceStore();
    setPreferenceStore(store);
    final ErlangSourceViewerConfiguration cfg = new ErlangScratchPadConfiguration(getPreferenceStore(), colorManager, this);
    setSourceViewerConfiguration(cfg);
}
Also used : ErlangSourceViewerConfiguration(org.erlide.ui.editors.erl.ErlangSourceViewerConfiguration) IPreferenceStore(org.eclipse.jface.preference.IPreferenceStore) ColorManager(org.erlide.ui.util.ColorManager) TextFileDocumentProvider(org.eclipse.ui.editors.text.TextFileDocumentProvider)

Example 2 with ColorManager

use of org.erlide.ui.util.ColorManager in project erlide_eclipse by erlang.

the class ColoringPreferencePage method init.

/**
 * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
 */
@Override
public void init(final IWorkbench workbench) {
    fColorManager = new ColorManager();
    fOverlayStore = new OverlayPreferenceStore(ErlideUIPlugin.getDefault().getPreferenceStore(), new OverlayPreferenceStore.OverlayKey[] {});
    fOverlayStore.addKeys(createOverlayStoreKeys());
    fOverlayStore.load();
    fOverlayStore.start();
    for (final TokenHighlight th : TokenHighlight.values()) {
        fColors.put(th, null);
    }
}
Also used : OverlayPreferenceStore(org.erlide.ui.util.OverlayPreferenceStore) IColorManager(org.erlide.ui.util.IColorManager) ColorManager(org.erlide.ui.util.ColorManager) TokenHighlight(org.erlide.ui.prefs.TokenHighlight)

Example 3 with ColorManager

use of org.erlide.ui.util.ColorManager in project erlide_eclipse by erlang.

the class ErlangSourceViewer method createErlangPreviewer.

public static SourceViewer createErlangPreviewer(final Composite parent, final IColorManager colorManager0, final IPreferenceStore topStore, final Map<TokenHighlight, HighlightStyle> colors0, final String content) {
    // TODO we should move this method, to a utility class (or maybe create
    // an ErlangPreviewSourceViewer class)
    final IColorManager colorManager = colorManager0 != null ? colorManager0 : new ColorManager();
    Map<TokenHighlight, HighlightStyle> colors;
    if (colors0 == null) {
        colors = Maps.newHashMap();
        for (final TokenHighlight th : TokenHighlight.values()) {
            colors.put(th, null);
        }
    } else {
        colors = colors0;
    }
    final IPreferenceStore generalTextStore = EditorsUI.getPreferenceStore();
    final IPreferenceStore store = topStore == null ? new ChainedPreferenceStore(new IPreferenceStore[] { generalTextStore }) : new ChainedPreferenceStore(new IPreferenceStore[] { topStore, generalTextStore });
    final SourceViewer viewer = new SourceViewer(parent, null, null, false, SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER);
    final IDocument document = new Document(content);
    viewer.setDocument(document);
    final ErlangDocumentSetupParticipant setupParticipant = new ErlangDocumentSetupParticipant();
    setupParticipant.setup(document);
    final ErlangSourceViewerConfiguration configuration = new SyntaxColorPreviewEditorConfiguration(store, colorManager);
    viewer.configure(configuration);
    final Font font = JFaceResources.getFont(PreferenceConstants.EDITOR_TEXT_FONT);
    viewer.getTextWidget().setFont(font);
    new ErlangSourceViewerUpdater(viewer, configuration, store);
    viewer.setEditable(false);
    final Cursor arrowCursor = viewer.getTextWidget().getDisplay().getSystemCursor(SWT.CURSOR_ARROW);
    viewer.getTextWidget().setCursor(arrowCursor);
    return viewer;
}
Also used : SourceViewer(org.eclipse.jface.text.source.SourceViewer) IColorManager(org.erlide.ui.util.IColorManager) ChainedPreferenceStore(org.eclipse.ui.texteditor.ChainedPreferenceStore) Document(org.eclipse.jface.text.Document) IDocument(org.eclipse.jface.text.IDocument) Cursor(org.eclipse.swt.graphics.Cursor) TokenHighlight(org.erlide.ui.prefs.TokenHighlight) Font(org.eclipse.swt.graphics.Font) HighlightStyle(org.erlide.ui.prefs.HighlightStyle) ErlangSourceViewerUpdater(org.erlide.ui.prefs.plugin.internal.ErlangSourceViewerUpdater) IPreferenceStore(org.eclipse.jface.preference.IPreferenceStore) IColorManager(org.erlide.ui.util.IColorManager) ColorManager(org.erlide.ui.util.ColorManager) IDocument(org.eclipse.jface.text.IDocument)

Example 4 with ColorManager

use of org.erlide.ui.util.ColorManager in project erlide_eclipse by erlang.

the class ErlangEditor method initializeEditor.

@Override
protected void initializeEditor() {
    colorManager = new ColorManager();
    setDocumentProvider(new TextFileDocumentProvider());
    final IPreferenceStore store = ErlangEditor.getErlangEditorPreferenceStore();
    setPreferenceStore(store);
    final ErlangSourceViewerConfiguration cfg = new EditorConfiguration(getPreferenceStore(), this, colorManager);
    setSourceViewerConfiguration(cfg);
}
Also used : IPreferenceStore(org.eclipse.jface.preference.IPreferenceStore) ColorManager(org.erlide.ui.util.ColorManager) TextFileDocumentProvider(org.eclipse.ui.editors.text.TextFileDocumentProvider)

Example 5 with ColorManager

use of org.erlide.ui.util.ColorManager in project erlide_eclipse by erlang.

the class ErlangConsolePage method createControl.

/**
 * @wbp.parser.entryPoint
 */
@Override
public void createControl(final Composite parent) {
    setBackgroundColors();
    composite = new Composite(parent, SWT.NONE);
    composite.setLayout(new GridLayout(1, false));
    final SashForm sashForm = new SashForm(composite, SWT.VERTICAL);
    sashForm.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    consoleOutputViewer = new SourceViewer(sashForm, null, SWT.V_SCROLL | SWT.H_SCROLL | SWT.MULTI | SWT.READ_ONLY);
    consoleOutputText = consoleOutputViewer.getTextWidget();
    consoleOutputText.setFont(JFaceResources.getTextFont());
    bgcolor = DebugUIPlugin.getPreferenceColor(IDebugPreferenceConstants.CONSOLE_BAKGROUND_COLOR);
    consoleOutputText.setBackground(bgcolor);
    DebugUIPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(event -> {
        if (event.getProperty().equals(IDebugPreferenceConstants.CONSOLE_BAKGROUND_COLOR)) {
            final Color color = DebugUIPlugin.getPreferenceColor(IDebugPreferenceConstants.CONSOLE_BAKGROUND_COLOR);
            consoleOutputText.setBackground(color);
            consoleInputText.setBackground(color);
        }
    });
    consoleOutputText.addKeyListener(new KeyAdapter() {

        @Override
        public void keyPressed(final KeyEvent e) {
            if (e.stateMask == 0 && e.character != '\0') {
                consoleInputText.setFocus();
                consoleInputText.append("" + e.character);
                consoleInputText.setCaretOffset(consoleInputText.getText().length());
            }
            e.doit = true;
        }
    });
    final IPreferenceStore store = ErlideUIPlugin.getDefault().getPreferenceStore();
    final IColorManager colorManager = new ColorManager();
    consoleOutputViewer.setDocument(fDoc);
    consoleOutputViewer.configure(new ErlangConsoleSourceViewerConfiguration(store, colorManager, backend));
    consoleInputViewer = new SourceViewer(sashForm, null, SWT.MULTI | SWT.WRAP | SWT.V_SCROLL);
    consoleInputText = consoleInputViewer.getTextWidget();
    consoleInputViewer.setDocument(new Document());
    consoleInputViewer.configure(new ErlangConsoleSourceViewerConfiguration(store, colorManager, backend));
    sashForm.setWeights(new int[] { 2, 1 });
    final Label helpLabel = new Label(composite, SWT.NONE);
    helpLabel.setText("To send the input to the console: press Enter at the end of an expression." + "Ctrl/Cmd-arrows navigate the input history.");
    helpLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    final ModifyListener modifyListener = e -> {
        final String consoleText = ErlangConsolePage.trimInput(consoleInputText.getText());
        final boolean atEndOfInput = consoleText.endsWith(".") && consoleInputText.getCaretOffset() >= consoleText.length();
        if (atEndOfInput) {
            final boolean inputComplete = isInputComplete();
            if (inputComplete) {
                consoleInputText.setBackground(bgColor_Ok);
            }
        } else {
            consoleInputText.setBackground(bgcolor);
        }
    };
    // consoleInput.addModifyListener(modifyListener);
    consoleInputText.addCaretListener(event -> modifyListener.modifyText(null));
    consoleInputText.addKeyListener(new KeyAdapter() {

        @Override
        public void keyPressed(final KeyEvent e) {
            final boolean ctrlOrCommandPressed = (e.stateMask & SWT.MOD1) == SWT.MOD1;
            final String conText = ErlangConsolePage.trimInput(consoleInputText.getText());
            final boolean atEndOfInput = consoleInputText.getCaretOffset() >= conText.length() && conText.endsWith(".");
            e.doit = true;
            if (e.keyCode == 13 && (ctrlOrCommandPressed || atEndOfInput)) {
                final boolean inputComplete = isInputComplete();
                if (inputComplete) {
                    sendInput();
                }
            } else if (ctrlOrCommandPressed && e.keyCode == SWT.SPACE) {
                consoleInputViewer.doOperation(ISourceViewer.CONTENTASSIST_PROPOSALS);
            } else if (ctrlOrCommandPressed && e.keyCode == SWT.ARROW_UP) {
                e.doit = false;
                history.prev();
                final String s = history.get();
                if (s != null) {
                    consoleInputText.setText(s);
                    consoleInputText.setSelection(consoleInputText.getText().length());
                }
            } else if (ctrlOrCommandPressed && e.keyCode == SWT.ARROW_DOWN) {
                e.doit = false;
                history.next();
                final String s = history.get();
                if (s != null) {
                    consoleInputText.setText(s);
                    consoleInputText.setSelection(consoleInputText.getText().length());
                }
            }
        }
    });
    consoleInputText.setFont(consoleOutputText.getFont());
    consoleInputText.setBackground(consoleOutputText.getBackground());
    consoleInputText.setWordWrap(true);
    consoleInputText.setFocus();
    // end layout
    final IDocumentListener documentListener = new IDocumentListener() {

        @Override
        public void documentAboutToBeChanged(final DocumentEvent event) {
        }

        @Override
        public void documentChanged(final DocumentEvent event) {
            final int end = consoleOutputViewer.getDocument().getLength();
            consoleOutputViewer.setSelectedRange(end, end);
            consoleOutputViewer.revealRange(end, 0);
        }
    };
    addDocumentListener(documentListener);
    // $NON-NLS-1$
    final String id = "#ContextMenu";
    // if (getConsole().getType() != null) {
    // id = getConsole().getType() + "." + id; //$NON-NLS-1$
    // }
    // $NON-NLS-1$
    fMenuManager = new MenuManager("#ContextMenu", id);
    fMenuManager.setRemoveAllWhenShown(true);
    fMenuManager.addMenuListener(this::contextMenuAboutToShow);
    final Menu menu = fMenuManager.createContextMenu(getControl());
    getControl().setMenu(menu);
    createActions();
    configureToolBar(getSite().getActionBars().getToolBarManager());
    getSite().registerContextMenu(id, fMenuManager, consoleOutputViewer);
    getSite().setSelectionProvider(consoleOutputViewer);
    consoleOutputViewer.getSelectionProvider().addSelectionChangedListener(selectionChangedListener);
}
Also used : IPreferenceStore(org.eclipse.jface.preference.IPreferenceStore) SashForm(org.eclipse.swt.custom.SashForm) IColorManager(org.erlide.ui.util.IColorManager) StyledText(org.eclipse.swt.custom.StyledText) IAction(org.eclipse.jface.action.IAction) Page(org.eclipse.ui.part.Page) IToolBarManager(org.eclipse.jface.action.IToolBarManager) ISourceViewer(org.eclipse.jface.text.source.ISourceViewer) Nullable(org.eclipse.jdt.annotation.Nullable) PropertyChangeEvent(org.eclipse.jface.util.PropertyChangeEvent) Composite(org.eclipse.swt.widgets.Composite) IConsoleView(org.eclipse.ui.console.IConsoleView) Map(java.util.Map) KeyEvent(org.eclipse.swt.events.KeyEvent) Widget(org.eclipse.swt.widgets.Widget) IBackendShell(org.erlide.runtime.shell.IBackendShell) KeyAdapter(org.eclipse.swt.events.KeyAdapter) IAdaptable(org.eclipse.core.runtime.IAdaptable) IUpdate(org.eclipse.ui.texteditor.IUpdate) Separator(org.eclipse.jface.action.Separator) IDebugPreferenceConstants(org.eclipse.debug.internal.ui.preferences.IDebugPreferenceConstants) PlatformUI(org.eclipse.ui.PlatformUI) MenuManager(org.eclipse.jface.action.MenuManager) IFindReplaceTarget(org.eclipse.jface.text.IFindReplaceTarget) Display(org.eclipse.swt.widgets.Display) DocumentEvent(org.eclipse.jface.text.DocumentEvent) OtpErlangList(com.ericsson.otp.erlang.OtpErlangList) List(java.util.List) SWT(org.eclipse.swt.SWT) ParserException(org.erlide.engine.services.parsing.ParserException) Label(org.eclipse.swt.widgets.Label) ISelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener) IConsoleHelpContextIds(org.eclipse.ui.internal.console.IConsoleHelpContextIds) StringUtils(org.erlide.util.StringUtils) HashMap(java.util.HashMap) JFaceResources(org.eclipse.jface.resource.JFaceResources) RuntimeHelper(org.erlide.engine.services.parsing.RuntimeHelper) ArrayList(java.util.ArrayList) ConsoleResourceBundleMessages(org.eclipse.ui.internal.console.ConsoleResourceBundleMessages) FindReplaceAction(org.eclipse.ui.texteditor.FindReplaceAction) Document(org.eclipse.jface.text.Document) IDocument(org.eclipse.jface.text.IDocument) IDocumentListener(org.eclipse.jface.text.IDocumentListener) ResourceBundle(java.util.ResourceBundle) RGB(org.eclipse.swt.graphics.RGB) IPropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener) GridData(org.eclipse.swt.layout.GridData) IWorkbenchActionConstants(org.eclipse.ui.IWorkbenchActionConstants) ErlideUIPlugin(org.erlide.ui.internal.ErlideUIPlugin) IConsoleConstants(org.eclipse.ui.console.IConsoleConstants) OtpErlangObject(com.ericsson.otp.erlang.OtpErlangObject) DebugUIPlugin(org.eclipse.debug.internal.ui.DebugUIPlugin) IActionBars(org.eclipse.ui.IActionBars) SourceViewer(org.eclipse.jface.text.source.SourceViewer) IBackend(org.erlide.backend.api.IBackend) Color(org.eclipse.swt.graphics.Color) IMenuManager(org.eclipse.jface.action.IMenuManager) ModifyListener(org.eclipse.swt.events.ModifyListener) ActionFactory(org.eclipse.ui.actions.ActionFactory) Menu(org.eclipse.swt.widgets.Menu) ColorManager(org.erlide.ui.util.ColorManager) Control(org.eclipse.swt.widgets.Control) GridLayout(org.eclipse.swt.layout.GridLayout) ISourceViewer(org.eclipse.jface.text.source.ISourceViewer) SourceViewer(org.eclipse.jface.text.source.SourceViewer) Composite(org.eclipse.swt.widgets.Composite) ModifyListener(org.eclipse.swt.events.ModifyListener) Color(org.eclipse.swt.graphics.Color) KeyAdapter(org.eclipse.swt.events.KeyAdapter) IColorManager(org.erlide.ui.util.IColorManager) IDocumentListener(org.eclipse.jface.text.IDocumentListener) Label(org.eclipse.swt.widgets.Label) Document(org.eclipse.jface.text.Document) IDocument(org.eclipse.jface.text.IDocument) DocumentEvent(org.eclipse.jface.text.DocumentEvent) KeyEvent(org.eclipse.swt.events.KeyEvent) SashForm(org.eclipse.swt.custom.SashForm) GridLayout(org.eclipse.swt.layout.GridLayout) GridData(org.eclipse.swt.layout.GridData) MenuManager(org.eclipse.jface.action.MenuManager) IMenuManager(org.eclipse.jface.action.IMenuManager) Menu(org.eclipse.swt.widgets.Menu) IPreferenceStore(org.eclipse.jface.preference.IPreferenceStore) IColorManager(org.erlide.ui.util.IColorManager) ColorManager(org.erlide.ui.util.ColorManager)

Aggregations

ColorManager (org.erlide.ui.util.ColorManager)5 IPreferenceStore (org.eclipse.jface.preference.IPreferenceStore)4 Document (org.eclipse.jface.text.Document)2 IDocument (org.eclipse.jface.text.IDocument)2 SourceViewer (org.eclipse.jface.text.source.SourceViewer)2 TokenHighlight (org.erlide.ui.prefs.TokenHighlight)2 IColorManager (org.erlide.ui.util.IColorManager)2 OtpErlangList (com.ericsson.otp.erlang.OtpErlangList)1 OtpErlangObject (com.ericsson.otp.erlang.OtpErlangObject)1 ArrayList (java.util.ArrayList)1 HashMap (java.util.HashMap)1 List (java.util.List)1 Map (java.util.Map)1 ResourceBundle (java.util.ResourceBundle)1 IAdaptable (org.eclipse.core.runtime.IAdaptable)1 DebugUIPlugin (org.eclipse.debug.internal.ui.DebugUIPlugin)1 IDebugPreferenceConstants (org.eclipse.debug.internal.ui.preferences.IDebugPreferenceConstants)1 Nullable (org.eclipse.jdt.annotation.Nullable)1 IAction (org.eclipse.jface.action.IAction)1 IMenuManager (org.eclipse.jface.action.IMenuManager)1