Coverage Report

Created: 2026-09-28 10:59

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/libreoffice/include/editeng/langitem.hxx
Line
Count
Source
1
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2
/*
3
 * This file is part of the LibreOffice project.
4
 *
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/.
8
 *
9
 * This file incorporates work covered by the following license notice:
10
 *
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 .
18
 */
19
#ifndef INCLUDED_EDITENG_LANGITEM_HXX
20
#define INCLUDED_EDITENG_LANGITEM_HXX
21
22
#include <svl/eitem.hxx>
23
#include <i18nlangtag/lang.h>
24
#include <editeng/editengdllapi.h>
25
26
// class SvxLanguageItem -------------------------------------------------
27
28
/*  [Description]
29
30
    This item describes a Language.
31
*/
32
33
// MSVC hack:
34
class SAL_DLLPUBLIC_RTTI SvxLanguageItem_Base: public SfxEnumItem<LanguageType> {
35
protected:
36
    DECLARE_ITEM_TYPE_FUNCTION(SvxLanguageItem_Base)
37
    explicit SvxLanguageItem_Base(sal_uInt16 nWhich, LanguageType nValue):
38
5.36M
        SfxEnumItem(nWhich, nValue)
39
5.36M
    {}
40
};
41
42
class EDITENG_DLLPUBLIC SvxLanguageItem final : public SvxLanguageItem_Base
43
{
44
protected:
45
    virtual ItemInstanceManager* getItemInstanceManager() const override;
46
47
public:
48
    static SfxPoolItem* CreateDefault();
49
    DECLARE_ITEM_TYPE_FUNCTION(SvxLanguageItem)
50
    SvxLanguageItem( const LanguageType eLang /*= LANGUAGE_GERMAN*/,
51
                     const sal_uInt16 nId  );
52
53
    // "pure virtual Methods" from SfxPoolItem
54
    virtual bool GetPresentation(SfxItemPresentation ePres,
55
                                 MapUnit eCoreMetric,
56
                                 MapUnit ePresMetric,
57
                                 OUString &rText, const IntlWrapper&) const override;
58
59
    virtual SvxLanguageItem* Clone( SfxItemPool *pPool = nullptr ) const override;
60
61
1.95M
    SvxLanguageItem(SvxLanguageItem const &) = default; // SfxPoolItem copy function dichotomy
62
63
    LanguageType            GetLanguage() const
64
94.7M
                                { return GetValue(); }
65
    virtual bool            QueryValue( css::uno::Any& rVal, sal_uInt8 nMemberId = 0 ) const override;
66
    virtual bool            PutValue( const css::uno::Any& rVal, sal_uInt8 nMemberId ) override;
67
};
68
69
#endif
70
71
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */