1*cdf0e10cSrcweir /************************************************************************* 2*cdf0e10cSrcweir * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3*cdf0e10cSrcweir * 4*cdf0e10cSrcweir * Copyright 2009 by Sun Microsystems, Inc. 5*cdf0e10cSrcweir * 6*cdf0e10cSrcweir * OpenOffice.org - a multi-platform office productivity suite 7*cdf0e10cSrcweir * 8*cdf0e10cSrcweir * This file is part of OpenOffice.org. 9*cdf0e10cSrcweir * 10*cdf0e10cSrcweir * OpenOffice.org is free software: you can redistribute it and/or modify 11*cdf0e10cSrcweir * it under the terms of the GNU Lesser General Public License version 3 12*cdf0e10cSrcweir * only, as published by the Free Software Foundation. 13*cdf0e10cSrcweir * 14*cdf0e10cSrcweir * OpenOffice.org is distributed in the hope that it will be useful, 15*cdf0e10cSrcweir * but WITHOUT ANY WARRANTY; without even the implied warranty of 16*cdf0e10cSrcweir * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17*cdf0e10cSrcweir * GNU Lesser General Public License version 3 for more details 18*cdf0e10cSrcweir * (a copy is included in the LICENSE file that accompanied this code). 19*cdf0e10cSrcweir * 20*cdf0e10cSrcweir * You should have received a copy of the GNU Lesser General Public License 21*cdf0e10cSrcweir * version 3 along with OpenOffice.org. If not, see 22*cdf0e10cSrcweir * <http://www.openoffice.org/license.html> 23*cdf0e10cSrcweir * for a copy of the LGPLv3 License. 24*cdf0e10cSrcweir ************************************************************************/ 25*cdf0e10cSrcweir 26*cdf0e10cSrcweir #ifndef SFX2_IMPVIEWFRAME_HXX 27*cdf0e10cSrcweir #define SFX2_IMPVIEWFRAME_HXX 28*cdf0e10cSrcweir 29*cdf0e10cSrcweir #include "sfx2/viewfrm.hxx" 30*cdf0e10cSrcweir 31*cdf0e10cSrcweir #include <svtools/asynclink.hxx> 32*cdf0e10cSrcweir #include <vcl/window.hxx> 33*cdf0e10cSrcweir 34*cdf0e10cSrcweir #include <boost/optional.hpp> 35*cdf0e10cSrcweir 36*cdf0e10cSrcweir struct SfxViewFrame_Impl 37*cdf0e10cSrcweir { 38*cdf0e10cSrcweir SvBorder aBorder; 39*cdf0e10cSrcweir Size aMargin; 40*cdf0e10cSrcweir Size aSize; 41*cdf0e10cSrcweir String aFrameTitle; 42*cdf0e10cSrcweir TypeId aLastType; 43*cdf0e10cSrcweir String aActualURL; 44*cdf0e10cSrcweir SfxFrame& rFrame; 45*cdf0e10cSrcweir svtools::AsynchronLink* pReloader; 46*cdf0e10cSrcweir Window* pWindow; 47*cdf0e10cSrcweir SfxViewFrame* pActiveChild; 48*cdf0e10cSrcweir Window* pFocusWin; 49*cdf0e10cSrcweir sal_uInt16 nDocViewNo; 50*cdf0e10cSrcweir sal_uInt16 nCurViewId; 51*cdf0e10cSrcweir sal_Bool bResizeInToOut:1; 52*cdf0e10cSrcweir sal_Bool bDontOverwriteResizeInToOut:1; 53*cdf0e10cSrcweir sal_Bool bObjLocked:1; 54*cdf0e10cSrcweir sal_Bool bReloading:1; 55*cdf0e10cSrcweir sal_Bool bIsDowning:1; 56*cdf0e10cSrcweir sal_Bool bModal:1; 57*cdf0e10cSrcweir sal_Bool bEnabled:1; 58*cdf0e10cSrcweir sal_Bool bWindowWasEnabled:1; 59*cdf0e10cSrcweir sal_Bool bActive; 60*cdf0e10cSrcweir String aFactoryName; 61*cdf0e10cSrcweir ::boost::optional< bool > 62*cdf0e10cSrcweir aHasToolPanels; 63*cdf0e10cSrcweir 64*cdf0e10cSrcweir SfxViewFrame_Impl( SfxFrame& i_rFrame ) 65*cdf0e10cSrcweir : rFrame( i_rFrame ) 66*cdf0e10cSrcweir , pReloader(0 ) 67*cdf0e10cSrcweir , pWindow( 0 ) 68*cdf0e10cSrcweir , bWindowWasEnabled(sal_True) 69*cdf0e10cSrcweir , bActive( sal_False ) 70*cdf0e10cSrcweir { 71*cdf0e10cSrcweir } 72*cdf0e10cSrcweir 73*cdf0e10cSrcweir ~SfxViewFrame_Impl() 74*cdf0e10cSrcweir { 75*cdf0e10cSrcweir delete pReloader; 76*cdf0e10cSrcweir } 77*cdf0e10cSrcweir }; 78*cdf0e10cSrcweir 79*cdf0e10cSrcweir class SfxFrameViewWindow_Impl : public Window 80*cdf0e10cSrcweir { 81*cdf0e10cSrcweir sal_Bool bActive; 82*cdf0e10cSrcweir SfxViewFrame* pFrame; 83*cdf0e10cSrcweir 84*cdf0e10cSrcweir public: 85*cdf0e10cSrcweir SfxFrameViewWindow_Impl( SfxViewFrame* p, Window& rParent, WinBits nBits=0 ) : 86*cdf0e10cSrcweir Window( &rParent, nBits | WB_BORDER | WB_CLIPCHILDREN ), 87*cdf0e10cSrcweir bActive( sal_False ), 88*cdf0e10cSrcweir pFrame( p ) 89*cdf0e10cSrcweir { 90*cdf0e10cSrcweir p->GetFrame().GetWindow().SetBorderStyle( WINDOW_BORDER_NOBORDER ); 91*cdf0e10cSrcweir } 92*cdf0e10cSrcweir 93*cdf0e10cSrcweir virtual void Resize(); 94*cdf0e10cSrcweir virtual void StateChanged( StateChangedType nStateChange ); 95*cdf0e10cSrcweir }; 96*cdf0e10cSrcweir 97*cdf0e10cSrcweir #endif // SFX2_IMPVIEWFRAME_HXX 98*cdf0e10cSrcweir 99