| OLD | NEW |
| 1 /** | 1 /** |
| 2 * A custom KeyboardEvent that attempts to eliminate cross-browser | 2 * A custom KeyboardEvent that attempts to eliminate cross-browser |
| 3 * inconsistencies, and also provide both keyCode and charCode information | 3 * inconsistencies, and also provide both keyCode and charCode information |
| 4 * for all key events (when such information can be determined). | 4 * for all key events (when such information can be determined). |
| 5 * | 5 * |
| 6 * KeyEvent tries to provide a higher level, more polished keyboard event | 6 * KeyEvent tries to provide a higher level, more polished keyboard event |
| 7 * information on top of the "raw" [KeyboardEvent]. | 7 * information on top of the "raw" [KeyboardEvent]. |
| 8 * | 8 * |
| 9 * The mechanics of using KeyEvents is a little different from the underlying | 9 * The mechanics of using KeyEvents is a little different from the underlying |
| 10 * [KeyboardEvent]. To use KeyEvents, you need to create a stream and then add | 10 * [KeyboardEvent]. To use KeyEvents, you need to create a stream and then add |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 61 /** Accessor to the underlying charCode value is the parent event. */ | 61 /** Accessor to the underlying charCode value is the parent event. */ |
| 62 int get _realCharCode => _parent.charCode; | 62 int get _realCharCode => _parent.charCode; |
| 63 | 63 |
| 64 /** Accessor to the underlying altKey value is the parent event. */ | 64 /** Accessor to the underlying altKey value is the parent event. */ |
| 65 bool get _realAltKey => _parent.altKey; | 65 bool get _realAltKey => _parent.altKey; |
| 66 | 66 |
| 67 /** Shadows on top of the parent's currentTarget. */ | 67 /** Shadows on top of the parent's currentTarget. */ |
| 68 EventTarget _currentTarget; | 68 EventTarget _currentTarget; |
| 69 | 69 |
| 70 /** Construct a KeyEvent with [parent] as the event we're emulating. */ | 70 /** Construct a KeyEvent with [parent] as the event we're emulating. */ |
| 71 KeyEvent.wrap(KeyboardEvent parent): super(parent) { | 71 KeyEvent.wrap(KeyboardEvent parent) : super(parent) { |
| 72 _parent = parent; | 72 _parent = parent; |
| 73 _shadowAltKey = _realAltKey; | 73 _shadowAltKey = _realAltKey; |
| 74 _shadowCharCode = _realCharCode; | 74 _shadowCharCode = _realCharCode; |
| 75 _shadowKeyCode = _realKeyCode; | 75 _shadowKeyCode = _realKeyCode; |
| 76 _currentTarget = _parent.currentTarget == null? window : | 76 _currentTarget = |
| 77 _parent.currentTarget; | 77 _parent.currentTarget == null ? window : _parent.currentTarget; |
| 78 } | 78 } |
| 79 | 79 |
| 80 /** Programmatically create a new KeyEvent (and KeyboardEvent). */ | 80 /** Programmatically create a new KeyEvent (and KeyboardEvent). */ |
| 81 factory KeyEvent(String type, | 81 factory KeyEvent(String type, |
| 82 {Window view, bool canBubble: true, bool cancelable: true, int keyCode: 0, | 82 {Window view, |
| 83 int charCode: 0, int keyLocation: 1, bool ctrlKey: false, | 83 bool canBubble: true, |
| 84 bool altKey: false, bool shiftKey: false, bool metaKey: false, | 84 bool cancelable: true, |
| 85 EventTarget currentTarget}) { | 85 int keyCode: 0, |
| 86 var parent = new KeyboardEvent(type, view: view, canBubble: canBubble, | 86 int charCode: 0, |
| 87 cancelable: cancelable, keyLocation: keyLocation, ctrlKey: ctrlKey, | 87 int keyLocation: 1, |
| 88 altKey: altKey, shiftKey: shiftKey, metaKey: metaKey); | 88 bool ctrlKey: false, |
| 89 var keyEvent = new KeyEvent.wrap(parent); | 89 bool altKey: false, |
| 90 keyEvent._shadowAltKey = altKey; | 90 bool shiftKey: false, |
| 91 keyEvent._shadowCharCode = charCode; | 91 bool metaKey: false, |
| 92 keyEvent._shadowKeyCode = keyCode; | 92 EventTarget currentTarget}) { |
| 93 keyEvent._currentTarget = currentTarget == null ? window : currentTarget; | 93 var parent = new KeyboardEvent(type, |
| 94 return keyEvent; | 94 view: view, |
| 95 } | 95 canBubble: canBubble, |
| 96 cancelable: cancelable, |
| 97 keyLocation: keyLocation, |
| 98 ctrlKey: ctrlKey, |
| 99 altKey: altKey, |
| 100 shiftKey: shiftKey, |
| 101 metaKey: metaKey); |
| 102 var keyEvent = new KeyEvent.wrap(parent); |
| 103 keyEvent._shadowAltKey = altKey; |
| 104 keyEvent._shadowCharCode = charCode; |
| 105 keyEvent._shadowKeyCode = keyCode; |
| 106 keyEvent._currentTarget = currentTarget == null ? window : currentTarget; |
| 107 return keyEvent; |
| 108 } |
| 96 | 109 |
| 97 /** Accessor to provide a stream of KeyEvents on the desired target. */ | 110 /** Accessor to provide a stream of KeyEvents on the desired target. */ |
| 98 static EventStreamProvider<KeyEvent> keyDownEvent = | 111 static EventStreamProvider<KeyEvent> keyDownEvent = |
| 99 new _KeyboardEventHandler('keydown'); | 112 new _KeyboardEventHandler('keydown'); |
| 100 /** Accessor to provide a stream of KeyEvents on the desired target. */ | 113 /** Accessor to provide a stream of KeyEvents on the desired target. */ |
| 101 static EventStreamProvider<KeyEvent> keyUpEvent = | 114 static EventStreamProvider<KeyEvent> keyUpEvent = |
| 102 new _KeyboardEventHandler('keyup'); | 115 new _KeyboardEventHandler('keyup'); |
| 103 /** Accessor to provide a stream of KeyEvents on the desired target. */ | 116 /** Accessor to provide a stream of KeyEvents on the desired target. */ |
| 104 static EventStreamProvider<KeyEvent> keyPressEvent = | 117 static EventStreamProvider<KeyEvent> keyPressEvent = |
| 105 new _KeyboardEventHandler('keypress'); | 118 new _KeyboardEventHandler('keypress'); |
| 106 | 119 |
| 107 /** The currently registered target for this event. */ | 120 /** The currently registered target for this event. */ |
| 108 EventTarget get currentTarget => _currentTarget; | 121 EventTarget get currentTarget => _currentTarget; |
| 109 | 122 |
| 110 /** True if the ctrl key is pressed during this event. */ | 123 /** True if the ctrl key is pressed during this event. */ |
| 111 bool get ctrlKey => _parent.ctrlKey; | 124 bool get ctrlKey => _parent.ctrlKey; |
| 112 int get detail => _parent.detail; | 125 int get detail => _parent.detail; |
| 113 /** | 126 /** |
| 114 * Accessor to the part of the keyboard that the key was pressed from (one of | 127 * Accessor to the part of the keyboard that the key was pressed from (one of |
| 115 * KeyLocation.STANDARD, KeyLocation.RIGHT, KeyLocation.LEFT, | 128 * KeyLocation.STANDARD, KeyLocation.RIGHT, KeyLocation.LEFT, |
| 116 * KeyLocation.NUMPAD, KeyLocation.MOBILE, KeyLocation.JOYSTICK). | 129 * KeyLocation.NUMPAD, KeyLocation.MOBILE, KeyLocation.JOYSTICK). |
| 117 */ | 130 */ |
| 118 int get keyLocation => _parent.keyLocation; | 131 int get keyLocation => _parent.keyLocation; |
| 119 /** True if the Meta (or Mac command) key is pressed during this event. */ | 132 /** True if the Meta (or Mac command) key is pressed during this event. */ |
| 120 bool get metaKey => _parent.metaKey; | 133 bool get metaKey => _parent.metaKey; |
| 121 /** True if the shift key was pressed during this event. */ | 134 /** True if the shift key was pressed during this event. */ |
| 122 bool get shiftKey => _parent.shiftKey; | 135 bool get shiftKey => _parent.shiftKey; |
| 123 Window get view => _parent.view; | 136 Window get view => _parent.view; |
| 124 void _initUIEvent(String type, bool canBubble, bool cancelable, | 137 void _initUIEvent( |
| 125 Window view, int detail) { | 138 String type, bool canBubble, bool cancelable, Window view, int detail) { |
| 126 throw new UnsupportedError("Cannot initialize a UI Event from a KeyEvent."); | 139 throw new UnsupportedError("Cannot initialize a UI Event from a KeyEvent."); |
| 127 } | 140 } |
| 141 |
| 128 String get _shadowKeyIdentifier => _parent._keyIdentifier; | 142 String get _shadowKeyIdentifier => _parent._keyIdentifier; |
| 129 | 143 |
| 130 int get _charCode => charCode; | 144 int get _charCode => charCode; |
| 131 int get _keyCode => keyCode; | 145 int get _keyCode => keyCode; |
| 132 int get _which => which; | 146 int get _which => which; |
| 133 String get _keyIdentifier { | 147 String get _keyIdentifier { |
| 134 throw new UnsupportedError("keyIdentifier is unsupported."); | 148 throw new UnsupportedError("keyIdentifier is unsupported."); |
| 135 } | 149 } |
| 136 void _initKeyboardEvent(String type, bool canBubble, bool cancelable, | 150 |
| 137 Window view, String keyIdentifier, int keyLocation, bool ctrlKey, | 151 void _initKeyboardEvent( |
| 138 bool altKey, bool shiftKey, bool metaKey) { | 152 String type, |
| 153 bool canBubble, |
| 154 bool cancelable, |
| 155 Window view, |
| 156 String keyIdentifier, |
| 157 int keyLocation, |
| 158 bool ctrlKey, |
| 159 bool altKey, |
| 160 bool shiftKey, |
| 161 bool metaKey) { |
| 139 throw new UnsupportedError( | 162 throw new UnsupportedError( |
| 140 "Cannot initialize a KeyboardEvent from a KeyEvent."); | 163 "Cannot initialize a KeyboardEvent from a KeyEvent."); |
| 141 } | 164 } |
| 165 |
| 142 @Experimental() // untriaged | 166 @Experimental() // untriaged |
| 143 bool getModifierState(String keyArgument) => throw new UnimplementedError(); | 167 bool getModifierState(String keyArgument) => throw new UnimplementedError(); |
| 144 @Experimental() // untriaged | 168 @Experimental() // untriaged |
| 145 int get location => throw new UnimplementedError(); | 169 int get location => throw new UnimplementedError(); |
| 146 @Experimental() // untriaged | 170 @Experimental() // untriaged |
| 147 bool get repeat => throw new UnimplementedError(); | 171 bool get repeat => throw new UnimplementedError(); |
| 148 dynamic get _get_view => throw new UnimplementedError(); | 172 dynamic get _get_view => throw new UnimplementedError(); |
| 149 } | 173 } |
| OLD | NEW |