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

Исправлен баг с выделение, зачеркиванием и подчеркиванием пробелов, идущих в...

Исправлен баг с выделение, зачеркиванием и подчеркиванием пробелов, идущих в конце строки, в новом варианте параграфа.

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@54174 954022d7-b5bf-4e40-9824-e11837661b57
parent 746947f1
...@@ -6112,7 +6112,7 @@ Paragraph.prototype = ...@@ -6112,7 +6112,7 @@ Paragraph.prototype =
// сохраним позиции начала и конца продолжительных одинаковых настроек // сохраним позиции начала и конца продолжительных одинаковых настроек
// выделения, совместного редактирования и поиска соответственно. // выделения, совместного редактирования и поиска соответственно.
PDSH.Reset_Range( CurPage, CurLine, CurRange, X, Y0, Y1 ); PDSH.Reset_Range( CurPage, CurLine, CurRange, X, Y0, Y1, _Range.SpacesSkip + _Range.Spaces );
if ( true === this.Numbering.Check_Range(CurRange, CurLine) ) if ( true === this.Numbering.Check_Range(CurRange, CurLine) )
{ {
...@@ -7098,7 +7098,7 @@ Paragraph.prototype = ...@@ -7098,7 +7098,7 @@ Paragraph.prototype =
var Range = Line.Ranges[CurRange]; var Range = Line.Ranges[CurRange];
var X = Range.XVisible; var X = Range.XVisible;
PDSL.Reset_Range( CurRange, X ); PDSL.Reset_Range( CurRange, X, Range.SpacesSkip + Range.Spaces );
var StartPos = Range.StartPos; var StartPos = Range.StartPos;
var EndPos = Range.EndPos; var EndPos = Range.EndPos;
...@@ -19849,6 +19849,8 @@ function CParagraphDrawStateHightlights() ...@@ -19849,6 +19849,8 @@ function CParagraphDrawStateHightlights()
this.X = 0; this.X = 0;
this.Y0 = 0; this.Y0 = 0;
this.Y1 = 0; this.Y1 = 0;
this.Spaces = 0;
} }
CParagraphDrawStateHightlights.prototype = CParagraphDrawStateHightlights.prototype =
...@@ -19866,7 +19868,7 @@ CParagraphDrawStateHightlights.prototype = ...@@ -19866,7 +19868,7 @@ CParagraphDrawStateHightlights.prototype =
this.CurPos = new CParagraphContentPos(); this.CurPos = new CParagraphContentPos();
}, },
Reset_Range : function(Page, Line, Range, X, Y0, Y1) Reset_Range : function(Page, Line, Range, X, Y0, Y1, SpacesCount)
{ {
this.Page = Page; this.Page = Page;
this.Line = Line; this.Line = Line;
...@@ -19880,6 +19882,8 @@ CParagraphDrawStateHightlights.prototype = ...@@ -19880,6 +19882,8 @@ CParagraphDrawStateHightlights.prototype =
this.X = X; this.X = X;
this.Y0 = Y0; this.Y0 = Y0;
this.Y1 = Y1; this.Y1 = Y1;
this.Spaces = SpacesCount;
} }
}; };
...@@ -19947,6 +19951,7 @@ function CParagraphDrawStateLines() ...@@ -19947,6 +19951,7 @@ function CParagraphDrawStateLines()
this.X = 0; this.X = 0;
this.BaseLine = 0; this.BaseLine = 0;
this.UnderlineOffset = 0; this.UnderlineOffset = 0;
this.Spaces = 0;
} }
CParagraphDrawStateLines.prototype = CParagraphDrawStateLines.prototype =
...@@ -19976,14 +19981,12 @@ CParagraphDrawStateLines.prototype = ...@@ -19976,14 +19981,12 @@ CParagraphDrawStateLines.prototype =
this.Spelling.Clear(); this.Spelling.Clear();
}, },
Reset_Range : function(Range, X) Reset_Range : function(Range, X, Spaces)
{ {
this.Range = Range; this.Range = Range;
this.X = X;
this.X = X; this.Spaces = Spaces;
} }
}; };
var g_oPDSH = new CParagraphDrawStateHightlights(); var g_oPDSH = new CParagraphDrawStateHightlights();
......
...@@ -1950,6 +1950,8 @@ ParaRun.prototype = ...@@ -1950,6 +1950,8 @@ ParaRun.prototype =
// т.к. класс CParaRun попадает или не попадает в комментарий целиком. // т.к. класс CParaRun попадает или не попадает в комментарий целиком.
var bDrawSearch = false; var bDrawSearch = false;
// TODO: Переделать поиск
// if ( true === bDrawSearch ) // if ( true === bDrawSearch )
// { // {
// for ( var SId in SearchResults ) // for ( var SId in SearchResults )
...@@ -2005,23 +2007,16 @@ ParaRun.prototype = ...@@ -2005,23 +2007,16 @@ ParaRun.prototype =
} }
case para_Space: case para_Space:
{ {
// TODO: Переделать здесь // Пробелы в конце строки (и строку состоящую из пробелов) не подчеркиваем, не зачеркиваем и не выделяем
if ( PDSH.Spaces > 0 )
// // Пробелы в конце строки (и строку состоящую из пробелов) не подчеркиваем, не зачеркиваем и не выделяем {
// if ( Pos >= _Range.StartPos2 && Pos <= _Range.EndPos2 ) if ( CommentsFlag != comments_NoComment && bDrawComments )
// { aComm.Add( Y0, Y1, X, X + Item.WidthVisible, 0, 0, 0, 0, { Active : CommentsFlag === comments_ActiveComment ? true : false } );
// if ( CommentsFlag != comments_NoComment && bDrawComments ) else if ( highlight_None != HighLight )
// aComm.Add( Y0, Y1, X, X + Item.WidthVisible, 0, 0, 0, 0, { Active : CommentsFlag === comments_ActiveComment ? true : false } ); aHigh.Add( Y0, Y1, X, X + Item.WidthVisible, 0, HighLight.r, HighLight.g, HighLight.b );
// else if ( highlight_None != HighLight )
// aHigh.Add( Y0, Y1, X, X + Item.WidthVisible, 0, HighLight.r, HighLight.g, HighLight.b );
// }
if ( CommentsFlag != comments_NoComment && bDrawComments )
aComm.Add( Y0, Y1, X, X + Item.WidthVisible, 0, 0, 0, 0, { Active : CommentsFlag === comments_ActiveComment ? true : false } );
else if ( highlight_None != HighLight )
aHigh.Add( Y0, Y1, X, X + Item.WidthVisible, 0, HighLight.r, HighLight.g, HighLight.b );
//------------------------------------------- PDSH.Spaces--;
}
if ( true === bDrawSearch ) if ( true === bDrawSearch )
aFind.Add( Y0, Y1, X, X + Item.WidthVisible, 0, 0, 0, 0 ); aFind.Add( Y0, Y1, X, X + Item.WidthVisible, 0, 0, 0, 0 );
...@@ -2213,6 +2208,7 @@ ParaRun.prototype = ...@@ -2213,6 +2208,7 @@ ParaRun.prototype =
var AutoColor = PDSL.AutoColor; var AutoColor = PDSL.AutoColor;
var CurColor = new CDocumentColor( 0, 0, 0, false ); var CurColor = new CDocumentColor( 0, 0, 0, false );
// Выставляем цвет обводки // Выставляем цвет обводки
if ( true === PDSL.VisitedHyperlink ) if ( true === PDSL.VisitedHyperlink )
CurColor.Set( 128, 0, 151, 255 ); CurColor.Set( 128, 0, 151, 255 );
...@@ -2262,28 +2258,19 @@ ParaRun.prototype = ...@@ -2262,28 +2258,19 @@ ParaRun.prototype =
} }
case para_Space: case para_Space:
{ {
// TODO: реализовать через счетчик пробелов в начале и в конце // Пробелы, идущие в конце строки, не подчеркиваем и не зачеркиваем
// if ( Pos >= _Range.StartPos2 && Pos <= _Range.EndPos2 ) if ( PDSL.Spaces > 0 )
// { {
// if ( true === CurTextPr.DStrikeout ) if ( true === CurTextPr.DStrikeout )
// aDStrikeout.Add( StrikeoutY, StrikeoutY, X, X + Item.WidthVisible, LineW, CurColor.r, CurColor.g, CurColor.b ); aDStrikeout.Add( StrikeoutY, StrikeoutY, X, X + Item.WidthVisible, LineW, CurColor.r, CurColor.g, CurColor.b );
// else if ( true === CurTextPr.Strikeout ) else if ( true === CurTextPr.Strikeout )
// aStrikeout.Add( StrikeoutY, StrikeoutY, X, X + Item.WidthVisible, LineW, CurColor.r, CurColor.g, CurColor.b ); aStrikeout.Add( StrikeoutY, StrikeoutY, X, X + Item.WidthVisible, LineW, CurColor.r, CurColor.g, CurColor.b );
//
// if ( true === CurTextPr.Underline )
// aUnderline.Add( UnderlineY, UnderlineY, X, X + Item.WidthVisible, LineW, CurColor.r, CurColor.g, CurColor.b );
// }
if ( true === CurTextPr.DStrikeout )
aDStrikeout.Add( StrikeoutY, StrikeoutY, X, X + Item.WidthVisible, LineW, CurColor.r, CurColor.g, CurColor.b );
else if ( true === CurTextPr.Strikeout )
aStrikeout.Add( StrikeoutY, StrikeoutY, X, X + Item.WidthVisible, LineW, CurColor.r, CurColor.g, CurColor.b );
if ( true === CurTextPr.Underline )
aUnderline.Add( UnderlineY, UnderlineY, X, X + Item.WidthVisible, LineW, CurColor.r, CurColor.g, CurColor.b );
//----------------------------------------------------------------------------------- if ( true === CurTextPr.Underline )
aUnderline.Add( UnderlineY, UnderlineY, X, X + Item.WidthVisible, LineW, CurColor.r, CurColor.g, CurColor.b );
PDSL.Spaces--;
}
X += Item.WidthVisible; X += Item.WidthVisible;
......
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