Search in sources :

Example 6 with SubEditorSite

use of org.jkiss.dbeaver.ui.editors.SubEditorSite in project dbeaver by serge-rider.

the class PrefPageSQLFormat method createPreferenceContent.

@Override
protected Control createPreferenceContent(Composite parent) {
    Composite composite = UIUtils.createPlaceholder(parent, 3, 5);
    formatterSelector = UIUtils.createLabelCombo(composite, SQLEditorMessages.pref_page_sql_format_label_formatter, SWT.DROP_DOWN | SWT.READ_ONLY);
    formatterSelector.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
    formatters = SQLFormatterConfigurationRegistry.getInstance().getFormatters();
    formatters.sort(Comparator.comparing(SQLFormatterDescriptor::getLabel));
    for (SQLFormatterDescriptor formatterDesc : formatters) {
        formatterSelector.add(DBPIdentifierCase.capitalizeCaseName(formatterDesc.getLabel()));
    }
    formatterSelector.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            showFormatterSettings();
            performApply();
        }
    });
    formatterSelector.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
    formatCurrentQueryCheck = UIUtils.createCheckbox(composite, "Format active query only", "Formats only active query or selected text. Otherwise formats entire SQL script", true, 1);
    Composite formatterGroup = UIUtils.createPlaceholder(composite, 1, 5);
    formatterGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    ((GridData) formatterGroup.getLayoutData()).horizontalSpan = 3;
    /*
        {
            Composite formatterPanel = UIUtils.createPlaceholder(formatterGroup, 4, 5);
            formatterPanel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

            keywordCaseCombo = UIUtils.createLabelCombo(formatterPanel, CoreMessages.pref_page_sql_format_label_keyword_case, SWT.DROP_DOWN | SWT.READ_ONLY);
            keywordCaseCombo.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
            keywordCaseCombo.add("Database");
            for (DBPIdentifierCase c :DBPIdentifierCase.values()) {
                keywordCaseCombo.add(DBPIdentifierCase.capitalizeCaseName(c.name()));
            }
            keywordCaseCombo.addSelectionListener(new SelectionAdapter() {
                @Override
                public void widgetSelected(SelectionEvent e) {
                    performApply();
                }
            });
        }
*/
    // External formatter
    {
        formatterConfigPlaceholder = UIUtils.createPlaceholder(formatterGroup, 2, 5);
        formatterConfigPlaceholder.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.HORIZONTAL_ALIGN_BEGINNING));
        formatterConfigPlaceholder.setLayout(new FillLayout());
    }
    {
        // SQL preview
        Composite previewGroup = new Composite(composite, SWT.BORDER);
        GridData gd = new GridData(GridData.FILL_BOTH);
        gd.horizontalSpan = 3;
        previewGroup.setLayoutData(gd);
        previewGroup.setLayout(new FillLayout());
        sqlViewer = new SQLEditorBase() {

            @Override
            public DBCExecutionContext getExecutionContext() {
                final DBPDataSourceContainer container = getDataSourceContainer();
                if (container != null) {
                    final DBPDataSource dataSource = container.getDataSource();
                    if (dataSource != null) {
                        return DBUtils.getDefaultContext(dataSource.getDefaultInstance(), false);
                    }
                }
                return null;
            }
        };
        try {
            try (final InputStream sqlStream = getClass().getResourceAsStream(FORMAT_FILE_NAME)) {
                final String sqlText = ContentUtils.readToString(sqlStream, StandardCharsets.UTF_8);
                IEditorSite subSite = new SubEditorSite(UIUtils.getActiveWorkbenchWindow().getActivePage().getActivePart().getSite());
                StringEditorInput sqlInput = new StringEditorInput("SQL preview", sqlText, true, GeneralUtils.getDefaultFileEncoding());
                sqlViewer.init(subSite, sqlInput);
            }
        } catch (Exception e) {
            log.error(e);
        }
        sqlViewer.createPartControl(previewGroup);
        Object text = sqlViewer.getAdapter(Control.class);
        if (text instanceof StyledText) {
            ((StyledText) text).setWordWrap(true);
        }
        sqlViewer.reloadSyntaxRules();
        previewGroup.addDisposeListener(e -> sqlViewer.dispose());
        {
            // Styles
            // Composite afGroup = UIUtils.createControlGroup(composite, CoreMessages.pref_page_sql_format_group_style, 1, GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING, 0);
            // ((GridData)afGroup.getLayoutData()).horizontalSpan = 2;
            styleBoldKeywords = UIUtils.createCheckbox(composite, SQLEditorMessages.pref_page_sql_format_label_bold_keywords, SQLEditorMessages.pref_page_sql_format_label_bold_keywords_tip, false, 2);
            styleBoldKeywords.addSelectionListener(new SelectionAdapter() {

                @Override
                public void widgetSelected(SelectionEvent e) {
                    performApply();
                }
            });
        }
    }
    return composite;
}
Also used : SQLFormatterDescriptor(org.jkiss.dbeaver.model.sql.registry.SQLFormatterDescriptor) StringEditorInput(org.jkiss.dbeaver.ui.editors.StringEditorInput) DBPIdentifierCase(org.jkiss.dbeaver.model.DBPIdentifierCase) SQLFormatterConfigurationRegistry(org.jkiss.dbeaver.model.sql.registry.SQLFormatterConfigurationRegistry) StyledText(org.eclipse.swt.custom.StyledText) DBPPreferenceStore(org.jkiss.dbeaver.model.preferences.DBPPreferenceStore) IEditorSite(org.eclipse.ui.IEditorSite) ISourceViewer(org.eclipse.jface.text.source.ISourceViewer) SQLEditorBase(org.jkiss.dbeaver.ui.editors.sql.SQLEditorBase) DBCExecutionContext(org.jkiss.dbeaver.model.exec.DBCExecutionContext) SQLTokenizedFormatterConfigurationPage(org.jkiss.dbeaver.ui.editors.sql.preferences.format.tokenized.SQLTokenizedFormatterConfigurationPage) Composite(org.eclipse.swt.widgets.Composite) UIUtils(org.jkiss.dbeaver.ui.UIUtils) Locale(java.util.Locale) Log(org.jkiss.dbeaver.Log) GridData(org.eclipse.swt.layout.GridData) FillLayout(org.eclipse.swt.layout.FillLayout) DBPDataSource(org.jkiss.dbeaver.model.DBPDataSource) SQLPreferenceConstants(org.jkiss.dbeaver.ui.editors.sql.SQLPreferenceConstants) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) SQLFormatterDescriptor(org.jkiss.dbeaver.model.sql.registry.SQLFormatterDescriptor) GeneralUtils(org.jkiss.dbeaver.utils.GeneralUtils) CommonUtils(org.jkiss.utils.CommonUtils) Combo(org.eclipse.swt.widgets.Combo) Button(org.eclipse.swt.widgets.Button) DBUtils(org.jkiss.dbeaver.model.DBUtils) ContentUtils(org.jkiss.dbeaver.utils.ContentUtils) SQLModelPreferences(org.jkiss.dbeaver.model.sql.SQLModelPreferences) SQLFormatterExternal(org.jkiss.dbeaver.model.sql.format.external.SQLFormatterExternal) SQLExternalFormatterConfigurationPage(org.jkiss.dbeaver.ui.editors.sql.preferences.format.SQLExternalFormatterConfigurationPage) SQLEditorMessages(org.jkiss.dbeaver.ui.editors.sql.internal.SQLEditorMessages) StandardCharsets(java.nio.charset.StandardCharsets) DBPDataSourceContainer(org.jkiss.dbeaver.model.DBPDataSourceContainer) List(java.util.List) SQLFormatter(org.jkiss.dbeaver.model.sql.format.SQLFormatter) SQLFormatterConfigurator(org.jkiss.dbeaver.ui.editors.sql.preferences.format.SQLFormatterConfigurator) DBException(org.jkiss.dbeaver.DBException) TextSelection(org.eclipse.jface.text.TextSelection) SWT(org.eclipse.swt.SWT) SubEditorSite(org.jkiss.dbeaver.ui.editors.SubEditorSite) TargetPrefPage(org.jkiss.dbeaver.ui.preferences.TargetPrefPage) IDialogPage(org.eclipse.jface.dialogs.IDialogPage) SelectionEvent(org.eclipse.swt.events.SelectionEvent) SQLFormatterTokenized(org.jkiss.dbeaver.model.sql.format.tokenized.SQLFormatterTokenized) PrefUtils(org.jkiss.dbeaver.utils.PrefUtils) Comparator(java.util.Comparator) Control(org.eclipse.swt.widgets.Control) InputStream(java.io.InputStream) StyledText(org.eclipse.swt.custom.StyledText) Composite(org.eclipse.swt.widgets.Composite) InputStream(java.io.InputStream) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) FillLayout(org.eclipse.swt.layout.FillLayout) DBPDataSource(org.jkiss.dbeaver.model.DBPDataSource) StringEditorInput(org.jkiss.dbeaver.ui.editors.StringEditorInput) DBException(org.jkiss.dbeaver.DBException) SubEditorSite(org.jkiss.dbeaver.ui.editors.SubEditorSite) Control(org.eclipse.swt.widgets.Control) SQLEditorBase(org.jkiss.dbeaver.ui.editors.sql.SQLEditorBase) GridData(org.eclipse.swt.layout.GridData) SelectionEvent(org.eclipse.swt.events.SelectionEvent) DBPDataSourceContainer(org.jkiss.dbeaver.model.DBPDataSourceContainer) IEditorSite(org.eclipse.ui.IEditorSite)

Example 7 with SubEditorSite

use of org.jkiss.dbeaver.ui.editors.SubEditorSite in project dbeaver by serge-rider.

the class UIServiceSQLImpl method createSQLPanel.

@Override
public Object createSQLPanel(Object site, Object parent, DBPContextProvider contextProvider, String panelName, boolean showVerticalBar, String sqlText) throws DBException {
    IWorkbenchPartSite partSite = (IWorkbenchPartSite) site;
    Composite editorPH = (Composite) parent;
    final SQLEditorBase editor = new SQLEditorBase() {

        @Nullable
        @Override
        public DBCExecutionContext getExecutionContext() {
            return contextProvider.getExecutionContext();
        }

        @Override
        public void createPartControl(Composite parent) {
            super.createPartControl(parent);
            getAction(ITextEditorActionConstants.CONTEXT_PREFERENCES).setEnabled(false);
        }

        @Override
        public boolean isFoldingEnabled() {
            return false;
        }
    };
    editor.setHasVerticalRuler(showVerticalBar);
    try {
        editor.init(new SubEditorSite(partSite), new StringEditorInput(panelName, sqlText, true, GeneralUtils.getDefaultFileEncoding()));
    } catch (PartInitException e) {
        throw new DBException("Error initializing SQL panel", e);
    }
    editor.createPartControl(editorPH);
    editor.reloadSyntaxRules();
    TextViewer textViewer = editor.getTextViewer();
    textViewer.setData("editor", editor);
    TextEditorUtils.enableHostEditorKeyBindingsSupport(partSite, textViewer.getTextWidget());
    return textViewer;
}
Also used : IWorkbenchPartSite(org.eclipse.ui.IWorkbenchPartSite) SubEditorSite(org.jkiss.dbeaver.ui.editors.SubEditorSite) DBException(org.jkiss.dbeaver.DBException) Composite(org.eclipse.swt.widgets.Composite) PartInitException(org.eclipse.ui.PartInitException) StringEditorInput(org.jkiss.dbeaver.ui.editors.StringEditorInput) TextViewer(org.eclipse.jface.text.TextViewer)

Example 8 with SubEditorSite

use of org.jkiss.dbeaver.ui.editors.SubEditorSite in project dbeaver by dbeaver.

the class AbstractTextPanelEditor method createControl.

@Override
public StyledText createControl(IValueController valueController) {
    this.valueController = valueController;
    this.subSite = new SubEditorSite(valueController.getValueSite());
    editor = createEditorParty(valueController);
    try {
        editor.init(subSite, StringEditorInput.EMPTY_INPUT);
    } catch (PartInitException e) {
        valueController.showMessage(e.getMessage(), DBPMessageType.ERROR);
        return new StyledText(valueController.getEditPlaceholder(), SWT.NONE);
    }
    editor.createPartControl(valueController.getEditPlaceholder());
    StyledText editorControl = editor.getEditorControl();
    assert editorControl != null;
    initEditorSettings(editorControl);
    editorControl.addDisposeListener(e -> editor.releaseEditorInput());
    editor.addContextMenuContributor(manager -> contributeTextEditorActions(manager, editorControl));
    return editorControl;
}
Also used : SubEditorSite(org.jkiss.dbeaver.ui.editors.SubEditorSite) StyledText(org.eclipse.swt.custom.StyledText) PartInitException(org.eclipse.ui.PartInitException)

Example 9 with SubEditorSite

use of org.jkiss.dbeaver.ui.editors.SubEditorSite in project dbeaver by dbeaver.

the class PrefPageSQLFormat method createPreferenceContent.

@Override
protected Control createPreferenceContent(Composite parent) {
    Composite composite = UIUtils.createPlaceholder(parent, 3, 5);
    formatterSelector = UIUtils.createLabelCombo(composite, SQLEditorMessages.pref_page_sql_format_label_formatter, SWT.DROP_DOWN | SWT.READ_ONLY);
    formatterSelector.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
    formatters = SQLFormatterConfigurationRegistry.getInstance().getFormatters();
    formatters.sort(Comparator.comparing(SQLFormatterDescriptor::getLabel));
    for (SQLFormatterDescriptor formatterDesc : formatters) {
        formatterSelector.add(DBPIdentifierCase.capitalizeCaseName(formatterDesc.getLabel()));
    }
    formatterSelector.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            showFormatterSettings();
            performApply();
        }
    });
    formatterSelector.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
    formatCurrentQueryCheck = UIUtils.createCheckbox(composite, "Format active query only", "Formats only active query or selected text. Otherwise formats entire SQL script", true, 1);
    Composite formatterGroup = UIUtils.createPlaceholder(composite, 1, 5);
    formatterGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    ((GridData) formatterGroup.getLayoutData()).horizontalSpan = 3;
    /*
        {
            Composite formatterPanel = UIUtils.createPlaceholder(formatterGroup, 4, 5);
            formatterPanel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

            keywordCaseCombo = UIUtils.createLabelCombo(formatterPanel, CoreMessages.pref_page_sql_format_label_keyword_case, SWT.DROP_DOWN | SWT.READ_ONLY);
            keywordCaseCombo.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
            keywordCaseCombo.add("Database");
            for (DBPIdentifierCase c :DBPIdentifierCase.values()) {
                keywordCaseCombo.add(DBPIdentifierCase.capitalizeCaseName(c.name()));
            }
            keywordCaseCombo.addSelectionListener(new SelectionAdapter() {
                @Override
                public void widgetSelected(SelectionEvent e) {
                    performApply();
                }
            });
        }
*/
    // External formatter
    {
        formatterConfigPlaceholder = UIUtils.createPlaceholder(formatterGroup, 2, 5);
        formatterConfigPlaceholder.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.HORIZONTAL_ALIGN_BEGINNING));
        formatterConfigPlaceholder.setLayout(new FillLayout());
    }
    {
        // SQL preview
        Composite previewGroup = new Composite(composite, SWT.BORDER);
        GridData gd = new GridData(GridData.FILL_BOTH);
        gd.horizontalSpan = 3;
        previewGroup.setLayoutData(gd);
        previewGroup.setLayout(new FillLayout());
        sqlViewer = new SQLEditorBase() {

            @Override
            public DBCExecutionContext getExecutionContext() {
                final DBPDataSourceContainer container = getDataSourceContainer();
                if (container != null) {
                    final DBPDataSource dataSource = container.getDataSource();
                    if (dataSource != null) {
                        return DBUtils.getDefaultContext(dataSource.getDefaultInstance(), false);
                    }
                }
                return null;
            }
        };
        try {
            try (final InputStream sqlStream = getClass().getResourceAsStream(FORMAT_FILE_NAME)) {
                final String sqlText = ContentUtils.readToString(sqlStream, StandardCharsets.UTF_8);
                IEditorSite subSite = new SubEditorSite(UIUtils.getActiveWorkbenchWindow().getActivePage().getActivePart().getSite());
                StringEditorInput sqlInput = new StringEditorInput("SQL preview", sqlText, true, GeneralUtils.getDefaultFileEncoding());
                sqlViewer.init(subSite, sqlInput);
            }
        } catch (Exception e) {
            log.error(e);
        }
        sqlViewer.createPartControl(previewGroup);
        Object text = sqlViewer.getAdapter(Control.class);
        if (text instanceof StyledText) {
            ((StyledText) text).setWordWrap(true);
        }
        sqlViewer.reloadSyntaxRules();
        previewGroup.addDisposeListener(e -> sqlViewer.dispose());
        {
            // Styles
            // Composite afGroup = UIUtils.createControlGroup(composite, CoreMessages.pref_page_sql_format_group_style, 1, GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING, 0);
            // ((GridData)afGroup.getLayoutData()).horizontalSpan = 2;
            styleBoldKeywords = UIUtils.createCheckbox(composite, SQLEditorMessages.pref_page_sql_format_label_bold_keywords, SQLEditorMessages.pref_page_sql_format_label_bold_keywords_tip, false, 2);
            styleBoldKeywords.addSelectionListener(new SelectionAdapter() {

                @Override
                public void widgetSelected(SelectionEvent e) {
                    performApply();
                }
            });
        }
    }
    return composite;
}
Also used : SQLFormatterDescriptor(org.jkiss.dbeaver.model.sql.registry.SQLFormatterDescriptor) StringEditorInput(org.jkiss.dbeaver.ui.editors.StringEditorInput) DBPIdentifierCase(org.jkiss.dbeaver.model.DBPIdentifierCase) SQLFormatterConfigurationRegistry(org.jkiss.dbeaver.model.sql.registry.SQLFormatterConfigurationRegistry) StyledText(org.eclipse.swt.custom.StyledText) DBPPreferenceStore(org.jkiss.dbeaver.model.preferences.DBPPreferenceStore) IEditorSite(org.eclipse.ui.IEditorSite) ISourceViewer(org.eclipse.jface.text.source.ISourceViewer) SQLEditorBase(org.jkiss.dbeaver.ui.editors.sql.SQLEditorBase) DBCExecutionContext(org.jkiss.dbeaver.model.exec.DBCExecutionContext) SQLTokenizedFormatterConfigurationPage(org.jkiss.dbeaver.ui.editors.sql.preferences.format.tokenized.SQLTokenizedFormatterConfigurationPage) Composite(org.eclipse.swt.widgets.Composite) UIUtils(org.jkiss.dbeaver.ui.UIUtils) Locale(java.util.Locale) Log(org.jkiss.dbeaver.Log) GridData(org.eclipse.swt.layout.GridData) FillLayout(org.eclipse.swt.layout.FillLayout) DBPDataSource(org.jkiss.dbeaver.model.DBPDataSource) SQLPreferenceConstants(org.jkiss.dbeaver.ui.editors.sql.SQLPreferenceConstants) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) SQLFormatterDescriptor(org.jkiss.dbeaver.model.sql.registry.SQLFormatterDescriptor) GeneralUtils(org.jkiss.dbeaver.utils.GeneralUtils) CommonUtils(org.jkiss.utils.CommonUtils) Combo(org.eclipse.swt.widgets.Combo) Button(org.eclipse.swt.widgets.Button) DBUtils(org.jkiss.dbeaver.model.DBUtils) ContentUtils(org.jkiss.dbeaver.utils.ContentUtils) SQLModelPreferences(org.jkiss.dbeaver.model.sql.SQLModelPreferences) SQLFormatterExternal(org.jkiss.dbeaver.model.sql.format.external.SQLFormatterExternal) SQLExternalFormatterConfigurationPage(org.jkiss.dbeaver.ui.editors.sql.preferences.format.SQLExternalFormatterConfigurationPage) SQLEditorMessages(org.jkiss.dbeaver.ui.editors.sql.internal.SQLEditorMessages) StandardCharsets(java.nio.charset.StandardCharsets) DBPDataSourceContainer(org.jkiss.dbeaver.model.DBPDataSourceContainer) List(java.util.List) SQLFormatter(org.jkiss.dbeaver.model.sql.format.SQLFormatter) SQLFormatterConfigurator(org.jkiss.dbeaver.ui.editors.sql.preferences.format.SQLFormatterConfigurator) DBException(org.jkiss.dbeaver.DBException) TextSelection(org.eclipse.jface.text.TextSelection) SWT(org.eclipse.swt.SWT) SubEditorSite(org.jkiss.dbeaver.ui.editors.SubEditorSite) TargetPrefPage(org.jkiss.dbeaver.ui.preferences.TargetPrefPage) IDialogPage(org.eclipse.jface.dialogs.IDialogPage) SelectionEvent(org.eclipse.swt.events.SelectionEvent) SQLFormatterTokenized(org.jkiss.dbeaver.model.sql.format.tokenized.SQLFormatterTokenized) PrefUtils(org.jkiss.dbeaver.utils.PrefUtils) Comparator(java.util.Comparator) Control(org.eclipse.swt.widgets.Control) InputStream(java.io.InputStream) StyledText(org.eclipse.swt.custom.StyledText) Composite(org.eclipse.swt.widgets.Composite) InputStream(java.io.InputStream) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) FillLayout(org.eclipse.swt.layout.FillLayout) DBPDataSource(org.jkiss.dbeaver.model.DBPDataSource) StringEditorInput(org.jkiss.dbeaver.ui.editors.StringEditorInput) DBException(org.jkiss.dbeaver.DBException) SubEditorSite(org.jkiss.dbeaver.ui.editors.SubEditorSite) Control(org.eclipse.swt.widgets.Control) SQLEditorBase(org.jkiss.dbeaver.ui.editors.sql.SQLEditorBase) GridData(org.eclipse.swt.layout.GridData) SelectionEvent(org.eclipse.swt.events.SelectionEvent) DBPDataSourceContainer(org.jkiss.dbeaver.model.DBPDataSourceContainer) IEditorSite(org.eclipse.ui.IEditorSite)

Example 10 with SubEditorSite

use of org.jkiss.dbeaver.ui.editors.SubEditorSite in project dbeaver by dbeaver.

the class UIServiceSQLImpl method createSQLPanel.

@Override
public Object createSQLPanel(Object site, Object parent, DBPContextProvider contextProvider, String panelName, boolean showVerticalBar, String sqlText) throws DBException {
    IWorkbenchPartSite partSite = (IWorkbenchPartSite) site;
    Composite editorPH = (Composite) parent;
    final SQLEditorBase editor = new SQLEditorBase() {

        @Nullable
        @Override
        public DBCExecutionContext getExecutionContext() {
            return contextProvider.getExecutionContext();
        }

        @Override
        public void createPartControl(Composite parent) {
            super.createPartControl(parent);
            getAction(ITextEditorActionConstants.CONTEXT_PREFERENCES).setEnabled(false);
        }

        @Override
        public boolean isFoldingEnabled() {
            return false;
        }
    };
    editor.setHasVerticalRuler(showVerticalBar);
    try {
        editor.init(new SubEditorSite(partSite), new StringEditorInput(panelName, sqlText, true, GeneralUtils.getDefaultFileEncoding()));
    } catch (PartInitException e) {
        throw new DBException("Error initializing SQL panel", e);
    }
    editor.createPartControl(editorPH);
    editor.reloadSyntaxRules();
    TextViewer textViewer = editor.getTextViewer();
    textViewer.setData("editor", editor);
    TextEditorUtils.enableHostEditorKeyBindingsSupport(partSite, textViewer.getTextWidget());
    return textViewer;
}
Also used : IWorkbenchPartSite(org.eclipse.ui.IWorkbenchPartSite) SubEditorSite(org.jkiss.dbeaver.ui.editors.SubEditorSite) DBException(org.jkiss.dbeaver.DBException) Composite(org.eclipse.swt.widgets.Composite) PartInitException(org.eclipse.ui.PartInitException) StringEditorInput(org.jkiss.dbeaver.ui.editors.StringEditorInput) TextViewer(org.eclipse.jface.text.TextViewer)

Aggregations

SubEditorSite (org.jkiss.dbeaver.ui.editors.SubEditorSite)10 StyledText (org.eclipse.swt.custom.StyledText)8 PartInitException (org.eclipse.ui.PartInitException)6 StringEditorInput (org.jkiss.dbeaver.ui.editors.StringEditorInput)6 InputStream (java.io.InputStream)4 SelectionAdapter (org.eclipse.swt.events.SelectionAdapter)4 SelectionEvent (org.eclipse.swt.events.SelectionEvent)4 FillLayout (org.eclipse.swt.layout.FillLayout)4 GridData (org.eclipse.swt.layout.GridData)4 Composite (org.eclipse.swt.widgets.Composite)4 IEditorSite (org.eclipse.ui.IEditorSite)4 DBException (org.jkiss.dbeaver.DBException)4 DBPDataSource (org.jkiss.dbeaver.model.DBPDataSource)4 DBPDataSourceContainer (org.jkiss.dbeaver.model.DBPDataSourceContainer)4 DBPIdentifierCase (org.jkiss.dbeaver.model.DBPIdentifierCase)4 SQLEditorBase (org.jkiss.dbeaver.ui.editors.sql.SQLEditorBase)4 StandardCharsets (java.nio.charset.StandardCharsets)2 Comparator (java.util.Comparator)2 List (java.util.List)2 Locale (java.util.Locale)2