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/.
10 #ifndef INCLUDED_SVTOOLS_BREADCRUMB_HXX
11 #define INCLUDED_SVTOOLS_BREADCRUMB_HXX
13 #include <svtools/svtdllapi.h>
15 #include <vcl/layout.hxx>
23 enum SvtBreadcrumbMode
25 ONLY_CURRENT_PATH
= 0,
31 class SVT_DLLPUBLIC Breadcrumb
: public VclHBox
34 std::vector
< VclPtr
< CustomLink
> > m_aLinks
;
35 std::vector
< VclPtr
< FixedText
> > m_aSeparators
;
38 OUString m_sClickedURL
;
39 OUString m_aCurrentURL
;
41 SvtBreadcrumbMode m_eMode
;
43 Link
<Breadcrumb
*,void> m_aClickHdl
;
46 bool showField( unsigned int nIndex
, unsigned int nWidthMax
);
48 DECL_LINK( ClickLinkHdl
, FixedHyperlink
&, void );
51 Breadcrumb( vcl::Window
* pParent
);
52 virtual ~Breadcrumb() override
;
54 void dispose() override
;
55 void EnableFields( bool bEnable
);
57 void SetClickHdl( const Link
<Breadcrumb
*,void>& rLink
);
58 const OUString
& GetHdlURL();
60 void SetRootName( const OUString
& rURL
);
61 void SetURL( const OUString
& rURL
);
62 void SetMode( SvtBreadcrumbMode eMode
);
67 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */