LibreOffice Module sc (master) 1
xestyle.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#pragma once
21
22#include <map>
23#include <svl/zforlist.hxx>
24#include <svl/nfkeytab.hxx>
25#include <editeng/svxfont.hxx>
26#include "xerecord.hxx"
27#include "xlstyle.hxx"
28#include "xeroot.hxx"
29#include <fonthelper.hxx>
30#include <memory>
31#include <utility>
32#include <vector>
33
34/* ============================================================================
35- Buffers for style records (PALETTE, FONT, FORMAT, XF, STYLE).
36============================================================================ */
37
38const sal_uInt16 EXC_ID_FONTLIST = 0x8031;
39const sal_uInt16 EXC_ID_FORMATLIST = 0x801E;
40const sal_uInt16 EXC_ID_XFLIST = 0x8043;
41const sal_uInt16 EXC_ID_DXFS = 0x9999;
42
43// PALETTE record - color information =========================================
44
47{
57};
58
60
76{
77public:
78 explicit XclExpPalette( const XclExpRoot& rRoot );
79 virtual ~XclExpPalette() override;
80
84 sal_uInt32 InsertColor( const Color& rColor, XclExpColorType eType, sal_uInt16 nAutoDefault = 0 );
86 static sal_uInt32 GetColorIdFromIndex( sal_uInt16 nIndex );
87
89 void Finalize();
90
92 sal_uInt16 GetColorIndex( sal_uInt32 nColorId ) const;
93
98 void GetMixedColors(
99 sal_uInt16& rnXclForeIx, sal_uInt16& rnXclBackIx, sal_uInt8& rnXclPattern,
100 sal_uInt32 nForeColorId, sal_uInt32 nBackColorId ) const;
101
104 Color GetColor( sal_uInt16 nXclIndex ) const;
105
107 virtual void Save( XclExpStream& rStrm ) override;
108 virtual void SaveXml( XclExpXmlStream& rStrm ) override;
109
110private:
112 virtual void WriteBody( XclExpStream& rStrm ) override;
113
114private:
115 typedef std::shared_ptr< XclExpPaletteImpl > XclExpPaletteImplRef;
117};
118
119// FONT record - font information =============================================
120
121const size_t EXC_FONTLIST_NOTFOUND = static_cast< size_t >( -1 );
122
125{
127 sal_Int16 GetFirstUsedScript(
128 const XclExpRoot& rRoot,
129 const SfxItemSet& rItemSet );
130
133 const XclExpRoot& rRoot,
134 const SfxItemSet& rItemSet,
135 sal_Int16 nScript );
136
143
146 bool CheckItems(
147 const XclExpRoot& rRoot,
148 const SfxItemSet& rItemSet,
149 sal_Int16 nScript,
150 bool bDeep );
151}
152
154class XclExpFont : public XclExpRecord, protected XclExpRoot
155{
156public:
157 explicit XclExpFont( const XclExpRoot& rRoot,
158 const XclFontData& rFontData, XclExpColorType eColorType );
159
161 const XclFontData& GetFontData() const { return maData; }
163 sal_uInt32 GetFontColorId() const { return mnColorId; }
166 virtual bool Equals( const XclFontData& rFontData, sal_uInt32 nHash ) const;
167
168 virtual void SaveXml( XclExpXmlStream& rStrm ) override;
169
170private:
172 virtual void WriteBody( XclExpStream& rStrm ) override;
173
174private:
176 sal_uInt32 mnColorId;
177 sal_uInt32 mnHash;
178};
179
181{
182public:
183 XclExpDxfFont(const XclExpRoot& rRoot, const SfxItemSet& rItemSet);
184
185 virtual void SaveXml(XclExpXmlStream& rStrm) override;
186private:
187
189};
190
193{
194public:
195 explicit XclExpBlindFont( const XclExpRoot& rRoot );
196
198 virtual bool Equals( const XclFontData& rFontData, sal_uInt32 nHash ) const override;
199
201 virtual void Save( XclExpStream& rStrm ) override;
202};
203
204class ScPatternAttr;
205
208{
209public:
210 explicit XclExpFontBuffer( const XclExpRoot& rRoot );
211
213 const XclExpFont* GetFont( sal_uInt16 nXclFont ) const;
215 const XclFontData& GetAppFontData() const;
216
220 sal_uInt16 Insert( const XclFontData& rFontData,
221 XclExpColorType eColorType, bool bAppFont = false );
224 sal_uInt16 Insert( const SvxFont& rFont,
225 XclExpColorType eColorType );
230 sal_uInt16 Insert( const SfxItemSet& rItemSet, sal_Int16 nScript,
231 XclExpColorType eColorType, bool bAppFont );
232
234 virtual void Save( XclExpStream& rStrm ) override;
235 virtual void SaveXml( XclExpXmlStream& rStrm ) override;
236
237private:
239 void InitDefaultFonts();
241 size_t Find( const XclFontData& rFontData );
242
243private:
246
249};
250
251// FORMAT record - number formats =============================================
252
255{
256 sal_uInt32 mnScNumFmt;
257 sal_uInt16 mnXclNumFmt;
258 OUString maNumFmtString;
259
260 explicit XclExpNumFmt( sal_uInt32 nScNumFmt, sal_uInt16 nXclNumFmt, OUString aFrmt ) :
261 mnScNumFmt( nScNumFmt ), mnXclNumFmt( nXclNumFmt ), maNumFmtString(std::move( aFrmt )) {}
262
263 void SaveXml( XclExpXmlStream& rStrm );
264};
265
266typedef ::std::unique_ptr< SvNumberFormatter > SvNumberFormatterPtr;
267
270{
271public:
272 explicit XclExpNumFmtBuffer( const XclExpRoot& rRoot );
273 virtual ~XclExpNumFmtBuffer() override;
274
276 sal_uInt32 GetStandardFormat() const { return mnStdFmt; }
277
281 sal_uInt16 Insert( sal_uInt32 nScNumFmt );
282
284 virtual void Save( XclExpStream& rStrm ) override;
285 virtual void SaveXml( XclExpXmlStream& rStrm ) override;
286
287 OUString GetFormatCode ( sal_uInt32 nScNumFmt );
288
289private:
291 void WriteFormatRecord( XclExpStream& rStrm, sal_uInt16 nXclNumFmt, const OUString& rFormatStr );
293 void WriteFormatRecord( XclExpStream& rStrm, const XclExpNumFmt& rFormat );
294
295private:
296 typedef ::std::vector< XclExpNumFmt > XclExpNumFmtVec;
297
300 std::unique_ptr<NfKeywordTable> mpKeywordTable;
301 sal_uInt32 mnStdFmt;
302 sal_uInt16 mnXclOffset;
303};
304
305// XF, STYLE record - Cell formatting =========================================
306
310{
313 bool FillFromItemSet( const SfxItemSet& rItemSet, bool bStyle = false );
314
316 void FillToXF3( sal_uInt16& rnProt ) const;
317
318 void SaveXml( XclExpXmlStream& rStrm ) const;
319};
320
324{
329 bool FillFromItemSet(const XclRoot& rRoot, const SfxItemSet& rItemSet,
330 bool bForceLineBreak, XclBiff eBiff, bool bStyle = false );
331
333 void FillToXF5( sal_uInt16& rnAlign ) const;
335 void FillToXF8( sal_uInt16& rnAlign, sal_uInt16& rnMiscAttrib ) const;
336
337 void SaveXml( XclExpXmlStream& rStrm ) const;
338};
339
343{
344 sal_uInt32 mnLeftColorId;
345 sal_uInt32 mnRightColorId;
346 sal_uInt32 mnTopColorId;
347 sal_uInt32 mnBottomColorId;
348 sal_uInt32 mnDiagColorId;
349
350 explicit XclExpCellBorder();
351
355 bool FillFromItemSet( const SfxItemSet& rItemSet,
356 XclExpPalette& rPalette, XclBiff eBiff, bool bStyle = false );
358 void SetFinalColors( const XclExpPalette& rPalette );
359
361 void FillToXF5( sal_uInt32& rnBorder, sal_uInt32& rnArea ) const;
363 void FillToXF8( sal_uInt32& rnBorder1, sal_uInt32& rnBorder2 ) const;
364
366 void FillToCF8( sal_uInt16& rnLine, sal_uInt32& rnColor ) const;
367
368 void SaveXml( XclExpXmlStream& rStrm ) const;
369};
370
374{
375 sal_uInt32 mnForeColorId;
376 sal_uInt32 mnBackColorId;
377 Color maForeColor; // Actual foreground color
378 Color maBackColor; // Actual background color
379
380 explicit XclExpCellArea();
381 explicit XclExpCellArea(Color aForeColor, Color aBackColor);
382
385 bool FillFromItemSet(
386 const SfxItemSet& rItemSet, XclExpPalette& rPalette,
387 bool bStyle );
389 void SetFinalColors( const XclExpPalette& rPalette );
390
392 void FillToXF5( sal_uInt32& rnArea ) const;
394 void FillToXF8( sal_uInt32& rnBorder2, sal_uInt16& rnArea ) const;
395
397 void FillToCF8( sal_uInt16& rnPattern, sal_uInt16& rnColor ) const;
398
399 void SaveXml( XclExpXmlStream& rStrm ) const;
400};
401
403{
405
406 bool FillFromItemSet( const SfxItemSet& rItemSet );
407
408 void SaveXml( XclExpXmlStream& rStrm ) const;
409};
410
413{
414 sal_uInt32 mnXFId;
415 sal_uInt16 mnXFIndex;
416
417 explicit XclExpXFId();
418 explicit XclExpXFId( sal_uInt32 nXFId )
419 : mnXFId( nXFId ), mnXFIndex( EXC_XF_DEFAULTCELL ) {}
420
422 void ConvertXFIndex( const XclExpRoot& rRoot );
423};
424
426
428class XclExpXF : public XclXFBase, public XclExpRecord, protected XclExpRoot
429{
430public:
432 explicit XclExpXF(
433 const XclExpRoot& rRoot,
434 const ScPatternAttr& rPattern,
435 sal_Int16 nScript,
436 sal_uInt32 nScForceNumFmt = NUMBERFORMAT_ENTRY_NOT_FOUND,
437 sal_uInt16 nForceXclFont = EXC_FONT_NOTFOUND,
438 bool bForceLineBreak = false );
440 explicit XclExpXF(
441 const XclExpRoot& rRoot,
442 const SfxStyleSheetBase& rStyleSheet );
443
449 const XclExpCellBorder& GetBorderData() const { return maBorder; }
451 const XclExpCellArea& GetAreaData() const { return maArea; }
452
455 bool Equals(
456 const ScPatternAttr& rPattern,
457 sal_uInt32 nScForceNumFmt,
458 sal_uInt16 nForceXclFont,
459 bool bForceLineBreak ) const;
460
463 bool Equals( const SfxStyleSheetBase& rStyleSheet ) const;
464
466 void SetFinalColors();
467
469 bool Equals( const XclExpXF& rCmpXF ) const;
470
471 void SetXmlIds( sal_uInt32 nBorderId, sal_uInt32 nFillId );
472
473 virtual void SaveXml( XclExpXmlStream& rStrm ) override;
474
475 const SfxItemSet* GetItemSet() const { return mpItemSet; }
476
477 sal_uInt32 GetScNumFmt() const { return mnScNumFmt; }
478 sal_uInt16 GetXclFont() const { return mnXclFont; }
479
480protected:
481 explicit XclExpXF( const XclExpRoot& rRoot, bool bCellXF );
482
483protected: // access for XclExpDefaultXF
485
490 sal_uInt32 mnParentXFId;
491 sal_uInt32 mnScNumFmt;
492 sal_uInt16 mnXclFont;
493 sal_uInt16 mnXclNumFmt;
494 sal_Int32 mnBorderId;
495 sal_Int32 mnFillId;
496
497private:
498 using XclXFBase::Equals;
499
501 void InitDefault();
504 void Init(
505 const SfxItemSet& rItemSet,
506 sal_Int16 nScript,
507 sal_uInt32 nForceScNumFmt,
508 sal_uInt16 nForceXclFont,
509 bool bForceLineBreak,
510 bool bDefStyle );
511
516 sal_uInt8 GetUsedFlags() const;
517
518 void WriteBody5( XclExpStream& rStrm );
519 void WriteBody8( XclExpStream& rStrm );
520
522 virtual void WriteBody( XclExpStream& rStrm ) override;
523};
524
527{
528public:
529 explicit XclExpDefaultXF( const XclExpRoot& rRoot, bool bCellXF );
530
532 void SetFont( sal_uInt16 nXclFont );
534 void SetNumFmt( sal_uInt16 nXclNumFmt );
535};
536
540{
541public:
542 explicit XclExpStyle( sal_uInt32 nXFId, OUString aStyleName );
543 explicit XclExpStyle( sal_uInt32 nXFId, sal_uInt8 nStyleId, sal_uInt8 nLevel );
544
546 bool IsBuiltIn() const { return mnStyleId != EXC_STYLE_USERDEF; }
547
548 virtual void SaveXml( XclExpXmlStream& rStrm ) override;
549
550private:
552 virtual void WriteBody( XclExpStream& rStrm ) override;
553
554private:
555 OUString maName;
559};
560
577{
578public:
579 explicit XclExpXFBuffer( const XclExpRoot& rRoot );
580
582 void Initialize();
583
586 sal_uInt32 Insert( const ScPatternAttr* pPattern, sal_Int16 nScript );
593 sal_uInt32 InsertWithFont(
594 const ScPatternAttr* pPattern, sal_Int16 nScript,
595 sal_uInt16 nForceXclFont,
596 bool bForceLineBreak );
604 sal_uInt32 InsertWithNumFmt(
605 const ScPatternAttr* pPattern, sal_Int16 nScript,
606 sal_uInt32 nForceScNumFmt,
607 bool bForceLineBreak );
610 sal_uInt32 InsertStyle( const SfxStyleSheetBase* pStyleSheet );
612 static sal_uInt32 GetXFIdFromIndex( sal_uInt16 nXFIndex );
614 static sal_uInt32 GetDefCellXFId();
615
617 const XclExpXF* GetXFById( sal_uInt32 nXFId ) const;
618
620 void Finalize();
621
623 sal_uInt16 GetXFIndex( sal_uInt32 nXFId ) const;
624
625 sal_Int32 GetXmlStyleIndex( sal_uInt32 nXFId ) const;
626 sal_Int32 GetXmlCellIndex( sal_uInt32 nXFId ) const;
627
629 virtual void Save( XclExpStream& rStrm ) override;
630 virtual void SaveXml( XclExpXmlStream& rStrm ) override;
631
632private:
635
636private:
638 sal_uInt32 FindXF( const ScPatternAttr& rPattern, sal_uInt32 nForceScNumFmt,
639 sal_uInt16 nForceXclFont, bool bForceLineBreak ) const;
641 sal_uInt32 FindXF( const SfxStyleSheetBase& rStyleSheet ) const;
642
644 sal_uInt32 FindBuiltInXF( sal_uInt8 nStyleId, sal_uInt8 nLevel ) const;
645
648 sal_uInt32 InsertCellXF( const ScPatternAttr* pPattern, sal_Int16 nScript,
649 sal_uInt32 nForceScNumFmt,
650 sal_uInt16 nForceXclFont, bool bForceLineBreak );
653 sal_uInt32 InsertStyleXF( const SfxStyleSheetBase& rStyleSheet );
654
656 void InsertUserStyles();
657
660 sal_uInt32 AppendBuiltInXF( XclExpXFRef const & xXF,
661 sal_uInt8 nStyleId, sal_uInt8 nLevel = EXC_STYLE_NOLEVEL );
664 sal_uInt32 AppendBuiltInXFWithStyle( XclExpXFRef const & xXF,
665 sal_uInt8 nStyleId, sal_uInt8 nLevel = EXC_STYLE_NOLEVEL );
666
669
671 void AppendXFIndex( sal_uInt32 nXFId );
672
673 void AddBorderAndFill( const XclExpXF& rXF );
674 void SaveXFXml( XclExpXmlStream& rStrm, XclExpXF& rXF );
675
676private:
679 {
684 explicit XclExpBuiltInInfo();
685 };
686 typedef ::std::map< sal_uInt32, XclExpBuiltInInfo > XclExpBuiltInMap;
687 typedef ::std::vector< XclExpCellBorder > XclExpBorderList;
688 typedef ::std::vector< XclExpCellArea > XclExpFillList;
689
691 struct FindKey
692 {
693 bool mbCellXF; // is this a hard cell format, or a cell style
695 sal_uInt32 mnScNumFmt;
696 sal_uInt16 mnXclFont;
697
698 bool operator<(const FindKey& other) const
699 {
700 if (mbCellXF != other.mbCellXF)
701 return mbCellXF < other.mbCellXF;
702 if (mpItemSet != other.mpItemSet)
703 return mpItemSet < other.mpItemSet;
704 if (mnScNumFmt != other.mnScNumFmt)
705 return mnScNumFmt < other.mnScNumFmt;
706 return mnXclFont < other.mnXclFont;
707 }
708 };
709 static FindKey ToFindKey(XclExpXF const &);
710
712 std::map<FindKey, std::vector<sal_uInt32>>
723
724};
725
726class XclExpDxf : public XclExpRecordBase, protected XclExpRoot
727{
728public:
729 XclExpDxf( const XclExpRoot& rRoot, std::unique_ptr<XclExpCellAlign> pAlign, std::unique_ptr<XclExpCellBorder> pBorder,
730 std::unique_ptr<XclExpDxfFont> pFont, std::unique_ptr<XclExpNumFmt> pNumberFmt,
731 std::unique_ptr<XclExpCellProt> pProt, std::unique_ptr<XclExpColor> pColor);
732 XclExpDxf( const XclExpRoot& rRoot, std::unique_ptr<XclExpCellArea> pCellArea);
733 virtual ~XclExpDxf() override;
734
735 virtual void SaveXml( XclExpXmlStream& rStrm ) override;
737 void SetFinalColors();
738
739private:
740 std::unique_ptr<XclExpCellAlign> mpAlign;
741 std::unique_ptr<XclExpCellBorder> mpBorder;
742 std::unique_ptr<XclExpDxfFont> mpFont;
743 std::unique_ptr<XclExpNumFmt> mpNumberFmt;
744 std::unique_ptr<XclExpCellProt> mpProt;
745 std::unique_ptr<XclExpColor> mpColor;
746 std::unique_ptr<XclExpCellArea> mpCellArea;
747};
748
749class XclExpDxfs : public XclExpRecordBase, protected XclExpRoot
750{
751public:
752 XclExpDxfs( const XclExpRoot& rRoot );
753
754 sal_Int32 GetDxfId(const OUString& rName) const;
755 sal_Int32 GetDxfByColor(Color aColor) const;
756 void AddColor(Color aColor);
757
758 virtual void SaveXml( XclExpXmlStream& rStrm) override;
759 void Finalize();
760
761private:
762 typedef std::vector< std::unique_ptr<XclExpDxf> > DxfContainer;
763 std::map<OUString, sal_Int32> maStyleNameToDxfId;
764 std::map<Color, sal_Int32> maColorToDxfId;
766 std::unique_ptr<NfKeywordTable> mpKeywordTable;
767};
768
770{
771public:
772 explicit XclExpXmlStyleSheet( const XclExpRoot& rRoot );
773
774 virtual void SaveXml( XclExpXmlStream& rStrm ) override;
775};
776
777/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Stores all default colors for a specific BIFF version.
Definition: xlstyle.hxx:251
Used as placeholder for font index 4, which is not used in Excel.
Definition: xestyle.hxx:193
virtual bool Equals(const XclFontData &rFontData, sal_uInt32 nHash) const override
Returns always false to never find this font while searching the font list.
Definition: xestyle.cxx:1159
virtual void Save(XclExpStream &rStrm) override
Skips writing this record.
Definition: xestyle.cxx:1164
XclExpBlindFont(const XclExpRoot &rRoot)
Definition: xestyle.cxx:1154
Represents a default XF record.
Definition: xestyle.hxx:527
void SetNumFmt(sal_uInt16 nXclNumFmt)
Sets the Excel number format index.
Definition: xestyle.cxx:2272
void SetFont(sal_uInt16 nXclFont)
Sets the Excel font index.
Definition: xestyle.cxx:2266
XclExpDefaultXF(const XclExpRoot &rRoot, bool bCellXF)
Definition: xestyle.cxx:2261
XclExpDxfFont(const XclExpRoot &rRoot, const SfxItemSet &rItemSet)
Definition: xestyle.cxx:1020
ScDxfFont maDxfData
Definition: xestyle.hxx:188
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xestyle.cxx:1068
std::unique_ptr< XclExpNumFmt > mpNumberFmt
Definition: xestyle.hxx:743
std::unique_ptr< XclExpCellAlign > mpAlign
Definition: xestyle.hxx:740
std::unique_ptr< XclExpCellProt > mpProt
Definition: xestyle.hxx:744
std::unique_ptr< XclExpCellArea > mpCellArea
Definition: xestyle.hxx:746
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xestyle.cxx:3252
void SaveXmlExt(XclExpXmlStream &rStrm)
Definition: xestyle.cxx:3274
virtual ~XclExpDxf() override
Definition: xestyle.cxx:3240
std::unique_ptr< XclExpDxfFont > mpFont
Definition: xestyle.hxx:742
XclExpDxf(const XclExpRoot &rRoot, std::unique_ptr< XclExpCellAlign > pAlign, std::unique_ptr< XclExpCellBorder > pBorder, std::unique_ptr< XclExpDxfFont > pFont, std::unique_ptr< XclExpNumFmt > pNumberFmt, std::unique_ptr< XclExpCellProt > pProt, std::unique_ptr< XclExpColor > pColor)
Definition: xestyle.cxx:3221
std::unique_ptr< XclExpCellBorder > mpBorder
Definition: xestyle.hxx:741
void SetFinalColors()
Definition: xestyle.cxx:3244
std::unique_ptr< XclExpColor > mpColor
Definition: xestyle.hxx:745
std::vector< std::unique_ptr< XclExpDxf > > DxfContainer
Definition: xestyle.hxx:762
sal_Int32 GetDxfByColor(Color aColor) const
Definition: xestyle.cxx:3181
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xestyle.cxx:3197
XclExpDxfs(const XclExpRoot &rRoot)
Definition: xestyle.cxx:3044
DxfContainer maDxf
Definition: xestyle.hxx:765
std::map< OUString, sal_Int32 > maStyleNameToDxfId
Definition: xestyle.hxx:763
void Finalize()
Definition: xestyle.cxx:3213
void AddColor(Color aColor)
Definition: xestyle.cxx:3189
std::unique_ptr< NfKeywordTable > mpKeywordTable
Definition: xestyle.hxx:766
sal_Int32 GetDxfId(const OUString &rName) const
Definition: xestyle.cxx:3173
std::map< Color, sal_Int32 > maColorToDxfId
Definition: xestyle.hxx:764
Stores the data of all fonts used in the document.
Definition: xestyle.hxx:208
XclExpFontList maFontList
Definition: xestyle.hxx:247
XclExpFontBuffer(const XclExpRoot &rRoot)
Definition: xestyle.cxx:1169
size_t mnXclMaxSize
List of all FONT records.
Definition: xestyle.hxx:248
sal_uInt16 Insert(const XclFontData &rFontData, XclExpColorType eColorType, bool bAppFont=false)
Inserts a new font with the passed font data into the buffer if not present.
Definition: xestyle.cxx:1193
const XclExpFont * GetFont(sal_uInt16 nXclFont) const
Returns the specified font from font list.
Definition: xestyle.cxx:1183
void InitDefaultFonts()
Initializes the default fonts for the current BIFF version.
Definition: xestyle.cxx:1259
size_t Find(const XclFontData &rFontData)
Tries to find the passed font and returns the current list index.
Definition: xestyle.cxx:1305
XclExpRecordList< XclExpFont > XclExpFontList
Definition: xestyle.hxx:244
const XclFontData & GetAppFontData() const
Returns the application font data of this file, needed e.g.
Definition: xestyle.cxx:1188
XclExpFontList::RecordRefType XclExpFontRef
Definition: xestyle.hxx:245
virtual void Save(XclExpStream &rStrm) override
Writes all FONT records contained in this buffer.
Definition: xestyle.cxx:1239
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xestyle.cxx:1244
Stores all data of an Excel font and provides export of FONT records.
Definition: xestyle.hxx:155
virtual bool Equals(const XclFontData &rFontData, sal_uInt32 nHash) const
Compares this font with the passed font data.
Definition: xestyle.cxx:975
sal_uInt32 mnHash
Unique color ID for text color.
Definition: xestyle.hxx:177
XclExpFont(const XclExpRoot &rRoot, const XclFontData &rFontData, XclExpColorType eColorType)
Definition: xestyle.cxx:960
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xestyle.cxx:980
XclFontData maData
Definition: xestyle.hxx:175
sal_uInt32 mnColorId
All font attributes.
Definition: xestyle.hxx:176
virtual void WriteBody(XclExpStream &rStrm) override
Writes the contents of the FONT record.
Definition: xestyle.cxx:991
const XclFontData & GetFontData() const
Returns read-only access to font data.
Definition: xestyle.hxx:161
sal_uInt32 GetFontColorId() const
Returns the font color identifier.
Definition: xestyle.hxx:163
Stores all number formats used in the document.
Definition: xestyle.hxx:270
OUString GetFormatCode(sal_uInt32 nScNumFmt)
Definition: xestyle.cxx:1422
XclExpNumFmtBuffer(const XclExpRoot &rRoot)
Definition: xestyle.cxx:1337
sal_uInt32 mnStdFmt
Replacement table.
Definition: xestyle.hxx:301
sal_uInt16 Insert(sal_uInt32 nScNumFmt)
Inserts a number format into the format buffer.
Definition: xestyle.cxx:1357
void WriteFormatRecord(XclExpStream &rStrm, sal_uInt16 nXclNumFmt, const OUString &rFormatStr)
Writes the FORMAT record with index nXclIx and format string rFormatStr.
Definition: xestyle.cxx:1395
virtual ~XclExpNumFmtBuffer() override
Definition: xestyle.cxx:1353
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xestyle.cxx:1381
XclExpNumFmtVec maFormatMap
Special number formatter for conversion.
Definition: xestyle.hxx:299
std::unique_ptr< NfKeywordTable > mpKeywordTable
Maps core formats to Excel indexes.
Definition: xestyle.hxx:300
sal_uInt32 GetStandardFormat() const
Returns the core index of the current standard number format.
Definition: xestyle.hxx:276
sal_uInt16 mnXclOffset
Key for standard number format.
Definition: xestyle.hxx:302
::std::vector< XclExpNumFmt > XclExpNumFmtVec
Definition: xestyle.hxx:296
virtual void Save(XclExpStream &rStrm) override
Writes all FORMAT records contained in this buffer.
Definition: xestyle.cxx:1375
SvNumberFormatterPtr mxFormatter
Definition: xestyle.hxx:298
Stores all used colors in the document.
Definition: xestyle.hxx:76
sal_uInt32 InsertColor(const Color &rColor, XclExpColorType eType, sal_uInt16 nAutoDefault=0)
Inserts the color into the list and updates weighting.
Definition: xestyle.cxx:767
sal_uInt16 GetColorIndex(sal_uInt32 nColorId) const
Returns the Excel palette index of the color with passed color ID.
Definition: xestyle.cxx:782
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xestyle.cxx:805
Color GetColor(sal_uInt16 nXclIndex) const
Returns the color for a (non-zero-based) Excel palette entry.
Definition: xestyle.cxx:794
void Finalize()
Reduces the color list to the maximum count of the current BIFF version.
Definition: xestyle.cxx:777
void GetMixedColors(sal_uInt16 &rnXclForeIx, sal_uInt16 &rnXclBackIx, sal_uInt8 &rnXclPattern, sal_uInt32 nForeColorId, sal_uInt32 nBackColorId) const
Returns a foreground and background color for the two passed color IDs.
Definition: xestyle.cxx:787
std::shared_ptr< XclExpPaletteImpl > XclExpPaletteImplRef
Definition: xestyle.hxx:115
static sal_uInt32 GetColorIdFromIndex(sal_uInt16 nIndex)
Returns the color ID representing a fixed Excel palette index (i.e.
Definition: xestyle.cxx:772
virtual void Save(XclExpStream &rStrm) override
Saves the PALETTE record, if it differs from the default palette.
Definition: xestyle.cxx:799
virtual void WriteBody(XclExpStream &rStrm) override
Writes the contents of the PALETTE record.
Definition: xestyle.cxx:811
virtual ~XclExpPalette() override
Definition: xestyle.cxx:763
XclExpPaletteImplRef mxImpl
Definition: xestyle.hxx:116
XclExpPalette(const XclExpRoot &rRoot)
Definition: xestyle.cxx:755
Base class for all Excel records.
Definition: xerecord.hxx:39
rtl::Reference< XclExpXF > RecordRefType
Definition: xerecord.hxx:324
Base class for single records with any content.
Definition: xerecord.hxx:143
Access to global data from other classes.
Definition: xeroot.hxx:113
This class is used to export Excel record streams.
Definition: xestream.hxx:73
Represents a STYLE record containing the data of a cell style.
Definition: xestyle.hxx:540
virtual void WriteBody(XclExpStream &rStrm) override
Writes the contents of the STYLE record.
Definition: xestyle.cxx:2301
sal_uInt8 mnStyleId
XF identifier for style formatting.
Definition: xestyle.hxx:557
XclExpXFId maXFId
Name of the cell style.
Definition: xestyle.hxx:556
sal_uInt8 mnLevel
Built-in style identifier.
Definition: xestyle.hxx:558
bool IsBuiltIn() const
Returns true, if this record represents an Excel built-in style.
Definition: xestyle.hxx:546
XclExpStyle(sal_uInt32 nXFId, OUString aStyleName)
Definition: xestyle.cxx:2278
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xestyle.cxx:2336
OUString maName
Definition: xestyle.hxx:555
Stores all XF records (cell formats and cell styles) in the document.
Definition: xestyle.hxx:577
XclExpXFList maXFList
Definition: xestyle.hxx:711
sal_uInt32 InsertCellXF(const ScPatternAttr *pPattern, sal_Int16 nScript, sal_uInt32 nForceScNumFmt, sal_uInt16 nForceXclFont, bool bForceLineBreak)
Tries to find the XF record containing the passed format or inserts a new record.
Definition: xestyle.cxx:2789
::std::map< sal_uInt32, XclExpBuiltInInfo > XclExpBuiltInMap
Definition: xestyle.hxx:686
void Finalize()
Reduces the XF record list to the maximum allowed number of records.
Definition: xestyle.cxx:2494
void AppendXFIndex(sal_uInt32 nXFId)
Appends a XF index to the internal ID<->index maps.
Definition: xestyle.cxx:3021
virtual void Save(XclExpStream &rStrm) override
Writes all XF records contained in this buffer.
Definition: xestyle.cxx:2617
void AddBorderAndFill(const XclExpXF &rXF)
Definition: xestyle.cxx:3031
sal_uInt32 InsertWithNumFmt(const ScPatternAttr *pPattern, sal_Int16 nScript, sal_uInt32 nForceScNumFmt, bool bForceLineBreak)
Finds or creates a cell XF record for the passed item set, with custom number format.
Definition: xestyle.cxx:2469
sal_uInt32 FindXF(const ScPatternAttr &rPattern, sal_uInt32 nForceScNumFmt, sal_uInt16 nForceXclFont, bool bForceLineBreak) const
Returns the XF ID of the cell XF containing the passed format.
Definition: xestyle.cxx:2715
XclExpXFBuffer(const XclExpRoot &rRoot)
Definition: xestyle.cxx:2447
sal_uInt32 InsertStyleXF(const SfxStyleSheetBase &rStyleSheet)
Inserts the passed cell style.
Definition: xestyle.cxx:2841
XclExpRecordList< XclExpStyle > maStyleList
map of itemset to vector of positions, to speed up find
Definition: xestyle.hxx:715
XclExpXFList maSortedXFList
Maps XF IDs to OOXML Cell indexes.
Definition: xestyle.hxx:720
XclExpFillList maFills
List of borders used by XF records.
Definition: xestyle.hxx:722
ScfUInt16Vec maXFIndexVec
Contained elements describe built-in XFs.
Definition: xestyle.hxx:717
static sal_uInt32 GetXFIdFromIndex(sal_uInt16 nXFIndex)
Returns the XF identifier representing a fixed Excel XF index (e.g.
Definition: xestyle.cxx:2479
::std::vector< XclExpCellBorder > XclExpBorderList
Definition: xestyle.hxx:687
sal_uInt32 FindBuiltInXF(sal_uInt8 nStyleId, sal_uInt8 nLevel) const
Returns the XF ID of a built-in style XF, searches by style identifier.
Definition: xestyle.cxx:2773
sal_uInt32 InsertWithFont(const ScPatternAttr *pPattern, sal_Int16 nScript, sal_uInt16 nForceXclFont, bool bForceLineBreak)
Finds or creates a cell XF record for the passed item set.
Definition: xestyle.cxx:2463
ScfUInt16Vec maCellIndexes
Maps XF IDs to OOXML Style indexes.
Definition: xestyle.hxx:719
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xestyle.cxx:2640
XclExpBuiltInMap maBuiltInMap
List of all STYLE records.
Definition: xestyle.hxx:716
sal_Int32 GetXmlStyleIndex(sal_uInt32 nXFId) const
Definition: xestyle.cxx:2601
XclExpBorderList maBorders
List of XF records in XF index order.
Definition: xestyle.hxx:721
static sal_uInt32 GetDefCellXFId()
Returns the XF identifier representing the default cell XF.
Definition: xestyle.cxx:2484
static FindKey ToFindKey(XclExpXF const &)
Definition: xestyle.cxx:2784
void InsertUserStyles()
Inserts an XF and a STYLE record for all user defined style sheets.
Definition: xestyle.cxx:2912
sal_uInt32 Insert(const ScPatternAttr *pPattern, sal_Int16 nScript)
Finds or creates a cell XF record for the passed item set.
Definition: xestyle.cxx:2458
const XclExpXF * GetXFById(sal_uInt32 nXFId) const
Returns an XF record by its unique identifier.
Definition: xestyle.cxx:2489
void InsertDefaultRecords()
Inserts all default XF and STYLE records.
Definition: xestyle.cxx:2956
XclExpXFList::RecordRefType XclExpXFRef
Definition: xestyle.hxx:634
void SaveXFXml(XclExpXmlStream &rStrm, XclExpXF &rXF)
Definition: xestyle.cxx:2696
::std::vector< XclExpCellArea > XclExpFillList
Definition: xestyle.hxx:688
ScfUInt16Vec maStyleIndexes
Maps XF IDs to XF indexes.
Definition: xestyle.hxx:718
std::map< FindKey, std::vector< sal_uInt32 > > maXFFindMap
List of all XF records.
Definition: xestyle.hxx:713
sal_uInt16 GetXFIndex(sal_uInt32 nXFId) const
Returns the Excel XF index of the XF record with passed XF ID.
Definition: xestyle.cxx:2591
sal_uInt32 AppendBuiltInXFWithStyle(XclExpXFRef const &xXF, sal_uInt8 nStyleId, sal_uInt8 nLevel=EXC_STYLE_NOLEVEL)
Inserts a built-in XF and STYLE record and returns the XF ID.
Definition: xestyle.cxx:2932
sal_uInt32 InsertStyle(const SfxStyleSheetBase *pStyleSheet)
Inserts the passed cell style.
Definition: xestyle.cxx:2474
void Initialize()
Inserts predefined built-in styles and user-defined styles.
Definition: xestyle.cxx:2452
XclExpRecordList< XclExpXF > XclExpXFList
Definition: xestyle.hxx:633
sal_uInt32 AppendBuiltInXF(XclExpXFRef const &xXF, sal_uInt8 nStyleId, sal_uInt8 nLevel=EXC_STYLE_NOLEVEL)
Inserts a built-in XF record without a STYLE record and returns the XF ID.
Definition: xestyle.cxx:2920
sal_Int32 GetXmlCellIndex(sal_uInt32 nXFId) const
Definition: xestyle.cxx:2609
Represents an XF record which contains all formatting data of a cell or cell style.
Definition: xestyle.hxx:429
sal_uInt32 GetScNumFmt() const
Definition: xestyle.hxx:477
XclExpCellArea maArea
Border line style.
Definition: xestyle.hxx:489
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xestyle.cxx:2221
bool Equals(const ScPatternAttr &rPattern, sal_uInt32 nScForceNumFmt, sal_uInt16 nForceXclFont, bool bForceLineBreak) const
Returns true, if this XF record represents the passed cell formatting.
Definition: xestyle.cxx:2065
sal_uInt8 GetUsedFlags() const
Returns the bits specifying the used attributes.
Definition: xestyle.cxx:2154
sal_uInt16 mnXclNumFmt
Excel font index.
Definition: xestyle.hxx:493
sal_uInt16 GetXclFont() const
Definition: xestyle.hxx:478
void Init(const SfxItemSet &rItemSet, sal_Int16 nScript, sal_uInt32 nForceScNumFmt, sal_uInt16 nForceXclFont, bool bForceLineBreak, bool bDefStyle)
Fills all members from the passed item set.
Definition: xestyle.cxx:2103
sal_uInt32 mnScNumFmt
XF ID of parent XF record.
Definition: xestyle.hxx:491
const XclExpCellAlign & GetAlignmentData() const
Returns the alignment settings of this XF.
Definition: xestyle.hxx:447
void WriteBody5(XclExpStream &rStrm)
Definition: xestyle.cxx:2168
virtual void WriteBody(XclExpStream &rStrm) override
Writes the contents of the XF record.
Definition: xestyle.cxx:2202
void SetFinalColors()
Sets the resulting Excel palette index from all used color IDs (border and area).
Definition: xestyle.cxx:2079
void InitDefault()
Initializes with default values.
Definition: xestyle.cxx:2094
void WriteBody8(XclExpStream &rStrm)
Definition: xestyle.cxx:2185
const SfxItemSet * GetItemSet() const
Definition: xestyle.hxx:475
const SfxItemSet * mpItemSet
Definition: xestyle.hxx:484
XclExpCellBorder maBorder
All alignment attributes.
Definition: xestyle.hxx:488
XclExpCellAlign maAlignment
Cell protection flags.
Definition: xestyle.hxx:487
const XclExpCellBorder & GetBorderData() const
Returns the cell border settings of this XF.
Definition: xestyle.hxx:449
const XclExpCellArea & GetAreaData() const
Returns the cell fill settings of this XF.
Definition: xestyle.hxx:451
void SetXmlIds(sal_uInt32 nBorderId, sal_uInt32 nFillId)
Definition: xestyle.cxx:2215
sal_Int32 mnFillId
OOXML Border Index.
Definition: xestyle.hxx:495
XclExpCellProt maProtection
Pointer to the item set (we do not own it).
Definition: xestyle.hxx:486
sal_Int32 mnBorderId
Excel number format index.
Definition: xestyle.hxx:494
XclExpXF(const XclExpRoot &rRoot, const ScPatternAttr &rPattern, sal_Int16 nScript, sal_uInt32 nScForceNumFmt=NUMBERFORMAT_ENTRY_NOT_FOUND, sal_uInt16 nForceXclFont=EXC_FONT_NOTFOUND, bool bForceLineBreak=false)
Constructs a cell XF record from the passed Calc cell formatting.
Definition: xestyle.cxx:2036
sal_uInt16 mnXclFont
Calc number format index.
Definition: xestyle.hxx:492
sal_uInt32 mnParentXFId
Background area style.
Definition: xestyle.hxx:490
const XclExpCellProt & GetProtectionData() const
Returns the cell protection settings of this XF.
Definition: xestyle.hxx:445
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xestyle.cxx:3300
XclExpXmlStyleSheet(const XclExpRoot &rRoot)
Definition: xestyle.cxx:3295
Access to global data for a filter object (imported or exported document) from other classes.
Definition: xlroot.hxx:128
Contains base members for XF record import/export.
Definition: xlstyle.hxx:561
bool Equals(const XclXFBase &rCmp) const
Returns true, if this object is equal to the passed.
Definition: xlstyle.cxx:1735
DocumentType eType
::std::vector< sal_uInt16 > ScfUInt16Vec
Definition: ftools.hxx:255
sal_Int32 nIndex
Helper functions for font export.
Definition: xestyle.hxx:125
ScDxfFont GetDxfFontFromItemSet(const XclExpRoot &rRoot, const SfxItemSet &rSet)
Get a dxf related font object from the item set.
Definition: xestyle.cxx:899
vcl::Font GetFontFromItemSet(const XclExpRoot &rRoot, const SfxItemSet &rItemSet, sal_Int16 nScript)
Returns a VCL font object filled from the passed item set.
Definition: xestyle.cxx:884
bool CheckItems(const XclExpRoot &rRoot, const SfxItemSet &rItemSet, sal_Int16 nScript, bool bDeep)
Returns true, if at least one font related item is set in the passed item set.
Definition: xestyle.cxx:908
sal_Int16 GetFirstUsedScript(const XclExpRoot &rRoot, const SfxItemSet &rItemSet)
Returns the script type of the first font item found in the item set and its parents.
Definition: xestyle.cxx:833
void SvStream & rStrm
static SfxItemSet & rSet
Contains all cell alignment attributes.
Definition: xlstyle.hxx:486
Contains background colors and pattern for a cell.
Definition: xlstyle.hxx:542
Contains color and line style for each cell border line.
Definition: xlstyle.hxx:521
Contains all cell protection attributes.
Definition: xlstyle.hxx:475
Extends the XclCellAlign struct for export.
Definition: xestyle.hxx:324
bool FillFromItemSet(const XclRoot &rRoot, const SfxItemSet &rItemSet, bool bForceLineBreak, XclBiff eBiff, bool bStyle=false)
Fills the alignment attributes from the passed item set.
Definition: xestyle.cxx:1450
void SaveXml(XclExpXmlStream &rStrm) const
Definition: xestyle.cxx:1596
void FillToXF8(sal_uInt16 &rnAlign, sal_uInt16 &rnMiscAttrib) const
Fills the data to the passed fields of a BIFF8 XF record.
Definition: xestyle.cxx:1556
void FillToXF5(sal_uInt16 &rnAlign) const
Fills the data to the passed fields of a BIFF5/BIFF7 XF record.
Definition: xestyle.cxx:1548
Extends the XclCellArea struct for export.
Definition: xestyle.hxx:374
sal_uInt32 mnForeColorId
Definition: xestyle.hxx:375
Color maForeColor
Background color ID.
Definition: xestyle.hxx:377
void SaveXml(XclExpXmlStream &rStrm) const
Definition: xestyle.cxx:1952
sal_uInt32 mnBackColorId
Foreground color ID.
Definition: xestyle.hxx:376
void FillToCF8(sal_uInt16 &rnPattern, sal_uInt16 &rnColor) const
Fills the data to the passed fields of a BIFF8 CF (conditional format) record.
Definition: xestyle.cxx:1925
void FillToXF5(sal_uInt32 &rnArea) const
Fills the data to the passed fields of a BIFF5/BIFF7 XF record.
Definition: xestyle.cxx:1911
void SetFinalColors(const XclExpPalette &rPalette)
Fills the mn***Color base members from the mn***ColorId members.
Definition: xestyle.cxx:1906
bool FillFromItemSet(const SfxItemSet &rItemSet, XclExpPalette &rPalette, bool bStyle)
Fills the area attributes from the passed item set.
Definition: xestyle.cxx:1888
Color maBackColor
Definition: xestyle.hxx:378
void FillToXF8(sal_uInt32 &rnBorder2, sal_uInt16 &rnArea) const
Fills the data to the passed fields of a BIFF8 XF record.
Definition: xestyle.cxx:1918
Extends the XclCellBorder struct for export.
Definition: xestyle.hxx:343
sal_uInt32 mnLeftColorId
Definition: xestyle.hxx:344
sal_uInt32 mnDiagColorId
Color ID for bottom line.
Definition: xestyle.hxx:348
void SetFinalColors(const XclExpPalette &rPalette)
Fills the mn***Color base members from the mn***ColorId members.
Definition: xestyle.cxx:1765
bool FillFromItemSet(const SfxItemSet &rItemSet, XclExpPalette &rPalette, XclBiff eBiff, bool bStyle=false)
Fills the border attributes from the passed item set.
Definition: xestyle.cxx:1707
XclExpCellBorder()
Color ID for diagonal line(s).
Definition: xestyle.cxx:1698
sal_uInt32 mnRightColorId
Color ID for left line.
Definition: xestyle.hxx:345
sal_uInt32 mnBottomColorId
Color ID for top line.
Definition: xestyle.hxx:347
void FillToXF8(sal_uInt32 &rnBorder1, sal_uInt32 &rnBorder2) const
Fills the data to the passed fields of a BIFF8 XF record.
Definition: xestyle.cxx:1786
void FillToCF8(sal_uInt16 &rnLine, sal_uInt32 &rnColor) const
Fills the data to the passed fields of a BIFF8 CF (conditional format) record.
Definition: xestyle.cxx:1802
void SaveXml(XclExpXmlStream &rStrm) const
Definition: xestyle.cxx:1851
void FillToXF5(sal_uInt32 &rnBorder, sal_uInt32 &rnArea) const
Fills the data to the passed fields of a BIFF5/BIFF7 XF record.
Definition: xestyle.cxx:1774
sal_uInt32 mnTopColorId
Color ID for right line.
Definition: xestyle.hxx:346
Extends the XclCellProt struct for export.
Definition: xestyle.hxx:310
bool FillFromItemSet(const SfxItemSet &rItemSet, bool bStyle=false)
Fills the protection attributes from the passed item set.
Definition: xestyle.cxx:1429
void SaveXml(XclExpXmlStream &rStrm) const
Definition: xestyle.cxx:1443
void FillToXF3(sal_uInt16 &rnProt) const
Fills the data to the passed fields of a BIFF3-BIFF8 XF record.
Definition: xestyle.cxx:1437
void SaveXml(XclExpXmlStream &rStrm) const
Definition: xestyle.cxx:2014
Color maColor
Definition: xestyle.hxx:404
bool FillFromItemSet(const SfxItemSet &rItemSet)
Definition: xestyle.cxx:2003
Stores a core number format index with corresponding Excel format index.
Definition: xestyle.hxx:255
void SaveXml(XclExpXmlStream &rStrm)
Definition: xestyle.cxx:1329
sal_uInt32 mnScNumFmt
Definition: xestyle.hxx:256
sal_uInt16 mnXclNumFmt
Core index of the number format.
Definition: xestyle.hxx:257
OUString maNumFmtString
Resulting Excel format index.
Definition: xestyle.hxx:258
XclExpNumFmt(sal_uInt32 nScNumFmt, sal_uInt16 nXclNumFmt, OUString aFrmt)
format string
Definition: xestyle.hxx:260
composite key for the find-map, so we can do partial key searching
Definition: xestyle.hxx:692
bool operator<(const FindKey &other) const
Definition: xestyle.hxx:698
const SfxItemSet * mpItemSet
Definition: xestyle.hxx:694
Extended info about a built-in XF.
Definition: xestyle.hxx:679
bool mbHasStyleRec
true = XF still predefined.
Definition: xestyle.hxx:683
XclExpBuiltInInfo()
true = STYLE record created.
Definition: xestyle.cxx:2382
sal_uInt8 mnLevel
Built-in style identifier.
Definition: xestyle.hxx:681
bool mbPredefined
Level for RowLevel/ColLevel styles.
Definition: xestyle.hxx:682
A combination of unique XF identifier with real Excel XF index.
Definition: xestyle.hxx:413
sal_uInt16 mnXFIndex
Temporary XF identifier.
Definition: xestyle.hxx:415
XclExpXFId(sal_uInt32 nXFId)
Definition: xestyle.hxx:418
void ConvertXFIndex(const XclExpRoot &rRoot)
Converts the XF identifier in mnXFId to an Excel XF index and stores it in mnXFIndex.
Definition: xestyle.cxx:2031
sal_uInt32 mnXFId
Definition: xestyle.hxx:414
XclExpXFId()
Real Excel XF index.
Definition: xestyle.cxx:2025
This struct helps reading and writing Excel fonts.
Definition: xlstyle.hxx:284
unsigned char sal_uInt8
const sal_uInt16 EXC_ID_FONTLIST
Definition: xestyle.hxx:38
const sal_uInt16 EXC_ID_XFLIST
For internal use only.
Definition: xestyle.hxx:40
XclExpColorType
For internal use only. TODO:moggi: find a better/correct value.
Definition: xestyle.hxx:47
@ EXC_COLOR_CHARTAREA
Line in a chart.
Definition: xestyle.hxx:53
@ EXC_COLOR_GRID
Text color in a form control.
Definition: xestyle.hxx:55
@ EXC_COLOR_CELLBORDER
Text in a cell.
Definition: xestyle.hxx:49
@ EXC_COLOR_CTRLTEXT
Area in a chart.
Definition: xestyle.hxx:54
@ EXC_COLOR_CHARTTEXT
Background area of a cell.
Definition: xestyle.hxx:51
@ EXC_COLOR_CELLAREA
Border of a cell.
Definition: xestyle.hxx:50
@ EXC_COLOR_CELLTEXT
Definition: xestyle.hxx:48
@ EXC_COLOR_CHARTLINE
Text color in a chart.
Definition: xestyle.hxx:52
@ EXC_COLOR_TABBG
Spreadsheet grid color.
Definition: xestyle.hxx:56
const sal_uInt16 EXC_ID_FORMATLIST
For internal use only.
Definition: xestyle.hxx:39
const sal_uInt16 EXC_ID_DXFS
For internal use only.
Definition: xestyle.hxx:41
const size_t EXC_FONTLIST_NOTFOUND
Definition: xestyle.hxx:121
::std::unique_ptr< SvNumberFormatter > SvNumberFormatterPtr
Definition: xestyle.hxx:266
XclBiff
An enumeration for all Excel file format types (BIFF types).
Definition: xlconst.hxx:30
const sal_uInt16 EXC_FONT_NOTFOUND
Application font index.
Definition: xlstyle.hxx:77
const sal_uInt8 EXC_STYLE_NOLEVEL
Number of outline level styles.
Definition: xlstyle.hxx:237
const sal_uInt16 EXC_XF_DEFAULTCELL
Excel index to default style XF.
Definition: xlstyle.hxx:139
const sal_uInt8 EXC_STYLE_USERDEF
"Followed_Hyperlink" style.
Definition: xlstyle.hxx:234
constexpr sal_uInt32 NUMBERFORMAT_ENTRY_NOT_FOUND