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