xref: /trunk/main/extensions/source/bibliography/bibcont.hxx (revision 914d351e5f5b84e4342a86d6ab8d4aca7308b9bd)
1*46dbaceeSAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3*46dbaceeSAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*46dbaceeSAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*46dbaceeSAndrew Rist  * distributed with this work for additional information
6*46dbaceeSAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*46dbaceeSAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*46dbaceeSAndrew Rist  * "License"); you may not use this file except in compliance
9*46dbaceeSAndrew Rist  * with the License.  You may obtain a copy of the License at
10cdf0e10cSrcweir  *
11*46dbaceeSAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12cdf0e10cSrcweir  *
13*46dbaceeSAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*46dbaceeSAndrew Rist  * software distributed under the License is distributed on an
15*46dbaceeSAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*46dbaceeSAndrew Rist  * KIND, either express or implied.  See the License for the
17*46dbaceeSAndrew Rist  * specific language governing permissions and limitations
18*46dbaceeSAndrew Rist  * under the License.
19cdf0e10cSrcweir  *
20*46dbaceeSAndrew Rist  *************************************************************/
21*46dbaceeSAndrew Rist 
22*46dbaceeSAndrew Rist 
23cdf0e10cSrcweir 
24cdf0e10cSrcweir #ifndef ADDRCONT_HXX
25cdf0e10cSrcweir #define ADDRCONT_HXX
26cdf0e10cSrcweir 
27cdf0e10cSrcweir #include <com/sun/star/frame/XFrame.hpp>
28cdf0e10cSrcweir #include <vcl/splitwin.hxx>
29cdf0e10cSrcweir #include <vcl/timer.hxx>
30cdf0e10cSrcweir #include "bibshortcuthandler.hxx"
31cdf0e10cSrcweir 
32cdf0e10cSrcweir #include "bibmod.hxx"
33cdf0e10cSrcweir 
34cdf0e10cSrcweir #define TOP_WINDOW                          1
35cdf0e10cSrcweir #define BOTTOM_WINDOW                       2
36cdf0e10cSrcweir 
37cdf0e10cSrcweir class BibDataManager;
38cdf0e10cSrcweir 
39cdf0e10cSrcweir class BibWindowContainer : public BibWindow     //Window
40cdf0e10cSrcweir {
41cdf0e10cSrcweir     private:
42cdf0e10cSrcweir         // !BibShortCutHandler is also always a Window!
43cdf0e10cSrcweir         BibShortCutHandler*     pChild;
44cdf0e10cSrcweir 
45cdf0e10cSrcweir     protected:
46cdf0e10cSrcweir         virtual void            Resize();
47cdf0e10cSrcweir 
48cdf0e10cSrcweir     public:
49cdf0e10cSrcweir         BibWindowContainer( Window* pParent, BibShortCutHandler* pChild, WinBits nStyle = WB_3DLOOK);
50cdf0e10cSrcweir         ~BibWindowContainer();
51cdf0e10cSrcweir 
52cdf0e10cSrcweir         inline Window*          GetChild();
53cdf0e10cSrcweir 
54cdf0e10cSrcweir         virtual void            GetFocus();
55cdf0e10cSrcweir 
56cdf0e10cSrcweir         virtual sal_Bool            HandleShortCutKey( const KeyEvent& rKeyEvent ); // returns true, if key was handled
57cdf0e10cSrcweir 
58cdf0e10cSrcweir         using Window::GetChild;
59cdf0e10cSrcweir };
60cdf0e10cSrcweir 
GetChild()61cdf0e10cSrcweir inline Window* BibWindowContainer::GetChild()
62cdf0e10cSrcweir {
63cdf0e10cSrcweir     return pChild? pChild->GetWindow() : NULL;
64cdf0e10cSrcweir }
65cdf0e10cSrcweir 
66cdf0e10cSrcweir 
67cdf0e10cSrcweir class BibBookContainer: public BibSplitWindow
68cdf0e10cSrcweir {
69cdf0e10cSrcweir     private:
70cdf0e10cSrcweir 
71cdf0e10cSrcweir         ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >             xTopFrameRef;
72cdf0e10cSrcweir         ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >             xBottomFrameRef;
73cdf0e10cSrcweir 
74cdf0e10cSrcweir         ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow >              xTopPeerRef;
75cdf0e10cSrcweir         ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow >              xBottomPeerRef;
76cdf0e10cSrcweir 
77cdf0e10cSrcweir         BibDataManager*         pDatMan;
78cdf0e10cSrcweir         BibWindowContainer*     pTopWin;
79cdf0e10cSrcweir         BibWindowContainer*     pBottomWin;
80cdf0e10cSrcweir         sal_Bool                    bFirstTime;
81cdf0e10cSrcweir         HdlBibModul             pBibMod;
82cdf0e10cSrcweir         Timer                   aTimer;
83cdf0e10cSrcweir 
84cdf0e10cSrcweir         DECL_LINK( SplitHdl, Timer*);
85cdf0e10cSrcweir 
86cdf0e10cSrcweir     protected:
87cdf0e10cSrcweir 
88cdf0e10cSrcweir         virtual void            Split();
89cdf0e10cSrcweir 
90cdf0e10cSrcweir         virtual long            PreNotify( NotifyEvent& rNEvt );
91cdf0e10cSrcweir 
92cdf0e10cSrcweir     public:
93cdf0e10cSrcweir 
94cdf0e10cSrcweir         BibBookContainer(Window* pParent,BibDataManager*, WinBits nStyle = WB_3DLOOK );
95cdf0e10cSrcweir         ~BibBookContainer();
96cdf0e10cSrcweir 
GetTopWin()97cdf0e10cSrcweir         inline BibWindow*       GetTopWin() {return pTopWin;}
GetBottomWin()98cdf0e10cSrcweir         inline BibWindow*       GetBottomWin() {return pBottomWin;}
99cdf0e10cSrcweir 
100cdf0e10cSrcweir         // !BibShortCutHandler is also always a Window!
101cdf0e10cSrcweir         void                    createTopFrame( BibShortCutHandler* pWin );
102cdf0e10cSrcweir 
103cdf0e10cSrcweir         void                    createBottomFrame( BibShortCutHandler* pWin );
104cdf0e10cSrcweir 
105cdf0e10cSrcweir         virtual void            GetFocus();
106cdf0e10cSrcweir 
107cdf0e10cSrcweir         virtual sal_Bool        HandleShortCutKey( const KeyEvent& rKeyEvent ); // returns true, if key was handled
108cdf0e10cSrcweir };
109cdf0e10cSrcweir 
110cdf0e10cSrcweir #endif
111