提交 14234a05 编写于 作者: S serge-rider

#3557 Export wizard - buttons enablement fix


Former-commit-id: 901affce
上级 6ead48df
......@@ -48,7 +48,7 @@ public abstract class AbstractToolWizardPage<WIZARD extends AbstractToolWizard>
}
protected static void createCheckButtons(Composite buttonsPanel, final Table table) {
protected void createCheckButtons(Composite buttonsPanel, final Table table) {
UIUtils.createPushButton(buttonsPanel, "All", null, new CheckListener(table, true));
UIUtils.createPushButton(buttonsPanel, "None", null, new CheckListener(table, false));
}
......@@ -64,7 +64,11 @@ public abstract class AbstractToolWizardPage<WIZARD extends AbstractToolWizard>
}
private static class CheckListener extends SelectionAdapter {
protected void updateState() {
setPageComplete(true);
}
private class CheckListener extends SelectionAdapter {
private final Table table;
private final boolean check;
......@@ -78,6 +82,7 @@ public abstract class AbstractToolWizardPage<WIZARD extends AbstractToolWizard>
for (TableItem item : table.getItems()) {
item.setChecked(check);
}
updateState();
}
}
......
......@@ -262,7 +262,8 @@ class MySQLExportWizardPageObjects extends MySQLWizardPageSettings<MySQLExportWi
}
}
private void updateState()
@Override
protected void updateState()
{
boolean complete = false;
if (!checkedObjects.isEmpty()) {
......
......@@ -136,7 +136,8 @@ class MySQLExportWizardPageSettings extends MySQLWizardPageSettings<MySQLExportW
setControl(composite);
}
private void updateState()
@Override
protected void updateState()
{
String fileName = outputFolderText.getText();
wizard.setOutputFolder(CommonUtils.isEmpty(fileName) ? null : new File(fileName));
......
......@@ -121,7 +121,8 @@ public class MySQLScriptExecuteWizardPageSettings extends MySQLWizardPageSetting
updateState();
}
private void updateState()
@Override
protected void updateState()
{
String fileName = inputFileText.getText();
wizard.setInputFile(CommonUtils.isEmpty(fileName) ? null : new File(fileName));
......
......@@ -80,7 +80,8 @@ public class OracleScriptExecuteWizardPageSettings extends AbstractToolWizardPag
//updateState();
}
private void updateState()
@Override
protected void updateState()
{
String fileName = inputFileText.getText();
wizard.setInputFile(CommonUtils.isEmpty(fileName) ? null : new File(fileName));
......
......@@ -85,17 +85,15 @@ class PostgreBackupWizardPageObjects extends PostgreWizardPageSettings<PostgreBa
Composite catPanel = UIUtils.createPlaceholder(sash, 1);
catPanel.setLayoutData(new GridData(GridData.FILL_BOTH));
schemasTable = new Table(catPanel, SWT.BORDER | SWT.CHECK);
schemasTable.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
TableItem item = (TableItem) event.item;
PostgreSchema catalog = (PostgreSchema) item.getData();
if (event.detail == SWT.CHECK) {
schemasTable.select(schemasTable.indexOf(item));
checkedObjects.remove(catalog);
}
loadTables(catalog);
updateState();
schemasTable.addListener(SWT.Selection, event -> {
TableItem item = (TableItem) event.item;
PostgreSchema catalog = (PostgreSchema) item.getData();
if (event.detail == SWT.CHECK) {
schemasTable.select(schemasTable.indexOf(item));
checkedObjects.remove(catalog);
}
loadTables(catalog);
updateState();
});
GridData gd = new GridData(GridData.FILL_BOTH);
gd.heightHint = 50;
......@@ -116,12 +114,10 @@ class PostgreBackupWizardPageObjects extends PostgreWizardPageSettings<PostgreBa
GridData gd = new GridData(GridData.FILL_BOTH);
gd.heightHint = 50;
tablesTable.setLayoutData(gd);
tablesTable.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
if (event.detail == SWT.CHECK) {
updateCheckedTables();
updateState();
}
tablesTable.addListener(SWT.Selection, event -> {
if (event.detail == SWT.CHECK) {
updateCheckedTables();
updateState();
}
});
......@@ -149,11 +145,7 @@ class PostgreBackupWizardPageObjects extends PostgreWizardPageSettings<PostgreBa
PostgreSchema catalog = ((PostgreTableBase) object).getContainer();
dataSource = catalog.getDataSource();
activeCatalogs.add(catalog);
Set<PostgreTableBase> tables = checkedObjects.get(catalog);
if (tables == null) {
tables = new HashSet<>();
checkedObjects.put(catalog, tables);
}
Set<PostgreTableBase> tables = checkedObjects.computeIfAbsent(catalog, k -> new HashSet<>());
tables.add((PostgreTableBase) object);
if (((PostgreTableBase) object).isView()) {
wizard.showViews = true;
......@@ -238,18 +230,15 @@ class PostgreBackupWizardPageObjects extends PostgreWizardPageSettings<PostgreBa
if (wizard.showViews) {
objects.addAll(curSchema.getViews(monitor));
}
Collections.sort(objects, DBUtils.nameComparator());
UIUtils.syncExec(new Runnable() {
@Override
public void run() {
tablesTable.removeAll();
for (PostgreTableBase table : objects) {
TableItem item = new TableItem(tablesTable, SWT.NONE);
item.setImage(DBeaverIcons.getImage(table.isView() ? DBIcon.TREE_VIEW : DBIcon.TREE_TABLE));
item.setText(0, table.getName());
item.setData(table);
item.setChecked(isCatalogChecked && (checkedObjects == null || checkedObjects.contains(table)));
}
objects.sort(DBUtils.nameComparator());
UIUtils.syncExec(() -> {
tablesTable.removeAll();
for (PostgreTableBase table : objects) {
TableItem item = new TableItem(tablesTable, SWT.NONE);
item.setImage(DBeaverIcons.getImage(table.isView() ? DBIcon.TREE_VIEW : DBIcon.TREE_TABLE));
item.setText(0, table.getName());
item.setData(table);
item.setChecked(isCatalogChecked && (checkedObjects == null || checkedObjects.contains(table)));
}
});
} catch (DBException e) {
......@@ -281,7 +270,8 @@ class PostgreBackupWizardPageObjects extends PostgreWizardPageSettings<PostgreBa
wizard.objects.add(info);
}
private void updateState()
@Override
protected void updateState()
{
boolean complete = false;
if (!checkedObjects.isEmpty()) {
......
......@@ -145,7 +145,8 @@ class PostgreBackupWizardPageSettings extends PostgreWizardPageSettings<PostgreB
setControl(composite);
}
private void updateState()
@Override
protected void updateState()
{
String fileName = outputFolderText.getText();
wizard.setOutputFolder(CommonUtils.isEmpty(fileName) ? null : new File(fileName));
......
......@@ -85,7 +85,8 @@ class PostgreRestoreWizardPageSettings extends PostgreWizardPageSettings<Postgre
setControl(composite);
}
private void updateState()
@Override
protected void updateState()
{
wizard.format = PostgreBackupWizard.ExportFormat.values()[formatCombo.getSelectionIndex()];
wizard.inputFile = inputFileText.getText();
......
......@@ -124,7 +124,8 @@ public class PostgreScriptExecuteWizardPageSettings extends PostgreWizardPageSet
updateState();
}
private void updateState()
@Override
protected void updateState()
{
String fileName = inputFileText.getText();
wizard.setInputFile(CommonUtils.isEmpty(fileName) ? null : new File(fileName));
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册