fpspreadsheet: Read/write hidden state of worksheets for ods

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5774 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2017-03-01 18:21:21 +00:00
parent 3750e3717d
commit 59c6c664f9

View File

@ -360,6 +360,7 @@ type
public public
Name: String; Name: String;
BiDiMode: TsBiDiMode; BiDiMode: TsBiDiMode;
Hidden: boolean;
end; end;
{ Column style items stored in ColStyleList of the reader } { Column style items stored in ColStyleList of the reader }
@ -1195,6 +1196,8 @@ begin
tableStyle := TTableStyleData(FTableStyleList[styleIndex]); tableStyle := TTableStyleData(FTableStyleList[styleIndex]);
if (tableStyle.BiDiMode = bdRTL) or (tableStyle.BiDiMode = bdLTR) then if (tableStyle.BiDiMode = bdRTL) or (tableStyle.BiDiMode = bdLTR) then
ASheet.BiDiMode := tableStyle.BiDiMode; ASheet.BiDiMode := tableStyle.BiDiMode;
if tableStyle.Hidden then
ASheet.Options := ASheet.Options + [soHidden];
Result := true; Result := true;
end; end;
@ -4294,6 +4297,7 @@ var
styleChildNode: TDOMNode; styleChildNode: TDOMNode;
bidi: String; bidi: String;
tablestyle: TTableStyleData; tablestyle: TTableStyleData;
display: String;
begin begin
// nodeName := GetAttrValue(AStyleNode, 'style:name'); // nodeName := GetAttrValue(AStyleNode, 'style:name');
stylename := GetAttrValue(AStyleNode, 'style:name'); stylename := GetAttrValue(AStyleNode, 'style:name');
@ -4306,17 +4310,18 @@ begin
begin begin
// stylename := GetAttrValue(styleChildNode, 'style:name'); // stylename := GetAttrValue(styleChildNode, 'style:name');
bidi := GetAttrValue(styleChildNode, 'style:writing-mode'); bidi := GetAttrValue(styleChildNode, 'style:writing-mode');
display := GetAttrValue(styleChildNode, 'table:display');
end; end;
styleChildNode := styleChildNode.NextSibling; styleChildNode := styleChildNode.NextSibling;
end; end;
tablestyle := TTableStyleData.Create;
tablestyle.Name := styleName;
if bidi = 'rl-tb' then if bidi = 'rl-tb' then
begin tablestyle.BiDiMode := bdRTL else
tablestyle := TTableStyleData.Create; tablestyle.BiDiMode := bdLTR;
tablestyle.Name := styleName; tablestyle.Hidden := display = 'false';
tablestyle.BiDiMode := bdRTL; FTableStyleList.Add(tablestyle);
FTableStyleList.Add(tablestyle);
end;
end; end;
@ -6981,10 +6986,10 @@ begin
end; end;
AppendToStream(AStream, Format( AppendToStream(AStream, Format(
'<style:style style:name="ta%d" style:family="table" style:master-page-name="PageStyle_5f_%s">' + '<style:style style:name="ta%d" style:family="table" style:master-page-name="PageStyle_5f_%s">' +
'<style:table-properties table:display="true" %s/>' + '<style:table-properties table:display="%s" %s/>' +
'</style:style>', [ '</style:style>', [
i+1, UTF8TextToXMLText(sheetname), i+1, UTF8TextToXMLText(sheetname),
bidi FALSE_TRUE[not (soHidden in sheet.Options)], bidi
])); ]));
if sheet.GetImageCount > 0 then if sheet.GetImageCount > 0 then
begin begin