Commit 08b13508 authored by Anna.Pavlova's avatar Anna.Pavlova

1. убрала текстовые настройки для отрисовки мат объектов (вместо этого запрос ctrPrp) для "чтения"

2. переделала remove_internal для удаления объектов


git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@51899 954022d7-b5bf-4e40-9824-e11837661b57
parent b1c0aac9
......@@ -17,6 +17,7 @@
function CCircumflex()
{
//this.incline = 0;
this.Parent = null;
this.turn = TURN_0;
}
CCircumflex.prototype.setTurn = function(turn)
......@@ -25,7 +26,7 @@ CCircumflex.prototype.setTurn = function(turn)
}
CCircumflex.prototype.fixSize = function(mesure, bIncl)
{
var alpha = this.txtPrp.FontSize/36;
var alpha = this.Parent.getCtrPrp().FontSize/36;
var width = 3.88*alpha;
var height = 3.175*alpha;
......@@ -77,9 +78,9 @@ CCircumflex.prototype.draw = function(pGraphics)
var x = this.pos.x,
y = this.pos.y;
var fontSize = this.txtPrp.FontSize;
var fontSize = this.Parent.getCtrPrp().FontSize;
var penW = fontSize*g_dKoef_pt_to_mm*this.PEN_W;
penW *= 96/25.4;
// g_dKoef_px_to_mm = 25.4/96
......@@ -173,23 +174,24 @@ CCircumflex.prototype.draw = function(pGraphics)
pGraphics.SetIntegerGrid(intGrid);
}
CCircumflex.prototype.setTxtPrp = function(txtPrp)
{
this.txtPrp = txtPrp;
}
CCircumflex.prototype.setPosition = function(pos)
{
this.pos = pos;
}
CCircumflex.prototype.relate = function(parent)
{
this.Parent = parent;
}
function CLine()
{
this.PEN_W = 0.04;
this.Parent = null;
}
CLine.prototype.fixSize = function(measure)
{
var alpha = this.txtPrp.FontSize/36;
var alpha = this.Parent.getCtrPrp().FontSize/36;
var height = 1.68*alpha;
var width = 4.938*alpha;
......@@ -200,7 +202,8 @@ CLine.prototype.fixSize = function(measure)
}
CLine.prototype.draw = function(pGraphics)
{
var penW = this.txtPrp.FontSize*g_dKoef_pt_to_mm*this.PEN_W;
var fontSize = this.Parent.getCtrPrp().FontSize;
var penW = fontSize*g_dKoef_pt_to_mm*this.PEN_W;
//penW *= 96/25.4;
//var penY = penW/2*25.4/96; //для того чтобы линии совпадали (для одинарной и двойной черты)
......@@ -227,18 +230,19 @@ CLine.prototype.setPosition = function(pos)
{
this.pos = pos;
}
CLine.prototype.setTxtPrp = function(txtPrp)
CLine.prototype.relate = function(parent)
{
this.txtPrp = txtPrp;
this.Parent = parent;
}
function CDoubleLine()
{
this.PEN_W = 0.04;
this.Parent = null;
}
CDoubleLine.prototype.fixSize = function(measure)
{
var alpha = this.txtPrp.FontSize/36;
var alpha = this.Parent.getCtrPrp().FontSize/36;
var height = 2.843*alpha;
var width = 4.938*alpha;
......@@ -251,13 +255,10 @@ CDoubleLine.prototype.setPosition = function(pos)
{
this.pos = pos;
}
CDoubleLine.prototype.setTxtPrp = function(txtPrp)
{
this.txtPrp = txtPrp;
}
CDoubleLine.prototype.draw = function(pGraphics)
{
var penW = this.txtPrp.FontSize*g_dKoef_pt_to_mm*this.PEN_W;
var fontSize = this.Parent.getCtrPrp().FontSize;
var penW = fontSize*g_dKoef_pt_to_mm*this.PEN_W;
//penW *= 96/25.4;
//var penY = penW/2*25.4/96; //для того чтобы линии совпадали (для одинарной и двойной черты)
......@@ -282,13 +283,17 @@ CDoubleLine.prototype.draw = function(pGraphics)
pGraphics.ds();
}
CDoubleLine.prototype.relate = function(parent)
{
this.Parent = parent;
}
function CTilde()
{
}
CTilde.prototype.fixSize = function()
{
var betta = this.txtPrp.FontSize/36;
var betta = this.Parent.getCtrPrp().FontSize/36;
var width = 9.047509765625*betta; // реальная на отрисовке width 7.495282031249999
var height = 2.469444444444444*betta;
......@@ -332,8 +337,7 @@ CTilde.prototype.draw = function(pGraphics)
var XX = new Array(),
YY = new Array();
var fontSize = this.txtPrp.FontSize;
var fontSize = this.Parent.getCtrPrp().FontSize;
var textScale = fontSize/1000, // 1000 pt
alpha = textScale*25.4/96 /64 ; // g_dKoef_px_to_mm = 25.4/96
......@@ -383,9 +387,9 @@ CTilde.prototype.setPosition = function(pos)
{
this.pos = pos;
}
CTilde.prototype.setTxtPrp = function(txtPrp)
CTilde.prototype.relate = function(parent)
{
this.txtPrp = txtPrp;
this.Parent = parent;
}
function CBreve()
......@@ -398,7 +402,7 @@ CBreve.prototype.setTurn = function(tturn)
}
CBreve.prototype.fixSize = function()
{
var betta = this.txtPrp.FontSize/36;
var betta = this.Parent.getCtrPrp().FontSize/36;
var width = 4.2333333333333325*betta;
var height = 2.469444444444445*betta;
......@@ -442,8 +446,7 @@ CBreve.prototype.draw = function(pGraphics)
var XX = new Array(),
YY = new Array();
var fontSize = this.txtPrp.FontSize;
var fontSize = this.Parent.getCtrPrp().FontSize;
var textScale = fontSize/1000, // 1000 pt
alpha = textScale*25.4/96 /64 ; // g_dKoef_px_to_mm = 25.4/96
......@@ -500,15 +503,16 @@ CBreve.prototype.draw = function(pGraphics)
pGraphics.SetIntegerGrid(intGrid);
}
CBreve.prototype.setTxtPrp = function(txtPrp)
CBreve.prototype.relate = function(parent)
{
this.txtPrp = txtPrp;
this.Parent = parent;
}
function CSign()
{
this.sign = new CMathText();
this.type = null;
this.Parent = null;
}
CSign.prototype.setSign = function(props)
{
......@@ -575,7 +579,7 @@ CSign.prototype.fixSize = function(bIncline)
{
this.sign.recalculateSize();
this.dH = 0.7*this.txtPrp.FontSize/36;
this.dH = 0.7*this.Parent.getCtrPrp().FontSize/36;
var height = this.sign.size.height + this.dH,
width = this.sign.size.widthG;
......@@ -589,10 +593,9 @@ CSign.prototype.draw = function(pGraphics)
{
this.sign.draw(pGraphics);
}
CSign.prototype.setTxtPrp = function(txtPrp)
CSign.prototype.relate = function(parent)
{
this.txtPrp = txtPrp;
//this.sign.setTxtPrp(txtPrp);
this.Parent = parent;
}
function old_CAccent()
......@@ -1083,7 +1086,4 @@ CAccent.prototype.getCenter = function()
CAccent.prototype.getProps = function()
{
var prps = {};
}
......@@ -80,6 +80,9 @@ CMathBase.prototype =
this.alignment.wdt[u] = CENTER;
},
///////// RunPrp, CtrPrp
setCtrPrp: function(runPrp)
{
this.CtrPrp.Merge(runPrp); // only runPrp for paragraph
......@@ -89,9 +92,19 @@ CMathBase.prototype =
var ctrPrp = new CTextPr();
ctrPrp.Merge(DEFAULT_RUN_PRP);
ctrPrp.Merge(this.CtrPrp);
ctrPrp.Merge(this.Composition.GetFirstPrp() );
return ctrPrp;
},
getCtrPrp_2: function()
{
var ctrPrp = new CTextPr();
ctrPrp.Merge(DEFAULT_RUN_PRP);
ctrPrp.Merge(this.CtrPrp);
return ctrPrp;
},
getPrpToControlLetter: function()
// getPrpToControlLetter => getCtrPrp
old_getPrpToControlLetter: function()
{
var rPrp = new CTextPr();
//rPrp.Merge(DEFAULT_RUN_PRP);
......@@ -100,6 +113,18 @@ CMathBase.prototype =
return rPrp;
},
addRPrp: function(rPrp)
{
for(var i=0; i < this.nRow; i++)
for(var j = 0; j < this.nCol; j++)
{
if( !this.elements[i][j].IsJustDraw())
this.elements[i][j].addRPrp(rPrp);
}
},
/////////
setComposition: function(composition)
{
this.Composition = composition;
......
......@@ -53,8 +53,7 @@ CBorderBox.prototype.recalculateSize = function()
var height = ss.height;
var center = ss.center;
//this.gapBrd = this.getTxtPrp().FontSize*0.08104587131076388;
this.gapBrd = this.getPrpToControlLetter().FontSize*0.08104587131076388;
this.gapBrd = this.getCtrPrp().FontSize*0.08104587131076388;
if(this.bTop)
{
......@@ -74,9 +73,7 @@ CBorderBox.prototype.recalculateSize = function()
CBorderBox.prototype.draw = function(pGraphics)
{
this.elements[0][0].draw(pGraphics);
//var penW = this.getTxtPrp().FontSize* 25.4/96 * 0.08 ;
var penW = this.getPrpToControlLetter().FontSize* 25.4/96 * 0.08 ;
var penW = this.getCtrPrp().FontSize* 25.4/96 * 0.08 ;
if(this.bTop)
{
......
......@@ -51,6 +51,9 @@ function CDocInfo (obj){
if (typeof obj.UserName != 'undefined'){
this.UserName = obj.UserName;
}
if (typeof obj.Options != 'undefined'){
this.Options = obj.Options;
}
if (obj.OfflineApp === true)
this.OfflineApp = true;
}
......@@ -62,6 +65,7 @@ function CDocInfo (obj){
this.VKey = null;
this.UserId = null;
this.UserName = null;
this.Options = null;
}
}
CDocInfo.prototype.get_Id = function(){return this.Id}
......@@ -80,6 +84,8 @@ CDocInfo.prototype.get_UserId = function(){return this.UserId;}
CDocInfo.prototype.put_UserId = function(v){this.UserId = v;}
CDocInfo.prototype.get_UserName = function(){return this.UserName;}
CDocInfo.prototype.put_UserName = function(v){this.UserName = v;}
CDocInfo.prototype.get_Options = function(){return this.Options;}
CDocInfo.prototype.put_Options = function(v){this.Options = v;}
function CListType(obj)
{
......@@ -449,6 +455,7 @@ CStylesPainter.prototype.get_DocStylesImage = function() { return this.docStyles
CStylesPainter.prototype.get_MergedStyles = function() { return this.mergedStyles; }
CStylesPainter.prototype.get_STYLE_THUMBNAIL_WIDTH = function() { return this.STYLE_THUMBNAIL_WIDTH; }
CStylesPainter.prototype.get_STYLE_THUMBNAIL_HEIGHT = function() { return this.STYLE_THUMBNAIL_HEIGHT; }
CStylesPainter.prototype.get_IsRetinaEnabled = function() { return this.IsRetinaEnabled; }
CStyleImage.prototype.get_ThumbnailOffset = function() { return this.ThumbnailOffset; }
CStyleImage.prototype.get_Type = function() { return this.Type; }
......@@ -461,7 +468,7 @@ CFont.prototype.asc_getFontType = function() { return this.type; }
var DocumentPageSize = new function() {
this.oSizes = [{name:"US Letter", w_mm: 215.9, h_mm: 279.4, w_tw: 12240, h_tw: 15840},
{name:"US Letter", w_mm: 215.9, h_mm: 355.6, w_tw: 12240, h_tw: 20160},
{name:"US Legal", w_mm: 215.9, h_mm: 355.6, w_tw: 12240, h_tw: 20160},
{name:"A4", w_mm: 210, h_mm: 297, w_tw: 11907, h_tw: 16839},
{name:"A5", w_mm: 148.1, h_mm: 209.9, w_tw: 8391, h_tw: 11907},
{name:"B5", w_mm: 176, h_mm: 250.1, w_tw: 9979, h_tw: 14175},
......@@ -495,6 +502,9 @@ var DocumentPageSize = new function() {
function asc_docs_api(name)
{
History = new CHistory();
g_oTableId = new CTableId();
/************ private!!! **************/
this.HtmlElementName = name;
......@@ -529,11 +539,13 @@ function asc_docs_api(name)
this.isStartAddShape = false;
this.addShapePreset = "";
this.isShowTableEmptyLine = true;
this.isShowTableEmptyLineAttack = false;
// CoAuthoring and Chat
this.User = undefined;
this.CoAuthoringApi = new CDocsCoApi();
this.isCoAuthoringEnable = true;
this.isCoMarksDraw = false;
// Spell Checking
this.SpellCheckApi = new CSpellCheckApi();
......@@ -541,6 +553,9 @@ function asc_docs_api(name)
// Chart
this.chartTranslate = new asc_CChartTranslate();
// это чтобы сразу показать ридер, без возможности вернуться в редактор/вьюер
this.isOnlyReaderMode = false;
/**************************************/
......@@ -582,6 +597,8 @@ function asc_docs_api(name)
this.SelectedObjectsStack = new Array();
this.noCreatePoint = false;
this.OpenDocumentProgress = new CDocOpenProgress();
this._lastConvertProgress = 0;
......@@ -604,12 +621,70 @@ function asc_docs_api(name)
this.chartPreviewManager = new ChartPreviewManager();
this.IsLongActionCurrent = false;
this.ParcedDocument = false;
this.isStartCoAuthoringOnEndLoad = false; // Подсоединились раньше, чем документ загрузился
this.TrackFile = null;
var oThis = this;
if(window.addEventListener)
window.addEventListener("message", function(){
oThis.OnHandleMessage.apply(oThis, arguments);
}, false);
if ("undefined" != typeof(FileReader) && "undefined" != typeof(FormData)) {
//var element = document.body;
var element = document.getElementById(this.HtmlElementName);
if(null != element)
{
element["ondragover"] = function(e) {
e.preventDefault();
if(CanDropFiles(e))
e.dataTransfer.dropEffect = 'copy';
else
e.dataTransfer.dropEffect = 'none';
return false;
};
element["ondrop"] = function(e) {
e.preventDefault();
var files = e.dataTransfer.files;
var nError = ValidateUploadImage(files);
if(c_oAscServerError.NoError == nError)
{
oThis.sync_StartAction(c_oAscAsyncActionType.BlockInteraction, c_oAscAsyncAction.UploadImage);
var file = files[0];
var xhr = new XMLHttpRequest();
var fd = new FormData();
fd.append('file', file);
xhr.open('POST', g_sUploadServiceLocalUrl+'?key='+documentId);
xhr.onreadystatechange = function(){
if(4 == this.readyState)
{
if((this.status == 200 || this.status == 1223))
{
var frameWindow = GetUploadIFrame();
var content = this.responseText;
frameWindow.document.open();
frameWindow.document.write(content);
frameWindow.document.close();
}
else
oThis.asc_fireCallback("asc_onError",c_oAscError.ID.Unknown,c_oAscError.Level.NoCritical);
oThis.sync_EndAction(c_oAscAsyncActionType.BlockInteraction, c_oAscAsyncAction.UploadImage);
}
};
xhr.send(fd);
}
else
oThis.asc_fireCallback("asc_onError",_mapAscServerErrorToAscError(nError),c_oAscError.Level.NoCritical);
};
}
}
if (window.editor == undefined)
{
window.editor = this;
window['editor'] = window.editor;
}
}
asc_docs_api.prototype.LoadFontsFromServer = function(_fonts)
......@@ -663,6 +738,10 @@ asc_docs_api.prototype.SetUnchangedDocument = function()
asc_docs_api.prototype.isDocumentModified = function()
{
if (!this.canSave) {
// Пока идет сохранение, мы не закрываем документ
return true;
}
return this.isDocumentModify;
}
......@@ -673,6 +752,28 @@ asc_docs_api.prototype.sync_BeginCatchSelectedElements = function()
}
asc_docs_api.prototype.sync_EndCatchSelectedElements = function()
{
if ( !this.chartStyleManager.isReady() || !this.chartPreviewManager.isReady() )
{
for ( var i = 0; i < this.SelectedObjectsStack.length; i++ )
{
if ( this.SelectedObjectsStack[i].Value.ChartProperties )
{
var is_on = History.Is_On();
if(is_on)
{
History.TurnOff();
}
this.chartStyleManager.init();
this.chartPreviewManager.init();
this.asc_fireCallback("asc_onUpdateChartStyles");
if(is_on)
{
History.TurnOn();
}
break;
}
}
}
this.asc_fireCallback("asc_onFocusObject", this.SelectedObjectsStack);
}
asc_docs_api.prototype.getSelectedElements = function(bUpdate)
......@@ -720,11 +821,6 @@ asc_docs_api.prototype.sync_ChangeLastSelectedElement = function(type, obj)
asc_docs_api.prototype.Init = function()
{
if (window.editor == undefined)
{
window.editor = this;
window['editor'] = window.editor;
}
this.WordControl.Init();
}
asc_docs_api.prototype.asc_getEditorPermissions = function()
......@@ -733,11 +829,12 @@ asc_docs_api.prototype.asc_getEditorPermissions = function()
{
var rData = {};
rData["c"] = "getsettings";
rData["id"] = this.DocInfo.get_Id();
rData["format"] = this.DocInfo.get_Format();
rData["vkey"] = this.DocInfo.get_VKey();
rData["editorid"] = c_oEditorId.Word;
sendCommand( this, this.asc_getEditorPermissionsCallback, JSON.stringify(rData) );
sendCommand( this, this.asc_getEditorPermissionsCallback, rData );
}
else
{
......@@ -748,8 +845,8 @@ asc_docs_api.prototype.asc_getEditorPermissions = function()
asc_docs_api.prototype.asc_getEditorPermissionsCallback = function(incomeObject)
{
if(null != incomeObject && "getsettings" == incomeObject.type){
var oSettings = JSON.parse(incomeObject.data);
if(null != incomeObject && "getsettings" == incomeObject["type"]){
var oSettings = JSON.parse(incomeObject["data"]);
//Set up coauthoring and spellcheker service
window.g_cAscCoAuthoringUrl = oSettings['g_cAscCoAuthoringUrl'];
......@@ -757,7 +854,29 @@ asc_docs_api.prototype.asc_getEditorPermissionsCallback = function(incomeObject)
var asc_CAscEditorPermissions = window["Asc"].asc_CAscEditorPermissions;
var oEditorPermissions = new asc_CAscEditorPermissions(oSettings);
editor.asc_fireCallback("asc_onGetEditorPermissions", oEditorPermissions);
editor.asc_fireCallback("asc_onGetEditorPermissions", oEditorPermissions);
if(undefined != oSettings['trackingInfo'] &&
null != oSettings['trackingInfo'])
{
var asc_CTrackFile = window["Asc"].CTrackFile;
editor.TrackFile = new asc_CTrackFile(oSettings['trackingInfo']);
editor.TrackFile.setDocId(editor.DocInfo.get_Id());
editor.TrackFile.setUserId(editor.DocInfo.get_UserId());
editor.TrackFile.setTrackFunc(sendTrack);
var _isDocumentModified = function(){
return editor.isDocumentModified();
};
editor.TrackFile.setIsDocumentModifiedFunc(_isDocumentModified);
if(undefined != oSettings['TrackingInterval'] &&
null != oSettings['TrackingInterval'])
editor.TrackFile.setInterval(oSettings['TrackingInterval']);
editor.TrackFile.Start();
}
}
}
asc_docs_api.prototype.asc_setDocInfo = function(c_DocInfo)
......@@ -769,7 +888,6 @@ asc_docs_api.prototype.LoadDocument = function(c_DocInfo)
{
this.asc_setDocInfo(c_DocInfo);
this.WordControl.m_oDrawingDocument.m_bIsOpeningDocument = true;
if(this.DocInfo){
......@@ -808,15 +926,25 @@ asc_docs_api.prototype.LoadDocument = function(c_DocInfo)
if (this.DocInfo.get_OfflineApp() === true)
{
this.OfflineAppDocumentStartLoad();
this.asyncServerIdStartLoaded();
return;
}
if(documentId){
this.sync_StartAction(c_oAscAsyncActionType.BlockInteraction, c_oAscAsyncAction.Open);
var rData = {"id":documentId, "format": documentFormat, "vkey": documentVKey, "editorid": c_oEditorId.Word, "c":"open", "url": documentUrl, "title": documentTitle, "embeddedfonts": this.isUseEmbeddedCutFonts};
sendCommand( oThis, function(){}, JSON.stringify(rData) );
this.sync_zoomChangeCallback(this.WordControl.m_nZoomValue, 0);
var oOpenOptions = this.DocInfo.get_Options();
if(oOpenOptions && oOpenOptions["isEmpty"])
{
var rData = {"id":documentId, "format": documentFormat, "vkey": documentVKey, "editorid": c_oEditorId.Word, "c":"create", "url": documentUrl, "title": documentTitle, "embeddedfonts": this.isUseEmbeddedCutFonts, "data": g_sEmpty_bin};
sendCommand( oThis, function(){}, rData );
editor.OpenDocument2(g_sResourceServiceLocalUrl + documentId + "/", g_sEmpty_bin);
}
else
{
this.sync_StartAction(c_oAscAsyncActionType.BlockInteraction, c_oAscAsyncAction.Open);
var rData = {"id":documentId, "format": documentFormat, "vkey": documentVKey, "editorid": c_oEditorId.Word, "c":"open", "url": documentUrl, "title": documentTitle, "embeddedfonts": this.isUseEmbeddedCutFonts};
sendCommand( oThis, function(){}, rData );
}
this.sync_zoomChangeCallback(this.WordControl.m_nZoomValue, 0);
}
else
{
......@@ -825,11 +953,12 @@ asc_docs_api.prototype.LoadDocument = function(c_DocInfo)
this.DocInfo.put_OfflineApp(true);
// For test create unique id
documentId = "0123456789";
documentId = "0123456789qwertty";
this.OfflineAppDocumentStartLoad();
this.sync_zoomChangeCallback(this.WordControl.m_nZoomValue, 0);
}
this.asyncServerIdStartLoaded();
}
asc_docs_api.prototype.SetFontsPath = function(path)
......@@ -850,6 +979,11 @@ asc_docs_api.prototype.ChangeReaderMode = function()
{
return this.WordControl.ChangeReaderMode();
}
asc_docs_api.prototype.SetReaderModeOnly = function()
{
this.isOnlyReaderMode = true;
this.ImageLoader.bIsAsyncLoadDocumentImages = false;
}
asc_docs_api.prototype.IncreaseReaderFontSize = function()
{
......@@ -951,7 +1085,10 @@ asc_docs_api.prototype.GetCopyPasteDivId = function()
asc_docs_api.prototype.ContentToHTML = function(bIsRet)
{
this.DocumentReaderMode = new CDocumentReaderMode();
var _old = copyPasteUseBinery;
copyPasteUseBinery = false;
Editor_Copy(this);
copyPasteUseBinery = _old;
this.DocumentReaderMode = null;
return document.getElementById("SelectId").innerHTML;
}
......@@ -1001,30 +1138,6 @@ asc_docs_api.prototype.LoadDocumentFromDisk = function()
}
}
asc_docs_api.prototype.OpenEmptyDocument = function()
{
editor.InitEditor();
this.LoadedObject = null;
this.DocumentType = 0;
this.WordControl.m_oLogicDocument.Fonts = [];
this.asyncServerIdStartLoaded();
this.FontLoader.LoadDocumentFonts(new Array(), true);
}
asc_docs_api.prototype.OpenTestDocument = function()
{
// For test create unique id
documentId = "0123456789";
editor.InitEditor();
this.LoadedObject = null;
this.DocumentType = 1;
this.WordControl.m_oLogicDocument.Fonts = [];
this.WordControl.m_oLogicDocument.ImageMap = {};
this.asyncServerIdStartLoaded();
this.FontLoader.LoadDocumentFonts(new Array(), true);
}
asc_docs_api.prototype.OpenTestDocumentViewer = function()
{
this.LoadedObject = null;
......@@ -1038,6 +1151,7 @@ asc_docs_api.prototype.OpenTestDocumentViewer = function()
asc_docs_api.prototype.OpenDocument = function(url, gObject)
{
this.isOnlyReaderMode = false;
this.InitViewer();
this.LoadedObject = null;
this.DocumentType = 1;
......@@ -1077,6 +1191,28 @@ asc_docs_api.prototype.OpenDocument2 = function(url, gObject)
else
editor.asc_fireCallback("asc_onError",c_oAscError.ID.MobileUnexpectedCharCount,c_oAscError.Level.Critical);
//callback
editor.DocumentOrientation = (null == editor.WordControl.m_oLogicDocument) ? true : !editor.WordControl.m_oLogicDocument.Orientation;
var sizeMM;
if(editor.DocumentOrientation)
sizeMM = DocumentPageSize.getSize(Page_Width, Page_Height);
else
sizeMM = DocumentPageSize.getSize(Page_Height, Page_Width);
editor.sync_DocSizeCallback(sizeMM.w_mm, sizeMM.h_mm);
editor.sync_PageOrientCallback(editor.get_DocumentOrientation());
this.ParcedDocument = true;
if (this.isStartCoAuthoringOnEndLoad) {
this.CoAuthoringApi.onStartCoAuthoring(true);
this.isStartCoAuthoringOnEndLoad = false;
}
if (this.isMobileVersion)
{
window.USER_AGENT_SAFARI_MACOS = false;
PASTE_ELEMENT_ID = "wrd_pastebin";
ELEMENT_DISPAY_STYLE = "none";
}
if (window.USER_AGENT_SAFARI_MACOS)
setInterval(SafariIntervalFocus, 10);
......@@ -1114,47 +1250,6 @@ asc_docs_api.prototype.asc_registerCallback = function(name, callback) {
if (!_callbacks.hasOwnProperty(name))
_callbacks[name] = [];
_callbacks[name].push(callback);
if ("asc_onInitEditorFonts" == name)
{
if (this._gui_fonts != null)
{
this.asc_fireCallback("asc_onInitEditorFonts", this._gui_fonts);
this._gui_fonts = null;
}
}
else if ("asc_onInitEditorStyles" == name)
{
if (this._gui_styles != null)
{
this.asc_fireCallback("asc_onInitEditorStyles", this._gui_styles);
this._gui_styles = null;
}
}
else if ("asc_onInitEditorShapes" == name)
{
this.asc_fireCallback("asc_onInitEditorShapes", g_oAutoShapesGroups, g_oAutoShapesTypes);
}
else if ("asc_onInitStandartTextures" == name)
{
this.sync_InitStandartTextures();
}
else if ("asc_onSendThemeColors" == name)
{
if (this._gui_control_colors != null)
{
this.asc_fireCallback("asc_onSendThemeColors",this._gui_control_colors.Colors, this._gui_control_colors.StandartColors);
this._gui_control_colors = null;
}
}
else if ("asc_onSendThemeColorSchemes" == name)
{
if (this._gui_color_schemes != null)
{
this.asc_fireCallback("asc_onSendThemeColorSchemes", this._gui_color_schemes);
this._gui_color_schemes = null;
}
}
}
asc_docs_api.prototype.asc_unregisterCallback = function(name, callback) {
......@@ -1188,6 +1283,43 @@ asc_docs_api.prototype.asc_checkNeedCallback = function(name) {
return false;
}
// тут методы, замены евентов
asc_docs_api.prototype.get_PropertyEditorShapes = function()
{
var ret = [g_oAutoShapesGroups, g_oAutoShapesTypes];
return ret;
}
asc_docs_api.prototype.get_PropertyEditorFonts = function()
{
return this._gui_fonts;
}
asc_docs_api.prototype.get_PropertyStandartTextures = function()
{
var _count = g_oUserTexturePresets.length;
var arr = new Array(_count);
for (var i = 0; i < _count; ++i)
{
arr[i] = new CAscTexture();
arr[i].Id = i;
arr[i].Image = g_oUserTexturePresets[i];
}
return arr;
}
asc_docs_api.prototype.get_PropertyEditorStyles = function()
{
return this._gui_styles;
}
asc_docs_api.prototype.get_PropertyThemeColors = function()
{
var _ret = [this._gui_control_colors.Colors, this._gui_control_colors.StandartColors];
return _ret;
}
asc_docs_api.prototype.get_PropertyThemeColorSchemes = function()
{
return this._gui_color_schemes;
}
// -------
/////////////////////////////////////////////////////////////////////////
///////////////////CoAuthoring and Chat api//////////////////////////////
/////////////////////////////////////////////////////////////////////////
......@@ -1214,35 +1346,41 @@ asc_docs_api.prototype._coAuthoringInit = function()
return; // Error
}
if(undefined !== window['g_cAscCoAuthoringUrl'])
if (undefined !== window['g_cAscCoAuthoringUrl'])
window.g_cAscCoAuthoringUrl = window['g_cAscCoAuthoringUrl'];
if(undefined !== window.g_cAscCoAuthoringUrl)
{
if (undefined !== window.g_cAscCoAuthoringUrl) {
//Turn off CoAuthoring feature if it disabled
if(!this.isCoAuthoringEnable)
if (!this.isCoAuthoringEnable)
window.g_cAscCoAuthoringUrl = "";
this.CoAuthoringApi.set_url(window.g_cAscCoAuthoringUrl);
}
//���� ������ ����������� ������������, ����� ������� ��� ����������� ������������� ���.
if(undefined === editor.User || null === editor.User ||
undefined === editor.User.asc_getId() || null === editor.User.asc_getId())
{
//Если User не задан, отключаем коавторинг.
if (null == this.User || null == this.User.asc_getId()) {
var asc_user = window["Asc"].asc_CUser;
editor.User = new asc_user();
editor.User.asc_setId("Unknown");
editor.User.asc_setUserName("Unknown");
this.User = new asc_user();
this.User.asc_setId("Unknown");
this.User.asc_setUserName("Unknown");
this.CoAuthoringApi.set_url("");
}
var t = this;
this.CoAuthoringApi.onParticipantsChanged = function (e) { t.asc_fireCallback( "asc_onParticipantsChanged", e ); };
this.CoAuthoringApi.onAuthParticipantsChanged = function (e) { t.asc_fireCallback( "asc_onAuthParticipantsChanged", e ); };
this.CoAuthoringApi.onParticipantsChanged = function (e, CountEditUsers)
{
t.asc_fireCallback( "asc_onParticipantsChanged", e );
if ( 1 >= CountEditUsers )
editor.asc_setDrawCollaborationMarks(false);
else
editor.asc_setDrawCollaborationMarks(true);
};
this.CoAuthoringApi.onAuthParticipantsChanged = function (e)
{
t.asc_fireCallback( "asc_onAuthParticipantsChanged", e );
};
this.CoAuthoringApi.onMessage = function (e) { t.asc_fireCallback( "asc_onCoAuthoringChatReceiveMessage", e ); };
this.CoAuthoringApi.onConnectionStateChanged = function (e) { t.asc_fireCallback( "asc_onConnectionStateChanged", e ); };
this.CoAuthoringApi.onUserStateChanged = function (e) { t.asc_fireCallback( "asc_onUserStateChanged", e ); };
this.CoAuthoringApi.onLocksAcquired = function (e)
{
if ( 2 != e["state"] )
......@@ -1331,32 +1469,32 @@ asc_docs_api.prototype._coAuthoringInit = function()
CollaborativeEditing.Add_Changes( Changes );
}
// т.е. если bSendEvent не задан, то посылаем сообщение
if ( Count > 0 && false != bSendEvent )
editor.sync_CollaborativeChanges();
// т.е. если bSendEvent не задан, то посылаем сообщение + когда загрузился документ
if ( Count > 0 && false != bSendEvent && t.bInit_word_control )
t.sync_CollaborativeChanges();
};
this.CoAuthoringApi.onFirstLoadChanges = function (e)
{
t.CoAuthoringApi.onSaveChanges(e,false);
//**
t.asyncServerIdEndLoaded ();
//CollaborativeEditing.Apply_Changes();
//**
};
this.CoAuthoringApi.onSetIndexUser = function (e)
{
g_oIdCounter.Set_UserId("" + e);
t.asyncServerIdEndLoaded ();
};
this.CoAuthoringApi.onStartCoAuthoring = function (e)
{
CollaborativeEditing.Start_CollaborationEditing();
editor.WordControl.m_oLogicDocument.DrawingDocument.Start_CollaborationEditing();
if ( true != History.Is_Clear() )
{
CollaborativeEditing.Apply_Changes();
CollaborativeEditing.Send_Changes();
}
this.CoAuthoringApi.onStartCoAuthoring = function (isStartEvent) {
if (t.ParcedDocument) {
CollaborativeEditing.Start_CollaborationEditing();
editor.asc_setDrawCollaborationMarks(true);
editor.WordControl.m_oLogicDocument.DrawingDocument.Start_CollaborationEditing();
if (true != History.Is_Clear()) {
CollaborativeEditing.Apply_Changes();
CollaborativeEditing.Send_Changes();
}
} else
t.isStartCoAuthoringOnEndLoad = true;
};
/**
* Event об отсоединении от сервера
......@@ -1370,15 +1508,15 @@ asc_docs_api.prototype._coAuthoringInit = function()
if (isDisconnectAtAll) {
// Посылаем наверх эвент об отключении от сервера
t.asc_fireCallback("asc_onСoAuthoringDisconnect");
t.SetViewMode(true, true);
t.SetViewMode(true);
if (!isCloseCoAuthoring){
t.sync_ErrorCallback(c_oAscError.ID.CoAuthoringDisconnect, c_oAscError.Level.NoCritical);
}
}
};
this.CoAuthoringApi.init (editor.User, documentId, this.isViewMode, 'fghhfgsjdgfjs', window.location.host, g_sMainServiceLocalUrl, function(){
});
this.CoAuthoringApi.init (editor.User, documentId, 'fghhfgsjdgfjs', window.location.host, g_sMainServiceLocalUrl, function(){
}, c_oEditorId.Word);
// ToDo init other callbacks
}
......@@ -1454,7 +1592,19 @@ asc_docs_api.prototype.autoSaveInit = function (autoSaveGap) {
var t = this;
this.autoSaveTimeOutId = setTimeout(function () {
t.autoSaveTimeOutId = null;
if (t.isDocumentModified())
if (t.isViewMode) {
/*
1) При загрузке файла на просмотре при совместном редактировании загрузится
файл уже с последними изменениями.
2) Далее при срабатывании автосохранения должны накатываться новые изменения
(это надо делать) при этом файл отсылаться не должен, т.к. изменений во вьювере нет.
3) Если пользователь отключил автосохранение, то изменения к нему приходить не
будут, поскольку это его решение.
*/
// Принимаем чужие изменения
CollaborativeEditing.Apply_Changes();
t.autoSaveInit();
} else if (t.isDocumentModified())
t.asc_Save(/*isAutoSave*/true);
else
t.autoSaveInit();
......@@ -1641,6 +1791,8 @@ function CParagraphFrame(obj)
{
if ( obj )
{
this.FromDropCapMenu = false;
this.DropCap = ( dropcap_None === obj.DropCap ? c_oAscDropCap.None : ( dropcap_Drop === obj.DropCap ? c_oAscDropCap.Drop : ( dropcap_Margin === obj.DropCap ? c_oAscDropCap.Margin : undefined ) ) );
this.H = obj.H;
this.HAnchor = obj.HAnchor;
......@@ -1655,9 +1807,14 @@ function CParagraphFrame(obj)
this.XAlign = obj.XAlign;
this.Y = obj.Y;
this.YAlign = obj.YAlign;
this.Brd = (undefined != obj.Brd && null != obj.Brd) ? new CParagraphBorders (obj.Brd) : null;
this.Shd = (undefined != obj.Shd && null != obj.Shd) ? new CParagraphShd (obj.Shd) : null;
this.FontFamily = (undefined != obj.FontFamily && null != obj.FontFamily) ? new CTextFontFamily (obj.FontFamily) : null;
}
else
{
this.FromDropCapMenu = false;
this.DropCap = undefined;
this.H = undefined;
this.HAnchor = undefined;
......@@ -1672,6 +1829,9 @@ function CParagraphFrame(obj)
this.XAlign = undefined;
this.Y = undefined;
this.YAlign = undefined;
this.Shd = null;
this.Brd = null;
this.FontFamily = null;
}
}
......@@ -1703,14 +1863,64 @@ CParagraphFrame.prototype.get_Y = function () { return this.Y; }
CParagraphFrame.prototype.put_Y = function (v) { this.Y = v; }
CParagraphFrame.prototype.get_YAlign = function () { return this.YAlign; }
CParagraphFrame.prototype.put_YAlign = function (v) { this.YAlign = v; }
CParagraphFrame.prototype.get_Borders = function () { return this.Brd; }
CParagraphFrame.prototype.put_Borders = function (v) { this.Brd = v; }
CParagraphFrame.prototype.get_Shade = function () { return this.Shd; }
CParagraphFrame.prototype.put_Shade = function (v) { this.Shd = v; }
CParagraphFrame.prototype.get_FontFamily = function () { return this.FontFamily; }
CParagraphFrame.prototype.put_FontFamily = function (v) { this.FontFamily = v; }
CParagraphFrame.prototype.put_FromDropCapMenu = function (v) { this.FromDropCapMenu = v; }
asc_docs_api.prototype.put_FramePr = function(Obj)
{
if ( undefined != Obj.FontFamily )
{
var name = Obj.FontFamily;
Obj.FontFamily = new CTextFontFamily( { Name : Obj.FontFamily, Index : -1 } );
var loader = window.g_font_loader;
var nIndex = loader.map_font_index[name];
var fontinfo = loader.fontInfos[nIndex];
var isasync = loader.LoadFont(fontinfo, editor.asyncFontEndLoaded_DropCap, Obj);
if (false === isasync)
{
if ( false === this.WordControl.m_oLogicDocument.Document_Is_SelectionLocked(changestype_Paragraph_Properties) )
{
this.WordControl.m_oLogicDocument.Create_NewHistoryPoint();
this.WordControl.m_oLogicDocument.Set_ParagraphFramePr( Obj );
}
}
}
else
{
if ( false === this.WordControl.m_oLogicDocument.Document_Is_SelectionLocked(changestype_Paragraph_Properties) )
{
this.WordControl.m_oLogicDocument.Create_NewHistoryPoint();
this.WordControl.m_oLogicDocument.Set_ParagraphFramePr( Obj );
}
}
}
asc_docs_api.prototype.asyncFontEndLoaded_DropCap = function(Obj)
{
this.sync_EndAction(c_oAscAsyncActionType.Information, c_oAscAsyncAction.LoadFont);
if ( false === this.WordControl.m_oLogicDocument.Document_Is_SelectionLocked(changestype_Paragraph_Properties) )
{
this.WordControl.m_oLogicDocument.Create_NewHistoryPoint();
this.WordControl.m_oLogicDocument.Set_ParagraphFramePr( Obj );
}
// отжать заморозку меню
}
asc_docs_api.prototype.asc_addDropCap = function(bInText)
{
this.WordControl.m_oLogicDocument.Add_DropCap( bInText );
}
asc_docs_api.prototype.removeDropcap = function(bDropCap)
{
this.WordControl.m_oLogicDocument.Remove_DropCap( bDropCap );
}
function CParagraphProp (obj)
......@@ -1731,6 +1941,7 @@ function CParagraphProp (obj)
this.Locked = (undefined != obj.Locked && null != obj.Locked ) ? obj.Locked : false;
this.CanAddTable = (undefined != obj.CanAddTable ) ? obj.CanAddTable : true;
this.FramePr = (undefined != obj.FramePr ) ? new CParagraphFrame( obj.FramePr ) : undefined;
this.CanAddDropCap = (undefined != obj.CanAddDropCap ) ? obj.CanAddDropCap : false;
this.Subscript = (undefined != obj.Subscript) ? obj.Subscript : undefined;
this.Superscript = (undefined != obj.Superscript) ? obj.Superscript : undefined;
......@@ -1772,6 +1983,7 @@ function CParagraphProp (obj)
this.Locked = false;
this.CanAddTable = true;
this.Tabs = undefined;
this.CanAddDropCap = false;
this.Subscript = undefined;
this.Superscript = undefined;
......@@ -1826,6 +2038,7 @@ CParagraphProp.prototype.get_DefaultTab = function () { return this.DefaultTab;
CParagraphProp.prototype.put_DefaultTab = function (v) { this.DefaultTab = v; }
CParagraphProp.prototype.get_FramePr = function () { return this.FramePr; }
CParagraphProp.prototype.put_FramePr = function (v) { this.FramePr = v; }
CParagraphProp.prototype.get_CanAddDropCap = function() { return this.CanAddDropCap; }
// Paragraph properties
function CParagraphPropEx (obj)
......@@ -2227,7 +2440,7 @@ asc_docs_api.prototype.UpdateParagraphProp = function(ParaPr)
else
ParaPr.StyleName = this.WordControl.m_oLogicDocument.Styles.Style[ParaPr.PStyle].Name;
if ( null == ParaPr.NumPr || 0 === ParaPr.NumPr.NumId )
if ( null == ParaPr.NumPr || 0 === ParaPr.NumPr.NumId || "0" === ParaPr.NumPr.NumId )
ParaPr.ListType = {Type: -1, SubType : -1};
else
{
......@@ -2255,19 +2468,6 @@ asc_docs_api.prototype.UpdateParagraphProp = function(ParaPr)
this.sync_PrPropCallback(ParaPr);
}
asc_docs_api.prototype.sync_InitStandartTextures = function()
{
var _count = g_oUserTexturePresets.length;
var arr = new Array(_count);
for (var i = 0; i < _count; ++i)
{
arr[i] = new CAscTexture();
arr[i].Id = i;
arr[i].Image = g_oUserTexturePresets[i];
}
this.asc_fireCallback("asc_onInitStandartTextures", arr);
}
/*----------------------------------------------------------------*/
/*functions for working with clipboard, document*/
/*TODO: Print,Undo,Redo,Copy,Cut,Paste,Share,Save,DownloadAs,ReturnToDocuments(вернуться на предыдущую страницу) & callbacks for these functions*/
......@@ -2283,13 +2483,13 @@ asc_docs_api.prototype.asc_Print = function()
var editor = this;
if(null == this.WordControl.m_oLogicDocument)
{
var rData = {"id":documentId, "format": documentFormat, "c":"savefromorigin"};
sendCommand(editor, function(){editor.sync_EndAction(c_oAscAsyncActionType.BlockInteraction, c_oAscAsyncAction.Print);}, JSON.stringify(rData));
var rData = {"id":documentId, "vkey": documentVKey, "format": documentFormat, "c":"savefromorigin"};
sendCommand(editor, function(){editor.sync_EndAction(c_oAscAsyncActionType.BlockInteraction, c_oAscAsyncAction.Print);}, rData);
}
else
_downloadAs(this, c_oAscFileType.PDF, function(incomeObject){
if(null != incomeObject && "save" == incomeObject.type)
editor.processSavedFile(incomeObject.data, false);
if(null != incomeObject && "save" == incomeObject["type"])
editor.processSavedFile(incomeObject["data"], false);
editor.sync_EndAction(c_oAscAsyncActionType.BlockInteraction, c_oAscAsyncAction.Print);}, true);
}
}
......@@ -2314,7 +2514,23 @@ asc_docs_api.prototype.Cut = function()
}
asc_docs_api.prototype.Paste = function()
{
return Editor_Paste_Button(this);
if (!window.GlobalPasteFlag)
{
if (!window.USER_AGENT_SAFARI_MACOS)
{
window.GlobalPasteFlag = true;
return Editor_Paste_Button(this);
}
else
{
if (0 === window.GlobalPasteFlagCounter)
{
SafariIntervalFocus();
window.GlobalPasteFlag = true;
return Editor_Paste_Button(this);
}
}
}
}
asc_docs_api.prototype.Share = function(){
......@@ -2379,12 +2595,11 @@ function OnSave_Callback(e)
////uncoment to save changes only instead send file complete
//var data = JSON.stringify( CollaborativeEditing.Get_SelfChanges() );
//oAdditionalData["savetype"] = "changes";
var sData = "mnuSaveAs" + cCharDelimiter + JSON.stringify(oAdditionalData) + cCharDelimiter + data;
oAdditionalData["data"] = data;
sendCommand(editor, function(incomeObject){
if(null != incomeObject && "save" == incomeObject.type)
editor.processSavedFile(incomeObject.data, true);
}, sData);
if(null != incomeObject && "save" == incomeObject["type"])
editor.processSavedFile(incomeObject["data"], true);
}, oAdditionalData);
}
// Пересылаем свои изменения
......@@ -2423,8 +2638,8 @@ asc_docs_api.prototype.asc_DownloadAs = function(typeFile){//передаем ч
this.sync_StartAction(c_oAscAsyncActionType.BlockInteraction, c_oAscAsyncAction.DownloadAs);
var editor = this;
_downloadAs(this, typeFile, function(incomeObject){
if(null != incomeObject && "save" == incomeObject.type)
editor.processSavedFile(incomeObject.data, false);
if(null != incomeObject && "save" == incomeObject["type"])
editor.processSavedFile(incomeObject["data"], false);
editor.sync_EndAction(c_oAscAsyncActionType.BlockInteraction, c_oAscAsyncAction.DownloadAs);}, true);
}
asc_docs_api.prototype.Resize = function(){
......@@ -2439,8 +2654,8 @@ asc_docs_api.prototype.Help = function(){
}
asc_docs_api.prototype.ClearCache = function(){
var rData = {"id":documentId, "format": documentFormat, "c":"cc"};
sendCommand(editor, function(){}, JSON.stringify(rData));
var rData = {"id":documentId, "vkey": documentVKey, "format": documentFormat, "c":"cc"};
sendCommand(editor, function(){}, rData);
}
asc_docs_api.prototype.SetFontRenderingMode = function(mode)
......@@ -2461,6 +2676,9 @@ asc_docs_api.prototype.SetFontRenderingMode = function(mode)
this.WordControl.m_oDrawingDocument.ClearCachePages();
g_fontManager.ClearFontsRasterCache();
if (window.g_fontManager2 !== undefined && window.g_fontManager2 !== null)
window.g_fontManager2.ClearFontsRasterCache();
if (this.bInit_word_control)
this.WordControl.OnScroll();
}
......@@ -2473,7 +2691,7 @@ asc_docs_api.prototype.processSavedFile = function(url, bInner)
else
{
if( this.isMobileVersion )
window.open("/Common/MobileDownloader/download.html?file="+encodeURIComponent(url),"_parent","",false);
window.open("../../../sdk/Common/MobileDownloader/download.html?file="+encodeURIComponent(url),"_parent","",false);
else
getFile(url);
}
......@@ -2540,6 +2758,8 @@ asc_docs_api.prototype.sync_CanRedoCallback = function(bCanRedo)
this.asc_fireCallback("asc_onCanRedo", bCanRedo);
}
asc_docs_api.prototype.setStartPointHistory = function(){this.noCreatePoint = true; History.Create_NewPoint();};
asc_docs_api.prototype.setEndPointHistory = function(){this.noCreatePoint = false; };
function CDocInfoProp(obj)
{
......@@ -2746,8 +2966,23 @@ asc_docs_api.prototype.sync_ReturnHeadersCallback = function (headers){
}
*/
asc_docs_api.prototype.asc_searchEnabled = function(bIsEnabled)
{
if (null != this.WordControl.m_oDrawingDocument.m_oDocumentRenderer)
{
this.WordControl.m_oDrawingDocument.m_oDocumentRenderer.SearchResults.IsSearch = false;
this.WordControl.OnUpdateOverlay();
}
}
asc_docs_api.prototype.asc_findText = function(text, isNext, isMatchCase)
{
if (null != this.WordControl.m_oDrawingDocument.m_oDocumentRenderer)
{
this.WordControl.m_oDrawingDocument.m_oDocumentRenderer.findText(text, isMatchCase, isNext);
return this.WordControl.m_oDrawingDocument.m_oDocumentRenderer.SearchResults.Count;
}
var SearchEngine = editor.WordControl.m_oLogicDocument.Search( text, { MatchCase : isMatchCase } );
var Id = this.WordControl.m_oLogicDocument.Search_GetId( isNext );
......@@ -2760,7 +2995,10 @@ asc_docs_api.prototype.asc_findText = function(text, isNext, isMatchCase)
asc_docs_api.prototype.asc_replaceText = function(text, replaceWith, isReplaceAll, isMatchCase)
{
editor.WordControl.m_oLogicDocument.Search( text, { MatchCase : isMatchCase } );
if (null == this.WordControl.m_oLogicDocument)
return;
this.WordControl.m_oLogicDocument.Search( text, { MatchCase : isMatchCase } );
if ( true === isReplaceAll )
this.WordControl.m_oLogicDocument.Search_Replace(replaceWith, true, -1);
......@@ -2785,17 +3023,27 @@ asc_docs_api.prototype.asc_replaceText = function(text, replaceWith, isReplaceAl
asc_docs_api.prototype.asc_selectSearchingResults = function(bShow)
{
if (null != this.WordControl.m_oDrawingDocument.m_oDocumentRenderer)
{
this.WordControl.m_oDrawingDocument.m_oDocumentRenderer.SearchResults.Show = bShow;
this.WordControl.OnUpdateOverlay();
return;
}
this.WordControl.m_oLogicDocument.Search_Set_Selection(bShow);
}
asc_docs_api.prototype.asc_isSelectSearchingResults = function()
{
if (null != this.WordControl.m_oDrawingDocument.m_oDocumentRenderer)
{
return this.WordControl.m_oDrawingDocument.m_oDocumentRenderer.SearchResults.Show;
}
return this.WordControl.m_oLogicDocument.Search_Get_Selection();
}
asc_docs_api.prototype.sync_ReplaceAllCallback = function(Count)
asc_docs_api.prototype.sync_ReplaceAllCallback = function(ReplaceCount, OverallCount)
{
this.asc_fireCallback("asc_onReplaceAll", Count);
this.asc_fireCallback("asc_onReplaceAll", ReplaceCount, OverallCount);
}
asc_docs_api.prototype.sync_SearchEndCallback = function()
......@@ -2826,9 +3074,9 @@ asc_docs_api.prototype.put_TextPrFontSize = function(size)
{
this.WordControl.m_oLogicDocument.Create_NewHistoryPoint();
//this.WordControl.m_oLogicDocument.Paragraph_Add( new ParaTextPr( { FontSize : Math.min(size, 100) } ) );
//**
//MathControl.SetTxtPrp( { FontSize : Math.min(size, 100) } );
MathComposition.SetTxtPrp( { FontSize : Math.min(size, 100) } );
MathComposition.addRPrpForSelect( { FontSize : Math.min(size, 100) } );
//**
}
}
......@@ -2837,10 +3085,10 @@ asc_docs_api.prototype.put_TextPrBold = function(value)
if ( false === this.WordControl.m_oLogicDocument.Document_Is_SelectionLocked(changestype_Paragraph_Content) )
{
this.WordControl.m_oLogicDocument.Create_NewHistoryPoint();
//this.WordControl.m_oLogicDocument.Paragraph_Add( new ParaTextPr( { Bold : value } ) );
//this.WordControl.m_oLogicDocument.Paragraph_Add( new ParaTextPr( { Bold : value } ) );
//**
//MathControl.SetTxtPrp( { Bold : value } );
MathComposition.SetTxtPrp( { Bold : value } );
MathComposition.addRPrpForSelect( { Bold : value } );
//**
}
}
......@@ -2849,10 +3097,10 @@ asc_docs_api.prototype.put_TextPrItalic = function(value)
if ( false === this.WordControl.m_oLogicDocument.Document_Is_SelectionLocked(changestype_Paragraph_Content) )
{
this.WordControl.m_oLogicDocument.Create_NewHistoryPoint();
//this.WordControl.m_oLogicDocument.Paragraph_Add( new ParaTextPr( { Italic : value } ) );
//this.WordControl.m_oLogicDocument.Paragraph_Add( new ParaTextPr( { Italic : value } ) );
//**
//MathControl.SetTxtPrp( { Italic : value } );
MathComposition.SetTxtPrp( { Italic : value } );
MathComposition.addRPrpForSelect( { Italic : value } );
//**
}
}
......@@ -2945,6 +3193,8 @@ asc_docs_api.prototype.put_TextPrLang = function(value)
this.WordControl.m_oLogicDocument.Create_NewHistoryPoint();
this.WordControl.m_oLogicDocument.Paragraph_Add( new ParaTextPr( { Lang : { Val : value } } ) );
this.WordControl.m_oLogicDocument.Spelling.Check_CurParas();
if ( true === this.isMarkerFormat )
this.sync_MarkerFormatCallback( false );
}
......@@ -3101,18 +3351,12 @@ asc_docs_api.prototype.sync_PrLineSpacingCallBack = function(LineSpacing){
}
asc_docs_api.prototype.sync_InitEditorFonts = function(gui_fonts){
this._gui_fonts = gui_fonts;
var ret = this.asc_fireCallback("asc_onInitEditorFonts",gui_fonts);
if (ret)
this._gui_fonts = null;
}
asc_docs_api.prototype.sync_InitEditorStyles = function(styles_painter){
this._gui_styles = styles_painter;
var ret = this.asc_fireCallback("asc_onInitEditorStyles",styles_painter);
if (ret)
this._gui_styles = null;
}
asc_docs_api.prototype.sync_InitEditorTableStyles = function(styles){
this.asc_fireCallback("asc_onInitTableTemplates",styles);
asc_docs_api.prototype.sync_InitEditorTableStyles = function(styles, is_retina_enabled){
this.asc_fireCallback("asc_onInitTableTemplates",styles, is_retina_enabled);
}
......@@ -3142,7 +3386,11 @@ asc_docs_api.prototype.sync_InitEditorTableStyles = function(styles){
asc_docs_api.prototype.paraApply = function(Props)
{
if ( false === this.WordControl.m_oLogicDocument.Document_Is_SelectionLocked(changestype_Paragraph_Properties) )
var Additional = undefined;
if ( undefined != Props.DefaultTab )
Additional = { Type : changestype_2_Element_and_Type, Element : this.WordControl.m_oLogicDocument, CheckType : changestype_Document_SectPr };
if ( false === this.WordControl.m_oLogicDocument.Document_Is_SelectionLocked(changestype_Paragraph_Properties, Additional) )
{
this.WordControl.m_oLogicDocument.Create_NewHistoryPoint();
......@@ -3186,7 +3434,7 @@ asc_docs_api.prototype.paraApply = function(Props)
if ( undefined != Props.DefaultTab )
{
// TODO: реализовать изменения таба по умолчанию
this.WordControl.m_oLogicDocument.Set_DocumentDefaultTab( Props.DefaultTab );
}
......@@ -3637,6 +3885,33 @@ asc_docs_api.prototype.sync_EndAddShape = function()
}
}
asc_docs_api.prototype.SetDrawingFreeze = function(bIsFreeze)
{
this.WordControl.DrawingFreeze = bIsFreeze;
var _elem1 = document.getElementById("id_main");
if (_elem1)
{
var _elem2 = document.getElementById("id_horscrollpanel");
var _elem3 = document.getElementById("id_panel_right");
if (bIsFreeze)
{
_elem1.style.display = "none";
_elem2.style.display = "none";
_elem3.style.display = "none";
}
else
{
_elem1.style.display = "block";
_elem2.style.display = "block";
_elem3.style.display = "block";
}
}
if (!bIsFreeze)
this.WordControl.OnScroll();
}
/*----------------------------------------------------------------*/
/*functions for working with page*/
asc_docs_api.prototype.change_PageOrient = function(isPortrait)
......@@ -3674,6 +3949,17 @@ asc_docs_api.prototype.change_DocSize = function(width,height)
this.WordControl.m_oLogicDocument.Set_DocumentPageSize(height, width);
}
}
asc_docs_api.prototype.get_DocumentWidth = function()
{
return Page_Width;
}
asc_docs_api.prototype.get_DocumentHeight = function()
{
return Page_Height;
}
asc_docs_api.prototype.put_AddPageBreak = function()
{
if ( false === this.WordControl.m_oLogicDocument.Document_Is_SelectionLocked(changestype_Paragraph_Content) )
......@@ -4556,17 +4842,8 @@ asc_docs_api.prototype.AddImage = function(){
}
else
{
var oImageUploader = document.getElementById("apiImageUpload");
if(!oImageUploader)
{
var frame = document.createElement("iframe");
frame.name = "apiImageUpload";
frame.id = "apiImageUpload";
frame.setAttribute("style", "position:absolute;left:-2px;top:-2px;width:1px;height:1px;z-index:-1000;");
document.body.appendChild(frame);
}
var frameWindow = window.frames["apiImageUpload"];
var content = '<html><head></head><body><form action="'+g_sUploadServiceLocalUrl+'?key='+documentId+'" method="POST" enctype="multipart/form-data"><input id="apiiuFile" name="apiiuFile" type="file" size="1"><input id="apiiuSubmit" name="apiiuSubmit" type="submit" style="display:none;"></form></body></html>';
var frameWindow = GetUploadIFrame();
var content = '<html><head></head><body><form action="'+g_sUploadServiceLocalUrl+'?key='+documentId+'" method="POST" enctype="multipart/form-data"><input id="apiiuFile" name="apiiuFile" type="file" accept="image/*" size="1"><input id="apiiuSubmit" name="apiiuSubmit" type="submit" style="display:none;"></form></body></html>';
frameWindow.document.open();
frameWindow.document.write(content);
frameWindow.document.close();
......@@ -4576,46 +4853,21 @@ asc_docs_api.prototype.AddImage = function(){
var oThis = this;
fileName.onchange = function(e)
{
var bNeedSubmit = true;
if(e && e.target && e.target.files)
{
var files = e.target.files;
if(files.length > 0)
var nError = ValidateUploadImage(e.target.files);
if(c_oAscServerError.NoError != nError)
{
var file = files[0];
//проверяем расширение файла
var sName = file.fileName || file.name;
if(sName)
{
var bSupported = false;
var nIndex = sName.lastIndexOf(".");
if(-1 != nIndex)
{
var ext = sName.substring(nIndex + 1).toLowerCase();
for(var i = 0, length = c_oAscImageUploadProp.SupportedFormats.length; i < length; i++)
{
if(c_oAscImageUploadProp.SupportedFormats[i] == ext)
{
bSupported = true;
break;
}
}
}
if(false == bSupported)
{
oThis.asc_fireCallback("asc_onError",c_oAscError.ID.UplImageExt,c_oAscError.Level.NoCritical);
return;
}
}
var nSize = file.fileSize || file.size;
if(nSize && c_oAscImageUploadProp.MaxFileSize < nSize)
{
oThis.asc_fireCallback("asc_onError",c_oAscError.ID.UplImageSize,c_oAscError.Level.NoCritical);
return;
}
bNeedSubmit = false;
oThis.asc_fireCallback("asc_onError",_mapAscServerErrorToAscError(nError),c_oAscError.Level.NoCritical);
}
}
oThis.sync_StartAction(c_oAscAsyncActionType.BlockInteraction, c_oAscAsyncAction.UploadImage);
fileSubmit.click();
if(bNeedSubmit)
{
oThis.sync_StartAction(c_oAscAsyncActionType.BlockInteraction, c_oAscAsyncAction.UploadImage);
fileSubmit.click();
}
};
//todo пересмотреть opera
if (window.opera != undefined)
......@@ -4638,18 +4890,16 @@ asc_docs_api.prototype.AddImageUrl = function(url, imgProp)
{
this.AddImageUrlAction(url, imgProp);
}
else if(0 == url.indexOf("data:"))
{
this.AddImageUrlAction(url, imgProp);
}
else
{
var rData = {"id":documentId, "c":"imgurl", "data": url};
var rData = {"id":documentId, "vkey": documentVKey, "c":"imgurl", "data": url};
var oThis = this;
this.sync_StartAction(c_oAscAsyncActionType.BlockInteraction, c_oAscAsyncAction.UploadImage);
sendCommand( oThis, function(incomeObject){
if(null != incomeObject && "imgurl" ==incomeObject.type)
oThis.AddImageUrlAction(incomeObject.data, imgProp);
}, JSON.stringify(rData) );
if(null != incomeObject && "imgurl" ==incomeObject["type"])
oThis.AddImageUrlAction(incomeObject["data"], imgProp);
oThis.sync_EndAction(c_oAscAsyncActionType.BlockInteraction, c_oAscAsyncAction.UploadImage);
}, rData );
}
}
}
......@@ -4701,7 +4951,7 @@ asc_docs_api.prototype.AddImageUrlAction = function(url, imgProp)
}
else
{
this.sync_StartAction(c_oAscAsyncActionType.Information, c_oAscAsyncAction.LoadImage);
this.sync_StartAction(c_oAscAsyncActionType.BlockInteraction, c_oAscAsyncAction.LoadImage);
this.asyncImageEndLoaded2 = function(_image)
{
var _w = Math.max(1, Page_Width - (X_Left_Margin + X_Right_Margin));
......@@ -4746,7 +4996,7 @@ asc_docs_api.prototype.AddImageUrlAction = function(url, imgProp)
this.WordControl.m_oLogicDocument.Add_InlineImage(_w, _h, src, null, true);
}
this.sync_EndAction(c_oAscAsyncActionType.Information, c_oAscAsyncAction.LoadImage);
this.sync_EndAction(c_oAscAsyncActionType.BlockInteraction, c_oAscAsyncAction.LoadImage);
this.asyncImageEndLoaded2 = null;
}
......@@ -4788,7 +5038,12 @@ asc_docs_api.prototype.ImgApply = function(obj)
if ( false === this.WordControl.m_oLogicDocument.Document_Is_SelectionLocked(changestype_Image_Properties, AdditionalData) )
{
this.WordControl.m_oLogicDocument.Create_NewHistoryPoint();
if(!this.noCreatePoint)
this.WordControl.m_oLogicDocument.Create_NewHistoryPoint();
if (ImagePr.ShapeProperties)
ImagePr.ImageUrl = "";
if(ImagePr.ImageUrl != undefined && ImagePr.ImageUrl != null && ImagePr.ImageUrl != "")
{
var _img = this.ImageLoader.LoadImage(ImagePr.ImageUrl, 1)
......@@ -4899,7 +5154,7 @@ asc_docs_api.prototype.ShapeApply = function(shapeProps)
}
else
{
this.sync_StartAction(c_oAscAsyncActionType.Information, c_oAscAsyncAction.LoadImage);
this.sync_StartAction(c_oAscAsyncActionType.BlockInteraction, c_oAscAsyncAction.LoadImage);
var oProp = shapeProps;
this.asyncImageEndLoaded2 = function(_image)
......@@ -4907,7 +5162,7 @@ asc_docs_api.prototype.ShapeApply = function(shapeProps)
this.WordControl.m_oLogicDocument.ShapeApply(oProp);
this.WordControl.m_oDrawingDocument.DrawImageTextureFillShape(image_url);
this.sync_EndAction(c_oAscAsyncActionType.Information, c_oAscAsyncAction.LoadImage);
this.sync_EndAction(c_oAscAsyncActionType.BlockInteraction, c_oAscAsyncAction.LoadImage);
this.asyncImageEndLoaded2 = null;
}
}
......@@ -5083,13 +5338,13 @@ function CHyperlinkProperty( obj )
{
this.Text = (undefined != obj.Text ) ? obj.Text : null;
this.Value = (undefined != obj.Value ) ? obj.Value : "";
this.ToolTip = (undefined != obj.ToolTip) ? obj.ToolTip : null;
this.ToolTip = (undefined != obj.ToolTip) ? obj.ToolTip : "";
}
else
{
this.Text = null;
this.Value = "";
this.ToolTip = null;
this.ToolTip = "";
}
}
......@@ -5166,6 +5421,7 @@ asc_docs_api.prototype.asc_replaceMisspelledWord = function(Word, SpellCheckProp
this.WordControl.m_oLogicDocument.Create_NewHistoryPoint();
Paragraph.Replace_MisspelledWord( Word, ElemId );
this.WordControl.m_oLogicDocument.Recalculate();
Paragraph.Document_SetThisElementCurrent();
}
}
......@@ -5193,12 +5449,15 @@ asc_docs_api.prototype.asc_ignoreMisspelledWord = function(SpellCheckProperty, b
asc_docs_api.prototype.asc_setDefaultLanguage = function(Lang)
{
editor.WordControl.m_oLogicDocument.Set_DefaultLanguage(Lang);
if (editor.WordControl.m_oLogicDocument)
editor.WordControl.m_oLogicDocument.Set_DefaultLanguage(Lang);
}
asc_docs_api.prototype.asc_getDefaultLanguage = function()
{
return editor.WordControl.m_oLogicDocument.Get_DefaultLanguage();
if (editor.WordControl.m_oLogicDocument)
return editor.WordControl.m_oLogicDocument.Get_DefaultLanguage();
return null;
}
//-----------------------------------------------------------------
// Функции для работы с комментариями
......@@ -5381,6 +5640,23 @@ asc_docs_api.prototype.sync_UnLockComment = function(Id)
{
this.asc_fireCallback("asc_onUnLockComment", Id);
}
asc_docs_api.prototype.asc_getComments = function()
{
var ResComments = new Array();
var LogicDocument = this.WordControl.m_oLogicDocument;
if ( undefined != LogicDocument )
{
var DocComments = LogicDocument.Comments;
for ( var Id in DocComments.m_aComments )
{
var AscCommentData = new asc_CCommentData(DocComments.m_aComments[Id].Data);
ResComments.push( { "Id" : Id, "Comment" : AscCommentData } );
}
}
return ResComments;
}
//-----------------------------------------------------------------
asc_docs_api.prototype.sync_LockHeaderFooters = function()
{
......@@ -5526,7 +5802,7 @@ asc_docs_api.prototype.asyncFontsDocumentStartLoaded = function()
// здесь прокинуть евент о заморозке меню
// и нужно вывести информацию в статус бар
if (this.isPasteFonts_Images)
this.sync_StartAction(c_oAscAsyncActionType.Information, c_oAscAsyncAction.LoadFont);
this.sync_StartAction(c_oAscAsyncActionType.BlockInteraction, c_oAscAsyncAction.LoadFont);
else if (this.isSaveFonts_Images)
this.sync_StartAction(c_oAscAsyncActionType.Information, c_oAscAsyncAction.LoadFont);
else
......@@ -5567,7 +5843,7 @@ asc_docs_api.prototype.asyncFontsDocumentEndLoaded = function()
{
// все, шрифты загружены. Теперь нужно подгрузить картинки
if (this.isPasteFonts_Images)
this.sync_EndAction(c_oAscAsyncActionType.Information, c_oAscAsyncAction.LoadFont);
this.sync_EndAction(c_oAscAsyncActionType.BlockInteraction, c_oAscAsyncAction.LoadFont);
else if (this.isSaveFonts_Images)
this.sync_EndAction(c_oAscAsyncActionType.Information, c_oAscAsyncAction.LoadFont);
else
......@@ -5583,7 +5859,7 @@ asc_docs_api.prototype.asyncFontsDocumentEndLoaded = function()
if (_count > 0)
{
this.EndActionLoadImages = 2;
this.sync_StartAction(c_oAscAsyncActionType.Information, c_oAscAsyncAction.LoadImage);
this.sync_StartAction(c_oAscAsyncActionType.BlockInteraction, c_oAscAsyncAction.LoadImage);
}
var _oldAsyncLoadImages = this.ImageLoader.bIsAsyncLoadDocumentImages;
......@@ -5635,10 +5911,18 @@ asc_docs_api.prototype.asyncFontsDocumentEndLoaded = function()
for (var i in _loader_object.ImageMap)
++_count;
// add const textures
var _st_count = g_oUserTexturePresets.length;
for (var i = 0; i < _st_count; i++)
_loader_object.ImageMap[_count + i] = g_oUserTexturePresets[i];
if (!this.isOnlyReaderMode)
{
// add const textures
var _st_count = g_oUserTexturePresets.length;
for (var i = 0; i < _st_count; i++)
_loader_object.ImageMap[_count + i] = g_oUserTexturePresets[i];
if (this.OpenDocumentProgress && !this.ImageLoader.bIsAsyncLoadDocumentImages)
{
this.OpenDocumentProgress.ImagesCount += _st_count;
}
}
if (_count > 0)
{
......@@ -5663,16 +5947,11 @@ asc_docs_api.prototype.CreateFontsCharMap = function()
asc_docs_api.prototype.sync_SendThemeColors = function(colors,standart_colors)
{
this._gui_control_colors = { Colors : colors, StandartColors : standart_colors };
var ret = this.asc_fireCallback("asc_onSendThemeColors",colors,standart_colors);
if (ret)
this._gui_control_colors = null;
this.asc_fireCallback("asc_onSendThemeColors",colors,standart_colors);
}
asc_docs_api.prototype.sync_SendThemeColorSchemes = function(param)
{
this._gui_color_schemes = param;
var ret = this.asc_fireCallback("asc_onSendThemeColorSchemes",param);
if (ret)
this._gui_color_schemes = null;
}
asc_docs_api.prototype.ChangeColorScheme = function(index_scheme)
......@@ -5698,6 +5977,7 @@ asc_docs_api.prototype.ChangeColorScheme = function(index_scheme)
{
var _obj = g_oUserColorScheme[index_scheme];
var scheme = new ClrScheme();
scheme.name = _obj["name"];
var _c = null;
_c = _obj["dk1"];
......@@ -5761,15 +6041,25 @@ asc_docs_api.prototype.ChangeColorScheme = function(index_scheme)
data.newScheme = theme.themeElements.clrScheme;
History.Add(this.WordControl.m_oLogicDocument.DrawingObjects, data);
this.WordControl.m_oDrawingDocument.CheckGuiControlColors();
var is_on = History.Is_On();
if(is_on)
{
History.TurnOff();
}
this.chartStyleManager.init();
this.chartPreviewManager.init();
if(is_on)
{
History.TurnOn();
}
this.asc_fireCallback("asc_onUpdateChartStyles");
_changer.calculateAfterChangeTheme();
// TODO:
this.WordControl.m_oDrawingDocument.ClearCachePages();
this.WordControl.OnScroll();
this.WordControl.m_oDrawingDocument.CheckGuiControlColors();
}
}
......@@ -5787,7 +6077,10 @@ asc_docs_api.prototype.asyncImagesDocumentEndLoaded = function()
}
else if (this.EndActionLoadImages == 2)
{
this.sync_EndAction(c_oAscAsyncActionType.Information, c_oAscAsyncAction.LoadImage);
if (this.isPasteFonts_Images)
this.sync_EndAction(c_oAscAsyncActionType.BlockInteraction, c_oAscAsyncAction.LoadImage);
else
this.sync_EndAction(c_oAscAsyncActionType.Information, c_oAscAsyncAction.LoadImage);
}
this.EndActionLoadImages = 0;
......@@ -5807,9 +6100,9 @@ asc_docs_api.prototype.asyncImagesDocumentEndLoaded = function()
this.WordControl.InitControl();
if (this.isViewMode)
this.SetViewMode(true, /*isNotSendOnCoAuthoringServer*/ true);
this.SetViewMode(true);
this.asyncServerIdStartLoaded();
//this.asyncServerIdStartLoaded();
return;
}
......@@ -5820,7 +6113,7 @@ asc_docs_api.prototype.asyncImagesDocumentEndLoaded = function()
if (true == this.ServerIdWaitComplete)
this.OpenDocumentEndCallback();
this.asyncServerIdStartLoaded();
//this.asyncServerIdStartLoaded();
}
else
{
......@@ -5829,6 +6122,8 @@ asc_docs_api.prototype.asyncImagesDocumentEndLoaded = function()
this.isPasteFonts_Images = false;
this.pasteImageMap = null;
this.pasteCallback();
window.GlobalPasteFlag = false;
window.GlobalPasteFlagCounter = 0;
this.pasteCallback = null;
}
else if (this.isSaveFonts_Images)
......@@ -5841,7 +6136,9 @@ asc_docs_api.prototype.asyncImagesDocumentEndLoaded = function()
{
this.isLoadImagesCustom = false;
this.loadCustomImageMap = null;
this.SyncLoadImages_callback();
if (!this.ImageLoader.bIsAsyncLoadDocumentImages)
this.SyncLoadImages_callback();
}
}
}
......@@ -5871,6 +6168,9 @@ asc_docs_api.prototype.OpenDocumentEndCallback = function()
{
var Document = this.WordControl.m_oLogicDocument;
CollaborativeEditing.Apply_Changes();
CollaborativeEditing.Release_Locks();
//Recalculate HdrFtr
if(Document.HdrFtr && Document.HdrFtr.Content && Document.HdrFtr.Content.length > 0 && Document.HdrFtr.Content[0].Header)
{
......@@ -5922,10 +6222,19 @@ asc_docs_api.prototype.OpenDocumentEndCallback = function()
}
Document.DrawingObjects.calculateAfterOpen();
Document.DrawingObjects.calculateAfterChangeTheme();
Document.Recalculate();
this.WordControl.m_oDrawingDocument.TargetStart();
if (!this.isOnlyReaderMode)
{
Document.Recalculate();
this.WordControl.m_oDrawingDocument.TargetStart();
}
else
{
Document.Recalculate_AllTables();
this.ChangeReaderMode();
}
}
}
}
......@@ -5941,7 +6250,7 @@ asc_docs_api.prototype.OpenDocumentEndCallback = function()
this.WordControl.InitControl();
if (this.isViewMode)
this.SetViewMode(true, /*isNotSendOnCoAuthoringServer*/ true);
this.SetViewMode(true);
if (undefined != window['qtDocBridge'])
{
......@@ -6041,9 +6350,24 @@ asc_docs_api.prototype.sync_SendProgress = function(Percents)
asc_docs_api.prototype.pre_Paste = function(_fonts, _images, callback)
{
this.isPasteFonts_Images = true;
this.pasteCallback = callback;
this.pasteImageMap = _images;
var _count = 0;
for (var i in this.pasteImageMap)
++_count;
if (0 == _count && false === this.FontLoader.CheckFontsNeedLoading(_fonts))
{
// никаких евентов. ничего грузить не нужно. сделано для сафари под макОс.
// там при LongActions теряется фокус и вставляются пробелы
this.pasteCallback();
window.GlobalPasteFlag = false;
window.GlobalPasteFlagCounter = 0;
this.pasteCallback = null;
return;
}
this.isPasteFonts_Images = true;
this.FontLoader.LoadDocumentFonts2(_fonts);
}
......@@ -6061,8 +6385,20 @@ asc_docs_api.prototype.SyncLoadImages = function(_images)
this.loadCustomImageMap = _images;
var _count = 0;
for (var i in this.loadCustomImageMap)
var _loaded = this.ImageLoader.map_image_index;
var _new_len = this.loadCustomImageMap.length;
for (var i = 0; i < _new_len; i++)
{
if (undefined !== _loaded[this.loadCustomImageMap[i]])
{
this.loadCustomImageMap.splice(i, 1);
i--;
_new_len--;
continue;
}
++_count;
}
if (_count > 0)
{
......@@ -6302,16 +6638,13 @@ asc_docs_api.prototype.GetSectionInfo = function()
return obj;
}
asc_docs_api.prototype.SetViewMode = function( isViewMode, isNotSendOnCoAuthoringServer )
asc_docs_api.prototype.SetViewMode = function( isViewMode )
{
if (!isNotSendOnCoAuthoringServer && this.ServerIdWaitComplete && this.ServerImagesWaitComplete)
this.CoAuthoringApi.set_isViewerMode (isViewMode);
if (isViewMode)
{
this.isViewMode = true;
this.ShowParaMarks = false;
this.isShowTableEmptyLine = false;
//this.isShowTableEmptyLine = false;
//this.WordControl.m_bIsRuler = true;
this.WordControl.m_oDrawingDocument.ClearCachePages();
this.WordControl.HideRulers();
......@@ -6325,6 +6658,13 @@ asc_docs_api.prototype.SetViewMode = function( isViewMode, isNotSendOnCoAuthorin
this.FontLoader.LoadDocumentFonts(this.WordControl.m_oLogicDocument.Fonts, true);
return;
}
if ( this.bInit_word_control === true )
{
CollaborativeEditing.Apply_Changes();
CollaborativeEditing.Release_Locks();
}
this.isUseEmbeddedCutFonts = false;
this.isViewMode = false;
......@@ -6425,15 +6765,6 @@ asc_docs_api.prototype.OfflineAppDocumentEndLoad = function()
editor.OpenDocument(documentUrl, window["editor_bin"]);
else
editor.OpenDocument2(documentUrl, window["editor_bin"]);
//callback
editor.DocumentOrientation = (null == editor.WordControl.m_oLogicDocument) ? true : !editor.WordControl.m_oLogicDocument.Orientation;
var sizeMM;
if(editor.DocumentOrientation)
sizeMM = DocumentPageSize.getSize(Page_Width, Page_Height);
else
sizeMM = DocumentPageSize.getSize(Page_Height, Page_Width);
editor.sync_DocSizeCallback(sizeMM.w_mm, sizeMM.h_mm);
editor.sync_PageOrientCallback(editor.get_DocumentOrientation());
}
asc_docs_api.prototype.SetDrawImagePlaceParagraph = function(element_id, props)
......@@ -6514,10 +6845,20 @@ function _onSpellCheck_Callback2 (response)
})
};*/
function sendCommand(editor, fCallback, rdata){
var sData;
//json не должен превышать размера g_nMaxJsonLength, иначе при его чтении будет exception
if(null != rdata["data"] && "string" === typeof(rdata["data"]) && rdata["data"].length > g_nMaxJsonLengthChecked)
{
var sTemp = rdata["data"];
rdata["data"] = null;
sData = "mnuSaveAs" + cCharDelimiter + JSON.stringify(rdata) + cCharDelimiter + sTemp;
}
else
sData = JSON.stringify(rdata);
asc_ajax({
type: 'POST',
url: g_sMainServiceLocalUrl,
data: rdata,
data: sData,
error: function(jqXHR, textStatus, errorThrown){
editor.asc_fireCallback("asc_onError",c_oAscError.ID.Unknown,c_oAscError.Level.Critical);
if(fCallback)
......@@ -6525,9 +6866,9 @@ function sendCommand(editor, fCallback, rdata){
},
success: function(msg){
var incomeObject = JSON.parse(msg);
switch(incomeObject.type){
switch(incomeObject["type"]){
case "open":
var sJsonUrl = g_sResourceServiceLocalUrl + incomeObject.data;
var sJsonUrl = g_sResourceServiceLocalUrl + incomeObject["data"];
asc_ajax({
url: sJsonUrl,
dataType: "text",
......@@ -6549,15 +6890,6 @@ function sendCommand(editor, fCallback, rdata){
editor.OpenDocument(url, result);
else
editor.OpenDocument2(url, result);
//callback
editor.DocumentOrientation = (null == editor.WordControl.m_oLogicDocument) ? true : !editor.WordControl.m_oLogicDocument.Orientation;
var sizeMM;
if(editor.DocumentOrientation)
sizeMM = DocumentPageSize.getSize(Page_Width, Page_Height);
else
sizeMM = DocumentPageSize.getSize(Page_Height, Page_Width);
editor.sync_DocSizeCallback(sizeMM.w_mm, sizeMM.h_mm);
editor.sync_PageOrientCallback(editor.get_DocumentOrientation());
if(fCallback)
fCallback(incomeObject);
},
......@@ -6570,20 +6902,20 @@ function sendCommand(editor, fCallback, rdata){
break;
case "needparams":
var rData = {"id":documentId, "format": documentFormat, "vkey": documentVKey, "editorid": c_oEditorId.Word, "c":"reopen", "url": documentUrl, "title": documentTitle, "codepage": 0, "embeddedfonts": editor.isUseEmbeddedCutFonts};
sendCommand(editor, fCallback, JSON.stringify(rData))
sendCommand(editor, fCallback, rData)
break;
case "waitopen":
if (incomeObject.data)
if (incomeObject["data"])
{
editor._lastConvertProgress = incomeObject.data / 2;
editor._lastConvertProgress = incomeObject["data"] / 2;
editor.sync_SendProgress(editor._lastConvertProgress);
}
var rData = {"id":documentId, "format": documentFormat, "vkey": documentVKey, "editorid": c_oEditorId.Word, "c":"chopen"};
setTimeout( function(){sendCommand(editor, fCallback, JSON.stringify(rData))}, 3000);
setTimeout( function(){sendCommand(editor, fCallback, rData)}, 3000);
break;
case "changes":
//var rData = {"id":documentId, "c":"sfc", "outputformat": c_oAscFileType.DOCX};
//sendCommand(editor, fCallback, JSON.stringify(rData));
//sendCommand(editor, fCallback, rData);
if(fCallback)
fCallback(incomeObject);
......@@ -6596,32 +6928,52 @@ function sendCommand(editor, fCallback, rdata){
break;
case "waitsave":
{
var rData = {"id":documentId, "title": documentTitleWithoutExtention, "c":"chsave", "data": incomeObject.data};
setTimeout( function(){sendCommand(editor, fCallback, JSON.stringify(rData))}, 3000);
var rData = {"id":documentId, "vkey": documentVKey, "title": documentTitleWithoutExtention, "c":"chsave", "data": incomeObject["data"]};
setTimeout( function(){sendCommand(editor, fCallback, rData)}, 3000);
}
break;
case "savepart":
var outputData = JSON.parse(incomeObject.data);
_downloadAs(editor, outputData.format, fCallback, false, outputData.savekey);
break;
case "imgurl":
if(fCallback)
fCallback(incomeObject);
var outputData = JSON.parse(incomeObject["data"]);
_downloadAs(editor, outputData["format"], fCallback, false, outputData["savekey"]);
break;
case "getsettings":
if(fCallback)
fCallback(incomeObject);
break;
case "err":
editor.asc_fireCallback("asc_onError", _mapAscServerErrorToAscError(parseInt(incomeObject.data)), c_oAscError.Level.Critical);
var nErrorLevel = c_oAscError.Level.NoCritical;
//todo передалеть работу с callback
if("getsettings" == rdata["c"] || "open" == rdata["c"] || "chopen" == rdata["c"] || "create" == rdata["c"])
nErrorLevel = c_oAscError.Level.Critical;
editor.asc_fireCallback("asc_onError", _mapAscServerErrorToAscError(parseInt(incomeObject["data"])), nErrorLevel);
if(fCallback)
fCallback(incomeObject);
break;
default:
if(fCallback)
fCallback(incomeObject);
break;
}
}
})
};
function sendTrack(fCallback, url, rdata){
asc_ajax({
type: 'POST',
url: url,
data: rdata,
error: function(jqXHR, textStatus, errorThrown){
if(fCallback)
fCallback();
},
success: function(msg){
var incomeObject = JSON.parse(msg);
if(fCallback)
fCallback(incomeObject);
}
})
};
function _downloadAs(editor, filetype, fCallback, bStart, sSaveKey)
{
var sData;
......@@ -6638,37 +6990,26 @@ function _downloadAs(editor, filetype, fCallback, bStart, sSaveKey)
if(dd.isComleteRenderer2())
{
if(false == bStart)
{
oAdditionalData["savetype"] = "complete";
sData = "mnuSaveAs" + cCharDelimiter + JSON.stringify(oAdditionalData) + cCharDelimiter + dd.ToRendererPart();
}
else
{
oAdditionalData["savetype"] = "completeall";
sData = "mnuSaveAs" + cCharDelimiter + JSON.stringify(oAdditionalData) + cCharDelimiter + dd.ToRendererPart();
}
}
else
{
if(false == bStart)
{
oAdditionalData["savetype"] = "part";
sData = "mnuSaveAs" + cCharDelimiter + JSON.stringify(oAdditionalData) + cCharDelimiter + dd.ToRendererPart();
}
else
{
oAdditionalData["savetype"] = "partstart";
sData = "mnuSaveAs" + cCharDelimiter + JSON.stringify(oAdditionalData) + cCharDelimiter + dd.ToRendererPart();
}
}
sendCommand(editor, fCallback, sData);
oAdditionalData["data"] = dd.ToRendererPart();
sendCommand(editor, fCallback, oAdditionalData);
}
else
{
var oBinaryFileWriter = new BinaryFileWriter(editor.WordControl.m_oLogicDocument);
oAdditionalData["savetype"] = "completeall";
sData = "mnuSaveAs" + cCharDelimiter + JSON.stringify(oAdditionalData) + cCharDelimiter + oBinaryFileWriter.Write();
sendCommand(editor, fCallback, sData);
oAdditionalData["data"] = oBinaryFileWriter.Write();
sendCommand(editor, fCallback, oAdditionalData);
}
};
......@@ -6715,6 +7056,7 @@ function _mapAscServerErrorToAscError(nServerError)
case c_oAscServerError.TaskResult : nRes = c_oAscError.ID.Database;break;
case c_oAscServerError.ConvertDownload : nRes = c_oAscError.ID.DownloadError;break;
case c_oAscServerError.ConvertTimeout : nRes = c_oAscError.ID.ConvertationTimeout;break;
case c_oAscServerError.ConvertMS_OFFCRYPTO : nRes = c_oAscError.ID.ConvertationPassword;break;
case c_oAscServerError.ConvertUnknownFormat :
case c_oAscServerError.ConvertReadFile :
case c_oAscServerError.Convert : nRes = c_oAscError.ID.ConvertationError;break;
......@@ -6841,73 +7183,45 @@ CErrorData.prototype.get_Value = function() { return this.Value; };
// Вставка диаграмм
asc_docs_api.prototype.asc_getChartObject = function()
{
this.isChartEditor = true;
var chart = this.WordControl.m_oLogicDocument.Get_ChartObject();
if ( chart.type != "" )
this.WordControl.m_oLogicDocument.Document_Is_SelectionLocked(changestype_Drawing_Props);
else
this.WordControl.m_oLogicDocument.Document_Is_SelectionLocked(changestype_Paragraph_Content);
chart["themeColors"] = [];
this.isChartEditor = true; // Для совместного редактирования
var graphicObject = this.WordControl.m_oLogicDocument.Get_ChartObject();
for (var i = 0; i < this.WordControl.m_oDrawingDocument.GuiControlColorsMap.length; i++) {
chart["themeColors"].push( this.WordControl.m_oDrawingDocument.GuiControlColorsMap[i].get_hex() );
graphicObject.chart.themeColors.push( this.WordControl.m_oDrawingDocument.GuiControlColorsMap[i].get_hex() );
}
return chart;
return graphicObject;
}
asc_docs_api.prototype.asc_addChartDrawingObject = function(chart)
asc_docs_api.prototype.asc_addChartDrawingObject = function(chartBinary)
{
if ( false === this.WordControl.m_oLogicDocument.Document_Is_SelectionLocked(changestype_Paragraph_Content) )
{
History.Create_NewPoint();
var diagramm = new CChartData(true);
diagramm.deserializeChart(chart);
diagramm.putToHistory();
var _image = this.ImageLoader.LoadImage(_getFullImageSrc(diagramm.img), 1);
if (null != _image)
{
this.WordControl.m_oLogicDocument.Add_InlineImage( this.WordControl.m_oLogicDocument.DrawingDocument.GetMMPerDot(diagramm.width),
this.WordControl.m_oLogicDocument.DrawingDocument.GetMMPerDot(diagramm.height), null, diagramm );
}
else
/**/
// Приводим бинарик к объекту типа CChartAsGroup и добавляем объект
if ( isObject(chartBinary) )
{
var binary = chartBinary["binary"];
if ( false === this.WordControl.m_oLogicDocument.Document_Is_SelectionLocked(changestype_Paragraph_Content) )
{
this.sync_StartAction(c_oAscAsyncActionType.Information, c_oAscAsyncAction.LoadImage);
this.asyncImageEndLoaded2 = function(_image)
{
this.WordControl.m_oLogicDocument.Add_InlineImage( this.WordControl.m_oLogicDocument.DrawingDocument.GetMMPerDot(diagramm.width),
this.WordControl.m_oLogicDocument.DrawingDocument.GetMMPerDot(diagramm.height), null, diagramm);
this.sync_EndAction(c_oAscAsyncActionType.Information, c_oAscAsyncAction.LoadImage);
}
History.Create_NewPoint();
this.WordControl.m_oLogicDocument.Add_InlineImage( null, null, null, binary );
}
}
}
}
asc_docs_api.prototype.asc_editChartDrawingObject = function(chart)
asc_docs_api.prototype.asc_editChartDrawingObject = function(chartBinary)
{
if ( false === this.WordControl.m_oLogicDocument.Document_Is_SelectionLocked(changestype_Paragraph_Content) )
{
History.Create_NewPoint();
var diagramm = new CChartData(true);
diagramm.deserializeChart(chart);
diagramm.putToHistory();
var _image = this.ImageLoader.LoadImage(_getFullImageSrc(diagramm.img), 1);
if (null != _image)
{
this.WordControl.m_oLogicDocument.Edit_Chart( diagramm );
}
else
/**/
// Находим выделенную диаграмму и накатываем бинарник
if ( isObject(chartBinary) )
{
var binary = chartBinary["binary"];
if ( false === this.WordControl.m_oLogicDocument.Document_Is_SelectionLocked(changestype_Paragraph_Content) )
{
this.sync_StartAction(c_oAscAsyncActionType.Information, c_oAscAsyncAction.LoadImage);
this.asyncImageEndLoaded2 = function(_image)
{
this.WordControl.m_oLogicDocument.Edit_Chart( diagramm );
this.sync_EndAction(c_oAscAsyncActionType.Information, c_oAscAsyncAction.LoadImage);
}
History.Create_NewPoint();
this.WordControl.m_oLogicDocument.Edit_Chart(binary);
}
}
}
}
asc_docs_api.prototype.asc_getChartPreviews = function(chartType, chartSubType)
......@@ -6920,4 +7234,14 @@ asc_docs_api.prototype.asc_getChartPreviews = function(chartType, chartSubType)
asc_docs_api.prototype.sync_closeChartEditor = function()
{
this.asc_fireCallback("asc_onCloseChartEditor");
}
\ No newline at end of file
}
asc_docs_api.prototype.asc_setDrawCollaborationMarks = function (bDraw)
{
if ( bDraw !== this.isCoMarksDraw )
{
this.isCoMarksDraw = bDraw;
this.WordControl.m_oDrawingDocument.ClearCachePages();
this.WordControl.m_oDrawingDocument.FirePaint();
}
}
......@@ -48,8 +48,7 @@ CFraction.prototype.getCenter = function()
if(this.type == BAR_FRACTION || this.type == NO_BAR_FRACTION)
{
//var penW = this.getTxtPrp().FontSize* 25.4/96 * 0.08 /2;
var penW = this.getPrpToControlLetter().FontSize* 25.4/96 * 0.08 /2;
var penW = this.getCtrPrp().FontSize* 25.4/96 * 0.08 /2;
center = this.elements[0][0].size.height + penW;
}
else if(this.type == SKEWED_FRACTION)
......@@ -74,7 +73,7 @@ CFraction.prototype.draw = function(pGraphics)
}
CFraction.prototype.drawBarFraction = function(pGraphics)
{
var ctrPrp = this.getPrpToControlLetter();
var ctrPrp = this.getCtrPrp();
var penW = ctrPrp.FontSize* this.reduct* 25.4/96 * 0.08;
var x1 = this.pos.x,
......@@ -94,8 +93,8 @@ CFraction.prototype.drawBarFraction = function(pGraphics)
}
CFraction.prototype.drawSkewedFraction = function(pGraphics)
{
var ctrPrp = this.getPrpToControlLetter();
//var fontSize = this.getTxtPrp().FontSize;
var ctrPrp = this.getCtrPrp();
var penW = ctrPrp.FontSize/12.5*g_dKoef_pix_to_mm;
var gap = this.gapSlash/2 - penW/7.5;
......@@ -199,7 +198,7 @@ CFraction.prototype.drawLinearFraction = function(pGraphics)
x2 = this.pos.x + this.elements[0][0].size.width + shift,
y2 = this.pos.y + this.size.center + desc;
var ctrPrp = this.getPrpToControlLetter();
var ctrPrp = this.getCtrPrp();
var penW = ctrPrp.FontSize/12.5*g_dKoef_pix_to_mm;
pGraphics.SetFont(ctrPrp);
......@@ -248,7 +247,7 @@ CFraction.prototype.recalculateSize = function()
}
CFraction.prototype.recalculateSkewed = function()
{
var ctrPrp = this.getPrpToControlLetter();
var ctrPrp = this.getCtrPrp();
this.gapSlash = 5.011235894097222 * ctrPrp.FontSize/36;
var _width = this.elements[0][0].size.width + this.gapSlash + this.elements[0][1].size.width;
var _height = this.elements[0][0].size.height + this.elements[0][1].size.height;
......@@ -260,7 +259,7 @@ CFraction.prototype.recalculateLinear = function()
{
var H = this.elements[0][0].size.center + this.elements[0][1].size.height - this.elements[0][1].size.center;
//var txtPrp = this.getTxtPrp();
var ctrPrp = this.getPrpToControlLetter();
var ctrPrp = this.getCtrPrp();
var gap = 5.011235894097222*ctrPrp.FontSize/36;
......@@ -393,6 +392,7 @@ CNumerator.prototype.recalculateSize = function()
var arg = this.elements[0][0].size;
//var txtPrp = this.getTxtPrp();
//txtPrp.FontSize *= this.Parent.reduct;
var ctrPrp = this.getCtrPrp();
var Descent = arg.height - arg.ascent; // baseLine
......@@ -454,6 +454,7 @@ CDenominator.prototype.recalculateSize = function()
var arg = this.elements[0][0].size;
/*var txtPrp = this.getTxtPrp();
txtPrp.FontSize *= this.Parent.reduct;*/
var ctrPrp = this.getCtrPrp();
var gap = 7.832769097222222 * ctrPrp.FontSize/36,
......
......@@ -99,8 +99,7 @@ CLimit.prototype.getIterator = function()
}
CLimit.prototype.setDistance = function()
{
//this.dH = 0.03674768518518519*this.getTxtPrp().FontSize;
this.dH = 0.03674768518518519*this.getPrpToControlLetter().FontSize;
this.dH = 0.03674768518518519*this.getCtrPrp().FontSize;
}
......@@ -157,8 +156,7 @@ CMathFunc.prototype.init = function()
}
CMathFunc.prototype.setDistance = function()
{
//this.dW = this.getTxtPrp().FontSize/6*g_dKoef_pt_to_mm;
this.dW = this.getPrpToControlLetter().FontSize/6*g_dKoef_pt_to_mm;
this.dW = this.getCtrPrp().FontSize/6*g_dKoef_pt_to_mm;
}
CMathFunc.prototype.getFName = function()
{
......
......@@ -501,6 +501,9 @@ CMathContent.prototype =
{
var elem = new mathElem(obj);
if(obj.typeObj === MATH_COMP)
obj.setComposition(this.Composition);
var bDef = typeof(shift) !== "undefined" && shift !== null;
var bNum = shift === shift - 0;
var bCont = bNum ? ( this.CurPos + shift >= 0 && this.CurPos + shift < this.content.length) : false;
......@@ -527,6 +530,15 @@ CMathContent.prototype =
{
this.Composition = Composition;
},
setReferenceComp: function(Comp) // отличие от setComposition: ссылка на общую формулу передается всем элементам контента
{
this.Composition = Comp;
for(var i = 0; i < this.content.length; i++)
{
if(this.content[i].value.type == MATH_COMP)
this.contetn[i].value.setReferenceComp(Comp);
}
},
createEquation: function(ind)
{
var Pos = this.CurPos + 1;
......@@ -4374,9 +4386,11 @@ CMathContent.prototype =
}
else if(order == -2)
{
this.setStart_Selection(this.CurPos + 1);
/*this.setStart_Selection(this.CurPos + 1);
this.setEnd_Selection(this.CurPos - 1);
this.selection.active = false;
this.selection.active = false;*/
this.removeFormula(this.CurPos);
SelectContent = this;
CurrContent = null; // т.к. пришли из другого контента
......@@ -4387,6 +4401,214 @@ CMathContent.prototype =
return {CurrContent : CurrContent, SelectContent: SelectContent, state: state, items: items};
},
remove_internal: function(order)
{
var bDelete = false;
var bSelect = this.selection.startPos !== this.selection.endPos;
var currType = this.content[this.CurPos].value.typeObj,
prevType = this.CurPos > 1 ? this.content[this.CurPos - 1].value.typeObj : null,
prev2_Type = this.CurPos > 2 ? this.content[this.CurPos - 2].value.typeObj : null,
nextType = this.CurPos + 1 < this.content.length ? this.content[this.CurPos + 1].value.typeObj : null,
next2_Type = this.CurPos + 2 < this.content.length ? this.content[this.CurPos + 2].value.typeObj : null,
next3_Type = this.CurPos + 3 < this.content.length ? this.content[this.CurPos + 3].value.typeObj : null;
var bDirectlyBegin = this.CurPos == 0 || (currType == MATH_EMPTY && this.CurPos == 1) && bMEDirect,
bReverseEnd = this.CurPos == this.content.length - 1 && bMEReverse;
var bNotRemove = bDirectlyBegin || bReverseEnd;
var bMEDirect = order == 1,
bMEReverse = order == -1;
// directly
var bDirectly_CurrComp = bMEDirect && currType == MATH_EMPTY && prevType == MATH_COMP ,
bDirectly_RPrpComp = bMEDirect && currType == MATH_RUN_PRP && prevType == MATH_EMPTY && prev2_Type == MATH_COMP;
// reverse
var bReverseComp = bMEReverse && nextType == MATH_COMP && next2_Type == MATH_EMPTY;
//
var bRemoveFormula = (bDirectly_CurrComp|| bDirectly_RPrpComp || bReverseComp) && !bSelect;
// NB !
// учесть случаи :
// 1. если нажата delete и справа стоят RunPrp
// 2. если все текстовые элементы удалили из Run, нужно удалить RunPrp (delete и backspace)
if(bRemoveFormula)
{
var pos;
if(bMEReverse)
pos = this.CurPos + 1;
else if(bDirectly_CurrComp)
pos = this.CurPos - 1;
else if(bDirectly_RPrpComp)
pos = this.CurPos - 2;
this.removeFormula(pos);
/* var start, end;
if(bDirectly_CurrComp) // directly, only composition
{
start = this.CurPos;
end = this.CurPos - 2;
}
else if(bReverseComp && !bAfterRPrp) // reverse, only composition
{
start = this.CurPos;
end = this.CurPos + 2;
}
else // composition + RunPrp(after)
{
var bSelectRunPrp = false;
var bDirectlySearch = prev3_Type === MATH_TEXT && bDirectly_RPrpComp, // перед мат. объектом текст, а после RunPrp
bReverseSeach = currType === MATH_TEXT && bMEReverse && bAfterRPrp;
if(bDirectlySearch || bReverseSeach)
{
var shift;
if(bMEDirect)
shift = 3;
else
shift = 0;
for(var i = this.CurPos - shift; i > 0; i--)
{
if(this.content[i].value.typeObj === MATH_RUN_PRP)
{
currRPrp = this.content[this.CurPos + shift].value;
prevRPrp = this.content[i].value;
bSelectRunPrp = currRPrp.isEqual(currRPrp, prevRPrp);
break;
}
}
}
if(bMEDirect)
{
if(bSelectRunPrp)
{
start = this.CurPos;
end = this.CurPos - 3;
}
else
{
start = this.CurPos - 1;
end = this.CurPos - 3;
}
}
else
{
if(bSelectRunPrp)
{
start = this.CurPos - 1;
end = this.CurPos + 2;
}
else
{
start = this.CurPos - 1;
end = this.CurPos + 1;
}
}
}
this.setStart_Selection(start);
this.setEnd_Selection(end);
this.selection.active = false;*/
}
// TO DO
// переделать !
// можно проще, как для случая с формулой
else if(!bNotRemove)
{
var start, end;
var bDirRPrp = currType === MATH_RUN_PRP && bMEDirect,
bRevRPrp = nextType === MATH_RUN_PRP && bMEReverse;
if(bDirRPrp) // проверку на начало прошли
{
start = this.CurPos - 1;
end = this.CurPos;
}
else if(bRevRPrp) // на всякий случай, может получится, что после удаления элемента, стоим после RunPrp
{
start = this.CurPos + 2;
end = this.CurPos + 3;
}
else if(bSelect)
{
start = this.selection.startPos;
end = this.selection.endPos;
var tmp;
if(start > end)
{
tmp = start;
start = end;
end = tmp;
}
}
else if(bMEReverse)
{
if(nextType == MATH_RUN_PRP && next3_Type !== MATH_TEXT) //единственная буква в Run
{
start = this.CurPos;
end = this.CurPos + 2;
}
else
{
start = this.CurPos + 1;
end = this.CurPos + 2;
}
}
else
{
if(prevType == MATH_RUN_PRP && nextType !== MATH_TEXT) //единственная буква в Run
{
start = this.CurPos - 1;
end = this.CurPos + 1;
}
else
{
start = this.CurPos;
end = this.CurPos + 1;
}
}
items = this.content.splice(start, end - start);
if(!TEST)
{
History.Create_NewPoint();
//items = this.content.splice(start, end - start);
History.Add(this, {Type: historyitem_Math_RemoveItem, Items: items, Pos: start});
}
if(bSelect)
this.CurPos = this.selection.startPos - 1;
else if(bMEDirect)
this.CurPos -= end - start;
this.setStart_Selection(this.CurPos);
this.selection.active = false;
bDelete = true;
}
return {bDelete: bDelete, items: items};
},
old_remove_internal: function(order)
{
var bDelete = false;
var bSelect = this.selection.startPos !== this.selection.endPos;
......@@ -4398,9 +4620,10 @@ CMathContent.prototype =
next2_Type = this.CurPos + 2 < this.content.length ? this.content[this.CurPos + 2].value.typeObj : null,
next3_Type = this.CurPos + 3 < this.content.length ? this.content[this.CurPos + 3].value.typeObj : null;
var bDirBeginning = this.CurPos == 0 || (currType == MATH_EMPTY && this.CurPos == 1) && bMEDirect,
var bDirectlyBegin = this.CurPos == 0 || (currType == MATH_EMPTY && this.CurPos == 1) && bMEDirect,
bReverseEnd = this.CurPos == this.content.length - 1 && bMEReverse;
var bNotRemove = bDirectlyBegin || bReverseEnd;
// directly
......@@ -4504,7 +4727,7 @@ CMathContent.prototype =
this.selection.active = false;
}
else if( !bDirBeginning && !bReverseEnd )
else if(!bNotRemove)
{
var start, end;
......@@ -4581,7 +4804,62 @@ CMathContent.prototype =
return {bDelete: bDelete, items: items};
},
old_remove_internal: function(order)
removeFormula: function(pos)
{
var result = false;
var currType = this.content[pos].value.typeObj,
prevType = pos > 1 ? this.content[pos - 1].value.typeObj : null,
nextType = pos + 1 < this.content.length ? this.content[pos + 1].value.typeObj : null,
next2_Type = pos + 2 < this.content.length ? this.content[pos + 2].value.typeObj : null;
var bMFormula = currType == MATH_COMP && nextType == MATH_EMPTY;
var bAfterRPrp = next2_Type == MATH_RUN_PRP,
bPrevTxt = prevType == MATH_TEXT;
var bRemoveRPrp = bAfterRPrp && bPrevTxt;
if(bMFormula)
{
var start, end;
var bSelectRunPrp = false;
if(bRemoveRPrp)
{
for(var i = pos - 1; i > 0; i--)
{
if(this.content[i].value.typeObj === MATH_RUN_PRP)
{
currRPrp = this.content[pos+2].value;
prevRPrp = this.content[i].value;
bSelectRunPrp = currRPrp.isEqual(currRPrp, prevRPrp);
break;
}
}
}
if(bSelectRunPrp)
{
start = pos - 1;
end = pos + 2;
}
else
{
start = pos - 1;
end = pos + 1;
}
this.setStart_Selection(start);
this.setEnd_Selection(end);
this.selection.active = false;
result = true;
}
return result;
},
old_old_remove_internal: function(order)
{
//var bMEDirect = order == 1 && this.content[this.CurPos].value.empty,
var bMEDirect = order == 1 && currType === MATH_EMPTY, // работает, если только в конце формулы стоим или после идет еще одна формула
......@@ -5024,14 +5302,15 @@ CMathContent.prototype =
}
else if(this.content[1].value.typeObj === MATH_COMP)
{
var ctrPrp = this.content[1].value.getCtrPrp();
//var ctrPrp = this.content[1].value.getCtrPrp();
var ctrPrp = this.content[1].value.getCtrPrp_2();// иначе зациклимся на getCtrPrp
txtPrp.Merge(ctrPrp);
}
}
return txtPrp;
},
old_checkRunPrp: function()
old_old_checkRunPrp: function()
{
var bEmpty = this.IsEmpty(),
OnlyRunPrp = this.content.length == 2 && this.content[1].value.typeObj == MATH_RUN_PRP;
......@@ -5060,7 +5339,7 @@ CMathContent.prototype =
}
},
checkRunPrp: function()
old_checkRunPrp: function()
{
var bEmpty = this.IsEmpty(),
OnlyRunPrp = this.content.length == 2 && this.content[1].value.typeObj == MATH_RUN_PRP,
......@@ -5188,7 +5467,7 @@ CMathContent.prototype =
var rPrp = new CTextPr();
rPrp.Italic = flag;
if(bEmpty)
if(this.IsEmpty())
{
this.addRunPrp(rPrp);
}
......@@ -5201,6 +5480,46 @@ CMathContent.prototype =
}
}
},
addRPrpForSelect: function(rPrp)
{
var start = this.selection.startPos,
end = this.selection.endPos;
if(start > end)
{
var temp = start;
start = end;
end = temp;
}
for(var i = start; i < end; i++)
{
var obj = this.content[i].value;
if(obj.typeObj == MATH_RUN_PRP)
{
obj.Merge(rPrp);
}
else if(obj.typeObj == MATH_COMP)
{
obj.addRPrp(rPrp);
}
}
},
addRPrp: function(rPrp)
{
for(var i = 0; i < this.content.length; i++)
{
var obj = this.content[i].value;
if(obj.typeObj == MATH_RUN_PRP)
{
obj.Merge(rPrp);
}
else if(obj.typeObj == MATH_COMP)
{
obj.addRPrp(rPrp);
}
}
},
////////////////////////
//////// /////////
......@@ -5453,19 +5772,9 @@ CMathContent.prototype =
return content;
},
IsEmpty: function()
{
return this.content.length == 1;
},
setReferenceComp: function(Comp)
{
this.Composition = Comp;
for(var i = 0; i < this.content.length; i++)
{
if(this.content[i].value.type == MATH_COMP)
this.contetn[i].value.setReferenceComp(Comp);
}
}
}
//todo
......@@ -5858,7 +6167,7 @@ CMathComposition.prototype =
editor.WordControl.m_oLogicDocument.DrawingDocument.SelectEnabled(false);
}
},
SetTxtPrp: function(txtPrp)
old_SetTxtPrp: function(txtPrp)
{
this.SelectContent.changeTxtPrp(txtPrp, false);
//this.SelectContent.setTxtPrp(txtPrp, false);
......@@ -6108,7 +6417,7 @@ CMathComposition.prototype =
this.CreateEquation2(indef);
// временно
//this.RecalculateReverse();
this.Root.Resize();
//this.Root.Resize();
this.UpdatePosition();
},
RecalculateComposition: function()
......
......@@ -4,8 +4,7 @@ function CMathMatrix()
this.lineGapRow = 1;
this.gaps = null;
this.plcHide = false;
this.row = 0;
this.column = 0;
this.spaceRow =
{
......@@ -29,6 +28,11 @@ function CMathMatrix()
column: new Array()
};
//// special for "read" ////
this.row = 0;
this.column = 0;
////
CMathBase.call(this);
}
extend(CMathMatrix, CMathBase);
......@@ -161,8 +165,7 @@ CMathMatrix.prototype.setRuleGap = function(space, rule, gap, minGap)
}
CMathMatrix.prototype.recalculateSize = function()
{
//var txtPrp = this.getTxtPrp();
var txtPrp = this.getPrpToControlLetter();
var txtPrp = this.getCtrPrp();
var interval = this.getLineGap(txtPrp);
this.gaps.column[0] = 0;
......@@ -466,7 +469,6 @@ CMathMatrix.prototype.baseJustification = function(type)
////
function CEqArray()
{
this.row = 0;
CMathMatrix.call(this);
}
extend(CEqArray, CMathMatrix);
......
......@@ -129,8 +129,7 @@ CNary.prototype.init = function(props)
}
CNary.prototype.setDistance = function()
{
//this.dW = this.getTxtPrp().FontSize/36*2.45;
this.dW = this.getPrpToControlLetter().FontSize/36*2.45;
this.dW = this.getCtrPrp().FontSize/36*2.45;
}
CNary.prototype.getBase = function()
{
......@@ -325,7 +324,7 @@ CNaryUndOvr.prototype.init = function(sign)
CNaryUndOvr.prototype.recalculateSize = function()
{
//var zetta = this.getTxtPrp().FontSize* 25.4/96;
var zetta = this.getPrpToControlLetter().FontSize* 25.4/96;
var zetta = this.getCtrPrp().FontSize* 25.4/96;
this.gapTop = zetta*0.25;
this.gapBottom = zetta*0.1;
......@@ -419,7 +418,6 @@ CNaryUndOvr.prototype.getUpperIterator = function()
function CNaryOperator(flip)
{
this.Composition = null;
this.TxtPrp = new CMathTextPrp();
this.bFlip = (flip == -1);
this.sizeGlyph = null;
}
......@@ -434,7 +432,7 @@ CNaryOperator.prototype.draw = function(pGraphics)
YY = new Array();
//var textScale = this.getTxtPrp().FontSize/850; // 1000 pt
var textScale = this.getPrpToControlLetter().FontSize/850; // 1000 pt
var textScale = this.getCtrPrp().FontSize/850; // 1000 pt
var alpha = textScale*25.4/96 /64; // коэффициент; используется для того чтобы перевести координаты в миллиметры
// g_dKoef_px_to_mm = 25.4/96
......@@ -497,22 +495,14 @@ CNaryOperator.prototype.Resize = function()
{
this.recalculateSize();
}
CNaryOperator.prototype.setTxtPrp = function(txtPrp)
{
this.TxtPrp.Merge(txtPrp);
}
CNaryOperator.prototype.setComposition = function(Compos)
{
this.Composition = Compos;
}
CNaryOperator.prototype.getPrpToControlLetter = function()
CNaryOperator.prototype.getCtrPrp = function()
{
return this.Parent.getPrpToControlLetter();
return this.Parent.getCtrPrp();
}
/*CNaryOperator.prototype.getTxtPrp = function()
{
return this.TxtPrp;
}*/
function CSigma()
{
......@@ -630,7 +620,7 @@ CSigma.prototype.getCoord = function()
//var textScale = this.getTxtPrp().FontSize/850; // 1000 pt
var textScale = this.getPrpToControlLetter().FontSize/850; // 1000 pt
var textScale = this.getCtrPrp().FontSize/850; // 1000 pt
var alpha = textScale*25.4/96 /64;
var h1 = Y[0] - Y[21],
......@@ -702,7 +692,7 @@ CSigma.prototype.calculateSizeGlyph = function()
// пока размер не меняем в зависимости от высоты аргумента
//var betta = this.getTxtPrp().FontSize/36;
var betta = this.getPrpToControlLetter().FontSize/36;
var betta = this.getCtrPrp().FontSize/36;
var _width = 8.997900390624999*betta,
_height = 11.994444444444444*betta;
......@@ -834,7 +824,7 @@ CProduct.prototype.getCoord = function()
//var textScale = this.getTxtPrp().FontSize/850, // 1000 pt
var textScale = this.getPrpToControlLetter().FontSize/850, // 1000 pt
var textScale = this.getCtrPrp().FontSize/850, // 1000 pt
alpha = textScale*25.4/96 /64;
var h1 = Y[9],
......@@ -865,7 +855,7 @@ CProduct.prototype.getCoord = function()
CProduct.prototype.calculateSizeGlyph = function()
{
//var betta = this.getTxtPrp().FontSize/36;
var betta = this.getPrpToControlLetter().FontSize/36;
var betta = this.getCtrPrp().FontSize/36;
var _width = 10.312548828125*betta,
_height = 11.994444444444444*betta;
......@@ -908,28 +898,28 @@ CUnion.prototype.getCoord = function()
var X = new Array(),
Y = new Array();
X[0] = 49526.184566929136; Y[0] = 127087.84;
X[1] = 33974.37429971653; Y[1] = 127877.20000000001;
X[2] = 25226.481024409448; Y[2] = 120034.20000000001;
X[3] = 15996.016171708661; Y[3] = 113190.09;
X[4] = 15301.25; Y[4] = 95025.84;
X[5] = 15301.25; Y[5] = 0;
X[6] = 7100; Y[6] = 0;
X[7] = 7100; Y[7] = 94775.84;
X[8] = 7100; Y[8] = 117815.09;
X[9] = 21524.90275275591; Y[9] = 127165.84;
X[10] = 31605.36420585827; Y[10] = 135801.88;
X[11] = 49526.184566929136; Y[11] = 135775.84;
X[12] = 67447.00492800001; Y[12] = 135801.88;
X[13] = 77527.46638110236; Y[13] = 127165.84;
X[14] = 91952.36913385827; Y[14] = 117815.09;
X[15] = 91952.36913385827; Y[15] = 94775.84;
X[16] = 91952.36913385827; Y[16] = 0;
X[17] = 83751.11913385827; Y[17] = 0;
X[18] = 83751.11913385827; Y[18] = 95025.84;
X[19] = 83056.35296214961; Y[19] = 113190.09;
X[20] = 73825.88810944883; Y[20] = 120034.20000000001;
X[21] = 65077.99483414174; Y[21] = 127877.20000000001;
X[0] = 49526.184566929136; Y[0] = 127087.84;
X[1] = 33974.37429971653; Y[1] = 127877.20000000001;
X[2] = 25226.481024409448; Y[2] = 120034.20000000001;
X[3] = 15996.016171708661; Y[3] = 113190.09;
X[4] = 15301.25; Y[4] = 95025.84;
X[5] = 15301.25; Y[5] = 0;
X[6] = 7100; Y[6] = 0;
X[7] = 7100; Y[7] = 94775.84;
X[8] = 7100; Y[8] = 117815.09;
X[9] = 21524.90275275591; Y[9] = 127165.84;
X[10] = 31605.36420585827; Y[10] = 135801.88;
X[11] = 49526.184566929136; Y[11] = 135775.84;
X[12] = 67447.00492800001; Y[12] = 135801.88;
X[13] = 77527.46638110236; Y[13] = 127165.84;
X[14] = 91952.36913385827; Y[14] = 117815.09;
X[15] = 91952.36913385827; Y[15] = 94775.84;
X[16] = 91952.36913385827; Y[16] = 0;
X[17] = 83751.11913385827; Y[17] = 0;
X[18] = 83751.11913385827; Y[18] = 95025.84;
X[19] = 83056.35296214961; Y[19] = 113190.09;
X[20] = 73825.88810944883; Y[20] = 120034.20000000001;
X[21] = 65077.99483414174; Y[21] = 127877.20000000001;
X[22] = 49526.184566929136; Y[22] = 127087.84;
return {X: X, Y: Y};
......@@ -937,7 +927,7 @@ CUnion.prototype.getCoord = function()
CUnion.prototype.calculateSizeGlyph = function()
{
//var betta = this.getTxtPrp().FontSize/36;
var betta = this.getPrpToControlLetter().FontSize/36;
var betta = this.getCtrPrp().FontSize/36;
this.gap = 0.93*betta;
var _width = 9.38*betta,
......@@ -1056,7 +1046,7 @@ CLogicalOr.prototype.getCoord = function()
X[7] = 0; Y[7] = 0;
//var textScale = this.getTxtPrp().FontSize/850, // 1000 pt
var textScale = this.getPrpToControlLetter().FontSize/850, // 1000 pt
var textScale = this.getCtrPrp().FontSize/850, // 1000 pt
alpha = textScale*25.4/96 /64;
var w1 = X[1],
......@@ -1088,7 +1078,7 @@ CLogicalOr.prototype.getCoord = function()
CLogicalOr.prototype.calculateSizeGlyph = function()
{
//var betta = this.getTxtPrp().FontSize/36;
var betta = this.getPrpToControlLetter().FontSize/36;
var betta = this.getCtrPrp().FontSize/36;
var _width = 9.6159*betta,
_height = 11.994444444444444*betta;
......@@ -1318,7 +1308,7 @@ CIntegral.prototype.old_drawPath = function(XX, YY)
CIntegral.prototype.calculateSizeGlyph = function()
{
//var betta = this.getTxtPrp().FontSize/36;
var betta = this.getPrpToControlLetter().FontSize/36;
var betta = this.getCtrPrp().FontSize/36;
var _width = 8.624*betta,
_height = 13.7*betta;
......@@ -1359,7 +1349,7 @@ CDoubleIntegral.prototype.drawPath = function(pGraphics, XX, YY)
CDoubleIntegral.prototype.calculateSizeGlyph = function()
{
//var betta = this.getTxtPrp().FontSize/36;
var betta = this.getPrpToControlLetter().FontSize/36;
var betta = this.getCtrPrp().FontSize/36;
var _width = 14.2296*betta,
_height = 13.7*betta;
......@@ -1410,7 +1400,7 @@ CTripleIntegral.prototype.drawPath = function(pGraphics, XX, YY)
CTripleIntegral.prototype.calculateSizeGlyph = function()
{
//var betta = this.getTxtPrp().FontSize/36;
var betta = this.getPrpToControlLetter().FontSize/36;
var betta = this.getCtrPrp().FontSize/36;
var _width = 18.925368*betta,
_height = 13.7*betta;
......@@ -1652,46 +1642,46 @@ old_CCircle.prototype.calculate_drawPath = function(XX, YY)
function CCircle()
{
}
CCircle.prototype.getCoord = function()
{
var X = new Array(),
Y = new Array();
X[0] = 18345.98; Y[0] = 0;
X[1] = 25288.35; Y[1] = 1008.1;
X[2] = 27622.45; Y[2] = 2601.85;
X[3] = 29991.4; Y[3] = 4194.75;
X[4] = 31723.7; Y[4] = 6460.85;
X[5] = 33456.85; Y[5] = 8726.95;
X[6] = 34411.4; Y[6] = 11542.15;
X[7] = 35366.8; Y[7] = 14357.35;
X[8] = 35366.8; Y[8] = 17472.6;
X[9] = 35366.8; Y[9] = 21155.65;
X[10] = 34180.2; Y[10] = 24201.2;
X[11] = 32994.45; Y[11] = 27245.9;
X[12] = 30905.15; Y[12] = 29495;
X[13] = 28816.7; Y[13] = 31743.25;
X[14] = 25949.65; Y[14] = 33159.35;
X[15] = 23294.25; Y[15] = 34469.2;
X[16] = 17035.7; Y[16] = 34770.53;
X[17] = 17035.7; Y[17] = 34770.53;
X[18] = 10029.15; Y[18] = 33832.55;
X[19] = 7655.1; Y[19] = 32203.1;
X[20] = 5209.65; Y[20] = 30539.65;
X[21] = 3525.8; Y[21] = 28309.25;
X[22] = 1842.8; Y[22] = 26078;
X[23] = 921.4; Y[23] = 23334.2;
X[24] = 0; Y[24] = 20589.55;
X[25] = 0; Y[25] = 17509.15;
X[26] = 0; Y[26] = 14003.75;
X[27] = 1133.05; Y[27] = 10959.05;
X[28] = 2266.1; Y[28] = 7913.5;
X[29] = 4318.85; Y[29] = 5576.85;
X[30] = 6372.45; Y[30] = 3240.2;
X[31] = 9275.2; Y[31] = 1752.7;
X[32] = 11930.6; Y[32] = 407.15;
X[0] = 18345.98; Y[0] = 0;
X[1] = 25288.35; Y[1] = 1008.1;
X[2] = 27622.45; Y[2] = 2601.85;
X[3] = 29991.4; Y[3] = 4194.75;
X[4] = 31723.7; Y[4] = 6460.85;
X[5] = 33456.85; Y[5] = 8726.95;
X[6] = 34411.4; Y[6] = 11542.15;
X[7] = 35366.8; Y[7] = 14357.35;
X[8] = 35366.8; Y[8] = 17472.6;
X[9] = 35366.8; Y[9] = 21155.65;
X[10] = 34180.2; Y[10] = 24201.2;
X[11] = 32994.45; Y[11] = 27245.9;
X[12] = 30905.15; Y[12] = 29495;
X[13] = 28816.7; Y[13] = 31743.25;
X[14] = 25949.65; Y[14] = 33159.35;
X[15] = 23294.25; Y[15] = 34469.2;
X[16] = 17035.7; Y[16] = 34770.53;
X[17] = 17035.7; Y[17] = 34770.53;
X[18] = 10029.15; Y[18] = 33832.55;
X[19] = 7655.1; Y[19] = 32203.1;
X[20] = 5209.65; Y[20] = 30539.65;
X[21] = 3525.8; Y[21] = 28309.25;
X[22] = 1842.8; Y[22] = 26078;
X[23] = 921.4; Y[23] = 23334.2;
X[24] = 0; Y[24] = 20589.55;
X[25] = 0; Y[25] = 17509.15;
X[26] = 0; Y[26] = 14003.75;
X[27] = 1133.05; Y[27] = 10959.05;
X[28] = 2266.1; Y[28] = 7913.5;
X[29] = 4318.85; Y[29] = 5576.85;
X[30] = 6372.45; Y[30] = 3240.2;
X[31] = 9275.2; Y[31] = 1752.7;
X[32] = 11930.6; Y[32] = 407.15;
X[33] = 18345.98; Y[33] = 0;
......@@ -1706,7 +1696,7 @@ CCircle.prototype.getCoord = function()
H = Y[16];
return {X: X, Y: Y, W: W, H: H};
}
CCircle.prototype.drawPath = function(pGraphics, XX, YY)
{
......@@ -1721,13 +1711,13 @@ CCircle.prototype.drawPath = function(pGraphics, XX, YY)
pGraphics._c(XX[12], YY[12], XX[13], YY[13], XX[14], YY[14]);
pGraphics._c(XX[14], YY[14], XX[15], YY[15], XX[16], YY[16]);
pGraphics._c(XX[17], YY[17], XX[18], YY[18], XX[19], YY[19]);
pGraphics._c(XX[19], YY[19], XX[20], YY[20], XX[21], YY[21]);
pGraphics._c(XX[21], YY[21], XX[22], YY[22], XX[23], YY[23]);
pGraphics._c(XX[23], YY[23], XX[24], YY[24], XX[25], YY[25]);
pGraphics._c(XX[25], YY[25], XX[26], YY[26], XX[27], YY[27]);
pGraphics._c(XX[27], YY[27], XX[28], YY[28], XX[29], YY[29]);
pGraphics._c(XX[29], YY[29], XX[30], YY[30], XX[31], YY[31]);
pGraphics._c(XX[17], YY[17], XX[18], YY[18], XX[19], YY[19]);
pGraphics._c(XX[19], YY[19], XX[20], YY[20], XX[21], YY[21]);
pGraphics._c(XX[21], YY[21], XX[22], YY[22], XX[23], YY[23]);
pGraphics._c(XX[23], YY[23], XX[24], YY[24], XX[25], YY[25]);
pGraphics._c(XX[25], YY[25], XX[26], YY[26], XX[27], YY[27]);
pGraphics._c(XX[27], YY[27], XX[28], YY[28], XX[29], YY[29]);
pGraphics._c(XX[29], YY[29], XX[30], YY[30], XX[31], YY[31]);
pGraphics._c(XX[31], YY[31], XX[32], YY[32], XX[33], YY[33]);
pGraphics.ds();
......@@ -2002,48 +1992,48 @@ CSurface.prototype.getCoord = function()
var X = new Array(),
Y = new Array();
X[0] = 24855.55; Y[0] = 312.82;
X[1] = 27995.71; Y[1] = 0;
X[2] = 31359.09; Y[2] = 0;
X[3] = 36162.79; Y[3] = 0;
X[4] = 40559.9; Y[4] = 694.89;
X[5] = 43954.72; Y[5] = 1285.5;
X[6] = 47349.55; Y[6] = 1876.11;
X[7] = 50600.44; Y[7] = 2814.59;
X[8] = 54054.17; Y[8] = 4639.82;
X[9] = 57507.91; Y[9] = 6464.21;
X[10] = 59945.63; Y[10] = 10061.28;
X[11] = 62383.35; Y[11] = 13658.35;
X[12] = 62383.35; Y[12] = 18871.27;
X[13] = 62383.35; Y[13] = 24154.26;
X[14] = 59945.63; Y[14] = 27752.16;
X[15] = 57507.91; Y[15] = 31349.23;
X[16] = 53481.95; Y[16] = 33468.93;
X[17] = 49936.09; Y[17] = 35345.88;
X[18] = 45688.68; Y[18] = 36318.56;
X[19] = 42330.61; Y[19] = 36884.98;
X[20] = 38972.54; Y[20] = 37451.41;
X[21] = 34242.37; Y[21] = 37799.27;
X[22] = 31359.98; Y[22] = 37799.27;
X[23] = 27369.45; Y[23] = 37799.27;
X[24] = 22565.76; Y[24] = 37347.13;
X[25] = 19337.9; Y[25] = 36774.04;
X[26] = 16110.04; Y[26] = 36200.94;
X[27] = 11723.56; Y[27] = 35018.88;
X[28] = 9068.82; Y[28] = 33663.3;
X[29] = 6377.76; Y[29] = 32273.53;
X[30] = 4312.96; Y[30] = 30188.03;
X[31] = 2249.05; Y[31] = 28101.69;
X[32] = 1124.08; Y[32] = 25286.27;
X[33] = 0; Y[33] = 22470.84;
X[34] = 0; Y[34] = 18959.69;
X[35] = 0; Y[35] = 13745.94;
X[36] = 2490.87; Y[36] = 10130.52;
X[37] = 4982.63; Y[37] = 6515.1;
X[38] = 8967.84; Y[38] = 4394.56;
X[39] = 12806.01; Y[39] = 2378.3;
X[40] = 17529.98; Y[40] = 1370.59;
X[41] = 21192.77; Y[41] = 841.7;
X[0] = 24855.55; Y[0] = 312.82;
X[1] = 27995.71; Y[1] = 0;
X[2] = 31359.09; Y[2] = 0;
X[3] = 36162.79; Y[3] = 0;
X[4] = 40559.9; Y[4] = 694.89;
X[5] = 43954.72; Y[5] = 1285.5;
X[6] = 47349.55; Y[6] = 1876.11;
X[7] = 50600.44; Y[7] = 2814.59;
X[8] = 54054.17; Y[8] = 4639.82;
X[9] = 57507.91; Y[9] = 6464.21;
X[10] = 59945.63; Y[10] = 10061.28;
X[11] = 62383.35; Y[11] = 13658.35;
X[12] = 62383.35; Y[12] = 18871.27;
X[13] = 62383.35; Y[13] = 24154.26;
X[14] = 59945.63; Y[14] = 27752.16;
X[15] = 57507.91; Y[15] = 31349.23;
X[16] = 53481.95; Y[16] = 33468.93;
X[17] = 49936.09; Y[17] = 35345.88;
X[18] = 45688.68; Y[18] = 36318.56;
X[19] = 42330.61; Y[19] = 36884.98;
X[20] = 38972.54; Y[20] = 37451.41;
X[21] = 34242.37; Y[21] = 37799.27;
X[22] = 31359.98; Y[22] = 37799.27;
X[23] = 27369.45; Y[23] = 37799.27;
X[24] = 22565.76; Y[24] = 37347.13;
X[25] = 19337.9; Y[25] = 36774.04;
X[26] = 16110.04; Y[26] = 36200.94;
X[27] = 11723.56; Y[27] = 35018.88;
X[28] = 9068.82; Y[28] = 33663.3;
X[29] = 6377.76; Y[29] = 32273.53;
X[30] = 4312.96; Y[30] = 30188.03;
X[31] = 2249.05; Y[31] = 28101.69;
X[32] = 1124.08; Y[32] = 25286.27;
X[33] = 0; Y[33] = 22470.84;
X[34] = 0; Y[34] = 18959.69;
X[35] = 0; Y[35] = 13745.94;
X[36] = 2490.87; Y[36] = 10130.52;
X[37] = 4982.63; Y[37] = 6515.1;
X[38] = 8967.84; Y[38] = 4394.56;
X[39] = 12806.01; Y[39] = 2378.3;
X[40] = 17529.98; Y[40] = 1370.59;
X[41] = 21192.77; Y[41] = 841.7;
X[42] = 24855.55; Y[42] = 312.82;
......@@ -2082,24 +2072,24 @@ CSurface.prototype.drawPath = function(pGraphics, XX, YY)
pGraphics._m(XX[0], YY[0]);
pGraphics._l(XX[0], YY[0]);
pGraphics._c(XX[0], YY[0], XX[1], YY[1], XX[2], YY[2] );
pGraphics._c(XX[2], YY[2], XX[3], YY[3], XX[4], YY[4] );
pGraphics._c(XX[4], YY[4], XX[5], YY[5], XX[6], YY[6] );
pGraphics._c(XX[2], YY[2], XX[3], YY[3], XX[4], YY[4] );
pGraphics._c(XX[4], YY[4], XX[5], YY[5], XX[6], YY[6] );
pGraphics._c(XX[6], YY[6], XX[7], YY[7], XX[8], YY[8] );
pGraphics._c(XX[8], YY[8], XX[9], YY[9], XX[10], YY[10] );
pGraphics._c(XX[10], YY[10], XX[11], YY[11], XX[12], YY[12] );
pGraphics._c(XX[12], YY[12], XX[13], YY[13], XX[14], YY[14] );
pGraphics._c(XX[14], YY[14], XX[15], YY[15], XX[16], YY[16] );
pGraphics._c(XX[16], YY[16], XX[17], YY[17], XX[18], YY[18] );
pGraphics._c(XX[10], YY[10], XX[11], YY[11], XX[12], YY[12] );
pGraphics._c(XX[12], YY[12], XX[13], YY[13], XX[14], YY[14] );
pGraphics._c(XX[14], YY[14], XX[15], YY[15], XX[16], YY[16] );
pGraphics._c(XX[16], YY[16], XX[17], YY[17], XX[18], YY[18] );
pGraphics._c(XX[18], YY[18], XX[19], YY[19], XX[20], YY[20] );
pGraphics._c(XX[20], YY[20], XX[21], YY[21], XX[22], YY[22] );
pGraphics._c(XX[22], YY[22], XX[23], YY[23], XX[24], YY[24] );
pGraphics._c(XX[24], YY[24], XX[25], YY[25], XX[26], YY[26] );
pGraphics._c(XX[24], YY[24], XX[25], YY[25], XX[26], YY[26] );
pGraphics._c(XX[26], YY[26], XX[27], YY[27], XX[28], YY[28] );
pGraphics._c(XX[28], YY[28], XX[29], YY[29], XX[30], YY[30] );
pGraphics._c(XX[30], YY[30], XX[31], YY[31], XX[32], YY[32] );
pGraphics._c(XX[30], YY[30], XX[31], YY[31], XX[32], YY[32] );
pGraphics._c(XX[32], YY[32], XX[33], YY[33], XX[34], YY[34] );
pGraphics._c(XX[34], YY[34], XX[35], YY[35], XX[36], YY[36] );
pGraphics._c(XX[36], YY[36], XX[37], YY[37], XX[38], YY[38] );
pGraphics._c(XX[36], YY[36], XX[37], YY[37], XX[38], YY[38] );
pGraphics._c(XX[38], YY[38], XX[39], YY[39], XX[40], YY[40] );
pGraphics._c(XX[40], YY[40], XX[41], YY[41], XX[42], YY[42] );
pGraphics.ds();
......@@ -2114,56 +2104,56 @@ CVolume.prototype.getCoord = function()
var X = new Array(),
Y = new Array();
X[0] = 24086.6; Y[0] = 1584.99;
X[1] = 25878.03; Y[1] = 1268.19;
X[2] = 30642.29; Y[2] = 669.24;
X[3] = 35139.13; Y[3] = 104.94;
X[4] = 43028.74; Y[4] = 0;
X[5] = 46945.61; Y[5] = 59.9;
X[6] = 50862.49; Y[6] = 119.79;
X[7] = 57135.73; Y[7] = 330.66;
X[8] = 61811.92; Y[8] = 923.67;
X[9] = 65955.41; Y[9] = 1411.74;
X[10] = 68883.14; Y[10] = 2040.39;
X[11] = 72891.84; Y[11] = 3159.09;
X[12] = 76900.55; Y[12] = 4277.79;
X[13] = 82700.15; Y[13] = 6485.49;
X[14] = 86547.22; Y[14] = 10342.53;
X[15] = 90394.28; Y[15] = 14199.57;
X[16] = 90394.28; Y[16] = 19211.94;
X[17] = 90394.28; Y[17] = 24750.99;
X[18] = 86653.54; Y[18] = 28554.57;
X[19] = 82913.87; Y[19] = 32358.15;
X[20] = 79268.72; Y[20] = 33795.63;
X[21] = 76154.12; Y[21] = 35057.88;
X[22] = 74484.05; Y[22] = 35583.57;
X[23] = 70409.29; Y[23] = 36523.08;
X[24] = 66334.54; Y[24] = 37462.59;
X[25] = 64662.32; Y[25] = 37742.76;
X[26] = 60137.56; Y[26] = 38336.76;
X[27] = 55689.05; Y[27] = 38896.11;
X[28] = 47782.26; Y[28] = 39001.05;
X[29] = 44054.41; Y[29] = 38969.37;
X[30] = 40326.55; Y[30] = 38937.69;
X[31] = 36744.76; Y[31] = 38832.75;
X[32] = 32133.01; Y[32] = 38481.3;
X[33] = 27597.5; Y[33] = 38130.84;
X[34] = 21918.19; Y[34] = 37007.19;
X[35] = 17870.29; Y[35] = 35901.36;
X[36] = 13822.38; Y[36] = 34795.53;
X[37] = 13593.62; Y[37] = 34726.23;
X[38] = 13365.93; Y[38] = 34620.3;
X[39] = 9226.73; Y[39] = 33113.52;
X[40] = 6246.38; Y[40] = 30888;
X[41] = 3266.03; Y[41] = 28662.48;
X[42] = 1632.48; Y[42] = 25789.5;
X[43] = 0; Y[43] = 22915.53;
X[44] = 0; Y[44] = 19201.05;
X[45] = 0; Y[45] = 14329.26;
X[46] = 3746.11; Y[46] = 10456.38;
X[47] = 7493.3; Y[47] = 6583.5;
X[48] = 13503.4; Y[48] = 4341.15;
X[49] = 18795; Y[49] = 2963.07;
X[0] = 24086.6; Y[0] = 1584.99;
X[1] = 25878.03; Y[1] = 1268.19;
X[2] = 30642.29; Y[2] = 669.24;
X[3] = 35139.13; Y[3] = 104.94;
X[4] = 43028.74; Y[4] = 0;
X[5] = 46945.61; Y[5] = 59.9;
X[6] = 50862.49; Y[6] = 119.79;
X[7] = 57135.73; Y[7] = 330.66;
X[8] = 61811.92; Y[8] = 923.67;
X[9] = 65955.41; Y[9] = 1411.74;
X[10] = 68883.14; Y[10] = 2040.39;
X[11] = 72891.84; Y[11] = 3159.09;
X[12] = 76900.55; Y[12] = 4277.79;
X[13] = 82700.15; Y[13] = 6485.49;
X[14] = 86547.22; Y[14] = 10342.53;
X[15] = 90394.28; Y[15] = 14199.57;
X[16] = 90394.28; Y[16] = 19211.94;
X[17] = 90394.28; Y[17] = 24750.99;
X[18] = 86653.54; Y[18] = 28554.57;
X[19] = 82913.87; Y[19] = 32358.15;
X[20] = 79268.72; Y[20] = 33795.63;
X[21] = 76154.12; Y[21] = 35057.88;
X[22] = 74484.05; Y[22] = 35583.57;
X[23] = 70409.29; Y[23] = 36523.08;
X[24] = 66334.54; Y[24] = 37462.59;
X[25] = 64662.32; Y[25] = 37742.76;
X[26] = 60137.56; Y[26] = 38336.76;
X[27] = 55689.05; Y[27] = 38896.11;
X[28] = 47782.26; Y[28] = 39001.05;
X[29] = 44054.41; Y[29] = 38969.37;
X[30] = 40326.55; Y[30] = 38937.69;
X[31] = 36744.76; Y[31] = 38832.75;
X[32] = 32133.01; Y[32] = 38481.3;
X[33] = 27597.5; Y[33] = 38130.84;
X[34] = 21918.19; Y[34] = 37007.19;
X[35] = 17870.29; Y[35] = 35901.36;
X[36] = 13822.38; Y[36] = 34795.53;
X[37] = 13593.62; Y[37] = 34726.23;
X[38] = 13365.93; Y[38] = 34620.3;
X[39] = 9226.73; Y[39] = 33113.52;
X[40] = 6246.38; Y[40] = 30888;
X[41] = 3266.03; Y[41] = 28662.48;
X[42] = 1632.48; Y[42] = 25789.5;
X[43] = 0; Y[43] = 22915.53;
X[44] = 0; Y[44] = 19201.05;
X[45] = 0; Y[45] = 14329.26;
X[46] = 3746.11; Y[46] = 10456.38;
X[47] = 7493.3; Y[47] = 6583.5;
X[48] = 13503.4; Y[48] = 4341.15;
X[49] = 18795; Y[49] = 2963.07;
X[50] = 24086.6; Y[50] = 1584.99;
/*var min_y = 23530,
......@@ -2207,30 +2197,30 @@ CVolume.prototype.drawPath = function(pGraphics, XX, YY)
{
pGraphics._s();
pGraphics._m(XX[0], YY[0]);
pGraphics._c(XX[0], YY[0], XX[1], YY[1], XX[2], YY[2] );
pGraphics._c(XX[2], YY[2], XX[3], YY[3], XX[4], YY[4] );
pGraphics._c(XX[4], YY[4], XX[5], YY[5], XX[6], YY[6] );
pGraphics._c(XX[6], YY[6], XX[7], YY[7], XX[8], YY[8] );
pGraphics._c(XX[8], YY[8], XX[9], YY[9], XX[10], YY[10] );
pGraphics._c(XX[10], YY[10], XX[11], YY[11], XX[12], YY[12] );
pGraphics._c(XX[12], YY[12], XX[13], YY[13], XX[14], YY[14] );
pGraphics._c(XX[14], YY[14], XX[15], YY[15], XX[16], YY[16] );
pGraphics._c(XX[16], YY[16], XX[17], YY[17], XX[18], YY[18] );
pGraphics._c(XX[18], YY[18], XX[19], YY[19], XX[20], YY[20] );
pGraphics._c(XX[20], YY[20], XX[21], YY[21], XX[22], YY[22] );
pGraphics._c(XX[22], YY[22], XX[23], YY[23], XX[24], YY[24] );
pGraphics._c(XX[24], YY[24], XX[25], YY[25], XX[26], YY[26] );
pGraphics._c(XX[26], YY[26], XX[27], YY[27], XX[28], YY[28] );
pGraphics._c(XX[28], YY[28], XX[29], YY[29], XX[30], YY[30] );
pGraphics._c(XX[30], YY[30], XX[31], YY[31], XX[32], YY[32] );
pGraphics._c(XX[32], YY[32], XX[33], YY[33], XX[34], YY[34] );
pGraphics._c(XX[34], YY[34], XX[35], YY[35], XX[36], YY[36] );
pGraphics._c(XX[36], YY[36], XX[37], YY[37], XX[38], YY[38] );
pGraphics._c(XX[38], YY[38], XX[39], YY[39], XX[40], YY[40] );
pGraphics._c(XX[40], YY[40], XX[41], YY[41], XX[42], YY[42] );
pGraphics._c(XX[42], YY[42], XX[43], YY[43], XX[44], YY[44] );
pGraphics._c(XX[44], YY[44], XX[45], YY[45], XX[46], YY[46] );
pGraphics._c(XX[46], YY[46], XX[47], YY[47], XX[48], YY[48] );
pGraphics._c(XX[0], YY[0], XX[1], YY[1], XX[2], YY[2] );
pGraphics._c(XX[2], YY[2], XX[3], YY[3], XX[4], YY[4] );
pGraphics._c(XX[4], YY[4], XX[5], YY[5], XX[6], YY[6] );
pGraphics._c(XX[6], YY[6], XX[7], YY[7], XX[8], YY[8] );
pGraphics._c(XX[8], YY[8], XX[9], YY[9], XX[10], YY[10] );
pGraphics._c(XX[10], YY[10], XX[11], YY[11], XX[12], YY[12] );
pGraphics._c(XX[12], YY[12], XX[13], YY[13], XX[14], YY[14] );
pGraphics._c(XX[14], YY[14], XX[15], YY[15], XX[16], YY[16] );
pGraphics._c(XX[16], YY[16], XX[17], YY[17], XX[18], YY[18] );
pGraphics._c(XX[18], YY[18], XX[19], YY[19], XX[20], YY[20] );
pGraphics._c(XX[20], YY[20], XX[21], YY[21], XX[22], YY[22] );
pGraphics._c(XX[22], YY[22], XX[23], YY[23], XX[24], YY[24] );
pGraphics._c(XX[24], YY[24], XX[25], YY[25], XX[26], YY[26] );
pGraphics._c(XX[26], YY[26], XX[27], YY[27], XX[28], YY[28] );
pGraphics._c(XX[28], YY[28], XX[29], YY[29], XX[30], YY[30] );
pGraphics._c(XX[30], YY[30], XX[31], YY[31], XX[32], YY[32] );
pGraphics._c(XX[32], YY[32], XX[33], YY[33], XX[34], YY[34] );
pGraphics._c(XX[34], YY[34], XX[35], YY[35], XX[36], YY[36] );
pGraphics._c(XX[36], YY[36], XX[37], YY[37], XX[38], YY[38] );
pGraphics._c(XX[38], YY[38], XX[39], YY[39], XX[40], YY[40] );
pGraphics._c(XX[40], YY[40], XX[41], YY[41], XX[42], YY[42] );
pGraphics._c(XX[42], YY[42], XX[43], YY[43], XX[44], YY[44] );
pGraphics._c(XX[44], YY[44], XX[45], YY[45], XX[46], YY[46] );
pGraphics._c(XX[46], YY[46], XX[47], YY[47], XX[48], YY[48] );
pGraphics._c(XX[48], YY[48], XX[49], YY[49], XX[50], YY[50] );
pGraphics.ds();
}
......@@ -2804,27 +2794,27 @@ _old_CContourIntegral.prototype.drawPath = function(XX, YY)
{
MathControl.pGraph._m(XX[0], YY[0]);
MathControl.pGraph._c(XX[0], YY[0], XX[1], YY[1], XX[2], YY[2]);
MathControl.pGraph._c(XX[2], YY[2], XX[3], YY[3], XX[4], YY[4]);
MathControl.pGraph._c(XX[4], YY[4], XX[5], YY[5], XX[6], YY[6]);
MathControl.pGraph._c(XX[6], YY[6], XX[7], YY[7], XX[8], YY[8]);
MathControl.pGraph._c(XX[8], YY[8], XX[9], YY[9], XX[10], YY[10]);
MathControl.pGraph._c(XX[10], YY[10], XX[11], YY[11], XX[12], YY[12]);
MathControl.pGraph._c(XX[12], YY[12], XX[13], YY[13], XX[14], YY[14]);
MathControl.pGraph._c(XX[0], YY[0], XX[1], YY[1], XX[2], YY[2]);
MathControl.pGraph._c(XX[2], YY[2], XX[3], YY[3], XX[4], YY[4]);
MathControl.pGraph._c(XX[4], YY[4], XX[5], YY[5], XX[6], YY[6]);
MathControl.pGraph._c(XX[6], YY[6], XX[7], YY[7], XX[8], YY[8]);
MathControl.pGraph._c(XX[8], YY[8], XX[9], YY[9], XX[10], YY[10]);
MathControl.pGraph._c(XX[10], YY[10], XX[11], YY[11], XX[12], YY[12]);
MathControl.pGraph._c(XX[12], YY[12], XX[13], YY[13], XX[14], YY[14]);
MathControl.pGraph._c(XX[14], YY[14], XX[15], YY[15], XX[16], YY[16]);
MathControl.pGraph.df();
MathControl.pGraph.b_color1(255, 255, 255, 255);
MathControl.pGraph._s();
MathControl.pGraph._m(XX[16], YY[16]);
MathControl.pGraph._c(XX[16], YY[16], XX[17], YY[17], XX[18], YY[18]);
MathControl.pGraph._c(XX[18], YY[18], XX[19], YY[19], XX[20], YY[20]);
MathControl.pGraph._c(XX[20], YY[20], XX[21], YY[21], XX[22], YY[22]);
MathControl.pGraph._c(XX[22], YY[22], XX[23], YY[23], XX[24], YY[24]);
MathControl.pGraph._c(XX[24], YY[24], XX[25], YY[25], XX[26], YY[26]);
MathControl.pGraph._c(XX[26], YY[26], XX[27], YY[27], XX[28], YY[28]);
MathControl.pGraph._c(XX[28], YY[28], XX[29], YY[29], XX[30], YY[30]);
MathControl.pGraph._c(XX[30], YY[30], XX[31], YY[31], XX[32], YY[32]);
MathControl.pGraph._c(XX[16], YY[16], XX[17], YY[17], XX[18], YY[18]);
MathControl.pGraph._c(XX[18], YY[18], XX[19], YY[19], XX[20], YY[20]);
MathControl.pGraph._c(XX[20], YY[20], XX[21], YY[21], XX[22], YY[22]);
MathControl.pGraph._c(XX[22], YY[22], XX[23], YY[23], XX[24], YY[24]);
MathControl.pGraph._c(XX[24], YY[24], XX[25], YY[25], XX[26], YY[26]);
MathControl.pGraph._c(XX[26], YY[26], XX[27], YY[27], XX[28], YY[28]);
MathControl.pGraph._c(XX[28], YY[28], XX[29], YY[29], XX[30], YY[30]);
MathControl.pGraph._c(XX[30], YY[30], XX[31], YY[31], XX[32], YY[32]);
MathControl.pGraph._c(XX[32], YY[32], XX[33], YY[33], XX[34], YY[34]);
}
......@@ -2845,14 +2835,14 @@ CContourIntegral.prototype.draw = function(pGraphics)
var integr = new CIntegral();
coord2 = integr.getCoord();
var XX = coord2.X,
YY = coord2.Y,
WW = coord2.W,
HH = coord2.H;
//var textScale = this.getTxtPrp().FontSize/850;// 1000 pt
var textScale = this.getPrpToControlLetter().FontSize/850;// 1000 pt
var textScale = this.getCtrPrp().FontSize/850;// 1000 pt
var alpha = textScale*25.4/96 /64; // коэффициент; используется для того чтобы перевести координаты в миллиметры
var shX = (WW - W)*alpha/2,
......@@ -2897,7 +2887,7 @@ CContourIntegral.prototype.draw = function(pGraphics)
CContourIntegral.prototype.calculateSizeGlyph = function()
{
//var betta = this.getTxtPrp().FontSize/36;
var betta = this.getPrpToControlLetter().FontSize/36;
var betta = this.getCtrPrp().FontSize/36;
var _width = 8.624*betta,
_height = 13.7*betta;
......@@ -3357,7 +3347,7 @@ CSurfaceIntegral.prototype.draw = function(pGraphics)
//var textScale = this.getTxtPrp().FontSize/850; // 1000 pt
var textScale = this.getPrpToControlLetter().FontSize/850; // 1000 pt
var textScale = this.getCtrPrp().FontSize/850; // 1000 pt
var alpha = textScale*25.4/96 /64; // коэффициент; используется для того чтобы перевести координаты в миллиметры
......@@ -3404,7 +3394,7 @@ CSurfaceIntegral.prototype.draw = function(pGraphics)
CSurfaceIntegral.prototype.calculateSizeGlyph = function()
{
//var betta = this.getTxtPrp().FontSize/36;
var betta = this.getPrpToControlLetter().FontSize/36;
var betta = this.getCtrPrp().FontSize/36;
var _width = 14.2296*betta,
_height = 13.7*betta;
......@@ -3933,7 +3923,7 @@ CVolumeIntegral.prototype.draw = function(pGraphics)
HH = coord2.H;
var textScale = this.getPrpToControlLetter().FontSize/850; // 1000 pt
var textScale = this.getCtrPrp().FontSize/850; // 1000 pt
var alpha = textScale*25.4/96 /64; // коэффициент; используется для того чтобы перевести координаты в миллиметры
......@@ -3980,7 +3970,7 @@ CVolumeIntegral.prototype.draw = function(pGraphics)
CVolumeIntegral.prototype.calculateSizeGlyph = function()
{
//var betta = this.getTxtPrp().FontSize/36;
var betta = this.getPrpToControlLetter().FontSize/36;
var betta = this.getCtrPrp().FontSize/36;
var _width = 18.925368*betta,
_height = 13.7*betta;
......
......@@ -16,11 +16,6 @@ function CGlyphOperator()
this.measure = 0;
this.penW = 1; // px
this.TxtPrp = new CTextPr();
//this.TxtPrp = new CMathTextPrp();
//this.bGlyph = true;
}
CGlyphOperator.prototype.init = function(props)
{
......@@ -317,17 +312,13 @@ CGlyphOperator.prototype.draw = function(pGraphics, XX, YY)
pGraphics.df();
pGraphics.SetIntegerGrid(intGrid);
}
/*CGlyphOperator.prototype.getTxtPrp = function()
{
return this.TxtPrp;
}*/
CGlyphOperator.prototype.setTxtPrp = function(txtPrp)
CGlyphOperator.prototype.getCtrPrp = function()
{
this.TxtPrp.Merge(txtPrp);
return this.Parent.getCtrPrp();
}
CGlyphOperator.prototype.getPrpToControlLetter = function()
CGlyphOperator.prototype.relate = function(parent)
{
return this.TxtPrp;
this.Parent = parent;
}
function old_CGlyphOperator()
......@@ -1383,8 +1374,7 @@ function COperatorBracket()
extend(COperatorBracket, CGlyphOperator);
COperatorBracket.prototype.calcSize = function( measure )
{
//var betta = this.getTxtPrp().FontSize/36;
var betta = this.getPrpToControlLetter().FontSize/36;
var betta = this.getCtrPrp().FontSize/36;
// перевернутая скобка
var minBoxH = 4.917529296874999 *betta, //width of 0x28
......@@ -1471,8 +1461,7 @@ COperatorBracket.prototype.calcCoord = function(measure)
//TODO
// X[1] > X[52]
//var textScale = this.getTxtPrp().FontSize/1000; // 1000 pt
var textScale = this.getPrpToControlLetter().FontSize/1000; // 1000 pt
var textScale = this.getCtrPrp().FontSize/1000; // 1000 pt
var alpha = textScale*25.4/96 /64; // коэффициент используется для того, чтобы перевести координаты в миллиметры
var augm = measure/((X[52] + (X[0] - X[1])/2 + X[1] - X[52])*alpha*2);
......@@ -1902,8 +1891,7 @@ function COperatorParenthesis()
extend(COperatorParenthesis, CGlyphOperator);
COperatorParenthesis.prototype.calcSize = function(measure)
{
//var betta = this.getTxtPrp().FontSize/36;
var betta = this.getPrpToControlLetter().FontSize/36;
var betta = this.getCtrPrp().FontSize/36;
var maxBoxH = 9.63041992187 *betta, //9.63 width of 0x239D
minBoxH = 5.27099609375 *betta, //width of 0x28
......@@ -1935,8 +1923,7 @@ COperatorParenthesis.prototype.calcCoord = function(measure)
X[8] = 24398; Y[8] = 26227;
X[9] = 39470; Y[9] = 26227;
//var textScale = this.getTxtPrp().FontSize/1000; // 1000 pt
var textScale = this.getPrpToControlLetter().FontSize/1000; // 1000 pt
var textScale = this.getCtrPrp().FontSize/1000; // 1000 pt
var alpha = textScale*25.4/96 /64; // коэффициент используется для того, чтобы перевести координаты в миллиметры
var aug = measure/(X[9]*alpha)/2; //Y[9]*alpha - высота скобки
......@@ -2315,8 +2302,7 @@ COperatorAngleBracket.prototype.calcSize = function(measure)
{
//скобка перевернутая
//var betta = this.getTxtPrp().FontSize/36;
var betta = this.getPrpToControlLetter().FontSize/36;
var betta = this.getCtrPrp().FontSize/36;
var widthBr = 11.994444444444444*betta;
if( measure/widthBr > 3.768 )
......@@ -2340,8 +2326,7 @@ COperatorAngleBracket.prototype.calcCoord = function(measure)
X[6] = 76439; Y[6] = 21036;
X[7] = 38990; Y[7] = 7665;
//var textScale = this.getTxtPrp().FontSize/1000; // 1000 pt
var textScale = this.getPrpToControlLetter().FontSize/1000; // 1000 pt
var textScale = this.getCtrPrp().FontSize/1000; // 1000 pt
var alpha = textScale*25.4/96 /64; // коэффициент используется для того, чтобы перевести координаты в миллиметры
var augm = measure/(X[5]*alpha);
......@@ -2438,8 +2423,7 @@ CSquareBracket.prototype.calcCoord = function(measure)
X[7] = 76224; Y[7] = 6912;
X[8] = 3200; Y[8] = 6912;
//var textScale = this.getTxtPrp().FontSize/1000; // 1000 pt
var textScale = this.getPrpToControlLetter().FontSize/1000; // 1000 pt
var textScale = this.getCtrPrp().FontSize/1000; // 1000 pt
var alpha = textScale*25.4/96 /64; // коэффициент используется для того, чтобы перевести координаты в миллиметры
var lng = measure/alpha - X[4] - 2*X[0];
......@@ -2481,8 +2465,7 @@ CSquareBracket.prototype.drawPath = function(pGraphics, XX, YY)
}
CSquareBracket.prototype.calcSize = function()
{
//var betta = this.getTxtPrp().FontSize/36;
var betta = this.getPrpToControlLetter().FontSize/36;
var betta = this.getCtrPrp().FontSize/36;
var height = 4.446240234375*betta;
//var width = 12.0*this.betta;
......@@ -2509,8 +2492,7 @@ CHalfSquareBracket.prototype.calcCoord = function(measure)
X[5] = 77522; Y[5] = 0;
X[6] = 0; Y[6] = 0;
//var textScale = this.getTxtPrp().FontSize/1000; // 1000 pt
var textScale = this.getPrpToControlLetter().FontSize/1000; // 1000 pt
var textScale = this.getCtrPrp().FontSize/1000; // 1000 pt
var alpha = textScale*25.4/96 /64; // коэффициент используется для того, чтобы перевести координаты в миллиметры
var w1 = X[4],
......@@ -2541,8 +2523,7 @@ CHalfSquareBracket.prototype.calcCoord = function(measure)
}
CHalfSquareBracket.prototype.calcSize = function()
{
//var betta = this.getTxtPrp().FontSize/36;
var betta = this.getPrpToControlLetter().FontSize/36;
var betta = this.getCtrPrp().FontSize/36;
var height = 4.446240234375*betta;
var width = 11.99444444444*betta;
......@@ -2634,8 +2615,7 @@ COperatorLine.prototype.setContent = function()
}
COperatorLine.prototype.calcSize = function()
{
//var betta = this.getTxtPrp().FontSize/36;
var betta = this.getPrpToControlLetter().FontSize/36;
var betta = this.getCtrPrp().FontSize/36;
var height = 4.018359374999999*betta;
var width = 11.99444444444*betta;
......@@ -2653,8 +2633,7 @@ COperatorLine.prototype.calcCoord = function(measure)
X[3] = 77504; Y[3] = 0;
X[4] = 0; Y[4] = 0;
//var textScale = this.getTxtPrp().FontSize/1000; // 1000 pt
var textScale = this.getPrpToControlLetter().FontSize/1000; // 1000 pt
var textScale = this.getCtrPrp().FontSize/1000; // 1000 pt
var alpha = textScale*25.4/96 /64; // коэффициент используется для того, чтобы перевести координаты в миллиметры
var XX = new Array(),
......@@ -2699,8 +2678,7 @@ function CWhiteSquareBracket()
extend(CWhiteSquareBracket, CGlyphOperator);
CWhiteSquareBracket.prototype.calcSize = function()
{
//var betta = this.getTxtPrp().FontSize/36;
var betta = this.getPrpToControlLetter().FontSize/36;
var betta = this.getCtrPrp().FontSize/36;
var height = 5.5872558593749995*betta;
var width = 11.99444444444*betta;
......@@ -2743,8 +2721,7 @@ CWhiteSquareBracket.prototype.calcCoord = function(measure)
X[12] = 74304; Y[12] = 4600;
X[13] = 74304; Y[13] = 12700;
//var textScale = this.getTxtPrp().FontSize/1000; // 1000 pt
var textScale = this.getPrpToControlLetter().FontSize/1000; // 1000 pt
var textScale = this.getCtrPrp().FontSize/1000; // 1000 pt
var alpha = textScale*25.4/96 /64; // коэффициент используется для того, чтобы перевести координаты в миллиметры
var XX = new Array(),
......@@ -2800,8 +2777,7 @@ function COperatorDoubleLine()
extend(COperatorDoubleLine, CGlyphOperator);
COperatorDoubleLine.prototype.calcSize = function()
{
//var betta = this.getTxtPrp().FontSize/36;
var betta = this.getPrpToControlLetter().FontSize/36;
var betta = this.getCtrPrp().FontSize/36;
var height = 6.715869140624999*betta,
width = 11.99444444444*betta;
......@@ -2827,8 +2803,7 @@ COperatorDoubleLine.prototype.calcCoord = function(measure)
X[8] = 77504; Y[8] = 18112;
X[9] = 0; Y[9] = 18112;
//var textScale = this.getTxtPrp().FontSize/1000; // 1000 pt
var textScale = this.getPrpToControlLetter().FontSize/1000; // 1000 pt
var textScale = this.getCtrPrp().FontSize/1000; // 1000 pt
var alpha = textScale*25.4/96 /64; // коэффициент используется для того, чтобы перевести координаты в миллиметры
var XX = new Array(),
......@@ -2960,8 +2935,7 @@ function CSingleArrow()
extend(CSingleArrow, CGlyphOperator);
CSingleArrow.prototype.calcSize = function()
{
//var betta = this.getTxtPrp().FontSize/36;
var betta = this.getPrpToControlLetter().FontSize/36;
var betta = this.getCtrPrp().FontSize/36;
var height = 5.946923828125*betta;
var width = 10.641210937499999*betta;
......@@ -2984,8 +2958,7 @@ CSingleArrow.prototype.calcCoord = function(measure)
X[9] = 56138; Y[9] = 17625;
X[10] = 56138; Y[10] = 12300;
//var textScale = this.getTxtPrp().FontSize/1000; // 1000 pt
var textScale = this.getPrpToControlLetter().FontSize/1000; // 1000 pt
var textScale = this.getCtrPrp().FontSize/1000; // 1000 pt
var alpha = textScale*25.4/96 /64; // коэффициент используется для того, чтобы перевести координаты в миллиметры
var XX = new Array(),
......@@ -3026,17 +2999,6 @@ CSingleArrow.prototype.drawPath = function(pGraphics, XX, YY)
pGraphics._l(XX[9], YY[9]);
pGraphics._l(XX[10], YY[10]);
}
/*CSingleArrow.prototype.getSizeGlyph = function()
{
var textScale = this.getTxtPrp().FontSize/1000; // 1000 pt
var alpha = textScale*25.4/96 /64;
var width = 62360*alpha; // X[9]
var height = 33242*alpha; // Y[6]
var center = 14944*alpha; // (Y[5] + Y[4])/2
return {width : width, height : height, center : center};
}*/
function CLeftRightArrow()
{
......@@ -3046,8 +3008,7 @@ function CLeftRightArrow()
extend(CLeftRightArrow, CGlyphOperator);
CLeftRightArrow.prototype.calcSize = function()
{
//var betta = this.getTxtPrp().FontSize/36;
var betta = this.getPrpToControlLetter().FontSize/36;
var betta = this.getCtrPrp().FontSize/36;
var height = 5.946923828125*betta;
var width = 11.695410156249999*betta;
......@@ -3077,8 +3038,7 @@ CLeftRightArrow.prototype.calcCoord = function(measure)
X[15] = 8363; Y[15] = 17962;
X[16] = 16950; Y[16] = 28912;
//var textScale = this.getTxtPrp().FontSize/1000; // 1000 pt
var textScale = this.getPrpToControlLetter().FontSize/1000; // 1000 pt
var textScale = this.getCtrPrp().FontSize/1000; // 1000 pt
var alpha = textScale*25.4/96 /64; // коэффициент используется для того, чтобы перевести координаты в миллиметры
var XX = new Array(),
......@@ -3125,17 +3085,6 @@ CLeftRightArrow.prototype.drawPath = function(pGraphics, XX, YY)
pGraphics._l(XX[16], YY[16]);
}
/*CLeftRightArrow.prototype.getSizeGlyph = function()
{
var textScale = this.getTxtPrp().FontSize/1000; // 1000 pt
var alpha = textScale*25.4/96 /64;
var width = 62100*alpha; // X[9]
var height = 30975*alpha; // Y[6]
var center = 15487*alpha; // (Y[11] + Y[10])/2
return {width : width, height : height, center : center};
}*/
function CDoubleArrow()
{
......@@ -3145,8 +3094,7 @@ function CDoubleArrow()
extend(CDoubleArrow, CGlyphOperator);
CDoubleArrow.prototype.calcSize = function()
{
//var betta = this.getTxtPrp().FontSize/36;
var betta = this.getPrpToControlLetter().FontSize/36;
var betta = this.getCtrPrp().FontSize/36;
var height = 6.7027777777777775*betta;
var width = 10.994677734375*betta;
......@@ -3178,8 +3126,7 @@ CDoubleArrow.prototype.calcCoord = function(measure)
X[16] = 58950; Y[16] = 19495;
X[17] = 58950; Y[17] = 19495;
//var textScale = this.getTxtPrp().FontSize/1000; // 1000 pt
var textScale = this.getPrpToControlLetter().FontSize/1000; // 1000 pt
var textScale = this.getCtrPrp().FontSize/1000; // 1000 pt
var alpha = textScale*25.4/96 /64; // коэффициент используется для того, чтобы перевести координаты в миллиметры
var XX = new Array(),
......@@ -3234,17 +3181,6 @@ CDoubleArrow.prototype.drawPath = function(pGraphics, XX, YY)
pGraphics._m(XX[16], YY[16]);
pGraphics._l(XX[17], YY[17]);
}
/*CDoubleArrow.prototype.getSizeGlyph = function()
{
var textScale = this.getTxtPrp().FontSize/1000; // 1000 pt
var alpha = textScale*25.4/96 /64;
var width = 58950*alpha;
var height = 39064*alpha;
var center = 19532.5*alpha;
return {width : width, height : height, center : center}
}*/
function CLR_DoubleArrow()
{
......@@ -3254,8 +3190,7 @@ function CLR_DoubleArrow()
extend(CLR_DoubleArrow, CGlyphOperator);
CLR_DoubleArrow.prototype.calcSize = function()
{
//var betta = this.getTxtPrp().FontSize/36;
var betta = this.getPrpToControlLetter().FontSize/36;
var betta = this.getCtrPrp().FontSize/36;
var height = 6.7027777777777775*betta;
var width = 13.146484375*betta;
......@@ -3293,8 +3228,7 @@ CLR_DoubleArrow.prototype.calcCoord = function(measure)
X[22] = 59925; Y[22] = 14213;
X[23] = 59925; Y[23] = 14213;
//var textScale = this.getTxtPrp().FontSize/1000; // 1000 pt
var textScale = this.getPrpToControlLetter().FontSize/1000; // 1000 pt
var textScale = this.getCtrPrp().FontSize/1000; // 1000 pt
var alpha = textScale*25.4/96 /64;
var XX = new Array(),
......@@ -3435,8 +3369,7 @@ function CCombiningArrow()
extend(CCombiningArrow, CGlyphOperator);
CCombiningArrow.prototype.calcSize = function()
{
//var betta = this.getTxtPrp().FontSize/36;
var betta = this.getPrpToControlLetter().FontSize/36;
var betta = this.getCtrPrp().FontSize/36;
var height = 3.88*betta;
var width = 4.938*betta;
......@@ -3465,8 +3398,7 @@ CCombiningArrow.prototype.calcCoord = function(measure)
X[9] = 0; Y[9] = 10312;
X[10] = 0; Y[10] = 8137;
//var textScale = this.getTxtPrp().FontSize/1000; // 1000 pt
var textScale = this.getPrpToControlLetter().FontSize/1000; // 1000 pt
var textScale = this.getCtrPrp().FontSize/1000; // 1000 pt
var alpha = textScale*25.4/96 /64; // коэффициент используется для того, чтобы перевести координаты в миллиметры
var XX = new Array(),
......@@ -3507,7 +3439,7 @@ function CCombiningHalfArrow()
extend(CCombiningHalfArrow, CGlyphOperator);
CCombiningHalfArrow.prototype.calcSize = function()
{
var betta = this.getPrpToControlLetter().FontSize/36;
var betta = this.getCtrPrp().FontSize/36;
// 0x21BC half, down
......@@ -3546,7 +3478,7 @@ CCombiningHalfArrow.prototype.calcCoord = function(measure)
X[6] = 0; Y[6] = 10987;
X[7] = 0; Y[7] = 8137;
var textScale = this.getPrpToControlLetter().FontSize/1000; // 1000 pt
var textScale = this.getCtrPrp().FontSize/1000; // 1000 pt
var alpha = textScale*25.4/96 /64; // коэффициент используется для того, чтобы перевести координаты в миллиметры
var XX = new Array(),
......@@ -3573,7 +3505,7 @@ function CCombining_LR_Arrow()
extend(CCombining_LR_Arrow, CGlyphOperator);
CCombining_LR_Arrow.prototype.calcSize = function()
{
var betta = this.getPrpToControlLetter().FontSize/36;
var betta = this.getCtrPrp().FontSize/36;
var height = 3.88*betta;
var width = 4.938*betta;
......@@ -3624,7 +3556,7 @@ CCombining_LR_Arrow.prototype.calcCoord = function(measure)
X[15] = 0; Y[15] = 10312;
X[16] = 0; Y[16] = 8137;
var textScale = this.getPrpToControlLetter().FontSize/1000; // 1000 pt
var textScale = this.getCtrPrp().FontSize/1000; // 1000 pt
var alpha = textScale*25.4/96 /64; // коэффициент используется для того, чтобы перевести координаты в миллиметры
var XX = new Array(),
......@@ -3802,7 +3734,7 @@ COperator.prototype.fixSize = function(measure)
//height = dims.Height > measure ? measure : dims.Height;
}
var betta = this.TxtPrp.FontSize/36;
var betta = this.getCtrPrp().FontSize;
var center = height/2 + 0.2*betta;
this.size = { width: width, height: height, center: center};
......@@ -3831,12 +3763,12 @@ COperator.prototype.Resize = function()
COperator.prototype.relate = function(parent)
{
this.Parent = parent;
if(this.glyph !== -1)
this.glyph.relate(this);
}
COperator.prototype.setTxtPrp = function(txtPrp)
COperator.prototype.getCtrPrp = function()
{
this.TxtPrp = txtPrp;
if(this.glyph !== -1)
this.glyph.setTxtPrp(txtPrp);
return this.Parent.getCtrPrp();
}
function CSeparator(glyph)
......@@ -3876,7 +3808,10 @@ function CDelimiter()
this.sepOper = new COperator (-1);
this.shape = DELIMITER_SHAPE_CENTERED;
this.grow = true;
//// special for "read" ////
this.column = 0;
////
CSubMathBase.call(this);
}
......@@ -3890,18 +3825,15 @@ CDelimiter.prototype.init = function(props)
var begGlyph = this.getGlyph(props.begChr, props.begChrType, LOCATION_LEFT);
this.begOper = new COperator (begGlyph);
this.begOper.relate(this);
var endGlyph = this.getGlyph(props.endChr, props.endChrType, LOCATION_RIGHT);
this.endOper = new COperator (endGlyph);
this.endOper.relate(this);
var sepGlyph = this.getGlyph(props.sepChr, props.sepChrType, LOCATION_SEP);
this.sepOper = new CSeparator (sepGlyph);
//var tPrp = this.getTxtPrp();
var tPrp = this.getPrpToControlLetter();
this.begOper.setTxtPrp(tPrp);
this.sepOper.setTxtPrp(tPrp);
this.endOper.setTxtPrp(tPrp);
this.sepOper.relate(this);
if(props.shape == DELIMITER_SHAPE_MATH || props.shp == DELIMITER_SHAPE_MATH)
this.shape = DELIMITER_SHAPE_MATH;
......@@ -3920,6 +3852,17 @@ CDelimiter.prototype.recalculateSize = function()
var ascent = 0,
descent = 0;
// временно
var FontSize = this.getCtrPrp().FontSize;
var Height = 0.4*FontSize; // g_oTextMeasurer.GetHeight()
var plH = 0.275*FontSize, // плейсхолдер
H2 = 0.08*FontSize; // временно baseLine
// временно
var div = 0;
if(this.shape == DELIMITER_SHAPE_CENTERED)
{
for(var j = 0; j < this.nCol; j++)
......@@ -3930,9 +3873,29 @@ CDelimiter.prototype.recalculateSize = function()
descent = content.height - content.center > descent ? content.height - content.center: descent;
}
height = ascent > descent ? 2*ascent : 2*descent;
center = height/2;
maxH = ascent > descent ? ascent : descent;
// для случая, когда в контенте степень и пр. элементы где нужно учитовать baseLine
if(descent < plH || ascent < plH)
{
if(maxH < plH)
{
height = ascent + descent;
center = ascent;
}
else
{
div = ascent - plH;
height = ascent + descent + div;
center = ascent;
}
}
else
{
height = 2*maxH;
center = height/2;
}
}
else
{
......@@ -3953,65 +3916,70 @@ CDelimiter.prototype.recalculateSize = function()
if(height < this.begOper.size.height)
{
center = this.begOper.size.height - H2;
height = this.begOper.size.height;
center = this.begOper.size.center;
//center = this.begOper.size.center;
}
this.endOper.fixSize(height);
width += this.endOper.size.width;
if(height < this.endOper.size.height)
{
//center += (height - this.endOper.size.height)/2;
center = this.endOper.size.height - H2;
height = this.endOper.size.height;
center = this.endOper.size.center;
//center = this.endOper.size.center;
}
this.sepOper.fixSize(height);
width += (this.nCol - 1)*this.sepOper.size.width;
if(height < this.endOper.size.height)
{
//center += (height - this.sepOper.size.height)/2;
height = this.sepOper.size.height;
center = this.sepOper.size.center;
//center = this.sepOper.size.center;
}
/*if(this.begOper !== -1)
{
this.begOper.fixSize(height);
width += this.begOper.size.width;
{
this.begOper.fixSize(height);
width += this.begOper.size.width;
if(height < this.begOper.size.height)
{
center = this.begOper.size.center;
height = this.begOper.size.height;
if(height < this.begOper.size.height)
{
center = this.begOper.size.center;
height = this.begOper.size.height;
}
}
//height = (height < this.begOper.size.height) ? this.begOper.size.height : height;
//center = (center < this.begOper.size.center) ? this.begOper.size.center : center;
}
if(this.endOper !== -1)
{
this.endOper.fixSize(height);
width += this.endOper.size.width;
//height = (height < this.begOper.size.height) ? this.begOper.size.height : height;
//center = (center < this.begOper.size.center) ? this.begOper.size.center : center;
}
if(this.endOper !== -1)
{
this.endOper.fixSize(height);
width += this.endOper.size.width;
//height = (height < this.endOper.size.height) ? this.endOper.size.height : height;
//center = (center < this.endOper.size.center) ? this.endOper.size.center : center;
//height = (height < this.endOper.size.height) ? this.endOper.size.height : height;
//center = (center < this.endOper.size.center) ? this.endOper.size.center : center;
if(height < this.endOper.size.height)
{
center = this.endOper.size.center;
height = this.endOper.size.height;
if(height < this.endOper.size.height)
{
center = this.endOper.size.center;
height = this.endOper.size.height;
}
}
if(this.sepOper !== -1)
{
this.sepOper.fixSize(height);
width += (this.nCol - 1)*this.sepOper.size.width;
}
}
if(this.sepOper !== -1)
{
this.sepOper.fixSize(height);
width += (this.nCol - 1)*this.sepOper.size.width;
height = (height < this.sepOper.size.height) ? this.sepOper.size.height : height;
center = (center < this.sepOper.size.center) ? this.sepOper.size.center : center;
}*/
height = (height < this.sepOper.size.height) ? this.sepOper.size.height : height;
center = (center < this.sepOper.size.center) ? this.sepOper.size.center : center;
}*/
this.size = {width: width, height: height, center: center};
......@@ -4369,109 +4337,8 @@ CDelimiter.prototype.getGlyph = function(chr, type, location)
return operator;
}
CDelimiter.prototype.setTxtPrp = function(txtPrp)
{
this.begOper.setTxtPrp(txtPrp);
this.sepOper.setTxtPrp(txtPrp);
this.endOper.setTxtPrp(txtPrp);
CDelimiter.superclass.setTxtPrp.call(this, txtPrp);
}
/*function GetGlyph_GrChr(chr, location)
{
var operator;
if(typeof(chr) === "undefined" ||chr === null)
{
{
operator = new COperatorBracket();
var props =
{
location: LOCATION_BOT,
turn: TURN_MIRROR_0
};
operator.init(props);
}
}
else if(chr.value === "⏞" || chr.type == BRACKET_CURLY_TOP)
{
operator = new COperatorBracket();
var props =
{
location: location,
turn: TURN_0
};
operator.init(props);
}
else if(chr.value === "⏟" || chr.type === BRACKET_CURLY_BOTTOM )
{
operator = new COperatorBracket();
var props =
{
location: location,
turn: TURN_MIRROR_0
};
operator.init(props);
}
else if(chr.value === "⃖" || chr.type === ARROW_LEFT)
{
operator = new CSingleArrow();
var props =
{
location: location,
turn: TURN_0
};
operator.init(props);
}
else if(chr.value === "⃗" || chr.type === ARROW_RIGHT)
{
operator = new CSingleArrow();
var props =
{
location: location,
turn: TURN_180
};
operator.init(props);
}
else if(chr.value === "⃡" || chr.type === ARROW_LR)
{
operator = new CLeftRightArrow();
var props =
{
location: location,
turn: TURN_0
};
operator.init(props);
}
else if(chr.value === "⃐" || chr.type === HALF_ARROW_LEFT)
{
operator = new CCombiningHalfArrow();
var props =
{
location: location,
turn: TURN_0
};
operator.init(props);
}
else if(chr.value === "⃑" || chr.type === HALF_ARROW_RIGHT)
{
operator = new CCombiningHalfArrow();
var props =
{
location: location,
turn: TURN_180
};
operator.init(props);
}
else
{
operator = new CMathText();
operator.add(chr.value.charCodeAt(0));
}
return operator;
}*/
function old_CGroupCharacter()
{
this.operator = null;
......@@ -4615,9 +4482,7 @@ extend(CCharacter, CSubMathBase);
CCharacter.prototype.setOperator = function(operator)
{
this.operator = operator;
//var tPrp = this.getTxtPrp();
//var tPrp = this.getPrpToControlLetter();
//this.operator.setTxtPrp(tPrp);
this.operator.relate(this);
this.setDimension(1, 1);
this.setContent();
......@@ -4626,7 +4491,7 @@ CCharacter.prototype.recalculateSize = function()
{
var content = this.elements[0][0];
var rPrp = this.getPrpToControlLetter();
var rPrp = this.getCtrPrp();
rPrp.Italic = false;
g_oTextMeasurer.SetFont(rPrp);
......@@ -4671,7 +4536,7 @@ CCharacter.prototype.draw = function(pGraphics)
{
this.elements[0][0].draw(pGraphics);
var rPrp = this.getPrpToControlLetter();
var rPrp = this.getCtrPrp();
rPrp.Italic = false;
pGraphics.SetFont(rPrp);
......@@ -4731,13 +4596,6 @@ CCharacter.prototype.getBase = function()
{
return this.elements[0][0];
}
CCharacter.prototype.setTxtPrp = function(txtPrp)
{
if(this.operator !== null && typeof(this.operator) !== "undefined")
this.operator.setTxtPrp(txtPrp);
CCharacter.superclass.setTxtPrp.call(this, txtPrp);
}
function CGroupCharacter()
......@@ -4768,7 +4626,7 @@ CGroupCharacter.prototype.init = function(props)
if(glyph.bArrow)
this.setReduct(DEGR_REDUCT);
this.setOperator( new COperator(glyph) );
this.setOperator(new COperator(glyph));
}
CGroupCharacter.prototype.getCenter = function()
{
......
......@@ -9,7 +9,7 @@ function CSignRadical()
}
CSignRadical.prototype.draw = function(pGraphics)
{
var txtPrp = this.Parent.getPrpToControlLetter();
var txtPrp = this.Parent.getCtrPrp();
//var txtPrp = this.Parent.getTxtPrp();
var penW = txtPrp.FontSize*g_dKoef_pt_to_mm*0.042;
......@@ -80,7 +80,7 @@ CSignRadical.prototype.draw = function(pGraphics)
CSignRadical.prototype.recalculateSize = function()
{
//var txtPrp = this.Parent.getTxtPrp();
var txtPrp = this.Parent.getPrpToControlLetter();
var txtPrp = this.Parent.getCtrPrp();
var sizeArg = this.Parent.getBase().size;
var height, width;
......@@ -223,7 +223,7 @@ CRadical.prototype.recalculateSize = function()
var width = degr.width - wTick + sign.width;
var txtPrp = this.getPrpToControlLetter();
var txtPrp = this.getCtrPrp();
var plH = 9.877777777777776 * txtPrp.FontSize /36;
if( sign.height < plH )
......
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