Update ooo320-m1
[ooovba.git] / sfx2 / source / view / viewimp.hxx
blob81809c8980ed9276a972958c240226da7254de8c
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: viewimp.hxx,v $
10 * $Revision: 1.16 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 #ifndef _VIEWIMP_HXX
32 #define _VIEWIMP_HXX
34 // include ---------------------------------------------------------------
36 #ifndef __SBX_SBXOBJ_HXX
37 #include <basic/sbxobj.hxx>
38 #endif
39 #include <sfx2/viewsh.hxx>
40 #include <sfx2/viewfrm.hxx> // SvBorder
41 #include <osl/mutex.hxx>
42 #include <cppuhelper/interfacecontainer.hxx>
44 #include <com/sun/star/uno/Sequence.hxx>
45 #include <com/sun/star/beans/PropertyValue.hpp>
46 #include <svtools/acceleratorexecute.hxx>
48 #include <queue>
50 // forward ---------------------------------------------------------------
52 class SfxOfficeDispatch;
53 class SfxBaseController;
55 typedef SfxShell* SfxShellPtr_Impl;
56 SV_DECL_PTRARR( SfxShellArr_Impl, SfxShellPtr_Impl, 4, 4 )
58 // struct SfxViewShell_Impl ----------------------------------------------
59 class SfxAsyncPrintExec_Impl : public SfxListener
61 SfxViewShell* pView;
62 ::std::queue < SfxRequest*> aReqs;
64 virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint );
66 public:
67 SfxAsyncPrintExec_Impl( SfxViewShell* pShell)
68 : pView( pShell )
71 void AddRequest( SfxRequest& rReq );
74 struct SfxViewShell_Impl
76 ::osl::Mutex aMutex;
77 ::cppu::OInterfaceContainerHelper aInterceptorContainer;
78 BOOL bControllerSet;
79 SfxShellArr_Impl aArr;
80 SvBorder aBorder;
81 Size aOptimalSize;
82 Size aMargin;
83 USHORT nPrinterLocks;
84 BOOL bUseObjectSize;
85 BOOL bCanPrint;
86 BOOL bHasPrintOptions;
87 BOOL bPlugInsActive;
88 BOOL bIsShowView;
89 BOOL bFrameSetImpl;
90 BOOL bOwnsMenu;
91 BOOL bGotOwnerShip;
92 BOOL bGotFrameOwnerShip;
93 SfxScrollingMode eScroll;
94 USHORT nFamily;
95 SfxBaseController* pController;
96 ::svt::AcceleratorExecute* pAccExec;
97 SfxAsyncPrintExec_Impl* pPrinterCommandQueue;
98 com::sun::star::uno::Sequence < com::sun::star::beans::PropertyValue > aPrintOpts;
100 SfxViewShell_Impl()
101 : aInterceptorContainer( aMutex )
102 , pAccExec(0)
106 #endif