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
39e2b69b
Commit
39e2b69b
authored
Jun 24, 2017
by
Sergey Konovalov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
moveFrom/moveTo open/save
parent
58c00745
Changes
22
Hide whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
854 additions
and
142 deletions
+854
-142
ASCOfficeDocxFile2/BinReader/ReaderClasses.h
ASCOfficeDocxFile2/BinReader/ReaderClasses.h
+9
-1
ASCOfficeDocxFile2/BinReader/Readers.h
ASCOfficeDocxFile2/BinReader/Readers.h
+182
-0
ASCOfficeDocxFile2/BinWriter/BinReaderWriterDefines.h
ASCOfficeDocxFile2/BinWriter/BinReaderWriterDefines.h
+21
-2
ASCOfficeDocxFile2/BinWriter/BinWriters.h
ASCOfficeDocxFile2/BinWriter/BinWriters.h
+150
-0
Common/DocxFormat/Source/DocxFormat/Comments.h
Common/DocxFormat/Source/DocxFormat/Comments.h
+6
-6
Common/DocxFormat/Source/DocxFormat/Document.h
Common/DocxFormat/Source/DocxFormat/Document.h
+8
-8
Common/DocxFormat/Source/DocxFormat/FtnEdn.h
Common/DocxFormat/Source/DocxFormat/FtnEdn.h
+8
-8
Common/DocxFormat/Source/DocxFormat/HeaderFooter.h
Common/DocxFormat/Source/DocxFormat/HeaderFooter.h
+8
-8
Common/DocxFormat/Source/DocxFormat/Logic/Annotations.cpp
Common/DocxFormat/Source/DocxFormat/Logic/Annotations.cpp
+204
-14
Common/DocxFormat/Source/DocxFormat/Logic/Annotations.h
Common/DocxFormat/Source/DocxFormat/Logic/Annotations.h
+138
-7
Common/DocxFormat/Source/DocxFormat/Logic/Bdo.cpp
Common/DocxFormat/Source/DocxFormat/Logic/Bdo.cpp
+8
-8
Common/DocxFormat/Source/DocxFormat/Logic/Dir.cpp
Common/DocxFormat/Source/DocxFormat/Logic/Dir.cpp
+6
-6
Common/DocxFormat/Source/DocxFormat/Logic/FldSimple.cpp
Common/DocxFormat/Source/DocxFormat/Logic/FldSimple.cpp
+8
-8
Common/DocxFormat/Source/DocxFormat/Logic/Hyperlink.cpp
Common/DocxFormat/Source/DocxFormat/Logic/Hyperlink.cpp
+8
-8
Common/DocxFormat/Source/DocxFormat/Logic/Paragraph.cpp
Common/DocxFormat/Source/DocxFormat/Logic/Paragraph.cpp
+8
-8
Common/DocxFormat/Source/DocxFormat/Logic/RunProperty.h
Common/DocxFormat/Source/DocxFormat/Logic/RunProperty.h
+30
-0
Common/DocxFormat/Source/DocxFormat/Logic/Sdt.cpp
Common/DocxFormat/Source/DocxFormat/Logic/Sdt.cpp
+8
-8
Common/DocxFormat/Source/DocxFormat/Logic/SmartTag.cpp
Common/DocxFormat/Source/DocxFormat/Logic/SmartTag.cpp
+8
-8
Common/DocxFormat/Source/DocxFormat/Logic/Table.cpp
Common/DocxFormat/Source/DocxFormat/Logic/Table.cpp
+24
-24
Common/DocxFormat/Source/DocxFormat/Logic/Vml.cpp
Common/DocxFormat/Source/DocxFormat/Logic/Vml.cpp
+6
-6
Common/DocxFormat/Source/DocxFormat/Math/oMath.cpp
Common/DocxFormat/Source/DocxFormat/Math/oMath.cpp
+4
-4
Common/DocxFormat/Source/DocxFormat/WritingElement.h
Common/DocxFormat/Source/DocxFormat/WritingElement.h
+2
-0
No files found.
ASCOfficeDocxFile2/BinReader/ReaderClasses.h
View file @
39e2b69b
...
...
@@ -405,6 +405,8 @@ public:
std
::
wstring
Fill
;
std
::
wstring
Del
;
std
::
wstring
Ins
;
std
::
wstring
MoveFrom
;
std
::
wstring
MoveTo
;
std
::
wstring
rPrChange
;
bool
bBold
;
...
...
@@ -492,13 +494,15 @@ public:
Fill
.
clear
();
Del
.
clear
();
Ins
.
clear
();
MoveFrom
.
clear
();
MoveTo
.
clear
();
rPrChange
.
clear
();
}
bool
IsNoEmpty
()
{
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
.
empty
()
||
!
Fill
.
empty
()
||
!
Del
.
empty
()
||
!
Ins
.
empty
()
||
!
rPrChange
.
empty
();
!
Outline
.
empty
()
||
!
Fill
.
empty
()
||
!
Del
.
empty
()
||
!
Ins
.
empty
()
||
!
MoveFrom
.
empty
()
||
!
MoveTo
.
empty
()
||
!
rPrChange
.
empty
();
}
void
Write
(
XmlUtils
::
CStringWriter
*
pCStringWriter
)
{
...
...
@@ -749,6 +753,10 @@ public:
pCStringWriter
->
WriteString
(
Del
);
if
(
!
Ins
.
empty
())
pCStringWriter
->
WriteString
(
Ins
);
if
(
!
MoveFrom
.
empty
())
pCStringWriter
->
WriteString
(
MoveFrom
);
if
(
!
MoveTo
.
empty
())
pCStringWriter
->
WriteString
(
MoveTo
);
if
(
!
rPrChange
.
empty
())
pCStringWriter
->
WriteString
(
rPrChange
);
pCStringWriter
->
WriteString
(
L"</w:rPr>"
);
...
...
ASCOfficeDocxFile2/BinReader/Readers.h
View file @
39e2b69b
...
...
@@ -570,6 +570,20 @@ public:
orPr
->
Ins
=
oIns
.
ToString
(
_T
(
"w:ins"
));
}
break
;
case
c_oSerProp_rPrType
:
:
MoveFrom
:
{
TrackRevision
oMoveFrom
;
oBinary_CommonReader2
.
ReadTrackRevision
(
length
,
&
oMoveFrom
);
orPr
->
MoveFrom
=
oMoveFrom
.
ToString
(
_T
(
"w:moveFrom"
));
}
break
;
case
c_oSerProp_rPrType
:
:
MoveTo
:
{
TrackRevision
oMoveTo
;
oBinary_CommonReader2
.
ReadTrackRevision
(
length
,
&
oMoveTo
);
orPr
->
MoveTo
=
oMoveTo
.
ToString
(
_T
(
"w:moveTo"
));
}
break
;
case
c_oSerProp_rPrType
:
:
rPrChange
:
{
TrackRevision
oRPrChange
;
...
...
@@ -3771,6 +3785,42 @@ public:
res
=
Read1
(
length
,
&
Binary_DocumentTableReader
::
ReadDelIns
,
this
,
&
oTrackRevision
);
oTrackRevision
.
Write
(
&
GetRunStringWriter
(),
_T
(
"w:del"
));
}
else
if
(
c_oSerParType
::
MoveFrom
==
type
)
{
TrackRevision
oTrackRevision
;
res
=
Read1
(
length
,
&
Binary_DocumentTableReader
::
ReadDelIns
,
this
,
&
oTrackRevision
);
oTrackRevision
.
Write
(
&
GetRunStringWriter
(),
_T
(
"w:moveFrom"
));
}
else
if
(
c_oSerParType
::
MoveTo
==
type
)
{
TrackRevision
oTrackRevision
;
res
=
Read1
(
length
,
&
Binary_DocumentTableReader
::
ReadDelIns
,
this
,
&
oTrackRevision
);
oTrackRevision
.
Write
(
&
GetRunStringWriter
(),
_T
(
"w:moveTo"
));
}
else
if
(
c_oSerParType
::
MoveFromRangeStart
==
type
)
{
OOX
::
Logic
::
CMoveFromRangeStart
oMoveFromRangeStart
;
res
=
Read1
(
length
,
&
Binary_DocumentTableReader
::
ReadMoveFromRangeStart
,
this
,
&
oMoveFromRangeStart
);
GetRunStringWriter
().
WriteString
(
oMoveFromRangeStart
.
toXML
());
}
else
if
(
c_oSerParType
::
MoveFromRangeEnd
==
type
)
{
OOX
::
Logic
::
CMoveFromRangeEnd
oMoveToRangeEnd
;
res
=
Read1
(
length
,
&
Binary_DocumentTableReader
::
ReadMoveFromRangeEnd
,
this
,
&
oMoveToRangeEnd
);
GetRunStringWriter
().
WriteString
(
oMoveToRangeEnd
.
toXML
());
}
else
if
(
c_oSerParType
::
MoveToRangeStart
==
type
)
{
OOX
::
Logic
::
CMoveToRangeStart
oMoveToRangeStart
;
res
=
Read1
(
length
,
&
Binary_DocumentTableReader
::
ReadMoveToRangeStart
,
this
,
&
oMoveToRangeStart
);
GetRunStringWriter
().
WriteString
(
oMoveToRangeStart
.
toXML
());
}
else
if
(
c_oSerParType
::
MoveToRangeEnd
==
type
)
{
OOX
::
Logic
::
CMoveToRangeEnd
oMoveToRangeEnd
;
res
=
Read1
(
length
,
&
Binary_DocumentTableReader
::
ReadMoveToRangeEnd
,
this
,
&
oMoveToRangeEnd
);
GetRunStringWriter
().
WriteString
(
oMoveToRangeEnd
.
toXML
());
}
else
if
(
c_oSerParType
::
Sdt
==
type
)
{
SdtWraper
oSdt
(
1
);
...
...
@@ -3797,6 +3847,138 @@ public:
res
=
c_oSerConstants
::
ReadUnknown
;
return
res
;
}
int
ReadMoveFromRangeStart
(
BYTE
type
,
long
length
,
void
*
poResult
)
{
int
res
=
c_oSerConstants
::
ReadOk
;
OOX
::
Logic
::
CMoveFromRangeStart
*
pMoveFromRangeStart
=
static_cast
<
OOX
::
Logic
::
CMoveFromRangeStart
*>
(
poResult
);
if
(
c_oSerMoveRange
::
Author
==
type
)
{
pMoveFromRangeStart
->
m_sAuthor
.
Init
();
pMoveFromRangeStart
->
m_sAuthor
->
append
(
m_oBufferedStream
.
GetString3
(
length
));
}
else
if
(
c_oSerMoveRange
::
ColFirst
==
type
)
{
pMoveFromRangeStart
->
m_oColFirst
.
Init
();
pMoveFromRangeStart
->
m_oColFirst
->
SetValue
(
m_oBufferedStream
.
GetLong
());
}
else
if
(
c_oSerMoveRange
::
ColLast
==
type
)
{
pMoveFromRangeStart
->
m_oColLast
.
Init
();
pMoveFromRangeStart
->
m_oColLast
->
SetValue
(
m_oBufferedStream
.
GetLong
());
}
else
if
(
c_oSerMoveRange
::
Date
==
type
)
{
pMoveFromRangeStart
->
m_oDate
.
Init
();
pMoveFromRangeStart
->
m_oDate
->
SetValue
(
m_oBufferedStream
.
GetString3
(
length
));
}
else
if
(
c_oSerMoveRange
::
DisplacedByCustomXml
==
type
)
{
pMoveFromRangeStart
->
m_oDisplacedByCustomXml
.
Init
();
pMoveFromRangeStart
->
m_oDisplacedByCustomXml
->
SetValue
((
SimpleTypes
::
EDisplacedByCustomXml
)
m_oBufferedStream
.
GetUChar
());
}
else
if
(
c_oSerMoveRange
::
Id
==
type
)
{
pMoveFromRangeStart
->
m_oId
.
Init
();
pMoveFromRangeStart
->
m_oId
->
SetValue
(
m_oBufferedStream
.
GetLong
());
}
else
if
(
c_oSerMoveRange
::
Name
==
type
)
{
pMoveFromRangeStart
->
m_sName
.
Init
();
pMoveFromRangeStart
->
m_sName
->
append
(
m_oBufferedStream
.
GetString3
(
length
));
}
else
if
(
c_oSerMoveRange
::
UserId
==
type
)
{
pMoveFromRangeStart
->
m_sUserId
.
Init
();
pMoveFromRangeStart
->
m_sUserId
->
append
(
m_oBufferedStream
.
GetString3
(
length
));
}
else
res
=
c_oSerConstants
::
ReadUnknown
;
return
res
;
}
int
ReadMoveToRangeStart
(
BYTE
type
,
long
length
,
void
*
poResult
)
{
int
res
=
c_oSerConstants
::
ReadOk
;
OOX
::
Logic
::
CMoveToRangeStart
*
pMoveToRangeStart
=
static_cast
<
OOX
::
Logic
::
CMoveToRangeStart
*>
(
poResult
);
if
(
c_oSerMoveRange
::
Author
==
type
)
{
pMoveToRangeStart
->
m_sAuthor
.
Init
();
pMoveToRangeStart
->
m_sAuthor
->
append
(
m_oBufferedStream
.
GetString3
(
length
));
}
else
if
(
c_oSerMoveRange
::
ColFirst
==
type
)
{
pMoveToRangeStart
->
m_oColFirst
.
Init
();
pMoveToRangeStart
->
m_oColFirst
->
SetValue
(
m_oBufferedStream
.
GetLong
());
}
else
if
(
c_oSerMoveRange
::
ColLast
==
type
)
{
pMoveToRangeStart
->
m_oColLast
.
Init
();
pMoveToRangeStart
->
m_oColLast
->
SetValue
(
m_oBufferedStream
.
GetLong
());
}
else
if
(
c_oSerMoveRange
::
Date
==
type
)
{
pMoveToRangeStart
->
m_oDate
.
Init
();
pMoveToRangeStart
->
m_oDate
->
SetValue
(
m_oBufferedStream
.
GetString3
(
length
));
}
else
if
(
c_oSerMoveRange
::
DisplacedByCustomXml
==
type
)
{
pMoveToRangeStart
->
m_oDisplacedByCustomXml
.
Init
();
pMoveToRangeStart
->
m_oDisplacedByCustomXml
->
SetValue
((
SimpleTypes
::
EDisplacedByCustomXml
)
m_oBufferedStream
.
GetUChar
());
}
else
if
(
c_oSerMoveRange
::
Id
==
type
)
{
pMoveToRangeStart
->
m_oId
.
Init
();
pMoveToRangeStart
->
m_oId
->
SetValue
(
m_oBufferedStream
.
GetLong
());
}
else
if
(
c_oSerMoveRange
::
Name
==
type
)
{
pMoveToRangeStart
->
m_sName
.
Init
();
pMoveToRangeStart
->
m_sName
->
append
(
m_oBufferedStream
.
GetString3
(
length
));
}
else
if
(
c_oSerMoveRange
::
UserId
==
type
)
{
pMoveToRangeStart
->
m_sUserId
.
Init
();
pMoveToRangeStart
->
m_sUserId
->
append
(
m_oBufferedStream
.
GetString3
(
length
));
}
else
res
=
c_oSerConstants
::
ReadUnknown
;
return
res
;
}
int
ReadMoveFromRangeEnd
(
BYTE
type
,
long
length
,
void
*
poResult
)
{
int
res
=
c_oSerConstants
::
ReadOk
;
OOX
::
Logic
::
CMoveFromRangeEnd
*
pMoveFromRangeEnd
=
static_cast
<
OOX
::
Logic
::
CMoveFromRangeEnd
*>
(
poResult
);
if
(
c_oSerMoveRange
::
DisplacedByCustomXml
==
type
)
{
pMoveFromRangeEnd
->
m_oDisplacedByCustomXml
.
Init
();
pMoveFromRangeEnd
->
m_oDisplacedByCustomXml
->
SetValue
((
SimpleTypes
::
EDisplacedByCustomXml
)
m_oBufferedStream
.
GetUChar
());
}
else
if
(
c_oSerMoveRange
::
Id
==
type
)
{
pMoveFromRangeEnd
->
m_oId
.
Init
();
pMoveFromRangeEnd
->
m_oId
->
SetValue
(
m_oBufferedStream
.
GetLong
());
}
else
res
=
c_oSerConstants
::
ReadUnknown
;
return
res
;
}
int
ReadMoveToRangeEnd
(
BYTE
type
,
long
length
,
void
*
poResult
)
{
int
res
=
c_oSerConstants
::
ReadOk
;
OOX
::
Logic
::
CMoveToRangeEnd
*
pMoveToRangeEnd
=
static_cast
<
OOX
::
Logic
::
CMoveToRangeEnd
*>
(
poResult
);
if
(
c_oSerMoveRange
::
DisplacedByCustomXml
==
type
)
{
pMoveToRangeEnd
->
m_oDisplacedByCustomXml
.
Init
();
pMoveToRangeEnd
->
m_oDisplacedByCustomXml
->
SetValue
((
SimpleTypes
::
EDisplacedByCustomXml
)
m_oBufferedStream
.
GetUChar
());
}
else
if
(
c_oSerMoveRange
::
Id
==
type
)
{
pMoveToRangeEnd
->
m_oId
.
Init
();
pMoveToRangeEnd
->
m_oId
->
SetValue
(
m_oBufferedStream
.
GetLong
());
}
else
res
=
c_oSerConstants
::
ReadUnknown
;
return
res
;
}
int
ReadFldSimple
(
BYTE
type
,
long
length
,
void
*
poResult
)
{
int
res
=
c_oSerConstants
::
ReadOk
;
...
...
ASCOfficeDocxFile2/BinWriter/BinReaderWriterDefines.h
View file @
39e2b69b
...
...
@@ -381,7 +381,9 @@ extern int g_nCurFormatVersion;
TextFill
=
32
,
Del
=
33
,
Ins
=
34
,
rPrChange
=
35
rPrChange
=
35
,
MoveFrom
=
36
,
MoveTo
=
37
};}
namespace
c_oSerProp_rowPrType
{
enum
c_oSerProp_rowPrType
{
...
...
@@ -464,7 +466,13 @@ extern int g_nCurFormatVersion;
Del
=
12
,
Ins
=
13
,
Background
=
14
,
Sdt
=
15
Sdt
=
15
,
MoveFrom
=
16
,
MoveTo
=
17
,
MoveFromRangeStart
=
18
,
MoveFromRangeEnd
=
19
,
MoveToRangeStart
=
20
,
MoveToRangeEnd
=
21
};}
namespace
c_oSerDocTableType
{
enum
c_oSerDocTableType
{
...
...
@@ -1073,6 +1081,17 @@ extern int g_nCurFormatVersion;
TIMaxLength
=
23
,
TIType
=
24
,
};}
namespace
c_oSerMoveRange
{
enum
c_oSerMoveRange
{
Author
=
0
,
ColFirst
=
1
,
ColLast
=
2
,
Date
=
3
,
DisplacedByCustomXml
=
4
,
Id
=
5
,
Name
=
6
,
UserId
=
7
};}
}
#endif // #ifndef DOCX_BIN_READER_WRITER_DEFINES
ASCOfficeDocxFile2/BinWriter/BinWriters.h
View file @
39e2b69b
...
...
@@ -831,6 +831,22 @@ namespace BinDocxRW
Write_rPrChange
(
rPr
.
m_oRPrChange
.
get
());
m_oBcw
.
WriteItemWithLengthEnd
(
nCurPos
);
}
if
(
rPr
.
m_oMoveFrom
.
IsInit
())
{
m_oBcw
.
m_oStream
.
WriteBYTE
(
c_oSerProp_rPrType
::
MoveFrom
);
m_oBcw
.
m_oStream
.
WriteBYTE
(
c_oSerPropLenType
::
Variable
);
nCurPos
=
m_oBcw
.
WriteItemWithLengthStart
();
m_oBcw
.
WriteTrackRevision
(
rPr
.
m_oMoveFrom
.
get
());
m_oBcw
.
WriteItemWithLengthEnd
(
nCurPos
);
}
if
(
rPr
.
m_oMoveTo
.
IsInit
())
{
m_oBcw
.
m_oStream
.
WriteBYTE
(
c_oSerProp_rPrType
::
MoveTo
);
m_oBcw
.
m_oStream
.
WriteBYTE
(
c_oSerPropLenType
::
Variable
);
nCurPos
=
m_oBcw
.
WriteItemWithLengthStart
();
m_oBcw
.
WriteTrackRevision
(
rPr
.
m_oMoveTo
.
get
());
m_oBcw
.
WriteItemWithLengthEnd
(
nCurPos
);
}
}
void
Write_rPrChange
(
const
OOX
::
Logic
::
CRPrChange
&
rPrChange
)
{
...
...
@@ -3229,6 +3245,22 @@ namespace BinDocxRW
m_oBcw
.
WriteItemEnd
(
nCurPos
);
break
;
}
case
OOX
:
:
et_w_moveFrom
:
{
OOX
::
Logic
::
CMoveFrom
*
pMoveFrom
=
static_cast
<
OOX
::
Logic
::
CMoveFrom
*>
(
item
);
nCurPos
=
m_oBcw
.
WriteItemStart
(
c_oSerParType
::
MoveFrom
);
WriteMoveFrom
(
*
pMoveFrom
);
m_oBcw
.
WriteItemEnd
(
nCurPos
);
break
;
}
case
OOX
:
:
et_w_moveTo
:
{
OOX
::
Logic
::
CMoveTo
*
pMoveTo
=
static_cast
<
OOX
::
Logic
::
CMoveTo
*>
(
item
);
nCurPos
=
m_oBcw
.
WriteItemStart
(
c_oSerParType
::
MoveTo
);
WriteMoveTo
(
*
pMoveTo
);
m_oBcw
.
WriteItemEnd
(
nCurPos
);
break
;
}
case
OOX
:
:
et_w_commentRangeStart
:
{
OOX
::
Logic
::
CCommentRangeStart
*
pCommentRangeStart
=
static_cast
<
OOX
::
Logic
::
CCommentRangeStart
*>
(
item
);
...
...
@@ -3241,6 +3273,38 @@ namespace BinDocxRW
WriteComment
(
OOX
::
et_w_commentRangeEnd
,
pCommentRangeEnd
->
m_oId
);
break
;
}
case
OOX
:
:
et_w_moveFromRangeStart
:
{
OOX
::
Logic
::
CMoveFromRangeStart
*
pMoveFromRangeStart
=
static_cast
<
OOX
::
Logic
::
CMoveFromRangeStart
*>
(
item
);
nCurPos
=
m_oBcw
.
WriteItemStart
(
c_oSerParType
::
MoveFromRangeStart
);
WriteMoveRangeStart
(
*
pMoveFromRangeStart
);
m_oBcw
.
WriteItemEnd
(
nCurPos
);
break
;
}
case
OOX
:
:
et_w_moveFromRangeEnd
:
{
OOX
::
Logic
::
CMoveFromRangeEnd
*
pMoveFromRangeEnd
=
static_cast
<
OOX
::
Logic
::
CMoveFromRangeEnd
*>
(
item
);
nCurPos
=
m_oBcw
.
WriteItemStart
(
c_oSerParType
::
MoveFromRangeEnd
);
WriteMoveRangeEnd
(
*
pMoveFromRangeEnd
);
m_oBcw
.
WriteItemEnd
(
nCurPos
);
break
;
}
case
OOX
:
:
et_w_moveToRangeStart
:
{
OOX
::
Logic
::
CMoveToRangeStart
*
pMoveToRangeStart
=
static_cast
<
OOX
::
Logic
::
CMoveToRangeStart
*>
(
item
);
nCurPos
=
m_oBcw
.
WriteItemStart
(
c_oSerParType
::
MoveToRangeStart
);
WriteMoveRangeStart
(
*
pMoveToRangeStart
);
m_oBcw
.
WriteItemEnd
(
nCurPos
);
break
;
}
case
OOX
:
:
et_w_moveToRangeEnd
:
{
OOX
::
Logic
::
CMoveToRangeEnd
*
pMoveToRangeEnd
=
static_cast
<
OOX
::
Logic
::
CMoveToRangeEnd
*>
(
item
);
nCurPos
=
m_oBcw
.
WriteItemStart
(
c_oSerParType
::
MoveToRangeEnd
);
WriteMoveRangeEnd
(
*
pMoveToRangeEnd
);
m_oBcw
.
WriteItemEnd
(
nCurPos
);
break
;
}
case
OOX
:
:
et_m_oMathPara
:
{
OOX
::
Logic
::
COMathPara
*
pOMathPara
=
static_cast
<
OOX
::
Logic
::
COMathPara
*>
(
item
);
...
...
@@ -3280,6 +3344,92 @@ namespace BinDocxRW
WriteParagraphContent
(
oIns
.
m_arrItems
);
m_oBcw
.
WriteItemWithLengthEnd
(
nCurPos
);
}
void
WriteMoveFrom
(
const
OOX
::
Logic
::
CMoveFrom
&
oMoveFrom
)
{
int
nCurPos
=
0
;
m_oBcw
.
WriteTrackRevision
(
oMoveFrom
);
nCurPos
=
m_oBcw
.
WriteItemStart
(
c_oSerProp_RevisionType
::
Content
);
WriteParagraphContent
(
oMoveFrom
.
m_arrItems
);
m_oBcw
.
WriteItemWithLengthEnd
(
nCurPos
);
}
void
WriteMoveTo
(
const
OOX
::
Logic
::
CMoveTo
&
oMoveTo
)
{
int
nCurPos
=
0
;
m_oBcw
.
WriteTrackRevision
(
oMoveTo
);
nCurPos
=
m_oBcw
.
WriteItemStart
(
c_oSerProp_RevisionType
::
Content
);
WriteParagraphContent
(
oMoveTo
.
m_arrItems
);
m_oBcw
.
WriteItemWithLengthEnd
(
nCurPos
);
}
template
<
typename
T
>
void
WriteMoveRangeStart
(
const
T
&
elem
)
{
int
nCurPos
=
0
;
if
(
elem
.
m_sAuthor
.
IsInit
())
{
nCurPos
=
m_oBcw
.
WriteItemStart
(
c_oSerMoveRange
::
Author
);
m_oBcw
.
m_oStream
.
WriteStringW3
(
elem
.
m_sAuthor
.
get
());
m_oBcw
.
WriteItemWithLengthEnd
(
nCurPos
);
}
if
(
elem
.
m_oColFirst
.
IsInit
())
{
nCurPos
=
m_oBcw
.
WriteItemStart
(
c_oSerMoveRange
::
ColFirst
);
m_oBcw
.
m_oStream
.
WriteLONG
(
elem
.
m_oColFirst
->
GetValue
());
m_oBcw
.
WriteItemWithLengthEnd
(
nCurPos
);
}
if
(
elem
.
m_oColLast
.
IsInit
())
{
nCurPos
=
m_oBcw
.
WriteItemStart
(
c_oSerMoveRange
::
ColLast
);
m_oBcw
.
m_oStream
.
WriteLONG
(
elem
.
m_oColLast
->
GetValue
());
m_oBcw
.
WriteItemWithLengthEnd
(
nCurPos
);
}
if
(
elem
.
m_oDate
.
IsInit
())
{
nCurPos
=
m_oBcw
.
WriteItemStart
(
c_oSerMoveRange
::
Date
);
m_oBcw
.
m_oStream
.
WriteStringW3
(
elem
.
m_oDate
->
ToString
());
m_oBcw
.
WriteItemWithLengthEnd
(
nCurPos
);
}
if
(
elem
.
m_oDisplacedByCustomXml
.
IsInit
())
{
nCurPos
=
m_oBcw
.
WriteItemStart
(
c_oSerMoveRange
::
DisplacedByCustomXml
);
m_oBcw
.
m_oStream
.
WriteBYTE
(
elem
.
m_oDisplacedByCustomXml
->
GetValue
());
m_oBcw
.
WriteItemWithLengthEnd
(
nCurPos
);
}
if
(
elem
.
m_oId
.
IsInit
())
{
nCurPos
=
m_oBcw
.
WriteItemStart
(
c_oSerMoveRange
::
Id
);
m_oBcw
.
m_oStream
.
WriteLONG
(
elem
.
m_oId
->
GetValue
());
m_oBcw
.
WriteItemWithLengthEnd
(
nCurPos
);
}
if
(
elem
.
m_sName
.
IsInit
())
{
nCurPos
=
m_oBcw
.
WriteItemStart
(
c_oSerMoveRange
::
Name
);
m_oBcw
.
m_oStream
.
WriteStringW3
(
elem
.
m_sName
.
get
());
m_oBcw
.
WriteItemWithLengthEnd
(
nCurPos
);
}
if
(
elem
.
m_sUserId
.
IsInit
())
{
nCurPos
=
m_oBcw
.
WriteItemStart
(
c_oSerMoveRange
::
UserId
);
m_oBcw
.
m_oStream
.
WriteStringW3
(
elem
.
m_sUserId
.
get
());
m_oBcw
.
WriteItemWithLengthEnd
(
nCurPos
);
}
}
template
<
typename
T
>
void
WriteMoveRangeEnd
(
const
T
&
elem
)
{
int
nCurPos
=
0
;
if
(
elem
.
m_oDisplacedByCustomXml
.
IsInit
())
{
nCurPos
=
m_oBcw
.
WriteItemStart
(
c_oSerMoveRange
::
DisplacedByCustomXml
);
m_oBcw
.
m_oStream
.
WriteBYTE
(
elem
.
m_oDisplacedByCustomXml
->
GetValue
());
m_oBcw
.
WriteItemWithLengthEnd
(
nCurPos
);
}
if
(
elem
.
m_oId
.
IsInit
())
{
nCurPos
=
m_oBcw
.
WriteItemStart
(
c_oSerMoveRange
::
Id
);
m_oBcw
.
m_oStream
.
WriteLONG
(
elem
.
m_oId
->
GetValue
());
m_oBcw
.
WriteItemWithLengthEnd
(
nCurPos
);
}
}
void
WriteComment
(
OOX
::
EElementType
eType
,
nullable
<
SimpleTypes
::
CDecimalNumber
<>>&
oId
)
{
int
nCurPos
=
0
;
...
...
Common/DocxFormat/Source/DocxFormat/Comments.h
View file @
39e2b69b
...
...
@@ -107,14 +107,14 @@ namespace OOX
pItem
=
new
Logic
::
CDel
(
oReader
);
else
if
(
_T
(
"w:ins"
)
==
sName
)
pItem
=
new
Logic
::
CIns
(
oReader
);
//
else if ( _T("w:moveFrom") == sName )
//
pItem = new Logic::CMoveFrom( oReader );
else
if
(
_T
(
"w:moveFrom"
)
==
sName
)
pItem
=
new
Logic
::
CMoveFrom
(
oReader
);
else
if
(
_T
(
"w:moveFromRangeEnd"
)
==
sName
)
pItem
=
new
Logic
::
CMove
To
RangeEnd
(
oReader
);
pItem
=
new
Logic
::
CMove
From
RangeEnd
(
oReader
);
else
if
(
_T
(
"w:moveFromRangeStart"
)
==
sName
)
pItem
=
new
Logic
::
CMove
To
RangeStart
(
oReader
);
//
else if ( _T("w:moveTo") == sName )
//
pItem = new Logic::CMoveTo( oReader );
pItem
=
new
Logic
::
CMove
From
RangeStart
(
oReader
);
else
if
(
_T
(
"w:moveTo"
)
==
sName
)
pItem
=
new
Logic
::
CMoveTo
(
oReader
);
else
if
(
_T
(
"w:moveToRangeEnd"
)
==
sName
)
pItem
=
new
Logic
::
CMoveToRangeEnd
(
oReader
);
else
if
(
_T
(
"w:moveToRangeStart"
)
==
sName
)
...
...
Common/DocxFormat/Source/DocxFormat/Document.h
View file @
39e2b69b
...
...
@@ -267,14 +267,14 @@ namespace OOX
pItem
=
new
Logic
::
CDel
(
oReader
);
else
if
(
_T
(
"w:ins"
)
==
sName
)
pItem
=
new
Logic
::
CIns
(
oReader
);
//
else if ( _T("w:moveFrom") == sName )
//
pItem = new Logic::CMoveFrom( oReader );
else
if
(
_T
(
"w:moveFrom"
)
==
sName
)
pItem
=
new
Logic
::
CMoveFrom
(
oReader
);
else
if
(
_T
(
"w:moveFromRangeEnd"
)
==
sName
)
pItem
=
new
Logic
::
CMove
To
RangeEnd
(
oReader
);
pItem
=
new
Logic
::
CMove
From
RangeEnd
(
oReader
);
else
if
(
_T
(
"w:moveFromRangeStart"
)
==
sName
)
pItem
=
new
Logic
::
CMove
To
RangeStart
(
oReader
);
//
else if ( _T("w:moveTo") == sName )
//
pItem = new Logic::CMoveTo( oReader );
pItem
=
new
Logic
::
CMove
From
RangeStart
(
oReader
);
else
if
(
_T
(
"w:moveTo"
)
==
sName
)
pItem
=
new
Logic
::
CMoveTo
(
oReader
);
else
if
(
_T
(
"w:moveToRangeEnd"
)
==
sName
)
pItem
=
new
Logic
::
CMoveToRangeEnd
(
oReader
);
else
if
(
_T
(
"w:moveToRangeStart"
)
==
sName
)
...
...
@@ -414,9 +414,9 @@ namespace OOX
//else if ( _T("w:moveFrom") == sName )
// pItem = new Logic::CMoveFrom( oItem );
else
if
(
_T
(
"w:moveFromRangeEnd"
)
==
sName
)
pItem
=
new
Logic
::
CMove
To
RangeEnd
(
oItem
);
pItem
=
new
Logic
::
CMove
From
RangeEnd
(
oItem
);
else
if
(
_T
(
"w:moveFromRangeStart"
)
==
sName
)
pItem
=
new
Logic
::
CMove
To
RangeStart
(
oItem
);
pItem
=
new
Logic
::
CMove
From
RangeStart
(
oItem
);
//else if ( _T("w:moveTo") == sName )
// pItem = new Logic::CMoveTo( oItem );
else
if
(
_T
(
"w:moveToRangeEnd"
)
==
sName
)
...
...
Common/DocxFormat/Source/DocxFormat/FtnEdn.h
View file @
39e2b69b
...
...
@@ -139,9 +139,9 @@ namespace OOX
//else if ( _T("w:moveFrom") == sName )
// pItem = new Logic::CMoveFrom( oItem );
else
if
(
_T
(
"w:moveFromRangeEnd"
)
==
sName
)
pItem
=
new
Logic
::
CMove
To
RangeEnd
(
oItem
);
pItem
=
new
Logic
::
CMove
From
RangeEnd
(
oItem
);
else
if
(
_T
(
"w:moveFromRangeStart"
)
==
sName
)
pItem
=
new
Logic
::
CMove
To
RangeStart
(
oItem
);
pItem
=
new
Logic
::
CMove
From
RangeStart
(
oItem
);
//else if ( _T("w:moveTo") == sName )
// pItem = new Logic::CMoveTo( oItem );
else
if
(
_T
(
"w:moveToRangeEnd"
)
==
sName
)
...
...
@@ -224,14 +224,14 @@ namespace OOX
pItem
=
new
Logic
::
CDel
(
oReader
);
else
if
(
_T
(
"w:ins"
)
==
sName
)
pItem
=
new
Logic
::
CIns
(
oReader
);
//
else if ( _T("w:moveFrom") == sName )
//
pItem = new Logic::CMoveFrom( oReader );
else
if
(
_T
(
"w:moveFrom"
)
==
sName
)
pItem
=
new
Logic
::
CMoveFrom
(
oReader
);
else
if
(
_T
(
"w:moveFromRangeEnd"
)
==
sName
)
pItem
=
new
Logic
::
CMove
To
RangeEnd
(
oReader
);
pItem
=
new
Logic
::
CMove
From
RangeEnd
(
oReader
);
else
if
(
_T
(
"w:moveFromRangeStart"
)
==
sName
)
pItem
=
new
Logic
::
CMove
To
RangeStart
(
oReader
);
//
else if ( _T("w:moveTo") == sName )
//
pItem = new Logic::CMoveTo( oReader );
pItem
=
new
Logic
::
CMove
From
RangeStart
(
oReader
);
else
if
(
_T
(
"w:moveTo"
)
==
sName
)
pItem
=
new
Logic
::
CMoveTo
(
oReader
);
else
if
(
_T
(
"w:moveToRangeEnd"
)
==
sName
)
pItem
=
new
Logic
::
CMoveToRangeEnd
(
oReader
);
else
if
(
_T
(
"w:moveToRangeStart"
)
==
sName
)
...
...
Common/DocxFormat/Source/DocxFormat/HeaderFooter.h
View file @
39e2b69b
...
...
@@ -153,14 +153,14 @@ namespace OOX
pItem
=
new
Logic
::
CDel
(
oReader
);
else
if
(
_T
(
"w:ins"
)
==
sName
)
pItem
=
new
Logic
::
CIns
(
oReader
);
//
else if ( _T("w:moveFrom") == sName )
//
pItem = new Logic::CMoveFrom( oReader );
else
if
(
_T
(
"w:moveFrom"
)
==
sName
)
pItem
=
new
Logic
::
CMoveFrom
(
oReader
);
else
if
(
_T
(
"w:moveFromRangeEnd"
)
==
sName
)
pItem
=
new
Logic
::
CMove
To
RangeEnd
(
oReader
);
pItem
=
new
Logic
::
CMove
From
RangeEnd
(
oReader
);
else
if
(
_T
(
"w:moveFromRangeStart"
)
==
sName
)
pItem
=
new
Logic
::
CMove
To
RangeStart
(
oReader
);
//
else if ( _T("w:moveTo") == sName )
//
pItem = new Logic::CMoveTo( oReader );
pItem
=
new
Logic
::
CMove
From
RangeStart
(
oReader
);
else
if
(
_T
(
"w:moveTo"
)
==
sName
)
pItem
=
new
Logic
::
CMoveTo
(
oReader
);
else
if
(
_T
(
"w:moveToRangeEnd"
)
==
sName
)
pItem
=
new
Logic
::
CMoveToRangeEnd
(
oReader
);
else
if
(
_T
(
"w:moveToRangeStart"
)
==
sName
)
...
...
@@ -243,9 +243,9 @@ namespace OOX
//else if ( _T("w:moveFrom") == sName )
// pItem = new Logic::CMoveFrom( oItem );
else
if
(
_T
(
"w:moveFromRangeEnd"
)
==
sName
)
pItem
=
new
Logic
::
CMove
To
RangeEnd
(
oItem
);
pItem
=
new
Logic
::
CMove
From
RangeEnd
(
oItem
);
else
if
(
_T
(
"w:moveFromRangeStart"
)
==
sName
)
pItem
=
new
Logic
::
CMove
To
RangeStart
(
oItem
);
pItem
=
new
Logic
::
CMove
From
RangeStart
(
oItem
);
//else if ( _T("w:moveTo") == sName )
// pItem = new Logic::CMoveTo( oItem );
else
if
(
_T
(
"w:moveToRangeEnd"
)
==
sName
)
...
...
Common/DocxFormat/Source/DocxFormat/Logic/Annotations.cpp
View file @
39e2b69b
...
...
@@ -44,8 +44,6 @@
// TO DO: Нехватающие классы:
// <w:customXml>
// <w:moveFrom>
// <w:moveTo>
// <w:subDoc>
...
...
@@ -53,6 +51,198 @@ namespace OOX
{
namespace
Logic
{
void
CMoveFrom
::
fromXML
(
XmlUtils
::
CXmlNode
&
oNode
)
{
//todo
}
void
CMoveFrom
::
fromXML
(
XmlUtils
::
CXmlLiteReader
&
oReader
)
{
ReadAttributes
(
oReader
);
if
(
oReader
.
IsEmptyNode
()
)
return
;
int
nParentDepth
=
oReader
.
GetDepth
();
while
(
oReader
.
ReadNextSiblingNode
(
nParentDepth
)
)
{
std
::
wstring
sName
=
oReader
.
GetName
();
WritingElement
*
pItem
=
NULL
;
if
(
_T
(
"w:bdo"
)
==
sName
)
pItem
=
new
CBdo
(
oReader
);
else
if
(
_T
(
"w:bookmarkEnd"
)
==
sName
)
pItem
=
new
CBookmarkEnd
(
oReader
);
else
if
(
_T
(
"w:bookmarkStart"
)
==
sName
)
pItem
=
new
CBookmarkStart
(
oReader
);
else
if
(
_T
(
"w:commentRangeEnd"
)
==
sName
)
pItem
=
new
CCommentRangeEnd
(
oReader
);
else
if
(
_T
(
"w:commentRangeStart"
)
==
sName
)
pItem
=
new
CCommentRangeStart
(
oReader
);
//else if ( _T("w:customXml") == sName )
// pItem = new CCustomXml( oReader );
else
if
(
_T
(
"w:customXmlDelRangeEnd"
)
==
sName
)
pItem
=
new
CCustomXmlDelRangeEnd
(
oReader
);
else
if
(
_T
(
"w:customXmlDelRangeStart"
)
==
sName
)
pItem
=
new
CCustomXmlDelRangeStart
(
oReader
);
else
if
(
_T
(
"w:customXmlInsRangeEnd"
)
==
sName
)
pItem
=
new
CCustomXmlInsRangeEnd
(
oReader
);
else
if
(
_T
(
"w:customXmlInsRangeStart"
)
==
sName
)
pItem
=
new
CCustomXmlInsRangeStart
(
oReader
);
else
if
(
_T
(
"w:customXmlMoveFromRangeEnd"
)
==
sName
)
pItem
=
new
CCustomXmlMoveFromRangeEnd
(
oReader
);
else
if
(
_T
(
"w:customXmlMoveFromRangeStart"
)
==
sName
)
pItem
=
new
CCustomXmlMoveFromRangeStart
(
oReader
);
else
if
(
_T
(
"w:customXmlMoveToRangeEnd"
)
==
sName
)
pItem
=
new
CCustomXmlMoveToRangeEnd
(
oReader
);
else
if
(
_T
(
"w:customXmlMoveToRangeStart"
)
==
sName
)
pItem
=
new
CCustomXmlMoveToRangeStart
(
oReader
);
else
if
(
_T
(
"w:del"
)
==
sName
)
pItem
=
new
CDel
(
oReader
);
else
if
(
_T
(
"w:dir"
)
==
sName
)
pItem
=
new
CDir
(
oReader
);
else
if
(
_T
(
"w:fldSimple"
)
==
sName
)
pItem
=
new
CFldSimple
(
oReader
);
else
if
(
_T
(
"w:hyperlink"
)
==
sName
)
pItem
=
new
CHyperlink
(
oReader
);
else
if
(
_T
(
"w:ins"
)
==
sName
)
pItem
=
new
CIns
(
oReader
);
else
if
(
_T
(
"w:moveFrom"
)
==
sName
)
pItem
=
new
CMoveFrom
(
oReader
);
else
if
(
_T
(
"w:moveFromRangeEnd"
)
==
sName
)
pItem
=
new
CMoveFromRangeEnd
(
oReader
);
else
if
(
_T
(
"w:moveFromRangeStart"
)
==
sName
)
pItem
=
new
CMoveFromRangeStart
(
oReader
);
else
if
(
_T
(
"w:moveTo"
)
==
sName
)
pItem
=
new
CMoveTo
(
oReader
);
else
if
(
_T
(
"w:moveToRangeEnd"
)
==
sName
)
pItem
=
new
CMoveToRangeEnd
(
oReader
);
else
if
(
_T
(
"w:moveToRangeStart"
)
==
sName
)
pItem
=
new
CMoveToRangeStart
(
oReader
);
else
if
(
_T
(
"m:oMath"
)
==
sName
)
pItem
=
new
COMath
(
oReader
);
else
if
(
_T
(
"m:oMathPara"
)
==
sName
)
pItem
=
new
COMathPara
(
oReader
);
else
if
(
_T
(
"w:permEnd"
)
==
sName
)
pItem
=
new
CPermEnd
(
oReader
);
else
if
(
_T
(
"w:permStart"
)
==
sName
)
pItem
=
new
CPermStart
(
oReader
);
else
if
(
_T
(
"w:proofErr"
)
==
sName
)
pItem
=
new
CProofErr
(
oReader
);
else
if
(
_T
(
"w:r"
)
==
sName
)
pItem
=
new
CRun
(
oReader
);
else
if
(
_T
(
"w:sdt"
)
==
sName
)
pItem
=
new
CSdt
(
oReader
);
else
if
(
_T
(
"w:smartTag"
)
==
sName
)
pItem
=
new
CSmartTag
(
oReader
);
//else if ( _T("w:subDoc") == sName )
// pItem = new CSubDoc( oReader );
if
(
pItem
)
m_arrItems
.
push_back
(
pItem
);
}
}
std
::
wstring
CMoveFrom
::
toXML
()
const
{
//todo
std
::
wstring
sResult
=
_T
(
""
);
return
sResult
;
}
void
CMoveTo
::
fromXML
(
XmlUtils
::
CXmlNode
&
oNode
)
{
//todo
}
void
CMoveTo
::
fromXML
(
XmlUtils
::
CXmlLiteReader
&
oReader
)
{
ReadAttributes
(
oReader
);
if
(
oReader
.
IsEmptyNode
()
)
return
;
int
nParentDepth
=
oReader
.
GetDepth
();
while
(
oReader
.
ReadNextSiblingNode
(
nParentDepth
)
)
{
std
::
wstring
sName
=
oReader
.
GetName
();
WritingElement
*
pItem
=
NULL
;
if
(
_T
(
"w:bdo"
)
==
sName
)
pItem
=
new
CBdo
(
oReader
);
else
if
(
_T
(
"w:bookmarkEnd"
)
==
sName
)
pItem
=
new
CBookmarkEnd
(
oReader
);
else
if
(
_T
(
"w:bookmarkStart"
)
==
sName
)
pItem
=
new
CBookmarkStart
(
oReader
);
else
if
(
_T
(
"w:commentRangeEnd"
)
==
sName
)
pItem
=
new
CCommentRangeEnd
(
oReader
);
else
if
(
_T
(
"w:commentRangeStart"
)
==
sName
)
pItem
=
new
CCommentRangeStart
(
oReader
);
//else if ( _T("w:customXml") == sName )
// pItem = new CCustomXml( oReader );
else
if
(
_T
(
"w:customXmlDelRangeEnd"
)
==
sName
)
pItem
=
new
CCustomXmlDelRangeEnd
(
oReader
);
else
if
(
_T
(
"w:customXmlDelRangeStart"
)
==
sName
)
pItem
=
new
CCustomXmlDelRangeStart
(
oReader
);
else
if
(
_T
(
"w:customXmlInsRangeEnd"
)
==
sName
)
pItem
=
new
CCustomXmlInsRangeEnd
(
oReader
);
else
if
(
_T
(
"w:customXmlInsRangeStart"
)
==
sName
)
pItem
=
new
CCustomXmlInsRangeStart
(
oReader
);
else
if
(
_T
(
"w:customXmlMoveFromRangeEnd"
)
==
sName
)
pItem
=
new
CCustomXmlMoveFromRangeEnd
(
oReader
);
else
if
(
_T
(
"w:customXmlMoveFromRangeStart"
)
==
sName
)
pItem
=
new
CCustomXmlMoveFromRangeStart
(
oReader
);
else
if
(
_T
(
"w:customXmlMoveToRangeEnd"
)
==
sName
)
pItem
=
new
CCustomXmlMoveToRangeEnd
(
oReader
);
else
if
(
_T
(
"w:customXmlMoveToRangeStart"
)
==
sName
)
pItem
=
new
CCustomXmlMoveToRangeStart
(
oReader
);
else
if
(
_T
(
"w:del"
)
==
sName
)
pItem
=
new
CDel
(
oReader
);
else
if
(
_T
(
"w:dir"
)
==
sName
)
pItem
=
new
CDir
(
oReader
);
else
if
(
_T
(
"w:fldSimple"
)
==
sName
)
pItem
=
new
CFldSimple
(
oReader
);
else
if
(
_T
(
"w:hyperlink"
)
==
sName
)
pItem
=
new
CHyperlink
(
oReader
);
else
if
(
_T
(
"w:ins"
)
==
sName
)
pItem
=
new
CIns
(
oReader
);
else
if
(
_T
(
"w:moveFrom"
)
==
sName
)
pItem
=
new
CMoveFrom
(
oReader
);
else
if
(
_T
(
"w:moveFromRangeEnd"
)
==
sName
)
pItem
=
new
CMoveFromRangeEnd
(
oReader
);
else
if
(
_T
(
"w:moveFromRangeStart"
)
==
sName
)
pItem
=
new
CMoveFromRangeStart
(
oReader
);
else
if
(
_T
(
"w:moveTo"
)
==
sName
)
pItem
=
new
CMoveTo
(
oReader
);
else
if
(
_T
(
"w:moveToRangeEnd"
)
==
sName
)
pItem
=
new
CMoveToRangeEnd
(
oReader
);
else
if
(
_T
(
"w:moveToRangeStart"
)
==
sName
)
pItem
=
new
CMoveToRangeStart
(
oReader
);
else
if
(
_T
(
"m:oMath"
)
==
sName
)
pItem
=
new
COMath
(
oReader
);
else
if
(
_T
(
"m:oMathPara"
)
==
sName
)
pItem
=
new
COMathPara
(
oReader
);
else
if
(
_T
(
"w:permEnd"
)
==
sName
)
pItem
=
new
CPermEnd
(
oReader
);
else
if
(
_T
(
"w:permStart"
)
==
sName
)
pItem
=
new
CPermStart
(
oReader
);
else
if
(
_T
(
"w:proofErr"
)
==
sName
)
pItem
=
new
CProofErr
(
oReader
);
else
if
(
_T
(
"w:r"
)
==
sName
)
pItem
=
new
CRun
(
oReader
);
else
if
(
_T
(
"w:sdt"
)
==
sName
)
pItem
=
new
CSdt
(
oReader
);
else
if
(
_T
(
"w:smartTag"
)
==
sName
)
pItem
=
new
CSmartTag
(
oReader
);
//else if ( _T("w:subDoc") == sName )
// pItem = new CSubDoc( oReader );
if
(
pItem
)
m_arrItems
.
push_back
(
pItem
);
}
}
std
::
wstring
CMoveTo
::
toXML
()
const
{
//todo
std
::
wstring
sResult
=
_T
(
""
);
return
sResult
;
}
void
CIns
::
fromXML
(
XmlUtils
::
CXmlNode
&
oNode
)
{
//todo
...
...
@@ -108,14 +298,14 @@ namespace OOX
pItem
=
new
CHyperlink
(
oReader
);
else
if
(
_T
(
"w:ins"
)
==
sName
)
pItem
=
new
CIns
(
oReader
);
//
else if ( _T("w:moveFrom") == sName )
//
pItem = new CMoveFrom( oReader );
else
if
(
_T
(
"w:moveFrom"
)
==
sName
)
pItem
=
new
CMoveFrom
(
oReader
);
else
if
(
_T
(
"w:moveFromRangeEnd"
)
==
sName
)
pItem
=
new
CMove
To
RangeEnd
(
oReader
);
pItem
=
new
CMove
From
RangeEnd
(
oReader
);
else
if
(
_T
(
"w:moveFromRangeStart"
)
==
sName
)
pItem
=
new
CMove
To
RangeStart
(
oReader
);
//
else if ( _T("w:moveTo") == sName )
//
pItem = new CMoveTo( oReader );
pItem
=
new
CMove
From
RangeStart
(
oReader
);
else
if
(
_T
(
"w:moveTo"
)
==
sName
)
pItem
=
new
CMoveTo
(
oReader
);
else
if
(
_T
(
"w:moveToRangeEnd"
)
==
sName
)
pItem
=
new
CMoveToRangeEnd
(
oReader
);
else
if
(
_T
(
"w:moveToRangeStart"
)
==
sName
)
...
...
@@ -204,14 +394,14 @@ namespace OOX
pItem
=
new
CHyperlink
(
oReader
);
else
if
(
_T
(
"w:ins"
)
==
sName
)
pItem
=
new
CIns
(
oReader
);
//
else if ( _T("w:moveFrom") == sName )
//
pItem = new CMoveFrom( oReader );
else
if
(
_T
(
"w:moveFrom"
)
==
sName
)
pItem
=
new
CMoveFrom
(
oReader
);
else
if
(
_T
(
"w:moveFromRangeEnd"
)
==
sName
)
pItem
=
new
CMove
To
RangeEnd
(
oReader
);
pItem
=
new
CMove
From
RangeEnd
(
oReader
);
else
if
(
_T
(
"w:moveFromRangeStart"
)
==
sName
)
pItem
=
new
CMove
To
RangeStart
(
oReader
);
//
else if ( _T("w:moveTo") == sName )
//
pItem = new CMoveTo( oReader );
pItem
=
new
CMove
From
RangeStart
(
oReader
);
else
if
(
_T
(
"w:moveTo"
)
==
sName
)
pItem
=
new
CMoveTo
(
oReader
);
else
if
(
_T
(
"w:moveToRangeEnd"
)
==
sName
)
pItem
=
new
CMoveToRangeEnd
(
oReader
);
else
if
(
_T
(
"w:moveToRangeStart"
)
==
sName
)
...
...
Common/DocxFormat/Source/DocxFormat/Logic/Annotations.h
View file @
39e2b69b
...
...
@@ -871,7 +871,7 @@ namespace OOX
if
(
m_sAuthor
.
IsInit
()
)
{
sResult
+=
_T
(
"w:author=
\"
"
);
sResult
+=
m_sAuthor
.
get2
(
);
sResult
+=
XmlUtils
::
EncodeXmlString
(
m_sAuthor
.
get2
()
);
sResult
+=
_T
(
"
\"
"
);
}
...
...
@@ -884,14 +884,14 @@ namespace OOX
if
(
m_sName
.
IsInit
()
)
{
sResult
+=
_T
(
"w:name=
\"
"
);
sResult
+=
m_sName
.
get2
(
);
sResult
+=
XmlUtils
::
EncodeXmlString
(
m_sName
.
get2
()
);
sResult
+=
_T
(
"
\"
"
);
}
if
(
m_sUserId
.
IsInit
()
)
{
sResult
+=
_T
(
"oouserid=
\"
"
);
sResult
+=
m_sUserId
.
get2
(
);
sResult
+=
XmlUtils
::
EncodeXmlString
(
m_sUserId
.
get2
()
);
sResult
+=
_T
(
"
\"
"
);
}
...
...
@@ -917,7 +917,7 @@ namespace OOX
WritingElement_ReadAttributes_Read_else_if
(
oReader
,
_T
(
"w:displacedbyCustomXml"
),
m_oDisplacedByCustomXml
)
WritingElement_ReadAttributes_Read_else_if
(
oReader
,
_T
(
"w:id"
),
m_oId
)
WritingElement_ReadAttributes_Read_else_if
(
oReader
,
_T
(
"w:name"
),
m_sName
)
WritingElement_ReadAttributes_Read_else_if
(
oReader
,
_T
(
"oouseri
s
d"
),
m_sUserId
)
WritingElement_ReadAttributes_Read_else_if
(
oReader
,
_T
(
"oouserid"
),
m_sUserId
)
WritingElement_ReadAttributes_End
(
oReader
)
}
...
...
@@ -1032,7 +1032,7 @@ namespace OOX
if
(
m_sAuthor
.
IsInit
()
)
{
sResult
+=
_T
(
"w:author=
\"
"
);
sResult
+=
m_sAuthor
.
get2
(
);
sResult
+=
XmlUtils
::
EncodeXmlString
(
m_sAuthor
.
get2
()
);
sResult
+=
_T
(
"
\"
"
);
}
...
...
@@ -1045,14 +1045,14 @@ namespace OOX
if
(
m_sName
.
IsInit
()
)
{
sResult
+=
_T
(
"w:name=
\"
"
);
sResult
+=
m_sName
.
get2
(
);
sResult
+=
XmlUtils
::
EncodeXmlString
(
m_sName
.
get2
()
);
sResult
+=
_T
(
"
\"
"
);
}
if
(
m_sUserId
.
IsInit
()
)
{
sResult
+=
_T
(
"oouserid=
\"
"
);
sResult
+=
m_sUserId
.
get2
(
);
sResult
+=
XmlUtils
::
EncodeXmlString
(
m_sUserId
.
get2
()
);
sResult
+=
_T
(
"
\"
"
);
}
...
...
@@ -1094,6 +1094,137 @@ namespace OOX
nullable
<
std
::
wstring
>
m_sUserId
;
};
class
CMoveFrom
:
public
WritingElementWithChilds
<>
{
public:
CMoveFrom
()
{
}
CMoveFrom
(
XmlUtils
::
CXmlNode
&
oNode
)
{
fromXML
(
oNode
);
}
CMoveFrom
(
XmlUtils
::
CXmlLiteReader
&
oReader
)
{
fromXML
(
oReader
);
}
virtual
~
CMoveFrom
()
{
}
public:
void
Clear
()
{
for
(
unsigned
int
nIndex
=
0
;
nIndex
<
m_arrItems
.
size
();
nIndex
++
)
{
if
(
m_arrItems
[
nIndex
]
)
delete
m_arrItems
[
nIndex
];
m_arrItems
[
nIndex
]
=
NULL
;
}
m_arrItems
.
clear
();
}
public:
virtual
void
fromXML
(
XmlUtils
::
CXmlNode
&
oNode
);
virtual
void
fromXML
(
XmlUtils
::
CXmlLiteReader
&
oReader
);
virtual
std
::
wstring
toXML
()
const
;
virtual
EElementType
getType
()
const
{
return
et_w_moveFrom
;
}
private:
void
ReadAttributes
(
XmlUtils
::
CXmlLiteReader
&
oReader
)
{
// Читаем атрибуты
WritingElement_ReadAttributes_Start
(
oReader
)
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:id"
),
m_oId
)
WritingElement_ReadAttributes_Read_else_if
(
oReader
,
_T
(
"oouserid"
),
m_sUserId
)
WritingElement_ReadAttributes_End
(
oReader
)
}
public:
// Attributes
nullable
<
std
::
wstring
>
m_sAuthor
;
nullable
<
SimpleTypes
::
CDateTime
>
m_oDate
;
nullable
<
SimpleTypes
::
CDecimalNumber
<>
>
m_oId
;
nullable
<
std
::
wstring
>
m_sUserId
;
// Childs
};
class
CMoveTo
:
public
WritingElementWithChilds
<>
{
public:
CMoveTo
()
{
}
CMoveTo
(
XmlUtils
::
CXmlNode
&
oNode
)
{
fromXML
(
oNode
);
}
CMoveTo
(
XmlUtils
::
CXmlLiteReader
&
oReader
)
{
fromXML
(
oReader
);
}
virtual
~
CMoveTo
()
{
}
public:
void
Clear
()
{
for
(
unsigned
int
nIndex
=
0
;
nIndex
<
m_arrItems
.
size
();
nIndex
++
)
{
if
(
m_arrItems
[
nIndex
]
)
delete
m_arrItems
[
nIndex
];
m_arrItems
[
nIndex
]
=
NULL
;
}
m_arrItems
.
clear
();
}
public:
virtual
void
fromXML
(
XmlUtils
::
CXmlNode
&
oNode
);
virtual
void
fromXML
(
XmlUtils
::
CXmlLiteReader
&
oReader
);
virtual
std
::
wstring
toXML
()
const
;
virtual
EElementType
getType
()
const
{
return
et_w_moveTo
;
}
private:
void
ReadAttributes
(
XmlUtils
::
CXmlLiteReader
&
oReader
)
{
// Читаем атрибуты
WritingElement_ReadAttributes_Start
(
oReader
)
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:id"
),
m_oId
)
WritingElement_ReadAttributes_Read_else_if
(
oReader
,
_T
(
"oouserid"
),
m_sUserId
)
WritingElement_ReadAttributes_End
(
oReader
)
}
public:
// Attributes
nullable
<
std
::
wstring
>
m_sAuthor
;
nullable
<
SimpleTypes
::
CDateTime
>
m_oDate
;
nullable
<
SimpleTypes
::
CDecimalNumber
<>
>
m_oId
;
nullable
<
std
::
wstring
>
m_sUserId
;
// Childs
};
}
// Logic
// Bookmarks 17.13.6
namespace
Logic
...
...
Common/DocxFormat/Source/DocxFormat/Logic/Bdo.cpp
View file @
39e2b69b
...
...
@@ -112,9 +112,9 @@ namespace OOX
//else if ( _T("w:moveFrom") == sName )
// pItem = new CMoveFrom( oItem );
else
if
(
_T
(
"w:moveFromRangeEnd"
)
==
sName
)
pItem
=
new
CMove
To
RangeEnd
(
oItem
);
pItem
=
new
CMove
From
RangeEnd
(
oItem
);
else
if
(
_T
(
"w:moveFromRangeStart"
)
==
sName
)
pItem
=
new
CMove
To
RangeStart
(
oItem
);
pItem
=
new
CMove
From
RangeStart
(
oItem
);
//else if ( _T("w:moveTo") == sName )
// pItem = new CMoveTo( oItem );
else
if
(
_T
(
"w:moveToRangeEnd"
)
==
sName
)
...
...
@@ -199,14 +199,14 @@ namespace OOX
pItem
=
new
CHyperlink
(
oReader
);
else
if
(
_T
(
"w:ins"
)
==
sName
)
pItem
=
new
CIns
(
oReader
);
//
else if ( _T("w:moveFrom") == sName )
//
pItem = new CMoveFrom( oReader );
else
if
(
_T
(
"w:moveFrom"
)
==
sName
)
pItem
=
new
CMoveFrom
(
oReader
);
else
if
(
_T
(
"w:moveFromRangeEnd"
)
==
sName
)
pItem
=
new
CMove
To
RangeEnd
(
oReader
);
pItem
=
new
CMove
From
RangeEnd
(
oReader
);
else
if
(
_T
(
"w:moveFromRangeStart"
)
==
sName
)
pItem
=
new
CMove
To
RangeStart
(
oReader
);
//
else if ( _T("w:moveTo") == sName )
//
pItem = new CMoveTo( oReader );
pItem
=
new
CMove
From
RangeStart
(
oReader
);
else
if
(
_T
(
"w:moveTo"
)
==
sName
)
pItem
=
new
CMoveTo
(
oReader
);
else
if
(
_T
(
"w:moveToRangeEnd"
)
==
sName
)
pItem
=
new
CMoveToRangeEnd
(
oReader
);
else
if
(
_T
(
"w:moveToRangeStart"
)
==
sName
)
...
...
Common/DocxFormat/Source/DocxFormat/Logic/Dir.cpp
View file @
39e2b69b
...
...
@@ -102,14 +102,14 @@ namespace OOX
pItem
=
new
CHyperlink
(
oReader
);
else
if
(
_T
(
"w:ins"
)
==
sName
)
pItem
=
new
CIns
(
oReader
);
//
else if ( _T("w:moveFrom") == sName )
//
pItem = new CMoveFrom( oReader );
else
if
(
_T
(
"w:moveFrom"
)
==
sName
)
pItem
=
new
CMoveFrom
(
oReader
);
else
if
(
_T
(
"w:moveFromRangeEnd"
)
==
sName
)
pItem
=
new
CMove
To
RangeEnd
(
oReader
);
pItem
=
new
CMove
From
RangeEnd
(
oReader
);
else
if
(
_T
(
"w:moveFromRangeStart"
)
==
sName
)
pItem
=
new
CMove
To
RangeStart
(
oReader
);
//
else if ( _T("w:moveTo") == sName )
//
pItem = new CMoveTo( oReader );
pItem
=
new
CMove
From
RangeStart
(
oReader
);
else
if
(
_T
(
"w:moveTo"
)
==
sName
)
pItem
=
new
CMoveTo
(
oReader
);
else
if
(
_T
(
"w:moveToRangeEnd"
)
==
sName
)
pItem
=
new
CMoveToRangeEnd
(
oReader
);
else
if
(
_T
(
"w:moveToRangeStart"
)
==
sName
)
...
...
Common/DocxFormat/Source/DocxFormat/Logic/FldSimple.cpp
View file @
39e2b69b
...
...
@@ -115,9 +115,9 @@ namespace OOX
//else if ( _T("w:moveFrom") == sName )
// pItem = new CMoveFrom( oItem );
else
if
(
_T
(
"w:moveFromRangeEnd"
)
==
sName
)
pItem
=
new
CMove
To
RangeEnd
(
oItem
);
pItem
=
new
CMove
From
RangeEnd
(
oItem
);
else
if
(
_T
(
"w:moveFromRangeStart"
)
==
sName
)
pItem
=
new
CMove
To
RangeStart
(
oItem
);
pItem
=
new
CMove
From
RangeStart
(
oItem
);
//else if ( _T("w:moveTo") == sName )
// pItem = new CMoveTo( oItem );
else
if
(
_T
(
"w:moveToRangeEnd"
)
==
sName
)
...
...
@@ -204,14 +204,14 @@ namespace OOX
pItem
=
new
CHyperlink
(
oReader
);
else
if
(
_T
(
"w:ins"
)
==
sName
)
pItem
=
new
CIns
(
oReader
);
//
else if ( _T("w:moveFrom") == sName )
//
pItem = new CMoveFrom( oReader );
else
if
(
_T
(
"w:moveFrom"
)
==
sName
)
pItem
=
new
CMoveFrom
(
oReader
);
else
if
(
_T
(
"w:moveFromRangeEnd"
)
==
sName
)
pItem
=
new
CMove
To
RangeEnd
(
oReader
);
pItem
=
new
CMove
From
RangeEnd
(
oReader
);
else
if
(
_T
(
"w:moveFromRangeStart"
)
==
sName
)
pItem
=
new
CMove
To
RangeStart
(
oReader
);
//
else if ( _T("w:moveTo") == sName )
//
pItem = new CMoveTo( oReader );
pItem
=
new
CMove
From
RangeStart
(
oReader
);
else
if
(
_T
(
"w:moveTo"
)
==
sName
)
pItem
=
new
CMoveTo
(
oReader
);
else
if
(
_T
(
"w:moveToRangeEnd"
)
==
sName
)
pItem
=
new
CMoveToRangeEnd
(
oReader
);
else
if
(
_T
(
"w:moveToRangeStart"
)
==
sName
)
...
...
Common/DocxFormat/Source/DocxFormat/Logic/Hyperlink.cpp
View file @
39e2b69b
...
...
@@ -120,9 +120,9 @@ namespace OOX
//else if ( _T("w:moveFrom") == sName )
// pItem = new CMoveFrom( oItem );
else
if
(
_T
(
"w:moveFromRangeEnd"
)
==
sName
)
pItem
=
new
CMove
To
RangeEnd
(
oItem
);
pItem
=
new
CMove
From
RangeEnd
(
oItem
);
else
if
(
_T
(
"w:moveFromRangeStart"
)
==
sName
)
pItem
=
new
CMove
To
RangeStart
(
oItem
);
pItem
=
new
CMove
From
RangeStart
(
oItem
);
//else if ( _T("w:moveTo") == sName )
// pItem = new CMoveTo( oItem );
else
if
(
_T
(
"w:moveToRangeEnd"
)
==
sName
)
...
...
@@ -207,14 +207,14 @@ namespace OOX
pItem
=
new
CHyperlink
(
oReader
);
else
if
(
_T
(
"w:ins"
)
==
sName
)
pItem
=
new
CIns
(
oReader
);
//
else if ( _T("w:moveFrom") == sName )
//
pItem = new CMoveFrom( oReader );
else
if
(
_T
(
"w:moveFrom"
)
==
sName
)
pItem
=
new
CMoveFrom
(
oReader
);
else
if
(
_T
(
"w:moveFromRangeEnd"
)
==
sName
)
pItem
=
new
CMove
To
RangeEnd
(
oReader
);
pItem
=
new
CMove
From
RangeEnd
(
oReader
);
else
if
(
_T
(
"w:moveFromRangeStart"
)
==
sName
)
pItem
=
new
CMove
To
RangeStart
(
oReader
);
//
else if ( _T("w:moveTo") == sName )
//
pItem = new CMoveTo( oReader );
pItem
=
new
CMove
From
RangeStart
(
oReader
);
else
if
(
_T
(
"w:moveTo"
)
==
sName
)
pItem
=
new
CMoveTo
(
oReader
);
else
if
(
_T
(
"w:moveToRangeEnd"
)
==
sName
)
pItem
=
new
CMoveToRangeEnd
(
oReader
);
else
if
(
_T
(
"w:moveToRangeStart"
)
==
sName
)
...
...
Common/DocxFormat/Source/DocxFormat/Logic/Paragraph.cpp
View file @
39e2b69b
...
...
@@ -120,9 +120,9 @@ namespace OOX
//else if ( _T("w:moveFrom") == sName )
// pItem = new CMoveFrom( oItem );
else
if
(
_T
(
"w:moveFromRangeEnd"
)
==
sName
)
pItem
=
new
CMove
To
RangeEnd
(
oItem
);
pItem
=
new
CMove
From
RangeEnd
(
oItem
);
else
if
(
_T
(
"w:moveFromRangeStart"
)
==
sName
)
pItem
=
new
CMove
To
RangeStart
(
oItem
);
pItem
=
new
CMove
From
RangeStart
(
oItem
);
//else if ( _T("w:moveTo") == sName )
// pItem = new CMoveTo( oItem );
else
if
(
_T
(
"w:moveToRangeEnd"
)
==
sName
)
...
...
@@ -213,14 +213,14 @@ namespace OOX
pItem
=
new
CHyperlink
(
oReader
);
else
if
(
_T
(
"w:ins"
)
==
sName
)
pItem
=
new
CIns
(
oReader
);
//
else if ( _T("w:moveFrom") == sName )
//
pItem = new CMoveFrom( oReader );
else
if
(
_T
(
"w:moveFrom"
)
==
sName
)
pItem
=
new
CMoveFrom
(
oReader
);
else
if
(
_T
(
"w:moveFromRangeEnd"
)
==
sName
)
pItem
=
new
CMove
To
RangeEnd
(
oReader
);
pItem
=
new
CMove
From
RangeEnd
(
oReader
);
else
if
(
_T
(
"w:moveFromRangeStart"
)
==
sName
)
pItem
=
new
CMove
To
RangeStart
(
oReader
);
//
else if ( _T("w:moveTo") == sName )
//
pItem = new CMoveTo( oReader );
pItem
=
new
CMove
From
RangeStart
(
oReader
);
else
if
(
_T
(
"w:moveTo"
)
==
sName
)
pItem
=
new
CMoveTo
(
oReader
);
else
if
(
_T
(
"w:moveToRangeEnd"
)
==
sName
)
pItem
=
new
CMoveToRangeEnd
(
oReader
);
else
if
(
_T
(
"w:moveToRangeStart"
)
==
sName
)
...
...
Common/DocxFormat/Source/DocxFormat/Logic/RunProperty.h
View file @
39e2b69b
...
...
@@ -902,6 +902,12 @@ namespace OOX
if
(
oNode
.
GetNode
(
_T
(
"w:webHidden"
),
oChild
)
)
m_oWebHidden
=
oChild
;
if
(
oNode
.
GetNode
(
_T
(
"w:moveFrom"
),
oChild
)
)
m_oMoveFrom
=
oChild
;
if
(
oNode
.
GetNode
(
_T
(
"w:moveTo"
),
oChild
)
)
m_oMoveTo
=
oChild
;
}
virtual
void
fromXML
(
XmlUtils
::
CXmlLiteReader
&
oReader
);
virtual
std
::
wstring
toXML
()
const
...
...
@@ -1062,6 +1068,20 @@ namespace OOX
sResult
+=
_T
(
"/>"
);
}
if
(
m_oMoveFrom
.
IsInit
()
)
{
sResult
+=
_T
(
"<w:moveFrom "
);
sResult
+=
m_oMoveFrom
->
ToString
();
sResult
+=
_T
(
"/>"
);
}
if
(
m_oMoveTo
.
IsInit
()
)
{
sResult
+=
_T
(
"<w:moveTo "
);
sResult
+=
m_oMoveTo
->
ToString
();
sResult
+=
_T
(
"/>"
);
}
if
(
m_oOutline
.
IsInit
()
)
{
sResult
+=
_T
(
"<w:outline "
);
...
...
@@ -1236,6 +1256,8 @@ namespace OOX
oProperties
.
m_oLang
=
Merge
(
oPrev
.
m_oLang
,
oCurrent
.
m_oLang
);
oProperties
.
m_oNoProof
=
Merge
(
oPrev
.
m_oNoProof
,
oCurrent
.
m_oNoProof
);
oProperties
.
m_oMath
=
Merge
(
oPrev
.
m_oMath
,
oCurrent
.
m_oMath
);
oProperties
.
m_oMoveFrom
=
Merge
(
oPrev
.
m_oMoveFrom
,
oCurrent
.
m_oMoveFrom
);
oProperties
.
m_oMoveTo
=
Merge
(
oPrev
.
m_oMoveTo
,
oCurrent
.
m_oMoveTo
);
oProperties
.
m_oOutline
=
Merge
(
oPrev
.
m_oOutline
,
oCurrent
.
m_oOutline
);
oProperties
.
m_oPosition
=
Merge
(
oPrev
.
m_oPosition
,
oCurrent
.
m_oPosition
);
oProperties
.
m_oRFonts
=
Merge
(
oPrev
.
m_oRFonts
,
oCurrent
.
m_oRFonts
);
...
...
@@ -1340,6 +1362,12 @@ namespace OOX
if
(
m_oMath
.
IsInit
()
)
return
false
;
if
(
m_oMoveFrom
.
IsInit
()
)
return
false
;
if
(
m_oMoveTo
.
IsInit
()
)
return
false
;
if
(
m_oOutline
.
IsInit
()
)
return
false
;
...
...
@@ -1427,6 +1455,8 @@ namespace OOX
nullable
<
ComplexTypes
::
Word
::
CLanguage
>
m_oLang
;
nullable
<
ComplexTypes
::
Word
::
COnOff2
<
SimpleTypes
::
onoffTrue
>
>
m_oNoProof
;
nullable
<
ComplexTypes
::
Word
::
COnOff2
<
SimpleTypes
::
onoffTrue
>
>
m_oMath
;
nullable
<
ComplexTypes
::
Word
::
CTrackChange
>
m_oMoveFrom
;
nullable
<
ComplexTypes
::
Word
::
CTrackChange
>
m_oMoveTo
;
nullable
<
ComplexTypes
::
Word
::
COnOff2
<
SimpleTypes
::
onoffTrue
>
>
m_oOutline
;
nullable
<
ComplexTypes
::
Word
::
CSignedHpsMeasure
>
m_oPosition
;
nullable
<
ComplexTypes
::
Word
::
CFonts
>
m_oRFonts
;
...
...
Common/DocxFormat/Source/DocxFormat/Logic/Sdt.cpp
View file @
39e2b69b
...
...
@@ -114,9 +114,9 @@ namespace OOX
//else if ( _T("w:moveFrom") == sName )
// pItem = new CMoveFrom( oItem );
else
if
(
_T
(
"w:moveFromRangeEnd"
)
==
sName
)
pItem
=
new
CMove
To
RangeEnd
(
oItem
);
pItem
=
new
CMove
From
RangeEnd
(
oItem
);
else
if
(
_T
(
"w:moveFromRangeStart"
)
==
sName
)
pItem
=
new
CMove
To
RangeStart
(
oItem
);
pItem
=
new
CMove
From
RangeStart
(
oItem
);
//else if ( _T("w:moveTo") == sName )
// pItem = new CMoveTo( oItem );
else
if
(
_T
(
"w:moveToRangeEnd"
)
==
sName
)
...
...
@@ -208,14 +208,14 @@ namespace OOX
pItem
=
new
CHyperlink
(
oReader
);
else
if
(
_T
(
"w:ins"
)
==
sName
)
pItem
=
new
CIns
(
oReader
);
//
else if ( _T("w:moveFrom") == sName )
//
pItem = new CMoveFrom( oReader );
else
if
(
_T
(
"w:moveFrom"
)
==
sName
)
pItem
=
new
CMoveFrom
(
oReader
);
else
if
(
_T
(
"w:moveFromRangeEnd"
)
==
sName
)
pItem
=
new
CMove
To
RangeEnd
(
oReader
);
pItem
=
new
CMove
From
RangeEnd
(
oReader
);
else
if
(
_T
(
"w:moveFromRangeStart"
)
==
sName
)
pItem
=
new
CMove
To
RangeStart
(
oReader
);
//
else if ( _T("w:moveTo") == sName )
//
pItem = new CMoveTo( oReader );
pItem
=
new
CMove
From
RangeStart
(
oReader
);
else
if
(
_T
(
"w:moveTo"
)
==
sName
)
pItem
=
new
CMoveTo
(
oReader
);
else
if
(
_T
(
"w:moveToRangeEnd"
)
==
sName
)
pItem
=
new
CMoveToRangeEnd
(
oReader
);
else
if
(
_T
(
"w:moveToRangeStart"
)
==
sName
)
...
...
Common/DocxFormat/Source/DocxFormat/Logic/SmartTag.cpp
View file @
39e2b69b
...
...
@@ -116,9 +116,9 @@ namespace OOX
//else if ( _T("w:moveFrom") == sName )
// pItem = new CMoveFrom( oItem );
else
if
(
_T
(
"w:moveFromRangeEnd"
)
==
sName
)
pItem
=
new
CMove
To
RangeEnd
(
oItem
);
pItem
=
new
CMove
From
RangeEnd
(
oItem
);
else
if
(
_T
(
"w:moveFromRangeStart"
)
==
sName
)
pItem
=
new
CMove
To
RangeStart
(
oItem
);
pItem
=
new
CMove
From
RangeStart
(
oItem
);
//else if ( _T("w:moveTo") == sName )
// pItem = new CMoveTo( oItem );
else
if
(
_T
(
"w:moveToRangeEnd"
)
==
sName
)
...
...
@@ -203,14 +203,14 @@ namespace OOX
pItem
=
new
CHyperlink
(
oReader
);
else
if
(
_T
(
"w:ins"
)
==
sName
)
pItem
=
new
CIns
(
oReader
);
//
else if ( _T("w:moveFrom") == sName )
//
pItem = new CMoveFrom( oReader );
else
if
(
_T
(
"w:moveFrom"
)
==
sName
)
pItem
=
new
CMoveFrom
(
oReader
);
else
if
(
_T
(
"w:moveFromRangeEnd"
)
==
sName
)
pItem
=
new
CMove
To
RangeEnd
(
oReader
);
pItem
=
new
CMove
From
RangeEnd
(
oReader
);
else
if
(
_T
(
"w:moveFromRangeStart"
)
==
sName
)
pItem
=
new
CMove
To
RangeStart
(
oReader
);
//
else if ( _T("w:moveTo") == sName )
//
pItem = new CMoveTo( oReader );
pItem
=
new
CMove
From
RangeStart
(
oReader
);
else
if
(
_T
(
"w:moveTo"
)
==
sName
)
pItem
=
new
CMoveTo
(
oReader
);
else
if
(
_T
(
"w:moveToRangeEnd"
)
==
sName
)
pItem
=
new
CMoveToRangeEnd
(
oReader
);
else
if
(
_T
(
"w:moveToRangeStart"
)
==
sName
)
...
...
Common/DocxFormat/Source/DocxFormat/Logic/Table.cpp
View file @
39e2b69b
...
...
@@ -307,9 +307,9 @@ namespace OOX
//else if ( _T("w:moveFrom") == sName )
// pItem = new CMoveFrom( oItem );
else
if
(
_T
(
"w:moveFromRangeEnd"
)
==
sName
)
pItem
=
new
CMove
To
RangeEnd
(
oItem
);
pItem
=
new
CMove
From
RangeEnd
(
oItem
);
else
if
(
_T
(
"w:moveFromRangeStart"
)
==
sName
)
pItem
=
new
CMove
To
RangeStart
(
oItem
);
pItem
=
new
CMove
From
RangeStart
(
oItem
);
//else if ( _T("w:moveTo") == sName )
// pItem = new CMoveTo( oItem );
else
if
(
_T
(
"w:moveToRangeEnd"
)
==
sName
)
...
...
@@ -386,14 +386,14 @@ namespace OOX
pItem
=
new
CDel
(
oReader
);
else
if
(
_T
(
"w:ins"
)
==
sName
)
pItem
=
new
CIns
(
oReader
);
//
else if ( _T("w:moveFrom") == sName )
//
pItem = new CMoveFrom( oReader );
else
if
(
_T
(
"w:moveFrom"
)
==
sName
)
pItem
=
new
CMoveFrom
(
oReader
);
else
if
(
_T
(
"w:moveFromRangeEnd"
)
==
sName
)
pItem
=
new
CMove
To
RangeEnd
(
oReader
);
pItem
=
new
CMove
From
RangeEnd
(
oReader
);
else
if
(
_T
(
"w:moveFromRangeStart"
)
==
sName
)
pItem
=
new
CMove
To
RangeStart
(
oReader
);
//
else if ( _T("w:moveTo") == sName )
//
pItem = new CMoveTo( oReader );
pItem
=
new
CMove
From
RangeStart
(
oReader
);
else
if
(
_T
(
"w:moveTo"
)
==
sName
)
pItem
=
new
CMoveTo
(
oReader
);
else
if
(
_T
(
"w:moveToRangeEnd"
)
==
sName
)
pItem
=
new
CMoveToRangeEnd
(
oReader
);
else
if
(
_T
(
"w:moveToRangeStart"
)
==
sName
)
...
...
@@ -511,9 +511,9 @@ namespace OOX
//else if ( _T("w:moveFrom") == sName )
// pItem = new CMoveFrom( oItem );
else
if
(
_T
(
"w:moveFromRangeEnd"
)
==
sName
)
pItem
=
new
CMove
To
RangeEnd
(
oItem
);
pItem
=
new
CMove
From
RangeEnd
(
oItem
);
else
if
(
_T
(
"w:moveFromRangeStart"
)
==
sName
)
pItem
=
new
CMove
To
RangeStart
(
oItem
);
pItem
=
new
CMove
From
RangeStart
(
oItem
);
//else if ( _T("w:moveTo") == sName )
// pItem = new CMoveTo( oItem );
else
if
(
_T
(
"w:moveToRangeEnd"
)
==
sName
)
...
...
@@ -611,14 +611,14 @@ namespace OOX
pItem
=
new
CDel
(
oReader
);
else
if
(
_T
(
"w:ins"
)
==
sName
)
pItem
=
new
CIns
(
oReader
);
//
else if ( _T("w:moveFrom") == sName )
//
pItem = new CMoveFrom( oReader );
else
if
(
_T
(
"w:moveFrom"
)
==
sName
)
pItem
=
new
CMoveFrom
(
oReader
);
else
if
(
_T
(
"w:moveFromRangeEnd"
)
==
sName
)
pItem
=
new
CMove
To
RangeEnd
(
oReader
);
pItem
=
new
CMove
From
RangeEnd
(
oReader
);
else
if
(
_T
(
"w:moveFromRangeStart"
)
==
sName
)
pItem
=
new
CMove
To
RangeStart
(
oReader
);
//
else if ( _T("w:moveTo") == sName )
//
pItem = new CMoveTo( oReader );
pItem
=
new
CMove
From
RangeStart
(
oReader
);
else
if
(
_T
(
"w:moveTo"
)
==
sName
)
pItem
=
new
CMoveTo
(
oReader
);
else
if
(
_T
(
"w:moveToRangeEnd"
)
==
sName
)
pItem
=
new
CMoveToRangeEnd
(
oReader
);
else
if
(
_T
(
"w:moveToRangeStart"
)
==
sName
)
...
...
@@ -762,9 +762,9 @@ namespace OOX
//else if ( _T("w:moveFrom") == sName )
// pItem = new CMoveFrom( oItem );
else
if
(
_T
(
"w:moveFromRangeEnd"
)
==
sName
)
pItem
=
new
CMove
To
RangeEnd
(
oItem
);
pItem
=
new
CMove
From
RangeEnd
(
oItem
);
else
if
(
_T
(
"w:moveFromRangeStart"
)
==
sName
)
pItem
=
new
CMove
To
RangeStart
(
oItem
);
pItem
=
new
CMove
From
RangeStart
(
oItem
);
//else if ( _T("w:moveTo") == sName )
// pItem = new CMoveTo( oItem );
else
if
(
_T
(
"w:moveToRangeEnd"
)
==
sName
)
...
...
@@ -845,14 +845,14 @@ namespace OOX
pItem
=
new
CDel
(
oReader
);
else
if
(
_T
(
"w:ins"
)
==
sName
)
pItem
=
new
CIns
(
oReader
);
//
else if ( _T("w:moveFrom") == sName )
//
pItem = new CMoveFrom( oReader );
else
if
(
_T
(
"w:moveFrom"
)
==
sName
)
pItem
=
new
CMoveFrom
(
oReader
);
else
if
(
_T
(
"w:moveFromRangeEnd"
)
==
sName
)
pItem
=
new
CMove
To
RangeEnd
(
oReader
);
pItem
=
new
CMove
From
RangeEnd
(
oReader
);
else
if
(
_T
(
"w:moveFromRangeStart"
)
==
sName
)
pItem
=
new
CMove
To
RangeStart
(
oReader
);
//
else if ( _T("w:moveTo") == sName )
//
pItem = new CMoveTo( oReader );
pItem
=
new
CMove
From
RangeStart
(
oReader
);
else
if
(
_T
(
"w:moveTo"
)
==
sName
)
pItem
=
new
CMoveTo
(
oReader
);
else
if
(
_T
(
"w:moveToRangeEnd"
)
==
sName
)
pItem
=
new
CMoveToRangeEnd
(
oReader
);
else
if
(
_T
(
"w:moveToRangeStart"
)
==
sName
)
...
...
Common/DocxFormat/Source/DocxFormat/Logic/Vml.cpp
View file @
39e2b69b
...
...
@@ -107,14 +107,14 @@ namespace OOX
pItem
=
new
CDel
(
oReader
);
else
if
(
_T
(
"w:ins"
)
==
sName
)
pItem
=
new
CIns
(
oReader
);
//
else if ( _T("w:moveFrom") == sName )
//
pItem = new CMoveFrom( oReader );
else
if
(
_T
(
"w:moveFrom"
)
==
sName
)
pItem
=
new
CMoveFrom
(
oReader
);
else
if
(
_T
(
"w:moveFromRangeEnd"
)
==
sName
)
pItem
=
new
CMove
To
RangeEnd
(
oReader
);
pItem
=
new
CMove
From
RangeEnd
(
oReader
);
else
if
(
_T
(
"w:moveFromRangeStart"
)
==
sName
)
pItem
=
new
CMove
To
RangeStart
(
oReader
);
//
else if ( _T("w:moveTo") == sName )
//
pItem = new CMoveTo( oReader );
pItem
=
new
CMove
From
RangeStart
(
oReader
);
else
if
(
_T
(
"w:moveTo"
)
==
sName
)
pItem
=
new
CMoveTo
(
oReader
);
else
if
(
_T
(
"w:moveToRangeEnd"
)
==
sName
)
pItem
=
new
CMoveToRangeEnd
(
oReader
);
else
if
(
_T
(
"w:moveToRangeStart"
)
==
sName
)
...
...
Common/DocxFormat/Source/DocxFormat/Math/oMath.cpp
View file @
39e2b69b
...
...
@@ -128,14 +128,14 @@ namespace OOX
pItem
=
new
OOX
::
Logic
::
CLimUpp
(
oReader
);
else
if
(
_T
(
"m:m"
)
==
sName
)
pItem
=
new
OOX
::
Logic
::
CMatrix
(
oReader
);
//
else if ( _T("w:moveFrom") == sName )
//
pItem = new OOX::Logic::CMoveFrom( oReader );
else
if
(
_T
(
"w:moveFrom"
)
==
sName
)
pItem
=
new
OOX
::
Logic
::
CMoveFrom
(
oReader
);
else
if
(
_T
(
"w:moveFromRangeEnd"
)
==
sName
)
pItem
=
new
OOX
::
Logic
::
CMoveFromRangeEnd
(
oReader
);
else
if
(
_T
(
"w:moveFromRangeStart"
)
==
sName
)
pItem
=
new
OOX
::
Logic
::
CMoveFromRangeStart
(
oReader
);
//
else if ( _T("w:moveTo") == sName )
//
pItem = new CMoveTo( oReader );
else
if
(
_T
(
"w:moveTo"
)
==
sName
)
pItem
=
new
CMoveTo
(
oReader
);
else
if
(
_T
(
"w:moveToRangeEnd"
)
==
sName
)
pItem
=
new
OOX
::
Logic
::
CMoveToRangeEnd
(
oReader
);
else
if
(
_T
(
"w:moveToRangeStart"
)
==
sName
)
...
...
Common/DocxFormat/Source/DocxFormat/WritingElement.h
View file @
39e2b69b
...
...
@@ -695,6 +695,8 @@ namespace OOX
et_w_lvlOverride
,
// <w:lvlOverride>
et_w_monthLong
,
// <w:monthLong>
et_w_monthShort
,
// <w:monthShort>
et_w_moveFrom
,
// <w:moveFrom>
et_w_moveTo
,
// <w:moveTo>
et_w_moveFromRangeEnd
,
// <w:moveFromRangeEnd>
et_w_moveFromRangeStart
,
// <w:moveFromRangeStart>
et_w_moveToRangeEnd
,
// <w:moveToRangeEnd>
...
...
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