提交 53cf8afd 编写于 作者: J jurgen

Preference pages redesign

上级 b5b6eacd
......@@ -215,17 +215,14 @@
<page id="org.jkiss.dbeaver.preferences.main" class="org.jkiss.dbeaver.ui.preferences.PrefPageDatabaseGeneral" name="%pref.page.name.db.configuration">
<keywordReference id="org.jkiss.dbeaver.core.keyword.pref.db.general"/>
</page>
<page category="org.jkiss.dbeaver.preferences.main" id="org.jkiss.dbeaver.preferences.main.sqlexecute" class="org.jkiss.dbeaver.ui.preferences.PrefPageSQLExecute" name="%pref.page.name.sql.execute">
</page>
<page category="org.jkiss.dbeaver.preferences.main" id="org.jkiss.dbeaver.preferences.main.resultset" class="org.jkiss.dbeaver.ui.preferences.PrefPageResultSetMain" name="%pref.page.name.resultset">
</page>
<page category="org.jkiss.dbeaver.preferences.main.resultset" id="org.jkiss.dbeaver.preferences.main.resultset.binaries" class="org.jkiss.dbeaver.ui.preferences.PrefPageResultSetBinaries" name="%pref.page.name.resultset.binaries">
<page category="org.jkiss.dbeaver.preferences.main.resultset" id="org.jkiss.dbeaver.preferences.main.resultset.binaries" class="org.jkiss.dbeaver.ui.preferences.PrefPageResultSetBinaries" name="%pref.page.name.resultset.binaries"/>
<page category="org.jkiss.dbeaver.preferences.main.resultset" id="org.jkiss.dbeaver.preferences.main.dataformat" class="org.jkiss.dbeaver.ui.preferences.PrefPageDataFormat" name="%pref.page.name.data.formats">
<keywordReference id="org.jkiss.dbeaver.core.keyword.pref.db.dataformat"/>
</page>
<page category="org.jkiss.dbeaver.preferences.main" id="org.jkiss.dbeaver.preferences.main.meta" class="org.jkiss.dbeaver.ui.preferences.PrefPageMetaData" name="%pref.page.name.meta">
</page>
<page category="org.jkiss.dbeaver.preferences.main" id="org.jkiss.dbeaver.preferences.main.dataformat" class="org.jkiss.dbeaver.ui.preferences.PrefPageDataFormat" name="%pref.page.name.data.formats">
<keywordReference id="org.jkiss.dbeaver.core.keyword.pref.db.dataformat"/>
</page>
<page category="org.jkiss.dbeaver.preferences.main" id="org.jkiss.dbeaver.preferences.misc.qm" class="org.jkiss.dbeaver.ui.preferences.PrefPageQueryManager" name="%pref.page.name.query.manager">
<keywordReference id="org.jkiss.dbeaver.core.keyword.pref.db.qm"/>
</page>
......@@ -234,15 +231,11 @@
</page>
<page category="org.jkiss.dbeaver.preferences.main" id="org.jkiss.dbeaver.preferences.connectionTypes" class="org.jkiss.dbeaver.ui.preferences.PrefPageConnectionTypes" name="%pref.page.name.connectionTypes"/>
<!--
<page category="org.jkiss.dbeaver.preferences.main" id="org.jkiss.dbeaver.preferences.resources" class="org.jkiss.dbeaver.ui.preferences.PrefPageResources" name="%pref.page.name.resources">
</page>
-->
<page id="org.jkiss.dbeaver.preferences.editors" class="org.eclipse.ui.ExtensionFactory:editorsPreferencePage" name="%pref.page.name.db.editors"/>
<page category="org.jkiss.dbeaver.preferences.editors" id="org.jkiss.dbeaver.preferences.main.sqleditor" class="org.jkiss.dbeaver.ui.preferences.PrefPageSQLEditor" name="%pref.page.name.sql.editor">
<keywordReference id="org.jkiss.dbeaver.core.keyword.pref.editor.sql"/>
</page>
<page category="org.jkiss.dbeaver.preferences.main.sqleditor" id="org.jkiss.dbeaver.preferences.main.sqlexecute" class="org.jkiss.dbeaver.ui.preferences.PrefPageSQLExecute" name="%pref.page.name.sql.execute"/>
<page category="org.jkiss.dbeaver.preferences.main.sqleditor" id="org.jkiss.dbeaver.preferences.main.sql.templates" class="org.jkiss.dbeaver.ui.preferences.PrefPageSQLTemplates" name="Templates"/>
<page category="org.jkiss.dbeaver.preferences.editors" id="org.jkiss.dbeaver.preferences.main.dataeditor" class="org.jkiss.dbeaver.ui.preferences.PrefPageDataEditor" name="%pref.page.name.data.editor">
......
......@@ -43,17 +43,14 @@
<page id="org.jkiss.dbeaver.preferences.main" class="org.jkiss.dbeaver.ui.preferences.PrefPageDatabaseGeneral" name="%pref.page.name.db.configuration">
<keywordReference id="org.jkiss.dbeaver.core.keyword.pref.db.general"/>
</page>
<page category="org.jkiss.dbeaver.preferences.main" id="org.jkiss.dbeaver.preferences.main.sqlexecute" class="org.jkiss.dbeaver.ui.preferences.PrefPageSQLExecute" name="%pref.page.name.sql.execute">
</page>
<page category="org.jkiss.dbeaver.preferences.main" id="org.jkiss.dbeaver.preferences.main.resultset" class="org.jkiss.dbeaver.ui.preferences.PrefPageResultSetMain" name="%pref.page.name.resultset">
</page>
<page category="org.jkiss.dbeaver.preferences.main.resultset" id="org.jkiss.dbeaver.preferences.main.resultset.binaries" class="org.jkiss.dbeaver.ui.preferences.PrefPageResultSetBinaries" name="%pref.page.name.resultset.binaries">
<page category="org.jkiss.dbeaver.preferences.main.resultset" id="org.jkiss.dbeaver.preferences.main.resultset.binaries" class="org.jkiss.dbeaver.ui.preferences.PrefPageResultSetBinaries" name="%pref.page.name.resultset.binaries"/>
<page category="org.jkiss.dbeaver.preferences.main.resultset" id="org.jkiss.dbeaver.preferences.main.dataformat" class="org.jkiss.dbeaver.ui.preferences.PrefPageDataFormat" name="%pref.page.name.data.formats">
<keywordReference id="org.jkiss.dbeaver.core.keyword.pref.db.dataformat"/>
</page>
<page category="org.jkiss.dbeaver.preferences.main" id="org.jkiss.dbeaver.preferences.main.meta" class="org.jkiss.dbeaver.ui.preferences.PrefPageMetaData" name="%pref.page.name.meta">
</page>
<page category="org.jkiss.dbeaver.preferences.main" id="org.jkiss.dbeaver.preferences.main.dataformat" class="org.jkiss.dbeaver.ui.preferences.PrefPageDataFormat" name="%pref.page.name.data.formats">
<keywordReference id="org.jkiss.dbeaver.core.keyword.pref.db.dataformat"/>
</page>
<page category="org.jkiss.dbeaver.preferences.main" id="org.jkiss.dbeaver.preferences.misc.qm" class="org.jkiss.dbeaver.ui.preferences.PrefPageQueryManager" name="%pref.page.name.query.manager">
<keywordReference id="org.jkiss.dbeaver.core.keyword.pref.db.qm"/>
</page>
......@@ -67,6 +64,7 @@
<page category="org.jkiss.dbeaver.preferences.editors" id="org.jkiss.dbeaver.preferences.main.sqleditor" class="org.jkiss.dbeaver.ui.preferences.PrefPageSQLEditor" name="%pref.page.name.sql.editor">
<keywordReference id="org.jkiss.dbeaver.core.keyword.pref.editor.sql"/>
</page>
<page category="org.jkiss.dbeaver.preferences.main.sqleditor" id="org.jkiss.dbeaver.preferences.main.sqlexecute" class="org.jkiss.dbeaver.ui.preferences.PrefPageSQLExecute" name="%pref.page.name.sql.execute"/>
<page category="org.jkiss.dbeaver.preferences.main.sqleditor" id="org.jkiss.dbeaver.preferences.main.sql.templates" class="org.jkiss.dbeaver.ui.preferences.PrefPageSQLTemplates" name="Templates"/>
<page category="org.jkiss.dbeaver.preferences.editors" id="org.jkiss.dbeaver.preferences.main.dataeditor" class="org.jkiss.dbeaver.ui.preferences.PrefPageDataEditor" name="%pref.page.name.data.editor">
<keywordReference id="org.jkiss.dbeaver.core.keyword.pref.editor.content"/>
......
......@@ -1847,30 +1847,22 @@
</or>
</enabledWhen>
</page>
<page id="org.jkiss.dbeaver.preferences.main.meta" class="org.jkiss.dbeaver.ui.preferences.PrefPageMetaData" name="Metadata">
<page category="org.jkiss.dbeaver.preferences.main.resultset" id="org.jkiss.dbeaver.preferences.main.dataformat" class="org.jkiss.dbeaver.ui.preferences.PrefPageDataFormat" name="Data Formats">
<enabledWhen>
<or>
<instanceof value="org.jkiss.dbeaver.model.navigator.DBNDataSource"/>
<instanceof value="org.jkiss.dbeaver.registry.DataFormatterRegistry"/>
<instanceof value="org.jkiss.dbeaver.ui.editors.sql.SQLEditorInput"/>
<instanceof value="org.jkiss.dbeaver.ui.controls.resultset.ResultSetViewer"/>
</or>
</enabledWhen>
</page>
<page id="org.jkiss.dbeaver.preferences.main.dataformat" class="org.jkiss.dbeaver.ui.preferences.PrefPageDataFormat" name="Data Formats">
<enabledWhen>
<or>
<instanceof value="org.jkiss.dbeaver.model.navigator.DBNDataSource"/>
<instanceof value="org.jkiss.dbeaver.registry.DataFormatterRegistry"/>
<instanceof value="org.jkiss.dbeaver.ui.editors.sql.SQLEditorInput"/>
<instanceof value="org.jkiss.dbeaver.ui.controls.resultset.ResultSetViewer"/>
</or>
</enabledWhen>
</page>
<page class="org.jkiss.dbeaver.ui.preferences.PrefPageSQLExecute" id="org.jkiss.dbeaver.preferences.main.sqlexecute" name="SQL Processing">
<page id="org.jkiss.dbeaver.preferences.main.meta" class="org.jkiss.dbeaver.ui.preferences.PrefPageMetaData" name="Metadata">
<enabledWhen>
<or>
<instanceof value="org.jkiss.dbeaver.model.navigator.DBNDataSource"/>
<instanceof value="org.jkiss.dbeaver.ui.editors.sql.SQLEditorInput"/>
<instanceof value="org.jkiss.dbeaver.ui.controls.resultset.ResultSetViewer"/>
</or>
</enabledWhen>
</page>
......@@ -1882,6 +1874,14 @@
</or>
</enabledWhen>
</page>
<page category="org.jkiss.dbeaver.preferences.main.sqleditor" id="org.jkiss.dbeaver.preferences.main.sqlexecute" class="org.jkiss.dbeaver.ui.preferences.PrefPageSQLExecute" name="SQL Processing">
<enabledWhen>
<or>
<instanceof value="org.jkiss.dbeaver.model.navigator.DBNDataSource"/>
<instanceof value="org.jkiss.dbeaver.ui.editors.sql.SQLEditorInput"/>
</or>
</enabledWhen>
</page>
<page category="org.jkiss.dbeaver.preferences.main.sqleditor" class="org.jkiss.dbeaver.ui.preferences.PrefPageSQLTemplates" id="org.jkiss.dbeaver.preferences.main.sql.templates" name="Templates">
<enabledWhen>
<or>
......
......@@ -103,14 +103,15 @@ public class EditConnectionWizard extends ConnectionWizard
addPage(pageEvents);
addPreferencePage(new PrefPageMetaData(), "Metadata", "Metadata reading preferences");
addPreferencePage(new PrefPageDataFormat(), "Data Formatting", "Data formatting preferences");
addPreferencePage(new PrefPageResultSetMain(), "Result Sets", "Result Set preferences");
addPreferencePage(new PrefPageDataEditor(), "Data Edit", "Data (resultset) edit settings");
addPreferencePage(new PrefPageSQLExecute(), "SQL Processing", "SQL processing settings");
addPreferencePage(new PrefPageSQLEditor(), "SQL Editor", "SQL editor settings");
WizardPrefPage rsPage = addPreferencePage(new PrefPageResultSetMain(), "Result Sets", "Result Set preferences");
rsPage.addSubPage(new PrefPageResultSetBinaries(), "Binaries", "Binary data representation");
rsPage.addSubPage(new PrefPageDataFormat(), "Data Formatting", "Data formatting preferences");
WizardPrefPage sqlPage = addPreferencePage(new PrefPageSQLEditor(), "SQL Editor", "SQL editor settings");
sqlPage.addSubPage(new PrefPageSQLExecute(), "SQL Processing", "SQL processing settings");
addPreferencePage(new PrefPageDataEditor(), "Data Editor", "Data (resultset) edit settings");
}
private void addPreferencePage(PreferencePage prefPage, String title, String description)
private WizardPrefPage addPreferencePage(PreferencePage prefPage, String title, String description)
{
WizardPrefPage wizardPage = new WizardPrefPage(prefPage, title, description);
prefPages.add(wizardPage);
......@@ -118,6 +119,7 @@ public class EditConnectionWizard extends ConnectionWizard
((IWorkbenchPropertyPage) prefPage).setElement(dataSource);
}
addPage(wizardPage);
return wizardPage;
}
/**
......
......@@ -17,19 +17,25 @@
*/
package org.jkiss.dbeaver.ui.preferences;
import org.eclipse.jface.dialogs.IDialogPage;
import org.eclipse.jface.preference.IPreferencePage;
import org.eclipse.jface.wizard.WizardPage;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.jkiss.dbeaver.ui.ICompositeDialogPage;
import org.jkiss.utils.CommonUtils;
import java.util.ArrayList;
import java.util.List;
/**
* Preference page adapter for wizard page
*/
public class WizardPrefPage extends WizardPage {
public class WizardPrefPage extends WizardPage implements ICompositeDialogPage {
private final IPreferencePage preferencePage;
private final List<WizardPrefPage> subPages = new ArrayList<WizardPrefPage>();
public WizardPrefPage(IPreferencePage preferencePage, String title, String description)
{
......@@ -122,4 +128,16 @@ public class WizardPrefPage extends WizardPage {
preferencePage.performCancel();
}
@Override
public WizardPrefPage[] getSubPages() {
if (subPages.isEmpty()) {
return null;
}
return subPages.toArray(new WizardPrefPage[subPages.size()]);
}
public void addSubPage(IPreferencePage page, String title, String description) {
subPages.add(new WizardPrefPage(page, title, description));
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册