Editor.hx 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. package atomic;
  2. @:native("Atomic")
  3. extern enum EditMode {
  4. EDIT_SELECT;
  5. EDIT_MOVE;
  6. EDIT_ROTATE;
  7. EDIT_SCALE;
  8. }
  9. @:native("Atomic")
  10. extern enum AxisMode {
  11. AXIS_WORLD;
  12. AXIS_LOCAL;
  13. }
  14. //Atomic Haxe Definitions
  15. extern class Editor {
  16. public static var FINDTEXT_FLAG_NONE: Int;
  17. public static var FINDTEXT_FLAG_CASESENSITIVE: Int;
  18. public static var FINDTEXT_FLAG_WHOLEWORD: Int;
  19. public static var FINDTEXT_FLAG_WRAP: Int;
  20. public static var FINDTEXT_FLAG_NEXT: Int;
  21. public static var FINDTEXT_FLAG_PREV: Int;
  22. public static var EDITOR_MODALERROR: Int;
  23. public static var EDITOR_MODALINFO: Int;
  24. }
  25. //----------------------------------------------------
  26. // MODULE: Editor
  27. //----------------------------------------------------
  28. @:native("Atomic.FileUtils")
  29. extern class FileUtils extends AObject {
  30. // Construct.
  31. function new();
  32. function createDirs(folder: String): Bool;
  33. function openProjectFileDialog(): String;
  34. function newProjectFileDialog(): String;
  35. function revealInFinder(fullpath: String): Void;
  36. }
  37. @:native("Atomic.EditorMode")
  38. extern class EditorMode extends AObject {
  39. // Construct.
  40. function new();
  41. function playProject(): Bool;
  42. }
  43. @:native("Atomic.PlayerMode")
  44. extern class PlayerMode extends AObject {
  45. // Construct.
  46. function new();
  47. function launchedByEditor(): Bool;
  48. }
  49. @:native("Atomic.JSResourceEditor")
  50. extern class JSResourceEditor extends ResourceEditor {
  51. function new(fullpath: String, container: Atomic.UITabContainer);
  52. @:overload(function(findText: String, flags: Int): Bool{})
  53. override function findText(text: String, flags: Int): Bool;
  54. @:overload(function(): Void{})
  55. override function findTextClose(): Void;
  56. function gotoTokenPos(tokenPos: Int): Void;
  57. function gotoLineNumber(lineNumber: Int): Void;
  58. function formatCode(): Void;
  59. @:overload(function(): Void{})
  60. override function setFocus(): Void;
  61. @:overload(function(): Bool{})
  62. override function hasUnsavedModifications(): Bool;
  63. @:overload(function(): Bool{})
  64. override function save(): Bool;
  65. }
  66. @:native("Atomic.ResourceEditor")
  67. extern class ResourceEditor extends AObject {
  68. var button: Atomic.UIButton;
  69. var fullPath: String;
  70. var rootContentWidget: Atomic.UIWidget;
  71. function new(fullpath: String, container: Atomic.UITabContainer);
  72. function getButton(): Atomic.UIButton;
  73. function hasUnsavedModifications(): Bool;
  74. function setFocus(): Void;
  75. function close(?navigateToAvailableResource: Bool): Void;
  76. function findText(text: String, flags: Int): Bool;
  77. function findTextClose(): Void;
  78. function requiresInspector(): Bool;
  79. function getFullPath(): String;
  80. function save(): Bool;
  81. function getRootContentWidget(): Atomic.UIWidget;
  82. }
  83. @:native("Atomic.SceneEditor3D")
  84. extern class SceneEditor3D extends ResourceEditor {
  85. var scene: Atomic.Scene;
  86. function new(fullpath: String, container: Atomic.UITabContainer);
  87. function selectNode(node: Atomic.Node): Void;
  88. function getScene(): Atomic.Scene;
  89. @:overload(function(): Void{})
  90. override function setFocus(): Void;
  91. @:overload(function(): Bool{})
  92. override function requiresInspector(): Bool;
  93. @:overload(function(?navigateToAvailableResource: Bool): Void{})
  94. override function close(?navigateToAvailableResource: Bool): Void;
  95. @:overload(function(): Bool{})
  96. override function save(): Bool;
  97. }
  98. @:native("Atomic.SceneView3D")
  99. extern class SceneView3D extends UISceneView {
  100. var pitch: Float;
  101. var yaw: Float;
  102. function new(sceneEditor: SceneEditor3D);
  103. function selectNode(node: Atomic.Node): Void;
  104. function setPitch(pitch: Float): Void;
  105. function setYaw(yaw: Float): Void;
  106. function enable(): Void;
  107. function disable(): Void;
  108. function isEnabled(): Bool;
  109. }