package com.tibco.as.spacebar.ui.preferences; import org.eclipse.jface.layout.GridDataFactory; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Group; import org.eclipse.swt.widgets.TabFolder; import com.tibco.as.spacebar.ui.Messages; import com.tibco.as.convert.ConverterFactory.Blob; public class CSVPreferencePage extends TabbedPreferencePage { @Override protected void addTabFields(TabFolder folder) { createImport(createTab(folder, "Import")); //$NON-NLS-1$ createExport(createTab(folder, "Export")); //$NON-NLS-1$ } private Composite createImport(Composite parent) { Composite composite = createTabItemComposite(parent); addBooleanField(Preferences.IMPORT_CSV_HEADER, Messages.Delimited_Import_Header, composite, Messages.Delimited_Import_Header_Tooltip); addBooleanField(Preferences.IMPORT_CSV_STRICT_QUOTES, Messages.Delimited_Import_StrictQuotes, composite, Messages.Delimited_Import_StrictQuotes_Tooltip); addBooleanField(Preferences.IMPORT_CSV_IGNORE_LEADING_WHITE_SPACE, Messages.Delimited_Import_IgnoreLeadingWhiteSpace, composite, Messages.Delimited_Import_IgnoreLeadingWhiteSpace_Tooltip); addCharField(Preferences.IMPORT_CSV_SEPARATOR, Messages.Delimited_Import_Separator, composite, Messages.Delimited_Import_Separator_Tooltip, false); addCharField(Preferences.IMPORT_CSV_QUOTE_CHARACTER, Messages.Delimited_Import_Quote, composite, Messages.Delimited_Import_Quote_Tooltip, false); addCharField(Preferences.IMPORT_CSV_ESCAPE_CHARACTER, Messages.Delimited_Import_Escape, composite, Messages.Delimited_Import_Escape_Tooltip, false); addFormatFields(composite, Preferences.IMPORT_CSV_FORMAT_BLOB, Preferences.IMPORT_CSV_FORMAT_BOOLEAN, Preferences.IMPORT_CSV_FORMAT_DATE, Preferences.IMPORT_CSV_FORMAT_INTEGER, Preferences.IMPORT_CSV_FORMAT_DECIMAL); return composite; } private Composite createExport(Composite parent) { Composite composite = createTabItemComposite(parent); addBooleanField(Preferences.EXPORT_CSV_AUTOFLUSH, Messages.Delimited_Export_Autoflush, composite, Messages.Delimited_Export_Autoflush_Tooltip); addBooleanField(Preferences.EXPORT_CSV_HEADER, Messages.Delimited_Export_Header, composite, Messages.Delimited_Export_Header_Tooltip); addCharField(Preferences.EXPORT_CSV_SEPARATOR, Messages.Delimited_Export_Separator, composite, Messages.Delimited_Export_Separator_Tooltip, false); addCharField(Preferences.EXPORT_CSV_QUOTE_CHARACTER, Messages.Delimited_Export_Quote, composite, Messages.Delimited_Export_Quote_Tooltip, true); addCharField(Preferences.EXPORT_CSV_ESCAPE_CHARACTER, Messages.Delimited_Export_Escape, composite, Messages.Delimited_Export_Escape_Tooltip, true); addFormatFields(composite, Preferences.EXPORT_CSV_FORMAT_BLOB, Preferences.EXPORT_CSV_FORMAT_BOOLEAN, Preferences.EXPORT_CSV_FORMAT_DATE, Preferences.EXPORT_CSV_FORMAT_INTEGER, Preferences.EXPORT_CSV_FORMAT_DECIMAL); return composite; } private void addFormatFields(Composite parent, String blobName, String booleanName, String dateName, String integerName, String decimalName) { Group group = new Group(parent, SWT.NONE); group.setFont(parent.getFont()); group.setText(Messages.Formats); GridDataFactory.defaultsFor(group).grab(true, false).span(2, 1) .applyTo(group); addComboField(blobName, Messages.Formats_Blob, new String[][] { { Messages.Formats_Blob_Hex, Blob.HEX.name() }, { Messages.Formats_Blob_Base64, Blob.BASE64.name() } }, group, Messages.Formats_Blob_Tooltip); addStringField(booleanName, Messages.Formats_Boolean, group, Messages.Formats_Boolean_Tooltip); addStringField(dateName, Messages.Formats_DateTime, group, Messages.Formats_DateTime_Tooltip); addStringField(integerName, Messages.Formats_Integer, group, Messages.Formats_Integer_Tooltip); addStringField(decimalName, Messages.Formats_Decimal, group, Messages.Formats_Decimal_Tooltip); } }