mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-22 13:39:30 +02:00
Turbopower_ipro: Fix RTL of table cells. Add some colspan test cases.
This commit is contained in:
parent
420416181f
commit
6b204cd770
@ -461,7 +461,7 @@ begin
|
||||
isRTL := true;
|
||||
end;
|
||||
if isRTL then
|
||||
R.SetLocation(FPageRect.Right - R.Right + FPageRect.Left, R.Top);
|
||||
R.SetLocation(FPageRect.Right - R.Right + FPageRect.Left - 1, R.Top);
|
||||
|
||||
SetWordRect(CurElem, R);
|
||||
end else
|
||||
@ -538,13 +538,6 @@ begin
|
||||
while Assigned(node) do begin
|
||||
if (node is TIpHtmlNodeCore) then
|
||||
lAlign := TIpHtmlNodeCore(node).Align
|
||||
{
|
||||
if (node is TIpHtmlNodeP) then
|
||||
lAlign := TIpHtmlNodeP(node).Align
|
||||
else
|
||||
if (node is TIpHtmlNodeDIV) then
|
||||
lAlign := TIpHtmlNodeDIV(node).Align
|
||||
}
|
||||
else
|
||||
break;
|
||||
if lAlign = haDefault then
|
||||
|
@ -1197,7 +1197,9 @@ var
|
||||
begin
|
||||
Result := hdLTR;
|
||||
S := UpperCase(FindAttribute(htmlAttrDIR));
|
||||
if (S = '') or (S = 'LTR') then
|
||||
if (S = '') then
|
||||
Result := hdNone
|
||||
else if (S = 'LTR') then
|
||||
Result := hdLTR
|
||||
else if (S = 'RTL') then
|
||||
Result := hdRTL
|
||||
|
@ -51,7 +51,7 @@ type
|
||||
);
|
||||
|
||||
TIpHtmlDirection = (
|
||||
hdLTR, hdRTL
|
||||
hdNone, hdLTR, hdRTL
|
||||
);
|
||||
|
||||
TIpHtmlElemMarginStyle = (
|
||||
|
@ -562,6 +562,48 @@ const
|
||||
'</body>' + LE +
|
||||
'</html>';
|
||||
|
||||
ColWidth_colspan200px_title =
|
||||
'Three columns, two merged.';
|
||||
ColWidth_colspan200px_descr =
|
||||
'Two columns merged, 200px in total; 3rd column 200px';
|
||||
ColWidth_colspan200px_html =
|
||||
'<html>' + LE +
|
||||
'<body>' + LE +
|
||||
'<table border="1">' + LE +
|
||||
' <tr>' + LE +
|
||||
' <th width="200" colspan="2">Columns A and B</th>' + LE +
|
||||
' <th width="200">Column B</th>' + LE +
|
||||
' </tr>' + LE +
|
||||
' <tr>' + LE +
|
||||
' <td>Cell 1</td>' + LE +
|
||||
' <td>Cell 2</td>' + LE +
|
||||
' <td>Cell 3</td>' + LE +
|
||||
' </tr>' + LE +
|
||||
'</table>' + LE +
|
||||
'</body>' + LE +
|
||||
'</html>';
|
||||
|
||||
ColWidth_colspan200px_100perc_title =
|
||||
'Three columns, two merged. Total 100%.';
|
||||
ColWidth_colspan200px_100perc_descr =
|
||||
'Two columns merged, 200px in total; 3rd column 200px. Total table width covers entire space. CONFLICTING PARAMETERS!';
|
||||
ColWidth_colspan200px_100perc_html =
|
||||
'<html>' + LE +
|
||||
'<body>' + LE +
|
||||
'<table border="1" width="100%">' + LE +
|
||||
' <tr>' + LE +
|
||||
' <th width="200" colspan="2">Columns A and B</th>' + LE +
|
||||
' <th width="200">Column B</th>' + LE +
|
||||
' </tr>' + LE +
|
||||
' <tr>' + LE +
|
||||
' <td>Cell 1</td>' + LE +
|
||||
' <td>Cell 2</td>' + LE +
|
||||
' <td>Cell 3</td>' + LE +
|
||||
' </tr>' + LE +
|
||||
'</table>' + LE +
|
||||
'</body>' + LE +
|
||||
'</html>';
|
||||
|
||||
ColGroup_ColWidth_200px_total100perc_title =
|
||||
'Table using ColGroup, table width 100%, 1st column 200px, 2nd column covers rest';
|
||||
ColGroup_ColWidth_200px_total100perc_descr =
|
||||
@ -1002,6 +1044,26 @@ const
|
||||
'</body>' + LE +
|
||||
'</html>';
|
||||
|
||||
Table_RTL_title =
|
||||
'Column widths specified, total width automatic';
|
||||
Table_RTL_descr =
|
||||
'The table should be at the right.' + LE +'The narrow column (A) should be at the right.';
|
||||
Table_RTL_html =
|
||||
'<html>' + LE +
|
||||
'<body dir="rtl">' + LE +
|
||||
'<table border="1">' + LE +
|
||||
' <tr>' + LE +
|
||||
' <th width="80">Column A</th>' + LE +
|
||||
' <th width="160">Column B</th>' + LE +
|
||||
' </tr>' + LE +
|
||||
' <tr>' + LE +
|
||||
' <td>Cell 1</td>' + LE +
|
||||
' <td>Cell 2</td>' + LE +
|
||||
' </tr>' + LE +
|
||||
'</table>' + LE +
|
||||
'</body>' + LE +
|
||||
'</html>';
|
||||
|
||||
|
||||
implementation
|
||||
|
||||
|
@ -695,7 +695,7 @@ object TestForm: TTestForm
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideTop.Control = btnPassed
|
||||
AnchorSideTop.Side = asrCenter
|
||||
Left = 500
|
||||
Left = 474
|
||||
Height = 25
|
||||
Top = 1
|
||||
Width = 137
|
||||
@ -712,11 +712,11 @@ object TestForm: TTestForm
|
||||
Left = 224
|
||||
Height = 26
|
||||
Top = 0
|
||||
Width = 82
|
||||
Width = 69
|
||||
AutoSize = True
|
||||
BorderSpacing.Left = 24
|
||||
BorderSpacing.Right = 3
|
||||
Caption = 'Passed'
|
||||
Caption = 'Pass'
|
||||
HotImageIndex = 1
|
||||
Images = ImageList1
|
||||
ImageIndex = 1
|
||||
@ -728,12 +728,12 @@ object TestForm: TTestForm
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideTop.Control = Panel3
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 309
|
||||
Left = 296
|
||||
Height = 26
|
||||
Top = 0
|
||||
Width = 77
|
||||
Width = 64
|
||||
AutoSize = True
|
||||
Caption = 'Failed'
|
||||
Caption = 'Fail'
|
||||
HotImageIndex = 0
|
||||
Images = ImageList1
|
||||
ImageIndex = 0
|
||||
@ -745,7 +745,7 @@ object TestForm: TTestForm
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideTop.Control = btnPassed
|
||||
AnchorSideTop.Side = asrCenter
|
||||
Left = 389
|
||||
Left = 363
|
||||
Height = 25
|
||||
Top = 1
|
||||
Width = 87
|
||||
|
@ -246,7 +246,8 @@ begin
|
||||
AddTest(node1, ColWidth_100perc_title, ColWidth_100perc_descr, ColWidth_100perc_html);
|
||||
AddTest(node1, ColWidth_30perc_70perc_title, ColWidth_30perc_70perc_descr, ColWidth_30perc_70perc_html);
|
||||
AddTest(node1, ColWidth_200px_total100perc_title, ColWidth_200px_total100perc_descr, ColWidth_200px_total100perc_html);
|
||||
AddTest(node1, ColWidth_colspan_fixed_total100perc_title, ColWidth_colspan_fixed_total100perc_descr, ColWidth_colspan_fixed_total100perc_html);
|
||||
AddTest(node1, ColWidth_colspan200px_title, ColWidth_colspan200px_descr, ColWidth_colspan200px_html);
|
||||
AddTest(node1, ColWidth_colspan200px_100perc_title, ColWidth_colspan200px_100perc_descr, ColWidth_colspan200px_100perc_html);
|
||||
AddTest(node1, ColGroup_ColWidth_200px_total100perc_title, ColGroup_ColWidth_200px_total100perc_descr, ColGroup_ColWidth_200px_total100perc_html);
|
||||
node1.Expanded := true;
|
||||
node.Expanded := true;
|
||||
@ -306,6 +307,7 @@ begin
|
||||
AddTest(node, Hebrew_bodyRTL_title, Hebrew_bodyRTL_descr, Hebrew_bodyRTL_html);
|
||||
AddTest(node, Hebrew_divRTL_title, Hebrew_divRTL_descr, Hebrew_divRTL_html);
|
||||
AddTest(node, Hebrew_pRTL_title, Hebrew_pRTL_descr, Hebrew_pRTL_html);
|
||||
AddTest(node, Table_RTL_title, Table_RTL_descr, Table_RTL_html);
|
||||
node.Expanded := true;
|
||||
|
||||
LoadResults;
|
||||
|
@ -17,6 +17,8 @@ d5068632b7f322c1076e0e78442ae6a3|1
|
||||
c9798563026960f2332ed2fe9bc74b61|1
|
||||
0f50b75c007ba031862243f4cb9cd99b|1
|
||||
eadb0b01c9e5cb899dd67a83e9edfe1f|0
|
||||
71211d7bcfa2c07bc7b3a9c8d97d2575|1
|
||||
9c5cc26c029b1e7a8d3f4df6b7bbee18|0
|
||||
b84b1fcd170be4b397c019e7fe21f166|0
|
||||
d042fcbe050041d0b45543b2a51d4bd1|1
|
||||
d5f938967363593d58c09959ea56f05a|1
|
||||
@ -50,3 +52,4 @@ f738db5e8941192ab14e0ecb485c8ed5|1
|
||||
68af7a5a96a05d18d55eef5c3bf00a89|1
|
||||
4fd8f73a6676e4967e653268ca3e7225|1
|
||||
2e943290006b8273a3d2592c7632a6db|1
|
||||
243218193755012c5a97b3e8e08a97e7|1
|
||||
|
Loading…
Reference in New Issue
Block a user