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

kind for math elements

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@53125 954022d7-b5bf-4e40-9824-e11837661b57
parent 866271a5
......@@ -604,6 +604,8 @@ CSign.prototype.getCodeAccent = function()
function CAccent()
{
this.kind = MATH_ACCENT;
this.code = null; // храним код буквы и тип здесь
this. type = null; // т.к в класах, которые вызываем, не учитываем случаи, когда элементы (стрелки/скобки) переворачиваются
this.loc = LOCATION_TOP;
......
function CBorderBox()
{
this.kind = MATH_BORDER_BOX;
this.gapBrd = 0;
this.bLeft = true;
......@@ -262,6 +264,8 @@ CBorderBox.prototype.getBase = function()
function CBox()
{
this.kind = MATH_BOX;
this.opEmu = false;
this.diff = false;
this.noBreak = false;
......@@ -290,6 +294,8 @@ CBox.prototype.getBase = function()
function CBar()
{
this.kind = MATH_BAR;
this.loc = LOCATION_BOT;
CCharacter.call(this);
}
......
function CDegree()
{
this.kind = MATH_DEGREE;
this.type = DEGREE_SUPERSCRIPT ;
this.shiftDegree = 0;
CMathBase.call(this);
......@@ -208,6 +210,8 @@ CIterators.prototype.getCtrPrp = function()
function CDegreeSubSup()
{
this.kind = MATH_DEGREESubSup;
this.type = DEGREE_SubSup;
this.alnScr = false; // не выровнены, итераторы идут в соответствии с наклоном буквы/мат. объекта
CSubMathBase.call(this);
......
function CFraction()
{
this.kind = MATH_FRACTION;
this.type = BAR_FRACTION;
this.bHideBar = false;
CMathBase.call(this);
......@@ -382,6 +384,13 @@ CFraction.prototype.findDisposition = function( mCoord )
return disposition;
}
CFraction.prototype.getPropsForWrite = function()
{
var props = {};
props.type = this.type;
return props;
}
function CNumerator()
......
function CLimit()
{
this.kind = MATH_LIMIT;
this.type = LIMIT_LOW;
CMathBase.call(this);
}
......@@ -59,6 +61,8 @@ CLimit.prototype.setDistance = function()
function CMathFunc()
{
this.kind = MATH_FUNCTION;
CMathBase.call(this);
}
extend(CMathFunc, CMathBase);
......
//поправить центр у N-арных операторов
/*
FRACTION
MATH_FUNCTION
NARY
BOX (доделать Spacing)
DEGREE
DEGREE_SubSup
RADICAL
LIMIT
FRACTION
MATH_FUNCTION
NARY
BOX (доделать Spacing)
DEGREE
DEGREE_SubSup
RADICAL
LIMIT
*/
//Bugs
......@@ -23,10 +23,10 @@
// 3. центр => baseline
// 4. сделать gaps для мат. объектов, +, - в зависимости от расположения в контенте
// 5. баг с отрисовкой кругового интеграла
// 5. ctr + shift
// 6. Merge textPrp и mathTextPrp (bold, italic)
// 7. Для управляющих символов запрашивать не getCtrPrp, getPrpToControlLetter (реализована, нужно только протащить для всех управляющих элементов)
// 8. объединение формул на remove и add
// 6. cursor_Up, cursor_Down (+ c зажитым shift)
// 7. Merge textPrp и mathTextPrp (bold, italic)
// 8. Для управляющих символов запрашивать не getCtrPrp, getPrpToControlLetter (реализована, нужно только протащить для всех управляющих элементов)
// 9. объединение формул на remove и add
......@@ -471,7 +471,6 @@ CMathContent.prototype =
//var l_gap = 0, r_gap = 0;
var mathElem = null; //положение этого элемента будет this.CurPos + 1
switch(ind)
{
case MATH_FRACTION:
......@@ -6074,11 +6073,10 @@ CMathContent.prototype =
else
{
SelectContent = this;
var direction = (posStart < posEnd) ? 1 : -1;
if ( this.content[posStart].value.typeObj === MATH_COMP )
if( this.content[posStart].value.typeObj === MATH_COMP )
{
if( direction == 1 )
this.setStartPos_Selection( posStart - 1);
......
......@@ -56,30 +56,31 @@ var BOX_BREAK = 3;
var BOX_NOBREAK = 4;
var OPERATOR_EMPTY = -1;
var PARENTHESIS_LEFT = 0;
var PARENTHESIS_RIGHT = 1;
var BRACKET_CURLY_LEFT = 2;
var BRACKET_CURLY_RIGHT = 3;
var BRACKET_SQUARE_LEFT = 4;
var BRACKET_SQUARE_RIGHT = 5;
var BRACKET_ANGLE_LEFT = 6;
var BRACKET_ANGLE_RIGHT = 7;
var HALF_SQUARE_LEFT = 8;
var HALF_SQUARE_RIGHT = 9;
var HALF_SQUARE_LEFT_UPPER = 10;
var HALF_SQUARE_RIGHT_UPPER = 11;
var DELIMITER_LINE = 12;
var DELIMITER_DOUBLE_LINE = 13;
var WHITE_SQUARE_LEFT = 14;
var WHITE_SQUARE_RIGHT = 15;
var BRACKET_CURLY_TOP = 16;
var BRACKET_CURLY_BOTTOM = 17;
var ARROW_LEFT = 18;
var ARROW_RIGHT = 19;
var ARROW_LR = 20;
var DOUBLE_LEFT_ARROW = 21;
var DOUBLE_RIGHT_ARROW = 22;
var DOUBLE_ARROW_LR = 23;
var OPERATOR_TEXT = 0;
var PARENTHESIS_LEFT = 1;
var PARENTHESIS_RIGHT = 2;
var BRACKET_CURLY_LEFT = 3;
var BRACKET_CURLY_RIGHT = 4;
var BRACKET_SQUARE_LEFT = 5;
var BRACKET_SQUARE_RIGHT = 6;
var BRACKET_ANGLE_LEFT = 7;
var BRACKET_ANGLE_RIGHT = 8;
var HALF_SQUARE_LEFT = 9;
var HALF_SQUARE_RIGHT = 10;
var HALF_SQUARE_LEFT_UPPER = 11;
var HALF_SQUARE_RIGHT_UPPER = 12;
var DELIMITER_LINE = 13;
var DELIMITER_DOUBLE_LINE = 14;
var WHITE_SQUARE_LEFT = 15;
var WHITE_SQUARE_RIGHT = 16;
var BRACKET_CURLY_TOP = 17;
var BRACKET_CURLY_BOTTOM = 18;
var ARROW_LEFT = 19;
var ARROW_RIGHT = 20;
var ARROW_LR = 21;
var DOUBLE_LEFT_ARROW = 22;
var DOUBLE_RIGHT_ARROW = 23;
var DOUBLE_ARROW_LR = 24;
var SCR_ROMAN = 0;
var SCR_SCRIPT = 1;
......
function CMathMatrix()
{
this.kind = MATH_MATRIX;
this.lineGapColumn = 1.5;
this.lineGapRow = 1;
this.gaps = null;
......@@ -470,6 +472,8 @@ CMathMatrix.prototype.baseJustification = function(type)
////
function CEqArray()
{
this.kind = MATH_EQ_ARRAY;
CMathMatrix.call(this);
}
extend(CEqArray, CMathMatrix);
......
......@@ -13,6 +13,8 @@
function CNary()
{
this.kind = MATH_NARY;
this.type = null;
this.code = null; // for "read"
this.grow = false;
......
......@@ -167,6 +167,8 @@ CSignRadical.prototype.relate = function(parent)
function CRadical()
{
this.kind = MATH_RADICAL;
this.type = SQUARE_RADICAL; // default
this.degHide = false;
this.signRadical = null;
......
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