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

1. Убрала CMathText

2. Поправила COperators

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@55973 954022d7-b5bf-4e40-9824-e11837661b57
parent e2e54643
......@@ -146,7 +146,7 @@ ParaMath.prototype =
}
//Item.Math.AddToComposition(Item.Math.Root);
var oNewContent = Item.Math.Root.content;
var oNewContent = Item.Root.content;
for(var i = 0; i < oNewContent.length; i++)
oContent.Content.content.push(oNewContent[i]);
......
......@@ -963,7 +963,7 @@ CSign.prototype.fixSize = function(oMeasure, stretch, bIncline)
{
var ctrPrp = this.Parent.getCtrPrp();
var rPrp = new CMathTextPrp();
var rPrp = new CTextPr();
var defaultRPrp = this.Parent.Composition.Get_Default_TPrp();
rPrp.Merge(defaultRPrp);
rPrp.Merge(ctrPrp);
......@@ -1006,12 +1006,12 @@ function CAccent()
this.kind = MATH_ACCENT;
this.operator = new COperator(OPER_ACCENT);
this.code = null; // храним код буквы и тип здесь
this.typeOper = null; // т.к в класах, которые вызываем, не учитываем случаи, когда элементы (стрелки/скобки) переворачиваются
//this.code = null; // храним код буквы и тип здесь
//this.typeOper = null; // т.к в класах, которые вызываем, не учитываем случаи, когда элементы (стрелки/скобки) переворачиваются
this.loc = LOCATION_TOP;
CCharacter.call(this);
CMathBase.call(this);
}
extend(CAccent, CCharacter);
extend(CAccent, CMathBase);
CAccent.prototype.init = function(props)
{
var prp =
......@@ -1556,20 +1556,21 @@ CAccent.prototype.setPosition = function(pos)
{
this.pos = {x: pos.x, y: pos.y - this.size.ascent};
var alignOp = this.align(this.operator),
alignCnt = this.align(this.elements[0][0]);
var alignOp = (this.size.width - this.operator.size.width)/2,
alignCnt = (this.size.width - this.elements[0][0].size.width)/2;
var x1 = this.pos.x + this.GapLeft + alignOp,
y1;
y1 = this.pos.y;
// TODO
// выставить правильно смещение для остальных значков
// для обычных текстовых значков (ACCENT_SIGN) выставлено
if(this.typeOper == ACCENT_SIGN)
y1 = this.pos.y - this.shiftOperator + this.size.ascent; //shiftOperator to "CCharacter"
/*if(this.typeOper == ACCENT_SIGN)
//y1 = this.pos.y - this.shiftX + this.size.ascent; //shiftOperator to "CCharacter"
y1 = this.pos.y + this.shiftX; //shiftOperator to "CCharacter"
else
y1 = this.pos.y;
y1 = this.pos.y;*/
this.operator.setPosition({x: x1, y: y1});
......@@ -1597,3 +1598,88 @@ CAccent.prototype.getPropsForWrite = function()
return props;
}
CAccent.prototype.Resize = function(oMeasure)
{
var base = this.elements[0][0];
base.Resize(oMeasure);
this.operator.fixSize(oMeasure, base.size.width);
var letterX = new CMathText(true);
letterX.add(0x78);
letterX.Resize(oMeasure);
this.shiftX = base.size.ascent - letterX.size.ascent;
var width = base.size.width > this.operator.size.width ? base.size.width : this.operator.size.width,
height = base.size.height + this.operator.size.height + this.shiftX,
ascent = this.getAscent(oMeasure);
var ctrPrp = this.mergeCtrTPrp();
oMeasure.SetFont(ctrPrp);
this.size = {height: height, width: width, ascent: ascent};
}
CAccent.prototype.getBase = function()
{
return this.elements[0][0];
}
CAccent.prototype.draw = function(x, y, pGraphics)
{
this.elements[0][0].draw(x, y, pGraphics);
var mgCtrPrp = this.mergeCtrTPrp();
var FontSize = mgCtrPrp.FontSize,
FontFamily = {Name: "Cambria Math", Index: -1};
var obj = {FontSize: FontSize, FontFamily: FontFamily};
var accFont = new CTextPr();
accFont.Set_FromObject(obj);
pGraphics.SetFont(accFont);
pGraphics.p_color(0,0,0, 255);
pGraphics.b_color1(0,0,0, 255);
this.operator.draw(x, y, pGraphics);
}
CAccent.prototype.findDisposition = function(pos)
{
var curs_X = 0,
curs_Y = 0;
var X, Y;
var inside_flag = -1;
var content = this.elements[0][0],
align = (this.size.width - this.elements[0][0].size.width)/2;
if(pos.x < align)
{
X = 0;
inside_flag = 0;
}
else if(pos.x > align + content.size.width)
{
X = content.size.width;
inside_flag = 1;
}
else
X = pos.x - align;
if(pos.y < this.operator.size.height)
{
Y = 0;
inside_flag = 2;
}
else
Y = pos.y - this.operator.size.height;
var mouseCoord = {x: X, y: Y},
posCurs = {x: curs_X, y: curs_Y};
return {pos: posCurs, mCoord: mouseCoord, inside_flag: inside_flag};
}
\ No newline at end of file
......@@ -6679,7 +6679,7 @@ CMathContent.prototype =
}
function CMathComposition()
/*function CMathComposition()
{
this.Parent = undefined;
......@@ -6730,7 +6730,7 @@ CMathComposition.prototype =
},
SetProperties: function(props)
{
/***** FOR FORMULA *****/
*//***** FOR FORMULA *****//*
// В документации везде, где нет примера использования свояства, означает, что Word не поддерживает это свойство !
......@@ -6755,7 +6755,7 @@ CMathComposition.prototype =
if(props.wrapIndent + 0 == props.wrapIndent && isNaN(props.wrapIndent)) // проверка на число
this.props.wrapIndent = props.wrapIndent/1440;
/******** check for element 0x1FFD - 0xA721 *******/
*//******** check for element 0x1FFD - 0xA721 *******//*
// This element specifies the right justification of the wrapped line of an instance of mathematical text
// Instance : Arrows 0x2190-0x21B3, 0x21B6, 0x21B7, 0x21BA-0x21E9, 0x21F4-0x21FF,
// 0x3D, 0x2234 - 0x2237, 0x2239, 0x223B - 0x228B, 0x228F - 0x2292, 0x22A2 - 0x22B9,
......@@ -6767,7 +6767,7 @@ CMathComposition.prototype =
this.props.wrapRight = props.wrapRight;
/***** FOR DOCUMENT *****/
*//***** FOR DOCUMENT *****//*
// defaultJc
// выравнивание формулы в документе
......@@ -6786,7 +6786,7 @@ CMathComposition.prototype =
this.props.lMargin = props.lMargin;
this.props.rMargin = props.rMargin;
/***** НЕПОДДЕРЖИВАЕМЫЕ Вордом свойства *****/
*//***** НЕПОДДЕРЖИВАЕМЫЕ Вордом свойства *****//*
// mathFont: в качестве font поддерживается только Cambria Math
// остальные шрифты возможно будут поддержаны MS в будущем
......@@ -6800,7 +6800,7 @@ CMathComposition.prototype =
// http://blogs.msdn.com/b/murrays/archive/2008/10/27/default-document-math-properties.aspx
/***** FOR FORMULA *****/
*//***** FOR FORMULA *****//*
// http://msdn.microsoft.com/en-us/library/ff529906(v=office.12).aspx
// Word ignores the interSp attribute and fails to write it back out.
......@@ -6810,7 +6810,7 @@ CMathComposition.prototype =
// Word does not implement this feature and does not write the intraSp element.
this.props.intraSp = intraSp;
/***** FOR DOCUMENT *****/
*//***** FOR DOCUMENT *****//*
// http://msdn.microsoft.com/en-us/library/ff533406(v=office.12).aspx
// Word ignores and discards postSp
......@@ -7611,7 +7611,7 @@ CMathComposition.prototype =
{
return this.CurrentContent.getRunPrp(this.CurrentContent.CurPos);
}
}
}*/
function CEmpty()
......
......@@ -16,7 +16,7 @@ var StartTextElement = 0x2B1A; // Cambria Math
// TODO
// убрать CMathTextPrp
function CMathTextPrp()
/*function CMathTextPrp()
{
this.FontFamily = undefined;
this.FontSize = undefined;
......@@ -49,7 +49,7 @@ CMathTextPrp.prototype =
this.Bold = prp.Bold;
this.Italic = prp.Italic;
}
}
}*/
function CMathText(bJDraw)
{
......
......@@ -2999,8 +2999,9 @@ COperator.prototype.draw = function(x, y, pGraphics)
pGraphics.b_color1(0,0,0,255);
var ctrPrp = this.getCtrPrp();
var rPrp = new CMathTextPrp();
var defaultRPrp = this.Parent.Composition.DEFAULT_RUN_PRP;
var rPrp = new CTextPr();
//var defaultRPrp = this.Parent.Composition.DEFAULT_RUN_PRP;
var defaultRPrp = this.Parent.Composition.Get_Default_TPrp();
rPrp.Merge(defaultRPrp);
rPrp.Merge(ctrPrp);
rPrp.Italic = false;
......@@ -3067,8 +3068,13 @@ COperator.prototype.old_fixSize = function(oMeasure, stretch)
{
var ctrPrp = this.getCtrPrp();
var rPrp = new CMathTextPrp();
var defaultRPrp = this.Parent.Composition.DEFAULT_RUN_PRP;
//var rPrp = new CMathTextPrp();
//var defaultRPrp = this.Parent.Composition.DEFAULT_RUN_PRP;
var rPrp = new CTextPr();
//var defaultRPrp = this.Parent.Composition.DEFAULT_RUN_PRP;
var defaultRPrp = this.Parent.Composition.Get_Default_TPrp();
rPrp.Merge(defaultRPrp);
rPrp.Merge(ctrPrp);
rPrp.Italic = false;
......@@ -3128,8 +3134,10 @@ COperator.prototype.fixSize = function(oMeasure, stretch)
{
var ctrPrp = this.getCtrPrp();
var rPrp = new CMathTextPrp();
var defaultRPrp = this.Parent.Composition.DEFAULT_RUN_PRP;
var rPrp = new CTextPr();
//var defaultRPrp = this.Parent.Composition.DEFAULT_RUN_PRP;
var defaultRPrp = this.Parent.Composition.Get_Default_TPrp();
rPrp.Merge(defaultRPrp);
rPrp.Merge(ctrPrp);
rPrp.Italic = false;
......
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