#include "GuiDocumentEditor.h"
namespace
{
namespace
{
using
namespace
collections
;
using
namespace
document_editor
;
namespace
document_operation_visitors
{
class
:
public
,
public
::
{
public
:
&
;
;
;
bool
;
virtual
<
>
() =
0
;
(
&
,
,
)
:runRanges(
)
, start(
)
, end(
)
, insertStyle(
false
)
{
}
void
(
*
)
{
for
(
=
->
.
() -
1
;
i
>=
0
;
i
--)
{
<
>
=
->
i
];
=
subRun
.
()];
if
(
range
.
<
&&
<
range
.
)
{
=
false
;
subRun
(
this
);
if
(
)
{
<
>
=
();
->
.
(
i
);
containerRun
.
(
subRun
);
->
.
(
i
,
containerRun
);
}
}
}
=
false
;
}
void
(
*
)
override
{
=
true
;
}
void
(
DocumentStylePropertiesRun
*
)
override
{
(
);
}
void
(
DocumentStyleApplicationRun
*
)
override
{
(
);
}
void
(
*
)
override
{
(
);
}
void
(
*
)
override
{
=
false
;
}
void
(
DocumentEmbeddedObjectRun
*
)
override
{
=
false
;
}
void
(
*
)
override
{
(
);
}
};
class
:
public
{
public
:
<
>
;
<
>
()
override
{
<
DocumentStylePropertiesRun
>
=
new
DocumentStylePropertiesRun
;
containerRun
(
);
return
containerRun
;
}
(
&
,
,
,
<
>
)
:
(
,
,
)
, style(
)
{
}
};
class
:
public
{
public
:
;
;
;
<
>
()
override
{
<
>
=
new
;
containerRun
;
containerRun
;
containerRun
;
containerRun
;
return
containerRun
;
}
(
&
,
,
,
const
&
,
const
&
,
const
&
)
:
(
,
,
)
, reference(
)
, normalStyleName(
)
, activeStyleName(
)
{
}
};
class
:
public
{
public
:
;
<
>
()
override
{
<
DocumentStyleApplicationRun
>
=
new
DocumentStyleApplicationRun
;
containerRun
;
return
containerRun
;
}
(
&
,
,
,
const
&
)
:
(
,
,
)
, styleName(
)
{
}
};
}
using
namespace
document_operation_visitors
;
namespace
{
void
(
*
,
&
,
,
,
<
>
)
{
(
,
,
,
);
->
(&
visitor
);
}
void
(
*
,
&
,
,
,
const
&
,
const
&
,
const
&
)
{
(
,
,
,
,
,
);
->
(&
visitor
);
}
void
(
*
,
&
,
,
,
const
&
)
{
(
,
,
,
);
->
(&
visitor
);
}
}
}
}