Browse Source

Additional build settings

Josh Engebretson 10 years ago
parent
commit
ebb7558120

+ 37 - 18
Script/AtomicEditor/ui/modal/build/platforms/AndroidSettingsWidget.ts

@@ -7,7 +7,13 @@ class AndroidSettingsWidget extends Atomic.UIWidget {
 
 
         this.load("AtomicEditor/editor/ui/buildsettings_android.tb.txt");
         this.load("AtomicEditor/editor/ui/buildsettings_android.tb.txt");
 
 
+        this.settings = ToolCore.toolSystem.project.buildSettings.androidBuildSettings;
+
         this.sdkTargetSelect = <Atomic.UISelectDropdown>this.getWidget("sdk_target_select");
         this.sdkTargetSelect = <Atomic.UISelectDropdown>this.getWidget("sdk_target_select");
+        this.appNameEdit = <Atomic.UIEditField>this.getWidget("app_name");
+        this.packageNameEdit = <Atomic.UIEditField>this.getWidget("app_package");
+        this.productNameEdit = <Atomic.UIEditField>this.getWidget("product_name");
+        this.companyNameEdit = <Atomic.UIEditField>this.getWidget("company_name");
 
 
         this.refreshWidgets();
         this.refreshWidgets();
 
 
@@ -58,20 +64,20 @@ class AndroidSettingsWidget extends Atomic.UIWidget {
 
 
         this.subscribeToEvent(platform, "AndroidTargetsRefreshed", (ev) => {
         this.subscribeToEvent(platform, "AndroidTargetsRefreshed", (ev) => {
 
 
-          this.sdkTargetSource.clear();
+            this.sdkTargetSource.clear();
 
 
-          var targets:string[] = platform.androidTargets;
+            var targets: string[] = platform.androidTargets;
 
 
-          for (var i in targets) {
+            for (var i in targets) {
 
 
-              this.sdkTargetSource.addItem(new Atomic.UISelectItem(targets[i]));
-          }
+                this.sdkTargetSource.addItem(new Atomic.UISelectItem(targets[i]));
+            }
 
 
-          this.sdkTargetSelect.source = this.sdkTargetSource;
+            this.sdkTargetSelect.source = this.sdkTargetSource;
 
 
-          // force a refresh
-          this.sdkTargetSelect.value = -1;
-          this.sdkTargetSelect.value = 0;
+            // force a refresh
+            this.sdkTargetSelect.value = -1;
+            this.sdkTargetSelect.value = 0;
 
 
         });
         });
 
 
@@ -89,22 +95,35 @@ class AndroidSettingsWidget extends Atomic.UIWidget {
         antPathEdit.text = toolPrefs.antPath;
         antPathEdit.text = toolPrefs.antPath;
         jdkRootEdit.text = toolPrefs.jDKRootPath;
         jdkRootEdit.text = toolPrefs.jDKRootPath;
 
 
-        /*
-        appNameEdit_->SetText(settings.appName.CString());
-        appPackageEdit_->SetText(settings.package.CString());
-        productNameEdit_->SetText(settings.productName.CString());
-        companyNameEdit_->SetText(settings.companyName.CString());
-        sdkTargetSelect_->SetText(settings.targetSDKVersion.CString());
-        */
+        this.appNameEdit.text = this.settings.appName;
+        this.packageNameEdit.text = this.settings.packageName;
+        this.productNameEdit.text = this.settings.productName;
+        this.companyNameEdit.text = this.settings.companyName;
+
+        this.sdkTargetSelect.text = this.settings.sDKVersion;
 
 
     }
     }
 
 
     storeValues() {
     storeValues() {
 
 
+      this.settings.appName = this.appNameEdit.text;
+      this.settings.packageName = this.packageNameEdit.text;
+      this.settings.productName = this.productNameEdit.text;
+      this.settings.companyName = this.companyNameEdit.text;
+      
+      this.settings.sDKVersion = this.sdkTargetSelect.text;
+
     }
     }
 
 
-    sdkTargetSource:Atomic.UISelectItemSource = new Atomic.UISelectItemSource();
-    sdkTargetSelect:Atomic.UISelectDropdown;
+    settings: ToolCore.AndroidBuildSettings;
+    sdkTargetSource: Atomic.UISelectItemSource = new Atomic.UISelectItemSource();
+    sdkTargetSelect: Atomic.UISelectDropdown;
+
+    appNameEdit: Atomic.UIEditField;
+    packageNameEdit: Atomic.UIEditField;
+    productNameEdit: Atomic.UIEditField;
+    companyNameEdit: Atomic.UIEditField;
+
 
 
 }
 }
 
 

+ 1 - 1
Script/Packages/ToolCore/ToolCore.json

@@ -10,7 +10,7 @@
 							 "PrefabImporter", "JavascriptImporter", "TextureImporter", "SpriterImporter", "PEXImporter", "LicenseSystem",
 							 "PrefabImporter", "JavascriptImporter", "TextureImporter", "SpriterImporter", "PEXImporter", "LicenseSystem",
 						 	 "ProjectUserPrefs", "ProjectBuildSettings",
 						 	 "ProjectUserPrefs", "ProjectBuildSettings",
 						 	 "BuildBase", "BuildSystem", "BuildMac", "BuildWeb", "BuildWindows",
 						 	 "BuildBase", "BuildSystem", "BuildMac", "BuildWeb", "BuildWindows",
-						 	 "ProjectBuildSettings", "MacBuildSettings"],
+						 	 "ProjectBuildSettings", "MacBuildSettings", "WindowsBuildSettings", "WebBuildSettings", "AndroidBuildSettings", "MacBuildSettings"],
 	"typescript_decl" : {
 	"typescript_decl" : {
 
 
 		"AssetDatabase" : [
 		"AssetDatabase" : [

+ 73 - 3
Source/ToolCore/Project/ProjectBuildSettings.cpp

@@ -85,15 +85,81 @@ void WebBuildSettings::Read(JSONValue& parent)
 
 
 }
 }
 
 
+void AndroidBuildSettings::Write(JSONValue& parent)
+{
+    JSONValue json = parent.CreateChild("AndroidBuildSettings");
+
+    json.SetString("appName", appName_);
+    json.SetString("packageName", packageName_);
+    json.SetString("companyName", companyName_);
+    json.SetString("productName", productName_);
+
+    json.SetString("targetSDKVersion", targetSDKVersion_);
+    json.SetString("minSDKVersion", minSDKVersion_);
+    json.SetString("activityName", activityName_);
+
+
+}
+
+void AndroidBuildSettings::Read(JSONValue& parent)
+{
+    JSONValue json = parent.GetChild("AndroidBuildSettings");
+
+    if (json == JSONValue::EMPTY)
+        return;
+
+    appName_ = json.GetString("appName");
+    packageName_ = json.GetString("packageName");
+    companyName_ = json.GetString("companyName");
+    productName_ = json.GetString("productName");
+
+    targetSDKVersion_ = json.GetString("targetSDKVersion");
+    minSDKVersion_ = json.GetString("minSDKVersion");
+    activityName_ = json.GetString("activityName");
+
+}
+
+
+void IOSBuildSettings::Write(JSONValue& parent)
+{
+    JSONValue json = parent.CreateChild("IOSBuildSettings");
+
+    json.SetString("appName", appName_);
+    json.SetString("packageName", packageName_);
+    json.SetString("companyName", companyName_);
+    json.SetString("productName", productName_);
+
+    json.SetString("provisionFile", provisionFile_);
+    json.SetString("appIDPrefix", appidPrefix_);
+
+
+}
+
+void IOSBuildSettings::Read(JSONValue& parent)
+{
+    JSONValue json = parent.GetChild("IOSBuildSettings");
+
+    if (json == JSONValue::EMPTY)
+        return;
+
+    appName_ = json.GetString("appName");
+    packageName_ = json.GetString("packageName");
+    companyName_ = json.GetString("companyName");
+    productName_ = json.GetString("productName");
+
+    provisionFile_ = json.GetString("provisionFile");
+    appidPrefix_ = json.GetString("appIDPrefix");
+
+}
 
 
 ProjectBuildSettings::ProjectBuildSettings(Context* context) : Object(context),
 ProjectBuildSettings::ProjectBuildSettings(Context* context) : Object(context),
     macBuildSettings_(new MacBuildSettings()),
     macBuildSettings_(new MacBuildSettings()),
     windowsBuildSettings_(new WindowsBuildSettings()),
     windowsBuildSettings_(new WindowsBuildSettings()),
-    webBuildSettings_(new WebBuildSettings())
+    webBuildSettings_(new WebBuildSettings()),
+    androidBuildSettings_(new AndroidBuildSettings()),
+    iosBuildSettings_(new IOSBuildSettings())
 {
 {
 
 
-
-
 }
 }
 
 
 ProjectBuildSettings::~ProjectBuildSettings()
 ProjectBuildSettings::~ProjectBuildSettings()
@@ -118,6 +184,8 @@ bool ProjectBuildSettings::Load(const String& path)
     macBuildSettings_->Read(root);
     macBuildSettings_->Read(root);
     windowsBuildSettings_->Read(root);
     windowsBuildSettings_->Read(root);
     webBuildSettings_->Read(root);
     webBuildSettings_->Read(root);
+    androidBuildSettings_->Read(root);
+    iosBuildSettings_->Read(root);
 
 
     return result;
     return result;
 }
 }
@@ -133,6 +201,8 @@ void ProjectBuildSettings::Save(const String& path)
     macBuildSettings_->Write(root);
     macBuildSettings_->Write(root);
     windowsBuildSettings_->Write(root);
     windowsBuildSettings_->Write(root);
     webBuildSettings_->Write(root);
     webBuildSettings_->Write(root);
+    androidBuildSettings_->Write(root);
+    iosBuildSettings_->Write(root);
 
 
     jsonFile->Save(*file, String("   "));
     jsonFile->Save(*file, String("   "));
 
 

+ 82 - 0
Source/ToolCore/Project/ProjectBuildSettings.h

@@ -96,8 +96,84 @@ private:
     String productName_;
     String productName_;
 };
 };
 
 
+class AndroidBuildSettings : public RefCounted
+{
+    REFCOUNTED(AndroidBuildSettings)
+
+public:
+
+    AndroidBuildSettings() {}
+
+    const String& GetAppName() const { return appName_; }
+    const String& GetPackageName() const { return packageName_; }
+    const String& GetCompanyName() const { return companyName_; }
+    const String& GetProductName() const { return productName_; }
+
+    const String& GetSDKVersion() const { return targetSDKVersion_; }
+    const String& GetMinSDKVersion() const { return minSDKVersion_; }
+    const String& GetActivityName() const { return activityName_; }
+
+    void SetAppName(const String& name) { appName_ = name; }
+    void SetPackageName(const String& packageName) { packageName_ = packageName; }
+    void SetCompanyName(const String& companyName) { companyName_ = companyName; }
+    void SetProductName(const String& productName) { productName_ = productName; }
+
+    void SetSDKVersion(const String& value) { targetSDKVersion_ = value; }
+    void SetMinSDKVersion(const String& value) { minSDKVersion_ = value; }
+    void SetActivityName(const String& value) { activityName_ = value; }
+
+    void Write(JSONValue& parent);
+    void Read(JSONValue& parent);
+
+private:
 
 
+    String appName_;
+    String packageName_;
+    String companyName_;
+    String productName_;
 
 
+    String targetSDKVersion_;
+    String minSDKVersion_;
+    String activityName_;
+};
+
+class IOSBuildSettings : public RefCounted
+{
+    REFCOUNTED(IOSBuildSettings)
+
+public:
+
+    IOSBuildSettings() {}
+
+    const String& GetAppName() const { return appName_; }
+    const String& GetPackageName() const { return packageName_; }
+    const String& GetCompanyName() const { return companyName_; }
+    const String& GetProductName() const { return productName_; }
+
+    const String& GetProvisionFile() const { return provisionFile_; }
+    const String& GetAppIDPrefix() const { return appidPrefix_; }
+
+    void SetAppName(const String& name) { appName_ = name; }
+    void SetPackageName(const String& packageName) { packageName_ = packageName; }
+    void SetCompanyName(const String& companyName) { companyName_ = companyName; }
+    void SetProductName(const String& productName) { productName_ = productName; }
+
+    void SetProvisionFile(const String& value) { provisionFile_ = value; }
+    void SetAppIDPrefix(const String& value) { appidPrefix_ = value; }
+
+    void Write(JSONValue& parent);
+    void Read(JSONValue& parent);
+
+private:
+
+    String appName_;
+    String packageName_;
+    String companyName_;
+    String productName_;
+
+    String provisionFile_;
+    String appidPrefix_;
+};
 
 
 class ProjectBuildSettings : public Object
 class ProjectBuildSettings : public Object
 {
 {
@@ -110,6 +186,10 @@ public:
     virtual ~ProjectBuildSettings();
     virtual ~ProjectBuildSettings();
 
 
     MacBuildSettings* GetMacBuildSettings() { return macBuildSettings_; }
     MacBuildSettings* GetMacBuildSettings() { return macBuildSettings_; }
+    WindowsBuildSettings* GetWindowsBuildSettings() { return windowsBuildSettings_; }
+    WebBuildSettings* GetWebBuildSettings() { return webBuildSettings_; }
+    AndroidBuildSettings* GetAndroidBuildSettings() { return androidBuildSettings_; }
+    IOSBuildSettings* GetIOSBuildSettings() { return iosBuildSettings_; }
 
 
     bool Load(const String& path);
     bool Load(const String& path);
     void Save(const String& path);
     void Save(const String& path);
@@ -119,6 +199,8 @@ private:
     SharedPtr<MacBuildSettings> macBuildSettings_;
     SharedPtr<MacBuildSettings> macBuildSettings_;
     SharedPtr<WindowsBuildSettings> windowsBuildSettings_;
     SharedPtr<WindowsBuildSettings> windowsBuildSettings_;
     SharedPtr<WebBuildSettings> webBuildSettings_;
     SharedPtr<WebBuildSettings> webBuildSettings_;
+    SharedPtr<AndroidBuildSettings> androidBuildSettings_;
+    SharedPtr<IOSBuildSettings> iosBuildSettings_;
 
 
 };
 };