Commit 5da52b76 authored by Ilya.Kirillov's avatar Ilya.Kirillov Committed by Alexander.Trofimov

Улучшена схема отрисовки селекта и курсора. Отрисовка рамки и селекта для...

Улучшена схема отрисовки селекта и курсора. Отрисовка рамки и селекта для формулы сделано как в Word.

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@58731 954022d7-b5bf-4e40-9824-e11837661b57
parent e74b2eaa
...@@ -4207,14 +4207,16 @@ function CDrawingDocument() ...@@ -4207,14 +4207,16 @@ function CDrawingDocument()
this.m_oWordControl.UpdateVerRuler(); this.m_oWordControl.UpdateVerRuler();
} }
this.Update_MathTrack = function(IsActive, Math, X, Y, W, H, PageIndex) this.Update_MathTrack = function(IsActive, IsContentActive, Math, X, Y, W, H, PageIndex)
{ {
this.MathRect.IsActive = IsActive; this.MathRect.IsActive = IsActive;
if (true === IsActive) if (true === IsActive)
{ {
if (null !== Math) if (null !== Math && true === IsContentActive)
this.MathRect.ContentSelection = Math.Get_ContentSelection(); this.MathRect.ContentSelection = Math.Get_ContentSelection();
else
this.MathRect.ContentSelection = null;
var PixelError = this.GetMMPerDot(1) * 3; var PixelError = this.GetMMPerDot(1) * 3;
......
...@@ -11569,11 +11569,6 @@ CDocument.prototype = ...@@ -11569,11 +11569,6 @@ CDocument.prototype =
else else
this.Content[this.CurPos.ContentPos].Document_UpdateInterfaceState(); this.Content[this.CurPos.ContentPos].Document_UpdateInterfaceState();
} }
else
{
// Если выделено больше 1 элемента отключаем рамку формул
this.DrawingDocument.Update_MathTrack(false);
}
} }
// Сообщаем, что список составлен // Сообщаем, что список составлен
...@@ -11716,15 +11711,16 @@ CDocument.prototype = ...@@ -11716,15 +11711,16 @@ CDocument.prototype =
{ {
if ( false === this.Selection_IsEmpty() ) if ( false === this.Selection_IsEmpty() )
{ {
this.DrawingDocument.TargetEnd();
this.DrawingDocument.SelectEnabled(true);
this.DrawingDocument.SelectShow();
if ( true !== this.Selection.Start ) if ( true !== this.Selection.Start )
{ {
this.Internal_CheckCurPage(); this.Internal_CheckCurPage();
this.RecalculateCurPos(); this.RecalculateCurPos();
} }
this.private_UpdateTracks(true, false);
this.DrawingDocument.TargetEnd();
this.DrawingDocument.SelectEnabled(true);
this.DrawingDocument.SelectShow();
} }
else else
{ {
...@@ -11733,11 +11729,11 @@ CDocument.prototype = ...@@ -11733,11 +11729,11 @@ CDocument.prototype =
this.Selection_Remove(); this.Selection_Remove();
} }
this.DrawingDocument.SelectEnabled(false);
this.Internal_CheckCurPage(); this.Internal_CheckCurPage();
this.RecalculateCurPos(); this.RecalculateCurPos();
this.private_UpdateTracks(true, true);
this.DrawingDocument.SelectEnabled(false);
this.DrawingDocument.TargetStart(); this.DrawingDocument.TargetStart();
this.DrawingDocument.TargetShow(); this.DrawingDocument.TargetShow();
} }
...@@ -11745,12 +11741,12 @@ CDocument.prototype = ...@@ -11745,12 +11741,12 @@ CDocument.prototype =
} }
else else
{ {
this.DrawingDocument.SelectEnabled(false);
this.Selection_Remove(); this.Selection_Remove();
this.Internal_CheckCurPage(); this.Internal_CheckCurPage();
this.RecalculateCurPos(); this.RecalculateCurPos();
this.private_UpdateTracks(false, false);
this.DrawingDocument.SelectEnabled(false);
this.DrawingDocument.TargetShow(); this.DrawingDocument.TargetShow();
} }
} }
...@@ -11759,6 +11755,17 @@ CDocument.prototype = ...@@ -11759,6 +11755,17 @@ CDocument.prototype =
this.Document_UpdateCopyCutState(); this.Document_UpdateCopyCutState();
}, },
private_UpdateTracks : function(bSelection, bEmptySelection)
{
// Обновляем трэк формул
var oSelectedInfo = this.Get_SelectedElementsInfo();
var Math = oSelectedInfo.Get_Math();
if (null !== Math)
this.DrawingDocument.Update_MathTrack(true, (false === bSelection || true === bEmptySelection ? true : false), Math, Math.X, Math.Y, Math.Width, Math.Height, Math.Paragraph.CurPos.PagesPos + Math.Paragraph.Get_StartPage_Absolute());
else
this.DrawingDocument.Update_MathTrack(false);
},
Document_UpdateUndoRedoState : function() Document_UpdateUndoRedoState : function()
{ {
if (true === this.TurnOffInterfaceEvents) if (true === this.TurnOffInterfaceEvents)
......
...@@ -1625,7 +1625,7 @@ ParaMath.prototype.Get_ContentSelection = function() ...@@ -1625,7 +1625,7 @@ ParaMath.prototype.Get_ContentSelection = function()
{ {
var oContent = this.GetSelectContent().Content; var oContent = this.GetSelectContent().Content;
if (oContent.bRoot || true === this.bSelectionUse) if (oContent.bRoot)
return null; return null;
return {X : oContent.pos.x + this.X, Y : oContent.pos.y + this.Y, W : oContent.size.width, H : oContent.size.height}; return {X : oContent.pos.x + this.X, Y : oContent.pos.y + this.Y, W : oContent.size.width, H : oContent.size.height};
......
...@@ -8376,11 +8376,6 @@ Paragraph.prototype = ...@@ -8376,11 +8376,6 @@ Paragraph.prototype =
editor.sync_HyperlinkPropCallback( HyperProps ); editor.sync_HyperlinkPropCallback( HyperProps );
} }
if (null !== Math)
this.Parent.DrawingDocument.Update_MathTrack(true, Math, Math.X, Math.Y, Math.Width, Math.Height, this.CurPos.PagesPos + this.Get_StartPage_Absolute());
else
this.Parent.DrawingDocument.Update_MathTrack(false);
}, },
// Функция, которую нужно вызвать перед удалением данного элемента // Функция, которую нужно вызвать перед удалением данного элемента
......
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