Commit 11870951 authored by Ilya Kirillov's avatar Ilya Kirillov

Fixed bug #34220.

parent 75d9147f
...@@ -4984,7 +4984,7 @@ CDocument.prototype.Selection_SetStart = function(X, Y, MouseEvent) ...@@ -4984,7 +4984,7 @@ CDocument.prototype.Selection_SetStart = function(X, Y, MouseEvent)
var bInText = (null === this.Is_InText(X, Y, this.CurPage) ? false : true); var bInText = (null === this.Is_InText(X, Y, this.CurPage) ? false : true);
var bTableBorder = (null === this.Is_TableBorder(X, Y, this.CurPage) ? false : true); var bTableBorder = (null === this.Is_TableBorder(X, Y, this.CurPage) ? false : true);
var nInDrawing = this.DrawingObjects.isPointInDrawingObjects(X, Y, this.CurPage, this); var nInDrawing = this.DrawingObjects.isPointInDrawingObjects(X, Y, this.CurPage, this);
var bFlowTable = (null === this.DrawingObjects.getTableByXY(X, Y, this.CurPage, this) ? false : true); var bFlowTable = (null === this.DrawingObjects.getTableByXY(X, Y, this.CurPage, this) ? false : true);
// Сначала посмотрим, попалили мы в текстовый селект (но при этом не в границу таблицы и не более чем одинарным кликом) // Сначала посмотрим, попалили мы в текстовый селект (но при этом не в границу таблицы и не более чем одинарным кликом)
if (-1 !== this.Selection.DragDrop.Flag && MouseEvent.ClickCount <= 1 && false === bTableBorder && if (-1 !== this.Selection.DragDrop.Flag && MouseEvent.ClickCount <= 1 && false === bTableBorder &&
......
...@@ -331,6 +331,10 @@ CDocumentContent.prototype.Is_PointInDrawingObjects = function(X, Y, Page ...@@ -331,6 +331,10 @@ CDocumentContent.prototype.Is_PointInDrawingObjects = function(X, Y, Page
{ {
return this.LogicDocument && this.LogicDocument.DrawingObjects.pointInObjInDocContent(this, X, Y, Page_Abs); return this.LogicDocument && this.LogicDocument.DrawingObjects.pointInObjInDocContent(this, X, Y, Page_Abs);
}; };
CDocumentContent.prototype.Is_PointInFlowTable = function(X, Y, PageAbs)
{
return this.LogicDocument && null !== this.LogicDocument.DrawingObjects.getTableByXY(X, Y, PageAbs, this);
};
CDocumentContent.prototype.Get_Numbering = function() CDocumentContent.prototype.Get_Numbering = function()
{ {
return this.Parent.Get_Numbering(); return this.Parent.Get_Numbering();
......
...@@ -415,6 +415,11 @@ CHeaderFooter.prototype = ...@@ -415,6 +415,11 @@ CHeaderFooter.prototype =
return this.Content.Is_PointInDrawingObjects( X, Y, this.Content.Get_StartPage_Absolute() ); return this.Content.Is_PointInDrawingObjects( X, Y, this.Content.Get_StartPage_Absolute() );
}, },
Is_PointInFlowTable : function(X, Y)
{
return this.Content.Is_PointInFlowTable(X, Y, this.Content.Get_StartPage_Absolute());
},
CheckRange : function(X0, Y0, X1, Y1, _Y0, _Y1, X_lf, X_rf, bMathWrap) CheckRange : function(X0, Y0, X1, Y1, _Y0, _Y1, X_lf, X_rf, bMathWrap)
{ {
return this.Content.CheckRange( X0, Y0, X1, Y1, _Y0, _Y1, X_lf, X_rf, 0, false, bMathWrap ); return this.Content.CheckRange( X0, Y0, X1, Y1, _Y0, _Y1, X_lf, X_rf, 0, false, bMathWrap );
...@@ -2091,9 +2096,15 @@ CHeaderFooterController.prototype = ...@@ -2091,9 +2096,15 @@ CHeaderFooterController.prototype =
Selection_SetStart : function(X,Y, PageIndex, MouseEvent, bActivate) Selection_SetStart : function(X,Y, PageIndex, MouseEvent, bActivate)
{ {
// Если мы попадаем в заселекченную автофигуру, пусть она даже выходит за пределы var TempHdrFtr = null;
if ( true === this.LogicDocument.DrawingObjects.pointInSelectedObject(X, Y, PageIndex) ) // Если мы попадаем в заселекченную автофигуру, пусть она даже выходит за пределы
{ if (true === this.LogicDocument.DrawingObjects.pointInSelectedObject(X, Y, PageIndex)
|| (null !== (TempHdrFtr = this.Pages[PageIndex].Header) && true === TempHdrFtr.Is_PointInFlowTable(X, Y))
|| (null !== (TempHdrFtr = this.Pages[PageIndex].Footer) && true === TempHdrFtr.Is_PointInFlowTable(X, Y)))
{
if (null !== TempHdrFtr)
this.CurHdrFtr = TempHdrFtr;
var NewPos = this.DrawingDocument.ConvertCoordsToAnotherPage(X, Y, PageIndex, this.CurPage); var NewPos = this.DrawingDocument.ConvertCoordsToAnotherPage(X, Y, PageIndex, this.CurPage);
var _X = NewPos.X; var _X = NewPos.X;
var _Y = NewPos.Y; var _Y = NewPos.Y;
...@@ -2112,7 +2123,6 @@ CHeaderFooterController.prototype = ...@@ -2112,7 +2123,6 @@ CHeaderFooterController.prototype =
// Сначала проверяем, не попали ли мы в контент документа. Если да, тогда надо // Сначала проверяем, не попали ли мы в контент документа. Если да, тогда надо
// активировать работу с самим документом (просто вернуть false здесь) // активировать работу с самим документом (просто вернуть false здесь)
var TempHdrFtr = null;
var PageMetrics = this.LogicDocument.Get_PageContentStartPos( PageIndex ); var PageMetrics = this.LogicDocument.Get_PageContentStartPos( PageIndex );
if ( MouseEvent.ClickCount >= 2 && true != editor.isStartAddShape && if ( MouseEvent.ClickCount >= 2 && true != editor.isStartAddShape &&
......
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