Toolbar.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. /**
  2. * @author mrdoob / http://mrdoob.com/
  3. */
  4. var Toolbar = function ( editor ) {
  5. var signals = editor.signals;
  6. var container = new UI.Panel();
  7. container.setId( 'toolbar' );
  8. var buttons = new UI.Panel();
  9. container.add( buttons );
  10. // translate / rotate / scale
  11. var translate = new UI.Button( 'translate' ).onClick( function () {
  12. signals.transformModeChanged.dispatch( 'translate' );
  13. } );
  14. buttons.add( translate );
  15. var rotate = new UI.Button( 'rotate' ).onClick( function () {
  16. signals.transformModeChanged.dispatch( 'rotate' );
  17. } );
  18. buttons.add( rotate );
  19. var scale = new UI.Button( 'scale' ).onClick( function () {
  20. signals.transformModeChanged.dispatch( 'scale' );
  21. } );
  22. buttons.add( scale );
  23. // grid
  24. var grid = new UI.Number( 25 ).setWidth( '40px' ).onChange( update );
  25. buttons.add( new UI.Text( 'grid: ' ) );
  26. buttons.add( grid );
  27. var snap = new UI.THREE.Boolean( false, 'snap' ).onChange( update );
  28. buttons.add( snap );
  29. var local = new UI.THREE.Boolean( false, 'local' ).onChange( update );
  30. buttons.add( local );
  31. var showGrid = new UI.THREE.Boolean( true, 'show' ).onChange( update );
  32. buttons.add( showGrid );
  33. function update() {
  34. signals.snapChanged.dispatch( snap.getValue() === true ? grid.getValue() : null );
  35. signals.spaceChanged.dispatch( local.getValue() === true ? "local" : "world" );
  36. signals.showGridChanged.dispatch( showGrid.getValue() );
  37. }
  38. return container;
  39. }