merged tag ooo/OOO330_m14
[LibreOffice.git] / sc / source / filter / inc / lotfntbf.hxx
blob5c8771814206a6b08f815affcf9812b3090119f3
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * This file is part of OpenOffice.org.
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org. If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
26 ************************************************************************/
28 #ifndef SC_LOTFNTBF_HXX
29 #define SC_LOTFNTBF_HXX
31 #include <tools/solar.h>
33 #include "scitems.hxx"
34 #include <editeng/fontitem.hxx>
35 #include <editeng/fhgtitem.hxx>
36 #include <editeng/colritem.hxx>
38 // ---------------------------------------------------- class LotusFontBuffer -
40 // Code in fontbuff.cxx (excel)
42 class LotusFontBuffer
44 private:
45 struct ENTRY
47 String* pTmpName;
48 SvxFontItem* pFont;
49 SvxFontHeightItem* pHeight;
50 SvxColorItem* pColor;
51 INT32 nType; // < 0 -> undefiniert
52 inline ENTRY( void )
54 pTmpName = NULL;
55 pFont = NULL;
56 pHeight = NULL;
57 pColor = NULL;
58 nType = -1;
60 inline ~ENTRY()
62 if( pTmpName )
63 delete pTmpName;
64 if( pFont )
65 delete pFont;
66 if( pHeight )
67 delete pHeight;
68 if( pColor )
69 delete pColor;
71 inline void TmpName( const String &rNew )
73 if( pTmpName )
74 *pTmpName = rNew;
75 else
76 pTmpName = new String( rNew );
78 inline void Font( SvxFontItem& rNew )
80 if( pFont )
81 delete pFont;
82 pFont = &rNew;
84 inline void Height( SvxFontHeightItem& rNew )
86 if( pHeight )
87 delete pHeight;
88 pHeight = &rNew;
90 inline void Color( SvxColorItem& rNew )
92 if( pColor )
93 delete pColor;
94 pColor = &rNew;
96 inline void Type( const UINT16 nNew ) { nType = nNew; }
99 ENTRY pData[ 8 ];
100 const static UINT16 nSize;
101 void MakeFont( ENTRY* pEntry );
102 public:
103 void Fill( const UINT8 nIndex, SfxItemSet& rItemSet );
104 void SetName( const UINT16 nIndex, const String& rName );
105 void SetHeight( const UINT16 nIndex, const UINT16 nHeight );
106 void SetType( const UINT16 nIndex, const UINT16 nType );
111 #endif