#include "GuiDocumentEditor.h"
namespace
{
namespace
{
using
namespace
collections
;
using
namespace
document_editor
;
namespace
document_operation_visitors
{
class
:
public
,
public
::
{
public
:
&
;
;
<
>
;
<
>
;
(
&
,
)
:runRanges(
)
, position(
)
{
}
void
(
*
)
{
=
0
;
<
>
;
FOREACH(Ptr<DocumentRun>, subRun, run->runs)
if
(
bool
=
true
)
for
(
const
::
vl
::
collections
::
<
<
>>&
= ::
vl
::
collections
::
(
->
);
__scope_variable_flag__
;
__scope_variable_flag__
=
false
)
for
(
<
>
;
__foreach_iterator__
.
(
subRun
);)
{
=
subRun
.
()];
if
(
range
.
<
)
{
leftCount
++;
if
(
<
range
.
)
{
selectedRun
subRun
;
}
}
else
{
break
;
}
}
if
(
selectedRun
)
{
selectedRun
(
this
);
if
(
&&
)
{
->
.
(
leftCount
-
1
);
->
.
(
leftCount
-
1
,
);
->
.
(
leftCount
,
);
}
}
<
>
=
(
).
<
>();
<
>
=
(
).
<
>();
for
(
=
0
;
i
<
->
.
();
i
++)
{
(
i
<
leftCount
?
leftContainer
:
rightContainer
)
.
(
->
i
]);
}
leftContainer
;
rightContainer
;
}
void
(
*
)
override
{
=
];
<
>
=
new
;
leftText
text
->
text
.
(
0
,
-
range
.
);
<
>
=
new
;
rightText
text
->
text
.
(
-
range
.
,
range
.
-
);
leftText
;
rightText
;
}
void
(
DocumentStylePropertiesRun
*
)
override
{
(
);
}
void
(
DocumentStyleApplicationRun
*
)
override
{
(
);
}
void
(
*
)
override
{
(
);
}
void
(
*
)
override
{
0
;
0
;
}
void
(
DocumentEmbeddedObjectRun
*
)
override
{
0
;
0
;
}
void
(
*
)
override
{
(
);
}
};
}
using
namespace
document_operation_visitors
;
namespace
{
void
(
*
,
&
,
,
<
>&
,
<
>&
)
{
(
,
);
->
(&
visitor
);
visitor
.
;
visitor
.
;
}
}
}
}