Skip to content

Commit

Permalink
custom layout for speedometer on Graphs screen, see #88
Browse files Browse the repository at this point in the history
  • Loading branch information
jessegreenberg committed Oct 9, 2019
1 parent 2cf5cd6 commit 022da28
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 6 deletions.
16 changes: 10 additions & 6 deletions js/energy-skate-park/common/view/EnergySkateParkScreenView.js
Original file line number Diff line number Diff line change
Expand Up @@ -227,7 +227,9 @@ define( require => {
this.bottomLayer.addChild( this.returnSkaterButton );

const gaugeRadius = 62;
const speedometerNode = new ValueGaugeNode( model.skater.speedProperty, propertiesSpeedString, new Range( 0, 30 ), {

// @protected (read-only) - for layout or repositioning in subtypes
this.speedometerNode = new ValueGaugeNode( model.skater.speedProperty, propertiesSpeedString, new Range( 0, 30 ), {
numberDisplayOptions: {
valuePattern: speedometerMetersPerSecondPatternString,
numberMaxWidth: gaugeRadius * 1.3,
Expand All @@ -240,11 +242,13 @@ define( require => {
radius: gaugeRadius,
tandem: tandem.createTandem( 'speedometerNode' )
} );
model.speedometerVisibleProperty.linkAttribute( speedometerNode, 'visible' );
model.speedValueVisibleProperty.link( visible => { speedometerNode.setNumberDisplayVisible( visible ); } );
speedometerNode.centerX = this.layoutBounds.centerX;
speedometerNode.top = this.layoutBounds.minY + 5;
this.bottomLayer.addChild( speedometerNode );
model.speedometerVisibleProperty.linkAttribute( this.speedometerNode, 'visible' );
model.speedValueVisibleProperty.link( visible => { this.speedometerNode.setNumberDisplayVisible( visible ); } );

// default layout, but may change in subtypes
this.speedometerNode.centerX = this.layoutBounds.centerX;
this.speedometerNode.top = this.layoutBounds.minY + 5;
this.bottomLayer.addChild( this.speedometerNode );

// @public (for layout) - Layer which will contain all of the tracks
this.trackLayer = new Node( {
Expand Down
5 changes: 5 additions & 0 deletions js/energy-skate-park/graphs/view/GraphsScreenView.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ define( require => {
const EnergySkateParkTrackSetScreenView = require( 'ENERGY_SKATE_PARK/energy-skate-park/common/view/EnergySkateParkTrackSetScreenView' );
const EnergyGraphAccordionBox = require( 'ENERGY_SKATE_PARK/energy-skate-park/graphs/view/EnergyGraphAccordionBox' );
const FrictionSlider = require( 'ENERGY_SKATE_PARK/energy-skate-park/common/view/FrictionSlider' );
const GraphsConstants = require( 'ENERGY_SKATE_PARK/energy-skate-park/graphs/GraphsConstants' );
const GravityNumberControl = require( 'ENERGY_SKATE_PARK/energy-skate-park/common/view/GravityNumberControl' );
const Node = require( 'SCENERY/nodes/Node' );
const GravityComboBox = require( 'ENERGY_SKATE_PARK/energy-skate-park/common/view/GravityComboBox' );
Expand Down Expand Up @@ -68,6 +69,10 @@ define( require => {
// track align perfectly with positions along the graph
this.graphAccordionBox.right = this.trackLayer.right + EnergyGraphAccordionBox.GRAPH_OFFSET;
this.graphAccordionBox.top = this.controlPanel.top;

// special layout for the speedometer in this screen
this.speedometerNode.left = this.graphAccordionBox.left;
this.speedometerNode.top = this.modelViewTransform.modelToViewY( GraphsConstants.TRACK_HEIGHT );
}
}

Expand Down

0 comments on commit 022da28

Please sign in to comment.