Commit 60c3d988 authored by Sergey.Tsarkov's avatar Sergey.Tsarkov Committed by Alexander.Trofimov

1) Поправлено падение при выходе из формулы

2) При удалении нескольких объектов в формуле учитывается, что при селекте может браться незаселекченная часть run слева
3) Сброс селекта после удаления

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@58574 954022d7-b5bf-4e40-9824-e11837661b57
parent 716c91e6
...@@ -290,8 +290,10 @@ ParaMath.prototype.Remove = function(Direction, bOnAddText) ...@@ -290,8 +290,10 @@ ParaMath.prototype.Remove = function(Direction, bOnAddText)
return; return;
} }
} }
else //переходим на уровень выше и выделяем композицию else if (!oElem.Selection.Use)//переходим на уровень выше и выделяем композицию
{ {
if (oContent.Content.bRoot) //мы находмися на выходе из формулы
return; //TODO
var Comp = oContent.Content.GetParent(); var Comp = oContent.Content.GetParent();
Comp.SetSelectAll(); Comp.SetSelectAll();
Comp.SelectToParent(); Comp.SelectToParent();
...@@ -300,14 +302,16 @@ ParaMath.prototype.Remove = function(Direction, bOnAddText) ...@@ -300,14 +302,16 @@ ParaMath.prototype.Remove = function(Direction, bOnAddText)
} }
else if (Direction > 0 && oElem.State.ContentPos + 1 > oElem.Content.length) //delete else if (Direction > 0 && oElem.State.ContentPos + 1 > oElem.Content.length) //delete
{ {
if (oContent.Content.CurPos + 1 >= oContent.Content.content.length) //переходим на уровень выше и выделяем композицию if (oContent.Content.CurPos + 1 >= oContent.Content.content.length && !oElem.Selection.Use) //переходим на уровень выше и выделяем композицию
{ {
if (oContent.Content.bRoot) //мы находмися на выходе из формулы
return; //TODO
var Comp = oContent.Content.GetParent(); var Comp = oContent.Content.GetParent();
Comp.SetSelectAll(); Comp.SetSelectAll();
Comp.SelectToParent(); Comp.SelectToParent();
this.bSelectionUse = true; this.bSelectionUse = true;
} }
else //справа есть элемент else if (!oElem.Selection.Use)//справа есть элемент
{ {
var nNextElem = oContent.Start + 1; var nNextElem = oContent.Start + 1;
var nextElem = oContent.Content.getElem(nNextElem); var nextElem = oContent.Content.getElem(nNextElem);
...@@ -364,6 +368,11 @@ ParaMath.prototype.Remove = function(Direction, bOnAddText) ...@@ -364,6 +368,11 @@ ParaMath.prototype.Remove = function(Direction, bOnAddText)
start = oContent.End; start = oContent.End;
end = oContent.Start; end = oContent.Start;
} }
var oStartContent = oContent.Content.content[start];
if ( para_Math_Run == oStartContent.Type)
if (oStartContent.Selection.StartPos == oStartContent.Selection.EndPos == oStartContent.Content.length)
start++;
var len = end - start + 1; var len = end - start + 1;
History.Create_NewPoint(); History.Create_NewPoint();
...@@ -378,6 +387,7 @@ ParaMath.prototype.Remove = function(Direction, bOnAddText) ...@@ -378,6 +387,7 @@ ParaMath.prototype.Remove = function(Direction, bOnAddText)
oContent.Content.content.splice( start, len ); oContent.Content.content.splice( start, len );
oContent.Content.SetRunEmptyToContent(true); oContent.Content.SetRunEmptyToContent(true);
History.Add(oContent.Content, {Type: historyitem_Math_RemoveItem, Items:Items, Pos: start}); History.Add(oContent.Content, {Type: historyitem_Math_RemoveItem, Items:Items, Pos: start});
this.Selection_Remove();
return; return;
}; };
......
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