mirror of
https://github.com/ONLYOFFICE/core.git
synced 2026-06-25 23:58:31 +08:00
Compare commits
27 Commits
core-windo
...
core/devel
| Author | SHA1 | Date | |
|---|---|---|---|
| 7c964b3f9c | |||
| 8c43c781bd | |||
| 7496de06f0 | |||
| fdd443a2d7 | |||
| 037c4046eb | |||
| 4e5ac14ca9 | |||
| dedf74b366 | |||
| 6f2eef1137 | |||
| 9a8d3edbef | |||
| 305ebda78d | |||
| 114050c23e | |||
| 7eee0755bf | |||
| c329f29e9a | |||
| 0f3a02ca7c | |||
| 62d4860873 | |||
| 21666ee309 | |||
| 47ff766e4e | |||
| 50cbc671b3 | |||
| f2d3390bd4 | |||
| fb5af12d7a | |||
| 63655a97e9 | |||
| fdf032d9f8 | |||
| 3b85b58558 | |||
| 00f1f40a1e | |||
| 46c05a4c27 | |||
| f3a510bd58 | |||
| 45231b822c |
@ -876,7 +876,7 @@ public:
|
||||
pCStringWriter->WriteString(CellPr);
|
||||
pCStringWriter->WriteString(L"</w:tcPr>");
|
||||
}
|
||||
for(int i = 0, length = TblStylePr.size(); i < length; ++i)
|
||||
for(int i = 0, length = (int)TblStylePr.size(); i < length; ++i)
|
||||
{
|
||||
pCStringWriter->WriteString(TblStylePr[i]);
|
||||
}
|
||||
@ -1241,7 +1241,7 @@ public:
|
||||
}
|
||||
~docLvl()
|
||||
{
|
||||
for(int i = 0,length = Text.size(); i < length; i++)
|
||||
for(int i = 0,length = (int)Text.size(); i < length; i++)
|
||||
{
|
||||
delete Text[i];
|
||||
}
|
||||
@ -1297,7 +1297,7 @@ public:
|
||||
if(bText)
|
||||
{
|
||||
std::wstring sText;
|
||||
for(int i = 0, length = Text.size(); i < length; ++i)
|
||||
for(int i = 0, length = (int)Text.size(); i < length; ++i)
|
||||
{
|
||||
docLvlText* item = Text[i];
|
||||
if(item->bText)
|
||||
@ -1360,7 +1360,7 @@ public:
|
||||
}
|
||||
~docANum()
|
||||
{
|
||||
for(int i = 0, length = Lvls.size(); i < length; i++)
|
||||
for(int i = 0, length = (int)Lvls.size(); i < length; i++)
|
||||
{
|
||||
delete Lvls[i];
|
||||
}
|
||||
@ -1380,7 +1380,7 @@ public:
|
||||
std::wstring sCorrectNumStyleLink = XmlUtils::EncodeXmlString(NumStyleLink);
|
||||
oWriterANum.WriteString(L"<w:numStyleLink w:val=\"" + sCorrectNumStyleLink + L"\"/>");
|
||||
}
|
||||
for(int i = 0, length = Lvls.size(); i < length; ++i)
|
||||
for(int i = 0, length = (int)Lvls.size(); i < length; ++i)
|
||||
{
|
||||
Lvls[i]->Write(oWriterANum, i);
|
||||
}
|
||||
@ -1453,7 +1453,8 @@ public:
|
||||
std::vector<std::wstring> aItems;
|
||||
std::wstring sCurItem;
|
||||
bool bDQuot = false;
|
||||
for(int i = 0, length = fld.length(); i < length; ++i)
|
||||
|
||||
for(int i = 0, length = (int)fld.length(); i < length; ++i)
|
||||
{
|
||||
wchar_t sCurLetter = fld[i];
|
||||
if('\"' == sCurLetter)
|
||||
@ -1476,7 +1477,8 @@ public:
|
||||
}
|
||||
if(sCurItem.length() > 0)
|
||||
aItems.push_back(sCurItem);
|
||||
for(int i = 0, length = aItems.size(); i < length; ++i)
|
||||
|
||||
for(int i = 0, length = (int)aItems.size(); i < length; ++i)
|
||||
{
|
||||
std::wstring item = aItems[i];
|
||||
if(bNextLink)
|
||||
@ -1500,7 +1502,7 @@ public:
|
||||
res = new WriteHyperlink();
|
||||
boost::algorithm::trim(sLink);
|
||||
|
||||
int nAnchorIndex = sLink.find(L"#");
|
||||
int nAnchorIndex = (int)sLink.find(L"#");
|
||||
if(-1 != nAnchorIndex)
|
||||
{
|
||||
res->href = sLink.substr(0, nAnchorIndex);
|
||||
@ -1589,7 +1591,7 @@ public:
|
||||
}
|
||||
~CComment()
|
||||
{
|
||||
for(int i = 0, length = replies.size(); i < length; ++i)
|
||||
for(size_t i = 0; i <replies.size(); ++i)
|
||||
{
|
||||
delete replies[i];
|
||||
}
|
||||
@ -1597,32 +1599,37 @@ public:
|
||||
}
|
||||
int getCount()
|
||||
{
|
||||
return replies.size() + 1;
|
||||
return (int)replies.size() + 1;
|
||||
}
|
||||
void setFormatStart(int IdFormatStart)
|
||||
{
|
||||
bIdFormat = true;
|
||||
IdFormat = IdFormatStart;
|
||||
for(int i = 0, length = replies.size(); i < length; ++i)
|
||||
|
||||
for(size_t i = 0; i < replies.size(); ++i)
|
||||
{
|
||||
CComment* pComment = replies[i];
|
||||
CComment* pComment = replies[i];
|
||||
pComment->bIdFormat = true;
|
||||
pComment->IdFormat = IdFormatStart + i + 1;
|
||||
pComment->IdFormat = (int)(IdFormatStart + i + 1);
|
||||
}
|
||||
}
|
||||
std::wstring writeRef(const std::wstring& sBefore, const std::wstring& sRef, const std::wstring& sAfter)
|
||||
{
|
||||
std::wstring sRes;
|
||||
sRes += (writeRef(this, sBefore, sRef, sAfter));
|
||||
for(int i = 0, length = replies.size(); i < length; ++i)
|
||||
|
||||
for(size_t i = 0; i< replies.size(); ++i)
|
||||
{
|
||||
sRes += (writeRef(replies[i], sBefore, sRef, sAfter));
|
||||
}
|
||||
return sRes;
|
||||
}
|
||||
std::wstring writeTemplates(funcArg fReadFunction)
|
||||
{
|
||||
std::wstring sRes;
|
||||
sRes += (fReadFunction(this));
|
||||
for(int i = 0, length = replies.size(); i < length; ++i)
|
||||
|
||||
for(size_t i = 0; i < replies.size(); ++i)
|
||||
sRes += (fReadFunction(replies[i]));
|
||||
return sRes;
|
||||
}
|
||||
@ -1708,7 +1715,7 @@ public:
|
||||
|
||||
bool bFirst = true;
|
||||
int nPrevIndex = 0;
|
||||
for(int i = 0, length = sText.length(); i < length; i++)
|
||||
for(size_t i = 0; i < sText.length(); i++)
|
||||
{
|
||||
wchar_t cToken = sText[i];
|
||||
if('\n' == cToken)
|
||||
@ -1717,7 +1724,7 @@ public:
|
||||
nPrevIndex = i + 1;
|
||||
}
|
||||
}
|
||||
writeContentWritePart(pComment, sText, nPrevIndex, sText.length(), bFirst, sRes);
|
||||
writeContentWritePart(pComment, sText, nPrevIndex, (int)sText.length(), bFirst, sRes);
|
||||
}
|
||||
sRes += L"</w:comment>";
|
||||
return sRes;
|
||||
@ -1736,7 +1743,7 @@ w15:paraIdParent=\"" + pComment->m_sParaIdParent + L"\" w15:done=\"" + sDone + L
|
||||
else
|
||||
sRes += L"<w15:commentEx w15:paraId=\"" + pComment->m_sParaId + L"\" w15:done=\"" + sDone + L"\"/>";
|
||||
//расставляем paraIdParent
|
||||
for(int i = 0, length = pComment->replies.size(); i < length; i++)
|
||||
for(size_t i = 0; i < pComment->replies.size(); i++)
|
||||
pComment->replies[i]->m_sParaIdParent = pComment->m_sParaId;
|
||||
}
|
||||
return sRes;
|
||||
@ -1782,7 +1789,7 @@ public:
|
||||
{
|
||||
m_mapComments[pComment->IdOpen] = pComment;
|
||||
addAuthor(pComment);
|
||||
for(int i = 0, length = pComment->replies.size(); i < length; i++)
|
||||
for(size_t i = 0; i < pComment->replies.size(); i++)
|
||||
addAuthor(pComment->replies[i]);
|
||||
}
|
||||
}
|
||||
@ -1866,7 +1873,7 @@ public:
|
||||
}
|
||||
~CDrawingPropertyWrap()
|
||||
{
|
||||
for(int i = 0, length = Points.size(); i < length; ++i)
|
||||
for(size_t i = 0; i < Points.size(); ++i)
|
||||
delete Points[i];
|
||||
Points.clear();
|
||||
}
|
||||
@ -2211,7 +2218,7 @@ distT=\"0\" distB=\"0\" distL=\"0\" distR=\"0\"><wp:extent cx=\"" + std::to_wstr
|
||||
sXml += L"<wp:start x=\"" + std::to_wstring(emuX) + L"\" y=\"" + std::to_wstring(emuY) + L"\"/>";
|
||||
}
|
||||
|
||||
for(int i = 0, length = DrawingPropertyWrap.Points.size(); i < length; ++i)
|
||||
for(size_t i = 0; i < DrawingPropertyWrap.Points.size(); ++i)
|
||||
{
|
||||
CDrawingPropertyWrapPoint* pWrapPoint = DrawingPropertyWrap.Points[i];
|
||||
if(pWrapPoint->bX && pWrapPoint->bY)
|
||||
|
||||
@ -760,11 +760,11 @@ public:
|
||||
{
|
||||
Tabs oTabs;
|
||||
res = Read2(length, &Binary_pPrReader::ReadTabs, this, &oTabs);
|
||||
int nLen = oTabs.m_aTabs.size();
|
||||
size_t nLen = oTabs.m_aTabs.size();
|
||||
if(nLen > 0)
|
||||
{
|
||||
pCStringWriter->WriteString(std::wstring(_T("<w:tabs>")));
|
||||
for(int i = 0; i < nLen; ++i)
|
||||
for(size_t i = 0; i < nLen; ++i)
|
||||
{
|
||||
Tab& oTab = oTabs.m_aTabs[i];
|
||||
long nTab = SerializeCommon::Round( g_dKoef_mm_to_twips * oTab.Pos);
|
||||
@ -1386,7 +1386,7 @@ public:
|
||||
if( c_oSerProp_secPrType::hdrftrelem == type )
|
||||
{
|
||||
int nHdrFtrIndex = m_oBufferedStream.GetLong();
|
||||
if(nHdrFtrIndex >= 0 && nHdrFtrIndex <= m_oFileWriter.m_oHeaderFooterWriter.m_aHeaders.size())
|
||||
if(nHdrFtrIndex >= 0 && nHdrFtrIndex <= (int)m_oFileWriter.m_oHeaderFooterWriter.m_aHeaders.size())
|
||||
{
|
||||
Writers::HdrFtrItem* pHdrFtrItem = m_oFileWriter.m_oHeaderFooterWriter.m_aHeaders[nHdrFtrIndex];
|
||||
pHdrFtrItem->m_sFilename;
|
||||
@ -1411,7 +1411,7 @@ public:
|
||||
if( c_oSerProp_secPrType::hdrftrelem == type )
|
||||
{
|
||||
int nHdrFtrIndex = m_oBufferedStream.GetLong();
|
||||
if(nHdrFtrIndex >= 0 && nHdrFtrIndex <= oBinary_HdrFtrTableReader.m_oHeaderFooterWriter.m_aFooters.size())
|
||||
if(nHdrFtrIndex >= 0 && nHdrFtrIndex <= (int)oBinary_HdrFtrTableReader.m_oHeaderFooterWriter.m_aFooters.size())
|
||||
{
|
||||
Writers::HdrFtrItem* pHdrFtrItem = oBinary_HdrFtrTableReader.m_oHeaderFooterWriter.m_aFooters[nHdrFtrIndex];
|
||||
pHdrFtrItem->m_sFilename;
|
||||
@ -1979,7 +1979,7 @@ public:
|
||||
if(true == orowPrAfterBefore.bGridAfter && orowPrAfterBefore.nGridAfter > 0 && false == orowPrAfterBefore.oAfterWidth.bW)
|
||||
{
|
||||
//ищем по tblGrid
|
||||
long nGridLength = m_aCurTblGrid.size();
|
||||
long nGridLength = (long)m_aCurTblGrid.size();
|
||||
if(orowPrAfterBefore.nGridAfter < nGridLength)
|
||||
{
|
||||
double nSumW = 0;
|
||||
@ -2396,14 +2396,14 @@ public:
|
||||
int Read()
|
||||
{
|
||||
int res = ReadTable(&Binary_NumberingTableReader::ReadNumberingContent, this);
|
||||
for(int i = 0, length = m_aDocANums.size(); i < length; ++i)
|
||||
for(size_t i = 0; i < m_aDocANums.size(); ++i)
|
||||
{
|
||||
docANum* pdocANum = m_aDocANums[i];
|
||||
pdocANum->Write(oNumberingWriters.m_oANum);
|
||||
delete m_aDocANums[i];
|
||||
}
|
||||
m_aDocANums.clear();
|
||||
for(int i = 0, length = m_aDocNums.size(); i < length; ++i)
|
||||
for(size_t i = 0; i < m_aDocNums.size(); ++i)
|
||||
{
|
||||
m_aDocNums[i]->Write(oNumberingWriters.m_oNumList);
|
||||
delete m_aDocNums[i];
|
||||
@ -3366,7 +3366,7 @@ public:
|
||||
int res = c_oSerConstants::ReadOk;
|
||||
if ( c_oSer_OMathBottomNodesValType::Val == type )
|
||||
{
|
||||
LONG lVal = Mm_To_Dx(m_oBufferedStream.GetDouble());
|
||||
LONG lVal = (LONG)Mm_To_Dx(m_oBufferedStream.GetDouble());
|
||||
|
||||
m_oFileWriter.m_oSettingWriter.AddSetting(L"<m:interSp m:val=\"" + std::to_wstring(lVal) + L"\"/>");
|
||||
}
|
||||
@ -3398,7 +3398,7 @@ public:
|
||||
int res = c_oSerConstants::ReadOk;
|
||||
if ( c_oSer_OMathBottomNodesValType::Val == type )
|
||||
{
|
||||
LONG lVal = Mm_To_Dx(m_oBufferedStream.GetDouble());
|
||||
LONG lVal = (LONG)Mm_To_Dx(m_oBufferedStream.GetDouble());
|
||||
|
||||
m_oFileWriter.m_oSettingWriter.AddSetting(L"<m:intraSp m:val=\"" + std::to_wstring(lVal) + L"\"/>");
|
||||
}
|
||||
@ -3411,7 +3411,7 @@ public:
|
||||
int res = c_oSerConstants::ReadOk;
|
||||
if ( c_oSer_OMathBottomNodesValType::Val == type )
|
||||
{
|
||||
LONG lVal = Mm_To_Dx(m_oBufferedStream.GetDouble());
|
||||
LONG lVal = (LONG)Mm_To_Dx(m_oBufferedStream.GetDouble());
|
||||
|
||||
m_oFileWriter.m_oSettingWriter.AddSetting(L"<m:lMargin m:val=\"" + std::to_wstring(lVal) + L"\"/>");
|
||||
}
|
||||
@ -3462,7 +3462,7 @@ public:
|
||||
int res = c_oSerConstants::ReadOk;
|
||||
if ( c_oSer_OMathBottomNodesValType::Val == type )
|
||||
{
|
||||
LONG lVal = Mm_To_Dx(m_oBufferedStream.GetDouble());
|
||||
LONG lVal = (LONG)Mm_To_Dx(m_oBufferedStream.GetDouble());
|
||||
|
||||
m_oFileWriter.m_oSettingWriter.AddSetting(L"<m:postSp m:val=\"" + std::to_wstring(lVal) + L"\"/>");
|
||||
}
|
||||
@ -3475,7 +3475,7 @@ public:
|
||||
int res = c_oSerConstants::ReadOk;
|
||||
if ( c_oSer_OMathBottomNodesValType::Val == type )
|
||||
{
|
||||
LONG lVal = Mm_To_Dx(m_oBufferedStream.GetDouble());
|
||||
LONG lVal = (LONG)Mm_To_Dx(m_oBufferedStream.GetDouble());
|
||||
|
||||
m_oFileWriter.m_oSettingWriter.AddSetting(L"<m:preSp m:val=\"" + std::to_wstring(lVal)+ L"\"/>");
|
||||
}
|
||||
@ -3488,7 +3488,7 @@ public:
|
||||
int res = c_oSerConstants::ReadOk;
|
||||
if ( c_oSer_OMathBottomNodesValType::Val == type )
|
||||
{
|
||||
LONG lVal = Mm_To_Dx(m_oBufferedStream.GetDouble());
|
||||
LONG lVal = (LONG)Mm_To_Dx(m_oBufferedStream.GetDouble());
|
||||
|
||||
m_oFileWriter.m_oSettingWriter.AddSetting(L"<m:rMargin m:val=\"" + std::to_wstring(lVal) + L"\"/>");
|
||||
}
|
||||
@ -3518,7 +3518,7 @@ public:
|
||||
int res = c_oSerConstants::ReadOk;
|
||||
if ( c_oSer_OMathBottomNodesValType::Val == type )
|
||||
{
|
||||
LONG lVal = Mm_To_Dx(m_oBufferedStream.GetDouble());
|
||||
LONG lVal = (LONG)Mm_To_Dx(m_oBufferedStream.GetDouble());
|
||||
|
||||
m_oFileWriter.m_oSettingWriter.AddSetting(L"<m:wrapIndent m:val=\"" + std::to_wstring(lVal) + L"\"/>");
|
||||
}
|
||||
@ -6590,7 +6590,7 @@ public:
|
||||
m_oFileWriter.m_pDrawingConverter->SetDstContentRels();
|
||||
|
||||
std::wstring sThemeDir;
|
||||
int nIndex = m_oFileWriter.m_sThemePath.rfind(FILE_SEPARATOR_CHAR);
|
||||
int nIndex = (int)m_oFileWriter.m_sThemePath.rfind(FILE_SEPARATOR_CHAR);
|
||||
if(-1 != nIndex)
|
||||
sThemeDir = m_oFileWriter.m_sThemePath.substr(0, nIndex);
|
||||
|
||||
@ -7129,12 +7129,12 @@ int Binary_HdrFtrTableReader::ReadHdrFtrItem(BYTE type, long length, void* poRes
|
||||
if(nCurType == c_oSerHdrFtrTypes::Header)
|
||||
{
|
||||
m_oHeaderFooterWriter.m_aHeaders.push_back(poHdrFtrItem);
|
||||
poHdrFtrItem->m_sFilename = L"header" + std::to_wstring(m_oHeaderFooterWriter.m_aHeaders.size()) + L".xml";
|
||||
poHdrFtrItem->m_sFilename = L"header" + std::to_wstring((int)m_oHeaderFooterWriter.m_aHeaders.size()) + L".xml";
|
||||
}
|
||||
else
|
||||
{
|
||||
m_oHeaderFooterWriter.m_aFooters.push_back(poHdrFtrItem);
|
||||
poHdrFtrItem->m_sFilename = L"footer" + std::to_wstring(m_oHeaderFooterWriter.m_aFooters.size()) + L".xml";
|
||||
poHdrFtrItem->m_sFilename = L"footer" + std::to_wstring((int)m_oHeaderFooterWriter.m_aFooters.size()) + L".xml";
|
||||
}
|
||||
m_oFileWriter.m_pDrawingConverter->SetDstContentRels();
|
||||
Binary_DocumentTableReader oBinary_DocumentTableReader(m_oBufferedStream, m_oFileWriter, poHdrFtrItem->Header, m_pComments);
|
||||
@ -7371,7 +7371,7 @@ public: BinaryFileReader(std::wstring& sFileInDir, NSBinPptxRW::CBinaryFileReade
|
||||
return res;
|
||||
}
|
||||
|
||||
for(int i = 0, length = aTypes.size(); i < length; ++i)
|
||||
for(size_t i = 0; i < aTypes.size(); ++i)
|
||||
{
|
||||
BYTE mtiType = aTypes[i];
|
||||
long mtiOffBits = aOffBits[i];
|
||||
@ -7437,7 +7437,7 @@ public: BinaryFileReader(std::wstring& sFileInDir, NSBinPptxRW::CBinaryFileReade
|
||||
long rId;
|
||||
m_oFileWriter.m_pDrawingConverter->WriteRels(std::wstring(_T("http://schemas.openxmlformats.org/officeDocument/2006/relationships/endnotes")), std::wstring(_T("endnotes.xml")), std::wstring(), &rId);
|
||||
}
|
||||
for(int i = 0, length = m_oFileWriter.m_oHeaderFooterWriter.m_aHeaders.size(); i < length; ++i)
|
||||
for(size_t i = 0; i < m_oFileWriter.m_oHeaderFooterWriter.m_aHeaders.size(); ++i)
|
||||
{
|
||||
Writers::HdrFtrItem* pHeader = m_oFileWriter.m_oHeaderFooterWriter.m_aHeaders[i];
|
||||
if(false == pHeader->IsEmpty())
|
||||
@ -7447,7 +7447,7 @@ public: BinaryFileReader(std::wstring& sFileInDir, NSBinPptxRW::CBinaryFileReade
|
||||
pHeader->rId = L"rId" + std::to_wstring( rId );
|
||||
}
|
||||
}
|
||||
for(int i = 0, length = m_oFileWriter.m_oHeaderFooterWriter.m_aFooters.size(); i < length; ++i)
|
||||
for(size_t i = 0; i < m_oFileWriter.m_oHeaderFooterWriter.m_aFooters.size(); ++i)
|
||||
{
|
||||
Writers::HdrFtrItem* pFooter = m_oFileWriter.m_oHeaderFooterWriter.m_aFooters[i];
|
||||
if(false == pFooter->IsEmpty())
|
||||
|
||||
@ -61,7 +61,7 @@ namespace BinDocxRW
|
||||
void BinaryHeaderFooterTableWriter::WriteHdrFtrContent(std::vector<OOX::CHdrFtr*>& aHdrFtrs, std::vector<SimpleTypes::EHdrFtr>& aHdrFtrTypes, std::vector<OOX::Logic::CSectionProperty*>& aHdrSectPrs, bool bHdr)
|
||||
{
|
||||
int nCurPos = 0;
|
||||
for(int i = 0, length = aHdrFtrs.size(); i < length; ++i)
|
||||
for(size_t i = 0; i < aHdrFtrs.size(); ++i)
|
||||
{
|
||||
OOX::CHdrFtr* pHdrFtr = aHdrFtrs[i];
|
||||
SimpleTypes::EHdrFtr eType = aHdrFtrTypes[i];
|
||||
|
||||
@ -149,8 +149,8 @@ namespace BinDocxRW
|
||||
switch(border.m_oVal.get().GetValue())
|
||||
{
|
||||
case SimpleTypes::bordervalueNone:
|
||||
case SimpleTypes::bordervalueNil:m_oStream.WriteBYTE(border_None);break;
|
||||
default:m_oStream.WriteBYTE(border_Single);break;
|
||||
case SimpleTypes::bordervalueNil: m_oStream.WriteBYTE(border_None); break;
|
||||
default: m_oStream.WriteBYTE(border_Single); break;
|
||||
}
|
||||
|
||||
}
|
||||
@ -306,8 +306,8 @@ namespace BinDocxRW
|
||||
m_oStream.WriteBYTE(c_oSerPropLenType::Byte);
|
||||
switch(Shd.m_oVal.get().GetValue())
|
||||
{
|
||||
case SimpleTypes::shdNil: m_oStream.WriteBYTE(shd_Nil);break;
|
||||
default: m_oStream.WriteBYTE(shd_Clear);break;
|
||||
case SimpleTypes::shdNil: m_oStream.WriteBYTE(shd_Nil);break;
|
||||
default: m_oStream.WriteBYTE(shd_Clear);break;
|
||||
}
|
||||
}
|
||||
//Value
|
||||
@ -538,7 +538,9 @@ namespace BinDocxRW
|
||||
case SimpleTypes::themeMinorBidi:
|
||||
case SimpleTypes::themeMinorEastAsia:
|
||||
case SimpleTypes::themeMinorHAnsi:sFontAscii = m_poTheme->GetMinorFont();break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if(oFont.m_sAscii.IsInit())
|
||||
sFontAscii = oFont.m_sAscii.get();
|
||||
@ -556,7 +558,9 @@ namespace BinDocxRW
|
||||
case SimpleTypes::themeMinorBidi:
|
||||
case SimpleTypes::themeMinorEastAsia:
|
||||
case SimpleTypes::themeMinorHAnsi:sFontHAnsi = m_poTheme->GetMinorFont();break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if(oFont.m_sHAnsi.IsInit())
|
||||
sFontHAnsi = oFont.m_sHAnsi.get();
|
||||
@ -573,7 +577,8 @@ namespace BinDocxRW
|
||||
case SimpleTypes::themeMinorBidi:
|
||||
case SimpleTypes::themeMinorEastAsia:
|
||||
case SimpleTypes::themeMinorHAnsi:sFontCS = m_poTheme->GetMinorFont();break;
|
||||
}
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
else if(oFont.m_sCs.IsInit())
|
||||
sFontCS = oFont.m_sCs.get();
|
||||
@ -590,7 +595,8 @@ namespace BinDocxRW
|
||||
case SimpleTypes::themeMinorBidi:
|
||||
case SimpleTypes::themeMinorEastAsia:
|
||||
case SimpleTypes::themeMinorHAnsi:sFontAE = m_poTheme->GetMinorFont();break;
|
||||
}
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
else if(oFont.m_sEastAsia.IsInit())
|
||||
sFontAE = oFont.m_sEastAsia.get();
|
||||
@ -774,28 +780,22 @@ namespace BinDocxRW
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerPropLenType::Byte);
|
||||
m_oBcw.m_oStream.WriteBOOL(rPr.m_oVanish->m_oVal.ToBool());
|
||||
}
|
||||
if (false != rPr.m_sTextOutline.IsInit())
|
||||
if (false != rPr.m_oTextOutline.IsInit())
|
||||
{
|
||||
std::wstring sTextOutline = rPr.m_sTextOutline.get2();
|
||||
//делаем replace потому что читать имена node без namespace можем а атрибуты нет, потому что храним их в map
|
||||
XmlUtils::replace_all(sTextOutline, L"w14:", L"");
|
||||
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerProp_rPrType::TextOutline);
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerProp_rPrType::TextOutline);
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerPropLenType::Variable);
|
||||
int nCurPos = m_oBcw.WriteItemWithLengthStart();
|
||||
m_pOfficeDrawingConverter->GetRecordBinary(XMLWRITER_RECORD_TYPE_TEXT_OUTLINE, sTextOutline);
|
||||
|
||||
m_oBcw.m_oStream.WriteRecord2(0, rPr.m_oTextOutline);
|
||||
m_oBcw.WriteItemWithLengthEnd(nCurPos);
|
||||
}
|
||||
if (false != rPr.m_sTextFill.IsInit())
|
||||
if (rPr.m_oTextFill.getType() != OOX::et_Unknown)
|
||||
{
|
||||
std::wstring sTextFill = rPr.m_sTextFill.get2();
|
||||
//делаем replace потому что читать имена node без namespace можем а атрибуты нет, потому что храним их в map
|
||||
XmlUtils::replace_all(sTextFill, L"w14:", L"");
|
||||
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerProp_rPrType::TextFill);
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerPropLenType::Variable);
|
||||
int nCurPos = m_oBcw.WriteItemWithLengthStart();
|
||||
m_pOfficeDrawingConverter->GetRecordBinary(XMLWRITER_RECORD_TYPE_TEXT_FILL, sTextFill);
|
||||
|
||||
m_oBcw.m_oStream.WriteRecord1(0, rPr.m_oTextFill);
|
||||
m_oBcw.WriteItemWithLengthEnd(nCurPos);
|
||||
}
|
||||
if(rPr.m_oDel.IsInit())
|
||||
@ -1394,7 +1394,8 @@ namespace BinDocxRW
|
||||
{
|
||||
case SimpleTypes::pageorientPortrait: Orientation = orientation_Portrait;break;
|
||||
case SimpleTypes::pageorientLandscape: Orientation = orientation_Landscape;break;
|
||||
}
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
}
|
||||
//W
|
||||
@ -3049,6 +3050,8 @@ namespace BinDocxRW
|
||||
OOX::Logic::CBdo* pBdo = static_cast<OOX::Logic::CBdo*>(item);
|
||||
WriteDocumentContent(pBdo->m_arrItems);
|
||||
}break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
//SectPr & Background
|
||||
@ -3236,6 +3239,8 @@ namespace BinDocxRW
|
||||
m_oBcw.WriteItemEnd(nCurPos);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -3268,7 +3273,9 @@ namespace BinDocxRW
|
||||
case OOX::et_w_commentRangeEnd: nCurPos = m_oBcw.WriteItemStart(c_oSerParType::CommentEnd); break;
|
||||
|
||||
case OOX::et_w_commentReference: nCurPos = m_oBcw.WriteItemStart(c_oSerRunType::CommentReference);break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
int nCurPos2 = m_oBcw.WriteItemStart(c_oSer_CommentsType::Id);
|
||||
m_oBcw.m_oStream.WriteLONG(oId->GetValue());
|
||||
@ -3738,6 +3745,8 @@ namespace BinDocxRW
|
||||
m_oBcw.WriteItemEnd(nCurPos);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -4062,6 +4071,8 @@ namespace BinDocxRW
|
||||
m_oBcw.WriteItemEnd(nCurPos);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -4179,7 +4190,9 @@ namespace BinDocxRW
|
||||
m_oBcw.WriteItemEnd(nCurPos);
|
||||
break;
|
||||
}
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
void WriteMathFName(const OOX::Logic::CFName &pFName)
|
||||
@ -4414,7 +4427,9 @@ namespace BinDocxRW
|
||||
m_oBcw.WriteItemEnd(nCurPos);
|
||||
break;
|
||||
}
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
void WriteMathMaxDist(const OOX::Logic::CMaxDist &pMaxDist)
|
||||
@ -5123,7 +5138,9 @@ namespace BinDocxRW
|
||||
case SimpleTypes::brtypeColumn: nBreakType = c_oSerRunType::columnbreak; break;
|
||||
case SimpleTypes::brtypePage: nBreakType = c_oSerRunType::pagebreak; break;
|
||||
case SimpleTypes::brtypeTextWrapping: nBreakType = c_oSerRunType::linebreak; break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
if(-1 != nBreakType)
|
||||
{
|
||||
m_oBcw.m_oStream.WriteBYTE(nBreakType);
|
||||
@ -5159,7 +5176,7 @@ namespace BinDocxRW
|
||||
m_eFldState = SimpleTypes::fldchartypeEnd;
|
||||
if(m_aFldChars.size() > 0)
|
||||
{
|
||||
int nIndex = m_aFldChars.size() - 1;
|
||||
int nIndex = (int)m_aFldChars.size() - 1;
|
||||
FldStruct* pFldStruct = m_aFldChars[nIndex];
|
||||
RELEASEOBJECT(pFldStruct);
|
||||
m_aFldChars.erase(m_aFldChars.begin() + nIndex);
|
||||
@ -5351,6 +5368,8 @@ namespace BinDocxRW
|
||||
m_oBcw.WriteItemEnd(nCurPos);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -6913,7 +6932,9 @@ namespace BinDocxRW
|
||||
m_oBcw.WriteItemEnd(nCurPos);
|
||||
break;
|
||||
}
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
void WriteColorSchemeMapping(const OOX::Settings::CColorSchemeMapping& oColorSchemeMapping)
|
||||
|
||||
@ -61,7 +61,7 @@ bool BinDocxRW::CDocxSerializer::ConvertDocxToDoct(const std::wstring& sSrcFileN
|
||||
|
||||
if(S_OK == oCOfficeUtils.ExtractToDirectory(sSrcFileName, strDirSrc, NULL, 0))
|
||||
if(saveToFile(strEditorBin, strDirSrc, sXMLOptions))
|
||||
if(S_OK == oCOfficeUtils.CompressFileOrDirectory(strDirDst, sDstFileName, -1))
|
||||
if(S_OK == oCOfficeUtils.CompressFileOrDirectory(strDirDst, sDstFileName))
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
@ -88,7 +88,7 @@ bool BinDocxRW::CDocxSerializer::ConvertDoctToDocx(const std::wstring& sSrcFileN
|
||||
|
||||
if(loadFromFile(sEditorBin, strDirDst, sXMLOptions, sThemePath, sMediaPath, sEmbedPath))
|
||||
{
|
||||
if(S_OK == oCOfficeUtils.CompressFileOrDirectory(strDirDst, sDstFileName, -1))
|
||||
if(S_OK == oCOfficeUtils.CompressFileOrDirectory(strDirDst, sDstFileName, true))
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@ -219,7 +219,7 @@ bool BinDocxRW::CDocxSerializer::loadFromFile(const std::wstring& sSrcFileName,
|
||||
//проверяем формат
|
||||
bool bValidFormat = false;
|
||||
std::wstring sSignature(g_sFormatSignature);
|
||||
int nSigLength = sSignature.length();
|
||||
int nSigLength = (int)sSignature.length();
|
||||
if(nBase64DataSize > nSigLength)
|
||||
{
|
||||
std::string sCurSig((char*)pBase64Data, nSigLength);
|
||||
|
||||
@ -275,7 +275,7 @@ namespace BinXlsxRW{
|
||||
oXlsx.Write(oPath, sAdditionalContentTypes);
|
||||
//zip
|
||||
COfficeUtils oOfficeUtils(NULL);
|
||||
oOfficeUtils.CompressFileOrDirectory(sTempDir, sDstFile, -1);
|
||||
oOfficeUtils.CompressFileOrDirectory(sTempDir, sDstFile, true);
|
||||
//clean
|
||||
NSDirectory::DeleteDirectory(sTempDir);
|
||||
}
|
||||
|
||||
@ -34,7 +34,6 @@
|
||||
#include <stdio.h>
|
||||
#include <tchar.h>
|
||||
|
||||
|
||||
#include "../../OfficeUtils/src/OfficeUtils.h"
|
||||
#include "../../DesktopEditor/common/Directory.h"
|
||||
#include "../src/ConvertOO2OOX.h"
|
||||
@ -55,7 +54,7 @@ int _tmain(int argc, _TCHAR* argv[])
|
||||
HRESULT hr = S_OK;
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
std::wstring srcFileName = argv[1];
|
||||
std::wstring dstPath = argc > 2 ? argv[2] : srcFileName + L"-my.docx"; //xlsx pptx
|
||||
std::wstring dstPath = argc > 2 ? argv[2] : srcFileName + L"-my.xlsx"; //xlsx pptx docx
|
||||
|
||||
std::wstring outputDir = NSDirectory::GetFolderPath(dstPath);
|
||||
|
||||
@ -73,7 +72,7 @@ int _tmain(int argc, _TCHAR* argv[])
|
||||
|
||||
if (hr != S_OK) return hr;
|
||||
|
||||
if (S_OK != oCOfficeUtils.CompressFileOrDirectory(dstTempPath.c_str(), dstPath.c_str(), -1))
|
||||
if (S_OK != oCOfficeUtils.CompressFileOrDirectory(dstTempPath.c_str(), dstPath.c_str(), true))
|
||||
return hr;
|
||||
|
||||
NSDirectory::DeleteDirectory(dstTempPath);
|
||||
|
||||
@ -64,6 +64,8 @@
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="gdi32.lib Rpcrt4.lib"
|
||||
ShowProgress="0"
|
||||
Version=""
|
||||
LinkIncremental="2"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="1"
|
||||
|
||||
@ -34,18 +34,15 @@
|
||||
#include <boost/optional/optional_io.hpp>
|
||||
#include <boost/optional.hpp>
|
||||
|
||||
namespace cpdoccore
|
||||
/// внешнее объявление для Optional, используем boost::optional
|
||||
|
||||
template <class T>
|
||||
struct optional
|
||||
{
|
||||
/// внешнее объявление для Optional, используем boost::optional
|
||||
|
||||
template <class T>
|
||||
struct optional
|
||||
{
|
||||
typedef T Base;
|
||||
typedef boost::optional<T> Type;
|
||||
};
|
||||
typedef T Base;
|
||||
typedef boost::optional<T> Type;
|
||||
};
|
||||
|
||||
|
||||
#define _CP_OPT(V) optional<V>::Type
|
||||
#define _CP_OPT(V) optional<V>::Type
|
||||
|
||||
}
|
||||
|
||||
@ -24,7 +24,8 @@ DEFINES += UNICODE \
|
||||
_USE_LIBXML2_READER_ \
|
||||
_USE_XMLLITE_READER_ \
|
||||
USE_LITE_READER \
|
||||
LIBXML_READER_ENABLED
|
||||
LIBXML_READER_ENABLED \
|
||||
DONT_WRITE_EMBEDDED_FONTS
|
||||
|
||||
INCLUDEPATH += ../include
|
||||
INCLUDEPATH += ../../DesktopEditor/freetype-2.5.2/include
|
||||
|
||||
@ -569,7 +569,8 @@ mc:Ignorable=\"w14 wp14\">";
|
||||
|
||||
strm << L"<w:abstractNum w:abstractNumId=\"" << abstractNumId << "\">";
|
||||
numIds.push_back(abstractNumId);
|
||||
for (int i = 0; i < (std::min)( content.size(), (size_t)9); i++)
|
||||
|
||||
for (size_t i = 0; i < (std::min)( content.size(), (size_t)9); i++)
|
||||
{
|
||||
start_text_list_style(inst->get_text_list_style()->get_style_name());
|
||||
content[i]->docx_convert(*this);
|
||||
@ -1296,7 +1297,7 @@ void docx_conversion_context::start_text_changes (std::wstring id)
|
||||
|
||||
if (state.type == 2)
|
||||
{
|
||||
for (int i = 0 ; i < state.content.size(); i++)
|
||||
for (size_t i = 0 ; i < state.content.size(); i++)
|
||||
{
|
||||
output_stream() << L"<w:del" << format_change << L" w:id=\"" << boost::lexical_cast<std::wstring>(current_id_changes++) << L"\">";
|
||||
|
||||
|
||||
@ -47,12 +47,12 @@ docx_content_types_file::docx_content_types_file()
|
||||
content()->add_default(L"jpg", L"image/jpeg");
|
||||
content()->add_default(L"png", L"image/png");
|
||||
//
|
||||
content()->add_override(L"/_rels/.rels", L"application/vnd.openxmlformats-package.relationships+xml");
|
||||
content()->add_override(L"/word/_rels/document.xml.rels", L"application/vnd.openxmlformats-package.relationships+xml");
|
||||
content()->add_override(L"/word/document.xml", L"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml");
|
||||
content()->add_override(L"/word/settings.xml", L"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml");
|
||||
content()->add_override(L"/word/styles.xml", L"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml");
|
||||
content()->add_override(L"/word/fontTable.xml", L"application/vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml");
|
||||
//content()->add_override(L"/word/_rels/document.xml.rels", L"application/vnd.openxmlformats-package.relationships+xml");
|
||||
//content()->add_override(L"/_rels/.rels", L"application/vnd.openxmlformats-package.relationships+xml");
|
||||
content()->add_override(L"/docProps/app.xml", L"application/vnd.openxmlformats-officedocument.extended-properties+xml");
|
||||
content()->add_override(L"/docProps/core.xml", L"application/vnd.openxmlformats-package.core-properties+xml");
|
||||
}
|
||||
|
||||
@ -139,7 +139,7 @@ void oox_chart_series::setValues(int ind, std::vector<std::wstring> & values)
|
||||
if (ind == 0) values_[ind].strRef_.present = true;
|
||||
else values_[ind].numRef_.present = true;
|
||||
|
||||
for (int i = 0; i < values.size(); i++)
|
||||
for (size_t i = 0; i < values.size(); i++)
|
||||
{
|
||||
boost::algorithm::trim(values[i]);
|
||||
if (ind == 0)
|
||||
@ -240,7 +240,7 @@ void oox_chart_series::oox_serialize_common(std::wostream & _Wostream)
|
||||
{
|
||||
CP_XML_ATTR(L"val", values_[i].numRef_.num_cache_count);
|
||||
}
|
||||
for (int j = 0; j < values_[i].numRef_.num_cache.size(); j++)
|
||||
for (size_t j = 0; j < values_[i].numRef_.num_cache.size(); j++)
|
||||
{
|
||||
std::wstring & v = values_[i].numRef_.num_cache[j];
|
||||
|
||||
@ -275,7 +275,7 @@ void oox_chart_series::oox_serialize_common(std::wostream & _Wostream)
|
||||
CP_XML_ATTR(L"val", values_[i].numRef_.num_cache_count);
|
||||
}
|
||||
|
||||
for (int j = 0; j < values_[i].numRef_.num_cache.size(); j++)
|
||||
for (size_t j = 0; j < values_[i].numRef_.num_cache.size(); j++)
|
||||
{
|
||||
std::wstring & v = values_[i].numRef_.num_cache[j];
|
||||
|
||||
@ -312,7 +312,7 @@ void oox_chart_series::oox_serialize_common(std::wostream & _Wostream)
|
||||
{
|
||||
CP_XML_ATTR(L"val", values_[i].strRef_.str_cache_count);
|
||||
}
|
||||
for (int j = 0; j < values_[i].strRef_.str_cache.size(); j++)
|
||||
for (size_t j = 0; j < values_[i].strRef_.str_cache.size(); j++)
|
||||
{
|
||||
std::wstring & v = values_[i].strRef_.str_cache[j];
|
||||
|
||||
@ -336,7 +336,7 @@ void oox_chart_series::oox_serialize_common(std::wostream & _Wostream)
|
||||
{
|
||||
CP_XML_ATTR(L"val", values_[i].strRef_.str_cache_count);
|
||||
}
|
||||
for (int j = 0; j < values_[i].strRef_.str_cache.size(); j++)
|
||||
for (size_t j = 0; j < values_[i].strRef_.str_cache.size(); j++)
|
||||
{
|
||||
std::wstring & v = values_[i].strRef_.str_cache[j];
|
||||
CP_XML_NODE(L"c:pt")
|
||||
@ -405,7 +405,7 @@ void oox_chart_series::oox_serialize_common(std::wostream & _Wostream)
|
||||
}
|
||||
|
||||
bool bEmpty_dPt = true;
|
||||
for (int i = 0 ; i < content_.points_.size(); i++)
|
||||
for (size_t i = 0 ; i < content_.points_.size(); i++)
|
||||
{
|
||||
if (content_.points_[i].bEnabled)
|
||||
{
|
||||
@ -415,9 +415,9 @@ void oox_chart_series::oox_serialize_common(std::wostream & _Wostream)
|
||||
}
|
||||
|
||||
int indPoint = 0;
|
||||
for (int i = 0 ; !bEmpty_dPt && i < content_.points_.size(); i++)
|
||||
for (size_t i = 0 ; !bEmpty_dPt && i < content_.points_.size(); i++)
|
||||
{
|
||||
for (int j = 0 ; j < content_.points_[i].repeated_; j++)
|
||||
for (size_t j = 0 ; j < content_.points_[i].repeated_; j++)
|
||||
{
|
||||
CP_XML_NODE(L"c:dPt")
|
||||
{
|
||||
|
||||
@ -35,9 +35,49 @@
|
||||
#include "oox_drawing.h"
|
||||
#include <cpdoccore/xml/simple_xml_writer.h>
|
||||
|
||||
#include "../odf/svg_parser.h"
|
||||
#include "../odf/datatypes/custom_shape_types_convert.h"
|
||||
|
||||
using namespace cpdoccore;
|
||||
|
||||
namespace svg_path
|
||||
{
|
||||
void oox_serialize(std::wostream & strm, std::vector<_polyline> & path)
|
||||
{
|
||||
CP_XML_WRITER(strm)
|
||||
{
|
||||
for (size_t i = 0; i < path.size(); i++)
|
||||
{
|
||||
oox_serialize(strm, path[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
void oox_serialize(std::wostream & strm, _polyline & val)
|
||||
{
|
||||
CP_XML_WRITER(strm)
|
||||
{
|
||||
CP_XML_NODE(val.command)
|
||||
{
|
||||
for (size_t i = 0; i < val.points.size(); i++)
|
||||
{
|
||||
oox_serialize(CP_XML_STREAM(), val.points[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
void oox_serialize(std::wostream & strm, _point & val)
|
||||
{
|
||||
CP_XML_WRITER(strm)
|
||||
{
|
||||
CP_XML_NODE(L"a:pt")
|
||||
{
|
||||
if (val.x)CP_XML_ATTR(L"x", (int)(val.x.get()));
|
||||
if (val.y)CP_XML_ATTR(L"y", (int)(val.y.get()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
namespace cpdoccore {
|
||||
|
||||
static const std::wstring _ooxShapeType[]=
|
||||
@ -53,41 +93,6 @@ static const std::wstring _ooxShapeType[]=
|
||||
L"polygon",
|
||||
};
|
||||
|
||||
void svg_path::oox_serialize(std::wostream & strm, std::vector<svg_path::_polyline> & path)
|
||||
{
|
||||
CP_XML_WRITER(strm)
|
||||
{
|
||||
BOOST_FOREACH(svg_path::_polyline & p, path)
|
||||
{
|
||||
oox_serialize(strm, p);
|
||||
}
|
||||
}
|
||||
}
|
||||
void svg_path::oox_serialize(std::wostream & strm, svg_path::_polyline const & val)
|
||||
{
|
||||
CP_XML_WRITER(strm)
|
||||
{
|
||||
CP_XML_NODE(val.command)
|
||||
{
|
||||
BOOST_FOREACH(svg_path::_point const & p, val.points)
|
||||
{
|
||||
oox_serialize(CP_XML_STREAM(), p);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void svg_path::oox_serialize(std::wostream & strm, svg_path::_point const & val)
|
||||
{
|
||||
CP_XML_WRITER(strm)
|
||||
{
|
||||
CP_XML_NODE(L"a:pt")
|
||||
{
|
||||
if (val.x)CP_XML_ATTR(L"x", (int)(val.x.get()));
|
||||
if (val.y)CP_XML_ATTR(L"y", (int)(val.y.get()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
namespace oox {
|
||||
|
||||
|
||||
@ -40,6 +40,8 @@
|
||||
#include "mediaitems.h"
|
||||
#include "oox_drawing_fills.h"
|
||||
|
||||
#include "../odf/svg_parser.h"
|
||||
|
||||
#include "../../../Common/DocxFormat/Source/Base/Types_32.h"
|
||||
|
||||
namespace cpdoccore {
|
||||
@ -83,13 +85,19 @@ namespace oox {
|
||||
void serialize_shape (std::wostream & strm);
|
||||
void serialize_xfrm (std::wostream & strm, const std::wstring & namespace_ = L"a", bool always_position = false);
|
||||
void serialize_bodyPr (std::wostream & strm, const std::wstring & namespace_ = L"a");
|
||||
};
|
||||
|
||||
};
|
||||
typedef _CP_PTR(_oox_drawing) oox_drawing_ptr;
|
||||
|
||||
void oox_serialize_ln (std::wostream & strm, const std::vector<odf_reader::_property> & val, bool always_draw = false);
|
||||
void oox_serialize_aLst (std::wostream & strm, const std::vector<odf_reader::_property> & val);
|
||||
void oox_serialize_hlink (std::wostream & strm, const std::vector<_hlink_desc> & val);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
namespace svg_path
|
||||
{
|
||||
void oox_serialize (std::wostream & strm, _point & val);
|
||||
void oox_serialize (std::wostream & strm, _polyline & val);
|
||||
void oox_serialize (std::wostream & strm, std::vector<_polyline> & path);
|
||||
}
|
||||
@ -99,7 +99,7 @@ void pptx_conversion_context::process_layouts()
|
||||
get_text_context().set_process_layouts(true);
|
||||
|
||||
//актуальные
|
||||
for (int layout_index =0; layout_index < layouts.content.size(); layout_index++)
|
||||
for (size_t layout_index =0; layout_index < layouts.content.size(); layout_index++)
|
||||
{
|
||||
start_layout(layout_index);
|
||||
|
||||
@ -116,7 +116,7 @@ void pptx_conversion_context::process_layouts()
|
||||
|
||||
if (master)
|
||||
{
|
||||
for (int i = 0; i < master->content_.size(); i++)
|
||||
for (size_t i = 0; i < master->content_.size(); i++)
|
||||
{
|
||||
odf_reader::office_element_ptr elm = master->content_[i];
|
||||
if (elm->get_type() == odf_reader::typeDrawFrame)
|
||||
@ -152,7 +152,7 @@ void pptx_conversion_context::process_master_pages()
|
||||
get_text_context().set_process_layouts(true);
|
||||
|
||||
//берем только актуальные
|
||||
for (int master_index =0; master_index < masters.content.size();master_index++)
|
||||
for (size_t master_index =0; master_index < masters.content.size();master_index++)
|
||||
{
|
||||
start_master(master_index);
|
||||
|
||||
@ -210,7 +210,7 @@ void pptx_conversion_context::end_document()
|
||||
{
|
||||
unsigned int count = 1;
|
||||
|
||||
for (int i = 0; i < slideMasters_.size(); i++)
|
||||
for (size_t i = 0; i < slideMasters_.size(); i++)
|
||||
{
|
||||
pptx_xml_slideMaster_ptr& slideM = slideMasters_[i];
|
||||
|
||||
@ -233,7 +233,7 @@ void pptx_conversion_context::end_document()
|
||||
}
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
count=0;
|
||||
for (int i = 0; i < slides_.size(); i++)
|
||||
for (size_t i = 0; i < slides_.size(); i++)
|
||||
{
|
||||
pptx_xml_slide_ptr& slide = slides_[i];
|
||||
|
||||
@ -255,7 +255,7 @@ void pptx_conversion_context::end_document()
|
||||
count++;
|
||||
}
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
for (int i = 0; i < slideLayouts_.size(); i++)
|
||||
for (size_t i = 0; i < slideLayouts_.size(); i++)
|
||||
{
|
||||
pptx_xml_slideLayout_ptr& slideL = slideLayouts_[i];
|
||||
|
||||
@ -287,7 +287,7 @@ void pptx_conversion_context::end_document()
|
||||
//добавляем диаграммы
|
||||
|
||||
count = 0;
|
||||
for (int i = 0; i < charts_.size(); i++)
|
||||
for (size_t i = 0; i < charts_.size(); i++)
|
||||
{
|
||||
count++;
|
||||
package::chart_content_ptr content = package::chart_content::create();
|
||||
@ -300,7 +300,7 @@ void pptx_conversion_context::end_document()
|
||||
}
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//добавляем темы
|
||||
for (int i=0; i < themes_.size();i++)
|
||||
for (size_t i=0; i < themes_.size(); i++)
|
||||
{
|
||||
output_document_->get_ppt_files().add_theme(themes_[i]);
|
||||
|
||||
@ -500,7 +500,7 @@ bool pptx_conversion_context::start_master(int master_index)
|
||||
process_theme(masters.content[master_index].master_name);//add default theme - одинаковые но под разными именами
|
||||
current_master().add_theme(current_theme().id(), L"tId1");
|
||||
|
||||
for (long i=0;i<masters.content[master_index].layouts.size();i++)
|
||||
for (size_t i = 0; i < masters.content[master_index].layouts.size(); i++)
|
||||
{
|
||||
current_master().add_layout(masters.content[master_index].layouts[i].Id, masters.content[master_index].layouts[i].rId, 0x80000000 + last_uniq_big_id++);
|
||||
}
|
||||
|
||||
@ -207,7 +207,7 @@ void xlsx_drawing_context::end_group()
|
||||
group_rect.cy -= group_rect.y;
|
||||
group_rect.cx -= group_rect.x;
|
||||
|
||||
for (int i = 0; i < impl_->groups_.back()->child_objects_.size(); i++)
|
||||
for (size_t i = 0; i < impl_->groups_.back()->child_objects_.size(); i++)
|
||||
{
|
||||
_rect & r = impl_->groups_.back()->child_objects_[i].svg_rect_.get();
|
||||
|
||||
@ -615,7 +615,7 @@ void xlsx_drawing_context::process_objects(xlsx_table_metrics & table_metrics)
|
||||
}
|
||||
void xlsx_drawing_context::process_objects(std::vector<drawing_object_description> objects, xlsx_table_metrics & table_metrics, xlsx_drawings_ptr xlsx_drawings_)
|
||||
{
|
||||
for (int i = 0 ; i < objects.size(); i++)
|
||||
for (size_t i = 0 ; i < objects.size(); i++)
|
||||
{
|
||||
drawing_object_description & obj = objects[i];
|
||||
|
||||
|
||||
@ -75,7 +75,7 @@ void xlsx_data_range::serialize_sort (std::wostream & _Wostream)
|
||||
if (!byRow)
|
||||
CP_XML_ATTR(L"columnSort", true);
|
||||
|
||||
for (int i = 0 ; i < bySort.size(); i++)
|
||||
for (size_t i = 0 ; i < bySort.size(); i++)
|
||||
{
|
||||
bool in_range = true;
|
||||
std::wstring ref1, ref2;
|
||||
|
||||
@ -134,7 +134,7 @@ void xlsx_conversion_context::end_document()
|
||||
{
|
||||
std::wstringstream workbook_content;
|
||||
|
||||
for (int i = 0; i < sheets_.size(); i++)
|
||||
for (size_t i = 0; i < sheets_.size(); i++)
|
||||
{
|
||||
xlsx_xml_worksheet_ptr& sheet = sheets_[i];
|
||||
|
||||
@ -191,7 +191,7 @@ void xlsx_conversion_context::end_document()
|
||||
}
|
||||
//добавляем диаграммы
|
||||
|
||||
for (int i = 0; i < charts_.size(); i++)
|
||||
for (size_t i = 0; i < charts_.size(); i++)
|
||||
{
|
||||
package::chart_content_ptr content = package::chart_content::create();
|
||||
|
||||
@ -271,7 +271,7 @@ void xlsx_conversion_context::serialize_bookViews(std::wostream & strm)
|
||||
{
|
||||
if (sActiveTable)
|
||||
{
|
||||
for (int i = 0; i < sheets_.size(); i++)
|
||||
for (size_t i = 0; i < sheets_.size(); i++)
|
||||
{
|
||||
if (sheets_[i]->name() == *sActiveTable)
|
||||
{
|
||||
|
||||
@ -44,7 +44,7 @@ const wchar_t * abstract_xml::name = L"abstract-xml";
|
||||
|
||||
std::wostream & abstract_xml::text_to_stream(std::wostream & _Wostream) const
|
||||
{
|
||||
for (int i = 0; i < xml_content_.size(); i++)
|
||||
for (size_t i = 0; i < xml_content_.size(); i++)
|
||||
{
|
||||
xml_content_[i]->text_to_stream(_Wostream);
|
||||
}
|
||||
@ -53,7 +53,7 @@ std::wostream & abstract_xml::text_to_stream(std::wostream & _Wostream) const
|
||||
|
||||
std::wostream & abstract_xml::xml_to_stream(std::wostream & _Wostream) const
|
||||
{
|
||||
for (int i = 0; i < xml_content_.size(); i++)
|
||||
for (size_t i = 0; i < xml_content_.size(); i++)
|
||||
{
|
||||
xml_content_[i]->xml_to_stream(_Wostream);
|
||||
}
|
||||
|
||||
@ -91,7 +91,7 @@ void calcext_conditional_formats::add_child_element( xml::sax * Reader, const st
|
||||
}
|
||||
void calcext_conditional_formats::xlsx_convert(oox::xlsx_conversion_context & Context)
|
||||
{
|
||||
for (int i = 0 ; i < content_.size(); i++)
|
||||
for (size_t i = 0 ; i < content_.size(); i++)
|
||||
{
|
||||
content_[i]->xlsx_convert(Context);
|
||||
}
|
||||
@ -116,7 +116,7 @@ void calcext_conditional_format::xlsx_convert(oox::xlsx_conversion_context & Con
|
||||
|
||||
Context.start_conditional_format(*calcext_target_range_address_);
|
||||
|
||||
for (int i = 0 ; i < content_.size(); i++)
|
||||
for (size_t i = 0 ; i < content_.size(); i++)
|
||||
{
|
||||
content_[i]->xlsx_convert(Context);
|
||||
}
|
||||
@ -149,7 +149,7 @@ void calcext_data_bar::xlsx_convert(oox::xlsx_conversion_context & Context)
|
||||
|
||||
Context.set_conditional_format_dataBar(calcext_data_bar_attr_.calcext_min_length_, calcext_data_bar_attr_.calcext_max_length_);
|
||||
|
||||
for (int i = 0 ; i < content_.size(); i++)
|
||||
for (size_t i = 0 ; i < content_.size(); i++)
|
||||
{
|
||||
content_[i]->xlsx_convert(Context);
|
||||
}
|
||||
@ -170,7 +170,7 @@ void calcext_color_scale::add_child_element( xml::sax * Reader, const std::wstri
|
||||
void calcext_color_scale::xlsx_convert(oox::xlsx_conversion_context & Context)
|
||||
{
|
||||
Context.start_conditional_format_rule(3);
|
||||
for (int i = 0 ; i < content_.size(); i++)
|
||||
for (size_t i = 0 ; i < content_.size(); i++)
|
||||
{
|
||||
content_[i]->xlsx_convert(Context);
|
||||
}
|
||||
@ -196,7 +196,7 @@ void calcext_icon_set::xlsx_convert(oox::xlsx_conversion_context & Context)
|
||||
if (calcext_show_value_)
|
||||
Context.set_conditional_format_showval(*calcext_show_value_);
|
||||
|
||||
for (int i = 0 ; i < content_.size(); i++)
|
||||
for (size_t i = 0 ; i < content_.size(); i++)
|
||||
{
|
||||
content_[i]->xlsx_convert(Context);
|
||||
}
|
||||
|
||||
@ -666,7 +666,7 @@ void xlsx_convert_transforms(std::wstring transformStr, oox::xlsx_conversion_con
|
||||
|
||||
boost::algorithm::split(transforms,transformStr, boost::algorithm::is_any_of(L")"), boost::algorithm::token_compress_on);
|
||||
|
||||
for (int i = 0; i < transforms.size(); i++)
|
||||
for (size_t i = 0; i < transforms.size(); i++)
|
||||
{
|
||||
std::vector<std::wstring> transform;
|
||||
boost::algorithm::split(transform, transforms[i], boost::algorithm::is_any_of(L"("), boost::algorithm::token_compress_on);
|
||||
|
||||
@ -381,7 +381,7 @@ std::wstring draw_object::office_convert(odf_document * odfDocument, int type)
|
||||
std::wstring temp_file = folderPath + FILE_SEPARATOR_STR + href_result;
|
||||
|
||||
COfficeUtils oCOfficeUtils(NULL);
|
||||
oCOfficeUtils.CompressFileOrDirectory(objectOutPath.c_str(), temp_file.c_str(), -1);
|
||||
oCOfficeUtils.CompressFileOrDirectory(objectOutPath.c_str(), temp_file.c_str(), true);
|
||||
}
|
||||
NSDirectory::DeleteDirectory(objectOutPath);
|
||||
|
||||
|
||||
@ -592,7 +592,7 @@ int ComputeMarginY(const style_page_layout_properties_attlist & pageProperties,
|
||||
_CP_OPT(vertical_pos) styleVerticallPos = graphicProperties.common_vertical_pos_attlist_.style_vertical_pos_;
|
||||
|
||||
_CP_OPT(double) dVal;
|
||||
if (GetProperty(additional, L"svg:translate_y", dVal));
|
||||
GetProperty(additional, L"svg:translate_y", dVal);
|
||||
|
||||
const _CP_OPT(length) translation = length(dVal ? *dVal : 0, length::pt);
|
||||
const _CP_OPT(length) pageHeight = pageProperties.fo_page_height_;
|
||||
@ -1111,7 +1111,7 @@ void draw_image::docx_convert(oox::docx_conversion_context & Context)
|
||||
Context.set_run_state (false);
|
||||
Context.set_paragraph_state (false);
|
||||
|
||||
for (int i = 0; i < content_.size(); i++)
|
||||
for (size_t i = 0; i < content_.size(); i++)
|
||||
{
|
||||
content_[i]->docx_convert(Context);
|
||||
}
|
||||
@ -1393,7 +1393,7 @@ void draw_frame::docx_convert(oox::docx_conversion_context & Context)
|
||||
|
||||
common_draw_docx_convert(Context, common_draw_attlists_, drawing);
|
||||
|
||||
for (int i = 0 ; i < content_.size(); i++)
|
||||
for (size_t i = 0 ; i < content_.size(); i++)
|
||||
{
|
||||
content_[i]->docx_convert(Context);
|
||||
}
|
||||
|
||||
@ -199,7 +199,7 @@ void draw_frame::pptx_convert(oox::pptx_conversion_context & Context)
|
||||
////////////////////////////////////////////////
|
||||
oox_drawing_ = oox_drawing_ptr(new oox::_pptx_drawing());
|
||||
|
||||
for (int i = 0; i < content_.size(); i++)
|
||||
for (size_t i = 0; i < content_.size(); i++)
|
||||
{
|
||||
content_[i]->pptx_convert(Context);
|
||||
}
|
||||
@ -217,7 +217,7 @@ void draw_image::pptx_convert(oox::pptx_conversion_context & Context)
|
||||
////////////////////////////////////в принципе достаточно общая часть ...
|
||||
Context.get_text_context().start_object();
|
||||
|
||||
for (int i = 0; i < content_.size(); i++)
|
||||
for (size_t i = 0; i < content_.size(); i++)
|
||||
{
|
||||
content_[i]->pptx_convert(Context);
|
||||
}
|
||||
@ -233,7 +233,7 @@ void draw_chart::pptx_convert(oox::pptx_conversion_context & Context)
|
||||
const std::wstring href = common_xlink_attlist_.href_.get_value_or(L"");
|
||||
Context.get_slide_context().set_chart(href);
|
||||
|
||||
for (int i = 0; i < content_.size(); i++)
|
||||
for (size_t i = 0; i < content_.size(); i++)
|
||||
{
|
||||
content_[i]->pptx_convert(Context);
|
||||
}
|
||||
@ -244,7 +244,7 @@ void draw_text_box::pptx_convert(oox::pptx_conversion_context & Context)
|
||||
Context.get_slide_context().set_text_box(); //rect с наваротами
|
||||
Context.get_text_context().start_object();
|
||||
|
||||
for (int i = 0; i < content_.size(); i++)
|
||||
for (size_t i = 0; i < content_.size(); i++)
|
||||
{
|
||||
content_[i]->pptx_convert(Context);
|
||||
}
|
||||
|
||||
@ -104,7 +104,7 @@ void draw_g::xlsx_convert(oox::xlsx_conversion_context & Context)
|
||||
}
|
||||
////////////////////////////////////////////////
|
||||
|
||||
for (int i = 0; i < content_.size(); i++)
|
||||
for (size_t i = 0; i < content_.size(); i++)
|
||||
{
|
||||
office_element_ptr const & elm = content_[i];
|
||||
elm->xlsx_convert(Context);
|
||||
@ -196,7 +196,7 @@ void draw_frame::xlsx_convert(oox::xlsx_conversion_context & Context)
|
||||
oox_drawing_ = oox_drawing_ptr(new oox::_xlsx_drawing());
|
||||
|
||||
////////////////////////////////////////////////
|
||||
for (int i = 0 ; i < content_.size(); i++)
|
||||
for (size_t i = 0 ; i < content_.size(); i++)
|
||||
{
|
||||
office_element_ptr const & elm = content_[i];
|
||||
elm->xlsx_convert(Context);
|
||||
@ -215,7 +215,7 @@ void draw_image::xlsx_convert(oox::xlsx_conversion_context & Context)
|
||||
////////////////////////////////////в принципе достаточно общая часть ...
|
||||
Context.get_text_context().start_drawing_content();//... если в объекте есть текст он привяжется к объекту - иначе к ячейке
|
||||
|
||||
for (int i = 0 ; i < content_.size(); i++)
|
||||
for (size_t i = 0 ; i < content_.size(); i++)
|
||||
{
|
||||
content_[i]->xlsx_convert(Context);
|
||||
}
|
||||
@ -232,7 +232,7 @@ void draw_chart::xlsx_convert(oox::xlsx_conversion_context & Context)
|
||||
const std::wstring href = common_xlink_attlist_.href_.get_value_or(L"");
|
||||
Context.get_drawing_context().set_chart(href);
|
||||
|
||||
for (int i = 0 ; i < content_.size(); i++)
|
||||
for (size_t i = 0 ; i < content_.size(); i++)
|
||||
{
|
||||
content_[i]->xlsx_convert(Context);
|
||||
}
|
||||
@ -243,7 +243,7 @@ void draw_text_box::xlsx_convert(oox::xlsx_conversion_context & Context)
|
||||
|
||||
Context.get_text_context().start_drawing_content();
|
||||
|
||||
for (int i = 0 ; i < content_.size(); i++)
|
||||
for (size_t i = 0 ; i < content_.size(); i++)
|
||||
{
|
||||
content_[i]->xlsx_convert(Context);
|
||||
}
|
||||
|
||||
@ -47,11 +47,12 @@
|
||||
#include "serialize_elements.h"
|
||||
#include "style_graphic_properties.h"
|
||||
|
||||
#include "odfcontext.h"
|
||||
|
||||
#include "datatypes/length.h"
|
||||
#include "datatypes/borderstyle.h"
|
||||
|
||||
#include "odfcontext.h"
|
||||
#include "../odf/svg_parser.h"
|
||||
#include "../docx/oox_drawing.h"
|
||||
|
||||
namespace cpdoccore {
|
||||
|
||||
@ -235,14 +236,16 @@ void draw_path::reset_svg_path()
|
||||
}
|
||||
else
|
||||
{
|
||||
std::vector<svg_path::_polyline> o_Polyline_pt;
|
||||
std::vector<svg_path::_polyline> o_Polyline_cm;
|
||||
std::vector<::svg_path::_polyline> o_Polyline_pt;
|
||||
std::vector<::svg_path::_polyline> o_Polyline_cm;
|
||||
|
||||
bool res = svg_path::parseSvgD(o_Polyline_cm,draw_path_attlist_.svg_d_.get(),false);
|
||||
bool res = ::svg_path::parseSvgD(o_Polyline_cm, draw_path_attlist_.svg_d_.get(), false);
|
||||
|
||||
BOOST_FOREACH(svg_path::_polyline & poly, o_Polyline_cm)
|
||||
for (size_t i = 0; i < o_Polyline_cm.size(); i++)
|
||||
{
|
||||
for (long i=0;i<poly.points.size();i++)
|
||||
::svg_path::_polyline & poly = o_Polyline_cm[i];
|
||||
|
||||
for (size_t i = 0; i < poly.points.size(); i++)
|
||||
{
|
||||
if (poly.points[i].x)
|
||||
{
|
||||
@ -259,7 +262,7 @@ void draw_path::reset_svg_path()
|
||||
{
|
||||
//сформируем xml-oox сдесь ... а то придется плодить массивы в drawing .. хоть и не красиво..
|
||||
std::wstringstream output_;
|
||||
svg_path::oox_serialize(output_, o_Polyline_pt);
|
||||
::svg_path::oox_serialize(output_, o_Polyline_pt);
|
||||
additional_.push_back(odf_reader::_property(L"custom_path",output_.str()));
|
||||
}
|
||||
}
|
||||
@ -295,14 +298,16 @@ void draw_polygon::reset_polygon_path()
|
||||
}
|
||||
else
|
||||
{
|
||||
std::vector<svg_path::_polyline> o_Polyline_pt;
|
||||
std::vector<svg_path::_polyline> o_Polyline_cm;
|
||||
std::vector<::svg_path::_polyline> o_Polyline_pt;
|
||||
std::vector<::svg_path::_polyline> o_Polyline_cm;
|
||||
|
||||
bool res = svg_path::parsePolygon(o_Polyline_cm,draw_polygon_attlist_.draw_points_.get(),false, true);
|
||||
bool res = ::svg_path::parsePolygon(o_Polyline_cm, draw_polygon_attlist_.draw_points_.get(),false, true);
|
||||
|
||||
BOOST_FOREACH(svg_path::_polyline & poly, o_Polyline_cm)
|
||||
for (size_t ind = 0 ; ind < o_Polyline_cm.size(); ind++)
|
||||
{
|
||||
for (long i=0;i<poly.points.size();i++)
|
||||
::svg_path::_polyline & poly = o_Polyline_cm[ind];
|
||||
|
||||
for (size_t i = 0; i < poly.points.size(); i++)
|
||||
{
|
||||
if (poly.points[i].x)
|
||||
{
|
||||
@ -319,7 +324,7 @@ void draw_polygon::reset_polygon_path()
|
||||
{
|
||||
//сформируем xml-oox сдесь ... а то придется плодить массивы в drawing .. хоть и не красиво..
|
||||
std::wstringstream output_;
|
||||
svg_path::oox_serialize(output_, o_Polyline_pt);
|
||||
::svg_path::oox_serialize(output_, o_Polyline_pt);
|
||||
additional_.push_back(odf_reader::_property(L"custom_path",output_.str()));
|
||||
}
|
||||
}
|
||||
@ -351,28 +356,30 @@ void draw_polyline::reset_polyline_path()
|
||||
}
|
||||
else
|
||||
{
|
||||
std::vector<svg_path::_polyline> o_Polyline_pt;
|
||||
std::vector<svg_path::_polyline> o_Polyline_cm;
|
||||
std::vector<::svg_path::_polyline> o_Polyline_pt;
|
||||
std::vector<::svg_path::_polyline> o_Polyline_cm;
|
||||
|
||||
bool res = svg_path::parsePolygon(o_Polyline_cm, draw_polyline_attlist_.draw_points_.get(), false, true);
|
||||
bool res = ::svg_path::parsePolygon(o_Polyline_cm, draw_polyline_attlist_.draw_points_.get(), false, true);
|
||||
|
||||
_CP_OPT(double) start_x, start_y;
|
||||
|
||||
BOOST_FOREACH(svg_path::_polyline & poly, o_Polyline_cm)
|
||||
for (size_t ind = 0 ; ind < o_Polyline_cm.size(); ind++)
|
||||
{
|
||||
for (long i=0;i<poly.points.size();i++)
|
||||
::svg_path::_polyline & poly = o_Polyline_cm[ind];
|
||||
|
||||
for (size_t i = 0; i < poly.points.size(); i++)
|
||||
{
|
||||
if (poly.points[i].x)
|
||||
{
|
||||
if (!start_x)//вообщето это не верно .. но из за разных точек осей поворота фигура может "улететь"
|
||||
start_x = length(poly.points[i].x.get()/1000.,length::cm).get_value_unit(length::emu);
|
||||
poly.points[i].x = length(poly.points[i].x.get()/1000.,length::cm).get_value_unit(length::emu);// - *start_x;
|
||||
start_x = length(poly.points[i].x.get()/1000., length::cm).get_value_unit(length::emu);
|
||||
poly.points[i].x = length(poly.points[i].x.get()/1000., length::cm).get_value_unit(length::emu);// - *start_x;
|
||||
}
|
||||
if (poly.points[i].y)
|
||||
{
|
||||
if (!start_y)
|
||||
start_y = length(poly.points[i].y.get()/1000.,length::cm).get_value_unit(length::emu);
|
||||
poly.points[i].y = length(poly.points[i].y.get()/1000.,length::cm).get_value_unit(length::emu);// - *start_y;
|
||||
start_y = length(poly.points[i].y.get()/1000., length::cm).get_value_unit(length::emu);
|
||||
poly.points[i].y = length(poly.points[i].y.get()/1000., length::cm).get_value_unit(length::emu);// - *start_y;
|
||||
}
|
||||
}
|
||||
o_Polyline_pt.push_back(poly);
|
||||
@ -381,8 +388,9 @@ void draw_polyline::reset_polyline_path()
|
||||
{
|
||||
//сформируем xml-oox сдесь ... а то придется плодить массивы в drawing .. хоть и не красиво..
|
||||
std::wstringstream output_;
|
||||
svg_path::oox_serialize(output_, o_Polyline_pt);
|
||||
additional_.push_back(odf_reader::_property(L"custom_path",output_.str()));
|
||||
|
||||
::svg_path::oox_serialize(output_, o_Polyline_pt);
|
||||
additional_.push_back(odf_reader::_property(L"custom_path", output_.str()));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -592,9 +600,9 @@ void draw_caption::add_attributes( const xml::attributes_wc_ptr & Attributes )
|
||||
/// draw-connector-attlist
|
||||
void draw_connector_attlist::add_attributes( const xml::attributes_wc_ptr & Attributes )
|
||||
{
|
||||
CP_APPLY_ATTR(L"svg:d", svg_d_);
|
||||
CP_APPLY_ATTR(L"svg:viewBox", svg_viewbox_);
|
||||
CP_APPLY_ATTR(L"draw:type",draw_type_);
|
||||
CP_APPLY_ATTR(L"svg:d", svg_d_);
|
||||
CP_APPLY_ATTR(L"svg:viewBox", svg_viewbox_);
|
||||
CP_APPLY_ATTR(L"draw:type", draw_type_);
|
||||
|
||||
}
|
||||
// draw:connector
|
||||
@ -618,35 +626,37 @@ void draw_connector::reset_svg_path()
|
||||
}
|
||||
else
|
||||
{
|
||||
std::vector<svg_path::_polyline> o_Polyline_pt;
|
||||
std::vector<svg_path::_polyline> o_Polyline_cm;
|
||||
std::vector<::svg_path::_polyline> o_Polyline_pt;
|
||||
std::vector<::svg_path::_polyline> o_Polyline_cm;
|
||||
|
||||
bool res = svg_path::parseSvgD(o_Polyline_cm,draw_connector_attlist_.svg_d_.get(),false);
|
||||
bool res = ::svg_path::parseSvgD(o_Polyline_cm, draw_connector_attlist_.svg_d_.get(), false);
|
||||
|
||||
double x1=common_draw_attlists_.position_.svg_x_.get_value_or(length(0)).get_value_unit(length::emu);
|
||||
double y1=common_draw_attlists_.position_.svg_y_.get_value_or(length(0)).get_value_unit(length::emu);
|
||||
|
||||
BOOST_FOREACH(svg_path::_polyline & poly, o_Polyline_cm)
|
||||
for (size_t ind = 0 ; ind < o_Polyline_cm.size(); ind++)
|
||||
{
|
||||
for (long i=0;i<poly.points.size();i++)
|
||||
::svg_path::_polyline & poly = o_Polyline_cm[ind];
|
||||
|
||||
for (size_t i = 0; i < poly.points.size();i++)
|
||||
{
|
||||
if (poly.points[i].x)
|
||||
{
|
||||
poly.points[i].x = length(poly.points[i].x.get()/1000.,length::cm).get_value_unit(length::emu) - x1;
|
||||
poly.points[i].x = length(poly.points[i].x.get()/1000., length::cm).get_value_unit(length::emu) - x1;
|
||||
}
|
||||
if (poly.points[i].y)
|
||||
{
|
||||
poly.points[i].y = length(poly.points[i].y.get()/1000.,length::cm).get_value_unit(length::emu) - y1;
|
||||
poly.points[i].y = length(poly.points[i].y.get()/1000., length::cm).get_value_unit(length::emu) - y1;
|
||||
}
|
||||
}
|
||||
o_Polyline_pt.push_back(poly);
|
||||
}
|
||||
if (o_Polyline_pt.size()>0)
|
||||
if (o_Polyline_pt.size() > 0)
|
||||
{
|
||||
sub_type_ = 6;
|
||||
//сформируем xml-oox сдесь ... а то придется плодить массивы в drawing .. хоть и не красиво..
|
||||
std::wstringstream output_;
|
||||
svg_path::oox_serialize(output_, o_Polyline_pt);
|
||||
::svg_path::oox_serialize(output_, o_Polyline_pt);
|
||||
additional_.push_back(odf_reader::_property(L"custom_path",output_.str()));
|
||||
}
|
||||
}
|
||||
|
||||
@ -40,8 +40,6 @@
|
||||
#include "datatypes/common_attlists.h"
|
||||
#include "../docx/xlsxconversioncontext.h"
|
||||
|
||||
#include "svg_parser.h"
|
||||
|
||||
namespace cpdoccore
|
||||
{
|
||||
|
||||
|
||||
@ -45,7 +45,6 @@
|
||||
#include <cpdoccore/odf/odf_document.h>
|
||||
|
||||
#include "serialize_elements.h"
|
||||
#include "../docx/xlsx_utils.h"
|
||||
#include "style_graphic_properties.h"
|
||||
|
||||
#include "odfcontext.h"
|
||||
@ -53,6 +52,9 @@
|
||||
#include "datatypes/length.h"
|
||||
#include "datatypes/borderstyle.h"
|
||||
|
||||
#include "../docx/xlsx_utils.h"
|
||||
#include "../docx/oox_drawing.h"
|
||||
|
||||
namespace cpdoccore {
|
||||
|
||||
using namespace odf_types;
|
||||
@ -260,13 +262,13 @@ void draw_enhanced_geometry::docx_convert(oox::docx_conversion_context & Context
|
||||
|
||||
if (draw_enhanced_geometry_attlist_.draw_enhanced_path_)
|
||||
{
|
||||
std::vector<svg_path::_polyline> o_Polyline;
|
||||
std::vector<::svg_path::_polyline> o_Polyline;
|
||||
|
||||
bool res = false;
|
||||
|
||||
try
|
||||
{
|
||||
res = svg_path::parseSvgD(o_Polyline, draw_enhanced_geometry_attlist_.draw_enhanced_path_.get(), true);
|
||||
res = ::svg_path::parseSvgD(o_Polyline, draw_enhanced_geometry_attlist_.draw_enhanced_path_.get(), true);
|
||||
}
|
||||
catch(...)
|
||||
{
|
||||
@ -277,7 +279,8 @@ void draw_enhanced_geometry::docx_convert(oox::docx_conversion_context & Context
|
||||
{
|
||||
//сформируем xml-oox сдесь ... а то придется плодить массивы в drawing .. хоть и не красиво..
|
||||
std::wstringstream output_;
|
||||
svg_path::oox_serialize(output_, o_Polyline);
|
||||
|
||||
::svg_path::oox_serialize(output_, o_Polyline);
|
||||
shape->additional_.push_back(odf_reader::_property(L"custom_path", output_.str()));
|
||||
|
||||
set_shape = true;
|
||||
|
||||
@ -53,7 +53,8 @@
|
||||
|
||||
#include "odfcontext.h"
|
||||
#include "calcs_styles.h"
|
||||
#include "svg_parser.h"
|
||||
|
||||
#include "../docx/oox_drawing.h"
|
||||
|
||||
namespace cpdoccore {
|
||||
|
||||
@ -320,13 +321,13 @@ void draw_enhanced_geometry::pptx_convert(oox::pptx_conversion_context & Context
|
||||
|
||||
if (draw_enhanced_geometry_attlist_.draw_enhanced_path_)
|
||||
{
|
||||
std::vector<svg_path::_polyline> o_Polyline;
|
||||
std::vector<::svg_path::_polyline> o_Polyline;
|
||||
|
||||
bool res = false;
|
||||
|
||||
try
|
||||
{
|
||||
res = svg_path::parseSvgD(o_Polyline, draw_enhanced_geometry_attlist_.draw_enhanced_path_.get(), true);
|
||||
res = ::svg_path::parseSvgD(o_Polyline, draw_enhanced_geometry_attlist_.draw_enhanced_path_.get(), true);
|
||||
}
|
||||
catch(...)
|
||||
{
|
||||
@ -337,7 +338,7 @@ void draw_enhanced_geometry::pptx_convert(oox::pptx_conversion_context & Context
|
||||
{
|
||||
//сформируем xml-oox сдесь ... а то придется плодить массивы в drawing .. хоть и не красиво..
|
||||
std::wstringstream output_;
|
||||
svg_path::oox_serialize(output_, o_Polyline);
|
||||
::svg_path::oox_serialize(output_, o_Polyline);
|
||||
Context.get_slide_context().set_property(odf_reader::_property(L"custom_path", output_.str()));
|
||||
|
||||
set_shape = true;
|
||||
|
||||
@ -45,15 +45,16 @@
|
||||
#include <cpdoccore/odf/odf_document.h>
|
||||
|
||||
#include "serialize_elements.h"
|
||||
#include "../docx/xlsx_utils.h"
|
||||
#include "style_graphic_properties.h"
|
||||
#include "odfcontext.h"
|
||||
#include "calcs_styles.h"
|
||||
#include "svg_parser.h"
|
||||
|
||||
#include "datatypes/length.h"
|
||||
#include "datatypes/borderstyle.h"
|
||||
|
||||
#include "../docx/xlsx_utils.h"
|
||||
#include "../docx/oox_drawing.h"
|
||||
|
||||
namespace cpdoccore {
|
||||
|
||||
using namespace odf_types;
|
||||
@ -274,13 +275,13 @@ void draw_enhanced_geometry::xlsx_convert(oox::xlsx_conversion_context & Context
|
||||
|
||||
if (draw_enhanced_geometry_attlist_.draw_enhanced_path_)
|
||||
{
|
||||
std::vector<svg_path::_polyline> o_Polyline;
|
||||
std::vector<::svg_path::_polyline> o_Polyline;
|
||||
|
||||
bool res = false;
|
||||
|
||||
try
|
||||
{
|
||||
res = svg_path::parseSvgD(o_Polyline, draw_enhanced_geometry_attlist_.draw_enhanced_path_.get(), true);
|
||||
res = ::svg_path::parseSvgD(o_Polyline, draw_enhanced_geometry_attlist_.draw_enhanced_path_.get(), true);
|
||||
}
|
||||
catch(...)
|
||||
{
|
||||
@ -291,7 +292,7 @@ void draw_enhanced_geometry::xlsx_convert(oox::xlsx_conversion_context & Context
|
||||
{
|
||||
//сформируем xml-oox сдесь ... а то придется плодить массивы в drawing .. хоть и не красиво..
|
||||
std::wstringstream output_;
|
||||
svg_path::oox_serialize(output_, o_Polyline);
|
||||
::svg_path::oox_serialize(output_, o_Polyline);
|
||||
Context.get_drawing_context().set_property(odf_reader::_property(L"custom_path", output_.str()));
|
||||
|
||||
if (draw_enhanced_geometry_attlist_.drawooo_sub_view_size_)
|
||||
|
||||
@ -99,7 +99,7 @@ void math_semantics::add_child_element( xml::sax * Reader, const std::wstring &
|
||||
|
||||
void math_semantics::oox_convert(oox::math_context & Context)
|
||||
{
|
||||
for (int i = 0 ; i < content_.size(); i++)
|
||||
for (size_t i = 0 ; i < content_.size(); i++)
|
||||
{
|
||||
office_math_element* math_element = dynamic_cast<office_math_element*>(content_[i].get());
|
||||
math_element->oox_convert(Context);
|
||||
|
||||
@ -193,7 +193,7 @@ void math_msqrt::oox_convert(oox::math_context & Context)
|
||||
strm << L"<m:deg/>";
|
||||
|
||||
strm << L"<m:e>";
|
||||
for (int i = 0 ; i < content_.size(); i++)
|
||||
for (size_t i = 0 ; i < content_.size(); i++)
|
||||
{
|
||||
office_math_element* math_element = dynamic_cast<office_math_element*>(content_[i].get());
|
||||
math_element->oox_convert(Context);
|
||||
@ -297,7 +297,7 @@ void math_mstyle::oox_convert(oox::math_context & Context)
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i < content_.size(); i++)
|
||||
for (size_t i = 0; i < content_.size(); i++)
|
||||
{
|
||||
office_math_element* math_element = dynamic_cast<office_math_element*>(content_[i].get());
|
||||
math_element->oox_convert(Context);
|
||||
|
||||
@ -64,7 +64,7 @@ void math_mtable::oox_convert(oox::math_context & Context)
|
||||
std::wostream & strm = Context.output_stream();
|
||||
|
||||
strm << L"<m:m>";
|
||||
for (int i = 0; i < content_.size(); i++)
|
||||
for (size_t i = 0; i < content_.size(); i++)
|
||||
{
|
||||
office_math_element* math_element = dynamic_cast<office_math_element*>(content_[i].get());
|
||||
math_element->oox_convert(Context);
|
||||
@ -92,7 +92,7 @@ void math_mtr::oox_convert(oox::math_context & Context)
|
||||
std::wostream & strm = Context.output_stream();
|
||||
|
||||
strm << L"<m:mr>";
|
||||
for (int i = 0; i < content_.size(); i++)
|
||||
for (size_t i = 0; i < content_.size(); i++)
|
||||
{
|
||||
//strm << L"<m:e>"; // EqArray записался в числитель вместо знаменателя.docx - дублирование
|
||||
office_math_element* math_element = dynamic_cast<office_math_element*>(content_[i].get());
|
||||
@ -142,7 +142,7 @@ void math_mtd::oox_convert(oox::math_context & Context)
|
||||
std::wostream & strm = Context.output_stream();
|
||||
|
||||
strm << L"<m:e>";
|
||||
for (int i = 0; i < content_.size(); i++)
|
||||
for (size_t i = 0; i < content_.size(); i++)
|
||||
{
|
||||
office_math_element* math_element = dynamic_cast<office_math_element*>(content_[i].get());
|
||||
math_element->oox_convert(Context);
|
||||
|
||||
@ -187,8 +187,10 @@ void odf_document::Impl::parse_fonts()
|
||||
break;
|
||||
}
|
||||
|
||||
BOOST_FOREACH(office_element_ptr & elm, fontFaceDecls->style_font_face_)
|
||||
{
|
||||
for (size_t i = 0; i < fontFaceDecls->style_font_face_.size(); i++)
|
||||
{
|
||||
office_element_ptr & elm = fontFaceDecls->style_font_face_[i];
|
||||
|
||||
style_font_face* fontFace = dynamic_cast<style_font_face*>( elm.get() );
|
||||
if (!fontFace)
|
||||
{
|
||||
@ -243,8 +245,10 @@ void odf_document::Impl::parse_manifests()
|
||||
if (!document)return;
|
||||
|
||||
int res =-1;
|
||||
BOOST_FOREACH(office_element_ptr & elm, document->manifests_)
|
||||
{
|
||||
for (size_t i = 0; i < document->manifests_.size(); i++)
|
||||
{
|
||||
office_element_ptr & elm = document->manifests_[i];
|
||||
|
||||
manifest_entry * entry = dynamic_cast<manifest_entry *>(elm.get());
|
||||
if (!entry)continue;
|
||||
|
||||
@ -281,15 +285,18 @@ void odf_document::Impl::parse_settings()
|
||||
office_settings * settings = dynamic_cast<office_settings*>(document->office_settings_.get());
|
||||
if (!settings) return;
|
||||
|
||||
BOOST_FOREACH(office_element_ptr & elm, settings->content_)
|
||||
{
|
||||
for (size_t i = 0; i < settings->content_.size(); i++)
|
||||
{
|
||||
office_element_ptr & elm = settings->content_[i];
|
||||
|
||||
settings_config_item_set * item_set = dynamic_cast<settings_config_item_set *>(elm.get());
|
||||
if (!item_set)continue;
|
||||
|
||||
if (item_set->config_name_ == L"ooo:configuration-settings")
|
||||
{
|
||||
BOOST_FOREACH(office_element_ptr & elm_sett, item_set->content_)
|
||||
{
|
||||
for (size_t j = 0; j < item_set->content_.size(); j++)
|
||||
{
|
||||
office_element_ptr & elm_sett = item_set->content_[j];
|
||||
settings_config_item * sett = dynamic_cast<settings_config_item *>(elm_sett.get());
|
||||
if (!sett)continue;
|
||||
|
||||
@ -298,8 +305,10 @@ void odf_document::Impl::parse_settings()
|
||||
}
|
||||
else if (item_set->config_name_ == L"ooo:view-settings")
|
||||
{
|
||||
BOOST_FOREACH(office_element_ptr & elm_sett, item_set->content_)
|
||||
{
|
||||
for (size_t j = 0; j < item_set->content_.size(); j++)
|
||||
{
|
||||
office_element_ptr & elm_sett = item_set->content_[j];
|
||||
|
||||
settings_config_item * sett = dynamic_cast<settings_config_item *>(elm_sett.get());
|
||||
if (sett)
|
||||
context_->Settings().add_view(sett->config_name_, sett->content_);
|
||||
@ -308,13 +317,13 @@ void odf_document::Impl::parse_settings()
|
||||
settings_config_item_map_indexed *map_sett = dynamic_cast<settings_config_item_map_indexed *>(elm_sett.get());
|
||||
if ((map_sett) && (map_sett->config_name_ == L"Views"))
|
||||
{
|
||||
for (int i = 0; i < map_sett->content_.size(); i++)
|
||||
for (size_t i = 0; i < map_sett->content_.size(); i++)
|
||||
{
|
||||
settings_config_item_map_entry *entry = dynamic_cast<settings_config_item_map_entry *>(map_sett->content_[i].get());
|
||||
if (!entry) continue;
|
||||
|
||||
context_->Settings().start_view();
|
||||
for (int j = 0; j < entry->content_.size(); j++)
|
||||
for (size_t j = 0; j < entry->content_.size(); j++)
|
||||
{
|
||||
settings_config_item * sett = dynamic_cast<settings_config_item *>(entry->content_[j].get());
|
||||
if (sett)
|
||||
@ -323,14 +332,14 @@ void odf_document::Impl::parse_settings()
|
||||
settings_config_item_map_named *map_v = dynamic_cast<settings_config_item_map_named *>(entry->content_[j].get());
|
||||
if (map_v)
|
||||
{
|
||||
for (int n = 0; n < map_v->content_.size(); n++)
|
||||
for (size_t n = 0; n < map_v->content_.size(); n++)
|
||||
{
|
||||
settings_config_item_map_entry *entry_v = dynamic_cast<settings_config_item_map_entry *>(map_v->content_[n].get());
|
||||
if (!entry_v) continue;
|
||||
|
||||
context_->Settings().start_table_view(entry_v->config_name_);
|
||||
|
||||
for (int k = 0; k < entry_v->content_.size(); k++)
|
||||
for (size_t k = 0; k < entry_v->content_.size(); k++)
|
||||
{
|
||||
sett = dynamic_cast<settings_config_item *>(entry_v->content_[k].get());
|
||||
if (sett)
|
||||
@ -378,9 +387,11 @@ void odf_document::Impl::parse_styles()
|
||||
}
|
||||
|
||||
// parse page layout
|
||||
BOOST_FOREACH(office_element_ptr & elm, automaticStyles->style_page_layout_)
|
||||
{
|
||||
style_page_layout * pageLayout = dynamic_cast<style_page_layout *>(elm.get());
|
||||
for (size_t i = 0; i < automaticStyles->style_page_layout_.size(); i++)
|
||||
{
|
||||
office_element_ptr & elm = automaticStyles->style_page_layout_[i];
|
||||
|
||||
style_page_layout * pageLayout = dynamic_cast<style_page_layout *>(elm.get());
|
||||
if (!pageLayout)
|
||||
{
|
||||
_CP_LOG << L"[warning] error reading page layout\n";
|
||||
@ -390,9 +401,11 @@ void odf_document::Impl::parse_styles()
|
||||
context_->pageLayoutContainer().add_page_layout(pageLayout);
|
||||
} // end parse page layout
|
||||
|
||||
BOOST_FOREACH(office_element_ptr & elm, automaticStyles->styles_.style_style_)
|
||||
{
|
||||
style * styleInst = dynamic_cast<style*>(elm.get());
|
||||
for (size_t i = 0; i < automaticStyles->styles_.style_style_.size(); i++)
|
||||
{
|
||||
office_element_ptr & elm = automaticStyles->styles_.style_style_[i];
|
||||
|
||||
style * styleInst = dynamic_cast<style*>(elm.get());
|
||||
if (!styleInst)
|
||||
{
|
||||
_CP_LOG << L"[warning] error reading style\n";
|
||||
@ -412,9 +425,11 @@ void odf_document::Impl::parse_styles()
|
||||
);
|
||||
}
|
||||
// list styles
|
||||
BOOST_FOREACH(office_element_ptr & elm, automaticStyles->styles_.text_list_style_)
|
||||
{
|
||||
text_list_style * listStyle = dynamic_cast<text_list_style *>(elm.get());
|
||||
for (size_t i = 0; i < automaticStyles->styles_.text_list_style_.size(); i++)
|
||||
{
|
||||
office_element_ptr & elm = automaticStyles->styles_.text_list_style_[i];
|
||||
|
||||
text_list_style * listStyle = dynamic_cast<text_list_style *>(elm.get());
|
||||
if (!listStyle)
|
||||
{
|
||||
_CP_LOG << L"[warning] error list style\n";
|
||||
@ -436,9 +451,11 @@ void odf_document::Impl::parse_styles()
|
||||
break;
|
||||
}
|
||||
|
||||
BOOST_FOREACH(office_element_ptr & elm, masterStyles->style_master_page_)
|
||||
{
|
||||
style_master_page * masterPage = dynamic_cast<style_master_page *>(elm.get());
|
||||
for (size_t i = 0; i < masterStyles->style_master_page_.size(); i++)
|
||||
{
|
||||
office_element_ptr & elm = masterStyles->style_master_page_[i];
|
||||
|
||||
style_master_page * masterPage = dynamic_cast<style_master_page *>(elm.get());
|
||||
if (!masterPage)
|
||||
{
|
||||
_CP_LOG << L"[warning] error reading master page\n";
|
||||
@ -464,9 +481,11 @@ void odf_document::Impl::parse_styles()
|
||||
}
|
||||
|
||||
// default styles
|
||||
BOOST_FOREACH(office_element_ptr & elm, docStyles->style_default_style_)
|
||||
{
|
||||
default_style * styleInst = dynamic_cast<default_style *>(elm.get());
|
||||
for (size_t i = 0; i < docStyles->style_default_style_.size(); i++)
|
||||
{
|
||||
office_element_ptr & elm = docStyles->style_default_style_[i];
|
||||
|
||||
default_style * styleInst = dynamic_cast<default_style *>(elm.get());
|
||||
if (!styleInst)
|
||||
{
|
||||
_CP_LOG << L"[warning] error reading default style\n";
|
||||
@ -483,9 +502,11 @@ void odf_document::Impl::parse_styles()
|
||||
L"",
|
||||
L"");
|
||||
}
|
||||
BOOST_FOREACH(office_element_ptr & elm, docStyles->style_presentation_page_layout_)
|
||||
{
|
||||
style_presentation_page_layout * pageLayout = dynamic_cast<style_presentation_page_layout *>(elm.get());
|
||||
for (size_t i = 0; i < docStyles->style_presentation_page_layout_.size(); i++)
|
||||
{
|
||||
office_element_ptr & elm = docStyles->style_presentation_page_layout_[i];
|
||||
|
||||
style_presentation_page_layout * pageLayout = dynamic_cast<style_presentation_page_layout *>(elm.get());
|
||||
|
||||
if (!pageLayout)
|
||||
continue;
|
||||
@ -494,9 +515,11 @@ void odf_document::Impl::parse_styles()
|
||||
}
|
||||
|
||||
// common styles
|
||||
BOOST_FOREACH(office_element_ptr & elm, docStyles->styles_.style_style_)
|
||||
{
|
||||
style * styleInst = dynamic_cast<style*>(elm.get());
|
||||
for (size_t i = 0; i < docStyles->styles_.style_style_.size(); i++)
|
||||
{
|
||||
office_element_ptr & elm = docStyles->styles_.style_style_[i];
|
||||
|
||||
style * styleInst = dynamic_cast<style*>(elm.get());
|
||||
if (!styleInst)
|
||||
{
|
||||
_CP_LOG << L"[warning] error reading style\n";
|
||||
@ -519,8 +542,10 @@ void odf_document::Impl::parse_styles()
|
||||
}
|
||||
|
||||
// list styles
|
||||
BOOST_FOREACH(office_element_ptr & elm, docStyles->styles_.text_list_style_)
|
||||
{
|
||||
for (size_t i = 0; i < docStyles->styles_.text_list_style_.size(); i++)
|
||||
{
|
||||
office_element_ptr & elm = docStyles->styles_.text_list_style_[i];
|
||||
|
||||
text_list_style * listStyle = dynamic_cast<text_list_style *>(elm.get());
|
||||
if (!listStyle)
|
||||
{
|
||||
@ -531,9 +556,11 @@ void odf_document::Impl::parse_styles()
|
||||
context_->listStyleContainer().add_list_style(listStyle);
|
||||
}
|
||||
|
||||
BOOST_FOREACH(const office_element_ptr & elm, docStyles->text_notes_configuration_)
|
||||
{
|
||||
const text_notes_configuration * conf = dynamic_cast<const text_notes_configuration *>(elm.get());
|
||||
for (size_t i = 0; i < docStyles->text_notes_configuration_.size(); i++)
|
||||
{
|
||||
office_element_ptr & elm = docStyles->text_notes_configuration_[i];
|
||||
|
||||
const text_notes_configuration * conf = dynamic_cast<const text_notes_configuration *>(elm.get());
|
||||
if (!conf)
|
||||
continue;
|
||||
|
||||
@ -542,53 +569,65 @@ void odf_document::Impl::parse_styles()
|
||||
|
||||
}
|
||||
|
||||
BOOST_FOREACH(const office_element_ptr & elm, docStyles->styles_.number_styles_)
|
||||
{
|
||||
const number_style_base * style = dynamic_cast<const number_style_base *>(elm.get());
|
||||
for (size_t i = 0; i < docStyles->styles_.number_styles_.size(); i++)
|
||||
{
|
||||
office_element_ptr & elm = docStyles->styles_.number_styles_[i];
|
||||
|
||||
const number_style_base * style = dynamic_cast<const number_style_base *>(elm.get());
|
||||
|
||||
if (!style)
|
||||
continue;
|
||||
|
||||
context_->numberStyles().add(style->get_style_name(), elm);
|
||||
}
|
||||
BOOST_FOREACH(const office_element_ptr & elm, docStyles->draw_styles_.draw_gradient_)
|
||||
{
|
||||
draw_gradient * style = dynamic_cast<draw_gradient *>(elm.get());
|
||||
for (size_t i = 0; i < docStyles->draw_styles_.draw_gradient_.size(); i++)
|
||||
{
|
||||
office_element_ptr & elm = docStyles->draw_styles_.draw_gradient_[i];
|
||||
|
||||
draw_gradient * style = dynamic_cast<draw_gradient *>(elm.get());
|
||||
|
||||
if (!style)
|
||||
continue;
|
||||
|
||||
context_->drawStyles().add(L"gradient:" + style->get_style_name(), elm);
|
||||
}
|
||||
BOOST_FOREACH(const office_element_ptr & elm, docStyles->draw_styles_.draw_fill_image_)
|
||||
{
|
||||
draw_fill_image * style = dynamic_cast<draw_fill_image *>(elm.get());
|
||||
for (size_t i = 0; i < docStyles->draw_styles_.draw_fill_image_.size(); i++)
|
||||
{
|
||||
office_element_ptr & elm = docStyles->draw_styles_.draw_fill_image_[i];
|
||||
|
||||
draw_fill_image * style = dynamic_cast<draw_fill_image *>(elm.get());
|
||||
|
||||
if (!style)
|
||||
continue;
|
||||
|
||||
context_->drawStyles().add(L"bitmap:" + style->get_style_name(), elm);
|
||||
}
|
||||
BOOST_FOREACH(const office_element_ptr & elm, docStyles->draw_styles_.draw_opacity_)
|
||||
{
|
||||
draw_opacity * style = dynamic_cast<draw_opacity *>(elm.get());
|
||||
for (size_t i = 0; i < docStyles->draw_styles_.draw_opacity_.size(); i++)
|
||||
{
|
||||
office_element_ptr & elm = docStyles->draw_styles_.draw_opacity_[i];
|
||||
|
||||
draw_opacity * style = dynamic_cast<draw_opacity *>(elm.get());
|
||||
|
||||
if (!style)
|
||||
continue;
|
||||
|
||||
context_->drawStyles().add(L"opacity:" + style->get_style_name(), elm);
|
||||
}
|
||||
BOOST_FOREACH(const office_element_ptr & elm, docStyles->draw_styles_.draw_hatch_)
|
||||
{
|
||||
draw_hatch * style = dynamic_cast<draw_hatch *>(elm.get());
|
||||
for (size_t i = 0; i < docStyles->draw_styles_.draw_hatch_.size(); i++)
|
||||
{
|
||||
office_element_ptr & elm = docStyles->draw_styles_.draw_hatch_[i];
|
||||
|
||||
draw_hatch * style = dynamic_cast<draw_hatch *>(elm.get());
|
||||
|
||||
if (!style)
|
||||
continue;
|
||||
|
||||
context_->drawStyles().add(L"hatch:" + style->get_style_name(), elm);
|
||||
}
|
||||
BOOST_FOREACH(const office_element_ptr & elm, docStyles->templates_.table_templates_)
|
||||
{
|
||||
for (size_t i = 0; i < docStyles->templates_.table_templates_.size(); i++)
|
||||
{
|
||||
office_element_ptr & elm = docStyles->templates_.table_templates_[i];
|
||||
|
||||
table_table_template * style = dynamic_cast<table_table_template *>(elm.get());
|
||||
|
||||
if (!style)
|
||||
@ -626,9 +665,11 @@ void odf_document::Impl::parse_styles()
|
||||
break;
|
||||
}
|
||||
|
||||
BOOST_FOREACH(office_element_ptr & elm, automaticStyles->styles_.style_style_)
|
||||
{
|
||||
style * styleInst = dynamic_cast<style*>(elm.get());
|
||||
for (size_t i = 0; i < automaticStyles->styles_.style_style_.size(); i++)
|
||||
{
|
||||
office_element_ptr & elm = automaticStyles->styles_.style_style_[i];
|
||||
|
||||
style * styleInst = dynamic_cast<style*>(elm.get());
|
||||
if (!styleInst)
|
||||
{
|
||||
_CP_LOG << L"[warning] error reading style\n";
|
||||
@ -650,9 +691,11 @@ void odf_document::Impl::parse_styles()
|
||||
);
|
||||
}
|
||||
|
||||
BOOST_FOREACH(office_element_ptr & elm, automaticStyles->styles_.text_list_style_)
|
||||
{
|
||||
text_list_style * listStyle = dynamic_cast<text_list_style *>(elm.get());
|
||||
for (size_t i = 0; i < automaticStyles->styles_.text_list_style_.size(); i++)
|
||||
{
|
||||
office_element_ptr & elm = automaticStyles->styles_.text_list_style_[i];
|
||||
|
||||
text_list_style * listStyle = dynamic_cast<text_list_style *>(elm.get());
|
||||
if (!listStyle)
|
||||
{
|
||||
_CP_LOG << L"[warning] error reading list style\n";
|
||||
@ -662,9 +705,11 @@ void odf_document::Impl::parse_styles()
|
||||
context_->listStyleContainer().add_list_style(listStyle);
|
||||
}
|
||||
|
||||
BOOST_FOREACH(const office_element_ptr & elm, automaticStyles->styles_.number_styles_)
|
||||
{
|
||||
const number_style_base * style = dynamic_cast<const number_style_base *>(elm.get());
|
||||
for (size_t i = 0; i < automaticStyles->styles_.number_styles_.size(); i++)
|
||||
{
|
||||
office_element_ptr & elm = automaticStyles->styles_.number_styles_[i];
|
||||
|
||||
const number_style_base * style = dynamic_cast<const number_style_base *>(elm.get());
|
||||
|
||||
if (!style) continue;
|
||||
|
||||
|
||||
@ -223,8 +223,9 @@ void styles_container::add_master_page_name(const std::wstring & StyleName, cons
|
||||
std::pair<int,std::wstring> presentation_layouts_instance::add_or_find(const std::wstring & layout_name,const std::wstring & master_name)
|
||||
{
|
||||
bool find = false;
|
||||
int index =0;
|
||||
for (index=0;index<content.size();index++)
|
||||
size_t index =0;
|
||||
|
||||
for (index = 0; index < content.size(); index++)
|
||||
{
|
||||
if (content[index].layout_name == layout_name && content[index].master_name == master_name)
|
||||
{
|
||||
@ -250,8 +251,8 @@ std::pair<int,std::wstring> presentation_layouts_instance::add_or_find(const std
|
||||
std::pair<int,std::wstring> presentation_masters_instance::add_or_find(const std::wstring & master_name)
|
||||
{
|
||||
bool find = false;
|
||||
int index =0;
|
||||
for (index=0;index<content.size();index++)
|
||||
size_t index =0;
|
||||
for (index = 0; index < content.size(); index++)
|
||||
{
|
||||
if (content[index].master_name == master_name)
|
||||
{
|
||||
@ -276,8 +277,8 @@ std::pair<int,std::wstring> presentation_masters_instance::add_or_find(const std
|
||||
void presentation_masters_instance::add_layout_to(const std::wstring & master_name, presentation_layouts_instance::_layout & layout)
|
||||
{
|
||||
bool find = false;
|
||||
int index =0;
|
||||
for (index=0;index<content.size();index++)
|
||||
size_t index = 0;
|
||||
for (index = 0; index < content.size(); index++)
|
||||
{
|
||||
if (content[index].master_name == master_name)
|
||||
{
|
||||
|
||||
@ -57,7 +57,7 @@ class document_context;
|
||||
class office_element;
|
||||
typedef shared_ptr<office_element>::Type office_element_ptr;
|
||||
typedef weak_ptr<office_element>::Type office_element_weak_ptr;
|
||||
typedef std::vector<office_element_ptr> office_element_ptr_array;
|
||||
typedef std::vector<office_element_ptr> office_element_ptr_array;
|
||||
|
||||
class office_element : public xml::element<wchar_t>,
|
||||
public common::read_doc_element,
|
||||
|
||||
@ -1564,7 +1564,7 @@ void header_footer_impl::docx_convert(oox::docx_conversion_context & Context)
|
||||
if (content_.header_footer_content_.tracked_changes_)
|
||||
content_.header_footer_content_.tracked_changes_->docx_convert(Context);
|
||||
|
||||
for (int i=0; i < content_.header_footer_content_.content_.size(); i++)
|
||||
for (size_t i = 0; i < content_.header_footer_content_.content_.size(); i++)
|
||||
{
|
||||
content_.header_footer_content_.content_[i]->docx_convert(Context);
|
||||
}
|
||||
|
||||
@ -35,8 +35,6 @@
|
||||
#include <boost/algorithm/string.hpp>
|
||||
#include <boost/lexical_cast.hpp>
|
||||
|
||||
namespace cpdoccore
|
||||
{
|
||||
namespace svg_path
|
||||
{
|
||||
void skipSpaces(int& io_rPos, const std::wstring& rStr, const int nLen)
|
||||
@ -69,7 +67,7 @@ namespace svg_path
|
||||
return isOnNumberChar(rStr[nPos],bSignAllowed);
|
||||
}
|
||||
|
||||
bool getDoubleChar(double& o_fRetval,int & io_rPos, const std::wstring& rStr)
|
||||
bool getDoubleChar(double& o_fRetval,int & io_rPos, const std::wstring& rStr)
|
||||
{
|
||||
wchar_t aChar( rStr[io_rPos] );
|
||||
std::wstring sNumberString;
|
||||
@ -121,7 +119,7 @@ namespace svg_path
|
||||
return false;
|
||||
}
|
||||
|
||||
bool importDoubleAndSpaces( double& o_fRetval, int& io_rPos, const std::wstring& rStr, const int nLen )
|
||||
bool importDoubleAndSpaces( double& o_fRetval, int& io_rPos, const std::wstring& rStr, const int nLen )
|
||||
{
|
||||
if( !getDoubleChar(o_fRetval, io_rPos, rStr) )
|
||||
return false;
|
||||
@ -131,7 +129,7 @@ namespace svg_path
|
||||
return true;
|
||||
}
|
||||
|
||||
bool importFlagAndSpaces(int& o_nRetval, int& io_rPos, const std::wstring& rStr, const int nLen)
|
||||
bool importFlagAndSpaces(int& o_nRetval, int& io_rPos, const std::wstring& rStr, const int nLen)
|
||||
{
|
||||
wchar_t aChar( rStr[io_rPos] );
|
||||
|
||||
@ -181,7 +179,6 @@ namespace svg_path
|
||||
return bUseRelativeCoordinates ? cLowerCaseCommand : cUpperCaseCommand;
|
||||
}
|
||||
|
||||
|
||||
bool parseSvgD(std::vector<_polyline> & Polyline, const std::wstring & rSvgDStatement, bool bWrongPositionAfterZ)
|
||||
{
|
||||
Polyline.clear();
|
||||
@ -808,6 +805,152 @@ namespace svg_path
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
bool parseVml(std::vector<_polyline> & Polyline, const std::wstring & rSvgDStatement)
|
||||
{
|
||||
Polyline.clear();
|
||||
const int nLen(rSvgDStatement.length());
|
||||
int nPos(0);
|
||||
bool bIsClosed(false);
|
||||
|
||||
double nLastX( 0.0 );
|
||||
double nLastY( 0.0 );
|
||||
|
||||
double nLastControlX( 0.0 );
|
||||
double nLastControlY( 0.0 );
|
||||
|
||||
_polyline aCurrPoly;
|
||||
|
||||
skipSpaces(nPos, rSvgDStatement, nLen);
|
||||
|
||||
while(nPos < nLen)
|
||||
{
|
||||
bool bRelative (false);
|
||||
bool bMoveTo (false);
|
||||
const wchar_t aCurrChar(rSvgDStatement[nPos]);
|
||||
|
||||
aCurrPoly.command.clear();
|
||||
|
||||
switch(aCurrChar)
|
||||
{
|
||||
case 'x' :
|
||||
{
|
||||
nPos++;
|
||||
bIsClosed = true;
|
||||
|
||||
} break;
|
||||
case 'm' :
|
||||
case 't' :
|
||||
{
|
||||
bMoveTo = true;
|
||||
}
|
||||
case 'l' :
|
||||
case 'r' :
|
||||
{
|
||||
if('t' == aCurrChar || 'r' == aCurrChar)
|
||||
{
|
||||
bRelative = true;
|
||||
}
|
||||
|
||||
if(aCurrPoly.points.size() > 0)
|
||||
{
|
||||
if(bIsClosed)
|
||||
{
|
||||
}
|
||||
Polyline.push_back(aCurrPoly);
|
||||
|
||||
bIsClosed = false;
|
||||
|
||||
if(bMoveTo) aCurrPoly.command = L"m";
|
||||
else aCurrPoly.command = L"l";
|
||||
|
||||
aCurrPoly.points.clear();
|
||||
}
|
||||
nPos++;
|
||||
skipSpaces(nPos, rSvgDStatement, nLen);
|
||||
aCurrPoly.command.clear();
|
||||
|
||||
while(nPos < nLen && isOnNumberChar(rSvgDStatement, nPos))
|
||||
{
|
||||
double nX, nY;
|
||||
|
||||
if(!importDoubleAndSpaces(nX, nPos, rSvgDStatement, nLen)) return false;
|
||||
if(!importDoubleAndSpaces(nY, nPos, rSvgDStatement, nLen)) return false;
|
||||
|
||||
if(bRelative)
|
||||
{
|
||||
nX += nLastX;
|
||||
nY += nLastY;
|
||||
}
|
||||
|
||||
nLastX = nX;
|
||||
nLastY = nY;
|
||||
|
||||
if(bMoveTo) aCurrPoly.command = L"m";
|
||||
else aCurrPoly.command = L"l";
|
||||
|
||||
aCurrPoly.points.push_back(_point(nX, nY));
|
||||
Polyline.push_back(aCurrPoly);
|
||||
aCurrPoly.points.clear();
|
||||
}
|
||||
}break;
|
||||
|
||||
case 'v' :
|
||||
bRelative = true;
|
||||
case 'c' :
|
||||
{
|
||||
nPos++;
|
||||
skipSpaces(nPos, rSvgDStatement, nLen);
|
||||
|
||||
while(nPos < nLen && isOnNumberChar(rSvgDStatement, nPos))
|
||||
{
|
||||
double nX, nY;
|
||||
double nX1, nY1;
|
||||
double nX2, nY2;
|
||||
|
||||
if(!importDoubleAndSpaces(nX1, nPos, rSvgDStatement, nLen)) return false;
|
||||
if(!importDoubleAndSpaces(nY1, nPos, rSvgDStatement, nLen)) return false;
|
||||
if(!importDoubleAndSpaces(nX2, nPos, rSvgDStatement, nLen)) return false;
|
||||
if(!importDoubleAndSpaces(nY2, nPos, rSvgDStatement, nLen)) return false;
|
||||
if(!importDoubleAndSpaces(nX, nPos, rSvgDStatement, nLen)) return false;
|
||||
if(!importDoubleAndSpaces(nY, nPos, rSvgDStatement, nLen)) return false;
|
||||
|
||||
if(bRelative)
|
||||
{
|
||||
nX1 += nLastX;
|
||||
nY1 += nLastY;
|
||||
nX2 += nLastX;
|
||||
nY2 += nLastY;
|
||||
nX += nLastX;
|
||||
nY += nLastY;
|
||||
}
|
||||
aCurrPoly.command = L"c";
|
||||
|
||||
aCurrPoly.points.push_back(_point(nX1, nY1));
|
||||
aCurrPoly.points.push_back(_point(nX2, nY2));
|
||||
aCurrPoly.points.push_back(_point(nX, nY));
|
||||
|
||||
Polyline.push_back(aCurrPoly);
|
||||
aCurrPoly.points.clear();
|
||||
|
||||
nLastX = nX;
|
||||
nLastY = nY;
|
||||
|
||||
nLastControlX = nX2;
|
||||
nLastControlY = nY2;
|
||||
}
|
||||
}break;
|
||||
|
||||
default:
|
||||
{
|
||||
++nPos;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -39,10 +39,7 @@
|
||||
#include <boost/foreach.hpp>
|
||||
#include <boost/regex.hpp>
|
||||
|
||||
#include <cpdoccore/CPOptional.h>
|
||||
|
||||
namespace cpdoccore
|
||||
{
|
||||
#include "../../include/cpdoccore/CPOptional.h"
|
||||
|
||||
namespace svg_path
|
||||
{
|
||||
@ -60,23 +57,10 @@ namespace svg_path
|
||||
std::vector<_point> points; //будем бить строку пути по количеству точек в буковках
|
||||
|
||||
};
|
||||
//m - 1 point
|
||||
//c - 3 point
|
||||
//s - 2 point
|
||||
//l - 1 point
|
||||
//z - finish
|
||||
//h - 0.5 point :)
|
||||
//v - 0.5 point
|
||||
//q - 2 point
|
||||
//t - 1 point
|
||||
//a - [[[[
|
||||
void oox_serialize(std::wostream & _Wostream, _point const & val);
|
||||
void oox_serialize(std::wostream & _Wostream, _polyline const & val);
|
||||
void oox_serialize(std::wostream & _Wostream, std::vector<svg_path::_polyline> & path);
|
||||
|
||||
bool parseSvgD(std::vector<_polyline> & Polyline, const std::wstring & rSvgDStatement, bool bWrongPositionAfterZ);
|
||||
bool parsePolygon(std::vector<_polyline> & Polyline, const std::wstring & rPolygonStatement, bool bWrongPositionAfterZ, bool closed);
|
||||
|
||||
}
|
||||
bool parseVml(std::vector<_polyline> & Polyline, const std::wstring & path);
|
||||
bool parseSvgD(std::vector<_polyline> & Polyline, const std::wstring & path, bool bWrongPositionAfterZ);
|
||||
bool parsePolygon(std::vector<_polyline> & Polyline, const std::wstring & path, bool bWrongPositionAfterZ, bool closed);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -640,14 +640,14 @@ const wchar_t * table_shapes::name = L"shapes";
|
||||
|
||||
void table_shapes::docx_convert(oox::docx_conversion_context & Context)
|
||||
{
|
||||
for (int i = 0 ; i < content_.size(); i++)
|
||||
for (size_t i = 0 ; i < content_.size(); i++)
|
||||
{
|
||||
content_[i]->docx_convert(Context);
|
||||
}
|
||||
}
|
||||
void table_shapes::pptx_convert(oox::pptx_conversion_context & Context)
|
||||
{
|
||||
for (int i = 0 ; i < content_.size(); i++)
|
||||
for (size_t i = 0 ; i < content_.size(); i++)
|
||||
{
|
||||
content_[i]->pptx_convert(Context);
|
||||
}
|
||||
@ -655,7 +655,7 @@ void table_shapes::pptx_convert(oox::pptx_conversion_context & Context)
|
||||
|
||||
void table_shapes::xlsx_convert(oox::xlsx_conversion_context & Context)
|
||||
{
|
||||
for (int i = 0 ; i < content_.size(); i++)
|
||||
for (size_t i = 0 ; i < content_.size(); i++)
|
||||
{
|
||||
content_[i]->xlsx_convert(Context);
|
||||
}
|
||||
|
||||
@ -60,7 +60,7 @@ void table_database_ranges::add_child_element( xml::sax * Reader, const std::wst
|
||||
|
||||
void table_database_ranges::xlsx_convert(oox::xlsx_conversion_context & Context)
|
||||
{
|
||||
for (int i = 0; i < content_.size(); i++)
|
||||
for (size_t i = 0; i < content_.size(); i++)
|
||||
{
|
||||
content_[i]->xlsx_convert(Context);
|
||||
}
|
||||
@ -101,7 +101,7 @@ void table_database_range::xlsx_convert(oox::xlsx_conversion_context & Context)
|
||||
if (table_contains_header_)
|
||||
Context.get_table_context().set_database_header(table_contains_header_->get());
|
||||
|
||||
for (int i = 0; i < content_.size(); i++)
|
||||
for (size_t i = 0; i < content_.size(); i++)
|
||||
{
|
||||
content_[i]->xlsx_convert(Context);
|
||||
}
|
||||
@ -124,7 +124,7 @@ void table_sort::add_child_element( xml::sax * Reader, const std::wstring & Ns,
|
||||
|
||||
void table_sort::xlsx_convert(oox::xlsx_conversion_context & Context)
|
||||
{
|
||||
for (int i = 0; i < table_sort_by_.size(); i++)
|
||||
for (size_t i = 0; i < table_sort_by_.size(); i++)
|
||||
{
|
||||
table_sort_by * sort_by = dynamic_cast<table_sort_by*>(table_sort_by_[i].get());
|
||||
|
||||
|
||||
@ -67,7 +67,7 @@ int table_table_cell_content::xlsx_convert(oox::xlsx_conversion_context & Contex
|
||||
Context.get_table_context().start_cell_content();
|
||||
Context.get_text_context().set_cell_text_properties(text_properties);
|
||||
|
||||
for (int i = 0 ; i < elements_.size(); i++)
|
||||
for (size_t i = 0 ; i < elements_.size(); i++)
|
||||
{
|
||||
elements_[i]->xlsx_convert(Context);
|
||||
}
|
||||
@ -191,7 +191,7 @@ void table_table_row::xlsx_convert(oox::xlsx_conversion_context & Context)
|
||||
|
||||
CP_XML_STREAM();
|
||||
|
||||
for (int i = 0 ; i < content_.size(); i++)
|
||||
for (size_t i = 0 ; i < content_.size(); i++)
|
||||
{
|
||||
office_element_ptr & elm = content_[i];
|
||||
|
||||
@ -233,7 +233,7 @@ void table_table_row::xlsx_convert(oox::xlsx_conversion_context & Context)
|
||||
|
||||
void table_table_rows::xlsx_convert(oox::xlsx_conversion_context & Context)
|
||||
{
|
||||
for (int i = 0; i < table_table_row_.size(); i++)
|
||||
for (size_t i = 0; i < table_table_row_.size(); i++)
|
||||
{
|
||||
table_table_row_[i]->xlsx_convert(Context);
|
||||
}
|
||||
@ -241,7 +241,7 @@ void table_table_rows::xlsx_convert(oox::xlsx_conversion_context & Context)
|
||||
|
||||
void table_table_header_rows::xlsx_convert(oox::xlsx_conversion_context & Context)
|
||||
{
|
||||
for (int i = 0; i < table_table_row_.size(); i++)
|
||||
for (size_t i = 0; i < table_table_row_.size(); i++)
|
||||
{
|
||||
table_table_row_[i]->xlsx_convert(Context);
|
||||
}
|
||||
@ -274,7 +274,7 @@ void table_rows::xlsx_convert(oox::xlsx_conversion_context & Context)
|
||||
}
|
||||
|
||||
}
|
||||
for (int i = 0; i < table_table_row_.size(); i++)
|
||||
for (size_t i = 0; i < table_table_row_.size(); i++)
|
||||
{
|
||||
table_table_row_[i]->xlsx_convert(Context);
|
||||
}
|
||||
@ -293,7 +293,7 @@ void table_rows_no_group::xlsx_convert(oox::xlsx_conversion_context & Context)
|
||||
|
||||
void table_rows_and_groups::xlsx_convert(oox::xlsx_conversion_context & Context)
|
||||
{
|
||||
for (int i = 0; i < content_.size(); i++)
|
||||
for (size_t i = 0; i < content_.size(); i++)
|
||||
{
|
||||
content_[i]->xlsx_convert(Context);
|
||||
}
|
||||
@ -336,7 +336,7 @@ void table_table::xlsx_convert(oox::xlsx_conversion_context & Context)
|
||||
if (conditional_formats_)
|
||||
conditional_formats_->xlsx_convert(Context);
|
||||
|
||||
for (int i = 0 ; i < table_named_.size(); i++)
|
||||
for (size_t i = 0 ; i < table_named_.size(); i++)
|
||||
{
|
||||
table_named_[i]->xlsx_convert(Context);
|
||||
}
|
||||
@ -349,7 +349,7 @@ void table_columns::xlsx_convert(oox::xlsx_conversion_context & Context)
|
||||
if (table_table_columns_)
|
||||
table_table_columns_->xlsx_convert(Context);
|
||||
|
||||
for (int i = 0; i < table_table_column_.size(); i++)
|
||||
for (size_t i = 0; i < table_table_column_.size(); i++)
|
||||
{
|
||||
table_table_column_[i]->xlsx_convert(Context);
|
||||
}
|
||||
@ -374,7 +374,7 @@ void table_columns_and_groups::xlsx_convert(oox::xlsx_conversion_context & Conte
|
||||
table_columns_no_group_.xlsx_convert(Context);
|
||||
*/
|
||||
|
||||
for (int i = 0; i < content_.size(); i++)
|
||||
for (size_t i = 0; i < content_.size(); i++)
|
||||
{
|
||||
office_element_ptr & elm = content_[i];
|
||||
elm->xlsx_convert(Context);
|
||||
@ -383,7 +383,7 @@ void table_columns_and_groups::xlsx_convert(oox::xlsx_conversion_context & Conte
|
||||
|
||||
void table_table_header_columns::xlsx_convert(oox::xlsx_conversion_context & Context)
|
||||
{
|
||||
for (int i = 0; i < table_table_column_.size(); i++)
|
||||
for (size_t i = 0; i < table_table_column_.size(); i++)
|
||||
{
|
||||
table_table_column_[i]->xlsx_convert(Context);
|
||||
}
|
||||
|
||||
@ -52,7 +52,7 @@ void paragraph_attrs::add_attributes( const xml::attributes_wc_ptr & Attributes
|
||||
std::vector< std::wstring > classNamesArray;
|
||||
boost::algorithm::split(classNamesArray, classNames, boost::algorithm::is_any_of(L" "));
|
||||
|
||||
for (int i = 0; i < classNamesArray.size(); i++)
|
||||
for (size_t i = 0; i < classNamesArray.size(); i++)
|
||||
{
|
||||
text_class_names_.push_back( style_ref(classNamesArray[i]) );
|
||||
}
|
||||
|
||||
@ -387,7 +387,7 @@ void paragraph::docx_convert(oox::docx_conversion_context & Context)
|
||||
|
||||
if (!Context.get_paragraph_keep())// например Appendix I_IPP.odt - tracked elements (
|
||||
{
|
||||
for (int i = 0; i < content_.size(); i++)
|
||||
for (size_t i = 0; i < content_.size(); i++)
|
||||
{
|
||||
content_[i]->docx_convert(Context);
|
||||
}
|
||||
@ -1238,7 +1238,7 @@ void text_tracked_changes::add_child_element( xml::sax * Reader, const std::wstr
|
||||
|
||||
void text_tracked_changes::docx_convert(oox::docx_conversion_context & Context)
|
||||
{
|
||||
for (int i = 0; i < content_.size(); i++)
|
||||
for (size_t i = 0; i < content_.size(); i++)
|
||||
{
|
||||
content_[i]->docx_convert(Context);
|
||||
}
|
||||
@ -1263,7 +1263,7 @@ void text_changed_region::docx_convert(oox::docx_conversion_context & Context)
|
||||
|
||||
Context.get_text_tracked_context().start_change (*text_id_);
|
||||
|
||||
for (int i = 0; i < content_.size(); i++)
|
||||
for (size_t i = 0; i < content_.size(); i++)
|
||||
{
|
||||
content_[i]->docx_convert(Context);
|
||||
}
|
||||
@ -1296,7 +1296,7 @@ void text_unknown_base_change::docx_convert(oox::docx_conversion_context & Conte
|
||||
|
||||
//тут удаленный текст. не по стандарту сделать бы и форматы - стилями чтоли ....
|
||||
|
||||
for (int i = 0; i < content_.size(); i++)
|
||||
for (size_t i = 0; i < content_.size(); i++)
|
||||
{
|
||||
Context.get_text_tracked_context().start_changes_content();
|
||||
{
|
||||
@ -1311,7 +1311,7 @@ void text_unknown_base_change::docx_convert(oox::docx_conversion_context & Conte
|
||||
|
||||
//if (para)
|
||||
//{
|
||||
// for (int j = 0; j < para->content_.size(); j++)
|
||||
// for (size_t j = 0; j < para->content_.size(); j++)
|
||||
// {
|
||||
// para->content_[j]->docx_convert(Context);
|
||||
// }
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="windows-1251"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Version="8,00"
|
||||
Name="OdfFormatReaderLib"
|
||||
ProjectGUID="{50E20601-4A8D-4AFB-8870-63828D328429}"
|
||||
RootNamespace="cpodf"
|
||||
|
||||
@ -119,7 +119,7 @@ void header_footer_content::serialize(std::wostream & strm)
|
||||
if (tracked_changes_)
|
||||
tracked_changes_->serialize(strm);
|
||||
|
||||
for (int i = 0; i < content_.size(); i++)
|
||||
for (size_t i = 0; i < content_.size(); i++)
|
||||
{
|
||||
content_[i]->serialize(strm);
|
||||
}
|
||||
|
||||
@ -296,8 +296,10 @@ void number_currency_symbol::serialize(std::wostream & strm)
|
||||
CP_XML_ATTR_OPT(L"number:language", number_language_);
|
||||
CP_XML_ATTR_OPT(L"number:country", number_country_);
|
||||
|
||||
for (long i=0; i < text_.size(); i++)
|
||||
for (size_t i = 0; i < text_.size(); i++)
|
||||
{
|
||||
CP_XML_STREAM() << text_[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -248,7 +248,7 @@ std::wstring odf_chart_context::Impl::convert_formula(std::wstring oox_formula)
|
||||
|
||||
chart_chart* odf_chart_context::Impl::get_current_chart()
|
||||
{
|
||||
for (long i=current_level_.size()-1; i>=0; i--)
|
||||
for (long i = (long)current_level_.size() - 1; i >= 0; i--)
|
||||
{
|
||||
chart_chart * chart = dynamic_cast<chart_chart*>(current_level_[i].elm.get());
|
||||
if (chart) return chart;
|
||||
@ -257,7 +257,7 @@ chart_chart* odf_chart_context::Impl::get_current_chart()
|
||||
}
|
||||
chart_series* odf_chart_context::Impl::get_current_series()
|
||||
{
|
||||
for (long i=current_level_.size()-1; i>=0; i--)
|
||||
for (long i = (long)current_level_.size() - 1; i >= 0; i--)
|
||||
{
|
||||
chart_series * chart = dynamic_cast<chart_series*>(current_level_[i].elm.get());
|
||||
if (chart) return chart;
|
||||
@ -706,7 +706,7 @@ void odf_chart_context::end_group_series()
|
||||
bool presentZ = false;
|
||||
long countX = 0;
|
||||
long countY = 0;
|
||||
for (long j = 0; j < impl_->axis_.size(); j++)
|
||||
for (size_t j = 0; j < impl_->axis_.size(); j++)
|
||||
{
|
||||
if (impl_->axis_[j].dimension ==1) countX++;
|
||||
else if (impl_->axis_[j].dimension ==3) presentZ = true;
|
||||
@ -727,9 +727,9 @@ void odf_chart_context::end_group_series()
|
||||
countY--;
|
||||
}
|
||||
|
||||
for (long i=0; i < impl_->axis_group_series_.size(); i++)
|
||||
for (size_t i=0; i < impl_->axis_group_series_.size(); i++)
|
||||
{
|
||||
for (long j = 0; j < impl_->axis_.size(); j++)
|
||||
for (size_t j = 0; j < impl_->axis_.size(); j++)
|
||||
{
|
||||
if (impl_->axis_[j].oox_id == impl_->axis_group_series_[i] && impl_->axis_[j].dimension ==2)
|
||||
{
|
||||
@ -741,7 +741,7 @@ void odf_chart_context::end_group_series()
|
||||
}
|
||||
|
||||
|
||||
for (long i =0; i < impl_->group_series_.size() && axis_name.length() > 0; i++)
|
||||
for (size_t i =0; i < impl_->group_series_.size() && axis_name.length() > 0; i++)
|
||||
{
|
||||
chart_series *series= dynamic_cast<chart_series*>(impl_->group_series_[i].get());
|
||||
if (series)
|
||||
@ -899,7 +899,7 @@ void odf_chart_context::end_plot_area()
|
||||
if (plot_area)
|
||||
{
|
||||
std::wstring cell_range;
|
||||
for (long i = 0; i < impl_->data_cell_ranges_.size(); i++)
|
||||
for (size_t i = 0; i < impl_->data_cell_ranges_.size(); i++)
|
||||
{
|
||||
cell_range = cell_range + impl_->data_cell_ranges_[i].ref + L" ";
|
||||
}
|
||||
@ -928,7 +928,7 @@ void odf_chart_context::end_text()
|
||||
odf_text_context * text_context_ = text_context();
|
||||
if (text_context_ == NULL || impl_->current_level_.size() <1 )return;
|
||||
|
||||
for (long i=0; i< text_context_->text_elements_list_.size(); i++)
|
||||
for (size_t i=0; i< text_context_->text_elements_list_.size(); i++)
|
||||
{
|
||||
if (text_context_->text_elements_list_[i].level ==0)
|
||||
{
|
||||
@ -1400,7 +1400,7 @@ void odf_chart_context::end_chart()
|
||||
|
||||
|
||||
int cat = 0;
|
||||
for (long i = 0; i < impl_->axis_.size() && impl_->categories_.size() > 0; i++)
|
||||
for (size_t i = 0; i < impl_->axis_.size() && impl_->categories_.size() > 0; i++)
|
||||
{
|
||||
if (impl_->axis_[i].elm == NULL) continue;
|
||||
|
||||
@ -1692,7 +1692,7 @@ void odf_chart_context::Impl::create_local_table()
|
||||
//выкинем дублирующие ref
|
||||
for (size_t i = 0; i < cash_.size(); i++)
|
||||
{
|
||||
for (long j = i + 1; j < cash_.size(); j++)
|
||||
for (size_t j = i + 1; j < cash_.size(); j++)
|
||||
{
|
||||
if (cash_[j].ref == cash_[i].ref && cash_[j].ref.length() > 1)
|
||||
{
|
||||
@ -1813,7 +1813,7 @@ void odf_chart_context::Impl::create_local_table()
|
||||
table_elm->add_child_element(cols_elm);
|
||||
|
||||
|
||||
for (long i=0; i < max_columns - (col_header ? 1 : 0); i++)
|
||||
for (int i=0; i < max_columns - (col_header ? 1 : 0); i++)
|
||||
cols_elm->add_child_element(col_elm);
|
||||
|
||||
office_element_ptr row_headers_elm;
|
||||
@ -1840,12 +1840,12 @@ void odf_chart_context::Impl::create_local_table()
|
||||
if ((std::min)(r1, r2) > min_row) min_row = (std::min)(r1, r2);
|
||||
if ((std::min)(c1, c2) > min_col) min_col = (std::min)(c1, c2);
|
||||
|
||||
for (int i = 0 ; i < cells_cash_label.size(); i++)
|
||||
for (size_t i = 0 ; i < cells_cash_label.size(); i++)
|
||||
{
|
||||
cells_cash_label[i].row -= min_row - 1;
|
||||
cells_cash_label[i].col -= min_col - 1;
|
||||
}
|
||||
for (int i = 0 ; i < cells_cash.size(); i++)
|
||||
for (size_t i = 0 ; i < cells_cash.size(); i++)
|
||||
{
|
||||
cells_cash[i].row -= min_row - 1;
|
||||
cells_cash[i].col -= min_col - 1;
|
||||
|
||||
@ -111,7 +111,7 @@ void odf_comment_context::start_comment(office_element_ptr &elm, int oox_id)
|
||||
}
|
||||
void odf_comment_context::end_comment(office_element_ptr &elm, int oox_id)
|
||||
{
|
||||
for(long i=0; i < impl_->comments_.size(); i++)
|
||||
for (size_t i = 0; i < impl_->comments_.size(); i++)
|
||||
{
|
||||
if (impl_->comments_[i].oox_id == oox_id)
|
||||
{
|
||||
@ -138,7 +138,7 @@ void odf_comment_context::end_comment_content()
|
||||
}
|
||||
int odf_comment_context::find_by_id(int oox_id)
|
||||
{
|
||||
for(long i=0; i < impl_->comments_.size(); i++)
|
||||
for (size_t i=0; i < impl_->comments_.size(); i++)
|
||||
{
|
||||
if (impl_->comments_[i].oox_id == oox_id)
|
||||
{
|
||||
@ -150,7 +150,7 @@ int odf_comment_context::find_by_id(int oox_id)
|
||||
}
|
||||
std::wstring odf_comment_context::find_name_by_id(int oox_id)
|
||||
{
|
||||
for(long i=0; i < impl_->comments_.size(); i++)
|
||||
for (size_t i = 0; i < impl_->comments_.size(); i++)
|
||||
{
|
||||
if (impl_->comments_[i].oox_id == oox_id) return impl_->comments_[i].odf_name;
|
||||
}
|
||||
|
||||
@ -117,7 +117,7 @@ _mediaitems* odf_conversion_context::mediaitems()
|
||||
void odf_conversion_context::end_document()
|
||||
{
|
||||
rels rels_;
|
||||
for (long i=0; i< objects_.size(); i++)
|
||||
for (size_t i = 0; i < objects_.size(); i++)
|
||||
{
|
||||
_object & object = objects_[i];
|
||||
bool isRoot = (i == 0 ? true : false);
|
||||
|
||||
@ -908,7 +908,7 @@ void odf_drawing_context::end_shape()
|
||||
|
||||
enhanced->draw_enhanced_geometry_attlist_.draw_enhanced_path_ = shape_define->enhanced_path;
|
||||
|
||||
for (long i=0; i < shape_define->equations.size();i++)
|
||||
for (size_t i = 0; i < shape_define->equations.size();i++)
|
||||
{
|
||||
office_element_ptr elm_eq;
|
||||
create_element(L"draw", L"equation", elm_eq, impl_->odf_context_);
|
||||
@ -922,7 +922,7 @@ void odf_drawing_context::end_shape()
|
||||
end_element();
|
||||
}
|
||||
//-----------------------------
|
||||
for (long i=0; i < shape_define->handles.size();i++)
|
||||
for (size_t i = 0; i < shape_define->handles.size();i++)
|
||||
{
|
||||
office_element_ptr elm_h;
|
||||
create_element(L"draw", L"handle", elm_h, impl_->odf_context_);
|
||||
@ -2128,7 +2128,7 @@ bool odf_drawing_context::is_exist_content()
|
||||
|
||||
void odf_drawing_context::finalize(office_element_ptr & root_elm)//для привязки
|
||||
{
|
||||
for (int i=0; i< impl_->tops_elements_.size(); i++)
|
||||
for (size_t i=0; i< impl_->tops_elements_.size(); i++)
|
||||
{
|
||||
root_elm->add_child_element(impl_->tops_elements_[i]);
|
||||
}
|
||||
@ -2144,7 +2144,7 @@ void odf_drawing_context::set_text(odf_text_context* text_context)
|
||||
{
|
||||
if (text_context == NULL || impl_->current_level_.size() <1 )return;
|
||||
|
||||
for (long i=0; i< text_context->text_elements_list_.size(); i++)
|
||||
for (size_t i = 0; i < text_context->text_elements_list_.size(); i++)
|
||||
{
|
||||
if (text_context->text_elements_list_[i].level ==0)
|
||||
{
|
||||
|
||||
@ -56,7 +56,7 @@ void odf_lists_styles_context::set_odf_context(odf_conversion_context * Context)
|
||||
|
||||
void odf_lists_styles_context::process_styles(office_element_ptr root )
|
||||
{
|
||||
for (long i=0; i< lists_format_array_.size(); i++)
|
||||
for (size_t i = 0; i < lists_format_array_.size(); i++)
|
||||
{
|
||||
if (lists_format_array_[i].elements.size() < 1) continue;
|
||||
|
||||
@ -70,7 +70,7 @@ void odf_lists_styles_context::add_style(int style_num, int based_num)
|
||||
|
||||
std::wstring style_name;
|
||||
|
||||
for (long i=0 ; i < lists_format_array_.size(); i++)
|
||||
for (size_t i = 0 ; i < lists_format_array_.size(); i++)
|
||||
{
|
||||
if (lists_format_array_[i].oox_based_number == based_num)
|
||||
{
|
||||
@ -81,7 +81,7 @@ void odf_lists_styles_context::add_style(int style_num, int based_num)
|
||||
}
|
||||
std::wstring odf_lists_styles_context::get_style_name1(int oox_style_num)
|
||||
{
|
||||
for (long i=0 ; i < lists_format_array_.size(); i++)
|
||||
for (size_t i=0 ; i < lists_format_array_.size(); i++)
|
||||
{
|
||||
if (lists_format_array_[i].oox_based_number == oox_style_num)
|
||||
{
|
||||
|
||||
@ -142,7 +142,7 @@ void odf_notes_context::end_note_content()
|
||||
|
||||
int odf_notes_context::find_by_id(int oox_id, int type)
|
||||
{
|
||||
for (int i=0; i < impl_->notes_.size(); i++)
|
||||
for (size_t i=0; i < impl_->notes_.size(); i++)
|
||||
{
|
||||
if (impl_->notes_[i].oox_id == oox_id &&
|
||||
impl_->notes_[i].type == type)
|
||||
@ -155,7 +155,7 @@ int odf_notes_context::find_by_id(int oox_id, int type)
|
||||
}
|
||||
std::wstring odf_notes_context::find_name_by_id(int oox_id, int type)
|
||||
{
|
||||
for (int i=0; i < impl_->notes_.size(); i++)
|
||||
for (size_t i=0; i < impl_->notes_.size(); i++)
|
||||
{
|
||||
if (impl_->notes_[i].oox_id == oox_id &&
|
||||
impl_->notes_[i].type == type)
|
||||
|
||||
@ -362,7 +362,7 @@ number_format_state & odf_number_styles_context::add_or_find(int oox_num_fmt, st
|
||||
|
||||
void odf_number_styles_context::process_styles(office_element_ptr root )
|
||||
{
|
||||
for (long i=0; i< number_format_array_.size(); i++)
|
||||
for (size_t i=0; i< number_format_array_.size(); i++)
|
||||
{
|
||||
create_style(number_format_array_[i]);
|
||||
|
||||
@ -432,7 +432,7 @@ void odf_number_styles_context::create_numbers(number_format_state & state, offi
|
||||
|
||||
boost::algorithm::split(numbers, str1, boost::algorithm::is_any_of(L".,"), boost::algorithm::token_compress_on);
|
||||
int ind=1;//
|
||||
for (long i=0;i<numbers.size();i++)
|
||||
for (size_t i = 0;i < numbers.size(); i++)
|
||||
{
|
||||
if (numbers[i].length()<1)continue;
|
||||
if (ind==1)min_digit= numbers[i].length();
|
||||
|
||||
@ -106,7 +106,7 @@ void odf_page_layout_context::add_master_page(std::wstring page_name)
|
||||
|
||||
void odf_page_layout_context::process_master_styles(office_element_ptr root )
|
||||
{
|
||||
for (long i =0; i < master_state_list_.size(); i++)
|
||||
for (size_t i =0 ; i < master_state_list_.size(); i++)
|
||||
{
|
||||
try
|
||||
{
|
||||
@ -532,7 +532,7 @@ void odf_page_layout_context::set_pages_mirrored(bool val)
|
||||
{
|
||||
//for all
|
||||
|
||||
for (long i=0; i < layout_state_list_.size(); i++)
|
||||
for (size_t i = 0; i < layout_state_list_.size(); i++)
|
||||
{
|
||||
layout_state_list_[i].set_pages_mirrored(val);
|
||||
}
|
||||
|
||||
@ -175,7 +175,7 @@ style_page_layout_properties *odf_layout_state::get_properties()
|
||||
{
|
||||
style_page_layout_properties *result=NULL;
|
||||
|
||||
for (long i= 1; i<elements_.size(); i++)//"0" - root
|
||||
for (size_t i= 1; i<elements_.size(); i++)//"0" - root
|
||||
{
|
||||
result = dynamic_cast<style_page_layout_properties *>(elements_[i].elm.get());
|
||||
if (result) return result;
|
||||
@ -185,7 +185,7 @@ style_page_layout_properties *odf_layout_state::get_properties()
|
||||
|
||||
style_header_footer_properties *odf_layout_state::get_header_properties()
|
||||
{
|
||||
for (long i = 1; i < elements_.size(); i++)//"0" - root
|
||||
for (size_t i = 1; i < elements_.size(); i++)//"0" - root
|
||||
{
|
||||
style_header_style *style_ = dynamic_cast<style_header_style *>(elements_[i].elm.get());
|
||||
if (style_)
|
||||
@ -197,7 +197,7 @@ style_header_footer_properties *odf_layout_state::get_header_properties()
|
||||
}
|
||||
style_header_footer_properties *odf_layout_state::get_footer_properties()
|
||||
{
|
||||
for (long i = 1; i < elements_.size(); i++)//"0" - root
|
||||
for (size_t i = 1; i < elements_.size(); i++)//"0" - root
|
||||
{
|
||||
style_footer_style *style_ = dynamic_cast<style_footer_style *>(elements_[i].elm.get());
|
||||
if (style_)
|
||||
|
||||
@ -142,7 +142,7 @@ void odf_settings_context::process_office_settings(office_element_ptr root )
|
||||
if (item_map_indexed) item_map_indexed->config_name_ = L"Views";
|
||||
}
|
||||
|
||||
for (int v = 0 ; v < views_.size(); v++)
|
||||
for (size_t v = 0 ; v < views_.size(); v++)
|
||||
{
|
||||
office_element_ptr views_entry_elm;
|
||||
{
|
||||
@ -150,7 +150,7 @@ void odf_settings_context::process_office_settings(office_element_ptr root )
|
||||
views_elm->add_child_element(views_entry_elm);
|
||||
}
|
||||
|
||||
for (int i = 0; i < views_[v].content.size(); i++)
|
||||
for (size_t i = 0; i < views_[v].content.size(); i++)
|
||||
{
|
||||
views_entry_elm->add_child_element(views_[v].content[i]);
|
||||
}
|
||||
@ -164,7 +164,7 @@ void odf_settings_context::process_office_settings(office_element_ptr root )
|
||||
item_map_named= dynamic_cast<settings_config_item_map_named*>(tables_elm.get());
|
||||
if (item_map_named) item_map_named->config_name_ = L"Tables";
|
||||
|
||||
for (int t = 0 ; t < views_[v].tables.size(); t++)
|
||||
for (size_t t = 0 ; t < views_[v].tables.size(); t++)
|
||||
{
|
||||
office_element_ptr table_elm;
|
||||
create_element(L"config", L"config-item-map-entry", table_elm, odf_context_);
|
||||
@ -173,7 +173,7 @@ void odf_settings_context::process_office_settings(office_element_ptr root )
|
||||
item_map_entry= dynamic_cast<settings_config_item_map_entry*>(table_elm.get());
|
||||
if (item_map_entry) item_map_entry->config_name_ = views_[v].tables[t].name;
|
||||
|
||||
for (int j = 0; j < views_[v].tables[t].content.size(); j++)
|
||||
for (size_t j = 0; j < views_[v].tables[t].content.size(); j++)
|
||||
{
|
||||
table_elm->add_child_element(views_[v].tables[t].content[j]);
|
||||
}
|
||||
@ -190,7 +190,7 @@ void odf_settings_context::process_office_settings(office_element_ptr root )
|
||||
item_set = dynamic_cast<settings_config_item_set*>(ooo_config_elm.get());
|
||||
if (item_set) item_set->config_name_ = L"ooo:configuration-settings";
|
||||
|
||||
for (int j = 0; j < config_content_.size(); j++)
|
||||
for (size_t j = 0; j < config_content_.size(); j++)
|
||||
{
|
||||
ooo_config_elm->add_child_element(config_content_[j]);
|
||||
}
|
||||
|
||||
@ -80,7 +80,7 @@ void odf_style_context::set_odf_context(odf_conversion_context * Context)
|
||||
|
||||
odf_style_state_ptr odf_style_context::last_state(style_family::type family)
|
||||
{
|
||||
for (long i = style_state_list_.size()-1; i>=0; i--)
|
||||
for (size_t i = style_state_list_.size()-1; i>=0; i--)
|
||||
{
|
||||
if (style_state_list_[i]->get_family_type() == family || family == style_family::None )
|
||||
{
|
||||
@ -144,7 +144,7 @@ void odf_style_context::reset_defaults()
|
||||
|
||||
void odf_style_context::process_automatic_for_styles(office_element_ptr root )
|
||||
{//автоматические стили для эементнов стилей
|
||||
for (long i =0; i < style_state_list_.size(); i++)
|
||||
for (size_t i =0; i < style_state_list_.size(); i++)
|
||||
{
|
||||
if (style_state_list_[i]->writable_ == false) continue;
|
||||
|
||||
@ -154,7 +154,7 @@ void odf_style_context::process_automatic_for_styles(office_element_ptr root )
|
||||
}
|
||||
void odf_style_context::process_automatic_styles(office_element_ptr root )
|
||||
{//автоматические стили для элементов
|
||||
for (long i =0; i < style_state_list_.size(); i++)
|
||||
for (size_t i =0; i < style_state_list_.size(); i++)
|
||||
{
|
||||
if (style_state_list_[i]->writable_ == false) continue;
|
||||
|
||||
@ -167,7 +167,7 @@ void odf_style_context::process_office_styles(office_element_ptr root )
|
||||
{
|
||||
number_styles_context_.process_styles(root );
|
||||
|
||||
for (long i =0; i < style_state_list_.size(); i++)
|
||||
for (size_t i =0; i < style_state_list_.size(); i++)
|
||||
{
|
||||
if (style_state_list_[i]->writable_ == false) continue;
|
||||
|
||||
@ -179,7 +179,7 @@ void odf_style_context::process_office_styles(office_element_ptr root )
|
||||
}
|
||||
std::wstring odf_style_context::find_odf_style_name(int oox_id_style, style_family::type family, bool root, bool automatic)
|
||||
{
|
||||
for (long i =0; i < style_state_list_.size(); i++)
|
||||
for (size_t i =0; i < style_state_list_.size(); i++)
|
||||
{
|
||||
if (style_state_list_[i]->odf_style_)
|
||||
{
|
||||
@ -199,7 +199,7 @@ std::wstring odf_style_context::find_odf_style_name(int oox_id_style, style_fami
|
||||
//office_element_ptr odf_style_context::find_odf_style(int oox_id_style, style_family::type family, bool root, _CP_OPT(bool) automatic)
|
||||
//{
|
||||
// //for (std::list<odf_style_state>::iterator it = style_state_list_.begin(); it != style_state_list_.end(); it++)
|
||||
// for (int i=0;i<style_state_list_.size(); i++)
|
||||
// for (size_t i=0;i<style_state_list_.size(); i++)
|
||||
// {
|
||||
// if (style_state_list_[i]->odf_style_)
|
||||
// {
|
||||
@ -218,7 +218,7 @@ std::wstring odf_style_context::find_odf_style_name(int oox_id_style, style_fami
|
||||
//}
|
||||
std::wstring odf_style_context::find_conditional_style_name(int oox_id_style, style_family::type family)
|
||||
{
|
||||
for (long i =0; i < style_state_list_.size(); i++)
|
||||
for (size_t i =0; i < style_state_list_.size(); i++)
|
||||
{
|
||||
if (style_state_list_[i]->odf_style_)
|
||||
{
|
||||
@ -235,7 +235,7 @@ std::wstring odf_style_context::find_conditional_style_name(int oox_id_style, st
|
||||
}
|
||||
office_element_ptr odf_style_context::find_conditional_style(int oox_id_style, style_family::type family)
|
||||
{
|
||||
for (int i=0;i<style_state_list_.size(); i++)
|
||||
for (size_t i = 0; i < style_state_list_.size(); i++)
|
||||
{
|
||||
if (style_state_list_[i]->odf_style_)
|
||||
{
|
||||
@ -252,7 +252,7 @@ office_element_ptr odf_style_context::find_conditional_style(int oox_id_style, s
|
||||
}
|
||||
bool odf_style_context::find_odf_style_state(int oox_id_style, style_family::type family, odf_style_state_ptr & state, bool root, bool automatic)
|
||||
{
|
||||
for (int i=0;i<style_state_list_.size(); i++)
|
||||
for (size_t i = 0; i < style_state_list_.size(); i++)
|
||||
{
|
||||
if (style_state_list_[i]->odf_style_)
|
||||
{
|
||||
@ -275,7 +275,7 @@ bool odf_style_context::find_odf_style_state(int oox_id_style, style_family::typ
|
||||
}
|
||||
bool odf_style_context::find_odf_default_style_state(style_family::type family, odf_style_state_ptr & state)
|
||||
{
|
||||
for (int i=0;i<style_state_list_.size(); i++)
|
||||
for (size_t i=0;i<style_state_list_.size(); i++)
|
||||
{
|
||||
if (style_state_list_[i]->default_ == false) continue;
|
||||
|
||||
@ -290,7 +290,7 @@ bool odf_style_context::find_odf_default_style_state(style_family::type family,
|
||||
|
||||
bool odf_style_context::find_odf_style_state(std::wstring style_name, style_family::type family, odf_style_state_ptr & state)
|
||||
{
|
||||
for (int i=0;i<style_state_list_.size(); i++)
|
||||
for (size_t i = 0; i < style_state_list_.size(); i++)
|
||||
{
|
||||
if (style_state_list_[i]->odf_style_)
|
||||
{
|
||||
@ -308,7 +308,7 @@ bool odf_style_context::find_odf_style_state(std::wstring style_name, style_fami
|
||||
|
||||
bool odf_style_context::find_odf_style(std::wstring style_name, style_family::type family, style *& style_)
|
||||
{
|
||||
for (int i=0;i<style_state_list_.size(); i++)
|
||||
for (size_t i = 0; i < style_state_list_.size(); i++)
|
||||
{
|
||||
if (style_state_list_[i]->odf_style_)
|
||||
{
|
||||
@ -325,7 +325,7 @@ bool odf_style_context::find_odf_style(std::wstring style_name, style_family::ty
|
||||
}
|
||||
office_element_ptr odf_style_context::find_odf_style_default(style_family::type family)
|
||||
{
|
||||
for (int i=0; i < current_default_styles_.size(); i++)
|
||||
for (size_t i=0; i < current_default_styles_.size(); i++)
|
||||
{
|
||||
if (current_default_styles_[i]->odf_style_)
|
||||
{
|
||||
@ -336,7 +336,7 @@ office_element_ptr odf_style_context::find_odf_style_default(style_family::type
|
||||
}
|
||||
std::wstring odf_style_context::find_odf_style_name_default(style_family::type family)
|
||||
{
|
||||
for (int i = 0; i < current_default_styles_.size(); i++)
|
||||
for (size_t i = 0; i < current_default_styles_.size(); i++)
|
||||
{
|
||||
if (current_default_styles_[i]->odf_style_)
|
||||
{
|
||||
@ -390,7 +390,7 @@ std::wstring odf_style_context::find_free_name(style_family::type family)
|
||||
int count = style_family_counts_[(int)family];
|
||||
|
||||
//доооолго .. проще хранить
|
||||
//for (int i=0;i<style_state_list_.size(); i++)
|
||||
//for (size_t i=0;i<style_state_list_.size(); i++)
|
||||
//{
|
||||
// if ((style_state_list_[i]->odf_style_) && (style_state_list_[i]->get_family_type() == family))
|
||||
// {
|
||||
@ -402,7 +402,7 @@ std::wstring odf_style_context::find_free_name(style_family::type family)
|
||||
}
|
||||
office_element_ptr & odf_style_context::add_or_find(std::wstring name, style_family::type family, bool automatic , bool root, int oox_id)
|
||||
{
|
||||
for (int i=0;i<style_state_list_.size(); i++)
|
||||
for (size_t i=0;i<style_state_list_.size(); i++)
|
||||
{
|
||||
if (style_state_list_[i]->odf_style_)
|
||||
{
|
||||
|
||||
@ -172,7 +172,7 @@ void odf_table_context::start_table(office_element_ptr &elm, bool styled)
|
||||
void odf_table_context::end_table()
|
||||
{
|
||||
//последние объединенные по вертикали ячейки ..
|
||||
for (long i =0 ; i < impl_->current_table().columns.size(); i++)
|
||||
for (size_t i =0 ; i < impl_->current_table().columns.size(); i++)
|
||||
{
|
||||
impl_->current_table().current_column = i+1;
|
||||
set_cell_row_span_restart();
|
||||
|
||||
@ -283,7 +283,7 @@ std::wstring ods_table_state::get_column_default_cell_style(int column)
|
||||
{
|
||||
int curr=0;
|
||||
|
||||
for (int i=0; i < columns_.size(); i++)
|
||||
for (size_t i=0; i < columns_.size(); i++)
|
||||
{
|
||||
if (curr + columns_[i].repeated < column + 1)continue;
|
||||
else
|
||||
@ -400,7 +400,7 @@ bool ods_table_state::is_cell_comment()
|
||||
|
||||
int ods_table_state::is_cell_hyperlink(int col, int row)
|
||||
{
|
||||
for (long i=0; i< hyperlinks_.size();i++)
|
||||
for (size_t i=0; i < hyperlinks_.size();i++)
|
||||
{
|
||||
if (hyperlinks_[i].col == col && hyperlinks_[i].row == row)
|
||||
{
|
||||
@ -411,7 +411,7 @@ int ods_table_state::is_cell_hyperlink(int col, int row)
|
||||
}
|
||||
int ods_table_state::is_cell_comment(int col, int row, short repeate_col)
|
||||
{
|
||||
for (long i=0; i< comments_.size();i++)
|
||||
for (size_t i = 0; i < comments_.size(); i++)
|
||||
{
|
||||
if ((comments_[i].col < col+repeate_col && comments_[i].col >= col) && comments_[i].row == row)
|
||||
{
|
||||
@ -590,7 +590,7 @@ void ods_table_state::end_comment(odf_text_context *text_context)
|
||||
{
|
||||
if (text_context == NULL || comments_.size() <1 )return;
|
||||
|
||||
for (long i=0; i< text_context->text_elements_list_.size(); i++)
|
||||
for (size_t i = 0; i < text_context->text_elements_list_.size(); i++)
|
||||
{
|
||||
if (text_context->text_elements_list_[i].level ==0 && comments_.back().elm)
|
||||
{
|
||||
@ -739,7 +739,7 @@ void ods_table_state::add_or_find_cell_shared_formula(std::wstring & formula, st
|
||||
}
|
||||
else
|
||||
{
|
||||
for (int i=0; i<shared_formulas_.size() ;i++)
|
||||
for (size_t i = 0; i < shared_formulas_.size() ;i++)
|
||||
{
|
||||
if (shared_formulas_[i].index == ind)
|
||||
{
|
||||
@ -825,7 +825,7 @@ void ods_table_state::add_child_element( const office_element_ptr & child_elemen
|
||||
void ods_table_state::convert_position(oox_table_position & oox_pos, double & x, double & y)//c 0 отсчет
|
||||
{
|
||||
double sz_col=0;
|
||||
int curr_col = 0,i;
|
||||
size_t curr_col = 0, i;
|
||||
|
||||
for (i = 0; i < columns_.size(); i++)
|
||||
{
|
||||
@ -850,7 +850,8 @@ void ods_table_state::convert_position(oox_table_position & oox_pos, double & x,
|
||||
x = sz_col + oox_pos.col_off;
|
||||
|
||||
double sz_row=0;
|
||||
int curr_row =0;
|
||||
|
||||
size_t curr_row =0 ;
|
||||
for (i = 0; i < rows_.size(); i++)
|
||||
{
|
||||
if (oox_pos.row > rows_[i].repeated + curr_row)
|
||||
@ -880,7 +881,7 @@ void ods_table_state::set_cell_text(odf_text_context* text_context, bool cash_va
|
||||
{
|
||||
if (text_context == NULL)return;
|
||||
|
||||
for (long i=0; i< text_context->text_elements_list_.size(); i++)
|
||||
for (size_t i = 0; i< text_context->text_elements_list_.size(); i++)
|
||||
{
|
||||
if (text_context->text_elements_list_[i].level ==0)
|
||||
{
|
||||
|
||||
@ -117,14 +117,14 @@ void odt_conversion_context::start_document()
|
||||
void odt_conversion_context::end_document()
|
||||
{
|
||||
//add sections to root
|
||||
for (long i=0; i< sections_.size(); i++)
|
||||
for (size_t i = 0; i< sections_.size(); i++)
|
||||
{
|
||||
root_document_->add_child_element(sections_[i].elm);
|
||||
}
|
||||
sections_.clear();
|
||||
|
||||
//add last elements to root
|
||||
for (long i=0; i< current_root_elements_.size(); i++)
|
||||
for (size_t i = 0; i< current_root_elements_.size(); i++)
|
||||
{
|
||||
root_document_->add_child_element(current_root_elements_[i].elm);
|
||||
}
|
||||
@ -246,7 +246,7 @@ void odt_conversion_context::end_drawings()
|
||||
bool bSet = false;
|
||||
if (( anchor == anchor_type::Page || anchor == anchor_type::Paragraph) || (is_header_ || is_footer_))
|
||||
{
|
||||
for (long i = text_context()->current_level_.size()-1; i>=0; i--)
|
||||
for (long i = (long)text_context()->current_level_.size() - 1 ; i>=0; i--)
|
||||
{
|
||||
text_p *p = dynamic_cast<text_p*>(text_context()->current_level_[i].elm.get());
|
||||
text_h *h = dynamic_cast<text_h*>(text_context()->current_level_[i].elm.get());
|
||||
@ -513,7 +513,7 @@ void odt_conversion_context::add_section_column(std::vector<std::pair<double,dou
|
||||
if (!columns)return;
|
||||
|
||||
double width_all = 0;
|
||||
for (int i = 0; i < width_space.size() ; i++)
|
||||
for (size_t i = 0; i < width_space.size() ; i++)
|
||||
{
|
||||
if (width_space[i].first >= 0)
|
||||
|
||||
@ -527,7 +527,7 @@ void odt_conversion_context::add_section_column(std::vector<std::pair<double,dou
|
||||
|
||||
section_properties->style_editable_ = false;
|
||||
|
||||
for (int i = 0; i < width_space.size() && width_all > 0 ; i++)
|
||||
for (size_t i = 0; i < width_space.size() && width_all > 0 ; i++)
|
||||
{
|
||||
office_element_ptr col_elm;
|
||||
|
||||
@ -634,7 +634,7 @@ void odt_conversion_context::flush_section()
|
||||
{
|
||||
if (sections_.size() > 0 && sections_.back().empty)
|
||||
{
|
||||
for (long i=0; i< current_root_elements_.size(); i++)
|
||||
for (size_t i=0; i< current_root_elements_.size(); i++)
|
||||
{
|
||||
if ((sections_.back().continuous && i < 2) || !sections_.back().continuous)
|
||||
// при вставлении параграфа возможен искусственный разрыв в параграфах - см add_page_break
|
||||
|
||||
@ -269,7 +269,7 @@ void text_span::add_child_element( const office_element_ptr & child_element)
|
||||
void text_span::add_text(const std::wstring & Text)
|
||||
{
|
||||
int bSpace = true;
|
||||
for (int i = 0 ; i < Text.size() ; i++)
|
||||
for (size_t i = 0 ; i < Text.size() ; i++)
|
||||
{
|
||||
if (Text[i] != 0x20)
|
||||
{
|
||||
@ -306,7 +306,7 @@ void text_a::serialize(std::wostream & _Wostream)
|
||||
CP_XML_ATTR_OPT(L"text:style-name", text_style_name_);
|
||||
CP_XML_ATTR_OPT(L"text:visited-style-name", text_visited_style_name_);
|
||||
|
||||
for (int i = 0; i < paragraph_content_.size(); i++)
|
||||
for (size_t i = 0; i < paragraph_content_.size(); i++)
|
||||
{
|
||||
paragraph_content_[i]->serialize(CP_XML_STREAM());
|
||||
}
|
||||
@ -358,7 +358,7 @@ void text_note_citation::serialize(std::wostream & _Wostream)
|
||||
{
|
||||
CP_XML_ATTR_OPT(L"text:label", text_label_);
|
||||
|
||||
for (int i = 0; i < content_.size(); i++)
|
||||
for (size_t i = 0; i < content_.size(); i++)
|
||||
{
|
||||
content_[i]->serialize(CP_XML_STREAM());
|
||||
}
|
||||
@ -386,7 +386,7 @@ void text_note_body::serialize(std::wostream & _Wostream)
|
||||
{
|
||||
CP_XML_NODE_SIMPLE()
|
||||
{
|
||||
for (int i = 0; i < content_.size(); i++)
|
||||
for (size_t i = 0; i < content_.size(); i++)
|
||||
{
|
||||
content_[i]->serialize(CP_XML_STREAM());
|
||||
}
|
||||
|
||||
@ -106,7 +106,7 @@ void text_list_style::serialize(std::wostream & strm)
|
||||
{
|
||||
text_list_style_attr_.serialize(CP_GET_XML_NODE());
|
||||
|
||||
for (int i = 0; i < text_list_style_content_.size(); i++)
|
||||
for (size_t i = 0; i < text_list_style_content_.size(); i++)
|
||||
{
|
||||
if (text_list_style_content_[i])
|
||||
text_list_style_content_[i]->serialize(CP_XML_STREAM());
|
||||
|
||||
@ -578,7 +578,7 @@ public:
|
||||
|
||||
virtual void serialize(std::wostream & _Wostream);
|
||||
|
||||
int get_count(){return content_.size();}//временно .. для группировок
|
||||
int get_count(){return (int)content_.size();}//временно .. для группировок
|
||||
|
||||
office_element_ptr_array content_;
|
||||
//int type_;
|
||||
|
||||
@ -80,7 +80,7 @@ void table_database_ranges::serialize(std::wostream & _Wostream)
|
||||
{
|
||||
CP_XML_NODE_SIMPLE()
|
||||
{
|
||||
for (int i = 0; i < database_ranges_.size(); i++)
|
||||
for (size_t i = 0; i < database_ranges_.size(); i++)
|
||||
{
|
||||
database_ranges_[i]->serialize(CP_XML_STREAM());
|
||||
}
|
||||
|
||||
@ -88,11 +88,11 @@ void table_named_expressions::serialize(std::wostream & _Wostream)
|
||||
{
|
||||
CP_XML_NODE_SIMPLE()
|
||||
{
|
||||
for (int i = 0; i < named_expression_.size(); i++)
|
||||
for (size_t i = 0; i < named_expression_.size(); i++)
|
||||
{
|
||||
named_expression_[i]->serialize(CP_XML_STREAM());
|
||||
}
|
||||
for (int i = 0; i < named_range_.size(); i++)
|
||||
for (size_t i = 0; i < named_range_.size(); i++)
|
||||
{
|
||||
named_range_[i]->serialize(CP_XML_STREAM());
|
||||
}
|
||||
|
||||
@ -272,7 +272,7 @@ void text_section::serialize(std::wostream & _Wostream)
|
||||
if (text_section_source_)
|
||||
text_section_source_->serialize(CP_XML_STREAM());
|
||||
|
||||
for (int i = 0 ; i < content_.size(); i++)
|
||||
for (size_t i = 0 ; i < content_.size(); i++)
|
||||
{
|
||||
content_[i]->serialize(CP_XML_STREAM());
|
||||
}
|
||||
@ -321,7 +321,7 @@ void text_index_body::serialize(std::wostream & _Wostream)
|
||||
{
|
||||
CP_XML_NODE_SIMPLE()
|
||||
{
|
||||
for (int i = 0 ; i < index_content_main_.size(); i++)
|
||||
for (size_t i = 0 ; i < index_content_main_.size(); i++)
|
||||
{
|
||||
index_content_main_[i]->serialize(CP_XML_STREAM());
|
||||
}
|
||||
@ -350,7 +350,7 @@ void text_index_title::serialize(std::wostream & _Wostream)
|
||||
{
|
||||
CP_XML_NODE_SIMPLE()
|
||||
{
|
||||
for (int i = 0 ; i < index_content_main_.size(); i++)
|
||||
for (size_t i = 0 ; i < index_content_main_.size(); i++)
|
||||
{
|
||||
index_content_main_[i]->serialize(CP_XML_STREAM());
|
||||
}
|
||||
@ -426,7 +426,7 @@ void text_tracked_changes::serialize(std::wostream & _Wostream)
|
||||
{
|
||||
CP_XML_NODE_SIMPLE()
|
||||
{
|
||||
for (int i = 0 ; i < content_.size(); i++)
|
||||
for (size_t i = 0 ; i < content_.size(); i++)
|
||||
{
|
||||
content_[i]->serialize (CP_XML_STREAM());
|
||||
}
|
||||
@ -446,7 +446,7 @@ void text_insertion::serialize(std::wostream & _Wostream)
|
||||
if (office_change_info_)
|
||||
office_change_info_->serialize(CP_XML_STREAM());
|
||||
|
||||
for (int i = 0 ; i < content_.size(); i++)
|
||||
for (size_t i = 0 ; i < content_.size(); i++)
|
||||
{
|
||||
content_[i]->serialize(CP_XML_STREAM());
|
||||
}
|
||||
@ -466,7 +466,7 @@ void text_deletion::serialize(std::wostream & _Wostream)
|
||||
if (office_change_info_)
|
||||
office_change_info_->serialize(CP_XML_STREAM());
|
||||
|
||||
for (int i = 0 ; i < content_.size(); i++)
|
||||
for (size_t i = 0 ; i < content_.size(); i++)
|
||||
{
|
||||
content_[i]->serialize(CP_XML_STREAM());
|
||||
}
|
||||
@ -489,7 +489,7 @@ void text_format_change::serialize(std::wostream & _Wostream)
|
||||
if (office_change_info_)
|
||||
office_change_info_->serialize(CP_XML_STREAM());
|
||||
|
||||
for (int i = 0 ; i < content_.size(); i++)
|
||||
for (size_t i = 0 ; i < content_.size(); i++)
|
||||
{
|
||||
content_[i]->serialize(CP_XML_STREAM());
|
||||
}
|
||||
@ -525,7 +525,7 @@ void text_unknown_change::serialize(std::wostream & _Wostream)
|
||||
if (office_change_info_)
|
||||
office_change_info_->serialize(CP_XML_STREAM());
|
||||
|
||||
for (int i = 0 ; i < content_.size(); i++)
|
||||
for (size_t i = 0 ; i < content_.size(); i++)
|
||||
{
|
||||
content_[i]->serialize(CP_XML_STREAM());
|
||||
}
|
||||
|
||||
@ -85,9 +85,10 @@ void OoxConverter::convert(PPTX::Logic::Shape *oox_shape)
|
||||
|
||||
if (type == SimpleTypes::shapetypeRect && oox_shape->txBody.IsInit()) type = 2000;
|
||||
|
||||
if (type == 2000 && oox_shape->txBody->bodyPr.fromWordArt.get_value_or(false))
|
||||
if (type == 2000 && oox_shape->txBody->bodyPr.IsInit()
|
||||
&& oox_shape->txBody->bodyPr->fromWordArt.get_value_or(false))
|
||||
{
|
||||
int wordart_type = convert(oox_shape->txBody->bodyPr.prstTxWarp.GetPointer());
|
||||
int wordart_type = convert(oox_shape->txBody->bodyPr->prstTxWarp.GetPointer());
|
||||
|
||||
if (wordart_type > 0) type = wordart_type;
|
||||
}
|
||||
@ -111,7 +112,7 @@ void OoxConverter::convert(PPTX::Logic::Shape *oox_shape)
|
||||
odf_context()->drawing_context()->set_text( odf_context()->text_context());
|
||||
|
||||
//наложим внешние настройки для текста
|
||||
convert(&oox_shape->txBody->bodyPr);
|
||||
convert(oox_shape->txBody->bodyPr.GetPointer());
|
||||
|
||||
if (oox_shape->style.IsInit())
|
||||
{
|
||||
@ -281,15 +282,15 @@ void OoxConverter::convert(PPTX::Logic::PathBase *oox_path)
|
||||
}
|
||||
if (cubicBezTo)
|
||||
{
|
||||
std::wstring path_elm = cubicBezTo->x1 + L" " + cubicBezTo->y1 + L" " +
|
||||
cubicBezTo->x2 + L" " + cubicBezTo->y2 + L" " +
|
||||
cubicBezTo->x3 + L" " + cubicBezTo->y3;
|
||||
std::wstring path_elm = cubicBezTo->x[0] + L" " + cubicBezTo->y[0] + L" " +
|
||||
cubicBezTo->x[1] + L" " + cubicBezTo->y[1] + L" " +
|
||||
cubicBezTo->x[2] + L" " + cubicBezTo->y[2];
|
||||
odf_context()->drawing_context()->add_path_element(std::wstring(L"C"), path_elm);
|
||||
}
|
||||
if (quadBezTo)
|
||||
{
|
||||
std::wstring path_elm = quadBezTo->x1 + L" " + quadBezTo->y1 + L" " +
|
||||
quadBezTo->x2 + L" " + quadBezTo->y2;
|
||||
std::wstring path_elm = quadBezTo->x[0] + L" " + quadBezTo->y[0] + L" " +
|
||||
quadBezTo->x[1] + L" " + quadBezTo->y[1];
|
||||
odf_context()->drawing_context()->add_path_element(std::wstring(L"S"), path_elm);
|
||||
}
|
||||
if (arcTo)
|
||||
|
||||
@ -926,7 +926,7 @@ void OoxConverter::convert(OOX::Vml::CGroup *vml_group)
|
||||
if (vml->m_oSpt.IsInit())
|
||||
{
|
||||
SimpleTypes::Vml::SptType sptType = static_cast<SimpleTypes::Vml::SptType>(vml->m_oSpt->GetValue());
|
||||
odf_context()->drawing_context()->start_shape(OOX::Spt2ShapeType(sptType));
|
||||
odf_context()->drawing_context()->start_shape(OOX::VmlShapeType2PrstShape(sptType));
|
||||
bSet = true;
|
||||
}
|
||||
else if ((vml->m_oConnectorType.IsInit()) && (vml->m_oConnectorType->GetValue() != SimpleTypes::connectortypeNone))
|
||||
@ -955,7 +955,7 @@ void OoxConverter::convert(OOX::Vml::CGroup *vml_group)
|
||||
OOX::Vml::CShapeType * vml = static_cast<OOX::Vml::CShapeType*>(vml_group->m_arrItems[i]);
|
||||
SimpleTypes::Vml::SptType sptType = vml->m_oSpt.IsInit() ? static_cast<SimpleTypes::Vml::SptType>(vml->m_oSpt->GetValue()) : SimpleTypes::Vml::sptNotPrimitive;
|
||||
|
||||
odf_context()->drawing_context()->start_shape(OOX::Spt2ShapeType(sptType));
|
||||
odf_context()->drawing_context()->start_shape(OOX::VmlShapeType2PrstShape(sptType));
|
||||
OoxConverter::convert(vml);
|
||||
odf_context()->drawing_context()->end_shape();
|
||||
}break;
|
||||
|
||||
@ -395,7 +395,7 @@ void OoxConverter::convert(OOX::Drawing::CDiagrammParts *oox_diagramm)
|
||||
|
||||
if (oFile.is_init() && OOX::FileTypes::DiagDrawing == oFile->type())
|
||||
{
|
||||
_CP_OPT(double) x, y, width, height, cx = 0, cy = 0;
|
||||
_CP_OPT(double) x, y, width, height, cx, cy;
|
||||
|
||||
odf_context()->drawing_context()->get_size (width, height);
|
||||
odf_context()->drawing_context()->get_position (x, y);
|
||||
@ -657,12 +657,12 @@ void OoxConverter::convert(OOX::Drawing::CShapeProperties * oox_spPr, OOX::Dra
|
||||
|
||||
odf_context()->drawing_context()->start_line_properties();
|
||||
{
|
||||
if (oox_spPr->m_oLn.IsInit())
|
||||
convert(oox_spPr->m_oLn.GetPointer()); //CLineProperties
|
||||
else if ((oox_sp_style) && (oox_sp_style->m_oLnRef.getType() == OOX::et_a_lnRef))
|
||||
if ((oox_sp_style) && (oox_sp_style->m_oLnRef.getType() == OOX::et_a_lnRef))
|
||||
{
|
||||
convert(&oox_sp_style->m_oLnRef);
|
||||
}
|
||||
if (oox_spPr->m_oLn.IsInit())
|
||||
convert(oox_spPr->m_oLn.GetPointer()); //CLineProperties
|
||||
}
|
||||
odf_context()->drawing_context()->end_line_properties();
|
||||
//-----------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
@ -270,7 +270,6 @@ namespace OOX
|
||||
class CT_Style1;
|
||||
class CT_Style;
|
||||
class CT_TextLanguageID;
|
||||
class CRichText;
|
||||
class CTextProperties;
|
||||
}
|
||||
namespace Vml
|
||||
@ -380,7 +379,7 @@ public:
|
||||
OOX::Spreadsheet::IFileContainer *oox_current_child_document_spreadsheet;
|
||||
OOX::IFileContainer *oox_current_child_document;
|
||||
|
||||
void convert (double oox_font_size, cpdoccore::_CP_OPT(cpdoccore::odf_types::font_size) & odf_font_size);
|
||||
void convert (double oox_font_size, _CP_OPT(cpdoccore::odf_types::font_size) & odf_font_size);
|
||||
bool convert (int indexSchemeColor, BYTE& ucA, BYTE& ucG, BYTE& ucB, BYTE& ucR);
|
||||
//.......................................................................................................................
|
||||
void convert(OOX::WritingElement *oox_unknown);
|
||||
@ -418,10 +417,10 @@ public:
|
||||
void convert(OOX::Drawing::CPath2DQuadBezierTo *oox_geom_path);
|
||||
void convert(OOX::Drawing::CPath2DCubicBezierTo *oox_geom_path);
|
||||
void convert(OOX::Drawing::CPath2DClose *oox_geom_path);
|
||||
void convert(OOX::Drawing::CColor *oox_color, std::wstring & hexColor , cpdoccore::_CP_OPT(double) &opacity);
|
||||
void convert(OOX::Drawing::CSchemeColor *oox_ShemeClr, std::wstring & hexString, cpdoccore::_CP_OPT(double) &opacity);
|
||||
void convert(OOX::Drawing::Colors::CColorTransform *oox_ScrgbClr, std::wstring & hexString, cpdoccore::_CP_OPT(double) &opacity);
|
||||
void convert(OOX::Drawing::CSolidColorFillProperties *oox_solid_fill,std::wstring & hexColor , cpdoccore::_CP_OPT(double) &opacity);
|
||||
void convert(OOX::Drawing::CColor *oox_color, std::wstring & hexColor , _CP_OPT(double) &opacity);
|
||||
void convert(OOX::Drawing::CSchemeColor *oox_ShemeClr, std::wstring & hexString, _CP_OPT(double) &opacity);
|
||||
void convert(OOX::Drawing::Colors::CColorTransform *oox_ScrgbClr, std::wstring & hexString, _CP_OPT(double) &opacity);
|
||||
void convert(OOX::Drawing::CSolidColorFillProperties *oox_solid_fill,std::wstring & hexColor , _CP_OPT(double) &opacity);
|
||||
|
||||
void convert(OOX::Drawing::CParagraph *oox_paragraph);
|
||||
void convert(OOX::Drawing::CParagraphProperty *oox_paragraph_pr, cpdoccore::odf_writer::style_paragraph_properties * paragraph_properties);
|
||||
@ -446,7 +445,7 @@ public:
|
||||
void convert(PPTX::Logic::PathBase *oox_path);
|
||||
void convert(PPTX::Logic::BodyPr *oox_bodyPr);
|
||||
void convert(PPTX::Logic::UniFill *oox_fill, PPTX::Logic::ShapeStyle* oox_sp_style = NULL);
|
||||
void convert(PPTX::Logic::UniColor *color, std::wstring & hexString, cpdoccore::_CP_OPT(double) & opacity);
|
||||
void convert(PPTX::Logic::UniColor *color, std::wstring & hexString, _CP_OPT(double) & opacity);
|
||||
void convert(PPTX::Logic::NvSpPr *oox_nvSpPr);
|
||||
void convert(PPTX::Logic::CNvPr *oox_cnvPr);
|
||||
void convert(PPTX::Logic::CNvSpPr *oox_cnvSpPr);
|
||||
@ -495,8 +494,8 @@ public:
|
||||
void convert(OOX::Spreadsheet::CT_LineSer *ser);
|
||||
void convert(OOX::Spreadsheet::CT_AxDataSource *cat, int type);
|
||||
void convert(OOX::Spreadsheet::CT_NumDataSource *val);
|
||||
void convert(OOX::Spreadsheet::CRichText *rich);
|
||||
void convert(OOX::Spreadsheet::CTextProperties *txPr);
|
||||
//void convert(OOX::Spreadsheet::CRichText *rich);
|
||||
//void convert(OOX::Spreadsheet::CTextProperties *txPr);
|
||||
void convert(OOX::Spreadsheet::CT_Tx *ct_tx);
|
||||
void convert(OOX::Spreadsheet::CT_Layout *ct_layout);
|
||||
void convert(OOX::Spreadsheet::CT_ManualLayout *ct_layout);
|
||||
|
||||
@ -73,32 +73,32 @@ void OoxConverter::convert(OOX::Spreadsheet::CT_ChartSpace *oox_chart)
|
||||
odf_context()->chart_context()->end_plot_area();
|
||||
}
|
||||
|
||||
void OoxConverter::convert(OOX::Spreadsheet::CRichText* rich)
|
||||
{
|
||||
if (rich == NULL)return;
|
||||
|
||||
odf_context()->chart_context()->start_text();
|
||||
OoxConverter::convert(rich->m_oBodyPr.GetPointer());
|
||||
|
||||
for (size_t i = 0; i < rich->m_arrItems.size();i++)
|
||||
{
|
||||
OoxConverter::convert(rich->m_arrItems[i]);
|
||||
}
|
||||
odf_context()->chart_context()->end_text();
|
||||
}
|
||||
void OoxConverter::convert(OOX::Spreadsheet::CTextProperties* txPr)
|
||||
{
|
||||
if (txPr == NULL)return;
|
||||
|
||||
odf_context()->chart_context()->start_text();
|
||||
OoxConverter::convert(txPr->m_oBodyPr.GetPointer());
|
||||
|
||||
for (size_t i = 0; i < txPr->m_arrItems.size();i++)
|
||||
{
|
||||
OoxConverter::convert(txPr->m_arrItems[i]);
|
||||
}
|
||||
odf_context()->chart_context()->end_text();
|
||||
}
|
||||
//void OoxConverter::convert(OOX::Spreadsheet::CRichText* rich)
|
||||
//{
|
||||
// if (rich == NULL)return;
|
||||
//
|
||||
// odf_context()->chart_context()->start_text();
|
||||
// OoxConverter::convert(rich->m_oBodyPr.GetPointer());
|
||||
//
|
||||
// for (size_t i = 0; i < rich->m_arrItems.size();i++)
|
||||
// {
|
||||
// OoxConverter::convert(rich->m_arrItems[i]);
|
||||
// }
|
||||
// odf_context()->chart_context()->end_text();
|
||||
//}
|
||||
//void OoxConverter::convert(OOX::Spreadsheet::CTextProperties* txPr)
|
||||
//{
|
||||
// if (txPr == NULL)return;
|
||||
//
|
||||
// odf_context()->chart_context()->start_text();
|
||||
// OoxConverter::convert(txPr->m_oBodyPr.GetPointer());
|
||||
//
|
||||
// for (size_t i = 0; i < txPr->m_arrItems.size();i++)
|
||||
// {
|
||||
// OoxConverter::convert(txPr->m_arrItems[i]);
|
||||
// }
|
||||
// odf_context()->chart_context()->end_text();
|
||||
//}
|
||||
void OoxConverter::convert(OOX::Spreadsheet::CT_Tx* ct_tx)
|
||||
{
|
||||
if (ct_tx == NULL)return;
|
||||
|
||||
@ -2074,8 +2074,9 @@ void DocxConverter::convert(OOX::Logic::CRunProperty *oox_run_pr, odf_writer::st
|
||||
}
|
||||
|
||||
bool set_color = false;
|
||||
if (oox_run_pr->m_oGradFill.IsInit())
|
||||
if (oox_run_pr->m_oTextFill.getType() == OOX::et_a_gradFill)
|
||||
{
|
||||
NSCommon::smart_ptr<PPTX::Logic::GradFill> gradFill = oox_run_pr->m_oTextFill.Fill.smart_dynamic_cast<PPTX::Logic::GradFill>();
|
||||
odf_writer::odf_drawing_context *drawing_context = odf_context()->drawing_context();
|
||||
if (drawing_context)
|
||||
{
|
||||
@ -2083,7 +2084,7 @@ void DocxConverter::convert(OOX::Logic::CRunProperty *oox_run_pr, odf_writer::st
|
||||
{
|
||||
odf_context()->drawing_context()->start_area_properties();
|
||||
{
|
||||
OoxConverter::convert(oox_run_pr->m_oGradFill.GetPointer(), NULL);
|
||||
OoxConverter::convert(gradFill.operator->());
|
||||
}
|
||||
odf_context()->drawing_context()->end_area_properties();
|
||||
|
||||
@ -2467,7 +2468,7 @@ void DocxConverter::convert(OOX::Logic::CPicture* oox_pic)
|
||||
SimpleTypes::Vml::SptType sptType = oox_pic->m_oShapeType->m_oSpt.IsInit() ? static_cast<SimpleTypes::Vml::SptType>(oox_pic->m_oShapeType->m_oSpt->GetValue()) : SimpleTypes::Vml::sptNotPrimitive;
|
||||
|
||||
odf_context()->drawing_context()->set_name(std::wstring (L"Custom") + std::to_wstring(sptType));
|
||||
odf_context()->drawing_context()->start_shape(OOX::Spt2ShapeType(sptType));
|
||||
odf_context()->drawing_context()->start_shape(OOX::VmlShapeType2PrstShape(sptType));
|
||||
|
||||
OoxConverter::convert(oox_pic->m_oShape.GetPointer());
|
||||
OoxConverter::convert(oox_pic->m_oShapeType.GetPointer());
|
||||
@ -2486,7 +2487,7 @@ void DocxConverter::convert(OOX::Logic::CPicture* oox_pic)
|
||||
if (sptType != SimpleTypes::Vml::SptType::sptNotPrimitive)
|
||||
{
|
||||
odf_context()->drawing_context()->set_name(std::wstring (L"Custom") + std::to_wstring(sptType));
|
||||
odf_context()->drawing_context()->start_shape(OOX::Spt2ShapeType(sptType));
|
||||
odf_context()->drawing_context()->start_shape(OOX::VmlShapeType2PrstShape(sptType));
|
||||
bSet = true;
|
||||
}
|
||||
else if ((oox_pic->m_oShape->m_oConnectorType.IsInit()) && (oox_pic->m_oShape->m_oConnectorType->GetValue() != SimpleTypes::connectortypeNone))
|
||||
@ -2518,7 +2519,7 @@ void DocxConverter::convert(OOX::Logic::CPicture* oox_pic)
|
||||
|
||||
if (!bSet && sptType != SimpleTypes::Vml::SptType::sptNotPrimitive)
|
||||
{
|
||||
odf_context()->drawing_context()->start_shape(OOX::Spt2ShapeType(sptType));
|
||||
odf_context()->drawing_context()->start_shape(OOX::VmlShapeType2PrstShape(sptType));
|
||||
bSet = true;
|
||||
}
|
||||
}
|
||||
@ -2528,7 +2529,7 @@ void DocxConverter::convert(OOX::Logic::CPicture* oox_pic)
|
||||
if (pos >= 0)
|
||||
{
|
||||
sptType = (SimpleTypes::Vml::SptType)_wtoi(oox_pic->m_oShape->m_sType->substr(pos + 9, oox_pic->m_oShape->m_sType->length() - pos - 9).c_str());
|
||||
odf_context()->drawing_context()->start_shape(OOX::Spt2ShapeType(sptType));
|
||||
odf_context()->drawing_context()->start_shape(OOX::VmlShapeType2PrstShape(sptType));
|
||||
bSet = true;
|
||||
}
|
||||
}
|
||||
@ -2578,7 +2579,7 @@ void DocxConverter::convert(OOX::Logic::CObject* oox_obj)
|
||||
if (sptType != SimpleTypes::Vml::SptType::sptNotPrimitive)
|
||||
{
|
||||
odf_context()->drawing_context()->set_name(std::wstring (L"Custom") + std::to_wstring(sptType));
|
||||
odf_context()->drawing_context()->start_shape(OOX::Spt2ShapeType(sptType));
|
||||
odf_context()->drawing_context()->start_shape(OOX::VmlShapeType2PrstShape(sptType));
|
||||
bSet = true;
|
||||
}
|
||||
else if ((oox_obj->m_oShape->m_oConnectorType.IsInit()) && (oox_obj->m_oShape->m_oConnectorType->GetValue() != SimpleTypes::connectortypeNone))
|
||||
|
||||
@ -35,7 +35,7 @@
|
||||
|
||||
namespace OOX
|
||||
{
|
||||
int static Spt2ShapeType(SimpleTypes::Vml::SptType type)
|
||||
static int VmlShapeType2PrstShape(SimpleTypes::Vml::SptType type)
|
||||
{
|
||||
switch(type)
|
||||
{
|
||||
@ -209,41 +209,41 @@ namespace OOX
|
||||
//case SimpleTypes::Vml::sptTextInflateTop : return SimpleTypes::shapetypeTextInflateTop ;
|
||||
//case SimpleTypes::Vml::sptTextDeflateTop : return SimpleTypes::shapetypeTextDeflateTop ;
|
||||
//case SimpleTypes::Vml::sptTextDeflateInflate : return SimpleTypes::shapetypeTextDeflateInflate ;
|
||||
//case SimpleTypes::Vml::sptTextDeflateInflateDeflate :return SimpleTypes::shapetypeTextDeflateInflateDeflat ;
|
||||
//case SimpleTypes::Vml::sptTextDeflateInflateDeflate : return SimpleTypes::shapetypeTextDeflateInflateDeflat ;
|
||||
//case SimpleTypes::Vml::sptTextFadeRight : return SimpleTypes::shapetypeTextFadeRight ;
|
||||
//case SimpleTypes::Vml::sptTextFadeLeft : return SimpleTypes::shapetypeTextFadeLeft ;
|
||||
//case SimpleTypes::Vml::sptTextFadeLeft : return SimpleTypes::shapetypeTextFadeLeft ;
|
||||
//case SimpleTypes::Vml::sptTextFadeUp : return SimpleTypes::shapetypeTextFadeUp ;
|
||||
//case SimpleTypes::Vml::sptTextFadeDown : return SimpleTypes::shapetypeTextFadeDown ;
|
||||
case SimpleTypes::Vml::sptTextSlantUp : return SimpleTypes::textshapetypeTextSlantUp +2001;
|
||||
case SimpleTypes::Vml::sptTextSlantDown : return SimpleTypes::textshapetypeTextSlantDown +2001;
|
||||
case SimpleTypes::Vml::sptTextCanUp : return SimpleTypes::textshapetypeTextCanUp +2001;
|
||||
case SimpleTypes::Vml::sptTextCanDown : return SimpleTypes::textshapetypeTextCanDown +2001;
|
||||
//case SimpleTypes::Vml::sptTextFadeDown : return SimpleTypes::shapetypeTextFadeDown ;
|
||||
case SimpleTypes::Vml::sptTextSlantUp : return SimpleTypes::textshapetypeTextSlantUp +2001;
|
||||
case SimpleTypes::Vml::sptTextSlantDown : return SimpleTypes::textshapetypeTextSlantDown +2001;
|
||||
case SimpleTypes::Vml::sptTextCanUp : return SimpleTypes::textshapetypeTextCanUp +2001;
|
||||
case SimpleTypes::Vml::sptTextCanDown : return SimpleTypes::textshapetypeTextCanDown +2001;
|
||||
|
||||
case SimpleTypes::Vml::sptFlowChartAlternateProcess :return SimpleTypes::shapetypeFlowChartAlternateProcess ;
|
||||
case SimpleTypes::Vml::sptFlowChartOffpageConnector :return SimpleTypes::shapetypeFlowChartOffpageConnector ;
|
||||
case SimpleTypes::Vml::sptCallout90 : return SimpleTypes::shapetypeCallout1 ;
|
||||
case SimpleTypes::Vml::sptFlowChartAlternateProcess : return SimpleTypes::shapetypeFlowChartAlternateProcess ;
|
||||
case SimpleTypes::Vml::sptFlowChartOffpageConnector : return SimpleTypes::shapetypeFlowChartOffpageConnector ;
|
||||
case SimpleTypes::Vml::sptCallout90 : return SimpleTypes::shapetypeCallout1 ;
|
||||
case SimpleTypes::Vml::sptAccentCallout90 : return SimpleTypes::shapetypeAccentCallout1 ;
|
||||
case SimpleTypes::Vml::sptBorderCallout90 : return SimpleTypes::shapetypeBorderCallout1;
|
||||
case SimpleTypes::Vml::sptAccentBorderCallout90 : return SimpleTypes::shapetypeAccentBorderCallout1 ;
|
||||
case SimpleTypes::Vml::sptLeftRightUpArrow : return SimpleTypes::shapetypeLeftRightUpArrow ;
|
||||
case SimpleTypes::Vml::sptAccentBorderCallout90 : return SimpleTypes::shapetypeAccentBorderCallout1 ;
|
||||
case SimpleTypes::Vml::sptLeftRightUpArrow : return SimpleTypes::shapetypeLeftRightUpArrow ;
|
||||
case SimpleTypes::Vml::sptSun : return SimpleTypes::shapetypeSun ;
|
||||
case SimpleTypes::Vml::sptMoon : return SimpleTypes::shapetypeMoon ;
|
||||
case SimpleTypes::Vml::sptMoon : return SimpleTypes::shapetypeMoon ;
|
||||
case SimpleTypes::Vml::sptBracketPair : return SimpleTypes::shapetypeBracketPair ;
|
||||
case SimpleTypes::Vml::sptBracePair : return SimpleTypes::shapetypeBracePair ;
|
||||
case SimpleTypes::Vml::sptSeal4 : return SimpleTypes::shapetypeStar4 ;
|
||||
case SimpleTypes::Vml::sptDoubleWave : return SimpleTypes::shapetypeDoubleWave ;
|
||||
case SimpleTypes::Vml::sptActionButtonBlank : return SimpleTypes::shapetypeActionButtonBlank ;
|
||||
case SimpleTypes::Vml::sptActionButtonHome : return SimpleTypes::shapetypeActionButtonHome ;
|
||||
case SimpleTypes::Vml::sptActionButtonHelp : return SimpleTypes::shapetypeActionButtonHelp ;
|
||||
case SimpleTypes::Vml::sptBracePair : return SimpleTypes::shapetypeBracePair ;
|
||||
case SimpleTypes::Vml::sptSeal4 : return SimpleTypes::shapetypeStar4 ;
|
||||
case SimpleTypes::Vml::sptDoubleWave : return SimpleTypes::shapetypeDoubleWave ;
|
||||
case SimpleTypes::Vml::sptActionButtonBlank : return SimpleTypes::shapetypeActionButtonBlank ;
|
||||
case SimpleTypes::Vml::sptActionButtonHome : return SimpleTypes::shapetypeActionButtonHome ;
|
||||
case SimpleTypes::Vml::sptActionButtonHelp : return SimpleTypes::shapetypeActionButtonHelp ;
|
||||
case SimpleTypes::Vml::sptActionButtonInformation : return SimpleTypes::shapetypeActionButtonInformation ;
|
||||
case SimpleTypes::Vml::sptActionButtonForwardNext : return SimpleTypes::shapetypeActionButtonForwardNext ;
|
||||
case SimpleTypes::Vml::sptActionButtonBackPrevious : return SimpleTypes::shapetypeActionButtonBackPrevious ;
|
||||
case SimpleTypes::Vml::sptActionButtonBackPrevious : return SimpleTypes::shapetypeActionButtonBackPrevious ;
|
||||
case SimpleTypes::Vml::sptActionButtonEnd : return SimpleTypes::shapetypeActionButtonEnd ;
|
||||
case SimpleTypes::Vml::sptActionButtonBeginning : return SimpleTypes::shapetypeActionButtonBeginning ;
|
||||
case SimpleTypes::Vml::sptActionButtonReturn : return SimpleTypes::shapetypeActionButtonReturn ;
|
||||
case SimpleTypes::Vml::sptActionButtonDocument : return SimpleTypes::shapetypeActionButtonDocument ;
|
||||
case SimpleTypes::Vml::sptActionButtonSound : return SimpleTypes::shapetypeActionButtonSound ;
|
||||
case SimpleTypes::Vml::sptActionButtonMovie : return SimpleTypes::shapetypeActionButtonMovie ;
|
||||
case SimpleTypes::Vml::sptActionButtonBeginning : return SimpleTypes::shapetypeActionButtonBeginning ;
|
||||
case SimpleTypes::Vml::sptActionButtonReturn : return SimpleTypes::shapetypeActionButtonReturn ;
|
||||
case SimpleTypes::Vml::sptActionButtonDocument : return SimpleTypes::shapetypeActionButtonDocument ;
|
||||
case SimpleTypes::Vml::sptActionButtonSound : return SimpleTypes::shapetypeActionButtonSound ;
|
||||
case SimpleTypes::Vml::sptActionButtonMovie : return SimpleTypes::shapetypeActionButtonMovie ;
|
||||
//case SimpleTypes::Vml::sptHostControl : return SimpleTypes::shapetype ;
|
||||
case SimpleTypes::Vml::sptTextBox : return 2000;
|
||||
default:
|
||||
|
||||
@ -124,10 +124,9 @@ static void GetColorWithEffect(const std::wstring& sColor, const int& R, const i
|
||||
}
|
||||
else if (0 == sColor.find(L"blackwhite"))
|
||||
{
|
||||
int nparam = (int)nparam;
|
||||
resR = (R < nparam) ? 0 : 255;
|
||||
resG = (G < nparam) ? 0 : 255;
|
||||
resB = (B < nparam) ? 0 : 255;
|
||||
resR = (R < (int)param) ? 0 : 255;
|
||||
resG = (G < (int)param) ? 0 : 255;
|
||||
resB = (B < (int)param) ? 0 : 255;
|
||||
isEffect = true;
|
||||
}
|
||||
|
||||
@ -148,7 +147,7 @@ namespace NS_DWC_Common
|
||||
{
|
||||
void CorrentCropString(std::wstring& s)
|
||||
{
|
||||
int nLen = s.length();
|
||||
size_t nLen = s.length();
|
||||
if (nLen > 0 && (s[nLen - 1] == ((wchar_t)'f')))
|
||||
{
|
||||
s.erase(nLen - 1);
|
||||
@ -280,7 +279,7 @@ namespace NS_DWC_Common
|
||||
{
|
||||
std::wstring str;
|
||||
|
||||
int pos = colorStr.find(' ');
|
||||
int pos = (int)colorStr.find(' ');
|
||||
if( pos < 0 )
|
||||
str = colorStr;
|
||||
else
|
||||
@ -544,7 +543,7 @@ namespace PPTX
|
||||
{
|
||||
// здесь не будем плодить тормозов - напишем без всяких Mid, Find, чтобы был только один проход
|
||||
wchar_t* pData = (wchar_t*)strParams.c_str();
|
||||
int nCount = strParams.length();
|
||||
int nCount = (int) strParams.length();
|
||||
|
||||
int nPosition = 0;
|
||||
wchar_t* pDataMem = pData;
|
||||
@ -598,7 +597,7 @@ namespace PPTX
|
||||
|
||||
// здесь не будем плодить тормозов - напишем без всяких Mid, Find, чтобы был только один проход
|
||||
wchar_t* pData = (wchar_t*)strParams.c_str();
|
||||
int nCount = strParams.length();
|
||||
int nCount = (int) strParams.length();
|
||||
|
||||
int nPosition = 0;
|
||||
wchar_t* pDataMem = pData;
|
||||
@ -677,7 +676,7 @@ namespace PPTX
|
||||
|
||||
// здесь не будем плодить тормозов - напишем без всяких Mid, Find, чтобы был только один проход
|
||||
wchar_t* pData = (wchar_t*)strParams.c_str();
|
||||
int nCount = strParams.length();
|
||||
int nCount = (int) strParams.length();
|
||||
|
||||
int nPosition = 0;
|
||||
wchar_t* pDataMem = pData;
|
||||
@ -754,7 +753,7 @@ namespace PPTX
|
||||
Clear();
|
||||
|
||||
wchar_t* pData = (wchar_t*)strParams.c_str();
|
||||
int nCount = strParams.length();
|
||||
int nCount = (int) strParams.length();
|
||||
|
||||
int nPosition = 0;
|
||||
int nPositionOld = 0;
|
||||
@ -1088,12 +1087,6 @@ PPTX::Logic::SpTreeElem CDrawingConverter::ObjectFromXml(const std::wstring& sXm
|
||||
std::wstring strVMLShapeXml = GetVMLShapeXml(oElem);
|
||||
#endif
|
||||
}
|
||||
|
||||
if (strCurrentRelsPath != m_strCurrentRelsPath)
|
||||
{
|
||||
m_strCurrentRelsPath = strCurrentRelsPath;
|
||||
SetCurrentRelsPath();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1318,7 +1311,7 @@ std::wstring CDrawingConverter::ObjectToDrawingML(const std::wstring& sXml, LONG
|
||||
std::wstring strMainProps = *pMainProps;
|
||||
std::wstring strMainPropsTail;
|
||||
|
||||
int nIndexF = strMainProps.find(L"</wp:inline>");
|
||||
int nIndexF = (int)strMainProps.find(L"</wp:inline>");
|
||||
if (-1 != nIndexF)
|
||||
{
|
||||
bIsInline = true;
|
||||
@ -1326,7 +1319,7 @@ std::wstring CDrawingConverter::ObjectToDrawingML(const std::wstring& sXml, LONG
|
||||
}
|
||||
else
|
||||
{
|
||||
nIndexF = strMainProps.find(L"</wp:anchor>");
|
||||
nIndexF = (int)strMainProps.find(L"</wp:anchor>");
|
||||
strMainProps = strMainProps.substr(0, nIndexF);
|
||||
}
|
||||
|
||||
@ -1336,7 +1329,7 @@ std::wstring CDrawingConverter::ObjectToDrawingML(const std::wstring& sXml, LONG
|
||||
return oXmlWriter.GetXmlString();
|
||||
}
|
||||
|
||||
int nIndexTail = strMainProps.find(L"<wp14:sizeRel");
|
||||
int nIndexTail = (int)strMainProps.find(L"<wp14:sizeRel");
|
||||
if(-1 != nIndexTail)
|
||||
{
|
||||
strMainPropsTail = strMainProps.substr( nIndexTail );
|
||||
@ -1791,7 +1784,7 @@ void CDrawingConverter::doc_LoadDiagram(PPTX::Logic::SpTreeElem *result, XmlUtil
|
||||
pDiagramData = dynamic_cast<OOX::CDiagramData*>(oFileData.operator->());
|
||||
if (pDiagramData)
|
||||
{
|
||||
for (int i = 0; (pDiagramData->m_oExtLst.IsInit()) && i < pDiagramData->m_oExtLst->m_arrExt.size(); i++)
|
||||
for (size_t i = 0; (pDiagramData->m_oExtLst.IsInit()) && i < pDiagramData->m_oExtLst->m_arrExt.size(); i++)
|
||||
{
|
||||
if (pDiagramData->m_oExtLst->m_arrExt[i]->m_oDataModelExt.IsInit())
|
||||
{
|
||||
@ -1810,7 +1803,7 @@ void CDrawingConverter::doc_LoadDiagram(PPTX::Logic::SpTreeElem *result, XmlUtil
|
||||
{
|
||||
OOX::CPath pathDiagramData = pDiagramData->m_strFilename;
|
||||
|
||||
int a1 = pathDiagramData.GetFilename().find(L".");
|
||||
int a1 = (int)pathDiagramData.GetFilename().find(L".");
|
||||
std::wstring strId = pathDiagramData.GetFilename().substr(4, pathDiagramData.GetFilename().length() - 8);
|
||||
|
||||
OOX::CPath pathDiagramDrawing = pathDiagramData.GetDirectory() + FILE_SEPARATOR_STR + L"drawing" + strId + L".xml";
|
||||
@ -1957,7 +1950,7 @@ void CDrawingConverter::doc_LoadShape(PPTX::Logic::SpTreeElem *elem, XmlUtils::C
|
||||
std::vector<std::wstring> oArray;
|
||||
boost::algorithm::split(oArray, strPoints, boost::algorithm::is_any_of(L","), boost::algorithm::token_compress_on);
|
||||
|
||||
int nSize = oArray.size();
|
||||
int nSize = (int)oArray.size();
|
||||
if ((nSize % 2 == 0) && nSize > 3)
|
||||
{
|
||||
int* _POINTS = new int[nSize];
|
||||
@ -2252,9 +2245,9 @@ void CDrawingConverter::doc_LoadShape(PPTX::Logic::SpTreeElem *elem, XmlUtils::C
|
||||
|
||||
int pos1 = 0, pos2 = 0;
|
||||
|
||||
while(pos1 < tmpString.length() && pos2 < tmpString.length())
|
||||
while(pos1 < (int)tmpString.length() && pos2 < (int)tmpString.length())
|
||||
{
|
||||
pos2 = tmpString.find(L"\n", pos1);
|
||||
pos2 = (int)tmpString.find(L"\n", pos1);
|
||||
if (pos2 > 0)
|
||||
{
|
||||
wordArtString.push_back(tmpString.substr(pos1, pos2 - pos1));
|
||||
@ -2422,9 +2415,9 @@ void CDrawingConverter::doc_LoadShape(PPTX::Logic::SpTreeElem *elem, XmlUtils::C
|
||||
std::vector<std::wstring> arSplit;
|
||||
boost::algorithm::split(arSplit, strColors, boost::algorithm::is_any_of(L";"), boost::algorithm::token_compress_on);
|
||||
|
||||
for (int i = 0 ; i < arSplit.size(); i++)
|
||||
for (size_t i = 0 ; i < arSplit.size(); i++)
|
||||
{
|
||||
int p = arSplit[i].find(L" ");
|
||||
int p = (int)arSplit[i].find(L" ");
|
||||
|
||||
std::wstring strPos = resToken.substr(0, p);
|
||||
std::wstring strColor = resToken.substr(p + 1);
|
||||
@ -2511,9 +2504,9 @@ void CDrawingConverter::doc_LoadShape(PPTX::Logic::SpTreeElem *elem, XmlUtils::C
|
||||
else if (eFillType == etGradFill)
|
||||
{
|
||||
strRPr += L"<w14:gradFill><w14:gsLst>";
|
||||
int nSize = arColors.size();
|
||||
bool bRevert = false;
|
||||
int nColorsLen = arColors.size();
|
||||
int nSize = (int)arColors.size();
|
||||
bool bRevert = false;
|
||||
int nColorsLen = (int)arColors.size();
|
||||
|
||||
int nDiff = nSize - 1;
|
||||
if (nFocus != 1 && nFocus != 0)
|
||||
@ -2553,7 +2546,7 @@ void CDrawingConverter::doc_LoadShape(PPTX::Logic::SpTreeElem *elem, XmlUtils::C
|
||||
if (nAngle != 90)
|
||||
dNewZero *= -1;
|
||||
|
||||
for (int i = 0; i < nColorsLen-1; i++)
|
||||
for (int i = 0; i < nColorsLen - 1; i++)
|
||||
{
|
||||
arColorsNew.push_back(arColors.at(i));
|
||||
|
||||
@ -2562,9 +2555,9 @@ void CDrawingConverter::doc_LoadShape(PPTX::Logic::SpTreeElem *elem, XmlUtils::C
|
||||
}
|
||||
|
||||
arColorsNew.push_back(arColors.at(nColorsLen - 1));
|
||||
arPosNew.push_back(dNewZero);
|
||||
arPosNew.push_back((int)dNewZero);
|
||||
|
||||
for (int i = nColorsLen-2; i >= 0; i--)
|
||||
for (int i = nColorsLen - 2; i >= 0; i--)
|
||||
{
|
||||
arColorsNew.push_back(arColors.at(i));
|
||||
|
||||
@ -2592,7 +2585,7 @@ void CDrawingConverter::doc_LoadShape(PPTX::Logic::SpTreeElem *elem, XmlUtils::C
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i < arColorsNew.size(); i++)
|
||||
for (size_t i = 0; i < arColorsNew.size(); i++)
|
||||
{
|
||||
int pos = arPosNew.at(i);
|
||||
std::wstring color = arColorsNew.at(i)->toXML();
|
||||
@ -2622,7 +2615,7 @@ void CDrawingConverter::doc_LoadShape(PPTX::Logic::SpTreeElem *elem, XmlUtils::C
|
||||
if (sStrokeWeight.is_init())
|
||||
{
|
||||
std::wstring strW(*sStrokeWeight);
|
||||
int p = strW.find(L"pt");
|
||||
int p = (int)strW.find(L"pt");
|
||||
if (p >= 0)
|
||||
strW.erase(p);
|
||||
|
||||
@ -2761,7 +2754,11 @@ void CDrawingConverter::doc_LoadShape(PPTX::Logic::SpTreeElem *elem, XmlUtils::C
|
||||
{
|
||||
if (pShape->txBody.IsInit() == false)
|
||||
pShape->txBody = new PPTX::Logic::TxBody();
|
||||
pShape->txBody->bodyPr.vert = pShape->TextBoxBodyPr->vert;
|
||||
|
||||
if (!pShape->txBody->bodyPr.IsInit())
|
||||
pShape->txBody->bodyPr = new PPTX::Logic::BodyPr();
|
||||
|
||||
pShape->txBody->bodyPr->vert = pShape->TextBoxBodyPr->vert;
|
||||
}
|
||||
|
||||
pPair = oCSSParser.m_mapSettings.find(L"mso-rotate");
|
||||
@ -2772,7 +2769,11 @@ void CDrawingConverter::doc_LoadShape(PPTX::Logic::SpTreeElem *elem, XmlUtils::C
|
||||
pShape->TextBoxBodyPr->rot = _wtoi(pPair->second.c_str()) * 60000; //для docx, xlsx
|
||||
if (pShape->txBody.IsInit() == false) //для pptx
|
||||
pShape->txBody = new PPTX::Logic::TxBody();
|
||||
pShape->txBody->bodyPr.rot = pShape->TextBoxBodyPr->rot;
|
||||
|
||||
if (!pShape->txBody->bodyPr.IsInit())
|
||||
pShape->txBody->bodyPr = new PPTX::Logic::BodyPr();
|
||||
|
||||
pShape->txBody->bodyPr->rot = pShape->TextBoxBodyPr->rot;
|
||||
}catch(...){}
|
||||
}
|
||||
|
||||
@ -3419,7 +3420,7 @@ std::wstring CDrawingConverter::GetDrawingMainProps(XmlUtils::CXmlNode& oNode, P
|
||||
std::vector<std::wstring> arPoints;
|
||||
boost::algorithm::split(arPoints, strWrapPoints, boost::algorithm::is_any_of(L","), boost::algorithm::token_compress_on);
|
||||
|
||||
int nCountP = arPoints.size();
|
||||
int nCountP = (int)arPoints.size();
|
||||
if (nCountP > 1 && ((nCountP % 2) == 0))
|
||||
{
|
||||
strWrapPointsResult = L"<wp:wrapPolygon edited=\"1\">";
|
||||
@ -3701,7 +3702,7 @@ std::wstring CDrawingConverter::GetVMLShapeXml(CPPTShape* pPPTShape)
|
||||
strCoordSize = std::to_wstring(lCoordW) + L"," + std::to_wstring(lCoordH);
|
||||
oXmlWriter.WriteAttribute(L"coordsize", strCoordSize);
|
||||
|
||||
int nAdjCount = pPPTShape->m_arAdjustments.size();
|
||||
int nAdjCount = (int)pPPTShape->m_arAdjustments.size();
|
||||
if (nAdjCount > 0)
|
||||
{
|
||||
oXmlWriter.WriteString(L" adj=\"");
|
||||
@ -3726,7 +3727,7 @@ std::wstring CDrawingConverter::GetVMLShapeXml(CPPTShape* pPPTShape)
|
||||
oXmlWriter.EndAttributes();
|
||||
|
||||
std::vector<CFormula>& arGuides = pPPTShape->m_oManager.m_arFormulas;
|
||||
int nGuides = arGuides.size();
|
||||
int nGuides = (int)arGuides.size();
|
||||
if (nGuides != 0)
|
||||
{
|
||||
oXmlWriter.StartNode(L"v:formulas");
|
||||
@ -3820,7 +3821,7 @@ std::wstring CDrawingConverter::GetVMLShapeXml(CPPTShape* pPPTShape)
|
||||
oXmlWriter.WriteString(L"\"/>");
|
||||
}
|
||||
|
||||
int nHandles = pPPTShape->m_arHandles.size();
|
||||
int nHandles = (int)pPPTShape->m_arHandles.size();
|
||||
if (0 < nHandles)
|
||||
{
|
||||
oXmlWriter.StartNode(L"v:handles");
|
||||
@ -4603,7 +4604,7 @@ HRESULT CDrawingConverter::SaveObject(LONG lStart, LONG lLength, const std::wstr
|
||||
bool bIsInline = false;
|
||||
std::wstring strMainProps = bsMainProps;
|
||||
std::wstring strMainPropsTail;
|
||||
int nIndexF = strMainProps.find(L"</wp:inline>");
|
||||
int nIndexF = (int)strMainProps.find(L"</wp:inline>");
|
||||
if (-1 != nIndexF)
|
||||
{
|
||||
bIsInline = true;
|
||||
@ -4611,14 +4612,14 @@ HRESULT CDrawingConverter::SaveObject(LONG lStart, LONG lLength, const std::wstr
|
||||
}
|
||||
else
|
||||
{
|
||||
nIndexF = strMainProps.find(L"</wp:anchor>");
|
||||
nIndexF = (int)strMainProps.find(L"</wp:anchor>");
|
||||
strMainProps = strMainProps.substr(0, nIndexF);
|
||||
}
|
||||
|
||||
if (-1 == nIndexF)
|
||||
return S_FALSE;
|
||||
|
||||
int nIndexTail = strMainProps.find(L"<wp14:sizeRel");
|
||||
int nIndexTail = (int)strMainProps.find(L"<wp14:sizeRel");
|
||||
if(-1 != nIndexTail)
|
||||
{
|
||||
strMainPropsTail = strMainProps.substr( nIndexTail );
|
||||
@ -4943,7 +4944,7 @@ void CDrawingConverter::ConvertTextVML(XmlUtils::CXmlNode &nodeTextBox, PPTX::Lo
|
||||
{
|
||||
run->rPr = new PPTX::Logic::RunProperties();
|
||||
|
||||
for (long r = 0; r < attNames.size(); r++)
|
||||
for (size_t r = 0; r < attNames.size(); r++)
|
||||
{
|
||||
if (attNames[r] == L"color" && attValues[r].length() == 7)
|
||||
{
|
||||
@ -5217,45 +5218,45 @@ void CDrawingConverter::ConvertMainPropsToVML(const std::wstring& bsMainProps, N
|
||||
pWriter.m_strStyleMain = oWriter.GetXmlString();
|
||||
}
|
||||
|
||||
HRESULT CDrawingConverter::GetTxBodyBinary(const std::wstring& bsXml)
|
||||
{
|
||||
XmlUtils::CXmlNode oNode;
|
||||
if (!oNode.FromXmlString((std::wstring)bsXml))
|
||||
return S_FALSE;
|
||||
|
||||
PPTX::Logic::TxBody oTxBody(oNode);
|
||||
//HRESULT CDrawingConverter::GetTxBodyBinary(const std::wstring& bsXml)
|
||||
//{
|
||||
// XmlUtils::CXmlNode oNode;
|
||||
// if (!oNode.FromXmlString((std::wstring)bsXml))
|
||||
// return S_FALSE;
|
||||
//
|
||||
// PPTX::Logic::TxBody oTxBody(oNode);
|
||||
//
|
||||
// //m_pBinaryWriter->ClearNoAttack();
|
||||
// //ULONG lOldPos = m_pBinaryWriter->GetPosition();
|
||||
// m_pBinaryWriter->m_pCommon->CheckFontPicker();
|
||||
// //m_pBinaryWriter->m_pCommon->m_pNativePicker->Init(m_strFontDirectory);
|
||||
//
|
||||
// m_pBinaryWriter->WriteRecord1(0, oTxBody);
|
||||
//
|
||||
// //m_pBinaryWriter->SetPosition(lOldPos);
|
||||
//
|
||||
// //m_pBinaryWriter->ClearNoAttack();
|
||||
// return S_OK;
|
||||
//}
|
||||
|
||||
//m_pBinaryWriter->ClearNoAttack();
|
||||
//ULONG lOldPos = m_pBinaryWriter->GetPosition();
|
||||
m_pBinaryWriter->m_pCommon->CheckFontPicker();
|
||||
//m_pBinaryWriter->m_pCommon->m_pNativePicker->Init(m_strFontDirectory);
|
||||
|
||||
m_pBinaryWriter->WriteRecord1(0, oTxBody);
|
||||
|
||||
//m_pBinaryWriter->SetPosition(lOldPos);
|
||||
|
||||
//m_pBinaryWriter->ClearNoAttack();
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
HRESULT CDrawingConverter::GetTxBodyXml(LONG lStart, std::wstring& sXml)
|
||||
{
|
||||
m_pReader->Seek(lStart);
|
||||
|
||||
BYTE type = m_pReader->GetUChar();
|
||||
if (0 != type)
|
||||
return S_FALSE;
|
||||
|
||||
PPTX::Logic::TxBody oTxBody;
|
||||
oTxBody.fromPPTY(m_pReader);
|
||||
|
||||
NSBinPptxRW::CXmlWriter oWriter;
|
||||
oTxBody.toXmlWriterExcel(&oWriter);
|
||||
|
||||
sXml = oWriter.GetXmlString();
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
//HRESULT CDrawingConverter::GetTxBodyXml(LONG lStart, std::wstring& sXml)
|
||||
//{
|
||||
// m_pReader->Seek(lStart);
|
||||
//
|
||||
// BYTE type = m_pReader->GetUChar();
|
||||
// if (0 != type)
|
||||
// return S_FALSE;
|
||||
//
|
||||
// PPTX::Logic::TxBody oTxBody;
|
||||
// oTxBody.fromPPTY(m_pReader);
|
||||
//
|
||||
// NSBinPptxRW::CXmlWriter oWriter;
|
||||
// oTxBody.toXmlWriterExcel(&oWriter);
|
||||
//
|
||||
// sXml = oWriter.GetXmlString();
|
||||
//
|
||||
// return S_OK;
|
||||
//}
|
||||
|
||||
HRESULT CDrawingConverter::SetFontDir(const std::wstring& bsFontDir)
|
||||
{
|
||||
@ -5465,7 +5466,7 @@ HRESULT CDrawingConverter::SaveDstContentRels(const std::wstring& bsRelsPath)
|
||||
|
||||
//if (-1 != m_pReader->m_nCurrentRelsStack)
|
||||
{
|
||||
int nIndex = m_pReader->m_stackRels.size() - 1;
|
||||
int nIndex = (int)m_pReader->m_stackRels.size() - 1;
|
||||
|
||||
if (0 <= nIndex)
|
||||
{
|
||||
|
||||
@ -236,8 +236,6 @@ namespace NSBinPptxRW
|
||||
HRESULT WriteRels (const std::wstring& sType, const std::wstring& sTarget, const std::wstring& sTargetMode, long* lId);
|
||||
HRESULT LoadClrMap (const std::wstring& sXml);
|
||||
|
||||
HRESULT(GetTxBodyBinary) (const std::wstring& sXml);
|
||||
HRESULT(GetTxBodyXml) (long lStart, std::wstring & Xml);
|
||||
HRESULT(SetFontDir) (const std::wstring& sFontDir);
|
||||
|
||||
HRESULT SetFontPicker (COfficeFontPicker* pFontPicker);
|
||||
|
||||
@ -563,8 +563,8 @@ private:
|
||||
public:
|
||||
COOXToVMLGeometry()
|
||||
{
|
||||
m_bIsFillPart = false;
|
||||
m_bIsStrokePart = false;
|
||||
m_bIsFillPart = false;
|
||||
m_bIsStrokePart = false;
|
||||
|
||||
m_dScaleX = 1.0;
|
||||
m_dScaleY = 1.0;
|
||||
|
||||
@ -134,7 +134,7 @@ namespace NSGuidesVML
|
||||
void ConvertHandles (std::vector<CHandle_>& arHnd)
|
||||
{
|
||||
|
||||
for (int nIndex=0; nIndex<arHnd.size(); nIndex++)
|
||||
for (size_t nIndex=0; nIndex<arHnd.size(); nIndex++)
|
||||
{
|
||||
CHandle_ oHandle;
|
||||
//TODO переименовать названия формул и прокинуть текстовые атрибуты topleft, rightbottom в полях хендла
|
||||
@ -399,7 +399,7 @@ namespace NSGuidesVML
|
||||
void ConvertGuides ( std::vector<NSGuidesOOXML::CFormula> &strGuides, std::map<std::wstring, long> &mapGuides )
|
||||
{
|
||||
//стандартные формулы для пптх будем добавлять, если только они встретятся
|
||||
for (int nIndex=32; nIndex < strGuides.size(); ++nIndex)
|
||||
for (size_t nIndex=32; nIndex < strGuides.size(); ++nIndex)
|
||||
{
|
||||
NSGuidesOOXML::CFormula pFormula = strGuides[nIndex];
|
||||
|
||||
|
||||
@ -260,7 +260,7 @@ namespace NSBinPptxRW
|
||||
m_oReader.Seek(pPair->second);
|
||||
m_oReader.Skip(6); // type + len + start attr
|
||||
|
||||
int index =0;
|
||||
size_t index =0;
|
||||
while (true)
|
||||
{
|
||||
BYTE _at = m_oReader.GetUChar_TypeNode();
|
||||
|
||||
@ -73,9 +73,9 @@ namespace PPTX
|
||||
{
|
||||
directory = directory.substr(0, pos_ppt - 1); //root directory
|
||||
}
|
||||
CArray<std::wstring> arrFiles = NSDirectory::GetFiles(directory, true);
|
||||
std::vector<std::wstring> arrFiles = NSDirectory::GetFiles(directory, true);
|
||||
|
||||
for (int i = 0 ; i < arrFiles.GetCount(); i++)
|
||||
for (size_t i = 0 ; i < arrFiles.size(); i++)
|
||||
{
|
||||
if (std::wstring::npos != arrFiles[i].find(filename))
|
||||
{
|
||||
|
||||
@ -146,10 +146,11 @@ namespace PPTX
|
||||
{
|
||||
bool bIsDownload = false;
|
||||
std::wstring strFile = relation.Filename().GetPath();
|
||||
int n1 = strFile.find(_T("www"));
|
||||
int n2 = strFile.find(_T("http"));
|
||||
int n3 = strFile.find(_T("ftp"));
|
||||
int n4 = strFile.find(_T("https://"));
|
||||
|
||||
int n1 = (int)strFile.find(_T("www"));
|
||||
int n2 = (int)strFile.find(_T("http"));
|
||||
int n3 = (int)strFile.find(_T("ftp"));
|
||||
int n4 = (int)strFile.find(_T("https://"));
|
||||
|
||||
//если nI сранивать не с 0, то будут проблемы
|
||||
//потому что в инсталяции мы кладем файлы в /var/www...
|
||||
|
||||
@ -63,7 +63,7 @@ namespace PPTX
|
||||
long files = CountFiles(path);
|
||||
if(files == 0)
|
||||
return;
|
||||
m_lPercent = floor(1000000. / files);
|
||||
m_lPercent = (long)floor(1000000. / files);
|
||||
FileContainer::read(rels, path, map, Event);
|
||||
|
||||
long percent = Event->GetPercent();
|
||||
|
||||
@ -45,9 +45,15 @@ namespace PPTX
|
||||
class AhBase : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(AhBase)
|
||||
WritingElement_AdditionConstructors(AhBase)
|
||||
PPTX_LOGIC_BASE2(AhBase)
|
||||
|
||||
public:
|
||||
virtual OOX::EElementType getType() const
|
||||
{
|
||||
if (ah.IsInit())
|
||||
return ah->getType();
|
||||
return OOX::et_Unknown;
|
||||
}
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
std::wstring name = XmlUtils::GetNameNoNS(node.GetName());
|
||||
@ -58,7 +64,16 @@ namespace PPTX
|
||||
ah.reset(new Logic::AhPolar(node));
|
||||
else ah.reset();
|
||||
}
|
||||
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
|
||||
{
|
||||
std::wstring sName = XmlUtils::GetNameNoNS(oReader.GetName());
|
||||
|
||||
if (sName == L"ahXY")
|
||||
ah.reset(new Logic::AhXY(oReader));
|
||||
else if(sName == L"ahPolar")
|
||||
ah.reset(new Logic::AhPolar(oReader));
|
||||
else ah.reset();
|
||||
}
|
||||
virtual void GetAdjustHandleFrom(XmlUtils::CXmlNode& element)
|
||||
{
|
||||
XmlUtils::CXmlNode oNode;
|
||||
|
||||
@ -43,9 +43,9 @@ namespace PPTX
|
||||
class AhPolar : public Ah
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(AhPolar)
|
||||
WritingElement_AdditionConstructors(AhPolar)
|
||||
PPTX_LOGIC_BASE2(AhPolar)
|
||||
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
XmlUtils::CXmlNode oPos = node.ReadNode(_T("a:pos"));
|
||||
@ -60,7 +60,46 @@ namespace PPTX
|
||||
node.ReadAttributeBase(L"minAng", minAng);
|
||||
node.ReadAttributeBase(L"minR", minR);
|
||||
}
|
||||
virtual OOX::EElementType getType() const
|
||||
{
|
||||
return OOX::et_a_ahPolar;
|
||||
}
|
||||
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
|
||||
{
|
||||
ReadAttributes( oReader );
|
||||
|
||||
if ( oReader.IsEmptyNode() )
|
||||
return;
|
||||
|
||||
int nParentDepth = oReader.GetDepth();
|
||||
while( oReader.ReadNextSiblingNode( nParentDepth ) )
|
||||
{
|
||||
std::wstring sName = oReader.GetName();
|
||||
|
||||
if (sName == L"a:pos")
|
||||
{
|
||||
ReadAttributes2(oReader);
|
||||
}
|
||||
}
|
||||
}
|
||||
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
|
||||
{
|
||||
WritingElement_ReadAttributes_Start( oReader )
|
||||
WritingElement_ReadAttributes_Read_if ( oReader, _T("gdRefR"), gdRefR )
|
||||
WritingElement_ReadAttributes_Read_else_if ( oReader, _T("minR"), minR )
|
||||
WritingElement_ReadAttributes_Read_else_if ( oReader, _T("maxR"), maxR )
|
||||
WritingElement_ReadAttributes_Read_else_if ( oReader, _T("gdRefAng"), gdRefAng )
|
||||
WritingElement_ReadAttributes_Read_else_if ( oReader, _T("minAng"), minAng )
|
||||
WritingElement_ReadAttributes_Read_else_if ( oReader, _T("maxAng"), maxAng )
|
||||
WritingElement_ReadAttributes_End( oReader )
|
||||
}
|
||||
void ReadAttributes2(XmlUtils::CXmlLiteReader& oReader)
|
||||
{
|
||||
WritingElement_ReadAttributes_Start( oReader )
|
||||
WritingElement_ReadAttributes_Read_if ( oReader, _T("x"), x )
|
||||
WritingElement_ReadAttributes_Read_else_if ( oReader, _T("y"), y )
|
||||
WritingElement_ReadAttributes_End( oReader )
|
||||
}
|
||||
virtual std::wstring toXML() const
|
||||
{
|
||||
XmlUtils::CAttribute oAttr1;
|
||||
|
||||
@ -43,9 +43,9 @@ namespace PPTX
|
||||
class AhXY : public Ah
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(AhXY)
|
||||
WritingElement_AdditionConstructors(AhXY)
|
||||
PPTX_LOGIC_BASE2(AhXY)
|
||||
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
XmlUtils::CXmlNode oPos = node.ReadNode(_T("a:pos"));
|
||||
@ -60,7 +60,46 @@ namespace PPTX
|
||||
node.ReadAttributeBase(L"minX", minX);
|
||||
node.ReadAttributeBase(L"minY", minY);
|
||||
}
|
||||
virtual OOX::EElementType getType() const
|
||||
{
|
||||
return OOX::et_a_ahXY;
|
||||
}
|
||||
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
|
||||
{
|
||||
ReadAttributes( oReader );
|
||||
|
||||
if ( oReader.IsEmptyNode() )
|
||||
return;
|
||||
|
||||
int nParentDepth = oReader.GetDepth();
|
||||
while( oReader.ReadNextSiblingNode( nParentDepth ) )
|
||||
{
|
||||
std::wstring sName = oReader.GetName();
|
||||
|
||||
if (sName == L"a:pos")
|
||||
{
|
||||
ReadAttributes2(oReader);
|
||||
}
|
||||
}
|
||||
}
|
||||
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
|
||||
{
|
||||
WritingElement_ReadAttributes_Start( oReader )
|
||||
WritingElement_ReadAttributes_Read_if ( oReader, _T("gdRefX"), gdRefX )
|
||||
WritingElement_ReadAttributes_Read_else_if ( oReader, _T("minX"), minX )
|
||||
WritingElement_ReadAttributes_Read_else_if ( oReader, _T("maxX"), maxX )
|
||||
WritingElement_ReadAttributes_Read_else_if ( oReader, _T("gdRefY"), gdRefY )
|
||||
WritingElement_ReadAttributes_Read_else_if ( oReader, _T("minY"), minY )
|
||||
WritingElement_ReadAttributes_Read_else_if ( oReader, _T("maxY"), maxY )
|
||||
WritingElement_ReadAttributes_End( oReader )
|
||||
}
|
||||
void ReadAttributes2(XmlUtils::CXmlLiteReader& oReader)
|
||||
{
|
||||
WritingElement_ReadAttributes_Start( oReader )
|
||||
WritingElement_ReadAttributes_Read_if ( oReader, _T("x"), x )
|
||||
WritingElement_ReadAttributes_Read_else_if ( oReader, _T("y"), y )
|
||||
WritingElement_ReadAttributes_End( oReader )
|
||||
}
|
||||
virtual std::wstring toXML() const
|
||||
{
|
||||
XmlUtils::CAttribute oAttr1;
|
||||
|
||||
@ -43,9 +43,60 @@ namespace PPTX
|
||||
class Backdrop : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(Backdrop)
|
||||
WritingElement_AdditionConstructors(Backdrop)
|
||||
PPTX_LOGIC_BASE2(Backdrop)
|
||||
|
||||
public:
|
||||
virtual OOX::EElementType getType() const
|
||||
{
|
||||
return OOX::et_a_backdrop;
|
||||
}
|
||||
void fromXML(XmlUtils::CXmlLiteReader& oReader)
|
||||
{
|
||||
if ( oReader.IsEmptyNode() )
|
||||
return;
|
||||
|
||||
int nCurDepth = oReader.GetDepth();
|
||||
while( oReader.ReadNextSiblingNode( nCurDepth ) )
|
||||
{
|
||||
std::wstring strName = oReader.GetName();
|
||||
nullable_int x, y, z;
|
||||
|
||||
if (strName == L"a:anchor")
|
||||
{
|
||||
ReadAttributes(oReader, x, y, z);
|
||||
anchorX = x.get_value_or(0);
|
||||
anchorY = y.get_value_or(0);
|
||||
anchorZ = z.get_value_or(0);
|
||||
}
|
||||
else if (strName == L"a:norm")
|
||||
{
|
||||
ReadAttributes(oReader, x, y, z);
|
||||
normX = x.get_value_or(0);
|
||||
normY = y.get_value_or(0);
|
||||
normZ = z.get_value_or(0);
|
||||
}
|
||||
else if (strName == L"a:up")
|
||||
{
|
||||
ReadAttributes(oReader, x, y, z);
|
||||
|
||||
upX = x.get_value_or(0);
|
||||
upY = y.get_value_or(0);
|
||||
upZ = z.get_value_or(0);
|
||||
}
|
||||
}
|
||||
FillParentPointersForChilds();
|
||||
}
|
||||
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader, nullable_int & x, nullable_int & y, nullable_int & z )
|
||||
{
|
||||
WritingElement_ReadAttributes_Start( oReader )
|
||||
WritingElement_ReadAttributes_Read_if ( oReader, _T("x"), x)
|
||||
WritingElement_ReadAttributes_Read_else_if ( oReader, _T("y"), y)
|
||||
WritingElement_ReadAttributes_Read_else_if ( oReader, _T("z"), z)
|
||||
WritingElement_ReadAttributes_Read_else_if ( oReader, _T("dx"), x)
|
||||
WritingElement_ReadAttributes_Read_else_if ( oReader, _T("dy"), y)
|
||||
WritingElement_ReadAttributes_Read_else_if ( oReader, _T("dz"), z)
|
||||
WritingElement_ReadAttributes_End( oReader )
|
||||
}
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
XmlUtils::CXmlNode oNodeA = node.ReadNode(_T("a:anchor"));
|
||||
|
||||
@ -44,9 +44,27 @@ namespace PPTX
|
||||
class Bevel : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(Bevel)
|
||||
WritingElement_AdditionConstructors(Bevel)
|
||||
PPTX_LOGIC_BASE2(Bevel)
|
||||
|
||||
public:
|
||||
virtual OOX::EElementType getType() const
|
||||
{
|
||||
return OOX::et_a_bevel;
|
||||
}
|
||||
void fromXML(XmlUtils::CXmlLiteReader& oReader)
|
||||
{
|
||||
m_name = XmlUtils::GetNameNoNS(oReader.GetName());
|
||||
|
||||
ReadAttributes( oReader );
|
||||
}
|
||||
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
|
||||
{
|
||||
WritingElement_ReadAttributes_Start( oReader )
|
||||
WritingElement_ReadAttributes_Read_if ( oReader, _T("w"), w)
|
||||
WritingElement_ReadAttributes_Read_else_if ( oReader, _T("h"), h)
|
||||
WritingElement_ReadAttributes_Read_else_if ( oReader, _T("prst"), prst)
|
||||
WritingElement_ReadAttributes_End( oReader )
|
||||
}
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
m_name = XmlUtils::GetNameNoNS(node.GetName());
|
||||
|
||||
@ -51,9 +51,63 @@ namespace PPTX
|
||||
class BodyPr : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(BodyPr)
|
||||
WritingElement_AdditionConstructors(BodyPr)
|
||||
PPTX_LOGIC_BASE2(BodyPr)
|
||||
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
|
||||
{
|
||||
ReadAttributes( oReader );
|
||||
|
||||
if ( oReader.IsEmptyNode() )
|
||||
return;
|
||||
|
||||
int nCurDepth = oReader.GetDepth();
|
||||
while( oReader.ReadNextSiblingNode( nCurDepth ) )
|
||||
{
|
||||
std::wstring strName = oReader.GetName();
|
||||
|
||||
if (L"a:prstTxWarp" == strName)
|
||||
prstTxWarp = oReader;
|
||||
else if (L"a:scene3d" == strName)
|
||||
scene3d = oReader;
|
||||
else if (L"a:sp3d" == strName)
|
||||
sp3d = oReader;
|
||||
else if (strName == L"a:noAutofit" || strName == L"a:spAutoFit" || strName == L"a:normAutofit")
|
||||
Fit.fromXML(oReader);
|
||||
else if (L"a:flatTx" == strName)
|
||||
{
|
||||
//oNode.ReadAttributeBase(L"z", flatTx);
|
||||
}
|
||||
|
||||
}
|
||||
FillParentPointersForChilds();
|
||||
}
|
||||
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
|
||||
{
|
||||
WritingElement_ReadAttributes_Start ( oReader )
|
||||
WritingElement_ReadAttributes_Read_if ( oReader, _T("anchor"), anchor )
|
||||
WritingElement_ReadAttributes_Read_else_if( oReader, _T("anchorCtr"), anchorCtr )
|
||||
WritingElement_ReadAttributes_Read_else_if( oReader, _T("bIns"), bIns )
|
||||
WritingElement_ReadAttributes_Read_else_if( oReader, _T("compatLnSpc"), compatLnSpc )
|
||||
WritingElement_ReadAttributes_Read_else_if( oReader, _T("forceAA"), forceAA )
|
||||
WritingElement_ReadAttributes_Read_else_if( oReader, _T("fromWordArt"), fromWordArt )
|
||||
WritingElement_ReadAttributes_Read_else_if( oReader, _T("horzOverflow"), horzOverflow )
|
||||
WritingElement_ReadAttributes_Read_else_if( oReader, _T("lIns"), lIns )
|
||||
WritingElement_ReadAttributes_Read_else_if( oReader, _T("numCol"), numCol )
|
||||
WritingElement_ReadAttributes_Read_else_if( oReader, _T("rIns"), rIns )
|
||||
WritingElement_ReadAttributes_Read_else_if( oReader, _T("rot"), rot )
|
||||
WritingElement_ReadAttributes_Read_else_if( oReader, _T("rtlCol"), rtlCol )
|
||||
WritingElement_ReadAttributes_Read_else_if( oReader, _T("spcCol"), spcCol )
|
||||
WritingElement_ReadAttributes_Read_else_if( oReader, _T("spcFirstLastPara"), spcFirstLastPara )
|
||||
WritingElement_ReadAttributes_Read_else_if( oReader, _T("tIns"), tIns )
|
||||
WritingElement_ReadAttributes_Read_else_if( oReader, _T("upright"), upright )
|
||||
WritingElement_ReadAttributes_Read_else_if( oReader, _T("vert"), vert )
|
||||
WritingElement_ReadAttributes_Read_else_if( oReader, _T("vertOverflow"), vertOverflow )
|
||||
WritingElement_ReadAttributes_Read_else_if( oReader, _T("wrap"), wrap )
|
||||
WritingElement_ReadAttributes_End ( oReader )
|
||||
|
||||
Normalize();
|
||||
}
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
m_namespace = XmlUtils::GetNamespace(node.GetName());
|
||||
@ -172,10 +226,16 @@ namespace PPTX
|
||||
pWriter->EndNode(m_namespace + _T(":bodyPr"));
|
||||
}
|
||||
|
||||
void Merge(BodyPr& bodyPr)const
|
||||
|
||||
void Merge(nullable<BodyPr>& bodyPr)const
|
||||
{
|
||||
if (!bodyPr.IsInit())
|
||||
{
|
||||
bodyPr = new PPTX::Logic::BodyPr();
|
||||
}
|
||||
|
||||
if(Fit.type != TextFit::FitEmpty)
|
||||
Fit.Merge(bodyPr.Fit);
|
||||
Fit.Merge(bodyPr->Fit);
|
||||
/*
|
||||
nullable_property<PrstTxWarp> prstTxWarp;
|
||||
nullable_property<Scene3d> scene3d;
|
||||
@ -184,43 +244,43 @@ namespace PPTX
|
||||
*/
|
||||
// Attributes
|
||||
if(anchor.IsInit())
|
||||
bodyPr.anchor = *anchor;
|
||||
bodyPr->anchor = *anchor;
|
||||
if(anchorCtr.IsInit())
|
||||
bodyPr.anchorCtr = *anchorCtr;
|
||||
bodyPr->anchorCtr = *anchorCtr;
|
||||
if(bIns.IsInit())
|
||||
bodyPr.bIns = *bIns;
|
||||
bodyPr->bIns = *bIns;
|
||||
if(compatLnSpc.IsInit())
|
||||
bodyPr.compatLnSpc = *compatLnSpc;
|
||||
bodyPr->compatLnSpc = *compatLnSpc;
|
||||
if(forceAA.IsInit())
|
||||
bodyPr.forceAA = *forceAA;
|
||||
bodyPr->forceAA = *forceAA;
|
||||
if(fromWordArt.IsInit())
|
||||
bodyPr.fromWordArt = *fromWordArt;
|
||||
bodyPr->fromWordArt = *fromWordArt;
|
||||
if(horzOverflow.IsInit())
|
||||
bodyPr.horzOverflow = *horzOverflow;
|
||||
bodyPr->horzOverflow = *horzOverflow;
|
||||
if(lIns.IsInit())
|
||||
bodyPr.lIns = *lIns;
|
||||
bodyPr->lIns = *lIns;
|
||||
if(numCol.IsInit())
|
||||
bodyPr.numCol = *numCol;
|
||||
bodyPr->numCol = *numCol;
|
||||
if(rIns.IsInit())
|
||||
bodyPr.rIns = *rIns;
|
||||
bodyPr->rIns = *rIns;
|
||||
if(rot.IsInit())
|
||||
bodyPr.rot = *rot;
|
||||
bodyPr->rot = *rot;
|
||||
if(rtlCol.IsInit())
|
||||
bodyPr.rtlCol = *rtlCol;
|
||||
bodyPr->rtlCol = *rtlCol;
|
||||
if(spcCol.IsInit())
|
||||
bodyPr.spcCol = *spcCol;
|
||||
bodyPr->spcCol = *spcCol;
|
||||
if(spcFirstLastPara.IsInit())
|
||||
bodyPr.spcFirstLastPara = *spcFirstLastPara;
|
||||
bodyPr->spcFirstLastPara = *spcFirstLastPara;
|
||||
if(tIns.IsInit())
|
||||
bodyPr.tIns = *tIns;
|
||||
bodyPr->tIns = *tIns;
|
||||
if(upright.IsInit())
|
||||
bodyPr.upright = *upright;
|
||||
bodyPr->upright = *upright;
|
||||
if(vert.IsInit())
|
||||
bodyPr.vert = *vert;
|
||||
bodyPr->vert = *vert;
|
||||
if(vertOverflow.IsInit())
|
||||
bodyPr.vertOverflow = *vertOverflow;
|
||||
bodyPr->vertOverflow = *vertOverflow;
|
||||
if(wrap.IsInit())
|
||||
bodyPr.wrap = *wrap;
|
||||
bodyPr->wrap = *wrap;
|
||||
}
|
||||
|
||||
virtual void toPPTY(NSBinPptxRW::CBinaryFileWriter* pWriter) const
|
||||
|
||||
@ -43,7 +43,8 @@ namespace PPTX
|
||||
class BuAutoNum : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(BuAutoNum)
|
||||
WritingElement_AdditionConstructors(BuAutoNum)
|
||||
PPTX_LOGIC_BASE2(BuAutoNum)
|
||||
|
||||
BuAutoNum& operator=(const BuAutoNum& oSrc)
|
||||
{
|
||||
@ -55,8 +56,14 @@ namespace PPTX
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
|
||||
{
|
||||
ReadAttributes( oReader );
|
||||
}
|
||||
virtual OOX::EElementType getType() const
|
||||
{
|
||||
return OOX::et_a_buChar;
|
||||
}
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
node.ReadAttributeBase(L"type", type);
|
||||
@ -64,7 +71,15 @@ namespace PPTX
|
||||
|
||||
Normalize();
|
||||
}
|
||||
|
||||
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
|
||||
{
|
||||
WritingElement_ReadAttributes_Start ( oReader )
|
||||
WritingElement_ReadAttributes_Read_if ( oReader, L"startAt", startAt)
|
||||
WritingElement_ReadAttributes_Read_else_if( oReader, L"type", type)
|
||||
WritingElement_ReadAttributes_End ( oReader )
|
||||
|
||||
Normalize();
|
||||
}
|
||||
virtual std::wstring toXML() const
|
||||
{
|
||||
XmlUtils::CAttribute oAttr;
|
||||
|
||||
@ -43,7 +43,8 @@ namespace PPTX
|
||||
class BuBlip : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(BuBlip)
|
||||
WritingElement_AdditionConstructors(BuBlip)
|
||||
PPTX_LOGIC_BASE2(BuBlip)
|
||||
|
||||
BuBlip& operator=(const BuBlip& oSrc)
|
||||
{
|
||||
@ -54,7 +55,28 @@ namespace PPTX
|
||||
return *this;
|
||||
}
|
||||
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
|
||||
{
|
||||
if ( oReader.IsEmptyNode() )
|
||||
return;
|
||||
|
||||
int nCurDepth = oReader.GetDepth();
|
||||
while( oReader.ReadNextSiblingNode( nCurDepth ) )
|
||||
{
|
||||
std::wstring strName = XmlUtils::GetNameNoNS(oReader.GetName());
|
||||
|
||||
if (strName == L"blip")
|
||||
{
|
||||
blip = oReader;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
virtual OOX::EElementType getType () const
|
||||
{
|
||||
return OOX::et_a_buBlip;
|
||||
}
|
||||
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
blip = node.ReadNodeNoNS(_T("blip"));
|
||||
|
||||
@ -42,7 +42,8 @@ namespace PPTX
|
||||
class BuChar : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(BuChar)
|
||||
WritingElement_AdditionConstructors(BuChar)
|
||||
PPTX_LOGIC_BASE2(BuChar)
|
||||
|
||||
BuChar& operator=(const BuChar& oSrc)
|
||||
{
|
||||
@ -52,13 +53,27 @@ namespace PPTX
|
||||
Char = oSrc.Char;
|
||||
return *this;
|
||||
}
|
||||
virtual OOX::EElementType getType() const
|
||||
{
|
||||
return OOX::et_a_buAutoNum;
|
||||
}
|
||||
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
|
||||
{
|
||||
ReadAttributes( oReader );
|
||||
|
||||
public:
|
||||
if ( oReader.IsEmptyNode() )
|
||||
return;
|
||||
}
|
||||
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
|
||||
{
|
||||
WritingElement_ReadAttributes_Start( oReader )
|
||||
WritingElement_ReadAttributes_ReadSingle ( oReader, L"char", Char)
|
||||
WritingElement_ReadAttributes_End( oReader )
|
||||
}
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
Char = node.GetAttribute(_T("char"));
|
||||
}
|
||||
|
||||
virtual std::wstring toXML() const
|
||||
{
|
||||
XmlUtils::CAttribute oAttr;
|
||||
|
||||
@ -43,7 +43,32 @@ namespace PPTX
|
||||
class BuClr : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(BuClr)
|
||||
WritingElement_AdditionConstructors(BuClr)
|
||||
PPTX_LOGIC_BASE2(BuClr)
|
||||
|
||||
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
|
||||
{
|
||||
ReadAttributes( oReader );
|
||||
|
||||
if ( oReader.IsEmptyNode() )
|
||||
return;
|
||||
|
||||
int nCurDepth = oReader.GetDepth();
|
||||
while( oReader.ReadNextSiblingNode( nCurDepth ) )
|
||||
{
|
||||
std::wstring sName = oReader.GetName();
|
||||
|
||||
}
|
||||
}
|
||||
virtual OOX::EElementType getType () const
|
||||
{
|
||||
return OOX::et_a_buClr;
|
||||
}
|
||||
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
|
||||
{
|
||||
WritingElement_ReadAttributes_Start ( oReader )
|
||||
WritingElement_ReadAttributes_End ( oReader )
|
||||
}
|
||||
|
||||
BuClr& operator=(const BuClr& oSrc)
|
||||
{
|
||||
@ -59,7 +84,6 @@ namespace PPTX
|
||||
virtual DWORD GetBGRA()const{return Color.GetBGRA();};
|
||||
virtual DWORD GetABGR()const{return Color.GetABGR();};
|
||||
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
Color.GetColorFrom(node);
|
||||
|
||||
@ -42,7 +42,8 @@ namespace PPTX
|
||||
class BuClrTx : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(BuClrTx)
|
||||
WritingElement_AdditionConstructors(BuClrTx)
|
||||
PPTX_LOGIC_BASE2(BuClrTx)
|
||||
|
||||
BuClrTx& operator=(const BuClrTx& oSrc)
|
||||
{
|
||||
@ -51,8 +52,29 @@ namespace PPTX
|
||||
|
||||
return *this;
|
||||
}
|
||||
virtual OOX::EElementType getType () const
|
||||
{
|
||||
return OOX::et_a_buClrTx;
|
||||
}
|
||||
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
|
||||
{
|
||||
ReadAttributes( oReader );
|
||||
|
||||
public:
|
||||
if ( oReader.IsEmptyNode() )
|
||||
return;
|
||||
|
||||
int nCurDepth = oReader.GetDepth();
|
||||
while( oReader.ReadNextSiblingNode( nCurDepth ) )
|
||||
{
|
||||
std::wstring sName = oReader.GetName();
|
||||
|
||||
}
|
||||
}
|
||||
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
|
||||
{
|
||||
WritingElement_ReadAttributes_Start ( oReader )
|
||||
WritingElement_ReadAttributes_End ( oReader )
|
||||
}
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
}
|
||||
|
||||
@ -42,7 +42,8 @@ namespace PPTX
|
||||
class BuFontTx : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(BuFontTx)
|
||||
WritingElement_AdditionConstructors(BuFontTx)
|
||||
PPTX_LOGIC_BASE2(BuFontTx)
|
||||
|
||||
BuFontTx& operator=(const BuFontTx& oSrc)
|
||||
{
|
||||
@ -50,8 +51,31 @@ namespace PPTX
|
||||
parentElement = oSrc.parentElement;
|
||||
return *this;
|
||||
}
|
||||
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
|
||||
{
|
||||
ReadAttributes( oReader );
|
||||
|
||||
if ( oReader.IsEmptyNode() )
|
||||
return;
|
||||
|
||||
int nCurDepth = oReader.GetDepth();
|
||||
while( oReader.ReadNextSiblingNode( nCurDepth ) )
|
||||
{
|
||||
std::wstring sName = oReader.GetName();
|
||||
|
||||
}
|
||||
}
|
||||
virtual OOX::EElementType getType () const
|
||||
{
|
||||
return OOX::et_a_buFontTx;
|
||||
}
|
||||
|
||||
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
|
||||
{
|
||||
WritingElement_ReadAttributes_Start ( oReader )
|
||||
WritingElement_ReadAttributes_End ( oReader )
|
||||
}
|
||||
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
}
|
||||
|
||||
@ -42,7 +42,8 @@ namespace PPTX
|
||||
class BuNone : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(BuNone)
|
||||
WritingElement_AdditionConstructors(BuNone)
|
||||
PPTX_LOGIC_BASE2(BuNone)
|
||||
|
||||
BuNone& operator=(const BuNone& oSrc)
|
||||
{
|
||||
@ -51,8 +52,13 @@ namespace PPTX
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
public:
|
||||
virtual OOX::EElementType getType() const
|
||||
{
|
||||
return OOX::et_a_buNone;
|
||||
}
|
||||
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
|
||||
{
|
||||
}
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
}
|
||||
|
||||
@ -42,7 +42,8 @@ namespace PPTX
|
||||
class BuSzPct : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(BuSzPct)
|
||||
WritingElement_AdditionConstructors(BuSzPct)
|
||||
PPTX_LOGIC_BASE2(BuSzPct)
|
||||
|
||||
BuSzPct& operator=(const BuSzPct& oSrc)
|
||||
{
|
||||
@ -52,8 +53,22 @@ namespace PPTX
|
||||
val = oSrc.val;
|
||||
return *this;
|
||||
}
|
||||
|
||||
public:
|
||||
virtual OOX::EElementType getType() const
|
||||
{
|
||||
return OOX::et_a_buSzPct;
|
||||
}
|
||||
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
|
||||
{
|
||||
ReadAttributes( oReader );
|
||||
}
|
||||
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
|
||||
{
|
||||
WritingElement_ReadAttributes_Start( oReader )
|
||||
WritingElement_ReadAttributes_ReadSingle ( oReader, _T("val"), val)
|
||||
WritingElement_ReadAttributes_End( oReader )
|
||||
|
||||
Normalize();
|
||||
}
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
val = node.ReadAttributeInt(_T("val"));
|
||||
@ -79,19 +94,24 @@ namespace PPTX
|
||||
pWriter->StartRecord(BULLET_TYPE_SIZE_PCT);
|
||||
|
||||
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeStart);
|
||||
pWriter->WriteInt1(0, val);
|
||||
pWriter->WriteInt1(0, val.get_value_or(0));
|
||||
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeEnd);
|
||||
|
||||
pWriter->EndRecord();
|
||||
}
|
||||
public:
|
||||
int val;
|
||||
nullable_int val;
|
||||
protected:
|
||||
virtual void FillParentPointersForChilds(){};
|
||||
|
||||
AVSINLINE void Normalize()
|
||||
{
|
||||
normalize_value(val, 25000, 400000);
|
||||
if (val.IsInit())
|
||||
{
|
||||
int tmp = *val;
|
||||
normalize_value(tmp, 25000, 400000);
|
||||
val = tmp;
|
||||
}
|
||||
}
|
||||
};
|
||||
} // namespace Logic
|
||||
|
||||
@ -42,7 +42,8 @@ namespace PPTX
|
||||
class BuSzPts : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(BuSzPts)
|
||||
WritingElement_AdditionConstructors(BuSzPts)
|
||||
PPTX_LOGIC_BASE2(BuSzPts)
|
||||
|
||||
BuSzPts& operator=(const BuSzPts& oSrc)
|
||||
{
|
||||
@ -52,8 +53,20 @@ namespace PPTX
|
||||
val = oSrc.val;
|
||||
return *this;
|
||||
}
|
||||
|
||||
public:
|
||||
virtual OOX::EElementType getType() const
|
||||
{
|
||||
return OOX::et_a_buSzPts;
|
||||
}
|
||||
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
|
||||
{
|
||||
ReadAttributes( oReader );
|
||||
}
|
||||
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
|
||||
{
|
||||
WritingElement_ReadAttributes_Start( oReader )
|
||||
WritingElement_ReadAttributes_ReadSingle ( oReader, _T("val"), val)
|
||||
WritingElement_ReadAttributes_End( oReader )
|
||||
}
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
val = node.ReadAttributeInt(_T("val"));
|
||||
@ -79,18 +92,23 @@ namespace PPTX
|
||||
pWriter->StartRecord(BULLET_TYPE_SIZE_PTS);
|
||||
|
||||
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeStart);
|
||||
pWriter->WriteInt1(0, val);
|
||||
pWriter->WriteInt1(0, val.get_value_or(0));
|
||||
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeEnd);
|
||||
|
||||
pWriter->EndRecord();
|
||||
}
|
||||
public:
|
||||
int val;
|
||||
nullable_int val;
|
||||
protected:
|
||||
virtual void FillParentPointersForChilds(){};
|
||||
AVSINLINE void Normalize()
|
||||
{
|
||||
normalize_value(val, 100, 400000);
|
||||
if (val.IsInit())
|
||||
{
|
||||
int tmp = *val;
|
||||
normalize_value(tmp, 100, 400000);
|
||||
val = tmp;
|
||||
}
|
||||
}
|
||||
};
|
||||
} // namespace Logic
|
||||
|
||||
@ -42,7 +42,8 @@ namespace PPTX
|
||||
class BuSzTx : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(BuSzTx)
|
||||
WritingElement_AdditionConstructors(BuSzTx)
|
||||
PPTX_LOGIC_BASE2(BuSzTx)
|
||||
|
||||
BuSzTx& operator=(const BuSzTx& oSrc)
|
||||
{
|
||||
@ -51,8 +52,13 @@ namespace PPTX
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
public:
|
||||
virtual OOX::EElementType getType() const
|
||||
{
|
||||
return OOX::et_a_buSzTx;
|
||||
}
|
||||
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
|
||||
{
|
||||
}
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
}
|
||||
|
||||
@ -46,7 +46,8 @@ namespace PPTX
|
||||
class Bullet : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(Bullet)
|
||||
WritingElement_AdditionConstructors(Bullet)
|
||||
PPTX_LOGIC_BASE2(Bullet)
|
||||
|
||||
Bullet& operator=(const Bullet& oSrc)
|
||||
{
|
||||
@ -57,8 +58,27 @@ namespace PPTX
|
||||
|
||||
return *this;
|
||||
}
|
||||
virtual OOX::EElementType getType () const
|
||||
{
|
||||
if (m_Bullet.IsInit())
|
||||
return m_Bullet->getType();
|
||||
return OOX::et_Unknown;
|
||||
}
|
||||
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
|
||||
{
|
||||
std::wstring strName = XmlUtils::GetNameNoNS(oReader.GetName());
|
||||
|
||||
public:
|
||||
if (strName == _T("buNone"))
|
||||
m_Bullet.reset(new Logic::BuNone(oReader));
|
||||
else if (strName == _T("buChar"))
|
||||
m_Bullet.reset(new Logic::BuChar(oReader));
|
||||
else if (strName == _T("buAutoNum"))
|
||||
m_Bullet.reset(new Logic::BuAutoNum(oReader));
|
||||
else if (strName == _T("buBlip"))
|
||||
m_Bullet.reset(new Logic::BuBlip(oReader));
|
||||
else
|
||||
m_Bullet.reset();
|
||||
}
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
std::wstring strName = XmlUtils::GetNameNoNS(node.GetName());
|
||||
@ -71,7 +91,8 @@ namespace PPTX
|
||||
m_Bullet.reset(new Logic::BuAutoNum(node));
|
||||
else if (strName == _T("buBlip"))
|
||||
m_Bullet.reset(new Logic::BuBlip(node));
|
||||
else m_Bullet.reset();
|
||||
else
|
||||
m_Bullet.reset();
|
||||
}
|
||||
|
||||
virtual void ReadBulletFrom(XmlUtils::CXmlNode& element)
|
||||
@ -85,7 +106,8 @@ namespace PPTX
|
||||
m_Bullet.reset(new Logic::BuAutoNum(oNode));
|
||||
else if (element.GetNode(_T("a:buBlip"), oNode))
|
||||
m_Bullet.reset(new Logic::BuBlip(oNode));
|
||||
else m_Bullet.reset();
|
||||
else
|
||||
m_Bullet.reset();
|
||||
}
|
||||
|
||||
virtual bool is_init()const{return (m_Bullet.IsInit());};
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user