Sidebar.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. /**
  2. * @author mrdoob / http://mrdoob.com/
  3. */
  4. var Sidebar = function ( editor ) {
  5. var strings = editor.strings;
  6. var container = new UI.Panel();
  7. container.setId( 'sidebar' );
  8. //
  9. var sceneTab = new UI.Text( strings.getKey( 'sidebar/scene' ) ).setTextTransform( 'uppercase' );
  10. sceneTab.onClick( function () { select( 'SCENE' ) } );
  11. var projectTab = new UI.Text( strings.getKey( 'sidebar/project' ) ).setTextTransform( 'uppercase' );
  12. projectTab.onClick( function () { select( 'PROJECT' ) } );
  13. var settingsTab = new UI.Text( strings.getKey( 'sidebar/settings' ) ).setTextTransform( 'uppercase' );
  14. settingsTab.onClick( function () { select( 'SETTINGS' ) } );
  15. var tabs = new UI.Div();
  16. tabs.setId( 'tabs' );
  17. tabs.add( sceneTab, projectTab, settingsTab );
  18. container.add( tabs );
  19. //
  20. var scene = new UI.Span().add(
  21. new Sidebar.Scene( editor ),
  22. new Sidebar.Properties( editor ),
  23. new Sidebar.Animation( editor ),
  24. new Sidebar.Script( editor )
  25. );
  26. container.add( scene );
  27. var project = new UI.Span().add(
  28. new Sidebar.Project( editor )
  29. );
  30. container.add( project );
  31. var settings = new UI.Span().add(
  32. new Sidebar.Settings( editor ),
  33. new Sidebar.History( 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. };