A small data structure class hold values for making Doxygen config files

Пример #1
0
 void LoadConfig()
 {
     if (BaseFileString == null)
     {
         readBaseConfig();
     }
     if (Config == null)
     {
         if (!LoadSavedConfig())
         {
             Config = new DoxygenConfig();
         }
     }
     if (EditorPrefs.HasKey(UnityProjectID + "DoxyFileExists"))
     {
         DoxyFileExists = EditorPrefs.GetBool(UnityProjectID + "DoxyFileExists");
     }
     if (EditorPrefs.HasKey(UnityProjectID + "DocsGenerated"))
     {
         DocsGenerated = EditorPrefs.GetBool(UnityProjectID + "DocsGenerated");
     }
     if (EditorPrefs.HasKey(UnityProjectID + "DoxyTheme"))
     {
         SelectedTheme = EditorPrefs.GetInt(UnityProjectID + "DoxyTheme");
     }
     if (EditorPrefs.HasKey("DoxyEXE"))
     {
         Config.PathtoDoxygen = EditorPrefs.GetString("DoxyEXE");
     }
 }
Пример #2
0
    bool LoadSavedConfig()
    {
        if (EditorPrefs.HasKey(UnityProjectID + "DoxyProjectName"))
        {
            Config                  = new DoxygenConfig();
            Config.Project          = EditorPrefs.GetString(UnityProjectID + "DoxyProjectName");
            Config.Version          = EditorPrefs.GetString(UnityProjectID + "DoxyProjectNumber");
            Config.Synopsis         = EditorPrefs.GetString(UnityProjectID + "DoxyProjectBrief");
            Config.DocDirectory     = EditorPrefs.GetString(UnityProjectID + "DoxyProjectOutput");
            Config.ScriptsDirectory = EditorPrefs.GetString(UnityProjectID + "DoxyProjectFolder");

            // Reading an existing Doxyfile if present to replace the values
            try
            {
                Config.Project = Regex.Match(
                    BaseFileString, "PROJECT_NAME           =( *)\"(.*)\"( *)").Groups[2].Value.TrimEnd(' ');
                Config.Version = Regex.Match(
                    BaseFileString, "PROJECT_NUMBER         =( *)(.*)( *)").Groups[2].Value.TrimEnd(' ');
                Config.Synopsis = Regex.Match(
                    BaseFileString, "PROJECT_BRIEF          =( *)\"(.*)\"( *)").Groups[2].Value.TrimEnd(' ');
            }
            catch (Exception e)
            {
                UnityEngine.Debug.Log("Could not load config from an existing Doxyfile: " + e.Message + e.StackTrace);
                return(true);
            }
            return(true);
        }
        return(false);
    }
Пример #3
0
    public void MakeNewDoxyFile(DoxygenConfig config)
    {
        SaveConfigtoEditor(config);
        CreateProgressString   = "Creating Output Folder";
        DoxyfileCreateProgress = 0.1f;
        System.IO.Directory.CreateDirectory(config.DocDirectory);

        DoxyfileCreateProgress = 0.1f;
        string newfile = BaseFileString.Replace(
            Regex.Match(BaseFileString, "PROJECT_NAME           =(.*)").Value,
            "PROJECT_NAME           = " + "\"" + config.Project + "\"");

        DoxyfileCreateProgress = 0.2f;
        newfile = newfile.Replace(
            Regex.Match(BaseFileString, "PROJECT_NUMBER         =(.*)").Value,
            "PROJECT_NUMBER         = " + config.Version);
        DoxyfileCreateProgress = 0.3f;
        newfile = newfile.Replace(
            Regex.Match(BaseFileString, "PROJECT_BRIEF          =(.*)").Value,
            "PROJECT_BRIEF          = " + "\"" + config.Synopsis + "\"");
        DoxyfileCreateProgress = 0.4f;
        newfile = newfile.Replace(
            Regex.Match(BaseFileString, "OUTPUT_DIRECTORY       =(.*)").Value,
            "OUTPUT_DIRECTORY       = " + "\"" + config.DocDirectory + "\"");
        DoxyfileCreateProgress = 0.5f;
        newfile = newfile.Replace(
            Regex.Match(BaseFileString, "INPUT                  =(.*)").Value,
            "INPUT                  = " + "\"" + config.ScriptsDirectory + "\"");
        DoxyfileCreateProgress = 0.6f;

        switch (SelectedTheme)
        {
        case 0:
            newfile = newfile.Replace("GENERATE_TREEVIEW      = NO", "GENERATE_TREEVIEW      = YES");
            break;

        case 1:
            newfile = newfile.Replace("SEARCHENGINE           = YES", "SEARCHENGINE           = NO");
            newfile = newfile.Replace("CLASS_DIAGRAMS         = YES", "CLASS_DIAGRAMS         = NO");
            break;
        }

        CreateProgressString = "New Options Set";

        StringBuilder sb = new StringBuilder();

        sb.Append(newfile);
        StreamWriter NewDoxyfile = new StreamWriter(config.DocDirectory + @"\Doxyfile");

        NewDoxyfile.Write(sb.ToString());
        NewDoxyfile.Close();
        DoxyfileCreateProgress = 1.0f;
        CreateProgressString   = "New Doxyfile Created!";
        DoxyFileExists         = true;
        EditorPrefs.SetBool(UnityProjectID + "DoxyFileExists", DoxyFileExists);
    }
Пример #4
0
 void SaveConfigtoEditor(DoxygenConfig config)
 {
     EditorPrefs.SetString(UnityProjectID + "DoxyProjectName", config.Project);
     EditorPrefs.SetString(UnityProjectID + "DoxyProjectNumber", config.Version);
     EditorPrefs.SetString(UnityProjectID + "DoxyProjectBrief", config.Synopsis);
     EditorPrefs.SetString(UnityProjectID + "DoxyProjectFolder", config.ScriptsDirectory);
     EditorPrefs.SetString(UnityProjectID + "DoxyProjectOutput", config.DocDirectory);
     EditorPrefs.SetString("DoxyEXE", config.PathtoDoxygen);
     EditorPrefs.SetInt(UnityProjectID + "DoxyTheme", SelectedTheme);
 }
Пример #5
0
    public static void Init()
    {
        Config = new DoxygenConfig();

        DoxygenWindow instance = (DoxygenWindow)EditorWindow.GetWindow(typeof(DoxygenWindow), false, "Documentation");

        instance.minSize        = new Vector2(420, 245);
        instance.maxSize        = new Vector2(420, 720);
        instance.UnityProjectID = PlayerSettings.productName + ":";
    }
Пример #6
0
 bool LoadSavedConfig()
 {
     if (EditorPrefs.HasKey(UnityProjectID + "DoxyProjectName"))
     {
         Config                  = new DoxygenConfig();
         Config.Project          = EditorPrefs.GetString(UnityProjectID + "DoxyProjectName");
         Config.Version          = EditorPrefs.GetString(UnityProjectID + "DoxyProjectNumber");
         Config.Synopsis         = EditorPrefs.GetString(UnityProjectID + "DoxyProjectBrief");
         Config.DocDirectory     = EditorPrefs.GetString(UnityProjectID + "DoxyProjectOutput");
         Config.ScriptsDirectory = EditorPrefs.GetString(UnityProjectID + "DoxyProjectFolder");
         return(true);
     }
     return(false);
 }
Пример #7
0
 void LoadConfig()
 {
     try
     {
         var doxyfileReader = new StreamReader(Config.DocDirectory + "/Doxyfile");
         BaseFileString = doxyfileReader.ReadToEnd();
         doxyfileReader.Close();
     }
     catch (Exception)
     {
         // Doxyfile unavailable, will use base file
     }
     if (BaseFileString == null)
     {
         readBaseConfig();
     }
     if (!LoadSavedConfig())
     {
         Config = new DoxygenConfig();
     }
     if (EditorPrefs.HasKey(UnityProjectID + "DoxyFileExists"))
     {
         DoxyFileExists = EditorPrefs.GetBool(UnityProjectID + "DoxyFileExists");
     }
     if (EditorPrefs.HasKey(UnityProjectID + "DocsGenerated"))
     {
         DocsGenerated = EditorPrefs.GetBool(UnityProjectID + "DocsGenerated");
     }
     if (EditorPrefs.HasKey(UnityProjectID + "DoxyTheme"))
     {
         SelectedTheme = EditorPrefs.GetInt(UnityProjectID + "DoxyTheme");
     }
     if (EditorPrefs.HasKey("DoxyEXE"))
     {
         Config.PathtoDoxygen = EditorPrefs.GetString("DoxyEXE");
     }
 }
Пример #8
0
	bool LoadSavedConfig()
	{
		if( EditorPrefs.HasKey (UnityProjectID+"DoxyProjectName"))
		{
			Config = new DoxygenConfig();
			Config.Project = EditorPrefs.GetString(UnityProjectID+"DoxyProjectName");
			Config.Version = EditorPrefs.GetString(UnityProjectID+"DoxyProjectNumber");
			Config.Synopsis = EditorPrefs.GetString(UnityProjectID+"DoxyProjectBrief");
			Config.DocDirectory = EditorPrefs.GetString(UnityProjectID+"DoxyProjectOutput");
			Config.ScriptsDirectory = EditorPrefs.GetString(UnityProjectID+"DoxyProjectFolder");				
			return true;
		}
		return false;
	}
Пример #9
0
	void LoadConfig()
	{
		if(BaseFileString == null)
			readBaseConfig();
		if(Config == null)
		{
			if(!LoadSavedConfig())
				Config = new DoxygenConfig();
		}	
		if(EditorPrefs.HasKey(UnityProjectID+"DoxyFileExists"))
			DoxyFileExists = EditorPrefs.GetBool(UnityProjectID+"DoxyFileExists");
		if(EditorPrefs.HasKey(UnityProjectID+"DocsGenerated"))
			DocsGenerated = EditorPrefs.GetBool(UnityProjectID+"DocsGenerated");
		if(EditorPrefs.HasKey(UnityProjectID+"DoxyTheme"))
			SelectedTheme = EditorPrefs.GetInt(UnityProjectID+"DoxyTheme");
		if(EditorPrefs.HasKey("DoxyEXE"))
			Config.PathtoDoxygen = EditorPrefs.GetString("DoxyEXE");
	}
Пример #10
0
	void SaveConfigtoEditor(DoxygenConfig config)
	{
		EditorPrefs.SetString(UnityProjectID+"DoxyProjectName",config.Project);
		EditorPrefs.SetString(UnityProjectID+"DoxyProjectNumber",config.Version);
		EditorPrefs.SetString(UnityProjectID+"DoxyProjectBrief",config.Synopsis);
		EditorPrefs.SetString(UnityProjectID+"DoxyProjectFolder",config.ScriptsDirectory);
		EditorPrefs.SetString(UnityProjectID+"DoxyProjectOutput",config.DocDirectory);
		EditorPrefs.SetString("DoxyEXE", config.PathtoDoxygen);
		EditorPrefs.SetInt(UnityProjectID+"DoxyTheme", SelectedTheme);
	}
Пример #11
0
	public void MakeNewDoxyFile(DoxygenConfig config)
	{
		SaveConfigtoEditor(config);
		CreateProgressString = "Creating Output Folder";
		DoxyfileCreateProgress = 0.1f;
		System.IO.Directory.CreateDirectory(config.DocDirectory);

		DoxyfileCreateProgress = 0.1f;
		string newfile = BaseFileString.Replace("PROJECT_NAME           =", "PROJECT_NAME           = "+"\""+config.Project+"\"");
		DoxyfileCreateProgress = 0.2f;
		newfile = newfile.Replace("PROJECT_NUMBER         =", "PROJECT_NUMBER         = "+config.Version);
		DoxyfileCreateProgress = 0.3f;
		newfile = newfile.Replace("PROJECT_BRIEF          =", "PROJECT_BRIEF          = "+"\""+config.Synopsis+"\"");
		DoxyfileCreateProgress = 0.4f;
		newfile = newfile.Replace("OUTPUT_DIRECTORY       =", "OUTPUT_DIRECTORY       = "+"\""+config.DocDirectory+"\"");
		DoxyfileCreateProgress = 0.5f;
		newfile = newfile.Replace("INPUT                  =", "INPUT                  = "+"\""+config.ScriptsDirectory+"\"");
		DoxyfileCreateProgress = 0.6f;

		switch(SelectedTheme)
		{
			case 0:
				newfile = newfile.Replace("GENERATE_TREEVIEW      = NO", "GENERATE_TREEVIEW      = YES");
			break;
			case 1:
				newfile = newfile.Replace("SEARCHENGINE           = YES", "SEARCHENGINE           = NO");
				newfile = newfile.Replace("CLASS_DIAGRAMS         = YES", "CLASS_DIAGRAMS         = NO");
			break;
		}

		CreateProgressString = "New Options Set";

		StringBuilder sb = new StringBuilder();
		sb.Append(newfile);
        StreamWriter NewDoxyfile = new StreamWriter(config.DocDirectory + @"\Doxyfile");
        
        NewDoxyfile.Write(sb.ToString());
        NewDoxyfile.Close();
        DoxyfileCreateProgress = 1.0f;
        CreateProgressString = "New Doxyfile Created!";
        DoxyFileExists = true;
        EditorPrefs.SetBool(UnityProjectID+"DoxyFileExists",DoxyFileExists);
	}