office-gobmx/sfx2/source/view/viewimp.hxx

84 lines
3 KiB
C++

/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3
* only, as published by the Free Software Foundation.
*
* OpenOffice.org is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License version 3 for more details
* (a copy is included in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU Lesser General Public License
* version 3 along with OpenOffice.org. If not, see
* <http://www.openoffice.org/license.html>
* for a copy of the LGPLv3 License.
*
************************************************************************/
#ifndef _VIEWIMP_HXX
#define _VIEWIMP_HXX
// include ---------------------------------------------------------------
#include <basic/sbxobj.hxx>
#include <sfx2/viewsh.hxx>
#include <sfx2/viewfrm.hxx> // SvBorder
#include <osl/mutex.hxx>
#include <cppuhelper/interfacecontainer.hxx>
#include <com/sun/star/uno/Sequence.hxx>
#include <com/sun/star/beans/PropertyValue.hpp>
#include <svtools/acceleratorexecute.hxx>
#include <rtl/ref.hxx>
#include <vcl/print.hxx>
#include <queue>
// forward ---------------------------------------------------------------
class SfxOfficeDispatch;
class SfxBaseController;
typedef SfxShell* SfxShellPtr_Impl;
SV_DECL_PTRARR( SfxShellArr_Impl, SfxShellPtr_Impl, 4, 4 )
class SfxClipboardChangeListener;
struct SfxViewShell_Impl
{
::osl::Mutex aMutex;
::cppu::OInterfaceContainerHelper aInterceptorContainer;
BOOL bControllerSet;
SfxShellArr_Impl aArr;
SvBorder aBorder;
Size aOptimalSize;
Size aMargin;
USHORT nPrinterLocks;
BOOL bCanPrint;
BOOL bHasPrintOptions;
BOOL bPlugInsActive;
BOOL bIsShowView;
BOOL bOwnsMenu;
BOOL bGotOwnerShip;
BOOL bGotFrameOwnerShip;
SfxScrollingMode eScroll;
USHORT nFamily;
SfxBaseController* pController;
::svt::AcceleratorExecute* pAccExec;
com::sun::star::uno::Sequence < com::sun::star::beans::PropertyValue > aPrintOpts;
::rtl::Reference< SfxClipboardChangeListener > xClipboardListener;
::boost::shared_ptr< vcl::PrinterController > m_pPrinterController;
SfxViewShell_Impl();
};
#endif