Commit f4918ff7 authored by Sergey Luzyanin's avatar Sergey Luzyanin

fix bug 33682

parent 3ee265de
......@@ -2615,7 +2615,16 @@ var editor;
// Получить координаты активной ячейки
spreadsheet_api.prototype.asc_getActiveCellCoord = function() {
return this.wb.getWorksheet().getActiveCellCoord();
var oWorksheet = this.wb.getWorksheet();
if(oWorksheet){
if(oWorksheet.isSelectOnShape){
return oWorksheet.objectRender.getContextMenuPosition();
}
else{
return oWorksheet.getActiveCellCoord();
}
}
};
// Получить координаты для каких-либо действий (для общей схемы)
......
......@@ -1938,6 +1938,25 @@ function DrawingObjects() {
return new Asc.Range(cmin, rmin, cmax, rmax, true);
};
_this.getContextMenuPosition = function(){
if(!worksheet){
return new AscCommon.asc_CRect( 0, 0, 5, 5 );
}
var oPos = this.controller.getContextMenuPosition(0);
var _x = oPos.X * Asc.getCvtRatio(3, 0, worksheet._getPPIX()) + scrollOffset.getX();
var _y = oPos.Y * Asc.getCvtRatio(3, 0, worksheet._getPPIY()) + scrollOffset.getY();
var firstCol = worksheet.cols[worksheet.getFirstVisibleCol(true)];
var firstRow = worksheet.rows[worksheet.getFirstVisibleRow(true)];
if(!firstCol || !firstRow){
return new AscCommon.asc_CRect( 0, 0, 5, 5 );
}
return new AscCommon.asc_CRect(_x, _y, 0, 0 );
};
_this.recalculate = function(all)
{
_this.controller.recalculate2(all);
......
......@@ -1234,48 +1234,15 @@ DrawingObjectsController.prototype =
getFromTargetTextObjectContextMenuPosition: function(oTargetTextObject, pageIndex)
{
var dX, dY, oDocContent, oTransformText, oParagraph, document = editor.WordControl.m_oLogicDocument, dPosX = 0, dPosY = 0;
if(oTargetTextObject.getObjectType() === AscDFH.historyitem_type_Shape || oTargetTextObject.getObjectType() === AscDFH.historyitem_type_Title)
{
dPosX = document.TargetPos.X;
dPosY = document.TargetPos.Y;
oTransformText = oTargetTextObject.transformText;
return {X: oTransformText.TransformPointX(dPosX, dPosY), Y: oTransformText.TransformPointY(dPosX, dPosY), PageIndex: document.TargetPos.PageNum};
}
else if(oTargetTextObject.getObjectType() === AscDFH.historyitem_type_GraphicFrame)
{
var Doc = oTargetTextObject.graphicObject;
oTransformText = oTargetTextObject.transform;
if ( true === Doc.Is_SelectionUse() && !Doc.Selection_IsEmpty())
{
switch( Doc.Selection.Type )
{
case table_Selection_Cell:
{
var oCellInfo = Doc.CurCell.Row.Get_CellInfo(Doc.CurCell.Index);
var oCellMargins = Doc.CurCell.Get_Margins();
dPosX = oCellInfo.X_content_start;
dPosY = Doc.RowsInfo[Doc.CurCell.Row.Index].Y[0] + Doc.RowsInfo[Doc.CurCell.Row.Index].TopDy[0] + oCellMargins.Top.W + Doc.CurCell.Temp.Y_VAlign_offset[0];
dX = oTransformText.TransformPointX(dPosX, dPosY);
dY = oTransformText.TransformPointY(dPosX, dPosY);
return {X: dX, Y: dY, PageIndex: this.selectedObjects[0].selectStartPage};
}
case table_Selection_Text:
{
dPosX = document.TargetPos.X;
dPosY = document.TargetPos.Y;
oTransformText = oTargetTextObject.transformText;
return {X: oTransformText.TransformPointX(dPosX, dPosY), Y: oTransformText.TransformPointY(dPosX, dPosY), PageIndex: document.TargetPos.PageNum};
}
}
}
else
{
dPosX = document.TargetPos.X;
dPosY = document.TargetPos.Y;
oTransformText = oTargetTextObject.transformText;
return {X: oTransformText.TransformPointX(dPosX, dPosY), Y: oTransformText.TransformPointY(dPosX, dPosY), PageIndex: document.TargetPos.PageNum};
}
var oTransformText = oTargetTextObject.transformText;
var oTargetObjectOrTable = this.getTargetDocContent(false, true);
if(oTargetTextObject && oTargetObjectOrTable && oTargetObjectOrTable.Cursor_GetPos && oTransformText){
var oPos = oTargetObjectOrTable.Cursor_GetPos();
return {
X: oTransformText.TransformPointX(oPos.X, oPos.Y),
Y: oTransformText.TransformPointY(oPos.X, oPos.Y),
PageIndex: pageIndex
};
}
return {X: 0, Y: 0, PageIndex: pageIndex};
},
......
......@@ -3263,7 +3263,7 @@ CGraphicObjects.prototype =
getLeftTopSelectedObjectByPage: function(pageIndex)
{
var oDrawingPage, oRes;
if(this.document.Get_DocPosType(docpostype_HdrFtr))
if(this.document.Get_DocPosType() === docpostype_HdrFtr)
{
if(this.graphicPages[pageIndex])
{
......
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