merge the formfield patch from ooo-build
[ooovba.git] / sc / source / filter / inc / lotfntbf.hxx
blob31712cfeb1c9a9175a8d56803eeb7d245aecda5b
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: lotfntbf.hxx,v $
10 * $Revision: 1.4 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 #ifndef SC_LOTFNTBF_HXX
32 #define SC_LOTFNTBF_HXX
34 #include <tools/solar.h>
36 #include "scitems.hxx"
37 #include <svx/fontitem.hxx>
38 #include <svx/fhgtitem.hxx>
39 #include <svx/colritem.hxx>
41 // ---------------------------------------------------- class LotusFontBuffer -
43 // Code in fontbuff.cxx (excel)
45 class LotusFontBuffer
47 private:
48 struct ENTRY
50 String* pTmpName;
51 SvxFontItem* pFont;
52 SvxFontHeightItem* pHeight;
53 SvxColorItem* pColor;
54 INT32 nType; // < 0 -> undefiniert
55 inline ENTRY( void )
57 pTmpName = NULL;
58 pFont = NULL;
59 pHeight = NULL;
60 pColor = NULL;
61 nType = -1;
63 inline ~ENTRY()
65 if( pTmpName )
66 delete pTmpName;
67 if( pFont )
68 delete pFont;
69 if( pHeight )
70 delete pHeight;
71 if( pColor )
72 delete pColor;
74 inline void TmpName( const String &rNew )
76 if( pTmpName )
77 *pTmpName = rNew;
78 else
79 pTmpName = new String( rNew );
81 inline void Font( SvxFontItem& rNew )
83 if( pFont )
84 delete pFont;
85 pFont = &rNew;
87 inline void Height( SvxFontHeightItem& rNew )
89 if( pHeight )
90 delete pHeight;
91 pHeight = &rNew;
93 inline void Color( SvxColorItem& rNew )
95 if( pColor )
96 delete pColor;
97 pColor = &rNew;
99 inline void Type( const UINT16 nNew ) { nType = nNew; }
102 ENTRY pData[ 8 ];
103 const static UINT16 nSize;
104 void MakeFont( ENTRY* pEntry );
105 public:
106 void Fill( const UINT8 nIndex, SfxItemSet& rItemSet );
107 void SetName( const UINT16 nIndex, const String& rName );
108 void SetHeight( const UINT16 nIndex, const UINT16 nHeight );
109 void SetType( const UINT16 nIndex, const UINT16 nType );
114 #endif