20 #include <com/sun/star/embed/XStorage.hpp>
21 #include <com/sun/star/embed/ElementModes.hpp>
23 #include <com/sun/star/xml/sax/InputSource.hpp>
24 #include <com/sun/star/xml/sax/Parser.hpp>
25 #include <com/sun/star/xml/sax/SAXParseException.hpp>
26 #include <com/sun/star/text/XTextRange.hpp>
27 #include <com/sun/star/container/XChild.hpp>
28 #include <com/sun/star/document/NamedPropertyValues.hpp>
29 #include <com/sun/star/beans/XPropertySetInfo.hpp>
30 #include <com/sun/star/beans/NamedValue.hpp>
31 #include <com/sun/star/beans/PropertyAttribute.hpp>
32 #include <com/sun/star/packages/zip/ZipIOException.hpp>
33 #include <com/sun/star/packages/WrongPasswordException.hpp>
34 #include <com/sun/star/ucb/InteractiveAugmentedIOException.hpp>
35 #include <com/sun/star/task/XStatusIndicator.hpp>
36 #include <com/sun/star/frame/XModel.hpp>
43 #include <svx/strings.hrc>
54 #include <drawdoc.hxx>
56 #include <docfunc.hxx>
78 #include <sfx2/sfxsids.hrc>
134 uno::Reference<io::XInputStream>
const & xInputStream,
135 uno::Reference<XComponent>
const & xModelComponent,
136 const OUString& rStreamName,
137 uno::Reference<uno::XComponentContext>
const & rxContext,
138 const char* pFilterName,
139 const Sequence<Any>& rFilterArguments,
140 const OUString& rName,
141 bool bMustBeSuccessful,
144 OSL_ENSURE(xInputStream.is(),
"input stream missing");
145 OSL_ENSURE(xModelComponent.is(),
"document missing");
146 OSL_ENSURE(rxContext.is(),
"factory missing");
147 OSL_ENSURE(
nullptr != pFilterName,
"I need a service name for the component!");
150 xml::sax::InputSource aParserInput;
151 aParserInput.sSystemId = rName;
152 aParserInput.aInputStream = xInputStream;
155 const OUString aFilterName(OUString::createFromAscii(pFilterName));
156 uno::Reference< XInterface > xFilter =
157 rxContext->getServiceManager()->createInstanceWithArgumentsAndContext(aFilterName, rFilterArguments, rxContext);
158 SAL_WARN_IF(!xFilter.is(),
"sw.filter",
"Can't instantiate filter component: " << aFilterName);
162 uno::Reference< xml::sax::XFastParser > xFastParser(xFilter, UNO_QUERY);
163 uno::Reference< xml::sax::XDocumentHandler > xDocumentHandler;
165 xDocumentHandler.set(xFilter, UNO_QUERY);
166 if (!xDocumentHandler && !xFastParser)
168 SAL_WARN(
"sd",
"service does not implement XFastParser or XDocumentHandler");
174 uno::Reference < XImporter > xImporter( xFilter, UNO_QUERY );
175 xImporter->setTargetDocument( xModelComponent );
181 xFastParser->parseStream( aParserInput );
184 uno::Reference< xml::sax::XParser > xParser = xml::sax::Parser::create(rxContext);
186 xParser->setDocumentHandler( xDocumentHandler );
187 xParser->parseStream( aParserInput );
190 catch( xml::sax::SAXParseException& r)
195 xml::sax::SAXException aSaxEx = *
static_cast<xml::sax::SAXException*
>(&r);
196 bool bTryChild =
true;
200 xml::sax::SAXException aTmp;
201 if ( aSaxEx.WrappedException >>= aTmp )
207 packages::zip::ZipIOException aBrokenPackage;
208 if ( aSaxEx.WrappedException >>= aBrokenPackage )
216 const OUString sErr( OUString::number( r.LineNumber )
218 + OUString::number( r.ColumnNumber ) );
220 if( !rStreamName.isEmpty() )
226 DialogMask::ButtonsOk | DialogMask::MessageError );
230 OSL_ENSURE( bMustBeSuccessful,
"Warnings are not supported" );
232 DialogMask::ButtonsOk | DialogMask::MessageError );
235 catch(
const xml::sax::SAXException& r)
238 packages::zip::ZipIOException aBrokenPackage;
239 if ( r.WrappedException >>= aBrokenPackage )
248 catch(
const packages::zip::ZipIOException&)
253 catch(
const io::IOException&)
258 catch(
const uno::Exception&)
270 uno::Reference<embed::XStorage>
const & xStorage,
271 uno::Reference<XComponent>
const & xModelComponent,
272 const char* pStreamName,
273 uno::Reference<uno::XComponentContext>
const & rxContext,
274 const char* pFilterName,
275 const Sequence<Any>& rFilterArguments,
276 const OUString& rName,
277 bool bMustBeSuccessful)
279 OSL_ENSURE(xStorage.is(),
"Need storage!");
280 OSL_ENSURE(
nullptr != pStreamName,
"Please, please, give me a name!");
283 OUString sStreamName = OUString::createFromAscii(pStreamName);
284 bool bContainsStream =
false;
287 bContainsStream = xStorage->isStreamElement(sStreamName);
289 catch( container::NoSuchElementException& )
293 if (!bContainsStream )
300 uno::Reference< beans::XPropertySet > xInfoSet;
301 if( rFilterArguments.hasElements() )
302 rFilterArguments.getConstArray()[0] >>= xInfoSet;
303 OSL_ENSURE( xInfoSet.is(),
"missing property set" );
306 xInfoSet->setPropertyValue(
"StreamName",
Any( sStreamName ) );
312 uno::Reference <io::XStream>
xStream = xStorage->openStreamElement( sStreamName, embed::ElementModes::READ );
313 uno::Reference <beans::XPropertySet > xProps( xStream, uno::UNO_QUERY );
315 Any aAny = xProps->getPropertyValue(
"Encrypted");
318 bool bEncrypted = b && *b;
320 uno::Reference <io::XInputStream> xInputStream = xStream->getInputStream();
323 return ReadThroughComponent(
324 xInputStream, xModelComponent, sStreamName, rxContext,
325 pFilterName, rFilterArguments,
326 rName, bMustBeSuccessful, bEncrypted );
328 catch ( packages::WrongPasswordException& )
332 catch( packages::zip::ZipIOException& )
336 catch ( uno::Exception& )
338 OSL_FAIL(
"Error on import" );
352 OUString aDefOutlStyleNames[
MAXLEVEL ];
360 aDefOutlStyleNames[
i] = sStyleName;
365 bool aOutlineLevelAssigned[
MAXLEVEL ];
372 aOutlineLevelAssigned[
i ] =
false;
373 aCreatedDefaultOutlineStyles[
i ] =
nullptr;
380 for (
size_t n = 1;
n < rColls.
size(); ++
n )
390 if ( aCreatedDefaultOutlineStyles[
i ] ==
nullptr &&
391 pColl->
GetName() == aDefOutlStyleNames[
i] )
393 aCreatedDefaultOutlineStyles[
i ] = pColl;
407 if ( !aOutlineLevelAssigned[
i ] &&
408 aCreatedDefaultOutlineStyles[
i ] !=
nullptr &&
409 ! aCreatedDefaultOutlineStyles[
i ]->IsAssignedToListLevelOfOutlineStyle() )
417 if ( static_cast<const SwNumRuleItem&>(rItem).
GetValue().isEmpty() )
449 aGraphic = *pGraphic;
472 SAL_INFO_IF(rBaseURL.isEmpty(),
"sw.filter",
"sw::XMLReader: no base URL");
475 uno::Reference< uno::XComponentContext > xContext =
478 uno::Reference<document::XGraphicStorageHandler> xGraphicStorageHandler;
480 uno::Reference< document::XEmbeddedObjectResolver > xObjectResolver;
484 uno::Reference<embed::XStorage> xStorage;
494 SvXMLGraphicHelperMode::Read );
495 xGraphicStorageHandler = xGraphicHelper.get();
501 SvXMLEmbeddedObjectHelperMode::Read );
502 xObjectResolver = xObjectHelper.get();
507 OSL_ENSURE( pDocSh,
"XMLReader::Read: got no doc shell" );
510 uno::Reference< lang::XComponent > xModelComp = pDocSh->
GetModel();
511 OSL_ENSURE( xModelComp.is(),
512 "XMLReader::Read: got no model" );
513 if( !xModelComp.is() )
523 { OUString(
"ProgressRange"), 0,
525 beans::PropertyAttribute::MAYBEVOID, 0},
526 { OUString(
"ProgressMax"), 0,
528 beans::PropertyAttribute::MAYBEVOID, 0},
529 { OUString(
"ProgressCurrent"), 0,
531 beans::PropertyAttribute::MAYBEVOID, 0},
532 { OUString(
"NumberStyles"), 0,
534 beans::PropertyAttribute::MAYBEVOID, 0},
535 { OUString(
"RecordChanges"), 0,
537 beans::PropertyAttribute::MAYBEVOID, 0 },
538 { OUString(
"ShowChanges"), 0,
540 beans::PropertyAttribute::MAYBEVOID, 0 },
541 { OUString(
"RedlineProtectionKey"), 0,
543 beans::PropertyAttribute::MAYBEVOID, 0 },
544 { OUString(
"PrivateData"), 0,
546 beans::PropertyAttribute::MAYBEVOID, 0 },
547 { OUString(
"BaseURI"), 0,
549 beans::PropertyAttribute::MAYBEVOID, 0 },
550 { OUString(
"StreamRelPath"), 0,
552 beans::PropertyAttribute::MAYBEVOID, 0 },
553 { OUString(
"StreamName"), 0,
555 beans::PropertyAttribute::MAYBEVOID, 0 },
557 { OUString(
"StyleInsertModeFamilies"), 0,
559 beans::PropertyAttribute::MAYBEVOID, 0 },
560 { OUString(
"StyleInsertModeOverwrite"), 0,
562 beans::PropertyAttribute::MAYBEVOID, 0 },
563 { OUString(
"TextInsertModeRange"), 0,
565 beans::PropertyAttribute::MAYBEVOID, 0},
566 { OUString(
"AutoTextMode"), 0,
568 beans::PropertyAttribute::MAYBEVOID, 0 },
569 { OUString(
"OrganizerMode"), 0,
571 beans::PropertyAttribute::MAYBEVOID, 0 },
576 { OUString(
"ShapePositionInHoriL2R"), 0,
578 beans::PropertyAttribute::MAYBEVOID, 0 },
580 { OUString(
"BuildId"), 0,
582 beans::PropertyAttribute::MAYBEVOID, 0 },
590 { OUString(
"TextDocInOOoFileFormat"), 0,
592 beans::PropertyAttribute::MAYBEVOID, 0 },
594 css::beans::PropertyAttribute::MAYBEVOID, 0 },
595 { OUString(), 0, css::uno::Type(), 0, 0 }
597 uno::Reference< beans::XPropertySet > xInfoSet(
602 uno::Reference< container::XChild > xChild( xModelComp, uno::UNO_QUERY );
605 uno::Reference< beans::XPropertySet > xParentSet( xChild->getParent(), uno::UNO_QUERY );
606 if( xParentSet.is() )
608 uno::Reference< beans::XPropertySetInfo > xPropSetInfo( xParentSet->getPropertySetInfo() );
609 static const OUStringLiteral sPropName(
u"BuildId" );
610 if( xPropSetInfo.is() && xPropSetInfo->hasPropertyByName(sPropName) )
612 xInfoSet->setPropertyValue( sPropName, xParentSet->getPropertyValue(sPropName) );
618 uno::Reference<task::XStatusIndicator> xStatusIndicator;
626 pSet->
GetItem(SID_PROGRESS_STATUSBAR_CONTROL);
629 pItem->
GetValue() >>= xStatusIndicator;
635 sal_Int32 nProgressRange(1000000);
636 if (xStatusIndicator.is())
638 xStatusIndicator->start(
SvxResId(RID_SVXSTR_DOC_LOAD), nProgressRange);
641 aProgRange <<= nProgressRange;
642 xInfoSet->setPropertyValue(
"ProgressRange", aProgRange);
645 beans::NamedValue aLateInitSettings(
"LateInitSettings",
Any( xLateInitSettings ) );
647 xInfoSet->setPropertyValue(
"SourceStorage",
Any( xStorage ) );
650 Sequence<Any> aFilterArgs{
Any(xInfoSet),
651 Any(xStatusIndicator),
652 Any(xGraphicStorageHandler),
653 Any(xObjectResolver),
654 Any(aLateInitSettings) };
656 Sequence<Any> aEmptyArgs{
Any(xInfoSet),
657 Any(xStatusIndicator) };
669 OUString *pSeq = aFamiliesSeq.getArray();
672 *pSeq++ =
"FrameStyles";
675 *pSeq++ =
"PageStyles";
679 *pSeq++ =
"CharacterStyles";
680 *pSeq++ =
"ParagraphStyles";
684 *pSeq++ =
"NumberingStyles";
686 xInfoSet->setPropertyValue(
"StyleInsertModeFamilies",
693 const uno::Reference<text::XTextRange> xInsertTextRange =
695 xInfoSet->setPropertyValue(
"TextInsertModeRange",
696 Any(xInsertTextRange) );
706 xInfoSet->setPropertyValue(
"AutoTextMode",
Any(
true) );
710 xInfoSet->setPropertyValue(
"OrganizerMode",
Any(
true) );
717 OSL_ENSURE( pMedDescrMedium,
"There is no medium to get MediaDescriptor from!" );
719 xInfoSet->setPropertyValue(
"BaseURI",
Any( rBaseURL ) );
725 if ( pMedDescrMedium && pMedDescrMedium->
GetItemSet() )
729 if ( pDocHierarchItem )
730 StreamPath = pDocHierarchItem->
GetValue();
734 StreamPath =
"dummyObjectName";
737 if( !StreamPath.isEmpty() )
739 xInfoSet->setPropertyValue(
"StreamRelPath",
Any( StreamPath ) );
747 static const OUStringLiteral sShowChanges(
u"ShowChanges");
748 static const OUStringLiteral sRecordChanges(
u"RecordChanges");
749 static const OUStringLiteral sRedlineProtectionKey(
u"RedlineProtectionKey");
750 xInfoSet->setPropertyValue( sShowChanges,
752 xInfoSet->setPropertyValue( sRecordChanges,
754 xInfoSet->setPropertyValue( sRedlineProtectionKey,
763 const bool bShapePositionInHoriL2R = !bOASIS;
764 xInfoSet->setPropertyValue(
765 "ShapePositionInHoriL2R",
766 Any( bShapePositionInHoriL2R ) );
769 const bool bTextDocInOOoFileFormat = !bOASIS;
770 xInfoSet->setPropertyValue(
771 "TextDocInOOoFileFormat",
772 Any( bTextDocInOOoFileFormat ) );
783 const uno::Reference<rdf::XDocumentMetadataAccess> xDMA(xModelComp,
784 uno::UNO_QUERY_THROW);
785 const uno::Reference<frame::XModel>
xModel(xModelComp,
786 uno::UNO_QUERY_THROW);
788 xContext, xModel, rBaseURL, StreamPath) );
789 const uno::Reference<task::XInteractionHandler> xHandler(
791 xDMA->loadMetadataFromStorage(xStorage, xBaseURI, xHandler);
793 catch (
const lang::WrappedTargetException & e)
795 ucb::InteractiveAugmentedIOException iaioe;
796 if (e.TargetException >>= iaioe)
806 catch (uno::Exception &)
815 ErrCode const nWarn = ReadThroughComponent(
816 xStorage, xModelComp,
"meta.xml", xContext,
817 (bOASIS ?
"com.sun.star.comp.Writer.XMLOasisMetaImporter"
818 :
"com.sun.star.comp.Writer.XMLMetaImporter"),
819 aEmptyArgs, rName,
false );
825 nWarn2 = ReadThroughComponent(
826 xStorage, xModelComp,
"settings.xml", xContext,
827 (bOASIS ?
"com.sun.star.comp.Writer.XMLOasisSettingsImporter"
828 :
"com.sun.star.comp.Writer.XMLSettingsImporter"),
829 aFilterArgs, rName,
false );
832 nRet = ReadThroughComponent(
833 xStorage, xModelComp,
"styles.xml", xContext,
834 (bOASIS ?
"com.sun.star.comp.Writer.XMLOasisStylesImporter"
835 :
"com.sun.star.comp.Writer.XMLStylesImporter"),
836 aFilterArgs, rName,
true );
839 nRet = ReadThroughComponent(
840 xStorage, xModelComp,
"content.xml", xContext,
841 (bOASIS ?
"com.sun.star.comp.Writer.XMLOasisContentImporter"
842 :
"com.sun.star.comp.Writer.XMLContentImporter"),
843 aFilterArgs, rName,
true );
848 *o3tl::doAccess<bool>(xInfoSet->getPropertyValue(sShowChanges)) &&
855 uno::Reference < io::XStream > xStm = xStorage->openStreamElement(
"layout-cache", embed::ElementModes::READ );
857 if( !pStrm2->GetError() )
860 catch (
const uno::Exception&)
871 nRet = nRet ? nRet : (nWarn ? nWarn : (nWarn2 ? nWarn2 : nWarnRDF ) );
873 ::svx::DropUnusedNamedItems(xModelComp);
878 Any aAny = xInfoSet->getPropertyValue( sRedlineProtectionKey );
879 Sequence<sal_Int8> aKey;
885 aAny = xInfoSet->getPropertyValue( sShowChanges );
886 if ( *o3tl::doAccess<bool>(aAny) )
888 aAny = xInfoSet->getPropertyValue( sRecordChanges );
889 if ( *o3tl::doAccess<bool>(aAny) || aKey.hasElements() )
907 xGraphicHelper->dispose();
908 xGraphicHelper.clear();
909 xGraphicStorageHandler =
nullptr;
911 xObjectHelper->dispose();
912 xObjectHelper.clear();
913 xObjectResolver =
nullptr;
951 uno::Reference< beans::XPropertySet > xModelSet( xModelComp, uno::UNO_QUERY );
954 uno::Reference< beans::XPropertySetInfo > xModelSetInfo( xModelSet->getPropertySetInfo() );
955 static const OUStringLiteral
sName(
u"BuildId" );
956 if( xModelSetInfo.is() && xModelSetInfo->hasPropertyByName(sName) )
958 xModelSet->setPropertyValue( sName, xInfoSet->getPropertyValue(sName) );
966 if (xStatusIndicator.is())
968 xStatusIndicator->end();
978 std::vector<OUString>& rStrings)
const
980 uno::Reference< uno::XComponentContext > xContext =
982 uno::Reference < embed::XStorage > xStg2;
987 xml::sax::InputSource aParserInput;
988 static const OUStringLiteral sDocName(
u"content.xml" );
989 aParserInput.sSystemId = sDocName;
991 uno::Reference < io::XStream > xStm = xStg2->openStreamElement( sDocName, embed::ElementModes::READ );
992 aParserInput.aInputStream = xStm->getInputStream();
998 xImport->parseStream( aParserInput );
1000 catch( xml::sax::SAXParseException& )
1005 catch( xml::sax::SAXException& )
1010 catch( io::IOException& )
1015 catch( packages::WrongPasswordException& )
1020 return rStrings.size();
css::uno::Reference< css::linguistic2::XProofreadingIterator > get(css::uno::Reference< css::uno::XComponentContext > const &context)
bool ExistsDrawObjs(SwDoc &p_rDoc)
method to check, if given Writer document contains at least one drawing object
#define WARN_SWG_FEATURES_LOST
bool GoInContent(SwPaM &rPam, SwMoveFnCollection const &fnMove)
static void lcl_ConvertSdrOle2ObjsToSdrGrafObjs(SwDoc &_rDoc)
int GetAssignedOutlineStyleLevel() const
Represents the style of a paragraph.
virtual const tools::Rectangle & GetCurrentBoundRect() const
virtual const css::uno::Sequence< sal_Int8 > & GetRedlinePassword() const =0
SwDocShell * GetDocShell()
virtual void SetRedlineFlags_intern(RedlineFlags eMode)=0
Set a new redline mode.
sal_Int32 GetVersion() const
virtual SwReaderType GetReaderType() override
bool IsFrameFormats() const
bool IsFormatsOnly() const
#define ERRCODE_SFX_WRONGPASSWORD
#define SAL_INFO_IF(condition, area, stream)
constexpr TypedWhichId< SwNumRuleItem > RES_PARATR_NUMRULE(72)
virtual ErrCode Read(SwDoc &, const OUString &rBaseURL, SwPaM &, const OUString &) override
const SwPosition * GetMark() const
css::uno::Reference< css::frame::XModel3 > GetModel() const
constexpr sal_uInt8 MAXLEVEL
virtual void restoreAnnotationMarks(bool bDelete=true)=0
::sw::DocumentRedlineManager const & GetDocumentRedlineManager() const
const OUString & GetName() const
SwPosition & GetBound(bool bOne=true)
IDocumentMarkAccess * getIDocumentMarkAccess()
static void Free(SdrObject *&_rpObject)
virtual bool SetFormatAttr(const SfxPoolItem &rAttr) override
Override to recognize changes on the and register/unregister the paragragh style at t...
static bool IsShowChanges(const RedlineFlags eM)
IDocumentDrawModelAccess const & getIDocumentDrawModelAccess() const
SwContentNode * GetContentNode(bool bPoint=true) const
virtual void set(DocumentSettingId id, bool value)=0
Set the specified document setting.
bool IsAssignedToListLevelOfOutlineStyle() const
static std::unique_ptr< SvStream > CreateStream(const OUString &rFileName, StreamMode eOpenMode, css::uno::Reference< css::awt::XWindow > xParentWin=nullptr)
Any SAL_CALL getCaughtException()
void PrtOLENotify(bool bAll)
void ReadLayoutCache(SvStream &rStream)
SwDoc: Reading and writing of the layout cache.
OUString SvxResId(TranslateId aId)
virtual const_iterator_t getFieldmarksEnd() const =0
returns a STL-like random access iterator to the end of the sequence of fieldmarks.
void PropagateOutlineRule()
const css::uno::Any & GetValue() const
SfxObjectCreateMode GetCreateMode() const
css::uno::Reference< css::task::XInteractionHandler > GetInteractionHandler(bool bGetAlways=false)
#define WARN_FORMAT_FILE_ROWCOL
SwNode & GetEndOfContent() const
Regular ContentSection (i.e. the BodyText).
virtual void CompressRedlines()=0
virtual size_t GetSectionList(SfxMedium &rMedium, std::vector< OUString > &rStrings) const override
PaM is Point and Mark: a selection of the document model.
bool Move(SwMoveFnCollection const &fnMove=fnMoveForward, SwGoInDoc fnGo=GoInContent)
Movement of cursor.
virtual void SetLayer(SdrLayerID nLayer)
#define TOOLS_WARN_EXCEPTION(area, stream)
bool IsOLEPrtNotifyPending() const
const SwStartNode * StartOfSectionNode() const
const SwPosition * GetPoint() const
SwIndex & Assign(SwIndexReg *, sal_Int32)
static rtl::Reference< SvXMLEmbeddedObjectHelper > Create(const css::uno::Reference< css::embed::XStorage > &,::comphelper::IEmbeddedHelper &rDocPersist, SvXMLEmbeddedObjectHelperMode eCreateMode)
COMPHELPER_DLLPUBLIC css::uno::Reference< css::beans::XPropertySet > GenericPropertySet_CreateInstance(PropertySetInfo *pInfo)
const OUString & GetValue() const
const SdrPage * GetPage(sal_uInt16 nPgNum) const
virtual const SwDrawModel * GetDrawModel() const =0
Draw Model and id accessors.
void SetHideRedlines(bool const bHideRedlines)
SdrModel & getSdrModelFromSdrObject() const
sal_uInt32 GetOrdNum() const
SfxItemSet * GetItemSet() const
css::uno::Type const & get()
bool IsTextFormats() const
const std::shared_ptr< const SfxFilter > & GetFilter() const
OString exceptionToString(const css::uno::Any &caught)
virtual SdrLayerID GetLayer() const
#define ERRCODE_IO_BROKENPACKAGE
void AssignToListLevelOfOutlineStyle(const int nAssignedListLevel)
virtual const_iterator_t getFieldmarksBegin() const =0
returns a STL-like random access iterator to the begin of the sequence of fieldmarks.
void SetDefault(const SfxPoolItem &)
Set attribute as new default attribute in current document.
IDocumentRedlineAccess const & getIDocumentRedlineAccess() const
SwgReaderOption m_aOption
virtual SdrObject * ReplaceObject(SdrObject *pNewObj, size_t nObjNum)
void ResetAllFormatsOnly()
#define ERR_FORMAT_ROWCOL
css::uno::Reference< css::embed::XStorage > GetStorage(bool bCreateTempFile=true)
#define SAL_WARN_IF(condition, area, stream)
const SwTextFormatColls * GetTextFormatColls() const
virtual void clearCaches()=0
To release the cached styles (shared_pointer!)
SwMoveFnCollection const & fnMoveForward
SwPam::Move()/Find() default argument.
virtual void SetRedlineFlags(RedlineFlags eMode)=0
Set a new redline mode.
virtual bool IsRedlineOn() const =0
Query if redlining is on.
IDocumentSettingAccess const & getIDocumentSettingAccess() const
#define ERR_FORMAT_FILE_ROWCOL
SfxObjectShell * GetPersist() const
Reference< XComponentContext > getProcessComponentContext()
virtual bool get(DocumentSettingId id) const =0
Return the specified document setting.
#define ERR_SWG_READ_ERROR
virtual RedlineFlags GetRedlineFlags() const =0
Query the currently set redline mode.
#define SAL_WARN(area, stream)
css::uno::Reference< css::embed::XStorage > m_xStorage
Reference< XModel > xModel
detail::Optional< bool >::type tryAccess< bool >(css::uno::Any const &any)
static rtl::Reference< SvXMLGraphicHelper > Create(const css::uno::Reference< css::embed::XStorage > &rXMLStorage, SvXMLGraphicHelperMode eCreateMode)
SdrObjList * getParentSdrObjListFromSdrObject() const
virtual void SetRedlinePassword(const css::uno::Sequence< sal_Int8 > &rNewPassword)=0
const SwIndexReg * GetIdxReg() const
const SfxPoolItem * GetItem(sal_uInt16 nWhich, bool bSearchInParent=true) const
IStyleAccess & GetIStyleAccess()
bool IsOrganizerMode() const
static void lcl_AdjustOutlineStylesForOOo(SwDoc &_rDoc)
uno::Reference< rdf::XURI > createBaseURI(uno::Reference< uno::XComponentContext > const &i_xContext, uno::Reference< frame::XModel > const &i_xModel, OUString const &i_rPkgURI, std::u16string_view i_rSubDocument)
const Graphic * GetGraphic() const
SwNumRule * GetOutlineNumRule() const
static void lcl_EnsureValidPam(SwPaM &rPam)
static const OUString & GetProgName(const OUString &rName, SwGetPoolIdFromName)
SfxMedium * GetMedium() const