GuiEditorInspectorWindow.cs 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. function GuiEditorInspectorWindow::onAdd(%this)
  2. {
  3. %this.scroller = new GuiScrollCtrl()
  4. {
  5. HorizSizing="width";
  6. VertSizing="height";
  7. Position="0 0";
  8. Extent="352 354";
  9. hScrollBar="alwaysOff";
  10. vScrollBar="alwaysOn";
  11. constantThumbHeight="0";
  12. showArrowButtons="1";
  13. scrollBarThickness="14";
  14. };
  15. ThemeManager.setProfile(%this.scroller, "emptyProfile");
  16. ThemeManager.setProfile(%this.scroller, "thumbProfile", "ThumbProfile");
  17. ThemeManager.setProfile(%this.scroller, "trackProfile", "TrackProfile");
  18. ThemeManager.setProfile(%this.scroller, "scrollArrowProfile", "ArrowProfile");
  19. %this.add(%this.scroller);
  20. %this.inspector = new GuiInspector()
  21. {
  22. Class = "GuiEditorInspector";
  23. HorizSizing="width";
  24. VertSizing="height";
  25. Position="0 0";
  26. Extent="338 354";
  27. FieldCellSize="288 40";
  28. ControlOffset="10 18";
  29. ConstantThumbHeight=false;
  30. ScrollBarThickness=12;
  31. ShowArrowButtons=true;
  32. };
  33. ThemeManager.setProfile(%this.inspector, "emptyProfile");
  34. ThemeManager.setProfile(%this.inspector, "panelProfile", "GroupPanelProfile");
  35. ThemeManager.setProfile(%this.inspector, "emptyProfile", "GroupGridProfile");
  36. ThemeManager.setProfile(%this.inspector, "labelProfile", "LabelProfile");
  37. ThemeManager.setProfile(%this.inspector, "textEditProfile", "textEditProfile");
  38. ThemeManager.setProfile(%this.inspector, "dropDownProfile", "dropDownProfile");
  39. ThemeManager.setProfile(%this.inspector, "dropDownItemProfile", "dropDownItemProfile");
  40. ThemeManager.setProfile(%this.inspector, "emptyProfile", "backgroundProfile");
  41. ThemeManager.setProfile(%this.inspector, "scrollingPanelProfile", "ScrollProfile");
  42. ThemeManager.setProfile(%this.inspector, "scrollingPanelThumbProfile", "ThumbProfile");
  43. ThemeManager.setProfile(%this.inspector, "scrollingPanelTrackProfile", "TrackProfile");
  44. ThemeManager.setProfile(%this.inspector, "scrollingPanelArrowProfile", "ArrowProfile");
  45. ThemeManager.setProfile(%this.inspector, "checkboxProfile", "checkboxProfile");
  46. ThemeManager.setProfile(%this.inspector, "buttonProfile", "buttonProfile");
  47. ThemeManager.setProfile(%this.inspector, "tipProfile", "tooltipProfile");
  48. ThemeManager.setProfile(%this.inspector, "colorPickerProfile", "colorPopupProfile");
  49. ThemeManager.setProfile(%this.inspector, "colorPopupProfile", "colorPopupPanelProfile");
  50. ThemeManager.setProfile(%this.inspector, "emptyProfile", "colorPopupPickerProfile");
  51. ThemeManager.setProfile(%this.inspector, "colorPickerSelectorProfile", "colorPopupSelectorProfile");
  52. %this.scroller.add(%this.inspector);
  53. %this.inspectList = new SimSet();
  54. %this.inspector.addHiddenField("isContainer");
  55. %this.inspector.addHiddenField("BindToGuiEditor");
  56. }
  57. function GuiEditorInspectorWindow::onRemove(%this)
  58. {
  59. if(isObject(%this.inspectList))
  60. {
  61. %this.inspectList.deleteObjects();
  62. %this.inspectList.delete();
  63. }
  64. }
  65. function GuiEditorInspectorWindow::onEdit(%this, %object)
  66. {
  67. %this.inspector.inspect(%object);
  68. }
  69. function GuiEditorInspectorWindow::onClearInspect(%this, %object)
  70. {
  71. if(isObject(%object))
  72. {
  73. %this.inspectList.removeIfMember(%object);
  74. %count = %this.inspectList.getCount();
  75. if(%count > 0)
  76. {
  77. %this.inspector.inspect(%this.inspectList.getObject(%count - 1));
  78. }
  79. }
  80. }
  81. function GuiEditorInspectorWindow::onClearInspectAll(%this)
  82. {
  83. %this.inspectList.clear();
  84. %this.inspector.clear();
  85. }
  86. function GuiEditorInspectorWindow::onAlsoInspect(%this, %object)
  87. {
  88. %this.inspectList.add(%object);
  89. %this.inspector.inspect(%object);
  90. }
  91. function GuiEditorInspectorWindow::onObjectRemoved(%this)
  92. {
  93. %this.onClearInspectAll(%this);
  94. }