package com.chemhack.jsMolEditor.client.renderer; import com.chemhack.jsMolEditor.client.model.Atom; import com.chemhack.jsMolEditor.client.model.Bond; import com.google.gwt.user.client.Cookies; import java.util.Set; import java.util.HashSet; import java.util.Date; public class RendererModel { private int atomRadius = 8; private String backColor = "white"; private double bondDistance = 2.0; private double bondWidth = 2.0; private double defaultBondLength=0.5; private String externalHighlightColor = "orange"; private String foreColor = "black"; private String hoverOverColor = "lightGray"; /** * Determines whether structures should be drawn as Kekule structures, thus * giving each carbon element explicitly, instead of not displaying the * element symbol. Example C-C-C instead of /\. */ private boolean kekuleStructure = false; private double highlightRadiusModel = 0.7; private String mappingColor = "gray"; private double margin = 0.05; private String selectedAtomBackColor = "rgb(55,168,213)"; private boolean showAromaticity = false; private boolean showAromaticityInCDKStyle = false; private boolean showAtomAtomMapping = true; private boolean showAtomTypeNames = false; /** * Determines whether methyl carbons' symbols should be drawn explicit for * methyl carbons. Example C/\C instead of /\. */ private boolean showEndCarbons = false; /** * Determines whether explicit hydrogens should be drawn. */ private boolean showExplicitHydrogens = true; /** * Determines whether implicit hydrogens should be drawn. */ private boolean showImplicitHydrogens = true; private boolean willDrawNumbers = false; private double zoomFactor = 0.8; private Set<Atom> highlightedAtoms = new HashSet<Atom>(); private Set<Bond> highlightedBonds = new HashSet<Bond>(); public int getAtomRadius() { return atomRadius; } public void setAtomRadius(int atomRadius) { this.atomRadius = atomRadius; } public String getBackColor() { return backColor; } public void setBackColor(String backColor) { this.backColor = backColor; } public double getBondDistance() { return bondDistance; } public void setBondDistance(double bondDistance) { this.bondDistance = bondDistance; } public double getBondWidth() { return bondWidth; } public void setBondWidth(double bondWidth) { this.bondWidth = bondWidth; } public String getExternalHighlightColor() { return externalHighlightColor; } public void setExternalHighlightColor(String externalHighlightColor) { this.externalHighlightColor = externalHighlightColor; } public String getForeColor() { return foreColor; } public void setForeColor(String foreColor) { this.foreColor = foreColor; } public String getHoverOverColor() { return hoverOverColor; } public void setHoverOverColor(String hoverOverColor) { this.hoverOverColor = hoverOverColor; } public boolean isKekuleStructure() { return kekuleStructure; } public void setKekuleStructure(boolean kekuleStructure) { this.kekuleStructure = kekuleStructure; } public double getHighlightRadiusModel() { return highlightRadiusModel; } public void setHighlightRadiusModel(double highlightRadiusModel) { this.highlightRadiusModel = highlightRadiusModel; } public String getMappingColor() { return mappingColor; } public void setMappingColor(String mappingColor) { this.mappingColor = mappingColor; } public double getMargin() { return margin; } public void setMargin(double margin) { this.margin = margin; } public String getSelectedAtomBackColor() { return selectedAtomBackColor; } public void setSelectedAtomBackColor(String selectedAtomBackColor) { this.selectedAtomBackColor = selectedAtomBackColor; } public boolean isShowAromaticity() { return showAromaticity; } public void setShowAromaticity(boolean showAromaticity) { this.showAromaticity = showAromaticity; } public boolean isShowAromaticityInCDKStyle() { return showAromaticityInCDKStyle; } public void setShowAromaticityInCDKStyle(boolean showAromaticityInCDKStyle) { this.showAromaticityInCDKStyle = showAromaticityInCDKStyle; } public boolean isShowAtomAtomMapping() { return showAtomAtomMapping; } public void setShowAtomAtomMapping(boolean showAtomAtomMapping) { this.showAtomAtomMapping = showAtomAtomMapping; } public boolean isShowAtomTypeNames() { return showAtomTypeNames; } public void setShowAtomTypeNames(boolean showAtomTypeNames) { this.showAtomTypeNames = showAtomTypeNames; } public boolean isShowEndCarbons() { return showEndCarbons; } public void setShowEndCarbons(boolean showEndCarbons) { this.showEndCarbons = showEndCarbons; } public boolean isShowExplicitHydrogens() { return showExplicitHydrogens; } public void setShowExplicitHydrogens(boolean showExplicitHydrogens) { this.showExplicitHydrogens = showExplicitHydrogens; } public boolean isShowImplicitHydrogens() { return showImplicitHydrogens; } public void setShowImplicitHydrogens(boolean showImplicitHydrogens) { this.showImplicitHydrogens = showImplicitHydrogens; } public boolean isWillDrawNumbers() { return willDrawNumbers; } public void setWillDrawNumbers(boolean willDrawNumbers) { this.willDrawNumbers = willDrawNumbers; } public double getZoomFactor() { return zoomFactor; } public void setZoomFactor(double zoomFactor) { this.zoomFactor = zoomFactor; } public Set<Atom> getHighlightedAtoms() { return highlightedAtoms; } public Set<Bond> getHighlightedBonds() { return highlightedBonds; } public void writeToCookies() { Date expires = new Date((new Date()).getTime() + 31536000000l); //expires in one year // Cookies.setCookie(""); } public void readFromCookies() { } public double getDefaultBondLength() { return defaultBondLength; } public void setDefaultBondLength(double defaultBondLength) { this.defaultBondLength = defaultBondLength; } }