init repo

This commit is contained in:
nikolay ivanov
2014-07-05 18:22:49 +00:00
commit a8be6b9e72
17348 changed files with 9229832 additions and 0 deletions

View File

@@ -0,0 +1,102 @@
/*
* (c) Copyright Ascensio System SIA 2010-2014
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
*
*/
#pragma once
#ifndef PPTX_LOGIC_ANIM_INCLUDE_H_
#define PPTX_LOGIC_ANIM_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "CBhvr.h"
#include "TavLst.h"
#include "./../../Limit/TLCalcMode.h"
#include "./../../Limit/TLValueType.h"
namespace PPTX
{
namespace Logic
{
class Anim : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(Anim)
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
node.ReadAttributeBase(L"by", by);
node.ReadAttributeBase(L"from", from);
node.ReadAttributeBase(L"to", to);
node.ReadAttributeBase(L"calcmode", calcmode);
node.ReadAttributeBase(L"valueType", valueType);
cBhvr = node.ReadNode(_T("p:cBhvr"));
tavLst = node.ReadNode(_T("p:tavLst"));
FillParentPointersForChilds();
}
virtual CString toXML() const
{
XmlUtils::CAttribute oAttr;
oAttr.Write(_T("by"), by);
oAttr.Write(_T("from"), from);
oAttr.Write(_T("to"), to);
oAttr.WriteLimitNullable(_T("calcmode"), calcmode);
oAttr.WriteLimitNullable(_T("valueType"), valueType);
XmlUtils::CNodeValue oValue;
oValue.Write(cBhvr);
oValue.WriteNullable(tavLst);
return XmlUtils::CreateNode(_T("p:anim"), oAttr, oValue);
}
public:
CBhvr cBhvr;
nullable<TavLst> tavLst;
nullable_string by;
nullable_limit<Limit::TLCalcMode> calcmode;
nullable_string from;
nullable_string to;
nullable_limit<Limit::TLValueType> valueType;
protected:
virtual void FillParentPointersForChilds()
{
cBhvr.SetParentPointer(this);
if(tavLst.IsInit())
tavLst->SetParentPointer(this);
}
};
}
}
#endif // PPTX_LOGIC_ANIM_INCLUDE_H

View File

@@ -0,0 +1,150 @@
/*
* (c) Copyright Ascensio System SIA 2010-2014
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
*
*/
#pragma once
#ifndef PPTX_LOGIC_ANIMCLR_INCLUDE_H_
#define PPTX_LOGIC_ANIMCLR_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "CBhvr.h"
#include "./../UniColor.h"
#include "./../../Limit/TLColorSpace.h"
#include "./../../Limit/TLColorDirection.h"
namespace PPTX
{
namespace Logic
{
class AnimClr : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(AnimClr)
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
node.ReadAttributeBase(L"clrSpc", clrSpc);
node.ReadAttributeBase(L"dir", dir);
cBhvr = node.ReadNode(_T("cBhvr"));
XmlUtils::CXmlNode oNodeFrom;
if (node.GetNode(_T("p:from"), oNodeFrom))
from.GetColorFrom(oNodeFrom);
XmlUtils::CXmlNode oNodeTo;
if (node.GetNode(_T("p:to"), oNodeTo))
to.GetColorFrom(oNodeTo);
XmlUtils::CXmlNode oNodeBy;
if (node.GetNode(_T("p:by"), oNodeBy))
{
XmlUtils::CXmlNode oRGB;
XmlUtils::CXmlNode oHSL;
if (oNodeBy.GetNode(_T("p:rgb"), oRGB))
{
oRGB.ReadAttributeBase(L"r", byR);
oRGB.ReadAttributeBase(L"g", byG);
oRGB.ReadAttributeBase(L"b", byB);
}
else if (oNodeBy.GetNode(_T("p:hsl"), oRGB))
{
oHSL.ReadAttributeBase(L"h", byH);
oHSL.ReadAttributeBase(L"s", byS);
oHSL.ReadAttributeBase(L"l", byL);
}
}
FillParentPointersForChilds();
}
virtual CString toXML() const
{
XmlUtils::CAttribute oAttr;
oAttr.WriteLimitNullable(_T("clrSpc"), clrSpc);
oAttr.WriteLimitNullable(_T("dir"), dir);
XmlUtils::CNodeValue oValue;
oValue.Write(cBhvr);
if (byR.IsInit() && byG.IsInit() && byB.IsInit())
{
XmlUtils::CAttribute oAttr1;
oAttr1.Write(_T("r"), byR);
oAttr1.Write(_T("g"), byG);
oAttr1.Write(_T("b"), byB);
oValue.m_strValue += (_T("<p:by>") + XmlUtils::CreateNode(_T("p:rgb"), oAttr1) + _T("</p:by>"));
}
else if (byH.IsInit() && byS.IsInit() && byL.IsInit())
{
XmlUtils::CAttribute oAttr1;
oAttr1.Write(_T("h"), byH);
oAttr1.Write(_T("s"), byS);
oAttr1.Write(_T("l"), byL);
oValue.m_strValue += (_T("<p:by>") + XmlUtils::CreateNode(_T("p:hsl"), oAttr1) + _T("</p:by>"));
}
if (from.is_init())
oValue.m_strValue += XmlUtils::CreateNode(_T("p:from"), from.toXML());
if (to.is_init())
oValue.m_strValue += XmlUtils::CreateNode(_T("p:to"), to.toXML());
return XmlUtils::CreateNode(_T("p:animClr"), oAttr, oValue);
}
public:
CBhvr cBhvr;
nullable_int byR;
nullable_int byG;
nullable_int byB;
nullable_int byH;
nullable_int byS;
nullable_int byL;
UniColor from;
UniColor to;
nullable_limit<Limit::TLColorSpace> clrSpc;
nullable_limit<Limit::TLColorDirection> dir;
protected:
virtual void FillParentPointersForChilds()
{
cBhvr.SetParentPointer(this);
from.SetParentPointer(this);
to.SetParentPointer(this);
}
};
}
}
#endif // PPTX_LOGIC_ANIMCLR_INCLUDE_H

View File

@@ -0,0 +1,95 @@
/*
* (c) Copyright Ascensio System SIA 2010-2014
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
*
*/
#pragma once
#ifndef PPTX_LOGIC_ANIMEFFECT_INCLUDE_H_
#define PPTX_LOGIC_ANIMEFFECT_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "CBhvr.h"
#include "AnimVariant.h"
#include "./../../Limit/TLTransition.h"
namespace PPTX
{
namespace Logic
{
class AnimEffect : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(AnimEffect)
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
node.ReadAttributeBase(L"filter", filter);
node.ReadAttributeBase(L"prLst", prLst);
node.ReadAttributeBase(L"transition", transition);
cBhvr = node.ReadNode(_T("p:cBhvr"));
progress = node.ReadNodeNoNS(_T("progress"));
FillParentPointersForChilds();
}
virtual CString toXML() const
{
XmlUtils::CAttribute oAttr;
oAttr.Write(_T("filter"), filter);
oAttr.Write(_T("prLst"), prLst);
oAttr.WriteLimitNullable(_T("transition"), transition);
XmlUtils::CNodeValue oValue;
oValue.Write(cBhvr);
oValue.WriteNullable(progress);
return XmlUtils::CreateNode(_T("p:animEffect"), oAttr, oValue);
}
public:
CBhvr cBhvr;
nullable<AnimVariant> progress;
nullable_string filter;
nullable_string prLst;
nullable_limit<Limit::TLTransition> transition;
protected:
virtual void FillParentPointersForChilds()
{
cBhvr.SetParentPointer(this);
if(progress.IsInit())
progress->SetParentPointer(this);
}
};
}
}
#endif // PPTX_LOGIC_ANIMEFFECT_INCLUDE_H

View File

@@ -0,0 +1,169 @@
/*
* (c) Copyright Ascensio System SIA 2010-2014
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
*
*/
#pragma once
#ifndef PPTX_LOGIC_ANIMMOTION_INCLUDE_H_
#define PPTX_LOGIC_ANIMMOTION_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "CBhvr.h"
#include "./../../Limit/TLOrigin.h"
#include "./../../Limit/TLPathEditMode.h"
namespace PPTX
{
namespace Logic
{
class AnimMotion : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(AnimMotion)
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
cBhvr = node.ReadNode(_T("p:cBhvr"));
XmlUtils::CXmlNode oNodeBy;
if (node.GetNode(_T("p:by"), oNodeBy))
{
oNodeBy.ReadAttributeBase(L"x", byX);
oNodeBy.ReadAttributeBase(L"y", byY);
}
XmlUtils::CXmlNode oNodeFrom;
if (node.GetNode(_T("p:from"), oNodeFrom))
{
oNodeFrom.ReadAttributeBase(L"x", fromX);
oNodeFrom.ReadAttributeBase(L"y", fromY);
}
XmlUtils::CXmlNode oNodeTo;
if (node.GetNode(_T("p:to"), oNodeTo))
{
oNodeTo.ReadAttributeBase(L"x", toX);
oNodeTo.ReadAttributeBase(L"y", toY);
}
XmlUtils::CXmlNode oNodeCtr;
if (node.GetNode(_T("p:rCtr"), oNodeCtr))
{
oNodeCtr.ReadAttributeBase(L"x", rCtrX);
oNodeCtr.ReadAttributeBase(L"y", rCtrY);
}
node.ReadAttributeBase(L"path", path);
node.ReadAttributeBase(L"ptsTypes", ptsTypes);
node.ReadAttributeBase(L"rAng", rAng);
node.ReadAttributeBase(L"origin", origin);
node.ReadAttributeBase(L"pathEditMode", pathEditMode);
FillParentPointersForChilds();
}
virtual CString toXML() const
{
XmlUtils::CAttribute oAttr;
oAttr.WriteLimitNullable(_T("origin"), origin);
oAttr.Write(_T("path"), path);
oAttr.WriteLimitNullable(_T("pathEditMode"), pathEditMode);
oAttr.Write(_T("rAng"), rAng);
oAttr.Write(_T("ptsTypes"), ptsTypes);
XmlUtils::CNodeValue oValue;
if (byX.IsInit() || byY.IsInit())
{
XmlUtils::CAttribute oAttr1;
oAttr1.Write(_T("x"), byX);
oAttr1.Write(_T("y"), byY);
oValue.m_strValue += XmlUtils::CreateNode(_T("p:by"), oAttr1);
}
if (fromY.IsInit() || fromY.IsInit())
{
XmlUtils::CAttribute oAttr1;
oAttr1.Write(_T("x"), fromX);
oAttr1.Write(_T("y"), fromY);
oValue.m_strValue += XmlUtils::CreateNode(_T("p:from"), oAttr1);
}
if (toX.IsInit() || toY.IsInit())
{
XmlUtils::CAttribute oAttr1;
oAttr1.Write(_T("x"), toX);
oAttr1.Write(_T("y"), toY);
oValue.m_strValue += XmlUtils::CreateNode(_T("p:to"), oAttr1);
}
if (rCtrX.IsInit() || rCtrY.IsInit())
{
XmlUtils::CAttribute oAttr1;
oAttr1.Write(_T("x"), rCtrX);
oAttr1.Write(_T("y"), rCtrY);
oValue.m_strValue += XmlUtils::CreateNode(_T("p:rCtr"), oAttr1);
}
oValue.Write(cBhvr);
return XmlUtils::CreateNode(_T("p:animMotion"), oAttr, oValue);
}
public:
CBhvr cBhvr;
nullable_int byX;
nullable_int byY;
nullable_int fromX;
nullable_int fromY;
nullable_int toX;
nullable_int toY;
nullable_int rCtrX;
nullable_int rCtrY;
nullable_limit<Limit::TLOrigin> origin;
nullable_string path;
nullable_limit<Limit::TLPathEditMode> pathEditMode;
nullable_string ptsTypes;
nullable_int rAng;
protected:
virtual void FillParentPointersForChilds()
{
cBhvr.SetParentPointer(this);
}
};
}
}
#endif // PPTX_LOGIC_ANIMMOTION_INCLUDE_H

View File

@@ -0,0 +1,88 @@
/*
* (c) Copyright Ascensio System SIA 2010-2014
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
*
*/
#pragma once
#ifndef PPTX_LOGIC_ANIMROT_INCLUDE_H_
#define PPTX_LOGIC_ANIMROT_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "CBhvr.h"
namespace PPTX
{
namespace Logic
{
class AnimRot : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(AnimRot)
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
cBhvr = node.ReadNode(_T("p:cBhvr"));
node.ReadAttributeBase(L"by", by);
node.ReadAttributeBase(L"from", from);
node.ReadAttributeBase(L"to", to);
FillParentPointersForChilds();
}
virtual CString toXML() const
{
XmlUtils::CAttribute oAttr;
oAttr.Write(_T("by"), by);
oAttr.Write(_T("from"), from);
oAttr.Write(_T("to"), to);
XmlUtils::CNodeValue oValue;
oValue.Write(cBhvr);
return XmlUtils::CreateNode(_T("p:animRot"), oAttr, oValue);
}
public:
CBhvr cBhvr;
nullable_int by;
nullable_int from;
nullable_int to;
protected:
virtual void FillParentPointersForChilds()
{
cBhvr.SetParentPointer(this);
}
};
}
}
#endif // PPTX_LOGIC_ANIMROT_INCLUDE_H

View File

@@ -0,0 +1,133 @@
/*
* (c) Copyright Ascensio System SIA 2010-2014
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
*
*/
#pragma once
#ifndef PPTX_LOGIC_ANIMSCALE_INCLUDE_H_
#define PPTX_LOGIC_ANIMSCALE_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "CBhvr.h"
namespace PPTX
{
namespace Logic
{
class AnimScale : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(AnimScale)
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
cBhvr = node.ReadNode(_T("p:cBhvr"));
XmlUtils::CXmlNode oNodeBy;
if (node.GetNode(_T("p:by"), oNodeBy))
{
oNodeBy.ReadAttributeBase(L"x", byX);
oNodeBy.ReadAttributeBase(L"y", byY);
}
XmlUtils::CXmlNode oNodeFrom;
if (node.GetNode(_T("p:from"), oNodeFrom))
{
oNodeFrom.ReadAttributeBase(L"x", fromX);
oNodeFrom.ReadAttributeBase(L"y", fromY);
}
XmlUtils::CXmlNode oNodeTo;
if (node.GetNode(_T("p:to"), oNodeTo))
{
oNodeTo.ReadAttributeBase(L"x", toX);
oNodeTo.ReadAttributeBase(L"y", toY);
}
node.ReadAttributeBase(L"zoomContents", zoomContents);
FillParentPointersForChilds();
}
virtual CString toXML() const
{
XmlUtils::CAttribute oAttr;
oAttr.Write(_T("zoomContents"), zoomContents);
XmlUtils::CNodeValue oValue;
oValue.Write(cBhvr);
if (byX.IsInit() || byY.IsInit())
{
XmlUtils::CAttribute oAttr1;
oAttr1.Write(_T("x"), byX);
oAttr1.Write(_T("y"), byY);
oValue.m_strValue += XmlUtils::CreateNode(_T("p:by"), oAttr1);
}
if (fromX.IsInit() || fromY.IsInit())
{
XmlUtils::CAttribute oAttr1;
oAttr1.Write(_T("x"), fromX);
oAttr1.Write(_T("y"), fromY);
oValue.m_strValue += XmlUtils::CreateNode(_T("p:from"), oAttr1);
}
if (toX.IsInit() || toY.IsInit())
{
XmlUtils::CAttribute oAttr1;
oAttr1.Write(_T("x"), toX);
oAttr1.Write(_T("y"), toY);
oValue.m_strValue += XmlUtils::CreateNode(_T("p:to"), oAttr1);
}
return XmlUtils::CreateNode(_T("p:animScale"), oAttr, oValue);
}
public:
CBhvr cBhvr;
nullable_int byX;
nullable_int byY;
nullable_int fromX;
nullable_int fromY;
nullable_int toX;
nullable_int toY;
nullable_bool zoomContents;
protected:
virtual void FillParentPointersForChilds()
{
cBhvr.SetParentPointer(this);
}
};
}
}
#endif // PPTX_LOGIC_ANIMSCALE_INCLUDE_H

View File

@@ -0,0 +1,122 @@
/*
* (c) Copyright Ascensio System SIA 2010-2014
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
*
*/
#pragma once
#ifndef PPTX_LOGIC_ANIMVARIANT_INCLUDE_H_
#define PPTX_LOGIC_ANIMVARIANT_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "./../UniColor.h"
namespace PPTX
{
namespace Logic
{
class AnimVariant : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(AnimVariant)
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
name = XmlUtils::GetNameNoNS(node.GetName());
XmlUtils::CXmlNode oNode;
if (node.GetNode(_T("p:boolVal"), oNode))
oNode.ReadAttributeBase(L"val", boolVal);
else if (node.GetNode(_T("p:intVal"), oNode))
oNode.ReadAttributeBase(L"val", intVal);
else if (node.GetNode(_T("p:fltVal"), oNode))
oNode.ReadAttributeBase(L"val", fltVal);
else if (node.GetNode(_T("p:clrVal"), oNode))
clrVal.GetColorFrom(oNode);
else if (node.GetNode(_T("p:strVal"), oNode))
oNode.ReadAttributeBase(L"val", strVal);
FillParentPointersForChilds();
}
virtual CString toXML() const
{
XmlUtils::CNodeValue oValue;
if (strVal.IsInit())
{
XmlUtils::CAttribute oAttr;
oAttr.Write(_T("val"), strVal);
oValue.m_strValue += XmlUtils::CreateNode(_T("p:strVal"), oAttr);
}
if (boolVal.IsInit())
{
XmlUtils::CAttribute oAttr;
oAttr.Write(_T("val"), boolVal);
oValue.m_strValue += XmlUtils::CreateNode(_T("p:boolVal"), oAttr);
}
if (intVal.IsInit())
{
XmlUtils::CAttribute oAttr;
oAttr.Write(_T("val"), intVal);
oValue.m_strValue += XmlUtils::CreateNode(_T("p:intVal"), oAttr);
}
if (fltVal.IsInit())
{
XmlUtils::CAttribute oAttr;
oAttr.Write(_T("val"), fltVal);
oValue.m_strValue += XmlUtils::CreateNode(_T("p:fltVal"), oAttr);
}
if (clrVal.is_init())
{
oValue.m_strValue += (_T("<p:clrVal>") + clrVal.toXML() + _T("</p:clrVal>"));
}
return XmlUtils::CreateNode(_T("p:") + name, oValue);
}
public:
CString name;
nullable_bool boolVal;
nullable_string strVal;
nullable_int intVal;
nullable_double fltVal;
UniColor clrVal;
protected:
virtual void FillParentPointersForChilds()
{
clrVal.SetParentPointer(this);
}
};
}
}
#endif // PPTX_LOGIC_ANIMVARIANT_INCLUDE_H_

View File

@@ -0,0 +1,65 @@
/*
* (c) Copyright Ascensio System SIA 2010-2014
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
*
*/
#pragma once
#ifndef PPTX_LOGIC_ATTRNAME_INCLUDE_H_
#define PPTX_LOGIC_ATTRNAME_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
namespace PPTX
{
namespace Logic
{
class AttrName : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(AttrName)
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
text = node.GetTextExt();
}
virtual CString toXML() const
{
return _T("<p:attrName>") + text + _T("</p:attrName>");
}
public:
CString text;
protected:
virtual void FillParentPointersForChilds(){};
};
}
}
#endif // PPTX_LOGIC_ATTRNAME_INCLUDE_H_

View File

@@ -0,0 +1,79 @@
/*
* (c) Copyright Ascensio System SIA 2010-2014
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
*
*/
#pragma once
#ifndef PPTX_LOGIC_ATTRNAMELST_INCLUDE_H_
#define PPTX_LOGIC_ATTRNAMELST_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "AttrName.h"
namespace PPTX
{
namespace Logic
{
class AttrNameLst : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(AttrNameLst)
AttrNameLst& operator=(const AttrNameLst& oSrc)
{
parentFile = oSrc.parentFile;
parentElement = oSrc.parentElement;
list.Copy(oSrc.list);
return *this;
}
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
node.LoadArray(_T("p:attrName"), list);
FillParentPointersForChilds();
}
virtual CString toXML() const
{
XmlUtils::CNodeValue oValue;
oValue.WriteArray(list);
return XmlUtils::CreateNode(_T("p:attrNameLst"), oValue);
}
public:
CAtlArray<AttrName> list;
protected:
virtual void FillParentPointersForChilds(){};
};
}
}
#endif // PPTX_LOGIC_ATTRNAMELST_INCLUDE_H_

View File

@@ -0,0 +1,77 @@
/*
* (c) Copyright Ascensio System SIA 2010-2014
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
*
*/
#pragma once
#ifndef PPTX_LOGIC_AUDIO_INCLUDE_H_
#define PPTX_LOGIC_AUDIO_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "CMediaNode.h"
namespace PPTX
{
namespace Logic
{
class Audio : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(Audio)
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
node.ReadAttributeBase(L"isNarration", isNarration);
cMediaNode = node.ReadNode(_T("p:cMediaNode"));
FillParentPointersForChilds();
}
virtual CString toXML() const
{
XmlUtils::CAttribute oAttr;
oAttr.Write(_T("isNarration"), isNarration);
return XmlUtils::CreateNode(_T("p:audio"), oAttr, cMediaNode.toXML());
}
public:
CMediaNode cMediaNode;
nullable_bool isNarration;
protected:
virtual void FillParentPointersForChilds()
{
cMediaNode.SetParentPointer(this);
}
};
}
}
#endif // PPTX_LOGIC_AUDIO_INCLUDE_H

View File

@@ -0,0 +1,89 @@
/*
* (c) Copyright Ascensio System SIA 2010-2014
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
*
*/
#pragma once
#ifndef PPTX_LOGIC_BLDDGM_INCLUDE_H_
#define PPTX_LOGIC_BLDDGM_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "./../../Limit/DgmBuildType.h"
namespace PPTX
{
namespace Logic
{
class BldDgm : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(BldDgm)
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
node.ReadAttributeBase(L"spid", spid);
grpId = node.ReadAttributeInt(L"grpId");
node.ReadAttributeBase(L"uiExpand", uiExpand);
node.ReadAttributeBase(L"bld", bld);
Normalize();
FillParentPointersForChilds();
}
virtual CString toXML() const
{
XmlUtils::CAttribute oAttr;
oAttr.Write(_T("spid"), spid);
oAttr.Write(_T("grpId"), grpId);
oAttr.Write(_T("uiExpand"), uiExpand);
oAttr.WriteLimitNullable(_T("bld"), bld);
return XmlUtils::CreateNode(_T("p:bldDgm"), oAttr);
}
public:
CString spid;
int grpId;
nullable_bool uiExpand;
nullable_limit<Limit::DgmBuildType> bld;
protected:
virtual void FillParentPointersForChilds(){};
AVSINLINE void Normalize()
{
if (grpId < 0)
grpId = 0;
}
};
}
}
#endif // PPTX_LOGIC_BLDDGM_INCLUDE_H

View File

@@ -0,0 +1,96 @@
/*
* (c) Copyright Ascensio System SIA 2010-2014
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
*
*/
#pragma once
#ifndef PPTX_LOGIC_BLDGRAPHIC_INCLUDE_H_
#define PPTX_LOGIC_BLDGRAPHIC_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "BldSub.h"
namespace PPTX
{
namespace Logic
{
class BldGraphic : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(BldGraphic)
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
bldSub = node.ReadNode(_T("p:bldSub"));
node.ReadAttributeBase(L"spid", spid);
grpId = node.ReadAttributeInt(L"grpId");
node.ReadAttributeBase(L"uiExpand", uiExpand);
Normalize();
FillParentPointersForChilds();
}
virtual CString toXML() const
{
XmlUtils::CAttribute oAttr;
oAttr.Write(_T("spid"), spid);
oAttr.Write(_T("grpId"), grpId);
oAttr.Write(_T("uiExpand"), uiExpand);
if (!bldSub.IsInit())
return XmlUtils::CreateNode(_T("p:bldGraphic"), oAttr, _T("<p:bldAsOne/>"));
return XmlUtils::CreateNode(_T("p:bldGraphic"), oAttr, bldSub->toXML());
}
public:
nullable<BldSub> bldSub;
CString spid;
int grpId;
nullable_bool uiExpand;
protected:
virtual void FillParentPointersForChilds()
{
if(bldSub.IsInit())
bldSub->SetParentPointer(this);
}
AVSINLINE void Normalize()
{
if (grpId < 0)
grpId = 0;
}
};
}
}
#endif // PPTX_LOGIC_BLDGRAPHIC_INCLUDE_H

View File

@@ -0,0 +1,83 @@
/*
* (c) Copyright Ascensio System SIA 2010-2014
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
*
*/
#pragma once
#ifndef PPTX_LOGIC_BLDLST_INCLUDE_H_
#define PPTX_LOGIC_BLDLST_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "BuildNodeBase.h"
namespace PPTX
{
namespace Logic
{
class BldLst : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(BldLst)
BldLst& operator=(const BldLst& oSrc)
{
parentFile = oSrc.parentFile;
parentElement = oSrc.parentElement;
list.Copy(oSrc.list);
return *this;
}
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
node.LoadArray(_T("*"), list);
FillParentPointersForChilds();
}
virtual CString toXML() const
{
XmlUtils::CNodeValue oValue;
oValue.WriteArray(list);
return XmlUtils::CreateNode(_T("p:bldLst"), oValue);
}
public:
CAtlArray<BuildNodeBase> list;
protected:
virtual void FillParentPointersForChilds()
{
size_t count = list.GetCount();
for (size_t i = 0; i < count; ++i)
list[i].SetParentPointer(this);
}
};
}
}
#endif // PPTX_LOGIC_BLDLST_INCLUDE_H_

View File

@@ -0,0 +1,92 @@
/*
* (c) Copyright Ascensio System SIA 2010-2014
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
*
*/
#pragma once
#ifndef PPTX_LOGIC_BLDOLECHART_INCLUDE_H_
#define PPTX_LOGIC_BLDOLECHART_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "./../../Limit/ChartBuildType.h"
namespace PPTX
{
namespace Logic
{
class BldOleChart : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(BldOleChart)
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
spid = node.GetAttribute(_T("spid"));
grpId = node.ReadAttributeInt(L"grpId");
node.ReadAttributeBase(L"uiExpand", uiExpand);
node.ReadAttributeBase(L"bld", bld);
node.ReadAttributeBase(L"animBg", animBg);
Normalize();
FillParentPointersForChilds();
}
virtual CString toXML() const
{
XmlUtils::CAttribute oAttr;
oAttr.Write(_T("spid"), spid);
oAttr.Write(_T("grpId"), grpId);
oAttr.Write(_T("uiExpand"), uiExpand);
oAttr.WriteLimitNullable(_T("bld"), bld);
oAttr.Write(_T("animBg"), animBg);
return XmlUtils::CreateNode(_T("p:bldOleChart"), oAttr);
}
public:
CString spid;
int grpId;
nullable_bool uiExpand;
nullable_limit<Limit::ChartBuildType> bld;
nullable_bool animBg;
protected:
virtual void FillParentPointersForChilds(){};
AVSINLINE void Normalize()
{
if (grpId < 0)
grpId = 0;
}
};
}
}
#endif // PPTX_LOGIC_BLDOLECHART_INCLUDE_H

View File

@@ -0,0 +1,121 @@
/*
* (c) Copyright Ascensio System SIA 2010-2014
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
*
*/
#pragma once
#ifndef PPTX_LOGIC_BLDP_INCLUDE_H_
#define PPTX_LOGIC_BLDP_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "./../../Limit/ParaBuildType.h"
#include "TmplLst.h"
namespace PPTX
{
namespace Logic
{
class BldP : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(BldP)
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
tmplLst = node.ReadNode(_T("p:tmplLst"));
spid = node.GetAttribute(_T("spid"));
grpId = node.ReadAttributeInt(L"grpId");
node.ReadAttributeBase(L"uiExpand", uiExpand);
node.ReadAttributeBase(L"build", build);
node.ReadAttributeBase(L"bldLvl", bldLvl);
node.ReadAttributeBase(L"animBg", animBg);
node.ReadAttributeBase(L"autoUpdateAnimBg", autoUpdateAnimBg);
node.ReadAttributeBase(L"rev", rev);
node.ReadAttributeBase(L"advAuto", advAuto);
Normalize();
FillParentPointersForChilds();
}
virtual CString toXML() const
{
XmlUtils::CAttribute oAttr;
oAttr.Write(_T("spid"), spid);
oAttr.Write(_T("grpId"), grpId);
oAttr.Write(_T("uiExpand"), uiExpand);
oAttr.WriteLimitNullable(_T("build"), build);
oAttr.Write(_T("bldLvl"), bldLvl);
oAttr.Write(_T("animBg"), animBg);
oAttr.Write(_T("autoUpdateAnimBg"), autoUpdateAnimBg);
oAttr.Write(_T("rev"), rev);
oAttr.Write(_T("advAuto"), advAuto);
oAttr.Write(_T("spid"), spid);
XmlUtils::CNodeValue oValue;
oValue.WriteNullable(tmplLst);
return XmlUtils::CreateNode(_T("p:bldP"), oAttr, oValue);
}
public:
nullable<TmplLst> tmplLst;
CString spid;
int grpId;
nullable_bool uiExpand;
nullable_limit<Limit::ParaBuildType> build;
nullable_int bldLvl;
nullable_bool animBg;
nullable_bool autoUpdateAnimBg;
nullable_bool rev;
nullable_string advAuto;
protected:
virtual void FillParentPointersForChilds()
{
if(tmplLst.IsInit())
tmplLst->SetParentPointer(this);
}
AVSINLINE void Normalize()
{
if (grpId < 0)
grpId = 0;
if (bldLvl.IsInit())
if (*bldLvl < 0)
*bldLvl = 0;
}
};
}
}
#endif // PPTX_LOGIC_BLDP_INCLUDE_H

View File

@@ -0,0 +1,107 @@
/*
* (c) Copyright Ascensio System SIA 2010-2014
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
*
*/
#pragma once
#ifndef PPTX_LOGIC_BLDSUB_INCLUDE_H_
#define PPTX_LOGIC_BLDSUB_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "./../../Limit/ChartBuildType.h"
#include "./../../Limit/AnimationDgmBuild.h"
namespace PPTX
{
namespace Logic
{
class BldSub : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(BldSub)
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
XmlUtils::CXmlNode oNode;
if (node.GetNode(_T("a:bldChart"), oNode))
{
chart = true;
oNode.ReadAttributeBase(L"bld", bldChart);
oNode.ReadAttributeBase(L"animBg", animBg);
}
else if (node.GetNode(_T("a:bldDgm"), oNode))
{
chart = false;
oNode.ReadAttributeBase(L"bld", bldDgm);
oNode.ReadAttributeBase(L"rev", rev);
}
else
chart.reset();
FillParentPointersForChilds();
}
virtual CString toXML() const
{
if (chart.IsInit())
{
if (*chart)
{
XmlUtils::CAttribute oAttr;
oAttr.WriteLimitNullable(_T("bld"), bldChart);
oAttr.Write(_T("animBg"), animBg);
return XmlUtils::CreateNode(_T("p:bldSub"), XmlUtils::CreateNode(_T("a:bldChart"), oAttr));
}
XmlUtils::CAttribute oAttr;
oAttr.WriteLimitNullable(_T("bld"), bldDgm);
oAttr.Write(_T("rev"), rev);
return XmlUtils::CreateNode(_T("p:bldSub"), XmlUtils::CreateNode(_T("a:bldDgm"), oAttr));
}
return _T("<p:bldSub/>");
}
public:
nullable_bool chart;
nullable_bool animBg;
nullable_limit<Limit::ChartBuildType> bldChart;
nullable_limit<Limit::AnimationDgmBuild> bldDgm;
nullable_bool rev;
protected:
virtual void FillParentPointersForChilds(){};
};
}
}
#endif // PPTX_LOGIC_BLDSUB_INCLUDE_H_

View File

@@ -0,0 +1,102 @@
/*
* (c) Copyright Ascensio System SIA 2010-2014
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
*
*/
#include "./stdafx.h"
#include "BuildNodeBase.h"
#include "BldP.h"
#include "BldDgm.h"
#include "BldGraphic.h"
#include "BldOleChart.h"
namespace PPTX
{
namespace Logic
{
BuildNodeBase::BuildNodeBase()
{
}
BuildNodeBase::~BuildNodeBase()
{
}
BuildNodeBase::BuildNodeBase(XmlUtils::CXmlNode& node)
{
fromXML(node);
}
const BuildNodeBase& BuildNodeBase::operator =(XmlUtils::CXmlNode& node)
{
fromXML(node);
return *this;
}
void BuildNodeBase::fromXML(XmlUtils::CXmlNode& node)
{
CString name = XmlUtils::GetNameNoNS(node.GetName());
if (name == _T("bldP"))
m_node.reset(new Logic::BldP(node));
else if (name == _T("bldDgm"))
m_node.reset(new Logic::BldDgm(node));
else if (name == _T("bldGraphic"))
m_node.reset(new Logic::BldGraphic(node));
else if (name == _T("bldOleChart"))
m_node.reset(new Logic::BldOleChart(node));
else m_node.reset();
}
void BuildNodeBase::GetBuildNodeFrom(XmlUtils::CXmlNode& element)
{
XmlUtils::CXmlNode oNode;
if (element.GetNode(_T("p:bldP"), oNode))
m_node.reset(new Logic::BldP(oNode));
else if (element.GetNode(_T("p:bldDgm"), oNode))
m_node.reset(new Logic::BldDgm(oNode));
else if (element.GetNode(_T("p:bldGraphic"), oNode))
m_node.reset(new Logic::BldGraphic(oNode));
else if (element.GetNode(_T("p:bldOleChart"), oNode))
m_node.reset(new Logic::BldOleChart(oNode));
else m_node.reset();
}
CString BuildNodeBase::toXML() const
{
if (m_node.IsInit())
return m_node->toXML();
return _T("");
}
}
} // namespace PPTX

View File

@@ -0,0 +1,75 @@
/*
* (c) Copyright Ascensio System SIA 2010-2014
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
*
*/
#pragma once
#ifndef PPTX_LOGIC_BUILDNODEBASE_INCLUDE_H_
#define PPTX_LOGIC_BUILDNODEBASE_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
namespace PPTX
{
namespace Logic
{
class BuildNodeBase : public WrapperWritingElement
{
public:
BuildNodeBase();
virtual ~BuildNodeBase();
explicit BuildNodeBase(XmlUtils::CXmlNode& node);
const BuildNodeBase& operator =(XmlUtils::CXmlNode& node);
public:
virtual void fromXML(XmlUtils::CXmlNode& node);
virtual void GetBuildNodeFrom(XmlUtils::CXmlNode& element);
virtual bool is_init()const{return (m_node.IsInit());};
template<class T> const bool is() const { return (!m_node.IsInit())?false:(typeid(*m_node) == typeid(T));}
template<class T> T& as() {return static_cast<T&>(*m_node);}
template<class T> const T& as() const {return static_cast<const T&>(*m_node);}
virtual CString toXML() const;
private:
smart_ptr<WrapperWritingElement> m_node;
protected:
virtual void FillParentPointersForChilds(){};
public:
virtual void SetParentPointer(const WrapperWritingElement* pParent)
{
if(is_init())
m_node->SetParentPointer(pParent);
}
};
}
}
#endif // PPTX_LOGIC_BUILDNODEBASE_INCLUDE_H_

View File

@@ -0,0 +1,118 @@
/*
* (c) Copyright Ascensio System SIA 2010-2014
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
*
*/
#pragma once
#ifndef PPTX_LOGIC_CBHVR_INCLUDE_H_
#define PPTX_LOGIC_CBHVR_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "CTn.h"
#include "AttrNameLst.h"
#include "TgtEl.h"
#include "./../../Limit/TLAccumulate.h"
#include "./../../Limit/TLAdditive.h"
#include "./../../Limit/TLOverride.h"
#include "./../../Limit/TLTransform.h"
namespace PPTX
{
namespace Logic
{
class CBhvr : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(CBhvr)
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
node.ReadAttributeBase(L"accumulate", accumulate);
node.ReadAttributeBase(L"additive", additive);
node.ReadAttributeBase(L"by", by);
node.ReadAttributeBase(L"from", from);
node.ReadAttributeBase(L"override", override_);
node.ReadAttributeBase(L"rctx", rctx);
node.ReadAttributeBase(L"to", to);
node.ReadAttributeBase(L"xfrmType", xfrmType);
cTn = node.ReadNode(_T("p:cTn"));
tgtEl = node.ReadNode(_T("p:tgtEl"));
attrNameLst = node.ReadNode(_T("p:attrNameLst"));
FillParentPointersForChilds();
}
CString toXML() const
{
XmlUtils::CAttribute oAttr;
oAttr.WriteLimitNullable(_T("accumulate"), accumulate);
oAttr.WriteLimitNullable(_T("additive"), additive);
oAttr.Write(_T("by"), by);
oAttr.Write(_T("from"), from);
oAttr.WriteLimitNullable(_T("override"), override_);
oAttr.Write(_T("rctx"), rctx);
oAttr.Write(_T("to"), to);
oAttr.WriteLimitNullable(_T("xfrmType"), xfrmType);
XmlUtils::CNodeValue oValue;
oValue.Write(cTn);
oValue.Write(tgtEl);
oValue.WriteNullable(attrNameLst);
return XmlUtils::CreateNode(_T("p:cBhvr"), oAttr, oValue);
}
public:
CTn cTn;
TgtEl tgtEl;
nullable<AttrNameLst> attrNameLst;
nullable_limit<Limit::TLAccumulate> accumulate;
nullable_limit<Limit::TLAdditive> additive;
nullable_string by;
nullable_string from;
nullable_limit<Limit::TLOverride> override_;
nullable_string rctx;
nullable_string to;
nullable_limit<Limit::TLTransform> xfrmType;
protected:
virtual void FillParentPointersForChilds()
{
cTn.SetParentPointer(this);
tgtEl.SetParentPointer(this);
if(attrNameLst.IsInit())
attrNameLst->SetParentPointer(this);
}
};
}
}
#endif // PPTX_LOGIC_CBHVR_INCLUDE_H

View File

@@ -0,0 +1,103 @@
/*
* (c) Copyright Ascensio System SIA 2010-2014
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
*
*/
#pragma once
#ifndef PPTX_LOGIC_CMEDIANODE_INCLUDE_H_
#define PPTX_LOGIC_CMEDIANODE_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "CTn.h"
#include "TgtEl.h"
namespace PPTX
{
namespace Logic
{
class CMediaNode : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(CMediaNode)
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
cTn = node.ReadNode(_T("p:cTn"));
tgtEl = node.ReadNode(_T("p:tgtEl"));
node.ReadAttributeBase(L"mute", mute);
node.ReadAttributeBase(L"numSld", numSld);
node.ReadAttributeBase(L"showWhenStopped", showWhenStopped);
node.ReadAttributeBase(L"vol", vol);
Normalize();
FillParentPointersForChilds();
}
virtual CString toXML() const
{
XmlUtils::CAttribute oAttr;
oAttr.Write(_T("mute"), mute);
oAttr.Write(_T("numSld"), numSld);
oAttr.Write(_T("showWhenStopped"), showWhenStopped);
oAttr.Write(_T("vol"), vol);
XmlUtils::CNodeValue oValue;
oValue.Write(cTn);
oValue.Write(tgtEl);
return XmlUtils::CreateNode(_T("p:cMediaNode"), oAttr, oValue);
}
public:
CTn cTn;
TgtEl tgtEl;
nullable_bool mute;
nullable_int numSld;
nullable_bool showWhenStopped;
nullable_int vol;
protected:
virtual void FillParentPointersForChilds()
{
cTn.SetParentPointer(this);
tgtEl.SetParentPointer(this);
}
AVSINLINE void Normalize()
{
numSld.normalize_positive();
}
};
}
}
#endif // PPTX_LOGIC_CMEDIANODE_INCLUDE_H

View File

@@ -0,0 +1,196 @@
/*
* (c) Copyright Ascensio System SIA 2010-2014
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
*
*/
#pragma once
#ifndef PPTX_LOGIC_CTN_INCLUDE_H_
#define PPTX_LOGIC_CTN_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "CondLst.h"
#include "Cond.h"
#include "TnLst.h"
#include "Iterate.h"
#include "./../../Limit/TLRestart.h"
#include "./../../Limit/TLNodeType.h"
#include "./../../Limit/TLNodeFillType.h"
#include "./../../Limit/TLPresetClass.h"
#include "./../../Limit/TLMasterRelation.h"
#include "./../../Limit/TLSyncBehavior.h"
namespace PPTX
{
namespace Logic
{
class CTn : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(CTn)
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
node.ReadAttributeBase(L"accel", accel);
node.ReadAttributeBase(L"afterEffect", afterEffect);
node.ReadAttributeBase(L"autoRev", autoRev);
node.ReadAttributeBase(L"bldLvl", bldLvl);
node.ReadAttributeBase(L"decel", decel);
node.ReadAttributeBase(L"display", display);
node.ReadAttributeBase(L"dur", dur);
node.ReadAttributeBase(L"evtFilter", evtFilter);
node.ReadAttributeBase(L"fill", fill);
node.ReadAttributeBase(L"grpId", grpId);
node.ReadAttributeBase(L"id", id);
node.ReadAttributeBase(L"masterRel", masterRel);
node.ReadAttributeBase(L"nodePh", nodePh);
node.ReadAttributeBase(L"nodeType", nodeType);
node.ReadAttributeBase(L"presetClass", presetClass);
node.ReadAttributeBase(L"presetID", presetID);
node.ReadAttributeBase(L"presetSubtype", presetSubtype);
node.ReadAttributeBase(L"repeatCount", repeatCount);
node.ReadAttributeBase(L"repeatDur", repeatDur);
node.ReadAttributeBase(L"restart", restart);
node.ReadAttributeBase(L"spd", spd);
node.ReadAttributeBase(L"syncBehavior", syncBehavior);
node.ReadAttributeBase(L"tmFilter", tmFilter);
stCondLst = node.ReadNode(_T("p:stCondLst"));
endCondLst = node.ReadNode(_T("p:endCondLst"));
endSync = node.ReadNode(_T("p:endSync"));
iterate = node.ReadNode(_T("p:iterate"));
childTnLst = node.ReadNode(_T("p:childTnLst"));
subTnLst = node.ReadNode(_T("p:subTnLst"));
Normalize();
FillParentPointersForChilds();
}
virtual CString toXML() const
{
XmlUtils::CAttribute oAttr;
oAttr.Write(_T("id"), id);
oAttr.Write(_T("presetID"), presetID);
oAttr.WriteLimitNullable(_T("presetClass"), presetClass);
oAttr.Write(_T("presetSubtype"), presetSubtype);
oAttr.Write(_T("dur"), dur);
oAttr.Write(_T("repeatCount"), repeatCount);
oAttr.Write(_T("repeatDur"), repeatDur);
oAttr.Write(_T("spd"), spd);
oAttr.Write(_T("accel"), accel);
oAttr.Write(_T("decel"), decel);
oAttr.Write(_T("autoRev"), autoRev);
oAttr.WriteLimitNullable(_T("restart"), restart);
oAttr.WriteLimitNullable(_T("fill"), fill);
oAttr.WriteLimitNullable(_T("syncBehavior"), syncBehavior);
oAttr.Write(_T("tmFilter"), tmFilter);
oAttr.Write(_T("evtFilter"), evtFilter);
oAttr.Write(_T("display"), display);
oAttr.WriteLimitNullable(_T("masterRel"), masterRel);
oAttr.Write(_T("bldLvl"), bldLvl);
oAttr.Write(_T("grpId"), grpId);
oAttr.Write(_T("afterEffect"), afterEffect);
oAttr.WriteLimitNullable(_T("nodeType"), nodeType);
oAttr.Write(_T("nodePh"), nodePh);
XmlUtils::CNodeValue oValue;
oValue.WriteNullable(stCondLst);
oValue.WriteNullable(endCondLst);
oValue.WriteNullable(endSync);
oValue.WriteNullable(iterate);
oValue.WriteNullable(childTnLst);
oValue.WriteNullable(subTnLst);
return XmlUtils::CreateNode(_T("p:cTn"), oAttr, oValue);
}
public:
nullable<CondLst> stCondLst;
nullable<CondLst> endCondLst;
nullable<Cond> endSync;
nullable<Iterate> iterate;
nullable<TnLst> childTnLst;
nullable<TnLst> subTnLst;
nullable_int accel;
nullable_bool afterEffect;
nullable_bool autoRev;
nullable_int bldLvl;
nullable_int decel;
nullable_bool display;
nullable_string dur;
nullable_string evtFilter;
nullable_limit<Limit::TLNodeFillType> fill;
nullable_int grpId;
nullable_int id;
nullable_limit<Limit::TLMasterRelation> masterRel;
nullable_bool nodePh;
nullable_limit<Limit::TLNodeType> nodeType;
nullable_limit<Limit::TLPresetClass> presetClass;
nullable_int presetID;
nullable_int presetSubtype;
nullable_string repeatCount;
nullable_string repeatDur;
nullable_limit<Limit::TLRestart> restart;
nullable_int spd;
nullable_limit<Limit::TLSyncBehavior> syncBehavior;
nullable_string tmFilter;
protected:
virtual void FillParentPointersForChilds()
{
if(stCondLst.IsInit())
stCondLst->SetParentPointer(this);
if(endCondLst.IsInit())
endCondLst->SetParentPointer(this);
if(endSync.IsInit())
endSync->SetParentPointer(this);
if(iterate.IsInit())
iterate->SetParentPointer(this);
if(childTnLst.IsInit())
childTnLst->SetParentPointer(this);
if(subTnLst.IsInit())
subTnLst->SetParentPointer(this);
}
AVSINLINE void Normalize()
{
grpId.normalize_positive();
id.normalize_positive();
}
};
}
}
#endif // PPTX_LOGIC_CTN_INCLUDE_H

View File

@@ -0,0 +1,83 @@
/*
* (c) Copyright Ascensio System SIA 2010-2014
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
*
*/
#pragma once
#ifndef PPTX_LOGIC_CMD_INCLUDE_H_
#define PPTX_LOGIC_CMD_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "CBhvr.h"
#include "./../../Limit/TLCommandType.h"
namespace PPTX
{
namespace Logic
{
class Cmd : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(Cmd)
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
node.ReadAttributeBase(L"type", type);
node.ReadAttributeBase(L"cmd", cmd);
cBhvr = node.ReadNode(_T("p:cBhvr"));
FillParentPointersForChilds();
}
virtual CString toXML() const
{
XmlUtils::CAttribute oAttr;
oAttr.WriteLimitNullable(_T("type"), type);
oAttr.Write(_T("cmd"), cmd);
return XmlUtils::CreateNode(_T("p:cmd"), oAttr, cBhvr.toXML());
}
public:
CBhvr cBhvr;
nullable_limit<Limit::TLCommandType> type;
nullable_string cmd;
protected:
virtual void FillParentPointersForChilds()
{
cBhvr.SetParentPointer(this);
}
};
}
}
#endif // PPTX_LOGIC_CMD_INCLUDE_H

View File

@@ -0,0 +1,121 @@
/*
* (c) Copyright Ascensio System SIA 2010-2014
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
*
*/
#pragma once
#ifndef PPTX_LOGIC_COND_INCLUDE_H_
#define PPTX_LOGIC_COND_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "./../../Limit/TLTriggerEvent.h"
#include "./../../Limit/TLRuntimeTrigger.h"
#include "TgtEl.h"
namespace PPTX
{
namespace Logic
{
class Cond : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(Cond)
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
name = XmlUtils::GetNameNoNS(node.GetName());
node.ReadAttributeBase(L"delay", delay);
node.ReadAttributeBase(L"evt", evt);
XmlUtils::CXmlNode oNode;
if (node.GetNode(_T("p:tn"), oNode))
oNode.ReadAttributeBase(L"val", tn);
else if (node.GetNode(_T("p:rtn"), oNode))
oNode.ReadAttributeBase(L"val", rtn);
tgtEl = node.ReadNode(_T("p:tgtEl"));
Normalize();
FillParentPointersForChilds();
}
virtual CString toXML() const
{
XmlUtils::CAttribute oAttr;
oAttr.Write(_T("delay"), delay);
oAttr.WriteLimitNullable(_T("evt"), evt);
XmlUtils::CNodeValue oValue;
oValue.WriteNullable(tgtEl);
if (tn.IsInit())
{
XmlUtils::CAttribute oAttr1;
oAttr1.Write(_T("val"), tn);
return XmlUtils::CreateNode(_T("p:") + name, oAttr, oValue.m_strValue + XmlUtils::CreateNode(_T("p:tn"), oAttr1));
}
else if (rtn.IsInit())
{
XmlUtils::CAttribute oAttr1;
oAttr1.WriteLimitNullable(_T("val"), rtn);
return XmlUtils::CreateNode(_T("p:") + name, oAttr, oValue.m_strValue + XmlUtils::CreateNode(_T("p:rtn"), oAttr1));
}
return XmlUtils::CreateNode(_T("p:") + name, oAttr, oValue);
}
public:
CString name;
nullable_limit<Limit::TLRuntimeTrigger> rtn;
nullable<TgtEl> tgtEl;
nullable_int tn;
nullable_string delay;
nullable_limit<Limit::TLTriggerEvent> evt;
protected:
virtual void FillParentPointersForChilds()
{
if(tgtEl.IsInit())
tgtEl->SetParentPointer(this);
}
AVSINLINE void Normalize()
{
tn.normalize_positive();
}
};
}
}
#endif // PPTX_LOGIC_COND_INCLUDE_H

View File

@@ -0,0 +1,89 @@
/*
* (c) Copyright Ascensio System SIA 2010-2014
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
*
*/
#pragma once
#ifndef PPTX_LOGIC_CONDLST_INCLUDE_H_
#define PPTX_LOGIC_CONDLST_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "Cond.h"
namespace PPTX
{
namespace Logic
{
class CondLst : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(CondLst)
CondLst& operator=(const CondLst& oSrc)
{
parentFile = oSrc.parentFile;
parentElement = oSrc.parentElement;
list.Copy(oSrc.list);
name = oSrc.name;
return *this;
}
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
name = XmlUtils::GetNameNoNS(node.GetName());
node.LoadArray(_T("p:cond"), list);
FillParentPointersForChilds();
}
virtual CString toXML() const
{
XmlUtils::CNodeValue oValue;
oValue.WriteArray(list);
return XmlUtils::CreateNode(_T("p:") + name, oValue);
}
public:
CAtlArray<Cond> list;
CString name;
protected:
virtual void FillParentPointersForChilds()
{
size_t count = list.GetCount();
for (size_t i = 0; i < count; ++i)
list[i].SetParentPointer(this);
}
};
}
}
#endif // PPTX_LOGIC_CONDLST_INCLUDE_H_

View File

@@ -0,0 +1,74 @@
/*
* (c) Copyright Ascensio System SIA 2010-2014
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
*
*/
#pragma once
#ifndef PPTX_LOGIC_EXCL_INCLUDE_H_
#define PPTX_LOGIC_EXCL_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "CTn.h"
namespace PPTX
{
namespace Logic
{
class Excl : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(Excl)
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
cTn = node.ReadNode(_T("p:cTn"));
FillParentPointersForChilds();
}
virtual CString toXML() const
{
XmlUtils::CNodeValue oValue;
oValue.Write(cTn);
return XmlUtils::CreateNode(_T("p:excl"), oValue);
}
public:
CTn cTn;
protected:
virtual void FillParentPointersForChilds()
{
cTn.SetParentPointer(this);
}
};
}
}
#endif // PPTX_LOGIC_EXCL_INCLUDE_H

View File

@@ -0,0 +1,100 @@
/*
* (c) Copyright Ascensio System SIA 2010-2014
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
*
*/
#pragma once
#ifndef PPTX_LOGIC_GRAPHICEL_INCLUDE_H_
#define PPTX_LOGIC_GRAPHICEL_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "./../../Limit/DgmBuild.h"
#include "./../../Limit/ChartBuild.h"
namespace PPTX
{
namespace Logic
{
class GraphicEl : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(GraphicEl)
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
XmlUtils::CXmlNode oNode;
if (node.GetNode(_T("p:chart"), oNode))
{
oNode.ReadAttributeBase(L"bldStep", chartBuildStep);
oNode.ReadAttributeBase(L"seriesIdx", seriesIdx);
oNode.ReadAttributeBase(L"categoryIdx", categoryIdx);
}
else if (node.GetNode(_T("p:dgm"), oNode))
{
oNode.ReadAttributeBase(L"bldStep", dgmBuildStep);
oNode.ReadAttributeBase(L"id", dgmId);
}
}
virtual CString toXML() const
{
if (chartBuildStep.IsInit())
{
XmlUtils::CAttribute oAttr;
oAttr.WriteLimitNullable(_T("bldStep"), chartBuildStep);
oAttr.Write(_T("seriesIdx"), seriesIdx);
oAttr.Write(_T("categoryIdx"), categoryIdx);
return XmlUtils::CreateNode(_T("p:graphicEl"), XmlUtils::CreateNode(_T("p:chart"), oAttr));
}
XmlUtils::CAttribute oAttr;
oAttr.Write(_T("id"), dgmId);
oAttr.WriteLimitNullable(_T("bldStep"), dgmBuildStep);
return XmlUtils::CreateNode(_T("p:graphicEl"), XmlUtils::CreateNode(_T("p:dgm"), oAttr));
}
public:
nullable_string dgmId;
nullable_limit<Limit::DgmBuild> dgmBuildStep;
nullable_limit<Limit::ChartBuild> chartBuildStep;
nullable_int seriesIdx;
nullable_int categoryIdx;
protected:
virtual void FillParentPointersForChilds(){};
};
}
}
#endif // PPTX_LOGIC_GRAPHICEL_INCLUDE_H_

View File

@@ -0,0 +1,97 @@
/*
* (c) Copyright Ascensio System SIA 2010-2014
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
*
*/
#pragma once
#ifndef PPTX_LOGIC_ITERATE_INCLUDE_H_
#define PPTX_LOGIC_ITERATE_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "./../../Limit/IterateType.h"
namespace PPTX
{
namespace Logic
{
class Iterate : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(Iterate)
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
node.ReadAttributeBase(L"type", type);
node.ReadAttributeBase(L"backwards", backwards);
XmlUtils::CXmlNode oNode;
if (node.GetNode(_T("p:tmAbs"), oNode))
oNode.ReadAttributeBase(L"val", tmAbs);
else if (node.GetNode(_T("p:tmPct"), oNode))
oNode.ReadAttributeBase(L"val", tmPct);
FillParentPointersForChilds();
}
virtual CString toXML() const
{
XmlUtils::CAttribute oAttr;
oAttr.WriteLimitNullable(_T("type"), type);
oAttr.Write(_T("backwards"), backwards);
if (tmAbs.IsInit())
{
XmlUtils::CAttribute oAttr1;
oAttr1.Write(_T("val"), tmAbs);
return XmlUtils::CreateNode(_T("p:iterate"), oAttr, XmlUtils::CreateNode(_T("p:tmAbs"), oAttr1));
}
else if (tmPct.IsInit())
{
XmlUtils::CAttribute oAttr1;
oAttr1.Write(_T("val"), tmPct);
return XmlUtils::CreateNode(_T("p:iterate"), oAttr, XmlUtils::CreateNode(_T("p:tmPct"), oAttr1));
}
return XmlUtils::CreateNode(_T("p:iterate"), oAttr);
}
public:
nullable_limit<Limit::IterateType> type;
nullable_bool backwards;
nullable_string tmAbs;
nullable_int tmPct;
protected:
virtual void FillParentPointersForChilds(){};
};
}
}
#endif // PPTX_LOGIC_ITERATE_INCLUDE_H

View File

@@ -0,0 +1,71 @@
/*
* (c) Copyright Ascensio System SIA 2010-2014
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
*
*/
#pragma once
#ifndef PPTX_LOGIC_PAR_INCLUDE_H_
#define PPTX_LOGIC_PAR_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "CTn.h"
namespace PPTX
{
namespace Logic
{
class Par : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(Par)
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
cTn = node.ReadNode(_T("p:cTn"));
FillParentPointersForChilds();
}
virtual CString toXML() const
{
return XmlUtils::CreateNode(_T("p:par"), cTn.toXML());
}
public:
CTn cTn;
protected:
virtual void FillParentPointersForChilds()
{
cTn.SetParentPointer(this);
}
};
}
}
#endif // PPTX_LOGIC_PAR_INCLUDE_H

View File

@@ -0,0 +1,101 @@
/*
* (c) Copyright Ascensio System SIA 2010-2014
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
*
*/
#pragma once
#ifndef PPTX_LOGIC_SEQ_INCLUDE_H_
#define PPTX_LOGIC_SEQ_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "CTn.h"
#include "CondLst.h"
#include "./../../Limit/TLPrevAc.h"
#include "./../../Limit/TLNextAc.h"
namespace PPTX
{
namespace Logic
{
class Seq : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(Seq)
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
cTn = node.ReadNode(_T("p:cTn"));
nextCondLst = node.ReadNode(_T("p:nextCondLst"));
prevCondLst = node.ReadNode(_T("p:prevCondLst"));
node.ReadAttributeBase(L"concurrent", concurrent);
node.ReadAttributeBase(L"nextAc", nextAc);
node.ReadAttributeBase(L"prevAc", prevAc);
FillParentPointersForChilds();
}
virtual CString toXML() const
{
XmlUtils::CAttribute oAttr;
oAttr.Write(_T("concurrent"), concurrent);
oAttr.WriteLimitNullable(_T("prevAc"), prevAc);
oAttr.WriteLimitNullable(_T("nextAc"), nextAc);
XmlUtils::CNodeValue oValue;
oValue.Write(cTn);
oValue.WriteNullable(nextCondLst);
oValue.WriteNullable(prevCondLst);
return XmlUtils::CreateNode(_T("p:seg"), oAttr, oValue);
}
public:
CTn cTn;
nullable<CondLst> nextCondLst;
nullable<CondLst> prevCondLst;
nullable_bool concurrent;
nullable_limit<Limit::TLNextAc> nextAc;
nullable_limit<Limit::TLPrevAc> prevAc;
protected:
virtual void FillParentPointersForChilds()
{
cTn.SetParentPointer(this);
if(prevCondLst.IsInit())
prevCondLst->SetParentPointer(this);
if(nextCondLst.IsInit())
nextCondLst->SetParentPointer(this);
}
};
}
}
#endif // PPTX_LOGIC_SEQ_INCLUDE_H

View File

@@ -0,0 +1,81 @@
/*
* (c) Copyright Ascensio System SIA 2010-2014
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
*
*/
#pragma once
#ifndef PPTX_LOGIC_SET_INCLUDE_H_
#define PPTX_LOGIC_SET_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "CBhvr.h"
#include "AnimVariant.h"
namespace PPTX
{
namespace Logic
{
class Set : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(Set)
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
cBhvr = node.ReadNode(_T("p:cBhvr"));
to = node.ReadNode(_T("p:to"));
FillParentPointersForChilds();
}
virtual CString toXML() const
{
XmlUtils::CNodeValue oValue;
oValue.Write(cBhvr);
oValue.WriteNullable(to);
return XmlUtils::CreateNode(_T("p:set"), oValue);
}
public:
CBhvr cBhvr;
nullable<AnimVariant> to;
protected:
virtual void FillParentPointersForChilds()
{
cBhvr.SetParentPointer(this);
if(to.IsInit())
to->SetParentPointer(this);
}
};
}
}
#endif // PPTX_LOGIC_SET_INCLUDE_H

View File

@@ -0,0 +1,142 @@
/*
* (c) Copyright Ascensio System SIA 2010-2014
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
*
*/
#pragma once
#ifndef PPTX_LOGIC_SPTGT_INCLUDE_H_
#define PPTX_LOGIC_SPTGT_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "TxEl.h"
#include "GraphicEl.h"
#include "./../../Limit/TLChartSubElement.h"
namespace PPTX
{
namespace Logic
{
class SpTgt : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(SpTgt)
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
spid = node.GetAttribute(_T("spid"));
XmlUtils::CXmlNode oNode;
bg = (TRUE == node.GetNode(_T("p:bg"), oNode)) ? true : false;
XmlUtils::CXmlNode oNodeMem;
if (node.GetNode(_T("p:subSp"), oNodeMem))
{
oNodeMem.ReadAttributeBase(L"spid", subSpid);
}
else if (node.GetNode(_T("p:oleChartEl"), oNodeMem))
{
oNodeMem.ReadAttributeBase(L"type", type);
oNodeMem.ReadAttributeBase(L"lvl", lvl);
}
else
{
txEl = node.ReadNode(_T("p:txEl"));
graphicEl = node.ReadNode(_T("p:graphicEl"));
}
Normalize();
FillParentPointersForChilds();
}
virtual CString toXML() const
{
XmlUtils::CAttribute oAttr;
oAttr.Write(_T("spid"), spid);
if (bg)
{
return XmlUtils::CreateNode(_T("p:spTgt"), oAttr, _T("<p:bg/>"));
}
if (subSpid.IsInit())
{
XmlUtils::CAttribute oAttr2;
oAttr2.Write(_T("spid"), subSpid);
return XmlUtils::CreateNode(_T("p:spTgt"), oAttr, XmlUtils::CreateNode(_T("p:subSp"), oAttr2));
}
if (type.IsInit())
{
XmlUtils::CAttribute oAttr2;
oAttr2.WriteLimitNullable(_T("type"), type);
oAttr2.Write(_T("lvl"), lvl);
return XmlUtils::CreateNode(_T("p:spTgt"), oAttr, XmlUtils::CreateNode(_T("p:oleChartEl"), oAttr2));
}
if (txEl.IsInit())
{
return XmlUtils::CreateNode(_T("p:spTgt"), oAttr, txEl->toXML());
}
if (graphicEl.IsInit())
{
return XmlUtils::CreateNode(_T("p:spTgt"), oAttr, graphicEl->toXML());
}
return XmlUtils::CreateNode(_T("p:spTgt"), oAttr);
}
public:
CString spid;
bool bg;
nullable_string subSpid;
nullable_limit<Limit::TLChartSubElement> type;
nullable_int lvl;
nullable<TxEl> txEl;
nullable<GraphicEl> graphicEl;
protected:
virtual void FillParentPointersForChilds()
{
if (txEl.IsInit())
txEl->SetParentPointer(this);
if (graphicEl.IsInit())
graphicEl->SetParentPointer(this);
}
AVSINLINE void Normalize()
{
lvl.normalize_positive();
}
};
}
}
#endif // PPTX_LOGIC_SPTGT_INCLUDE_H_

View File

@@ -0,0 +1,84 @@
/*
* (c) Copyright Ascensio System SIA 2010-2014
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
*
*/
#pragma once
#ifndef PPTX_LOGIC_Tav_INCLUDE_H_
#define PPTX_LOGIC_Tav_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "AnimVariant.h"
namespace PPTX
{
namespace Logic
{
class Tav : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(Tav)
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
node.ReadAttributeBase(L"tm", tm);
node.ReadAttributeBase(L"fmla", fmla);
val = node.ReadNodeNoNS(_T("val"));
FillParentPointersForChilds();
}
virtual CString toXML() const
{
XmlUtils::CAttribute oAttr;
oAttr.Write(_T("tm"), tm);
oAttr.Write(_T("fmla"), fmla);
XmlUtils::CNodeValue oValue;
oValue.WriteNullable(val);
return XmlUtils::CreateNode(_T("p:tav"), oAttr, oValue);
}
public:
nullable<AnimVariant> val;
nullable_string tm;
nullable_string fmla;
protected:
virtual void FillParentPointersForChilds()
{
if(val.IsInit())
val->SetParentPointer(this);
}
};
}
}
#endif // PPTX_LOGIC_Tav_INCLUDE_H_

View File

@@ -0,0 +1,84 @@
/*
* (c) Copyright Ascensio System SIA 2010-2014
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
*
*/
#pragma once
#ifndef PPTX_LOGIC_TAVLST_INCLUDE_H_
#define PPTX_LOGIC_TAVLST_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "Tav.h"
namespace PPTX
{
namespace Logic
{
class TavLst : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(TavLst)
TavLst& operator=(const TavLst& oSrc)
{
parentFile = oSrc.parentFile;
parentElement = oSrc.parentElement;
list.Copy(oSrc.list);
return *this;
}
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
node.LoadArray(_T("p:tav"), list);
FillParentPointersForChilds();
}
virtual CString toXML() const
{
XmlUtils::CNodeValue oValue;
oValue.WriteArray(list);
return XmlUtils::CreateNode(_T("p:tavLst"), oValue);
}
public:
CAtlArray<Tav> list;
protected:
virtual void FillParentPointersForChilds()
{
size_t count = list.GetCount();
for (size_t i = 0; i < count; ++i)
list[i].SetParentPointer(this);
}
};
}
}
#endif // PPTX_LOGIC_TAVLST_INCLUDE_H_

View File

@@ -0,0 +1,110 @@
/*
* (c) Copyright Ascensio System SIA 2010-2014
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
*
*/
#pragma once
#ifndef PPTX_LOGIC_TGTEL_INCLUDE_H_
#define PPTX_LOGIC_TGTEL_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "../../DocxFormat/RId.h"
#include "SpTgt.h"
namespace PPTX
{
namespace Logic
{
class TgtEl : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(TgtEl)
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
XmlUtils::CXmlNode oNode;
if (node.GetNode(_T("p:inkTgt"), oNode))
inkTgt = oNode.ReadAttributeBase(L"spid");
else if(node.GetNode(_T("p:sndTgt"), oNode))
{
oNode.ReadAttributeBase(L"embed", embed);
oNode.ReadAttributeBase(L"name", name);
oNode.ReadAttributeBase(L"builtIn", builtIn);
}
else if(node.GetNode(_T("p:spTgt"), oNode))
spTgt = oNode;
FillParentPointersForChilds();
}
virtual CString toXML() const
{
if (inkTgt.IsInit())
{
XmlUtils::CAttribute oAttr;
oAttr.Write(_T("spid"), inkTgt);
return XmlUtils::CreateNode(_T("p:tgtEl"), XmlUtils::CreateNode(_T("p:inkTgt"), oAttr));
}
if (embed.IsInit())
{
XmlUtils::CAttribute oAttr;
oAttr.Write(_T("embed"), embed->ToString());
oAttr.Write(_T("name"), name);
oAttr.Write(_T("builtIn"), builtIn);
return XmlUtils::CreateNode(_T("p:tgtEl"), XmlUtils::CreateNode(_T("p:sndTgt"), oAttr));
}
if (spTgt.IsInit())
{
return XmlUtils::CreateNode(_T("p:tgtEl"), spTgt->toXML());
}
return _T("<p:tgtEl><p:sldTgt></p:tgtEl>");
}
public:
nullable_string inkTgt;
nullable_string name;
nullable<OOX::RId> embed;
nullable_bool builtIn;
nullable<SpTgt> spTgt;
protected:
virtual void FillParentPointersForChilds()
{
if(spTgt.IsInit())
spTgt->SetParentPointer(this);
}
};
}
}
#endif // PPTX_LOGIC_TGTEL_INCLUDE_H_

View File

@@ -0,0 +1,146 @@
/*
* (c) Copyright Ascensio System SIA 2010-2014
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
*
*/
#include "./stdafx.h"
#include "TimeNodeBase.h"
#include "Seq.h"
#include "Par.h"
#include "Audio.h"
#include "Video.h"
#include "Excl.h"
#include "Anim.h"
#include "AnimClr.h"
#include "AnimEffect.h"
#include "AnimMotion.h"
#include "AnimRot.h"
#include "AnimScale.h"
#include "Cmd.h"
#include "Set.h"
namespace PPTX
{
namespace Logic
{
TimeNodeBase::TimeNodeBase()
{
}
TimeNodeBase::~TimeNodeBase()
{
}
TimeNodeBase::TimeNodeBase(XmlUtils::CXmlNode& node)
{
fromXML(node);
}
const TimeNodeBase& TimeNodeBase::operator =(XmlUtils::CXmlNode& node)
{
fromXML(node);
return *this;
}
void TimeNodeBase::fromXML(XmlUtils::CXmlNode& node)
{
CString name = XmlUtils::GetNameNoNS(node.GetName());
if(name == _T("seq"))
m_node.reset(new Logic::Seq(node));
else if(name == _T("par"))
m_node.reset(new Logic::Par(node));
else if(name == _T("audio"))
m_node.reset(new Logic::Audio(node));
else if(name == _T("video"))
m_node.reset(new Logic::Video(node));
else if(name == _T("excl"))
m_node.reset(new Logic::Excl(node));
else if(name == _T("anim"))
m_node.reset(new Logic::Anim(node));
else if(name == _T("animClr"))
m_node.reset(new Logic::AnimClr(node));
else if(name == _T("animEffect"))
m_node.reset(new Logic::AnimEffect(node));
else if(name == _T("animMotion"))
m_node.reset(new Logic::AnimMotion(node));
else if(name == _T("animRot"))
m_node.reset(new Logic::AnimRot(node));
else if(name == _T("animScale"))
m_node.reset(new Logic::AnimScale(node));
else if(name == _T("cmd"))
m_node.reset(new Logic::Cmd(node));
else if(name == _T("set"))
m_node.reset(new Logic::Set(node));
else m_node.reset();
}
void TimeNodeBase::GetTimeNodeFrom(XmlUtils::CXmlNode& element)
{
XmlUtils::CXmlNode oNode;
if(element.GetNode(_T("p:seq"), oNode))
m_node.reset(new Logic::Seq(oNode));
else if(element.GetNode(_T("p:par"), oNode))
m_node.reset(new Logic::Par(oNode));
else if(element.GetNode(_T("p:audio"), oNode))
m_node.reset(new Logic::Audio(oNode));
else if(element.GetNode(_T("p:video"), oNode))
m_node.reset(new Logic::Video(oNode));
else if(element.GetNode(_T("p:excl"), oNode))
m_node.reset(new Logic::Excl(oNode));
else if(element.GetNode(_T("p:anim"), oNode))
m_node.reset(new Logic::Anim(oNode));
else if(element.GetNode(_T("p:animClr"), oNode))
m_node.reset(new Logic::AnimClr(oNode));
else if(element.GetNode(_T("p:animEffect"), oNode))
m_node.reset(new Logic::AnimEffect(oNode));
else if(element.GetNode(_T("p:animMotion"), oNode))
m_node.reset(new Logic::AnimMotion(oNode));
else if(element.GetNode(_T("p:animRot"), oNode))
m_node.reset(new Logic::AnimRot(oNode));
else if(element.GetNode(_T("p:animScale"), oNode))
m_node.reset(new Logic::AnimScale(oNode));
else if(element.GetNode(_T("p:cmd"), oNode))
m_node.reset(new Logic::Cmd(oNode));
else if(element.GetNode(_T("p:set"), oNode))
m_node.reset(new Logic::Set(oNode));
else m_node.reset();
}
CString TimeNodeBase::toXML() const
{
if (m_node.IsInit())
return m_node->toXML();
return _T("");
}
}
} // namespace PPTX

View File

@@ -0,0 +1,79 @@
/*
* (c) Copyright Ascensio System SIA 2010-2014
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
*
*/
#pragma once
#ifndef PPTX_LOGIC_TIMENODEBASE_INCLUDE_H_
#define PPTX_LOGIC_TIMENODEBASE_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
namespace PPTX
{
namespace Logic
{
class TimeNodeBase : public WrapperWritingElement
{
public:
TimeNodeBase();
virtual ~TimeNodeBase();
explicit TimeNodeBase(XmlUtils::CXmlNode& node);
const TimeNodeBase& operator =(XmlUtils::CXmlNode& node);
public:
virtual void fromXML(XmlUtils::CXmlNode& node);
virtual void GetTimeNodeFrom(XmlUtils::CXmlNode& element);
virtual bool is_init()const{return (m_node.IsInit());};
template<class T> AVSINLINE const bool is() const { return m_node.is<T>(); }
template<class T> AVSINLINE T& as() { return m_node.as<T>(); }
template<class T> AVSINLINE const T& as() const { return m_node.as<T>(); }
virtual CString toXML() const;
private:
smart_ptr<WrapperWritingElement> m_node;
protected:
virtual void FillParentPointersForChilds(){};
public:
virtual void SetParentPointer(const WrapperWritingElement* pParent)
{
if(is_init())
m_node->SetParentPointer(pParent);
}
};
}
}
#endif // PPTX_LOGIC_TIMENODEBASE_INCLUDE_H_

View File

@@ -0,0 +1,94 @@
/*
* (c) Copyright Ascensio System SIA 2010-2014
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
*
*/
#pragma once
#ifndef PPTX_LOGIC_TIMING_INCLUDE_H_
#define PPTX_LOGIC_TIMING_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "TnLst.h"
#include "BldLst.h"
namespace PPTX
{
namespace Logic
{
class Timing : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(Timing)
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
tnLst = node.ReadNode(_T("p:tnLst"));
bldLst = node.ReadNode(_T("p:bldLst"));
FillParentPointersForChilds();
}
virtual CString toXML() const
{
XmlUtils::CNodeValue oValue;
oValue.WriteNullable(tnLst);
oValue.WriteNullable(bldLst);
return XmlUtils::CreateNode(_T("p:timing"), oValue);
}
virtual void toPPTY(NSBinPptxRW::CBinaryFileWriter* pWriter) const
{
}
virtual void toXmlWriter(NSBinPptxRW::CXmlWriter* pWriter) const
{
return;
pWriter->StartNode(_T("p:timing"));
pWriter->EndAttributes();
pWriter->EndNode(_T("p:timing"));
}
public:
nullable<TnLst> tnLst;
nullable<BldLst> bldLst;
protected:
virtual void FillParentPointersForChilds()
{
if(tnLst.IsInit())
tnLst->SetParentPointer(this);
if(bldLst.IsInit())
bldLst->SetParentPointer(this);
}
};
}
}
#endif // PPTX_LOGIC_TIMING_INCLUDE_H_

View File

@@ -0,0 +1,80 @@
/*
* (c) Copyright Ascensio System SIA 2010-2014
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
*
*/
#pragma once
#ifndef PPTX_LOGIC_TMPL_INCLUDE_H_
#define PPTX_LOGIC_TMPL_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "TnLst.h"
namespace PPTX
{
namespace Logic
{
class Tmpl : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(Tmpl)
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
tnLst = node.ReadNode(_T("p:tnLst"));
node.ReadAttributeBase(L"lvl", lvl);
FillParentPointersForChilds();
}
virtual CString toXML() const
{
XmlUtils::CAttribute oAttr;
oAttr.Write(_T("lvl"), lvl);
return XmlUtils::CreateNode(_T("p:tmpl"), oAttr, tnLst.toXML());
}
public:
TnLst tnLst;
nullable_int lvl;
protected:
virtual void FillParentPointersForChilds()
{
tnLst.SetParentPointer(this);
}
AVSINLINE void Normalize()
{
lvl.normalize_positive();
}
};
}
}
#endif // PPTX_LOGIC_TMPL_INCLUDE_H_

View File

@@ -0,0 +1,84 @@
/*
* (c) Copyright Ascensio System SIA 2010-2014
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
*
*/
#pragma once
#ifndef PPTX_LOGIC_TMPLLST_INCLUDE_H_
#define PPTX_LOGIC_TMPLLST_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "Tmpl.h"
namespace PPTX
{
namespace Logic
{
class TmplLst : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(TmplLst)
TmplLst& operator=(const TmplLst& oSrc)
{
parentFile = oSrc.parentFile;
parentElement = oSrc.parentElement;
list.Copy(oSrc.list);
return *this;
}
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
node.LoadArray(_T("p:tmpl"), list);
FillParentPointersForChilds();
}
virtual CString toXML() const
{
XmlUtils::CNodeValue oValue;
oValue.WriteArray(list);
return XmlUtils::CreateNode(_T("p:tmplLst"), oValue);
}
public:
CAtlArray<Tmpl> list;
protected:
virtual void FillParentPointersForChilds()
{
size_t count = list.GetCount();
for (size_t i = 0; i < count; ++i)
list[i].SetParentPointer(this);
}
};
}
}
#endif // PPTX_LOGIC_TMPLLST_INCLUDE_H_

View File

@@ -0,0 +1,89 @@
/*
* (c) Copyright Ascensio System SIA 2010-2014
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
*
*/
#pragma once
#ifndef PPTX_LOGIC_TNLST_INCLUDE_H_
#define PPTX_LOGIC_TNLST_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "TimeNodeBase.h"
namespace PPTX
{
namespace Logic
{
class TnLst : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(TnLst)
TnLst& operator=(const TnLst& oSrc)
{
parentFile = oSrc.parentFile;
parentElement = oSrc.parentElement;
list.Copy(oSrc.list);
name = oSrc.name;
return *this;
}
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
name = XmlUtils::GetNameNoNS(node.GetName());
node.LoadArray(_T("*"), list);
FillParentPointersForChilds();
}
virtual CString toXML() const
{
XmlUtils::CNodeValue oValue;
oValue.WriteArray(list);
return XmlUtils::CreateNode(_T("p:") + name, oValue);
}
public:
CAtlArray<TimeNodeBase> list;
CString name;
protected:
virtual void FillParentPointersForChilds()
{
size_t count = 0;
for (size_t i = 0; i < count; ++i)
list[i].SetParentPointer(this);
}
};
}
}
#endif // PPTX_LOGIC_TNLST_INCLUDE_H_

View File

@@ -0,0 +1,97 @@
/*
* (c) Copyright Ascensio System SIA 2010-2014
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
*
*/
#pragma once
#ifndef PPTX_LOGIC_TXEL_INCLUDE_H_
#define PPTX_LOGIC_TXEL_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
namespace PPTX
{
namespace Logic
{
class TxEl : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(TxEl)
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
XmlUtils::CXmlNode oNode;
if (node.GetNode(_T("p:charRg"), oNode))
{
charRg = true;
oNode.ReadAttributeBase(L"st", st);
oNode.ReadAttributeBase(L"end", end);
}
else if(node.GetNode(_T("p:pRg"), oNode))
{
charRg = false;
oNode.ReadAttributeBase(L"st", st);
oNode.ReadAttributeBase(L"end", end);
}
else
{
charRg.reset();
st.reset();
end.reset();
}
}
virtual CString toXML() const
{
if (charRg.IsInit())
{
XmlUtils::CAttribute oAttr;
oAttr.Write(_T("st"), st);
oAttr.Write(_T("end"), end);
CString strName = _T("p:pRg");
if (*charRg)
strName = _T("p:charRg");
return XmlUtils::CreateNode(_T("p:txEl"), XmlUtils::CreateNode(strName, oAttr));
}
return _T("<p:txEl/>");
}
public:
nullable_sizet st;
nullable_sizet end;
nullable_bool charRg;
protected:
virtual void FillParentPointersForChilds(){};
};
}
}
#endif // PPTX_LOGIC_TXEL_INCLUDE_H_

View File

@@ -0,0 +1,77 @@
/*
* (c) Copyright Ascensio System SIA 2010-2014
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
*
*/
#pragma once
#ifndef PPTX_LOGIC_VIDEO_INCLUDE_H_
#define PPTX_LOGIC_VIDEO_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "CMediaNode.h"
namespace PPTX
{
namespace Logic
{
class Video : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(Video)
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
node.ReadAttributeBase(L"fullScrn", fullScrn);
cMediaNode = node.ReadNode(_T("cMediaNode"));
FillParentPointersForChilds();
}
virtual CString toXML() const
{
XmlUtils::CAttribute oAttr;
oAttr.Write(_T("fullScrn"), fullScrn);
return XmlUtils::CreateNode(_T("p:video"), oAttr, cMediaNode.toXML());
}
public:
CMediaNode cMediaNode;
nullable_bool fullScrn;
protected:
virtual void FillParentPointersForChilds()
{
cMediaNode.SetParentPointer(this);
}
};
}
}
#endif // PPTX_LOGIC_VIDEO_INCLUDE_H