Commit 22306d14 authored by Ilya.Kirillov's avatar Ilya.Kirillov

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

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@55032 954022d7-b5bf-4e40-9824-e11837661b57
parent dc833320
...@@ -302,16 +302,24 @@ ParaMath2.prototype = ...@@ -302,16 +302,24 @@ ParaMath2.prototype =
// переделать с разбиванием на строки. // переделать с разбиванием на строки.
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
// Если это первый отрезок в данной строке, тогда нам надо добавить строку (первую строку не добавляем,
// т.к. она всегда есть)
if ( 0 === CurRange )
{
if ( 0 !== CurLine )
{
this.Lines[CurLine] = new CParaRunLine();
this.LinesLength = CurLine + 1;
}
else
{
this.LinesLength = CurLine + 1;
}
}
// Отмечаем, что началось слово // Отмечаем, что началось слово
PRS.StartWord = true; PRS.StartWord = true;
// Обновляем метрику строки
if ( PRS.LineAscent < this.Ascent )
PRS.LineAscent = this.Ascent;
if ( PRS.LineDescent < this.Descent )
PRS.LineDescent = this.Descent;
// При проверке, убирается ли слово, мы должны учитывать ширину предшествующих пробелов. // При проверке, убирается ли слово, мы должны учитывать ширину предшествующих пробелов.
var LetterLen = Size.Width; var LetterLen = Size.Width;
if ( true !== PRS.Word ) if ( true !== PRS.Word )
...@@ -389,8 +397,21 @@ ParaMath2.prototype = ...@@ -389,8 +397,21 @@ ParaMath2.prototype =
var RangeEndPos = 0; var RangeEndPos = 0;
if ( true !== PRS.NewRange ) if ( true !== PRS.NewRange )
{
RangeEndPos = 1; RangeEndPos = 1;
// Удаляем лишние строки, оставшиеся после предыдущего пересчета в самом конце
if ( this.Lines.length > this.LinesLength )
this.Lines.length = this.LinesLength;
// Обновляем метрику строки
if ( PRS.LineAscent < this.Ascent )
PRS.LineAscent = this.Ascent;
if ( PRS.LineDescent < this.Descent )
PRS.LineDescent = this.Descent;
}
if ( 0 === CurLine && 0 === CurRange ) if ( 0 === CurLine && 0 === CurRange )
{ {
this.Range.StartPos = RangeStartPos; this.Range.StartPos = RangeStartPos;
...@@ -486,13 +507,6 @@ ParaMath2.prototype = ...@@ -486,13 +507,6 @@ ParaMath2.prototype =
HyperLines.LinesLength = this.LinesLength; HyperLines.LinesLength = this.LinesLength;
var ContentLen = this.Content.length;
for ( var CurPos = 0; CurPos < ContentLen; CurPos++ )
{
var ContentLines = this.Content[CurPos].Save_Lines();
HyperLines.Content.push( ContentLines );
}
return HyperLines; return HyperLines;
}, },
...@@ -501,12 +515,6 @@ ParaMath2.prototype = ...@@ -501,12 +515,6 @@ ParaMath2.prototype =
this.Lines = HyperLines.Lines; this.Lines = HyperLines.Lines;
this.LinesLength = HyperLines.LinesLength; this.LinesLength = HyperLines.LinesLength;
this.Range = this.Lines[0].Ranges[0]; this.Range = this.Lines[0].Ranges[0];
var ContentLen = this.Content.length;
for ( var CurPos = 0; CurPos < ContentLen; CurPos++ )
{
this.Content[CurPos].Restore_Lines( HyperLines.Content[CurPos] );
}
}, },
Is_EmptyRange : function(_CurLine, _CurRange) Is_EmptyRange : function(_CurLine, _CurRange)
......
...@@ -14185,7 +14185,6 @@ Paragraph.prototype = ...@@ -14185,7 +14185,6 @@ Paragraph.prototype =
return false; return false;
} }
// TODO: реализовать Selection_Check
return false; return false;
} }
}, },
......
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