InspectorUtils.ts 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. class InspectorUtils {
  2. private static Ctor = (() => {
  3. var fd = InspectorUtils.attrFontDesc = new Atomic.UIFontDescription();
  4. fd.id = "Vera";
  5. fd.size = 11;
  6. })();
  7. static createSeparator(parent:Atomic.UIWidget):Atomic.UISeparator {
  8. var sep = new Atomic.UISeparator();
  9. sep.gravity = Atomic.UI_GRAVITY_LEFT_RIGHT;
  10. sep.skinBg = "AESeparator";
  11. parent.addChild(sep);
  12. return sep;
  13. }
  14. static createContainer():Atomic.UIContainer {
  15. var container = new Atomic.UIContainer();
  16. container.skinBg = "AEContainer";
  17. return container;
  18. }
  19. static createAttrName(name:string):Atomic.UITextField {
  20. var nameField = new Atomic.UITextField();
  21. nameField.textAlign = Atomic.UI_TEXT_ALIGN_LEFT;
  22. nameField.skinBg = "InspectorTextAttrName";
  23. nameField.text = name;
  24. nameField.fontDescription = InspectorUtils.attrFontDesc;
  25. // atttribute name layout param
  26. var atlp = new Atomic.UILayoutParams();
  27. atlp.width = 100;
  28. nameField.layoutParams = atlp;
  29. return nameField;
  30. }
  31. static createEditField():Atomic.UIEditField {
  32. var edit = new Atomic.UIEditField();
  33. edit.id = "editfield";
  34. edit.textAlign = Atomic.UI_TEXT_ALIGN_LEFT;
  35. edit.skinBg = "TBAttrEditorField";
  36. edit.fontDescription = InspectorUtils.attrFontDesc;
  37. var lp = new Atomic.UILayoutParams();
  38. lp.width = 140;
  39. edit.layoutParams = lp;
  40. return edit;
  41. }
  42. static createAttrEditField(name:string, parent:Atomic.UIWidget):Atomic.UIEditField {
  43. var attrLayout = new Atomic.UILayout();
  44. attrLayout.layoutDistribution = Atomic.UI_LAYOUT_DISTRIBUTION_GRAVITY;
  45. var _name = InspectorUtils.createAttrName(name);
  46. attrLayout.addChild(_name);
  47. var edit = InspectorUtils.createEditField();
  48. attrLayout.addChild(edit);
  49. parent.addChild(attrLayout);
  50. return edit;
  51. }
  52. static createAttrEditFieldWithSelectButton(name:string, parent:Atomic.UIWidget):{editField:Atomic.UIEditField, selectButton:Atomic.UIButton} {
  53. var attrLayout = new Atomic.UILayout();
  54. attrLayout.layoutDistribution = Atomic.UI_LAYOUT_DISTRIBUTION_POSITION_LEFT_TOP;
  55. if (name) {
  56. var _name = InspectorUtils.createAttrName(name);
  57. attrLayout.addChild(_name);
  58. }
  59. var fieldLayout = new Atomic.UILayout();
  60. fieldLayout.layoutDistribution = Atomic.UI_LAYOUT_DISTRIBUTION_POSITION_LEFT_TOP;
  61. var edit = InspectorUtils.createEditField();
  62. var selectButton = new Atomic.UIButton();
  63. selectButton.text = "...";
  64. selectButton.fontDescription = InspectorUtils.attrFontDesc;
  65. fieldLayout.addChild(edit);
  66. fieldLayout.addChild(selectButton);
  67. attrLayout.addChild(fieldLayout);
  68. parent.addChild(attrLayout);
  69. return {editField:edit, selectButton:selectButton};
  70. }
  71. // "static constructor"
  72. static attrFontDesc:Atomic.UIFontDescription;
  73. }
  74. export = InspectorUtils;