class SvXMLExport; namespace com::sun::star { namespace beans { class XPropertySet; } namespace beans { struct PropertyValue; } namespace text { class XText; } namespace text { class XTextContent; } namespace text { class XTextSection; }
}
// store a list of redline properties typedef ::std::vector<
css::uno::Reference<css::beans::XPropertySet> > ChangesVectorType;
// store a list of redline properties for each XText typedef ::std::map<
css::uno::Reference< css::text::XText>,
ChangesVectorType > ChangesMapType;
// To support change tracking in headers and footers we need to // write these changes separately. To do this, we record the // changes for headers and footers. For the main document body, we // get the complete list of changes from the document, which // should be much more efficient than recording all of those.
ChangesMapType aChangeMap; /// map of recorded changes
/// list of current changes; is NULL or points to member of aChangeMap
ChangesVectorType* pCurrentChangesList;
/// export a change void ExportChange( /// PropertySet of RedlinePortion const css::uno::Reference<css::beans::XPropertySet> & rPropSet, bool bAutoStyle);
/// export the list of changes (complete list minus recorded changed) void ExportChangesList(bool bAutoStyles);
/// export the list of changes (recorded changes for this XText only) void ExportChangesList( const css::uno::Reference<css::text::XText> & rText, bool bAutoStyles);
/// set the current XText for which changes should be recorded. /// An empty XText means: don't record changes void SetCurrentXText( const css::uno::Reference<css::text::XText> & rText);
/// Do not record changes. /// Same as SetCurrentXText(Reference<XText>) with empty argument. void SetCurrentXText();
/// export redline marks which start or end at start nodes, /// i.e. that include the complete paragraph/table/section void ExportStartOrEndRedline( const css::uno::Reference<
css::beans::XPropertySet> & rPropSet, bool bStart); /// start or end of text entity (e.g. paragraph)?
/// convenience method, calls XPropertySet-version of this method void ExportStartOrEndRedline( /// XTextContent; must also be an XPropertySet const css::uno::Reference<css::text::XTextContent> & rContent, bool bStart);
/// convenience method, calls XPropertySet-version of this method void ExportStartOrEndRedline( /// XTextSection; must also be an XPropertySet const css::uno::Reference<css::text::XTextSection> & rSection, bool bStart);
private:
/// export the change mark contained in the text body void ExportChangeInline( /// PropertySet of RedlinePortion const css::uno::Reference<css::beans::XPropertySet> & rPropSet);
/// export the auto styles used in this change void ExportChangeAutoStyle( /// PropertySet of RedlinePortion const css::uno::Reference<css::beans::XPropertySet> & rPropSet);
/// export the changes list (<text:tracked-changes>) void ExportChangesListElements();
/// export the auto styles needed by the changes list void ExportChangesListAutoStyles();
/// export the changed-region element void ExportChangedRegion( const css::uno::Reference<css::beans::XPropertySet> & rPropSet);
/// export a change-info element (from a PropertySet) void ExportChangeInfo( const css::uno::Reference<css::beans::XPropertySet> & rPropSet);
/// export a change-info element (from PropertyValues) void ExportChangeInfo( const css::uno::Sequence<css::beans::PropertyValue> & rValues);
/// convert the change type from API to XML names
OUString const & ConvertTypeName(std::u16string_view sApiName);
/// Get ID string! static OUString GetRedlineID( const css::uno::Reference<css::beans::XPropertySet> & rPropSet);
/// write a comment string as sequence of <text:p> elements void WriteComment(std::u16string_view rComment);
};
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.