package org.xmind.ui.internal.print.multipage;
import java.io.IOException;
import java.io.Reader;
import java.io.Writer;
import org.eclipse.jface.dialogs.IDialogSettings;
/**
* Add set dirty state function for {@link IDialogSettings}.
*
* @author Shawn
*
*/
public class DialogSettingsDecorator implements IDialogSettings {
private IDialogSettings settings;
private boolean dirty;
public DialogSettingsDecorator(IDialogSettings settings) {
this.settings = settings;
}
public void setDirty(boolean dirty) {
this.dirty = dirty;
}
public boolean isDirty() {
return dirty;
}
public IDialogSettings addNewSection(String name) {
return settings.addNewSection(name);
}
public void addSection(IDialogSettings section) {
settings.addSection(section);
}
public String get(String key) {
return settings.get(key);
}
public String[] getArray(String key) {
return settings.getArray(key);
}
public boolean getBoolean(String key) {
return settings.getBoolean(key);
}
public double getDouble(String key) throws NumberFormatException {
return settings.getDouble(key);
}
public float getFloat(String key) throws NumberFormatException {
return settings.getFloat(key);
}
public int getInt(String key) throws NumberFormatException {
return settings.getInt(key);
}
public long getLong(String key) throws NumberFormatException {
return settings.getLong(key);
}
public String getName() {
return settings.getName();
}
public IDialogSettings getSection(String sectionName) {
return settings.getSection(sectionName);
}
public IDialogSettings[] getSections() {
return settings.getSections();
}
public void load(Reader reader) throws IOException {
settings.load(reader);
}
public void load(String fileName) throws IOException {
settings.load(fileName);
}
public void put(String key, String[] value) {
settings.put(key, value);
setDirty(true);
}
public void put(String key, double value) {
settings.put(key, value);
setDirty(true);
}
public void put(String key, float value) {
settings.put(key, value);
setDirty(true);
}
public void put(String key, int value) {
settings.put(key, value);
setDirty(true);
}
public void put(String key, long value) {
settings.put(key, value);
setDirty(true);
}
public void put(String key, String value) {
settings.put(key, value);
setDirty(true);
}
public void put(String key, boolean value) {
settings.put(key, value);
setDirty(true);
}
public void save(Writer writer) throws IOException {
settings.save(writer);
}
public void save(String fileName) throws IOException {
settings.save(fileName);
}
}