1 /************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2008 by Sun Microsystems, Inc. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * $RCSfile: layoutmanager.hxx,v $ 10 * $Revision: 1.34 $ 11 * 12 * This file is part of OpenOffice.org. 13 * 14 * OpenOffice.org is free software: you can redistribute it and/or modify 15 * it under the terms of the GNU Lesser General Public License version 3 16 * only, as published by the Free Software Foundation. 17 * 18 * OpenOffice.org is distributed in the hope that it will be useful, 19 * but WITHOUT ANY WARRANTY; without even the implied warranty of 20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 * GNU Lesser General Public License version 3 for more details 22 * (a copy is included in the LICENSE file that accompanied this code). 23 * 24 * You should have received a copy of the GNU Lesser General Public License 25 * version 3 along with OpenOffice.org. If not, see 26 * <http://www.openoffice.org/license.html> 27 * for a copy of the LGPLv3 License. 28 * 29 ************************************************************************/ 30 31 #ifndef __FRAMEWORK_LAYOUTMANAGER_PANELWINDOW_HXX_ 32 #define __FRAMEWORK_LAYOUTMANAGER_PANELWINDOW_HXX_ 33 34 //_________________________________________________________________________________________________________________ 35 // my own includes 36 //_________________________________________________________________________________________________________________ 37 38 #include <vcl/dockwin.hxx> 39 40 //_________________________________________________________________________________________________________________ 41 // namespace 42 //_________________________________________________________________________________________________________________ 43 44 namespace framework 45 { 46 47 class PanelWindow : public DockingWindow 48 { 49 public: 50 PanelWindow( Window* pParent, WinBits nWinBits =0); 51 virtual ~PanelWindow(); 52 53 const ::rtl::OUString& getResourceURL() const; 54 void setResourceURL(const ::rtl::OUString& rResourceURL); 55 Window* getContentWindow() const; 56 void setContentWindow( Window* pContentWindow ); 57 58 virtual void Command ( const CommandEvent& rCEvt ); 59 virtual void StateChanged( StateChangedType nType ); 60 virtual void DataChanged( const DataChangedEvent& rDCEvt ); 61 virtual void Resize(); 62 63 // Provide additional handlers to support external implementations 64 void SetCommandHdl( const Link& aLink ) { m_aCommandHandler = aLink; } 65 const Link& GetCommandHdl() const { return m_aCommandHandler; } 66 void SetStateChangedHdl( const Link& aLink ) { m_aStateChangedHandler = aLink; } 67 const Link& GetStateChangedHdl() const { return m_aStateChangedHandler; } 68 void SetDataChangedHdl( const Link& aLink ) { m_aDataChangedHandler = aLink; } 69 const Link& GetDataChangedHdl() { return m_aDataChangedHandler; } 70 71 private: 72 ::rtl::OUString m_aResourceURL; 73 Link m_aCommandHandler; 74 Link m_aStateChangedHandler; 75 Link m_aDataChangedHandler; 76 Window* m_pContentWindow; 77 }; 78 79 } 80 81 #endif // __FRAMEWORK_UIELEMENT_PANELWINDOW_HXX_ 82