Search in sources :

Example 1 with DriverLibraryAbstract

use of org.jkiss.dbeaver.registry.driver.DriverLibraryAbstract in project dbeaver by serge-rider.

the class DriverEditDialog method createLibrariesTab.

private void createLibrariesTab(TabFolder group) {
    GridData gd;
    Composite libsGroup = new Composite(group, SWT.NONE);
    libsGroup.setLayout(new GridLayout(2, false));
    {
        Composite libsListGroup = new Composite(libsGroup, SWT.NONE);
        gd = new GridData(GridData.FILL_BOTH);
        libsListGroup.setLayoutData(gd);
        GridLayout layout = new GridLayout(1, false);
        layout.marginHeight = 0;
        layout.marginWidth = 0;
        libsListGroup.setLayout(layout);
        // Additional libraries list
        libTable = new TreeViewer(libsListGroup, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL);
        libTable.setContentProvider(new LibContentProvider());
        libTable.setLabelProvider(new CellLabelProvider() {

            @Override
            public void update(ViewerCell cell) {
                final Object element = cell.getElement();
                if (element instanceof DBPDriverLibrary) {
                    DBPDriverLibrary lib = (DBPDriverLibrary) element;
                    String displayName = lib.getDisplayName();
                    if (lib.getPreferredVersion() != null) {
                        displayName += " [" + lib.getPreferredVersion() + "]";
                    }
                    cell.setText(displayName);
                    File localFile = lib.getLocalFile();
                    if (localFile != null && !localFile.exists()) {
                        cell.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_RED));
                    } else if (!driver.isLibraryResolved(lib)) {
                        cell.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_BLUE));
                    } else {
                        cell.setForeground(null);
                    }
                    cell.setImage(DBeaverIcons.getImage(lib.getIcon()));
                } else {
                    cell.setText(element.toString());
                    if (element instanceof DriverDescriptor.DriverFileInfo) {
                        if (((DriverDescriptor.DriverFileInfo) element).getType() == DBPDriverLibrary.FileType.license) {
                            cell.setImage(DBeaverIcons.getImage(DBIcon.TYPE_TEXT));
                        } else {
                            cell.setImage(DBeaverIcons.getImage(DBIcon.JAR));
                        }
                    } else {
                        cell.setImage(DBeaverIcons.getImage(DBIcon.JAR));
                    }
                }
            }

            @Override
            public String getToolTipText(Object element) {
                if (element instanceof DBPDriverLibrary) {
                    File localFile = ((DBPDriverLibrary) element).getLocalFile();
                    return localFile == null ? "N/A" : localFile.getAbsolutePath();
                }
                return super.getToolTipText(element);
            }
        });
        ColumnViewerToolTipSupport.enableFor(libTable);
        libTable.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
        libTable.getControl().addListener(SWT.Selection, event -> changeLibSelection());
        libTable.addDoubleClickListener(event -> {
            if (getSelectedLibrary() instanceof DriverLibraryMavenArtifact) {
                editMavenArtifact();
            }
        });
        // Find driver class
        boolean isReadOnly = !provider.isDriversManagable();
        Composite findClassGroup = new Composite(libsListGroup, SWT.TOP);
        findClassGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
        layout = new GridLayout(3, false);
        layout.marginHeight = 0;
        layout.marginWidth = 0;
        findClassGroup.setLayout(layout);
        UIUtils.createControlLabel(findClassGroup, UIConnectionMessages.dialog_edit_driver_label_driver_class);
        classListCombo = new Combo(findClassGroup, SWT.DROP_DOWN | SWT.READ_ONLY);
        classListCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
        classListCombo.addSelectionListener(new SelectionAdapter() {

            @Override
            public void widgetSelected(SelectionEvent e) {
                int selIndex = classListCombo.getSelectionIndex();
                if (selIndex >= 0) {
                    driverClassText.setText(classListCombo.getItem(selIndex));
                }
            }
        });
        classListCombo.setEnabled(!isReadOnly);
        findClassButton = new Button(findClassGroup, SWT.PUSH);
        findClassButton.setText(UIConnectionMessages.dialog_edit_driver_button_bind_class);
        findClassButton.addListener(SWT.Selection, event -> {
            try {
                DriverClassFindJob classFinder = new DriverClassFindJob(driver, java.sql.Driver.class.getName(), true);
                UIUtils.runInProgressDialog(classFinder);
                if (classListCombo != null && !classListCombo.isDisposed()) {
                    List<String> classNames = classFinder.getDriverClassNames();
                    classListCombo.setItems(classNames.toArray(new String[classNames.size()]));
                    classListCombo.setListVisible(true);
                }
            } catch (InvocationTargetException e) {
                log.error(e.getTargetException());
            }
        });
        findClassButton.setEnabled(!isReadOnly);
    }
    Composite libsControlGroup = new Composite(libsGroup, SWT.TOP);
    libsControlGroup.setLayout(new GridLayout(1, true));
    libsControlGroup.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING));
    UIUtils.createToolButton(libsControlGroup, UIConnectionMessages.dialog_edit_driver_button_add_file, new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            addLibraryFiles();
        }
    });
    UIUtils.createToolButton(libsControlGroup, UIConnectionMessages.dialog_edit_driver_button_add_folder, new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            addLibraryFolder();
        }
    });
    UIUtils.createToolButton(libsControlGroup, UIConnectionMessages.dialog_edit_driver_button_add_artifact, new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            addMavenArtifact();
        }
    });
    updateVersionButton = UIUtils.createToolButton(libsControlGroup, UIConnectionMessages.dialog_edit_driver_button_update_version, new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            driver.updateFiles();
            changeLibContent();
        }
    });
    detailsButton = UIUtils.createToolButton(libsControlGroup, UIConnectionMessages.dialog_edit_driver_button_details, new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            new DriverLibraryDetailsDialog(getShell(), driver, getSelectedLibrary()).open();
        }
    });
    detailsButton.setEnabled(false);
    deleteButton = UIUtils.createToolButton(libsControlGroup, UIConnectionMessages.dialog_edit_driver_button_delete, new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            IStructuredSelection selection = (IStructuredSelection) libTable.getSelection();
            if (selection != null && !selection.isEmpty()) {
                if (UIUtils.confirmAction(getShell(), UIConnectionMessages.dialog_edit_driver_dialog_delete_library_title, UIConnectionMessages.dialog_edit_driver_dialog_delete_library_message)) {
                    for (Object obj : selection.toArray()) {
                        if (obj instanceof DriverLibraryAbstract) {
                            driver.removeDriverLibrary((DriverLibraryAbstract) obj);
                        }
                    }
                }
            }
            changeLibContent();
        }
    });
    deleteButton.setEnabled(false);
    UIUtils.createHorizontalLine(libsControlGroup);
    UIUtils.createToolButton(libsControlGroup, UIConnectionMessages.dialog_edit_driver_button_classpath, new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            ViewClasspathDialog cpDialog = new ViewClasspathDialog(getShell());
            cpDialog.open();
        }
    });
    changeLibContent();
    TabItem libsTab = new TabItem(group, SWT.NONE);
    libsTab.setText(UIConnectionMessages.dialog_edit_driver_tab_name_driver_libraries);
    libsTab.setToolTipText(UIConnectionMessages.dialog_edit_driver_tab_tooltip_driver_libraries);
    libsTab.setControl(libsGroup);
}
Also used : java.util(java.util) UIConnectionMessages(org.jkiss.dbeaver.ui.internal.UIConnectionMessages) Image(org.eclipse.swt.graphics.Image) IDialogConstants(org.eclipse.jface.dialogs.IDialogConstants) IDialogSettings(org.eclipse.jface.dialogs.IDialogSettings) UIMessages(org.jkiss.dbeaver.ui.internal.UIMessages) IStatus(org.eclipse.core.runtime.IStatus) DBeaverIcons(org.jkiss.dbeaver.ui.DBeaverIcons) DBPDriver(org.jkiss.dbeaver.model.connection.DBPDriver) UIUtils(org.jkiss.dbeaver.ui.UIUtils) ConnectionPropertiesControl(org.jkiss.dbeaver.ui.dialogs.connection.ConnectionPropertiesControl) Log(org.jkiss.dbeaver.Log) DataSourceProviderRegistry(org.jkiss.dbeaver.registry.DataSourceProviderRegistry) DriverClassFindJob(org.jkiss.dbeaver.registry.driver.DriverClassFindJob) DataSourceProviderDescriptor(org.jkiss.dbeaver.registry.DataSourceProviderDescriptor) GridData(org.eclipse.swt.layout.GridData) DBPDataSource(org.jkiss.dbeaver.model.DBPDataSource) HelpEnabledDialog(org.jkiss.dbeaver.ui.dialogs.HelpEnabledDialog) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) GeneralUtils(org.jkiss.dbeaver.utils.GeneralUtils) CommonUtils(org.jkiss.utils.CommonUtils) NLS(org.eclipse.osgi.util.NLS) StandardErrorDialog(org.jkiss.dbeaver.ui.dialogs.StandardErrorDialog) PropertyTreeViewer(org.jkiss.dbeaver.ui.properties.PropertyTreeViewer) org.eclipse.swt.widgets(org.eclipse.swt.widgets) ArrayUtils(org.jkiss.utils.ArrayUtils) org.eclipse.jface.viewers(org.eclipse.jface.viewers) DriverDescriptor(org.jkiss.dbeaver.registry.driver.DriverDescriptor) DriverLibraryAbstract(org.jkiss.dbeaver.registry.driver.DriverLibraryAbstract) File(java.io.File) InvocationTargetException(java.lang.reflect.InvocationTargetException) DriverLibraryMavenArtifact(org.jkiss.dbeaver.registry.driver.DriverLibraryMavenArtifact) RowLayout(org.eclipse.swt.layout.RowLayout) List(java.util.List) RuntimeUtils(org.jkiss.dbeaver.utils.RuntimeUtils) DBIcon(org.jkiss.dbeaver.model.DBIcon) PropertySourceCustom(org.jkiss.dbeaver.runtime.properties.PropertySourceCustom) DBException(org.jkiss.dbeaver.DBException) DBPDriverLibrary(org.jkiss.dbeaver.model.connection.DBPDriverLibrary) CSmartCombo(org.jkiss.dbeaver.ui.controls.CSmartCombo) ClientHomesPanel(org.jkiss.dbeaver.ui.dialogs.connection.ClientHomesPanel) SWT(org.eclipse.swt.SWT) IHelpContextIds(org.jkiss.dbeaver.ui.IHelpContextIds) SelectionEvent(org.eclipse.swt.events.SelectionEvent) GridLayout(org.eclipse.swt.layout.GridLayout) PropertyTreeViewer(org.jkiss.dbeaver.ui.properties.PropertyTreeViewer) CSmartCombo(org.jkiss.dbeaver.ui.controls.CSmartCombo) DriverClassFindJob(org.jkiss.dbeaver.registry.driver.DriverClassFindJob) DriverLibraryAbstract(org.jkiss.dbeaver.registry.driver.DriverLibraryAbstract) GridLayout(org.eclipse.swt.layout.GridLayout) DBPDriverLibrary(org.jkiss.dbeaver.model.connection.DBPDriverLibrary) SelectionEvent(org.eclipse.swt.events.SelectionEvent) List(java.util.List) DriverLibraryMavenArtifact(org.jkiss.dbeaver.registry.driver.DriverLibraryMavenArtifact) DriverDescriptor(org.jkiss.dbeaver.registry.driver.DriverDescriptor) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) InvocationTargetException(java.lang.reflect.InvocationTargetException) GridData(org.eclipse.swt.layout.GridData) File(java.io.File)

Example 2 with DriverLibraryAbstract

use of org.jkiss.dbeaver.registry.driver.DriverLibraryAbstract in project dbeaver by serge-rider.

the class DriverEditDialog method changeLibSelection.

private void changeLibSelection() {
    DriverLibraryAbstract selectedLib = getSelectedLibrary();
    detailsButton.setEnabled(selectedLib != null);
    deleteButton.setEnabled(selectedLib != null);
/*
        upButton.setEnabled(libList.indexOf(selectedLib) > 0);
        downButton.setEnabled(libList.indexOf(selectedLib) < libList.size() - 1);
*/
}
Also used : DriverLibraryAbstract(org.jkiss.dbeaver.registry.driver.DriverLibraryAbstract)

Example 3 with DriverLibraryAbstract

use of org.jkiss.dbeaver.registry.driver.DriverLibraryAbstract in project dbeaver by dbeaver.

the class DriverEditDialog method createLibrariesTab.

private void createLibrariesTab(TabFolder group) {
    GridData gd;
    Composite libsGroup = new Composite(group, SWT.NONE);
    libsGroup.setLayout(new GridLayout(2, false));
    {
        Composite libsListGroup = new Composite(libsGroup, SWT.NONE);
        gd = new GridData(GridData.FILL_BOTH);
        libsListGroup.setLayoutData(gd);
        GridLayout layout = new GridLayout(1, false);
        layout.marginHeight = 0;
        layout.marginWidth = 0;
        libsListGroup.setLayout(layout);
        // Additional libraries list
        libTable = new TreeViewer(libsListGroup, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL);
        libTable.setContentProvider(new LibContentProvider());
        libTable.setLabelProvider(new CellLabelProvider() {

            @Override
            public void update(ViewerCell cell) {
                final Object element = cell.getElement();
                if (element instanceof DBPDriverLibrary) {
                    DBPDriverLibrary lib = (DBPDriverLibrary) element;
                    String displayName = lib.getDisplayName();
                    if (lib.getPreferredVersion() != null) {
                        displayName += " [" + lib.getPreferredVersion() + "]";
                    }
                    cell.setText(displayName);
                    File localFile = lib.getLocalFile();
                    if (localFile != null && !localFile.exists()) {
                        cell.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_RED));
                    } else if (!driver.isLibraryResolved(lib)) {
                        cell.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_BLUE));
                    } else {
                        cell.setForeground(null);
                    }
                    cell.setImage(DBeaverIcons.getImage(lib.getIcon()));
                } else {
                    cell.setText(element.toString());
                    if (element instanceof DriverDescriptor.DriverFileInfo) {
                        if (((DriverDescriptor.DriverFileInfo) element).getType() == DBPDriverLibrary.FileType.license) {
                            cell.setImage(DBeaverIcons.getImage(DBIcon.TYPE_TEXT));
                        } else {
                            cell.setImage(DBeaverIcons.getImage(DBIcon.JAR));
                        }
                    } else {
                        cell.setImage(DBeaverIcons.getImage(DBIcon.JAR));
                    }
                }
            }

            @Override
            public String getToolTipText(Object element) {
                if (element instanceof DBPDriverLibrary) {
                    File localFile = ((DBPDriverLibrary) element).getLocalFile();
                    return localFile == null ? "N/A" : localFile.getAbsolutePath();
                }
                return super.getToolTipText(element);
            }
        });
        ColumnViewerToolTipSupport.enableFor(libTable);
        libTable.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
        libTable.getControl().addListener(SWT.Selection, event -> changeLibSelection());
        libTable.addDoubleClickListener(event -> {
            if (getSelectedLibrary() instanceof DriverLibraryMavenArtifact) {
                editMavenArtifact();
            }
        });
        // Find driver class
        boolean isReadOnly = !provider.isDriversManagable();
        Composite findClassGroup = new Composite(libsListGroup, SWT.TOP);
        findClassGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
        layout = new GridLayout(3, false);
        layout.marginHeight = 0;
        layout.marginWidth = 0;
        findClassGroup.setLayout(layout);
        UIUtils.createControlLabel(findClassGroup, UIConnectionMessages.dialog_edit_driver_label_driver_class);
        classListCombo = new Combo(findClassGroup, SWT.DROP_DOWN | SWT.READ_ONLY);
        classListCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
        classListCombo.addSelectionListener(new SelectionAdapter() {

            @Override
            public void widgetSelected(SelectionEvent e) {
                int selIndex = classListCombo.getSelectionIndex();
                if (selIndex >= 0) {
                    driverClassText.setText(classListCombo.getItem(selIndex));
                }
            }
        });
        classListCombo.setEnabled(!isReadOnly);
        findClassButton = new Button(findClassGroup, SWT.PUSH);
        findClassButton.setText(UIConnectionMessages.dialog_edit_driver_button_bind_class);
        findClassButton.addListener(SWT.Selection, event -> {
            try {
                DriverClassFindJob classFinder = new DriverClassFindJob(driver, java.sql.Driver.class.getName(), true);
                UIUtils.runInProgressDialog(classFinder);
                if (classListCombo != null && !classListCombo.isDisposed()) {
                    List<String> classNames = classFinder.getDriverClassNames();
                    classListCombo.setItems(classNames.toArray(new String[classNames.size()]));
                    classListCombo.setListVisible(true);
                }
            } catch (InvocationTargetException e) {
                log.error(e.getTargetException());
            }
        });
        findClassButton.setEnabled(!isReadOnly);
    }
    Composite libsControlGroup = new Composite(libsGroup, SWT.TOP);
    libsControlGroup.setLayout(new GridLayout(1, true));
    libsControlGroup.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING));
    UIUtils.createToolButton(libsControlGroup, UIConnectionMessages.dialog_edit_driver_button_add_file, new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            addLibraryFiles();
        }
    });
    UIUtils.createToolButton(libsControlGroup, UIConnectionMessages.dialog_edit_driver_button_add_folder, new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            addLibraryFolder();
        }
    });
    UIUtils.createToolButton(libsControlGroup, UIConnectionMessages.dialog_edit_driver_button_add_artifact, new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            addMavenArtifact();
        }
    });
    updateVersionButton = UIUtils.createToolButton(libsControlGroup, UIConnectionMessages.dialog_edit_driver_button_update_version, new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            driver.updateFiles();
            changeLibContent();
        }
    });
    detailsButton = UIUtils.createToolButton(libsControlGroup, UIConnectionMessages.dialog_edit_driver_button_details, new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            new DriverLibraryDetailsDialog(getShell(), driver, getSelectedLibrary()).open();
        }
    });
    detailsButton.setEnabled(false);
    deleteButton = UIUtils.createToolButton(libsControlGroup, UIConnectionMessages.dialog_edit_driver_button_delete, new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            IStructuredSelection selection = (IStructuredSelection) libTable.getSelection();
            if (selection != null && !selection.isEmpty()) {
                if (UIUtils.confirmAction(getShell(), UIConnectionMessages.dialog_edit_driver_dialog_delete_library_title, UIConnectionMessages.dialog_edit_driver_dialog_delete_library_message)) {
                    for (Object obj : selection.toArray()) {
                        if (obj instanceof DriverLibraryAbstract) {
                            driver.removeDriverLibrary((DriverLibraryAbstract) obj);
                        }
                    }
                }
            }
            changeLibContent();
        }
    });
    deleteButton.setEnabled(false);
    UIUtils.createHorizontalLine(libsControlGroup);
    UIUtils.createToolButton(libsControlGroup, UIConnectionMessages.dialog_edit_driver_button_classpath, new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            ViewClasspathDialog cpDialog = new ViewClasspathDialog(getShell());
            cpDialog.open();
        }
    });
    changeLibContent();
    TabItem libsTab = new TabItem(group, SWT.NONE);
    libsTab.setText(UIConnectionMessages.dialog_edit_driver_tab_name_driver_libraries);
    libsTab.setToolTipText(UIConnectionMessages.dialog_edit_driver_tab_tooltip_driver_libraries);
    libsTab.setControl(libsGroup);
}
Also used : java.util(java.util) UIConnectionMessages(org.jkiss.dbeaver.ui.internal.UIConnectionMessages) Image(org.eclipse.swt.graphics.Image) IDialogConstants(org.eclipse.jface.dialogs.IDialogConstants) IDialogSettings(org.eclipse.jface.dialogs.IDialogSettings) UIMessages(org.jkiss.dbeaver.ui.internal.UIMessages) IStatus(org.eclipse.core.runtime.IStatus) DBeaverIcons(org.jkiss.dbeaver.ui.DBeaverIcons) DBPDriver(org.jkiss.dbeaver.model.connection.DBPDriver) UIUtils(org.jkiss.dbeaver.ui.UIUtils) ConnectionPropertiesControl(org.jkiss.dbeaver.ui.dialogs.connection.ConnectionPropertiesControl) Log(org.jkiss.dbeaver.Log) DataSourceProviderRegistry(org.jkiss.dbeaver.registry.DataSourceProviderRegistry) DriverClassFindJob(org.jkiss.dbeaver.registry.driver.DriverClassFindJob) DataSourceProviderDescriptor(org.jkiss.dbeaver.registry.DataSourceProviderDescriptor) GridData(org.eclipse.swt.layout.GridData) DBPDataSource(org.jkiss.dbeaver.model.DBPDataSource) HelpEnabledDialog(org.jkiss.dbeaver.ui.dialogs.HelpEnabledDialog) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) GeneralUtils(org.jkiss.dbeaver.utils.GeneralUtils) CommonUtils(org.jkiss.utils.CommonUtils) NLS(org.eclipse.osgi.util.NLS) StandardErrorDialog(org.jkiss.dbeaver.ui.dialogs.StandardErrorDialog) PropertyTreeViewer(org.jkiss.dbeaver.ui.properties.PropertyTreeViewer) org.eclipse.swt.widgets(org.eclipse.swt.widgets) ArrayUtils(org.jkiss.utils.ArrayUtils) org.eclipse.jface.viewers(org.eclipse.jface.viewers) DriverDescriptor(org.jkiss.dbeaver.registry.driver.DriverDescriptor) DriverLibraryAbstract(org.jkiss.dbeaver.registry.driver.DriverLibraryAbstract) File(java.io.File) InvocationTargetException(java.lang.reflect.InvocationTargetException) DriverLibraryMavenArtifact(org.jkiss.dbeaver.registry.driver.DriverLibraryMavenArtifact) RowLayout(org.eclipse.swt.layout.RowLayout) List(java.util.List) RuntimeUtils(org.jkiss.dbeaver.utils.RuntimeUtils) DBIcon(org.jkiss.dbeaver.model.DBIcon) PropertySourceCustom(org.jkiss.dbeaver.runtime.properties.PropertySourceCustom) DBException(org.jkiss.dbeaver.DBException) DBPDriverLibrary(org.jkiss.dbeaver.model.connection.DBPDriverLibrary) CSmartCombo(org.jkiss.dbeaver.ui.controls.CSmartCombo) ClientHomesPanel(org.jkiss.dbeaver.ui.dialogs.connection.ClientHomesPanel) SWT(org.eclipse.swt.SWT) IHelpContextIds(org.jkiss.dbeaver.ui.IHelpContextIds) SelectionEvent(org.eclipse.swt.events.SelectionEvent) GridLayout(org.eclipse.swt.layout.GridLayout) PropertyTreeViewer(org.jkiss.dbeaver.ui.properties.PropertyTreeViewer) CSmartCombo(org.jkiss.dbeaver.ui.controls.CSmartCombo) DriverClassFindJob(org.jkiss.dbeaver.registry.driver.DriverClassFindJob) DriverLibraryAbstract(org.jkiss.dbeaver.registry.driver.DriverLibraryAbstract) GridLayout(org.eclipse.swt.layout.GridLayout) DBPDriverLibrary(org.jkiss.dbeaver.model.connection.DBPDriverLibrary) SelectionEvent(org.eclipse.swt.events.SelectionEvent) List(java.util.List) DriverLibraryMavenArtifact(org.jkiss.dbeaver.registry.driver.DriverLibraryMavenArtifact) DriverDescriptor(org.jkiss.dbeaver.registry.driver.DriverDescriptor) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) InvocationTargetException(java.lang.reflect.InvocationTargetException) GridData(org.eclipse.swt.layout.GridData) File(java.io.File)

Example 4 with DriverLibraryAbstract

use of org.jkiss.dbeaver.registry.driver.DriverLibraryAbstract in project dbeaver by dbeaver.

the class DriverEditDialog method changeLibSelection.

private void changeLibSelection() {
    DriverLibraryAbstract selectedLib = getSelectedLibrary();
    detailsButton.setEnabled(selectedLib != null);
    deleteButton.setEnabled(selectedLib != null);
/*
        upButton.setEnabled(libList.indexOf(selectedLib) > 0);
        downButton.setEnabled(libList.indexOf(selectedLib) < libList.size() - 1);
*/
}
Also used : DriverLibraryAbstract(org.jkiss.dbeaver.registry.driver.DriverLibraryAbstract)

Aggregations

DriverLibraryAbstract (org.jkiss.dbeaver.registry.driver.DriverLibraryAbstract)4 File (java.io.File)2 InvocationTargetException (java.lang.reflect.InvocationTargetException)2 java.util (java.util)2 List (java.util.List)2 IStatus (org.eclipse.core.runtime.IStatus)2 IDialogConstants (org.eclipse.jface.dialogs.IDialogConstants)2 IDialogSettings (org.eclipse.jface.dialogs.IDialogSettings)2 org.eclipse.jface.viewers (org.eclipse.jface.viewers)2 NLS (org.eclipse.osgi.util.NLS)2 SWT (org.eclipse.swt.SWT)2 SelectionAdapter (org.eclipse.swt.events.SelectionAdapter)2 SelectionEvent (org.eclipse.swt.events.SelectionEvent)2 Image (org.eclipse.swt.graphics.Image)2 GridData (org.eclipse.swt.layout.GridData)2 GridLayout (org.eclipse.swt.layout.GridLayout)2 RowLayout (org.eclipse.swt.layout.RowLayout)2 org.eclipse.swt.widgets (org.eclipse.swt.widgets)2 DBException (org.jkiss.dbeaver.DBException)2 Log (org.jkiss.dbeaver.Log)2