Commit da6dc3ce authored by Anna.Pavlova's avatar Anna.Pavlova Committed by Alexander.Trofimov

Поправлен привнесенный баг (rev 64095) : не пересчитываются позиции...

Поправлен привнесенный баг (rev 64095) : не пересчитываются позиции (setPosition) для инлайновых формул

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@64115 954022d7-b5bf-4e40-9824-e11837661b57
parent 4df3a303
...@@ -771,7 +771,6 @@ ParaMath.prototype.Get_AlignToLine = function(_CurLine, _CurRange, _Page, _X, _X ...@@ -771,7 +771,6 @@ ParaMath.prototype.Get_AlignToLine = function(_CurLine, _CurRange, _Page, _X, _X
} }
var pos = new CMathPosition(); var pos = new CMathPosition();
this.Root.setPosition(pos, PosInfo); this.Root.setPosition(pos, PosInfo);
var XStart, XEnd; var XStart, XEnd;
...@@ -1609,6 +1608,17 @@ ParaMath.prototype.Recalculate_Range_Spaces = function(PRSA, _CurLine, _CurRange ...@@ -1609,6 +1608,17 @@ ParaMath.prototype.Recalculate_Range_Spaces = function(PRSA, _CurLine, _CurRange
if ( this.Paragraph !== null) if ( this.Paragraph !== null)
Page = this.Paragraph.Get_StartPage_Absolute(); Page = this.Paragraph.Get_StartPage_Absolute();
if(this.ParaMathRPI.bInline === true) // setPosition в этом случае на Get_AlignToLine не была вызвана, поэтому необходимо вызвать здесь
{
var PosInfo = new CMathPosInfo();
PosInfo.CurLine = _CurLine;
PosInfo.CurRange = _CurRange;
var pos = new CMathPosition();
this.Root.setPosition(pos, PosInfo);
}
this.Root.UpdateBoundsPosInfo(PRSA, _CurLine, _CurRange, Page + _CurPage); this.Root.UpdateBoundsPosInfo(PRSA, _CurLine, _CurRange, Page + _CurPage);
this.Root.Recalculate_Range_Spaces(PRSA, _CurLine, _CurRange, Page + _CurPage); this.Root.Recalculate_Range_Spaces(PRSA, _CurLine, _CurRange, Page + _CurPage);
......
...@@ -2167,10 +2167,9 @@ CMathBase.prototype.Recalculate_Range_Width = function(PRSC, _CurLine, _CurRange ...@@ -2167,10 +2167,9 @@ CMathBase.prototype.Recalculate_Range_Width = function(PRSC, _CurLine, _CurRange
if(this.bOneLine) if(this.bOneLine)
{ {
for ( var CurPos = 0; CurPos <= this.Content.length - 1; CurPos++ ) for (var Pos = 0; Pos <= this.Content.length - 1; Pos++)
{ {
var Item = this.Content[CurPos]; this.Content[Pos].Recalculate_Range_Width( PRSC, _CurLine, _CurRange );
Item.Recalculate_Range_Width( PRSC, _CurLine, _CurRange );
} }
PRSC.Range.W = RangeW + this.size.width; PRSC.Range.W = RangeW + this.size.width;
...@@ -2183,15 +2182,13 @@ CMathBase.prototype.Recalculate_Range_Width = function(PRSC, _CurLine, _CurRange ...@@ -2183,15 +2182,13 @@ CMathBase.prototype.Recalculate_Range_Width = function(PRSC, _CurLine, _CurRange
if(CurLine == 0 && CurRange == 0) if(CurLine == 0 && CurRange == 0)
PRSC.Range.W += this.BrGapLeft; PRSC.Range.W += this.BrGapLeft;
for ( var CurPos = StartPos; CurPos <= EndPos; CurPos++ ) for (var CurPos = StartPos; CurPos <= EndPos; CurPos++)
{ {
var Item = this.Content[CurPos]; this.Content[CurPos].Recalculate_Range_Width( PRSC, _CurLine, _CurRange );
Item.Recalculate_Range_Width( PRSC, _CurLine, _CurRange );
} }
PRSC.Range.W += this.dW*(EndPos - StartPos); PRSC.Range.W += this.dW*(EndPos - StartPos);
// Здесь проверяем не на то, что это последний Range (т.к. на данном этапе еще идет вычисление строк) а на конец контента ! // Здесь проверяем не на то, что это последний Range (т.к. на данном этапе еще идет вычисление строк) а на конец контента !
var Len = this.Content.length; var Len = this.Content.length;
......
...@@ -462,7 +462,9 @@ CMathBoxPr.prototype.Write_ToBinary = function(Writer) ...@@ -462,7 +462,9 @@ CMathBoxPr.prototype.Write_ToBinary = function(Writer)
this.brk.Write_ToBinary(Writer); this.brk.Write_ToBinary(Writer);
} }
else else
{
Writer.WriteBool(true); Writer.WriteBool(true);
}
}; };
CMathBoxPr.prototype.Read_FromBinary = function(Reader) CMathBoxPr.prototype.Read_FromBinary = function(Reader)
{ {
......
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