1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- /**
- * @author mrdoob / http://mrdoob.com/
- */
- var Toolbar = function ( editor ) {
- var signals = editor.signals;
- var container = new UI.Panel();
- container.setId( 'toolbar' );
- container.setDisplay( 'none' );
- var buttons = new UI.Panel();
- container.add( buttons );
- // translate / rotate / scale
- var translate = new UI.Button( 'translate' );
- translate.dom.className = 'Button selected';
- translate.onClick( function () {
- signals.transformModeChanged.dispatch( 'translate' );
- } );
- buttons.add( translate );
- var rotate = new UI.Button( 'rotate' );
- rotate.onClick( function () {
- signals.transformModeChanged.dispatch( 'rotate' );
- } );
- buttons.add( rotate );
- var scale = new UI.Button( 'scale' );
- scale.onClick( function () {
- signals.transformModeChanged.dispatch( 'scale' );
- } );
- buttons.add( scale );
- var local = new UI.THREE.Boolean( false, 'local' )
- local.onChange( function () {
- signals.spaceChanged.dispatch( this.getValue() === true ? 'local' : 'world' );
- } );
- buttons.add( local );
- //
- signals.objectSelected.add( function ( object ) {
- container.setDisplay( object === null ? 'none' : '' );
- } );
- signals.transformModeChanged.add( function ( mode ) {
- translate.dom.classList.remove( 'selected' );
- rotate.dom.classList.remove( 'selected' );
- scale.dom.classList.remove( 'selected' );
- switch ( mode ) {
- case 'translate': translate.dom.classList.add( 'selected' ); break;
- case 'rotate': rotate.dom.classList.add( 'selected' ); break;
- case 'scale': scale.dom.classList.add( 'selected' ); break;
- }
- } );
- return container;
- };
|