Commit 9a6f0a5d authored by Ilya Kirillov's avatar Ilya Kirillov

Сделано, чтобы у стилей можно было менять дефолтовые настройки текста и...

Сделано, чтобы у стилей можно было менять дефолтовые настройки текста и параграфа, эта функциональность также добавлена в билдер.
parent 84e30baa
......@@ -4258,6 +4258,34 @@ CStyles.prototype =
return Styles;
},
Get_DefaultParaPr : function()
{
return this.Default.ParaPr;
},
Set_DefaultParaPr : function(ParaPr)
{
History.Add(this, {Type : historyitem_Styles_ChangeDefaultParaPr, Old : this.Default.ParaPr, New : ParaPr});
this.Default.ParaPr = ParaPr;
// TODO: Пока данная функция используется только в билдере, как только будет использоваться в самом редакторе,
// надо будет сделать, чтобы происходил пересчет всех стилей.
},
Get_DefaultTextPr : function()
{
return this.Default.TextPr;
},
Set_DefaultTextPr : function(TextPr)
{
History.Add(this, {Type : historyitem_Styles_ChangeDefaultTextPr, Old : this.Default.TextPr, New : TextPr});
this.Default.TextPr = TextPr;
// TODO: Пока данная функция используется только в билдере, как только будет использоваться в самом редакторе,
// надо будет сделать, чтобы происходил пересчет всех стилей.
},
//-----------------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------------
......@@ -4827,6 +4855,18 @@ CStyles.prototype =
this.Update_Interface(Data.Id);
break;
}
case historyitem_Styles_ChangeDefaultParaPr:
{
this.Default.ParaPr = Data.Old;
break;
}
case historyitem_Styles_ChangeDefaultTextPr:
{
this.Default.TextPr = Data.Old;
break;
}
}
},
......@@ -4849,6 +4889,18 @@ CStyles.prototype =
this.Update_Interface(Data.Id);
break;
}
case historyitem_Styles_ChangeDefaultParaPr:
{
this.Default.ParaPr = Data.New;
break;
}
case historyitem_Styles_ChangeDefaultTextPr:
{
this.Default.TextPr = Data.New;
break;
}
}
},
......@@ -4942,6 +4994,14 @@ CStyles.prototype =
break;
}
case historyitem_Styles_ChangeDefaultParaPr:
case historyitem_Styles_ChangeDefaultTextPr:
{
// Variable : ParaPr | TextPr
Data.New.Write_ToBinary(Writer);
break;
}
}
return Writer;
......@@ -4983,6 +5043,22 @@ CStyles.prototype =
CollaborativeEditing.Add_LinkData(this, {UpdateStyleId : Id});
break;
}
case historyitem_Styles_ChangeDefaultParaPr:
{
// Variable : ParaPr
var oParaPr = new CParaPr();
oParaPr.Read_FromBinary(Reader);
this.Default.ParaPr = oParaPr;
break;
}
case historyitem_Styles_ChangeDefaultTextPr:
{
// Variable : TextPr
var oTextPr = new CTextPr();
oTextPr.Read_FromBinary(Reader);
this.Default.TextPr = oTextPr;
break;
}
}
},
......
......@@ -365,6 +365,24 @@
return null;
};
/**
* A set of default run properties for the current document.
* @returns {ApiTextPr}
*/
ApiDocument.prototype.GetDefaultTextPr = function()
{
var oStyles = this.Document.Get_Styles();
return new ApiTextPr(this, oStyles.Get_DefaultTextPr().Copy());
};
/**
* A set of default paragraph properties for the current document.
* @returns {ApiParaPr}
*/
ApiDocument.prototype.GetDefaultParaPr = function()
{
var oStyles = this.Document.Get_Styles();
return new ApiParaPr(this, oStyles.Get_DefaultParaPr().Copy());
};
/**
* Get document final section
* @return {ApiSection}
......@@ -2107,8 +2125,18 @@
return 25.4 / 72.0 / 8 * pt;
}
ApiDocument.prototype.OnChangeParaPr = function(oApiParaPr)
{
var oStyles = this.Document.Get_Styles();
oStyles.Set_DefaultParaPr(oApiParaPr.ParaPr);
oApiParaPr.ParaPr = oStyles.Get_DefaultParaPr().Copy();
};
ApiDocument.prototype.OnChangeTextPr = function(oApiTextPr)
{
var oStyles = this.Document.Get_Styles();
oStyles.Set_DefaultTextPr(oApiTextPr.TextPr);
oApiTextPr.TextPr = oStyles.Get_DefaultTextPr().Copy();
};
ApiParagraph.prototype.private_GetImpl = function()
{
return this.Paragraph;
......@@ -2177,13 +2205,22 @@ function TEST_BUILDER()
// Генерим стили, которые будем использовать в документе
var oTextPr, oParaPr;
oTextPr = oDocument.GetDefaultTextPr();
oTextPr.SetFontSize(22);
oTextPr.SetLanguage("en-US");
oTextPr.SetFontFamily("Calibri");
oParaPr = oDocument.GetDefaultParaPr();
oParaPr.SetSpacingLine(276, "auto");
oParaPr.SetSpacingAfter(200);
var oNormalStyle = oDocument.GetDefaultStyle("paragraph");
oParaPr = oNormalStyle.GetParaPr();
oParaPr.SetSpacingLine(240, "auto");
oParaPr.SetJc("both");
oTextPr = oNormalStyle.GetTextPr();
oTextPr.SetColor(0x26, 0x26, 0x26, false);
oTextPr.SetFontFamily("Calibri");
var oHeading1Style = oDocument.CreateStyle("Heading 1", "paragraph");
oParaPr = oHeading1Style.GetParaPr();
......
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