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

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

Исправлен баг с удалением последнего элемента в параграфе (менялись настройки текста). Исправлен баг с рассчетом пустого параграфа с нумерацией (баг 23947).

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@55980 954022d7-b5bf-4e40-9824-e11837661b57
parent e24d3104
...@@ -915,6 +915,7 @@ var historyitem_TextPr_Lang_Bidi = 25; // Изменяем настрой ...@@ -915,6 +915,7 @@ var historyitem_TextPr_Lang_Bidi = 25; // Изменяем настрой
var historyitem_TextPr_Lang_EastAsia = 26; // Изменяем настройку языка var historyitem_TextPr_Lang_EastAsia = 26; // Изменяем настройку языка
var historyitem_TextPr_Lang_Val = 27; // Изменяем настройку языка var historyitem_TextPr_Lang_Val = 27; // Изменяем настройку языка
var historyitem_TextPr_Unifill = 28; // Изменяем настройку языка var historyitem_TextPr_Unifill = 28; // Изменяем настройку языка
var historyitem_TextPr_FontSizeCS = 29;
// Типы изменений в классе ParaDrawing // Типы изменений в классе ParaDrawing
var historyitem_Drawing_Size = 1; // Изменяем размер картинки var historyitem_Drawing_Size = 1; // Изменяем размер картинки
......
...@@ -406,6 +406,10 @@ Paragraph.prototype = ...@@ -406,6 +406,10 @@ Paragraph.prototype =
if(this.bFromDocument) if(this.bFromDocument)
OtherParagraph.Style_Add( this.Style_Get(), true ); OtherParagraph.Style_Add( this.Style_Get(), true );
// TODO: Другой параграф, как правило новый, поэтому можно использовать функцию Apply, но на самом деле надо
// переделать на нормальную функцию Set_Pr.
OtherParagraph.TextPr.Apply_TextPr( this.TextPr.Value );
}, },
Split_Element_ByPos : function(SplitType, ContentPos) Split_Element_ByPos : function(SplitType, ContentPos)
...@@ -4108,12 +4112,16 @@ Paragraph.prototype = ...@@ -4108,12 +4112,16 @@ Paragraph.prototype =
var EndTextDescent = Math.abs( g_oTextMeasurer.GetDescender() ); var EndTextDescent = Math.abs( g_oTextMeasurer.GetDescender() );
var EndTextAscent = EndTextHeight - EndTextDescent; var EndTextAscent = EndTextHeight - EndTextDescent;
var EndTextAscent2 = g_oTextMeasurer.GetAscender(); var EndTextAscent2 = g_oTextMeasurer.GetAscender();
PRS.LineTextAscent = EndTextAscent; PRS.LineTextAscent = EndTextAscent;
PRS.LineTextAscent2 = EndTextAscent2; PRS.LineTextAscent2 = EndTextAscent2;
PRS.LineTextDescent = EndTextDescent; PRS.LineTextDescent = EndTextDescent;
PRS.LineAscent = EndTextAscent;
PRS.LineDescent = EndTextDescent; if ( PRS.LineAscent < EndTextAscent )
PRS.LineAscent = EndTextAscent;
if ( PRS.LineDescent < EndTextDescent )
PRS.LineDescent = EndTextDescent;
} }
else if ( undefined !== LastItem ) else if ( undefined !== LastItem )
{ {
...@@ -7158,8 +7166,9 @@ Paragraph.prototype = ...@@ -7158,8 +7166,9 @@ Paragraph.prototype =
{ {
this.Content[StartPos].Remove(nCount, bOnAddText); this.Content[StartPos].Remove(nCount, bOnAddText);
// Мы не удаляем последний элемент с ParaEnd // TODO: Как только избавимся от para_End переделать здесь
if ( StartPos !== this.Content.length - 1 && true === this.Content[StartPos].Is_Empty() ) // Последние 2 элемента не удаляем (один для para_End, второй для всего остального)
if ( StartPos < this.Content.length - 2 && true === this.Content[StartPos].Is_Empty() )
{ {
this.Internal_Content_Remove( StartPos ); this.Internal_Content_Remove( StartPos );
...@@ -7172,8 +7181,9 @@ Paragraph.prototype = ...@@ -7172,8 +7181,9 @@ Paragraph.prototype =
{ {
this.Content[EndPos].Remove(nCount, bOnAddText); this.Content[EndPos].Remove(nCount, bOnAddText);
// Мы не удаляем последний элемент с ParaEnd // TODO: Как только избавимся от para_End переделать здесь
if ( EndPos !== this.Content.length - 1 && true === this.Content[EndPos].Is_Empty() ) // Последние 2 элемента не удаляем (один для para_End, второй для всего остального)
if ( EndPos < this.Content.length - 2 && true === this.Content[EndPos].Is_Empty() )
{ {
this.Internal_Content_Remove( EndPos ); this.Internal_Content_Remove( EndPos );
...@@ -7190,7 +7200,7 @@ Paragraph.prototype = ...@@ -7190,7 +7200,7 @@ Paragraph.prototype =
this.Content[StartPos].Remove(nCount, bOnAddText); this.Content[StartPos].Remove(nCount, bOnAddText);
// Мы не удаляем последний элемент с ParaEnd // Мы не удаляем последний элемент с ParaEnd
if ( true === this.Content[StartPos].Is_Empty() ) if ( StartPos < this.Content.length - 2 && true === this.Content[StartPos].Is_Empty() )
this.Internal_Content_Remove( StartPos ); this.Internal_Content_Remove( StartPos );
} }
...@@ -7253,7 +7263,9 @@ Paragraph.prototype = ...@@ -7253,7 +7263,9 @@ Paragraph.prototype =
return true; return true;
} }
if ( ContentPos !== this.Content.length - 1 && true === this.Content[ContentPos].Is_Empty() ) // TODO: Как только избавимся от para_End переделать здесь
// Последние 2 элемента не удаляем (один для para_End, второй для всего остального)
if ( ContentPos < this.Content.length - 2 && true === this.Content[ContentPos].Is_Empty() )
{ {
this.Internal_Content_Remove( ContentPos ); this.Internal_Content_Remove( ContentPos );
......
...@@ -516,6 +516,9 @@ ParaTextPr.prototype = ...@@ -516,6 +516,9 @@ ParaTextPr.prototype =
if ( undefined != TextPr.FontSize ) if ( undefined != TextPr.FontSize )
this.Set_FontSize( TextPr.FontSize ); this.Set_FontSize( TextPr.FontSize );
if ( undefined != TextPr.FontSizeCS )
this.Set_FontSizeCS( TextPr.FontSizeCS );
if ( undefined != TextPr.Color ) if ( undefined != TextPr.Color )
this.Set_Color( TextPr.Color ); this.Set_Color( TextPr.Color );
...@@ -708,6 +711,18 @@ ParaTextPr.prototype = ...@@ -708,6 +711,18 @@ ParaTextPr.prototype =
History.Add( this, { Type : historyitem_TextPr_FontSize, New : Value, Old : OldValue } ); History.Add( this, { Type : historyitem_TextPr_FontSize, New : Value, Old : OldValue } );
}, },
Set_FontSizeCS : function(Value)
{
var OldValue = ( undefined != this.Value.FontSizeCS ? this.Value.FontSizeCS : undefined );
if ( undefined != Value )
this.Value.FontSizeCS = Value;
else
this.Value.FontSizeCS = undefined;
History.Add( this, { Type : historyitem_TextPr_FontSizeCS, New : Value, Old : OldValue } );
},
Set_Color : function(Value) Set_Color : function(Value)
{ {
...@@ -1054,6 +1069,16 @@ ParaTextPr.prototype = ...@@ -1054,6 +1069,16 @@ ParaTextPr.prototype =
break; break;
} }
case historyitem_TextPr_FontSizeCS:
{
if ( undefined != Data.Old )
this.Value.FontSizeCS = Data.Old;
else
this.Value.FontSizeCS = undefined;
break;
}
case historyitem_TextPr_Color: case historyitem_TextPr_Color:
{ {
if ( undefined != Data.Old ) if ( undefined != Data.Old )
...@@ -1330,6 +1355,16 @@ ParaTextPr.prototype = ...@@ -1330,6 +1355,16 @@ ParaTextPr.prototype =
break; break;
} }
case historyitem_TextPr_FontSizeCS:
{
if ( undefined != Data.New )
this.Value.FontSizeCS = Data.New;
else
this.Value.FontSizeCS = undefined;
break;
}
case historyitem_TextPr_Color: case historyitem_TextPr_Color:
{ {
if ( undefined != Data.New ) if ( undefined != Data.New )
...@@ -1645,6 +1680,7 @@ ParaTextPr.prototype = ...@@ -1645,6 +1680,7 @@ ParaTextPr.prototype =
} }
case historyitem_TextPr_FontSize: case historyitem_TextPr_FontSize:
case historyitem_TextPr_FontSizeCS:
{ {
// Bool : IsUndefined // Bool : IsUndefined
// Double : FontSize // Double : FontSize
...@@ -1975,6 +2011,19 @@ ParaTextPr.prototype = ...@@ -1975,6 +2011,19 @@ ParaTextPr.prototype =
break; break;
} }
case historyitem_TextPr_FontSizeCS:
{
// Bool : IsUndefined
// Double : FontSize
if ( true != Reader.GetBool() )
this.Value.FontSizeCS = Reader.GetDouble();
else
this.Value.FontSizeCS = undefined;
break;
}
case historyitem_TextPr_Color: case historyitem_TextPr_Color:
{ {
// Bool : IsUndefined // Bool : IsUndefined
......
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