Commit f907f1ee 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@63588 954022d7-b5bf-4e40-9824-e11837661b57
parent 27ff1c0a
......@@ -1457,19 +1457,17 @@ ParaMath.prototype.private_UpdateXLimits = function(PRS)
var WrapIndent = MathSettings.Get_WrapIndent(WrapState);
PRS.WrapIndent = WrapIndent;
PRS.bPriorityOper = this.ParaMathRPI.bInline == false;
if(this.ParaMathRPI.bInline == true || this.Root.IsStartLine(PRS.Line) == false)
var bFirstLine = this.Root.IsStartLine(PRS.Line);
PRS.bFirstLine = bFirstLine;
if(bFirstLine == false)
{
PRS.X += WrapIndent;
PRS.bCompareWrapIndent = false;
}
else
{
PRS.bCompareWrapIndent = true;
}
PRS.XRange = PRS.X;
};
ParaMath.prototype.UpdateInfoForBreak = function(PRS, Line)
{
......
......@@ -2191,7 +2191,8 @@ function CParagraphRecalculateStateWrap(Para)
this.WrapIndent = 0; // WrapIndent нужен для сравнения с длиной слова (когда слово разбивается по Compare Oper): ширина первой строки формулы не должна быть меньше WrapIndent
this.bFirstCompareOper = true;
this.bCompareWrapIndent = false;
this.bFirstLine = false;
this.bPriorityOper = true;
// у "крайних" в строке операторов/мат объектов сооответствующий Gap равен нулю
this.OperGapRight = 0;
......@@ -2235,7 +2236,6 @@ CParagraphRecalculateStateWrap.prototype =
this.bInsideOper = false;
this.bNoOneBreakOperator = true;
this.bFastRecalculate = false;
this.bCompareWrapIndent = false;
this.bBoxOperator = false;
},
......@@ -2271,7 +2271,6 @@ CParagraphRecalculateStateWrap.prototype =
this.bInsideOper = false;
this.bNoOneBreakOperator = true;
this.bFastRecalculate = false;
this.bCompareWrapIndent = false;
this.bBoxOperator = false;
},
......
......@@ -2314,7 +2314,9 @@ ParaRun.prototype.Recalculate_Range = function(PRS, ParaPr, Depth)
var bOverXEnd;
if(bCompareOper && bFirstCompareOper == true && PRS.bCompareWrapIndent == true && WorLenCompareOper > PRS.WrapIndent && !(Word == false && bFirstItem == true)) // (Word == true && FirstItemOnLine == true) - не первый элемент в строке
var bCompareWrapIndent = PRS.bFirstLine == true ? WorLenCompareOper > PRS.WrapIndent : true;
if(PRS.bPriorityOper == true && bCompareOper == true && bFirstCompareOper == true && bCompareWrapIndent == true && !(Word == false && bFirstItem == true)) // (Word == true && FirstItemOnLine == true) - не первый элемент в строке
bFirstCompareOper = false;
if(bOperBefore) // оператор "до"
......
......@@ -1868,7 +1868,6 @@ CMathBase.prototype.Recalculate_Range = function(PRS, ParaPr, Depth)
PRS.WordLen += this.dW;
}
if(PRS.NewRange == false)
{
PRS.WordLen += this.BrGapRight;
......
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