ModalWindow.ts 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. //
  2. // Copyright (c) 2014-2015, THUNDERBEAST GAMES LLC All rights reserved
  3. // LICENSE: Atomic Game Engine Editor and Tools EULA
  4. // Please see LICENSE_ATOMIC_EDITOR_AND_TOOLS.md in repository root for
  5. // license information: https://github.com/AtomicGameEngine/AtomicGameEngine
  6. //
  7. import EditorUI = require("../EditorUI");
  8. class ModalWindow extends Atomic.UIWindow {
  9. constructor(disableClose:boolean = false) {
  10. super();
  11. if (disableClose)
  12. this.settings = Atomic.UI_WINDOW_SETTINGS_DEFAULT & ~Atomic.UI_WINDOW_SETTINGS_CLOSE_BUTTON;
  13. var view = EditorUI.getView();
  14. view.addChild(this);
  15. this.setFocus();
  16. this.subscribeToEvent(this, "WidgetDeleted", (event: Atomic.UIWidgetDeletedEvent) => {
  17. this.hide();
  18. });
  19. this.subscribeToEvent(this, "WidgetEvent", (data) => this.handleWidgetEvent(data));
  20. }
  21. hide() {
  22. var modalOps = EditorUI.getModelOps();
  23. modalOps.hide();
  24. }
  25. handleWidgetEvent(ev: Atomic.UIWidgetEvent) {
  26. }
  27. init(windowText: string, uifilename: string) {
  28. this.text = windowText;
  29. this.load(uifilename);
  30. this.resizeToFitContent();
  31. this.center();
  32. }
  33. }
  34. export = ModalWindow;