summaryrefslogtreecommitdiff
path: root/src/js/util/mxEventObject.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/js/util/mxEventObject.js')
-rw-r--r--src/js/util/mxEventObject.js111
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;
+};