1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 #ifndef INCLUDED_SVTOOLS_TOOLPANEL_TABLAYOUTER_HXX
21 #define INCLUDED_SVTOOLS_TOOLPANEL_TABLAYOUTER_HXX
23 #include <svtools/svtdllapi.h>
24 #include <svtools/toolpanel/decklayouter.hxx>
25 #include <svtools/toolpanel/tabalignment.hxx>
26 #include <svtools/toolpanel/tabitemcontent.hxx>
27 #include <salhelper/simplereferenceobject.hxx>
31 #include <boost/noncopyable.hpp>
33 namespace vcl
{ class Window
; }
42 struct TabDeckLayouter_Data
;
47 class SVT_DLLPUBLIC TabDeckLayouter
:public IDeckLayouter
48 ,public ::boost::noncopyable
51 /** creates a new layouter
53 is the parent window for any VCL windows the layouter needs to create.
55 is the panel deck which the layouter is responsible for.
57 specifies the alignment of the panel selector
59 specifies the content to show on the tab items
62 vcl::Window
& i_rParent
,
63 IToolPanelDeck
& i_rPanels
,
64 const TabAlignment i_eAlignment
,
65 const TabItemContent i_eItemContent
67 virtual ~TabDeckLayouter();
70 TabItemContent
GetTabItemContent() const;
71 void SetTabItemContent( const TabItemContent
& i_eItemContent
);
72 TabAlignment
GetTabAlignment() const;
75 virtual Rectangle
Layout( const Rectangle
& i_rDeckPlayground
) SAL_OVERRIDE
;
76 virtual void Destroy() SAL_OVERRIDE
;
77 virtual void SetFocusToPanelSelector() SAL_OVERRIDE
;
78 virtual size_t GetAccessibleChildCount() const SAL_OVERRIDE
;
79 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessible
>
81 const size_t i_nChildIndex
,
82 const ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessible
>& i_rParentAccessible
86 ::std::unique_ptr
< TabDeckLayouter_Data
> m_pData
;
93 #endif // INCLUDED_SVTOOLS_TOOLPANEL_TABLAYOUTER_HXX
95 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */