Commit 84f39f54 authored by Sergey.Konovalov's avatar Sergey.Konovalov Committed by Alexander Trofimov

x2t32.exe (2.0.2.336)

TrackRevision открытие/сохранение.

git-svn-id: svn://fileserver/activex/AVS/Sources/TeamlabOffice/trunk/ServerComponents@66364 954022d7-b5bf-4e40-9824-e11837661b57
parent 28a6dc9c
#ifndef READER_CLASSES #ifndef READER_CLASSES
#define READER_CLASSES #define READER_CLASSES
#include "../../Common/ATLDefine.h"
namespace BinDocxRW { namespace BinDocxRW {
class SectPr class SectPr
...@@ -20,6 +22,7 @@ public: ...@@ -20,6 +22,7 @@ public:
bool EvenAndOddHeaders; bool EvenAndOddHeaders;
BYTE SectionType; BYTE SectionType;
int PageNumStart; int PageNumStart;
CString sectPrChange;
bool bHeader; bool bHeader;
bool bFooter; bool bFooter;
...@@ -89,6 +92,8 @@ public: ...@@ -89,6 +92,8 @@ public:
sRes.Append(_T("<w:cols w:space=\"708\"/><w:docGrid w:linePitch=\"360\"/>")); sRes.Append(_T("<w:cols w:space=\"708\"/><w:docGrid w:linePitch=\"360\"/>"));
if(bTitlePg && TitlePg) if(bTitlePg && TitlePg)
sRes.Append(_T("<w:titlePg/>")); sRes.Append(_T("<w:titlePg/>"));
if(!sectPrChange.IsEmpty())
sRes.Append(sectPrChange);
return sRes; return sRes;
} }
}; };
...@@ -308,6 +313,9 @@ public: ...@@ -308,6 +313,9 @@ public:
bool Vanish; bool Vanish;
CString Outline; CString Outline;
CString Fill; CString Fill;
CString Del;
CString Ins;
CString rPrChange;
bool bBold; bool bBold;
bool bItalic; bool bItalic;
...@@ -391,11 +399,15 @@ public: ...@@ -391,11 +399,15 @@ public:
bVanish = false; bVanish = false;
Outline.Empty(); Outline.Empty();
Fill.Empty(); Fill.Empty();
Del.Empty();
Ins.Empty();
rPrChange.Empty();
} }
bool IsNoEmpty() bool IsNoEmpty()
{ {
return bBold || bItalic || bUnderline || bStrikeout || bFontAscii || bFontHAnsi || bFontAE || bFontCS || bFontSize || bColor || bVertAlign || bHighLight || bShd || return bBold || bItalic || bUnderline || bStrikeout || bFontAscii || bFontHAnsi || bFontAE || bFontCS || bFontSize || bColor || bVertAlign || bHighLight || bShd ||
bRStyle || bSpacing || bDStrikeout || bCaps || bSmallCaps || bPosition || bFontHint || bBoldCs || bItalicCs || bFontSizeCs || bCs || bRtl || bLang || bLangBidi || bLangEA || bThemeColor || bVanish || !Outline.IsEmpty() || !Fill.IsEmpty(); bRStyle || bSpacing || bDStrikeout || bCaps || bSmallCaps || bPosition || bFontHint || bBoldCs || bItalicCs || bFontSizeCs || bCs || bRtl || bLang || bLangBidi || bLangEA || bThemeColor || bVanish ||
!Outline.IsEmpty() || !Fill.IsEmpty() || !Del.IsEmpty() || !Ins.IsEmpty() || !rPrChange.IsEmpty();
} }
void Write(XmlUtils::CStringWriter* pCStringWriter) void Write(XmlUtils::CStringWriter* pCStringWriter)
{ {
...@@ -653,6 +665,12 @@ public: ...@@ -653,6 +665,12 @@ public:
pCStringWriter->WriteString(Outline); pCStringWriter->WriteString(Outline);
if (!Fill.IsEmpty()) if (!Fill.IsEmpty())
pCStringWriter->WriteString(Fill); pCStringWriter->WriteString(Fill);
if (!Del.IsEmpty())
pCStringWriter->WriteString(Del);
if (!Ins.IsEmpty())
pCStringWriter->WriteString(Ins);
if (!rPrChange.IsEmpty())
pCStringWriter->WriteString(rPrChange);
pCStringWriter->WriteString(CString(_T("</w:rPr>"))); pCStringWriter->WriteString(CString(_T("</w:rPr>")));
} }
}; };
...@@ -2183,9 +2201,10 @@ public: ...@@ -2183,9 +2201,10 @@ public:
CString Style; CString Style;
CString Look; CString Look;
CString Layout; CString Layout;
CString tblPrChange;
bool IsEmpty() bool IsEmpty()
{ {
return Jc.IsEmpty() && TableInd.IsEmpty() && TableW.IsEmpty() && TableCellMar.IsEmpty() && TableBorders.IsEmpty() && Shd.IsEmpty() && tblpPr.IsEmpty()&& Style.IsEmpty() && Look.IsEmpty(); return Jc.IsEmpty() && TableInd.IsEmpty() && TableW.IsEmpty() && TableCellMar.IsEmpty() && TableBorders.IsEmpty() && Shd.IsEmpty() && tblpPr.IsEmpty()&& Style.IsEmpty() && Look.IsEmpty() && tblPrChange.IsEmpty();
} }
CString Write(bool bBandSize, bool bLayout) CString Write(bool bBandSize, bool bLayout)
{ {
...@@ -2218,6 +2237,8 @@ public: ...@@ -2218,6 +2237,8 @@ public:
sRes.Append(TableCellMar); sRes.Append(TableCellMar);
if(false == Look.IsEmpty()) if(false == Look.IsEmpty())
sRes.Append(Look); sRes.Append(Look);
if(!tblPrChange.IsEmpty())
sRes.Append(tblPrChange);
sRes.Append(_T("</w:tblPr>")); sRes.Append(_T("</w:tblPr>"));
return sRes; return sRes;
} }
...@@ -2475,5 +2496,157 @@ public: ...@@ -2475,5 +2496,157 @@ public:
} }
} }
}; };
class TrackRevision
{
public:
CString Author;
CString Date;
long* Id;
CString UserId;
long* vMerge;
long* vMergeOrigin;
rPr* RPr;
XmlUtils::CStringWriter* PPr;
SectPr* sectPr;
CWiterTblPr* tblPr;
XmlUtils::CStringWriter* tblGridChange;
XmlUtils::CStringWriter* trPr;
XmlUtils::CStringWriter* tcPr;
XmlUtils::CStringWriter* content;
TrackRevision()
{
Id = NULL;
vMerge = NULL;
vMergeOrigin = NULL;
RPr = NULL;
PPr = NULL;
sectPr = NULL;
tblPr = NULL;
tblGridChange = NULL;
trPr = NULL;
tcPr = NULL;
content = NULL;
}
~TrackRevision()
{
RELEASEOBJECT(Id);
RELEASEOBJECT(vMerge);
RELEASEOBJECT(vMergeOrigin);
RELEASEOBJECT(RPr);
RELEASEOBJECT(PPr);
RELEASEOBJECT(sectPr);
RELEASEOBJECT(tblPr);
RELEASEOBJECT(tblGridChange);
RELEASEOBJECT(trPr);
RELEASEOBJECT(tcPr);
RELEASEOBJECT(content);
}
bool IsNoEmpty()
{
return !Author.IsEmpty() || !Date.IsEmpty() || NULL != Id;
}
CString ToString(CString sName)
{
XmlUtils::CStringWriter writer;
Write(&writer, sName);
return writer.GetData();
}
void Write(XmlUtils::CStringWriter* pCStringWriter, CString sName)
{
if(IsNoEmpty())
{
pCStringWriter->WriteString(CString(_T("<")));
pCStringWriter->WriteString(sName);
if(NULL != Id)
{
CString sId;sId.Format(_T(" w:id=\"%d\""), *Id);
pCStringWriter->WriteString(sId);
}
if(!Author.IsEmpty())
{
pCStringWriter->WriteString(_T(" w:author=\""));
pCStringWriter->WriteEncodeXmlString(Author);
pCStringWriter->WriteString(_T("\""));
}
if(!Date.IsEmpty())
{
pCStringWriter->WriteString(_T(" w:date=\""));
pCStringWriter->WriteEncodeXmlString(Date);
pCStringWriter->WriteString(_T("\""));
}
if(!UserId.IsEmpty())
{
pCStringWriter->WriteString(_T(" oouserid=\""));
pCStringWriter->WriteEncodeXmlString(UserId);
pCStringWriter->WriteString(_T("\""));
}
if(NULL != vMerge)
{
CString sId;sId.Format(_T(" w:vMerge=\"%d\""), *vMerge);
pCStringWriter->WriteString(sId);
}
if(NULL != vMergeOrigin)
{
CString sId;sId.Format(_T(" w:vMergeOrig=\"%d\""), *vMergeOrigin);
pCStringWriter->WriteString(sId);
}
if(NULL != RPr || NULL != PPr || NULL != sectPr || NULL != tblPr || NULL != tblGridChange || NULL != trPr || NULL != tcPr || NULL != content)
{
pCStringWriter->WriteString(CString(_T(">")));
if(NULL != RPr)
{
RPr->Write(pCStringWriter);
}
if(NULL != PPr)
{
pCStringWriter->WriteString(_T("<w:pPr>"));
pCStringWriter->Write(*PPr);
pCStringWriter->WriteString(_T("</w:pPr>"));
}
if(NULL != sectPr)
{
pCStringWriter->WriteString(_T("<w:sectPr>"));
pCStringWriter->WriteString(sectPr->Write());
pCStringWriter->WriteString(_T("</w:sectPr>"));
}
if(NULL != tblPr)
{
pCStringWriter->WriteString(tblPr->Write(false, true));
}
if(NULL != tblGridChange)
{
pCStringWriter->WriteString(CString(_T("<w:tblGrid>")));
pCStringWriter->Write(*tblGridChange);
pCStringWriter->WriteString(CString(_T("</w:tblGrid>")));
}
if(NULL != trPr)
{
pCStringWriter->WriteString(CString(_T("<w:trPr>")));
pCStringWriter->Write(*trPr);
pCStringWriter->WriteString(CString(_T("</w:trPr>")));
}
if(NULL != tcPr)
{
pCStringWriter->WriteString(CString(_T("<w:tcPr>")));
pCStringWriter->Write(*tcPr);
pCStringWriter->WriteString(CString(_T("</w:tcPr>")));
}
if(NULL != content)
{
pCStringWriter->Write(*content);
}
pCStringWriter->WriteString(CString(_T("</")));
pCStringWriter->WriteString(sName);
pCStringWriter->WriteString(CString(_T(" >")));
}
else
{
pCStringWriter->WriteString(CString(_T(" />")));
}
}
}
};
} }
#endif // #ifndef READER_CLASSES #endif // #ifndef READER_CLASSES
This diff is collapsed.
#ifndef DOCX_BIN_READER_WRITER_DEFINES #ifndef DOCX_BIN_READER_WRITER_DEFINES
#define DOCX_BIN_READER_WRITER_DEFINES #define DOCX_BIN_READER_WRITER_DEFINES
namespace BinDocxRW namespace BinDocxRW
...@@ -13,8 +13,8 @@ const int X_Right_Margin = 15; // 1.5 cm ...@@ -13,8 +13,8 @@ const int X_Right_Margin = 15; // 1.5 cm
const int Y_Bottom_Margin = 20; // 2 cm const int Y_Bottom_Margin = 20; // 2 cm
const int Y_Top_Margin = 20; // 2 cm const int Y_Top_Margin = 20; // 2 cm
const double Y_Default_Header = 12.5; // 1.25 cm const double Y_Default_Header = 12.5; // 1.25 cm расстояние от верха страницы до верха верхнего колонтитула
const double Y_Default_Footer = 12.5; // 1.25 cm const double Y_Default_Footer = 12.5; // 1.25 cm расстояние от низа страницы до низа нижнего колонтитула
const int shd_Clear = 0; const int shd_Clear = 0;
const int shd_Nil = 1; const int shd_Nil = 1;
...@@ -133,8 +133,8 @@ extern int g_nCurFormatVersion; ...@@ -133,8 +133,8 @@ extern int g_nCurFormatVersion;
HdrFtr_Even = 3, HdrFtr_Even = 3,
HdrFtr_Odd = 4, HdrFtr_Odd = 4,
HdrFtr_Content = 5, HdrFtr_Content = 5,
HdrFtr_Y2 = 6,// HdrFtr_Y2 = 6,//устарел
HdrFtr_Y = 7// HdrFtr_Y = 7//устарел
};} };}
namespace c_oSerNumTypes{enum c_oSerNumTypes namespace c_oSerNumTypes{enum c_oSerNumTypes
{ {
...@@ -247,7 +247,8 @@ extern int g_nCurFormatVersion; ...@@ -247,7 +247,8 @@ extern int g_nCurFormatVersion;
Look = 9, Look = 9,
Style = 10, Style = 10,
tblpPr2 = 11, tblpPr2 = 11,
Layout = 12 Layout = 12,
tblPrChange = 13
};} };}
namespace c_oSer_tblpPrType{enum c_oSer_tblpPrType namespace c_oSer_tblpPrType{enum c_oSer_tblpPrType
{ {
...@@ -297,7 +298,9 @@ extern int g_nCurFormatVersion; ...@@ -297,7 +298,9 @@ extern int g_nCurFormatVersion;
Spacing_BeforeAuto = 28, Spacing_BeforeAuto = 28,
Spacing_AfterAuto = 29, Spacing_AfterAuto = 29,
FramePr = 30, FramePr = 30,
SectPr = 31 SectPr = 31,
numPr_Ins = 32,
pPrChange = 33
};} };}
namespace c_oSerProp_rPrType{enum c_oSerProp_rPrType namespace c_oSerProp_rPrType{enum c_oSerProp_rPrType
{ {
...@@ -333,7 +336,10 @@ extern int g_nCurFormatVersion; ...@@ -333,7 +336,10 @@ extern int g_nCurFormatVersion;
Shd = 29, Shd = 29,
Vanish = 30, Vanish = 30,
TextOutline = 31, TextOutline = 31,
TextFill = 32 TextFill = 32,
Del = 33,
Ins = 34,
rPrChange = 35
};} };}
namespace c_oSerProp_rowPrType{enum c_oSerProp_rowPrType namespace c_oSerProp_rowPrType{enum c_oSerProp_rowPrType
{ {
...@@ -351,7 +357,10 @@ extern int g_nCurFormatVersion; ...@@ -351,7 +357,10 @@ extern int g_nCurFormatVersion;
WAfterBefore_Type = 11, WAfterBefore_Type = 11,
After = 12, After = 12,
Before = 13, Before = 13,
TableHeader = 14 TableHeader = 14,
Del = 15,
Ins = 16,
trPrChange = 17
};} };}
namespace c_oSerProp_cellPrType{enum c_oSerProp_cellPrType namespace c_oSerProp_cellPrType{enum c_oSerProp_cellPrType
{ {
...@@ -361,7 +370,11 @@ extern int g_nCurFormatVersion; ...@@ -361,7 +370,11 @@ extern int g_nCurFormatVersion;
TableCellW = 3, TableCellW = 3,
VAlign = 4, VAlign = 4,
VMerge = 5, VMerge = 5,
CellMar = 6 CellMar = 6,
CellDel = 7,
CellIns = 8,
CellMerge = 9,
tcPrChange = 10
};} };}
namespace c_oSerProp_secPrType{enum c_oSerProp_secPrType namespace c_oSerProp_secPrType{enum c_oSerProp_secPrType
{ {
...@@ -371,7 +384,8 @@ extern int g_nCurFormatVersion; ...@@ -371,7 +384,8 @@ extern int g_nCurFormatVersion;
headers = 3, headers = 3,
footers = 4, footers = 4,
hdrftrelem = 5, hdrftrelem = 5,
pageNumType = 6 pageNumType = 6,
sectPrChange = 7
};} };}
namespace c_oSerProp_secPrSettingsType{enum c_oSerProp_secPrSettingsType namespace c_oSerProp_secPrSettingsType{enum c_oSerProp_secPrSettingsType
{ {
...@@ -396,7 +410,9 @@ extern int g_nCurFormatVersion; ...@@ -396,7 +410,9 @@ extern int g_nCurFormatVersion;
OMathPara = 8, OMathPara = 8,
OMath = 9, OMath = 9,
Hyperlink = 10, Hyperlink = 10,
FldSimple = 11 FldSimple = 11,
Del = 12,
Ins = 13
};} };}
namespace c_oSerDocTableType{enum c_oSerDocTableType namespace c_oSerDocTableType{enum c_oSerDocTableType
{ {
...@@ -409,7 +425,8 @@ extern int g_nCurFormatVersion; ...@@ -409,7 +425,8 @@ extern int g_nCurFormatVersion;
Row_Content = 5, Row_Content = 5,
Cell = 6, Cell = 6,
Cell_Pr = 7, Cell_Pr = 7,
Cell_Content = 8 Cell_Content = 8,
tblGridChange = 9
};} };}
namespace c_oSerRunType{enum c_oSerRunType namespace c_oSerRunType{enum c_oSerRunType
{ {
...@@ -426,7 +443,8 @@ extern int g_nCurFormatVersion; ...@@ -426,7 +443,8 @@ extern int g_nCurFormatVersion;
fldend = 10, fldend = 10,
CommentReference = 11, CommentReference = 11,
pptxDrawing = 12, pptxDrawing = 12,
object = 14 object = 14,
delText = 15
};} };}
namespace c_oSerImageType{enum c_oSerImageType namespace c_oSerImageType{enum c_oSerImageType
{ {
...@@ -813,6 +831,23 @@ extern int g_nCurFormatVersion; ...@@ -813,6 +831,23 @@ extern int g_nCurFormatVersion;
Tint = 2, Tint = 2,
Shade = 3 Shade = 3
};} };}
namespace c_oSerProp_RevisionType{enum c_oSerProp_RevisionType
{
Author = 0,
Date = 1,
Id = 2,
UserId = 3,
Content = 4,
VMerge = 5,
VMergeOrigin = 6,
pPrChange = 7,
rPrChange = 8,
sectPrChange = 9,
tblGridChange = 10,
tblPrChange = 11,
tcPrChange = 12,
trPrChange = 13
};}
} }
#endif // #ifndef DOCX_BIN_READER_WRITER_DEFINES #endif // #ifndef DOCX_BIN_READER_WRITER_DEFINES
\ No newline at end of file
This diff is collapsed.
...@@ -131,7 +131,7 @@ HEADERS += ../DocWrapper/DocxSerializer.h \ ...@@ -131,7 +131,7 @@ HEADERS += ../DocWrapper/DocxSerializer.h \
../../XlsxSerializerCom/Writer/BinaryReader.h \ ../../XlsxSerializerCom/Writer/BinaryReader.h \
../../XlsxSerializerCom/Writer/CSVWriter.h \ ../../XlsxSerializerCom/Writer/CSVWriter.h \
../BinReader/webSettingsWriter.h \ ../BinReader/webSettingsWriter.h \
../../Common/FileDownloader.h \ ../../Common/FileDownloader/FileDownloader.h \
../BinReader/DefaultThemeWriter.h ../BinReader/DefaultThemeWriter.h
unix { unix {
......
...@@ -62,6 +62,7 @@ win32 { ...@@ -62,6 +62,7 @@ win32 {
DEFINES += \ DEFINES += \
LIBXML_READER_ENABLED LIBXML_READER_ENABLED
INCLUDEPATH += C:/boost_1_58_0
} }
#################### WINDOWS ##################### #################### WINDOWS #####################
......
#pragma once #pragma once
#include "SimpleTypes_Base.h" #include "SimpleTypes_Base.h"
#include <algorithm> #include <algorithm>
// Word Office Open Xml (17.18) // Здесь представлены все простые типы Word из спецификации Office Open Xml (17.18)
namespace SimpleTypes namespace SimpleTypes
{ {
//-------------------------------------------------------------------------------- //--------------------------------------------------------------------------------
...@@ -51,7 +51,7 @@ namespace SimpleTypes ...@@ -51,7 +51,7 @@ namespace SimpleTypes
// Border 17.18.2 (Part 1) // Border 17.18.2 (Part 1)
//-------------------------------------------------------------------------------- //--------------------------------------------------------------------------------
// 1- 25- 17.4.67 // Значения с 1-го по 25-ый сделаны по таблице 17.4.67
enum EBorder enum EBorder
{ {
// No Border // No Border
...@@ -1242,7 +1242,7 @@ namespace SimpleTypes ...@@ -1242,7 +1242,7 @@ namespace SimpleTypes
private: private:
double m_dValue; double m_dValue;
bool m_bTrailingPercentSign; // ? bool m_bTrailingPercentSign; // Есть ли знак процента в конце?
}; };
...@@ -2885,7 +2885,7 @@ namespace SimpleTypes ...@@ -2885,7 +2885,7 @@ namespace SimpleTypes
{ {
this->m_eValue = eDefValue; this->m_eValue = eDefValue;
// // Инициализируем цвет
FromString( ToString() ); FromString( ToString() );
} }
...@@ -6469,7 +6469,7 @@ namespace SimpleTypes ...@@ -6469,7 +6469,7 @@ namespace SimpleTypes
// // Дополнительные типы
namespace SimpleTypes namespace SimpleTypes
{ {
//-------------------------------------------------------------------------------- //--------------------------------------------------------------------------------
...@@ -6658,13 +6658,13 @@ namespace SimpleTypes ...@@ -6658,13 +6658,13 @@ namespace SimpleTypes
if ( '0' == wsChar ) if ( '0' == wsChar )
{ {
// // Ничего не делаем
} }
else if ( '1' == wsChar ) else if ( '1' == wsChar )
{ {
this->m_eValue ^= nMult; this->m_eValue ^= nMult;
} }
else // else // Неправильный формат
break; break;
} }
} }
......
#pragma once #pragma once
#ifndef OOX_LOGIC_DRAWING_EXT_INCLUDE_H_ #ifndef OOX_LOGIC_DRAWING_EXT_INCLUDE_H_
#define OOX_LOGIC_DRAWING_EXT_INCLUDE_H_ #define OOX_LOGIC_DRAWING_EXT_INCLUDE_H_
...@@ -79,10 +79,10 @@ namespace OOX ...@@ -79,10 +79,10 @@ namespace OOX
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{ {
// // Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader ) WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_ReadSingle( oReader, _T("uri"), m_oUri ) WritingElement_ReadAttributes_Read_if( oReader, _T("uri"), m_oUri )
WritingElement_ReadAttributes_ReadSingle( oReader, _T("spid"), m_sSpId ) WritingElement_ReadAttributes_Read_else_if( oReader, _T("spid"), m_sSpId )
WritingElement_ReadAttributes_End( oReader ) WritingElement_ReadAttributes_End( oReader )
} }
...@@ -118,7 +118,7 @@ namespace OOX ...@@ -118,7 +118,7 @@ namespace OOX
virtual void fromXML(XmlUtils::CXmlNode& oNode) virtual void fromXML(XmlUtils::CXmlNode& oNode)
{ {
// TO DO: // TO DO: Реализовать
} }
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader) virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
{ {
......
#include "Annotations.h" #include "Annotations.h"
#include "Bdo.h" #include "Bdo.h"
#include "Paragraph.h" #include "Paragraph.h"
#include "Annotations.h" #include "Annotations.h"
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
#include "../Math/oMathPara.h" #include "../Math/oMathPara.h"
#include "../Math/OMath.h" #include "../Math/OMath.h"
// TO DO: : // TO DO: Нехватающие классы:
// <w:customXml> // <w:customXml>
// <w:moveFrom> // <w:moveFrom>
// <w:moveTo> // <w:moveTo>
......
#include "ParagraphProperty.h" #include "ParagraphProperty.h"
namespace OOX namespace OOX
{ {
...@@ -47,7 +47,8 @@ namespace OOX ...@@ -47,7 +47,8 @@ namespace OOX
oNode.ReadAttributeBase( _T("w:author"), m_sAuthor ); oNode.ReadAttributeBase( _T("w:author"), m_sAuthor );
oNode.ReadAttributeBase( _T("w:date"), m_oDate ); oNode.ReadAttributeBase( _T("w:date"), m_oDate );
oNode.ReadAttributeBase( _T("w:id"), m_oID ); oNode.ReadAttributeBase( _T("w:id"), m_oId );
oNode.ReadAttributeBase( _T("oouserid"), m_sUserId );
XmlUtils::CXmlNode oNode_pPr; XmlUtils::CXmlNode oNode_pPr;
...@@ -89,10 +90,17 @@ namespace OOX ...@@ -89,10 +90,17 @@ namespace OOX
sResult += "\" "; sResult += "\" ";
} }
if ( m_oID.IsInit() ) if ( m_oId.IsInit() )
{ {
sResult += "w:id=\""; sResult += "w:id=\"";
sResult += m_oID->ToString(); sResult += m_oId->ToString();
sResult += "\" ";
}
if ( m_sUserId.IsInit() )
{
sResult += "oouserid=\"";
sResult += m_sUserId->GetString();
sResult += "\" "; sResult += "\" ";
} }
...@@ -111,12 +119,13 @@ namespace OOX ...@@ -111,12 +119,13 @@ namespace OOX
} }
void CPPrChange::ReadAttributes(XmlUtils::CXmlLiteReader& oReader) void CPPrChange::ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{ {
// // Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader ) WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_Read_if ( oReader, _T("w:author"), m_sAuthor ) WritingElement_ReadAttributes_Read_if ( oReader, _T("w:author"), m_sAuthor )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:date"), m_oDate ) WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:date"), m_oDate )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:id"), m_oID ) WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:id"), m_oId )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("oouserid"), m_sUserId )
WritingElement_ReadAttributes_End( oReader ) WritingElement_ReadAttributes_End( oReader )
} }
} // Logic } // Logic
} // OOX } // OOX
\ No newline at end of file
#pragma once #pragma once
#ifndef OOX_LOGIC_PARAGRAPH_PROPERTY_INCLUDE_H_ #ifndef OOX_LOGIC_PARAGRAPH_PROPERTY_INCLUDE_H_
#define OOX_LOGIC_PARAGRAPH_PROPERTY_INCLUDE_H_ #define OOX_LOGIC_PARAGRAPH_PROPERTY_INCLUDE_H_
...@@ -168,7 +168,7 @@ namespace ComplexTypes ...@@ -168,7 +168,7 @@ namespace ComplexTypes
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{ {
// // Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader ) WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_Read_if ( oReader, _T("w:anchorLock"), m_oAnchorLock ) WritingElement_ReadAttributes_Read_if ( oReader, _T("w:anchorLock"), m_oAnchorLock )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:dropCap"), m_oDropCap ) WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:dropCap"), m_oDropCap )
...@@ -231,7 +231,7 @@ namespace ComplexTypes ...@@ -231,7 +231,7 @@ namespace ComplexTypes
oNode.ReadAttributeBase( _T("w:start"), m_oStart ); oNode.ReadAttributeBase( _T("w:start"), m_oStart );
oNode.ReadAttributeBase( _T("w:startChars"), m_oStartChars ); oNode.ReadAttributeBase( _T("w:startChars"), m_oStartChars );
// . 9.2.1.2 Part4 // См. 9.2.1.2 Part4
if ( !m_oStart.IsInit() ) if ( !m_oStart.IsInit() )
oNode.ReadAttributeBase( _T("w:left"), m_oStart ); oNode.ReadAttributeBase( _T("w:left"), m_oStart );
if ( !m_oStartChars.IsInit() ) if ( !m_oStartChars.IsInit() )
...@@ -340,7 +340,7 @@ namespace ComplexTypes ...@@ -340,7 +340,7 @@ namespace ComplexTypes
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{ {
// // Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader ) WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_Read_if ( oReader, _T("w:end"), m_oEnd ) WritingElement_ReadAttributes_Read_if ( oReader, _T("w:end"), m_oEnd )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:endChars"), m_oEndChars ) WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:endChars"), m_oEndChars )
...@@ -492,7 +492,7 @@ namespace ComplexTypes ...@@ -492,7 +492,7 @@ namespace ComplexTypes
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{ {
// // Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader ) WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_Read_if ( oReader, _T("w:after"), m_oAfter ) WritingElement_ReadAttributes_Read_if ( oReader, _T("w:after"), m_oAfter )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:afterAutospacing"), m_oAfterAutospacing ) WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:afterAutospacing"), m_oAfterAutospacing )
...@@ -574,7 +574,7 @@ namespace ComplexTypes ...@@ -574,7 +574,7 @@ namespace ComplexTypes
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{ {
// // Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader ) WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_Read_if ( oReader, _T("w:leader"), m_oLeader ) WritingElement_ReadAttributes_Read_if ( oReader, _T("w:leader"), m_oLeader )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:pos"), m_oPos ) WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:pos"), m_oPos )
...@@ -631,7 +631,7 @@ namespace ComplexTypes ...@@ -631,7 +631,7 @@ namespace ComplexTypes
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{ {
// // Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader ) WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal )
WritingElement_ReadAttributes_End( oReader ) WritingElement_ReadAttributes_End( oReader )
...@@ -684,7 +684,7 @@ namespace ComplexTypes ...@@ -684,7 +684,7 @@ namespace ComplexTypes
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{ {
// // Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader ) WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal )
WritingElement_ReadAttributes_End( oReader ) WritingElement_ReadAttributes_End( oReader )
...@@ -973,7 +973,8 @@ namespace OOX ...@@ -973,7 +973,8 @@ namespace OOX
nullable<CString > m_sAuthor; nullable<CString > m_sAuthor;
nullable<SimpleTypes::CDateTime > m_oDate; nullable<SimpleTypes::CDateTime > m_oDate;
nullable<SimpleTypes::CDecimalNumber<> > m_oID; nullable<SimpleTypes::CDecimalNumber<> > m_oId;
nullable<CString > m_sUserId;
nullable<OOX::Logic::CParagraphProperty> m_pParPr; nullable<OOX::Logic::CParagraphProperty> m_pParPr;
......
#include "RunProperty.h" #include "RunProperty.h"
namespace OOX namespace OOX
{ {
...@@ -37,7 +37,8 @@ namespace OOX ...@@ -37,7 +37,8 @@ namespace OOX
oNode.ReadAttributeBase( _T("w:author"), m_sAuthor ); oNode.ReadAttributeBase( _T("w:author"), m_sAuthor );
oNode.ReadAttributeBase( _T("w:date"), m_oDate ); oNode.ReadAttributeBase( _T("w:date"), m_oDate );
oNode.ReadAttributeBase( _T("w:id"), m_oID ); oNode.ReadAttributeBase( _T("w:id"), m_oId );
oNode.ReadAttributeBase( _T("oouserid"), m_sUserId );
XmlUtils::CXmlNode oNode_rPr; XmlUtils::CXmlNode oNode_rPr;
...@@ -80,10 +81,17 @@ namespace OOX ...@@ -80,10 +81,17 @@ namespace OOX
sResult += "\" "; sResult += "\" ";
} }
if ( m_oID.IsInit() ) if ( m_oId.IsInit() )
{ {
sResult += "w:id=\""; sResult += "w:id=\"";
sResult += m_oID->ToString(); sResult += m_oId->ToString();
sResult += "\" ";
}
if ( m_sUserId.IsInit() )
{
sResult += "oouserid=\"";
sResult += m_sUserId->GetString();
sResult += "\" "; sResult += "\" ";
} }
...@@ -102,11 +110,12 @@ namespace OOX ...@@ -102,11 +110,12 @@ namespace OOX
} }
void CRPrChange::ReadAttributes(XmlUtils::CXmlLiteReader& oReader) void CRPrChange::ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{ {
// // Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader ) WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_Read_if ( oReader, _T("w:author"), m_sAuthor ) WritingElement_ReadAttributes_Read_if ( oReader, _T("w:author"), m_sAuthor )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:date"), m_oDate ) WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:date"), m_oDate )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:id"), m_oID ) WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:id"), m_oId )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("oouserid"), m_sUserId )
WritingElement_ReadAttributes_End( oReader ) WritingElement_ReadAttributes_End( oReader )
} }
} // Logic } // Logic
......
#include "SectionProperty.h" #include "SectionProperty.h"
namespace OOX namespace OOX
{ {
...@@ -35,6 +35,7 @@ namespace OOX ...@@ -35,6 +35,7 @@ namespace OOX
oNode.ReadAttributeBase( _T("w:author"), m_sAuthor ); oNode.ReadAttributeBase( _T("w:author"), m_sAuthor );
oNode.ReadAttributeBase( _T("w:date"), m_oDate ); oNode.ReadAttributeBase( _T("w:date"), m_oDate );
oNode.ReadAttributeBase( _T("w:id"), m_oId ); oNode.ReadAttributeBase( _T("w:id"), m_oId );
oNode.ReadAttributeBase( _T("oouserid"), m_sUserId );
XmlUtils::CXmlNode oNode_sectPr; XmlUtils::CXmlNode oNode_sectPr;
...@@ -82,6 +83,13 @@ namespace OOX ...@@ -82,6 +83,13 @@ namespace OOX
sResult += "\" "; sResult += "\" ";
} }
if ( m_sUserId.IsInit() )
{
sResult += "oouserid=\"";
sResult += m_sUserId->GetString();
sResult += "\" ";
}
sResult += _T(">"); sResult += _T(">");
if ( m_pSecPr.IsInit() ) if ( m_pSecPr.IsInit() )
...@@ -97,11 +105,12 @@ namespace OOX ...@@ -97,11 +105,12 @@ namespace OOX
} }
void CSectPrChange::ReadAttributes(XmlUtils::CXmlLiteReader& oReader) void CSectPrChange::ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{ {
// // Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader ) WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_Read_if ( oReader, _T("w:author"), m_sAuthor ) WritingElement_ReadAttributes_Read_if ( oReader, _T("w:author"), m_sAuthor )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:date"), m_oDate ) WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:date"), m_oDate )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:id"), m_oId ) WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:id"), m_oId )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("oouserid"), m_sUserId )
WritingElement_ReadAttributes_End( oReader ) WritingElement_ReadAttributes_End( oReader )
} }
} // Logic } // Logic
......
#pragma once #pragma once
#ifndef OOX_LOGIC_SECTOR_PROPERTY_INCLUDE_H_ #ifndef OOX_LOGIC_SECTOR_PROPERTY_INCLUDE_H_
#define OOX_LOGIC_SECTOR_PROPERTY_INCLUDE_H_ #define OOX_LOGIC_SECTOR_PROPERTY_INCLUDE_H_
...@@ -64,7 +64,7 @@ namespace ComplexTypes ...@@ -64,7 +64,7 @@ namespace ComplexTypes
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{ {
// // Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader ) WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_Read_if ( oReader, _T("w:space"), m_oSpace ) WritingElement_ReadAttributes_Read_if ( oReader, _T("w:space"), m_oSpace )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:w"), m_oW ) WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:w"), m_oW )
...@@ -135,7 +135,7 @@ namespace ComplexTypes ...@@ -135,7 +135,7 @@ namespace ComplexTypes
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{ {
// // Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader ) WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_Read_if ( oReader, _T("w:charSpace"), m_oCharSpace ) WritingElement_ReadAttributes_Read_if ( oReader, _T("w:charSpace"), m_oCharSpace )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:linePitch"), m_oLinePitch ) WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:linePitch"), m_oLinePitch )
...@@ -200,7 +200,7 @@ namespace ComplexTypes ...@@ -200,7 +200,7 @@ namespace ComplexTypes
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{ {
// // Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader ) WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_Read_if ( oReader, _T("r:id"), m_oId ) WritingElement_ReadAttributes_Read_if ( oReader, _T("r:id"), m_oId )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:type"), m_oType ) WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:type"), m_oType )
...@@ -280,7 +280,7 @@ namespace ComplexTypes ...@@ -280,7 +280,7 @@ namespace ComplexTypes
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{ {
// // Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader ) WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_Read_if ( oReader, _T("w:countBy"), m_oCountBy ) WritingElement_ReadAttributes_Read_if ( oReader, _T("w:countBy"), m_oCountBy )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:distance"), m_oDistance ) WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:distance"), m_oDistance )
...@@ -348,7 +348,7 @@ namespace ComplexTypes ...@@ -348,7 +348,7 @@ namespace ComplexTypes
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{ {
// // Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader ) WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_Read_if ( oReader, _T("w:first"), m_oFirst ) WritingElement_ReadAttributes_Read_if ( oReader, _T("w:first"), m_oFirst )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:other"), m_oOther ) WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:other"), m_oOther )
...@@ -475,7 +475,7 @@ namespace ComplexTypes ...@@ -475,7 +475,7 @@ namespace ComplexTypes
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{ {
// // Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader ) WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_Read_if ( oReader, _T("w:color"), m_oColor ) WritingElement_ReadAttributes_Read_if ( oReader, _T("w:color"), m_oColor )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:frame"), m_oFrame ) WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:frame"), m_oFrame )
...@@ -632,7 +632,7 @@ namespace ComplexTypes ...@@ -632,7 +632,7 @@ namespace ComplexTypes
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{ {
// // Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader ) WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_Read_if ( oReader, _T("r:bottomLeft"), m_oBottomLeft ) WritingElement_ReadAttributes_Read_if ( oReader, _T("r:bottomLeft"), m_oBottomLeft )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("r:bottomRight"), m_oBottomRight ) WritingElement_ReadAttributes_Read_else_if( oReader, _T("r:bottomRight"), m_oBottomRight )
...@@ -785,7 +785,7 @@ namespace ComplexTypes ...@@ -785,7 +785,7 @@ namespace ComplexTypes
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{ {
// // Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader ) WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_Read_if ( oReader, _T("w:color"), m_oColor ) WritingElement_ReadAttributes_Read_if ( oReader, _T("w:color"), m_oColor )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:frame"), m_oFrame ) WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:frame"), m_oFrame )
...@@ -899,7 +899,7 @@ namespace ComplexTypes ...@@ -899,7 +899,7 @@ namespace ComplexTypes
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{ {
// // Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader ) WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_Read_if ( oReader, _T("w:bottom"), m_oBottom ) WritingElement_ReadAttributes_Read_if ( oReader, _T("w:bottom"), m_oBottom )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:footer"), m_oFooter ) WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:footer"), m_oFooter )
...@@ -988,7 +988,7 @@ namespace ComplexTypes ...@@ -988,7 +988,7 @@ namespace ComplexTypes
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{ {
// // Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader ) WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_Read_if ( oReader, _T("w:chapSep"), m_oChapSep ) WritingElement_ReadAttributes_Read_if ( oReader, _T("w:chapSep"), m_oChapSep )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:chapStyle"), m_oChapStyle ) WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:chapStyle"), m_oChapStyle )
...@@ -1071,7 +1071,7 @@ namespace ComplexTypes ...@@ -1071,7 +1071,7 @@ namespace ComplexTypes
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{ {
// // Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader ) WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_Read_if ( oReader, _T("w:code"), m_oCode ) WritingElement_ReadAttributes_Read_if ( oReader, _T("w:code"), m_oCode )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:h"), m_oH ) WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:h"), m_oH )
...@@ -1132,7 +1132,7 @@ namespace ComplexTypes ...@@ -1132,7 +1132,7 @@ namespace ComplexTypes
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{ {
// // Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader ) WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal )
WritingElement_ReadAttributes_End( oReader ) WritingElement_ReadAttributes_End( oReader )
...@@ -1269,7 +1269,7 @@ namespace OOX ...@@ -1269,7 +1269,7 @@ namespace OOX
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{ {
// // Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader ) WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_Read_if ( oReader, _T("w:equalWidth"), m_oEqualWidth ) WritingElement_ReadAttributes_Read_if ( oReader, _T("w:equalWidth"), m_oEqualWidth )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:num"), m_oNum ) WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:num"), m_oNum )
...@@ -1612,7 +1612,7 @@ namespace OOX ...@@ -1612,7 +1612,7 @@ namespace OOX
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{ {
// // Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader ) WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_Read_if ( oReader, _T("w:display"), m_oDisplay ) WritingElement_ReadAttributes_Read_if ( oReader, _T("w:display"), m_oDisplay )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:offsetFrom"), m_oOffsetFrom ) WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:offsetFrom"), m_oOffsetFrom )
...@@ -1661,6 +1661,7 @@ namespace OOX ...@@ -1661,6 +1661,7 @@ namespace OOX
nullable<CString > m_sAuthor; nullable<CString > m_sAuthor;
nullable<SimpleTypes::CDateTime > m_oDate; nullable<SimpleTypes::CDateTime > m_oDate;
nullable<SimpleTypes::CDecimalNumber<> > m_oId; nullable<SimpleTypes::CDecimalNumber<> > m_oId;
nullable<CString > m_sUserId;
// Childs // Childs
nullable<CSectionProperty> m_pSecPr; nullable<CSectionProperty> m_pSecPr;
...@@ -2082,7 +2083,7 @@ namespace OOX ...@@ -2082,7 +2083,7 @@ namespace OOX
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{ {
// // Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader ) WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_Read_if ( oReader, _T("w:rsidDel"), m_oRsidDel ) WritingElement_ReadAttributes_Read_if ( oReader, _T("w:rsidDel"), m_oRsidDel )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:rsidR"), m_oRsidR ) WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:rsidR"), m_oRsidR )
......
#include "Table.h" #include "Table.h"
#include "Paragraph.h" #include "Paragraph.h"
#include "Annotations.h" #include "Annotations.h"
#include "Sdt.h" #include "Sdt.h"
...@@ -101,7 +101,7 @@ namespace OOX ...@@ -101,7 +101,7 @@ namespace OOX
void CTblGridChange::ReadAttributes(XmlUtils::CXmlLiteReader& oReader) void CTblGridChange::ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{ {
// // Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader ) WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:id"), m_oId ) WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:id"), m_oId )
WritingElement_ReadAttributes_End( oReader ) WritingElement_ReadAttributes_End( oReader )
...@@ -146,6 +146,7 @@ namespace OOX ...@@ -146,6 +146,7 @@ namespace OOX
oNode.ReadAttributeBase( _T("w:author"), m_sAuthor ); oNode.ReadAttributeBase( _T("w:author"), m_sAuthor );
oNode.ReadAttributeBase( _T("w:date"), m_oDate ); oNode.ReadAttributeBase( _T("w:date"), m_oDate );
oNode.ReadAttributeBase( _T("w:id"), m_oId ); oNode.ReadAttributeBase( _T("w:id"), m_oId );
oNode.ReadAttributeBase( _T("oouserid"), m_sUserId );
XmlUtils::CXmlNode oNode_tblPrEx; XmlUtils::CXmlNode oNode_tblPrEx;
...@@ -193,6 +194,13 @@ namespace OOX ...@@ -193,6 +194,13 @@ namespace OOX
sResult += "\" "; sResult += "\" ";
} }
if ( m_sUserId.IsInit() )
{
sResult += "oouserid=\"";
sResult += m_sUserId->GetString();
sResult += "\" ";
}
sResult += _T(">"); sResult += _T(">");
if ( m_pTblPrEx.IsInit() ) if ( m_pTblPrEx.IsInit() )
...@@ -205,18 +213,19 @@ namespace OOX ...@@ -205,18 +213,19 @@ namespace OOX
void CTblPrExChange::ReadAttributes(XmlUtils::CXmlLiteReader& oReader) void CTblPrExChange::ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{ {
// // Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader ) WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_Read_if ( oReader, _T("w:author"), m_sAuthor ) WritingElement_ReadAttributes_Read_if ( oReader, _T("w:author"), m_sAuthor )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:date"), m_oDate ) WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:date"), m_oDate )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:id"), m_oId ) WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:id"), m_oId )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("oouserid"), m_sUserId )
WritingElement_ReadAttributes_End( oReader ) WritingElement_ReadAttributes_End( oReader )
} }
//-------------------------------------------------------------------------------- //--------------------------------------------------------------------------------
// CTbl 17.4.38 (Part 1) // CTbl 17.4.38 (Part 1)
//-------------------------------------------------------------------------------- //--------------------------------------------------------------------------------
// TO DO: : // TO DO: Нехватающие классы:
// <w:customXml> // <w:customXml>
// <w:moveFrom> // <w:moveFrom>
// <w:moveTo> // <w:moveTo>
...@@ -414,7 +423,7 @@ namespace OOX ...@@ -414,7 +423,7 @@ namespace OOX
// CTr 17.4.79 (Part 1) // CTr 17.4.79 (Part 1)
//-------------------------------------------------------------------------------- //--------------------------------------------------------------------------------
// TO DO: : // TO DO: Нехватающие классы:
// <w:customXml> // <w:customXml>
// <w:moveFrom> // <w:moveFrom>
// <w:moveTo> // <w:moveTo>
...@@ -654,7 +663,7 @@ namespace OOX ...@@ -654,7 +663,7 @@ namespace OOX
} }
void CTr::ReadAttributes(XmlUtils::CXmlLiteReader& oReader) void CTr::ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{ {
// // Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader ) WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_Read_if ( oReader, _T("w:rsidDel"), m_oRsidDel ) WritingElement_ReadAttributes_Read_if ( oReader, _T("w:rsidDel"), m_oRsidDel )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:rsidR"), m_oRsidR ) WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:rsidR"), m_oRsidR )
...@@ -666,7 +675,7 @@ namespace OOX ...@@ -666,7 +675,7 @@ namespace OOX
// CTc 17.4.66 (Part 1) // CTc 17.4.66 (Part 1)
//-------------------------------------------------------------------------------- //--------------------------------------------------------------------------------
// TO DO: : // TO DO: Нехватающие классы:
// <w:altChunk> // <w:altChunk>
// <w:customXml> // <w:customXml>
// <w:moveFrom> // <w:moveFrom>
...@@ -870,7 +879,7 @@ namespace OOX ...@@ -870,7 +879,7 @@ namespace OOX
} }
void CTc::ReadAttributes(XmlUtils::CXmlLiteReader& oReader) void CTc::ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{ {
// // Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader ) WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:id"), m_sId ) WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:id"), m_sId )
WritingElement_ReadAttributes_End( oReader ) WritingElement_ReadAttributes_End( oReader )
......
#pragma once #pragma once
#ifndef OOX_LOGIC_TABLE_INCLUDE_H_ #ifndef OOX_LOGIC_TABLE_INCLUDE_H_
#define OOX_LOGIC_TABLE_INCLUDE_H_ #define OOX_LOGIC_TABLE_INCLUDE_H_
...@@ -52,7 +52,7 @@ namespace ComplexTypes ...@@ -52,7 +52,7 @@ namespace ComplexTypes
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{ {
// // Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader ) WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:w"), m_oW ) WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:w"), m_oW )
WritingElement_ReadAttributes_End( oReader ) WritingElement_ReadAttributes_End( oReader )
...@@ -256,6 +256,7 @@ namespace OOX ...@@ -256,6 +256,7 @@ namespace OOX
nullable<CString > m_sAuthor; nullable<CString > m_sAuthor;
nullable<SimpleTypes::CDateTime > m_oDate; nullable<SimpleTypes::CDateTime > m_oDate;
nullable<SimpleTypes::CDecimalNumber<> > m_oId; nullable<SimpleTypes::CDecimalNumber<> > m_oId;
nullable<CString > m_sUserId;
// Childs // Childs
nullable<CTblPrEx > m_pTblPrEx; nullable<CTblPrEx > m_pTblPrEx;
...@@ -450,7 +451,7 @@ namespace OOX ...@@ -450,7 +451,7 @@ namespace OOX
// Childs // Childs
nullable<OOX::Logic::CTblGrid> m_oTblGrid; nullable<OOX::Logic::CTblGrid> m_oTblGrid;
OOX::Logic::CTableProperty* m_oTableProperties; //todooo - m_arrItems, nullable<> OOX::Logic::CTableProperty* m_oTableProperties; //todooo - выкинуть из m_arrItems, переделать на nullable<>
}; };
//-------------------------------------------------------------------------------- //--------------------------------------------------------------------------------
...@@ -531,7 +532,7 @@ namespace OOX ...@@ -531,7 +532,7 @@ namespace OOX
nullable<SimpleTypes::CLongHexNumber<> > m_oRsidTr; nullable<SimpleTypes::CLongHexNumber<> > m_oRsidTr;
// Childs // Childs
OOX::Logic::CTableRowProperties* m_oTableRowProperties; //todooo - m_arrItems, nullable<> OOX::Logic::CTableRowProperties* m_oTableRowProperties; //todooo - выкинуть из m_arrItems, переделать на nullable<>
}; };
//-------------------------------------------------------------------------------- //--------------------------------------------------------------------------------
...@@ -613,13 +614,13 @@ namespace OOX ...@@ -613,13 +614,13 @@ namespace OOX
public: public:
int m_nNumCol; // int m_nNumCol; // Номер колонки
// Attributes // Attributes
nullable<CString > m_sId; nullable<CString > m_sId;
// Childs // Childs
OOX::Logic::CTableCellProperties* m_oTableCellProperties; //todooo - m_arrItems, nullable<> OOX::Logic::CTableCellProperties* m_oTableCellProperties; //todooo - выкинуть из m_arrItems, переделать на nullable<>
}; };
} // namespace Logic } // namespace Logic
......
#include "TableProperty.h" #include "TableProperty.h"
namespace OOX namespace OOX
{ {
...@@ -47,6 +47,7 @@ namespace OOX ...@@ -47,6 +47,7 @@ namespace OOX
oNode.ReadAttributeBase( _T("w:author"), m_sAuthor ); oNode.ReadAttributeBase( _T("w:author"), m_sAuthor );
oNode.ReadAttributeBase( _T("w:date"), m_oDate ); oNode.ReadAttributeBase( _T("w:date"), m_oDate );
oNode.ReadAttributeBase( _T("w:id"), m_oId ); oNode.ReadAttributeBase( _T("w:id"), m_oId );
oNode.ReadAttributeBase( _T("oouserid"), m_sUserId );
XmlUtils::CXmlNode oNode_tblPr; XmlUtils::CXmlNode oNode_tblPr;
...@@ -94,6 +95,13 @@ namespace OOX ...@@ -94,6 +95,13 @@ namespace OOX
sResult += "\" "; sResult += "\" ";
} }
if ( m_sUserId.IsInit() )
{
sResult += "oouserid=\"";
sResult += m_sUserId->GetString();
sResult += "\" ";
}
sResult += _T(">"); sResult += _T(">");
if ( m_pTblPr.IsInit() ) if ( m_pTblPr.IsInit() )
...@@ -109,11 +117,12 @@ namespace OOX ...@@ -109,11 +117,12 @@ namespace OOX
} }
void CTblPrChange::ReadAttributes(XmlUtils::CXmlLiteReader& oReader) void CTblPrChange::ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{ {
// // Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader ) WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_Read_if ( oReader, _T("w:author"), m_sAuthor ) WritingElement_ReadAttributes_Read_if ( oReader, _T("w:author"), m_sAuthor )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:date"), m_oDate ) WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:date"), m_oDate )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:id"), m_oId ) WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:id"), m_oId )
WritingElement_ReadAttributes_Read_if ( oReader, _T("oouserid"), m_sUserId )
WritingElement_ReadAttributes_End( oReader ) WritingElement_ReadAttributes_End( oReader )
} }
} // namespace Logic } // namespace Logic
...@@ -165,6 +174,7 @@ namespace OOX ...@@ -165,6 +174,7 @@ namespace OOX
oNode.ReadAttributeBase( _T("w:author"), m_sAuthor ); oNode.ReadAttributeBase( _T("w:author"), m_sAuthor );
oNode.ReadAttributeBase( _T("w:date"), m_oDate ); oNode.ReadAttributeBase( _T("w:date"), m_oDate );
oNode.ReadAttributeBase( _T("w:id"), m_oId ); oNode.ReadAttributeBase( _T("w:id"), m_oId );
oNode.ReadAttributeBase( _T("oouserid"), m_sUserId );
XmlUtils::CXmlNode oNode_tblPr; XmlUtils::CXmlNode oNode_tblPr;
...@@ -212,6 +222,13 @@ namespace OOX ...@@ -212,6 +222,13 @@ namespace OOX
sResult += "\" "; sResult += "\" ";
} }
if ( m_sUserId.IsInit() )
{
sResult += "oouserid=\"";
sResult += m_sUserId->GetString();
sResult += "\" ";
}
sResult += _T(">"); sResult += _T(">");
if ( m_pTrPr.IsInit() ) if ( m_pTrPr.IsInit() )
...@@ -228,11 +245,12 @@ namespace OOX ...@@ -228,11 +245,12 @@ namespace OOX
void CTrPrChange::ReadAttributes(XmlUtils::CXmlLiteReader& oReader) void CTrPrChange::ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{ {
// // Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader ) WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_Read_if ( oReader, _T("w:author"), m_sAuthor ) WritingElement_ReadAttributes_Read_if ( oReader, _T("w:author"), m_sAuthor )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:date"), m_oDate ) WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:date"), m_oDate )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:id"), m_oId ) WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:id"), m_oId )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("oouserid"), m_sUserId )
WritingElement_ReadAttributes_End( oReader ) WritingElement_ReadAttributes_End( oReader )
} }
} // namespace Logic } // namespace Logic
...@@ -285,6 +303,7 @@ namespace OOX ...@@ -285,6 +303,7 @@ namespace OOX
oNode.ReadAttributeBase( _T("w:author"), m_sAuthor ); oNode.ReadAttributeBase( _T("w:author"), m_sAuthor );
oNode.ReadAttributeBase( _T("w:date"), m_oDate ); oNode.ReadAttributeBase( _T("w:date"), m_oDate );
oNode.ReadAttributeBase( _T("w:id"), m_oId ); oNode.ReadAttributeBase( _T("w:id"), m_oId );
oNode.ReadAttributeBase( _T("oouserid"), m_sUserId );
XmlUtils::CXmlNode oNode_tcPr; XmlUtils::CXmlNode oNode_tcPr;
...@@ -332,6 +351,13 @@ namespace OOX ...@@ -332,6 +351,13 @@ namespace OOX
sResult += "\" "; sResult += "\" ";
} }
if ( m_sUserId.IsInit() )
{
sResult += "oouserid=\"";
sResult += m_sUserId->GetString();
sResult += "\" ";
}
sResult += _T(">"); sResult += _T(">");
if ( m_pTcPr.IsInit() ) if ( m_pTcPr.IsInit() )
...@@ -347,11 +373,12 @@ namespace OOX ...@@ -347,11 +373,12 @@ namespace OOX
} }
void CTcPrChange::ReadAttributes(XmlUtils::CXmlLiteReader& oReader) void CTcPrChange::ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{ {
// // Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader ) WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_Read_if ( oReader, _T("w:author"), m_sAuthor ) WritingElement_ReadAttributes_Read_if ( oReader, _T("w:author"), m_sAuthor )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:date"), m_oDate ) WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:date"), m_oDate )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:id"), m_oId ) WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:id"), m_oId )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("oouserid"), m_sUserId )
WritingElement_ReadAttributes_End( oReader ) WritingElement_ReadAttributes_End( oReader )
} }
} // namespace Logic } // namespace Logic
......
#pragma once #pragma once
#ifndef OOX_LOGIC_TABLE_PROPERTY_INCLUDE_H_ #ifndef OOX_LOGIC_TABLE_PROPERTY_INCLUDE_H_
#define OOX_LOGIC_TABLE_PROPERTY_INCLUDE_H_ #define OOX_LOGIC_TABLE_PROPERTY_INCLUDE_H_
...@@ -53,7 +53,7 @@ namespace ComplexTypes ...@@ -53,7 +53,7 @@ namespace ComplexTypes
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{ {
// // Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader ) WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal )
WritingElement_ReadAttributes_End( oReader ) WritingElement_ReadAttributes_End( oReader )
...@@ -105,7 +105,7 @@ namespace ComplexTypes ...@@ -105,7 +105,7 @@ namespace ComplexTypes
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{ {
// // Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader ) WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:type"), m_oType ) WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:type"), m_oType )
WritingElement_ReadAttributes_End( oReader ) WritingElement_ReadAttributes_End( oReader )
...@@ -318,7 +318,7 @@ namespace ComplexTypes ...@@ -318,7 +318,7 @@ namespace ComplexTypes
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{ {
// // Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader ) WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_Read_if ( oReader, _T("w:firstColumn"), m_oFirstColumn ) WritingElement_ReadAttributes_Read_if ( oReader, _T("w:firstColumn"), m_oFirstColumn )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:firstRow"), m_oFirstRow ) WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:firstRow"), m_oFirstRow )
...@@ -359,7 +359,7 @@ namespace ComplexTypes ...@@ -359,7 +359,7 @@ namespace ComplexTypes
} }
virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) virtual void FromXML(XmlUtils::CXmlLiteReader& oReader)
{ {
// // Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader ) WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal )
WritingElement_ReadAttributes_End( oReader ) WritingElement_ReadAttributes_End( oReader )
...@@ -461,7 +461,7 @@ namespace ComplexTypes ...@@ -461,7 +461,7 @@ namespace ComplexTypes
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{ {
// // Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader ) WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_Read_if ( oReader, _T("w:bottomFromText"), m_oBottomFromText ) WritingElement_ReadAttributes_Read_if ( oReader, _T("w:bottomFromText"), m_oBottomFromText )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:horzAnchor"), m_oHorzAnchor ) WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:horzAnchor"), m_oHorzAnchor )
...@@ -825,6 +825,7 @@ namespace OOX ...@@ -825,6 +825,7 @@ namespace OOX
nullable<CString > m_sAuthor; nullable<CString > m_sAuthor;
nullable<SimpleTypes::CDateTime > m_oDate; nullable<SimpleTypes::CDateTime > m_oDate;
nullable<SimpleTypes::CDecimalNumber<> > m_oId; nullable<SimpleTypes::CDecimalNumber<> > m_oId;
nullable<CString > m_sUserId;
// Childs // Childs
nullable<CTableProperty> m_pTblPr; nullable<CTableProperty> m_pTblPr;
...@@ -1077,7 +1078,7 @@ namespace ComplexTypes ...@@ -1077,7 +1078,7 @@ namespace ComplexTypes
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{ {
// // Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader ) WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_Read_if ( oReader, _T("w:hRule"), m_oHRule ) WritingElement_ReadAttributes_Read_if ( oReader, _T("w:hRule"), m_oHRule )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:val"), m_oVal ) WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:val"), m_oVal )
...@@ -1127,6 +1128,7 @@ namespace OOX ...@@ -1127,6 +1128,7 @@ namespace OOX
nullable<CString > m_sAuthor; nullable<CString > m_sAuthor;
nullable<SimpleTypes::CDateTime > m_oDate; nullable<SimpleTypes::CDateTime > m_oDate;
nullable<SimpleTypes::CDecimalNumber<> > m_oId; nullable<SimpleTypes::CDecimalNumber<> > m_oId;
nullable<CString > m_sUserId;
// Childs // Childs
nullable<CTableRowProperties> m_pTrPr; nullable<CTableRowProperties> m_pTrPr;
...@@ -1339,6 +1341,7 @@ namespace ComplexTypes ...@@ -1339,6 +1341,7 @@ namespace ComplexTypes
oNode.ReadAttributeBase( _T("w:id"), m_oId ); oNode.ReadAttributeBase( _T("w:id"), m_oId );
oNode.ReadAttributeBase( _T("w:vMerge"), m_oVMerge ); oNode.ReadAttributeBase( _T("w:vMerge"), m_oVMerge );
oNode.ReadAttributeBase( _T("w:vMergeOrig"), m_oVMergeOrig ); oNode.ReadAttributeBase( _T("w:vMergeOrig"), m_oVMergeOrig );
oNode.ReadAttributeBase( _T("oouserid"), m_sUserId );
} }
virtual void FromXML(XmlUtils::CXmlLiteReader& oReader) virtual void FromXML(XmlUtils::CXmlLiteReader& oReader)
{ {
...@@ -1363,19 +1366,27 @@ namespace ComplexTypes ...@@ -1363,19 +1366,27 @@ namespace ComplexTypes
ComplexTypes_WriteAttribute( _T("w:vMerge=\""), m_oVMerge ); ComplexTypes_WriteAttribute( _T("w:vMerge=\""), m_oVMerge );
ComplexTypes_WriteAttribute( _T("w:vMergeOrig=\""), m_oVMergeOrig ); ComplexTypes_WriteAttribute( _T("w:vMergeOrig=\""), m_oVMergeOrig );
if ( m_sUserId.IsInit() )
{
sResult += _T("oouserid=\"");
sResult += m_sUserId->GetString();
sResult += _T("\" ");
}
return sResult; return sResult;
} }
private: private:
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{ {
// // Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader ) WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_Read_if ( oReader, _T("w:author"), m_sAuthor ) WritingElement_ReadAttributes_Read_if ( oReader, _T("w:author"), m_sAuthor )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:date"), m_oDate ) WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:date"), m_oDate )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:id"), m_oId ) WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:id"), m_oId )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:vMerge"), m_oVMerge ) WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:vMerge"), m_oVMerge )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:vMergeOrig"), m_oVMergeOrig ) WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:vMergeOrig"), m_oVMergeOrig )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("oouserid"), m_sUserId )
WritingElement_ReadAttributes_End( oReader ) WritingElement_ReadAttributes_End( oReader )
} }
...@@ -1386,6 +1397,7 @@ namespace ComplexTypes ...@@ -1386,6 +1397,7 @@ namespace ComplexTypes
nullable<SimpleTypes::CDecimalNumber<> > m_oId; nullable<SimpleTypes::CDecimalNumber<> > m_oId;
nullable<SimpleTypes::CAnnotationVMerge<> > m_oVMerge; nullable<SimpleTypes::CAnnotationVMerge<> > m_oVMerge;
nullable<SimpleTypes::CAnnotationVMerge<> > m_oVMergeOrig; nullable<SimpleTypes::CAnnotationVMerge<> > m_oVMergeOrig;
nullable<CString > m_sUserId;
}; };
//-------------------------------------------------------------------------------- //--------------------------------------------------------------------------------
...@@ -1425,7 +1437,7 @@ namespace ComplexTypes ...@@ -1425,7 +1437,7 @@ namespace ComplexTypes
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{ {
// // Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader ) WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal )
WritingElement_ReadAttributes_End( oReader ) WritingElement_ReadAttributes_End( oReader )
...@@ -1474,7 +1486,7 @@ namespace ComplexTypes ...@@ -1474,7 +1486,7 @@ namespace ComplexTypes
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{ {
// // Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader ) WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal ) WritingElement_ReadAttributes_ReadSingle( oReader, _T("w:val"), m_oVal )
WritingElement_ReadAttributes_End( oReader ) WritingElement_ReadAttributes_End( oReader )
...@@ -1825,6 +1837,7 @@ namespace OOX ...@@ -1825,6 +1837,7 @@ namespace OOX
nullable<CString > m_sAuthor; nullable<CString > m_sAuthor;
nullable<SimpleTypes::CDateTime > m_oDate; nullable<SimpleTypes::CDateTime > m_oDate;
nullable<SimpleTypes::CDecimalNumber<> > m_oId; nullable<SimpleTypes::CDecimalNumber<> > m_oId;
nullable<CString > m_sUserId;
// Childs // Childs
nullable<CTableCellProperties> m_pTcPr; nullable<CTableCellProperties> m_pTcPr;
...@@ -1882,7 +1895,7 @@ namespace OOX ...@@ -1882,7 +1895,7 @@ namespace OOX
WritingElement_ReadNode( oNode, oChild, _T("w:headers"), m_oHeaders ); WritingElement_ReadNode( oNode, oChild, _T("w:headers"), m_oHeaders );
WritingElement_ReadNode( oNode, oChild, _T("w:hideMark"), m_oHideMark ); WritingElement_ReadNode( oNode, oChild, _T("w:hideMark"), m_oHideMark );
// "hMerge", "hmerge" // В списке аттрибутов написано "hMerge", а в примере "hmerge"
WritingElement_ReadNode( oNode, oChild, _T("w:hmerge"), m_oHMerge ); WritingElement_ReadNode( oNode, oChild, _T("w:hmerge"), m_oHMerge );
if ( !m_oHMerge.IsInit() ) if ( !m_oHMerge.IsInit() )
WritingElement_ReadNode( oNode, oChild, _T("w:hMerge"), m_oHMerge ); WritingElement_ReadNode( oNode, oChild, _T("w:hMerge"), m_oHMerge );
...@@ -1900,7 +1913,7 @@ namespace OOX ...@@ -1900,7 +1913,7 @@ namespace OOX
WritingElement_ReadNode( oNode, oChild, _T("w:textDirection"), m_oTextDirection ); WritingElement_ReadNode( oNode, oChild, _T("w:textDirection"), m_oTextDirection );
WritingElement_ReadNode( oNode, oChild, _T("w:vAlign"), m_oVAlign ); WritingElement_ReadNode( oNode, oChild, _T("w:vAlign"), m_oVAlign );
// "vMerge", "vmerge" // В списке аттрибутов написано "vMerge", а в примере "vmerge"
WritingElement_ReadNode( oNode, oChild, _T("w:vmerge"), m_oVMerge ); WritingElement_ReadNode( oNode, oChild, _T("w:vmerge"), m_oVMerge );
if ( !m_oVMerge.IsInit() ) if ( !m_oVMerge.IsInit() )
WritingElement_ReadNode( oNode, oChild, _T("w:vMerge"), m_oVMerge ); WritingElement_ReadNode( oNode, oChild, _T("w:vMerge"), m_oVMerge );
...@@ -1922,7 +1935,7 @@ namespace OOX ...@@ -1922,7 +1935,7 @@ namespace OOX
else if ( _T("w:gridSpan") == sName ) m_oGridSpan = oReader; else if ( _T("w:gridSpan") == sName ) m_oGridSpan = oReader;
else if ( _T("w:headers") == sName ) m_oHeaders = oReader; else if ( _T("w:headers") == sName ) m_oHeaders = oReader;
else if ( _T("w:hideMark") == sName ) m_oHideMark = oReader; else if ( _T("w:hideMark") == sName ) m_oHideMark = oReader;
// "hMerge", "hmerge" // В списке аттрибутов написано "hMerge", а в примере "hmerge"
else if ( _T("w:hmerge") == sName ) m_oHMerge = oReader; else if ( _T("w:hmerge") == sName ) m_oHMerge = oReader;
else if ( _T("w:hMerge") == sName ) m_oHMerge = oReader; else if ( _T("w:hMerge") == sName ) m_oHMerge = oReader;
else if ( _T("w:noWrap") == sName ) m_oNoWrap = oReader; else if ( _T("w:noWrap") == sName ) m_oNoWrap = oReader;
...@@ -1934,7 +1947,7 @@ namespace OOX ...@@ -1934,7 +1947,7 @@ namespace OOX
else if ( _T("w:tcW") == sName ) m_oTcW = oReader; else if ( _T("w:tcW") == sName ) m_oTcW = oReader;
else if ( _T("w:textDirection") == sName ) m_oTextDirection = oReader; else if ( _T("w:textDirection") == sName ) m_oTextDirection = oReader;
else if ( _T("w:vAlign") == sName ) m_oVAlign = oReader; else if ( _T("w:vAlign") == sName ) m_oVAlign = oReader;
// "vMerge", "vmerge" // В списке аттрибутов написано "vMerge", а в примере "vmerge"
else if ( _T("w:vmerge") == sName ) m_oVMerge = oReader; else if ( _T("w:vmerge") == sName ) m_oVMerge = oReader;
else if ( _T("w:vMerge") == sName ) m_oVMerge = oReader; else if ( _T("w:vMerge") == sName ) m_oVMerge = oReader;
} }
...@@ -2048,4 +2061,4 @@ namespace OOX ...@@ -2048,4 +2061,4 @@ namespace OOX
} // namespace Logic } // namespace Logic
} // namespace OOX } // namespace OOX
#endif // OOX_LOGIC_TABLE_PROPERTY_INCLUDE_H_ #endif // OOX_LOGIC_TABLE_PROPERTY_INCLUDE_H_
\ No newline at end of file
#pragma once #pragma once
#include "../../Common/ComplexTypes.h" #include "../../Common/ComplexTypes.h"
...@@ -512,7 +512,7 @@ namespace OOX ...@@ -512,7 +512,7 @@ namespace OOX
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{ {
// // Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader ) WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_ReadSingle( oReader, _T("m:alnAt"), m_alnAt ) WritingElement_ReadAttributes_ReadSingle( oReader, _T("m:alnAt"), m_alnAt )
WritingElement_ReadAttributes_End( oReader ) WritingElement_ReadAttributes_End( oReader )
...@@ -551,6 +551,10 @@ namespace OOX ...@@ -551,6 +551,10 @@ namespace OOX
CWCharWrapper sName = oReader.GetName(); CWCharWrapper sName = oReader.GetName();
if ( _T("w:rPr") == sName ) if ( _T("w:rPr") == sName )
m_oRPr = oReader; m_oRPr = oReader;
else if ( _T("w:ins") == sName )
m_oIns = oReader;
else if ( _T("w:del") == sName )
m_oDel = oReader;
} }
} }
virtual CString toXML() const virtual CString toXML() const
...@@ -559,6 +563,10 @@ namespace OOX ...@@ -559,6 +563,10 @@ namespace OOX
if ( m_oRPr.IsInit() ) if ( m_oRPr.IsInit() )
sResult += m_oRPr->toXML(); sResult += m_oRPr->toXML();
if ( m_oIns.IsInit() )
sResult += m_oIns->toXML();
if ( m_oDel.IsInit() )
sResult += m_oDel->toXML();
sResult += _T("</m:ctrlPr>"); sResult += _T("</m:ctrlPr>");
...@@ -572,6 +580,8 @@ namespace OOX ...@@ -572,6 +580,8 @@ namespace OOX
public: public:
//Childs //Childs
nullable<OOX::Logic::CRunProperty> m_oRPr; nullable<OOX::Logic::CRunProperty> m_oRPr;
nullable<OOX::Logic::CIns> m_oIns;
nullable<OOX::Logic::CDel> m_oDel;
}; };
//-------------------------------------------------------------------------------- //--------------------------------------------------------------------------------
// CDelimiterPr 22.1.2.31 (Delimiter Properties) // CDelimiterPr 22.1.2.31 (Delimiter Properties)
...@@ -688,7 +698,7 @@ namespace OOX ...@@ -688,7 +698,7 @@ namespace OOX
else if ( _T("m:e") == sName ) else if ( _T("m:e") == sName )
{ {
pItem = new CElement( oReader ); pItem = new CElement( oReader );
// //нужно заранее знать колисество столбцов для отрисовки
m_lColumn++; m_lColumn++;
} }
...@@ -1422,7 +1432,7 @@ namespace OOX ...@@ -1422,7 +1432,7 @@ namespace OOX
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{ {
// // Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader ) WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_ReadSingle( oReader, _T("m:val"), m_val ) WritingElement_ReadAttributes_ReadSingle( oReader, _T("m:val"), m_val )
WritingElement_ReadAttributes_End( oReader ) WritingElement_ReadAttributes_End( oReader )
......
#include "FileDownloader.h" #include "FileDownloader.h"
#include <atlbase.h>
#include <atlstr.h>
#include <wininet.h> #include <wininet.h>
#pragma comment(lib, "Wininet") #pragma comment(lib, "Wininet")
...@@ -23,34 +25,38 @@ public : ...@@ -23,34 +25,38 @@ public :
CFileDownloaderBaseWin(std::wstring sFileUrl, bool bDelete = true) : CFileDownloaderBaseWin(std::wstring sFileUrl, bool bDelete = true) :
CFileDownloaderBase(sFileUrl, bDelete) CFileDownloaderBase(sFileUrl, bDelete)
{ {
m_pFile = NULL;
} }
virtual ~CFileDownloaderBaseWin() virtual ~CFileDownloaderBaseWin()
{ {
if ( m_pFile )
{
::fclose( m_pFile );
m_pFile = NULL;
}
} }
virtual int DownloadFile() virtual int DownloadFile()
{ {
CoInitialize ( NULL ); CoInitialize ( NULL );
if ( S_OK != _DownloadFile ( m_sFileUrl ) ) if ( S_OK != _DownloadFile ( m_sFileUrl ) )
{ {
HRESULT hrResultAll = DownloadFileAll(m_sFileUrl, m_sFilePath); HRESULT hrResultAll = DownloadFileAll(m_sFileUrl, m_sFilePath);
if (S_OK != hrResultAll) if (S_OK != hrResultAll)
{ {
m_bRunThread = FALSE;
CoUninitialize (); CoUninitialize ();
return S_FALSE; return S_FALSE;
} }
} }
m_bRunThread = FALSE;
CoUninitialize (); CoUninitialize ();
m_bComplete = true; m_bComplete = true;
return S_OK; return S_OK;
} }
protected: protected:
FILE *m_pFile; // Хэндл на временный файл
unsigned int _DownloadFile(std::wstring sFileUrl) unsigned int _DownloadFile(std::wstring sFileUrl)
{ {
// Проверяем состояние соединения // Проверяем состояние соединения
...@@ -101,7 +107,7 @@ protected: ...@@ -101,7 +107,7 @@ protected:
{ {
// Чтение частями доступно // Чтение частями доступно
LONGLONG nStartByte = 0; LONGLONG nStartByte = 0;
while ( m_bRunThread ) while ( true )
{ {
// Если закачали весь файл - то выходим // Если закачали весь файл - то выходим
if ( nStartByte == nFileSize - 1 ) if ( nStartByte == nFileSize - 1 )
...@@ -133,8 +139,8 @@ protected: ...@@ -133,8 +139,8 @@ protected:
// Пишем в файл // Пишем в файл
::fwrite( (BYTE*)arrBuffer, 1, dwBytesDownload, m_pFile ); ::fwrite( (BYTE*)arrBuffer, 1, dwBytesDownload, m_pFile );
::fflush( m_pFile ); ::fflush( m_pFile );
// Проверка на приостановку
CheckSuspend (); NSThreads::Sleep(10);
} }
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment