123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- /**
- * Copyright (c) 2006-2015, JGraph Ltd
- * Copyright (c) 2006-2015, Gaudenz Alder
- */
- mxCodecRegistry.register(function()
- {
- /**
- * Class: mxDefaultKeyHandlerCodec
- *
- * Custom codec for configuring <mxDefaultKeyHandler>s. This class is created
- * and registered dynamically at load time and used implicitly via
- * <mxCodec> and the <mxCodecRegistry>. This codec only reads configuration
- * data for existing key handlers, it does not encode or create key handlers.
- */
- var codec = new mxObjectCodec(new mxDefaultKeyHandler());
- /**
- * Function: encode
- *
- * Returns null.
- */
- codec.encode = function(enc, obj)
- {
- return null;
- };
-
- /**
- * Function: decode
- *
- * Reads a sequence of the following child nodes
- * and attributes:
- *
- * Child Nodes:
- *
- * add - Binds a keystroke to an actionname.
- *
- * Attributes:
- *
- * as - Keycode.
- * action - Actionname to execute in editor.
- * control - Optional boolean indicating if
- * the control key must be pressed.
- *
- * Example:
- *
- * (code)
- * <mxDefaultKeyHandler as="keyHandler">
- * <add as="88" control="true" action="cut"/>
- * <add as="67" control="true" action="copy"/>
- * <add as="86" control="true" action="paste"/>
- * </mxDefaultKeyHandler>
- * (end)
- *
- * The keycodes are for the x, c and v keys.
- *
- * See also: <mxDefaultKeyHandler.bindAction>,
- * http://www.js-examples.com/page/tutorials__key_codes.html
- */
- codec.decode = function(dec, node, into)
- {
- if (into != null)
- {
- var editor = into.editor;
- node = node.firstChild;
-
- while (node != null)
- {
- if (!this.processInclude(dec, node, into) &&
- node.nodeName == 'add')
- {
- var as = node.getAttribute('as');
- var action = node.getAttribute('action');
- var control = node.getAttribute('control');
-
- into.bindAction(as, action, control);
- }
-
- node = node.nextSibling;
- }
- }
-
- return into;
- };
- // Returns the codec into the registry
- return codec;
- }());
- __mxOutput.mxDefaultKeyHandlerCodec = typeof mxDefaultKeyHandlerCodec !== 'undefined' ? mxDefaultKeyHandlerCodec : undefined;
|