1 /************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 11 * OpenOffice.org is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Lesser General Public License version 3 13 * only, as published by the Free Software Foundation. 14 * 15 * OpenOffice.org is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU Lesser General Public License version 3 for more details 19 * (a copy is included in the LICENSE file that accompanied this code). 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * version 3 along with OpenOffice.org. If not, see 23 * <http://www.openoffice.org/license.html> 24 * for a copy of the LGPLv3 License. 25 * 26 ************************************************************************/ 27 28 #ifndef _SFX_IMPFRAME_HXX 29 #define _SFX_IMPFRAME_HXX 30 31 #include <sfx2/frame.hxx> 32 #include <sfx2/viewfrm.hxx> // SvBorder 33 34 class SfxViewFrame; 35 class SfxObjectShell; 36 #include <com/sun/star/frame/XController.hpp> 37 #include <com/sun/star/awt/XTopWindow.hpp> 38 #include <com/sun/star/awt/XWindow.hpp> 39 #include <com/sun/star/awt/PosSize.hpp> 40 #include <cppuhelper/weak.hxx> 41 42 #include <sfx2/viewsh.hxx> 43 #include <sfx2/sfxuno.hxx> 44 45 #ifndef FRAME_SEARCH_PARENT 46 #define FRAME_SEARCH_PARENT 0x00000001 47 #define FRAME_SEARCH_SELF 0x00000002 48 #define FRAME_SEARCH_CHILDREN 0x00000004 49 #define FRAME_SEARCH_CREATE 0x00000008 50 #endif 51 52 class SfxFrame_Impl : public SfxBroadcaster, public SvCompatWeakBase 53 { 54 public: 55 ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame > xFrame; 56 sal_uInt32 nType; 57 SfxViewFrame* pCurrentViewFrame; 58 SfxFrameDescriptor* pDescr; 59 sal_uInt16 nLocks; 60 sal_Bool bClosing : 1; 61 sal_Bool bPrepClosing : 1; 62 sal_Bool bInCancelTransfers : 1; 63 sal_Bool bOwnsBindings : 1; 64 sal_Bool bReleasingComponent : 1; 65 sal_Bool bInPlace : 1; 66 SfxFrame* pFrame; 67 SfxWorkWindow* pWorkWin; 68 SvBorder aBorder; 69 // formerly SfxTopFrame 70 Window* pExternalContainerWindow; 71 bool bHidden; 72 bool bLockResize; 73 bool bMenuBarOn; 74 75 SfxFrame_Impl( SfxFrame* pAntiImplP ) 76 :SvCompatWeakBase( pAntiImplP ) 77 ,nType( 0L ) 78 ,pCurrentViewFrame( NULL ) 79 ,pDescr( NULL ) 80 ,nLocks( 0 ) 81 ,bClosing(sal_False) 82 ,bPrepClosing(sal_False) 83 ,bInCancelTransfers( sal_False ) 84 ,bOwnsBindings( sal_False ) 85 ,bReleasingComponent( sal_False ) 86 ,bInPlace( sal_False ) 87 ,pFrame( pAntiImplP ) 88 ,pWorkWin( 0 ) 89 ,pExternalContainerWindow( NULL ) 90 ,bHidden( false ) 91 ,bLockResize( false ) 92 ,bMenuBarOn( true ) 93 { 94 } 95 96 virtual ~SfxFrame_Impl() { } 97 }; 98 99 #endif 100 101