123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- /**
- * @author mrdoob / http://mrdoob.com/
- */
- var Toolbar = function ( editor ) {
- var signals = editor.signals;
- var strings = editor.strings;
- 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( strings.getKey( 'toolbar/translate' ) );
- translate.dom.className = 'Button selected';
- translate.onClick( function () {
- signals.transformModeChanged.dispatch( 'translate' );
- } );
- buttons.add( translate );
- var rotate = new UI.Button( strings.getKey( 'toolbar/rotate' ) );
- rotate.onClick( function () {
- signals.transformModeChanged.dispatch( 'rotate' );
- } );
- buttons.add( rotate );
- var scale = new UI.Button( strings.getKey( 'toolbar/scale' ) );
- scale.onClick( function () {
- signals.transformModeChanged.dispatch( 'scale' );
- } );
- buttons.add( scale );
- var local = new UI.THREE.Boolean( false, strings.getKey( 'toolbar/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;
- };
|