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

В новом варианте параграфе через класс CRun реализована работа с мышью....

В новом варианте параграфе через класс CRun реализована работа с мышью. Исправлен баг (в новой версии), с двойным нажатием левой кнопки мыши, когда должно было выделяться слово.

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@53838 954022d7-b5bf-4e40-9824-e11837661b57
parent 662dbb05
......@@ -7895,12 +7895,19 @@ CDocument.prototype =
Start = this.Selection.EndPos;
}
if ( true !== Debug_ParaRunMode )
{
// Чтобы не было эффекта, когда ничего не поселекчено, а при удалении соединяются параграфы
if ( Direction > 0 && type_Paragraph === this.Content[Start].GetType() && true === this.Content[Start].Selection_IsEmpty() && this.Content[Start].Selection.StartPos == this.Content[Start].Content.length - 1 )
{
this.Content[Start].Selection.StartPos = this.Content[Start].Internal_GetEndPos();
this.Content[Start].Selection.EndPos = this.Content[Start].Content.length - 1;
}
}
else
{
// TODO: Разрулить пустой селект
}
for ( var Index = Start; Index <= End; Index++ )
{
......@@ -7913,12 +7920,19 @@ CDocument.prototype =
case Start:
if ( type_Paragraph === ItemType )
{
if ( true !== Debug_ParaRunMode )
{
if ( Direction > 0 )
Item.Selection.EndPos = Item.Content.length - 1;
else
Item.Selection.StartPos = Item.Content.length - 1;
}
else
{
Item.Selection_SetBegEnd( ( Direction > 0 ? false : true ), false );
}
}
else //if ( type_Table === ItemType )
{
var Row = Item.Content.length - 1;
......@@ -7938,12 +7952,20 @@ CDocument.prototype =
case End:
if ( type_Paragraph === ItemType )
{
if ( true !== Debug_ParaRunMode )
{
if ( Direction > 0 )
Item.Selection.StartPos = Item.Internal_GetStartPos();
else
Item.Selection.EndPos = Item.Internal_GetStartPos();
}
else
{
Item.Selection_SetBegEnd( ( Direction > 0 ? true : false ), true );
}
}
else //if ( type_Table === ItemType )
{
var Pos = { Row: 0, Cell : 0 };
......@@ -7961,6 +7983,8 @@ CDocument.prototype =
default:
if ( type_Paragraph === ItemType )
{
if ( true !== Debug_ParaRunMode )
{
if ( Direction > 0 )
{
......@@ -7973,6 +7997,11 @@ CDocument.prototype =
Item.Selection.Set_StartPos(Item.Content.length - 1, -1);
}
}
else
{
Item.Select_All( Direction );
}
}
else //if ( type_Table === ItemType )
{
var Row = Item.Content.length - 1;
......
This diff is collapsed.
......@@ -2472,7 +2472,7 @@ ParaRun.prototype =
}
},
Get_ParaContentPosByXY : function(SearchPos, Depth, _CurLine, _CurRange)
Get_ParaContentPosByXY : function(SearchPos, Depth, _CurLine, _CurRange, StepEnd)
{
var Result = false;
......@@ -2488,8 +2488,6 @@ ParaRun.prototype =
var Item = this.Content[CurPos];
var TempDx = 0;
var bCheck = false;
// TODO: Сделать поддержку нумерации
// if ( ItemNum === this.Numbering.Pos )
......@@ -2556,19 +2554,23 @@ ParaRun.prototype =
}
}
// TODO: Сделать разруливование со строками
// if ( true != bEnd && ItemNum === this.Lines[CurLine].EndPos && X > CurX + TempDx && para_NewLine != Item.Type )
// {
// ResultLine = CurLine;
// DiffPos = ItemNum + 1;
// }
SearchPos.CurX += TempDx;
// Заглушка для знака параграфа
if ( para_End === Item.Type && Math.abs( SearchPos.X - SearchPos.CurX ) < SearchPos.DiffX )
// Заглушка для знака параграфа и конца строки
if ( Math.abs( SearchPos.X - SearchPos.CurX ) < SearchPos.DiffX )
{
if ( para_End === Item.Type )
{
SearchPos.End = true;
// Если мы ищем позицию для селекта, тогда нужно искать и за знаком параграфа
if ( true === StepEnd )
SearchPos.Pos.Update( this.Content.length, Depth );
}
else if ( CurPos === EndPos - 1 && para_NewLine != Item.Type )
{
SearchPos.Pos.Update( EndPos, Depth );
}
}
}
......@@ -2939,14 +2941,12 @@ ParaRun.prototype =
Selection_Stop : function()
{
this.State.Selection.Start = false;
},
Selection_Remove : function()
{
var Selection = this.State.Selection;
Selection.Start = false;
Selection.Use = false;
Selection.StartPos = 0;
Selection.EndPos = 0;
......@@ -2956,7 +2956,6 @@ ParaRun.prototype =
{
var Selection = this.State.Selection;
Selection.Start = false;
Selection.Use = true;
if ( -1 === Direction )
......@@ -3630,7 +3629,6 @@ ParaRun.prototype =
function CParaRunSelection()
{
this.Start = false;
this.Use = false;
this.StartPos = false;
this.EndPos = 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