xref: /aoo42x/main/sfx2/source/sidebar/Panel.hxx (revision 22de8995)
1*22de8995SAndre Fischer /**************************************************************
2*22de8995SAndre Fischer  *
3*22de8995SAndre Fischer  * Licensed to the Apache Software Foundation (ASF) under one
4*22de8995SAndre Fischer  * or more contributor license agreements.  See the NOTICE file
5*22de8995SAndre Fischer  * distributed with this work for additional information
6*22de8995SAndre Fischer  * regarding copyright ownership.  The ASF licenses this file
7*22de8995SAndre Fischer  * to you under the Apache License, Version 2.0 (the
8*22de8995SAndre Fischer  * "License"); you may not use this file except in compliance
9*22de8995SAndre Fischer  * with the License.  You may obtain a copy of the License at
10*22de8995SAndre Fischer  *
11*22de8995SAndre Fischer  *   http://www.apache.org/licenses/LICENSE-2.0
12*22de8995SAndre Fischer  *
13*22de8995SAndre Fischer  * Unless required by applicable law or agreed to in writing,
14*22de8995SAndre Fischer  * software distributed under the License is distributed on an
15*22de8995SAndre Fischer  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*22de8995SAndre Fischer  * KIND, either express or implied.  See the License for the
17*22de8995SAndre Fischer  * specific language governing permissions and limitations
18*22de8995SAndre Fischer  * under the License.
19*22de8995SAndre Fischer  *
20*22de8995SAndre Fischer  *************************************************************/
21*22de8995SAndre Fischer 
22*22de8995SAndre Fischer #ifndef SFX_SIDEBAR_PANEL_HXX
23*22de8995SAndre Fischer #define SFX_SIDEBAR_PANEL_HXX
24*22de8995SAndre Fischer 
25*22de8995SAndre Fischer #include "vcl/window.hxx"
26*22de8995SAndre Fischer #include <com/sun/star/ui/XUIElement.hpp>
27*22de8995SAndre Fischer #include <com/sun/star/ui/XVerticalStackLayoutElement.hpp>
28*22de8995SAndre Fischer 
29*22de8995SAndre Fischer namespace css = ::com::sun::star;
30*22de8995SAndre Fischer namespace cssu = ::com::sun::star::uno;
31*22de8995SAndre Fischer 
32*22de8995SAndre Fischer namespace sfx2 {
33*22de8995SAndre Fischer 
34*22de8995SAndre Fischer class ContentPanelDescriptor;
35*22de8995SAndre Fischer class TitleBar;
36*22de8995SAndre Fischer 
37*22de8995SAndre Fischer 
38*22de8995SAndre Fischer class Panel
39*22de8995SAndre Fischer     : public Window
40*22de8995SAndre Fischer {
41*22de8995SAndre Fischer public:
42*22de8995SAndre Fischer     Panel (
43*22de8995SAndre Fischer         const ContentPanelDescriptor& rPanelDescriptor,
44*22de8995SAndre Fischer         Window* pParentWindow);
45*22de8995SAndre Fischer     virtual ~Panel (void);
46*22de8995SAndre Fischer 
47*22de8995SAndre Fischer     const ::rtl::OUString& GetLayoutHint (void) const;
48*22de8995SAndre Fischer     TitleBar* GetTitleBar (void) const;
49*22de8995SAndre Fischer     bool IsTitleBarOptional (void) const;
50*22de8995SAndre Fischer     void SetUIElement (const cssu::Reference<css::ui::XUIElement>& rxElement);
51*22de8995SAndre Fischer     cssu::Reference<css::ui::XVerticalStackLayoutElement> Panel::GetVerticalStackElement (void) const;
52*22de8995SAndre Fischer 
53*22de8995SAndre Fischer     virtual void Paint (const Rectangle& rUpdateArea);
54*22de8995SAndre Fischer 
55*22de8995SAndre Fischer private:
56*22de8995SAndre Fischer     const ::rtl::OUString msLayoutHint;
57*22de8995SAndre Fischer     TitleBar* mpTitleBar;
58*22de8995SAndre Fischer     const bool mbIsTitleBarOptional;
59*22de8995SAndre Fischer     cssu::Reference<css::ui::XUIElement> mxElement;
60*22de8995SAndre Fischer     cssu::Reference<css::ui::XVerticalStackLayoutElement> mxVerticalStackLayoutElement;
61*22de8995SAndre Fischer };
62*22de8995SAndre Fischer 
63*22de8995SAndre Fischer 
64*22de8995SAndre Fischer } // end of namespace sfx2
65*22de8995SAndre Fischer 
66*22de8995SAndre Fischer #endif
67