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

1. Неправильный поиск позиции (ф-ия Get_ParaContentPosByXY). Документ...

1. Неправильный поиск позиции (ф-ия Get_ParaContentPosByXY). Документ "неправильный поиск позиции при попытке встать перед формулой.docx".
Баг возникал при попытке встать перед первой формулой в документе. В результате того, что в формуле находились мат объекты, была неправильная подсветка контента в левом верхнем углу документа и невозможно было набирать текст (когда кликали перед формулой)
2. GetWidth => Get_Width (для Bounds)

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@66809 954022d7-b5bf-4e40-9824-e11837661b57
parent bc387d76
......@@ -2327,7 +2327,7 @@ ParaMath.prototype.Draw_Elements = function(PDSE)
this.Root.Draw_Elements(PDSE);
PDSE.X = X + this.Root.GetWidth(PDSE.Line, PDSE.Range);
PDSE.X = X + this.Root.Get_Width(PDSE.Line, PDSE.Range);
/*PDSE.Graphics.p_color(255,0,0, 255);
PDSE.Graphics.drawHorLine(0, PDSE.Y - this.Ascent + this.Height, PDSE.X - 30, PDSE.X + this.Width + 30 , 1);*/
......@@ -2435,11 +2435,20 @@ ParaMath.prototype.Cursor_MoveToEndPos = function(SelectFromEnd)
ParaMath.prototype.Get_ParaContentPosByXY = function(SearchPos, Depth, _CurLine, _CurRange, StepEnd, Flag) // получить логическую позицию по XY
{
var Result = false;
var Result = this.Root.Get_ParaContentPosByXY(SearchPos, Depth, _CurLine, _CurRange, StepEnd);
var CurX = SearchPos.CurX;
if(SearchPos.X > SearchPos.CurX) // еобходимая проверка, если случайно пришла ф-ия поиска позиции, без этой проверки будет некорректно выполнен поиск (если внутри формулы есть мат объекты => позиции поиска перетрутся в CMathBase)
{
Result = this.Root.Get_ParaContentPosByXY(SearchPos, Depth, _CurLine, _CurRange, StepEnd);
if(SearchPos.InText)
SearchPos.DiffX = 0.001; // чтобы всегда встать в формулу, если попали в текст
}
SearchPos.CurX = CurX + this.Root.Get_Width(_CurLine, _CurRange);
if(SearchPos.InText)
SearchPos.DiffX = 0.001; // чтобы всегда встать в формулу, если попали в текст
return Result;
};
......
......@@ -1286,12 +1286,12 @@ CMathBase.prototype.Recalculate_Range_Spaces = function(PRSA, _CurLine, _CurRang
if ( 0 !== PRSA.LettersSkip )
{
WidthVisible = this.Bounds.GetWidth(CurLine, CurRange);
WidthVisible = this.Bounds.Get_Width(CurLine, CurRange);
PRSA.LettersSkip--;
}
else
{
WidthVisible = this.Bounds.GetWidth(CurLine, CurRange) + PRSA.JustifyWord;
WidthVisible = this.Bounds.Get_Width(CurLine, CurRange) + PRSA.JustifyWord;
}
PRSA.X += WidthVisible;
......@@ -1302,7 +1302,7 @@ CMathBase.prototype.Get_Width = function(_CurLine, _CurRange)
var CurLine = _CurLine - this.StartLine,
CurRange = ( 0 === CurLine ? _CurRange - this.StartRange : _CurRange );
return this.Bounds.GetWidth(CurLine, CurRange);
return this.Bounds.Get_Width(CurLine, CurRange);
};
CMathBase.prototype.Save_RecalculateObject = function(Copy)
{
......@@ -1682,7 +1682,7 @@ CMathBase.prototype.Selection_DrawRange = function(_CurLine, _CurRange, Selectio
}
else if(SelectionDraw.FindStart == true)
{
SelectionDraw.StartX += this.Bounds.GetWidth(CurLine, CurRange);
SelectionDraw.StartX += this.Bounds.Get_Width(CurLine, CurRange);
}
};
......@@ -2644,7 +2644,7 @@ CMathBounds.prototype.SetPage = function(Line, Range, Page)
this.CheckLineBound(Line);
this.Bounds[Line][Range].SetPage(Page);
};
CMathBounds.prototype.GetWidth = function(Line, Range)
CMathBounds.prototype.Get_Width = function(Line, Range)
{
this.CheckLineBound(Line);
return this.Bounds[Line][Range].W;
......
......@@ -4345,12 +4345,12 @@ CMathContent.prototype.GetPos = function(_CurLine, _CurRange)
return this.Bounds.GetPos(CurLine, CurRange);
};
CMathContent.prototype.GetWidth = function(_CurLine, _CurRange)
CMathContent.prototype.Get_Width = function(_CurLine, _CurRange)
{
var CurLine = _CurLine - this.StartLine,
CurRange = ( 0 === CurLine ? _CurRange - this.StartRange : _CurRange );
return this.Bounds.GetWidth(CurLine, CurRange);
return this.Bounds.Get_Width(CurLine, CurRange);
};
CMathContent.prototype.GetAscent = function(_CurLine, _CurRange)
{
......
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