提交 37ad7c09 编写于 作者: M Mr.doob

Editor: Added UI.THREE.Boolean.

上级 0539ea12
......@@ -7,8 +7,9 @@ Menubar.Status = function ( editor ) {
var container = new UI.Panel();
container.setClass( 'menu right' );
var checkbox = new UI.Checkbox( editor.config.getKey( 'autosave' ) );
checkbox.onChange( function () {
var autosave = new UI.THREE.Boolean( editor.config.getKey( 'autosave' ), 'autosave' );
autosave.text.setColor( '#888' );
autosave.onChange( function () {
var value = this.getValue();
......@@ -21,21 +22,17 @@ Menubar.Status = function ( editor ) {
}
} );
container.add( checkbox );
var text = new UI.Text( 'autosave' );
text.setClass( 'title' );
container.add( text );
container.add( autosave );
editor.signals.savingStarted.add( function () {
text.setTextDecoration( 'underline' );
autosave.text.setTextDecoration( 'underline' );
} );
editor.signals.savingFinished.add( function () {
text.setTextDecoration( 'none' );
autosave.text.setTextDecoration( 'none' );
} );
......
......@@ -249,21 +249,11 @@ Sidebar.Object3D = function ( editor ) {
objectShadowRow.add( new UI.Text( 'Shadow' ).setWidth( '90px' ) );
var objectCastShadowSpan = new UI.Span().setMarginRight( '10px' );
var objectCastShadow = new UI.Checkbox().onChange( update );
var objectCastShadow = new UI.THREE.Boolean( false, 'cast' ).onChange( update );
objectShadowRow.add( objectCastShadow );
objectCastShadowSpan.add( objectCastShadow );
objectCastShadowSpan.add( new UI.Text( 'cast' ).setMarginLeft( '3px' ) );
objectShadowRow.add( objectCastShadowSpan );
var objectReceiveShadowSpan = new UI.Span();
var objectReceiveShadow = new UI.Checkbox().onChange( update );
objectReceiveShadowSpan.add( objectReceiveShadow );
objectReceiveShadowSpan.add( new UI.Text( 'receive' ).setMarginLeft( '3px' ) );
objectShadowRow.add( objectReceiveShadowSpan );
var objectReceiveShadow = new UI.THREE.Boolean( false, 'receive' ).onChange( update );
objectShadowRow.add( objectReceiveShadow );
container.add( objectShadowRow );
......@@ -519,7 +509,7 @@ Sidebar.Object3D = function ( editor ) {
'exponent' : objectExponentRow,
'decay' : objectDecayRow,
'castShadow' : objectShadowRow,
'receiveShadow' : objectReceiveShadowSpan
'receiveShadow' : objectReceiveShadow
};
for ( var property in properties ) {
......
......@@ -67,33 +67,23 @@ Sidebar.Project = function ( editor ) {
var rendererPropertiesRow = new UI.Panel();
rendererPropertiesRow.add( new UI.Text( '' ).setWidth( '90px' ) );
var rendererAntialiasSpan = new UI.Span().setMarginRight( '10px' );
var rendererAntialias = new UI.Checkbox( config.getKey( 'project/renderer/antialias' ) ).setLeft( '100px' ).onChange( function () {
var rendererAntialias = new UI.THREE.Boolean( config.getKey( 'project/renderer/antialias' ), 'antialias' ).onChange( function () {
config.setKey( 'project/renderer/antialias', this.getValue() );
updateRenderer();
} );
rendererAntialiasSpan.add( rendererAntialias );
rendererAntialiasSpan.add( new UI.Text( 'antialias' ).setMarginLeft( '3px' ) );
rendererPropertiesRow.add( rendererAntialiasSpan );
rendererPropertiesRow.add( rendererAntialias );
// shadow
var rendererShadowsSpan = new UI.Span();
var rendererShadows = new UI.Checkbox( config.getKey( 'project/renderer/shadows' ) ).setLeft( '100px' ).onChange( function () {
var rendererShadows = new UI.THREE.Boolean( config.getKey( 'project/renderer/shadows' ), 'shadows' ).onChange( function () {
config.setKey( 'project/renderer/shadows', this.getValue() );
updateRenderer();
} );
rendererShadowsSpan.add( rendererShadows );
rendererShadowsSpan.add( new UI.Text( 'shadows' ).setMarginLeft( '3px' ) );
rendererPropertiesRow.add( rendererShadowsSpan );
rendererPropertiesRow.add( rendererShadows );
container.add( rendererPropertiesRow );
......
......@@ -38,20 +38,17 @@ var Toolbar = function ( editor ) {
// grid
var grid = new UI.Number( 25 ).setWidth( '40px' ).onChange( update );
buttons.add( new UI.Text( 'Grid: ' ) );
buttons.add( new UI.Text( 'grid: ' ) );
buttons.add( grid );
var snap = new UI.Checkbox( false ).onChange( update ).setMarginLeft( '10px' );
var snap = new UI.THREE.Boolean( false, 'snap' ).onChange( update );
buttons.add( snap );
buttons.add( new UI.Text( 'snap' ).setMarginLeft( '3px' ) );
var local = new UI.Checkbox( false ).onChange( update ).setMarginLeft( '10px' );
var local = new UI.THREE.Boolean( false, 'local' ).onChange( update );
buttons.add( local );
buttons.add( new UI.Text( 'local' ).setMarginLeft( '3px' ) );
var showGrid = new UI.Checkbox().onChange( update ).setValue( true ).setMarginLeft( '10px' );
var showGrid = new UI.THREE.Boolean( true, 'show' ).onChange( update );
buttons.add( showGrid );
buttons.add( new UI.Text( 'show' ).setMarginLeft( '3px' ) );
function update() {
......
......@@ -309,3 +309,34 @@ UI.Outliner.prototype.setValue = function ( value ) {
return this;
};
UI.THREE = {};
UI.THREE.Boolean = function ( boolean, text ) {
UI.Span.call( this );
this.setMarginRight( '10px' )
this.checkbox = new UI.Checkbox( boolean );
this.text = new UI.Text( text ).setMarginLeft( '3px' );
this.add( this.checkbox );
this.add( this.text );
};
UI.THREE.Boolean.prototype = Object.create( UI.Span.prototype );
UI.THREE.Boolean.prototype.constructor = UI.THREE.Boolean;
UI.THREE.Boolean.prototype.getValue = function () {
return this.checkbox.getValue();
};
UI.THREE.Boolean.prototype.setValue = function ( value ) {
return this.checkbox.setValue( value );
};
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册