diff options
Diffstat (limited to 'src/js/util/mxEventObject.js')
-rw-r--r-- | src/js/util/mxEventObject.js | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/src/js/util/mxEventObject.js b/src/js/util/mxEventObject.js new file mode 100644 index 0000000..cb08a55 --- /dev/null +++ b/src/js/util/mxEventObject.js @@ -0,0 +1,111 @@ +/** + * $Id: mxEventObject.js,v 1.11 2011-09-09 10:29:05 gaudenz Exp $ + * Copyright (c) 2006-2010, JGraph Ltd + */ +/** + * Class: mxEventObject + * + * The mxEventObject is a wrapper for all properties of a single event. + * Additionally, it also offers functions to consume the event and check if it + * was consumed as follows: + * + * (code) + * evt.consume(); + * INV: evt.isConsumed() == true + * (end) + * + * Constructor: mxEventObject + * + * Constructs a new event object with the specified name. An optional + * sequence of key, value pairs can be appended to define properties. + * + * Example: + * + * (code) + * new mxEventObject("eventName", key1, val1, .., keyN, valN) + * (end) + */ +function mxEventObject(name) +{ + this.name = name; + this.properties = []; + + for (var i = 1; i < arguments.length; i += 2) + { + if (arguments[i + 1] != null) + { + this.properties[arguments[i]] = arguments[i + 1]; + } + } +}; + +/** + * Variable: name + * + * Holds the name. + */ +mxEventObject.prototype.name = null; + +/** + * Variable: properties + * + * Holds the properties as an associative array. + */ +mxEventObject.prototype.properties = null; + +/** + * Variable: consumed + * + * Holds the consumed state. Default is false. + */ +mxEventObject.prototype.consumed = false; + +/** + * Function: getName + * + * Returns <name>. + */ +mxEventObject.prototype.getName = function() +{ + return this.name; +}; + +/** + * Function: getProperties + * + * Returns <properties>. + */ +mxEventObject.prototype.getProperties = function() +{ + return this.properties; +}; + +/** + * Function: getProperty + * + * Returns the property for the given key. + */ +mxEventObject.prototype.getProperty = function(key) +{ + return this.properties[key]; +}; + +/** + * Function: isConsumed + * + * Returns true if the event has been consumed. + */ +mxEventObject.prototype.isConsumed = function() +{ + return this.consumed; +}; + +/** + * Function: consume + * + * Consumes the event. + */ +mxEventObject.prototype.consume = function() +{ + this.consumed = true; +}; |