Commit ea52adf6 authored by KirillovIlya's avatar KirillovIlya

Bug #31922 Исправлен баг с перемещением курсора по стрелкам в ячейках таблицы...

Bug #31922 Исправлен баг с перемещением курсора по стрелкам в ячейках таблицы с вертикальным текстом.
Bug #31920 Исправлен баг со свойством "не отрывать от следующего".
parent 52d8a568
......@@ -15150,6 +15150,14 @@ CDocument.prototype.private_UpdateCursorXY = function(bUpdateX, bUpdateY)
{
NewCursorPos = this.HdrFtr.RecalculateCurPos();
}
if (NewCursorPos && NewCursorPos.Transform)
{
var x = NewCursorPos.Transform.TransformPointX(NewCursorPos.X, NewCursorPos.Y);
var y = NewCursorPos.Transform.TransformPointY(NewCursorPos.X, NewCursorPos.Y);
NewCursorPos.X = x;
NewCursorPos.Y = y;
}
}
else
{
......
......@@ -1048,13 +1048,15 @@ Paragraph.prototype =
// Пересчитываем заданную позицию элемента или текущую позицию курсора.
Internal_Recalculate_CurPos : function(Pos, UpdateCurPos, UpdateTarget, ReturnTarget)
{
var Transform = this.Get_ParentTextTransform();
if ( this.Lines.length <= 0 )
return { X : 0, Y : 0, Height : 0, PageNum : 0, Internal : { Line : 0, Page : 0, Range : 0 } };
return { X : 0, Y : 0, Height : 0, PageNum : 0, Internal : { Line : 0, Page : 0, Range : 0 }, Transform : Transform };
var LinePos = this.Get_CurrentParaPos();
if (-1 === LinePos.Line)
return { X : 0, Y : 0, Height : 0, PageNum : 0, Internal : { Line : 0, Page : 0, Range : 0 } };
return { X : 0, Y : 0, Height : 0, PageNum : 0, Internal : { Line : 0, Page : 0, Range : 0 }, Transform : Transform };
var CurLine = LinePos.Line;
var CurRange = LinePos.Range;
......@@ -1079,15 +1081,20 @@ Paragraph.prototype =
for ( var CurPos = StartPos; CurPos <= EndPos; CurPos++ )
{
var Item = this.Content[CurPos];
var Res = Item.Recalculate_CurPos( X, Y, (CurPos === this.CurPos.ContentPos ? true : false), CurRange, CurLine, CurPage, UpdateCurPos, UpdateTarget, ReturnTarget );
var Res = Item.Recalculate_CurPos(X, Y, (CurPos === this.CurPos.ContentPos ? true : false), CurRange, CurLine, CurPage, UpdateCurPos, UpdateTarget, ReturnTarget);
if ( CurPos === this.CurPos.ContentPos )
if (CurPos === this.CurPos.ContentPos)
{
Res.Transform = Transform;
return Res;
}
else
{
X = Res.X;
}
}
return { X : X, Y : Y, PageNum : CurPage + this.Get_StartPage_Absolute(), Internal : { Line : CurLine, Page : CurPage, Range : CurRange } };
return { X : X, Y : Y, PageNum : CurPage + this.Get_StartPage_Absolute(), Internal : { Line : CurLine, Page : CurPage, Range : CurRange }, Transform : Transform };
},
// Можно ли объединить границы двух параграфов с заданными настройками Pr1, Pr2
......
......@@ -628,11 +628,10 @@ Paragraph.prototype.private_RecalculatePageKeepNext = function(CurLine, CurPa
else
{
var Prev = Curr.Get_DocumentPrev();
if (null === Prev || type_Paragraph != Prev.GetType() || undefined !== Prev.Get_SectionPr())
if (null === Prev || (type_Paragraph === Prev.GetType() && undefined !== Prev.Get_SectionPr()))
break;
var PrevKeepNext = Prev.Get_CompiledPr2(false).ParaPr.KeepNext;
if (false === PrevKeepNext)
if (type_Paragraph != Prev.GetType() || false === Prev.Get_CompiledPr2(false).ParaPr.KeepNext)
{
if (true === this.Parent.RecalcInfo.Can_RecalcObject())
{
......@@ -644,7 +643,9 @@ Paragraph.prototype.private_RecalculatePageKeepNext = function(CurLine, CurPa
break;
}
else
{
Curr = Prev;
}
}
}
}
......
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