LibreOffice Module sc (master)  1
lotfntbf.hxx
Go to the documentation of this file.
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 
20 #ifndef INCLUDED_SC_SOURCE_FILTER_INC_LOTFNTBF_HXX
21 #define INCLUDED_SC_SOURCE_FILTER_INC_LOTFNTBF_HXX
22 
23 #include <editeng/fontitem.hxx>
24 #include <editeng/fhgtitem.hxx>
25 #include <optional>
26 
27 // Code in fontbuff.cxx (excel)
28 
30 {
31 private:
32  struct ENTRY
33  {
34  std::optional<OUString> xTmpName;
35  std::unique_ptr<SvxFontItem> pFont;
36  std::unique_ptr<SvxFontHeightItem> pHeight;
37  sal_Int32 nType = -1; // < 0 -> undefined
38  void TmpName( const OUString &rNew )
39  {
40  xTmpName = rNew;
41  }
42  void Height( std::unique_ptr<SvxFontHeightItem> pNew )
43  {
44  pHeight = std::move(pNew);
45  }
46  void Type( const sal_uInt16 nNew ) { nType = nNew; }
47  };
48 
49  static void MakeFont( ENTRY* pEntry );
50 public:
51  const static sal_uInt16 nSize = 8;
52  void Fill( const sal_uInt8 nIndex, SfxItemSet& rItemSet );
53  void SetName( const sal_uInt16 nIndex, const OUString& rName );
54  void SetHeight( const sal_uInt16 nIndex, const sal_uInt16 nHeight );
55  void SetType( const sal_uInt16 nIndex, const sal_uInt16 nType );
56 private:
58 };
59 
60 #endif
61 
62 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
std::optional< OUString > xTmpName
Definition: lotfntbf.hxx:34
void Height(std::unique_ptr< SvxFontHeightItem > pNew)
Definition: lotfntbf.hxx:42
void SetName(const sal_uInt16 nIndex, const OUString &rName)
Definition: fontbuff.cxx:70
void TmpName(const OUString &rNew)
Definition: lotfntbf.hxx:38
static const sal_uInt16 nSize
Definition: lotfntbf.hxx:51
ENTRY pData[nSize]
Definition: lotfntbf.hxx:57
static void MakeFont(ENTRY *pEntry)
Definition: fontbuff.cxx:103
void SetType(const sal_uInt16 nIndex, const sal_uInt16 nType)
Definition: fontbuff.cxx:90
std::unique_ptr< SvxFontHeightItem > pHeight
Definition: lotfntbf.hxx:36
unsigned char sal_uInt8
std::unique_ptr< SvxFontItem > pFont
Definition: lotfntbf.hxx:35
void Type(const sal_uInt16 nNew)
Definition: lotfntbf.hxx:46
QPRO_FUNC_TYPE nType
Definition: qproform.cxx:401
void SetHeight(const sal_uInt16 nIndex, const sal_uInt16 nHeight)
Definition: fontbuff.cxx:83
void Fill(const sal_uInt8 nIndex, SfxItemSet &rItemSet)
Definition: fontbuff.cxx:31