Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
onlyoffice_core
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Boris Kocherov
onlyoffice_core
Commits
4d5f328c
Commit
4d5f328c
authored
May 19, 2017
by
Sergey Konovalov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
open/save vml signatureline
parent
b18cd44c
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
237 additions
and
49 deletions
+237
-49
ASCOfficePPTXFile/ASCOfficeDrawingConverter.cpp
ASCOfficePPTXFile/ASCOfficeDrawingConverter.cpp
+18
-2
ASCOfficePPTXFile/ASCOfficeDrawingConverter.h
ASCOfficePPTXFile/ASCOfficeDrawingConverter.h
+1
-1
ASCOfficePPTXFile/Editor/Drawing/Shapes/BaseShape/Common.h
ASCOfficePPTXFile/Editor/Drawing/Shapes/BaseShape/Common.h
+4
-4
ASCOfficePPTXFile/Editor/Drawing/Shapes/BaseShape/PPTShape/PPTShape.h
...XFile/Editor/Drawing/Shapes/BaseShape/PPTShape/PPTShape.h
+7
-0
ASCOfficePPTXFile/PPTXFormat/Logic/Pic.cpp
ASCOfficePPTXFile/PPTXFormat/Logic/Pic.cpp
+6
-6
ASCOfficePPTXFile/PPTXFormat/Logic/Shape.cpp
ASCOfficePPTXFile/PPTXFormat/Logic/Shape.cpp
+15
-3
ASCOfficePPTXFile/PPTXFormat/Logic/Shape.h
ASCOfficePPTXFile/PPTXFormat/Logic/Shape.h
+3
-1
ASCOfficePPTXFile/PPTXFormat/Logic/SpTreeElem.cpp
ASCOfficePPTXFile/PPTXFormat/Logic/SpTreeElem.cpp
+2
-2
ASCOfficePPTXFile/PPTXFormat/Logic/SpTreeElem.h
ASCOfficePPTXFile/PPTXFormat/Logic/SpTreeElem.h
+1
-1
Common/DocxFormat/Source/Common/ComplexTypes.h
Common/DocxFormat/Source/Common/ComplexTypes.h
+8
-0
Common/DocxFormat/Source/DocxFormat/Logic/VmlOfficeDrawing.h
Common/DocxFormat/Source/DocxFormat/Logic/VmlOfficeDrawing.h
+172
-29
No files found.
ASCOfficePPTXFile/ASCOfficeDrawingConverter.cpp
View file @
4d5f328c
...
...
@@ -2754,6 +2754,7 @@ void CDrawingConverter::doc_LoadShape(PPTX::Logic::SpTreeElem *elem, XmlUtils::C
{
pShape
->
nvSpPr
.
cNvPr
.
id
=
-
1
;
}
pShape
->
signatureLine
=
pPPTShape
->
m_oSignatureLine
;
elem
->
InitElem
(
pShape
);
...
...
@@ -4374,6 +4375,15 @@ HRESULT CDrawingConverter::SaveObject(LONG lStart, LONG lLength, const std::wstr
bOle
=
oPic
.
oleObject
->
isValid
();
}
}
bool
bSignatureLine
=
false
;
if
(
oElem
.
is
<
PPTX
::
Logic
::
Shape
>
())
{
PPTX
::
Logic
::
Shape
&
oShape
=
oElem
.
as
<
PPTX
::
Logic
::
Shape
>
();
if
(
oShape
.
signatureLine
.
IsInit
())
{
bSignatureLine
=
true
;
}
}
m_pReader
->
m_nDocumentType
=
XMLWRITER_DOC_TYPE_PPTX
;
...
...
@@ -4393,6 +4403,12 @@ HRESULT CDrawingConverter::SaveObject(LONG lStart, LONG lLength, const std::wstr
{
ConvertPicVML
(
oElem
,
bsMainProps
,
oXmlWriter
);
}
else
if
(
bSignatureLine
)
{
oXmlWriter
.
WriteString
(
L"<w:pict>"
);
ConvertShapeVML
(
oElem
,
bsMainProps
,
oXmlWriter
,
true
);
oXmlWriter
.
WriteString
(
L"</w:pict>"
);
}
else
{
...
...
@@ -4586,13 +4602,13 @@ void CDrawingConverter::ConvertPicVML(PPTX::Logic::SpTreeElem& oElem, const std:
oPic
.
toXmlWriterVML
(
&
oWriter
,
*
m_pTheme
,
*
m_pClrMap
);
}
void
CDrawingConverter
::
ConvertShapeVML
(
PPTX
::
Logic
::
SpTreeElem
&
oElem
,
const
std
::
wstring
&
bsMainProps
,
NSBinPptxRW
::
CXmlWriter
&
oWriter
)
void
CDrawingConverter
::
ConvertShapeVML
(
PPTX
::
Logic
::
SpTreeElem
&
oElem
,
const
std
::
wstring
&
bsMainProps
,
NSBinPptxRW
::
CXmlWriter
&
oWriter
,
bool
bSignature
)
{
ConvertMainPropsToVML
(
bsMainProps
,
oWriter
,
oElem
);
oWriter
.
m_bIsTop
=
true
;
// не забыть скинуть в самом шейпе
PPTX
::
Logic
::
Shape
&
oShape
=
oElem
.
as
<
PPTX
::
Logic
::
Shape
>
();
oShape
.
toXmlWriterVML
(
&
oWriter
,
*
m_pTheme
,
*
m_pClrMap
);
oShape
.
toXmlWriterVML
(
&
oWriter
,
*
m_pTheme
,
*
m_pClrMap
,
false
,
bSignature
);
}
void
CDrawingConverter
::
ConvertGroupVML
(
PPTX
::
Logic
::
SpTreeElem
&
oElem
,
const
std
::
wstring
&
bsMainProps
,
NSBinPptxRW
::
CXmlWriter
&
oWriter
)
...
...
ASCOfficePPTXFile/ASCOfficeDrawingConverter.h
View file @
4d5f328c
...
...
@@ -279,7 +279,7 @@ namespace NSBinPptxRW
void
ConvertMainPropsToVML
(
const
std
::
wstring
&
sMainProps
,
NSBinPptxRW
::
CXmlWriter
&
oWriter
,
PPTX
::
Logic
::
SpTreeElem
&
oElem
);
void
ConvertPicVML
(
PPTX
::
Logic
::
SpTreeElem
&
oElem
,
const
std
::
wstring
&
sMainProps
,
NSBinPptxRW
::
CXmlWriter
&
oWriter
);
void
ConvertShapeVML
(
PPTX
::
Logic
::
SpTreeElem
&
oShape
,
const
std
::
wstring
&
sMainProps
,
NSBinPptxRW
::
CXmlWriter
&
oWriter
);
void
ConvertShapeVML
(
PPTX
::
Logic
::
SpTreeElem
&
oShape
,
const
std
::
wstring
&
sMainProps
,
NSBinPptxRW
::
CXmlWriter
&
oWriter
,
bool
bSignature
=
false
);
void
ConvertGroupVML
(
PPTX
::
Logic
::
SpTreeElem
&
oGroup
,
const
std
::
wstring
&
sMainProps
,
NSBinPptxRW
::
CXmlWriter
&
oWriter
);
void
ConvertTextVML
(
XmlUtils
::
CXmlNode
&
nodeTextBox
,
PPTX
::
Logic
::
Shape
*
pShape
);
...
...
ASCOfficePPTXFile/Editor/Drawing/Shapes/BaseShape/Common.h
View file @
4d5f328c
...
...
@@ -629,12 +629,12 @@ public:
virtual
HRESULT
put_BrushType
(
const
LONG
&
lType
){
return
S_OK
;
}
virtual
HRESULT
get_BrushColor1
(
LONG
*
lColor
){
return
S_OK
;
}
virtual
HRESULT
put_BrushColor1
(
const
LONG
&
lColor
){
return
S_OK
;
}
virtual
HRESULT
get_BrushAlpha1
(
LONG
*
lAlpha
)
virtual
HRESULT
get_BrushAlpha1
(
LONG
*
lAlpha
){
return
S_OK
;
}
virtual
HRESULT
put_BrushAlpha1
(
const
LONG
&
lAlpha
)
{
m_bIsFillPart
=
(
0
!=
lAlpha
)
?
true
:
false
;
return
S_OK
;
m_bIsFillPart
=
(
0
!=
lAlpha
)
?
true
:
false
;
return
S_OK
;
}
virtual
HRESULT
put_BrushAlpha1
(
const
LONG
&
lAlpha
){
return
S_OK
;
}
virtual
HRESULT
get_BrushColor2
(
LONG
*
lColor
){
return
S_OK
;
}
virtual
HRESULT
put_BrushColor2
(
const
LONG
&
lColor
){
return
S_OK
;
}
virtual
HRESULT
get_BrushAlpha2
(
LONG
*
lAlpha
){
return
S_OK
;
}
...
...
ASCOfficePPTXFile/Editor/Drawing/Shapes/BaseShape/PPTShape/PPTShape.h
View file @
4d5f328c
...
...
@@ -33,6 +33,7 @@
#include "./../BaseShape.h"
#include "CustomGeomShape.h"
#include "PPTShapeEnum.h"
#include "../../../../../../Common/DocxFormat/Source/DocxFormat/Logic/VmlOfficeDrawing.h"
using
namespace
NSOfficeDrawing
;
using
namespace
NSPresentationEditor
;
...
...
@@ -53,6 +54,7 @@ public:
bool
m_bIsFilled
;
bool
m_bIsStroked
;
nullable
<
OOX
::
VmlOffice
::
CSignatureLine
>
m_oSignatureLine
;
public:
CPPTShape
()
:
CBaseShape
(),
m_arStringTextRects
()
...
...
@@ -278,6 +280,11 @@ public:
else
m_bIsStroked
=
true
;
}
XmlUtils
::
CXmlNode
oNodeSignature
;
if
(
oNodeShapeType
.
GetNode
(
_T
(
"o:signatureline"
),
oNodeSignature
))
{
m_oSignatureLine
=
oNodeSignature
;
}
ReCalculate
();
return
true
;
...
...
ASCOfficePPTXFile/PPTXFormat/Logic/Pic.cpp
View file @
4d5f328c
...
...
@@ -1026,12 +1026,12 @@ namespace PPTX
}
if
(
bOle
)
{
pWriter
->
WriteAttribute
(
L"filled"
,
L"f"
);
pWriter
->
WriteAttribute
(
L"filled"
,
(
std
::
wstring
)
L"f"
);
}
std
::
wstring
strNodeVal
;
if
(
!
spPr
.
ln
.
is_init
())
{
pWriter
->
WriteAttribute
(
L"stroked"
,
L"false"
);
pWriter
->
WriteAttribute
(
L"stroked"
,
(
std
::
wstring
)
L"false"
);
}
else
{
...
...
@@ -1061,7 +1061,7 @@ namespace PPTX
{
pWriter
->
WriteAttribute
(
L"r:id"
,
blipFill
.
blip
->
embed
->
ToString
());
}
pWriter
->
WriteAttribute
(
L"o:title"
,
L""
);
pWriter
->
WriteAttribute
(
L"o:title"
,
(
std
::
wstring
)
L""
);
pWriter
->
EndAttributes
();
pWriter
->
EndNode
(
L"v:imagedata"
);
}
...
...
@@ -1097,8 +1097,8 @@ namespace PPTX
}
if
(
bOle
)
{
pWriter
->
WriteAttribute
(
L"filled"
,
L"f"
);
pWriter
->
WriteAttribute
(
L"stroked"
,
L"f"
);
pWriter
->
WriteAttribute
(
L"filled"
,
(
std
::
wstring
)
L"f"
);
pWriter
->
WriteAttribute
(
L"stroked"
,
(
std
::
wstring
)
L"f"
);
}
pWriter
->
EndAttributes
();
...
...
@@ -1108,7 +1108,7 @@ namespace PPTX
pWriter
->
StartNode
(
L"v:imagedata"
);
pWriter
->
StartAttributes
();
pWriter
->
WriteAttribute
(
L"r:id"
,
blipFill
.
blip
->
embed
->
ToString
());
pWriter
->
WriteAttribute
(
L"o:title"
,
L""
);
pWriter
->
WriteAttribute
(
L"o:title"
,
(
std
::
wstring
)
L""
);
pWriter
->
EndAttributes
();
pWriter
->
EndNode
(
L"v:imagedata"
);
}
...
...
ASCOfficePPTXFile/PPTXFormat/Logic/Shape.cpp
View file @
4d5f328c
...
...
@@ -357,8 +357,15 @@ namespace PPTX
txXfrm
->
fromPPTY
(
pReader
);
break
;
}
case
7
:
{
signatureLine
=
new
OOX
::
VmlOffice
::
CSignatureLine
();
signatureLine
->
fromPPTY
(
pReader
);
break
;
}
default:
{
pReader
->
SkipRecord
();
break
;
}
}
...
...
@@ -433,6 +440,7 @@ namespace PPTX
}
pWriter
->
WriteRecord2
(
6
,
txXfrm
);
pWriter
->
WriteRecord2
(
7
,
signatureLine
);
pWriter
->
EndRecord
();
}
...
...
@@ -505,7 +513,7 @@ namespace PPTX
}
}
void
Shape
::
toXmlWriterVML
(
NSBinPptxRW
::
CXmlWriter
*
pWriter
,
NSCommon
::
smart_ptr
<
PPTX
::
Theme
>&
oTheme
,
NSCommon
::
smart_ptr
<
PPTX
::
Logic
::
ClrMap
>&
oClrMap
,
bool
in_group
)
void
Shape
::
toXmlWriterVML
(
NSBinPptxRW
::
CXmlWriter
*
pWriter
,
NSCommon
::
smart_ptr
<
PPTX
::
Theme
>&
oTheme
,
NSCommon
::
smart_ptr
<
PPTX
::
Logic
::
ClrMap
>&
oClrMap
,
bool
in_group
,
bool
bSignature
)
{
std
::
wstring
strPath
,
strTextRect
;
bool
bOle
=
false
;
...
...
@@ -546,7 +554,7 @@ namespace PPTX
std
::
wstring
strStrokeNode
;;
CalculateFill
(
spPr
,
style
,
oTheme
,
oClrMap
,
strFillAttr
,
strFillNode
,
bOle
);
CalculateLine
(
spPr
,
style
,
oTheme
,
oClrMap
,
strStrokeAttr
,
strStrokeNode
,
bOle
);
CalculateLine
(
spPr
,
style
,
oTheme
,
oClrMap
,
strStrokeAttr
,
strStrokeNode
,
bOle
,
bSignature
);
pWriter
->
StartNode
(
L"v:shape"
);
...
...
@@ -637,7 +645,7 @@ namespace PPTX
//oStylesWriter.m_oWriter.AddCharNoCheck(WCHAR(','));
//oStylesWriter.m_oWriter.AddIntNoCheck(dH / 100);
//pWriter->WriteAttribute(L"coordsize", oStylesWriter.GetXmlString());
pWriter
->
WriteAttribute
(
L"coordsize"
,
L"100000,100000"
);
pWriter
->
WriteAttribute
(
L"coordsize"
,
(
std
::
wstring
)
L"100000,100000"
);
pWriter
->
WriteAttribute
(
L"path"
,
strPath
);
}
...
...
@@ -672,6 +680,10 @@ namespace PPTX
pWriter
->
WriteString
(
*
strTextBoxShape
);
//??? todooo -> oTextBoxShape
pWriter
->
EndNode
(
L"v:textbox"
);
}
if
(
signatureLine
.
is_init
())
{
signatureLine
->
toXmlWriter
(
pWriter
);
}
pWriter
->
EndNode
(
L"v:shape"
);
...
...
ASCOfficePPTXFile/PPTXFormat/Logic/Shape.h
View file @
4d5f328c
...
...
@@ -44,6 +44,7 @@
#include "../../../ASCOfficeDocxFile2/DocWrapper/DocxSerializer.h"
#include "../../../Common/DocxFormat/Source/Common/SimpleTypes_Vml.h"
#include "../../../Common/DocxFormat/Source/DocxFormat/Logic/Sdt.h"
#include "../../../Common/DocxFormat/Source/DocxFormat/Logic/VmlOfficeDrawing.h"
namespace
OOX
{
...
...
@@ -308,7 +309,7 @@ namespace PPTX
void
SetLevelUpElement
(
Shape
*
p
){
m_pLevelUp
=
p
;};
virtual
void
toPPTY
(
NSBinPptxRW
::
CBinaryFileWriter
*
pWriter
)
const
;
void
toXmlWriterVML
(
NSBinPptxRW
::
CXmlWriter
*
pWriter
,
smart_ptr
<
PPTX
::
Theme
>&
oTheme
,
smart_ptr
<
PPTX
::
Logic
::
ClrMap
>&
oClrMap
,
bool
in_group
=
false
);
void
toXmlWriterVML
(
NSBinPptxRW
::
CXmlWriter
*
pWriter
,
smart_ptr
<
PPTX
::
Theme
>&
oTheme
,
smart_ptr
<
PPTX
::
Logic
::
ClrMap
>&
oClrMap
,
bool
in_group
=
false
,
bool
bSignature
=
false
);
void
toXmlWriterVMLBackground
(
NSBinPptxRW
::
CXmlWriter
*
pWriter
,
NSCommon
::
smart_ptr
<
PPTX
::
Theme
>&
oTheme
,
NSCommon
::
smart_ptr
<
PPTX
::
Logic
::
ClrMap
>&
oClrMap
);
virtual
void
toXmlWriter
(
NSBinPptxRW
::
CXmlWriter
*
pWriter
)
const
;
...
...
@@ -330,6 +331,7 @@ namespace PPTX
nullable
<
BodyPr
>
oTextBoxBodyPr
;
nullable_bool
attrUseBgFill
;
nullable
<
OOX
::
VmlOffice
::
CSignatureLine
>
signatureLine
;
protected:
virtual
void
FillParentPointersForChilds
();
};
...
...
ASCOfficePPTXFile/PPTXFormat/Logic/SpTreeElem.cpp
View file @
4d5f328c
...
...
@@ -178,7 +178,7 @@ namespace PPTX
*/
}
void
CalculateLine
(
PPTX
::
Logic
::
SpPr
&
oSpPr
,
nullable
<
ShapeStyle
>&
pShapeStyle
,
NSCommon
::
smart_ptr
<
PPTX
::
Theme
>&
oTheme
,
NSCommon
::
smart_ptr
<
PPTX
::
Logic
::
ClrMap
>&
oClrMap
,
std
::
wstring
&
strAttr
,
std
::
wstring
&
strNode
,
bool
bOle
)
NSCommon
::
smart_ptr
<
PPTX
::
Logic
::
ClrMap
>&
oClrMap
,
std
::
wstring
&
strAttr
,
std
::
wstring
&
strNode
,
bool
bOle
,
bool
bSignature
)
{
PPTX
::
Logic
::
Ln
line
;
DWORD
ARGB
=
0
;
...
...
@@ -196,7 +196,7 @@ namespace PPTX
ARGB
=
line
.
Fill
.
as
<
SolidFill
>
().
Color
.
GetRGBColor
(
oTheme
,
oClrMap
,
ARGB
);
strAttr
=
_T
(
" strokecolor=
\"
"
)
+
GetHexColor
(
ARGB
)
+
_T
(
"
\"
"
);
}
else
if
(
bOle
)
else
if
(
bOle
||
bSignature
)
strAttr
=
_T
(
" stroked=
\"
f
\"
"
);
if
(
line
.
w
.
is_init
())
...
...
ASCOfficePPTXFile/PPTXFormat/Logic/SpTreeElem.h
View file @
4d5f328c
...
...
@@ -47,7 +47,7 @@ namespace PPTX
smart_ptr
<
PPTX
::
Logic
::
ClrMap
>&
oClrMap
,
std
::
wstring
&
strAttr
,
std
::
wstring
&
strNode
,
bool
bOle
=
false
);
void
CalculateLine
(
PPTX
::
Logic
::
SpPr
&
oSpPr
,
nullable
<
ShapeStyle
>&
pShapeStyle
,
smart_ptr
<
PPTX
::
Theme
>&
oTheme
,
smart_ptr
<
PPTX
::
Logic
::
ClrMap
>&
oClrMap
,
std
::
wstring
&
strAttr
,
std
::
wstring
&
strNode
,
bool
bOle
=
false
);
smart_ptr
<
PPTX
::
Theme
>&
oTheme
,
smart_ptr
<
PPTX
::
Logic
::
ClrMap
>&
oClrMap
,
std
::
wstring
&
strAttr
,
std
::
wstring
&
strNode
,
bool
bOle
=
false
,
bool
bSignature
=
false
);
class
SpTreeElem
:
public
WrapperWritingElement
{
...
...
Common/DocxFormat/Source/Common/ComplexTypes.h
View file @
4d5f328c
...
...
@@ -76,6 +76,14 @@ namespace ComplexTypes
sResult
+=
_T
(
"
\"
"
);
\
}
#define ComplexTypes_WriteAttribute2Encode( sStartString, oValue ) \
if
(
oValue
.
IsInit
()
)
\
{
\
sResult
+=
sStartString
;
\
sResult
+=
XmlUtils
::
EncodeXmlString
(
oValue
.
get2
());
\
sResult
+=
_T
(
"
\"
"
);
\
}
class
ComplexType
{
public:
...
...
Common/DocxFormat/Source/DocxFormat/Logic/VmlOfficeDrawing.h
View file @
4d5f328c
...
...
@@ -44,6 +44,8 @@
#include "../WritingElement.h"
#include "../RId.h"
#include "../../../../../ASCOfficePPTXFile/PPTXFormat/WrapperWritingElement.h"
namespace
OOX
{
namespace
VmlOffice
...
...
@@ -2163,7 +2165,7 @@ namespace OOX
//--------------------------------------------------------------------------------
// CSignatureLine 14.2.2.30 (Part 4)
//--------------------------------------------------------------------------------
class
CSignatureLine
:
public
WritingElement
class
CSignatureLine
:
public
WritingElement
,
public
PPTX
::
WrapperWritingElement
{
public:
WritingElement_AdditionConstructors
(
CSignatureLine
)
...
...
@@ -2178,7 +2180,19 @@ namespace OOX
virtual
void
fromXML
(
XmlUtils
::
CXmlNode
&
oNode
)
{
// TO DO: Реализовать CSignatureLine::fromXML(XmlUtils::CXmlNode& oNode)
oNode
.
ReadAttributeBase
(
L"o:addlxml"
,
m_sAddXml
);
oNode
.
ReadAttributeBase
(
L"allowcomments"
,
m_oAllowComments
);
oNode
.
ReadAttributeBase
(
L"v:ext"
,
m_oExt
);
oNode
.
ReadAttributeBase
(
L"id"
,
m_oId
);
oNode
.
ReadAttributeBase
(
L"issignatureline"
,
m_oIsSignatureLine
);
oNode
.
ReadAttributeBase
(
L"provid"
,
m_oProvId
);
oNode
.
ReadAttributeBase
(
L"showsigndate"
,
m_oShowSignDate
);
oNode
.
ReadAttributeBase
(
L"o:signinginstructions"
,
m_sSigningInstructions
);
oNode
.
ReadAttributeBase
(
L"signinginstructionsset"
,
m_oSigningInstructionsSet
);
oNode
.
ReadAttributeBase
(
L"o:sigprovurl"
,
m_sSigProvUrl
);
oNode
.
ReadAttributeBase
(
L"o:suggestedsigner"
,
m_sSuggestedSigner
);
oNode
.
ReadAttributeBase
(
L"o:suggestedsigner2"
,
m_sSuggestedSigner2
);
oNode
.
ReadAttributeBase
(
L"o:suggestedsigneremail"
,
m_sSuggestedSignerEmail
);
}
virtual
void
fromXML
(
XmlUtils
::
CXmlLiteReader
&
oReader
)
{
...
...
@@ -2193,27 +2207,27 @@ namespace OOX
ComplexTypes_WriteAttribute
(
_T
(
"v:ext=
\"
"
),
m_oExt
);
if
(
SimpleTypes
::
booleanTrue
!=
m_oIsSignatureLine
.
GetValue
()
)
sResult
+=
_T
(
"issignatureline=
\"
"
)
+
m_oIsSignatureLine
.
ToString
(
)
+
_T
(
"
\"
"
);
if
(
m_oIsSignatureLine
.
IsInit
()
)
sResult
+=
_T
(
"issignatureline=
\"
"
)
+
m_oIsSignatureLine
->
ToString2
(
SimpleTypes
::
onofftostringT
)
+
_T
(
"
\"
"
);
ComplexTypes_WriteAttribute
(
_T
(
"id=
\"
"
),
m_oId
);
ComplexTypes_WriteAttribute
(
_T
(
"provid=
\"
"
),
m_oProvId
);
if
(
SimpleTypes
::
booleanFalse
!=
m_oSigningInstructionsSet
.
GetValue
()
)
sResult
+=
_T
(
"signinginstructionsset=
\"
"
)
+
m_oSigningInstructionsSet
.
ToString
(
)
+
_T
(
"
\"
"
);
if
(
m_oSigningInstructionsSet
.
IsInit
()
)
sResult
+=
_T
(
"signinginstructionsset=
\"
"
)
+
m_oSigningInstructionsSet
->
ToString2
(
SimpleTypes
::
onofftostringT
)
+
_T
(
"
\"
"
);
if
(
SimpleTypes
::
booleanFalse
!=
m_oAllowComments
.
GetValue
()
)
sResult
+=
_T
(
"allowcomments=
\"
"
)
+
m_oAllowComments
.
ToString
(
)
+
_T
(
"
\"
"
);
if
(
m_oAllowComments
.
IsInit
()
)
sResult
+=
_T
(
"allowcomments=
\"
"
)
+
m_oAllowComments
->
ToString2
(
SimpleTypes
::
onofftostringT
)
+
_T
(
"
\"
"
);
if
(
SimpleTypes
::
booleanTrue
!=
m_oShowSignDate
.
GetValue
()
)
sResult
+=
_T
(
"showsigndate=
\"
"
)
+
m_oShowSignDate
.
ToString
(
)
+
_T
(
"
\"
"
);
if
(
m_oShowSignDate
.
IsInit
()
)
sResult
+=
_T
(
"showsigndate=
\"
"
)
+
m_oShowSignDate
->
ToString2
(
SimpleTypes
::
onofftostringT
)
+
_T
(
"
\"
"
);
ComplexTypes_WriteAttribute2
(
_T
(
"o:suggestedsigner=
\"
"
),
m_sSuggestedSigner
);
ComplexTypes_WriteAttribute2
(
_T
(
"o:suggestedsigner2=
\"
"
),
m_sSuggestedSigner2
);
ComplexTypes_WriteAttribute2
(
_T
(
"o:suggestedsigneremail=
\"
"
),
m_sSuggestedSignerEmail
);
ComplexTypes_WriteAttribute2
(
_T
(
"o:signinginstructions=
\"
"
),
m_sSigningInstructions
);
ComplexTypes_WriteAttribute2
(
_T
(
"o:addlxml=
\"
"
),
m_sAddXml
);
ComplexTypes_WriteAttribute2
(
_T
(
"o:sigprovurl=
\"
"
),
m_sSigProvUrl
);
ComplexTypes_WriteAttribute2
Encode
(
_T
(
"o:suggestedsigner=
\"
"
),
m_sSuggestedSigner
);
ComplexTypes_WriteAttribute2
Encode
(
_T
(
"o:suggestedsigner2=
\"
"
),
m_sSuggestedSigner2
);
ComplexTypes_WriteAttribute2
Encode
(
_T
(
"o:suggestedsigneremail=
\"
"
),
m_sSuggestedSignerEmail
);
ComplexTypes_WriteAttribute2
Encode
(
_T
(
"o:signinginstructions=
\"
"
),
m_sSigningInstructions
);
ComplexTypes_WriteAttribute2
Encode
(
_T
(
"o:addlxml=
\"
"
),
m_sAddXml
);
ComplexTypes_WriteAttribute2
Encode
(
_T
(
"o:sigprovurl=
\"
"
),
m_sSigProvUrl
);
sResult
+=
_T
(
"/>"
);
...
...
@@ -2223,6 +2237,135 @@ namespace OOX
{
return
OOX
::
et_o_signatureline
;
}
virtual
void
fromPPTY
(
NSBinPptxRW
::
CBinaryFileReader
*
pReader
)
{
LONG
_end_rec
=
pReader
->
GetPos
()
+
pReader
->
GetLong
()
+
4
;
pReader
->
Skip
(
1
);
// start attributes
while
(
true
)
{
BYTE
_at
=
pReader
->
GetUChar_TypeNode
();
if
(
_at
==
NSBinPptxRW
::
g_nodeAttributeEnd
)
break
;
switch
(
_at
)
{
case
0
:
{
m_sAddXml
=
pReader
->
GetString2
();
break
;
}
case
1
:
{
m_oAllowComments
.
Init
();
m_oAllowComments
->
FromBool
(
pReader
->
GetBool
());
break
;
}
case
2
:
{
m_oExt
.
Init
();
m_oExt
->
SetValue
((
SimpleTypes
::
EExt
)
pReader
->
GetUChar
());
break
;
}
case
3
:
{
m_oId
=
pReader
->
GetString2
();
break
;
}
case
4
:
{
m_oIsSignatureLine
.
Init
();
m_oIsSignatureLine
->
FromBool
(
pReader
->
GetBool
());
break
;
}
case
5
:
{
m_oProvId
=
pReader
->
GetString2
();
break
;
}
case
6
:
{
m_oShowSignDate
.
Init
();
m_oShowSignDate
->
FromBool
(
pReader
->
GetBool
());
break
;
}
case
7
:
{
m_sSigningInstructions
=
pReader
->
GetString2
();
break
;
}
case
8
:
{
m_oSigningInstructionsSet
.
Init
();
m_oSigningInstructionsSet
->
FromBool
(
pReader
->
GetBool
());
break
;
}
case
9
:
{
m_sSigProvUrl
=
pReader
->
GetString2
();
break
;
}
case
10
:
{
m_sSuggestedSigner
=
pReader
->
GetString2
();
break
;
}
case
11
:
{
m_sSuggestedSigner2
=
pReader
->
GetString2
();
break
;
}
case
12
:
{
m_sSuggestedSignerEmail
=
pReader
->
GetString2
();
break
;
}
default:
break
;
}
}
pReader
->
Seek
(
_end_rec
);
}
virtual
void
toPPTY
(
NSBinPptxRW
::
CBinaryFileWriter
*
pWriter
)
const
{
pWriter
->
WriteBYTE
(
NSBinPptxRW
::
g_nodeAttributeStart
);
if
(
m_sAddXml
.
IsInit
())
pWriter
->
WriteString1
(
0
,
m_sAddXml
.
get
());
if
(
m_oAllowComments
.
IsInit
())
pWriter
->
WriteBool1
(
1
,
m_oAllowComments
->
ToBool
());
if
(
m_oExt
.
IsInit
())
{
pWriter
->
WriteBYTE
(
2
);
pWriter
->
WriteBYTE
(
m_oExt
->
GetValue
());
}
if
(
m_oId
.
IsInit
())
pWriter
->
WriteString1
(
3
,
m_oId
->
ToString
());
if
(
m_oIsSignatureLine
.
IsInit
())
pWriter
->
WriteBool1
(
4
,
m_oIsSignatureLine
->
ToBool
());
if
(
m_oProvId
.
IsInit
())
pWriter
->
WriteString1
(
5
,
m_oProvId
->
ToString
());
if
(
m_oShowSignDate
.
IsInit
())
pWriter
->
WriteBool1
(
6
,
m_oShowSignDate
->
ToBool
());
if
(
m_sSigningInstructions
.
IsInit
())
pWriter
->
WriteString1
(
7
,
m_sSigningInstructions
.
get
());
if
(
m_oSigningInstructionsSet
.
IsInit
())
pWriter
->
WriteBool1
(
8
,
m_oSigningInstructionsSet
->
ToBool
());
if
(
m_sSigProvUrl
.
IsInit
())
pWriter
->
WriteString1
(
9
,
m_sSigProvUrl
.
get
());
if
(
m_sSuggestedSigner
.
IsInit
())
pWriter
->
WriteString1
(
10
,
m_sSuggestedSigner
.
get
());
if
(
m_sSuggestedSigner2
.
IsInit
())
pWriter
->
WriteString1
(
11
,
m_sSuggestedSigner2
.
get
());
if
(
m_sSuggestedSignerEmail
.
IsInit
())
pWriter
->
WriteString1
(
12
,
m_sSuggestedSignerEmail
.
get
());
pWriter
->
WriteBYTE
(
NSBinPptxRW
::
g_nodeAttributeEnd
);
}
virtual
void
toXmlWriter
(
NSBinPptxRW
::
CXmlWriter
*
pWriter
)
const
{
pWriter
->
WriteString
(
toXML
());
}
private:
...
...
@@ -2249,19 +2392,19 @@ namespace OOX
public:
// Attributes
nullable
<
std
::
wstring
>
m_sAddXml
;
SimpleTypes
::
CTrueFalse
<
SimpleTypes
::
booleanFalse
>
m_oAllowComments
;
nullable
<
SimpleTypes
::
CExt
<>>
m_oExt
;
nullable
<
SimpleTypes
::
CGuid
>
m_oId
;
SimpleTypes
::
CTrueFalse
<
SimpleTypes
::
booleanTrue
>
m_oIsSignatureLine
;
nullable
<
SimpleTypes
::
CGuid
>
m_oProvId
;
SimpleTypes
::
CTrueFalse
<
SimpleTypes
::
booleanTrue
>
m_oShowSignDate
;
nullable
<
std
::
wstring
>
m_sSigningInstructions
;
SimpleTypes
::
CTrueFalse
<
SimpleTypes
::
booleanFalse
>
m_oSigningInstructionsSet
;
nullable
<
std
::
wstring
>
m_sSigProvUrl
;
nullable
<
std
::
wstring
>
m_sSuggestedSigner
;
nullable
<
std
::
wstring
>
m_sSuggestedSigner2
;
nullable
<
std
::
wstring
>
m_sSuggestedSignerEmail
;
nullable
<
std
::
wstring
>
m_sAddXml
;
nullable
<
SimpleTypes
::
COnOff
<>>
m_oAllowComments
;
nullable
<
SimpleTypes
::
CExt
<>>
m_oExt
;
nullable
<
SimpleTypes
::
CGuid
>
m_oId
;
nullable
<
SimpleTypes
::
COnOff
<>>
m_oIsSignatureLine
;
nullable
<
SimpleTypes
::
CGuid
>
m_oProvId
;
nullable
<
SimpleTypes
::
COnOff
<>>
m_oShowSignDate
;
nullable
<
std
::
wstring
>
m_sSigningInstructions
;
nullable
<
SimpleTypes
::
COnOff
<>>
m_oSigningInstructionsSet
;
nullable
<
std
::
wstring
>
m_sSigProvUrl
;
nullable
<
std
::
wstring
>
m_sSuggestedSigner
;
nullable
<
std
::
wstring
>
m_sSuggestedSigner2
;
nullable
<
std
::
wstring
>
m_sSuggestedSignerEmail
;
};
//--------------------------------------------------------------------------------
// CSkew 14.2.2.31 (Part 4)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment