Sidebar.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. /**
  2. * @author mrdoob / http://mrdoob.com/
  3. */
  4. var Sidebar = function ( editor ) {
  5. var container = new UI.Panel();
  6. container.setId( 'sidebar' );
  7. //
  8. var sceneTab = new UI.Text( 'SCENE' ).onClick( onClick );
  9. var projectTab = new UI.Text( 'PROJECT' ).onClick( onClick );
  10. var settingsTab = new UI.Text( 'SETTINGS' ).onClick( onClick );
  11. var tabs = new UI.Div();
  12. tabs.setId( 'tabs' );
  13. tabs.add( sceneTab, projectTab, settingsTab );
  14. container.add( tabs );
  15. function onClick( event ) {
  16. select( event.target.textContent );
  17. }
  18. //
  19. var scene = new UI.Span().add(
  20. new Sidebar.Scene( editor ),
  21. new Sidebar.Properties( editor ),
  22. new Sidebar.Animation( editor ),
  23. new Sidebar.Script( editor )
  24. );
  25. container.add( scene );
  26. var project = new UI.Span().add(
  27. new Sidebar.Project( editor )
  28. );
  29. container.add( project );
  30. var settings = new UI.Span().add(
  31. new Sidebar.Settings( editor ),
  32. new Sidebar.History( editor ),
  33. new Sidebar.Controls( editor )
  34. );
  35. container.add( settings );
  36. //
  37. function select( section ) {
  38. sceneTab.setClass( '' );
  39. projectTab.setClass( '' );
  40. settingsTab.setClass( '' );
  41. scene.setDisplay( 'none' );
  42. project.setDisplay( 'none' );
  43. settings.setDisplay( 'none' );
  44. switch ( section ) {
  45. case 'SCENE':
  46. sceneTab.setClass( 'selected' );
  47. scene.setDisplay( '' );
  48. break;
  49. case 'PROJECT':
  50. projectTab.setClass( 'selected' );
  51. project.setDisplay( '' );
  52. break;
  53. case 'SETTINGS':
  54. settingsTab.setClass( 'selected' );
  55. settings.setDisplay( '' );
  56. break;
  57. }
  58. }
  59. select( 'SCENE' );
  60. return container;
  61. };
粤ICP备19079148号