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

Поправила баг c delete, если удаляли объект в начале формулы, и после объекта...

Поправила баг c delete, если удаляли объект в начале формулы, и после объекта шли RunPrp, неправильно выставлялась позиция курсора

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@52794 954022d7-b5bf-4e40-9824-e11837661b57
parent e436f37c
...@@ -7608,18 +7608,12 @@ ParaMath.prototype = ...@@ -7608,18 +7608,12 @@ ParaMath.prototype =
Selection_SetStart : function(X, Y, PageNum) Selection_SetStart : function(X, Y, PageNum)
{ {
//console.log("Selection_SetStart");
this.Math.Selection_SetStart( X, Y, PageNum ); this.Math.Selection_SetStart( X, Y, PageNum );
//console.log("Selection_Draw: IsPlaceholder "+ bPlh);
}, },
Selection_SetEnd : function(X, Y, PageNum, MouseEvent) Selection_SetEnd : function(X, Y, PageNum, MouseEvent)
{ {
console.log("Selection_SetEnd");
var bPlh = this.Math.SelectContent.IsPlaceholder();
this.Math.Selection_SetEnd( X, Y, PageNum, MouseEvent ); this.Math.Selection_SetEnd( X, Y, PageNum, MouseEvent );
console.log("Selection_Draw: IsPlaceholder "+ bPlh);
}, },
Selection_Beginning : function(bStart) Selection_Beginning : function(bStart)
...@@ -7634,8 +7628,6 @@ ParaMath.prototype = ...@@ -7634,8 +7628,6 @@ ParaMath.prototype =
Selection_Draw : function() Selection_Draw : function()
{ {
var bPlh = this.Math.SelectContent.IsPlaceholder();
console.log("Selection_Draw: IsPlaceholder "+ bPlh);
this.Math.Selection_Draw(); this.Math.Selection_Draw();
}, },
......
...@@ -4515,16 +4515,9 @@ CMathContent.prototype = ...@@ -4515,16 +4515,9 @@ CMathContent.prototype =
}, },
update_widthContent: function() update_widthContent: function()
{ {
try for(var i = 1; i <this.content.length; i++)
{ {
for(var i = 1; i <this.content.length; i++) this.content[i].widthToEl = this.content[i-1].widthToEl + this.content[i].value.size.width + this.content[i].g_mContext.left + this.content[i].g_mContext.right;
{
this.content[i].widthToEl = this.content[i-1].widthToEl + this.content[i].value.size.width + this.content[i].g_mContext.left + this.content[i].g_mContext.right;
}
}
catch(e)
{
console.log("Don't work update_widthContent");
} }
}, },
...@@ -4634,7 +4627,7 @@ CMathContent.prototype = ...@@ -4634,7 +4627,7 @@ CMathContent.prototype =
}, },
remove: function(order) remove: function(order)
{ {
//console.log("Order of remove: " + order); console.log("Order of remove: " + order);
var state = var state =
{ {
bDelete: false, /* нужно ли пересчитывать позицию или нет, работает при backspace */ bDelete: false, /* нужно ли пересчитывать позицию или нет, работает при backspace */
...@@ -4712,7 +4705,7 @@ CMathContent.prototype = ...@@ -4712,7 +4705,7 @@ CMathContent.prototype =
nextType = this.CurPos + 1 < this.content.length ? this.content[this.CurPos + 1].value.typeObj : null, nextType = this.CurPos + 1 < this.content.length ? this.content[this.CurPos + 1].value.typeObj : null,
next2_Type = this.CurPos + 2 < this.content.length ? this.content[this.CurPos + 2].value.typeObj : null; next2_Type = this.CurPos + 2 < this.content.length ? this.content[this.CurPos + 2].value.typeObj : null;
var bMEDirect = order == 1, var bMEDirect = order == 1,
bMEReverse = order == -1; bMEReverse = order == -1;
var bDirectlyBegin = this.CurPos == 0 || (currType == MATH_RUN_PRP && this.CurPos == 1) && bMEDirect, // Empty или RunPrp в начале, значит курсор в начале контента var bDirectlyBegin = this.CurPos == 0 || (currType == MATH_RUN_PRP && this.CurPos == 1) && bMEDirect, // Empty или RunPrp в начале, значит курсор в начале контента
...@@ -4763,8 +4756,8 @@ CMathContent.prototype = ...@@ -4763,8 +4756,8 @@ CMathContent.prototype =
this.CurPos = start - 1; this.CurPos = start - 1;
if(!this.IsEmpty() && this.CurPos == 0 && this.content[this.CurPos+1].value.typeObj === MATH_RUN_PRP) // если удалили мат. объект и стоим в начале, то позиция курсора будет перед RunPrp, а нужно после /*if(!this.IsEmpty() && this.CurPos == 0 && this.content[this.CurPos+1].value.typeObj === MATH_RUN_PRP) // если удалили мат. объект и стоим в начале, то позиция курсора будет перед RunPrp, а нужно после
this.CurPos++; this.CurPos++;*/
} }
else else
{ {
...@@ -4787,10 +4780,28 @@ CMathContent.prototype = ...@@ -4787,10 +4780,28 @@ CMathContent.prototype =
end = start + 1; end = start + 1;
this.CurPos = start - 1; this.CurPos = start - 1;
console.log("Remove: " + " CurPos = " + this.CurPos);
var type = "";
var currType = this.content[this.CurPos].value.typeObj;
if(currType === MATH_EMPTY)
type = "Empty";
else if(currType === MATH_RUN_PRP)
type = "Run properties";
else if(currType == MATH_TEXT)
type = "Text";
else if(currType == MATH_COMP)
type = "Composition";
else
type = "Placeholder";
console.log("Remove: " + " typeObj of Current is " + type);
items = this.content.splice(start, end - start); items = this.content.splice(start, end - start);
} }
if(!this.IsEmpty() && this.CurPos == 0 && this.content[this.CurPos+1].value.typeObj === MATH_RUN_PRP) // если удалили мат. объект и стоим в начале, то позиция курсора будет перед RunPrp, а нужно после
this.CurPos++;
this.setLogicalPosition(this.CurPos); this.setLogicalPosition(this.CurPos);
bDelete = true; bDelete = true;
...@@ -6368,9 +6379,6 @@ CMathComposition.prototype = ...@@ -6368,9 +6379,6 @@ CMathComposition.prototype =
this.SelectContent = result.SelectContent; this.SelectContent = result.SelectContent;
this.CurrentContent.setPlaceholderAfterRemove(); // чтобы не выставлялся тагет при вставке, когда заселекчен весь контент и мы добавляем, например, другой мат элемент this.CurrentContent.setPlaceholderAfterRemove(); // чтобы не выставлялся тагет при вставке, когда заселекчен весь контент и мы добавляем, например, другой мат элемент
/*var bPlh = this.SelectContent.IsPlaceholder();
console.log("After Remove: IsPlaceholder "+ bPlh);*/
removeMComp = !(bRoot && bToUpper); // посылаем false, если в начале + backspace или в конце + delete removeMComp = !(bRoot && bToUpper); // посылаем false, если в начале + backspace или в конце + delete
} }
...@@ -6438,7 +6446,6 @@ CMathComposition.prototype = ...@@ -6438,7 +6446,6 @@ CMathComposition.prototype =
{ {
this.Root.Resize(oMeasure); this.Root.Resize(oMeasure);
}, },
//// edit ////
AddLetter: function(code) AddLetter: function(code)
{ {
if(TEST) if(TEST)
...@@ -6898,9 +6905,6 @@ CMathComposition.prototype = ...@@ -6898,9 +6905,6 @@ CMathComposition.prototype =
this.Root.selection_Start(x, y); this.Root.selection_Start(x, y);
var bPlh = this.SelectContent.IsPlaceholder();
console.log("Selection_SetStart: IsPlaceholder "+ bPlh);
//this.SelectContent = result.SelectContent; // если SetEnd придет раньше //this.SelectContent = result.SelectContent; // если SetEnd придет раньше
}, },
Selection_SetEnd: function(X, Y, PageNum, MouseEvent) Selection_SetEnd: function(X, Y, PageNum, MouseEvent)
...@@ -6910,17 +6914,10 @@ CMathComposition.prototype = ...@@ -6910,17 +6914,10 @@ CMathComposition.prototype =
var result = this.Root.selection_End(x, y, MouseEvent); var result = this.Root.selection_End(x, y, MouseEvent);
this.SelectContent = result.SelectContent; this.SelectContent = result.SelectContent;
var bPlh = this.SelectContent.IsPlaceholder();
console.log("Selection_SetEnd: IsPlaceholder "+ bPlh);
}, },
Selection_Draw: function() Selection_Draw: function()
{ {
this.SelectContent.drawSelect2(); this.SelectContent.drawSelect2();
var bPlh = this.SelectContent.IsPlaceholder();
console.log("Selection_Draw: IsPlaceholder "+ bPlh);
}, },
Selection_Beginning: function(bStart) // если приходит bStart = false, то это означает Selection_SetEnd (конец селекта в начале контента) Selection_Beginning: function(bStart) // если приходит bStart = false, то это означает Selection_SetEnd (конец селекта в начале контента)
{ {
......
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