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>
34
35/* ============================================================================
36- Buffers for style records (PALETTE, FONT, FORMAT, XF, STYLE).
37============================================================================ */
38
39const sal_uInt16 EXC_ID_FONTLIST = 0x8031;
40const sal_uInt16 EXC_ID_FORMATLIST = 0x801E;
41const sal_uInt16 EXC_ID_XFLIST = 0x8043;
42const sal_uInt16 EXC_ID_DXFS = 0x9999;
43
44// PALETTE record - color information =========================================
45
48{
58};
59
61
77{
78public:
79 explicit XclExpPalette( const XclExpRoot& rRoot );
80 virtual ~XclExpPalette() override;
81
85 sal_uInt32 InsertColor( const Color& rColor, XclExpColorType eType, sal_uInt16 nAutoDefault = 0 );
87 static sal_uInt32 GetColorIdFromIndex( sal_uInt16 nIndex );
88
90 void Finalize();
91
93 sal_uInt16 GetColorIndex( sal_uInt32 nColorId ) const;
94
99 void GetMixedColors(
100 sal_uInt16& rnXclForeIx, sal_uInt16& rnXclBackIx, sal_uInt8& rnXclPattern,
101 sal_uInt32 nForeColorId, sal_uInt32 nBackColorId ) const;
102
105 Color GetColor( sal_uInt16 nXclIndex ) const;
106
108 virtual void Save( XclExpStream& rStrm ) override;
109 virtual void SaveXml( XclExpXmlStream& rStrm ) override;
110
111private:
113 virtual void WriteBody( XclExpStream& rStrm ) override;
114
115private:
116 typedef std::shared_ptr< XclExpPaletteImpl > XclExpPaletteImplRef;
118};
119
120// FONT record - font information =============================================
121
122const size_t EXC_FONTLIST_NOTFOUND = static_cast< size_t >( -1 );
123
126{
128 sal_Int16 GetFirstUsedScript(
129 const XclExpRoot& rRoot,
130 const SfxItemSet& rItemSet );
131
134 const XclExpRoot& rRoot,
135 const SfxItemSet& rItemSet,
136 sal_Int16 nScript );
137
144
147 bool CheckItems(
148 const XclExpRoot& rRoot,
149 const SfxItemSet& rItemSet,
150 sal_Int16 nScript,
151 bool bDeep );
152}
153
155class XclExpFont : public XclExpRecord, protected XclExpRoot
156{
157public:
158 explicit XclExpFont( const XclExpRoot& rRoot,
159 const XclFontData& rFontData, XclExpColorType eColorType );
160
162 const XclFontData& GetFontData() const { return maData; }
164 sal_uInt32 GetFontColorId() const { return mnColorId; }
167 virtual bool Equals( const XclFontData& rFontData, sal_uInt32 nHash ) const;
168
169 virtual void SaveXml( XclExpXmlStream& rStrm ) override;
170
171private:
173 virtual void WriteBody( XclExpStream& rStrm ) override;
174
175private:
177 sal_uInt32 mnColorId;
178 sal_uInt32 mnHash;
179};
180
182{
183public:
184 XclExpDxfFont(const XclExpRoot& rRoot, const SfxItemSet& rItemSet);
185
186 virtual void SaveXml(XclExpXmlStream& rStrm) override;
187private:
188
190};
191
194{
195public:
196 explicit XclExpBlindFont( const XclExpRoot& rRoot );
197
199 virtual bool Equals( const XclFontData& rFontData, sal_uInt32 nHash ) const override;
200
202 virtual void Save( XclExpStream& rStrm ) override;
203};
204
205class ScPatternAttr;
206
209{
210public:
211 explicit XclExpFontBuffer( const XclExpRoot& rRoot );
212
214 const XclExpFont* GetFont( sal_uInt16 nXclFont ) const;
216 const XclFontData& GetAppFontData() const;
217
221 sal_uInt16 Insert(const XclFontData& rFontData, XclExpColorType eColorType, bool bAppFont = false );
224 sal_uInt16 Insert(const SvxFont& rFont, model::ComplexColor const& rComplexColor, XclExpColorType eColorType);
229 sal_uInt16 Insert(const SfxItemSet& rItemSet, sal_Int16 nScript, XclExpColorType eColorType, bool bAppFont);
230
232 virtual void Save( XclExpStream& rStrm ) override;
233 virtual void SaveXml( XclExpXmlStream& rStrm ) override;
234
235private:
237 void InitDefaultFonts();
239 size_t Find( const XclFontData& rFontData );
240
241private:
244
247};
248
249// FORMAT record - number formats =============================================
250
253{
254 sal_uInt32 mnScNumFmt;
255 sal_uInt16 mnXclNumFmt;
256 OUString maNumFmtString;
257
258 explicit XclExpNumFmt( sal_uInt32 nScNumFmt, sal_uInt16 nXclNumFmt, OUString aFrmt ) :
259 mnScNumFmt( nScNumFmt ), mnXclNumFmt( nXclNumFmt ), maNumFmtString(std::move( aFrmt )) {}
260
261 void SaveXml( XclExpXmlStream& rStrm );
262};
263
264typedef ::std::unique_ptr< SvNumberFormatter > SvNumberFormatterPtr;
265
268{
269public:
270 explicit XclExpNumFmtBuffer( const XclExpRoot& rRoot );
271 virtual ~XclExpNumFmtBuffer() override;
272
274 sal_uInt32 GetStandardFormat() const { return mnStdFmt; }
275
279 sal_uInt16 Insert( sal_uInt32 nScNumFmt );
280
282 virtual void Save( XclExpStream& rStrm ) override;
283 virtual void SaveXml( XclExpXmlStream& rStrm ) override;
284
285 OUString GetFormatCode ( sal_uInt32 nScNumFmt );
286
287private:
289 void WriteFormatRecord( XclExpStream& rStrm, sal_uInt16 nXclNumFmt, const OUString& rFormatStr );
291 void WriteFormatRecord( XclExpStream& rStrm, const XclExpNumFmt& rFormat );
292
293private:
294 typedef ::std::vector< XclExpNumFmt > XclExpNumFmtVec;
295
298 std::unique_ptr<NfKeywordTable> mpKeywordTable;
299 sal_uInt32 mnStdFmt;
300 sal_uInt16 mnXclOffset;
301};
302
303// XF, STYLE record - Cell formatting =========================================
304
308{
311 bool FillFromItemSet( const SfxItemSet& rItemSet, bool bStyle = false );
312
314 void FillToXF3( sal_uInt16& rnProt ) const;
315
316 void SaveXml( XclExpXmlStream& rStrm ) const;
317};
318
322{
327 bool FillFromItemSet(const XclRoot& rRoot, const SfxItemSet& rItemSet,
328 bool bForceLineBreak, XclBiff eBiff, bool bStyle = false );
329
331 void FillToXF5( sal_uInt16& rnAlign ) const;
333 void FillToXF8( sal_uInt16& rnAlign, sal_uInt16& rnMiscAttrib ) const;
334
335 void SaveXml( XclExpXmlStream& rStrm ) const;
336};
337
341{
342 sal_uInt32 mnLeftColorId;
343 sal_uInt32 mnRightColorId;
344 sal_uInt32 mnTopColorId;
345 sal_uInt32 mnBottomColorId;
346 sal_uInt32 mnDiagColorId;
347
353
354 explicit XclExpCellBorder();
355
359 bool FillFromItemSet( const SfxItemSet& rItemSet,
360 XclExpPalette& rPalette, XclBiff eBiff, bool bStyle = false );
362 void SetFinalColors( const XclExpPalette& rPalette );
363
365 void FillToXF5( sal_uInt32& rnBorder, sal_uInt32& rnArea ) const;
367 void FillToXF8( sal_uInt32& rnBorder1, sal_uInt32& rnBorder2 ) const;
368
370 void FillToCF8( sal_uInt16& rnLine, sal_uInt32& rnColor ) const;
371
372 void SaveXml( XclExpXmlStream& rStrm ) const;
373};
374
378{
379 sal_uInt32 mnForeColorId;
380 sal_uInt32 mnBackColorId;
381
382 Color maForeColor; // Actual foreground color
383 Color maBackColor; // Actual background color
384
387
388 explicit XclExpCellArea();
389 explicit XclExpCellArea(Color aForeColor, Color aBackColor);
390
393 bool FillFromItemSet(
394 const SfxItemSet& rItemSet, XclExpPalette& rPalette,
395 bool bStyle );
397 void SetFinalColors( const XclExpPalette& rPalette );
398
400 void FillToXF5( sal_uInt32& rnArea ) const;
402 void FillToXF8( sal_uInt32& rnBorder2, sal_uInt16& rnArea ) const;
403
405 void FillToCF8( sal_uInt16& rnPattern, sal_uInt16& rnColor ) const;
406
407 void SaveXml( XclExpXmlStream& rStrm ) const;
408};
409
411{
414
415 bool FillFromItemSet( const SfxItemSet& rItemSet );
416
417 void SaveXml( XclExpXmlStream& rStrm ) const;
418};
419
422{
423 sal_uInt32 mnXFId;
424 sal_uInt16 mnXFIndex;
425
426 explicit XclExpXFId();
427 explicit XclExpXFId( sal_uInt32 nXFId )
428 : mnXFId( nXFId ), mnXFIndex( EXC_XF_DEFAULTCELL ) {}
429
431 void ConvertXFIndex( const XclExpRoot& rRoot );
432};
433
435
437class XclExpXF : public XclXFBase, public XclExpRecord, protected XclExpRoot
438{
439public:
441 explicit XclExpXF(
442 const XclExpRoot& rRoot,
443 const ScPatternAttr& rPattern,
444 sal_Int16 nScript,
445 sal_uInt32 nScForceNumFmt = NUMBERFORMAT_ENTRY_NOT_FOUND,
446 sal_uInt16 nForceXclFont = EXC_FONT_NOTFOUND,
447 bool bForceLineBreak = false );
449 explicit XclExpXF(
450 const XclExpRoot& rRoot,
451 const SfxStyleSheetBase& rStyleSheet );
452
458 const XclExpCellBorder& GetBorderData() const { return maBorder; }
460 const XclExpCellArea& GetAreaData() const { return maArea; }
461
464 bool Equals(
465 const ScPatternAttr& rPattern,
466 sal_uInt32 nScForceNumFmt,
467 sal_uInt16 nForceXclFont,
468 bool bForceLineBreak ) const;
469
472 bool Equals( const SfxStyleSheetBase& rStyleSheet ) const;
473
475 void SetFinalColors();
476
478 bool Equals( const XclExpXF& rCmpXF ) const;
479
480 void SetXmlIds( sal_uInt32 nBorderId, sal_uInt32 nFillId );
481
482 virtual void SaveXml( XclExpXmlStream& rStrm ) override;
483
484 const SfxItemSet* GetItemSet() const { return mpItemSet; }
485
486 sal_uInt32 GetScNumFmt() const { return mnScNumFmt; }
487 sal_uInt16 GetXclFont() const { return mnXclFont; }
488
489protected:
490 explicit XclExpXF( const XclExpRoot& rRoot, bool bCellXF );
491
492protected: // access for XclExpDefaultXF
494
499 sal_uInt32 mnParentXFId;
500 sal_uInt32 mnScNumFmt;
501 sal_uInt16 mnXclFont;
502 sal_uInt16 mnXclNumFmt;
503 sal_Int32 mnBorderId;
504 sal_Int32 mnFillId;
505
506private:
507 using XclXFBase::Equals;
508
510 void InitDefault();
513 void Init(
514 const SfxItemSet& rItemSet,
515 sal_Int16 nScript,
516 sal_uInt32 nForceScNumFmt,
517 sal_uInt16 nForceXclFont,
518 bool bForceLineBreak,
519 bool bDefStyle );
520
525 sal_uInt8 GetUsedFlags() const;
526
527 void WriteBody5( XclExpStream& rStrm );
528 void WriteBody8( XclExpStream& rStrm );
529
531 virtual void WriteBody( XclExpStream& rStrm ) override;
532};
533
536{
537public:
538 explicit XclExpDefaultXF( const XclExpRoot& rRoot, bool bCellXF );
539
541 void SetFont( sal_uInt16 nXclFont );
543 void SetNumFmt( sal_uInt16 nXclNumFmt );
544};
545
549{
550public:
551 explicit XclExpStyle( sal_uInt32 nXFId, OUString aStyleName );
552 explicit XclExpStyle( sal_uInt32 nXFId, sal_uInt8 nStyleId, sal_uInt8 nLevel );
553
555 bool IsBuiltIn() const { return mnStyleId != EXC_STYLE_USERDEF; }
556
557 virtual void SaveXml( XclExpXmlStream& rStrm ) override;
558
559private:
561 virtual void WriteBody( XclExpStream& rStrm ) override;
562
563private:
564 OUString maName;
568};
569
586{
587public:
588 explicit XclExpXFBuffer( const XclExpRoot& rRoot );
589
591 void Initialize();
592
595 sal_uInt32 Insert( const ScPatternAttr* pPattern, sal_Int16 nScript );
602 sal_uInt32 InsertWithFont(
603 const ScPatternAttr* pPattern, sal_Int16 nScript,
604 sal_uInt16 nForceXclFont,
605 bool bForceLineBreak );
613 sal_uInt32 InsertWithNumFmt(
614 const ScPatternAttr* pPattern, sal_Int16 nScript,
615 sal_uInt32 nForceScNumFmt,
616 bool bForceLineBreak );
619 sal_uInt32 InsertStyle( const SfxStyleSheetBase* pStyleSheet );
621 static sal_uInt32 GetXFIdFromIndex( sal_uInt16 nXFIndex );
623 static sal_uInt32 GetDefCellXFId();
624
626 const XclExpXF* GetXFById( sal_uInt32 nXFId ) const;
627
629 void Finalize();
630
632 sal_uInt16 GetXFIndex( sal_uInt32 nXFId ) const;
633
634 sal_Int32 GetXmlStyleIndex( sal_uInt32 nXFId ) const;
635 sal_Int32 GetXmlCellIndex( sal_uInt32 nXFId ) const;
636
638 virtual void Save( XclExpStream& rStrm ) override;
639 virtual void SaveXml( XclExpXmlStream& rStrm ) override;
640
641private:
644
645private:
647 sal_uInt32 FindXF( const ScPatternAttr& rPattern, sal_uInt32 nForceScNumFmt,
648 sal_uInt16 nForceXclFont, bool bForceLineBreak ) const;
650 sal_uInt32 FindXF( const SfxStyleSheetBase& rStyleSheet ) const;
651
653 sal_uInt32 FindBuiltInXF( sal_uInt8 nStyleId, sal_uInt8 nLevel ) const;
654
657 sal_uInt32 InsertCellXF( const ScPatternAttr* pPattern, sal_Int16 nScript,
658 sal_uInt32 nForceScNumFmt,
659 sal_uInt16 nForceXclFont, bool bForceLineBreak );
662 sal_uInt32 InsertStyleXF( const SfxStyleSheetBase& rStyleSheet );
663
665 void InsertUserStyles();
666
669 sal_uInt32 AppendBuiltInXF( XclExpXFRef const & xXF,
670 sal_uInt8 nStyleId, sal_uInt8 nLevel = EXC_STYLE_NOLEVEL );
673 sal_uInt32 AppendBuiltInXFWithStyle( XclExpXFRef const & xXF,
674 sal_uInt8 nStyleId, sal_uInt8 nLevel = EXC_STYLE_NOLEVEL );
675
678
680 void AppendXFIndex( sal_uInt32 nXFId );
681
682 void AddBorderAndFill( const XclExpXF& rXF );
683 void SaveXFXml( XclExpXmlStream& rStrm, XclExpXF& rXF );
684
685private:
688 {
693 explicit XclExpBuiltInInfo();
694 };
695 typedef ::std::map< sal_uInt32, XclExpBuiltInInfo > XclExpBuiltInMap;
696 typedef ::std::vector< XclExpCellBorder > XclExpBorderList;
697 typedef ::std::vector< XclExpCellArea > XclExpFillList;
698
700 struct FindKey
701 {
702 bool mbCellXF; // is this a hard cell format, or a cell style
704 sal_uInt32 mnScNumFmt;
705 sal_uInt16 mnXclFont;
706
707 bool operator<(const FindKey& other) const
708 {
709 if (mbCellXF != other.mbCellXF)
710 return mbCellXF < other.mbCellXF;
711 if (mpItemSet != other.mpItemSet)
712 return mpItemSet < other.mpItemSet;
713 if (mnScNumFmt != other.mnScNumFmt)
714 return mnScNumFmt < other.mnScNumFmt;
715 return mnXclFont < other.mnXclFont;
716 }
717 };
718 static FindKey ToFindKey(XclExpXF const &);
719
721 std::map<FindKey, std::vector<sal_uInt32>>
732
733};
734
735class XclExpDxf : public XclExpRecordBase, protected XclExpRoot
736{
737public:
738 XclExpDxf( const XclExpRoot& rRoot, std::unique_ptr<XclExpCellAlign> pAlign, std::unique_ptr<XclExpCellBorder> pBorder,
739 std::unique_ptr<XclExpDxfFont> pFont, std::unique_ptr<XclExpNumFmt> pNumberFmt,
740 std::unique_ptr<XclExpCellProt> pProt, std::unique_ptr<XclExpColor> pColor);
741 XclExpDxf( const XclExpRoot& rRoot, std::unique_ptr<XclExpCellArea> pCellArea);
742 virtual ~XclExpDxf() override;
743
744 virtual void SaveXml( XclExpXmlStream& rStrm ) override;
746 void SetFinalColors();
747
748private:
749 std::unique_ptr<XclExpCellAlign> mpAlign;
750 std::unique_ptr<XclExpCellBorder> mpBorder;
751 std::unique_ptr<XclExpDxfFont> mpFont;
752 std::unique_ptr<XclExpNumFmt> mpNumberFmt;
753 std::unique_ptr<XclExpCellProt> mpProt;
754 std::unique_ptr<XclExpColor> mpColor;
755 std::unique_ptr<XclExpCellArea> mpCellArea;
756};
757
758class XclExpDxfs : public XclExpRecordBase, protected XclExpRoot
759{
760public:
761 XclExpDxfs( const XclExpRoot& rRoot );
762
763 sal_Int32 GetDxfId(const OUString& rName) const;
764 sal_Int32 GetDxfByColor(Color aColor) const;
765 void addColor(Color aColor);
766
767 virtual void SaveXml( XclExpXmlStream& rStrm) override;
768 void Finalize();
769
770private:
771 typedef std::vector< std::unique_ptr<XclExpDxf> > DxfContainer;
772 std::map<OUString, sal_Int32> maStyleNameToDxfId;
773 std::map<Color, sal_Int32> maColorToDxfId;
775 std::unique_ptr<NfKeywordTable> mpKeywordTable;
776};
777
779{
780public:
781 explicit XclExpXmlStyleSheet( const XclExpRoot& rRoot );
782
783 virtual void SaveXml( XclExpXmlStream& rStrm ) override;
784};
785
786/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Stores all default colors for a specific BIFF version.
Definition: xlstyle.hxx:252
Used as placeholder for font index 4, which is not used in Excel.
Definition: xestyle.hxx:194
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:1161
virtual void Save(XclExpStream &rStrm) override
Skips writing this record.
Definition: xestyle.cxx:1166
XclExpBlindFont(const XclExpRoot &rRoot)
Definition: xestyle.cxx:1156
Represents a default XF record.
Definition: xestyle.hxx:536
void SetNumFmt(sal_uInt16 nXclNumFmt)
Sets the Excel number format index.
Definition: xestyle.cxx:2347
void SetFont(sal_uInt16 nXclFont)
Sets the Excel font index.
Definition: xestyle.cxx:2341
XclExpDefaultXF(const XclExpRoot &rRoot, bool bCellXF)
Definition: xestyle.cxx:2336
XclExpDxfFont(const XclExpRoot &rRoot, const SfxItemSet &rItemSet)
Definition: xestyle.cxx:1022
ScDxfFont maDxfData
Definition: xestyle.hxx:189
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xestyle.cxx:1070
std::unique_ptr< XclExpNumFmt > mpNumberFmt
Definition: xestyle.hxx:752
std::unique_ptr< XclExpCellAlign > mpAlign
Definition: xestyle.hxx:749
std::unique_ptr< XclExpCellProt > mpProt
Definition: xestyle.hxx:753
std::unique_ptr< XclExpCellArea > mpCellArea
Definition: xestyle.hxx:755
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xestyle.cxx:3327
void SaveXmlExt(XclExpXmlStream &rStrm)
Definition: xestyle.cxx:3349
virtual ~XclExpDxf() override
Definition: xestyle.cxx:3315
std::unique_ptr< XclExpDxfFont > mpFont
Definition: xestyle.hxx:751
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:3296
std::unique_ptr< XclExpCellBorder > mpBorder
Definition: xestyle.hxx:750
void SetFinalColors()
Definition: xestyle.cxx:3319
std::unique_ptr< XclExpColor > mpColor
Definition: xestyle.hxx:754
std::vector< std::unique_ptr< XclExpDxf > > DxfContainer
Definition: xestyle.hxx:771
sal_Int32 GetDxfByColor(Color aColor) const
Definition: xestyle.cxx:3256
void addColor(Color aColor)
Definition: xestyle.cxx:3264
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xestyle.cxx:3272
XclExpDxfs(const XclExpRoot &rRoot)
Definition: xestyle.cxx:3119
DxfContainer maDxf
Definition: xestyle.hxx:774
std::map< OUString, sal_Int32 > maStyleNameToDxfId
Definition: xestyle.hxx:772
void Finalize()
Definition: xestyle.cxx:3288
std::unique_ptr< NfKeywordTable > mpKeywordTable
Definition: xestyle.hxx:775
sal_Int32 GetDxfId(const OUString &rName) const
Definition: xestyle.cxx:3248
std::map< Color, sal_Int32 > maColorToDxfId
Definition: xestyle.hxx:773
Stores the data of all fonts used in the document.
Definition: xestyle.hxx:209
XclExpFontList maFontList
Definition: xestyle.hxx:245
XclExpFontBuffer(const XclExpRoot &rRoot)
Definition: xestyle.cxx:1171
size_t mnXclMaxSize
List of all FONT records.
Definition: xestyle.hxx:246
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:1195
const XclExpFont * GetFont(sal_uInt16 nXclFont) const
Returns the specified font from font list.
Definition: xestyle.cxx:1185
void InitDefaultFonts()
Initializes the default fonts for the current BIFF version.
Definition: xestyle.cxx:1261
size_t Find(const XclFontData &rFontData)
Tries to find the passed font and returns the current list index.
Definition: xestyle.cxx:1307
XclExpRecordList< XclExpFont > XclExpFontList
Definition: xestyle.hxx:242
const XclFontData & GetAppFontData() const
Returns the application font data of this file, needed e.g.
Definition: xestyle.cxx:1190
XclExpFontList::RecordRefType XclExpFontRef
Definition: xestyle.hxx:243
virtual void Save(XclExpStream &rStrm) override
Writes all FONT records contained in this buffer.
Definition: xestyle.cxx:1241
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xestyle.cxx:1246
Stores all data of an Excel font and provides export of FONT records.
Definition: xestyle.hxx:156
virtual bool Equals(const XclFontData &rFontData, sal_uInt32 nHash) const
Compares this font with the passed font data.
Definition: xestyle.cxx:977
sal_uInt32 mnHash
Unique color ID for text color.
Definition: xestyle.hxx:178
XclExpFont(const XclExpRoot &rRoot, const XclFontData &rFontData, XclExpColorType eColorType)
Definition: xestyle.cxx:962
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xestyle.cxx:982
XclFontData maData
Definition: xestyle.hxx:176
sal_uInt32 mnColorId
All font attributes.
Definition: xestyle.hxx:177
virtual void WriteBody(XclExpStream &rStrm) override
Writes the contents of the FONT record.
Definition: xestyle.cxx:993
const XclFontData & GetFontData() const
Returns read-only access to font data.
Definition: xestyle.hxx:162
sal_uInt32 GetFontColorId() const
Returns the font color identifier.
Definition: xestyle.hxx:164
Stores all number formats used in the document.
Definition: xestyle.hxx:268
OUString GetFormatCode(sal_uInt32 nScNumFmt)
Definition: xestyle.cxx:1424
XclExpNumFmtBuffer(const XclExpRoot &rRoot)
Definition: xestyle.cxx:1339
sal_uInt32 mnStdFmt
Replacement table.
Definition: xestyle.hxx:299
sal_uInt16 Insert(sal_uInt32 nScNumFmt)
Inserts a number format into the format buffer.
Definition: xestyle.cxx:1359
void WriteFormatRecord(XclExpStream &rStrm, sal_uInt16 nXclNumFmt, const OUString &rFormatStr)
Writes the FORMAT record with index nXclIx and format string rFormatStr.
Definition: xestyle.cxx:1397
virtual ~XclExpNumFmtBuffer() override
Definition: xestyle.cxx:1355
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xestyle.cxx:1383
XclExpNumFmtVec maFormatMap
Special number formatter for conversion.
Definition: xestyle.hxx:297
std::unique_ptr< NfKeywordTable > mpKeywordTable
Maps core formats to Excel indexes.
Definition: xestyle.hxx:298
sal_uInt32 GetStandardFormat() const
Returns the core index of the current standard number format.
Definition: xestyle.hxx:274
sal_uInt16 mnXclOffset
Key for standard number format.
Definition: xestyle.hxx:300
::std::vector< XclExpNumFmt > XclExpNumFmtVec
Definition: xestyle.hxx:294
virtual void Save(XclExpStream &rStrm) override
Writes all FORMAT records contained in this buffer.
Definition: xestyle.cxx:1377
SvNumberFormatterPtr mxFormatter
Definition: xestyle.hxx:296
Stores all used colors in the document.
Definition: xestyle.hxx:77
sal_uInt32 InsertColor(const Color &rColor, XclExpColorType eType, sal_uInt16 nAutoDefault=0)
Inserts the color into the list and updates weighting.
Definition: xestyle.cxx:768
sal_uInt16 GetColorIndex(sal_uInt32 nColorId) const
Returns the Excel palette index of the color with passed color ID.
Definition: xestyle.cxx:783
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xestyle.cxx:806
Color GetColor(sal_uInt16 nXclIndex) const
Returns the color for a (non-zero-based) Excel palette entry.
Definition: xestyle.cxx:795
void Finalize()
Reduces the color list to the maximum count of the current BIFF version.
Definition: xestyle.cxx:778
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:788
std::shared_ptr< XclExpPaletteImpl > XclExpPaletteImplRef
Definition: xestyle.hxx:116
static sal_uInt32 GetColorIdFromIndex(sal_uInt16 nIndex)
Returns the color ID representing a fixed Excel palette index (i.e.
Definition: xestyle.cxx:773
virtual void Save(XclExpStream &rStrm) override
Saves the PALETTE record, if it differs from the default palette.
Definition: xestyle.cxx:800
virtual void WriteBody(XclExpStream &rStrm) override
Writes the contents of the PALETTE record.
Definition: xestyle.cxx:812
virtual ~XclExpPalette() override
Definition: xestyle.cxx:764
XclExpPaletteImplRef mxImpl
Definition: xestyle.hxx:117
XclExpPalette(const XclExpRoot &rRoot)
Definition: xestyle.cxx:756
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:549
virtual void WriteBody(XclExpStream &rStrm) override
Writes the contents of the STYLE record.
Definition: xestyle.cxx:2376
sal_uInt8 mnStyleId
XF identifier for style formatting.
Definition: xestyle.hxx:566
XclExpXFId maXFId
Name of the cell style.
Definition: xestyle.hxx:565
sal_uInt8 mnLevel
Built-in style identifier.
Definition: xestyle.hxx:567
bool IsBuiltIn() const
Returns true, if this record represents an Excel built-in style.
Definition: xestyle.hxx:555
XclExpStyle(sal_uInt32 nXFId, OUString aStyleName)
Definition: xestyle.cxx:2353
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xestyle.cxx:2411
OUString maName
Definition: xestyle.hxx:564
Stores all XF records (cell formats and cell styles) in the document.
Definition: xestyle.hxx:586
XclExpXFList maXFList
Definition: xestyle.hxx:720
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:2864
::std::map< sal_uInt32, XclExpBuiltInInfo > XclExpBuiltInMap
Definition: xestyle.hxx:695
void Finalize()
Reduces the XF record list to the maximum allowed number of records.
Definition: xestyle.cxx:2569
void AppendXFIndex(sal_uInt32 nXFId)
Appends a XF index to the internal ID<->index maps.
Definition: xestyle.cxx:3096
virtual void Save(XclExpStream &rStrm) override
Writes all XF records contained in this buffer.
Definition: xestyle.cxx:2692
void AddBorderAndFill(const XclExpXF &rXF)
Definition: xestyle.cxx:3106
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:2544
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:2790
XclExpXFBuffer(const XclExpRoot &rRoot)
Definition: xestyle.cxx:2522
sal_uInt32 InsertStyleXF(const SfxStyleSheetBase &rStyleSheet)
Inserts the passed cell style.
Definition: xestyle.cxx:2916
XclExpRecordList< XclExpStyle > maStyleList
map of itemset to vector of positions, to speed up find
Definition: xestyle.hxx:724
XclExpXFList maSortedXFList
Maps XF IDs to OOXML Cell indexes.
Definition: xestyle.hxx:729
XclExpFillList maFills
List of borders used by XF records.
Definition: xestyle.hxx:731
ScfUInt16Vec maXFIndexVec
Contained elements describe built-in XFs.
Definition: xestyle.hxx:726
static sal_uInt32 GetXFIdFromIndex(sal_uInt16 nXFIndex)
Returns the XF identifier representing a fixed Excel XF index (e.g.
Definition: xestyle.cxx:2554
::std::vector< XclExpCellBorder > XclExpBorderList
Definition: xestyle.hxx:696
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:2848
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:2538
ScfUInt16Vec maCellIndexes
Maps XF IDs to OOXML Style indexes.
Definition: xestyle.hxx:728
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xestyle.cxx:2715
XclExpBuiltInMap maBuiltInMap
List of all STYLE records.
Definition: xestyle.hxx:725
sal_Int32 GetXmlStyleIndex(sal_uInt32 nXFId) const
Definition: xestyle.cxx:2676
XclExpBorderList maBorders
List of XF records in XF index order.
Definition: xestyle.hxx:730
static sal_uInt32 GetDefCellXFId()
Returns the XF identifier representing the default cell XF.
Definition: xestyle.cxx:2559
static FindKey ToFindKey(XclExpXF const &)
Definition: xestyle.cxx:2859
void InsertUserStyles()
Inserts an XF and a STYLE record for all user defined style sheets.
Definition: xestyle.cxx:2987
sal_uInt32 Insert(const ScPatternAttr *pPattern, sal_Int16 nScript)
Finds or creates a cell XF record for the passed item set.
Definition: xestyle.cxx:2533
const XclExpXF * GetXFById(sal_uInt32 nXFId) const
Returns an XF record by its unique identifier.
Definition: xestyle.cxx:2564
void InsertDefaultRecords()
Inserts all default XF and STYLE records.
Definition: xestyle.cxx:3031
XclExpXFList::RecordRefType XclExpXFRef
Definition: xestyle.hxx:643
void SaveXFXml(XclExpXmlStream &rStrm, XclExpXF &rXF)
Definition: xestyle.cxx:2771
::std::vector< XclExpCellArea > XclExpFillList
Definition: xestyle.hxx:697
ScfUInt16Vec maStyleIndexes
Maps XF IDs to XF indexes.
Definition: xestyle.hxx:727
std::map< FindKey, std::vector< sal_uInt32 > > maXFFindMap
List of all XF records.
Definition: xestyle.hxx:722
sal_uInt16 GetXFIndex(sal_uInt32 nXFId) const
Returns the Excel XF index of the XF record with passed XF ID.
Definition: xestyle.cxx:2666
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:3007
sal_uInt32 InsertStyle(const SfxStyleSheetBase *pStyleSheet)
Inserts the passed cell style.
Definition: xestyle.cxx:2549
void Initialize()
Inserts predefined built-in styles and user-defined styles.
Definition: xestyle.cxx:2527
XclExpRecordList< XclExpXF > XclExpXFList
Definition: xestyle.hxx:642
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:2995
sal_Int32 GetXmlCellIndex(sal_uInt32 nXFId) const
Definition: xestyle.cxx:2684
Represents an XF record which contains all formatting data of a cell or cell style.
Definition: xestyle.hxx:438
sal_uInt32 GetScNumFmt() const
Definition: xestyle.hxx:486
XclExpCellArea maArea
Border line style.
Definition: xestyle.hxx:498
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xestyle.cxx:2296
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:2140
sal_uInt8 GetUsedFlags() const
Returns the bits specifying the used attributes.
Definition: xestyle.cxx:2229
sal_uInt16 mnXclNumFmt
Excel font index.
Definition: xestyle.hxx:502
sal_uInt16 GetXclFont() const
Definition: xestyle.hxx:487
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:2178
sal_uInt32 mnScNumFmt
XF ID of parent XF record.
Definition: xestyle.hxx:500
const XclExpCellAlign & GetAlignmentData() const
Returns the alignment settings of this XF.
Definition: xestyle.hxx:456
void WriteBody5(XclExpStream &rStrm)
Definition: xestyle.cxx:2243
virtual void WriteBody(XclExpStream &rStrm) override
Writes the contents of the XF record.
Definition: xestyle.cxx:2277
void SetFinalColors()
Sets the resulting Excel palette index from all used color IDs (border and area).
Definition: xestyle.cxx:2154
void InitDefault()
Initializes with default values.
Definition: xestyle.cxx:2169
void WriteBody8(XclExpStream &rStrm)
Definition: xestyle.cxx:2260
const SfxItemSet * GetItemSet() const
Definition: xestyle.hxx:484
const SfxItemSet * mpItemSet
Definition: xestyle.hxx:493
XclExpCellBorder maBorder
All alignment attributes.
Definition: xestyle.hxx:497
XclExpCellAlign maAlignment
Cell protection flags.
Definition: xestyle.hxx:496
const XclExpCellBorder & GetBorderData() const
Returns the cell border settings of this XF.
Definition: xestyle.hxx:458
const XclExpCellArea & GetAreaData() const
Returns the cell fill settings of this XF.
Definition: xestyle.hxx:460
void SetXmlIds(sal_uInt32 nBorderId, sal_uInt32 nFillId)
Definition: xestyle.cxx:2290
sal_Int32 mnFillId
OOXML Border Index.
Definition: xestyle.hxx:504
XclExpCellProt maProtection
Pointer to the item set (we do not own it).
Definition: xestyle.hxx:495
sal_Int32 mnBorderId
Excel number format index.
Definition: xestyle.hxx:503
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:2111
sal_uInt16 mnXclFont
Calc number format index.
Definition: xestyle.hxx:501
sal_uInt32 mnParentXFId
Background area style.
Definition: xestyle.hxx:499
const XclExpCellProt & GetProtectionData() const
Returns the cell protection settings of this XF.
Definition: xestyle.hxx:454
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xestyle.cxx:3375
XclExpXmlStyleSheet(const XclExpRoot &rRoot)
Definition: xestyle.cxx:3370
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:563
bool Equals(const XclXFBase &rCmp) const
Returns true, if this object is equal to the passed.
Definition: xlstyle.cxx:1740
DocumentType eType
::std::vector< sal_uInt16 > ScfUInt16Vec
Definition: ftools.hxx:255
sal_Int32 nIndex
Helper functions for font export.
Definition: xestyle.hxx:126
ScDxfFont GetDxfFontFromItemSet(const XclExpRoot &rRoot, const SfxItemSet &rSet)
Get a dxf related font object from the item set.
Definition: xestyle.cxx:900
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:885
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:909
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:834
void SvStream & rStrm
static SfxItemSet & rSet
Contains all cell alignment attributes.
Definition: xlstyle.hxx:488
Contains background colors and pattern for a cell.
Definition: xlstyle.hxx:544
Contains color and line style for each cell border line.
Definition: xlstyle.hxx:523
Contains all cell protection attributes.
Definition: xlstyle.hxx:477
Extends the XclCellAlign struct for export.
Definition: xestyle.hxx:322
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:1452
void SaveXml(XclExpXmlStream &rStrm) const
Definition: xestyle.cxx:1598
void FillToXF8(sal_uInt16 &rnAlign, sal_uInt16 &rnMiscAttrib) const
Fills the data to the passed fields of a BIFF8 XF record.
Definition: xestyle.cxx:1558
void FillToXF5(sal_uInt16 &rnAlign) const
Fills the data to the passed fields of a BIFF5/BIFF7 XF record.
Definition: xestyle.cxx:1550
Extends the XclCellArea struct for export.
Definition: xestyle.hxx:378
sal_uInt32 mnForeColorId
Definition: xestyle.hxx:379
Color maForeColor
Background color ID.
Definition: xestyle.hxx:382
void SaveXml(XclExpXmlStream &rStrm) const
Definition: xestyle.cxx:1986
sal_uInt32 mnBackColorId
Foreground color ID.
Definition: xestyle.hxx:380
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:1959
void FillToXF5(sal_uInt32 &rnArea) const
Fills the data to the passed fields of a BIFF5/BIFF7 XF record.
Definition: xestyle.cxx:1945
void SetFinalColors(const XclExpPalette &rPalette)
Fills the mn***Color base members from the mn***ColorId members.
Definition: xestyle.cxx:1940
model::ComplexColor maForegroundComplexColor
Definition: xestyle.hxx:385
bool FillFromItemSet(const SfxItemSet &rItemSet, XclExpPalette &rPalette, bool bStyle)
Fills the area attributes from the passed item set.
Definition: xestyle.cxx:1918
Color maBackColor
Definition: xestyle.hxx:383
model::ComplexColor maBackgroundComplexColor
Definition: xestyle.hxx:386
void FillToXF8(sal_uInt32 &rnBorder2, sal_uInt16 &rnArea) const
Fills the data to the passed fields of a BIFF8 XF record.
Definition: xestyle.cxx:1952
Extends the XclCellBorder struct for export.
Definition: xestyle.hxx:341
sal_uInt32 mnLeftColorId
Definition: xestyle.hxx:342
sal_uInt32 mnDiagColorId
Color ID for bottom line.
Definition: xestyle.hxx:346
model::ComplexColor maComplexColorLeft
Color ID for diagonal line(s).
Definition: xestyle.hxx:348
model::ComplexColor maComplexColorTop
Definition: xestyle.hxx:350
void SetFinalColors(const XclExpPalette &rPalette)
Fills the mn***Color base members from the mn***ColorId members.
Definition: xestyle.cxx:1777
bool FillFromItemSet(const SfxItemSet &rItemSet, XclExpPalette &rPalette, XclBiff eBiff, bool bStyle=false)
Fills the border attributes from the passed item set.
Definition: xestyle.cxx:1715
sal_uInt32 mnRightColorId
Color ID for left line.
Definition: xestyle.hxx:343
sal_uInt32 mnBottomColorId
Color ID for top line.
Definition: xestyle.hxx:345
model::ComplexColor maComplexColorRight
Definition: xestyle.hxx:349
model::ComplexColor maComplexColorDiagonal
Definition: xestyle.hxx:352
void FillToXF8(sal_uInt32 &rnBorder1, sal_uInt32 &rnBorder2) const
Fills the data to the passed fields of a BIFF8 XF record.
Definition: xestyle.cxx:1798
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:1814
void SaveXml(XclExpXmlStream &rStrm) const
Definition: xestyle.cxx:1879
model::ComplexColor maComplexColorBottom
Definition: xestyle.hxx:351
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:1786
sal_uInt32 mnTopColorId
Color ID for right line.
Definition: xestyle.hxx:344
Extends the XclCellProt struct for export.
Definition: xestyle.hxx:308
bool FillFromItemSet(const SfxItemSet &rItemSet, bool bStyle=false)
Fills the protection attributes from the passed item set.
Definition: xestyle.cxx:1431
void SaveXml(XclExpXmlStream &rStrm) const
Definition: xestyle.cxx:1445
void FillToXF3(sal_uInt16 &rnProt) const
Fills the data to the passed fields of a BIFF3-BIFF8 XF record.
Definition: xestyle.cxx:1439
void SaveXml(XclExpXmlStream &rStrm) const
Definition: xestyle.cxx:2080
Color maColor
Definition: xestyle.hxx:412
model::ComplexColor maComplexColor
Definition: xestyle.hxx:413
bool FillFromItemSet(const SfxItemSet &rItemSet)
Definition: xestyle.cxx:2068
Stores a core number format index with corresponding Excel format index.
Definition: xestyle.hxx:253
void SaveXml(XclExpXmlStream &rStrm)
Definition: xestyle.cxx:1331
sal_uInt32 mnScNumFmt
Definition: xestyle.hxx:254
sal_uInt16 mnXclNumFmt
Core index of the number format.
Definition: xestyle.hxx:255
OUString maNumFmtString
Resulting Excel format index.
Definition: xestyle.hxx:256
XclExpNumFmt(sal_uInt32 nScNumFmt, sal_uInt16 nXclNumFmt, OUString aFrmt)
format string
Definition: xestyle.hxx:258
composite key for the find-map, so we can do partial key searching
Definition: xestyle.hxx:701
bool operator<(const FindKey &other) const
Definition: xestyle.hxx:707
const SfxItemSet * mpItemSet
Definition: xestyle.hxx:703
Extended info about a built-in XF.
Definition: xestyle.hxx:688
bool mbHasStyleRec
true = XF still predefined.
Definition: xestyle.hxx:692
XclExpBuiltInInfo()
true = STYLE record created.
Definition: xestyle.cxx:2457
sal_uInt8 mnLevel
Built-in style identifier.
Definition: xestyle.hxx:690
bool mbPredefined
Level for RowLevel/ColLevel styles.
Definition: xestyle.hxx:691
A combination of unique XF identifier with real Excel XF index.
Definition: xestyle.hxx:422
sal_uInt16 mnXFIndex
Temporary XF identifier.
Definition: xestyle.hxx:424
XclExpXFId(sal_uInt32 nXFId)
Definition: xestyle.hxx:427
void ConvertXFIndex(const XclExpRoot &rRoot)
Converts the XF identifier in mnXFId to an Excel XF index and stores it in mnXFIndex.
Definition: xestyle.cxx:2106
sal_uInt32 mnXFId
Definition: xestyle.hxx:423
XclExpXFId()
Real Excel XF index.
Definition: xestyle.cxx:2100
This struct helps reading and writing Excel fonts.
Definition: xlstyle.hxx:285
unsigned char sal_uInt8
const sal_uInt16 EXC_ID_FONTLIST
Definition: xestyle.hxx:39
const sal_uInt16 EXC_ID_XFLIST
For internal use only.
Definition: xestyle.hxx:41
XclExpColorType
For internal use only. TODO:moggi: find a better/correct value.
Definition: xestyle.hxx:48
@ EXC_COLOR_CHARTAREA
Line in a chart.
Definition: xestyle.hxx:54
@ EXC_COLOR_GRID
Text color in a form control.
Definition: xestyle.hxx:56
@ EXC_COLOR_CELLBORDER
Text in a cell.
Definition: xestyle.hxx:50
@ EXC_COLOR_CTRLTEXT
Area in a chart.
Definition: xestyle.hxx:55
@ EXC_COLOR_CHARTTEXT
Background area of a cell.
Definition: xestyle.hxx:52
@ EXC_COLOR_CELLAREA
Border of a cell.
Definition: xestyle.hxx:51
@ EXC_COLOR_CELLTEXT
Definition: xestyle.hxx:49
@ EXC_COLOR_CHARTLINE
Text color in a chart.
Definition: xestyle.hxx:53
@ EXC_COLOR_TABBG
Spreadsheet grid color.
Definition: xestyle.hxx:57
const sal_uInt16 EXC_ID_FORMATLIST
For internal use only.
Definition: xestyle.hxx:40
const sal_uInt16 EXC_ID_DXFS
For internal use only.
Definition: xestyle.hxx:42
const size_t EXC_FONTLIST_NOTFOUND
Definition: xestyle.hxx:122
::std::unique_ptr< SvNumberFormatter > SvNumberFormatterPtr
Definition: xestyle.hxx:264
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:78
const sal_uInt8 EXC_STYLE_NOLEVEL
Number of outline level styles.
Definition: xlstyle.hxx:238
const sal_uInt16 EXC_XF_DEFAULTCELL
Excel index to default style XF.
Definition: xlstyle.hxx:140
const sal_uInt8 EXC_STYLE_USERDEF
"Followed_Hyperlink" style.
Definition: xlstyle.hxx:235
constexpr sal_uInt32 NUMBERFORMAT_ENTRY_NOT_FOUND