Toolbar.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. var Toolbar = function ( editor ) {
  2. var signals = editor.signals;
  3. var container = new UI.Panel();
  4. var buttons = new UI.Panel();
  5. container.add( buttons );
  6. // translate / rotate / scale
  7. var translate = new UI.Button( 'translate' ).onClick( function () {
  8. signals.transformModeChanged.dispatch( 'translate' );
  9. } );
  10. buttons.add( translate );
  11. var rotate = new UI.Button( 'rotate' ).onClick( function () {
  12. signals.transformModeChanged.dispatch( 'rotate' );
  13. } );
  14. buttons.add( rotate );
  15. var scale = new UI.Button( 'scale' ).onClick( function () {
  16. signals.transformModeChanged.dispatch( 'scale' );
  17. } );
  18. buttons.add( scale );
  19. // grid
  20. var grid = new UI.Number( 25 ).onChange( update );
  21. grid.dom.style.width = '42px';
  22. buttons.add( new UI.Text( 'Grid: ' ) );
  23. buttons.add( grid );
  24. var snap = new UI.Checkbox( false ).onChange( update );
  25. buttons.add( snap );
  26. buttons.add( new UI.Text( 'snap' ) );
  27. var local = new UI.Checkbox( false ).onChange( update );
  28. buttons.add( local );
  29. buttons.add( new UI.Text( 'local' ) );
  30. function update() {
  31. signals.snapChanged.dispatch( snap.getValue() === true ? grid.getValue() : null );
  32. signals.spaceChanged.dispatch( local.getValue() === true ? "local" : "world" );
  33. }
  34. update();
  35. return container;
  36. }