1. 升级装饰器和适配器代码

2. 修复components的bug
This commit is contained in:
csh
2024-08-05 11:37:00 +08:00
parent 978cff648b
commit fedb1cd28a
306 changed files with 1459 additions and 13089 deletions
@@ -3,12 +3,10 @@ public
function Create(_obj: Numbering);
function Init();
property AbstractNumId read ReadAbstractNumId write WriteAbstractNumId;
property NumId read ReadNumId write WriteNumId;
function ReadAbstractNumId(_key: string);
function WriteAbstractNumId(_key: string; _value: tslobj);
function ReadNumId(_key: string);
function WriteNumId(_key: string; _value: tslobj);
function GetAbstractNumByAbstractNumId(_key: string);
function SetAbstractNumByAbstractNumId(_key: string; _value: tslobj);
function GetNumByNumId(_key: string);
function SetNumByNumId(_key: string; _value: tslobj);
private
object_: Numbering;
@@ -26,30 +24,30 @@ end;
function NumberingAdapter.Init();
begin
elements := object_.AbstractNums;
elements := object_.AbstractNums();
for k,v in elements do
abstractnum_hash_[v.AbstractNumId] := v;
elements := object_.Nums;
elements := object_.Nums();
for k,v in elements do
num_hash_[v.NumId] := v;
end;
function NumberingAdapter.ReadAbstractNumId(_key: string);
function NumberingAdapter.GetAbstractNumByAbstractNumId(_key: string);
begin
return abstractnum_hash_[_key];
end;
function NumberingAdapter.WriteAbstractNumId(_key: string; _value: tslobj);
function NumberingAdapter.SetAbstractNumByAbstractNumId(_key: string; _value: tslobj);
begin
abstractnum_hash_[_key] := _value;
end;
function NumberingAdapter.ReadNumId(_key: string);
function NumberingAdapter.GetNumByNumId(_key: string);
begin
return num_hash_[_key];
end;
function NumberingAdapter.WriteNumId(_key: string; _value: tslobj);
function NumberingAdapter.SetNumByNumId(_key: string; _value: tslobj);
begin
num_hash_[_key] := _value;
end;
@@ -3,9 +3,8 @@ public
function Create(_obj: Relationships);
function Init();
property Id read ReadId write WriteId;
function ReadId(_key: string);
function WriteId(_key: string; _value: tslobj);
function GetRelationshipById(_key: string);
function SetRelationshipById(_key: string; _value: tslobj);
private
object_: Relationships;
@@ -21,17 +20,17 @@ end;
function RelationshipsAdapter.Init();
begin
elements := object_.Relationships;
elements := object_.Relationships();
for k,v in elements do
relationship_hash_[v.Id] := v;
end;
function RelationshipsAdapter.ReadId(_key: string);
function RelationshipsAdapter.GetRelationshipById(_key: string);
begin
return relationship_hash_[_key];
end;
function RelationshipsAdapter.WriteId(_key: string; _value: tslobj);
function RelationshipsAdapter.SetRelationshipById(_key: string; _value: tslobj);
begin
relationship_hash_[_key] := _value;
end;
@@ -0,0 +1,53 @@
type SectPrAdapter = class
public
function Create(_obj: SectPr);
function Init();
function GetHeaderReferenceByType(_key: string);
function SetHeaderReferenceByType(_key: string; _value: tslobj);
function GetFooterReferenceByType(_key: string);
function SetFooterReferenceByType(_key: string; _value: tslobj);
private
object_: SectPr;
headerreference_hash_: tableArray;
footerreference_hash_: tableArray;
end;
function SectPrAdapter.Create(_obj: SectPr);
begin
object_ := _obj;
headerreference_hash_ := array();
footerreference_hash_ := array();
{self.}Init();
end;
function SectPrAdapter.Init();
begin
elements := object_.HeaderReferences();
for k,v in elements do
headerreference_hash_[v.Type] := v;
elements := object_.FooterReferences();
for k,v in elements do
footerreference_hash_[v.Type] := v;
end;
function SectPrAdapter.GetHeaderReferenceByType(_key: string);
begin
return headerreference_hash_[_key];
end;
function SectPrAdapter.SetHeaderReferenceByType(_key: string; _value: tslobj);
begin
headerreference_hash_[_key] := _value;
end;
function SectPrAdapter.GetFooterReferenceByType(_key: string);
begin
return footerreference_hash_[_key];
end;
function SectPrAdapter.SetFooterReferenceByType(_key: string; _value: tslobj);
begin
footerreference_hash_[_key] := _value;
end;
@@ -3,9 +3,8 @@ public
function Create(_obj: Styles);
function Init();
property StyleId read ReadStyleId write WriteStyleId;
function ReadStyleId(_key: string);
function WriteStyleId(_key: string; _value: tslobj);
function GetStyleByStyleId(_key: string);
function SetStyleByStyleId(_key: string; _value: tslobj);
private
object_: Styles;
@@ -21,17 +20,17 @@ end;
function StylesAdapter.Init();
begin
elements := object_.Styles;
elements := object_.Styles();
for k,v in elements do
style_hash_[v.StyleId] := v;
end;
function StylesAdapter.ReadStyleId(_key: string);
function StylesAdapter.GetStyleByStyleId(_key: string);
begin
return style_hash_[_key];
end;
function StylesAdapter.WriteStyleId(_key: string; _value: tslobj);
function StylesAdapter.SetStyleByStyleId(_key: string; _value: tslobj);
begin
style_hash_[_key] := _value;
end;