Toolbar.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  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. var buttons = new UI.Panel();
  8. container.add( buttons );
  9. // translate / rotate / scale
  10. var translate = new UI.Button( 'translate' ).onClick( function () {
  11. signals.transformModeChanged.dispatch( 'translate' );
  12. } );
  13. buttons.add( translate );
  14. var rotate = new UI.Button( 'rotate' ).onClick( function () {
  15. signals.transformModeChanged.dispatch( 'rotate' );
  16. } );
  17. buttons.add( rotate );
  18. var scale = new UI.Button( 'scale' ).onClick( function () {
  19. signals.transformModeChanged.dispatch( 'scale' );
  20. } );
  21. buttons.add( scale );
  22. // grid
  23. var grid = new UI.Number( 25 ).onChange( update );
  24. grid.dom.style.width = '42px';
  25. buttons.add( new UI.Text( 'Grid: ' ) );
  26. buttons.add( grid );
  27. var snap = new UI.Checkbox( false ).onChange( update );
  28. buttons.add( snap );
  29. buttons.add( new UI.Text( 'snap' ) );
  30. var local = new UI.Checkbox( false ).onChange( update );
  31. buttons.add( local );
  32. buttons.add( new UI.Text( 'local' ) );
  33. var showGrid = new UI.Checkbox().onChange( update ).setValue( true );
  34. buttons.add( showGrid );
  35. buttons.add( new UI.Text( 'show' ) );
  36. function update() {
  37. signals.snapChanged.dispatch( snap.getValue() === true ? grid.getValue() : null );
  38. signals.spaceChanged.dispatch( local.getValue() === true ? "local" : "world" );
  39. signals.showGridChanged.dispatch( showGrid.getValue() );
  40. }
  41. update();
  42. return container;
  43. }