Commit 00f1f40a authored by ElenaSubbotina's avatar ElenaSubbotina

RtfFormat - add office digital signatures

parent 46c05a4c
...@@ -1653,7 +1653,7 @@ bool RtfOleReader::ExecuteCommand(RtfDocument& oDocument, RtfReader& oReader, st ...@@ -1653,7 +1653,7 @@ bool RtfOleReader::ExecuteCommand(RtfDocument& oDocument, RtfReader& oReader, st
COMMAND_RTF_INT ( "objw", m_oOle.m_nWidth, sCommand, hasParameter, parameter ) COMMAND_RTF_INT ( "objw", m_oOle.m_nWidth, sCommand, hasParameter, parameter )
COMMAND_RTF_INT ( "objh", m_oOle.m_nHeight, sCommand, hasParameter, parameter ) COMMAND_RTF_INT ( "objh", m_oOle.m_nHeight, sCommand, hasParameter, parameter )
COMMAND_RTF_INT ( "objemb", m_oOle.m_eOleType, sCommand, true, RtfOle::ot_emb ) COMMAND_RTF_INT ( "objemb", m_oOle.m_eOleType, sCommand, true, RtfOle::ot_emb )
COMMAND_RTF_INT ( "objlink", m_oOle.m_eOleType, sCommand, true, RtfOle::ot_link ) COMMAND_RTF_INT ( "objlink", m_oOle.m_eOleType, sCommand, true, RtfOle::ot_link )
else if ( "objclass" == sCommand ) else if ( "objclass" == sCommand )
...@@ -1760,6 +1760,31 @@ void RtfShapeReader::ShapePropertyReader::ShapePropertyValueReader::PopState( Rt ...@@ -1760,6 +1760,31 @@ void RtfShapeReader::ShapePropertyReader::ShapePropertyValueReader::PopState( Rt
m_oShape.m_sGtextFont = sValue; m_oShape.m_sGtextFont = sValue;
return; return;
} }
else if ( L"wzSigSetupId" == m_sPropName )
{
m_oShape.m_sSigSetupId = sValue;
return;
}
else if ( L"wzSigSetupProvId" == m_sPropName )
{
m_oShape.m_sSigSetupProvId = sValue;
return;
}
else if ( L"wzSigSetupSuggSigner" == m_sPropName )
{
m_oShape.m_sSigSetupSuggSigner = sValue;
return;
}
else if ( L"wzSigSetupSuggSigner2" == m_sPropName )
{
m_oShape.m_sSigSetupSuggSigner2 = sValue;
return;
}
else if ( L"wzSigSetupSuggSignerEmail" == m_sPropName )
{
m_oShape.m_sSigSetupSuggSignerEmail = sValue;
return;
}
//числовые //числовые
int nValue = 0; int nValue = 0;
...@@ -1965,8 +1990,11 @@ void RtfShapeReader::ShapePropertyReader::ShapePropertyValueReader::PopState( Rt ...@@ -1965,8 +1990,11 @@ void RtfShapeReader::ShapePropertyReader::ShapePropertyValueReader::PopState( Rt
else if ( L"lineEndArrowLength" == m_sPropName ) m_oShape.m_nLineEndArrowLength = nValue; else if ( L"lineEndArrowLength" == m_sPropName ) m_oShape.m_nLineEndArrowLength = nValue;
else if ( L"lineWidth" == m_sPropName ) m_oShape.m_nLineWidth = nValue; else if ( L"lineWidth" == m_sPropName ) m_oShape.m_nLineWidth = nValue;
else if ( L"lineDashing" == m_sPropName ) m_oShape.m_nLineDashing = nValue; else if ( L"lineDashing" == m_sPropName ) m_oShape.m_nLineDashing = nValue;
else if (L"cxstyle" == m_sPropName ) m_oShape.m_nConnectorStyle = nValue; else if ( L"cxstyle" == m_sPropName ) m_oShape.m_nConnectorStyle = nValue;
else if (L"cxk" == m_sPropName ) m_oShape.m_nConnectionType = nValue; else if ( L"cxk" == m_sPropName ) m_oShape.m_nConnectionType = nValue;
//office signature
else if ( L"fIsSignatureLine" == m_sPropName ) m_oShape.m_bIsSignatureLine = nValue;
else if ( L"fSigSetupAllowComments" == m_sPropName ) m_oShape.m_bSigSetupAllowComments = nValue;
else else
{ {
std::wstring name = m_sPropName; std::wstring name = m_sPropName;
......
...@@ -84,9 +84,8 @@ int OOXGraphicReader::Parse( ReaderParameter oParam , RtfShapePtr & pOutput) ...@@ -84,9 +84,8 @@ int OOXGraphicReader::Parse( ReaderParameter oParam , RtfShapePtr & pOutput)
pOutput->m_nShapeType = 75; pOutput->m_nShapeType = 75;
OOX::Drawing::CPicture *picture = dynamic_cast<OOX::Drawing::CPicture *>(m_ooxGraphic->m_arrItems[i]); OOX::Drawing::CPicture *picture = dynamic_cast<OOX::Drawing::CPicture *>(m_ooxGraphic->m_arrItems[i]);
if (picture) OOXShapeReader::Parse(oParam, pOutput, &picture->m_oBlipFill); // тут если false приходит - картинка-потеряшка
if (OOXShapeReader::Parse(oParam, pOutput, &picture->m_oBlipFill)) return 1;
return 1;
} }
} }
}break; }break;
......
...@@ -92,7 +92,7 @@ SimpleTypes::Vml::SptType static PrstTx2ShapeType(SimpleTypes::ETextShapeType ty ...@@ -92,7 +92,7 @@ SimpleTypes::Vml::SptType static PrstTx2ShapeType(SimpleTypes::ETextShapeType ty
} }
bool ParseStyle(RtfShapePtr pShape, SimpleTypes::Vml::CCssProperty* prop) bool ParseVmlStyle(RtfShapePtr pShape, SimpleTypes::Vml::CCssProperty* prop)
{ {
if (pShape == NULL) return false; if (pShape == NULL) return false;
if (prop == NULL) return false; if (prop == NULL) return false;
...@@ -572,11 +572,46 @@ bool OOXShapeReader::ParseVmlChild( ReaderParameter oParam , RtfShapePtr& pOutpu ...@@ -572,11 +572,46 @@ bool OOXShapeReader::ParseVmlChild( ReaderParameter oParam , RtfShapePtr& pOutpu
} }
if (text_path->m_oStyle.IsInit()) if (text_path->m_oStyle.IsInit())
{ {
ParseStyles( pOutput, text_path->m_oStyle->m_arrProperties ); ParseVmlStyles( pOutput, text_path->m_oStyle->m_arrProperties );
} }
} }
}break; }break;
case OOX::et_o_signatureline:
{
OOX::VmlOffice::CSignatureLine *signature = dynamic_cast<OOX::VmlOffice::CSignatureLine*>(m_arrElement->m_arrItems[i]);
if ( signature )
{
if (signature->m_oIsSignatureLine.GetValue() == SimpleTypes::booleanTrue)
pOutput->m_bIsSignatureLine = 1;
if (signature->m_oAllowComments.GetValue() == SimpleTypes::booleanTrue)
pOutput->m_bSigSetupAllowComments = 1;
if (signature->m_oProvId.IsInit())
pOutput->m_sSigSetupProvId = signature->m_oProvId->ToString();
if (signature->m_oId.IsInit())
pOutput->m_sSigSetupId = signature->m_oId->ToString();
if (signature->m_sSuggestedSigner.IsInit())
pOutput->m_sSigSetupSuggSigner = signature->m_sSuggestedSigner.get();
if (signature->m_sSuggestedSigner2.IsInit())
pOutput->m_sSigSetupSuggSigner2 = signature->m_sSuggestedSigner2.get();
if (signature->m_sSuggestedSignerEmail.IsInit())
pOutput->m_sSigSetupSuggSignerEmail = signature->m_sSuggestedSignerEmail.get();
//nullable<std::wstring> m_sAddXml;
//nullable<SimpleTypes::CExt<>> m_oExt;
//SimpleTypes::CTrueFalse<SimpleTypes::booleanTrue> m_oShowSignDate;
//nullable<std::wstring> m_sSigningInstructions;
//SimpleTypes::CTrueFalse<SimpleTypes::booleanFalse> m_oSigningInstructionsSet;
//nullable<std::wstring> m_sSigProvUrl;
}
}break;
default: break; default: break;
} }
} }
...@@ -1309,7 +1344,7 @@ bool OOXShapeReader::ParseVml( ReaderParameter oParam , RtfShapePtr& pOutput) ...@@ -1309,7 +1344,7 @@ bool OOXShapeReader::ParseVml( ReaderParameter oParam , RtfShapePtr& pOutput)
if ( m_vmlElement->m_oStyle.IsInit()) if ( m_vmlElement->m_oStyle.IsInit())
{ {
if( false == ParseStyles( pOutput, m_vmlElement->m_oStyle->m_arrProperties ) ) if( false == ParseVmlStyles( pOutput, m_vmlElement->m_oStyle->m_arrProperties ) )
return false; return false;
} }
...@@ -1382,7 +1417,7 @@ bool OOXShapeGroupReader::Parse( ReaderParameter oParam , RtfShapePtr& pOutput) ...@@ -1382,7 +1417,7 @@ bool OOXShapeGroupReader::Parse( ReaderParameter oParam , RtfShapePtr& pOutput)
if ( m_vmlGroup->m_oStyle.IsInit()) if ( m_vmlGroup->m_oStyle.IsInit())
{ {
if( false == ParseStyles( pOutput, m_vmlGroup->m_oStyle->m_arrProperties ) ) if( false == ParseVmlStyles( pOutput, m_vmlGroup->m_oStyle->m_arrProperties ) )
return false; return false;
} }
...@@ -1635,7 +1670,8 @@ bool OOXShapeReader::WriteDataToPicture( std::wstring sPath, RtfPicture& pOutput ...@@ -1635,7 +1670,8 @@ bool OOXShapeReader::WriteDataToPicture( std::wstring sPath, RtfPicture& pOutput
//Выставляем тип картинки //Выставляем тип картинки
pOutput.eDataType = RtfPicture::GetPictureType( sPath ); pOutput.eDataType = RtfPicture::GetPictureType( sPath );
//ecли тип не поддерживается rtf конвертируем в png
//ecли тип не поддерживается rtf конвертируем в png
if( RtfPicture::dt_none == pOutput.eDataType ) if( RtfPicture::dt_none == pOutput.eDataType )
{ {
//в туже папку что и исходная картинка //в туже папку что и исходная картинка
...@@ -1656,68 +1692,82 @@ bool OOXShapeReader::WriteDataToPicture( std::wstring sPath, RtfPicture& pOutput ...@@ -1656,68 +1692,82 @@ bool OOXShapeReader::WriteDataToPicture( std::wstring sPath, RtfPicture& pOutput
pOutput.m_bIsCopy = true;//выставляем флаг чтобы потом удалить файл pOutput.m_bIsCopy = true;//выставляем флаг чтобы потом удалить файл
} }
} }
else else if( RtfPicture::dt_apm == pOutput.eDataType )
{ {
if( RtfPicture::dt_apm == pOutput.eDataType ) //убираем заголовок apm (22 byte)
{ CFile file_inp; //mpa
//убираем заголовок apm (22 byte) CFile file_out;//wmf
CFile file_inp; //mpa
CFile file_out;//wmf
std::wstring sTargetFile = NSDirectory::CreateTempFileWithUniqueName(ooxPath.GetDirectory(), L"img"); std::wstring sTargetFile = NSDirectory::CreateTempFileWithUniqueName(ooxPath.GetDirectory(), L"img");
int res = file_inp.OpenFile(sPath); int res = file_inp.OpenFile(sPath);
if (res != S_OK) return false; if (res != S_OK) return false;
res = file_out.CreateFile(sTargetFile); res = file_out.CreateFile(sTargetFile);
if (res != S_OK) return false; if (res != S_OK) return false;
DWORD dwBytesRead = 0; DWORD dwBytesRead = 0;
DWORD dwBytesWrite = 0; DWORD dwBytesWrite = 0;
BYTE pBuffer[1024]; BYTE pBuffer[1024];
DWORD nHeaderLen = 22; DWORD nHeaderLen = 22;
dwBytesRead = file_inp.GetPosition(); dwBytesRead = file_inp.GetPosition();
file_inp.ReadFile(pBuffer, 1024); file_inp.ReadFile(pBuffer, 1024);
dwBytesRead = file_inp.GetPosition() - dwBytesRead; dwBytesRead = file_inp.GetPosition() - dwBytesRead;
while( 0 != dwBytesRead ) while( 0 != dwBytesRead )
{
if( nHeaderLen > 0 )
{ {
if( nHeaderLen > 0 ) if(dwBytesRead > nHeaderLen )
{ {
if(dwBytesRead > nHeaderLen ) file_out.WriteFile(pBuffer + nHeaderLen, dwBytesRead - nHeaderLen);
{ nHeaderLen = 0;
file_out.WriteFile(pBuffer + nHeaderLen, dwBytesRead - nHeaderLen);
nHeaderLen = 0;
}
else
nHeaderLen -= dwBytesRead;
} }
else else
file_out.WriteFile( pBuffer, dwBytesRead); nHeaderLen -= dwBytesRead;
dwBytesRead = file_inp.GetPosition();
file_inp.ReadFile(pBuffer, 1024);
dwBytesRead = file_inp.GetPosition() - dwBytesRead;
} }
file_inp.CloseFile(); else
file_out.CloseFile(); file_out.WriteFile( pBuffer, dwBytesRead);
pOutput.eDataType = RtfPicture::dt_wmf; dwBytesRead = file_inp.GetPosition();
//Запоминаем имя file_inp.ReadFile(pBuffer, 1024);
pOutput.m_sPicFilename = sTargetFile; dwBytesRead = file_inp.GetPosition() - dwBytesRead;
pOutput.m_bIsCopy = true;
} }
else file_inp.CloseFile();
file_out.CloseFile();
pOutput.eDataType = RtfPicture::dt_wmf;
//Запоминаем имя
pOutput.m_sPicFilename = sTargetFile;
pOutput.m_bIsCopy = true;
}
else
{
if (pOutput.eDataType == RtfPicture::dt_emf || pOutput.eDataType == RtfPicture::dt_wmf)
{ {
typedef enum {dt_none, dt_png, dt_jpg, dt_emf, dt_wmf, dt_apm}DataType; MetaFile::CMetaFile meta(NULL);
int cxFormats [6] = {0, 4, 3, 10, 10, 10}; if (meta.LoadFromFile(sPath.c_str()))
{
double dX, dY, dW, dH;
meta.GetBounds(&dX, &dY, &dW, &dH);
meta.Close();
pOutput.m_nWidthGoal = dW * 15; //pixels to twip
pOutput.m_nHeightGoal = dH * 15; //pixels to twip;
}
//Запоминаем только имя
pOutput.m_sPicFilename = sPath;
pOutput.m_bIsCopy = false; //не удалять
}
else
{//png, jpeg
CBgraFrame image; CBgraFrame image;
if (image.OpenFile(sPath, cxFormats[pOutput.eDataType]) == FALSE ) return false; if (image.OpenFile(sPath, 0) == FALSE ) return false;
//правильно выставляем размеры //правильно выставляем размеры
pOutput.m_nWidthGoal = image.get_Width() * 15; //pixels to twip pOutput.m_nWidthGoal = image.get_Width() * 15; //pixels to twip
pOutput.m_nHeightGoal = image.get_Height() * 15; //pixels to twip; pOutput.m_nHeightGoal = image.get_Height() * 15; //pixels to twip;
//Запоминаем только имя //Запоминаем только имя
pOutput.m_sPicFilename = sPath; pOutput.m_sPicFilename = sPath;
......
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
#include "../../../../Common/DocxFormat/Source/DocxFormat/Logic/Vml.h" #include "../../../../Common/DocxFormat/Source/DocxFormat/Logic/Vml.h"
#include "../../../../Common/DocxFormat/Source/DocxFormat/Logic/Shape.h" #include "../../../../Common/DocxFormat/Source/DocxFormat/Logic/Shape.h"
bool ParseStyle(RtfShapePtr pShape, SimpleTypes::Vml::CCssProperty* prop); bool ParseVmlStyle(RtfShapePtr pShape, SimpleTypes::Vml::CCssProperty* prop);
class OOXShapeReader class OOXShapeReader
{ {
...@@ -88,11 +88,11 @@ private: ...@@ -88,11 +88,11 @@ private:
OOX::Logic::CShape *m_ooxShape; OOX::Logic::CShape *m_ooxShape;
bool ParseStyles(RtfShapePtr pShape, std::vector<SimpleTypes::Vml::CCssPropertyPtr> & props) bool ParseVmlStyles(RtfShapePtr pShape, std::vector<SimpleTypes::Vml::CCssPropertyPtr> & props)
{ {
for (size_t i=0; i< props.size(); i++) for (size_t i=0; i< props.size(); i++)
{ {
ParseStyle( pShape, props[i].get()); ParseVmlStyle( pShape, props[i].get());
} }
return true; return true;
} }
...@@ -115,11 +115,11 @@ public: ...@@ -115,11 +115,11 @@ public:
m_vmlGroup = NULL; m_vmlGroup = NULL;
m_ooxGroup = ooxGroup; m_ooxGroup = ooxGroup;
} }
bool ParseStyles(RtfShapePtr pGroupShape, std::vector<SimpleTypes::Vml::CCssPropertyPtr> & props) bool ParseVmlStyles(RtfShapePtr pGroupShape, std::vector<SimpleTypes::Vml::CCssPropertyPtr> & props)
{ {
for (size_t i = 0; i < props.size(); i++) for (size_t i = 0; i < props.size(); i++)
{ {
ParseStyle( pGroupShape, props[i].get()); ParseVmlStyle( pGroupShape, props[i].get());
} }
return true; return true;
} }
......
...@@ -81,13 +81,9 @@ std::wstring RtfPicture::RenderToRtf(RenderParameter oRenderParameter) ...@@ -81,13 +81,9 @@ std::wstring RtfPicture::RenderToRtf(RenderParameter oRenderParameter)
std::wstring sResult = L"{\\pict"; std::wstring sResult = L"{\\pict";
//if(-1 != m_nShapeId) if (!dump_shape_properties.empty())
//{ sResult += L"{\\*\\picprop" + dump_shape_properties + L"}";
// sResult.AppendFormat(L"{\\*\\picprop\\shplid%d", m_nShapeId);
// sResult += m_oShapeProp.RenderToRtf( oRenderParameter ) + L"}";
//}
//else
// sResult.AppendFormat(L"{\\*\\picprop" + m_oShapeProp.RenderToRtf( oRenderParameter ) + L"}";
RENDER_RTF_INT( (int)m_dScaleX, sResult, L"picscalex" ) RENDER_RTF_INT( (int)m_dScaleX, sResult, L"picscalex" )
RENDER_RTF_INT( (int)m_dScaleY, sResult, L"picscaley" ) RENDER_RTF_INT( (int)m_dScaleY, sResult, L"picscaley" )
RENDER_RTF_INT( m_nCropL, sResult, L"piccropl" ) RENDER_RTF_INT( m_nCropL, sResult, L"piccropl" )
......
...@@ -57,10 +57,12 @@ public: ...@@ -57,10 +57,12 @@ public:
int m_nCropR; int m_nCropR;
int m_nCropB; int m_nCropB;
bool m_bIsCopy; // true - надо удалять m_sPicFilename, false - не надо удалять bool m_bIsCopy; // true - надо удалять m_sPicFilename, false - не надо удалять
std::wstring m_sPicFilename; //всегда содержит имя картинки, тип которой поддерживает rtf std::wstring m_sPicFilename; //всегда содержит имя картинки, тип которой поддерживает rtf
std::vector<std::wstring> m_aTempFiles; std::vector<std::wstring> m_aTempFiles;
std::wstring dump_shape_properties;
RtfPicture() RtfPicture()
{ {
......
...@@ -131,9 +131,9 @@ void RtfShape::SetDefault() ...@@ -131,9 +131,9 @@ void RtfShape::SetDefault()
DEFAULT_PROPERTY( m_nRelZOrder ) DEFAULT_PROPERTY( m_nRelZOrder )
//Rehydration //Rehydration
m_sMetroBlob = L""; m_sMetroBlob.clear();
m_sMetroBlobRels = L""; m_sMetroBlobRels.clear();
m_sMetroBlobData = L""; m_sMetroBlobData.clear();
//Connectors //Connectors
DEFAULT_PROPERTY( m_nConnectionType ) DEFAULT_PROPERTY( m_nConnectionType )
DEFAULT_PROPERTY( m_nConnectorStyle ) DEFAULT_PROPERTY( m_nConnectorStyle )
...@@ -171,6 +171,9 @@ void RtfShape::SetDefault() ...@@ -171,6 +171,9 @@ void RtfShape::SetDefault()
DEFAULT_PROPERTY( m_bGtextFStretch ) DEFAULT_PROPERTY( m_bGtextFStretch )
DEFAULT_PROPERTY( m_bGtextFShrinkFit ) DEFAULT_PROPERTY( m_bGtextFShrinkFit )
DEFAULT_PROPERTY( m_bGtextFBestFit ) DEFAULT_PROPERTY( m_bGtextFBestFit )
DEFAULT_PROPERTY( m_bIsSignatureLine);
DEFAULT_PROPERTY( m_bSigSetupAllowComments);
m_aTextItems = TextItemContainerPtr(); m_aTextItems = TextItemContainerPtr();
m_oPicture = RtfPicturePtr(); m_oPicture = RtfPicturePtr();
...@@ -233,7 +236,11 @@ std::wstring RtfShape::RenderToRtf(RenderParameter oRenderParameter) ...@@ -233,7 +236,11 @@ std::wstring RtfShape::RenderToRtf(RenderParameter oRenderParameter)
else else
{ {
sResult += L"{\\*\\shppict"; sResult += L"{\\*\\shppict";
m_oPicture->dump_shape_properties = RenderToRtfShapeProperty( oRenderParameter );
sResult += m_oPicture->RenderToRtf( oRenderParameter ); sResult += m_oPicture->RenderToRtf( oRenderParameter );
sResult += L"}"; sResult += L"}";
sResult += L"{\\nonshppict"; sResult += L"{\\nonshppict";
sResult += m_oPicture->GenerateWMF( oRenderParameter ); sResult += m_oPicture->GenerateWMF( oRenderParameter );
...@@ -610,7 +617,42 @@ std::wstring RtfShape::RenderToRtfShapeProperty(RenderParameter oRenderParameter ...@@ -610,7 +617,42 @@ std::wstring RtfShape::RenderToRtfShapeProperty(RenderParameter oRenderParameter
RENDER_RTF_SHAPE_PROP(L"gtextFShrinkFit", sResult, m_bGtextFShrinkFit); RENDER_RTF_SHAPE_PROP(L"gtextFShrinkFit", sResult, m_bGtextFShrinkFit);
RENDER_RTF_SHAPE_PROP(L"gtextFBestFit", sResult, m_bGtextFBestFit); RENDER_RTF_SHAPE_PROP(L"gtextFBestFit", sResult, m_bGtextFBestFit);
} }
if ( PROP_DEF != m_bIsSignatureLine)
{
RENDER_RTF_SHAPE_PROP(L"fIsSignatureLine", sResult, m_bIsSignatureLine);
RENDER_RTF_SHAPE_PROP(L"fSigSetupAllowComments", sResult, m_bSigSetupAllowComments);
if( !m_sSigSetupId.empty() )
{
sResult += L"{\\sp{\\sn wzSigSetupId}{\\sv ";
sResult += RtfChar::renderRtfText(m_sSigSetupId, oRenderParameter.poDocument, 0);
sResult += L"}}";
}
if( !m_sSigSetupProvId.empty() )
{
sResult += L"{\\sp{\\sn wzSigSetupProvId}{\\sv ";
sResult += RtfChar::renderRtfText(m_sSigSetupProvId, oRenderParameter.poDocument, 0);
sResult += L"}}";
}
if( !m_sSigSetupSuggSigner.empty() )
{
sResult += L"{\\sp{\\sn wzSigSetupSuggSigner}{\\sv ";
sResult += RtfChar::renderRtfText(m_sSigSetupSuggSigner, oRenderParameter.poDocument, 0);
sResult += L"}}";
}
if( !m_sSigSetupSuggSigner2.empty() )
{
sResult += L"{\\sp{\\sn wzSigSetupSuggSigner2}{\\sv ";
sResult += RtfChar::renderRtfText(m_sSigSetupSuggSigner2, oRenderParameter.poDocument, 0);
sResult += L"}}";
}
if( !m_sSigSetupSuggSignerEmail.empty() )
{
sResult += L"{\\sp{\\sn wzSigSetupSuggSignerEmail}{\\sv ";
sResult += RtfChar::renderRtfText(m_sSigSetupSuggSignerEmail, oRenderParameter.poDocument, 0);
sResult += L"}}";
}
}
return sResult; return sResult;
} }
std::wstring RtfShape::RenderToOOX(RenderParameter oRenderParameter) std::wstring RtfShape::RenderToOOX(RenderParameter oRenderParameter)
...@@ -1346,6 +1388,31 @@ std::wstring RtfShape::RenderToOOXBegin(RenderParameter oRenderParameter) ...@@ -1346,6 +1388,31 @@ std::wstring RtfShape::RenderToOOXBegin(RenderParameter oRenderParameter)
sResult += L" string=\"" + XmlUtils::EncodeXmlString(m_sGtextUNICODE) + L"\""; sResult += L" string=\"" + XmlUtils::EncodeXmlString(m_sGtextUNICODE) + L"\"";
sResult += L"/>"; sResult += L"/>";
} }
if ( PROP_DEF != m_bIsSignatureLine)
{
sResult += L"<o:signatureline v:ext=\"edit\"";
if (!m_sSigSetupId.empty())
sResult += L" id=\"" + m_sSigSetupId + L"\"";
if (!m_sSigSetupProvId.empty())
sResult += L" provid=\"" + m_sSigSetupProvId + L"\"";
if (!m_sSigSetupSuggSigner.empty())
sResult += L" o:suggestedsigner=\"" + m_sSigSetupSuggSigner + L"\"";
if (!m_sSigSetupSuggSigner2.empty())
sResult += L" o:suggestedsigner2=\"" + m_sSigSetupSuggSigner2 + L"\"";
if (!m_sSigSetupSuggSignerEmail.empty())
sResult += L" o:suggestedsigneremail=\"" + m_sSigSetupSuggSignerEmail + L"\"";
if (m_bSigSetupAllowComments == 1)
sResult += L" allowcomments=\"t\"";
sResult += L" issignatureline=\"t\"/>";
}
return sResult; return sResult;
} }
std::wstring RtfShape::RenderToOOXEnd(RenderParameter oRenderParameter) std::wstring RtfShape::RenderToOOXEnd(RenderParameter oRenderParameter)
......
...@@ -202,6 +202,14 @@ public: ...@@ -202,6 +202,14 @@ public:
int m_bGtextFShrinkFit; int m_bGtextFShrinkFit;
int m_bGtextFBestFit; int m_bGtextFBestFit;
int m_bIsSignatureLine;
int m_bSigSetupAllowComments;
std::wstring m_sSigSetupId;
std::wstring m_sSigSetupProvId;
std::wstring m_sSigSetupSuggSigner;
std::wstring m_sSigSetupSuggSigner2;
std::wstring m_sSigSetupSuggSignerEmail;
RtfCharProperty m_oCharProperty; // тут могут быть track changes .... RtfCharProperty m_oCharProperty; // тут могут быть track changes ....
//pWrapPolygonVertices Points of the text wrap polygon. //pWrapPolygonVertices Points of the text wrap polygon.
......
...@@ -65,12 +65,12 @@ namespace OOX ...@@ -65,12 +65,12 @@ namespace OOX
public: public:
virtual void fromXML(XmlUtils::CXmlNode& oNode) virtual void fromXML(XmlUtils::CXmlNode& oNode)
{ {
m_eType = et_Unknown; m_eType = et_Unknown;
// TO DO: Реализовать CStrokeChild::fromXML(XmlUtils::CXmlNode& oNode) // TO DO: Реализовать CStrokeChild::fromXML(XmlUtils::CXmlNode& oNode)
} }
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader) virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
{ {
m_eType = et_Unknown; m_eType = et_Unknown;
std::wstring sName = oReader.GetName(); std::wstring sName = oReader.GetName();
...@@ -230,18 +230,18 @@ namespace OOX ...@@ -230,18 +230,18 @@ namespace OOX
public: public:
virtual void fromXML(XmlUtils::CXmlNode& oNode) virtual void fromXML(XmlUtils::CXmlNode& oNode)
{ {
// TO DO: Реализовать CCallout::fromXML(XmlUtils::CXmlNode& oNode) // TO DO: Реализовать CCallout::fromXML(XmlUtils::CXmlNode& oNode)
} }
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader) virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
{ {
ReadAttributes( oReader ); ReadAttributes( oReader );
if ( !oReader.IsEmptyNode() ) if ( !oReader.IsEmptyNode() )
oReader.ReadTillEnd(); oReader.ReadTillEnd();
} }
virtual std::wstring toXML() const virtual std::wstring toXML() const
{ {
std::wstring sResult = _T("<o:callout "); std::wstring sResult = _T("<o:callout ");
...@@ -326,18 +326,18 @@ namespace OOX ...@@ -326,18 +326,18 @@ namespace OOX
public: public:
virtual void fromXML(XmlUtils::CXmlNode& oNode) virtual void fromXML(XmlUtils::CXmlNode& oNode)
{ {
// TO DO: Реализовать CClipPath::fromXML(XmlUtils::CXmlNode& oNode) // TO DO: Реализовать CClipPath::fromXML(XmlUtils::CXmlNode& oNode)
} }
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader) virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
{ {
ReadAttributes( oReader ); ReadAttributes( oReader );
if ( !oReader.IsEmptyNode() ) if ( !oReader.IsEmptyNode() )
oReader.ReadTillEnd(); oReader.ReadTillEnd();
} }
virtual std::wstring toXML() const virtual std::wstring toXML() const
{ {
std::wstring sResult = _T("<o:clippath o:v=\"") + m_oV.ToString() + _T("\"/>"); std::wstring sResult = _T("<o:clippath o:v=\"") + m_oV.ToString() + _T("\"/>");
return sResult; return sResult;
...@@ -378,11 +378,11 @@ namespace OOX ...@@ -378,11 +378,11 @@ namespace OOX
public: public:
virtual void fromXML(XmlUtils::CXmlNode& oNode) virtual void fromXML(XmlUtils::CXmlNode& oNode)
{ {
// TO DO: Реализовать CColorMenu::fromXML(XmlUtils::CXmlNode& oNode) // TO DO: Реализовать CColorMenu::fromXML(XmlUtils::CXmlNode& oNode)
} }
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader) virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
{ {
ReadAttributes( oReader ); ReadAttributes( oReader );
...@@ -458,7 +458,7 @@ namespace OOX ...@@ -458,7 +458,7 @@ namespace OOX
public: public:
virtual void fromXML(XmlUtils::CXmlNode& oNode) virtual void fromXML(XmlUtils::CXmlNode& oNode)
{ {
// TO DO: Реализовать CColorMru::fromXML(XmlUtils::CXmlNode& oNode) // TO DO: Реализовать CColorMru::fromXML(XmlUtils::CXmlNode& oNode)
} }
...@@ -469,7 +469,7 @@ namespace OOX ...@@ -469,7 +469,7 @@ namespace OOX
if ( !oReader.IsEmptyNode() ) if ( !oReader.IsEmptyNode() )
oReader.ReadTillEnd(); oReader.ReadTillEnd();
} }
virtual std::wstring toXML() const virtual std::wstring toXML() const
{ {
std::wstring sResult = _T("<o:colormru "); std::wstring sResult = _T("<o:colormru ");
...@@ -556,18 +556,18 @@ namespace OOX ...@@ -556,18 +556,18 @@ namespace OOX
public: public:
virtual void fromXML(XmlUtils::CXmlNode& oNode) virtual void fromXML(XmlUtils::CXmlNode& oNode)
{ {
// TO DO: Реализовать CComplex::fromXML(XmlUtils::CXmlNode& oNode) // TO DO: Реализовать CComplex::fromXML(XmlUtils::CXmlNode& oNode)
} }
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader) virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
{ {
ReadAttributes( oReader ); ReadAttributes( oReader );
if ( !oReader.IsEmptyNode() ) if ( !oReader.IsEmptyNode() )
oReader.ReadTillEnd(); oReader.ReadTillEnd();
} }
virtual std::wstring toXML() const virtual std::wstring toXML() const
{ {
std::wstring sResult = _T("<o:complex "); std::wstring sResult = _T("<o:complex ");
ComplexTypes_WriteAttribute ( _T("v:ext=\""), m_oExt ); ComplexTypes_WriteAttribute ( _T("v:ext=\""), m_oExt );
...@@ -611,18 +611,18 @@ namespace OOX ...@@ -611,18 +611,18 @@ namespace OOX
public: public:
virtual void fromXML(XmlUtils::CXmlNode& oNode) virtual void fromXML(XmlUtils::CXmlNode& oNode)
{ {
// TO DO: Реализовать CRelation::fromXML(XmlUtils::CXmlNode& oNode) // TO DO: Реализовать CRelation::fromXML(XmlUtils::CXmlNode& oNode)
} }
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader) virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
{ {
ReadAttributes( oReader ); ReadAttributes( oReader );
if ( !oReader.IsEmptyNode() ) if ( !oReader.IsEmptyNode() )
oReader.ReadTillEnd(); oReader.ReadTillEnd();
} }
virtual std::wstring toXML() const virtual std::wstring toXML() const
{ {
std::wstring sResult = _T("<o:rel "); std::wstring sResult = _T("<o:rel ");
...@@ -656,10 +656,10 @@ namespace OOX ...@@ -656,10 +656,10 @@ namespace OOX
public: public:
// Attributes // Attributes
nullable<SimpleTypes::CExt<>> m_oExt; nullable<SimpleTypes::CExt<>> m_oExt;
nullable<std::wstring> m_sIdCntr; nullable<std::wstring> m_sIdCntr;
nullable<std::wstring> m_sIdDest; nullable<std::wstring> m_sIdDest;
nullable<std::wstring> m_sIdSrc; nullable<std::wstring> m_sIdSrc;
}; };
//-------------------------------------------------------------------------------- //--------------------------------------------------------------------------------
// CRelationTable 14.2.2.25 (Part 4) // CRelationTable 14.2.2.25 (Part 4)
...@@ -683,11 +683,11 @@ namespace OOX ...@@ -683,11 +683,11 @@ namespace OOX
public: public:
virtual void fromXML(XmlUtils::CXmlNode& oNode) virtual void fromXML(XmlUtils::CXmlNode& oNode)
{ {
// TO DO: Реализовать CRelationTable::fromXML(XmlUtils::CXmlNode& oNode) // TO DO: Реализовать CRelationTable::fromXML(XmlUtils::CXmlNode& oNode)
} }
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader) virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
{ {
ReadAttributes( oReader ); ReadAttributes( oReader );
...@@ -764,11 +764,11 @@ namespace OOX ...@@ -764,11 +764,11 @@ namespace OOX
public: public:
virtual void fromXML(XmlUtils::CXmlNode& oNode) virtual void fromXML(XmlUtils::CXmlNode& oNode)
{ {
// TO DO: Реализовать CDiagram::fromXML(XmlUtils::CXmlNode& oNode) // TO DO: Реализовать CDiagram::fromXML(XmlUtils::CXmlNode& oNode)
} }
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader) virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
{ {
ReadAttributes( oReader ); ReadAttributes( oReader );
...@@ -836,7 +836,7 @@ namespace OOX ...@@ -836,7 +836,7 @@ namespace OOX
// Attributes // Attributes
nullable<SimpleTypes::CTrueFalse<>> m_oAutoFormat; nullable<SimpleTypes::CTrueFalse<>> m_oAutoFormat;
nullable<SimpleTypes::CTrueFalse<>> m_oAutoLayout; nullable<SimpleTypes::CTrueFalse<>> m_oAutoLayout;
nullable<std::wstring> m_sConstrainbounds; nullable<std::wstring> m_sConstrainbounds;
nullable<SimpleTypes::CDecimalNumber<>> m_oDmgBaseTextScale; nullable<SimpleTypes::CDecimalNumber<>> m_oDmgBaseTextScale;
nullable<SimpleTypes::CDecimalNumber<>> m_oDmgFontSize; nullable<SimpleTypes::CDecimalNumber<>> m_oDmgFontSize;
nullable<SimpleTypes::CDecimalNumber<>> m_oDmgScaleX; nullable<SimpleTypes::CDecimalNumber<>> m_oDmgScaleX;
...@@ -866,11 +866,11 @@ namespace OOX ...@@ -866,11 +866,11 @@ namespace OOX
public: public:
virtual void fromXML(XmlUtils::CXmlNode& oNode) virtual void fromXML(XmlUtils::CXmlNode& oNode)
{ {
// TO DO: Реализовать CEntry::fromXML(XmlUtils::CXmlNode& oNode) // TO DO: Реализовать CEntry::fromXML(XmlUtils::CXmlNode& oNode)
} }
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader) virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
{ {
ReadAttributes( oReader ); ReadAttributes( oReader );
...@@ -926,11 +926,11 @@ namespace OOX ...@@ -926,11 +926,11 @@ namespace OOX
public: public:
virtual void fromXML(XmlUtils::CXmlNode& oNode) virtual void fromXML(XmlUtils::CXmlNode& oNode)
{ {
// TO DO: Реализовать CEquationXml::fromXML(XmlUtils::CXmlNode& oNode) // TO DO: Реализовать CEquationXml::fromXML(XmlUtils::CXmlNode& oNode)
} }
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader) virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
{ {
ReadAttributes( oReader ); ReadAttributes( oReader );
...@@ -945,7 +945,7 @@ namespace OOX ...@@ -945,7 +945,7 @@ namespace OOX
// TO DO: Сделать чтение формул OOMML и Wc3MathML // TO DO: Сделать чтение формул OOMML и Wc3MathML
} }
} }
virtual std::wstring toXML() const virtual std::wstring toXML() const
{ {
std::wstring sResult = _T("<o:equationXml "); std::wstring sResult = _T("<o:equationXml ");
ComplexTypes_WriteAttribute ( _T("contentType=\""), m_oContentType ); ComplexTypes_WriteAttribute ( _T("contentType=\""), m_oContentType );
...@@ -991,18 +991,18 @@ namespace OOX ...@@ -991,18 +991,18 @@ namespace OOX
public: public:
virtual void fromXML(XmlUtils::CXmlNode& oNode) virtual void fromXML(XmlUtils::CXmlNode& oNode)
{ {
// TO DO: Реализовать CExtrusion::fromXML(XmlUtils::CXmlNode& oNode) // TO DO: Реализовать CExtrusion::fromXML(XmlUtils::CXmlNode& oNode)
} }
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader) virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
{ {
ReadAttributes( oReader ); ReadAttributes( oReader );
if ( !oReader.IsEmptyNode() ) if ( !oReader.IsEmptyNode() )
oReader.ReadTillEnd(); oReader.ReadTillEnd();
} }
virtual std::wstring toXML() const virtual std::wstring toXML() const
{ {
std::wstring sResult = _T("<o:extrusion "); std::wstring sResult = _T("<o:extrusion ");
...@@ -1226,18 +1226,18 @@ namespace OOX ...@@ -1226,18 +1226,18 @@ namespace OOX
public: public:
virtual void fromXML(XmlUtils::CXmlNode& oNode) virtual void fromXML(XmlUtils::CXmlNode& oNode)
{ {
// TO DO: Реализовать CFieldCodes::fromXML(XmlUtils::CXmlNode& oNode) // TO DO: Реализовать CFieldCodes::fromXML(XmlUtils::CXmlNode& oNode)
} }
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader) virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
{ {
if ( oReader.IsEmptyNode() ) if ( oReader.IsEmptyNode() )
return; return;
m_sText = oReader.GetText2(); m_sText = oReader.GetText2();
} }
virtual std::wstring toXML() const virtual std::wstring toXML() const
{ {
std::wstring sResult = _T("<o:FieldCodes>") + m_sText + _T("</o:FieldCodes>"); std::wstring sResult = _T("<o:FieldCodes>") + m_sText + _T("</o:FieldCodes>");
return sResult; return sResult;
...@@ -1328,18 +1328,18 @@ namespace OOX ...@@ -1328,18 +1328,18 @@ namespace OOX
public: public:
virtual void fromXML(XmlUtils::CXmlNode& oNode) virtual void fromXML(XmlUtils::CXmlNode& oNode)
{ {
// TO DO: Реализовать CIdMap::fromXML(XmlUtils::CXmlNode& oNode) // TO DO: Реализовать CIdMap::fromXML(XmlUtils::CXmlNode& oNode)
} }
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader) virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
{ {
ReadAttributes( oReader ); ReadAttributes( oReader );
if ( !oReader.IsEmptyNode() ) if ( !oReader.IsEmptyNode() )
oReader.ReadTillEnd(); oReader.ReadTillEnd();
} }
virtual std::wstring toXML() const virtual std::wstring toXML() const
{ {
std::wstring sResult = _T("<o:idmap "); std::wstring sResult = _T("<o:idmap ");
...@@ -1369,8 +1369,8 @@ namespace OOX ...@@ -1369,8 +1369,8 @@ namespace OOX
public: public:
// Attributes // Attributes
nullable<std::wstring> m_sData; nullable<std::wstring> m_sData;
nullable<SimpleTypes::CExt<>> m_oExt; nullable<SimpleTypes::CExt<>> m_oExt;
}; };
//-------------------------------------------------------------------------------- //--------------------------------------------------------------------------------
// CInk 14.2.2.15 (Part 4) // CInk 14.2.2.15 (Part 4)
...@@ -1388,11 +1388,11 @@ namespace OOX ...@@ -1388,11 +1388,11 @@ namespace OOX
public: public:
virtual void fromXML(XmlUtils::CXmlNode& oNode) virtual void fromXML(XmlUtils::CXmlNode& oNode)
{ {
// TO DO: Реализовать CInk::fromXML(XmlUtils::CXmlNode& oNode) // TO DO: Реализовать CInk::fromXML(XmlUtils::CXmlNode& oNode)
} }
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader) virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
{ {
ReadAttributes( oReader ); ReadAttributes( oReader );
...@@ -1433,7 +1433,7 @@ namespace OOX ...@@ -1433,7 +1433,7 @@ namespace OOX
// Attributes // Attributes
nullable<SimpleTypes::CTrueFalse<>> m_oAnnotation; nullable<SimpleTypes::CTrueFalse<>> m_oAnnotation;
nullable<SimpleTypes::CContentType> m_oContentType; nullable<SimpleTypes::CContentType> m_oContentType;
nullable<std::wstring> m_sI; nullable<std::wstring> m_sI;
}; };
//-------------------------------------------------------------------------------- //--------------------------------------------------------------------------------
// CLinkType 14.2.2.17 (Part 4) // CLinkType 14.2.2.17 (Part 4)
...@@ -1451,11 +1451,11 @@ namespace OOX ...@@ -1451,11 +1451,11 @@ namespace OOX
public: public:
virtual void fromXML(XmlUtils::CXmlNode& oNode) virtual void fromXML(XmlUtils::CXmlNode& oNode)
{ {
// TO DO: Реализовать CLinkType::fromXML(XmlUtils::CXmlNode& oNode) // TO DO: Реализовать CLinkType::fromXML(XmlUtils::CXmlNode& oNode)
} }
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader) virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
{ {
if ( oReader.IsEmptyNode() ) if ( oReader.IsEmptyNode() )
return; return;
...@@ -1463,7 +1463,7 @@ namespace OOX ...@@ -1463,7 +1463,7 @@ namespace OOX
std::wstring sText = oReader.GetText2(); std::wstring sText = oReader.GetText2();
m_oValue = sText; m_oValue = sText;
} }
virtual std::wstring toXML() const virtual std::wstring toXML() const
{ {
std::wstring sResult = _T("<o:LinkType>") + m_oValue.ToString() + _T("</o:LinkType>"); std::wstring sResult = _T("<o:LinkType>") + m_oValue.ToString() + _T("</o:LinkType>");
return sResult; return sResult;
...@@ -1494,11 +1494,11 @@ namespace OOX ...@@ -1494,11 +1494,11 @@ namespace OOX
public: public:
virtual void fromXML(XmlUtils::CXmlNode& oNode) virtual void fromXML(XmlUtils::CXmlNode& oNode)
{ {
// TO DO: Реализовать CLock::fromXML(XmlUtils::CXmlNode& oNode) // TO DO: Реализовать CLock::fromXML(XmlUtils::CXmlNode& oNode)
} }
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader) virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
{ {
ReadAttributes( oReader ); ReadAttributes( oReader );
...@@ -1606,11 +1606,11 @@ namespace OOX ...@@ -1606,11 +1606,11 @@ namespace OOX
public: public:
virtual void fromXML(XmlUtils::CXmlNode& oNode) virtual void fromXML(XmlUtils::CXmlNode& oNode)
{ {
// TO DO: Реализовать CLockedField::fromXML(XmlUtils::CXmlNode& oNode) // TO DO: Реализовать CLockedField::fromXML(XmlUtils::CXmlNode& oNode)
} }
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader) virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
{ {
if ( oReader.IsEmptyNode() ) if ( oReader.IsEmptyNode() )
return; return;
...@@ -1618,7 +1618,7 @@ namespace OOX ...@@ -1618,7 +1618,7 @@ namespace OOX
std::wstring sText = oReader.GetText2(); std::wstring sText = oReader.GetText2();
m_oValue = sText; m_oValue = sText;
} }
virtual std::wstring toXML() const virtual std::wstring toXML() const
{ {
std::wstring sResult = _T("<o:LockedField>") + m_oValue.ToString() + _T("</o:LockedField>"); std::wstring sResult = _T("<o:LockedField>") + m_oValue.ToString() + _T("</o:LockedField>");
return sResult; return sResult;
...@@ -1650,7 +1650,7 @@ namespace OOX ...@@ -1650,7 +1650,7 @@ namespace OOX
public: public:
virtual void fromXML(XmlUtils::CXmlNode& oNode) virtual void fromXML(XmlUtils::CXmlNode& oNode)
{ {
if ( _T("o:OLEObject") != oNode.GetName() ) if ( _T("o:OLEObject") != oNode.GetName() )
return; return;
...@@ -1665,7 +1665,7 @@ namespace OOX ...@@ -1665,7 +1665,7 @@ namespace OOX
//todo FieldCodes, LinkType, LockedField //todo FieldCodes, LinkType, LockedField
} }
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader) virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
{ {
ReadAttributes( oReader ); ReadAttributes( oReader );
...@@ -1684,7 +1684,7 @@ namespace OOX ...@@ -1684,7 +1684,7 @@ namespace OOX
m_oLockedField = oReader; m_oLockedField = oReader;
} }
} }
virtual std::wstring toXML() const virtual std::wstring toXML() const
{ {
std::wstring sResult = _T("<o:OLEObject "); std::wstring sResult = _T("<o:OLEObject ");
...@@ -1735,18 +1735,18 @@ namespace OOX ...@@ -1735,18 +1735,18 @@ namespace OOX
public: public:
// Attributes // Attributes
nullable<SimpleTypes::COLEDrawAspect<>> m_oDrawAspect; nullable<SimpleTypes::COLEDrawAspect<>> m_oDrawAspect;
nullable<SimpleTypes::CRelationshipId> m_oId; nullable<SimpleTypes::CRelationshipId> m_oId;
nullable<std::wstring> m_sObjectId; nullable<std::wstring> m_sObjectId;
nullable<std::wstring> m_sProgId; nullable<std::wstring> m_sProgId;
nullable<std::wstring> m_sShapeId; nullable<std::wstring> m_sShapeId;
nullable<SimpleTypes::COLEType<>> m_oType; nullable<SimpleTypes::COLEType<>> m_oType;
nullable<SimpleTypes::COLEUpdateMode<>> m_oUpdateMode; nullable<SimpleTypes::COLEUpdateMode<>> m_oUpdateMode;
// Childs // Childs
nullable<OOX::VmlOffice::CFieldCodes> m_oFieldCodes; nullable<OOX::VmlOffice::CFieldCodes> m_oFieldCodes;
nullable<OOX::VmlOffice::CLinkType> m_oLinkType; nullable<OOX::VmlOffice::CLinkType> m_oLinkType;
nullable<OOX::VmlOffice::CLockedField> m_oLockedField; nullable<OOX::VmlOffice::CLockedField> m_oLockedField;
}; };
//-------------------------------------------------------------------------------- //--------------------------------------------------------------------------------
// CProxy 14.2.2.21 (Part 4) // CProxy 14.2.2.21 (Part 4)
...@@ -1764,18 +1764,18 @@ namespace OOX ...@@ -1764,18 +1764,18 @@ namespace OOX
public: public:
virtual void fromXML(XmlUtils::CXmlNode& oNode) virtual void fromXML(XmlUtils::CXmlNode& oNode)
{ {
// TO DO: Реализовать CProxy::fromXML(XmlUtils::CXmlNode& oNode) // TO DO: Реализовать CProxy::fromXML(XmlUtils::CXmlNode& oNode)
} }
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader) virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
{ {
ReadAttributes( oReader ); ReadAttributes( oReader );
if ( !oReader.IsEmptyNode() ) if ( !oReader.IsEmptyNode() )
oReader.ReadTillEnd(); oReader.ReadTillEnd();
} }
virtual std::wstring toXML() const virtual std::wstring toXML() const
{ {
std::wstring sResult = _T("<o:proxy "); std::wstring sResult = _T("<o:proxy ");
...@@ -1807,10 +1807,10 @@ namespace OOX ...@@ -1807,10 +1807,10 @@ namespace OOX
public: public:
// Attributes // Attributes
SimpleTypes::CDecimalNumber<0> m_oConnectLoc; SimpleTypes::CDecimalNumber<0> m_oConnectLoc;
SimpleTypes::CTrueFalse<SimpleTypes::booleanFalse> m_oEnd; SimpleTypes::CTrueFalse<SimpleTypes::booleanFalse> m_oEnd;
std::wstring m_sIdRef; std::wstring m_sIdRef;
SimpleTypes::CTrueFalse<SimpleTypes::booleanFalse> m_oStart; SimpleTypes::CTrueFalse<SimpleTypes::booleanFalse> m_oStart;
}; };
//-------------------------------------------------------------------------------- //--------------------------------------------------------------------------------
// CR 14.2.2.22 (Part 4) // CR 14.2.2.22 (Part 4)
...@@ -1834,11 +1834,11 @@ namespace OOX ...@@ -1834,11 +1834,11 @@ namespace OOX
public: public:
virtual void fromXML(XmlUtils::CXmlNode& oNode) virtual void fromXML(XmlUtils::CXmlNode& oNode)
{ {
// TO DO: Реализовать CR::fromXML(XmlUtils::CXmlNode& oNode) // TO DO: Реализовать CR::fromXML(XmlUtils::CXmlNode& oNode)
} }
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader) virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
{ {
ReadAttributes( oReader ); ReadAttributes( oReader );
...@@ -1856,7 +1856,7 @@ namespace OOX ...@@ -1856,7 +1856,7 @@ namespace OOX
} }
} }
} }
virtual std::wstring toXML() const virtual std::wstring toXML() const
{ {
std::wstring sResult = _T("<o:r id=\"") + m_sId + _T("\" "); std::wstring sResult = _T("<o:r id=\"") + m_sId + _T("\" ");
...@@ -1897,10 +1897,10 @@ namespace OOX ...@@ -1897,10 +1897,10 @@ namespace OOX
public: public:
// Attributes // Attributes
nullable<SimpleTypes::CHow<>> m_oHow; nullable<SimpleTypes::CHow<>> m_oHow;
std::wstring m_sId; std::wstring m_sId;
nullable<std::wstring> m_sIdRef; nullable<std::wstring> m_sIdRef;
nullable<SimpleTypes::CRType<>> m_oType; nullable<SimpleTypes::CRType<>> m_oType;
// Childs // Childs
std::vector<OOX::VmlOffice::CProxy*> m_arrProxy; std::vector<OOX::VmlOffice::CProxy*> m_arrProxy;
...@@ -1927,11 +1927,11 @@ namespace OOX ...@@ -1927,11 +1927,11 @@ namespace OOX
public: public:
virtual void fromXML(XmlUtils::CXmlNode& oNode) virtual void fromXML(XmlUtils::CXmlNode& oNode)
{ {
// TO DO: Реализовать CRegroupTable::fromXML(XmlUtils::CXmlNode& oNode) // TO DO: Реализовать CRegroupTable::fromXML(XmlUtils::CXmlNode& oNode)
} }
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader) virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
{ {
ReadAttributes( oReader ); ReadAttributes( oReader );
...@@ -1949,7 +1949,7 @@ namespace OOX ...@@ -1949,7 +1949,7 @@ namespace OOX
} }
} }
} }
virtual std::wstring toXML() const virtual std::wstring toXML() const
{ {
std::wstring sResult = _T("<o:regrouptable "); std::wstring sResult = _T("<o:regrouptable ");
...@@ -2012,11 +2012,11 @@ namespace OOX ...@@ -2012,11 +2012,11 @@ namespace OOX
public: public:
virtual void fromXML(XmlUtils::CXmlNode& oNode) virtual void fromXML(XmlUtils::CXmlNode& oNode)
{ {
// TO DO: Реализовать CRules::fromXML(XmlUtils::CXmlNode& oNode) // TO DO: Реализовать CRules::fromXML(XmlUtils::CXmlNode& oNode)
} }
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader) virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
{ {
ReadAttributes( oReader ); ReadAttributes( oReader );
...@@ -2034,7 +2034,7 @@ namespace OOX ...@@ -2034,7 +2034,7 @@ namespace OOX
} }
} }
} }
virtual std::wstring toXML() const virtual std::wstring toXML() const
{ {
std::wstring sResult = _T("<o:rules "); std::wstring sResult = _T("<o:rules ");
...@@ -2091,11 +2091,11 @@ namespace OOX ...@@ -2091,11 +2091,11 @@ namespace OOX
public: public:
virtual void fromXML(XmlUtils::CXmlNode& oNode) virtual void fromXML(XmlUtils::CXmlNode& oNode)
{ {
// TO DO: Реализовать CShapeLayout::fromXML(XmlUtils::CXmlNode& oNode) // TO DO: Реализовать CShapeLayout::fromXML(XmlUtils::CXmlNode& oNode)
} }
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader) virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
{ {
ReadAttributes( oReader ); ReadAttributes( oReader );
...@@ -2114,7 +2114,7 @@ namespace OOX ...@@ -2114,7 +2114,7 @@ namespace OOX
m_oRules = oReader; m_oRules = oReader;
} }
} }
virtual std::wstring toXML() const virtual std::wstring toXML() const
{ {
std::wstring sResult = _T("<o:shapelayout "); std::wstring sResult = _T("<o:shapelayout ");
...@@ -2176,18 +2176,18 @@ namespace OOX ...@@ -2176,18 +2176,18 @@ namespace OOX
public: public:
virtual void fromXML(XmlUtils::CXmlNode& oNode) virtual void fromXML(XmlUtils::CXmlNode& oNode)
{ {
// TO DO: Реализовать CSignatureLine::fromXML(XmlUtils::CXmlNode& oNode) // TO DO: Реализовать CSignatureLine::fromXML(XmlUtils::CXmlNode& oNode)
} }
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader) virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
{ {
ReadAttributes( oReader ); ReadAttributes( oReader );
if ( !oReader.IsEmptyNode() ) if ( !oReader.IsEmptyNode() )
oReader.ReadTillEnd(); oReader.ReadTillEnd();
} }
virtual std::wstring toXML() const virtual std::wstring toXML() const
{ {
std::wstring sResult = _T("<o:signatureline "); std::wstring sResult = _T("<o:signatureline ");
...@@ -2249,19 +2249,19 @@ namespace OOX ...@@ -2249,19 +2249,19 @@ namespace OOX
public: public:
// Attributes // Attributes
nullable<std::wstring> m_sAddXml; nullable<std::wstring> m_sAddXml;
SimpleTypes::CTrueFalse<SimpleTypes::booleanFalse> m_oAllowComments; SimpleTypes::CTrueFalse<SimpleTypes::booleanFalse> m_oAllowComments;
nullable<SimpleTypes::CExt<>> m_oExt; nullable<SimpleTypes::CExt<>> m_oExt;
nullable<SimpleTypes::CGuid> m_oId; nullable<SimpleTypes::CGuid> m_oId;
SimpleTypes::CTrueFalse<SimpleTypes::booleanTrue> m_oIsSignatureLine; SimpleTypes::CTrueFalse<SimpleTypes::booleanTrue> m_oIsSignatureLine;
nullable<SimpleTypes::CGuid> m_oProvId; nullable<SimpleTypes::CGuid> m_oProvId;
SimpleTypes::CTrueFalse<SimpleTypes::booleanTrue> m_oShowSignDate; SimpleTypes::CTrueFalse<SimpleTypes::booleanTrue> m_oShowSignDate;
nullable<std::wstring> m_sSigningInstructions; nullable<std::wstring> m_sSigningInstructions;
SimpleTypes::CTrueFalse<SimpleTypes::booleanFalse> m_oSigningInstructionsSet; SimpleTypes::CTrueFalse<SimpleTypes::booleanFalse> m_oSigningInstructionsSet;
nullable<std::wstring> m_sSigProvUrl; nullable<std::wstring> m_sSigProvUrl;
nullable<std::wstring> m_sSuggestedSigner; nullable<std::wstring> m_sSuggestedSigner;
nullable<std::wstring> m_sSuggestedSigner2; nullable<std::wstring> m_sSuggestedSigner2;
nullable<std::wstring> m_sSuggestedSignerEmail; nullable<std::wstring> m_sSuggestedSignerEmail;
}; };
//-------------------------------------------------------------------------------- //--------------------------------------------------------------------------------
// CSkew 14.2.2.31 (Part 4) // CSkew 14.2.2.31 (Part 4)
...@@ -2279,18 +2279,18 @@ namespace OOX ...@@ -2279,18 +2279,18 @@ namespace OOX
public: public:
virtual void fromXML(XmlUtils::CXmlNode& oNode) virtual void fromXML(XmlUtils::CXmlNode& oNode)
{ {
// TO DO: Реализовать CSkew::fromXML(XmlUtils::CXmlNode& oNode) // TO DO: Реализовать CSkew::fromXML(XmlUtils::CXmlNode& oNode)
} }
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader) virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
{ {
ReadAttributes( oReader ); ReadAttributes( oReader );
if ( !oReader.IsEmptyNode() ) if ( !oReader.IsEmptyNode() )
oReader.ReadTillEnd(); oReader.ReadTillEnd();
} }
virtual std::wstring toXML() const virtual std::wstring toXML() const
{ {
std::wstring sResult = _T("<o:skew "); std::wstring sResult = _T("<o:skew ");
...@@ -2333,12 +2333,12 @@ namespace OOX ...@@ -2333,12 +2333,12 @@ namespace OOX
public: public:
// Attributes // Attributes
nullable<SimpleTypes::CExt<>> m_oExt; nullable<SimpleTypes::CExt<>> m_oExt;
nullable<std::wstring> m_sId; nullable<std::wstring> m_sId;
nullable<std::wstring> m_sMatrix; nullable<std::wstring> m_sMatrix;
nullable<std::wstring> m_sOffset; nullable<std::wstring> m_sOffset;
SimpleTypes::CTrueFalse<SimpleTypes::booleanFalse> m_oOn; SimpleTypes::CTrueFalse<SimpleTypes::booleanFalse> m_oOn;
nullable<std::wstring> m_sOrigin; nullable<std::wstring> m_sOrigin;
}; };
} // namespace Vml } // namespace Vml
} // namespace OOX } // namespace OOX
......
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