Commit 9e84b5e7 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@55863 954022d7-b5bf-4e40-9824-e11837661b57
parent b22aa8dc
...@@ -5547,7 +5547,7 @@ Paragraph.prototype = ...@@ -5547,7 +5547,7 @@ Paragraph.prototype =
var SavedLines = Item.Save_RecalculateObject(true); var SavedLines = Item.Save_RecalculateObject(true);
Item.Recalculate_Range( ParaPr, 1 ); Item.Recalculate_Range( PRS, ParaPr, 1 );
if ( ( true === PRS.NewRange && Pos !== EndPos ) || ( Pos === EndPos && true !== PRS.NewRange ) ) if ( ( true === PRS.NewRange && Pos !== EndPos ) || ( Pos === EndPos && true !== PRS.NewRange ) )
return -1; return -1;
...@@ -9523,7 +9523,7 @@ Paragraph.prototype = ...@@ -9523,7 +9523,7 @@ Paragraph.prototype =
this.CurPos.Range = Range; this.CurPos.Range = Range;
}, },
Set_SelectionContentPos : function(StartContentPos, EndContentPos) Set_SelectionContentPos : function(StartContentPos, EndContentPos, CorrectAnchor)
{ {
var Depth = 0; var Depth = 0;
...@@ -9599,6 +9599,8 @@ Paragraph.prototype = ...@@ -9599,6 +9599,8 @@ Paragraph.prototype =
// this.Content[EndPos].Select_All( StartPos > EndPos ? -1 : 1 ); // this.Content[EndPos].Select_All( StartPos > EndPos ? -1 : 1 );
} }
if ( false !== CorrectAnchor )
{
// Дополнительная проверка. Если у нас визуально выделен весь параграф (т.е. весь текст и знак параграфа // Дополнительная проверка. Если у нас визуально выделен весь параграф (т.е. весь текст и знак параграфа
// обязательно!), тогда выделяем весь параграф целиком, чтобы в селект попадали и все привязанные объекты. // обязательно!), тогда выделяем весь параграф целиком, чтобы в селект попадали и все привязанные объекты.
// Но если у нас выделен параграф не целиком, тогда мы снимаем выделение с привязанных объектов, стоящих в // Но если у нас выделен параграф не целиком, тогда мы снимаем выделение с привязанных объектов, стоящих в
...@@ -9658,9 +9660,19 @@ Paragraph.prototype = ...@@ -9658,9 +9660,19 @@ Paragraph.prototype =
if ( true === this.Content[Pos].Selection_CorrectLeftPos(Direction) ) if ( true === this.Content[Pos].Selection_CorrectLeftPos(Direction) )
{ {
if ( 1 === Direction ) if ( 1 === Direction )
{
if ( Pos + 1 > this.Selection.EndPos )
break;
this.Selection.StartPos = Pos + 1; this.Selection.StartPos = Pos + 1;
}
else else
{
if ( Pos + 1 > this.Selection.StartPos )
break;
this.Selection.EndPos = Pos + 1; this.Selection.EndPos = Pos + 1;
}
this.Content[Pos].Selection_Remove(); this.Content[Pos].Selection_Remove();
} }
...@@ -9670,6 +9682,7 @@ Paragraph.prototype = ...@@ -9670,6 +9682,7 @@ Paragraph.prototype =
} }
} }
}
}, },
Get_ParaContentPosByXY : function(X, Y, PageNum, bYLine, StepEnd) Get_ParaContentPosByXY : function(X, Y, PageNum, bYLine, StepEnd)
...@@ -14521,11 +14534,11 @@ Paragraph.prototype = ...@@ -14521,11 +14534,11 @@ Paragraph.prototype =
if ( true === StartSelection ) if ( true === StartSelection )
{ {
this.Set_SelectionContentPos( ContentPos, this.Get_ParaContentPos( true, false ) ); this.Set_SelectionContentPos( ContentPos, this.Get_ParaContentPos( true, false ), false );
} }
else else
{ {
this.Set_SelectionContentPos( this.Get_ParaContentPos( true, true ), ContentPos ); this.Set_SelectionContentPos( this.Get_ParaContentPos( true, true ), ContentPos, 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