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

Реализован приоритет уровней вложения мат операторов (учитывается исключительно у неинлайн формул)

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@63621 954022d7-b5bf-4e40-9824-e11837661b57
parent 5de57f7a
...@@ -1176,7 +1176,7 @@ ParaMath.prototype.Recalculate_Range = function(PRS, ParaPr, Depth) ...@@ -1176,7 +1176,7 @@ ParaMath.prototype.Recalculate_Range = function(PRS, ParaPr, Depth)
var bUpdateWrapMath = PRS.Ranges.length > 0 && this.ParaMathRPI.bInline == false; var bUpdateWrapMath = PRS.Ranges.length > 0 && this.ParaMathRPI.bInline == false;
// первый пересчет // первый пересчет
if(PrevLineObject == null && true == bFirstRange && PRS.bFastRecalculate == false/*&& PRS.RecalcResult == recalcresult_NextLine*/) if(PrevLineObject == null && true == bFirstRange && PRS.bFastRecalculate == false)
{ {
// информация о пересчете // информация о пересчете
var RPI = new CRPI(); var RPI = new CRPI();
...@@ -1188,7 +1188,6 @@ ParaMath.prototype.Recalculate_Range = function(PRS, ParaPr, Depth) ...@@ -1188,7 +1188,6 @@ ParaMath.prototype.Recalculate_Range = function(PRS, ParaPr, Depth)
this.Root.PreRecalc(null, this, ArgSize, RPI); this.Root.PreRecalc(null, this, ArgSize, RPI);
this.ParaMathRPI.ResetInfoRanges(); this.ParaMathRPI.ResetInfoRanges();
//this.private_InitWrapSettings(PRS);
} }
if(bUpdateWrapMath == true && this.ParaMathRPI.bInternalRanges == false && PRS.bFastRecalculate == false) if(bUpdateWrapMath == true && this.ParaMathRPI.bInternalRanges == false && PRS.bFastRecalculate == false)
......
...@@ -3874,6 +3874,10 @@ CMathContent.prototype.Recalculate_Range = function(PRS, ParaPr, Depth) ...@@ -3874,6 +3874,10 @@ CMathContent.prototype.Recalculate_Range = function(PRS, ParaPr, Depth)
var bInternalOper = false, var bInternalOper = false,
bCurInsideOper = false; bCurInsideOper = false;
// для неинлайн формул :
// у операторов, находяхщихся на этом уровне (в Run) приоритет выше, чем у внутренних операторов (внутри мат объектов)
var bNoBreakMObj = false;
for(var Pos = RangeStartPos; Pos < ContentLen; Pos++) for(var Pos = RangeStartPos; Pos < ContentLen; Pos++)
{ {
var Item = this.Content[Pos], var Item = this.Content[Pos],
...@@ -3918,6 +3922,8 @@ CMathContent.prototype.Recalculate_Range = function(PRS, ParaPr, Depth) ...@@ -3918,6 +3922,8 @@ CMathContent.prototype.Recalculate_Range = function(PRS, ParaPr, Depth)
PRS.bInsideOper = false; PRS.bInsideOper = false;
PRS.bMath_OneLine = Type == para_Math_Composition && bNoBreakMObj == true;
Item.Recalculate_Range(PRS, ParaPr, Depth + 1); Item.Recalculate_Range(PRS, ParaPr, Depth + 1);
bCurInsideOper = bCurInsideOper || PRS.bInsideOper; bCurInsideOper = bCurInsideOper || PRS.bInsideOper;
...@@ -4027,6 +4033,13 @@ CMathContent.prototype.Recalculate_Range = function(PRS, ParaPr, Depth) ...@@ -4027,6 +4033,13 @@ CMathContent.prototype.Recalculate_Range = function(PRS, ParaPr, Depth)
} }
} }
} }
else
{
if(PRS.bPriorityOper == true && PRS.bInsideOper == true && PRS.X - PRS.XRange > PRS.WrapIndent)
{
bNoBreakMObj = true;
}
}
if ( true === PRS.NewRange ) if ( true === PRS.NewRange )
......
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