package com.onpositive.gae.baseviewer;
import java.io.File;
import java.util.ArrayList;
import java.util.Iterator;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.Platform;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.wizard.IWizardPage;
import org.eclipse.jface.wizard.WizardDialog;
import org.eclipse.jface.wizard.WizardPage;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.DirectoryDialog;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.FileDialog;
import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.ui.plugin.AbstractUIPlugin;
import com.onpositive.commons.elements.AbstractUIElement;
import com.onpositive.commons.elements.Container;
import com.onpositive.commons.elements.SWTEventListener;
import com.onpositive.commons.ui.appearance.HorizontalLayouter;
import com.onpositive.commons.ui.appearance.OneElementOnLineLayouter;
import com.onpositive.commons.ui.dialogs.BindedWizardPage;
import com.onpositive.commons.ui.dialogs.FlowWizard;
import com.onpositive.commons.ui.dialogs.INextPageProvider;
import com.onpositive.commons.ui.tableeditor.Field;
import com.onpositive.semantic.model.api.property.java.annotations.Caption;
import com.onpositive.semantic.model.binding.Binding;
import com.onpositive.semantic.model.realm.IFactory;
import com.onpositive.semantic.model.realm.Realm;
import com.onpositive.semantic.model.ui.property.editors.ButtonSelector;
import com.onpositive.semantic.model.ui.property.editors.CompositeEditor;
import com.onpositive.semantic.model.ui.property.editors.DisposeBindingListener;
import com.onpositive.semantic.model.ui.property.editors.OneLineTextElement;
import com.onpositive.semantic.model.ui.property.editors.structured.ListEnumeratedValueSelector;
public class ImportExportDialogs {
/*
* public static class BulkExportData {
*
* @Caption("From CSV file as comma separated values") boolean asCsv = true;
*
* @Caption("From XML File") boolean asXML;
*
* @Caption("Import from:") String outPut;
*
* }
*
* public static class BulkImportData {
*
* @Caption("Comma separated values") boolean asCsv = true;
*
* @Caption("XML File") boolean asXML;
*
* @Caption("Export to:") String outPut; }
*/
public static class ExportData {
@Caption("From CSV file as comma separated values")
boolean asCsv = true;
@Caption("From XML File")
boolean asXML;
@Caption("From JDBC Data store")
boolean asBinary;
@Caption("Export from several files")
boolean multiExport;
@Caption("Import from:")
String outPut;
/**
* JDBC connection string
*/
@Caption("JDBC connection URL")
String jdbcConnection;
/**
* JDBC Driver Class Name
*/
@Caption("JDBC Driver class name:")
String jdbcDriverClassName;
/**
* ClassPath
*/
ArrayList<String> jdbcDriverClassPath = new ArrayList<String>();
ArrayList<String> sourcesForExport;
@Caption("Database password")
String databaseLogin;
@Caption("Database login")
String databasePasswd;
}
public static class ImportData {
@Caption("Comma separated values")
boolean asCsv = true;
@Caption("XML File")
boolean asXML;
@Caption("JDBC Data store")
boolean asBinary;
@Caption("All Entities with current kind")
boolean allEntitiesOf = true;
@Caption("Entities with current kind which are accepted to current filters")
boolean selectedEntitiesOf;
@Caption("Entities of several kinds")
boolean entitiesOfSelectedKinds;
@Caption("Export all properties")
boolean filterColumns = true;
/**
* properties to export
*/
ArrayList<Field> columns;
/**
* kinds to export
*/
ArrayList<String> kinds;
/**
* outPutFile
*/
@Caption("Export to:")
String outPut;
/**
* JDBC connection string
*/
@Caption("JDBC connection URL")
String jdbcConnection;
/**
* JDBC Driver Class Name
*/
@Caption("JDBC Driver class name:")
String jdbcDriverClassName;
/**
* ClassPath
*/
ArrayList<String> jdbcDriverClassPath = new ArrayList<String>();
@Caption("Database password")
String databaseLogin;
@Caption("Database login")
String databasePasswd;
}
public static String[] getKnownKinds(BaseDataFacade dacade) {
try {
return AnnotationsStorage.getKnownKinds(dacade.getProject()
.getProject());
} catch (CoreException e) {
return new String[] {};
}
}
static WizardPage getKindsSelectingPage(Binding bndr, BaseDataFacade facade) {
CompositeEditor r = new CompositeEditor(bndr);
ListEnumeratedValueSelector<String> mr = new ListEnumeratedValueSelector<String>();
Binding binding = bndr.getBinding("columns");
Realm realm = new Realm(getKnownKinds(facade));
binding.setRealm(realm);
mr.setBinding(binding);
mr.setAsCheckBox(true);
r.add(mr);
BindedWizardPage q = new BindedWizardPage(r);
return q;
}
public static ExportData showBulkExportDialog(
final BaseDataFacade facade) {
final ExportData t = new ExportData();
final Binding bndr = new Binding(t);
bndr.setName("Bulk Export to data store");
bndr.setDescription("Please select settings for this export");
bndr.setAutoCommit(true);
CompositeEditor optionPage = createOptionsPageForBulkExport(bndr);
CompositeEditor outPutFolderPage = createFolderPage(bndr);
FlowWizard newWizard = new FlowWizard(bndr, "Export") {
public boolean canFinish() {
// ExportData dat = (ExportData) bndr.getObject();
if (t.outPut != null && t.outPut.length() != 0) {
return true;
}
return false;
}
public void onChanged() {
getContainer().updateButtons();
}
};
final IWizardPage oPage = newWizard.addPage("options", optionPage);
oPage.setTitle("Export data to data store");
final IWizardPage folderPage = newWizard.addPage("folder",
outPutFolderPage);
INextPageProvider provider = new INextPageProvider() {
public IWizardPage getNextPage(IWizardPage cureIWizardPage) {
if (cureIWizardPage == oPage) {
if (t.asCsv || t.asXML) {
return folderPage;
}
}
return folderPage;
}
};
newWizard.setNextPageProvider(provider);
WizardDialog dl = new WizardDialog(Display.getCurrent()
.getActiveShell(), newWizard);
Image createImage = AbstractUIPlugin.imageDescriptorFromPlugin(
Activator.PLUGIN_ID, "/icons/importpref_wiz.png").createImage();
dl.setTitleImage(createImage);
int open = dl.open();
createImage.dispose();
if (open == WizardDialog.OK) {
return t;
} else {
return null;
}
}
public static ExportData showExportDialog(final BaseDataFacade facade) {
final ExportData t = new ExportData();
final Binding bndr = new Binding(t);
bndr.setName("Export data to data store");
bndr.setDescription("Please select settings for this export");
bndr.setAutoCommit(true);
CompositeEditor optionsPage = createOptionsPageForExport(bndr);
CompositeEditor outPutFilePage = createFilePageForExport(bndr);
CompositeEditor outPutFolderPage = createDirectoryPageForExport(bndr);
CompositeEditor jdbcDataPage = createJDBCPage(bndr);
FlowWizard newWizard = new FlowWizard(bndr, "Export") {
public boolean canFinish() {
// ExportData dat = (ExportData) bndr.getObject();
if (t.outPut != null && t.outPut.length() != 0) {
return true;
}
if (t.asBinary && t.jdbcConnection != null
&& t.jdbcConnection.length() != 0
&& t.jdbcDriverClassName != null
&& t.jdbcDriverClassName.length() != 0
&& t.jdbcDriverClassPath != null
&& t.jdbcDriverClassPath.size() != 0) {
return true;
}
return false;
}
public void onChanged() {
getContainer().updateButtons();
}
};
final IWizardPage oPage = newWizard.addPage("options", optionsPage);
oPage.setTitle("Export data to data store");
final IWizardPage folderPage = newWizard.addPage("folder",
outPutFolderPage);
final IWizardPage filePage = newWizard.addPage("file", outPutFilePage);
final IWizardPage jdbcPage = newWizard.addPage("file", jdbcDataPage);
INextPageProvider provider = new INextPageProvider() {
public IWizardPage getNextPage(IWizardPage cureIWizardPage) {
if (cureIWizardPage == oPage) {
if (t.multiExport && !t.asBinary) {
return folderPage;
}
if (t.asCsv || t.asXML) {
return filePage;
} else if (t.asBinary) {
return jdbcPage;
}
}
return filePage;
}
};
newWizard.setNextPageProvider(provider);
WizardDialog dl = new WizardDialog(Display.getCurrent()
.getActiveShell(), newWizard);
Image createImage = AbstractUIPlugin.imageDescriptorFromPlugin(
Activator.PLUGIN_ID, "/icons/importpref_wiz.png").createImage();
dl.setTitleImage(createImage);
int open = dl.open();
createImage.dispose();
if (open == WizardDialog.OK) {
return t;
} else {
return null;
}
}
public static ImportData showBulkImportDialog(
final BaseDataFacade facade) {
final ImportData t = new ImportData();
final Binding bndr = new Binding(t);
bndr.setName("Import data from data store");
bndr.setDescription("Please select settings for this import");
bndr.setAutoCommit(true);
CompositeEditor optionPage = createOptionsPageForBulkImport(bndr);
CompositeEditor outPutFolderPage = createFolderPage(bndr);
DisposeBindingListener.linkBindingLifeCycle(bndr, optionPage);
FlowWizard newWizard = new FlowWizard(bndr, "Import") {
public boolean canFinish() {
// ExportData dat = (ExportData) bndr.getObject();
if (t.outPut != null && t.outPut.length() != 0) {
return true;
}
return false;
}
public void onChanged() {
getContainer().updateButtons();
}
};
final IWizardPage oPage = newWizard.addPage("options", optionPage);
final IWizardPage folderPage = newWizard.addPage("folder",
outPutFolderPage);
INextPageProvider provider = new INextPageProvider() {
public IWizardPage getNextPage(IWizardPage cureIWizardPage) {
if (cureIWizardPage == oPage) {
return folderPage;
}
return folderPage;
}
};
newWizard.setNextPageProvider(provider);
WizardDialog dl = new WizardDialog(Display.getCurrent()
.getActiveShell(), newWizard);
Image createImage = AbstractUIPlugin.imageDescriptorFromPlugin(
Activator.PLUGIN_ID, "/icons/importpref_wiz.png").createImage();
dl.setTitleImage(createImage);
int open = dl.open();
createImage.dispose();
if (open == WizardDialog.OK) {
return t;
} else {
return null;
}
}
public static ImportData showImportDialog(final BaseDataFacade facade) {
final ImportData t = new ImportData();
final Binding bndr = new Binding(t);
bndr.setName("Import data from data store");
bndr.setDescription("Please select settings for this import");
bndr.setAutoCommit(true);
CompositeEditor optionsPage = createOptionsPage(bndr);
CompositeEditor columnsPage = createColumnsPage(facade, bndr);
CompositeEditor kindsPage = createKindsPage(facade, bndr);
CompositeEditor outPutFilePage = createFilePage(bndr);
CompositeEditor outPutFolderPage = createDirectoryPage(bndr);
CompositeEditor jdbcPage = createJDBCPage(bndr);
DisposeBindingListener.linkBindingLifeCycle(bndr, optionsPage);
FlowWizard newWizard = new FlowWizard(bndr, "Import") {
public boolean canFinish() {
// ExportData dat = (ExportData) bndr.getObject();
if (t.outPut != null && t.outPut.length() != 0) {
return true;
}
if (t.asBinary && t.jdbcConnection != null
&& t.jdbcConnection.length() != 0
&& t.jdbcDriverClassName != null
&& t.jdbcDriverClassName.length() != 0
&& t.jdbcDriverClassPath != null
&& t.jdbcDriverClassPath.size() != 0) {
return true;
}
return false;
}
public void onChanged() {
getContainer().updateButtons();
}
};
final IWizardPage oPage = newWizard.addPage("options", optionsPage);
// oPage.setTitle("Options");
final IWizardPage cPage = newWizard.addPage("columns", columnsPage);
// cPage.setTitle("Columns");
final IWizardPage kPage = newWizard.addPage("kinds", kindsPage);
// cPage.setTitle("Kinds");
final IWizardPage filePage = newWizard.addPage("file", outPutFilePage);
// cPage.setTitle("Kinds");
final IWizardPage folderPage = newWizard.addPage("folder",
outPutFolderPage);
// cPage.setTitle("Kinds");
final IWizardPage jPage = newWizard.addPage("file", jdbcPage);
// cPage.setTitle("Kinds");
INextPageProvider provider = new INextPageProvider() {
public IWizardPage getNextPage(IWizardPage cureIWizardPage) {
if (cureIWizardPage == oPage) {
if (t.asCsv) {
if (!t.filterColumns) {
return cPage;
}
}
if (t.entitiesOfSelectedKinds) {
return kPage;
}
}
if (cureIWizardPage == kPage && !t.asBinary) {
return folderPage;
}
if (t.asBinary) {
return jPage;
}
if (t.entitiesOfSelectedKinds) {
return folderPage;
}
return filePage;
}
};
newWizard.setNextPageProvider(provider);
WizardDialog dl = new WizardDialog(Display.getCurrent()
.getActiveShell(), newWizard);
Image createImage = AbstractUIPlugin.imageDescriptorFromPlugin(
Activator.PLUGIN_ID, "/icons/importpref_wiz.png").createImage();
dl.setTitleImage(createImage);
int open = dl.open();
createImage.dispose();
if (open == WizardDialog.OK) {
return t;
} else {
return null;
}
}
private static CompositeEditor createFilePageForExport(final Binding bndr) {
CompositeEditor r = new CompositeEditor(bndr);
OneLineTextElement<String> element = new OneLineTextElement<String>(
bndr.getBinding("outPut"));
element.setSelector(new IFactory() {
public Object getValue(Object context) {
FileDialog dialog = new FileDialog(Display.getCurrent()
.getActiveShell(), SWT.OPEN);
ExportData dat = (ExportData) bndr.getObject();
if (dat.asCsv) {
dialog.setFilterExtensions(new String[] { "*.csv" });
dialog.setFilterNames(new String[] { "*.csv" });
dialog.setOverwrite(false);
} else if (dat.asXML) {
dialog.setFilterExtensions(new String[] { "*.xml" });
dialog.setFilterNames(new String[] { "*.xml" });
dialog.setOverwrite(false);
}
String path = dialog.open();
return path;
}
public String getName() {
return "Browse...";
}
public String getDescription() {
return "";
}
});
r.add(element);
return r;
}
private static CompositeEditor createFilePage(final Binding bndr) {
CompositeEditor r = new CompositeEditor(bndr);
OneLineTextElement<String> element = new OneLineTextElement<String>(
bndr.getBinding("outPut"));
element.setSelector(new IFactory() {
public Object getValue(Object context) {
FileDialog dialog = new FileDialog(Display.getCurrent()
.getActiveShell(), SWT.SAVE);
ImportData dat = (ImportData) bndr.getObject();
if (dat.asCsv) {
dialog.setFilterExtensions(new String[] { "*.csv" });
dialog.setFilterNames(new String[] { "*.csv" });
dialog.setOverwrite(true);
} else if (dat.asXML) {
dialog.setFilterExtensions(new String[] { "*.xml" });
dialog.setFilterNames(new String[] { "*.xml" });
dialog.setOverwrite(true);
}
String path = dialog.open();
return path;
}
public String getName() {
return "Browse...";
}
public String getDescription() {
return "";
}
});
r.add(element);
return r;
}
private static CompositeEditor createJDBCPage(final Binding bndr) {
CompositeEditor r = new CompositeEditor(bndr);
OneLineTextElement<String> element = new OneLineTextElement<String>(
bndr.getBinding("jdbcConnection"));
/*
* element.setSelector(new IFactory() {
*
* public Object getValue(Object context) { // TODO Auto-generated
* method stub return null; }
*
* public String getName() { return "Browse..."; }
*
* public String getDescription() { return ""; } });
*/
OneLineTextElement<String> element1 = new OneLineTextElement<String>(
bndr.getBinding("jdbcDriverClassName"));
OneLineTextElement<String> elementL = new OneLineTextElement<String>(
bndr.getBinding("databaseLogin"));
OneLineTextElement<String> elementP = new OneLineTextElement<String>(
bndr.getBinding("databasePasswd"));
elementP.setIsPassword(true);
r.add(element);
r.add(element1);
r.add(elementL);
r.add(elementP);
Container element2 = new Container(Container.GROUP);
element2.getLayoutHints().setGrabHorizontal(true);
element2.setLayoutManager(new HorizontalLayouter());
element2.setText("Class Path");
final ListEnumeratedValueSelector<String> classpath = new ListEnumeratedValueSelector<String>(
bndr.getBinding("jdbcDriverClassPath")) {
protected void updateSize(TableViewer newCheckList) {
// TODO Auto-generated method stub
TableColumn tableColumn = (TableColumn) columnWidget;
tableColumn.pack();
// int width = tableColumn.getWidth();
// int width2 = newCheckList.getTable().getBounds().width;
// if (width < width2) {
// ((TableColumn) columnWidget).setWidth(width2 - 5);
// }
}
};
ButtonSelector addButton = new ButtonSelector();
addButton.setText("add jar");
GridData addDat = new GridData(GridData.FILL_HORIZONTAL);
addButton.setLayoutData(addDat);
addButton.addListener(SWT.Selection, new SWTEventListener<Button>() {
public void handleEvent(AbstractUIElement<Button> element,
Event event) {
FileDialog dialog = new FileDialog(Display.getCurrent()
.getActiveShell(), SWT.MULTI | SWT.SELECTED);
dialog.setFilterExtensions(new String[] { "*.jar" });
dialog.setFilterNames(new String[] { "*.jar" });
dialog.setOverwrite(false);
dialog.open();
String[] names = dialog.getFileNames();
String path = dialog.getFilterPath();
for (String name : names) {
String result = path + File.separator + name;
classpath.addValue(result);
((TableViewer) classpath.getViewer()).getTable()
.getParent().layout();
}
}
});
ButtonSelector removeButton = new ButtonSelector();
removeButton.setText("remove jar");
GridData removeDat = new GridData(GridData.FILL_HORIZONTAL);
removeButton.setLayoutData(removeDat);
removeButton.addListener(SWT.Selection, new SWTEventListener<Button>() {
public void handleEvent(AbstractUIElement<Button> element,
Event event) {
for (Iterator i = classpath.getSelection().iterator(); i
.hasNext();) {
String str = (String) i.next();
classpath.removeValue(str);
}
}
});
Container buttonContainer = new Container();
buttonContainer.setLayout(new GridLayout(1, true));
buttonContainer.getLayoutHints().setGrabHorizontal(false);
buttonContainer.setBordered(false);
buttonContainer.add(addButton);
buttonContainer.add(removeButton);
element2.add(classpath);
element2.add(buttonContainer);
r.add(element2);
// r.add(classpath);
return r;
}
private static CompositeEditor createDirectoryPage(final Binding bndr) {
CompositeEditor r = new CompositeEditor(bndr);
OneLineTextElement<String> element = new OneLineTextElement<String>(
bndr.getBinding("outPut"));
element.setSelector(new IFactory() {
public Object getValue(Object context) {
DirectoryDialog dialog = new DirectoryDialog(Display
.getCurrent().getActiveShell(), SWT.SAVE);
dialog.setMessage("Please choose path for import");
String path = dialog.open();
return path;
}
public String getName() {
return "Browse...";
}
public String getDescription() {
return "";
}
});
r.add(element);
return r;
}
private static CompositeEditor createFolderPage(final Binding bndr){
CompositeEditor r = new CompositeEditor(bndr);
OneLineTextElement<String> element = new OneLineTextElement<String>(
bndr.getBinding("outPut"));
element.setSelector(new IFactory() {
public Object getValue(Object context) {
DirectoryDialog dialog = new DirectoryDialog(Display.getCurrent()
.getActiveShell(),SWT.OPEN | SWT.READ_ONLY | SWT.DIALOG_TRIM);
dialog.setText("Please select path");
// dialog.set
String open = dialog.open();
return open;
}
public String getName() {
return "Browse...";
}
public String getDescription() {
return "";
}
});
r.add(element);
return r;
}
private static CompositeEditor createDirectoryPageForExport(
final Binding bndr) {
CompositeEditor r = new CompositeEditor(bndr);
OneLineTextElement<String> element = new OneLineTextElement<String>(
bndr.getBinding("outPut"));
element.setSelector(new IFactory() {
public Object getValue(Object context) {
FileDialog dialog = new FileDialog(Display.getCurrent()
.getActiveShell(), SWT.MULTI | SWT.OPEN);
dialog.setOverwrite(false);
dialog.setText("Please select files to export");
// dialog.set
ExportData dat = (ExportData) bndr.getObject();
if (dat.asCsv) {
if (Platform.getOS().equals(Platform.OS_MACOSX)) {
dialog.setFilterExtensions(new String[] { "csv" });
dialog.setFilterNames(new String[] { ".csv" });
} else {
dialog.setFilterExtensions(new String[] { "*.csv" });
dialog.setFilterNames(new String[] { "*.csv" });
}
dialog.setOverwrite(false);
} else if (dat.asXML) {
if (Platform.getOS().equals(Platform.OS_MACOSX)) {
dialog.setFilterExtensions(new String[] { "xml" });
dialog.setFilterNames(new String[] { ".xml" });
} else {
dialog.setFilterExtensions(new String[] { "*.xml" });
dialog.setFilterNames(new String[] { "*.xml" });
}
dialog.setOverwrite(false);
}
dialog.open();
String[] selected = dialog.getFileNames();
String result = dialog.getFilterPath()
.replaceAll(",", ",") + ",";
int i = 0;
for (String tmp : selected) {
result += tmp.replaceAll(",", ",");
if (i != selected.length - 1) {
result += ",";
}
}
return result;
}
public String getName() {
return "Browse...";
}
public String getDescription() {
return "";
}
});
r.add(element);
return r;
}
private static CompositeEditor createOptionsPageForBulkImport(
final Binding bndr) {
CompositeEditor r = new CompositeEditor(bndr);
Container c = new Container(Container.GROUP);
c.setCaption("Output format");
c.setLayoutManager(new OneElementOnLineLayouter());
c.add(new ButtonSelector(bndr.getBinding("asCsv"), SWT.RADIO));
c.add(new ButtonSelector(bndr.getBinding("asXML"), SWT.RADIO));
r.add(c);
return r;
}
private static CompositeEditor createOptionsPage(final Binding bndr) {
CompositeEditor r = new CompositeEditor(bndr);
Container c = new Container(Container.GROUP);
c.setCaption("Output format");
c.setLayoutManager(new OneElementOnLineLayouter());
c.add(new ButtonSelector(bndr.getBinding("asCsv"), SWT.RADIO));
c.add(new ButtonSelector(bndr.getBinding("asXML"), SWT.RADIO));
c.add(new ButtonSelector(bndr.getBinding("asBinary"), SWT.RADIO));
r.add(c);
Container cm = new Container(Container.GROUP);
cm.setCaption("Scope of import");
cm.setLayoutManager(new OneElementOnLineLayouter());
cm.add(new ButtonSelector(bndr.getBinding("allEntitiesOf"), SWT.RADIO));
cm.add(new ButtonSelector(bndr.getBinding("selectedEntitiesOf"),
SWT.RADIO));
cm.add(new ButtonSelector(bndr.getBinding("entitiesOfSelectedKinds"),
SWT.RADIO));
r.add(cm);
return r;
}
private static CompositeEditor createOptionsPageForExport(final Binding bndr) {
CompositeEditor r = new CompositeEditor(bndr);
Container c = new Container(Container.GROUP);
c.setCaption("Type of import");
c.setLayoutManager(new OneElementOnLineLayouter());
c.add(new ButtonSelector(bndr.getBinding("asCsv"), SWT.RADIO));
c.add(new ButtonSelector(bndr.getBinding("asXML"), SWT.RADIO));
c.add(new ButtonSelector(bndr.getBinding("asBinary"), SWT.RADIO));
r.add(c);
Container cm = new Container(Container.GROUP);
cm.setCaption("Scope of export");
cm.setLayoutManager(new OneElementOnLineLayouter());
cm.add(new ButtonSelector(bndr.getBinding("multiExport"), SWT.CHECK));
r.add(cm);
return r;
}
private static CompositeEditor createOptionsPageForBulkExport(
final Binding bndr) {
CompositeEditor r = new CompositeEditor(bndr);
Container c = new Container(Container.GROUP);
c.setCaption("Type of import");
c.setLayoutManager(new OneElementOnLineLayouter());
c.add(new ButtonSelector(bndr.getBinding("asCsv"), SWT.RADIO));
c.add(new ButtonSelector(bndr.getBinding("asXML"), SWT.RADIO));
r.add(c);
// Container cm = new Container(Container.GROUP);
// cm.setCaption("Scope of export");
// cm.setLayoutManager(new OneElementOnLineLayouter());
// cm.add(new ButtonSelector(bndr.getBinding("multiExport"),
// SWT.CHECK));
// r.add(cm);
return r;
}
private static CompositeEditor createColumnsPage(
final BaseDataFacade facade, final Binding bndr) {
CompositeEditor m = new CompositeEditor(bndr);
ListEnumeratedValueSelector<String> mr = new ListEnumeratedValueSelector<String>();
Binding binding = bndr.getBinding("columns");
Realm realm = new Realm(facade.getFields());
binding.setRealm(realm);
mr.setBinding(binding);
mr.setAsCheckBox(true);
m.add(mr);
return m;
}
private static CompositeEditor createKindsPage(final BaseDataFacade facade,
final Binding bndr) {
CompositeEditor m = new CompositeEditor(bndr);
ListEnumeratedValueSelector<String> mr = new ListEnumeratedValueSelector<String>();
Binding binding = bndr.getBinding("kinds");
Realm realm = new Realm(getKnownKinds(facade));
binding.setRealm(realm);
mr.setBinding(binding);
mr.setAsCheckBox(true);
m.add(mr);
return m;
}
private class ImportExportDataWizard extends FlowWizard {
public ImportExportDataWizard(Binding bnd, String title) {
super(bnd, title);
}
}
}