Rename FamilyTreeMaker plugin to the more-generic Genealogy plugin
This commit is contained in:
parent
086e8e6088
commit
b7bc270a4e
@ -4,10 +4,14 @@ using System.Text;
|
||||
using UniversalEditor.Accessors;
|
||||
using UniversalEditor.DataFormats.Markup.XML;
|
||||
using UniversalEditor.DataFormats.Package.OpenPackagingConvention;
|
||||
using UniversalEditor.DataFormats.Text.Formatted.DOC;
|
||||
using UniversalEditor.Plugins.Genealogy.ObjectModels.FamilyTree;
|
||||
using UniversalEditor.ObjectModels.FileSystem;
|
||||
using UniversalEditor.ObjectModels.Markup;
|
||||
using UniversalEditor.ObjectModels.Multimedia3D.Model;
|
||||
using UniversalEditor.ObjectModels.Package;
|
||||
using UniversalEditor.ObjectModels.Text.Formatted;
|
||||
using UniversalEditor.Plugins.Genealogy.DataFormats.GEDCOM;
|
||||
|
||||
namespace UniversalEditor.TestProject
|
||||
{
|
||||
@ -251,6 +255,51 @@ namespace UniversalEditor.TestProject
|
||||
}
|
||||
return String.Empty;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private static void TestCDFDOC()
|
||||
{
|
||||
DOCDataFormat doc = new DOCDataFormat();
|
||||
FormattedTextObjectModel ftom = new FormattedTextObjectModel();
|
||||
|
||||
Document.Load(ftom, doc, new FileAccessor("/home/beckermj/Documents/UE Tests/OLE Compound Document/test.doc"));
|
||||
}
|
||||
|
||||
private static void TestCDFFTW()
|
||||
{
|
||||
GEDCOMDataFormat ged = new GEDCOMDataFormat();
|
||||
|
||||
FamilyTreeObjectModel ftom = new FamilyTreeObjectModel();
|
||||
|
||||
/*
|
||||
FTWDataFormat cdf = new FTWDataFormat();
|
||||
cdf.LogPath = "/tmp/test.ue/AAFT/AAFT0000";
|
||||
Document.Load(ftom, cdf, new FileAccessor("/tmp/test.ue/AAFT/AAFT0000.FTW"));
|
||||
|
||||
cdf.LogPath = "/tmp/test.ue/AAFT/AAFT0001";
|
||||
Document.Load(ftom, cdf, new FileAccessor("/tmp/test.ue/AAFT/AAFT0001.FTW"));
|
||||
|
||||
cdf.LogPath = "/tmp/test.ue/AAFT/AAFT0002";
|
||||
Document.Load(ftom, cdf, new FileAccessor("/tmp/test.ue/AAFT/AAFT0002.FTW"));
|
||||
// Document.Save(ftom, cdf, new FileAccessor("/home/beckermj/Documents/UE Tests/OLE Compound Document/Anthony Azcona Family Tree UE-TEST.ftw", true, true));
|
||||
*/
|
||||
|
||||
Document.Load(ftom, ged, new FileAccessor("/tmp/test.ue/AAFT/AAFT.GED"));
|
||||
}
|
||||
|
||||
private static void TestOPCModel()
|
||||
{
|
||||
DateTime start = DateTime.Now;
|
||||
|
||||
ModelObjectModel model = new ModelObjectModel();
|
||||
UniversalEditor.DataFormats.Multimedia3D.Model.PolygonMovieMaker.PMDModelDataFormat pmd = new DataFormats.Multimedia3D.Model.PolygonMovieMaker.PMDModelDataFormat();
|
||||
|
||||
Document.Load(model, pmd, new FileAccessor("/home/beckermj/Documents/UE Tests/Open Packaging Convention/Concertroid Model Data OPC (.pmdx)/test.pmdx_source/model/kio_miku_20111121.pmd"));
|
||||
Document.Save(model, new OPCModelDataFormat(), new FileAccessor("/home/beckermj/Documents/UE Tests/Open Packaging Convention/Concertroid Model Data OPC (.pmdx)/kio_miku.pmdx", true, true));
|
||||
|
||||
DateTime end = DateTime.Now;
|
||||
Console.WriteLine("Took " + (end - start).ToString() + " with buffer size " + MemoryAccessor.DefaultBufferAllocationSize);
|
||||
}
|
||||
|
||||
public static void Main (string [] args)
|
||||
@ -264,16 +313,8 @@ namespace UniversalEditor.TestProject
|
||||
Document.Save (om, df, new FileAccessor (fileName, true, true));
|
||||
*/
|
||||
|
||||
DateTime start = DateTime.Now;
|
||||
|
||||
ModelObjectModel model = new ModelObjectModel();
|
||||
UniversalEditor.DataFormats.Multimedia3D.Model.PolygonMovieMaker.PMDModelDataFormat pmd = new DataFormats.Multimedia3D.Model.PolygonMovieMaker.PMDModelDataFormat();
|
||||
|
||||
Document.Load(model, pmd, new FileAccessor("/home/beckermj/Documents/UE Tests/Open Packaging Convention/Concertroid Model Data OPC (.pmdx)/test.pmdx_source/model/kio_miku_20111121.pmd"));
|
||||
Document.Save(model, new OPCModelDataFormat(), new FileAccessor("/home/beckermj/Documents/UE Tests/Open Packaging Convention/Concertroid Model Data OPC (.pmdx)/kio_miku.pmdx", true, true));
|
||||
|
||||
DateTime end = DateTime.Now;
|
||||
Console.WriteLine("Took " + (end - start).ToString() + " with buffer size " + MemoryAccessor.DefaultBufferAllocationSize);
|
||||
// TestCDFDOC();
|
||||
TestCDFFTW();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -59,6 +59,10 @@
|
||||
<Project>{4FD9DB1D-76AA-48D1-8446-95376C4A2BC2}</Project>
|
||||
<Name>UniversalEditor.Plugins.Multimedia3D</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Plugins\UniversalEditor.Plugins.Genealogy\UniversalEditor.Plugins.Genealogy.csproj">
|
||||
<Project>{74A835FD-93B8-4268-B120-1ACAA128AC7B}</Project>
|
||||
<Name>UniversalEditor.Plugins.Genealogy</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
@ -1,5 +1,5 @@
|
||||
using System;
|
||||
using UniversalEditor.ObjectModels.FamilyTree;
|
||||
using System;
|
||||
using UniversalEditor.Plugins.Genealogy.ObjectModels.FamilyTree;
|
||||
using UniversalEditor.UserInterface;
|
||||
|
||||
namespace UniversalEditor.Editors.FamilyTree
|
||||
@ -19,22 +19,22 @@ namespace UniversalEditor.Editors.FamilyTree
|
||||
public override void Paste ()
|
||||
{
|
||||
throw new System.NotImplementedException ();
|
||||
}
|
||||
|
||||
private static EditorReference _er = null;
|
||||
}
|
||||
|
||||
private static EditorReference _er = null;
|
||||
public override EditorReference MakeReference ()
|
||||
{
|
||||
{
|
||||
if (_er == null) {
|
||||
_er = base.MakeReference ();
|
||||
_er = base.MakeReference ();
|
||||
_er.SupportedObjectModels.Add (typeof (FamilyTreeObjectModel));
|
||||
}
|
||||
}
|
||||
return _er;
|
||||
}
|
||||
|
||||
protected override void OnObjectModelChanged (EventArgs e)
|
||||
{
|
||||
base.OnObjectModelChanged (e);
|
||||
|
||||
base.OnObjectModelChanged (e);
|
||||
|
||||
FamilyTreeObjectModel ftom = (ObjectModel as FamilyTreeObjectModel);
|
||||
}
|
||||
}
|
||||
@ -46,10 +46,6 @@
|
||||
<Project>{30467E5C-05BC-4856-AADC-13906EF4CADD}</Project>
|
||||
<Name>UniversalEditor.Essential</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Plugins\UniversalEditor.Plugins.FamilyTreeMaker\UniversalEditor.Plugins.FamilyTreeMaker.csproj">
|
||||
<Project>{74A835FD-93B8-4268-B120-1ACAA128AC7B}</Project>
|
||||
<Name>UniversalEditor.Plugins.FamilyTreeMaker</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Plugins\UniversalEditor.Plugins.FileSystem\UniversalEditor.Plugins.FileSystem.csproj">
|
||||
<Project>{76FD1306-9CA4-428F-993B-B7E4EEEACBF3}</Project>
|
||||
<Name>UniversalEditor.Plugins.FileSystem</Name>
|
||||
@ -62,6 +58,10 @@
|
||||
<Project>{29E1C1BB-3EA5-4062-B62F-85EEC703FE07}</Project>
|
||||
<Name>UniversalWidgetToolkit</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Plugins\UniversalEditor.Plugins.Genealogy\UniversalEditor.Plugins.Genealogy.csproj">
|
||||
<Project>{74A835FD-93B8-4268-B120-1ACAA128AC7B}</Project>
|
||||
<Name>UniversalEditor.Plugins.Genealogy</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
@ -1,27 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
using UniversalEditor.DataFormats.FileSystem.Microsoft.CompoundDocument;
|
||||
using UniversalEditor.ObjectModels.FamilyTree;
|
||||
using UniversalEditor.ObjectModels.FileSystem;
|
||||
|
||||
namespace UniversalEditor.DataFormats.FamilyTreeMaker.Windows
|
||||
{
|
||||
public class FTWDataFormat : CompoundDocumentDataFormat
|
||||
{
|
||||
protected override void BeforeLoadInternal (Stack<ObjectModel> objectModels)
|
||||
{
|
||||
base.BeforeLoadInternal (objectModels);
|
||||
objectModels.Push (new FileSystemObjectModel ());
|
||||
}
|
||||
protected override void AfterLoadInternal (Stack<ObjectModel> objectModels)
|
||||
{
|
||||
base.AfterLoadInternal (objectModels);
|
||||
|
||||
FileSystemObjectModel fsom = (objectModels.Pop () as FileSystemObjectModel);
|
||||
FamilyTreeObjectModel ft = (objectModels.Pop () as FamilyTreeObjectModel);
|
||||
}
|
||||
protected override void BeforeSaveInternal (Stack<ObjectModel> objectModels)
|
||||
{
|
||||
base.BeforeSaveInternal (objectModels);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,55 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UniversalEditor.DataFormats.FileSystem.Microsoft.CompoundDocument;
|
||||
using UniversalEditor.Plugins.Genealogy.ObjectModels.FamilyTree;
|
||||
using UniversalEditor.ObjectModels.FileSystem;
|
||||
|
||||
namespace UniversalEditor.Plugins.Genealogy.DataFormats.FamilyTreeMaker.Windows
|
||||
{
|
||||
public class FTWDataFormat : CompoundDocumentDataFormat
|
||||
{
|
||||
protected override void BeforeLoadInternal (Stack<ObjectModel> objectModels)
|
||||
{
|
||||
base.BeforeLoadInternal (objectModels);
|
||||
objectModels.Push (new FileSystemObjectModel ());
|
||||
}
|
||||
protected override void AfterLoadInternal (Stack<ObjectModel> objectModels)
|
||||
{
|
||||
base.AfterLoadInternal (objectModels);
|
||||
|
||||
FileSystemObjectModel fsom = (objectModels.Pop () as FileSystemObjectModel);
|
||||
|
||||
File IND_DB = fsom.Files["IND.DB"];
|
||||
File INDGROUPS = fsom.Files["QEDIT0.DB"];
|
||||
|
||||
INDDBObjectModel objm = IND_DB.GetObjectModel<INDDBObjectModel>(new INDDBDataFormat());
|
||||
|
||||
int maxNameLength = 0;
|
||||
foreach (INDDBRecord item in objm.Items)
|
||||
{
|
||||
Console.WriteLine("{0} {1}", item.name.PadRight(40, ' '), item.testdt.ToString());
|
||||
if (item.name.Length > maxNameLength) maxNameLength = item.name.Length;
|
||||
}
|
||||
|
||||
Console.WriteLine();
|
||||
|
||||
INDGROUPSObjectModel objm1 = INDGROUPS.GetObjectModel<INDGROUPSObjectModel>(new INDGROUPSDataFormat());
|
||||
|
||||
foreach (INDGROUPSRecord rec in objm1.Items)
|
||||
{
|
||||
Console.WriteLine("{0}", rec.name);
|
||||
}
|
||||
|
||||
FamilyTreeObjectModel ft = (objectModels.Pop () as FamilyTreeObjectModel);
|
||||
}
|
||||
protected override void BeforeSaveInternal (Stack<ObjectModel> objectModels)
|
||||
{
|
||||
FamilyTreeObjectModel ft = (objectModels.Pop() as FamilyTreeObjectModel);
|
||||
FileSystemObjectModel fsom = new FileSystemObjectModel();
|
||||
|
||||
objectModels.Push(fsom);
|
||||
|
||||
base.BeforeSaveInternal (objectModels);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,87 @@
|
||||
using System;
|
||||
using UniversalEditor.IO;
|
||||
|
||||
namespace UniversalEditor.Plugins.Genealogy.DataFormats.FamilyTreeMaker.Windows
|
||||
{
|
||||
internal struct INDDBRecord
|
||||
{
|
||||
public string name;
|
||||
public DateTime testdt;
|
||||
|
||||
public INDDBRecord(string name, DateTime testdt)
|
||||
{
|
||||
this.name = name;
|
||||
this.testdt = testdt;
|
||||
}
|
||||
}
|
||||
internal class INDDBObjectModel : ObjectModel
|
||||
{
|
||||
public System.Collections.Generic.List<INDDBRecord> Items { get; } = new System.Collections.Generic.List<INDDBRecord>();
|
||||
|
||||
public override void Clear()
|
||||
{
|
||||
}
|
||||
|
||||
public override void CopyTo(ObjectModel where)
|
||||
{
|
||||
}
|
||||
}
|
||||
internal class INDDBDataFormat : DataFormat
|
||||
{
|
||||
private static DataFormatReference _dfr = null;
|
||||
protected override DataFormatReference MakeReferenceInternal()
|
||||
{
|
||||
if (_dfr == null)
|
||||
{
|
||||
_dfr = base.MakeReferenceInternal();
|
||||
_dfr.Capabilities.Add(typeof(INDDBObjectModel), DataFormatCapabilities.All);
|
||||
}
|
||||
return _dfr;
|
||||
}
|
||||
|
||||
protected override void LoadInternal(ref ObjectModel objectModel)
|
||||
{
|
||||
INDDBObjectModel objm = (objectModel as INDDBObjectModel);
|
||||
Reader r = base.Accessor.Reader;
|
||||
|
||||
byte[] junk = r.ReadBytes(128); // is this short sector garbage?
|
||||
long unk1 = r.ReadInt64(); // bluh
|
||||
|
||||
int test = r.ReadInt32();
|
||||
byte[] xx = r.ReadBytes(64);
|
||||
|
||||
for (int i = 0; i < 133; i++)
|
||||
{
|
||||
// each record is 128 bytes long
|
||||
long recordStart = r.Accessor.Position;
|
||||
|
||||
ushort u0 = r.ReadUInt16();
|
||||
ushort u1 = r.ReadUInt16();
|
||||
ushort u2 = r.ReadUInt16();
|
||||
ushort u3 = r.ReadUInt16();
|
||||
ushort u4 = r.ReadUInt16();
|
||||
|
||||
string name = r.ReadFixedLengthString(40, Encoding.UTF16LittleEndian); // r.ReadFixedLengthString(40, Encoding.UTF16LittleEndian);
|
||||
name = name.TrimNull();
|
||||
|
||||
ushort unknown = r.ReadUInt16();
|
||||
long dt = r.ReadInt64();
|
||||
|
||||
DateTime testdt = new DateTime(dt);
|
||||
|
||||
long recordEnd = r.Accessor.Position;
|
||||
|
||||
long posNext = recordEnd - recordStart;
|
||||
r.Accessor.Seek(128 - posNext, SeekOrigin.Current);
|
||||
|
||||
// 132 names in file
|
||||
objm.Items.Add(new INDDBRecord(name, testdt));
|
||||
}
|
||||
}
|
||||
|
||||
protected override void SaveInternal(ObjectModel objectModel)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,53 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UniversalEditor.IO;
|
||||
|
||||
namespace UniversalEditor.Plugins.Genealogy.DataFormats.FamilyTreeMaker.Windows
|
||||
{
|
||||
internal struct INDGROUPSRecord
|
||||
{
|
||||
public string name;
|
||||
|
||||
public INDGROUPSRecord(string name)
|
||||
{
|
||||
this.name = name;
|
||||
}
|
||||
}
|
||||
internal class INDGROUPSObjectModel : ObjectModel
|
||||
{
|
||||
public List<INDGROUPSRecord> Items { get; } = new List<INDGROUPSRecord>();
|
||||
|
||||
public override void Clear()
|
||||
{
|
||||
Items.Clear();
|
||||
}
|
||||
public override void CopyTo(ObjectModel where)
|
||||
{
|
||||
}
|
||||
}
|
||||
internal class INDGROUPSDataFormat : DataFormat
|
||||
{
|
||||
protected override void LoadInternal(ref ObjectModel objectModel)
|
||||
{
|
||||
INDGROUPSObjectModel om = (objectModel as INDGROUPSObjectModel);
|
||||
Reader r = base.Accessor.Reader;
|
||||
r.Seek(114, SeekOrigin.Begin);
|
||||
|
||||
int count = r.ReadInt32();
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
string v = r.ReadNullTerminatedString(Encoding.UTF16LittleEndian);
|
||||
byte nul = r.ReadByte();
|
||||
|
||||
v = v.TrimNull();
|
||||
if (String.IsNullOrEmpty(v))
|
||||
break;
|
||||
om.Items.Add(new INDGROUPSRecord(v));
|
||||
}
|
||||
}
|
||||
protected override void SaveInternal(ObjectModel objectModel)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,64 @@
|
||||
using System;
|
||||
using UniversalEditor.IO;
|
||||
using UniversalEditor.ObjectModels.Chunked;
|
||||
|
||||
using UniversalEditor.Plugins.Genealogy.ObjectModels.GEDCOM;
|
||||
|
||||
namespace UniversalEditor.Plugins.Genealogy.DataFormats.GEDCOM
|
||||
{
|
||||
public class GEDCOMChunkedDataFormat : DataFormat
|
||||
{
|
||||
protected override void LoadInternal(ref ObjectModel objectModel)
|
||||
{
|
||||
GEDCOMChunkedObjectModel chunked = (objectModel as GEDCOMChunkedObjectModel);
|
||||
|
||||
Reader r = base.Accessor.Reader;
|
||||
int lineIndex = 0; // for debugging porpoises
|
||||
|
||||
int lastLineID = 0;
|
||||
string lastLineName = null;
|
||||
string lastLineParm = null;
|
||||
|
||||
GEDCOMChunk lastChunk = null;
|
||||
|
||||
while (!r.EndOfStream)
|
||||
{
|
||||
lineIndex++;
|
||||
|
||||
string line = r.ReadLine();
|
||||
line = line.Trim();
|
||||
|
||||
string[] lineParts = line.Split(new char[] { ' ' }, 3);
|
||||
|
||||
int lineID = 0;
|
||||
if (!Int32.TryParse(lineParts[0], out lineID))
|
||||
{
|
||||
throw new InvalidDataFormatException("line " + lineIndex + ", part '" + lineParts[0] + "' invalid ; must be integer");
|
||||
}
|
||||
|
||||
if (lineParts.Length < 2)
|
||||
throw new InvalidDataFormatException("line " + lineIndex + ", content '" + line + "' must have at least 2 parts");
|
||||
|
||||
if (lastLineID < lineID)
|
||||
{
|
||||
// create a group for the existing node
|
||||
GEDCOMChunk chunk = new GEDCOMChunk();
|
||||
chunk.Name = lastLineName;
|
||||
// chunk
|
||||
chunked.Chunks.Add(chunk);
|
||||
|
||||
lastChunk = chunk;
|
||||
}
|
||||
|
||||
lastLineID = lineID;
|
||||
lastLineName = lineParts[1];
|
||||
if (lineParts.Length > 2)
|
||||
lastLineParm = lineParts[2];
|
||||
}
|
||||
}
|
||||
protected override void SaveInternal(ObjectModel objectModel)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,42 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UniversalEditor.IO;
|
||||
using UniversalEditor.ObjectModels.Chunked;
|
||||
using UniversalEditor.Plugins.Genealogy.ObjectModels.FamilyTree;
|
||||
|
||||
namespace UniversalEditor.Plugins.Genealogy.DataFormats.GEDCOM
|
||||
{
|
||||
public class GEDCOMDataFormat : GEDCOMChunkedDataFormat
|
||||
{
|
||||
private static DataFormatReference _dfr = null;
|
||||
protected override DataFormatReference MakeReferenceInternal()
|
||||
{
|
||||
if (_dfr == null)
|
||||
{
|
||||
_dfr = base.MakeReferenceInternal();
|
||||
_dfr.Capabilities.Add(typeof(FamilyTreeObjectModel), DataFormatCapabilities.All);
|
||||
}
|
||||
return _dfr;
|
||||
}
|
||||
|
||||
protected override void BeforeLoadInternal(Stack<ObjectModel> objectModels)
|
||||
{
|
||||
base.BeforeLoadInternal(objectModels);
|
||||
objectModels.Push(new ChunkedObjectModel());
|
||||
}
|
||||
|
||||
protected override void AfterLoadInternal(Stack<ObjectModel> objectModels)
|
||||
{
|
||||
base.AfterLoadInternal(objectModels);
|
||||
|
||||
ChunkedObjectModel chunked = (objectModels.Pop() as ChunkedObjectModel);
|
||||
FamilyTreeObjectModel ftom = (objectModels.Pop() as FamilyTreeObjectModel);
|
||||
|
||||
}
|
||||
|
||||
protected override void SaveInternal(ObjectModel objectModel)
|
||||
{
|
||||
FamilyTreeObjectModel ftom = (objectModel as FamilyTreeObjectModel);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,15 +1,13 @@
|
||||
namespace UniversalEditor.ObjectModels.FamilyTree
|
||||
namespace UniversalEditor.Plugins.Genealogy.ObjectModels.FamilyTree
|
||||
{
|
||||
public class FamilyTreeObjectModel : ObjectModel
|
||||
{
|
||||
public override void Clear ()
|
||||
{
|
||||
throw new System.NotImplementedException ();
|
||||
}
|
||||
|
||||
public override void CopyTo (ObjectModel where)
|
||||
{
|
||||
throw new System.NotImplementedException ();
|
||||
}
|
||||
|
||||
private static ObjectModelReference _omr = null;
|
||||
@ -0,0 +1,17 @@
|
||||
using System;
|
||||
namespace UniversalEditor.Plugins.Genealogy.ObjectModels.GEDCOM
|
||||
{
|
||||
public class GEDCOMChunk
|
||||
{
|
||||
public class GEDCOMChunkCollection
|
||||
: System.Collections.ObjectModel.Collection<GEDCOMChunk>
|
||||
{
|
||||
}
|
||||
|
||||
public int Index { get; set; } = 0;
|
||||
public string Name { get; set; } = null;
|
||||
public string Value { get; set; } = null;
|
||||
|
||||
public GEDCOMChunk.GEDCOMChunkCollection Chunks { get; } = new GEDCOMChunk.GEDCOMChunkCollection();
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,16 @@
|
||||
using System;
|
||||
namespace UniversalEditor.Plugins.Genealogy.ObjectModels.GEDCOM
|
||||
{
|
||||
public class GEDCOMChunkedObjectModel : ObjectModel
|
||||
{
|
||||
public GEDCOMChunk.GEDCOMChunkCollection Chunks { get; } = new GEDCOMChunk.GEDCOMChunkCollection();
|
||||
|
||||
public override void Clear()
|
||||
{
|
||||
}
|
||||
|
||||
public override void CopyTo(ObjectModel where)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -33,6 +33,12 @@
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="DataFormats\FamilyTreeMaker\Windows\FTWDataFormat.cs" />
|
||||
<Compile Include="ObjectModels\FamilyTree\FamilyTreeObjectModel.cs" />
|
||||
<Compile Include="DataFormats\FamilyTreeMaker\Windows\INDDBDataFormat.cs" />
|
||||
<Compile Include="DataFormats\FamilyTreeMaker\Windows\INDGROUPSDataFormat.cs" />
|
||||
<Compile Include="DataFormats\GEDCOM\GEDCOMDataFormat.cs" />
|
||||
<Compile Include="DataFormats\GEDCOM\GEDCOMChunkedDataFormat.cs" />
|
||||
<Compile Include="ObjectModels\GEDCOM\GEDCOMChunkedObjectModel.cs" />
|
||||
<Compile Include="ObjectModels\GEDCOM\GEDCOMChunk.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="DataFormats\" />
|
||||
@ -40,6 +46,8 @@
|
||||
<Folder Include="DataFormats\FamilyTreeMaker\Windows\" />
|
||||
<Folder Include="ObjectModels\" />
|
||||
<Folder Include="ObjectModels\FamilyTree\" />
|
||||
<Folder Include="DataFormats\GEDCOM\" />
|
||||
<Folder Include="ObjectModels\GEDCOM\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\Libraries\UniversalEditor.Core\UniversalEditor.Core.csproj">
|
||||
@ -129,9 +129,9 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.Add
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalWidgetToolkit.Engines.WindowsForms", "..\..\UniversalWidgetToolkit\Engines\WindowsForms\UniversalWidgetToolkit.Engines.WindowsForms\UniversalWidgetToolkit.Engines.WindowsForms.csproj", "{B8573BB1-A0CD-41F4-A775-E0CB79555C59}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.FamilyTreeMaker", "Plugins\UniversalEditor.Plugins.FamilyTreeMaker\UniversalEditor.Plugins.FamilyTreeMaker.csproj", "{74A835FD-93B8-4268-B120-1ACAA128AC7B}"
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.Genealogy", "Plugins\UniversalEditor.Plugins.Genealogy\UniversalEditor.Plugins.Genealogy.csproj", "{74A835FD-93B8-4268-B120-1ACAA128AC7B}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.FamilyTreeMaker.UserInterface", "Plugins.UserInterface\UniversalEditor.Plugins.FamilyTreeMaker.UserInterface\UniversalEditor.Plugins.FamilyTreeMaker.UserInterface.csproj", "{E6C8A539-F219-4BD0-A2F4-E7064ABF6777}"
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.Genealogy.UserInterface", "Plugins.UserInterface\UniversalEditor.Plugins.Genealogy.UserInterface\UniversalEditor.Plugins.Genealogy.UserInterface.csproj", "{E6C8A539-F219-4BD0-A2F4-E7064ABF6777}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.TestProject", "Applications\UniversalEditor.TestProject\UniversalEditor.TestProject.csproj", "{242A32D8-9A3A-4FE3-902B-AB9C3154723A}"
|
||||
EndProject
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user