Search in sources :

Example 16 with DataTransferPipe

use of org.jkiss.dbeaver.tools.transfer.DataTransferPipe in project dbeaver by serge-rider.

the class DataTransferPageSettings method createSettingsPages.

private void createSettingsPages(Composite composite) {
    DataTransferSettings dtSettings = getWizard().getSettings();
    {
        DataTransferPipe dataPipe = dtSettings.getDataPipes().get(0);
        StringBuilder title = new StringBuilder();
        title.append(DTMessages.data_transfer_wizard_settings_title).append(" (").append(dtSettings.getProducer().getName()).append(" to ").append(dtSettings.getConsumer().getName());
        if (dtSettings.getProcessor() != null) {
            title.append(", ").append(dtSettings.getProcessor().getName());
        }
        title.append(")");
        setTitle(title.toString());
        producerSettingsPage = getSettingsPage(dataPipe.getProducer());
        consumerSettingsPage = getSettingsPage(dataPipe.getConsumer());
    }
    Composite settingsComposite = composite;
    if (producerSettingsPage != null && consumerSettingsPage != null) {
        SashForm sash = new SashForm(composite, SWT.HORIZONTAL);
        sash.setLayoutData(new GridData(GridData.FILL_BOTH));
        settingsComposite = sash;
    }
    if (producerSettingsPage != null) {
        producerSettingsPage.setWizard(getWizard());
        Composite producerGroup = UIUtils.createPlaceholder(settingsComposite, 1);
        UIUtils.createInfoLabel(producerGroup, producerSettingsPage.getTitle());
        Composite settingPanel = new Composite(producerGroup, SWT.NONE);
        settingPanel.setLayoutData(new GridData(GridData.FILL_BOTH));
        settingPanel.setLayout(new FillLayout());
        producerSettingsPage.createControl(settingPanel);
        if (producerSettingsPage instanceof ActiveWizardPage) {
            ((ActiveWizardPage) producerSettingsPage).activatePage();
        }
    }
    if (consumerSettingsPage != null) {
        consumerSettingsPage.setWizard(getWizard());
        Composite consumerGroup = UIUtils.createPlaceholder(settingsComposite, 1);
        UIUtils.createInfoLabel(consumerGroup, consumerSettingsPage.getTitle());
        Composite settingPanel = new Composite(consumerGroup, SWT.NONE);
        settingPanel.setLayoutData(new GridData(GridData.FILL_BOTH));
        settingPanel.setLayout(new FillLayout());
        consumerSettingsPage.createControl(settingPanel);
        if (consumerSettingsPage instanceof ActiveWizardPage) {
            ((ActiveWizardPage) consumerSettingsPage).activatePage();
        }
    }
}
Also used : DataTransferSettings(org.jkiss.dbeaver.tools.transfer.DataTransferSettings) SashForm(org.eclipse.swt.custom.SashForm) Composite(org.eclipse.swt.widgets.Composite) GridData(org.eclipse.swt.layout.GridData) FillLayout(org.eclipse.swt.layout.FillLayout) DataTransferPipe(org.jkiss.dbeaver.tools.transfer.DataTransferPipe) ActiveWizardPage(org.jkiss.dbeaver.ui.dialogs.ActiveWizardPage)

Aggregations

DataTransferPipe (org.jkiss.dbeaver.tools.transfer.DataTransferPipe)16 DataTransferSettings (org.jkiss.dbeaver.tools.transfer.DataTransferSettings)8 GridData (org.eclipse.swt.layout.GridData)4 DBException (org.jkiss.dbeaver.DBException)4 InvocationTargetException (java.lang.reflect.InvocationTargetException)2 ArrayList (java.util.ArrayList)2 List (java.util.List)2 SashForm (org.eclipse.swt.custom.SashForm)2 SelectionAdapter (org.eclipse.swt.events.SelectionAdapter)2 SelectionEvent (org.eclipse.swt.events.SelectionEvent)2 FillLayout (org.eclipse.swt.layout.FillLayout)2 Composite (org.eclipse.swt.widgets.Composite)2 DBNDatabaseNode (org.jkiss.dbeaver.model.navigator.DBNDatabaseNode)2 DBSDataContainer (org.jkiss.dbeaver.model.struct.DBSDataContainer)2 DBSDataManipulator (org.jkiss.dbeaver.model.struct.DBSDataManipulator)2 DBSObject (org.jkiss.dbeaver.model.struct.DBSObject)2 DataTransferJob (org.jkiss.dbeaver.tools.transfer.DataTransferJob)2 DatabaseTransferConsumer (org.jkiss.dbeaver.tools.transfer.database.DatabaseTransferConsumer)2 DatabaseTransferProducer (org.jkiss.dbeaver.tools.transfer.database.DatabaseTransferProducer)2 ActiveWizardPage (org.jkiss.dbeaver.ui.dialogs.ActiveWizardPage)2