Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (C) 2007 Apple Inc. All rights reserved. | 2 * Copyright (C) 2007 Apple Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * | 7 * |
| 8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
| (...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 188 | 188 |
| 189 /** | 189 /** |
| 190 * @return {boolean} | 190 * @return {boolean} |
| 191 */ | 191 */ |
| 192 selectPrevious: function() | 192 selectPrevious: function() |
| 193 { | 193 { |
| 194 var nextSelectedElement = this.selectedTreeElement.traversePreviousTreeE lement(true); | 194 var nextSelectedElement = this.selectedTreeElement.traversePreviousTreeE lement(true); |
| 195 while (nextSelectedElement && !nextSelectedElement.selectable) | 195 while (nextSelectedElement && !nextSelectedElement.selectable) |
| 196 nextSelectedElement = nextSelectedElement.traversePreviousTreeElemen t(!this.expandTreeElementsWhenArrowing); | 196 nextSelectedElement = nextSelectedElement.traversePreviousTreeElemen t(!this.expandTreeElementsWhenArrowing); |
| 197 if (nextSelectedElement) { | 197 if (nextSelectedElement) { |
| 198 nextSelectedElement.reveal(); | 198 nextSelectedElement.reveal(false); |
|
pfeldman
2015/11/21 01:38:35
ditto
| |
| 199 nextSelectedElement.select(false, true); | 199 nextSelectedElement.select(false, true); |
| 200 return true; | 200 return true; |
| 201 } | 201 } |
| 202 return false; | 202 return false; |
| 203 }, | 203 }, |
| 204 | 204 |
| 205 /** | 205 /** |
| 206 * @return {boolean} | 206 * @return {boolean} |
| 207 */ | 207 */ |
| 208 selectNext: function() | 208 selectNext: function() |
| 209 { | 209 { |
| 210 var nextSelectedElement = this.selectedTreeElement.traverseNextTreeEleme nt(true); | 210 var nextSelectedElement = this.selectedTreeElement.traverseNextTreeEleme nt(true); |
| 211 while (nextSelectedElement && !nextSelectedElement.selectable) | 211 while (nextSelectedElement && !nextSelectedElement.selectable) |
| 212 nextSelectedElement = nextSelectedElement.traverseNextTreeElement(!t his.expandTreeElementsWhenArrowing); | 212 nextSelectedElement = nextSelectedElement.traverseNextTreeElement(!t his.expandTreeElementsWhenArrowing); |
| 213 if (nextSelectedElement) { | 213 if (nextSelectedElement) { |
| 214 nextSelectedElement.reveal(); | 214 nextSelectedElement.reveal(false); |
|
pfeldman
2015/11/21 01:38:35
ditto
| |
| 215 nextSelectedElement.select(false, true); | 215 nextSelectedElement.select(false, true); |
| 216 return true; | 216 return true; |
| 217 } | 217 } |
| 218 return false; | 218 return false; |
| 219 }, | 219 }, |
| 220 | 220 |
| 221 /** | 221 /** |
| 222 * @param {!Event} event | 222 * @param {!Event} event |
| 223 */ | 223 */ |
| 224 _treeKeyDown: function(event) | 224 _treeKeyDown: function(event) |
| (...skipping 22 matching lines...) Expand all Loading... | |
| 247 if (this.selectedTreeElement.parent.selectable) { | 247 if (this.selectedTreeElement.parent.selectable) { |
| 248 nextSelectedElement = this.selectedTreeElement.parent; | 248 nextSelectedElement = this.selectedTreeElement.parent; |
| 249 while (nextSelectedElement && !nextSelectedElement.selectabl e) | 249 while (nextSelectedElement && !nextSelectedElement.selectabl e) |
| 250 nextSelectedElement = nextSelectedElement.parent; | 250 nextSelectedElement = nextSelectedElement.parent; |
| 251 handled = nextSelectedElement ? true : false; | 251 handled = nextSelectedElement ? true : false; |
| 252 } else if (this.selectedTreeElement.parent) | 252 } else if (this.selectedTreeElement.parent) |
| 253 this.selectedTreeElement.parent.collapse(); | 253 this.selectedTreeElement.parent.collapse(); |
| 254 } | 254 } |
| 255 } else if (event.keyIdentifier === "Right") { | 255 } else if (event.keyIdentifier === "Right") { |
| 256 if (!this.selectedTreeElement.revealed()) { | 256 if (!this.selectedTreeElement.revealed()) { |
| 257 this.selectedTreeElement.reveal(); | 257 this.selectedTreeElement.reveal(false); |
|
pfeldman
2015/11/21 01:38:35
ditto
| |
| 258 handled = true; | 258 handled = true; |
| 259 } else if (this.selectedTreeElement._expandable) { | 259 } else if (this.selectedTreeElement._expandable) { |
| 260 handled = true; | 260 handled = true; |
| 261 if (this.selectedTreeElement.expanded) { | 261 if (this.selectedTreeElement.expanded) { |
| 262 nextSelectedElement = this.selectedTreeElement.firstChild(); | 262 nextSelectedElement = this.selectedTreeElement.firstChild(); |
| 263 while (nextSelectedElement && !nextSelectedElement.selectabl e) | 263 while (nextSelectedElement && !nextSelectedElement.selectabl e) |
| 264 nextSelectedElement = nextSelectedElement.nextSibling; | 264 nextSelectedElement = nextSelectedElement.nextSibling; |
| 265 handled = nextSelectedElement ? true : false; | 265 handled = nextSelectedElement ? true : false; |
| 266 } else { | 266 } else { |
| 267 if (event.altKey) | 267 if (event.altKey) |
| 268 this.selectedTreeElement.expandRecursively(); | 268 this.selectedTreeElement.expandRecursively(); |
| 269 else | 269 else |
| 270 this.selectedTreeElement.expand(); | 270 this.selectedTreeElement.expand(); |
| 271 } | 271 } |
| 272 } | 272 } |
| 273 } else if (event.keyCode === 8 /* Backspace */ || event.keyCode === 46 / * Delete */) | 273 } else if (event.keyCode === 8 /* Backspace */ || event.keyCode === 46 / * Delete */) |
| 274 handled = this.selectedTreeElement.ondelete(); | 274 handled = this.selectedTreeElement.ondelete(); |
| 275 else if (isEnterKey(event)) | 275 else if (isEnterKey(event)) |
| 276 handled = this.selectedTreeElement.onenter(); | 276 handled = this.selectedTreeElement.onenter(); |
| 277 else if (event.keyCode === WebInspector.KeyboardShortcut.Keys.Space.code ) | 277 else if (event.keyCode === WebInspector.KeyboardShortcut.Keys.Space.code ) |
| 278 handled = this.selectedTreeElement.onspace(); | 278 handled = this.selectedTreeElement.onspace(); |
| 279 | 279 |
| 280 if (nextSelectedElement) { | 280 if (nextSelectedElement) { |
| 281 nextSelectedElement.reveal(); | 281 nextSelectedElement.reveal(false); |
|
pfeldman
2015/11/21 01:38:35
ditto
| |
| 282 nextSelectedElement.select(false, true); | 282 nextSelectedElement.select(false, true); |
| 283 } | 283 } |
| 284 | 284 |
| 285 if (handled) | 285 if (handled) |
| 286 event.consume(true); | 286 event.consume(true); |
| 287 }, | 287 }, |
| 288 | 288 |
| 289 /** | |
| 290 * @param {!TreeElement} treeElement | |
| 291 * @param {boolean} center | |
| 292 */ | |
| 293 _deferredScrollIntoView: function(treeElement, center) | |
| 294 { | |
| 295 if (!this._treeElementToScrollIntoView) | |
| 296 this.element.window().requestAnimationFrame(deferredScrollIntoView.b ind(this)); | |
| 297 this._treeElementToScrollIntoView = treeElement; | |
| 298 this._centerUponScrollIntoView = center; | |
| 299 /** | |
| 300 * @this {TreeOutline} | |
| 301 */ | |
| 302 function deferredScrollIntoView() | |
| 303 { | |
| 304 this._treeElementToScrollIntoView.listItemElement.scrollIntoViewIfNe eded(this._centerUponScrollIntoView); | |
| 305 delete this._treeElementToScrollIntoView; | |
| 306 delete this._centerUponScrollIntoView; | |
| 307 } | |
| 308 }, | |
| 309 | |
| 289 __proto__: WebInspector.Object.prototype | 310 __proto__: WebInspector.Object.prototype |
| 290 } | 311 } |
| 291 | 312 |
| 292 /** | 313 /** |
| 293 * @constructor | 314 * @constructor |
| 294 * @extends {TreeOutline} | 315 * @extends {TreeOutline} |
| 295 * @param {string=} className | 316 * @param {string=} className |
| 296 */ | 317 */ |
| 297 function TreeOutlineInShadow(className) | 318 function TreeOutlineInShadow(className) |
| 298 { | 319 { |
| (...skipping 546 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 845 maxDepth = 3; | 866 maxDepth = 3; |
| 846 | 867 |
| 847 while (item) { | 868 while (item) { |
| 848 if (depth < maxDepth) | 869 if (depth < maxDepth) |
| 849 item.expand(); | 870 item.expand(); |
| 850 item = item.traverseNextTreeElement(false, this, (depth >= maxDepth) , info); | 871 item = item.traverseNextTreeElement(false, this, (depth >= maxDepth) , info); |
| 851 depth += info.depthChange; | 872 depth += info.depthChange; |
| 852 } | 873 } |
| 853 }, | 874 }, |
| 854 | 875 |
| 855 reveal: function() | 876 /** |
| 877 * @param {boolean=} center | |
| 878 */ | |
| 879 reveal: function(center) | |
| 856 { | 880 { |
| 857 var currentAncestor = this.parent; | 881 var currentAncestor = this.parent; |
| 858 while (currentAncestor && !currentAncestor.root) { | 882 while (currentAncestor && !currentAncestor.root) { |
| 859 if (!currentAncestor.expanded) | 883 if (!currentAncestor.expanded) |
| 860 currentAncestor.expand(); | 884 currentAncestor.expand(); |
| 861 currentAncestor = currentAncestor.parent; | 885 currentAncestor = currentAncestor.parent; |
| 862 } | 886 } |
| 863 | 887 |
| 864 this.listItemElement.scrollIntoViewIfNeeded(); | 888 this.treeOutline._deferredScrollIntoView(this, center || typeof center = == "undefined"); |
| 865 | |
| 866 this.onreveal(); | |
| 867 }, | 889 }, |
| 868 | 890 |
| 869 /** | 891 /** |
| 870 * @return {boolean} | 892 * @return {boolean} |
| 871 */ | 893 */ |
| 872 revealed: function() | 894 revealed: function() |
| 873 { | 895 { |
| 874 var currentAncestor = this.parent; | 896 var currentAncestor = this.parent; |
| 875 while (currentAncestor && !currentAncestor.root) { | 897 while (currentAncestor && !currentAncestor.root) { |
| 876 if (!currentAncestor.expanded) | 898 if (!currentAncestor.expanded) |
| (...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 999 | 1021 |
| 1000 /** | 1022 /** |
| 1001 * @param {!Event} e | 1023 * @param {!Event} e |
| 1002 * @return {boolean} | 1024 * @return {boolean} |
| 1003 */ | 1025 */ |
| 1004 ondblclick: function(e) | 1026 ondblclick: function(e) |
| 1005 { | 1027 { |
| 1006 return false; | 1028 return false; |
| 1007 }, | 1029 }, |
| 1008 | 1030 |
| 1009 onreveal: function() | |
| 1010 { | |
| 1011 }, | |
| 1012 | |
| 1013 /** | 1031 /** |
| 1014 * @param {boolean=} selectedByUser | 1032 * @param {boolean=} selectedByUser |
| 1015 * @return {boolean} | 1033 * @return {boolean} |
| 1016 */ | 1034 */ |
| 1017 onselect: function(selectedByUser) | 1035 onselect: function(selectedByUser) |
| 1018 { | 1036 { |
| 1019 return false; | 1037 return false; |
| 1020 }, | 1038 }, |
| 1021 | 1039 |
| 1022 /** | 1040 /** |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1093 isEventWithinDisclosureTriangle: function(event) | 1111 isEventWithinDisclosureTriangle: function(event) |
| 1094 { | 1112 { |
| 1095 // FIXME: We should not use getComputedStyle(). For that we need to get rid of using ::before for disclosure triangle. (http://webk.it/74446) | 1113 // FIXME: We should not use getComputedStyle(). For that we need to get rid of using ::before for disclosure triangle. (http://webk.it/74446) |
| 1096 var paddingLeftValue = window.getComputedStyle(this._listItemNode).paddi ngLeft; | 1114 var paddingLeftValue = window.getComputedStyle(this._listItemNode).paddi ngLeft; |
| 1097 console.assert(paddingLeftValue.endsWith("px")); | 1115 console.assert(paddingLeftValue.endsWith("px")); |
| 1098 var computedLeftPadding = parseFloat(paddingLeftValue); | 1116 var computedLeftPadding = parseFloat(paddingLeftValue); |
| 1099 var left = this._listItemNode.totalOffsetLeft() + computedLeftPadding; | 1117 var left = this._listItemNode.totalOffsetLeft() + computedLeftPadding; |
| 1100 return event.pageX >= left && event.pageX <= left + TreeElement._ArrowTo ggleWidth && this._expandable; | 1118 return event.pageX >= left && event.pageX <= left + TreeElement._ArrowTo ggleWidth && this._expandable; |
| 1101 } | 1119 } |
| 1102 } | 1120 } |
| OLD | NEW |