Commit d0c56133 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@54172 954022d7-b5bf-4e40-9824-e11837661b57
parent 730057fd
......@@ -8447,34 +8447,69 @@ Paragraph.prototype =
// Расширяем параграф до позиции X
Extend_ToPos : function(_X)
{
var Page = this.Pages[this.Pages.length - 1];
if ( true !== Debug_ParaRunMode )
{
var Page = this.Pages[this.Pages.length - 1];
var X0 = Page.X;
var X1 = Page.XLimit - X0;
var X = _X - X0;
var X0 = Page.X;
var X1 = Page.XLimit - X0;
var X = _X - X0;
if ( true === this.IsEmpty() )
{
if ( Math.abs(X - X1 / 2) < 12.5 )
return this.Set_Align( align_Center );
else if ( X > X1 - 12.5 )
return this.Set_Align( align_Right );
else if ( X < 12.5 )
return this.Set_Ind( { FirstLine : 12.5 }, false );
}
var Tabs = this.Get_CompiledPr2(false).ParaPr.Tabs.Copy();
var CurPos = this.Internal_GetEndPos();
if ( true === this.IsEmpty() )
{
if ( Math.abs(X - X1 / 2) < 12.5 )
return this.Set_Align( align_Center );
Tabs.Add( new CParaTab( tab_Center, X1 / 2 ) );
else if ( X > X1 - 12.5 )
return this.Set_Align( align_Right );
else if ( X < 12.5 )
return this.Set_Ind( { FirstLine : 12.5 }, false );
Tabs.Add( new CParaTab( tab_Right, X1 - 0.001 ) );
else
Tabs.Add( new CParaTab( tab_Left, X ) );
this.Set_Tabs( Tabs );
this.Internal_Content_Add( CurPos, new ParaTab() );
}
else
{
var Page = this.Pages[this.Pages.length - 1];
var Tabs = this.Get_CompiledPr2(false).ParaPr.Tabs.Copy();
var CurPos = this.Internal_GetEndPos();
var X0 = Page.X;
var X1 = Page.XLimit - X0;
var X = _X - X0;
if ( Math.abs(X - X1 / 2) < 12.5 )
Tabs.Add( new CParaTab( tab_Center, X1 / 2 ) );
else if ( X > X1 - 12.5 )
Tabs.Add( new CParaTab( tab_Right, X1 - 0.001 ) );
else
Tabs.Add( new CParaTab( tab_Left, X ) );
if ( true === this.IsEmpty() )
{
if ( Math.abs(X - X1 / 2) < 12.5 )
return this.Set_Align( align_Center );
else if ( X > X1 - 12.5 )
return this.Set_Align( align_Right );
else if ( X < 12.5 )
return this.Set_Ind( { FirstLine : 12.5 }, false );
}
var Tabs = this.Get_CompiledPr2(false).ParaPr.Tabs.Copy();
this.Set_Tabs( Tabs );
this.Internal_Content_Add( CurPos, new ParaTab() );
if ( Math.abs(X - X1 / 2) < 12.5 )
Tabs.Add( new CParaTab( tab_Center, X1 / 2 ) );
else if ( X > X1 - 12.5 )
Tabs.Add( new CParaTab( tab_Right, X1 - 0.001 ) );
else
Tabs.Add( new CParaTab( tab_Left, X ) );
this.Set_Tabs( Tabs );
this.Set_ParaContentPos( this.Get_EndPos( false ), -1, false );
this.Add( new ParaTab() );
}
},
Internal_IncDecFontSize : function(bIncrease, Value)
......@@ -12528,9 +12563,8 @@ Paragraph.prototype =
{
var PagesCount = this.Pages.length;
// TODO: Реализовать Extend_ToPos
//if ( false === editor.isViewMode && null === this.Parent.Is_HdrFtr(true) && null == this.Get_DocumentNext() && PageNum - this.PageNum >= PagesCount - 1 && Y > this.Pages[PagesCount - 1].Bounds.Bottom && MouseEvent.ClickCount >= 2 )
// return this.Parent.Extend_ToPos( X, Y );
if ( false === editor.isViewMode && null === this.Parent.Is_HdrFtr(true) && null == this.Get_DocumentNext() && PageNum - this.PageNum >= PagesCount - 1 && Y > this.Pages[PagesCount - 1].Bounds.Bottom && MouseEvent.ClickCount >= 2 )
return this.Parent.Extend_ToPos( X, Y );
// Обновляем позицию курсора
this.CurPos.RealX = X;
......@@ -12545,21 +12579,20 @@ Paragraph.prototype =
if ( true === SearchPosXY.End )
{
// TODO: Реализовать Extend_ToPos
// if ( PageNum - this.PageNum >= PagesCount - 1 && X > this.Lines[this.Lines.length - 1].Ranges[this.Lines[this.Lines.length - 1].Ranges.length - 1].W && MouseEvent.ClickCount >= 2 && Y <= this.Pages[PagesCount - 1].Bounds.Bottom )
// {
// if ( false === editor.isViewMode && false === editor.WordControl.m_oLogicDocument.Document_Is_SelectionLocked(changestype_None, { Type : changestype_2_Element_and_Type, Element : this, CheckType : changestype_Paragraph_Content } ) )
// {
// History.Create_NewPoint();
// History.Set_Additional_ExtendDocumentToPos();
//
// this.Extend_ToPos( X );
// this.Cursor_MoveToEndPos();
// this.Document_SetThisElementCurrent(true);
// editor.WordControl.m_oLogicDocument.Recalculate();
// return;
// }
// }
if ( PageNum - this.PageNum >= PagesCount - 1 && X > this.Lines[this.Lines.length - 1].Ranges[this.Lines[this.Lines.length - 1].Ranges.length - 1].W && MouseEvent.ClickCount >= 2 && Y <= this.Pages[PagesCount - 1].Bounds.Bottom )
{
if ( false === editor.isViewMode && false === editor.WordControl.m_oLogicDocument.Document_Is_SelectionLocked(changestype_None, { Type : changestype_2_Element_and_Type, Element : this, CheckType : changestype_Paragraph_Content } ) )
{
History.Create_NewPoint();
History.Set_Additional_ExtendDocumentToPos();
this.Extend_ToPos( X );
this.Cursor_MoveToEndPos();
this.Document_SetThisElementCurrent(true);
editor.WordControl.m_oLogicDocument.Recalculate();
return;
}
}
}
// Выставляем селект
......
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