diff options
Diffstat (limited to 'extensions/source/bibliography/bibcont.hxx')
-rw-r--r-- | extensions/source/bibliography/bibcont.hxx | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/extensions/source/bibliography/bibcont.hxx b/extensions/source/bibliography/bibcont.hxx new file mode 100644 index 000000000000..12b1bf1748e8 --- /dev/null +++ b/extensions/source/bibliography/bibcont.hxx @@ -0,0 +1,114 @@ +/************************************************************************* + * + * 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 ADDRCONT_HXX +#define ADDRCONT_HXX + +#include <com/sun/star/frame/XFrame.hpp> +#include <vcl/splitwin.hxx> +#include <vcl/timer.hxx> +#include "bibshortcuthandler.hxx" + +#include "bibmod.hxx" + +#define TOP_WINDOW 1 +#define BOTTOM_WINDOW 2 + +class BibDataManager; + +class BibWindowContainer : public BibWindow //Window +{ + private: + // !BibShortCutHandler is also always a Window! + BibShortCutHandler* pChild; + + protected: + virtual void Resize(); + + public: + BibWindowContainer( Window* pParent, BibShortCutHandler* pChild, WinBits nStyle = WB_3DLOOK); + ~BibWindowContainer(); + + inline Window* GetChild(); + + virtual void GetFocus(); + + virtual BOOL HandleShortCutKey( const KeyEvent& rKeyEvent ); // returns true, if key was handled + + using Window::GetChild; +}; + +inline Window* BibWindowContainer::GetChild() +{ + return pChild? pChild->GetWindow() : NULL; +} + + +class BibBookContainer: public BibSplitWindow +{ + private: + + ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame > xTopFrameRef; + ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame > xBottomFrameRef; + + ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow > xTopPeerRef; + ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow > xBottomPeerRef; + + BibDataManager* pDatMan; + BibWindowContainer* pTopWin; + BibWindowContainer* pBottomWin; + sal_Bool bFirstTime; + HdlBibModul pBibMod; + Timer aTimer; + + DECL_LINK( SplitHdl, Timer*); + + protected: + + virtual void Split(); + + virtual long PreNotify( NotifyEvent& rNEvt ); + + public: + + BibBookContainer(Window* pParent,BibDataManager*, WinBits nStyle = WB_3DLOOK ); + ~BibBookContainer(); + + inline BibWindow* GetTopWin() {return pTopWin;} + inline BibWindow* GetBottomWin() {return pBottomWin;} + + // !BibShortCutHandler is also always a Window! + void createTopFrame( BibShortCutHandler* pWin ); + + void createBottomFrame( BibShortCutHandler* pWin ); + + virtual void GetFocus(); + + virtual sal_Bool HandleShortCutKey( const KeyEvent& rKeyEvent ); // returns true, if key was handled +}; + +#endif |