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