Skip to content

Commit

Permalink
Merge pull request #39 from joecare99/Projects
Browse files Browse the repository at this point in the history
Genealogy
  • Loading branch information
joecare99 committed Nov 18, 2019
2 parents 6b48d45 + db37288 commit 81350b8
Show file tree
Hide file tree
Showing 18 changed files with 1,232 additions and 287 deletions.
8 changes: 6 additions & 2 deletions Projects/Genealogie/FPC/Prj_GedCom2Odf.lpi
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
<PackageName Value="LCL"/>
</Item4>
</RequiredPackages>
<Units Count="8">
<Units Count="9">
<Unit0>
<Filename Value="Prj_GedCom2Odf.lpr"/>
<IsPartOfProject Value="True"/>
Expand Down Expand Up @@ -77,6 +77,10 @@
<HasResources Value="True"/>
<ResourceBaseClass Value="Frame"/>
</Unit7>
<Unit8>
<Filename Value="..\..\..\Daten\Source\XML_Stuff\laz2_XMLWrite2.pas"/>
<IsPartOfProject Value="True"/>
</Unit8>
</Units>
</ProjectOptions>
<CompilerOptions>
Expand All @@ -87,7 +91,7 @@
</Target>
<SearchPaths>
<IncludeFiles Value="$(ProjOutDir)"/>
<OtherUnitFiles Value="..\Source\GedCom2Odf;..\Source\Components;..\Source\gedcom-import"/>
<OtherUnitFiles Value="..\Source\GedCom2Odf;..\Source\Components;..\Source\gedcom-import;..\..\..\Daten\Source\XML_Stuff"/>
<UnitOutputDirectory Value="..\..\..\bin\$(TargetCPU)-$(TargetOS)\units"/>
</SearchPaths>
<Linking>
Expand Down
20 changes: 16 additions & 4 deletions Projects/Genealogie/FPC/fpcTestGedComFile.lpi
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
</Target>
<SearchPaths>
<IncludeFiles Value="$(ProjOutDir)"/>
<OtherUnitFiles Value="..\Source\Test_Gen;..\gedcom-import;..\Source\gedcom-import;..\Source\GedCom2Odf;..\Source\Components"/>
<OtherUnitFiles Value="..\Source\Test_Gen;..\gedcom-import;..\Source\gedcom-import;..\Source\GedCom2Odf;..\Source\Components;..\..\..\Daten\Source\XML_Stuff"/>
<UnitOutputDirectory Value="..\..\..\bin\$(TargetCPU)-$(TargetOS)\units"/>
</SearchPaths>
<Parsing>
Expand Down Expand Up @@ -64,7 +64,7 @@
</Target>
<SearchPaths>
<IncludeFiles Value="$(ProjOutDir)"/>
<OtherUnitFiles Value="..\Source\Test_Gen;..\gedcom-import;..\Source\gedcom-import;..\Source\GedCom2Odf;..\Source\Components"/>
<OtherUnitFiles Value="..\Source\Test_Gen;..\gedcom-import;..\Source\gedcom-import;..\Source\GedCom2Odf;..\Source\Components;..\..\..\Daten\Source\XML_Stuff"/>
<UnitOutputDirectory Value="..\..\..\bin\$(TargetCPU)-$(TargetOS)\units"/>
</SearchPaths>
<CodeGeneration>
Expand Down Expand Up @@ -113,7 +113,7 @@
<PackageName Value="FCL"/>
</Item5>
</RequiredPackages>
<Units Count="10">
<Units Count="13">
<Unit0>
<Filename Value="fpcTestGedComFile.lpr"/>
<IsPartOfProject Value="True"/>
Expand Down Expand Up @@ -155,6 +155,18 @@
<Filename Value="..\Source\Components\unt_IGenBase2.pas"/>
<IsPartOfProject Value="True"/>
</Unit9>
<Unit10>
<Filename Value="..\Source\Test_Gen\tst_GedComExt.pas"/>
<IsPartOfProject Value="True"/>
</Unit10>
<Unit11>
<Filename Value="..\Source\Test_Gen\unt_GenTestBase.pas"/>
<IsPartOfProject Value="True"/>
</Unit11>
<Unit12>
<Filename Value="..\..\..\Daten\Source\XML_Stuff\laz2_XMLWrite2.pas"/>
<IsPartOfProject Value="True"/>
</Unit12>
</Units>
</ProjectOptions>
<CompilerOptions>
Expand All @@ -165,7 +177,7 @@
</Target>
<SearchPaths>
<IncludeFiles Value="$(ProjOutDir)"/>
<OtherUnitFiles Value="..\Source\Test_Gen;..\gedcom-import;..\Source\gedcom-import;..\Source\GedCom2Odf;..\Source\Components"/>
<OtherUnitFiles Value="..\Source\Test_Gen;..\gedcom-import;..\Source\gedcom-import;..\Source\GedCom2Odf;..\Source\Components;..\..\..\Daten\Source\XML_Stuff"/>
<UnitOutputDirectory Value="..\..\..\bin\$(TargetCPU)-$(TargetOS)\units"/>
</SearchPaths>
<Linking>
Expand Down
6 changes: 3 additions & 3 deletions Projects/Genealogie/FPC/fpcTestGedComFile.lpr
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
{$mode objfpc}{$H+}

uses
Interfaces, sysutils, Forms, GuiTestRunner, tst_GedComFile, tst_GedComHelper,
tst_GenHelper, Cls_GedComExt, tst_GedCom2Odf, cmp_GedComDocumentWriter,
unt_IGenBase2;
Interfaces, sysutils, Forms, laz2_XMLWrite2, GuiTestRunner, tst_GedComFile,
tst_GedComHelper, tst_GenHelper, Cls_GedComExt, tst_GedCom2Odf,
cmp_GedComDocumentWriter, unt_IGenBase2, tst_GedComExt, unt_GenTestBase;

{$R *.res}

Expand Down
78 changes: 74 additions & 4 deletions Projects/Genealogie/Source/Components/unt_IGenBase2.pas
Original file line number Diff line number Diff line change
Expand Up @@ -30,24 +30,53 @@ interface
evt_Divorce = 17,
evt_Education = 18,
evt_Degree = 19,
// evt_ = 19,
evt_Anull =20,
evt_BarMitzwah =21,
evt_BasMitzwah =22,
evt_Blessing =23,
evt_Cast=24,
evt_Cencus=25,
evt_Member=26,
evt_Ordination,
evt_Graduation,
evt_FreeEvent,
evt_Adoption,
evt_Cremation,
evt_Immigration,
evt_Naturalization,
evt_Probation,
evt_Retirement,
evt_LastWill,
evt_FreeFact,
evt_Description,
evt_Uid,
evt_FamilySearchID,
evt_Property,
evt_Assosiation,


evt_LastChange,
evt_Last
);


const
CMonthNames: array[0..23] of string =
('JAN', '01.',
'FEB', '02.',
'MAR', '03.',
'APR', '04.',
'MAY', '05.',
'JUN', '06.',
'JUL', '07.',
'AUG', '08.',
'SEP', '09.',
'OCT', '10.',
'NOV', '11.',
'DEC', '12.');

{ IGenData }

type
IGenData = interface // Interface zu einem Genealogischen Faktum
['{1197F8EE-0339-47CC-AFAB-F78B9FF280A8}']
function GetData: string;
function GetFType: integer;
function GetObject: TObject;
Expand Down Expand Up @@ -99,6 +128,28 @@ interface


IGenFamily = interface;
IGenIndividual = interface;

{ IGenIndEnumerator }

IGenIndEnumerator = Interface
['{6BA55FCB-E374-40F7-B7DD-3125C266BABB}']
function getCurrent: IGenIndividual;
function MoveNext: boolean;
property Current: IGenIndividual read getCurrent;
function GetEnumerator: IGenIndEnumerator;
end;

{ IGenFamEnumerator }

IGenFamEnumerator = Interface
['{005A67C7-5A98-4749-8F56-204FADDE72F7}']
function getCurrent: IGenFamily;
function MoveNext: boolean;
property Current: IGenFamily read getCurrent;
function GetEnumerator: IGenFamEnumerator;
end;

{ IGenIndividual }

IGenIndividual = interface(IGenEntity)
Expand Down Expand Up @@ -132,7 +183,12 @@ interface
function GetSpouseCount: integer;
function GetSpouses(Idx: Variant): IGenIndividual;
function GetSurname: string;
function GetTimeStamp: TDateTime;
function GetTitle: string;
{ Todo:
function EnumSpouses:IGenIndEnumerator;
function EnumChildren:IGenIndEnumerator;
function EnumFamilies:IGenFamEnumerator; }
procedure SetBaptDate(AValue: string);
procedure SetBaptism(AValue: IGenEvent);
procedure SetBaptPlace(AValue: string);
Expand Down Expand Up @@ -160,6 +216,7 @@ interface
procedure SetSex(AValue: string);
procedure SetSpouses(Idx: Variant; AValue: IGenIndividual);
procedure SetSurname(AValue: string);
procedure SetTimeStamp(AValue: TDateTime);
procedure SetTitle(AValue: string);
// Basic-Properies
property Name: string read GetName write SetName;
Expand Down Expand Up @@ -195,6 +252,8 @@ interface
property Occupation: string read GetOccupation write SetOccupation;
property OccuPlace: string read GetOccuPlace write SetOccuPlace;
property Residence: string read GetResidence write SetResidence;
// Management-Properies
property LastChange: TDateTime read GetTimeStamp write SetTimeStamp;
end;

{ IGenFamily }
Expand All @@ -209,6 +268,7 @@ interface
function GetMarriageDate: string;
function GetMarriagePlace: string;
function GetWife: IGenIndividual;
function EnumChildren:IGenIndEnumerator;
procedure SetChildren(Idx: Variant; AValue: IGenIndividual);
procedure SetFamilyName(AValue: string);
procedure SetFamilyRefID(AValue: string);
Expand All @@ -228,6 +288,16 @@ interface
property FamilyName:string read GetFamilyName write SetFamilyName;
end;

IGenealogy = interface
['{3A5EB720-AB5E-453B-97C2-C57A5E498D9D}']
Property Individuum[Idx:Variant]:IGenIndividual;
Property IndividCount:Integer;
Property Family[Idx:Variant]:IGenFamily;
Property FamilyCount:Integer;
function EnumChildren:IGenIndEnumerator;
function EnumFamilies:IGenFamEnumerator;
end;

implementation

end.
Expand Down
Loading

0 comments on commit 81350b8

Please sign in to comment.