提交 63cd3dc6 编写于 作者: S Serge Rider 提交者: GitHub

Merge pull request #10191 from dbeaver/export-data-wrong-option#9630

#9630 send selection event in data transfer page

Former-commit-id: ba681b24
......@@ -146,26 +146,7 @@ class DataTransferPagePipes extends ActiveWizardPage<DataTransferWizard> {
@Override
public void widgetSelected(SelectionEvent e)
{
final IStructuredSelection selection = (IStructuredSelection) nodesTable.getSelection();
TransferTarget target;
if (!selection.isEmpty()) {
target = (TransferTarget) selection.getFirstElement();
} else {
target = null;
}
DataTransferSettings settings = getWizard().getSettings();
if (target == null) {
settings.selectConsumer(null, null, true);
} else {
if (settings.isConsumerOptional()) {
settings.selectConsumer(target.node, target.processor, true);
} else if (settings.isProducerOptional()) {
settings.selectProducer(target.node, target.processor, true);
} else {
// no optional nodes
}
}
updatePageCompletion();
setSelectedSettings();
}
@Override
......@@ -179,6 +160,29 @@ class DataTransferPagePipes extends ActiveWizardPage<DataTransferWizard> {
});
}
private void setSelectedSettings() {
final IStructuredSelection selection = (IStructuredSelection) nodesTable.getSelection();
TransferTarget target;
if (!selection.isEmpty()) {
target = (TransferTarget) selection.getFirstElement();
} else {
target = null;
}
DataTransferSettings settings = getWizard().getSettings();
if (target == null) {
settings.selectConsumer(null, null, true);
} else {
if (settings.isConsumerOptional()) {
settings.selectConsumer(target.node, target.processor, true);
} else if (settings.isProducerOptional()) {
settings.selectProducer(target.node, target.processor, true);
} else {
// no optional nodes
}
}
updatePageCompletion();
}
private void createInputsTable(Composite composite) {
Composite panel = UIUtils.createComposite(composite, 1);
......@@ -245,7 +249,10 @@ class DataTransferPagePipes extends ActiveWizardPage<DataTransferWizard> {
Collection<TransferTarget> targets = (Collection<TransferTarget>) nodesTable.getInput();
for (TransferTarget target : targets) {
if ((target.node == consumer || target.node == producer) && target.processor == processor) {
UIUtils.asyncExec(() -> nodesTable.setSelection(new StructuredSelection(target)));
UIUtils.asyncExec(() -> {
nodesTable.setSelection(new StructuredSelection(target));
setSelectedSettings();
});
break;
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册