Commit cd71230f 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@66841 954022d7-b5bf-4e40-9824-e11837661b57
parent ccff92eb
...@@ -72,11 +72,11 @@ asc_docs_api.prototype["Call_CalculateResume"] = function() ...@@ -72,11 +72,11 @@ asc_docs_api.prototype["Call_CalculateResume"] = function()
asc_docs_api.prototype["Call_TurnOffRecalculate"] = function() asc_docs_api.prototype["Call_TurnOffRecalculate"] = function()
{ {
this.WordControl.m_oLogicDocument.TurnOffRecalc = true; this.WordControl.m_oLogicDocument.TurnOff_Recalculate();
}; };
asc_docs_api.prototype["Call_TurnOnRecalculate"] = function() asc_docs_api.prototype["Call_TurnOnRecalculate"] = function()
{ {
this.WordControl.m_oLogicDocument.TurnOffRecalc = false; this.WordControl.m_oLogicDocument.TurnOn_Recalculate();
this.WordControl.m_oLogicDocument.Recalculate(); this.WordControl.m_oLogicDocument.Recalculate();
}; };
......
...@@ -766,7 +766,7 @@ function CDocument(DrawingDocument, isMainLogicDocument) ...@@ -766,7 +766,7 @@ function CDocument(DrawingDocument, isMainLogicDocument)
this.RecalcId = 0; // Номер пересчета this.RecalcId = 0; // Номер пересчета
this.FullRecalc = new CDocumentRecalculateState(); this.FullRecalc = new CDocumentRecalculateState();
this.TurnOffRecalc = false; this.TurnOffRecalc = 0;
this.TurnOffInterfaceEvents = false; this.TurnOffInterfaceEvents = false;
this.TurnOffRecalcCurPos = false; this.TurnOffRecalcCurPos = false;
...@@ -1195,7 +1195,7 @@ CDocument.prototype = ...@@ -1195,7 +1195,7 @@ CDocument.prototype =
*/ */
TurnOff_Recalculate : function() TurnOff_Recalculate : function()
{ {
this.TurnOffRecalc = true; this.TurnOffRecalc++;
}, },
/** /**
...@@ -1205,18 +1205,26 @@ CDocument.prototype = ...@@ -1205,18 +1205,26 @@ CDocument.prototype =
*/ */
TurnOn_Recalculate : function(bRecalculate) TurnOn_Recalculate : function(bRecalculate)
{ {
this.TurnOffRecalc = false; this.TurnOffRecalc--;
if (bRecalculate) if (bRecalculate)
this.Recalculate(); this.Recalculate();
}, },
Is_OnRecalculate : function()
{
if (0 === this.TurnOffRecalc)
return true;
return false;
},
// Пересчет содержимого Документа // Пересчет содержимого Документа
Recalculate : function(bOneParagraph, bRecalcContentLast, _RecalcData) Recalculate : function(bOneParagraph, bRecalcContentLast, _RecalcData)
{ {
StartTime = new Date().getTime(); StartTime = new Date().getTime();
if ( true === this.TurnOffRecalc ) if (true !== this.Is_OnRecalculate())
return; return;
// Останавливаем поиск // Останавливаем поиск
...@@ -3600,7 +3608,7 @@ CDocument.prototype = ...@@ -3600,7 +3608,7 @@ CDocument.prototype =
} }
// Специальная заглушка для функции TextBox_Put // Специальная заглушка для функции TextBox_Put
if ( true != this.TurnOffRecalc ) if (true === this.Is_OnRecalculate())
this.Document_UpdateUndoRedoState(); this.Document_UpdateUndoRedoState();
} }
}, },
......
...@@ -565,7 +565,7 @@ CHistory.prototype = ...@@ -565,7 +565,7 @@ CHistory.prototype =
{ {
// Не объединяем точки в истории, когда отключается пересчет. // Не объединяем точки в истории, когда отключается пересчет.
// TODO: Неправильно изменяется RecalcIndex // TODO: Неправильно изменяется RecalcIndex
if (true === this.Document.TurnOffRecalc) if (true !== this.Document.Is_OnRecalculate())
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