Files
Yajbir Singh f1b860b25c
check / markdownlint (push) Has been cancelled
check / spellchecker (push) Has been cancelled
updated
2025-12-11 19:03:17 +05:30

1539 lines
45 KiB
JavaScript

/*
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
"use strict";
(function(window, document)
{
const CBinaryFileWriter = window['AscCommon'].CBinaryFileWriter;
function BinaryVSDYWriter()
{
this.memory = null;
this.nRealTableCount = 0;
this.nStart = 0;
this.nLastFilePos = 0;
this.Write = function(document)
{
let t = this;
const writer = new AscCommon.CBinaryFileWriter();
return writer.WriteDocument3(document, false, "VSDY;v1;", function () {
t.WriteContent(writer, document);
});
};
this.WriteContent = function(binaryFileWriter, document) {
// Define table types
const TABLE_TYPES = {
DOCUMENT: 1,
APP: 2,
CORE: 3,
CUSTOM_PROPERTIES: 4
};
this.memory = binaryFileWriter
const nTableCount = 128;//Специально ставим большое число, чтобы не увеличивать его при добавлении очередной таблицы.
this.nRealTableCount = 0;
this.nStart = this.memory.GetCurPosition();
//вычисляем с какой позиции можно писать таблицы
const nmtItemSize = 5;//5 byte
this.nLastFilePos = this.nStart + nTableCount * nmtItemSize;
//Write mtLen
this.memory.WriteUChar(0);
const t = this;
//Write SignatureTable
if (document.app) {
this.WriteTable(TABLE_TYPES.APP, {Write: function(){
document.app.toStream(binaryFileWriter);
}});
}
if (document.core) {
this.WriteTable(TABLE_TYPES.CORE, {Write: function(){
document.core.toStream(binaryFileWriter);
}});
}
if (document.customProperties && document.customProperties.hasProperties()) {
this.WriteTable(TABLE_TYPES.CUSTOM_PROPERTIES, {Write: function(){
document.customProperties.toStream(binaryFileWriter);
}});
}
this.WriteTable(TABLE_TYPES.DOCUMENT, {Write: function(){
binaryFileWriter.WriteRecordPPTY(0, document);
}});
//Пишем количество таблиц
this.memory.Seek(this.nStart);
this.memory.WriteUChar(this.nRealTableCount);
//seek в конец, потому что GetBase64Memory заканчивает запись на текущей позиции.
this.memory.Seek(this.nLastFilePos);
}
//todo remove coping
this.WriteTable = function(type, oTableSer)
{
const nCurPos = this.WriteTableStart(type);
oTableSer.Write();
this.WriteTableEnd(nCurPos);
}
this.WriteTableStart = function(type)
{
//Write mtItem
//Write mtiType
this.memory.WriteUChar(type);
//Write mtiOffBits
this.memory.WriteULong(this.nLastFilePos);
//Write table
//Запоминаем позицию в MainTable
const nCurPos = this.memory.GetCurPosition();
//Seek в свободную область
this.memory.Seek(this.nLastFilePos);
return nCurPos;
}
this.WriteTableEnd = function(nCurPos)
{
//сдвигаем позицию куда можно следующую таблицу
this.nLastFilePos = this.memory.GetCurPosition();
//Seek вобратно в MainTable
this.memory.Seek(nCurPos);
this.nRealTableCount++;
}
}
AscVisio.CVisioDocument.prototype.privateWriteAttributes = undefined;
/**
* Write children to stream for CVisioDocument
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.CVisioDocument.prototype.writeChildren = function (pWriter) {
// Write documentSettings
pWriter.WriteRecordPPTY(0, this.documentSettings);
// Write colors
if (this.colors && this.colors.length > 0) {
pWriter.StartRecord(1);
for (let i = 0; i < this.colors.length; i++) {
pWriter.WriteRecordPPTY(0, this.colors[i]);
}
pWriter.EndRecord();
}
// Write faceNames
if (this.faceNames && this.faceNames.length > 0) {
pWriter.StartRecord(2);
for (let i = 0; i < this.faceNames.length; i++) {
pWriter.WriteRecordPPTY(0, this.faceNames[i]);
}
pWriter.EndRecord();
}
// Write styleSheets
if (this.styleSheets && this.styleSheets.length > 0) {
pWriter.StartRecord(3);
for (let i = 0; i < this.styleSheets.length; i++) {
pWriter.WriteRecordPPTY(0, this.styleSheets[i]);
}
pWriter.EndRecord();
}
// Write documentSheet
pWriter.WriteRecordPPTY(4, this.documentSheet);
// Write eventList
if (this.eventList && this.eventList.length > 0) {
pWriter.StartRecord(5);
for (let i = 0; i < this.eventList.length; i++) {
pWriter.WriteRecordPPTY(0, this.eventList[i]);
}
pWriter.EndRecord();
}
// Write headerFooter
pWriter.WriteRecordPPTY(6, this.headerFooter);
// Write masters
pWriter.WriteRecordPPTY(7, this.masters);
// Write pages
pWriter.WriteRecordPPTY(8, this.pages);
// Write dataConnections
if (this.dataConnections) {
pWriter.StartRecord(9);
pWriter.WriteRecordPPTY(0, this.dataConnections);
pWriter.EndRecord();
}
// Write dataRecordSets
if (this.dataRecordSets) {
pWriter.StartRecord(10);
pWriter.WriteRecordPPTY(0, this.dataRecordSets);
pWriter.EndRecord();
}
// Write solutions
if (this.solutions) {
pWriter.StartRecord(11);
pWriter.WriteRecordPPTY(0, this.solutions);
pWriter.EndRecord();
}
// Write validation
pWriter.WriteRecordPPTY(12, this.validation);
// Write commentsPart
if (this.commentsPart) {
pWriter.StartRecord(13);
pWriter.WriteRecordPPTY(0, this.commentsPart);
pWriter.EndRecord();
}
// Write windows
if (this.windows) {
pWriter.StartRecord(14);
pWriter.WriteRecordPPTY(0, this.windows);
pWriter.EndRecord();
}
if (this.themes) {
for (let i = 0; i < this.themes.length; i++) {
let theme = this.themes[i];
// theme with id 0 is default theme (no theme in visio) - this theme should not be saved
if (theme.themeElements.themeExt.themeSchemeSchemeEnum !== "0") {
pWriter.StartRecord(15);
pWriter.WriteTheme(theme);
pWriter.EndRecord();
}
}
}
//todo VbaProject
//todo JsaProject
};
/**
* Write attributes to stream for CWindows
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.CWindows.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.clientWidth);
pWriter._WriteUInt2(1, this.clientHeight);
};
/**
* Write children to stream for CWindows
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.CWindows.prototype.writeChildren = function (pWriter) {
if (this.window) {
for (let i = 0; i < this.window.length; i++) {
pWriter.WriteRecordPPTY(0, this.window[i]);
}
}
};
AscVisio.CMasters.prototype.privateWriteAttributes = undefined;
/**
* Write children to stream for CMasters
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.CMasters.prototype.writeChildren = function (pWriter) {
if (this.master) {
for (let i = 0; i < this.master.length; i++) {
pWriter.WriteRecordPPTY(0, this.master[i]);
}
}
};
AscVisio.CPageContents.prototype.privateWriteAttributes = undefined;
/**
* Write children to stream for CPageContents
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.CPageContents.prototype.writeChildren = function (pWriter) {
// Write shapes
if (this.shapes && this.shapes.length > 0) {
pWriter.StartRecord(0);
for (let i = 0; i < this.shapes.length; i++) {
pWriter.WriteRecordPPTY(0, this.shapes[i]);
}
pWriter.EndRecord();
}
// Write connects
if (this.connects && this.connects.length > 0) {
pWriter.StartRecord(1);
for (let i = 0; i < this.connects.length; i++) {
pWriter.WriteRecordPPTY(0, this.connects[i]);
}
pWriter.EndRecord();
}
};
AscVisio.CMasterContents.prototype.privateWriteAttributes = undefined;
/**
* Write children to stream for CMasterContents
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.CMasterContents.prototype.writeChildren = function (pWriter) {
// Write shapes
if (this.shapes && this.shapes.length > 0) {
pWriter.StartRecord(0);
for (let i = 0; i < this.shapes.length; i++) {
pWriter.WriteRecordPPTY(0, this.shapes[i]);
}
pWriter.EndRecord();
}
// Write connects
if (this.connects && this.connects.length > 0) {
pWriter.StartRecord(1);
for (let i = 0; i < this.connects.length; i++) {
pWriter.WriteRecordPPTY(0, this.connects[i]);
}
pWriter.EndRecord();
}
};
AscVisio.CPages.prototype.privateWriteAttributes = undefined;
/**
* Write children to stream for CPages
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.CPages.prototype.writeChildren = function (pWriter) {
if (this.page) {
for (let i = 0; i < this.page.length; i++) {
pWriter.WriteRecordPPTY(0, this.page[i]);
}
}
};
/**
* Write attributes to stream for StyleSheet_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.StyleSheet_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.id);
pWriter._WriteString2(1, this.nameU);
pWriter._WriteString2(2, this.name);
pWriter._WriteBool2(3, this.isCustomName);
pWriter._WriteBool2(4, this.isCustomNameU);
pWriter._WriteUInt2(5, this.lineStyle);
pWriter._WriteUInt2(6, this.fillStyle);
pWriter._WriteUInt2(7, this.textStyle);
};
/**
* Write children to stream for StyleSheet_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.StyleSheet_Type.prototype.writeChildren = function (pWriter) {
for (let i in this.elements) {
const elem = this.elements[i];
switch (elem.kind) {
case AscVisio.c_oVsdxSheetStorageKind.Cell_Type:
pWriter.WriteRecordPPTY(0, elem);
break;
case AscVisio.c_oVsdxSheetStorageKind.Trigger_Type:
pWriter.WriteRecordPPTY(1, elem);
break;
case AscVisio.c_oVsdxSheetStorageKind.Section_Type:
pWriter.WriteRecordPPTY(2, elem);
break;
}
}
};
/**
* Write attributes to stream for CComments
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.CComments.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteBool2(0, this.showCommentTags);
};
/**
* Write children to stream for CComments
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.CComments.prototype.writeChildren = function (pWriter) {
// Write authorList
if (this.authorList && this.authorList.length > 0) {
pWriter.StartRecord(0);
for (let i = 0; i < this.authorList.length; i++) {
pWriter.WriteRecordPPTY(0, this.authorList[i]);
}
pWriter.EndRecord();
}
// Write commentList
if (this.commentList && this.commentList.length > 0) {
pWriter.StartRecord(1);
for (let i = 0; i < this.commentList.length; i++) {
pWriter.WriteRecordPPTY(0, this.commentList[i]);
}
pWriter.EndRecord();
}
};
/**
* Write attributes to stream for CDataConnections
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.CDataConnections.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.nextID);
};
/**
* Write children to stream for CDataConnections
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.CDataConnections.prototype.writeChildren = function (pWriter) {
if (this.dataConnection) {
for (let i = 0; i < this.dataConnection.length; i++) {
pWriter.WriteRecordPPTY(0, this.dataConnection[i]);
}
}
};
/**
* Write attributes to stream for CDataRecordSets
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.CDataRecordSets.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.nextID);
pWriter._WriteUInt2(1, this.activeRecordsetID);
pWriter._WriteString2(2, this.dataWindowOrder);
};
/**
* Write children to stream for CDataRecordSets
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.CDataRecordSets.prototype.writeChildren = function (pWriter) {
if (this.dataRecordSet) {
for (let i = 0; i < this.dataRecordSet.length; i++) {
pWriter.WriteRecordPPTY(0, this.dataRecordSet[i]);
}
}
};
AscVisio.CValidation.prototype.privateWriteAttributes = undefined;
/**
* Write children to stream for CValidation
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.CValidation.prototype.writeChildren = function (pWriter) {
// Write validationProperties
pWriter.WriteRecordPPTY(0, this.validationProperties);
// Write ruleSets
if (this.ruleSets && this.ruleSets.length > 0) {
pWriter.StartRecord(1);
for (let i = 0; i < this.ruleSets.length; i++) {
pWriter.WriteRecordPPTY(0, this.ruleSets[i]);
}
pWriter.EndRecord();
}
// Write issues
if (this.issues && this.issues.length > 0) {
pWriter.StartRecord(2);
for (let i = 0; i < this.issues.length; i++) {
pWriter.WriteRecordPPTY(0, this.issues[i]);
}
pWriter.EndRecord();
}
};
/**
* Write attributes to stream for RuleTest_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.RuleTest_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteString2(0, this.value);
};
/**
* Write attributes to stream for RuleFilter_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.RuleFilter_Type.prototype.privateWriteAttributes = AscVisio.RuleTest_Type.prototype.privateWriteAttributes;
/**
* Write attributes to stream for RowKeyValue_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.RowKeyValue_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.rowID);
pWriter._WriteString2(1, this.value);
};
/**
* Write attributes to stream for DataColumn_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.DataColumn_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteString2(0, this.columnNameID);
pWriter._WriteString2(1, this.name);
pWriter._WriteString2(2, this.label);
pWriter._WriteString2(3, this.origLabel);
// Note: langID is skipped in the reader as a TODO
pWriter._WriteUInt2(5, this.calendar);
pWriter._WriteUInt2(6, this.dataType);
pWriter._WriteString2(7, this.unitType);
pWriter._WriteUInt2(8, this.currency);
pWriter._WriteUInt2(9, this.degree);
pWriter._WriteUInt2(10, this.displayWidth);
pWriter._WriteUInt2(11, this.displayOrder);
pWriter._WriteBool2(12, this.mapped);
pWriter._WriteBool2(13, this.hyperlink);
};
/**
* Write attributes to stream for RuleInfo_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.RuleInfo_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.ruleID);
pWriter._WriteUInt2(1, this.ruleSetID);
};
/**
* Write attributes to stream for IssueTarget_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.IssueTarget_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.pageID);
pWriter._WriteUInt2(1, this.shapeID);
};
/**
* Write attributes to stream for Rule_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Rule_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.id);
pWriter._WriteString2(1, this.category);
pWriter._WriteString2(2, this.nameU);
pWriter._WriteBool2(3, this.ignored);
pWriter._WriteString2(4, this.description);
pWriter._WriteInt2(5, this.ruleTarget);
};
/**
* Write children to stream for Rule_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Rule_Type.prototype.writeChildren = function (pWriter) {
// Write ruleFilter
pWriter.WriteRecordPPTY(0, this.ruleFilter);
// Write ruleTest
pWriter.WriteRecordPPTY(1, this.ruleTest);
};
/**
* Write attributes to stream for RuleSetFlags_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.RuleSetFlags_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteBool2(0, this.hidden);
};
/**
* Write attributes to stream for RowMap_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.RowMap_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.rowID);
pWriter._WriteUInt2(1, this.pageID);
pWriter._WriteUInt2(2, this.shapeID);
};
/**
* Write attributes to stream for PrimaryKey_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.PrimaryKey_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteString2(0, this.columnNameID);
};
/**
* Write children to stream for PrimaryKey_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.PrimaryKey_Type.prototype.writeChildren = function (pWriter) {
// Write rowKeyValue elements
if (this.rowKeyValue) {
for (let i = 0; i < this.rowKeyValue.length; i++) {
pWriter.WriteRecordPPTY(0, this.rowKeyValue[i]);
}
}
};
/**
* Write attributes to stream for DataColumns_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.DataColumns_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteString2(0, this.sortColumn);
pWriter._WriteBool2(1, this.sortAsc);
};
/**
* Write children to stream for DataColumns_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.DataColumns_Type.prototype.writeChildren = function (pWriter) {
// Write dataColumn elements
if (this.dataColumn) {
for (let i = 0; i < this.dataColumn.length; i++) {
pWriter.WriteRecordPPTY(0, this.dataColumn[i]);
}
}
};
/**
* Write to binary format for Icon_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Icon_Type.prototype.toPPTY = function (pWriter) {
pWriter.WriteString2(this.value);
};
/**
* Write attributes to stream for PageSheet_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.PageSheet_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteString2(0, this.uniqueID);
pWriter._WriteUInt2(1, this.lineStyle);
pWriter._WriteUInt2(2, this.fillStyle);
pWriter._WriteUInt2(3, this.textStyle);
};
/**
* Write children to stream for PageSheet_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.PageSheet_Type.prototype.writeChildren = function (pWriter) {
// Write elements (cells, triggers, sections)
for (let i in this.elements) {
const elem = this.elements[i];
switch (elem.kind) {
case AscVisio.c_oVsdxSheetStorageKind.Cell_Type:
pWriter.WriteRecordPPTY(0, elem);
break;
case AscVisio.c_oVsdxSheetStorageKind.Trigger_Type:
pWriter.WriteRecordPPTY(1, elem);
break;
case AscVisio.c_oVsdxSheetStorageKind.Section_Type:
pWriter.WriteRecordPPTY(2, elem);
break;
}
}
};
/**
* Write attributes to stream for tp_Type (Text Properties Type)
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.tp_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.ix);
};
/**
* Write attributes to stream for pp_Type (Text Paragraph Properties Type)
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.pp_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.ix);
};
/**
* Write attributes to stream for fld_Type (Text Field Type)
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.fld_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.ix);
pWriter._WriteString2(1, this.value);
};
/**
* Write attributes to stream for cp_Type (Character Properties Type)
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.cp_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.ix);
};
/**
* Write attributes to stream for CommentEntry_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.CommentEntry_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.authorID);
pWriter._WriteUInt2(1, this.pageID);
pWriter._WriteUInt2(2, this.shapeID);
pWriter._WriteString2(3, this.date);
pWriter._WriteString2(4, this.editDate);
pWriter._WriteUInt2(5, this.commentID);
pWriter._WriteUInt2(6, this.autoCommentType);
pWriter._WriteString2(7, this.value);
};
/**
* Write attributes to stream for AuthorEntry_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.AuthorEntry_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.id);
pWriter._WriteString2(1, this.name);
pWriter._WriteString2(2, this.initials);
pWriter._WriteString2(3, this.resolutionID);
};
/**
* Write attributes to stream for Issue_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Issue_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.id);
pWriter._WriteBool2(1, this.ignored);
};
/**
* Write children to stream for Issue_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Issue_Type.prototype.writeChildren = function (pWriter) {
// Write issueTarget
pWriter.WriteRecordPPTY(0, this.issueTarget);
// Write ruleInfo
pWriter.WriteRecordPPTY(1, this.ruleInfo);
};
/**
* Write attributes to stream for Issue_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Issue_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteString2(0, this.id);
pWriter._WriteString2(1, this.ignored);
pWriter._WriteString2(2, this.ruleID);
};
/**
* Write children to stream for Issue_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Issue_Type.prototype.writeChildren = function (pWriter) {
// Write targets if present
if (this.targets && this.targets.length > 0) {
pWriter.StartRecord(0);
for (let i = 0; i < this.targets.length; i++) {
pWriter.WriteRecordPPTY(0, this.targets[i]);
}
pWriter.EndRecord();
}
};
/**
* Write attributes to stream for RuleSet_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.RuleSet_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.id);
pWriter._WriteString2(1, this.nameU);
pWriter._WriteString2(2, this.name);
pWriter._WriteString2(3, this.description);
pWriter._WriteBool2(4, this.enabled);
};
/**
* Write children to stream for RuleSet_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.RuleSet_Type.prototype.writeChildren = function (pWriter) {
// Write ruleSetFlags if present
pWriter.WriteRecordPPTY(0, this.ruleSetFlags);
// Write rules if present
if (this.rule) {
for (let i = 0; i < this.rule.length; i++) {
pWriter.WriteRecordPPTY(1, this.rule[i]);
}
}
};
/**
* Write attributes to stream for ValidationProperties_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.ValidationProperties_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteBool2(0, this.showIgnored);
pWriter._WriteString2(1, this.lastValidated);
};
/**
* Write attributes to stream for DataRecordSet_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.DataRecordSet_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.id);
pWriter._WriteUInt2(1, this.connectionID);
pWriter._WriteString2(2, this.command);
pWriter._WriteUInt2(3, this.options);
pWriter._WriteString2(4, this.timeRefreshed);
pWriter._WriteUInt2(5, this.nextRowID);
pWriter._WriteString2(6, this.name);
pWriter._WriteString2(7, this.rowOrder);
pWriter._WriteBool2(8, this.refreshOverwriteAll);
pWriter._WriteBool2(9, this.refreshNoReconciliationUI);
pWriter._WriteUInt2(10, this.refreshInterval);
pWriter._WriteBool2(11, this.replaceLinks);
pWriter._WriteUInt2(12, this.checksum);
};
/**
* Write children to stream for DataRecordSet_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.DataRecordSet_Type.prototype.writeChildren = function (pWriter) {
// Write dataColumns if present
pWriter.WriteRecordPPTY(0, this.dataColumns);
// Write primaryKey if present
if (this.primaryKey) {
for (let i = 0; i < this.primaryKey.length; i++) {
pWriter.StartRecord(1);
pWriter.WriteRecordPPTY(0, this.primaryKey[i]);
pWriter.EndRecord();
}
}
// Write rowMaps if present
if (this.rowMaps) {
for (let i = 0; i < this.rowMaps.length; i++) {
pWriter.StartRecord(2);
pWriter.WriteRecordPPTY(0, this.rowMaps[i]);
pWriter.EndRecord();
}
}
// Write content if present
if (this.content) {
pWriter.StartRecord(5);
pWriter.StartRecord(0);
pWriter.WriteBuffer(this.content, 0, this.content.length);
pWriter.EndRecord();
pWriter.EndRecord();
}
};
/**
* Write attributes to stream for DataConnection_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.DataConnection_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.id);
pWriter._WriteString2(1, this.fileName);
pWriter._WriteString2(2, this.connectionString);
pWriter._WriteString2(3, this.command);
pWriter._WriteString2(4, this.friendlyName);
pWriter._WriteUInt2(5, this.timeout);
pWriter._WriteBool2(6, this.alwaysUseConnectionFile);
};
/**
* Write attributes to stream for Solution_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Solution_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteString2(0, this.name);
pWriter._WriteString2(1, this.nameU);
pWriter._WriteString2(2, this.xml);
};
/**
* Write children to stream for Solution_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Solution_Type.prototype.writeChildren = function (pWriter) {
// Write content if present
if (this.content) {
pWriter.StartRecord(0);
pWriter.StartRecord(0);
pWriter.WriteBuffer(this.content, 0, this.content.length);
pWriter.EndRecord();
pWriter.EndRecord();
}
};
/**
* Write attributes to stream for Window_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Window_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.id);
pWriter._WriteUChar2(1, this.windowType);
pWriter._WriteUInt2(2, this.windowState);
pWriter._WriteInt2(3, this.windowLeft);
pWriter._WriteInt2(4, this.windowTop);
pWriter._WriteUInt2(5, this.windowWidth);
pWriter._WriteUInt2(6, this.windowHeight);
pWriter._WriteUChar2(7, this.containerType);
pWriter._WriteUInt2(8, this.container);
pWriter._WriteUInt2(9, this.page);
pWriter._WriteUInt2(10, this.sheet);
pWriter._WriteDoubleReal2(11, this.viewScale);
pWriter._WriteDoubleReal2(12, this.viewCenterX);
pWriter._WriteDoubleReal2(13, this.viewCenterY);
pWriter._WriteString2(14, this.document);
pWriter._WriteUInt2(15, this.parentWindow);
pWriter._WriteBool2(16, this.readOnly);
pWriter._WriteBool2(17, this.showRulers);
pWriter._WriteBool2(18, this.showGrid);
pWriter._WriteBool2(19, this.showPageBreaks);
pWriter._WriteBool2(20, this.showGuides);
pWriter._WriteBool2(21, this.showConnectionPoints);
pWriter._WriteUInt2(22, this.glueSettings);
pWriter._WriteUInt2(23, this.snapSettings);
pWriter._WriteUInt2(24, this.snapExtensions);
pWriter._WriteBool2(26, this.dynamicGridEnabled);
pWriter._WriteDoubleReal2(27, this.tabSplitterPos);
pWriter._WriteUInt2(28, this.stencilGroup);
pWriter._WriteUInt2(29, this.stencilGroupPos);
};
/**
* Write children to stream for Window_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Window_Type.prototype.writeChildren = function (pWriter) {
// Write content if present
if (this.snapAngles && this.snapAngles.length > 0) {
pWriter.StartRecord(0);
for (let i = 0; i < this.snapAngles.length; i++) {
pWriter.WriteRecordPPTY(0, this.snapAngles[i]);
}
pWriter.EndRecord();
}
};
/**
* Write attributes to stream for Page_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Page_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.id);
pWriter._WriteString2(1, this.name);
pWriter._WriteString2(2, this.nameU);
pWriter._WriteBool2(3, this.isCustomName);
pWriter._WriteBool2(4, this.isCustomNameU);
pWriter._WriteBool2(5, this.background);
pWriter._WriteUInt2(6, this.backPage);
pWriter._WriteDoubleReal2(7, this.viewScale);
pWriter._WriteDoubleReal2(8, this.viewCenterX);
pWriter._WriteDoubleReal2(9, this.viewCenterY);
pWriter._WriteUInt2(10, this.reviewerID);
pWriter._WriteUInt2(11, this.associatedPage);
};
/**
* Write children to stream for Page_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Page_Type.prototype.writeChildren = function (pWriter) {
// Write pageSheet if present
pWriter.WriteRecordPPTY(0, this.pageSheet);
// Write rel if present
pWriter.WriteRecordPPTY(1, this.content);
};
/**
* Write attributes to stream for Connect_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Connect_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.fromSheet);
pWriter._WriteString2Utf8(1, this.fromCell);
pWriter._WriteInt2(2, this.fromPart);
pWriter._WriteUInt2(3, this.toSheet);
pWriter._WriteString2Utf8(4, this.toCell);
pWriter._WriteInt2(5, this.toPart);
};
/**
* Write attributes to stream for Shape_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Shape_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.id);
pWriter._WriteUChar2(1, this.type);
pWriter._WriteUInt2(2, this.originalID);
pWriter._WriteBool2(3, this.del);
pWriter._WriteUInt2(4, this.masterShape);
pWriter._WriteString2(5, this.uniqueID);
pWriter._WriteString2(6, this.nameU);
pWriter._WriteString2(7, this.name);
pWriter._WriteBool2(8, this.isCustomName);
pWriter._WriteBool2(9, this.isCustomNameU);
pWriter._WriteUInt2(10, this.master);
pWriter._WriteUInt2(11, this.lineStyle);
pWriter._WriteUInt2(12, this.fillStyle);
pWriter._WriteUInt2(13, this.textStyle);
};
/**
* Write children to stream for Shape_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Shape_Type.prototype.writeChildren = function (pWriter) {
// Write elements
for (let i in this.elements) {
const elem = this.elements[i];
switch (elem.kind) {
case AscVisio.c_oVsdxSheetStorageKind.Cell_Type:
pWriter.WriteRecordPPTY(0, elem);
break;
case AscVisio.c_oVsdxSheetStorageKind.Trigger_Type:
pWriter.WriteRecordPPTY(1, elem);
break;
case AscVisio.c_oVsdxSheetStorageKind.Section_Type:
pWriter.WriteRecordPPTY(2, elem);
break;
case AscVisio.c_oVsdxSheetStorageKind.Text_Type:
pWriter.WriteRecordPPTY(3, elem);
break;
case AscVisio.c_oVsdxSheetStorageKind.ForeignData_Type:
pWriter.WriteRecordPPTY(4, elem);
break;
}
}
// Write shapes
if (this.shapes && this.shapes.length > 0) {
pWriter.StartRecord(5);
for (let i = 0; i < this.shapes.length; i++) {
pWriter.WriteRecordPPTY(0, this.shapes[i]);
}
pWriter.EndRecord();
}
};
AscVisio.Text_Type.prototype.privateWriteAttributes = undefined;
/**
* Write children to stream for Text_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Text_Type.prototype.writeChildren = function (pWriter) {
this.elements.forEach(function(elem) {
switch (elem.kind) {
case AscVisio.c_oVsdxTextKind.CP:
pWriter.WriteRecordPPTY(0, elem);
break;
case AscVisio.c_oVsdxTextKind.PP:
pWriter.WriteRecordPPTY(1, elem);
break;
case AscVisio.c_oVsdxTextKind.TP:
pWriter.WriteRecordPPTY(2, elem);
break;
case AscVisio.c_oVsdxTextKind.FLD:
pWriter.WriteRecordPPTY(3, elem);
break;
default:
pWriter.StartRecord(4);
pWriter.WriteUChar(AscCommon.g_nodeAttributeStart);
pWriter._WriteString2(0, elem);
pWriter.WriteUChar(AscCommon.g_nodeAttributeEnd);
pWriter.EndRecord();
break;
}
});
};
/**
* Write attributes to stream for RefBy_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.RefBy_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.id);
pWriter._WriteString2(1, this.t);
};
/**
* Write attributes to stream for HeaderFooter_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.HeaderFooter_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteDoubleReal2(0, this.headerMargin);
pWriter._WriteDoubleReal2(1, this.footerMargin);
pWriter._WriteString2(2, this.headerLeft);
pWriter._WriteString2(3, this.headerCenter);
pWriter._WriteString2(4, this.headerRight);
pWriter._WriteString2(5, this.footerLeft);
pWriter._WriteString2(6, this.footerCenter);
pWriter._WriteString2(7, this.footerRight);
pWriter._WriteString2(8, this.headerFooterFont);
};
/**
* Write attributes to stream for EventItem_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.EventItem_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.id);
pWriter._WriteUInt2(1, this.action);
pWriter._WriteUInt2(2, this.eventCode);
pWriter._WriteBool2(3, this.enabled);
pWriter._WriteString2(4, this.target);
pWriter._WriteString2(5, this.targetArgs);
};
/**
* Write attributes to stream for DocumentSheet_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.DocumentSheet_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteString2(0, this.uniqueID);
pWriter._WriteString2(1, this.nameU);
pWriter._WriteString2(2, this.name);
pWriter._WriteBool2(3, this.isCustomName);
pWriter._WriteBool2(4, this.isCustomNameU);
pWriter._WriteUInt2(5, this.lineStyle);
pWriter._WriteUInt2(6, this.fillStyle);
pWriter._WriteUInt2(7, this.textStyle);
};
/**
* Write children to stream for DocumentSheet_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.DocumentSheet_Type.prototype.writeChildren = function (pWriter) {
// Write elements
for (let i in this.elements) {
const elem = this.elements[i];
switch (elem.kind) {
case AscVisio.c_oVsdxSheetStorageKind.Cell_Type:
pWriter.WriteRecordPPTY(0, elem);
break;
case AscVisio.c_oVsdxSheetStorageKind.Trigger_Type:
pWriter.WriteRecordPPTY(1, elem);
break;
case AscVisio.c_oVsdxSheetStorageKind.Section_Type:
pWriter.WriteRecordPPTY(2, elem);
break;
}
}
};
/**
* Write attributes to stream for FaceName_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.FaceName_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteString2(0, this.nameU);
pWriter._WriteString2(1, this.unicodeRanges);
pWriter._WriteString2(2, this.charSets);
pWriter._WriteString2(3, this.panos);
pWriter._WriteString2(4, this.panose);
pWriter._WriteUInt2(5, this.flags);
};
/**
* Write attributes to stream for ColorEntry_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.ColorEntry_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.ix);
pWriter._WriteString2(1, this.rgb);
};
/**
* Write attributes to stream for DocumentSettings_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.DocumentSettings_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.topPage);
pWriter._WriteUInt2(1, this.defaultTextStyle);
pWriter._WriteUInt2(2, this.defaultLineStyle);
pWriter._WriteUInt2(3, this.defaultFillStyle);
pWriter._WriteUInt2(4, this.defaultGuideStyle);
pWriter._WriteInt2(5, this.glueSettings);
pWriter._WriteInt2(6, this.snapSettings);
pWriter._WriteInt2(7, this.snapExtensions);
pWriter._WriteBool2(9, this.dynamicGridEnabled);
pWriter._WriteBool2(10, this.protectStyles);
pWriter._WriteBool2(11, this.protectShapes);
pWriter._WriteBool2(12, this.protectBkgnds);
pWriter._WriteBool2(13, this.protectMasters);
pWriter._WriteString2(14, this.customMenusFile);
pWriter._WriteString2(15, this.customToolbarsFile);
pWriter._WriteString2(16, this.attachedToolbars);
};
/**
* Write children to stream for DocumentSettings_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.DocumentSettings_Type.prototype.writeChildren = function (pWriter) {
// Write content if present
if (this.snapAngles && this.snapAngles.length > 0) {
pWriter.StartRecord(0);
for (let i = 0; i < this.snapAngles.length; i++) {
pWriter.WriteRecordPPTY(0, this.snapAngles[i]);
}
pWriter.EndRecord();
}
};
/**
* Write attributes to stream for SnapAngle_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.SnapAngle_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteDoubleReal2(0, this.value);
};
/**
* Write attributes to stream for Section_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Section_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.ix);
pWriter._WriteString2Utf8(1, this.n);
pWriter._WriteBool2(2, this.del);
};
/**
* Write children to stream for Section_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Section_Type.prototype.writeChildren = function (pWriter) {
// Write elements
for (let i in this.elements) {
const elem = this.elements[i];
switch (elem.kind) {
case AscVisio.c_oVsdxSheetStorageKind.Cell_Type:
pWriter.WriteRecordPPTY(0, elem);
break;
case AscVisio.c_oVsdxSheetStorageKind.Trigger_Type:
pWriter.WriteRecordPPTY(1, elem);
break;
case AscVisio.c_oVsdxSheetStorageKind.Row_Type:
pWriter.WriteRecordPPTY(6, elem);
break;
}
}
};
/**
* Write attributes to stream for Trigger_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Trigger_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteString2Utf8(0, this.n);
};
/**
* Write children to stream for Trigger_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Trigger_Type.prototype.writeChildren = function (pWriter) {
// Write refBy
for (let i = 0; i < this.refBy.length; i++) {
pWriter.WriteRecordPPTY(0, this.refBy[i]);
}
};
/**
* Write attributes to stream for Row_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Row_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.ix);
pWriter._WriteString2Utf8(1, this.n);
pWriter._WriteString2(2, this.localName);
pWriter._WriteString2Utf8(3, this.t);
pWriter._WriteBool2(4, this.del);
};
/**
* Write children to stream for Row_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Row_Type.prototype.writeChildren = function (pWriter) {
// Write elements
for (let i in this.elements) {
const elem = this.elements[i];
switch (elem.kind) {
case AscVisio.c_oVsdxSheetStorageKind.Cell_Type:
pWriter.WriteRecordPPTY(0, elem);
break;
case AscVisio.c_oVsdxSheetStorageKind.Trigger_Type:
pWriter.WriteRecordPPTY(1, elem);
break;
}
}
};
/**
* Write attributes to stream for Cell_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Cell_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteString2Utf8(0, this.n);
pWriter._WriteString2Utf8(1, this.u);
pWriter._WriteString2Utf8(2, this.e);
pWriter._WriteString2Utf8(3, this.f);
pWriter._WriteString2Utf8(4, this.v);
};
/**
* Write children to stream for Cell_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Cell_Type.prototype.writeChildren = function (pWriter) {
// Write refBy
for (let i = 0; i < this.refBy.length; i++) {
pWriter.WriteRecordPPTY(0, this.refBy[i]);
}
};
/**
* Write attributes to stream for ForeignData_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.ForeignData_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUChar2(0, this.foreignType);
pWriter._WriteUInt2(1, this.objectType);
pWriter._WriteBool2(2, this.showAsIcon);
pWriter._WriteDoubleReal2(3, this.objectWidth);
pWriter._WriteDoubleReal2(4, this.objectHeight);
pWriter._WriteDoubleReal2(5, this.extentX);
pWriter._WriteDoubleReal2(6, this.extentY);
pWriter._WriteUChar2(7, this.compressionType);
pWriter._WriteDoubleReal2(8, this.compressionLevel);
};
/**
* Write children to stream for ForeignData_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.ForeignData_Type.prototype.writeChildren = function (pWriter) {
// Write image data
if (null !== this.mediaFilename) {
pWriter.StartRecord(1);
pWriter.WriteString2(this.mediaFilename);
pWriter.EndRecord();
}
if (null !== this.oleFilename) {
pWriter.StartRecord(2);
pWriter.WriteString2(this.oleFilename);
pWriter.EndRecord();
}
};
AscVisio.CSolutions.prototype.privateWriteAttributes = undefined;
/**
* Write attributes to stream for CSolutions
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.CSolutions.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteString2(0, this.current);
};
/**
* Write children to stream for CSolutions
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.CSolutions.prototype.writeChildren = function (pWriter) {
// Write solution objects
if (this.solution && this.solution.length > 0) {
for (let i = 0; i < this.solution.length; i++) {
pWriter.WriteRecordPPTY(0, this.solution[i]);
}
}
};
/**
* Write attributes to stream for Issue_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Issue_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.id);
pWriter._WriteBool2(1, this.ignored);
};
/**
* Write children to stream for Issue_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Issue_Type.prototype.writeChildren = function (pWriter) {
// Write issueTargets
if (this.issueTargets && this.issueTargets.length > 0) {
pWriter.StartRecord(0);
for (let i = 0; i < this.issueTargets.length; i++) {
pWriter.WriteRecordPPTY(0, this.issueTargets[i]);
}
pWriter.EndRecord();
}
// Write ruleInfo
pWriter.WriteRecordPPTY(1, this.ruleInfo);
};
/**
* Write attributes to stream for Master_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Master_Type.prototype.privateWriteAttributes = function (pWriter) {
pWriter._WriteUInt2(0, this.id);
pWriter._WriteString2(1, this.name);
pWriter._WriteString2(2, this.nameU);
pWriter._WriteString2(3, this.baseID);
pWriter._WriteString2(4, this.uniqueID);
pWriter._WriteBool2(5, this.matchByName);
pWriter._WriteBool2(6, this.isCustomName);
pWriter._WriteBool2(7, this.isCustomNameU);
pWriter._WriteUInt2(8, this.iconSize);
pWriter._WriteUInt2(9, this.patternFlags);
pWriter._WriteString2(10, this.prompt);
pWriter._WriteBool2(11, this.hidden);
pWriter._WriteBool2(12, this.iconUpdate);
pWriter._WriteUInt2(13, this.alignName);
pWriter._WriteUInt2(14, this.masterType);
};
/**
* Write children to stream for Master_Type
*
* @param {CBinaryFileWriter} pWriter - The binary writer
*/
AscVisio.Master_Type.prototype.writeChildren = function (pWriter) {
// Write pageSheet
pWriter.WriteRecordPPTY(0, this.pageSheet);
// Write icon
pWriter.WriteRecordPPTY(1, this.icon);
// Write rel
pWriter.WriteRecordPPTY(2, this.content);
};
window['AscVisio'] = window['AscVisio'] || {};
window['AscVisio'].BinaryVSDYWriter = BinaryVSDYWriter;
})(window, window.document);