diff --git a/js/ui/mxgraph/src/js/view/mxStyleRegistry.js b/js/ui/mxgraph/src/js/view/mxStyleRegistry.js new file mode 100644 index 0000000..7d5d7af --- /dev/null +++ b/js/ui/mxgraph/src/js/view/mxStyleRegistry.js @@ -0,0 +1,71 @@ +/** + * Copyright (c) 2006-2015, JGraph Ltd + * Copyright (c) 2006-2015, Gaudenz Alder + */ +var mxStyleRegistry = +{ + /** + * Class: mxStyleRegistry + * + * Singleton class that acts as a global converter from string to object values + * in a style. This is currently only used to perimeters and edge styles. + * + * Variable: values + * + * Maps from strings to objects. + */ + values: [], + + /** + * Function: putValue + * + * Puts the given object into the registry under the given name. + */ + putValue: function(name, obj) + { + mxStyleRegistry.values[name] = obj; + }, + + /** + * Function: getValue + * + * Returns the value associated with the given name. + */ + getValue: function(name) + { + return mxStyleRegistry.values[name]; + }, + + /** + * Function: getName + * + * Returns the name for the given value. + */ + getName: function(value) + { + for (var key in mxStyleRegistry.values) + { + if (mxStyleRegistry.values[key] == value) + { + return key; + } + } + + return null; + } + +}; + +mxStyleRegistry.putValue(mxConstants.EDGESTYLE_ELBOW, mxEdgeStyle.ElbowConnector); +mxStyleRegistry.putValue(mxConstants.EDGESTYLE_ENTITY_RELATION, mxEdgeStyle.EntityRelation); +mxStyleRegistry.putValue(mxConstants.EDGESTYLE_LOOP, mxEdgeStyle.Loop); +mxStyleRegistry.putValue(mxConstants.EDGESTYLE_SIDETOSIDE, mxEdgeStyle.SideToSide); +mxStyleRegistry.putValue(mxConstants.EDGESTYLE_TOPTOBOTTOM, mxEdgeStyle.TopToBottom); +mxStyleRegistry.putValue(mxConstants.EDGESTYLE_ORTHOGONAL, mxEdgeStyle.OrthConnector); +mxStyleRegistry.putValue(mxConstants.EDGESTYLE_SEGMENT, mxEdgeStyle.SegmentConnector); + +mxStyleRegistry.putValue(mxConstants.PERIMETER_ELLIPSE, mxPerimeter.EllipsePerimeter); +mxStyleRegistry.putValue(mxConstants.PERIMETER_RECTANGLE, mxPerimeter.RectanglePerimeter); +mxStyleRegistry.putValue(mxConstants.PERIMETER_RHOMBUS, mxPerimeter.RhombusPerimeter); +mxStyleRegistry.putValue(mxConstants.PERIMETER_TRIANGLE, mxPerimeter.TrianglePerimeter); +mxStyleRegistry.putValue(mxConstants.PERIMETER_HEXAGON, mxPerimeter.HexagonPerimeter);