Commit b8c7c304 authored by Elen.Subbotina's avatar Elen.Subbotina Committed by Alexander Trofimov

XlsForamt - правка багов по результатам тестирвоания (автофильтры, усл...

XlsForamt - правка багов по результатам тестирвоания (автофильтры, усл форматирование) + рисование кастомных автофигур

git-svn-id: svn://fileserver/activex/AVS/Sources/TeamlabOffice/trunk/ServerComponents@68228 954022d7-b5bf-4e40-9824-e11837661b57
parent 049984b5
// //
#include "AutoFilter.h" #include "AutoFilter.h"
//#include <algorithm>
//#include <functional>
namespace XLS namespace XLS
{ {
//static inline std::wstring &ltrim(std::wstring &s)
//{
// s.erase(s.begin(), std::find_if(s.begin(), s.end(), std::not1(std::ptr_fun<int, int>(isspace))));
// return s;
//}
//
//// trim from end
//static inline std::wstring &rtrim(std::wstring &s)
//{
// s.erase(std::find_if(s.rbegin(), s.rend(), std::not1(std::ptr_fun<int, int>(isspace))).base(), s.end());
// return s;
//}
// trim from both ends
static inline void/*std::wstring &*/trim(std::wstring &s)
{
int new_size = s.length();
for (int i = new_size - 1; i >=0; i--)
{
if (s[i] != 0) break;
else new_size--;
}
if (new_size < s.length())
s.erase(new_size);
//return ltrim(rtrim(s));
}
AutoFilter::AutoFilter() AutoFilter::AutoFilter()
{ {
...@@ -27,9 +56,6 @@ void AutoFilter::writeFields(CFRecord& record) ...@@ -27,9 +56,6 @@ void AutoFilter::writeFields(CFRecord& record)
void AutoFilter::readFields(CFRecord& record) void AutoFilter::readFields(CFRecord& record)
{ {
//char* buffer = new char[record.getDataSize()];
//memcpy(buffer, record.getCurData<char>(), record.getDataSize());
m_bAutoFilter12 = false; m_bAutoFilter12 = false;
unsigned short flags; unsigned short flags;
...@@ -63,19 +89,21 @@ void AutoFilter::readFields(CFRecord& record) ...@@ -63,19 +89,21 @@ void AutoFilter::readFields(CFRecord& record)
if (doper1.vt == BIFF_BYTE(0x06)) if (doper1.vt == BIFF_BYTE(0x06))
{ {
XLUnicodeStringNoCch s; XLUnicodeStringNoCch s;
s.setSize(doper1.vtValue.cch); s.setSize(doper1.vtValueStr.cch);
record >> s; record >> s;
str1 = s.value(); str1 = s.value();
trim(str1);
} }
if (doper2.vt == BIFF_BYTE(0x06)) if (doper2.vt == BIFF_BYTE(0x06))
{ {
XLUnicodeStringNoCch s; XLUnicodeStringNoCch s;
s.setSize(doper2.vtValue.cch); s.setSize(doper2.vtValueStr.cch);
record >> s; record >> s;
str2 = s.value(); str2 = s.value();
trim(str2);
} }
if (record.getRdPtr() < record.getDataSize()) if (record.getRdPtr() < record.getDataSize())
......
...@@ -37,11 +37,6 @@ public: ...@@ -37,11 +37,6 @@ public:
BIFF_DWORD idList; BIFF_DWORD idList;
BiffStructurePtrVector rgbAF12Criteries; BiffStructurePtrVector rgbAF12Criteries;
//-----------------------------
std::vector<BaseObjectPtr> m_arContinueFrt12;
}; };
} // namespace XLS } // namespace XLS
......
...@@ -28,10 +28,6 @@ void BkHim::writeFields(CFRecord& record) ...@@ -28,10 +28,6 @@ void BkHim::writeFields(CFRecord& record)
void BkHim::readFields(CFRecord& record) void BkHim::readFields(CFRecord& record)
{ {
_UINT16 cf;
_UINT32 lcb;
record >> cf; record >> cf;
record.skipNunBytes(2); record.skipNunBytes(2);
record >> lcb;//imageBlob size record >> lcb;//imageBlob size
...@@ -46,10 +42,22 @@ void BkHim::readFields(CFRecord& record) ...@@ -46,10 +42,22 @@ void BkHim::readFields(CFRecord& record)
{ {
//native //native
} }
if (lcb < 1) return;
//imageBlob std::list<CFRecordPtr>& recs = continue_records[rt_Continue];
while (record.getRdPtr() + lcb > record.getDataSize() && !recs.empty())
{
record.appendRawData(recs.front());
recs.pop_front();
}
if (record.checkFitReadSafe(lcb)) if (record.checkFitReadSafe(lcb))
{ {
pData = boost::shared_array<char>(new char[lcb]);
memcpy(pData.get(), record.getCurData<char>(), lcb);
record.skipNunBytes(lcb); record.skipNunBytes(lcb);
} }
......
...@@ -22,10 +22,10 @@ public: ...@@ -22,10 +22,10 @@ public:
static const ElementType type = typeBkHim; static const ElementType type = typeBkHim;
//----------------------------- _UINT16 cf;
// BIFF_WORD userName; _UINT32 lcb;
boost::shared_array<char> pData;
}; };
} // namespace XLS } // namespace XLS
......
...@@ -93,7 +93,7 @@ int CF::serialize(std::wostream & stream) ...@@ -93,7 +93,7 @@ int CF::serialize(std::wostream & stream)
CP_XML_ATTR(L"dxfId", dxfId_); CP_XML_ATTR(L"dxfId", dxfId_);
std::wstring s1 = rgce1.getAssembledFormula(); std::wstring s1 = rgce1.getAssembledFormula();
std::wstring s2 = rgce1.getAssembledFormula(); std::wstring s2 = rgce2.getAssembledFormula();
CP_XML_NODE(L"formula") CP_XML_NODE(L"formula")
{ {
if (!s1.empty()) if (!s1.empty())
......
...@@ -22,9 +22,6 @@ public: ...@@ -22,9 +22,6 @@ public:
static const ElementType type = typeFilterMode; static const ElementType type = typeFilterMode;
public:
//BO_ATTRIB_MARKUP_BEGIN
//BO_ATTRIB_MARKUP_END
}; };
} // namespace XLS } // namespace XLS
......
...@@ -33,9 +33,9 @@ void AF12Criteria::load(CFRecord& record) ...@@ -33,9 +33,9 @@ void AF12Criteria::load(CFRecord& record)
if (doper.vt == BIFF_BYTE(0x06)) if (doper.vt == BIFF_BYTE(0x06))
{ {
unsigned char _cch = doper.vtValue.cch; unsigned char _cch = doper.vtValueStr.cch;
str.setSize(doper.vtValue.cch); str.setSize(doper.vtValueStr.cch);
record >> str; record >> str;
_str = str.getEscaped_ST_Xstring(); _str = str.getEscaped_ST_Xstring();
} }
......
...@@ -13,7 +13,9 @@ BiffStructurePtr AFDOper::clone() ...@@ -13,7 +13,9 @@ BiffStructurePtr AFDOper::clone()
AFDOper::AFDOper() AFDOper::AFDOper()
{ {
m_bAutoFilter = true; m_bAutoFilter = true;
vt = 0xff;
grbitSign = 0xff;
} }
AFDOper::AFDOper(bool bAutoFilter) AFDOper::AFDOper(bool bAutoFilter)
...@@ -26,20 +28,6 @@ AFDOper::~AFDOper() ...@@ -26,20 +28,6 @@ AFDOper::~AFDOper()
{ {
} }
//void AFDOper::setXMLAttributes(MSXML2::IXMLDOMElementPtr xml_tag)
//{
// xml_tag->setAttribute(L"vt", vt);
// xml_tag->setAttribute(L"grbitSign", grbitSign);
// vtValue.toXML(xml_tag);
//}
//
//
//void AFDOper::getXMLAttributes(MSXML2::IXMLDOMElementPtr xml_tag)
//{
//}
void AFDOper::store(CFRecord& record) void AFDOper::store(CFRecord& record)
{ {
} }
...@@ -49,15 +37,32 @@ void AFDOper::load(CFRecord& record) ...@@ -49,15 +37,32 @@ void AFDOper::load(CFRecord& record)
{ {
record >> vt >> grbitSign; record >> vt >> grbitSign;
unsigned char _vt = vt; switch(vt)
unsigned char _grbitSign = grbitSign;
if (vt == BIFF_BYTE(0))
record.skipNunBytes(8);
if (vt == BIFF_BYTE(0x06))
{ {
vtValue.m_bAutoFilter = m_bAutoFilter; case 0x02:
record >> vtValue; {
record >> vtValueRk;
}break;
case 0x04:
{
record >> vtValueNum;
}break;
case 0x06:
{
vtValueStr.m_bAutoFilter = m_bAutoFilter;
record >> vtValueStr;
}break;
case 0x08:
{
record >> vtValueBool;
}break;
case 0x0C: //All blanks are matched.
case 0x0E: //All non-blanks are matched.
case 0x00:
default:
{
record.skipNunBytes(8);
}break;
} }
} }
......
...@@ -2,7 +2,11 @@ ...@@ -2,7 +2,11 @@
#include <Logic/Biff_records/BiffRecord.h> #include <Logic/Biff_records/BiffRecord.h>
#include <Logic/Biff_structures/BiffString.h> #include <Logic/Biff_structures/BiffString.h>
#include "AFDOperStr.h" #include "AFDOperStr.h"
#include "AFDOperRk.h"
#include "AFDOperBoolErr.h"
#include "AFDOperXNum.h"
namespace XLS namespace XLS
{ {
...@@ -22,9 +26,13 @@ public: ...@@ -22,9 +26,13 @@ public:
static const ElementType type = typeAFDOper; static const ElementType type = typeAFDOper;
BIFF_BYTE vt; unsigned char vt;
BIFF_BYTE grbitSign; unsigned char grbitSign;
AFDOperStr vtValue;
AFDOperStr vtValueStr;
AFDOperBoolErr vtValueBool;
AFDOperRk vtValueRk;
AFDOperXNum vtValueNum; //64-bit binary floating-point number
bool m_bAutoFilter; bool m_bAutoFilter;
}; };
......
#include "AFDOperBoolErr.h"
#include <Binary/CFRecord.h>
namespace XLS
{
BiffStructurePtr AFDOperBoolErr::clone()
{
return BiffStructurePtr(new AFDOperBoolErr(*this));
}
void AFDOperBoolErr::store(CFRecord& record)
{
}
void AFDOperBoolErr::load(CFRecord& record)
{
record >> bes;
record.skipNunBytes(2);
record.skipNunBytes(4);
}
} // namespace XLS
#pragma once
#include <Logic/Biff_records/BiffRecord.h>
namespace XLS
{
class AFDOperBoolErr: public BiffStructure
{
BASE_STRUCTURE_DEFINE_CLASS_NAME(AFDOperBoolErr)
public:
BiffStructurePtr clone();
virtual void load(CFRecord& record);
virtual void store(CFRecord& record);
static const ElementType type = typeAFDOperBoolErr;
BIFF_SHORT bes;
};
} // namespace XLS
\ No newline at end of file
...@@ -11,18 +11,6 @@ BiffStructurePtr AFDOperRk::clone() ...@@ -11,18 +11,6 @@ BiffStructurePtr AFDOperRk::clone()
return BiffStructurePtr(new AFDOperRk(*this)); return BiffStructurePtr(new AFDOperRk(*this));
} }
//void AFDOperRk::setXMLAttributes(MSXML2::IXMLDOMElementPtr xml_tag)
//{
// xml_tag->setAttribute(L"rk", rk);
//}
//
//
//void AFDOperRk::getXMLAttributes(MSXML2::IXMLDOMElementPtr xml_tag)
//{
//}
void AFDOperRk::store(CFRecord& record) void AFDOperRk::store(CFRecord& record)
{ {
} }
...@@ -35,8 +23,6 @@ void AFDOperRk::load(CFRecord& record) ...@@ -35,8 +23,6 @@ void AFDOperRk::load(CFRecord& record)
record >> rk; record >> rk;
record.skipNunBytes(4); record.skipNunBytes(4);
_UINT32 _rk = rk;
} }
......
#pragma once #pragma once
#include <Logic/Biff_records/BiffRecord.h> #include <Logic/Biff_records/BiffRecord.h>
#include <Logic/Biff_structures/BiffString.h>
namespace XLS namespace XLS
{ {
...@@ -11,8 +10,6 @@ class AFDOperRk: public BiffStructure ...@@ -11,8 +10,6 @@ class AFDOperRk: public BiffStructure
BASE_STRUCTURE_DEFINE_CLASS_NAME(AFDOperRk) BASE_STRUCTURE_DEFINE_CLASS_NAME(AFDOperRk)
public: public:
BiffStructurePtr clone(); BiffStructurePtr clone();
virtual void load(CFRecord& record); virtual void load(CFRecord& record);
virtual void store(CFRecord& record); virtual void store(CFRecord& record);
......
...@@ -26,19 +26,6 @@ AFDOperStr::~AFDOperStr() ...@@ -26,19 +26,6 @@ AFDOperStr::~AFDOperStr()
{ {
} }
//
//void AFDOperStr::setXMLAttributes(MSXML2::IXMLDOMElementPtr xml_tag)
//{
// xml_tag->setAttribute(L"cch", cch);
// xml_tag->setAttribute(L"fCompare", fCompare);
//}
//
//
//void AFDOperStr::getXMLAttributes(MSXML2::IXMLDOMElementPtr xml_tag)
//{
//}
void AFDOperStr::store(CFRecord& record) void AFDOperStr::store(CFRecord& record)
{ {
} }
......
...@@ -19,7 +19,6 @@ public: ...@@ -19,7 +19,6 @@ public:
static const ElementType type = typeAFDOperStr; static const ElementType type = typeAFDOperStr;
virtual void load(CFRecord& record); virtual void load(CFRecord& record);
virtual void store(CFRecord& record); virtual void store(CFRecord& record);
......
#include "AFDOperXNum.h"
#include <Binary/CFRecord.h>
namespace XLS
{
BiffStructurePtr AFDOperXNum::clone()
{
return BiffStructurePtr(new AFDOperXNum(*this));
}
void AFDOperXNum::store(CFRecord& record)
{
}
void AFDOperXNum::load(CFRecord& record)
{
_UINT32 v1, v2;
record >> v1 >> v2;
val = 0;
}
} // namespace XLS
#pragma once
#include <Logic/Biff_records/BiffRecord.h>
namespace XLS
{
class AFDOperXNum: public BiffStructure
{
BASE_STRUCTURE_DEFINE_CLASS_NAME(AFDOperXNum)
public:
BiffStructurePtr clone();
virtual void load(CFRecord& record);
virtual void store(CFRecord& record);
static const ElementType type = typeAFDOperXNum;
double val;
};
} // namespace XLS
\ No newline at end of file
...@@ -13,22 +13,6 @@ BiffStructurePtr Bes::clone() ...@@ -13,22 +13,6 @@ BiffStructurePtr Bes::clone()
return BiffStructurePtr(new Bes(*this)); return BiffStructurePtr(new Bes(*this));
} }
//void Bes::setXMLAttributes(MSXML2::IXMLDOMElementPtr xml_tag)
//{
// xml_tag->setAttribute(L"fError", fError);
// xml_tag->setAttribute(L"bBoolErr", bBoolErr);
// xml_tag->setAttribute(L"value", toString().c_str());
//}
//
//
//void Bes::getXMLAttributes(MSXML2::IXMLDOMElementPtr xml_tag)
//{
// std::wstring val = getStructAttribute(xml_tag, L"value");
// fromString(static_cast<wchar_t*>(val));
//}
void Bes::store(CFRecord& record) void Bes::store(CFRecord& record)
{ {
record << bBoolErr << fError; record << bBoolErr << fError;
......
...@@ -71,7 +71,6 @@ void serialize_one(std::wostream & stream, const std::wstring & name, unsigned c ...@@ -71,7 +71,6 @@ void serialize_one(std::wostream & stream, const std::wstring & name, unsigned c
{ {
switch(type) switch(type)
{ {
case 0: CP_XML_ATTR(L"style", L"none"); break;
case 1: CP_XML_ATTR(L"style", L"thin"); break; case 1: CP_XML_ATTR(L"style", L"thin"); break;
case 2: CP_XML_ATTR(L"style", L"medium"); break; case 2: CP_XML_ATTR(L"style", L"medium"); break;
case 3: CP_XML_ATTR(L"style", L"dashed"); break; case 3: CP_XML_ATTR(L"style", L"dashed"); break;
...@@ -106,14 +105,14 @@ int DXFBdr::serialize(std::wostream & stream) ...@@ -106,14 +105,14 @@ int DXFBdr::serialize(std::wostream & stream)
{ {
CP_XML_NODE(L"border") CP_XML_NODE(L"border")
{ {
if (!parent->glTopNinch)
serialize_one(CP_XML_STREAM(), L"top", dgTop, icvTop);
if (!parent->glBottomNinch)
serialize_one(CP_XML_STREAM(), L"bottom", dgBottom, icvBottom);
if (!parent->glLeftNinch) if (!parent->glLeftNinch)
serialize_one(CP_XML_STREAM(), L"left", dgLeft, icvLeft); serialize_one(CP_XML_STREAM(), L"left", dgLeft, icvLeft);
if (!parent->glRightNinch) if (!parent->glRightNinch)
serialize_one(CP_XML_STREAM(), L"right", dgRight, icvRight); serialize_one(CP_XML_STREAM(), L"right", dgRight, icvRight);
if (!parent->glTopNinch)
serialize_one(CP_XML_STREAM(), L"top", dgTop, icvTop);
if (!parent->glBottomNinch)
serialize_one(CP_XML_STREAM(), L"bottom", dgBottom, icvBottom);
if (!parent->glDiagDownNinch || !parent->glDiagUpNinch) if (!parent->glDiagDownNinch || !parent->glDiagUpNinch)
serialize_one(CP_XML_STREAM(), L"diagonal", dgDiag, icvDiag); serialize_one(CP_XML_STREAM(), L"diagonal", dgDiag, icvDiag);
......
...@@ -55,7 +55,8 @@ const std::wstring ParsedFormula::getAssembledFormula() const ...@@ -55,7 +55,8 @@ const std::wstring ParsedFormula::getAssembledFormula() const
} }
if(1 != ptg_stack.size()) if(1 != ptg_stack.size())
{ {
throw;// EXCEPT::LE::WrongAPIUsage("Wrong formula assembling.", __FUNCTION__); return L"";
//throw; EXCEPT::LE::WrongAPIUsage("Wrong formula assembling.", __FUNCTION__);
} }
return ptg_stack.top(); return ptg_stack.top();
} }
......
...@@ -157,7 +157,6 @@ static void serialize_border_prop(std::wostream & stream, const std::wstring & n ...@@ -157,7 +157,6 @@ static void serialize_border_prop(std::wostream & stream, const std::wstring & n
{ {
switch(border->dgBorder) switch(border->dgBorder)
{ {
case 0: CP_XML_ATTR(L"style", L"none"); break;
case 1: CP_XML_ATTR(L"style", L"thin"); break; case 1: CP_XML_ATTR(L"style", L"thin"); break;
case 2: CP_XML_ATTR(L"style", L"medium"); break; case 2: CP_XML_ATTR(L"style", L"medium"); break;
case 3: CP_XML_ATTR(L"style", L"dashed"); break; case 3: CP_XML_ATTR(L"style", L"dashed"); break;
......
...@@ -37,15 +37,6 @@ public: ...@@ -37,15 +37,6 @@ public:
{ {
return false; return false;
} }
AutoFilter12 * af12 = dynamic_cast<AutoFilter12*>(elements_.back().get());
int count = proc.repeated<ContinueFrt12>(0, 0);
while(count > 0)
{
af12->m_arContinueFrt12.insert(af12->m_arContinueFrt12.begin(), elements_.back());
elements_.pop_back();
count--;
}
} }
return true; return true;
}; };
......
...@@ -26,14 +26,23 @@ BaseObjectPtr BACKGROUND::clone() ...@@ -26,14 +26,23 @@ BaseObjectPtr BACKGROUND::clone()
// BACKGROUND = BkHim *Continue // BACKGROUND = BkHim *Continue
const bool BACKGROUND::loadContent(BinProcessor& proc) const bool BACKGROUND::loadContent(BinProcessor& proc)
{ {
pGlobalWorkbookInfoPtr = proc.getGlobalWorkbookInfo();
if(!proc.mandatory<BkHim>()) if(!proc.mandatory<BkHim>())
{ {
return false; return false;
} }
proc.repeated<Continue>(0, 0); m_BkHim = elements_.back();
elements_.pop_back();
int count = proc.repeated<Continue>(0, 0);
return true; return true;
} }
int BACKGROUND::serialize(std::wostream & _stream)
{
return 0;
}
} // namespace XLS } // namespace XLS
...@@ -18,6 +18,11 @@ public: ...@@ -18,6 +18,11 @@ public:
virtual const bool loadContent(BinProcessor& proc); virtual const bool loadContent(BinProcessor& proc);
int serialize (std::wostream & _stream);
GlobalWorkbookInfoPtr pGlobalWorkbookInfoPtr;
BaseObjectPtr m_BkHim;
}; };
} // namespace XLS } // namespace XLS
......
...@@ -48,7 +48,7 @@ const bool SORTANDFILTER::loadContent(BinProcessor& proc) ...@@ -48,7 +48,7 @@ const bool SORTANDFILTER::loadContent(BinProcessor& proc)
elements_.pop_back(); elements_.pop_back();
} }
bool res4 = proc.optional<DropDownObjIds>(); bool res4 = proc.optional<DropDownObjIds>();
if (res3) if (res4)
{ {
m_DropDownObjIds = elements_.back(); m_DropDownObjIds = elements_.back();
elements_.pop_back(); elements_.pop_back();
......
...@@ -471,6 +471,8 @@ enum ElementType ...@@ -471,6 +471,8 @@ enum ElementType
typeAF12Criteria, typeAF12Criteria,
typeAFDOper, typeAFDOper,
typeAFDOperRk, typeAFDOperRk,
typeAFDOperBoolErr,
typeAFDOperXNum,
typeAFDOperStr, typeAFDOperStr,
typeBes, typeBes,
typeBiffAttribute, typeBiffAttribute,
......
...@@ -471,110 +471,112 @@ namespace NSCustomVML ...@@ -471,110 +471,112 @@ namespace NSCustomVML
m_ePath = ePath; m_ePath = ePath;
m_bIsPathPresent = true; m_bIsPathPresent = true;
} }
//void LoadVertices(CProperty* pProperty) void LoadVertices(int val, unsigned char* buffer, int buffer_size)
//{ {
// CBinaryReader oReader(pProperty->m_pOptions, pProperty->m_lValue); CBinaryReader oReader(buffer, buffer_size);
// m_arVertices.clear(); m_arVertices.clear();
//
// WORD lCount = (WORD)(pProperty->m_lValue / 8); WORD lCount = (WORD)(val / 8);
// if (pProperty->m_bIsTruncated)
// { //if (pProperty->m_bIsTruncated)todooo
// lCount = (WORD)(pProperty->m_lValue / 4); {
// } lCount = (WORD)(val / 4);
}
// if (lCount > 0)
// { if (lCount > 0)
// m_bIsVerticesPresent = true; {
// } m_bIsVerticesPresent = true;
}
// for (WORD lIndex = 0; lIndex < lCount; ++lIndex)
// { for (WORD lIndex = 0; lIndex < lCount; ++lIndex)
// Aggplus::POINT oPoint; {
// if (pProperty->m_bIsTruncated) Aggplus::POINT oPoint;
// {
// oPoint.x = (short)oReader.ReadWORD(); //if (pProperty->m_bIsTruncated)todooo
// oPoint.y = (short)oReader.ReadWORD(); //{
// } // oPoint.x = (short)oReader.ReadWORD();
// else // oPoint.y = (short)oReader.ReadWORD();
// { //}
// oPoint.x = oReader.ReadLONG(); //else
// oPoint.y = oReader.ReadLONG(); {
// } oPoint.x = oReader.ReadLONG();
oPoint.y = oReader.ReadLONG();
// LONG lMinF = (LONG)0x80000000; }
// LONG lMaxF = (LONG)0x8000007F;
// if (lMinF <= (DWORD)oPoint.x) LONG lMinF = (LONG)0x80000000;
// { LONG lMaxF = (LONG)0x8000007F;
// int nGuideIndex = (DWORD)oPoint.x - 0x80000000; if (lMinF <= (DWORD)oPoint.x)
{
// bool b = false; int nGuideIndex = (DWORD)oPoint.x - 0x80000000;
// }
// if (lMinF <= (DWORD)oPoint.y) bool b = false;
// { }
// int nGuideIndex = (DWORD)oPoint.y - 0x80000000; if (lMinF <= (DWORD)oPoint.y)
{
// bool b = false; int nGuideIndex = (DWORD)oPoint.y - 0x80000000;
// }
bool b = false;
// m_arVertices.push_back(oPoint); }
// }
//} m_arVertices.push_back(oPoint);
}
//void LoadAHs(CProperty* pProperty) }
//{
//} void LoadAHs(unsigned char* buffer, int buffer_size)
//void LoadSegments(CProperty* pProperty) {
//{ }
// CBinaryReader oReader(pProperty->m_pOptions, pProperty->m_lValue); void LoadSegments(int val, unsigned char* buffer, int buffer_size)
// m_arSegments.clear(); {
CBinaryReader oReader(buffer, buffer_size);
// WORD lCount = (WORD)(pProperty->m_lValue / 2); m_arSegments.clear();
// if (lCount > 0) WORD lCount = (WORD)(val / 2);
// {
// m_bIsPathPresent = true; if (lCount > 0)
// } {
m_bIsPathPresent = true;
// for (WORD lIndex = 0; lIndex < lCount; ++lIndex) }
// {
// CSegment oInfo; for (WORD lIndex = 0; lIndex < lCount; ++lIndex)
// oInfo.Read(oReader); {
CSegment oInfo;
// if (0 == oInfo.m_nCount) oInfo.Read(oReader);
// {
// if ((rtEnd != oInfo.m_eRuler) && if (0 == oInfo.m_nCount)
// (rtNoFill != oInfo.m_eRuler) && {
// (rtNoStroke != oInfo.m_eRuler) && if ((rtEnd != oInfo.m_eRuler) &&
// (rtClose != oInfo.m_eRuler)) (rtNoFill != oInfo.m_eRuler) &&
// { (rtNoStroke != oInfo.m_eRuler) &&
// continue; (rtClose != oInfo.m_eRuler))
// } {
// } continue;
}
// //if (rtClose == oInfo.m_eRuler) }
// //{
// // // //if (rtClose == oInfo.m_eRuler)
// // CSegment oInfo2(rtLineTo, 1); //{
// // m_arSegments.push_back(oInfo2); // //
// //} // CSegment oInfo2(rtLineTo, 1);
// m_arSegments.push_back(oInfo2);
// m_arSegments.push_back(oInfo); //}
// }
//} m_arSegments.push_back(oInfo);
//void LoadGuides(CProperty* pProperty) }
//{ }
// CBinaryReader oReader(pProperty->m_pOptions, pProperty->m_lValue); void LoadGuides(int val, unsigned char* buffer, int buffer_size)
// WORD lCount = (WORD)(pProperty->m_lValue / 4); {
CBinaryReader oReader(buffer, buffer_size);
// for (WORD lIndex = 0; lIndex < lCount; ++lIndex) WORD lCount = (WORD)(val / 4);
// {
// CGuide oInfo; for (WORD lIndex = 0; lIndex < lCount; ++lIndex)
// oInfo.Read(oReader); {
// m_arGuides.push_back(oInfo); CGuide oInfo;
// } oInfo.Read(oReader);
m_arGuides.push_back(oInfo);
//} }
}
void LoadAdjusts(LONG lIndex, LONG lValue) void LoadAdjusts(LONG lIndex, LONG lValue)
{ {
if (NULL == m_pAdjustValues) if (NULL == m_pAdjustValues)
......
...@@ -269,7 +269,7 @@ private: ...@@ -269,7 +269,7 @@ private:
void FromString(std::wstring strFormula, long lShapeWidth = ShapeSizeVML, long lShapeHeight = ShapeSizeVML) void FromString(std::wstring strFormula, long lShapeWidth = ShapeSizeVML, long lShapeHeight = ShapeSizeVML)
{ {
std::vector<std::wstring> oArrayParams; std::vector<std::wstring> oArrayParams;
NSStringUtils::ParseString(_T(" "), strFormula, &oArrayParams); NSStringUtils::ParseString(_T(" "), strFormula, oArrayParams);
int nCount = oArrayParams.size(); int nCount = oArrayParams.size();
if (0 >= nCount) if (0 >= nCount)
return; return;
......
#pragma once #pragma once
#include <string> #include <string>
#include <boost/algorithm/string.hpp>
#include "../../../../DesktopEditor/graphics/GraphicsPath.h" #include "../../../../DesktopEditor/graphics/GraphicsPath.h"
//#include "../../Metric.h" //#include "../../Metric.h"
...@@ -520,27 +522,16 @@ namespace NSGuidesVML ...@@ -520,27 +522,16 @@ namespace NSGuidesVML
// } // }
//} //}
void ParseString(std::wstring strDelimeters, std::wstring strSource, void ParseString(std::wstring strDelimeters, std::wstring strSource,
std::vector<std::wstring>* pArrayResults, bool bIsCleared = true) std::vector<std::wstring>& pArrayResults, bool bIsCleared = true)
{ {
if (NULL == pArrayResults)
return;
if (bIsCleared) if (bIsCleared)
pArrayResults->clear(); pArrayResults.clear();
std::wstring resToken; std::wstring resToken;
int curPos= 0; int curPos= 0;
int endPos = strSource.find(strDelimeters, curPos); boost::algorithm::split(pArrayResults, strSource, boost::algorithm::is_any_of(strDelimeters), boost::algorithm::token_compress_on);
resToken = strSource.substr(curPos, (endPos == std::wstring::npos) ? std::wstring::npos : endPos - curPos);
while (resToken != L"")
{
pArrayResults->push_back(resToken);
int endPos = strSource.find(strDelimeters, curPos);
resToken = strSource.substr(curPos, (endPos == std::wstring::npos) ? std::wstring::npos : endPos - curPos);
};
} }
void CheckLastPoint(IRenderer* pRenderer, CDoublePoint& pointCur) void CheckLastPoint(IRenderer* pRenderer, CDoublePoint& pointCur)
......
#pragma once
enum ShapeType : unsigned short
{
sptMin = 0,
sptNotPrimitive = sptMin,
sptCRect = 1,
sptCRoundRect = 2,
sptCEllipse = 3,
sptCDiamond = 4,
sptCIsocelesTriangle = 5,//
sptCRtTriangle = 6,
sptCParallelogram = 7,
sptCTrapezoid = 8,
sptCHexagon = 9,
sptCOctagon = 10,
sptCPlus = 11,
sptCStar5 = 12,//
sptCRightArrow = 13,
sptCThickArrow = 14,//
sptCHomePlate = 15,
sptCCube = 16,
sptCBalloon = 17,//
sptCSeal = 18,//
sptCArc = 19,
sptCLine = 20,
sptCPlaque = 21,
sptCCan = 22,
sptCDonut = 23,
sptCTextSimple = 24,//
sptCTextOctagon = 25,//
sptCTextHexagon = 26,//
sptCTextCurve = 27,//
sptCTextWave = 28,//
sptCTextRing = 29,//
sptCTextOnCurve = 30,//
sptCTextOnRing = 31,//
sptCStraightConnector1 = 32,
sptCBentConnector2 = 33,
sptCBentConnector3 = 34,
sptCBentConnector4 = 35,
sptCBentConnector5 = 36,
sptCCurvedConnector2 = 37,
sptCCurvedConnector3 = 38,
sptCCurvedConnector4 = 39,
sptCCurvedConnector5 = 40,
sptCCallout1 = 41,
sptCCallout2 = 42,
sptCCallout3 = 43,
sptCAccentCallout1 = 44,
sptCAccentCallout2 = 45,
sptCAccentCallout3 = 46,
sptCBorderCallout1 = 47,
sptCBorderCallout2 = 48,
sptCBorderCallout3 = 49,
sptCAccentBorderCallout1 = 50,
sptCAccentBorderCallout2 = 51,
sptCAccentBorderCallout3 = 52,
sptCRibbon = 53,
sptCRibbon2 = 54,
sptCChevron = 55,
sptCPentagon = 56,
sptCNoSmoking = 57,
sptCStar8 = 58,//
sptCStar16 = 59,//
sptCStar32 = 60,//
sptCWedgeRectCallout = 61,
sptCWedgeRoundRectCallout = 62,
sptCWedgeEllipseCallout = 63,
sptCWave = 64,
sptCFoldedCorner = 65,
sptCLeftArrow = 66,
sptCDownArrow = 67,
sptCUpArrow = 68,//
sptCLeftRightArrow = 69,
sptCUpDownArrow = 70,
sptCIrregularSeal1 = 71,
sptCIrregularSeal2 = 72,
sptCLightningBolt = 73,
sptCHeart = 74,
sptCFrame = 75,
sptCQuadArrow = 76,
sptCLeftArrowCallout = 77,
sptCRightArrowCallout = 78,
sptCUpArrowCallout = 79,
sptCDownArrowCallout = 80,
sptCLeftRightArrowCallout = 81,
sptCUpDownArrowCallout = 82,
sptCQuadArrowCallout = 83,
sptCBevel = 84,
sptCLeftBracket = 85,
sptCRightBracket = 86,
sptCLeftBrace = 87,
sptCRightBrace = 88,
sptCLeftUpArrow = 89,
sptCBentUpArrow = 90,
sptCBentArrow = 91,
sptCStar24 = 92,//
sptCStripedRightArrow = 93,
sptCNotchedRightArrow = 94,
sptCBlockArc = 95,
sptCSmileyFace = 96,
sptCVerticalScroll = 97,
sptCHorizontalScroll = 98,
sptCCircularArrow = 99,
sptCNotchedCircularArrow = 100,//
sptCUturnArrow = 101,
sptCCurvedRightArrow = 102,
sptCCurvedLeftArrow = 103,
sptCCurvedUpArrow = 104,
sptCCurvedDownArrow = 105,
sptCCloudCallout = 106,
sptCEllipseRibbon = 107,
sptCEllipseRibbon2 = 108,
sptCFlowChartProcess = 109,
sptCFlowChartDecision = 110,
sptCFlowChartInputOutput = 111,
sptCFlowChartPredefinedProcess = 112,
sptCFlowChartInternalStorage = 113,
sptCFlowChartDocument = 114,
sptCFlowChartMultidocument = 115,
sptCFlowChartTerminator = 116,
sptCFlowChartPreparation = 117,
sptCFlowChartManualInput = 118,
sptCFlowChartManualOperation = 119,
sptCFlowChartConnector = 120,
sptCFlowChartPunchedCard = 121,
sptCFlowChartPunchedTape = 122,
sptCFlowChartSummingJunction = 123,
sptCFlowChartOr = 124,
sptCFlowChartCollate = 125,
sptCFlowChartSort = 126,
sptCFlowChartExtract = 127,
sptCFlowChartMerge = 128,
sptCFlowChartOfflineStorage = 129,
sptCFlowChartOnlineStorage = 130,
sptCFlowChartMagneticTape = 131,
sptCFlowChartMagneticDisk = 132,
sptCFlowChartMagneticDrum = 133,
sptCFlowChartDisplay = 134,
sptCFlowChartDelay = 135,
sptCTextPlain = 136,
sptCTextStop = 137,
sptCTextTriangle = 138,
sptCTextTriangleInverted = 139,
sptCTextChevron = 140,
sptCTextChevronInverted = 141,
sptCTextRingInside = 142,
sptCTextRingOutside = 143,
sptCTextArchUp = 144,
sptCTextArchDown = 145,
sptCTextCircle = 146,
sptCTextButton = 147,
sptCTextArchUpPour = 148,
sptCTextArchDownPour = 149,
sptCTextCirclePour = 150,
sptCTextButtonPour = 151,
sptCTextCurveUp = 152,
sptCTextCurveDown = 153,
sptCTextCascadeUp = 154,
sptCTextCascadeDown = 155,
sptCTextWave1 = 156,
sptCTextWave2 = 157,
sptCTextWave3 = 158,//
sptCTextWave4 = 159,
sptCTextInflate = 160,
sptCTextDeflate = 161,
sptCTextInflateBottom = 162,
sptCTextDeflateBottom = 163,
sptCTextInflateTop = 164,
sptCTextDeflateTop = 165,
sptCTextDeflateInflate = 166,
sptCTextDeflateInflateDeflate = 167,
sptCTextFadeRight = 168,
sptCTextFadeLeft = 169,
sptCTextFadeUp = 170,
sptCTextFadeDown = 171,
sptCTextSlantUp = 172,
sptCTextSlantDown = 173,
sptCTextCanUp = 174,
sptCTextCanDown = 175,
sptCFlowChartAlternateProcess = 176,
sptCFlowChartOffpageConnector = 177,
sptCCallout90 = 178,//
sptCAccentCallout90 = 179,//
sptCBorderCallout90 = 180,//
sptCAccentBorderCallout90 = 181,//
sptCLeftRightUpArrow = 182,
sptCSun = 183,
sptCMoon = 184,
sptCBracketPair = 185,
sptCBracePair = 186,
sptCStar4 = 187,//
sptCDoubleWave = 188,
sptCActionButtonBlank = 189,
sptCActionButtonHome = 190,
sptCActionButtonHelp = 191,
sptCActionButtonInformation = 192,
sptCActionButtonForwardNext = 193,
sptCActionButtonBackPrevious = 194,
sptCActionButtonEnd = 195,
sptCActionButtonBeginning = 196,
sptCActionButtonReturn = 197,
sptCActionButtonDocument = 198,
sptCActionButtonSound = 199,
sptCActionButtonMovie = 200,
sptCHostControl = 201,//
sptCTextBox = 202,//
//
sptCChartPlus = 203,
sptCChartStar,
sptCChartX,
sptCChord,
sptCCloud,
sptCCorner,
sptCCornerTabs,
sptCDecagon,
sptCDiagStripe,
sptCDodecagon,
sptCFunnel,
sptCGear6,
sptCGear9,
sptCHalfFrame,
sptCHeptagon,
sptCLeftCircularArrow,
sptCLeftRightCircularArrow,
sptCLeftRightRibbon,
sptCLineInv,
sptCMathDivide,
sptCMathEqual,
sptCMathMinus,
sptCMathMultiply,
sptCMathNotEqual,
sptCMathPlus,
sptCNonIsoscelesTrapezoid,
sptCPie,
sptCPieWedge,
sptCPlaqueTabs,
sptCRound1Rect,
sptCRound2DiagRect,
sptCRound2SameRect,
sptCSnip1Rect,
sptCSnip2DiagRect,
sptCSnip2SameRect,
sptCSnipRoundRect,
sptCSquareTabs,
sptCStar10,
sptCStar12,
//sptCStar16,
//sptCStar24,
//sptCStar32,
//sptCStar4,
//sptCStar5,
sptCStar6,
sptCStar7,
//sptCStar8,
sptCSwooshArrow,
sptCTeardrop,
sptCTextDoubleWave1,
sptCTriangle,
sptMax,
sptNil = 0x0FFF,
sptCustom = 0x1000
};
#pragma once #pragma once
#include <string>
#include <algorithm> #include <algorithm>
#include <vector> #include <vector>
#include <boost/algorithm/string.hpp>
#if defined(_WIN32) || defined(_WIN64) //#if defined(_WIN32) || defined(_WIN64)
#include <atlbase.h> // #include <atlbase.h>
#include <atlstr.h> // #include <atlstr.h>
#include "../../../../Common/atldefine.h" // #include "../../../../Common/atldefine.h"
//
#else //#else
#include "../../../../../Common/DocxFormat/Source/Base/ASCString.h" // #include "../../../../../Common/DocxFormat/Source/Base/ASCString.h"
#endif //#endif
#include "../../../../../Common/DocxFormat/Source/Base/Base.h" #include "../../../../../Common/DocxFormat/Source/Base/Base.h"
#include "../../../../../DesktopEditor/graphics/GraphicsPath.h" #include "../../../../../DesktopEditor/graphics/GraphicsPath.h"
const double ShapeSize = 43200.0; const double ShapeSize = 43200.0;
const LONG ShapeSizeVML = 21600; const LONG ShapeSizeVML = 21600;
const double RadKoef = M_PI/10800000.0; const double RadKoef = M_PI/10800000.0;
...@@ -67,45 +71,27 @@ namespace NSStringUtils ...@@ -67,45 +71,27 @@ namespace NSStringUtils
} }
static void ParseString(std::wstring strDelimeters, std::wstring strSource, static void ParseString(std::wstring strDelimeters, std::wstring strSource,
std::vector<std::wstring>* pArrayResults, bool bIsCleared = true) std::vector<std::wstring>& pArrayResults, bool bIsCleared = true)
{ {
if (NULL == pArrayResults)
return;
if (bIsCleared) if (bIsCleared)
pArrayResults->clear(); pArrayResults.clear();
std::wstring resToken;
int curPos= 0;
int endPos = strSource.find(strDelimeters, curPos); boost::algorithm::split(pArrayResults, strSource, boost::algorithm::is_any_of(strDelimeters), boost::algorithm::token_compress_on);
resToken = strSource.substr(curPos, (endPos == std::wstring::npos) ? std::wstring::npos : endPos - curPos);
while (resToken != _T(""))
{
pArrayResults->push_back(resToken);
int endPos = strSource.find(strDelimeters, curPos);
resToken = strSource.substr(curPos, (endPos == std::wstring::npos) ? std::wstring::npos : endPos - curPos);
};
} }
static void ParseString(std::vector<char>* pArrayDelimeters, std::wstring strSource, static void ParseString(std::vector<char>& pArrayDelimeters, std::wstring strSource,
std::vector<std::wstring>* pArrayResults, bool bIsCleared = true) std::vector<std::wstring> & pArrayResults, bool bIsCleared = true)
{ {
if (NULL == pArrayDelimeters)
return;
std::wstring strDelimeters = _T(""); std::wstring strDelimeters = _T("");
for (int nIndex = 0; nIndex < pArrayDelimeters->size(); ++nIndex) for (int nIndex = 0; nIndex < pArrayDelimeters.size(); ++nIndex)
strDelimeters += (*pArrayDelimeters)[nIndex]; strDelimeters += pArrayDelimeters[nIndex];
return ParseString(strDelimeters, strSource, pArrayResults, bIsCleared); return ParseString(strDelimeters, strSource, pArrayResults, bIsCleared);
} }
static void ParsePath(std::wstring strSource, std::vector<std::wstring>* pArrayResults, bool bIsCleared = true) static void ParsePath(std::wstring strSource, std::vector<std::wstring> pArrayResults, bool bIsCleared = true)
{ {
if (NULL == pArrayResults)
return;
std::wstring strPath = strSource; std::wstring strPath = strSource;
//strPath.Replace(_T(" "), _T(",")); //strPath.Replace(_T(" "), _T(","));
for (int nIndex = 0; nIndex < strPath.length(); ++nIndex) for (int nIndex = 0; nIndex < strPath.length(); ++nIndex)
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 51 // 51
class CAccentBorderCallout2Type : public CPPTShape class CAccentBorderCallout2Type : public CCustomShape
{ {
public: public:
CAccentBorderCallout2Type() CAccentBorderCallout2Type()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 44 // 44
class CAccentCallout1Type : public CPPTShape class CAccentCallout1Type : public CCustomShape
{ {
public: public:
CAccentCallout1Type() CAccentCallout1Type()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 45 // 45
class CAccentCallout2Type : public CPPTShape class CAccentCallout2Type : public CCustomShape
{ {
public: public:
CAccentCallout2Type() CAccentCallout2Type()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 46 // 46
class CAccentCallout3Type : public CPPTShape class CAccentCallout3Type : public CCustomShape
{ {
public: public:
CAccentCallout3Type() CAccentCallout3Type()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 179 // 179
class CAccentCallout90Type : public CPPTShape class CAccentCallout90Type : public CCustomShape
{ {
public: public:
CAccentCallout90Type() CAccentCallout90Type()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 194 // 194
class CActionButtonBackType : public CPPTShape class CActionButtonBackType : public CCustomShape
{ {
public: public:
CActionButtonBackType() CActionButtonBackType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 196 // 196
class CActionButtonBeginType : public CPPTShape class CActionButtonBeginType : public CCustomShape
{ {
public: public:
CActionButtonBeginType() CActionButtonBeginType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 189 // 189
class CActionButtonBlankType : public CPPTShape class CActionButtonBlankType : public CCustomShape
{ {
public: public:
CActionButtonBlankType() CActionButtonBlankType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 198 // 198
class CActionButtonDocType : public CPPTShape class CActionButtonDocType : public CCustomShape
{ {
public: public:
CActionButtonDocType() CActionButtonDocType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 195 // 195
class CActionButtonEndType : public CPPTShape class CActionButtonEndType : public CCustomShape
{ {
public: public:
CActionButtonEndType() CActionButtonEndType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 191 // 191
class CActionButtonHelpType : public CPPTShape class CActionButtonHelpType : public CCustomShape
{ {
public: public:
CActionButtonHelpType() CActionButtonHelpType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 190 // 190
class CActionButtonHomeType : public CPPTShape class CActionButtonHomeType : public CCustomShape
{ {
public: public:
CActionButtonHomeType() CActionButtonHomeType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 192 // 192
class CActionButtonInfoType : public CPPTShape class CActionButtonInfoType : public CCustomShape
{ {
public: public:
CActionButtonInfoType() CActionButtonInfoType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 200 // 200
class CActionButtonMovieType : public CPPTShape class CActionButtonMovieType : public CCustomShape
{ {
public: public:
CActionButtonMovieType() CActionButtonMovieType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 193 // 193
class CActionButtonNextType : public CPPTShape class CActionButtonNextType : public CCustomShape
{ {
public: public:
CActionButtonNextType() CActionButtonNextType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 197 // 197
class CActionButtonReturnType : public CPPTShape class CActionButtonReturnType : public CCustomShape
{ {
public: public:
CActionButtonReturnType() CActionButtonReturnType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 199 // 199
class CActionButtonSoundType : public CPPTShape class CActionButtonSoundType : public CCustomShape
{ {
public: public:
CActionButtonSoundType() CActionButtonSoundType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 91 // 91
class CBentArrowType : public CPPTShape class CBentArrowType : public CCustomShape
{ {
public: public:
CBentArrowType() CBentArrowType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 34 // 34
class CBentConnectorType : public CPPTShape class CBentConnectorType : public CCustomShape
{ {
public: public:
CBentConnectorType() CBentConnectorType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 90 // 90
class CBentUpArrowType : public CPPTShape class CBentUpArrowType : public CCustomShape
{ {
public: public:
CBentUpArrowType() CBentUpArrowType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 84 // 84
class CBevelType : public CPPTShape class CBevelType : public CCustomShape
{ {
public: public:
CBevelType() CBevelType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 95 // 95
class CBlockArcType : public CPPTShape class CBlockArcType : public CCustomShape
{ {
public: public:
CBlockArcType() CBlockArcType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 47 // 47
class CBorderCallout1Type : public CPPTShape class CBorderCallout1Type : public CCustomShape
{ {
public: public:
CBorderCallout1Type() CBorderCallout1Type()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 48 // 48
class CBorderCallout2Type : public CPPTShape class CBorderCallout2Type : public CCustomShape
{ {
public: public:
CBorderCallout2Type() CBorderCallout2Type()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 49 // 49
class CBorderCallout3Type : public CPPTShape class CBorderCallout3Type : public CCustomShape
{ {
public: public:
CBorderCallout3Type() CBorderCallout3Type()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 180 // 180
class CBorderCallout90Type : public CPPTShape class CBorderCallout90Type : public CCustomShape
{ {
public: public:
CBorderCallout90Type() CBorderCallout90Type()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 186 // 186
class CBracePairType : public CPPTShape class CBracePairType : public CCustomShape
{ {
public: public:
CBracePairType() CBracePairType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 185 // 185
class CBracketPairType : public CPPTShape class CBracketPairType : public CCustomShape
{ {
public: public:
CBracketPairType() CBracketPairType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 41 // 41
class CCallout1Type : public CPPTShape class CCallout1Type : public CCustomShape
{ {
public: public:
CCallout1Type() CCallout1Type()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 42 // 42
class CCallout2Type : public CPPTShape class CCallout2Type : public CCustomShape
{ {
public: public:
CCallout2Type() CCallout2Type()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 43 // 43
class CCallout3Type : public CPPTShape class CCallout3Type : public CCustomShape
{ {
public: public:
CCallout3Type() CCallout3Type()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 178 // 178
class CCallout90Type : public CPPTShape class CCallout90Type : public CCustomShape
{ {
public: public:
CCallout90Type() CCallout90Type()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 22 // 22
class CCanType : public CPPTShape class CCanType : public CCustomShape
{ {
public: public:
CCanType() CCanType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 55 // 55
class CChevronType : public CPPTShape class CChevronType : public CCustomShape
{ {
public: public:
CChevronType() CChevronType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 99 // 99
class CCircularArrowType : public CPPTShape class CCircularArrowType : public CCustomShape
{ {
public: public:
CCircularArrowType() CCircularArrowType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 106 // 106
class CCloudCalloutType : public CPPTShape class CCloudCalloutType : public CCustomShape
{ {
public: public:
CCloudCalloutType() CCloudCalloutType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 16 // 16
class CCubeType : public CPPTShape class CCubeType : public CCustomShape
{ {
public: public:
CCubeType() CCubeType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 38 // 38
class CCurvedConnectorType : public CPPTShape class CCurvedConnectorType : public CCustomShape
{ {
public: public:
CCurvedConnectorType() CCurvedConnectorType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 105 // 105
class CCurvedDownArrowType : public CPPTShape class CCurvedDownArrowType : public CCustomShape
{ {
public: public:
CCurvedDownArrowType() CCurvedDownArrowType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 103 // 103
class CCurvedLeftArrowType : public CPPTShape class CCurvedLeftArrowType : public CCustomShape
{ {
public: public:
CCurvedLeftArrowType() CCurvedLeftArrowType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 102 // 102
class CCurvedRightArrowType : public CPPTShape class CCurvedRightArrowType : public CCustomShape
{ {
public: public:
CCurvedRightArrowType() CCurvedRightArrowType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
//104 //104
class CCurvedUpArrowType : public CPPTShape class CCurvedUpArrowType : public CCustomShape
{ {
public: public:
CCurvedUpArrowType() CCurvedUpArrowType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 4 // 4
class CDiamondType : public CPPTShape class CDiamondType : public CCustomShape
{ {
public: public:
CDiamondType() CDiamondType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 23 // 23
class CDonutType : public CPPTShape class CDonutType : public CCustomShape
{ {
public: public:
CDonutType() CDonutType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 80 // 80
class CDownArrowCalloutType : public CPPTShape class CDownArrowCalloutType : public CCustomShape
{ {
public: public:
CDownArrowCalloutType() CDownArrowCalloutType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 67 // 67
class CDownArrowType : public CPPTShape class CDownArrowType : public CCustomShape
{ {
public: public:
CDownArrowType() CDownArrowType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 108 // 108
class CEllipceRibbon2Type : public CPPTShape class CEllipceRibbon2Type : public CCustomShape
{ {
public: public:
CEllipceRibbon2Type() CEllipceRibbon2Type()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 107 // 107
class CEllipceRibbonType : public CPPTShape class CEllipceRibbonType : public CCustomShape
{ {
public: public:
CEllipceRibbonType() CEllipceRibbonType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 3 // 3
class CEllipseType : public CPPTShape class CEllipseType : public CCustomShape
{ {
public: public:
CEllipseType() CEllipseType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 176 // 176
class CFlowChartAlternateProcessType : public CPPTShape class CFlowChartAlternateProcessType : public CCustomShape
{ {
public: public:
CFlowChartAlternateProcessType() CFlowChartAlternateProcessType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 125 // 125
class CFlowChartCollateType : public CPPTShape class CFlowChartCollateType : public CCustomShape
{ {
public: public:
CFlowChartCollateType() CFlowChartCollateType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 120 // 120
class CFlowChartConnectorType : public CPPTShape class CFlowChartConnectorType : public CCustomShape
{ {
public: public:
CFlowChartConnectorType() CFlowChartConnectorType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 110 // 110
class CFlowChartDecisionType : public CPPTShape class CFlowChartDecisionType : public CCustomShape
{ {
public: public:
CFlowChartDecisionType() CFlowChartDecisionType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 135 // 135
class CFlowChartDelayType : public CPPTShape class CFlowChartDelayType : public CCustomShape
{ {
public: public:
CFlowChartDelayType() CFlowChartDelayType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 134 // 134
class CFlowChartDisplayType : public CPPTShape class CFlowChartDisplayType : public CCustomShape
{ {
public: public:
CFlowChartDisplayType() CFlowChartDisplayType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
//114 //114
class CFlowChartDocumentType : public CPPTShape class CFlowChartDocumentType : public CCustomShape
{ {
public: public:
CFlowChartDocumentType() CFlowChartDocumentType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 127 // 127
class CFlowChartExtractType : public CPPTShape class CFlowChartExtractType : public CCustomShape
{ {
public: public:
CFlowChartExtractType() CFlowChartExtractType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 111 // 111
class CFlowChartInputOutputType : public CPPTShape class CFlowChartInputOutputType : public CCustomShape
{ {
public: public:
CFlowChartInputOutputType() CFlowChartInputOutputType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 113 // 113
class CFlowChartInternalStorageType : public CPPTShape class CFlowChartInternalStorageType : public CCustomShape
{ {
public: public:
CFlowChartInternalStorageType() CFlowChartInternalStorageType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 132 // 132
class CFlowChartMagneticDiskType : public CPPTShape class CFlowChartMagneticDiskType : public CCustomShape
{ {
public: public:
CFlowChartMagneticDiskType() CFlowChartMagneticDiskType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 133 // 133
class CFlowChartMagneticDrumType : public CPPTShape class CFlowChartMagneticDrumType : public CCustomShape
{ {
public: public:
CFlowChartMagneticDrumType() CFlowChartMagneticDrumType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 131 // 131
class CFlowChartMagneticTapeType : public CPPTShape class CFlowChartMagneticTapeType : public CCustomShape
{ {
public: public:
CFlowChartMagneticTapeType() CFlowChartMagneticTapeType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 118 // 118
class CFlowChartManualInputType : public CPPTShape class CFlowChartManualInputType : public CCustomShape
{ {
public: public:
CFlowChartManualInputType() CFlowChartManualInputType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 119 // 119
class CFlowChartManualOperationType : public CPPTShape class CFlowChartManualOperationType : public CCustomShape
{ {
public: public:
CFlowChartManualOperationType() CFlowChartManualOperationType()
......
#pragma once #pragma once
#include "../PPTShape.h" #include "../CustomShape.h"
// 128 // 128
class CFlowChartMergeType : public CPPTShape class CFlowChartMergeType : public CCustomShape
{ {
public: public:
CFlowChartMergeType() CFlowChartMergeType()
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment