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