new LengthConfigs()
Draw length and related options.
In this class, every property value should be a float based on unitLength.
To retrieve a value based on px, a easy way is call getActualLength(propName) method.
Properties:
Name | Type | Description |
---|---|---|
unitLength |
Float | The unit length in px. Every other length are based on this property. For instance, if a bond length is 12 and unit length is 2px, then the actual bond length will be 24px. //@property {Float} labelFontSize Default font size to draw labels. For example: 12. //@property {Float} atomFontSize Default font size to draw atoms and other chem nodes. For example: 12. |
atomLabelBoxExpandRatio |
Float | Atom label box width/height should be a little large then font size. This value is quite useful in clip bond between nodes. |
chargeMarkFontSize |
Float | Size of font to draw charge and radical mark. |
chargeMarkMargin |
Float | Gap between charge/radical mark center and node point. //@property {Float} chargeMarkCircleWidth Width of circle stroke around charge mark. Not used yet. |
chemMarkerFontSize |
Float | Default size of font to draw chem marker. |
chemMarkerMargin |
Float | Default gap between chem marker object center and node point. |
allenCenterAtomRadius |
Float | Radius of dot drawn in allen center carbon. 0 for do not draw explicit dot. |
defBondLength |
Float | Default length of a chem bond. |
bondLineWidth |
Float | Line width to draw a general bond. |
boldBondLineWidthRatio |
Float | Times of line width to a normal line to draw a bold bond line. |
hashSpacing |
Float | Spacing between small lines in hash bond line. |
multipleBondSpacingRatio |
Float | Spacing between two lines in double or triple bond. This value related to bond length. The actual value should be calculated when drawing. |
multipleBondSpacingAbs |
Float | Spacing between two lines in double or triple bond. This value is fixed (regardless of bond length). |
multipleBondMaxAbsSpacing |
Float | If this value is set, the max spacing between multiple bond is fixed. |
bondArrowLength |
Float | The length of end triangle in arrow bond. |
bondArrowWidth |
Float | The width of end triangle in arrow bond. |
bondWedgeWidth |
Float | The width of end triangle in wedge bond. |
bondWedgeHashMinWidth |
Float | Start a hash wedge from 0 is often make some part hard to see. So we start from a small width to make better outlooks. |
bondWavyRadius |
Float | Radius to draw arc of wavy bond. |
glyphStrokeWidth |
Float | The default width of glyph strokes. |
rxnMolMargin |
Float | Magin between reactants/products in reaction formula. |
autofitContextPadding |
Float | Padding length when draw on context with drawOptions.autofit. |
- Source:
Extends
Methods
-
addBoolConfigProp(name, defaultValue, additionalOptions)
-
Add a boolean config property item.
Parameters:
Name Type Description name
Object defaultValue
Bool additionalOptions
Hash - Inherited From:
- Source:
-
addConfigProp(name, dataType, defaultValue, additionalOptions)
-
Add a config property item, actually define a new property. A config property usually has simple getter/setter and must be serializable.
Parameters:
Name Type Description name
Object dataType
Object defaultValue
Variant additionalOptions
Hash - Inherited From:
- Source:
-
addEventListener(eventName, listener, thisArg) → {Object}
-
Add an event handler.
Parameters:
Name Type Description eventName
String Name of event. listener
function Handler function. thisArg
Object The scope object applied when the handler is called. - Inherited From:
- Source:
Returns:
Handler info object on success, null on fail.- Type
- Object
-
addFloatConfigProp(name, defaultValue, additionalOptions)
-
Add a float config property item.
Parameters:
Name Type Description name
Object defaultValue
Float additionalOptions
Hash - Inherited From:
- Source:
-
addHashConfigProp(name, defaultValue, additionalOptions)
-
Add a Hash config property item.
Parameters:
Name Type Description name
Object defaultValue
Hash additionalOptions
Hash - Inherited From:
- Source:
-
addIntConfigProp(name, defaultValue, additionalOptions)
-
Add an integer config property item.
Parameters:
Name Type Description name
Object defaultValue
Int additionalOptions
Hash - Inherited From:
- Source:
-
addNumConfigProp(name, defaultValue, additionalOptions)
-
Add a numberic config property item.
Parameters:
Name Type Description name
Object defaultValue
Number additionalOptions
Hash - Inherited From:
- Source:
-
addOnceEventListener(eventName, listener, thisArg) → {Object}
-
Add an event handler that will only be evoked once.
Parameters:
Name Type Description eventName
String Name of event. listener
function Handler function. thisArg
Object The scope object applied when the handler is called. - Inherited From:
- Source:
Returns:
Handler info object on success, null on fail.- Type
- Object
-
addStrConfigProp(name, defaultValue, additionalOptions)
-
Add a string config property item.
Parameters:
Name Type Description name
Object defaultValue
String additionalOptions
Hash - Inherited From:
- Source:
-
afterInitialization()
-
Do jobs after initialization, desendants can override this method
- Inherited From:
- Source:
-
assign(src)
-
Assign data of src to current config object.
Parameters:
Name Type Description src
Kekule.AbstractConfig - Inherited From:
- Source:
-
assignTo(targetObj)
-
Assign data in this object to targetObj.
Parameters:
Name Type Description targetObj
ObjectEx - Inherited From:
- Source:
-
beginUpdate()
-
Begin to update multiple properties of object. In update state, all changed properties will not invoke propertySet event until method endUpdate is called.
- Inherited From:
- Source:
-
clone() → {ObjectEx}
-
Returns a cloned object.
- Inherited From:
- Source:
Returns:
- Type
- ObjectEx
-
copyPropsTo(dest)
-
Copy property values to dest object. Dest must be a desendant of ObjectEx.
Parameters:
Name Type Description dest
ObjectEx - Inherited From:
- Source:
-
defineEvent(eventName) → {Object}
-
Define an event in class. Event is actually a special property with type Class.EventHandlerList
Parameters:
Name Type Description eventName
String Name of event. - Inherited From:
- Deprecated:
- Yes
- Source:
Returns:
Property info object created.- Type
- Object
-
defineProp(propName, options) → {Object}
-
Define a property in class.
Parameters:
Name Type Description propName
String Name of property, case sensitive. options
Object A hash object, may contains the following fields: { dataType: type of property data, a string constant in DataType or a class name. //storeField: field in object to store property value, // not allowed for running speed getter: getter function, setter: setter function, if set to null, the property will be read-only, serializable: boolean, whether the property should be save or restore in serialization. Default is true. defaultValue: default value of property, can only be simple type (number, string, bool...) } - Inherited From:
- Source:
Returns:
Property info object added to property list.- Type
- Object
-
doEndUpdate()
-
Actual work of endUpdate, just invoke all property change events.
- Inherited From:
- Source:
-
doPropChanged(propName, newValue)
-
Do some job when a property value is changed. Descendants can override this.
Parameters:
Name Type Description propName
String Name of property. newValue
Variant New value of the property. - Inherited From:
- Source:
-
endUpdate()
-
Update end and notify all properties changed after calling of beginUpdate.
- Inherited From:
- Source:
-
finalize()
-
Free resources used. Like finalize method in Java.
- Inherited From:
- Source:
-
getActualLength(propName) → {Float}
-
Get actual length in px for a config property.
Parameters:
Name Type Description propName
String - Source:
Returns:
- Type
- Float
-
getAllPropList() → {Class.PropList}
-
Get list of all properties in this class, including ones inherited from parent class.
- Inherited From:
- Source:
Returns:
- Type
- Class.PropList
-
getClass() → {Object}
-
Get class of this object.
- Inherited From:
- Source:
Returns:
Class object.- Type
- Object
-
getClassLocalName() → {String}
-
Get last part of class name of this object. For example, 'Atom' will be returned by instance of class 'Kekule.Atom'.
- Inherited From:
- Source:
Returns:
Last part of class name of object.- Type
- String
-
getClassName() → {String}
-
Get class name of this object, usually returns CLASS_NAME field.
- Inherited From:
- Source:
Returns:
Class name of object.- Type
- String
-
getEventHandlerList(eventName) → {Class.EventHandlerList}
-
Get the handler list of a event.
Parameters:
Name Type Description eventName
String Name of event. - Inherited From:
- Source:
Returns:
Handler list of event. If this event does not exist, null is returned.- Type
- Class.EventHandlerList
-
getOwnPropList() → {Class.PropList}
-
Get property list of this class. The properties inherited from parent class will not be returned.
- Inherited From:
- Source:
Returns:
- Type
- Class.PropList
-
getPropertyDataType(propName) → {String}
-
Returns type constants of property.
Parameters:
Name Type Description propName
String - Inherited From:
- Source:
Returns:
Values from DataType.- Type
- String
-
getPropInfo(propName, ownPropertyOnly) → {Object}
-
Get property info object from the property list of current class.
Parameters:
Name Type Description propName
String Name of property. ownPropertyOnly
Bool If true, only property defined in this class will be checked. - Inherited From:
- Source:
Returns:
Property info object found. If there is no such a property, null is returned.- Type
- Object
-
getPropListOfScopes(scopes) → {Class.PropList}
-
Get list of all properties of certain scopes in this class, including ones inherited from parent class.
Parameters:
Name Type Description scopes
Array Array item from Class.PropertyScope. - Inherited From:
- Source:
Returns:
- Type
- Class.PropList
-
getPropStoreFieldValue(propName) → {Variant}
-
Get value of a property's store field. Use this method to get property value and avoid the call of property getter. Note: if the property has no store field, this method may returns null or undefined.
Parameters:
Name Type Description propName
String Name of property. - Inherited From:
- Source:
Returns:
Value of property. If property does not exists, null is returned.- Type
- Variant
-
getPropValue(propName) → {Variant}
-
Get value of a property.
Parameters:
Name Type Description propName
String Name of property. - Inherited From:
- Source:
Returns:
Value of property. If property does not exists, null is returned.- Type
- Variant
-
getPropValues(propNames) → {Hash}
-
Returns values of a series of properties.
Parameters:
Name Type Description propNames
Variant Can be an array of property names, also can be an object while the direct field names of object will be regarded as property names. - Inherited From:
- Source:
Returns:
Stores all property name-value pair.- Type
- Hash
-
getPrototype() → {Object}
-
Get prototype of this object.
- Inherited From:
- Source:
Returns:
- Type
- Object
-
getSerializationName() → {String}
-
Returns a name to be used in serialization. Descendants can override this.
- Inherited From:
- Source:
Returns:
- Type
- String
-
getSuperClass() → {Object}
-
Get super class of this object.
- Inherited From:
- Source:
Returns:
Class object.- Type
- Object
-
getSuperClassPrototype() → {Object}
-
Get prototype of super class.
- Inherited From:
- Source:
Returns:
If there is no super class, null is returned.- Type
- Object
-
hasDirectProperty(propName) → {Boolean}
-
Check if property is defined in current class (not inherited from super class).
Parameters:
Name Type Description propName
String Name of property. - Inherited From:
- Source:
Returns:
- Type
- Boolean
-
hasProperty(propName) → {Boolean}
-
Check if property exists in current class.
Parameters:
Name Type Description propName
String Name of property. - Inherited From:
- Source:
Returns:
- Type
- Boolean
-
initPropValues()
-
Set initial value of properties. Desendants can override this method.
- Inherited From:
- Source:
-
invokeEvent(eventName, event)
-
Invoke an event and call all corresponding handlers (listeners).
Parameters:
Name Type Description eventName
String Event to be invoked. event
Object A hash object with information about event. At least should include the following fields: { name: name of event, target: which object invoke this event, generally this object } If this parameter is not set, the default value {eventName, this} will be used. - Inherited From:
- Source:
-
isEventHandlerList(value) → {bool}
-
Check if a object is Class.EventHandlerList.
Parameters:
Name Type Description value
Object - Inherited From:
- Source:
Returns:
True or false.- Type
- bool
-
isPropertySerializable(propName) → {Bool}
-
Returns if property is serializable.
Parameters:
Name Type Description propName
String - Inherited From:
- Source:
Returns:
- Type
- Bool
-
isPropUpdated(propName)
-
Check whether property is changed in begin/endUpdate procedure.
Parameters:
Name Type Description propName
Object - Inherited From:
- Source:
-
isUpdating()
-
Check if object is in updating state.
- Inherited From:
- Source:
-
loaded()
-
Called after this object is loaded by a serialization system. Descendants may override this.
- Inherited From:
- Source:
-
loadObj(srcNode, serializerOrName)
-
load current object from srcNode.
Parameters:
Name Type Description srcNode
Object Storage node to load object. Different serializer requires different node. serializerOrName
Variant A ObjSerializer instance or name registered in ObjSerializerFactory. Can be null to use the default serializer. - Inherited From:
- Source:
-
notifyPropSet(propName, newValue)
-
Notify that a property value is set
Parameters:
Name Type Description propName
String Name of property. newValue
Variant New value of the property. - Inherited From:
- Source:
-
objectChange()
-
Called when object is changed.
- Inherited From:
- Source:
-
off(eventName, listener, thisArg)
-
Remove an event handler, shortcut for (@link ObjectEx.removeEventListener}.
Parameters:
Name Type Description eventName
String Name of event. listener
function Handler function. thisArg
Object The scope object applied when the handler is called. If not set, all listenr function in list will be removed. - Inherited From:
- Source:
-
on(eventName, listener, thisArg) → {Object}
-
Add an event handler, shortcut for ObjectEx.addEventListener.
Parameters:
Name Type Description eventName
String Name of event. listener
function Handler function. thisArg
Object The scope object applied when the handler is called. - Inherited From:
- Source:
Returns:
Handler info object on success, null on fail.- Type
- Object
-
once(eventName, listener, thisArg) → {Object}
-
Add an event handler that will only be evoked once, shortcut for ObjectEx.addOnceEventListener.
Parameters:
Name Type Description eventName
String Name of event. listener
function Handler function. thisArg
Object The scope object applied when the handler is called. - Inherited From:
- Source:
Returns:
Handler info object on success, null on fail.- Type
- Object
-
overwriteMethod(methodName, newMethod) → {ObjectEx}
-
Overwrite method of object instance (rather than prototype) with a new one.
Parameters:
Name Type Description methodName
String newMethod
Func New function. The arguments of function should be same as overwritten one plus a extra leading param stores the old method. e.g. Overwrite getPropValue method:
var obj = new ObjectEx();
obj.overwriteMethod('getPropValue', function($old, propName)
{
console.log('new method'); return $old(propName); });- Inherited From:
- Source:
Returns:
- Type
- ObjectEx
-
relayEvent(eventName, event)
-
Relay event from child of this object.
Parameters:
Name Type Description eventName
String Event to be invoked. event
Object A hash object with information about event. - Inherited From:
- Source:
-
removeEventListener(eventName, listener, thisArg)
-
Remove an event handler.
Parameters:
Name Type Description eventName
String Name of event. listener
function Handler function. thisArg
Object The scope object applied when the handler is called. If not set, all listenr function in list will be removed. - Inherited From:
- Source:
-
saved()
-
Called after this object is saved through a serialization system. Descendants may override this.
- Inherited From:
- Source:
-
saveObj(destNode, serializerOrName, options)
-
Save current object to destNode.
Parameters:
Name Type Description destNode
Object Storage node to save object. Different serializer requires different node. serializerOrName
Variant A ObjSerializer instance or name registered in ObjSerializerFactory. Can be null to use the default serializer. options
Hash - Inherited From:
- Source:
-
setPropStoreFieldValue(propName) → {Variant}
-
Set value of a property's store field. Use this method to set property value and avoid the call of property setter. Readonly property can also be changed in this method. Note: if the property has no store field, this method will has no effect on property.
Parameters:
Name Type Description propName
String Name of property. - Inherited From:
- Source:
Returns:
Value of property. If property does not exists, null is returned.- Type
- Variant
-
setPropValue(propName, value, ignoreReadOnly)
-
Set value of a property.
Parameters:
Name Type Description propName
String Name of property. value
Variant Value of the property. ignoreReadOnly
bool Try set the value directly through store field even if the property is a readonly one (without a setter). - Inherited From:
- Source:
-
setPropValues(hash, ignoreReadOnly)
-
Set a series of property.
Parameters:
Name Type Description hash
Hash A hash object, its key and values will be used to set property value. ignoreReadOnly
bool Try set the value directly through store field even if the property is a readonly one (without a setter). - Inherited From:
- Source:
-
setPropValueX()
-
Set value of a property. Similar to ObjectEx.setPropValue but can pass in multiple params. The first param is always the property name while the rest will be put into setter method (setXXX).
- Inherited From:
- Source:
-
stopEventPropagation(event)
-
Stop propagation of event, disallow it to bubble to higher level.
Parameters:
Name Type Description event
Object - Inherited From:
- Source:
-
toHash()
-
Wrap all properties to a hash object.
- Inherited From:
- Source:
Events
-
change
-
Invoked when the object has been modified. event param of it has one fields: {changedPropNames: Array}
- Inherited From:
- Source:
-
finalize
-
Invoked when ObjectEx#finalize is called and the object is released. event param of it has one fields: {obj}
- Inherited From:
- Source:
-
propValueSet
-
Invoked when a property value is set by its setter event param of it has two fields: {propName, propValue} If property enablePropValueSetEvent is false, this event will never be fired.
- Inherited From:
- Source: