Sidebar.Properties.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. /**
  2. * @author mrdoob / http://mrdoob.com/
  3. */
  4. Sidebar.Properties = function ( editor ) {
  5. var signals = editor.signals;
  6. var container = new UI.Span();
  7. var objectTab = new UI.Text( 'OBJECT' ).onClick( onClick );
  8. var geometryTab = new UI.Text( 'GEOMETRY' ).onClick( onClick );
  9. var materialTab = new UI.Text( 'MATERIAL' ).onClick( onClick );
  10. var tabs = new UI.Div();
  11. tabs.setId( 'tabs' );
  12. tabs.add( objectTab, geometryTab, materialTab );
  13. container.add( tabs );
  14. function onClick( event ) {
  15. select( event.target.textContent );
  16. }
  17. //
  18. var object = new UI.Span().add(
  19. new Sidebar.Object( editor )
  20. );
  21. container.add( object );
  22. var geometry = new UI.Span().add(
  23. new Sidebar.Geometry( editor )
  24. );
  25. container.add( geometry );
  26. var material = new UI.Span().add(
  27. new Sidebar.Material( editor )
  28. );
  29. container.add( material );
  30. //
  31. function select( section ) {
  32. objectTab.setClass( '' );
  33. geometryTab.setClass( '' );
  34. materialTab.setClass( '' );
  35. object.setDisplay( 'none' );
  36. geometry.setDisplay( 'none' );
  37. material.setDisplay( 'none' );
  38. switch ( section ) {
  39. case 'OBJECT':
  40. objectTab.setClass( 'selected' );
  41. object.setDisplay( '' );
  42. break;
  43. case 'GEOMETRY':
  44. geometryTab.setClass( 'selected' );
  45. geometry.setDisplay( '' );
  46. break;
  47. case 'MATERIAL':
  48. materialTab.setClass( 'selected' );
  49. material.setDisplay( '' );
  50. break;
  51. }
  52. }
  53. select( 'OBJECT' );
  54. return container;
  55. };