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 .
19 #ifndef INCLUDED_SW_INC_FMTURL_HXX
20 #define INCLUDED_SW_INC_FMTURL_HXX
23 #include <svl/poolitem.hxx>
25 #include "hintids.hxx"
31 // URL, ServerMap and ClientMap
33 class SW_DLLPUBLIC SwFormatURL
: public SfxPoolItem
35 OUString m_sTargetFrameName
; ///< Target frame for URL.
36 OUString m_sURL
; ///< Simple URL.
37 OUString m_sName
; ///< Name of the anchor.
38 std::unique_ptr
<ImageMap
>
39 m_pMap
; ///< ClientSide images.
41 bool m_bIsServerMap
; ///< A ServerSideImageMap with the URL.
46 SwFormatURL( const SwFormatURL
& );
48 virtual ~SwFormatURL() override
;
50 /// "Pure virtual methods" of SfxPoolItem.
51 virtual bool operator==( const SfxPoolItem
& ) const override
;
52 virtual SwFormatURL
* Clone( SfxItemPool
* pPool
= nullptr ) const override
;
53 virtual bool GetPresentation( SfxItemPresentation ePres
,
57 const IntlWrapper
& rIntl
) const override
;
58 virtual bool QueryValue( css::uno::Any
& rVal
, sal_uInt8 nMemberId
= 0 ) const override
;
59 virtual bool PutValue( const css::uno::Any
& rVal
, sal_uInt8 nMemberId
) override
;
61 void SetTargetFrameName( const OUString
& rStr
) { m_sTargetFrameName
= rStr
; }
62 void SetURL(const OUString
&rURL
, bool bServerMap
);
63 void SetMap( const ImageMap
*pM
); ///< Pointer will be copied.
65 const OUString
& GetTargetFrameName()const { return m_sTargetFrameName
; }
66 const OUString
& GetURL() const { return m_sURL
; }
67 bool IsServerMap() const { return m_bIsServerMap
; }
68 const ImageMap
*GetMap() const { return m_pMap
.get(); }
69 ImageMap
*GetMap() { return m_pMap
.get(); }
71 const OUString
& GetName() const { return m_sName
; }
72 void SetName( const OUString
& rNm
) { m_sName
= rNm
; }
75 inline const SwFormatURL
&SwAttrSet::GetURL(bool bInP
) const
76 { return Get( RES_URL
,bInP
); }
78 inline const SwFormatURL
&SwFormat::GetURL(bool bInP
) const
79 { return m_aSet
.GetURL(bInP
); }
83 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */