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