xref: /aoo41x/main/sfx2/inc/sfx2/viewsh.hxx (revision 0deba7fb)
1*353d8f4dSAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3*353d8f4dSAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*353d8f4dSAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*353d8f4dSAndrew Rist  * distributed with this work for additional information
6*353d8f4dSAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*353d8f4dSAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*353d8f4dSAndrew Rist  * "License"); you may not use this file except in compliance
9*353d8f4dSAndrew Rist  * with the License.  You may obtain a copy of the License at
10*353d8f4dSAndrew Rist  *
11*353d8f4dSAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12*353d8f4dSAndrew Rist  *
13*353d8f4dSAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*353d8f4dSAndrew Rist  * software distributed under the License is distributed on an
15*353d8f4dSAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*353d8f4dSAndrew Rist  * KIND, either express or implied.  See the License for the
17*353d8f4dSAndrew Rist  * specific language governing permissions and limitations
18*353d8f4dSAndrew Rist  * under the License.
19*353d8f4dSAndrew Rist  *
20*353d8f4dSAndrew Rist  *************************************************************/
21*353d8f4dSAndrew Rist 
22*353d8f4dSAndrew Rist 
23cdf0e10cSrcweir #ifndef _SFXVIEWSH_HXX
24cdf0e10cSrcweir #define _SFXVIEWSH_HXX
25cdf0e10cSrcweir 
26cdf0e10cSrcweir #include "sal/config.h"
27cdf0e10cSrcweir #include "sfx2/dllapi.h"
28cdf0e10cSrcweir #include "sal/types.h"
29cdf0e10cSrcweir #include <com/sun/star/embed/XEmbeddedObject.hpp>
30cdf0e10cSrcweir #include <com/sun/star/frame/XController.hpp>
31cdf0e10cSrcweir #include <com/sun/star/view/XRenderable.hpp>
32cdf0e10cSrcweir #include <com/sun/star/uno/Reference.h>
33cdf0e10cSrcweir #include <svl/lstner.hxx>
34cdf0e10cSrcweir #include <com/sun/star/ui/XContextMenuInterceptor.hpp>
35cdf0e10cSrcweir #include <com/sun/star/datatransfer/clipboard/XClipboardListener.hpp>
36cdf0e10cSrcweir #include <com/sun/star/datatransfer/clipboard/XClipboardNotifier.hpp>
37cdf0e10cSrcweir #include <cppuhelper/interfacecontainer.hxx>
38cdf0e10cSrcweir #include "shell.hxx"
39cdf0e10cSrcweir #include <tools/gen.hxx>
40cdf0e10cSrcweir #include <tools/errcode.hxx>
41cdf0e10cSrcweir #include <vcl/jobset.hxx>
42cdf0e10cSrcweir class SfxBaseController;
43cdf0e10cSrcweir class Size;
44cdf0e10cSrcweir class Fraction;
45cdf0e10cSrcweir class Window;
46cdf0e10cSrcweir class KeyEvent;
47cdf0e10cSrcweir class WorkWindow;
48cdf0e10cSrcweir class SvBorder;
49cdf0e10cSrcweir class SdrView;
50cdf0e10cSrcweir class SfxFrame;
51cdf0e10cSrcweir class SfxMedium;
52cdf0e10cSrcweir class SfxModule;
53cdf0e10cSrcweir class SfxViewFrame;
54cdf0e10cSrcweir class SfxItemPool;
55cdf0e10cSrcweir class SfxTabPage;
56cdf0e10cSrcweir class SfxPrintMonitor;
57cdf0e10cSrcweir class SfxFrameSetDescriptor;
58cdf0e10cSrcweir class Printer;
59cdf0e10cSrcweir class SfxPrinter;
60cdf0e10cSrcweir class SfxProgress;
61cdf0e10cSrcweir class SvStringsDtor;
62cdf0e10cSrcweir class SfxFrameItem;
63cdf0e10cSrcweir class Dialog;
64cdf0e10cSrcweir class Menu;
65cdf0e10cSrcweir class NotifyEvent;
66cdf0e10cSrcweir 
67cdf0e10cSrcweir #define SFX_PRINTER_PRINTER			 1 	// ohne JOBSETUP => temporaer
68cdf0e10cSrcweir #define SFX_PRINTER_JOBSETUP    	 2
69cdf0e10cSrcweir #define SFX_PRINTER_OPTIONS      	 4
70cdf0e10cSrcweir #define SFX_PRINTER_CHG_ORIENTATION  8
71cdf0e10cSrcweir #define SFX_PRINTER_CHG_SIZE 		16
72cdf0e10cSrcweir #define SFX_PRINTER_ALL         	31
73cdf0e10cSrcweir 
74cdf0e10cSrcweir #define SFX_PRINTER_CHG_ORIENTATION_FLAG  3
75cdf0e10cSrcweir #define SFX_PRINTER_CHG_SIZE_FLAG 		  4
76cdf0e10cSrcweir 
77cdf0e10cSrcweir #define SFX_PRINTERROR_NONE			 0
78cdf0e10cSrcweir #define SFX_PRINTERROR_BUSY			 1
79cdf0e10cSrcweir 
80cdf0e10cSrcweir enum SfxScrollingMode
81cdf0e10cSrcweir {
82cdf0e10cSrcweir 	SCROLLING_NO,
83cdf0e10cSrcweir 	SCROLLING_YES,
84cdf0e10cSrcweir 	SCROLLING_AUTO,
85cdf0e10cSrcweir 	SCROLLING_DEFAULT
86cdf0e10cSrcweir };
87cdf0e10cSrcweir 
88cdf0e10cSrcweir // "Geeicht" mit www.apple.com und Netscape 3.01
89cdf0e10cSrcweir #define DEFAULT_MARGIN_WIDTH 8
90cdf0e10cSrcweir #define DEFAULT_MARGIN_HEIGHT 12
91cdf0e10cSrcweir 
92cdf0e10cSrcweir //========================================================================
93cdf0e10cSrcweir 
94cdf0e10cSrcweir // 	@[SfxViewShell-Flags]
95cdf0e10cSrcweir 
96cdf0e10cSrcweir #define SFX_VIEW_HAS_PRINTOPTIONS    0x0010 /*  Options-Button und Options-
97cdf0e10cSrcweir 												Dialog im PrintDialog */
98cdf0e10cSrcweir #define SFX_VIEW_CAN_PRINT			 0x0020 /*  enabled Printing ohne Printer
99cdf0e10cSrcweir 												erzeugen zu m"ussen */
100cdf0e10cSrcweir #define SFX_VIEW_NO_SHOW			 0x0040 /*  Window der ViewShell darf nicht
101cdf0e10cSrcweir 												automatisch geshowed werden */
102cdf0e10cSrcweir #define SFX_VIEW_NO_NEWWINDOW		0x0100		/* keine weitere View erlauben */
103cdf0e10cSrcweir 
104cdf0e10cSrcweir /*	[Beschreibung]
105cdf0e10cSrcweir 
106cdf0e10cSrcweir 	Die SfxViewShell-Flags steuern das Verhalten der SfxViewShell f"ur die
107cdf0e10cSrcweir 	Dauer ihrer Lebenszeit. Sie werden im Konstruktor der <SfxViewShell>
108cdf0e10cSrcweir 	angegeben.
109cdf0e10cSrcweir */
110cdf0e10cSrcweir 
111cdf0e10cSrcweir //=========================================================================
112cdf0e10cSrcweir 
113cdf0e10cSrcweir #define SFX_DECL_VIEWFACTORY(Class) \
114cdf0e10cSrcweir private: \
115cdf0e10cSrcweir 	static SfxViewFactory *pFactory; \
116cdf0e10cSrcweir public: \
117cdf0e10cSrcweir 	static SfxViewShell  *CreateInstance(SfxViewFrame *pFrame, SfxViewShell *pOldView); \
118cdf0e10cSrcweir 	static void 		  RegisterFactory( sal_uInt16 nPrio = USHRT_MAX ); \
119cdf0e10cSrcweir 	static SfxViewFactory&Factory() { return *pFactory; } \
120cdf0e10cSrcweir     static void           InitFactory()
121cdf0e10cSrcweir 
122cdf0e10cSrcweir #define SFX_IMPL_NAMED_VIEWFACTORY(Class, AsciiViewName) \
123cdf0e10cSrcweir 	SfxViewFactory* Class::pFactory; \
124cdf0e10cSrcweir 	SfxViewShell* __EXPORT Class::CreateInstance(SfxViewFrame *pFrame, SfxViewShell *pOldView) \
125cdf0e10cSrcweir 	{ return new Class(pFrame, pOldView); } \
126cdf0e10cSrcweir     void Class::RegisterFactory( sal_uInt16 nPrio ) \
127cdf0e10cSrcweir 	{ \
128cdf0e10cSrcweir 		pFactory = new SfxViewFactory(&CreateInstance,&InitFactory,nPrio,AsciiViewName);\
129cdf0e10cSrcweir 		InitFactory(); \
130cdf0e10cSrcweir 	} \
131cdf0e10cSrcweir     void Class::InitFactory()
132cdf0e10cSrcweir 
133cdf0e10cSrcweir #define SFX_VIEW_REGISTRATION(DocClass) \
134cdf0e10cSrcweir 			DocClass::Factory().RegisterViewFactory( Factory() )
135cdf0e10cSrcweir 
136cdf0e10cSrcweir #define SFX_REGISTER_VIEW(ViewShellClass) \
137cdf0e10cSrcweir 			Factory().RegisterViewFactory( ViewShellClass::Factory() )
138cdf0e10cSrcweir 
139cdf0e10cSrcweir class SfxInPlaceClient;
140cdf0e10cSrcweir DECLARE_LIST( SfxInPlaceClientList, SfxInPlaceClient* )
141cdf0e10cSrcweir 
142cdf0e10cSrcweir // -----------------------------------------------------------------------
143cdf0e10cSrcweir class SFX2_DLLPUBLIC SfxViewShell: public SfxShell, public SfxListener
144cdf0e10cSrcweir {
145cdf0e10cSrcweir #ifdef _SFXVIEWSH_HXX
146cdf0e10cSrcweir friend class SfxViewFrame;
147cdf0e10cSrcweir friend class SfxPlugInFrame;
148cdf0e10cSrcweir friend class SfxBaseController;
149cdf0e10cSrcweir friend class SfxPrinterController;
150cdf0e10cSrcweir #endif
151cdf0e10cSrcweir 
152cdf0e10cSrcweir 	struct SfxViewShell_Impl*	pImp;
153cdf0e10cSrcweir     SfxInPlaceClientList*       pIPClientList;
154cdf0e10cSrcweir 	SfxViewFrame*				pFrame;
155cdf0e10cSrcweir 	SfxShell*					pSubShell;
156cdf0e10cSrcweir 	Window*						pWindow;
157cdf0e10cSrcweir 	sal_Bool						bNoNewWindow;
158cdf0e10cSrcweir 
159cdf0e10cSrcweir protected:
160cdf0e10cSrcweir 	virtual void                Activate(sal_Bool IsMDIActivate);
161cdf0e10cSrcweir 	virtual void                Deactivate(sal_Bool IsMDIActivate);
162cdf0e10cSrcweir 
163cdf0e10cSrcweir 	virtual Size                GetOptimalSizePixel() const;
164cdf0e10cSrcweir 
165cdf0e10cSrcweir 	virtual void				InnerResizePixel( const Point &rOfs, const Size &rSize );
166cdf0e10cSrcweir 	virtual void                OuterResizePixel( const Point &rOfs, const Size &rSize );
167cdf0e10cSrcweir 	virtual void                SetZoomFactor( const Fraction &rZoomX, const Fraction &rZoomY );
168cdf0e10cSrcweir 
169cdf0e10cSrcweir 	virtual void				Move();
170cdf0e10cSrcweir 
171cdf0e10cSrcweir 	virtual void                Notify( SfxBroadcaster& rBC, const SfxHint& rHint );
172cdf0e10cSrcweir 
173cdf0e10cSrcweir public:
174cdf0e10cSrcweir 	// Iteration
175cdf0e10cSrcweir 	static SfxViewShell*        GetFirst( const TypeId* pType = 0, sal_Bool bOnlyVisible = sal_True );
176cdf0e10cSrcweir 	static SfxViewShell*        GetNext( const SfxViewShell& rPrev,
177cdf0e10cSrcweir 										 const TypeId* pType = 0, sal_Bool bOnlyVisible = sal_True );
178cdf0e10cSrcweir 	static SfxViewShell*        Current();
179cdf0e10cSrcweir 
180cdf0e10cSrcweir     static SfxViewShell*        Get( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XController>& i_rController );
181cdf0e10cSrcweir 
182cdf0e10cSrcweir 	// Ctoren/Dtoren Initialisierung
183cdf0e10cSrcweir 								TYPEINFO();
184cdf0e10cSrcweir 								SFX_DECL_INTERFACE(SFX_INTERFACE_SFXVIEWSH)
185cdf0e10cSrcweir 
186cdf0e10cSrcweir 								SfxViewShell( SfxViewFrame *pFrame, sal_uInt16 nFlags = 0 );
187cdf0e10cSrcweir 	virtual                     ~SfxViewShell();
188cdf0e10cSrcweir 
189cdf0e10cSrcweir     SfxInPlaceClient*           GetIPClient() const;
190cdf0e10cSrcweir     SfxInPlaceClient*           GetUIActiveClient() const;
191cdf0e10cSrcweir     SfxInPlaceClient*           FindIPClient( const ::com::sun::star::uno::Reference < ::com::sun::star::embed::XEmbeddedObject >&  xObj, Window *pObjParentWin ) const;
192cdf0e10cSrcweir 
193cdf0e10cSrcweir     virtual ErrCode             DoVerb(long nVerb);
194cdf0e10cSrcweir 
195cdf0e10cSrcweir 	virtual void				OutplaceActivated( sal_Bool bActive, SfxInPlaceClient* pClient );
196cdf0e10cSrcweir 	virtual void				InplaceActivating( SfxInPlaceClient* pClient );
197cdf0e10cSrcweir 	virtual void				InplaceDeactivated( SfxInPlaceClient* pClient );
198cdf0e10cSrcweir 	virtual void				UIActivating( SfxInPlaceClient* pClient );
199cdf0e10cSrcweir 	virtual void				UIDeactivated( SfxInPlaceClient* pClient );
200cdf0e10cSrcweir 
201cdf0e10cSrcweir 	virtual void				JumpToMark( const String& rMark );
202cdf0e10cSrcweir 	void						VisAreaChanged(const Rectangle& rRect);
203cdf0e10cSrcweir 
204cdf0e10cSrcweir 	// Verhaltens-Flags
205cdf0e10cSrcweir 	SfxScrollingMode			GetScrollingMode() const;
206cdf0e10cSrcweir 	void						SetScrollingMode( SfxScrollingMode eMode );
207cdf0e10cSrcweir 
208cdf0e10cSrcweir 	// Misc
209cdf0e10cSrcweir 	virtual sal_uInt16              PrepareClose( sal_Bool bUI = sal_True, sal_Bool bForBrowsing = sal_False );
210cdf0e10cSrcweir 	virtual String              GetSelectionText( sal_Bool bCompleteWords = sal_False );
211cdf0e10cSrcweir 	virtual sal_Bool				HasSelection( sal_Bool bText = sal_True ) const;
212cdf0e10cSrcweir 	virtual SdrView*			GetDrawView() const;
213cdf0e10cSrcweir 
214cdf0e10cSrcweir     void                        SetSubShell( SfxShell *pShell );
GetSubShell() const215cdf0e10cSrcweir 	SfxShell*                   GetSubShell() const { return pSubShell; }
216cdf0e10cSrcweir 	void						AddSubShell( SfxShell& rShell );
217cdf0e10cSrcweir 	void						RemoveSubShell( SfxShell *pShell=NULL );
218cdf0e10cSrcweir 	SfxShell*					GetSubShell( sal_uInt16 );
219cdf0e10cSrcweir 
220cdf0e10cSrcweir 	// Focus, KeyInput, Cursor
221cdf0e10cSrcweir 	void						GotFocus() const;
222cdf0e10cSrcweir 	inline void					LostFocus() const;
223cdf0e10cSrcweir 	virtual void				ShowCursor( FASTBOOL bOn = sal_True );
224cdf0e10cSrcweir 	virtual FASTBOOL			KeyInput( const KeyEvent &rKeyEvent );
225cdf0e10cSrcweir     sal_Bool                        Escape();
226cdf0e10cSrcweir 
227cdf0e10cSrcweir 	// Viewing Interface
GetWindow() const228cdf0e10cSrcweir 	Window*                     GetWindow() const { return pWindow; }
229cdf0e10cSrcweir 	void                        SetWindow( Window *pViewPort );
230cdf0e10cSrcweir 	virtual void				AdjustPosSizePixel( const Point &rOfs, const Size &rSize );
231cdf0e10cSrcweir 	const SvBorder&             GetBorderPixel() const;
232cdf0e10cSrcweir 	void                        SetBorderPixel( const SvBorder &rBorder );
233cdf0e10cSrcweir 	void						InvalidateBorder();
234cdf0e10cSrcweir 	inline SfxViewFrame*        GetViewFrame() const;
235cdf0e10cSrcweir 	void						AdjustVisArea(const Rectangle& rRect);
236cdf0e10cSrcweir 
237cdf0e10cSrcweir 	// Printing Interface
238cdf0e10cSrcweir 	virtual SfxPrinter*         GetPrinter( sal_Bool bCreate = sal_False );
239cdf0e10cSrcweir     virtual sal_uInt16              SetPrinter( SfxPrinter *pNewPrinter, sal_uInt16 nDiffFlags = SFX_PRINTER_ALL, bool bIsAPI=sal_False );
240cdf0e10cSrcweir 	virtual SfxTabPage*         CreatePrintOptionsPage( Window *pParent, const SfxItemSet &rOptions );
241cdf0e10cSrcweir 	void						LockPrinter( sal_Bool bLock = sal_True );
242cdf0e10cSrcweir 	sal_Bool					IsPrinterLocked() const;
243cdf0e10cSrcweir 	virtual JobSetup			GetJobSetup() const;
244cdf0e10cSrcweir 	Printer*                    GetActivePrinter() const;
245cdf0e10cSrcweir 
246cdf0e10cSrcweir 	// Workingset
247cdf0e10cSrcweir 	virtual void                WriteUserData( String&, sal_Bool bBrowse = sal_False );
248cdf0e10cSrcweir 	virtual void                ReadUserData( const String&, sal_Bool bBrowse = sal_False );
249cdf0e10cSrcweir     virtual void                WriteUserDataSequence ( ::com::sun::star::uno::Sequence < ::com::sun::star::beans::PropertyValue >&, sal_Bool bBrowse = sal_False );
250cdf0e10cSrcweir     virtual void                ReadUserDataSequence ( const ::com::sun::star::uno::Sequence < ::com::sun::star::beans::PropertyValue >&, sal_Bool bBrowse = sal_False );
251cdf0e10cSrcweir 	virtual void				QueryObjAreaPixel( Rectangle& rRect ) const;
252cdf0e10cSrcweir 
253cdf0e10cSrcweir 	virtual SfxObjectShell*		GetObjectShell();
254cdf0e10cSrcweir     /** retrieves the document which shall be considered the "current document" when the frame is active
255cdf0e10cSrcweir 
256cdf0e10cSrcweir         The default implementation simply returns the XModel of the associated SfxObjectShell. You will rarely
257cdf0e10cSrcweir         need to overwrite this behavior.
258cdf0e10cSrcweir     */
259cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel >
260cdf0e10cSrcweir                                 GetCurrentDocument() const;
261cdf0e10cSrcweir     /** forwards the current document, as returned by ->GetCurrentDocument, to SfxObjectShell::SetWorkingDocument
262cdf0e10cSrcweir     */
263cdf0e10cSrcweir     void                        SetCurrentDocument() const;
264cdf0e10cSrcweir 
265cdf0e10cSrcweir     /** get an XRenderable instance that can render this docuement
266cdf0e10cSrcweir     */
267cdf0e10cSrcweir     virtual com::sun::star::uno::Reference< com::sun::star::view::XRenderable > GetRenderable();
268cdf0e10cSrcweir 
269cdf0e10cSrcweir 
270cdf0e10cSrcweir 	virtual void				MarginChanged();
271cdf0e10cSrcweir 	const Size&					GetMargin() const;
272cdf0e10cSrcweir 	void						SetMargin( const Size& );
273cdf0e10cSrcweir 	void 						DisconnectAllClients();
274cdf0e10cSrcweir 	virtual SfxFrame*     		GetSmartSelf( SfxFrame* pSelf, SfxMedium& rMedium );
NewWindowAllowed() const275cdf0e10cSrcweir 	sal_Bool						NewWindowAllowed() const			{ return !bNoNewWindow; }
SetNewWindowAllowed(sal_Bool bSet)276cdf0e10cSrcweir 	void						SetNewWindowAllowed( sal_Bool bSet )	{ bNoNewWindow = !bSet; }
277cdf0e10cSrcweir 
278cdf0e10cSrcweir     void                        SetController( SfxBaseController* pController );
279cdf0e10cSrcweir     ::com::sun::star::uno::Reference< ::com::sun::star::frame::XController >
280cdf0e10cSrcweir 								GetController();
281cdf0e10cSrcweir 
282cdf0e10cSrcweir     ::cppu::OInterfaceContainerHelper& GetContextMenuInterceptors() const;
283cdf0e10cSrcweir     sal_Bool                        TryContextMenuInterception( Menu& rIn, const ::rtl::OUString& rMenuIdentifier, Menu*& rpOut, ::com::sun::star::ui::ContextMenuExecuteEvent aEvent );
284cdf0e10cSrcweir 
285cdf0e10cSrcweir 	void						SetAdditionalPrintOptions( const com::sun::star::uno::Sequence < com::sun::star::beans::PropertyValue >& );
286cdf0e10cSrcweir 	void						ExecPrint( const com::sun::star::uno::Sequence < com::sun::star::beans::PropertyValue >&, sal_Bool, sal_Bool );
287cdf0e10cSrcweir 
288cdf0e10cSrcweir 	void						AddRemoveClipboardListener( const com::sun::star::uno::Reference < com::sun::star::datatransfer::clipboard::XClipboardListener>&, sal_Bool );
289cdf0e10cSrcweir 	::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::clipboard::XClipboardNotifier > GetClipboardNotifier();
290cdf0e10cSrcweir 
291cdf0e10cSrcweir #if _SOLAR__PRIVATE
292cdf0e10cSrcweir     SAL_DLLPRIVATE SfxInPlaceClient* GetUIActiveIPClient_Impl() const;
293cdf0e10cSrcweir     SAL_DLLPRIVATE void AddContextMenuInterceptor_Impl( const ::com::sun::star::uno::Reference < ::com::sun::star::ui::XContextMenuInterceptor >& xInterceptor );
294cdf0e10cSrcweir     SAL_DLLPRIVATE void RemoveContextMenuInterceptor_Impl( const ::com::sun::star::uno::Reference < ::com::sun::star::ui::XContextMenuInterceptor >& xInterceptor );
295cdf0e10cSrcweir 	SAL_DLLPRIVATE bool GlobalKeyInput_Impl( const KeyEvent &rKeyEvent );
296cdf0e10cSrcweir 
NewIPClient_Impl(SfxInPlaceClient * pIPClient)297cdf0e10cSrcweir     SAL_DLLPRIVATE void NewIPClient_Impl( SfxInPlaceClient *pIPClient )
298cdf0e10cSrcweir                                 { GetIPClientList_Impl(sal_True)->Insert(pIPClient); }
IPClientGone_Impl(SfxInPlaceClient * pIPClient)299cdf0e10cSrcweir     SAL_DLLPRIVATE void IPClientGone_Impl( SfxInPlaceClient *pIPClient )
300cdf0e10cSrcweir                                 { GetIPClientList_Impl(sal_True)->Remove(pIPClient); }
301cdf0e10cSrcweir     SAL_DLLPRIVATE SfxInPlaceClientList* GetIPClientList_Impl( sal_Bool bCreate = sal_True ) const;
302cdf0e10cSrcweir     SAL_DLLPRIVATE void ResetAllClients_Impl( SfxInPlaceClient *pIP );
303cdf0e10cSrcweir 	SAL_DLLPRIVATE void DiscardClients_Impl();
304cdf0e10cSrcweir 	SAL_DLLPRIVATE sal_Bool PlugInsActive() const;
305cdf0e10cSrcweir 
306cdf0e10cSrcweir 	SAL_DLLPRIVATE SfxPrinter* SetPrinter_Impl( SfxPrinter *pNewPrinter );
307cdf0e10cSrcweir 	SAL_DLLPRIVATE sal_Bool IsShowView_Impl() const;
308cdf0e10cSrcweir 
309cdf0e10cSrcweir 	SAL_DLLPRIVATE long HandleNotifyEvent_Impl( NotifyEvent& rEvent );
310cdf0e10cSrcweir 	SAL_DLLPRIVATE sal_Bool HasKeyListeners_Impl();
311cdf0e10cSrcweir 	SAL_DLLPRIVATE sal_Bool HasMouseClickListeners_Impl();
312cdf0e10cSrcweir 
313cdf0e10cSrcweir     SAL_DLLPRIVATE SfxBaseController*   GetBaseController_Impl() const;
314cdf0e10cSrcweir 
315cdf0e10cSrcweir 	// Shell Interface
316cdf0e10cSrcweir 	SAL_DLLPRIVATE void ExecPrint_Impl(SfxRequest &);
317cdf0e10cSrcweir 	SAL_DLLPRIVATE void ExecMisc_Impl(SfxRequest &);
318cdf0e10cSrcweir 	SAL_DLLPRIVATE void GetState_Impl(SfxItemSet&);
319cdf0e10cSrcweir 	SAL_DLLPRIVATE SfxFrameSetDescriptor* GetFrameSet_Impl() const;
320cdf0e10cSrcweir 	SAL_DLLPRIVATE void SetFrameSet_Impl(SfxFrameSetDescriptor*);
321cdf0e10cSrcweir     SAL_DLLPRIVATE void CheckIPClient_Impl( SfxInPlaceClient*, const Rectangle& );
322cdf0e10cSrcweir 	SAL_DLLPRIVATE void PushSubShells_Impl( sal_Bool bPush=sal_True );
PopSubShells_Impl()323cdf0e10cSrcweir     SAL_DLLPRIVATE void PopSubShells_Impl() { PushSubShells_Impl( sal_False ); }
324cdf0e10cSrcweir 	SAL_DLLPRIVATE void TakeOwnerShip_Impl();
325cdf0e10cSrcweir     SAL_DLLPRIVATE void CheckOwnerShip_Impl();
326cdf0e10cSrcweir     SAL_DLLPRIVATE void TakeFrameOwnerShip_Impl();
327cdf0e10cSrcweir     SAL_DLLPRIVATE sal_Bool ExecKey_Impl(const KeyEvent& aKey);
328cdf0e10cSrcweir #endif
329cdf0e10cSrcweir };
330cdf0e10cSrcweir 
331cdf0e10cSrcweir //========================================================================
332cdf0e10cSrcweir 
LostFocus() const333cdf0e10cSrcweir inline void	SfxViewShell::LostFocus() const
334cdf0e10cSrcweir 
335cdf0e10cSrcweir /*	[Beschreibung]
336cdf0e10cSrcweir 
337cdf0e10cSrcweir 	Diese Methode mu\s vom Applikationsentwickler gerufen werden, wenn
338cdf0e10cSrcweir 	das Edit-Window den Focus verloren hat. Der SFx hat so z.B. die
339cdf0e10cSrcweir 	M"oglichkeit, den Accelerator auszuschalten, damit in bestimmten
340cdf0e10cSrcweir 	Floating-Windows die Cursor-Tasten, die Delete-Taste etc. funktionieren,
341cdf0e10cSrcweir 	obwohl sie "uber den Accelerator umdefiniert sind.
342cdf0e10cSrcweir 
343cdf0e10cSrcweir 
344cdf0e10cSrcweir 	[Anmerkung]
345cdf0e10cSrcweir 
346cdf0e10cSrcweir 	<StarView> liefert leider keine M"oglichkeit, solche Events
347cdf0e10cSrcweir 	'von der Seite' einzuh"angen.
348cdf0e10cSrcweir */
349cdf0e10cSrcweir 
350cdf0e10cSrcweir {
351cdf0e10cSrcweir }
352cdf0e10cSrcweir 
353cdf0e10cSrcweir //------------------------------------------------------------------------
354cdf0e10cSrcweir 
GetViewFrame() const355cdf0e10cSrcweir inline SfxViewFrame* SfxViewShell::GetViewFrame() const
356cdf0e10cSrcweir 
357cdf0e10cSrcweir /*	[Bechreibung]
358cdf0e10cSrcweir 
359cdf0e10cSrcweir 	Diese Methode liefert einen Pointer auf die <SfxViewFrame>-Instanz,
360cdf0e10cSrcweir 	in der diese SfxViewShell dargestellt wird. Dieses ist die Instanz,
361cdf0e10cSrcweir 	die imKonstruktor durchgereicht wurde. Es ist gew"ahrleistet, da\s
362cdf0e10cSrcweir 	der zur"uckgegebene Pointer auf eine g"ultige SfxViewFrame-Instanz
363cdf0e10cSrcweir 	zeigt.
364cdf0e10cSrcweir 
365cdf0e10cSrcweir 
366cdf0e10cSrcweir 	[Querverweise]
367cdf0e10cSrcweir 
368cdf0e10cSrcweir 	<SfxShell::GetFrame()const>
369cdf0e10cSrcweir */
370cdf0e10cSrcweir 
371cdf0e10cSrcweir {
372cdf0e10cSrcweir 	return pFrame;
373cdf0e10cSrcweir }
374cdf0e10cSrcweir 
375cdf0e10cSrcweir #endif // #ifndef _SFXVIEWSH_HXX
376cdf0e10cSrcweir 
377