Commit 0701ee69 authored by Ilya Kirillov's avatar Ilya Kirillov

Сделана поддержка элементов <w:separator> и <w:continuationSeparator>

parent 4eddc27c
...@@ -4503,6 +4503,9 @@ CDocument.prototype.Paragraph_Add = function(ParaItem, bRecalculate ...@@ -4503,6 +4503,9 @@ CDocument.prototype.Paragraph_Add = function(ParaItem, bRecalculate
case para_PageNum: case para_PageNum:
case para_Field: case para_Field:
case para_FootnoteReference: case para_FootnoteReference:
case para_FootnoteRef:
case para_Separator:
case para_ContinuationSeparator:
{ {
// Если у нас что-то заселекчено и мы вводим текст или пробел // Если у нас что-то заселекчено и мы вводим текст или пробел
// и т.д., тогда сначала удаляем весь селект. // и т.д., тогда сначала удаляем весь селект.
...@@ -11502,7 +11505,7 @@ CDocument.prototype.OnKeyDown = function(e) ...@@ -11502,7 +11505,7 @@ CDocument.prototype.OnKeyDown = function(e)
// { // {
// this.History.Create_NewPoint(); // this.History.Create_NewPoint();
// var oFootnote = this.Footnotes.Create_Footnote(); // var oFootnote = this.Footnotes.Create_Footnote();
// //
// oFootnote.Paragraph_Add(new ParaFootnoteRef(oFootnote)); // oFootnote.Paragraph_Add(new ParaFootnoteRef(oFootnote));
// oFootnote.Paragraph_Add(new ParaSpace()); // oFootnote.Paragraph_Add(new ParaSpace());
// oFootnote.Paragraph_Add(new ParaText("F")); // oFootnote.Paragraph_Add(new ParaText("F"));
...@@ -11513,10 +11516,22 @@ CDocument.prototype.OnKeyDown = function(e) ...@@ -11513,10 +11516,22 @@ CDocument.prototype.OnKeyDown = function(e)
// oFootnote.Paragraph_Add(new ParaText("o")); // oFootnote.Paragraph_Add(new ParaText("o"));
// oFootnote.Paragraph_Add(new ParaText("t")); // oFootnote.Paragraph_Add(new ParaText("t"));
// oFootnote.Paragraph_Add(new ParaText("e")); // oFootnote.Paragraph_Add(new ParaText("e"));
// //
// this.Paragraph_Add(new ParaFootnoteReference(oFootnote)); // this.Paragraph_Add(new ParaFootnoteReference(oFootnote));
// bRetValue = keydownresult_PreventAll; // bRetValue = keydownresult_PreventAll;
// } // }
// else if (114 === e.KeyCode)
// {
// this.History.Create_NewPoint();
// this.Paragraph_Add(new ParaSeparator());
// bRetValue = keydownresult_PreventAll;
// }
// else if (115 === e.KeyCode)
// {
// this.History.Create_NewPoint();
// this.Paragraph_Add(new ParaContinuationSeparator());
// bRetValue = keydownresult_PreventAll;
// }
// TEST <-- // TEST <--
else if (e.KeyCode == 121 && true === e.ShiftKey) // Shift + F10 - контекстное меню else if (e.KeyCode == 121 && true === e.ShiftKey) // Shift + F10 - контекстное меню
{ {
......
...@@ -3030,6 +3030,8 @@ Paragraph.prototype = ...@@ -3030,6 +3030,8 @@ Paragraph.prototype =
case para_NewLine: case para_NewLine:
case para_FootnoteReference: case para_FootnoteReference:
case para_FootnoteRef: case para_FootnoteRef:
case para_Separator:
case para_ContinuationSeparator:
default: default:
{ {
// Элементы данного типа добавляем во внутренний элемент // Элементы данного типа добавляем во внутренний элемент
......
This diff is collapsed.
...@@ -717,7 +717,7 @@ Paragraph.prototype.private_RecalculatePageXY = function(CurLine, CurPa ...@@ -717,7 +717,7 @@ Paragraph.prototype.private_RecalculatePageXY = function(CurLine, CurPa
PRS.YLimit = YLimit; PRS.YLimit = YLimit;
PRS.Y = YStart; PRS.Y = YStart;
this.Pages.length = CurPage + 1 this.Pages.length = CurPage + 1;
this.Pages[CurPage] = new CParaPage(XStart, YStart, XLimit, YLimit, CurLine); this.Pages[CurPage] = new CParaPage(XStart, YStart, XLimit, YLimit, CurLine);
}; };
......
...@@ -2251,10 +2251,15 @@ ParaRun.prototype.Recalculate_Range = function(PRS, ParaPr, Depth) ...@@ -2251,10 +2251,15 @@ ParaRun.prototype.Recalculate_Range = function(PRS, ParaPr, Depth)
case para_Text: case para_Text:
case para_FootnoteReference: case para_FootnoteReference:
case para_FootnoteRef: case para_FootnoteRef:
case para_Separator:
case para_ContinuationSeparator:
{ {
// Отмечаем, что началось слово // Отмечаем, что началось слово
StartWord = true; StartWord = true;
if (para_ContinuationSeparator === ItemType)
Item.Update_Width(PRS);
// При проверке, убирается ли слово, мы должны учитывать ширину предшествующих пробелов. // При проверке, убирается ли слово, мы должны учитывать ширину предшествующих пробелов.
var LetterLen = Item.Width / TEXTWIDTH_DIVIDER;//var LetterLen = Item.Get_Width(); var LetterLen = Item.Width / TEXTWIDTH_DIVIDER;//var LetterLen = Item.Get_Width();
...@@ -3098,6 +3103,8 @@ ParaRun.prototype.Recalculate_LineMetrics = function(PRS, ParaPr, _CurLine, _Cur ...@@ -3098,6 +3103,8 @@ ParaRun.prototype.Recalculate_LineMetrics = function(PRS, ParaPr, _CurLine, _Cur
case para_PageNum: case para_PageNum:
case para_FootnoteReference: case para_FootnoteReference:
case para_FootnoteRef: case para_FootnoteRef:
case para_Separator:
case para_ContinuationSeparator:
{ {
UpdateLineMetricsText = true; UpdateLineMetricsText = true;
break; break;
...@@ -3197,6 +3204,8 @@ ParaRun.prototype.Recalculate_Range_Width = function(PRSC, _CurLine, _CurRange) ...@@ -3197,6 +3204,8 @@ ParaRun.prototype.Recalculate_Range_Width = function(PRSC, _CurLine, _CurRange)
case para_Text: case para_Text:
case para_FootnoteReference: case para_FootnoteReference:
case para_FootnoteRef: case para_FootnoteRef:
case para_Separator:
case para_ContinuationSeparator:
{ {
PRSC.Letters++; PRSC.Letters++;
...@@ -3349,6 +3358,8 @@ ParaRun.prototype.Recalculate_Range_Spaces = function(PRSA, _CurLine, _CurRange, ...@@ -3349,6 +3358,8 @@ ParaRun.prototype.Recalculate_Range_Spaces = function(PRSA, _CurLine, _CurRange,
case para_Text: case para_Text:
case para_FootnoteReference: case para_FootnoteReference:
case para_FootnoteRef: case para_FootnoteRef:
case para_Separator:
case para_ContinuationSeparator:
{ {
var WidthVisible = 0; var WidthVisible = 0;
...@@ -4248,6 +4259,8 @@ ParaRun.prototype.Draw_HighLights = function(PDSH) ...@@ -4248,6 +4259,8 @@ ParaRun.prototype.Draw_HighLights = function(PDSH)
case para_Sym: case para_Sym:
case para_FootnoteReference: case para_FootnoteReference:
case para_FootnoteRef: case para_FootnoteRef:
case para_Separator:
case para_ContinuationSeparator:
{ {
if ( para_Drawing === ItemType && !Item.Is_Inline() ) if ( para_Drawing === ItemType && !Item.Is_Inline() )
break; break;
...@@ -4439,6 +4452,8 @@ ParaRun.prototype.Draw_Elements = function(PDSE) ...@@ -4439,6 +4452,8 @@ ParaRun.prototype.Draw_Elements = function(PDSE)
case para_Sym: case para_Sym:
case para_FootnoteReference: case para_FootnoteReference:
case para_FootnoteRef: case para_FootnoteRef:
case para_Separator:
case para_ContinuationSeparator:
{ {
if (para_Tab === ItemType) if (para_Tab === ItemType)
{ {
...@@ -4711,6 +4726,8 @@ ParaRun.prototype.Draw_Lines = function(PDSL) ...@@ -4711,6 +4726,8 @@ ParaRun.prototype.Draw_Lines = function(PDSL)
case para_Sym: case para_Sym:
case para_FootnoteReference: case para_FootnoteReference:
case para_FootnoteRef: case para_FootnoteRef:
case para_Separator:
case para_ContinuationSeparator:
{ {
if ( para_Drawing != ItemType || Item.Is_Inline() ) if ( para_Drawing != ItemType || Item.Is_Inline() )
{ {
......
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