Browse Source

Merge pull request #633 from AtomicGameEngine/JME-ATOMIC-WEBVIEW

Adding Atomic WebView subsystem, build updates (code signed OSX), UI fixes, ray casting support, etc
JoshEngebretson 10 years ago
parent
commit
20052b7f0b
100 changed files with 617 additions and 93 deletions
  1. 0 2
      .gitignore
  2. 3 0
      .gitmodules
  3. 1 0
      Build/CIScripts/BuildLinux.js
  4. 4 3
      Build/CIScripts/BuildMac.js
  5. 1 0
      Build/CIScripts/BuildWindows.js
  6. 3 5
      Build/CIScripts/GenEditorData.js
  7. 10 8
      Build/CIScripts/GenMacEditor.js
  8. 16 10
      Build/CIScripts/GenWindowsEditor.js
  9. 0 53
      Build/CIScripts/Mac/EditorApp/Info.plist
  10. 0 1
      Build/CIScripts/Mac/EditorApp/PkgInfo
  11. BIN
      Build/CIScripts/Mac/EditorApp/Resources/Atomic.icns
  12. 7 0
      Build/CMake/Modules/AtomicDesktop.cmake
  13. 40 0
      Build/CMake/Modules/AtomicEditor-HelperInfo.plist.template
  14. 43 0
      Build/CMake/Modules/AtomicEditorInfo.plist.template
  15. 5 4
      Build/CMake/Modules/AtomicMac.cmake
  16. 361 0
      Build/CMake/Modules/AtomicWebView.cmake
  17. 2 4
      Build/Scripts/BuildWindows.js
  18. 13 3
      CMakeLists.txt
  19. 80 0
      Data/AtomicEditor/CodeEditor/Editor.html
  20. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/ace.js
  21. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/ext-beautify.js
  22. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/ext-chromevox.js
  23. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/ext-elastic_tabstops_lite.js
  24. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/ext-emmet.js
  25. 5 0
      Data/AtomicEditor/CodeEditor/source/ace/ext-error_marker.js
  26. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/ext-keybinding_menu.js
  27. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/ext-language_tools.js
  28. 5 0
      Data/AtomicEditor/CodeEditor/source/ace/ext-linking.js
  29. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/ext-modelist.js
  30. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/ext-old_ie.js
  31. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/ext-searchbox.js
  32. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/ext-settings_menu.js
  33. 5 0
      Data/AtomicEditor/CodeEditor/source/ace/ext-spellcheck.js
  34. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/ext-split.js
  35. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/ext-static_highlight.js
  36. 5 0
      Data/AtomicEditor/CodeEditor/source/ace/ext-statusbar.js
  37. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/ext-textarea.js
  38. 5 0
      Data/AtomicEditor/CodeEditor/source/ace/ext-themelist.js
  39. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/ext-whitespace.js
  40. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/keybinding-emacs.js
  41. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/keybinding-vim.js
  42. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-abap.js
  43. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-abc.js
  44. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-actionscript.js
  45. 1 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-ada.js
  46. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-apache_conf.js
  47. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-applescript.js
  48. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-asciidoc.js
  49. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-assembly_x86.js
  50. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-autohotkey.js
  51. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-batchfile.js
  52. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-c9search.js
  53. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-c_cpp.js
  54. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-cirru.js
  55. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-clojure.js
  56. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-cobol.js
  57. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-coffee.js
  58. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-coldfusion.js
  59. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-csharp.js
  60. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-css.js
  61. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-curly.js
  62. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-d.js
  63. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-dart.js
  64. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-diff.js
  65. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-django.js
  66. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-dockerfile.js
  67. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-dot.js
  68. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-eiffel.js
  69. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-ejs.js
  70. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-elixir.js
  71. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-elm.js
  72. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-erlang.js
  73. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-forth.js
  74. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-ftl.js
  75. 1 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-gcode.js
  76. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-gherkin.js
  77. 1 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-gitignore.js
  78. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-glsl.js
  79. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-gobstones.js
  80. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-golang.js
  81. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-groovy.js
  82. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-haml.js
  83. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-handlebars.js
  84. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-haskell.js
  85. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-haxe.js
  86. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-html.js
  87. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-html_elixir.js
  88. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-html_ruby.js
  89. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-ini.js
  90. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-io.js
  91. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-jack.js
  92. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-jade.js
  93. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-java.js
  94. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-javascript.js
  95. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-json.js
  96. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-jsoniq.js
  97. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-jsp.js
  98. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-jsx.js
  99. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-julia.js
  100. 0 0
      Data/AtomicEditor/CodeEditor/source/ace/mode-latex.js

+ 0 - 2
.gitignore

@@ -21,5 +21,3 @@ node_modules/*
 Script/TypeScript/*
 Script/TypeScript/*
 !Script/TypeScript/AtomicWork.d.ts
 !Script/TypeScript/AtomicWork.d.ts
 Script/Haxe/*
 Script/Haxe/*
-
-Submodules/*

+ 3 - 0
.gitmodules

@@ -0,0 +1,3 @@
+[submodule "Submodules/CEF"]
+	path = Submodules/CEF
+	url = ../CEF3Binaries

+ 1 - 0
Build/CIScripts/BuildLinux.js

@@ -56,6 +56,7 @@ namespace('build', function() {
       atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/ToolCore/ LINUX",
       atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/ToolCore/ LINUX",
       atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/Editor/ LINUX",
       atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/Editor/ LINUX",
       atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/AtomicNET/ LINUX",
       atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/AtomicNET/ LINUX",
+      atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/WebView/ LINUX",
       "cmake -DATOMIC_DEV_BUILD=0 -DLINUX=1 ../../../../",
       "cmake -DATOMIC_DEV_BUILD=0 -DLINUX=1 ../../../../",
       "make"
       "make"
     ];
     ];

+ 4 - 3
Build/CIScripts/BuildMac.js

@@ -56,13 +56,14 @@ namespace('build', function() {
       atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/ToolCore/ MACOSX",
       atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/ToolCore/ MACOSX",
       atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/Editor/ MACOSX",
       atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/Editor/ MACOSX",
       atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/AtomicNET/ MACOSX",
       atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/AtomicNET/ MACOSX",
+      atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/WebView/ MACOSX",
       "cmake -DATOMIC_DEV_BUILD=0 -G Xcode ../../../../",
       "cmake -DATOMIC_DEV_BUILD=0 -G Xcode ../../../../",
-      "xcodebuild -target AtomicEditor -configuration Release -parallelizeTargets -jobs 4"
+      "xcodebuild -target AtomicEditor -configuration Release -parallelizeTargets -jobs 4",
+      "cd " + editorBuildDir + "Source/AtomicEditor/Release && zip -r -X " + buildDir + "Bin/AtomicEditor.zip ./AtomicEditor.app"
     ];
     ];
 
 
     jake.exec(cmds, function() {
     jake.exec(cmds, function() {
-      var macEditorBinary = editorBuildDir + "Source/AtomicEditor/Release/AtomicEditor.app/Contents/MacOS/AtomicEditor";
-      fs.copySync(macEditorBinary, buildDir + "Bin/AtomicEditor");
+
       console.log("Built Mac Editor");
       console.log("Built Mac Editor");
       complete();
       complete();
 
 

+ 1 - 0
Build/CIScripts/BuildWindows.js

@@ -26,6 +26,7 @@ namespace('build', function() {
       bindCmd + "Script/Packages/ToolCore/ WINDOWS",
       bindCmd + "Script/Packages/ToolCore/ WINDOWS",
       bindCmd + "Script/Packages/Editor/ WINDOWS",
       bindCmd + "Script/Packages/Editor/ WINDOWS",
       bindCmd + "Script/Packages/AtomicNET/ WINDOWS",
       bindCmd + "Script/Packages/AtomicNET/ WINDOWS",
+      bindCmd + "Script/Packages/WebView/ WINDOWS",
       atomicRoot + "/Build/CIScripts/Windows/CompileAtomic.bat",
       atomicRoot + "/Build/CIScripts/Windows/CompileAtomic.bat",
     ]
     ]
 
 

+ 3 - 5
Build/CIScripts/GenEditorData.js

@@ -24,6 +24,7 @@ namespace('build', function() {
       bindCmd + "Script/Packages/ToolCore/ WINDOWS",
       bindCmd + "Script/Packages/ToolCore/ WINDOWS",
       bindCmd + "Script/Packages/Editor/ WINDOWS",
       bindCmd + "Script/Packages/Editor/ WINDOWS",
       bindCmd + "Script/Packages/AtomicNET/ WINDOWS",
       bindCmd + "Script/Packages/AtomicNET/ WINDOWS",
+      bindCmd + "Script/Packages/WebView/ WINDOWS",
     ];
     ];
 
 
     jake.exec(cmds, function() {
     jake.exec(cmds, function() {
@@ -117,16 +118,13 @@ namespace('build', function() {
 
 
     // Mac App
     // Mac App
 
 
-    fs.copySync(atomicRoot + "Build/CIScripts/Mac/EditorApp",
-      buildDir + "MacApps/EditorApp");
-
     fs.copySync(atomicRoot + "Build/CIScripts/Mac/PlayerApp/",
     fs.copySync(atomicRoot + "Build/CIScripts/Mac/PlayerApp/",
       buildDir + "MacApps/PlayerApp/");
       buildDir + "MacApps/PlayerApp/");
 
 
     // Editor Binaries
     // Editor Binaries
 
 
-    fs.copySync(bcommon.artifactsRoot + "Build/Mac/Bin/AtomicEditor",
-      buildDir + "EditorBinaries/Mac/AtomicEditor");
+    fs.copySync(bcommon.artifactsRoot + "Build/Mac/Bin/AtomicEditor.zip",
+      buildDir + "EditorBinaries/Mac/AtomicEditor.zip");
 
 
     fs.copySync(bcommon.artifactsRoot + "Build/Windows/Bin/AtomicEditor.exe",
     fs.copySync(bcommon.artifactsRoot + "Build/Windows/Bin/AtomicEditor.exe",
       buildDir + "EditorBinaries/Windows/AtomicEditor.exe");
       buildDir + "EditorBinaries/Windows/AtomicEditor.exe");

+ 10 - 8
Build/CIScripts/GenMacEditor.js

@@ -19,8 +19,12 @@ namespace('build', function() {
       cmds = [
       cmds = [
       "chmod +x " + editorAppFolder + "/Contents/MacOS/AtomicEditor",
       "chmod +x " + editorAppFolder + "/Contents/MacOS/AtomicEditor",
       "chmod +x " + editorAppFolder + "/Contents/Resources/ToolData/Deployment/MacOS/AtomicPlayer.app/Contents/MacOS/AtomicPlayer",
       "chmod +x " + editorAppFolder + "/Contents/Resources/ToolData/Deployment/MacOS/AtomicPlayer.app/Contents/MacOS/AtomicPlayer",
-      "security unlock-keychain -p \"jenkins\" /Users/jenkins/Library/Keychains/login.keychain",
-      "codesign -s \"THUNDERBEAST GAMES LLC\" -f -v " + editorAppFolder,
+      "security unlock-keychain -p \"jenkins\" /Users/jenkins/Library/Keychains/login.keychain  ",
+      "codesign --force --verify --verbose --sign \"Developer ID Application: THUNDERBEAST GAMES LLC (C7M5MAQQWR)\" " + editorAppFolder + "/Contents/Frameworks/AtomicEditor\\ Helper.app",
+      "codesign --force --verify --verbose --sign \"Developer ID Application: THUNDERBEAST GAMES LLC (C7M5MAQQWR)\" " + editorAppFolder + "/Contents//Frameworks/AtomicEditor\\ Helper\\ EH.app",
+      "codesign --force --verify --verbose --sign \"Developer ID Application: THUNDERBEAST GAMES LLC (C7M5MAQQWR)\" " + editorAppFolder + "/Contents/Frameworks/AtomicEditor\\ Helper\\ NP.app",
+      "codesign --force --verify --verbose --sign \"Developer ID Application: THUNDERBEAST GAMES LLC (C7M5MAQQWR)\" " + editorAppFolder + "/Contents/Frameworks/Chromium\\ Embedded\\ Framework.framework",
+      "codesign --force --verify --verbose --sign \"Developer ID Application: THUNDERBEAST GAMES LLC (C7M5MAQQWR)\" " + editorAppFolder,      
       "cd " + dstDir + " && zip -r -X " + "./MacEditorInstaller/AtomicEditor_MacOSX_" + bcommon.buildSHA + ".zip ./AtomicEditor.app"
       "cd " + dstDir + " && zip -r -X " + "./MacEditorInstaller/AtomicEditor_MacOSX_" + bcommon.buildSHA + ".zip ./AtomicEditor.app"
     ];
     ];
 
 
@@ -43,7 +47,8 @@ namespace('build', function() {
 
 
     bcommon.cleanCreateDir(dstDir);
     bcommon.cleanCreateDir(dstDir);
 
 
-    cmds = ["unzip " + srcDir + "EditorData.zip -d " + srcDir];
+    cmds = ["unzip " + srcDir + "EditorData.zip -d " + srcDir,
+            "unzip " + srcDir + "EditorBinaries/Mac/AtomicEditor.zip -d " + srcDir + "EditorBinaries/Mac"];
 
 
     jake.exec(cmds, function() {
     jake.exec(cmds, function() {
 
 
@@ -51,11 +56,8 @@ namespace('build', function() {
 
 
       var editorAppFolder = dstDir + "AtomicEditor.app/Contents/";
       var editorAppFolder = dstDir + "AtomicEditor.app/Contents/";
 
 
-      fs.copySync(srcDir + "MacApps/EditorApp",
-        editorAppFolder);
-
-      fs.copySync(srcDir + "EditorBinaries/Mac/AtomicEditor",
-        editorAppFolder + "MacOS/AtomicEditor");
+      fs.copySync(srcDir + "EditorBinaries/Mac/AtomicEditor.app",
+        dstDir + "AtomicEditor.app");
 
 
       fs.copySync(srcDir + "Resources/CoreData",
       fs.copySync(srcDir + "Resources/CoreData",
         editorAppFolder + "Resources/CoreData");
         editorAppFolder + "Resources/CoreData");

+ 16 - 10
Build/CIScripts/GenWindowsEditor.js

@@ -62,34 +62,40 @@ namespace('build', function() {
 
 
     jake.exec(cmds, function() {
     jake.exec(cmds, function() {
 
 
-    console.log("Generating Windows Editor");
+      console.log("Generating Windows Editor");
 
 
-    var editorAppFolder = dstDir + "AtomicEditor/";
+      var editorAppFolder = dstDir + "AtomicEditor/";
 
 
-    fs.copySync(srcDir + "EditorBinaries/Windows/AtomicEditor.exe",
+      fs.copySync(srcDir + "EditorBinaries/Windows/AtomicEditor.exe",
       editorAppFolder + "AtomicEditor.exe");
       editorAppFolder + "AtomicEditor.exe");
 
 
-    fs.copySync(srcDir + "EditorBinaries/Windows/D3DCompiler_47.dll",
+      fs.copySync(srcDir + "EditorBinaries/Windows/D3DCompiler_47.dll",
       editorAppFolder + "D3DCompiler_47.dll");
       editorAppFolder + "D3DCompiler_47.dll");
 
 
-    fs.copySync(srcDir + "Resources/CoreData",
+      fs.copySync(srcDir + "Resources/CoreData",
       editorAppFolder + "Resources/CoreData");
       editorAppFolder + "Resources/CoreData");
 
 
-    fs.copySync(srcDir + "Resources/EditorData",
+      fs.copySync(srcDir + "Resources/EditorData",
       editorAppFolder + "Resources/EditorData");
       editorAppFolder + "Resources/EditorData");
 
 
-    fs.copySync(srcDir + "Resources/PlayerData",
+      fs.copySync(srcDir + "Resources/PlayerData",
       editorAppFolder + "Resources/PlayerData");
       editorAppFolder + "Resources/PlayerData");
 
 
-    fs.copySync(srcDir + "Resources/ToolData",
+      fs.copySync(srcDir + "Resources/ToolData",
       editorAppFolder + "Resources/ToolData");
       editorAppFolder + "Resources/ToolData");
 
 
-    fs.copySync(srcDir + "AtomicExamples",
+      fs.copySync(srcDir + "AtomicExamples",
       editorAppFolder + "Resources/ToolData/AtomicExamples");
       editorAppFolder + "Resources/ToolData/AtomicExamples");
 
 
-    fs.copySync(srcDir + "Docs",
+      fs.copySync(srcDir + "Docs",
       editorAppFolder + "Resources/ToolData/Docs/JSDocs");
       editorAppFolder + "Resources/ToolData/Docs/JSDocs");
 
 
+      // CEF
+      var cefRoot = atomicRoot + "Submodules/CEF/Windows/64bit/";
+
+      fs.copySync(cefRoot + "Release", editorAppFolder);
+      fs.copySync(cefRoot + "Resources", editorAppFolder);
+
       complete();
       complete();
 
 
     }, {
     }, {

+ 0 - 53
Build/CIScripts/Mac/EditorApp/Info.plist

@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>BuildMachineOSBuild</key>
-	<string>15B42</string>
-	<key>CFBundleDevelopmentRegion</key>
-	<string>English</string>
-	<key>CFBundleExecutable</key>
-	<string>AtomicEditor</string>
-	<key>CFBundleIconFile</key>
-	<string>Atomic.icns</string>
-	<key>CFBundleInfoDictionaryVersion</key>
-	<string>6.0</string>
-	<key>CFBundleLongVersionString</key>
-	<string></string>
-	<key>CFBundlePackageType</key>
-	<string>APPL</string>
-	<key>CFBundleSignature</key>
-	<string>????</string>
-	<key>CFBundleSupportedPlatforms</key>
-	<array>
-		<string>MacOSX</string>
-	</array>
-	<key>CFBundleVersion</key>
-	<string></string>
-	<key>CSResourcesFileMapped</key>
-	<true/>
-	<key>DTCompiler</key>
-	<string>com.apple.compilers.llvm.clang.1_0</string>
-	<key>DTPlatformBuild</key>
-	<string>7A1001</string>
-	<key>DTPlatformVersion</key>
-	<string>GM</string>
-	<key>DTSDKBuild</key>
-	<string>15A278</string>
-	<key>DTSDKName</key>
-	<string>macosx10.11</string>
-	<key>DTXcode</key>
-	<string>0701</string>
-	<key>DTXcodeBuild</key>
-	<string>7A1001</string>
-	<key>LSEnvironment</key>
-	<dict>
-		<key>URHO3D_PREFIX_PATH</key>
-		<string>../Resources</string>
-	</dict>
-	<key>LSRequiresCarbon</key>
-	<true/>
-	<key>NSHumanReadableCopyright</key>
-	<string></string>
-</dict>
-</plist>

+ 0 - 1
Build/CIScripts/Mac/EditorApp/PkgInfo

@@ -1 +0,0 @@
-APPL????

BIN
Build/CIScripts/Mac/EditorApp/Resources/Atomic.icns


+ 7 - 0
Build/CMake/Modules/AtomicDesktop.cmake

@@ -7,4 +7,11 @@ add_definitions( -DATOMIC_NAVIGATION -DATOMIC_TBUI -DATOMIC_FILEWATCHER -DPOCO_N
 
 
 set (ATOMIC_LINK_LIBRARIES ${ATOMIC_LINK_LIBRARIES} LibCpuId SQLite)
 set (ATOMIC_LINK_LIBRARIES ${ATOMIC_LINK_LIBRARIES} LibCpuId SQLite)
 
 
+# Check whether the CEF submodule is available
+if (EXISTS ${CMAKE_SOURCE_DIR}/Submodules/CEF)
+    set(ATOMIC_WEBVIEW TRUE)
+    add_definitions( -DATOMIC_WEBVIEW )
+    include("AtomicWebView")
+endif()
+
 include(AtomicNET)
 include(AtomicNET)

+ 40 - 0
Build/CMake/Modules/AtomicEditor-HelperInfo.plist.template

@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+    <key>CFBundleDevelopmentRegion</key>
+    <string>English</string>
+    <key>CFBundleExecutable</key>
+    <string>${MACOSX_BUNDLE_EXECUTABLE_NAME}</string>
+    <key>CFBundleGetInfoString</key>
+    <string>${MACOSX_BUNDLE_INFO_STRING}</string>
+    <key>CFBundleIconFile</key>
+    <string>${MACOSX_BUNDLE_ICON_FILE}</string>
+    <key>CFBundleIdentifier</key>
+    <string>${MACOSX_BUNDLE_GUI_IDENTIFIER}</string>
+    <key>CFBundleInfoDictionaryVersion</key>
+    <string>6.0</string>
+    <key>CFBundleLongVersionString</key>
+    <string>${MACOSX_BUNDLE_LONG_VERSION_STRING}</string>
+    <key>CFBundleName</key>
+    <string>${MACOSX_BUNDLE_BUNDLE_NAME}</string>
+    <key>CFBundlePackageType</key>
+    <string>APPL</string>
+    <key>CFBundleShortVersionString</key>
+    <string>${MACOSX_BUNDLE_SHORT_VERSION_STRING}</string>
+    <key>CFBundleSignature</key>
+    <string>????</string>
+    <key>CFBundleVersion</key>
+    <string>${MACOSX_BUNDLE_BUNDLE_VERSION}</string>
+    <key>CSResourcesFileMapped</key>
+    <true/>
+    <key>LSRequiresCarbon</key>
+    <true/>
+    <key>LSUIElement</key>
+  	<string>1</string>
+  	<key>NSSupportsAutomaticGraphicsSwitching</key>
+  	<true/>
+    <key>NSHumanReadableCopyright</key>
+    <string>${MACOSX_BUNDLE_COPYRIGHT}</string>
+</dict>
+</plist>

+ 43 - 0
Build/CMake/Modules/AtomicEditorInfo.plist.template

@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+    <key>CFBundleDevelopmentRegion</key>
+    <string>English</string>
+    <key>CFBundleExecutable</key>
+    <string>${MACOSX_BUNDLE_EXECUTABLE_NAME}</string>
+    <key>CFBundleGetInfoString</key>
+    <string>${MACOSX_BUNDLE_INFO_STRING}</string>
+    <key>CFBundleIconFile</key>
+    <string>${MACOSX_BUNDLE_ICON_FILE}</string>
+    <key>CFBundleIdentifier</key>
+    <string>${MACOSX_BUNDLE_GUI_IDENTIFIER}</string>
+    <key>CFBundleInfoDictionaryVersion</key>
+    <string>6.0</string>
+    <key>CFBundleLongVersionString</key>
+    <string>${MACOSX_BUNDLE_LONG_VERSION_STRING}</string>
+    <key>CFBundleName</key>
+    <string>${MACOSX_BUNDLE_BUNDLE_NAME}</string>
+    <key>CFBundlePackageType</key>
+    <string>APPL</string>
+    <key>CFBundleShortVersionString</key>
+    <string>${MACOSX_BUNDLE_SHORT_VERSION_STRING}</string>
+    <key>CFBundleSignature</key>
+    <string>????</string>
+    <key>CFBundleVersion</key>
+    <string>${MACOSX_BUNDLE_BUNDLE_VERSION}</string>
+    <key>CSResourcesFileMapped</key>
+    <true/>
+    <key>LSRequiresCarbon</key>
+    <true/>
+    <key>NSSupportsAutomaticGraphicsSwitching</key>
+  	<true/>    
+    <key>NSHumanReadableCopyright</key>
+    <string>${MACOSX_BUNDLE_COPYRIGHT}</string>
+    <key>LSEnvironment</key>
+    <dict>
+        <key>URHO3D_PREFIX_PATH</key>
+        <string>../Resources</string>
+    </dict>
+</dict>
+</plist>

+ 5 - 4
Build/CMake/Modules/AtomicMac.cmake

@@ -8,16 +8,17 @@ include(AtomicDesktop)
 # only have 32 bit mono installed, fix this
 # only have 32 bit mono installed, fix this
 # set (CMAKE_OSX_ARCHITECTURES i386)
 # set (CMAKE_OSX_ARCHITECTURES i386)
 
 
+set(CMAKE_OSX_ARCHITECTURES "x86_64")
+set(CMAKE_OSX_DEPLOYMENT_TARGET  "10.9")
+
 add_definitions(-DATOMIC_PLATFORM_OSX -DATOMIC_OPENGL -DKNET_UNIX)
 add_definitions(-DATOMIC_PLATFORM_OSX -DATOMIC_OPENGL -DKNET_UNIX)
 
 
 if (CMAKE_GENERATOR STREQUAL "Xcode")
 if (CMAKE_GENERATOR STREQUAL "Xcode")
-
-add_definitions(-DATOMIC_XCODE)
-
+    add_definitions(-DATOMIC_XCODE)
 endif()
 endif()
 
 
 list (APPEND ATOMIC_LINK_LIBRARIES GLEW)
 list (APPEND ATOMIC_LINK_LIBRARIES GLEW)
 
 
-set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-invalid-offsetof -std=gnu++0x")
+set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-invalid-offsetof -std=gnu++11")
 
 
 set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework AudioUnit -framework Carbon -framework Cocoa -framework CoreAudio -framework ForceFeedback -framework IOKit -framework OpenGL -framework CoreServices -framework Security")
 set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework AudioUnit -framework Carbon -framework Cocoa -framework CoreAudio -framework ForceFeedback -framework IOKit -framework OpenGL -framework CoreServices -framework Security")

+ 361 - 0
Build/CMake/Modules/AtomicWebView.cmake

@@ -0,0 +1,361 @@
+
+# Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
+# reserved. Use of this source code is governed by a BSD-style license that
+# can be found in the LICENSE file.
+
+# Determine the platform.
+
+if("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin")
+  set(OS_MACOSX 1)
+  set(OS_POSIX 1)
+elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
+  set(OS_LINUX 1)
+  set(OS_POSIX 1)
+elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Windows")
+  set(OS_WINDOWS 1)
+endif()
+
+if(CMAKE_SIZEOF_VOID_P MATCHES 8)
+  set(PROJECT_ARCH "x86_64")
+else()
+  set(PROJECT_ARCH "x86")
+endif()
+
+if(OS_MACOSX)
+    set(CEF_STANDARD_LIBS "-lpthread" "-framework Cocoa" "-framework AppKit")
+    set(CEF_LIBTYPE SHARED)
+
+    # using release
+    #set(CEF_BINARY_DIR "${CMAKE_SOURCE_DIR}/Submodules/CEF/MacOSX/$<CONFIGURATION>")
+    set(CEF_BINARY_DIR "${CMAKE_SOURCE_DIR}/Submodules/CEF/MacOSX/Release")
+
+    set(CEF_BINARY_DIR_RELEASE "${CMAKE_SOURCE_DIR}/Submodules/CEF/MacOSX/Release")
+    set(CEF_LIB_RELEASE "${CEF_BINARY_DIR_RELEASE}/Chromium Embedded Framework.framework/Chromium Embedded Framework")
+
+    # using release
+    set(CEF_BINARY_DIR_DEBUG "${CMAKE_SOURCE_DIR}/Submodules/CEF/MacOSX/Release")
+    set(CEF_LIB_DEBUG "${CEF_BINARY_DIR_DEBUG}/Chromium Embedded Framework.framework/Chromium Embedded Framework")
+
+endif()
+
+if(OS_WINDOWS)
+    set(CEF_BINARY_DIR_RELEASE "${CMAKE_SOURCE_DIR}/Submodules/CEF/Windows/64bit/Release")
+    set(CEF_LIB_RELEASE "${CEF_BINARY_DIR_RELEASE}/libcef.lib")
+    set(CEF_BINARY_DIR "${CMAKE_SOURCE_DIR}/Submodules/CEF/Windows/64bit/Release")
+    set(CEF_RESOURCE_DIR "${CMAKE_SOURCE_DIR}/Submodules/CEF/Windows/64bit/Resources")
+endif()
+
+if(OS_LINUX)
+    set(CEF_BINARY_DIR_RELEASE "${CMAKE_SOURCE_DIR}/Submodules/CEF/Linux/Release")
+    set(CEF_LIB_RELEASE "${CEF_BINARY_DIR_RELEASE}/libcef.so")
+    set(CEF_BINARY_DIR "${CMAKE_SOURCE_DIR}/Submodules/CEF/Linux/Release")
+    set(CEF_RESOURCE_DIR "${CMAKE_SOURCE_DIR}/Submodules/CEF/Linux/Resources")
+endif()
+
+
+#
+# Shared macros.
+#
+
+# Append platform specific sources to a list of sources.
+macro(APPEND_PLATFORM_SOURCES name_of_list)
+  if(OS_LINUX AND ${name_of_list}_LINUX)
+    list(APPEND ${name_of_list} ${${name_of_list}_LINUX})
+  endif()
+  if(OS_POSIX AND ${name_of_list}_POSIX)
+    list(APPEND ${name_of_list} ${${name_of_list}_POSIX})
+  endif()
+  if(OS_WINDOWS AND ${name_of_list}_WINDOWS)
+    list(APPEND ${name_of_list} ${${name_of_list}_WINDOWS})
+  endif()
+  if(OS_MACOSX AND ${name_of_list}_MACOSX)
+    list(APPEND ${name_of_list} ${${name_of_list}_MACOSX})
+  endif()
+endmacro()
+
+# Add a logical target that can be used to link the specified libraries into an
+# executable target.
+macro(ADD_LOGICAL_TARGET target debug_lib release_lib)
+  add_library(${target} ${CEF_LIBTYPE} IMPORTED)
+  set_target_properties(${target} PROPERTIES
+    IMPORTED_LOCATION "${release_lib}"
+    IMPORTED_LOCATION_DEBUG "${debug_lib}"
+    IMPORTED_LOCATION_RELEASE "${release_lib}"
+    )
+endmacro()
+
+# Determine the target output directory based on platform and generator.
+macro(SET_CEF_TARGET_OUT_DIR)
+  if(${CMAKE_GENERATOR} STREQUAL "Ninja")
+    # Ninja does not create a subdirectory named after the configuration.
+    set(CEF_TARGET_OUT_DIR "${CMAKE_CURRENT_BINARY_DIR}")
+  elseif(OS_LINUX)
+    set(CEF_TARGET_OUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE}")
+  else()
+    # ATOMIC: Unix Makefiles not creating Debug/Release?
+
+    if(${CMAKE_GENERATOR} STREQUAL "Xcode" OR ${CMAKE_GENERATOR} STREQUAL "Visual Studio 14 2015 Win64")
+      set(CEF_TARGET_OUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/$<CONFIGURATION>")
+    else()
+      set(CEF_TARGET_OUT_DIR "${CMAKE_CURRENT_BINARY_DIR}")
+    endif()
+  endif()
+endmacro()
+
+# Copy a list of files from one directory to another. Relative files paths are maintained.
+macro(COPY_FILES target file_list source_dir target_dir)
+  foreach(FILENAME ${file_list})
+    set(source_file ${source_dir}/${FILENAME})
+    set(target_file ${target_dir}/${FILENAME})
+    if(IS_DIRECTORY ${source_file})
+      add_custom_command(
+        TARGET ${target}
+        POST_BUILD
+        COMMAND ${CMAKE_COMMAND} -E copy_directory "${source_file}" "${target_file}"
+        VERBATIM
+        )
+    else()
+      add_custom_command(
+        TARGET ${target}
+        POST_BUILD
+        COMMAND ${CMAKE_COMMAND} -E copy_if_different "${source_file}" "${target_file}"
+        VERBATIM
+        )
+    endif()
+  endforeach()
+endmacro()
+
+# Rename a directory replacing the target if it already exists.
+macro(RENAME_DIRECTORY target source_dir target_dir)
+  add_custom_command(
+    TARGET ${target}
+    POST_BUILD
+    # Remove the target directory if it already exists.
+    COMMAND ${CMAKE_COMMAND} -E remove_directory "${target_dir}"
+    # Rename the source directory to target directory.
+    COMMAND ${CMAKE_COMMAND} -E rename "${source_dir}" "${target_dir}"
+    VERBATIM
+    )
+endmacro()
+
+
+#
+# Linux macros.
+#
+
+if(OS_LINUX)
+
+# Use pkg-config to find Linux libraries and update compiler/linker variables.
+macro(FIND_LINUX_LIBRARIES libraries)
+  # Read pkg-config info into variables.
+  execute_process(COMMAND pkg-config --cflags ${libraries} OUTPUT_VARIABLE FLL_CFLAGS)
+  execute_process(COMMAND pkg-config --libs-only-L --libs-only-other ${libraries} OUTPUT_VARIABLE FLL_LDFLAGS)
+  execute_process(COMMAND pkg-config --libs-only-l ${libraries} OUTPUT_VARIABLE FLL_LIBS)
+
+  # Strip leading and trailing whitepspace.
+  STRING(STRIP "${FLL_CFLAGS}"  FLL_CFLAGS)
+  STRING(STRIP "${FLL_LDFLAGS}" FLL_LDFLAGS)
+  STRING(STRIP "${FLL_LIBS}"    FLL_LIBS)
+
+  # Update the variables.
+  set(CMAKE_C_FLAGS             "${CMAKE_C_FLAGS} ${FLL_CFLAGS}")
+  set(CMAKE_CXX_FLAGS           "${CMAKE_CXX_FLAGS} ${FLL_CFLAGS}")
+  set(CMAKE_EXE_LINKER_FLAGS    "${CMAKE_EXE_LINKER_FLAGS} ${FLL_LDFLAGS}")
+  set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${FLL_LDFLAGS}")
+  set(CEF_STANDARD_LIBS         "${CEF_STANDARD_LIBS} ${FLL_LIBS}")
+endmacro()
+
+# Set SUID permissions on the specified executable.
+macro(SET_LINUX_SUID_PERMISSIONS target executable)
+  add_custom_command(
+    TARGET ${target}
+    POST_BUILD
+    COMMAND ${CMAKE_COMMAND} -E echo ""
+    COMMAND ${CMAKE_COMMAND} -E echo "*** Run the following command manually to set SUID permissions ***"
+    COMMAND ${CMAKE_COMMAND} -E echo "EXE=\"${executable}\" && sudo -- chown root:root $EXE && sudo -- chmod 4755 $EXE"
+    COMMAND ${CMAKE_COMMAND} -E echo ""
+    VERBATIM
+    )
+endmacro()
+
+endif(OS_LINUX)
+
+
+#
+# Mac OS X macros.
+#
+
+if(OS_MACOSX)
+
+# Set Xcode target properties.
+function(SET_XCODE_TARGET_PROPERTIES target)
+  set_target_properties(${target} PROPERTIES
+    XCODE_ATTRIBUTE_ALWAYS_SEARCH_USER_PATHS                    NO
+    XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD                 "gnu++11"   # -std=gnu++11
+    XCODE_ATTRIBUTE_CLANG_LINK_OBJC_RUNTIME                     NO          # -fno-objc-link-runtime
+    XCODE_ATTRIBUTE_CLANG_WARN_OBJC_MISSING_PROPERTY_SYNTHESIS  YES         # -Wobjc-missing-property-synthesis
+    XCODE_ATTRIBUTE_COPY_PHASE_STRIP                            NO
+    XCODE_ATTRIBUTE_DEAD_CODE_STRIPPING[variant=Release]        YES         # -Wl,-dead_strip
+    XCODE_ATTRIBUTE_GCC_C_LANGUAGE_STANDARD                     "c99"       # -std=c99
+    XCODE_ATTRIBUTE_GCC_CW_ASM_SYNTAX                           NO          # No -fasm-blocks
+    XCODE_ATTRIBUTE_GCC_DYNAMIC_NO_PIC                          NO
+    XCODE_ATTRIBUTE_GCC_ENABLE_CPP_EXCEPTIONS                   NO          # -fno-exceptions
+    XCODE_ATTRIBUTE_GCC_ENABLE_CPP_RTTI                         NO          # -fno-rtti
+    XCODE_ATTRIBUTE_GCC_ENABLE_PASCAL_STRINGS                   NO          # No -mpascal-strings
+    XCODE_ATTRIBUTE_GCC_INLINES_ARE_PRIVATE_EXTERN              YES         # -fvisibility-inlines-hidden
+    XCODE_ATTRIBUTE_GCC_OBJC_CALL_CXX_CDTORS                    YES         # -fobjc-call-cxx-cdtors
+    XCODE_ATTRIBUTE_GCC_SYMBOLS_PRIVATE_EXTERN                  YES         # -fvisibility=hidden
+    XCODE_ATTRIBUTE_GCC_THREADSAFE_STATICS                      NO          # -fno-threadsafe-statics
+    XCODE_ATTRIBUTE_GCC_TREAT_WARNINGS_AS_ERRORS                YES         # -Werror
+    XCODE_ATTRIBUTE_GCC_VERSION                                 "com.apple.compilers.llvm.clang.1_0"
+    XCODE_ATTRIBUTE_GCC_WARN_ABOUT_MISSING_NEWLINE              YES         # -Wnewline-eof
+    XCODE_ATTRIBUTE_USE_HEADERMAP                               NO
+    OSX_ARCHITECTURES_DEBUG                                     "${CMAKE_OSX_ARCHITECTURES}"
+    OSX_ARCHITECTURES_RELEASE                                   "${CMAKE_OSX_ARCHITECTURES}"
+    )
+endfunction()
+
+# Override default add_library function.
+function(cef_add_library name)
+  add_library(${name} ${ARGN})
+  SET_XCODE_TARGET_PROPERTIES(${name})
+endfunction()
+
+# Override default add_executable function.
+function(cef_add_executable name)
+  add_executable(${name} ${ARGN})
+  SET_XCODE_TARGET_PROPERTIES(${name})
+endfunction()
+
+# Fix the framework link in the helper executable.
+macro(FIX_MACOSX_HELPER_FRAMEWORK_LINK target app_path)
+  add_custom_command(TARGET ${target}
+    POST_BUILD
+    COMMAND install_name_tool -change "@executable_path/Chromium Embedded Framework"
+            "@executable_path/../../../../Frameworks/Chromium Embedded Framework.framework/Chromium Embedded Framework"
+            "${app_path}/Contents/MacOS/${target}"
+    VERBATIM
+    )
+endmacro()
+
+# Fix the framework link in the main executable.
+macro(FIX_MACOSX_MAIN_FRAMEWORK_LINK target app_path)
+  add_custom_command(TARGET ${target}
+    POST_BUILD
+    COMMAND install_name_tool -change "@executable_path/Chromium Embedded Framework"
+            "@executable_path/../Frameworks/Chromium Embedded Framework.framework/Chromium Embedded Framework"
+            "${app_path}/Contents/MacOS/${target}"
+    VERBATIM
+    )
+endmacro()
+
+# Make the other helper app bundles.
+macro(MAKE_MACOSX_HELPERS target app_path)
+  add_custom_command(TARGET ${target}
+    POST_BUILD
+    # The exported variables need to be set for generators other than Xcode.
+    COMMAND export BUILT_PRODUCTS_DIR=${app_path} &&
+            export CONTENTS_FOLDER_PATH=/Contents &&
+            ${CMAKE_SOURCE_DIR}/Submodules/CEF/MacOSX/tools/make_more_helpers.sh "Frameworks" "${target}"
+    WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
+    VERBATIM
+    )
+endmacro()
+
+# Manually process and copy over resource files.
+macro(COPY_MACOSX_RESOURCES resource_list prefix_list target source_dir app_path)
+  foreach(FILENAME ${resource_list})
+    # Remove one or more prefixes from the source paths.
+    set(TARGET_FILENAME "${FILENAME}")
+    foreach(PREFIX ${prefix_list})
+      string(REGEX REPLACE "^.*${PREFIX}" "" TARGET_FILENAME ${TARGET_FILENAME})
+    endforeach()
+
+    # Determine the absolute source and target paths.
+    set(TARGET_PATH "${app_path}/Contents/Resources/${TARGET_FILENAME}")
+    if(IS_ABSOLUTE ${FILENAME})
+      set(SOURCE_PATH ${FILENAME})
+    else()
+      set(SOURCE_PATH "${source_dir}/${FILENAME}")
+    endif()
+
+    if(${FILENAME} MATCHES ".xib$")
+      # Change the target file extension.
+      string(REGEX REPLACE ".xib$" ".nib" TARGET_PATH ${TARGET_PATH})
+
+      get_filename_component(TARGET_DIRECTORY ${TARGET_PATH} PATH)
+      add_custom_command(
+        TARGET ${target}
+        POST_BUILD
+        # Create the target directory.
+        COMMAND ${CMAKE_COMMAND} -E make_directory "${TARGET_DIRECTORY}"
+        # Compile the XIB file to a NIB.
+        COMMAND /usr/bin/ibtool --output-format binary1 --compile "${TARGET_PATH}" "${SOURCE_PATH}"
+        VERBATIM
+        )
+    elseif(NOT ${TARGET_FILENAME} STREQUAL "Info.plist")
+      # Copy the file as-is.
+      add_custom_command(
+        TARGET ${target}
+        POST_BUILD
+        COMMAND ${CMAKE_COMMAND} -E copy "${SOURCE_PATH}" "${TARGET_PATH}"
+        VERBATIM
+        )
+    endif()
+  endforeach()
+endmacro()
+
+endif(OS_MACOSX)
+
+
+#
+# Windows macros.
+#
+
+if(OS_WINDOWS)
+
+# Add custom manifest files to an executable target.
+macro(ADD_WINDOWS_MANIFEST manifest_path target)
+  add_custom_command(
+    TARGET ${target}
+    POST_BUILD
+    COMMAND "mt.exe" -nologo
+            -manifest \"${manifest_path}/${target}.exe.manifest\" \"${manifest_path}/compatibility.manifest\"
+            -outputresource:"${CEF_TARGET_OUT_DIR}/${target}.exe"\;\#1
+    COMMENT "Adding manifest..."
+    )
+endmacro()
+
+# List of CEF binary files.
+set(CEF_BINARY_FILES
+  d3dcompiler_43.dll
+  d3dcompiler_47.dll
+  libcef.dll
+  libEGL.dll
+  libGLESv2.dll
+  natives_blob.bin
+  snapshot_blob.bin
+  )
+
+# We don't have a 32 bit build right now
+#if(PROJECT_ARCH STREQUAL "x86")
+# Only used on 32-bit platforms.
+#  set(CEF_BINARY_FILES
+#    ${CEF_BINARY_FILES}
+#    wow_helper.exe
+#    )
+#endif()
+
+# List of CEF resource files.
+set(CEF_RESOURCE_FILES
+  cef.pak
+  cef_100_percent.pak
+  cef_200_percent.pak
+  cef_extensions.pak
+  devtools_resources.pak
+  icudtl.dat
+  locales
+  )
+
+
+endif(OS_WINDOWS)

+ 2 - 4
Build/Scripts/BuildWindows.js

@@ -34,10 +34,8 @@ namespace('build', function() {
     jake.exec(cmds, function() {
     jake.exec(cmds, function() {
 
 
       // Copy the Editor binaries
       // Copy the Editor binaries
-      fs.copySync(buildDir + "Source/AtomicEditor/Release/AtomicEditor.exe",
-        host.artifactsRoot + "AtomicEditor/AtomicEditor.exe");
-      fs.copySync(buildDir + "Source/AtomicEditor/Release/D3DCompiler_47.dll",
-        host.artifactsRoot + "AtomicEditor/D3DCompiler_47.dll");
+      fs.copySync(buildDir + "Source/AtomicEditor/Release",
+        host.artifactsRoot + "AtomicEditor");
 
 
       // We need some resources to run
       // We need some resources to run
       fs.copySync(atomicRoot + "Resources/CoreData",
       fs.copySync(atomicRoot + "Resources/CoreData",

+ 13 - 3
CMakeLists.txt

@@ -67,10 +67,20 @@ endif()
 
 
 find_program(CLDOC cldoc)
 find_program(CLDOC cldoc)
 if(CLDOC)
 if(CLDOC)
+   add_custom_target(docs DEPENDS AtomicEngineDocs)
+endif()
 
 
-   add_custom_target(docs
-    DEPENDS AtomicEngineDocs
-    )
+if (ATOMIC_WEBVIEW)
+  if(APPLE)
+    include_directories (${CMAKE_SOURCE_DIR}/Submodules/CEF/MacOSX/)
+    add_subdirectory(Submodules/CEF/MacOSX/libcef_dll)
+  elseif(MSVC)
+    include_directories (${CMAKE_SOURCE_DIR}/Submodules/CEF/Windows/64bit)
+    add_subdirectory(Submodules/CEF/Windows/64bit/libcef_dll)
+  else()
+    include_directories (${CMAKE_SOURCE_DIR}/Submodules/CEF/Linux)
+    add_subdirectory(Submodules/CEF/Linux/libcef_dll)
+  endif()
 endif()
 endif()
 
 
 add_subdirectory(Source)
 add_subdirectory(Source)

+ 80 - 0
Data/AtomicEditor/CodeEditor/Editor.html

@@ -0,0 +1,80 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+  <meta charset="UTF-8">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+  <title>Editor</title>
+  <style type="text/css" media="screen">
+  body {
+    overflow: hidden;
+  }
+
+  #editor {
+    margin: 0;
+    position: absolute;
+    top: 0;
+    bottom: 0;
+    left: 0;
+    right: 0;
+  }
+  </style>
+</head>
+<body>
+
+  <pre id="editor"></pre>
+
+  <script src="./source/ace/ace.js" type="text/javascript" charset="utf-8"></script>
+  <script src="./source/ace/ext-language_tools.js"></script>
+  <script>
+
+  editor = ace.edit("editor");
+
+  editor.setOptions({
+    enableBasicAutocompletion: true,
+    enableSnippets: true,
+    enableLiveAutocompletion: true
+  });
+
+  function saveCode() {
+
+    var data = {
+        message : "saveCode",
+        payload : editor.session.getValue()
+    }
+
+    window.atomicQuery({request: JSON.stringify(data),
+    persistent: false,
+    onSuccess: function(response) { },
+    onFailure: function(error_code, error_message) {console.log("Error getting code")}});
+  }
+
+  function codeLoaded(value) {
+
+    editor.setTheme("ace/theme/monokai");
+    editor.session.setMode("ace/mode/typescript");
+    editor.session.setValue(value);
+    editor.gotoLine(0);    
+
+    editor.getSession().on('change', function(e) {
+      window.atomicQuery({request: 'change',
+      persistent: false,
+      onSuccess: function(response) { },
+      onFailure: function(error_code, error_message) {console.log("Error on change")}});
+    });
+  }
+
+  function loadCode(codeUrl)
+  {
+    var xmlHttp = new XMLHttpRequest();
+    xmlHttp.onreadystatechange = function() {
+      if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
+      codeLoaded(xmlHttp.responseText);
+    }
+    xmlHttp.open("GET", codeUrl, true); // true for asynchronous
+    xmlHttp.send(null);
+  }
+
+  </script>
+
+</body>
+</html>

File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/ace.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/ext-beautify.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/ext-chromevox.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/ext-elastic_tabstops_lite.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/ext-emmet.js


+ 5 - 0
Data/AtomicEditor/CodeEditor/source/ace/ext-error_marker.js

@@ -0,0 +1,5 @@
+;
+                (function() {
+                    ace.require(["ace/ext/error_marker"], function() {});
+                })();
+            

File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/ext-keybinding_menu.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/ext-language_tools.js


+ 5 - 0
Data/AtomicEditor/CodeEditor/source/ace/ext-linking.js

@@ -0,0 +1,5 @@
+ace.define("ace/ext/linking",["require","exports","module","ace/editor","ace/config"],function(e,t,n){function i(e){var t=e.editor,n=e.getAccelKey();if(n){var t=e.editor,r=e.getDocumentPosition(),i=t.session,s=i.getTokenAt(r.row,r.column);t._emit("linkHover",{position:r,token:s})}}function s(e){var t=e.getAccelKey(),n=e.getButton();if(n==0&&t){var r=e.editor,i=e.getDocumentPosition(),s=r.session,o=s.getTokenAt(i.row,i.column);r._emit("linkClick",{position:i,token:o})}}var r=e("ace/editor").Editor;e("../config").defineOptions(r.prototype,"editor",{enableLinking:{set:function(e){e?(this.on("click",s),this.on("mousemove",i)):(this.off("click",s),this.off("mousemove",i))},value:!1}})});
+                (function() {
+                    ace.require(["ace/ext/linking"], function() {});
+                })();
+            

File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/ext-modelist.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/ext-old_ie.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/ext-searchbox.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/ext-settings_menu.js


+ 5 - 0
Data/AtomicEditor/CodeEditor/source/ace/ext-spellcheck.js

@@ -0,0 +1,5 @@
+ace.define("ace/ext/spellcheck",["require","exports","module","ace/lib/event","ace/editor","ace/config"],function(e,t,n){"use strict";var r=e("../lib/event");t.contextMenuHandler=function(e){var t=e.target,n=t.textInput.getElement();if(!t.selection.isEmpty())return;var i=t.getCursorPosition(),s=t.session.getWordRange(i.row,i.column),o=t.session.getTextRange(s);t.session.tokenRe.lastIndex=0;if(!t.session.tokenRe.test(o))return;var u="",a=o+" "+u;n.value=a,n.setSelectionRange(o.length,o.length+1),n.setSelectionRange(0,0),n.setSelectionRange(0,o.length);var f=!1;r.addListener(n,"keydown",function l(){r.removeListener(n,"keydown",l),f=!0}),t.textInput.setInputHandler(function(e){console.log(e,a,n.selectionStart,n.selectionEnd);if(e==a)return"";if(e.lastIndexOf(a,0)===0)return e.slice(a.length);if(e.substr(n.selectionEnd)==a)return e.slice(0,-a.length);if(e.slice(-2)==u){var r=e.slice(0,-2);if(r.slice(-1)==" ")return f?r.substring(0,n.selectionEnd):(r=r.slice(0,-1),t.session.replace(s,r),"")}return e})};var i=e("../editor").Editor;e("../config").defineOptions(i.prototype,"editor",{spellcheck:{set:function(e){var n=this.textInput.getElement();n.spellcheck=!!e,e?this.on("nativecontextmenu",t.contextMenuHandler):this.removeListener("nativecontextmenu",t.contextMenuHandler)},value:!0}})});
+                (function() {
+                    ace.require(["ace/ext/spellcheck"], function() {});
+                })();
+            

File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/ext-split.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/ext-static_highlight.js


+ 5 - 0
Data/AtomicEditor/CodeEditor/source/ace/ext-statusbar.js

@@ -0,0 +1,5 @@
+ace.define("ace/ext/statusbar",["require","exports","module","ace/lib/dom","ace/lib/lang"],function(e,t,n){"use strict";var r=e("ace/lib/dom"),i=e("ace/lib/lang"),s=function(e,t){this.element=r.createElement("div"),this.element.className="ace_status-indicator",this.element.style.cssText="display: inline-block;",t.appendChild(this.element);var n=i.delayedCall(function(){this.updateStatus(e)}.bind(this)).schedule.bind(null,100);e.on("changeStatus",n),e.on("changeSelection",n),e.on("keyboardActivity",n)};(function(){this.updateStatus=function(e){function n(e,n){e&&t.push(e,n||"|")}var t=[];n(e.keyBinding.getStatusText(e)),e.commands.recording&&n("REC");var r=e.selection,i=r.lead;if(!r.isEmpty()){var s=e.getSelectionRange();n("("+(s.end.row-s.start.row)+":"+(s.end.column-s.start.column)+")"," ")}n(i.row+":"+i.column," "),r.rangeCount&&n("["+r.rangeCount+"]"," "),t.pop(),this.element.textContent=t.join("")}}).call(s.prototype),t.StatusBar=s});
+                (function() {
+                    ace.require(["ace/ext/statusbar"], function() {});
+                })();
+            

File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/ext-textarea.js


+ 5 - 0
Data/AtomicEditor/CodeEditor/source/ace/ext-themelist.js

@@ -0,0 +1,5 @@
+ace.define("ace/ext/themelist",["require","exports","module","ace/lib/fixoldbrowsers"],function(e,t,n){"use strict";e("ace/lib/fixoldbrowsers");var r=[["Chrome"],["Clouds"],["Crimson Editor"],["Dawn"],["Dreamweaver"],["Eclipse"],["GitHub"],["IPlastic"],["Solarized Light"],["TextMate"],["Tomorrow"],["XCode"],["Kuroir"],["KatzenMilch"],["SQL Server","sqlserver","light"],["Ambiance","ambiance","dark"],["Chaos","chaos","dark"],["Clouds Midnight","clouds_midnight","dark"],["Cobalt","cobalt","dark"],["idle Fingers","idle_fingers","dark"],["krTheme","kr_theme","dark"],["Merbivore","merbivore","dark"],["Merbivore Soft","merbivore_soft","dark"],["Mono Industrial","mono_industrial","dark"],["Monokai","monokai","dark"],["Pastel on dark","pastel_on_dark","dark"],["Solarized Dark","solarized_dark","dark"],["Terminal","terminal","dark"],["Tomorrow Night","tomorrow_night","dark"],["Tomorrow Night Blue","tomorrow_night_blue","dark"],["Tomorrow Night Bright","tomorrow_night_bright","dark"],["Tomorrow Night 80s","tomorrow_night_eighties","dark"],["Twilight","twilight","dark"],["Vibrant Ink","vibrant_ink","dark"]];t.themesByName={},t.themes=r.map(function(e){var n=e[1]||e[0].replace(/ /g,"_").toLowerCase(),r={caption:e[0],theme:"ace/theme/"+n,isDark:e[2]=="dark",name:n};return t.themesByName[n]=r,r})});
+                (function() {
+                    ace.require(["ace/ext/themelist"], function() {});
+                })();
+            

File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/ext-whitespace.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/keybinding-emacs.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/keybinding-vim.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-abap.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-abc.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-actionscript.js


+ 1 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-ada.js

@@ -0,0 +1 @@
+ace.define("ace/mode/ada_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="abort|else|new|return|abs|elsif|not|reverse|abstract|end|null|accept|entry|select|access|exception|of|separate|aliased|exit|or|some|all|others|subtype|and|for|out|synchronized|array|function|overriding|at|tagged|generic|package|task|begin|goto|pragma|terminate|body|private|then|if|procedure|type|case|in|protected|constant|interface|until||is|raise|use|declare|range|delay|limited|record|when|delta|loop|rem|while|digits|renames|with|do|mod|requeue|xor",t="true|false|null",n="count|min|max|avg|sum|rank|now|coalesce|main",r=this.createKeywordMapper({"support.function":n,keyword:e,"constant.language":t},"identifier",!0);this.$rules={start:[{token:"comment",regex:"--.*$"},{token:"string",regex:'".*?"'},{token:"string",regex:"'.*?'"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:r,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"\\+|\\-|\\/|\\/\\/|%|<@>|@>|<@|&|\\^|~|<|>|<=|=>|==|!=|<>|="},{token:"paren.lparen",regex:"[\\(]"},{token:"paren.rparen",regex:"[\\)]"},{token:"text",regex:"\\s+"}]}};r.inherits(s,i),t.AdaHighlightRules=s}),ace.define("ace/mode/ada",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/ada_highlight_rules","ace/range"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./ada_highlight_rules").AdaHighlightRules,o=e("../range").Range,u=function(){this.HighlightRules=s};r.inherits(u,i),function(){this.lineCommentStart="--",this.$id="ace/mode/ada"}.call(u.prototype),t.Mode=u})

File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-apache_conf.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-applescript.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-asciidoc.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-assembly_x86.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-autohotkey.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-batchfile.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-c9search.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-c_cpp.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-cirru.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-clojure.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-cobol.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-coffee.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-coldfusion.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-csharp.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-css.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-curly.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-d.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-dart.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-diff.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-django.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-dockerfile.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-dot.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-eiffel.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-ejs.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-elixir.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-elm.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-erlang.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-forth.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-ftl.js


+ 1 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-gcode.js

@@ -0,0 +1 @@
+ace.define("ace/mode/gcode_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="IF|DO|WHILE|ENDWHILE|CALL|ENDIF|SUB|ENDSUB|GOTO|REPEAT|ENDREPEAT|CALL",t="PI",n="ATAN|ABS|ACOS|ASIN|SIN|COS|EXP|FIX|FUP|ROUND|LN|TAN",r=this.createKeywordMapper({"support.function":n,keyword:e,"constant.language":t},"identifier",!0);this.$rules={start:[{token:"comment",regex:"\\(.*\\)"},{token:"comment",regex:"([N])([0-9]+)"},{token:"string",regex:"([G])([0-9]+\\.?[0-9]?)"},{token:"string",regex:"([M])([0-9]+\\.?[0-9]?)"},{token:"constant.numeric",regex:"([-+]?([0-9]*\\.?[0-9]+\\.?))|(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)"},{token:r,regex:"[A-Z]"},{token:"keyword.operator",regex:"EQ|LT|GT|NE|GE|LE|OR|XOR"},{token:"paren.lparen",regex:"[\\[]"},{token:"paren.rparen",regex:"[\\]]"},{token:"text",regex:"\\s+"}]}};r.inherits(s,i),t.GcodeHighlightRules=s}),ace.define("ace/mode/gcode",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/gcode_highlight_rules","ace/range"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./gcode_highlight_rules").GcodeHighlightRules,o=e("../range").Range,u=function(){this.HighlightRules=s};r.inherits(u,i),function(){this.$id="ace/mode/gcode"}.call(u.prototype),t.Mode=u})

File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-gherkin.js


+ 1 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-gitignore.js

@@ -0,0 +1 @@
+ace.define("ace/mode/gitignore_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment",regex:/^\s*#.*$/},{token:"keyword",regex:/^\s*!.*$/}]},this.normalizeRules()};s.metaData={fileTypes:["gitignore"],name:"Gitignore"},r.inherits(s,i),t.GitignoreHighlightRules=s}),ace.define("ace/mode/gitignore",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/gitignore_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./gitignore_highlight_rules").GitignoreHighlightRules,o=function(){this.HighlightRules=s};r.inherits(o,i),function(){this.lineCommentStart="#",this.$id="ace/mode/gitignore"}.call(o.prototype),t.Mode=o})

File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-glsl.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-gobstones.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-golang.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-groovy.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-haml.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-handlebars.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-haskell.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-haxe.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-html.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-html_elixir.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-html_ruby.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-ini.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-io.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-jack.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-jade.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-java.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-javascript.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-json.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-jsoniq.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-jsp.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-jsx.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-julia.js


File diff suppressed because it is too large
+ 0 - 0
Data/AtomicEditor/CodeEditor/source/ace/mode-latex.js


Some files were not shown because too many files changed in this diff