Start to look into parsing Family Tree Maker for Windows (FTW) file format
This commit is contained in:
parent
94893f7262
commit
7c4044c62c
@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<UniversalEditor Version="4.0">
|
||||
<Associations>
|
||||
<Association>
|
||||
<Filters>
|
||||
<Filter Title="Family Tree Maker for Windows">
|
||||
<FileNameFilters>
|
||||
<FileNameFilter>*.ftw</FileNameFilter>
|
||||
</FileNameFilters>
|
||||
<MagicByteSequences>
|
||||
<MagicByteSequence>
|
||||
<MagicByte Type="HexString">D0CF11E0A1B11AE1</MagicByte>
|
||||
</MagicByteSequence>
|
||||
</MagicByteSequences>
|
||||
</Filter>
|
||||
</Filters>
|
||||
<ObjectModels>
|
||||
<ObjectModel TypeName="UniversalEditor.ObjectModels.FamilyTree.FamilyTreeObjectModel" />
|
||||
</ObjectModels>
|
||||
<DataFormats>
|
||||
<DataFormat TypeName="UniversalEditor.DataFormats.FamilyTreeMaker.Windows.FTWDataFormat" />
|
||||
</DataFormats>
|
||||
</Association>
|
||||
</Associations>
|
||||
</UniversalEditor>
|
||||
@ -636,6 +636,7 @@
|
||||
<Content Include="Extensions\Microsoft\Associations\Registry.uexml" />
|
||||
<Content Include="Dialogs\DocumentPropertiesDialog.glade" />
|
||||
<Content Include="Panels\StartPage.glade" />
|
||||
<Content Include="Extensions\FamilyTreeMaker\Associations\FTW.uexml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Configuration\Application.upl" />
|
||||
@ -646,6 +647,8 @@
|
||||
<Folder Include="Extensions\SoftwareDeveloper\Templates\Project\Software Development\Addins\" />
|
||||
<Folder Include="Extensions\Microsoft\" />
|
||||
<Folder Include="Extensions\Microsoft\Associations\" />
|
||||
<Folder Include="Extensions\FamilyTreeMaker\" />
|
||||
<Folder Include="Extensions\FamilyTreeMaker\Associations\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Extensions\SoftwareDeveloper\Templates\Project\Software Development\Arduino\Images\Blink.xcf" />
|
||||
|
||||
@ -0,0 +1,41 @@
|
||||
using System;
|
||||
using UniversalEditor.ObjectModels.FamilyTree;
|
||||
using UniversalEditor.UserInterface;
|
||||
|
||||
namespace UniversalEditor.Editors.FamilyTree
|
||||
{
|
||||
public class FamilyTreeEditor : Editor
|
||||
{
|
||||
public override void Copy ()
|
||||
{
|
||||
throw new System.NotImplementedException ();
|
||||
}
|
||||
|
||||
public override void Delete ()
|
||||
{
|
||||
throw new System.NotImplementedException ();
|
||||
}
|
||||
|
||||
public override void Paste ()
|
||||
{
|
||||
throw new System.NotImplementedException ();
|
||||
}
|
||||
|
||||
private static EditorReference _er = null;
|
||||
public override EditorReference MakeReference ()
|
||||
{
|
||||
if (_er == null) {
|
||||
_er = base.MakeReference ();
|
||||
_er.SupportedObjectModels.Add (typeof (FamilyTreeObjectModel));
|
||||
}
|
||||
return _er;
|
||||
}
|
||||
|
||||
protected override void OnObjectModelChanged (EventArgs e)
|
||||
{
|
||||
base.OnObjectModelChanged (e);
|
||||
|
||||
FamilyTreeObjectModel ftom = (ObjectModel as FamilyTreeObjectModel);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,26 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
// Information about this assembly is defined by the following attributes.
|
||||
// Change them to the values specific to your project.
|
||||
|
||||
[assembly: AssemblyTitle ("UniversalEditor.Plugins.FamilyTreeMaker.UserInterface")]
|
||||
[assembly: AssemblyDescription ("")]
|
||||
[assembly: AssemblyConfiguration ("")]
|
||||
[assembly: AssemblyCompany ("")]
|
||||
[assembly: AssemblyProduct ("")]
|
||||
[assembly: AssemblyCopyright ("Mike Becker")]
|
||||
[assembly: AssemblyTrademark ("")]
|
||||
[assembly: AssemblyCulture ("")]
|
||||
|
||||
// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
|
||||
// The form "{Major}.{Minor}.*" will automatically update the build and revision,
|
||||
// and "{Major}.{Minor}.{Build}.*" will update just the revision.
|
||||
|
||||
[assembly: AssemblyVersion ("1.0.*")]
|
||||
|
||||
// The following attributes are used to specify the signing key for the assembly,
|
||||
// if desired. See the Mono documentation for more information about signing.
|
||||
|
||||
//[assembly: AssemblyDelaySign(false)]
|
||||
//[assembly: AssemblyKeyFile("")]
|
||||
@ -0,0 +1,67 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{E6C8A539-F219-4BD0-A2F4-E7064ABF6777}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<RootNamespace>UniversalEditor.Plugins.FamilyTreeMaker.UserInterface</RootNamespace>
|
||||
<AssemblyName>UniversalEditor.Plugins.FamilyTreeMaker.UserInterface</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.7</TargetFrameworkVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>..\..\Output\Debug\Plugins</OutputPath>
|
||||
<DefineConstants>DEBUG;</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<ConsolePause>false</ConsolePause>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>..\..\Output\Release\Plugins</OutputPath>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<ConsolePause>false</ConsolePause>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Editors\FamilyTree\FamilyTreeEditor.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="Editors\" />
|
||||
<Folder Include="Editors\FamilyTree\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\Libraries\UniversalEditor.Core\UniversalEditor.Core.csproj">
|
||||
<Project>{2D4737E6-6D95-408A-90DB-8DFF38147E85}</Project>
|
||||
<Name>UniversalEditor.Core</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Libraries\UniversalEditor.Essential\UniversalEditor.Essential.csproj">
|
||||
<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>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Libraries\UniversalEditor.UserInterface\UniversalEditor.UserInterface.csproj">
|
||||
<Project>{8622EBC4-8E20-476E-B284-33D472081F5C}</Project>
|
||||
<Name>UniversalEditor.UserInterface</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\..\UniversalWidgetToolkit\Libraries\UniversalWidgetToolkit\UniversalWidgetToolkit.csproj">
|
||||
<Project>{29E1C1BB-3EA5-4062-B62F-85EEC703FE07}</Project>
|
||||
<Name>UniversalWidgetToolkit</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
@ -0,0 +1,27 @@
|
||||
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,25 @@
|
||||
namespace UniversalEditor.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;
|
||||
protected override ObjectModelReference MakeReferenceInternal ()
|
||||
{
|
||||
if (_omr == null) {
|
||||
_omr = base.MakeReferenceInternal ();
|
||||
_omr.Title = "Family Tree";
|
||||
}
|
||||
return _omr;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,26 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
// Information about this assembly is defined by the following attributes.
|
||||
// Change them to the values specific to your project.
|
||||
|
||||
[assembly: AssemblyTitle ("UniversalEditor.Plugins.FamilyTreeMaker")]
|
||||
[assembly: AssemblyDescription ("")]
|
||||
[assembly: AssemblyConfiguration ("")]
|
||||
[assembly: AssemblyCompany ("")]
|
||||
[assembly: AssemblyProduct ("")]
|
||||
[assembly: AssemblyCopyright ("Mike Becker")]
|
||||
[assembly: AssemblyTrademark ("")]
|
||||
[assembly: AssemblyCulture ("")]
|
||||
|
||||
// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
|
||||
// The form "{Major}.{Minor}.*" will automatically update the build and revision,
|
||||
// and "{Major}.{Minor}.{Build}.*" will update just the revision.
|
||||
|
||||
[assembly: AssemblyVersion ("1.0.*")]
|
||||
|
||||
// The following attributes are used to specify the signing key for the assembly,
|
||||
// if desired. See the Mono documentation for more information about signing.
|
||||
|
||||
//[assembly: AssemblyDelaySign(false)]
|
||||
//[assembly: AssemblyKeyFile("")]
|
||||
@ -0,0 +1,67 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{74A835FD-93B8-4268-B120-1ACAA128AC7B}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<RootNamespace>UniversalEditor.Plugins.FamilyTreeMaker</RootNamespace>
|
||||
<AssemblyName>UniversalEditor.Plugins.FamilyTreeMaker</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.7</TargetFrameworkVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>..\..\Output\Debug\Plugins</OutputPath>
|
||||
<DefineConstants>DEBUG;</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<ConsolePause>false</ConsolePause>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>..\..\Output\Release\Plugins</OutputPath>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<ConsolePause>false</ConsolePause>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="DataFormats\FamilyTreeMaker\Windows\FTWDataFormat.cs" />
|
||||
<Compile Include="ObjectModels\FamilyTree\FamilyTreeObjectModel.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="DataFormats\" />
|
||||
<Folder Include="DataFormats\FamilyTreeMaker\" />
|
||||
<Folder Include="DataFormats\FamilyTreeMaker\Windows\" />
|
||||
<Folder Include="ObjectModels\" />
|
||||
<Folder Include="ObjectModels\FamilyTree\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\Libraries\UniversalEditor.Core\UniversalEditor.Core.csproj">
|
||||
<Project>{2D4737E6-6D95-408A-90DB-8DFF38147E85}</Project>
|
||||
<Name>UniversalEditor.Core</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Libraries\UniversalEditor.Essential\UniversalEditor.Essential.csproj">
|
||||
<Project>{30467E5C-05BC-4856-AADC-13906EF4CADD}</Project>
|
||||
<Name>UniversalEditor.Essential</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\UniversalEditor.Plugins.Microsoft\UniversalEditor.Plugins.Microsoft.csproj">
|
||||
<Project>{4698BC3F-EC29-42EB-9AED-3D8F9983A108}</Project>
|
||||
<Name>UniversalEditor.Plugins.Microsoft</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Libraries\UniversalEditor.Compression\UniversalEditor.Compression.csproj">
|
||||
<Project>{3F664673-7E22-4486-9AD0-FC81861D0B78}</Project>
|
||||
<Name>UniversalEditor.Compression</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\UniversalEditor.Plugins.FileSystem\UniversalEditor.Plugins.FileSystem.csproj">
|
||||
<Project>{76FD1306-9CA4-428F-993B-B7E4EEEACBF3}</Project>
|
||||
<Name>UniversalEditor.Plugins.FileSystem</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
@ -129,6 +129,10 @@ 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}"
|
||||
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}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
@ -373,6 +377,14 @@ Global
|
||||
{B8573BB1-A0CD-41F4-A775-E0CB79555C59}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{B8573BB1-A0CD-41F4-A775-E0CB79555C59}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{B8573BB1-A0CD-41F4-A775-E0CB79555C59}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{74A835FD-93B8-4268-B120-1ACAA128AC7B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{74A835FD-93B8-4268-B120-1ACAA128AC7B}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{74A835FD-93B8-4268-B120-1ACAA128AC7B}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{74A835FD-93B8-4268-B120-1ACAA128AC7B}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{E6C8A539-F219-4BD0-A2F4-E7064ABF6777}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{E6C8A539-F219-4BD0-A2F4-E7064ABF6777}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{E6C8A539-F219-4BD0-A2F4-E7064ABF6777}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{E6C8A539-F219-4BD0-A2F4-E7064ABF6777}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(NestedProjects) = preSolution
|
||||
{6F0AB1AF-E1A1-4D19-B19C-05BBB15C94B2} = {05D15661-E684-4EC9-8FBD-C014BA433CC5}
|
||||
@ -433,6 +445,8 @@ Global
|
||||
{5CC1FF25-44BF-4CD1-BD36-11E29EB21D19} = {7B535D74-5496-4802-B809-89ED88274A91}
|
||||
{E94B6C34-660F-4280-AEEC-D28AC6A3F528} = {7B535D74-5496-4802-B809-89ED88274A91}
|
||||
{B8573BB1-A0CD-41F4-A775-E0CB79555C59} = {20F315E0-52AE-479F-AF43-3402482C1FC8}
|
||||
{74A835FD-93B8-4268-B120-1ACAA128AC7B} = {2ED32D16-6C06-4450-909A-40D32DA67FB4}
|
||||
{E6C8A539-F219-4BD0-A2F4-E7064ABF6777} = {2ED32D16-6C06-4450-909A-40D32DA67FB4}
|
||||
EndGlobalSection
|
||||
GlobalSection(MonoDevelopProperties) = preSolution
|
||||
Policies = $0
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user