19 #ifndef INCLUDED_XMLOFF_TXTIMP_HXX
20 #define INCLUDED_XMLOFF_TXTIMP_HXX
25 #include <rtl/ustring.hxx>
26 #include <com/sun/star/uno/Reference.h>
27 #include <com/sun/star/uno/Sequence.hxx>
47 struct ParsedRDFaAttributes;
58 namespace frame {
class XModel; }
59 namespace container {
class XNameContainer;
class XIndexReplace; }
61 namespace xml::sax {
class XAttributeList; }
62 namespace xml::sax {
class XFastAttributeList; }
66 namespace rtl {
template <
class reference_type>
class Reference; }
91 #define XML_TEXT_RENAME_TYPE_FRAME 10
92 #define XML_TEXT_RENAME_TYPE_TABLE 20
105 static std::shared_ptr<BackpatcherImpl> MakeBackpatcherImpl();
111 const css::uno::Reference< css::xml::sax::XFastAttributeList > & xAttrList );
122 css::uno::Reference< css::frame::XModel >
const& rModel,
124 bool const bInsertMode =
false,
bool const bStylesOnlyMode =
false,
125 bool const bProgress =
false,
bool const bBlockMode =
false,
126 bool const bOrganizerMode =
false);
133 const css::uno::Reference< css::text::XTextCursor >& rCursor );
141 const css::uno::Reference< css::xml::sax::XFastAttributeList > & xAttrList,
144 css::uno::Reference< css::text::XText > & GetText();
145 css::uno::Reference< css::text::XTextCursor > & GetCursor();
146 css::uno::Reference< css::text::XTextRange > & GetCursorAsRange();
148 bool IsInsertMode()
const;
149 bool IsStylesOnlyMode()
const;
150 bool IsBlockMode()
const;
151 bool IsOrganizerMode()
const;
152 bool IsProgress()
const;
154 OUString ConvertStarFonts(
const OUString& rChars,
155 const OUString& rStyleName,
160 void InsertString(
const OUString& rChars );
162 void InsertString(
const OUString& rChars,
163 bool& rIgnoreLeadingSpace );
165 void DeleteParagraph();
167 void InsertControlCharacter( sal_Int16 nControl );
168 void InsertTextContent( css::uno::Reference< css::text::XTextContent >
const & xContent);
172 OUString SetStyleAndAttrs(
174 const css::uno::Reference< css::text::XTextCursor >& rCursor,
175 const OUString& rStyleName,
177 bool bOutlineLevelAttrFound =
false,
179 bool bSetListAttrs =
true,
180 bool bOutlineContentVisible =
true);
187 void FindOutlineStyleName( OUString& rStyleName,
191 void AddOutlineStyleCandidate(
const sal_Int8 nOutlineLevel,
192 const OUString& rStyleName );
194 void SetOutlineStyles(
bool bSetEmpty );
198 const css::uno::Reference< css::text::XTextCursor >& rCursor,
199 const OUString& rHRef,
200 const OUString& rName,
201 const OUString& rTargetFrameName,
202 const OUString& rStyleName,
203 const OUString& rVisitedStyleName,
207 const css::uno::Reference< css::text::XTextCursor >& rCursor,
208 const OUString& rStyleName,
209 const OUString& rTextStyleName,
210 const OUString& rText );
215 sal_Int32 GetDataStyleKey(
const OUString& sStyleName,
216 bool* pIsSystemLanguage =
nullptr );
219 const OUString& rName )
const;
221 const OUString& rName )
const;
223 const OUString& rName )
const;
225 const OUString& rName )
const;
228 const css::uno::Reference< css::container::XNameContainer> &
GetParaStyles()
const;
230 const css::uno::Reference< css::container::XNameContainer> & GetTextStyles()
const;
232 const css::uno::Reference< css::container::XNameContainer> &
233 GetNumberingStyles()
const;
235 const css::uno::Reference< css::container::XNameContainer> & GetFrameStyles()
const;
237 const css::uno::Reference< css::container::XNameContainer> & GetPageStyles()
const;
239 const css::uno::Reference< css::container::XNameContainer> & GetCellStyles()
const;
241 const css::uno::Reference< css::container::XIndexReplace > &
242 GetChapterNumbering()
const;
244 bool HasFrameByName(
const OUString& rName )
const;
246 bool IsDuplicateFrame(
const OUString& sName, sal_Int32 nX, sal_Int32 nY, sal_Int32 nWidth, sal_Int32 nHeight)
const;
247 void StoreLastImportedFrameName(
const OUString& rName);
248 void ClearLastImportedTextFrameName();
250 void ConnectFrameChains(
const OUString& rFrmName,
251 const OUString& rNextFrmName,
252 const css::uno::Reference< css::beans::XPropertySet >& rFrmPropSet );
255 GetParaImportPropertySetMapper()
const;
257 GetTextImportPropertySetMapper()
const;
259 GetSectionImportPropertySetMapper()
const;
261 GetRubyImportPropertySetMapper()
const;
274 void InsertBookmarkStartRange(
275 const OUString & sName,
276 const css::uno::Reference< css::text::XTextRange> & rRange,
277 OUString
const& i_rXmlId,
278 std::shared_ptr< ::xmloff::ParsedRDFaAttributes > &
282 bool FindAndRemoveBookmarkStartRange(
283 const OUString & sName,
284 css::uno::Reference< css::text::XTextRange> & o_rRange,
286 std::shared_ptr< ::xmloff::ParsedRDFaAttributes > & o_rpRDFaAttributes);
288 void pushFieldCtx(
const OUString& name,
const OUString& type );
289 css::uno::Reference<css::text::XFormField> popFieldCtx();
290 void addFieldParam(
const OUString& name,
const OUString& value );
291 void setCurrentFieldParamsTo(css::uno::Reference< css::text::XFormField>
const &xFormField);
292 OUString getCurrentFieldType();
293 bool hasCurrentFieldCtx()
const;
299 void InsertFootnoteID(
const OUString& sXMLId, sal_Int16 nAPIId);
304 void ProcessFootnoteReference(
305 const OUString& sXMLId,
306 const css::uno::Reference< css::beans::XPropertySet> & xPropSet);
311 void InsertSequenceID(
const OUString& sXMLId,
312 const OUString& sName,
317 void ProcessSequenceReference(
318 const OUString& sXMLId,
319 const css::uno::Reference< css::beans::XPropertySet> & xPropSet);
321 bool IsInFrame()
const;
322 virtual bool IsInHeaderFooter()
const;
324 virtual css::uno::Reference< css::beans::XPropertySet>
326 const OUString& rHRef,
327 const OUString &rStyleName,
328 const OUString &rTblName,
329 sal_Int32 nWidth, sal_Int32 nHeight );
331 virtual css::uno::Reference< css::beans::XPropertySet>
333 const OUString& rHRef,
334 const OUString &rStyleName,
335 const OUString &rTblName,
336 sal_Int32 nWidth, sal_Int32 nHeight );
338 virtual css::uno::Reference< css::beans::XPropertySet>
339 createAndInsertApplet(
340 const OUString &rName,
341 const OUString &rCode,
343 const OUString& rHRef,
344 sal_Int32 nWidth, sal_Int32 nHeight );
346 virtual css::uno::Reference< css::beans::XPropertySet>
347 createAndInsertPlugin(
348 const OUString &rMimeType,
349 const OUString& rHRef,
350 sal_Int32 nWidth, sal_Int32 nHeight );
352 virtual css::uno::Reference< css::beans::XPropertySet>
353 createAndInsertFloatingFrame(
354 const OUString &rName,
355 const OUString &rHRef,
356 const OUString &rStyleName,
357 sal_Int32 nWidth, sal_Int32 nHeight );
359 virtual void endAppletOrPlugin(
360 const css::uno::Reference< css::beans::XPropertySet> &rPropSet,
361 ::std::map < const OUString, OUString > &rParamMap );
369 virtual void RedlineAdd(
371 const OUString& rType,
375 const OUString& rAuthor,
377 const OUString& rComment,
379 const css::util::DateTime& rDateTime,
381 bool bMergeLastParagraph);
383 virtual css::uno::Reference< css::text::XTextCursor> RedlineCreateText(
385 css::uno::Reference< css::text::XTextCursor > & rOldCursor,
387 const OUString& rId);
389 virtual void RedlineSetCursor(
395 bool bIsOutsideOfParagraph);
397 virtual void RedlineAdjustStartNodeCursor();
398 virtual void SetShowChanges(
bool bShowChanges );
399 virtual void SetRecordChanges(
bool bRecordChanges );
400 virtual void SetChangesProtectionKey(
401 const css::uno::Sequence<sal_Int8> & rProtectionKey );
404 OUString
const & GetOpenRedlineId()
const;
406 void SetOpenRedlineId( OUString
const & rId);
408 void ResetOpenRedlineId();
412 void SetInsideDeleteContext(
bool const bNew);
415 bool IsInsideDeleteContext()
const;
423 void PushListContext();
425 void PopListContext();
427 void SetCellParaStyleDefault(OUString
const& rNewValue);
428 OUString
const& GetCellParaStyleDefault()
const;
430 void AddCrossRefHeadingMapping(OUString
const& rFrom, OUString
const& rTo);
431 void MapCrossRefHeadingFieldsHorribly();
433 void setBookmarkAttributes(OUString
const& bookmark,
bool hidden, OUString
const& condition);
434 bool getBookmarkHidden(OUString
const& bookmark)
const;
435 const OUString& getBookmarkCondition(OUString
const& bookmark)
const;
exports com.sun.star.lib. util
This class maintains an OUString->sal_Int16 mapping for cases in which an XPropertySet needs to be fi...
std::unique_ptr< Impl > m_xImpl
VarType
variable type (for XMLSetVarFieldImportContext)
exports com.sun.star. container
exports com.sun.star. frame
std::shared_ptr< BackpatcherImpl > m_xBackpatcherImpl
exports com.sun.star. text
class SAL_NO_VTABLE XPropertySet
void operator=(SimpleReferenceObject) SAL_DELETED_FUNCTION
rtl::Reference< XMLImportContext > CreateTextChildContext(XMLImport &rImport, std::u16string_view rName, bool bTopLevel=false)
This class deliberately does not support XWeak, to improve performance when loading large documents...
exports com.sun.star. beans
ww8::ParaStyles GetParaStyles(const SwDoc &rDoc)