Commit 7599a9da authored by Oleg.Korshul's avatar Oleg.Korshul Committed by Alexander Trofimov
parent 6cd751f7
......@@ -229890,6 +229890,18 @@ CDocument.prototype.private_ProcessTemplateReplacement = function(TemplateReplac
this.SearchEngine.Replace_All(TemplateReplacementData[Id], false);
}
};
CDocument.prototype.Start_SilentMode = function()
{
this.TurnOff_Recalculate();
this.TurnOff_InterfaceEvents();
this.TurnOff_RecalculateCurPos();
};
CDocument.prototype.End_SilentMode = function(bUpdate)
{
this.TurnOn_Recalculate(bUpdate);
this.TurnOn_RecalculateCurPos(bUpdate);
this.TurnOn_InterfaceEvents(bUpdate);
};
//-----------------------------------------------------------------------------------
//
......@@ -352481,6 +352493,43 @@ asc_docs_api.prototype.AddImageUrlAction = function(url, imgProp)
}
}
};
/*
Добавляем картинку на заданную страницу. Преполагаем, что картинка уже доступна по ссылке.
*/
asc_docs_api.prototype.AddImageToPage = function(sUrl, nPageIndex, dX, dY, dW, dH)
{
var LogicDocument = this.WordControl.m_oLogicDocument;
var oldClickCount = global_mouseEvent.ClickCount;
global_mouseEvent.Button = 0;
global_mouseEvent.ClickCount = 1;
LogicDocument.OnMouseDown(global_mouseEvent, dX, dY, nPageIndex);
LogicDocument.OnMouseUp (global_mouseEvent, dX, dY, nPageIndex);
LogicDocument.OnMouseMove(global_mouseEvent, dX, dY, nPageIndex);
global_mouseEvent.ClickCount = oldClickCount;
if (false === LogicDocument.Document_Is_SelectionLocked(changestype_Paragraph_Content))
{
var oPosH = new CImagePositionH();
oPosH.put_RelativeFrom(c_oAscRelativeFromH.Page);
oPosH.put_Align(false);
oPosH.put_Value(dX);
var oPosV = new CImagePositionV();
oPosV.put_RelativeFrom(c_oAscRelativeFromV.Page);
oPosV.put_Align(false);
oPosV.put_Value(dY);
var oImageProps = new asc_CImgProperty();
oImageProps.put_WrappingStyle(c_oAscWrapStyle2.Square);
oImageProps.put_PositionH(oPosH);
oImageProps.put_PositionV(oPosV);
LogicDocument.Create_NewHistoryPoint();
LogicDocument.Start_SilentMode();
LogicDocument.Add_InlineImage(dW, dH, sUrl);
LogicDocument.Set_ImageProps(oImageProps);
LogicDocument.End_SilentMode(true);
}
};
/* В качестве параметра передается объект класса CImgProperty, он же приходит на OnImgProp
CImgProperty заменяет пережнюю структуру:
если параметр не имеет значения то передвать следует null, напримере inline-картинок: в качестве left,top,bottom,right,X,Y,ImageUrl необходимо передавать null.
......@@ -364205,8 +364254,9 @@ asc_docs_api.prototype["Call_Menu_Event"] = function(type, _params)
var _src = _params[_current.pos++];
var _w = _params[_current.pos++];
var _h = _params[_current.pos++];
var _pageNum = _params[_current.pos++];
this.AddImageUrlNative(_src, _w, _h);
this.AddImageUrlNative(_src, _w, _h, _pageNum);
break;
}
case 53: // ASC_MENU_EVENT_TYPE_INSERT_SHAPE
......@@ -364216,11 +364266,14 @@ asc_docs_api.prototype["Call_Menu_Event"] = function(type, _params)
var _pageNum = _shapeProp.InsertPageNum;
// получаем размеры страницы
var _sectionPr = this.WordControl.m_oLogicDocument.Get_PageLimits(_pageNum);
var _min = Math.min(_sectionPr.XLimit / 2, _sectionPr.YLimit / 2);
this.WordControl.m_oLogicDocument.DrawingObjects.addShapeOnPage(_shapeProp.type, _pageNum,
_sectionPr.X + _sectionPr.XLimit / 4,
_sectionPr.Y + _sectionPr.YLimit / 4,
_sectionPr.XLimit / 2,
_sectionPr.YLimit / 2);
_min,
_min);
//this.StartAddShape(_shapeProp.type, true);
break;
}
......@@ -366874,7 +366927,7 @@ asc_docs_api.prototype.StartAddShape = function(sPreset, is_apply)
}
};
asc_docs_api.prototype.AddImageUrlNative = function(url, _w, _h)
asc_docs_api.prototype.AddImageUrlNative = function(url, _w, _h, _pageNum)
{
var _section_select = this.WordControl.m_oLogicDocument.Get_PageSizesByDrawingObjects();
var _page_width = Page_Width;
......@@ -366904,7 +366957,15 @@ asc_docs_api.prototype.AddImageUrlNative = function(url, _w, _h)
this.WordControl.m_oLogicDocument.Create_NewHistoryPoint();
this.WordControl.m_oLogicDocument.Add_InlineImage(wI, hI, url);
if (undefined === _pageNum)
{
this.WordControl.m_oLogicDocument.Add_InlineImage(wI, hI, url);
}
else
{
var _sectionPr = this.WordControl.m_oLogicDocument.Get_PageLimits(_pageNum);
this.AddImageToPage(url, _pageNum, (_sectionPr.XLimit - wI) / 2, (_sectionPr.YLimit - hI) / 2, wI, hI);
}
};
asc_docs_api.prototype.Send_Menu_Event = function(type)
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