mirror of
https://github.com/ShrlAlgo/AddinManager.git
synced 2026-03-08 00:48:56 +00:00
添加项目文件。
This commit is contained in:
64
AddInManager/AddinsApplication.cs
Normal file
64
AddInManager/AddinsApplication.cs
Normal file
@@ -0,0 +1,64 @@
|
||||
using System;
|
||||
|
||||
namespace AddInManager
|
||||
{
|
||||
public class AddinsApplication : Addins
|
||||
{
|
||||
public void ReadItems(IniFile file)
|
||||
{
|
||||
var num = file.ReadInt("ExternalApplications", "EACount");
|
||||
var i = 1;
|
||||
while (i <= num)
|
||||
{
|
||||
ReadExternalApplication(file, i++);
|
||||
}
|
||||
SortAddin();
|
||||
}
|
||||
|
||||
private bool ReadExternalApplication(IniFile file, int nodeNumber)
|
||||
{
|
||||
var text = file.ReadString("ExternalApplications", $"EAClassName{nodeNumber}");
|
||||
var text2 = file.ReadString("ExternalApplications", $"EAAssembly{nodeNumber}");
|
||||
if (string.IsNullOrEmpty(text) || string.IsNullOrEmpty(text2))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
AddItem(new AddinItem(AddinType.Application)
|
||||
{
|
||||
Name = string.Empty,
|
||||
AssemblyPath = text2,
|
||||
FullClassName = text
|
||||
});
|
||||
return true;
|
||||
}
|
||||
|
||||
public void Save(IniFile file)
|
||||
{
|
||||
file.WriteSection("ExternalApplications");
|
||||
file.Write("ExternalApplications", "EACount", m_maxCount);
|
||||
var num = 0;
|
||||
foreach (var addin in m_addinDict.Values)
|
||||
{
|
||||
foreach (var addinItem in addin.ItemList)
|
||||
{
|
||||
if (num >= m_maxCount)
|
||||
{
|
||||
break;
|
||||
}
|
||||
if (addinItem.Save)
|
||||
{
|
||||
WriteExternalApplication(file, addinItem, ++num);
|
||||
}
|
||||
}
|
||||
}
|
||||
file.Write("ExternalApplications", "EACount", num);
|
||||
}
|
||||
|
||||
private bool WriteExternalApplication(IniFile file, AddinItem item, int number)
|
||||
{
|
||||
file.Write("ExternalApplications", $"EAClassName{number}", item.FullClassName);
|
||||
file.Write("ExternalApplications", $"EAAssembly{number}", item.AssemblyPath);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user