xref: /aoo4110/main/sfx2/source/view/impviewframe.hxx (revision b1cdbd2c)
1*b1cdbd2cSJim Jagielski /**************************************************************
2*b1cdbd2cSJim Jagielski  *
3*b1cdbd2cSJim Jagielski  * Licensed to the Apache Software Foundation (ASF) under one
4*b1cdbd2cSJim Jagielski  * or more contributor license agreements.  See the NOTICE file
5*b1cdbd2cSJim Jagielski  * distributed with this work for additional information
6*b1cdbd2cSJim Jagielski  * regarding copyright ownership.  The ASF licenses this file
7*b1cdbd2cSJim Jagielski  * to you under the Apache License, Version 2.0 (the
8*b1cdbd2cSJim Jagielski  * "License"); you may not use this file except in compliance
9*b1cdbd2cSJim Jagielski  * with the License.  You may obtain a copy of the License at
10*b1cdbd2cSJim Jagielski  *
11*b1cdbd2cSJim Jagielski  *   http://www.apache.org/licenses/LICENSE-2.0
12*b1cdbd2cSJim Jagielski  *
13*b1cdbd2cSJim Jagielski  * Unless required by applicable law or agreed to in writing,
14*b1cdbd2cSJim Jagielski  * software distributed under the License is distributed on an
15*b1cdbd2cSJim Jagielski  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*b1cdbd2cSJim Jagielski  * KIND, either express or implied.  See the License for the
17*b1cdbd2cSJim Jagielski  * specific language governing permissions and limitations
18*b1cdbd2cSJim Jagielski  * under the License.
19*b1cdbd2cSJim Jagielski  *
20*b1cdbd2cSJim Jagielski  *************************************************************/
21*b1cdbd2cSJim Jagielski 
22*b1cdbd2cSJim Jagielski 
23*b1cdbd2cSJim Jagielski 
24*b1cdbd2cSJim Jagielski #ifndef SFX2_IMPVIEWFRAME_HXX
25*b1cdbd2cSJim Jagielski #define SFX2_IMPVIEWFRAME_HXX
26*b1cdbd2cSJim Jagielski 
27*b1cdbd2cSJim Jagielski #include "sfx2/viewfrm.hxx"
28*b1cdbd2cSJim Jagielski 
29*b1cdbd2cSJim Jagielski #include <svtools/asynclink.hxx>
30*b1cdbd2cSJim Jagielski #include <vcl/window.hxx>
31*b1cdbd2cSJim Jagielski 
32*b1cdbd2cSJim Jagielski #include <boost/optional.hpp>
33*b1cdbd2cSJim Jagielski 
34*b1cdbd2cSJim Jagielski struct SfxViewFrame_Impl
35*b1cdbd2cSJim Jagielski {
36*b1cdbd2cSJim Jagielski     SvBorder            aBorder;
37*b1cdbd2cSJim Jagielski     Size                aMargin;
38*b1cdbd2cSJim Jagielski     Size                aSize;
39*b1cdbd2cSJim Jagielski     String              aFrameTitle;
40*b1cdbd2cSJim Jagielski     TypeId              aLastType;
41*b1cdbd2cSJim Jagielski 	String				aActualURL;
42*b1cdbd2cSJim Jagielski     SfxFrame&           rFrame;
43*b1cdbd2cSJim Jagielski     svtools::AsynchronLink* pReloader;
44*b1cdbd2cSJim Jagielski 	Window*				pWindow;
45*b1cdbd2cSJim Jagielski     SfxViewFrame*       pActiveChild;
46*b1cdbd2cSJim Jagielski     Window*             pFocusWin;
47*b1cdbd2cSJim Jagielski     sal_uInt16          nDocViewNo;
48*b1cdbd2cSJim Jagielski     sal_uInt16          nCurViewId;
49*b1cdbd2cSJim Jagielski     sal_Bool            bResizeInToOut:1;
50*b1cdbd2cSJim Jagielski     sal_Bool            bDontOverwriteResizeInToOut:1;
51*b1cdbd2cSJim Jagielski     sal_Bool            bObjLocked:1;
52*b1cdbd2cSJim Jagielski     sal_Bool            bReloading:1;
53*b1cdbd2cSJim Jagielski     sal_Bool            bIsDowning:1;
54*b1cdbd2cSJim Jagielski     sal_Bool            bModal:1;
55*b1cdbd2cSJim Jagielski     sal_Bool            bEnabled:1;
56*b1cdbd2cSJim Jagielski     sal_Bool            bWindowWasEnabled:1;
57*b1cdbd2cSJim Jagielski     sal_Bool            bActive;
58*b1cdbd2cSJim Jagielski     String          	aFactoryName;
59*b1cdbd2cSJim Jagielski     ::boost::optional< bool >
60*b1cdbd2cSJim Jagielski                         aHasToolPanels;
61*b1cdbd2cSJim Jagielski 
SfxViewFrame_ImplSfxViewFrame_Impl62*b1cdbd2cSJim Jagielski                         SfxViewFrame_Impl( SfxFrame& i_rFrame )
63*b1cdbd2cSJim Jagielski                         : rFrame( i_rFrame )
64*b1cdbd2cSJim Jagielski                         , pReloader(0 )
65*b1cdbd2cSJim Jagielski                         , pWindow( 0 )
66*b1cdbd2cSJim Jagielski                         , bWindowWasEnabled(sal_True)
67*b1cdbd2cSJim Jagielski 						, bActive( sal_False )
68*b1cdbd2cSJim Jagielski                         {
69*b1cdbd2cSJim Jagielski                         }
70*b1cdbd2cSJim Jagielski 
~SfxViewFrame_ImplSfxViewFrame_Impl71*b1cdbd2cSJim Jagielski                         ~SfxViewFrame_Impl()
72*b1cdbd2cSJim Jagielski                         {
73*b1cdbd2cSJim Jagielski                             delete pReloader;
74*b1cdbd2cSJim Jagielski                         }
75*b1cdbd2cSJim Jagielski };
76*b1cdbd2cSJim Jagielski 
77*b1cdbd2cSJim Jagielski class SfxFrameViewWindow_Impl : public Window
78*b1cdbd2cSJim Jagielski {
79*b1cdbd2cSJim Jagielski     sal_Bool            bActive;
80*b1cdbd2cSJim Jagielski     SfxViewFrame*   pFrame;
81*b1cdbd2cSJim Jagielski 
82*b1cdbd2cSJim Jagielski public:
SfxFrameViewWindow_Impl(SfxViewFrame * p,Window & rParent,WinBits nBits=0)83*b1cdbd2cSJim Jagielski                         SfxFrameViewWindow_Impl( SfxViewFrame* p, Window& rParent, WinBits nBits=0 ) :
84*b1cdbd2cSJim Jagielski 							Window( &rParent, nBits | WB_BORDER | WB_CLIPCHILDREN ),
85*b1cdbd2cSJim Jagielski 							bActive( sal_False ),
86*b1cdbd2cSJim Jagielski 							pFrame( p )
87*b1cdbd2cSJim Jagielski 						{
88*b1cdbd2cSJim Jagielski                             p->GetFrame().GetWindow().SetBorderStyle( WINDOW_BORDER_NOBORDER );
89*b1cdbd2cSJim Jagielski 						}
90*b1cdbd2cSJim Jagielski 
91*b1cdbd2cSJim Jagielski 	virtual void		Resize();
92*b1cdbd2cSJim Jagielski 	virtual void		StateChanged( StateChangedType nStateChange );
93*b1cdbd2cSJim Jagielski };
94*b1cdbd2cSJim Jagielski 
95*b1cdbd2cSJim Jagielski #endif // SFX2_IMPVIEWFRAME_HXX
96*b1cdbd2cSJim Jagielski 
97