| OLD | NEW |
| 1 SKY MODULE | 1 SKY MODULE |
| 2 <import src="sky:core" as="sky"/> | 2 <import src="sky:core" as="sky"/> |
| 3 <script> | 3 <script> |
| 4 // display: toolbar; | 4 // display: toolbar; |
| 5 // toolbar-spacing: <length> | 5 // toolbar-spacing: <length> |
| 6 // display: spring; // remaining space is split equally amongst the springs | 6 // display: spring; // remaining space is split equally amongst the springs |
| 7 // children are vertically centered, layout out left-to-right with toolbar-spac
ing space between them | 7 // children are vertically centered, layout out left-to-right with toolbar-spac
ing space between them |
| 8 // last child is hidden by default unless there's not enough room for the other
s, then it's shown last, right-aligned | 8 // last child is hidden by default unless there's not enough room for the other
s, then it's shown last, right-aligned |
| 9 module.exports.SpringLayoutManager = class SpringLayoutManager extends sky.Layo
utManager { } | 9 module.exports.SpringLayoutManager = class SpringLayoutManager extends sky.Layo
utManager { } |
| 10 sky.registerLayoutManager('spring', module.exports.SpringLayoutManager); | 10 sky.registerLayoutManager('spring', module.exports.SpringLayoutManager); |
| 11 sky.registerProperty({ | 11 sky.registerProperty({ |
| 12 name: 'toolbar-spacing', | 12 name: 'toolbar-spacing', |
| 13 type: sky.PositiveLengthStyleValueType, | 13 type: sky.PositiveLengthStyleValueType, |
| 14 inherits: true, | 14 inherits: true, |
| 15 initialValue: 8, | 15 initialValue: 8, |
| 16 needsLayout: true, | 16 needsLayout: true, |
| 17 }); | 17 }); |
| 18 module.exports.ToolbarLayoutManager = class ToolbarLayoutManager extends sky.La
youtManager { | 18 module.exports.ToolbarLayoutManager = class ToolbarLayoutManager extends sky.La
youtManager { |
| 19 constructor (styleNode) { | 19 constructor (styleNode) { |
| 20 super(styleNode); | 20 super(styleNode); |
| 21 this.showingOverflow = false; | 21 this.showingOverflow = false; |
| 22 this.firstSkippedChild = null; | 22 this.firstSkippedChild = null; |
| 23 this.overflowChild = null; | 23 this.overflowChild = null; |
| 24 } | 24 } |
| 25 function layout(width, height) { | 25 function layout(width, height) { |
| 26 this.markAsLaidOut(); |
| 26 let children = null; | 27 let children = null; |
| 27 let loop = null; | 28 let loop = null; |
| 28 if (height == null) | 29 if (height == null) |
| 29 height = this.getIntrinsicHeight().value; | 30 height = this.getIntrinsicHeight().value; |
| 30 if (width == null) | 31 if (width == null) |
| 31 this.assumeDimensions(0, height); | 32 this.assumeDimensions(0, height); |
| 32 else | 33 else |
| 33 this.assumeDimensions(width, height); | 34 this.assumeDimensions(width, height); |
| 34 let spacing = this.node.getProperty('toolbar-spacing'); | 35 let spacing = this.node.getProperty('toolbar-spacing'); |
| 35 if (typeof spacing != 'number') | 36 if (typeof spacing != 'number') |
| (...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 200 canvas.clip(); | 201 canvas.clip(); |
| 201 child.paint(canvas); | 202 child.paint(canvas); |
| 202 } finally { | 203 } finally { |
| 203 canvas.restore(); | 204 canvas.restore(); |
| 204 } | 205 } |
| 205 } | 206 } |
| 206 } | 207 } |
| 207 } | 208 } |
| 208 sky.registerLayoutManager('toolbar', module.exports.ToolbarLayoutManager); | 209 sky.registerLayoutManager('toolbar', module.exports.ToolbarLayoutManager); |
| 209 </script> | 210 </script> |
| OLD | NEW |