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

1. Поправила функции связанные с Merge текстовых настроек для Run Properies

2. Поправила баг для радикала со степенью при расчете размера (возникал, когда ширина степени меньше значка, на котором она рисуется)

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@54572 954022d7-b5bf-4e40-9824-e11837661b57
parent db04af1f
...@@ -606,10 +606,11 @@ CSign.prototype.fixSize = function(oMeasure, stretch, bIncline) ...@@ -606,10 +606,11 @@ CSign.prototype.fixSize = function(oMeasure, stretch, bIncline)
var ctrPrp = this.Parent.getCtrPrp(); var ctrPrp = this.Parent.getCtrPrp();
var rPrp = new CMathTextPrp(); var rPrp = new CMathTextPrp();
var defaultRPrp = this.Parent.Composition.DEFAULT_RUN_PRP; var defaultRPrp = this.Parent.Composition.GetDefaultRunPrp();
rPrp.Merge(defaultRPrp); rPrp.Merge(defaultRPrp.getMergedWPrp());
rPrp.Merge(ctrPrp); rPrp.Merge(ctrPrp);
rPrp.Italic = false; rPrp.Italic = false; // не меняем значок
rPrp.Bold = false;
oMeasure.SetFont(rPrp); oMeasure.SetFont(rPrp);
......
...@@ -25,6 +25,7 @@ function CMathBase() ...@@ -25,6 +25,7 @@ function CMathBase()
this.Composition = null; // ссылка на общую формулу this.Composition = null; // ссылка на общую формулу
this.CtrPrp = new CTextPr(); this.CtrPrp = new CTextPr();
this.RunPrp = new CMathRunPrp();
//this.textPrp = new CMathTextPrp(); // для рассчета размера расстояний //this.textPrp = new CMathTextPrp(); // для рассчета размера расстояний
...@@ -87,36 +88,51 @@ CMathBase.prototype = ...@@ -87,36 +88,51 @@ CMathBase.prototype =
setCtrPrp: function(txtPrp) setCtrPrp: function(txtPrp)
{ {
this.CtrPrp.Merge(txtPrp); // only runPrp for paragraph this.CtrPrp.Merge(txtPrp); // only runPrp for paragraph
this.RunPrp.setTxtPrp(txtPrp);
}, },
getCtrPrp: function() getCtrPrp: function()
{ {
var ctrPrp = new CTextPr(); var ctrPrp = new CTextPr();
ctrPrp.Merge(this.Composition.DEFAULT_RUN_PRP); var defaultRPrp = this.Composition.GetFirstRPrp();
ctrPrp.Merge(this.Composition.GetFirstPrp() ); var gWPrp = defaultRPrp.getMergedWPrp();
ctrPrp.Merge(gWPrp);
ctrPrp.Merge(this.CtrPrp); ctrPrp.Merge(this.CtrPrp);
return ctrPrp; return ctrPrp;
}, },
getRunPrp: function()
{
var runPrp = new CMathRunPrp();
var defaultRPrp = this.Composition.GetFirstRPrp();
runPrp.Merge(defaultRPrp);
runPrp.Merge(this.RunPrp);
return runPrp;
},
getCtrPrpForFirst: function() getCtrPrpForFirst: function()
{ {
var ctrPrp = new CTextPr(); var ctrPrp = new CTextPr();
ctrPrp.Merge(this.Composition.DEFAULT_RUN_PRP); var defaultRPrp = this.Composition.GetDefaultRunPrp();
var gWPrp = defaultRPrp.getMergedWPrp();
ctrPrp.Merge(gWPrp);
ctrPrp.Merge(this.CtrPrp); ctrPrp.Merge(this.CtrPrp);
return ctrPrp; return ctrPrp;
}, },
// для управляющих символов в приоритете GetFirstPrp // для управляющих символов в приоритете GetFirstRunPrp
// если первый элемент - мат объект, то берутся его CtrPrp // если первый элемент - мат объект, то берутся его CtrPrp
getPrpToControlLetter: function() getPrpToControlLetter: function()
{ {
var rPrp = new CTextPr(); var rPrp = new CTextPr();
rPrp.Merge( this.Composition.GetFirstPrp() ); rPrp.Merge( this.Composition.GetFirstRPrp() );
return rPrp; return rPrp;
}, },
setRPrp: function(rPrp) setRPrp: function(rPrp)
{ {
this.RunPrp.Merge(rPrp);
this.CtrPrp = new CTextPr(); this.CtrPrp = new CTextPr();
this.CtrPrp.Merge(rPrp); var gPrp = rPrp.getMergedWPrp();
this.CtrPrp.Merge(gPrp);
for(var i=0; i < this.nRow; i++) for(var i=0; i < this.nRow; i++)
for(var j = 0; j < this.nCol; j++) for(var j = 0; j < this.nCol; j++)
......
...@@ -93,8 +93,8 @@ CBorderBox.prototype.draw = function(x, y, pGraphics) ...@@ -93,8 +93,8 @@ CBorderBox.prototype.draw = function(x, y, pGraphics)
if(this.bTop) if(this.bTop)
{ {
var x1 = this.pos.x + x, var x1 = this.pos.x + x,
x2 = this.pos.x + x + this.size.width - penW/2, x2 = this.pos.x + x + this.size.width - penW/2,
y1 = this.pos.y + y; y1 = this.pos.y + y;
pGraphics.p_color(0,0,0, 255); pGraphics.p_color(0,0,0, 255);
pGraphics.drawHorLine(0, y1, x1, x2, penW); pGraphics.drawHorLine(0, y1, x1, x2, penW);
......
...@@ -494,6 +494,10 @@ CNumerator.prototype.getCtrPrp = function() ...@@ -494,6 +494,10 @@ CNumerator.prototype.getCtrPrp = function()
{ {
return this.Parent.getCtrPrp(); return this.Parent.getCtrPrp();
} }
CNumerator.prototype.getRunPrp = function()
{
return this.Parent.getRunPrp();
}
function CDenominator() function CDenominator()
{ {
...@@ -560,6 +564,10 @@ CDenominator.prototype.getCtrPrp = function() ...@@ -560,6 +564,10 @@ CDenominator.prototype.getCtrPrp = function()
{ {
return this.Parent.getCtrPrp(); return this.Parent.getCtrPrp();
} }
CDenominator.prototype.getRunPrp = function()
{
return this.Parent.getRunPrp();
}
////////// //////////
......
This diff is collapsed.
...@@ -238,7 +238,9 @@ CRadical.prototype.recalculateSize = function() ...@@ -238,7 +238,9 @@ CRadical.prototype.recalculateSize = function()
var wTick = this.signRadical.sizeTick.width, var wTick = this.signRadical.sizeTick.width,
hTick = this.signRadical.sizeTick.height; hTick = this.signRadical.sizeTick.height;
var width = degr.width - wTick + sign.width; var wDegree = degr.width > wTick ? degr.width - wTick : 0;
var width = wDegree + sign.width;
//var width = degr.width - wTick + sign.width;
var txtPrp = this.getCtrPrp(); var txtPrp = this.getCtrPrp();
var plH = 9.877777777777776 * txtPrp.FontSize /36; var plH = 9.877777777777776 * txtPrp.FontSize /36;
...@@ -291,7 +293,10 @@ CRadical.prototype.setPosition = function(pos) ...@@ -291,7 +293,10 @@ CRadical.prototype.setPosition = function(pos)
base = this.elements[0][1].size, base = this.elements[0][1].size,
sign = this.signRadical.size; sign = this.signRadical.size;
var hDg = degr.height + this.gap + this.signRadical.sizeTick.height; var wTick = this.signRadical.sizeTick.width,
hTick = this.signRadical.sizeTick.height;
var hDg = degr.height + this.gap + hTick;
this.topDegr = this.size.height - hDg; this.topDegr = this.size.height - hDg;
var x1 = this.pos.x, var x1 = this.pos.x,
...@@ -299,7 +304,8 @@ CRadical.prototype.setPosition = function(pos) ...@@ -299,7 +304,8 @@ CRadical.prototype.setPosition = function(pos)
this.elements[0][0].setPosition({x: x1, y: y1}); this.elements[0][0].setPosition({x: x1, y: y1});
var x2 = this.pos.x + degr.width - this.signRadical.sizeTick.width, var wDegree = degr.width > wTick ? degr.width - wTick : 0;
var x2 = this.pos.x + wDegree,
y2 = this.pos.y + this.size.height - sign.height; y2 = this.pos.y + this.size.height - sign.height;
this.signRadical.setPosition({x: x2, y: y2}); this.signRadical.setPosition({x: x2, y: y2});
......
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