#include "GuiDocumentEditor.h"
namespace
{
namespace
{
using
namespace
collections
;
namespace
document_operation_visitors
{
class
:
public
,
public
::
{
public
:
&
;
;
;
<
<
>>
;
(
&
,
,
)
:runRanges(
)
, start(
)
, end(
)
{
}
void
(
*
)
{
if
(
==
)
return
;
for
(
=
->
.
() -
1
;
i
>=
0
;
i
--)
{
<
>
=
->
i
];
=
subRun
.
()];
=
range
.
>
?
range
.
:
;
=
range
.
<
?
range
.
:
;
if
(
maxStart
<
minEnd
)
{
subRun
(
this
);
if
(
.
() ==
0
||
subRun
!=
0
])
{
->
.
(
i
);
for
(
=
0
;
j
<
.
();
j
++)
{
->
.
(
i
+
j
,
j
]);
}
}
}
}
.
();
.
(
);
}
void
(
*
)
override
{
.
();
=
];
if
(
<=
range
.
)
{
if
(
<
range
.
)
{
->
text
->
text
.
(
-
range
.
,
range
.
-
);
.
(
);
}
}
else
{
if
(
<
range
.
)
{
*
=
new
;
*
=
new
;
firstRun
->
text
->
text
.
(
0
,
-
range
.
);
secondRun
->
text
->
text
.
(
-
range
.
,
range
.
-
);
.
(
firstRun
);
.
(
secondRun
);
}
else
{
->
text
->
text
.
(
0
,
-
range
.
);
.
(
);
}
}
}
void
(
DocumentStylePropertiesRun
*
)
override
{
(
);
}
void
(
DocumentStyleApplicationRun
*
)
override
{
(
);
}
void
(
*
)
override
{
(
);
}
void
(
*
)
override
{
.
();
}
void
(
DocumentEmbeddedObjectRun
*
)
override
{
.
();
}
void
(
*
)
override
{
(
);
}
};
}
using
namespace
document_operation_visitors
;
namespace
{
void
(
*
,
&
,
,
)
{
(
,
,
);
->
(&
visitor
);
}
}
}
}