Toolbar.js 1.1 KB

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