/***************************************************
*
* cismet GmbH, Saarbruecken, Germany
*
* ... and it just works.
*
****************************************************/
package de.cismet.cismap.commons.preferences;
import org.apache.log4j.Logger;
import org.jdom.Element;
import de.cismet.cismap.commons.BoundingBox;
import de.cismet.cismap.commons.XBoundingBox;
/**
* DOCUMENT ME!
*
* @version $Revision$, $Date$
*/
public class GlobalPreferences {
//~ Instance fields --------------------------------------------------------
final Logger log = Logger.getLogger(this.getClass());
private int animationDuration = 500;
private boolean snappingEnabled = false;
private boolean snappingPreviewEnabled = false;
private boolean panPerformanceBooster = false;
private int errorAbolitionTime = 2000;
private int snappingRectSize = 20;
private String startMode = "ZOOM"; // NOI18N
private XBoundingBox initialBoundingBox = new XBoundingBox(0d, 0d, 0d, 0d, "", true); // NOI18N
//~ Constructors -----------------------------------------------------------
/**
* Creates a new GlobalPreferences object.
*
* @param element DOCUMENT ME!
*/
public GlobalPreferences(final Element element) {
try {
animationDuration = element.getAttribute("animationDuration").getIntValue(); // NOI18N
} catch (Exception e) {
log.warn("Read preferences. Error. GlobalPreferences.animationDuration ", e); // NOI18N
}
try {
snappingEnabled = element.getAttribute("snappingEnabled").getBooleanValue(); // NOI18N
} catch (Exception e) {
log.warn("Read preferences. Error. GlobalPreferences.snappingEnabled ", e); // NOI18N
}
try {
snappingPreviewEnabled = element.getAttribute("snappingPreviewEnabled").getBooleanValue(); // NOI18N
} catch (Exception e) {
log.warn("Read preferences. Error. GlobalPreferences.animationDuration ", e); // NOI18N
}
try {
snappingRectSize = element.getAttribute("snappingRectSize").getIntValue(); // NOI18N
} catch (Exception e) {
log.warn("Read preferences. Error. GlobalPreferences.snappingPreviewEnabled ", e); // NOI18N
}
try {
startMode = element.getAttribute("startMode").getValue(); // NOI18N
} catch (Exception e) {
log.warn("Read preferences. Error. GlobalPreferences.startMode ", e); // NOI18N
}
try {
panPerformanceBooster = element.getAttribute("panPerformanceBooster").getBooleanValue(); // NOI18N
} catch (Exception e) {
log.warn("Read preferences. Error. GlobalPreferences.panPerformanceBooster ", e); // NOI18N
}
try {
errorAbolitionTime = element.getAttribute("errorAbolitionTime").getIntValue(); // NOI18N
} catch (Exception e) {
log.warn("Read preferences. Error. GlobalPreferences.errorAbolitionTime ", e); // NOI18N
}
try {
initialBoundingBox.setX1(element.getAttribute("initial_x1").getDoubleValue()); // NOI18N
initialBoundingBox.setY1(element.getAttribute("initial_y1").getDoubleValue()); // NOI18N
initialBoundingBox.setX2(element.getAttribute("initial_x2").getDoubleValue()); // NOI18N
initialBoundingBox.setY2(element.getAttribute("initial_y2").getDoubleValue()); // NOI18N
initialBoundingBox.setMetric(element.getAttribute("initial_metric").getBooleanValue()); // NOI18N
initialBoundingBox.setSrs(element.getAttributeValue("initial_srs")); // NOI18N
} catch (Exception e) {
log.warn("Read preferences. Error. GlobalPreferences.initialBoundingBox ", e); // NOI18N
}
}
//~ Methods ----------------------------------------------------------------
/**
* DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
public int getAnimationDuration() {
return animationDuration;
}
/**
* DOCUMENT ME!
*
* @param animationDuration DOCUMENT ME!
*/
public void setAnimationDuration(final int animationDuration) {
this.animationDuration = animationDuration;
}
/**
* DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
public boolean isSnappingEnabled() {
return snappingEnabled;
}
/**
* DOCUMENT ME!
*
* @param snappingEnabled DOCUMENT ME!
*/
public void setSnappingEnabled(final boolean snappingEnabled) {
this.snappingEnabled = snappingEnabled;
}
/**
* DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
public boolean isSnappingPreviewEnabled() {
return snappingPreviewEnabled;
}
/**
* DOCUMENT ME!
*
* @param snappingPreviewEnabled DOCUMENT ME!
*/
public void setSnappingPreviewEnabled(final boolean snappingPreviewEnabled) {
this.snappingPreviewEnabled = snappingPreviewEnabled;
}
/**
* DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
public int getSnappingRectSize() {
return snappingRectSize;
}
/**
* DOCUMENT ME!
*
* @param snappingRectSize DOCUMENT ME!
*/
public void setSnappingRectSize(final int snappingRectSize) {
this.snappingRectSize = snappingRectSize;
}
/**
* DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
public String getStartMode() {
return startMode;
}
/**
* DOCUMENT ME!
*
* @param startMode DOCUMENT ME!
*/
public void setStartMode(final String startMode) {
this.startMode = startMode;
}
/**
* DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
public XBoundingBox getInitialBoundingBox() {
return initialBoundingBox;
}
/**
* DOCUMENT ME!
*
* @param initialBoundingBox DOCUMENT ME!
*/
public void setInitialBoundingBox(final XBoundingBox initialBoundingBox) {
this.initialBoundingBox = initialBoundingBox;
}
/**
* DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
public boolean isPanPerformanceBoosterEnabled() {
return panPerformanceBooster;
}
/**
* DOCUMENT ME!
*
* @param panPerformanceBooster DOCUMENT ME!
*/
public void setPanPerformanceBoosterEnabled(final boolean panPerformanceBooster) {
this.panPerformanceBooster = panPerformanceBooster;
}
/**
* DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
public int getErrorAbolitionTime() {
return errorAbolitionTime;
}
/**
* DOCUMENT ME!
*
* @param errorAbolitionTime DOCUMENT ME!
*/
public void setErrorAbolitionTime(final int errorAbolitionTime) {
this.errorAbolitionTime = errorAbolitionTime;
}
}