Commit 9be33293 authored by Ilya.Kirillov's avatar Ilya.Kirillov Committed by Alexander.Trofimov

Доработка Drag-drop текста в автофигурах.

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@52070 954022d7-b5bf-4e40-9824-e11837661b57
parent a215a774
...@@ -6972,7 +6972,7 @@ CDocument.prototype = ...@@ -6972,7 +6972,7 @@ CDocument.prototype =
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 ( MouseEvent.ClickCount <= 1 && false === bTableBorder && true === this.Selection_Check( X, Y, this.CurPage, undefined ) ) if ( MouseEvent.ClickCount <= 1 && false === bTableBorder && ( nInDrawing < 0 || ( nInDrawing === DRAWING_ARRAY_TYPE_BEHIND && true === bInText ) ) && false === bFlowTable && true === this.Selection_Check( X, Y, this.CurPage, undefined ) )
{ {
// Начинаем передвижение текста // Начинаем передвижение текста
this.DrawingDocument.StartTrackText(); this.DrawingDocument.StartTrackText();
...@@ -7565,18 +7565,14 @@ CDocument.prototype = ...@@ -7565,18 +7565,14 @@ CDocument.prototype =
// Если надо удаляем выделенную часть // Если надо удаляем выделенную часть
if ( true !== bCopy ) if ( true !== bCopy )
{
this.Remove(1, false, false, false); this.Remove(1, false, false, false);
}
else this.Selection_Remove();
this.Selection_Remove();
// Выделение выставляется внутри функции Insert_Content // Выделение выставляется внутри функции Insert_Content
if ( undefined != Para.Parent ) if ( undefined != Para.Parent )
{ {
Para.Parent.Insert_Content( DocContent, NearPos ); Para.Parent.Insert_Content( DocContent, NearPos );
//Para.Parent.
this.Recalculate(); this.Recalculate();
...@@ -7748,6 +7744,8 @@ CDocument.prototype = ...@@ -7748,6 +7744,8 @@ CDocument.prototype =
this.Selection.StartPos = DstIndex; this.Selection.StartPos = DstIndex;
this.Selection.EndPos = DstIndex + ElementsCount - 1; this.Selection.EndPos = DstIndex + ElementsCount - 1;
} }
this.CurPos.Type = docpostype_Content;
}, },
Document_SelectNumbering : function(NumPr) Document_SelectNumbering : function(NumPr)
......
...@@ -3176,7 +3176,7 @@ CGraphicObjects.prototype = ...@@ -3176,7 +3176,7 @@ CGraphicObjects.prototype =
return null; return null;
}, },
selectionCheck: function( X, Y, Page_Abs ) selectionCheck: function( X, Y, Page_Abs, NearPos )
{ {
switch (this.curState.id) switch (this.curState.id)
{ {
...@@ -3185,7 +3185,7 @@ CGraphicObjects.prototype = ...@@ -3185,7 +3185,7 @@ CGraphicObjects.prototype =
var textObject = this.curState.textObject; var textObject = this.curState.textObject;
if(isRealObject(textObject) && isRealObject(textObject.GraphicObj) && typeof textObject.GraphicObj.selectionCheck === "function") if(isRealObject(textObject) && isRealObject(textObject.GraphicObj) && typeof textObject.GraphicObj.selectionCheck === "function")
{ {
return textObject.GraphicObj.selectionCheck(X, Y, Page_Abs); return textObject.GraphicObj.selectionCheck(X, Y, Page_Abs, NearPos);
} }
break; break;
} }
...@@ -3194,7 +3194,7 @@ CGraphicObjects.prototype = ...@@ -3194,7 +3194,7 @@ CGraphicObjects.prototype =
textObject = this.curState.textObject; textObject = this.curState.textObject;
if(isRealObject(textObject) && typeof textObject.selectionCheck === "function") if(isRealObject(textObject) && typeof textObject.selectionCheck === "function")
{ {
return textObject.selectionCheck(X, Y, Page_Abs); return textObject.selectionCheck(X, Y, Page_Abs, NearPos);
} }
break; break;
} }
......
...@@ -3800,16 +3800,16 @@ WordShape.prototype = ...@@ -3800,16 +3800,16 @@ WordShape.prototype =
this.textBoxContent.Remove(Count, bOnlyText, bRemoveOnlySelection); this.textBoxContent.Remove(Count, bOnlyText, bRemoveOnlySelection);
}, },
selectionCheck: function(x, y, pageAbs) selectionCheck: function(x, y, pageAbs, NearPos)
{ {
if(this.textBoxContent && this.transformText) if(this.textBoxContent && this.transformText)
{ {
if(!this.hitToTextRect(x, y)) if( undefined === NearPos && !this.hitToTextRect(x, y) )
return false; return false;
var t = global_MatrixTransformer.Invert(this.transformText); var t = global_MatrixTransformer.Invert(this.transformText);
var t_x = t.TransformPointX(x, y); var t_x = t.TransformPointX(x, y);
var t_y = t.TransformPointY(x, y); var t_y = t.TransformPointY(x, y);
return this.textBoxContent.Selection_Check(t_x, t_y, pageAbs); return this.textBoxContent.Selection_Check(t_x, t_y, pageAbs, NearPos);
} }
return false; return false;
}, },
...@@ -4022,6 +4022,7 @@ WordShape.prototype = ...@@ -4022,6 +4022,7 @@ WordShape.prototype =
} }
else /*if(this.parent.elementsManipulator.Document.CurPos.Type == docpostype_FlowObjects ) */ else /*if(this.parent.elementsManipulator.Document.CurPos.Type == docpostype_FlowObjects ) */
{ {
this.document.RecalculateCurPos();
this.document.DrawingDocument.UpdateTargetTransform(this.transformText); this.document.DrawingDocument.UpdateTargetTransform(this.transformText);
this.document.DrawingDocument.TargetShow(); this.document.DrawingDocument.TargetShow();
this.document.DrawingDocument.SelectEnabled(false); this.document.DrawingDocument.SelectEnabled(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