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

Исправлен баг с компиляцией стиля параграфа в совместном редактировании (баг...

Исправлен баг с компиляцией стиля параграфа в совместном редактировании (баг 24531). Исправлен баг с выделением при drag-n-drop (баг 24529). Исправлен баг с drag-n-drop при переносе переграфа целиком (баги 24523, 24513).

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@56444 954022d7-b5bf-4e40-9824-e11837661b57
parent 0ce4aef9
......@@ -1592,6 +1592,8 @@ CAbstractNum.prototype =
}
}
return Writer;
},
......@@ -1612,6 +1614,7 @@ CAbstractNum.prototype =
var Type = Reader.GetLong();
var iLvl = 0;
switch ( Type )
{
case historyitem_AbstractNum_LvlChange:
......@@ -1619,7 +1622,7 @@ CAbstractNum.prototype =
// Long : iLvl
// Variable : Lvl
var iLvl = Reader.GetLong();
iLvl = Reader.GetLong();
this.Read_Lvl_FromBinary( this.Lvl[iLvl], Reader );
break;
......@@ -1630,13 +1633,16 @@ CAbstractNum.prototype =
// Long : iLvl
// Vairable : TextPr
var iLvl = Reader.GetLong();
iLvl = Reader.GetLong();
this.Lvl[iLvl].TextPr = new CTextPr();
this.Lvl[iLvl].TextPr.Read_FromBinary(Reader);
break;
}
}
// Пересчитываем стили у все параграфов с данной нумерацией
this.Recalc_CompiledPr(iLvl);
},
Write_ToBinary2 : function(Writer)
......@@ -1669,6 +1675,26 @@ CAbstractNum.prototype =
Load_LinkData : function(LinkData)
{
},
Recalc_CompiledPr : function(iLvl)
{
// Ищем все параграфы, который используют данную нумерацию и проставляем у них, то что их стиль
// нужно перекомпилировать.
var NumPr = new CNumPr();
NumPr.NumId = this.Id;
NumPr.Lvl = iLvl;
var LogicDocument = editor.WordControl.m_oLogicDocument;
var AllParagraphs = LogicDocument.Get_AllParagraphs_ByNumbering( NumPr );
var Count = AllParagraphs.length;
for ( var Index = 0; Index < Count; Index++ )
{
var Para = AllParagraphs[Index];
Para.Recalc_CompiledPr();
}
},
//сравниваем abstractNum
......
......@@ -223,7 +223,7 @@ Paragraph.prototype =
// Копируем настройки
Para.Set_Pr(this.Pr.Copy());
Para.TextPr.Set_Value( this.TextPr.Value );
Para.TextPr.Set_Value( this.TextPr.Value.Copy() );
// Удаляем содержимое нового параграфа
Para.Internal_Content_Remove2(0, Para.Content.length);
......@@ -11364,14 +11364,14 @@ Paragraph.prototype =
// Подправим селект. Заметим, что метки выделения изменяются внутри функции Internal_Content_Add
// за счет того, что EndPos - StartPos > 1.
if ( this.Selection.StartPos < this.Selection.EndPos && true === this.Content[this.Selection.StartPos].Selection_IsEmpty() )
if ( this.Selection.StartPos < this.Selection.EndPos && true === this.Content[this.Selection.StartPos].Selection_IsEmpty(true) )
this.Selection.StartPos++;
else if ( this.Selection.EndPos < this.Selection.StartPos && true === this.Content[this.Selection.EndPos].Selection_IsEmpty() )
else if ( this.Selection.EndPos < this.Selection.StartPos && true === this.Content[this.Selection.EndPos].Selection_IsEmpty(true) )
this.Selection.EndPos++;
if ( this.Selection.StartPos < this.Selection.EndPos && true === this.Content[this.Selection.EndPos].Selection_IsEmpty() )
if ( this.Selection.StartPos < this.Selection.EndPos && true === this.Content[this.Selection.EndPos].Selection_IsEmpty(true) )
this.Selection.EndPos--;
else if ( this.Selection.EndPos < this.Selection.StartPos && true === this.Content[this.Selection.StartPos].Selection_IsEmpty() )
else if ( this.Selection.EndPos < this.Selection.StartPos && true === this.Content[this.Selection.StartPos].Selection_IsEmpty(true) )
this.Selection.StartPos--;
}
}
......@@ -13765,11 +13765,17 @@ Paragraph.prototype =
EndPos = this.Selection.StartPos;
}
if ( true === this.Selection_IsFromStart() && true === this.Selection_CheckParaEnd() )
{
DocContent.Add( new CSelectedElement( this.Copy(this.Parent), true ) );
return;
}
var Para = new Paragraph(this.DrawingDocument, this.Parent, 0, 0, 0, 0, 0);
// Копируем настройки
Para.Set_Pr(this.Pr.Copy());
Para.TextPr.Set_Value( this.TextPr.Value );
Para.TextPr.Set_Value( this.TextPr.Value.Copy() );
// Копируем содержимое параграфа
for ( var Pos = StartPos; Pos <= EndPos; Pos++ )
......
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