Commit e8e3b484 authored by Anna.Pavlova's avatar Anna.Pavlova Committed by Alexander.Trofimov

к предыдущей заливке + реализовала Get_AllFontNames

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@57110 954022d7-b5bf-4e40-9824-e11837661b57
parent f7f4b81d
...@@ -435,6 +435,11 @@ ParaMath.prototype = ...@@ -435,6 +435,11 @@ ParaMath.prototype =
{ {
// TODO: ParaMath.Create_FontMap // TODO: ParaMath.Create_FontMap
// Styles.js
// Document_CreateFontMap
//
this.Root.Create_FontMap(Map); this.Root.Create_FontMap(Map);
}, },
...@@ -442,7 +447,11 @@ ParaMath.prototype = ...@@ -442,7 +447,11 @@ ParaMath.prototype =
Get_AllFontNames : function(AllFonts) Get_AllFontNames : function(AllFonts)
{ {
// TODO: ParaMath.Get_AllFontNames // TODO: ParaMath.Get_AllFontNames
// выставить для всех шрифтов, к-ые используются в AllFonts true
AllFonts["Cambria Math"] = true; AllFonts["Cambria Math"] = true;
this.Root.Get_AllFontNames(AllFonts);
}, },
Get_SelectedText : function(bAll, bClearText) Get_SelectedText : function(bAll, bClearText)
...@@ -1442,8 +1451,6 @@ ParaMath.prototype = ...@@ -1442,8 +1451,6 @@ ParaMath.prototype =
{ {
// TODO: ParaMath.Set_SelectionContentPos // TODO: ParaMath.Set_SelectionContentPos
//console.log(" Set_SelectionContentPos " );
this.Root.Set_SelectionContentPos(StartContentPos, EndContentPos, Depth, StartFlag, EndFlag); this.Root.Set_SelectionContentPos(StartContentPos, EndContentPos, Depth, StartFlag, EndFlag);
this.bSelectionUse = true; this.bSelectionUse = true;
}, },
...@@ -1601,6 +1608,7 @@ ParaMath.prototype = ...@@ -1601,6 +1608,7 @@ ParaMath.prototype =
} }
}; };
/*
var MATH_CTX = null; var MATH_CTX = null;
function TEST_MATH_ImageConverter() function TEST_MATH_ImageConverter()
...@@ -1608,4 +1616,4 @@ function TEST_MATH_ImageConverter() ...@@ -1608,4 +1616,4 @@ function TEST_MATH_ImageConverter()
var dataImg = editor.WordControl.m_oLogicDocument.Content[0].Content[0].MathToImageConverter(); var dataImg = editor.WordControl.m_oLogicDocument.Content[0].Content[0].MathToImageConverter();
console.log(dataImg.ImageUrl); console.log(dataImg.ImageUrl);
} }*/
\ No newline at end of file
...@@ -48,7 +48,7 @@ function ParaRun(Paragraph, bMathRun) ...@@ -48,7 +48,7 @@ function ParaRun(Paragraph, bMathRun)
if(bMathRun) if(bMathRun)
{ {
this.typeObj = MATH_PARA_RUN; this.Type = para_Math_Run;
this.MathPrp = new CMPrp(); this.MathPrp = new CMPrp();
this.Parent = null; this.Parent = null;
this.size = this.size =
...@@ -96,7 +96,7 @@ ParaRun.prototype = ...@@ -96,7 +96,7 @@ ParaRun.prototype =
NewRun.Set_Pr( this.Pr.Copy() ); NewRun.Set_Pr( this.Pr.Copy() );
if(this.typeObj == MATH_PARA_RUN) if(this.Type == para_Math_Run || this.Type == para_Math_Placeholder)
{ {
NewRun.MathPrp = this.MathPrp.Copy(); NewRun.MathPrp = this.MathPrp.Copy();
} }
...@@ -427,7 +427,8 @@ ParaRun.prototype = ...@@ -427,7 +427,8 @@ ParaRun.prototype =
ContentPos.Data[Depth]++; ContentPos.Data[Depth]++;
} }
this.Paragraph.SpellChecker.Update_OnAdd( this, Pos, Item ); if(this.Paragraph !== null)
this.Paragraph.SpellChecker.Update_OnAdd( this, Pos, Item );
// Обновляем позиции меток совместного редактирования // Обновляем позиции меток совместного редактирования
this.CollaborativeMarks.Update_OnAdd( Pos ); this.CollaborativeMarks.Update_OnAdd( Pos );
...@@ -1152,6 +1153,7 @@ ParaRun.prototype = ...@@ -1152,6 +1153,7 @@ ParaRun.prototype =
Create_FontMap : function(Map) Create_FontMap : function(Map)
{ {
// для Math_Para_Pun argSize учитывается, когда мержатся текстовые настройки в Internal_Compile_Pr()
if ( undefined !== this.Paragraph && null !== this.Paragraph ) if ( undefined !== this.Paragraph && null !== this.Paragraph )
{ {
var TextPr = this.Get_CompiledPr(false); var TextPr = this.Get_CompiledPr(false);
...@@ -3591,7 +3593,7 @@ ParaRun.prototype = ...@@ -3591,7 +3593,7 @@ ParaRun.prototype =
Result = true; Result = true;
} }
if ( MATH_PARA_RUN === this.typeObj ) if (this.Type == para_Math_Run || this.Type == para_Math_Placeholder)
{ {
var Diff = SearchPos.X - SearchPos.CurX; var Diff = SearchPos.X - SearchPos.CurX;
if ( Math.abs( Diff ) < SearchPos.DiffX + 0.001 ) if ( Math.abs( Diff ) < SearchPos.DiffX + 0.001 )
...@@ -4359,7 +4361,7 @@ ParaRun.prototype = ...@@ -4359,7 +4361,7 @@ ParaRun.prototype =
TextPr.Merge( StyleTextPr ); TextPr.Merge( StyleTextPr );
} }
if(this.typeObj == MATH_PARA_RUN) if(this.Type == para_Math_Run)
{ {
var oWPrp = this.Parent.Get_Default_TPrp(); var oWPrp = this.Parent.Get_Default_TPrp();
TextPr.Merge(oWPrp); TextPr.Merge(oWPrp);
...@@ -4373,6 +4375,20 @@ ParaRun.prototype = ...@@ -4373,6 +4375,20 @@ ParaRun.prototype =
this.Parent.ParaMath.ApplyArgSize(TextPr, this.Parent.argSize); this.Parent.ParaMath.ApplyArgSize(TextPr, this.Parent.argSize);
} }
else if(this.Type == para_Math_Placeholder)
{
var oWPrp = this.Parent.Get_Default_TPrp();
TextPr.Merge(oWPrp);
TextPr.Merge(this.Parent.GetCtrPrp());
TextPr.Merge( this.Pr ); // Мержим прямые настройки данного рана
// special for placeholder
TextPr.Italic = false;
TextPr.Bold = false;
this.Parent.ParaMath.ApplyArgSize(TextPr, this.Parent.argSize);
}
else else
{ {
TextPr.Merge( this.Pr ); // Мержим прямые настройки данного рана TextPr.Merge( this.Pr ); // Мержим прямые настройки данного рана
...@@ -4382,9 +4398,6 @@ ParaRun.prototype = ...@@ -4382,9 +4398,6 @@ ParaRun.prototype =
} }
} }
// Для совместимости со старыми версиями запишем FontFamily // Для совместимости со старыми версиями запишем FontFamily
TextPr.FontFamily.Name = TextPr.RFonts.Ascii.Name; TextPr.FontFamily.Name = TextPr.RFonts.Ascii.Name;
TextPr.FontFamily.Index = TextPr.RFonts.Ascii.Index; TextPr.FontFamily.Index = TextPr.RFonts.Ascii.Index;
...@@ -4675,13 +4688,13 @@ ParaRun.prototype = ...@@ -4675,13 +4688,13 @@ ParaRun.prototype =
// В данной функции мы применяем приходящие настройки поверх старых, т.е. старые не удаляем // В данной функции мы применяем приходящие настройки поверх старых, т.е. старые не удаляем
Apply_Pr : function(TextPr) Apply_Pr : function(TextPr)
{ {
if(this.typeObj == MATH_PARA_RUN) /*if(this.typeObj == MATH_PARA_RUN)
{ {
this.MathPrp.Apply_Pr(TextPr); this.MathPrp.Apply_Pr(TextPr);
this.Recalc_CompiledPr(true); this.Recalc_CompiledPr(true);
return; return;
} }*/
if ( undefined != TextPr.Bold ) if ( undefined != TextPr.Bold )
this.Set_Bold( null === TextPr.Bold ? undefined : TextPr.Bold ); this.Set_Bold( null === TextPr.Bold ? undefined : TextPr.Bold );
...@@ -7199,7 +7212,7 @@ function CRunCollaborativeRange(PosS, PosE, Color) ...@@ -7199,7 +7212,7 @@ function CRunCollaborativeRange(PosS, PosE, Color)
} }
ParaRun.prototype.Math_SetPosition = function(_pos) ParaRun.prototype.setPosition = function(_pos)
{ {
var pos = new CMathPosition(); var pos = new CMathPosition();
...@@ -7231,6 +7244,12 @@ ParaRun.prototype.Math_Draw = function(x, y, pGraphics) ...@@ -7231,6 +7244,12 @@ ParaRun.prototype.Math_Draw = function(x, y, pGraphics)
} }
ParaRun.prototype.Math_Recalculate = function(Parent, Paragraph, oMeasure, RecalcInfo) ParaRun.prototype.Math_Recalculate = function(Parent, Paragraph, oMeasure, RecalcInfo)
{ {
if(this.IsPlaceholder())
this.Type = para_Math_Placeholder;
else
this.Type = para_Math_Run;
var RangeStartPos = 0; var RangeStartPos = 0;
var RangeEndPos = this.Content.length; var RangeEndPos = this.Content.length;
...@@ -7252,6 +7271,7 @@ ParaRun.prototype.Math_Recalculate = function(Parent, Paragraph, oMeasure, Recal ...@@ -7252,6 +7271,7 @@ ParaRun.prototype.Math_Recalculate = function(Parent, Paragraph, oMeasure, Recal
g_oTextMeasurer.SetFont(oWPrp); g_oTextMeasurer.SetFont(oWPrp);
for (var Pos = 0 ; Pos < this.Content.length; Pos++ ) for (var Pos = 0 ; Pos < this.Content.length; Pos++ )
{ {
this.Content[Pos].Resize(this, oMeasure); this.Content[Pos].Resize(this, oMeasure);
...@@ -7263,13 +7283,15 @@ ParaRun.prototype.Math_Recalculate = function(Parent, Paragraph, oMeasure, Recal ...@@ -7263,13 +7283,15 @@ ParaRun.prototype.Math_Recalculate = function(Parent, Paragraph, oMeasure, Recal
ascent = ascent > oSize.ascent ? ascent : oSize.ascent; ascent = ascent > oSize.ascent ? ascent : oSize.ascent;
var oDescent = oSize.height - oSize.ascent; var oDescent = oSize.height - oSize.ascent;
descent = descent < oDescent ? oDescent : descent; descent = descent < oDescent ? oDescent : descent;
} }
this.size = {width: width, height: ascent + descent, ascent: ascent}; this.size = {width: width, height: ascent + descent, ascent: ascent};
} }
ParaRun.prototype.Math_Update_Cursor = function(X, Y, CurPage, UpdateTarget) ParaRun.prototype.Math_Update_Cursor = function(X, Y, CurPage, UpdateTarget)
{ {
// TODO
// поставить заглушку на плейсхолдер, когда при перемещении всегда будет отрисовываться селкт на плейсхолдере
var runPrp = this.Get_CompiledPr(true); var runPrp = this.Get_CompiledPr(true);
var sizeCursor = runPrp.FontSize*g_dKoef_pt_to_mm; var sizeCursor = runPrp.FontSize*g_dKoef_pt_to_mm;
...@@ -7326,4 +7348,15 @@ ParaRun.prototype.Math_SetGaps = function(Parent, Paragraph, RecalcInfo) ...@@ -7326,4 +7348,15 @@ ParaRun.prototype.Math_SetGaps = function(Parent, Paragraph, RecalcInfo)
RecalcInfo.Current = this.Content[Pos]; RecalcInfo.Current = this.Content[Pos];
RecalcInfo.setGaps(); RecalcInfo.setGaps();
} }
}
ParaRun.prototype.IsPlaceholder = function()
{
return this.Content.length == 1 && this.Content[0].IsPlaceholder();
}
ParaRun.prototype.fillPlaceholders = function()
{
var placeholder = new CMathText(false);
placeholder.fillPlaceholders();
this.Add_ToContent(0, placeholder, false);
} }
\ No newline at end of file
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