Commit 6fddc3fa authored by Ilya.Kirillov's avatar Ilya.Kirillov Committed by Alexander.Trofimov

Сделано, чтобы пересчет можно было запускать после нескольких точек истории.

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@54796 954022d7-b5bf-4e40-9824-e11837661b57
parent 53cd62e0
......@@ -1118,6 +1118,8 @@ CDocument.prototype =
// Получаем данные об произошедших изменениях
var RecalcData = ( undefined === _RecalcData ? History.Get_RecalcData() : _RecalcData );
History.Reset_RecalcIndex();
// 1. Пересчитываем все автофигуры, которые нужно пересчитать. Изменения в них ни на что не влияют.
for ( var GraphIndex = 0; GraphIndex < RecalcData.Flow.length; GraphIndex++ )
{
......
......@@ -10,6 +10,7 @@ function CHistory(Document)
{
this.Index = -1;
this.SavedIndex = -1; // Номер точки отката, на которой произошло последнее сохранение
this.RecIndex = -1; // Номер точки, на которой произошел последний пересчет
this.Points = new Array(); // Точки истории, в каждой хранится массив с изменениями после текущей точки
this.Document = Document;
......@@ -354,11 +355,15 @@ CHistory.prototype =
{
if ( this.Index >= 0 )
{
// Считываем изменения, начиная с последней точки, и смотрим что надо пересчитать.
var Point = this.Points[this.Index];
var LastPoint = this.RecIndex;
this.Internal_RecalcData_Clear();
for ( var Pos = this.RecIndex + 1; Pos <= this.Index; Pos++ )
{
// Считываем изменения, начиная с последней точки, и смотрим что надо пересчитать.
var Point = this.Points[Pos];
// Выполняем все действия в прямом порядке
for ( var Index = 0; Index < Point.Items.length; Index++ )
{
......@@ -366,10 +371,16 @@ CHistory.prototype =
Item.Class.Refresh_RecalcData( Item.Data );
}
}
}
return this.RecalculateData;
},
Reset_RecalcIndex : function()
{
this.RecIndex = this.Index;
},
Is_SimpleChanges : function()
{
if ( this.Index >= 0 && this.Points[this.Index].Items.length > 0 )
......
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