Commit 88d450ea authored by Ilya.Kirillov's avatar Ilya.Kirillov Committed by Alexander.Trofimov

Добавлена функция в апи can_CopyCut. Сделано ускорение пересчета для картинок...

Добавлена функция в апи can_CopyCut. Сделано ускорение пересчета для картинок с обтеканием. Исправлен баг с неправильным рассчетом текста по ширине (баг 26517). Исправлен баг с неправильной работой флага "Turn on live commenting" (баг 26507).

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@58284 954022d7-b5bf-4e40-9824-e11837661b57
parent 01615ec0
...@@ -59,6 +59,7 @@ var recalcresult_CurPage = 0x02; // Пересчитываем заново ...@@ -59,6 +59,7 @@ var recalcresult_CurPage = 0x02; // Пересчитываем заново
var recalcresult_NextPage = 0x03; // Пересчитываем следующую страницу var recalcresult_NextPage = 0x03; // Пересчитываем следующую страницу
var recalcresult_NextLine = 0x04; // Пересчитываем следующую строку var recalcresult_NextLine = 0x04; // Пересчитываем следующую строку
var recalcresult_CurLine = 0x05; // Пересчитываем текущую строку var recalcresult_CurLine = 0x05; // Пересчитываем текущую строку
var recalcresult_CurPagePara = 0x06; // Специальный случай, когда мы встретили картинку в начале параграфа
// Типы которые возвращают классы CDocument и CDocumentContent после пересчета страницы // Типы которые возвращают классы CDocument и CDocumentContent после пересчета страницы
var recalcresult2_End = 0x00; // Документ рассчитан до конца var recalcresult2_End = 0x00; // Документ рассчитан до конца
...@@ -11678,51 +11679,14 @@ CDocument.prototype = ...@@ -11678,51 +11679,14 @@ CDocument.prototype =
if (true === this.TurnOffInterfaceEvents) if (true === this.TurnOffInterfaceEvents)
return; return;
// Во время работы селекта не обновляем состояние
if ( true === this.Selection.Start )
return;
if ( true === CollaborativeEditing.m_bGlobalLockSelection ) if ( true === CollaborativeEditing.m_bGlobalLockSelection )
return; return;
var bCanCopyCut = false; // Во время работы селекта не обновляем состояние
if ( true === this.Selection.Start )
var LogicDocument = null; return;
var DrawingObjects = null;
// Работаем с колонтитулом
if ( docpostype_HdrFtr === this.CurPos.Type )
{
var CurHdrFtr = this.HdrFtr.CurHdrFtr;
if ( null !== CurHdrFtr )
{
if ( docpostype_DrawingObjects === CurHdrFtr.Content.CurPos.Type )
DrawingObjects = this.DrawingObjects;
else
LogicDocument = CurHdrFtr.Content;
}
}
else if ( docpostype_DrawingObjects === this.CurPos.Type )
{
DrawingObjects = this.DrawingObjects;
}
else //if ( docpostype_Content === this.CurPos.Type )
{
LogicDocument = this;
}
if ( null !== DrawingObjects )
{
if ( true === DrawingObjects.isSelectedText() )
LogicDocument = DrawingObjects.getTargetDocContent();
else
bCanCopyCut = true;
}
if ( null !== LogicDocument )
bCanCopyCut = LogicDocument.Is_SelectionUse();
editor.sync_CanCopyCutCallback( bCanCopyCut ); editor.sync_CanCopyCutCallback(this.Can_CopyCut());
}, },
Document_UpdateCanAddHyperlinkState : function() Document_UpdateCanAddHyperlinkState : function()
...@@ -11777,6 +11741,48 @@ CDocument.prototype = ...@@ -11777,6 +11741,48 @@ CDocument.prototype =
this.Document_UpdateRulersState(); this.Document_UpdateRulersState();
} }
}, },
Can_CopyCut : function()
{
var bCanCopyCut = false;
var LogicDocument = null;
var DrawingObjects = null;
// Работаем с колонтитулом
if ( docpostype_HdrFtr === this.CurPos.Type )
{
var CurHdrFtr = this.HdrFtr.CurHdrFtr;
if ( null !== CurHdrFtr )
{
if ( docpostype_DrawingObjects === CurHdrFtr.Content.CurPos.Type )
DrawingObjects = this.DrawingObjects;
else
LogicDocument = CurHdrFtr.Content;
}
}
else if ( docpostype_DrawingObjects === this.CurPos.Type )
{
DrawingObjects = this.DrawingObjects;
}
else //if ( docpostype_Content === this.CurPos.Type )
{
LogicDocument = this;
}
if ( null !== DrawingObjects )
{
if ( true === DrawingObjects.isSelectedText() )
LogicDocument = DrawingObjects.getTargetDocContent();
else
bCanCopyCut = true;
}
if ( null !== LogicDocument )
bCanCopyCut = LogicDocument.Is_SelectionUse();
return bCanCopyCut;
},
//----------------------------------------------------------------------------------- //-----------------------------------------------------------------------------------
// Функции для работы с номерами страниц // Функции для работы с номерами страниц
//----------------------------------------------------------------------------------- //-----------------------------------------------------------------------------------
...@@ -12921,6 +12927,9 @@ CDocument.prototype = ...@@ -12921,6 +12927,9 @@ CDocument.prototype =
CanAdd_Comment : function() CanAdd_Comment : function()
{ {
if (true !== this.Comments.Is_Use())
return false;
// Проверим можно ли добавлять гиперссылку // Проверим можно ли добавлять гиперссылку
if ( docpostype_HdrFtr === this.CurPos.Type ) if ( docpostype_HdrFtr === this.CurPos.Type )
return this.HdrFtr.CanAdd_Comment(); return this.HdrFtr.CanAdd_Comment();
......
This diff is collapsed.
...@@ -2367,7 +2367,12 @@ ParaRun.prototype.Recalculate_Range_Spaces = function(PRSA, _CurLine, _CurRange, ...@@ -2367,7 +2367,12 @@ ParaRun.prototype.Recalculate_Range_Spaces = function(PRSA, _CurLine, _CurRange,
// Обновляем позицию объекта // Обновляем позицию объекта
Item.Update_Position( new CParagraphLayout( PRSA.X, PRSA.Y , Page_abs, PRSA.LastW, ColumnStartX, ColumnEndX, X_Left_Margin, X_Right_Margin, Page_Width, Top_Margin, Bottom_Margin, Page_H, PageFields.X, PageFields.Y, Para.Pages[CurPage].Y + Para.Lines[CurLine].Y - Para.Lines[CurLine].Metrics.Ascent, Para.Pages[CurPage].Y), PageLimits); Item.Update_Position( new CParagraphLayout( PRSA.X, PRSA.Y , Page_abs, PRSA.LastW, ColumnStartX, ColumnEndX, X_Left_Margin, X_Right_Margin, Page_Width, Top_Margin, Bottom_Margin, Page_H, PageFields.X, PageFields.Y, Para.Pages[CurPage].Y + Para.Lines[CurLine].Y - Para.Lines[CurLine].Metrics.Ascent, Para.Pages[CurPage].Y), PageLimits);
LDRecalcInfo.Set_FlowObject( Item, 0, recalcresult_NextElement, -1 ); LDRecalcInfo.Set_FlowObject( Item, 0, recalcresult_NextElement, -1 );
PRSA.RecalcResult = recalcresult_CurPage;
if (0 === PRSA.CurPage && Item.Y > PRSA.PageY + 0.001)
PRSA.RecalcResult = recalcresult_CurPagePara;
else
PRSA.RecalcResult = recalcresult_CurPage;
return; return;
} }
else if ( true === LDRecalcInfo.Check_FlowObject(Item) ) else if ( true === LDRecalcInfo.Check_FlowObject(Item) )
...@@ -6243,6 +6248,7 @@ ParaRun.prototype.Check_HistoryUninon = function(Data1, Data2) ...@@ -6243,6 +6248,7 @@ ParaRun.prototype.Check_HistoryUninon = function(Data1, Data2)
if ( 1 === Data1.Items.length && 1 === Data2.Items.length && Data1.Pos === Data2.Pos - 1 && para_Text === Data1.Items[0].Type && para_Text === Data2.Items[0].Type ) if ( 1 === Data1.Items.length && 1 === Data2.Items.length && Data1.Pos === Data2.Pos - 1 && para_Text === Data1.Items[0].Type && para_Text === Data2.Items[0].Type )
return true; return true;
} }
return false; return false;
}; };
//----------------------------------------------------------------------------------- //-----------------------------------------------------------------------------------
......
...@@ -3023,6 +3023,11 @@ asc_docs_api.prototype.sync_CanRedoCallback = function(bCanRedo) ...@@ -3023,6 +3023,11 @@ asc_docs_api.prototype.sync_CanRedoCallback = function(bCanRedo)
this.asc_fireCallback("asc_onCanRedo", bCanRedo); this.asc_fireCallback("asc_onCanRedo", bCanRedo);
} }
asc_docs_api.prototype.can_CopyCut = function()
{
return this.WordControl.m_oLogicDocument.Can_CopyCut();
};
asc_docs_api.prototype.sync_CanCopyCutCallback = function(bCanCopyCut) asc_docs_api.prototype.sync_CanCopyCutCallback = function(bCanCopyCut)
{ {
this.asc_fireCallback("asc_onCanCopyCut", bCanCopyCut); this.asc_fireCallback("asc_onCanCopyCut", bCanCopyCut);
......
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