package org.nightlabs.jfire.voucher.admin.ui.voucherlayout.editor;
import java.io.File;
import java.io.IOException;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.swt.widgets.Composite;
import org.nightlabs.jfire.trade.editor2d.ui.layout.AbstractLocalLayoutListComposite;
import org.nightlabs.jfire.trade.editor2d.ui.layout.ILayoutPreviewRenderer;
import org.nightlabs.jfire.trade.editor2d.ui.layout.XStreamPreviewRenderer;
import org.nightlabs.jfire.voucher.admin.ui.VoucherAdminPlugin;
import org.nightlabs.jfire.voucher.editor2d.iofilter.VoucherXStreamFilter;
import org.nightlabs.jfire.voucher.scripting.VoucherLayout;
public class LocalVoucherLayoutComposite extends AbstractLocalLayoutListComposite<VoucherLayout> {
public LocalVoucherLayoutComposite(Composite parent, int style) {
super(parent, style);
}
@Override
protected VoucherLayout createLayoutFromFile(File file) throws IOException {
VoucherLayout layout = new VoucherLayout(null, -1);
layout.loadFile(file);
return layout;
}
@Override
protected String getInitialBaseFolder() {
IPreferenceStore preferenceStore = VoucherAdminPlugin.getDefault().getPreferenceStore();
return preferenceStore.getString(VoucherLayoutPreferences.LOCAL_VOUCHER_LAYOUT_BASE_DIRECTORY);
}
@Override
protected void storeInitialBaseFolder(File folder) {
IPreferenceStore preferenceStore = VoucherAdminPlugin.getDefault().getPreferenceStore();
preferenceStore.setValue(VoucherLayoutPreferences.LOCAL_VOUCHER_LAYOUT_BASE_DIRECTORY, folder.getAbsolutePath());
}
@Override
protected String getLayoutFileExtension() {
return VoucherXStreamFilter.FILE_EXTENSION;
}
private static ILayoutPreviewRenderer<VoucherLayout> renderer = new XStreamPreviewRenderer<VoucherLayout>(new VoucherXStreamFilter());
@Override
protected ILayoutPreviewRenderer<VoucherLayout> getRenderer() {
return renderer;
}
}