BuildOutput.ts 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. import EditorUI = require("../../EditorUI");
  2. import ModalWindow = require("../ModalWindow");
  3. import BuildComplete = require("./BuildComplete");
  4. class BuildOutput extends ModalWindow {
  5. constructor(buildBase: ToolCore.BuildBase) {
  6. super();
  7. this.buildBase = buildBase;
  8. this.init("Build Output", "AtomicEditor/editor/ui/programoutput.tb.txt");
  9. this.outputField = <Atomic.UIEditField>this.getWidget("output");
  10. this.resizeToFitContent();
  11. this.center();
  12. this.subscribeToEvent(buildBase, "BuildOutput", (ev: ToolCore.BuildOutputEvent) => {
  13. this.textOutput += ev.text;
  14. this.outputField.text = this.textOutput;
  15. this.outputField.scrollTo(0, 0xffffff);
  16. });
  17. this.subscribeToEvent("BuildComplete", (ev: ToolCore.BuildCompleteEvent) => {
  18. new BuildComplete(this, ev);
  19. });
  20. }
  21. handleWidgetEvent(ev: Atomic.UIWidgetEvent): boolean {
  22. if (ev.type == Atomic.UI_EVENT_TYPE_CLICK) {
  23. if (ev.target.id == "cancel") {
  24. this.hide();
  25. return true;
  26. }
  27. if (ev.target.id == "ok") {
  28. this.hide();
  29. return true;
  30. }
  31. }
  32. return false;
  33. }
  34. textOutput: string;
  35. buildBase: ToolCore.BuildBase;
  36. outputField: Atomic.UIEditField;
  37. }
  38. export = BuildOutput;