Commit 1e8e25de authored by Ilya.Kirillov's avatar Ilya.Kirillov Committed by Alexander.Trofimov

Исправлен баг в алгоритме рассчета ширины таблицы у таблиц с ненулевым...

Исправлен баг в алгоритме рассчета ширины таблицы у таблиц с ненулевым расстоянием между ячейками(баг 19386). 

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@51536 954022d7-b5bf-4e40-9824-e11837661b57
parent 78ec41ac
...@@ -12004,6 +12004,9 @@ CTable.prototype = ...@@ -12004,6 +12004,9 @@ CTable.prototype =
{ {
var Row = this.Content[CurRow]; var Row = this.Content[CurRow];
var Spacing = Row.Get_CellSpacing();
var SpacingW = ( null != Spacing ? Spacing : 0 );
var CurGridCol = 0; var CurGridCol = 0;
// Смотрим на ширину пропущенных колонок сетки в начале строки // Смотрим на ширину пропущенных колонок сетки в начале строки
...@@ -12073,6 +12076,12 @@ CTable.prototype = ...@@ -12073,6 +12076,12 @@ CTable.prototype =
var CellMarginsW = CellMargins.Left.W + CellMargins.Right.W; var CellMarginsW = CellMargins.Left.W + CellMargins.Right.W;
var CellW = Cell.Get_W(); var CellW = Cell.Get_W();
var Add = ( ( 0 === CurCell || CellsCount - 1 === CurCell ) ? 3 / 2 * SpacingW : SpacingW );
CellMin += Add;
CellMax += Add;
CellWW = CellW.W + Add;
// Если GridSpan > 1, тогда все равно маргины учитываются в первую колоноку спана // Если GridSpan > 1, тогда все равно маргины учитываются в первую колоноку спана
if ( MinMargin[CurGridCol] < CellMarginsW ) if ( MinMargin[CurGridCol] < CellMarginsW )
MinMargin[CurGridCol] = CellMarginsW; MinMargin[CurGridCol] = CellMarginsW;
...@@ -12092,10 +12101,10 @@ CTable.prototype = ...@@ -12092,10 +12101,10 @@ CTable.prototype =
if ( false === MaxFlags[CurGridCol] ) if ( false === MaxFlags[CurGridCol] )
{ {
MaxFlags[CurGridCol] = true; MaxFlags[CurGridCol] = true;
MaxContent[CurGridCol] = CellW.W; MaxContent[CurGridCol] = CellWW;
} }
else if ( MaxContent[CurGridCol] < CellW.W ) else if ( MaxContent[CurGridCol] < CellWW )
MaxContent[CurGridCol] = CellW.W; MaxContent[CurGridCol] = CellWW;
} }
} }
else else
...@@ -12119,8 +12128,8 @@ CTable.prototype = ...@@ -12119,8 +12128,8 @@ CTable.prototype =
// Если у нас в объединении несколько колонок, тогда явно записанная ширина ячейки не // Если у нас в объединении несколько колонок, тогда явно записанная ширина ячейки не
// перекрывает ширину ни одной из колонок, она всего лишь учавствует в определении // перекрывает ширину ни одной из колонок, она всего лишь учавствует в определении
// максимальной ширины. // максимальной ширины.
if ( CellW.Type === tblwidth_Mm && CellW.W > CellMax ) if ( CellW.Type === tblwidth_Mm && CellWW > CellMax )
CellMax = CellW.W; CellMax = CellWW;
if ( SumSpanMaxContent < CellMax ) if ( SumSpanMaxContent < CellMax )
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment