| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // require: list_selection_model.js | 5 // require: list_selection_model.js |
| 6 // require: list_selection_controller.js | 6 // require: list_selection_controller.js |
| 7 // require: list.js | 7 // require: list.js |
| 8 | 8 |
| 9 /** | 9 /** |
| 10 * @fileoverview This implements a grid control. Grid contains a bunch of | 10 * @fileoverview This implements a grid control. Grid contains a bunch of |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 66 * @type {function(new:cr.ui.GridItem, *)} | 66 * @type {function(new:cr.ui.GridItem, *)} |
| 67 * @override | 67 * @override |
| 68 */ | 68 */ |
| 69 itemConstructor_: GridItem, | 69 itemConstructor_: GridItem, |
| 70 | 70 |
| 71 /** | 71 /** |
| 72 * Whether or not the rows on list have various heights. | 72 * Whether or not the rows on list have various heights. |
| 73 * Shows a warning at the setter because cr.ui.Grid does not support this. | 73 * Shows a warning at the setter because cr.ui.Grid does not support this. |
| 74 * @type {boolean} | 74 * @type {boolean} |
| 75 */ | 75 */ |
| 76 get fixedHeight() { return true; }, | 76 get fixedHeight() { |
| 77 return true; |
| 78 }, |
| 77 set fixedHeight(fixedHeight) { | 79 set fixedHeight(fixedHeight) { |
| 78 if (!fixedHeight) | 80 if (!fixedHeight) |
| 79 console.warn('cr.ui.Grid does not support fixedHeight = false'); | 81 console.warn('cr.ui.Grid does not support fixedHeight = false'); |
| 80 }, | 82 }, |
| 81 | 83 |
| 82 /** | 84 /** |
| 83 * @return {number} The number of columns determined by width of the grid | 85 * @return {number} The number of columns determined by width of the grid |
| 84 * and width of the items. | 86 * and width of the items. |
| 85 * @private | 87 * @private |
| 86 */ | 88 */ |
| (...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 199 getItemTop: function(index) { | 201 getItemTop: function(index) { |
| 200 return Math.floor(index / this.columns) * this.getDefaultItemHeight_(); | 202 return Math.floor(index / this.columns) * this.getDefaultItemHeight_(); |
| 201 }, | 203 }, |
| 202 | 204 |
| 203 /** | 205 /** |
| 204 * @param {number} index The index of the item. | 206 * @param {number} index The index of the item. |
| 205 * @return {number} The row of the item. May vary in the case | 207 * @return {number} The row of the item. May vary in the case |
| 206 * of multiple columns. | 208 * of multiple columns. |
| 207 * @override | 209 * @override |
| 208 */ | 210 */ |
| 209 getItemRow: function(index) { return Math.floor(index / this.columns); }, | 211 getItemRow: function(index) { |
| 212 return Math.floor(index / this.columns); |
| 213 }, |
| 210 | 214 |
| 211 /** | 215 /** |
| 212 * @param {number} row The row. | 216 * @param {number} row The row. |
| 213 * @return {number} The index of the first item in the row. | 217 * @return {number} The index of the first item in the row. |
| 214 * @override | 218 * @override |
| 215 */ | 219 */ |
| 216 getFirstItemInRow: function(row) { return row * this.columns; }, | 220 getFirstItemInRow: function(row) { |
| 221 return row * this.columns; |
| 222 }, |
| 217 | 223 |
| 218 /** | 224 /** |
| 219 * Creates the selection controller to use internally. | 225 * Creates the selection controller to use internally. |
| 220 * @param {cr.ui.ListSelectionModel} sm The underlying selection model. | 226 * @param {cr.ui.ListSelectionModel} sm The underlying selection model. |
| 221 * @return {!cr.ui.ListSelectionController} The newly created selection | 227 * @return {!cr.ui.ListSelectionController} The newly created selection |
| 222 * controller. | 228 * controller. |
| 223 * @override | 229 * @override |
| 224 */ | 230 */ |
| 225 createSelectionController: function(sm) { | 231 createSelectionController: function(sm) { |
| 226 return new GridSelectionController(sm, this); | 232 return new GridSelectionController(sm, this); |
| (...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 397 index -= this.grid_.columns; | 403 index -= this.grid_.columns; |
| 398 return Math.max(index, 0); | 404 return Math.max(index, 0); |
| 399 }, | 405 }, |
| 400 | 406 |
| 401 /** | 407 /** |
| 402 * Returns the index before (x axis) the given element. | 408 * Returns the index before (x axis) the given element. |
| 403 * @param {number} index The index to get the index before. | 409 * @param {number} index The index to get the index before. |
| 404 * @return {number} The index before or -1 if not found. | 410 * @return {number} The index before or -1 if not found. |
| 405 * @override | 411 * @override |
| 406 */ | 412 */ |
| 407 getIndexBefore: function(index) { return index - 1; }, | 413 getIndexBefore: function(index) { |
| 414 return index - 1; |
| 415 }, |
| 408 | 416 |
| 409 /** | 417 /** |
| 410 * Returns the index after (x axis) the given element. | 418 * Returns the index after (x axis) the given element. |
| 411 * @param {number} index The index to get the index after. | 419 * @param {number} index The index to get the index after. |
| 412 * @return {number} The index after or -1 if not found. | 420 * @return {number} The index after or -1 if not found. |
| 413 * @override | 421 * @override |
| 414 */ | 422 */ |
| 415 getIndexAfter: function(index) { | 423 getIndexAfter: function(index) { |
| 416 if (index == this.getLastIndex()) { | 424 if (index == this.getLastIndex()) { |
| 417 return -1; | 425 return -1; |
| 418 } | 426 } |
| 419 return index + 1; | 427 return index + 1; |
| 420 } | 428 } |
| 421 }; | 429 }; |
| 422 | 430 |
| 423 return { | 431 return { |
| 424 Grid: Grid, | 432 Grid: Grid, |
| 425 GridItem: GridItem, | 433 GridItem: GridItem, |
| 426 GridSelectionController: GridSelectionController | 434 GridSelectionController: GridSelectionController |
| 427 }; | 435 }; |
| 428 }); | 436 }); |
| OLD | NEW |