Exemplo n.º 1
0
ProjectSettings_struct*ProjLoad_loadProjectSettingsFromNSDictionary(void*dict)
{
    if(dict==NULL)
    {
        return NULL;
    }

    ProjectSettings_struct* projSettingsStruct = ProjectSettings_createInstance();
    ProjectSettings&projSettings = *((ProjectSettings*)ProjectSettings_getData(projSettingsStruct));

    void* sdk = NSDictionary_objectForKey(dict, "SDK");
    if(sdk!=NULL)
    {
        projSettings.setSDK(NSString_UTF8String(sdk));
    }

    void* assemblerFlags = NSDictionary_objectForKey(dict, "AssemblerFlags");
    if(assemblerFlags!=NULL)
    {
        for(unsigned int i=0; i<NSArray_count(assemblerFlags); i++)
        {
            void*flag = NSArray_objectAtIndex(assemblerFlags, i);
            if(flag!=NULL)
            {
                projSettings.addAssemblerFlag(NSString_UTF8String(flag));
            }
        }
    }

    void* compilerFlags = NSDictionary_objectForKey(dict, "CompilerFlags");
    if(compilerFlags!=NULL)
    {
        for(unsigned int i=0; i<NSArray_count(compilerFlags); i++)
        {
            void*flag = NSArray_objectAtIndex(compilerFlags, i);
            if(flag!=NULL)
            {
                projSettings.addCompilerFlag(NSString_UTF8String(flag));
            }
        }
    }

    void* disabledWarnings = NSDictionary_objectForKey(dict, "DisabledWarnings");
    if(disabledWarnings!=NULL)
    {
        for(unsigned int i=0; i<NSArray_count(disabledWarnings); i++)
        {
            void*warning = NSArray_objectAtIndex(disabledWarnings, i);
            if(warning!=NULL)
            {
                projSettings.addDisabledWarning(NSString_UTF8String(warning));
            }
        }
    }

    return projSettingsStruct;
}
Exemplo n.º 2
0
ProjectBuildInfo_struct*ProjLoad_loadProjectBuildInfoFromNSDictionary(void*dict)
{
    if(dict==NULL)
    {
        return NULL;
    }

    ProjectBuildInfo_struct* projBuildInfoStruct = ProjectBuildInfo_createInstance();
    ProjectBuildInfo& projBuildInfo = *((ProjectBuildInfo*)ProjectBuildInfo_getData(projBuildInfoStruct));

    void* editedFiles = NSDictionary_objectForKey(dict, "EditedFiles");
    if(editedFiles!=NULL)
    {
        for(unsigned int i=0; i<NSArray_count(editedFiles); i++)
        {
            void* file = NSArray_objectAtIndex(editedFiles, i);
            if(file!=NULL)
            {
                projBuildInfo.addEditedFile(NSString_UTF8String(file));
            }
        }
    }

    return projBuildInfoStruct;
}
Exemplo n.º 3
0
bool GlobalPreferences_load()
{
	String settingsPath = (String)getenv("HOME") + "/Library/Preferences/" + bundleID + ".plist";
	void*dict = ProjLoad_loadAllocatedPlist(settingsPath);
	if(dict!=NULL)
	{
		void* sdk = NSDictionary_objectForKey(dict, "DefaultSDK");
		if(sdk!=NULL)
		{
			defaultSDK = NSString_UTF8String(sdk);
			//make sure sdk is valid
			if(!Global_checkSDKFolderValid(defaultSDK))
			{
				defaultSDK = "";
			}
		}
		
		void* editorFont = NSDictionary_objectForKey(dict, "EditorFont");
		if(editorFont!=NULL)
		{
			codeEditorFont = NSString_UTF8String(editorFont);
			//TODO check and make sure font is valid
		}
		
		void* editorFontSize = NSDictionary_objectForKey(dict, "EditorFontSize");
		if(editorFontSize!=NULL)
		{
			codeEditorFontSize = NSNumber_intValue(editorFontSize);
			if(codeEditorFontSize < CODEEDITOR_MINFONTSIZE)
			{
				codeEditorFontSize = CODEEDITOR_MINFONTSIZE;
			}
			else if(codeEditorFontSize > CODEEDITOR_MAXFONTSIZE)
			{
				codeEditorFontSize = CODEEDITOR_MAXFONTSIZE;
			}
		}
		
		void* installedAppsArray = NSDictionary_objectForKey(dict, "InstalledApps");
		if(installedAppsArray!=NULL)
		{
			installedApps.clear();
			for(unsigned int i=0; i<NSArray_count(installedAppsArray); i++)
			{
				void*appName = NSArray_objectAtIndex(installedAppsArray, i);
				installedApps.add(NSString_UTF8String(appName));
			}
		}
		
		bool resave = false;
		void* latestVersion = NSDictionary_objectForKey(dict, "LatestVersion");
		if(latestVersion!=NULL)
		{
			double version = NSNumber_doubleValue(latestVersion);
			if(version!=currentVersion)
			{
				resave = true;
				showSimpleMessageBox("miniCode", versionMessage);
			}
		}
		else
		{
			resave = true;
			showSimpleMessageBox("miniCode", versionMessage);
		}
		
		id_release(dict);
		if(resave)
		{
			return GlobalPreferences_save();
		}
		return true;
	}
	else
	{
		showSimpleMessageBox("miniCode", versionMessage);
		return GlobalPreferences_save();
	}
	return false;
}
Exemplo n.º 4
0
ProjectData_struct*ProjLoad_loadProjectDataFromNSDictionary(void*dict)
{
    if(dict==NULL)
    {
        return NULL;
    }

    const char*name = NSString_UTF8String(NSDictionary_objectForKey(dict,"name"));
    const char*author = NSString_UTF8String(NSDictionary_objectForKey(dict,"author"));
    if(name==NULL || author==NULL || strlen(name)==0 || strlen(author)==0)
    {
        showSimpleMessageBox("Error loading ProjectData", "name or author field in project.plist is empty or not available");
        return NULL;
    }

    ProjectData_struct*projDataStruct = ProjectData_createInstance(name, author);
    ProjectData&projData = *((ProjectData*)ProjectData_getData(projDataStruct));

    const char*bundleID = NSString_UTF8String(NSDictionary_objectForKey(dict,"bundleIdentifier"));
    if(bundleID!=NULL && strlen(bundleID)!=0)
    {
        projData.setBundleIdentifier(bundleID);
    }

    const char*executable = NSString_UTF8String(NSDictionary_objectForKey(dict,"executable"));
    if(executable!=NULL && strlen(executable)!=0)
    {
        projData.setExecutableName(executable);
    }

    const char*product = NSString_UTF8String(NSDictionary_objectForKey(dict,"product"));
    if(product!=NULL && strlen(product)!=0)
    {
        projData.setProductName(product);
    }

    const char*projectType = NSString_UTF8String(NSDictionary_objectForKey(dict,"projectType"));
    if(projectType!=NULL && strlen(projectType)!=0)
    {
        ProjectType projType = ProjectType_convertFromString(projectType);
        if(projType!=PROJECTTYPE_UNKNOWN)
        {
            projData.setProjectType(projType);
        }
    }

    const char*projectDevice = NSString_UTF8String(NSDictionary_objectForKey(dict,"projectDevice"));
    if(projectDevice!=NULL && strlen(projectDevice)!=0)
    {
        ProjectDevice projDevice = ProjectDevice_convertFromString(projectDevice);
        if(projDevice!=DEVICE_UNKNOWN)
        {
            projData.setProjectDevice(projDevice);
        }
    }

    void*frameworks = NSDictionary_objectForKey(dict,"frameworks");
    if(frameworks!=NULL)
    {
        for(unsigned int i=0; i<NSArray_count(frameworks); i++)
        {
            const char*framework = NSString_UTF8String(NSArray_objectAtIndex(frameworks, i));
            projData.addFramework(framework);
        }
    }

    void*sourceFiles = NSDictionary_objectForKey(dict,"sourceFiles");
    if(sourceFiles!=NULL)
    {
        StringTree_struct*sourceTree = StringTree_convertNSArrayToFileTree(sourceFiles);
        projData.getSourceFiles() = *((StringTree*)StringTree_getData(sourceTree));
        StringTree_destroyInstance(sourceTree);
    }

    void*resources = NSDictionary_objectForKey(dict, "resources");
    if(resources!=NULL)
    {
        StringTree_struct*resourceTree = StringTree_convertNSArrayToFileTree(resources);
        projData.getResourceFiles() = *((StringTree*)StringTree_getData(resourceTree));
        StringTree_destroyInstance(resourceTree);
    }

    void*external = NSDictionary_objectForKey(dict, "external");
    if(external!=NULL)
    {
        void*includeArray = NSDictionary_objectForKey(external, "include");
        for(unsigned int i=0; i<NSArray_count(includeArray); i++)
        {
            const char* includePath = NSString_UTF8String(NSArray_objectAtIndex(includeArray, i));
            if(includePath!=NULL && strlen(includePath)!=0)
            {
                projData.getIncludeDirs().add(includePath);
            }
        }

        void*libArray = NSDictionary_objectForKey(external, "lib");
        for(unsigned int i=0; i<NSArray_count(libArray); i++)
        {
            const char* libPath = NSString_UTF8String(NSArray_objectAtIndex(libArray, i));
            if(libPath!=NULL && strlen(libPath)!=0)
            {
                projData.getLibDirs().add(libPath);
            }
        }
    }

    return projDataStruct;
}