11d2dbeb0SAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 31d2dbeb0SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 41d2dbeb0SAndrew Rist * or more contributor license agreements. See the NOTICE file 51d2dbeb0SAndrew Rist * distributed with this work for additional information 61d2dbeb0SAndrew Rist * regarding copyright ownership. The ASF licenses this file 71d2dbeb0SAndrew Rist * to you under the Apache License, Version 2.0 (the 81d2dbeb0SAndrew Rist * "License"); you may not use this file except in compliance 91d2dbeb0SAndrew Rist * with the License. You may obtain a copy of the License at 10cdf0e10cSrcweir * 111d2dbeb0SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12cdf0e10cSrcweir * 131d2dbeb0SAndrew Rist * Unless required by applicable law or agreed to in writing, 141d2dbeb0SAndrew Rist * software distributed under the License is distributed on an 151d2dbeb0SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 161d2dbeb0SAndrew Rist * KIND, either express or implied. See the License for the 171d2dbeb0SAndrew Rist * specific language governing permissions and limitations 181d2dbeb0SAndrew Rist * under the License. 19cdf0e10cSrcweir * 201d2dbeb0SAndrew Rist *************************************************************/ 211d2dbeb0SAndrew Rist 221d2dbeb0SAndrew Rist 23cdf0e10cSrcweir #ifndef _SWDOCSH_HXX 24cdf0e10cSrcweir #define _SWDOCSH_HXX 25cdf0e10cSrcweir 26cdf0e10cSrcweir #include <rtl/ref.hxx> 27cdf0e10cSrcweir #include <com/sun/star/frame/XController.hpp> 28cdf0e10cSrcweir #include <com/sun/star/uno/Sequence.h> 29cdf0e10cSrcweir #include <vcl/timer.hxx> 30cdf0e10cSrcweir #include <sfx2/docfac.hxx> 31cdf0e10cSrcweir #include <sfx2/objsh.hxx> 32cdf0e10cSrcweir #include "swdllapi.h" 33cdf0e10cSrcweir #include <swdll.hxx> 34cdf0e10cSrcweir #include <shellid.hxx> 35cdf0e10cSrcweir 36cdf0e10cSrcweir #include <svl/lstner.hxx> 37cdf0e10cSrcweir #include <svtools/embedhlp.hxx> 38cdf0e10cSrcweir 39cdf0e10cSrcweir class SwDoc; 40cdf0e10cSrcweir class SfxDocumentInfoDialog; 41cdf0e10cSrcweir class SfxStyleSheetBasePool; 42cdf0e10cSrcweir class SfxInPlaceClient; 43cdf0e10cSrcweir class FontList; 44cdf0e10cSrcweir class SwView; 45cdf0e10cSrcweir class SwWrtShell; 46cdf0e10cSrcweir class SwFEShell; 47cdf0e10cSrcweir class Reader; 48cdf0e10cSrcweir class SwReader; 49cdf0e10cSrcweir class SwCrsrShell; 50cdf0e10cSrcweir class SwSrcView; 51cdf0e10cSrcweir class SwPaM; 52cdf0e10cSrcweir class SwgReaderOption; 53cdf0e10cSrcweir class SwOLEObj; 54cdf0e10cSrcweir class IDocumentDeviceAccess; 55cdf0e10cSrcweir class IDocumentSettingAccess; 56cdf0e10cSrcweir class IDocumentTimerAccess; 57cdf0e10cSrcweir class IDocumentChartDataProviderAccess; 5826ea3662SArmin Le Grand class SwDocShell; 5926ea3662SArmin Le Grand class SwDrawModel; 60cdf0e10cSrcweir 6126ea3662SArmin Le Grand // initialize DrawModel (in form of a SwDrawModel) and DocShell (in form of a SwDocShell) 6226ea3662SArmin Le Grand // as needed, one or both parameters may be zero 6326ea3662SArmin Le Grand void SW_DLLPRIVATE InitDrawModelAndDocShell(SwDocShell* pSwDocShell, SwDrawModel* pSwDrawModel); 64cdf0e10cSrcweir 65cdf0e10cSrcweir class SW_DLLPUBLIC SwDocShell: public SfxObjectShell, public SfxListener 66cdf0e10cSrcweir { 67*baef7ff7SOliver-Rainer Wittmann SwDoc* mpDoc; // Document 68*baef7ff7SOliver-Rainer Wittmann 69cdf0e10cSrcweir rtl::Reference< SfxStyleSheetBasePool > mxBasePool; // Durchreiche fuer Formate 70*baef7ff7SOliver-Rainer Wittmann 71*baef7ff7SOliver-Rainer Wittmann FontList* mpFontList; // aktuelle FontListe 72*baef7ff7SOliver-Rainer Wittmann bool mbInUpdateFontList; //prevent nested calls of UpdateFontList 73cdf0e10cSrcweir 74cdf0e10cSrcweir // Nix geht ohne die WrtShell (historische Gruende) 75cdf0e10cSrcweir // RuekwaertsPointer auf die View (historische Gruende) 76cdf0e10cSrcweir // Dieser gilt solange bis im Activate ein neuer gesetzt wird 77cdf0e10cSrcweir // oder dieser im Dtor der View geloescht wird 78cdf0e10cSrcweir // 79*baef7ff7SOliver-Rainer Wittmann SwView* mpView; 80*baef7ff7SOliver-Rainer Wittmann SwWrtShell* mpWrtShell; 81cdf0e10cSrcweir 82cdf0e10cSrcweir Timer aFinishedTimer; // Timer fuers ueberpriefen der 83cdf0e10cSrcweir // Grafik-Links. Sind alle da, 84cdf0e10cSrcweir // dann ist Doc voll. geladen 85cdf0e10cSrcweir 86*baef7ff7SOliver-Rainer Wittmann comphelper::EmbeddedObjectContainer* mpOLEChildList; 87*baef7ff7SOliver-Rainer Wittmann sal_Int16 mnUpdateDocMode; // contains the com::sun::star::document::UpdateDocMode 88*baef7ff7SOliver-Rainer Wittmann 89cdf0e10cSrcweir // Methoden fuer den Zugriff aufs Doc 90cdf0e10cSrcweir SW_DLLPRIVATE void AddLink(); 91cdf0e10cSrcweir SW_DLLPRIVATE void RemoveLink(); 92cdf0e10cSrcweir 93cdf0e10cSrcweir // Hint abfangen fuer DocInfo 94cdf0e10cSrcweir SW_DLLPRIVATE virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); 95cdf0e10cSrcweir 96cdf0e10cSrcweir // FileIO 97cdf0e10cSrcweir SW_DLLPRIVATE virtual sal_Bool InitNew( const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage ); 98cdf0e10cSrcweir SW_DLLPRIVATE virtual sal_Bool Load( SfxMedium& rMedium ); 99cdf0e10cSrcweir SW_DLLPRIVATE virtual sal_Bool LoadFrom( SfxMedium& rMedium ); 100cdf0e10cSrcweir SW_DLLPRIVATE virtual sal_Bool ConvertFrom( SfxMedium &rMedium ); 101cdf0e10cSrcweir SW_DLLPRIVATE virtual sal_Bool ConvertTo( SfxMedium &rMedium ); 102cdf0e10cSrcweir SW_DLLPRIVATE virtual sal_Bool SaveAs( SfxMedium& rMedium ); 103cdf0e10cSrcweir SW_DLLPRIVATE virtual sal_Bool SaveCompleted( const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage ); 104cdf0e10cSrcweir 105cdf0e10cSrcweir SW_DLLPRIVATE virtual sal_uInt16 PrepareClose( sal_Bool bUI = sal_True, sal_Bool bForBrowsing = sal_False ); 106cdf0e10cSrcweir 107cdf0e10cSrcweir // DocInfo dem Doc melden 108cdf0e10cSrcweir // 109cdf0e10cSrcweir SW_DLLPRIVATE virtual SfxDocumentInfoDialog* CreateDocumentInfoDialog( 110cdf0e10cSrcweir Window *pParent, const SfxItemSet &); 111cdf0e10cSrcweir // OLE-Geraffel 112cdf0e10cSrcweir SW_DLLPRIVATE virtual void Draw( OutputDevice*, const JobSetup&, sal_uInt16); 113cdf0e10cSrcweir 114cdf0e10cSrcweir // Methoden fuer StyleSheets 115ff0525f2SOliver-Rainer Wittmann 116ff0525f2SOliver-Rainer Wittmann // @param nSlot 117ff0525f2SOliver-Rainer Wittmann // Only used for nFamily == SFX_STYLE_FAMILY_PAGE. Identifies optional Slot by which the edit is triggered. 118ff0525f2SOliver-Rainer Wittmann // Used to activate certain dialog pane 119ff0525f2SOliver-Rainer Wittmann SW_DLLPRIVATE sal_uInt16 Edit( 120ff0525f2SOliver-Rainer Wittmann const String &rName, 121ff0525f2SOliver-Rainer Wittmann const String& rParent, 122ff0525f2SOliver-Rainer Wittmann const sal_uInt16 nFamily, 123ff0525f2SOliver-Rainer Wittmann sal_uInt16 nMask, 124ff0525f2SOliver-Rainer Wittmann const sal_Bool bNew, 125ff0525f2SOliver-Rainer Wittmann const sal_uInt16 nSlot = 0, 126cdf0e10cSrcweir SwWrtShell* pActShell = 0, 127ff0525f2SOliver-Rainer Wittmann const sal_Bool bBasic = sal_False ); 128ff0525f2SOliver-Rainer Wittmann 129cdf0e10cSrcweir SW_DLLPRIVATE sal_uInt16 Delete(const String &rName, sal_uInt16 nFamily); 13034760e49SOliver-Rainer Wittmann 13134760e49SOliver-Rainer Wittmann SW_DLLPRIVATE sal_uInt16 ApplyStyles( 13234760e49SOliver-Rainer Wittmann const String &rName, 13334760e49SOliver-Rainer Wittmann const sal_uInt16 nFamily, 13434760e49SOliver-Rainer Wittmann SwWrtShell* pShell = 0, 13534760e49SOliver-Rainer Wittmann const sal_uInt16 nMode = 0 ); 13634760e49SOliver-Rainer Wittmann 137cdf0e10cSrcweir SW_DLLPRIVATE sal_uInt16 DoWaterCan( const String &rName, sal_uInt16 nFamily); 138cdf0e10cSrcweir SW_DLLPRIVATE sal_uInt16 UpdateStyle(const String &rName, sal_uInt16 nFamily, SwWrtShell* pShell = 0); 139cdf0e10cSrcweir SW_DLLPRIVATE sal_uInt16 MakeByExample(const String &rName, 140cdf0e10cSrcweir sal_uInt16 nFamily, sal_uInt16 nMask, SwWrtShell* pShell = 0); 141cdf0e10cSrcweir 142cdf0e10cSrcweir SW_DLLPRIVATE void SubInitNew(); // fuer InitNew und HtmlSourceModus 143cdf0e10cSrcweir 144cdf0e10cSrcweir SW_DLLPRIVATE void RemoveOLEObjects(); 145cdf0e10cSrcweir SW_DLLPRIVATE void CalcLayoutForOLEObjects(); 146cdf0e10cSrcweir 147cdf0e10cSrcweir SW_DLLPRIVATE void Init_Impl(); 148cdf0e10cSrcweir SW_DLLPRIVATE DECL_STATIC_LINK( SwDocShell, IsLoadFinished, void* ); 149cdf0e10cSrcweir 150cdf0e10cSrcweir 151cdf0e10cSrcweir using SfxObjectShell::GetVisArea; 152cdf0e10cSrcweir using SfxObjectShell::GetStyleFamilyBitmap; 153cdf0e10cSrcweir 154cdf0e10cSrcweir protected: 155cdf0e10cSrcweir /// override to update text fields 156cdf0e10cSrcweir virtual void DoFlushDocInfo(); 157cdf0e10cSrcweir 158*baef7ff7SOliver-Rainer Wittmann // override <SfxObjectShell>'s method which is called in <SfxObjectShell::ImportFrom(..)>. 159*baef7ff7SOliver-Rainer Wittmann // <SfxObjectShell::ImportFrom(..)> is used by current import of Microsoft Word documents in OOXML file format. 160*baef7ff7SOliver-Rainer Wittmann virtual void BeforeLoading( SfxMedium&, const ::rtl::OUString &, const ::rtl::OUString & ); 161*baef7ff7SOliver-Rainer Wittmann 162cdf0e10cSrcweir public: 163cdf0e10cSrcweir using SotObject::GetInterface; 164cdf0e10cSrcweir 165cdf0e10cSrcweir // aber selbst implementieren 166cdf0e10cSrcweir SFX_DECL_INTERFACE(SW_DOCSHELL) 167cdf0e10cSrcweir SFX_DECL_OBJECTFACTORY() 168cdf0e10cSrcweir TYPEINFO(); 169cdf0e10cSrcweir _GetInterface()170cdf0e10cSrcweir static SfxInterface *_GetInterface() { return GetStaticInterface(); } 171cdf0e10cSrcweir 172cdf0e10cSrcweir static rtl::OUString GetEventName( sal_Int32 nId ); 173cdf0e10cSrcweir 174cdf0e10cSrcweir //Das Doc wird fuer SO-Datenaustausch benoetigt! 175cdf0e10cSrcweir SwDocShell( SfxObjectCreateMode eMode = SFX_CREATE_MODE_EMBEDDED ); 176cdf0e10cSrcweir SwDocShell( const sal_uInt64 i_nSfxCreationFlags ); 177cdf0e10cSrcweir SwDocShell( SwDoc *pDoc, SfxObjectCreateMode eMode = SFX_CREATE_MODE_STANDARD ); 178cdf0e10cSrcweir ~SwDocShell(); 179cdf0e10cSrcweir 180cdf0e10cSrcweir // OLE 2.0-Benachrichtigung 181cdf0e10cSrcweir DECL_LINK( Ole2ModifiedHdl, void * ); 182cdf0e10cSrcweir 183cdf0e10cSrcweir // OLE-Geraffel 184cdf0e10cSrcweir virtual void SetVisArea( const Rectangle &rRect ); 185cdf0e10cSrcweir virtual Rectangle GetVisArea( sal_uInt16 nAspect ) const; 186cdf0e10cSrcweir virtual Printer *GetDocumentPrinter(); 187cdf0e10cSrcweir virtual OutputDevice* GetDocumentRefDev(); 188cdf0e10cSrcweir virtual void OnDocumentPrinterChanged( Printer * pNewPrinter ); 189cdf0e10cSrcweir virtual sal_uLong GetMiscStatus() const; 190cdf0e10cSrcweir 191cdf0e10cSrcweir virtual void PrepareReload(); 192cdf0e10cSrcweir virtual void SetModified( sal_Bool = sal_True ); 193cdf0e10cSrcweir 194cdf0e10cSrcweir // Dispatcher 195cdf0e10cSrcweir void Execute(SfxRequest &); 196cdf0e10cSrcweir void ExecStyleSheet(SfxRequest&); 197cdf0e10cSrcweir void ExecDB(SfxRequest&); 198cdf0e10cSrcweir 199cdf0e10cSrcweir void GetState(SfxItemSet &); 200cdf0e10cSrcweir void StateAlways(SfxItemSet &); 201cdf0e10cSrcweir void StateStyleSheet(SfxItemSet&, SwWrtShell* pSh = 0 ); 202cdf0e10cSrcweir 203cdf0e10cSrcweir // Doc rausreichen aber VORSICHT GetDoc()204*baef7ff7SOliver-Rainer Wittmann inline SwDoc* GetDoc() { return mpDoc; } GetDoc() const205*baef7ff7SOliver-Rainer Wittmann inline const SwDoc* GetDoc() const { return mpDoc; } 206cdf0e10cSrcweir IDocumentDeviceAccess* getIDocumentDeviceAccess(); 207cdf0e10cSrcweir const IDocumentSettingAccess* getIDocumentSettingAccess() const; 208cdf0e10cSrcweir IDocumentChartDataProviderAccess* getIDocumentChartDataProviderAccess(); 209cdf0e10cSrcweir 210cdf0e10cSrcweir 211cdf0e10cSrcweir void UpdateFontList(); 212cdf0e10cSrcweir void UpdateChildWindows(); 213cdf0e10cSrcweir 214cdf0e10cSrcweir // globaler IO 215cdf0e10cSrcweir virtual sal_Bool Save(); 216cdf0e10cSrcweir 217cdf0e10cSrcweir // fuer VorlagenPI 218cdf0e10cSrcweir virtual SfxStyleSheetBasePool* GetStyleSheetPool(); 219cdf0e10cSrcweir 220cdf0e10cSrcweir // Fuer Organizer 221cdf0e10cSrcweir virtual sal_Bool Insert(SfxObjectShell &rSource, 222cdf0e10cSrcweir sal_uInt16 nSourceIdx1, 223cdf0e10cSrcweir sal_uInt16 nSourceIdx2, 224cdf0e10cSrcweir sal_uInt16 nSourceIdx3, 225cdf0e10cSrcweir sal_uInt16& nIdx1, 226cdf0e10cSrcweir sal_uInt16& nIdx2, 227cdf0e10cSrcweir sal_uInt16& nIdx3, 228cdf0e10cSrcweir sal_uInt16& nRemovedIdx); 229cdf0e10cSrcweir 230cdf0e10cSrcweir virtual sal_Bool Remove(sal_uInt16 nIdx1, 231cdf0e10cSrcweir sal_uInt16 nIdx2 = INDEX_IGNORE, 232cdf0e10cSrcweir sal_uInt16 nIdx3 = INDEX_IGNORE); 233cdf0e10cSrcweir 234cdf0e10cSrcweir virtual Bitmap GetStyleFamilyBitmap( SfxStyleFamily eFamily, BmpColorMode eColorMode ); 235cdf0e10cSrcweir 236cdf0e10cSrcweir // View setzen fuer Aktionen ueber Shell 237cdf0e10cSrcweir void SetView(SwView* pVw); GetView() const238*baef7ff7SOliver-Rainer Wittmann const SwView *GetView() const { return mpView; } GetView()239*baef7ff7SOliver-Rainer Wittmann SwView *GetView() { return mpView; } 240cdf0e10cSrcweir 241cdf0e10cSrcweir // Zugriff auf die zur SwView gehoerige SwWrtShell GetWrtShell()242*baef7ff7SOliver-Rainer Wittmann SwWrtShell *GetWrtShell() { return mpWrtShell; } GetWrtShell() const243*baef7ff7SOliver-Rainer Wittmann const SwWrtShell *GetWrtShell() const { return mpWrtShell; } 244cdf0e10cSrcweir 245cdf0e10cSrcweir // fuer die Core - die kennt die DocShell aber keine WrtShell! 246cdf0e10cSrcweir SwFEShell *GetFEShell(); GetFEShell() const247cdf0e10cSrcweir const SwFEShell *GetFEShell() const 248cdf0e10cSrcweir { return ((SwDocShell*)this)->GetFEShell(); } 249cdf0e10cSrcweir 250cdf0e10cSrcweir 251cdf0e10cSrcweir // Fuer Einfuegen Dokument 252cdf0e10cSrcweir Reader* StartConvertFrom(SfxMedium& rMedium, SwReader** ppRdr, 253cdf0e10cSrcweir SwCrsrShell* pCrsrSh = 0, SwPaM* pPaM = 0); 254cdf0e10cSrcweir 255cdf0e10cSrcweir virtual long DdeGetData( const String& rItem, const String& rMimeType, 256cdf0e10cSrcweir ::com::sun::star::uno::Any & rValue ); 257cdf0e10cSrcweir virtual long DdeSetData( const String& rItem, const String& rMimeType, 258cdf0e10cSrcweir const ::com::sun::star::uno::Any & rValue ); 259cdf0e10cSrcweir virtual ::sfx2::SvLinkSource* DdeCreateLinkSource( const String& rItem ); 260cdf0e10cSrcweir virtual void FillClass( SvGlobalName * pClassName, 261cdf0e10cSrcweir sal_uInt32 * pClipFormat, 262cdf0e10cSrcweir String * pAppName, 263cdf0e10cSrcweir String * pLongUserName, 264cdf0e10cSrcweir String * pUserName, 265cdf0e10cSrcweir sal_Int32 nFileFormat, 266cdf0e10cSrcweir sal_Bool bTemplate = sal_False ) const; 267cdf0e10cSrcweir 268cdf0e10cSrcweir virtual void LoadStyles( SfxObjectShell& rSource ); 269cdf0e10cSrcweir 270cdf0e10cSrcweir void _LoadStyles( SfxObjectShell& rSource, sal_Bool bPreserveCurrentDocument ); 271cdf0e10cSrcweir 272ff0525f2SOliver-Rainer Wittmann // Show page style format dialog 273ff0525f2SOliver-Rainer Wittmann // @param nSlot 274ff0525f2SOliver-Rainer Wittmann // Identifies slot by which the dialog is triggered. Used to activate certain dialog pane 275ff0525f2SOliver-Rainer Wittmann void FormatPage( 276ff0525f2SOliver-Rainer Wittmann const String& rPage, 277ff0525f2SOliver-Rainer Wittmann const sal_uInt16 nSlot, 278ff0525f2SOliver-Rainer Wittmann SwWrtShell& rActShell ); 279cdf0e10cSrcweir 280cdf0e10cSrcweir // --> OD 2006-11-07 #i59688# 281cdf0e10cSrcweir // linked graphics are now loaded on demand. 282cdf0e10cSrcweir // Thus, loading of linked graphics no longer needed and necessary for 283cdf0e10cSrcweir // the load of document being finished. 284cdf0e10cSrcweir // // Timer starten fuers ueberpruefen der Grafik-Links. Sind alle 285cdf0e10cSrcweir // // vollstaendig geladen, dann ist das Doc fertig 286cdf0e10cSrcweir // void StartLoadFinishedTimer(); 287cdf0e10cSrcweir void LoadingFinished(); 288cdf0e10cSrcweir // <-- 289cdf0e10cSrcweir 290cdf0e10cSrcweir // eine Uebertragung wird abgebrochen (wird aus dem SFX gerufen) 291cdf0e10cSrcweir virtual void CancelTransfers(); 292cdf0e10cSrcweir 293cdf0e10cSrcweir // Doc aus Html-Source neu laden 294cdf0e10cSrcweir void ReloadFromHtml( const String& rStreamName, SwSrcView* pSrcView ); 295cdf0e10cSrcweir GetUpdateDocMode() const296*baef7ff7SOliver-Rainer Wittmann sal_Int16 GetUpdateDocMode() const {return mnUpdateDocMode;} 297cdf0e10cSrcweir 298cdf0e10cSrcweir void ToggleBrowserMode(sal_Bool bOn, SwView* pView); 299cdf0e10cSrcweir 300cdf0e10cSrcweir sal_uLong LoadStylesFromFile( const String& rURL, SwgReaderOption& rOpt, 301cdf0e10cSrcweir sal_Bool bUnoCall ); 302cdf0e10cSrcweir void InvalidateModel(); 303cdf0e10cSrcweir void ReactivateModel(); 304cdf0e10cSrcweir 305cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > GetEventNames(); 306cdf0e10cSrcweir 307cdf0e10cSrcweir // --> FME 2004-08-05 #i20883# Digital Signatures and Encryption 308cdf0e10cSrcweir virtual sal_uInt16 GetHiddenInformationState( sal_uInt16 nStates ); 309cdf0e10cSrcweir // <-- 310cdf0e10cSrcweir 311cdf0e10cSrcweir // --> FME 2005-02-25 #i42634# Overwrites SfxObjectShell::UpdateLinks 312cdf0e10cSrcweir // This new function is necessary to trigger update of links in docs 313cdf0e10cSrcweir // read by the binary filter: 314cdf0e10cSrcweir virtual void UpdateLinks(); 315cdf0e10cSrcweir // <-- 316ca62e2c2SSteve Yin virtual void setDocAccTitle( const String& rTitle ); 317ca62e2c2SSteve Yin virtual const String getDocAccTitle() const; 318cdf0e10cSrcweir 319ca62e2c2SSteve Yin void setDocReadOnly( sal_Bool bReadOnly); 320ca62e2c2SSteve Yin sal_Bool getDocReadOnly() const; 321cdf0e10cSrcweir ::com::sun::star::uno::Reference< ::com::sun::star::frame::XController > 322cdf0e10cSrcweir GetController(); 323cdf0e10cSrcweir 324cdf0e10cSrcweir SfxInPlaceClient* GetIPClient( const ::svt::EmbeddedObjectRef& xObjRef ); 325cdf0e10cSrcweir 326cdf0e10cSrcweir virtual const ::sfx2::IXmlIdRegistry* GetXmlIdRegistry() const; 327cdf0e10cSrcweir 328cdf0e10cSrcweir // passwword protection for Writer (derived from SfxObjectShell) 329cdf0e10cSrcweir // see also: FN_REDLINE_ON, FN_REDLINE_ON 330cdf0e10cSrcweir virtual bool IsChangeRecording() const; 331cdf0e10cSrcweir virtual bool HasChangeRecordProtection() const; 332cdf0e10cSrcweir virtual void SetChangeRecording( bool bActivate ); 333cdf0e10cSrcweir virtual bool SetProtectionPassword( const String &rPassword ); 334cdf0e10cSrcweir virtual bool GetProtectionHash( /*out*/ ::com::sun::star::uno::Sequence< sal_Int8 > &rPasswordHash ); 335cdf0e10cSrcweir }; 336cdf0e10cSrcweir 337cdf0e10cSrcweir class Graphic; 338cdf0e10cSrcweir //implemented in source/ui/docvw/romenu.cxx 339cdf0e10cSrcweir String ExportGraphic( const Graphic &rGraphic, const String &rGrfName ); 340cdf0e10cSrcweir 341cdf0e10cSrcweir #endif 342