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 <vector>
32 
33 /* ============================================================================
34 - Buffers for style records (PALETTE, FONT, FORMAT, XF, STYLE).
35 ============================================================================ */
36 
37 const sal_uInt16 EXC_ID_FONTLIST = 0x8031;
38 const sal_uInt16 EXC_ID_FORMATLIST = 0x801E;
39 const sal_uInt16 EXC_ID_XFLIST = 0x8043;
40 const sal_uInt16 EXC_ID_DXFS = 0x9999;
41 
42 // PALETTE record - color information =========================================
43 
46 {
56 };
57 
58 class XclExpPaletteImpl;
59 
75 {
76 public:
77  explicit XclExpPalette( const XclExpRoot& rRoot );
78  virtual ~XclExpPalette() override;
79 
83  sal_uInt32 InsertColor( const Color& rColor, XclExpColorType eType, sal_uInt16 nAutoDefault = 0 );
85  static sal_uInt32 GetColorIdFromIndex( sal_uInt16 nIndex );
86 
88  void Finalize();
89 
91  sal_uInt16 GetColorIndex( sal_uInt32 nColorId ) const;
92 
97  void GetMixedColors(
98  sal_uInt16& rnXclForeIx, sal_uInt16& rnXclBackIx, sal_uInt8& rnXclPattern,
99  sal_uInt32 nForeColorId, sal_uInt32 nBackColorId ) const;
100 
103  Color GetColor( sal_uInt16 nXclIndex ) const;
104 
106  virtual void Save( XclExpStream& rStrm ) override;
107  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
108 
109 private:
111  virtual void WriteBody( XclExpStream& rStrm ) override;
112 
113 private:
114  typedef std::shared_ptr< XclExpPaletteImpl > XclExpPaletteImplRef;
115  XclExpPaletteImplRef mxImpl;
116 };
117 
118 // FONT record - font information =============================================
119 
120 const size_t EXC_FONTLIST_NOTFOUND = static_cast< size_t >( -1 );
121 
124 {
126  sal_Int16 GetFirstUsedScript(
127  const XclExpRoot& rRoot,
128  const SfxItemSet& rItemSet );
129 
132  const XclExpRoot& rRoot,
133  const SfxItemSet& rItemSet,
134  sal_Int16 nScript );
135 
141  ScDxfFont GetDxfFontFromItemSet(const XclExpRoot& rRoot, const SfxItemSet& rSet);
142 
145  bool CheckItems(
146  const XclExpRoot& rRoot,
147  const SfxItemSet& rItemSet,
148  sal_Int16 nScript,
149  bool bDeep );
150 }
151 
153 class XclExpFont : public XclExpRecord, protected XclExpRoot
154 {
155 public:
156  explicit XclExpFont( const XclExpRoot& rRoot,
157  const XclFontData& rFontData, XclExpColorType eColorType );
158 
160  const XclFontData& GetFontData() const { return maData; }
162  sal_uInt32 GetFontColorId() const { return mnColorId; }
165  virtual bool Equals( const XclFontData& rFontData, sal_uInt32 nHash ) const;
166 
167  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
168 
169 private:
171  virtual void WriteBody( XclExpStream& rStrm ) override;
172 
173 private:
175  sal_uInt32 mnColorId;
176  sal_uInt32 mnHash;
177 };
178 
179 class XclExpDxfFont : public XclExpRecordBase, protected XclExpRoot
180 {
181 public:
182  XclExpDxfFont(const XclExpRoot& rRoot, const SfxItemSet& rItemSet);
183 
184  virtual void SaveXml(XclExpXmlStream& rStrm) override;
185 private:
186 
188 };
189 
192 {
193 public:
194  explicit XclExpBlindFont( const XclExpRoot& rRoot );
195 
197  virtual bool Equals( const XclFontData& rFontData, sal_uInt32 nHash ) const override;
198 
200  virtual void Save( XclExpStream& rStrm ) override;
201 };
202 
203 class ScPatternAttr;
204 
207 {
208 public:
209  explicit XclExpFontBuffer( const XclExpRoot& rRoot );
210 
212  const XclExpFont* GetFont( sal_uInt16 nXclFont ) const;
214  const XclFontData& GetAppFontData() const;
215 
219  sal_uInt16 Insert( const XclFontData& rFontData,
220  XclExpColorType eColorType, bool bAppFont = false );
223  sal_uInt16 Insert( const SvxFont& rFont,
224  XclExpColorType eColorType );
229  sal_uInt16 Insert( const SfxItemSet& rItemSet, sal_Int16 nScript,
230  XclExpColorType eColorType, bool bAppFont );
231 
233  virtual void Save( XclExpStream& rStrm ) override;
234  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
235 
236 private:
238  void InitDefaultFonts();
240  size_t Find( const XclFontData& rFontData );
241 
242 private:
245 
246  XclExpFontList maFontList;
247  size_t mnXclMaxSize;
248 };
249 
250 // FORMAT record - number formats =============================================
251 
254 {
255  sal_uInt32 mnScNumFmt;
256  sal_uInt16 mnXclNumFmt;
257  OUString maNumFmtString;
258 
259  explicit XclExpNumFmt( sal_uInt32 nScNumFmt, sal_uInt16 nXclNumFmt, const OUString& rFrmt ) :
260  mnScNumFmt( nScNumFmt ), mnXclNumFmt( nXclNumFmt ), maNumFmtString( rFrmt ) {}
261 
262  void SaveXml( XclExpXmlStream& rStrm );
263 };
264 
265 typedef ::std::unique_ptr< SvNumberFormatter > SvNumberFormatterPtr;
266 
269 {
270 public:
271  explicit XclExpNumFmtBuffer( const XclExpRoot& rRoot );
272  virtual ~XclExpNumFmtBuffer() override;
273 
275  sal_uInt32 GetStandardFormat() const { return mnStdFmt; }
276 
280  sal_uInt16 Insert( sal_uInt32 nScNumFmt );
281 
283  virtual void Save( XclExpStream& rStrm ) override;
284  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
285 
286  OUString GetFormatCode ( sal_uInt32 nScNumFmt );
287 
288 private:
290  void WriteFormatRecord( XclExpStream& rStrm, sal_uInt16 nXclNumFmt, const OUString& rFormatStr );
292  void WriteFormatRecord( XclExpStream& rStrm, const XclExpNumFmt& rFormat );
293 
294 private:
295  typedef ::std::vector< XclExpNumFmt > XclExpNumFmtVec;
296 
298  XclExpNumFmtVec maFormatMap;
299  std::unique_ptr<NfKeywordTable> mpKeywordTable;
300  sal_uInt32 mnStdFmt;
301  sal_uInt16 mnXclOffset;
302 };
303 
304 // XF, STYLE record - Cell formatting =========================================
305 
309 {
312  bool FillFromItemSet( const SfxItemSet& rItemSet, bool bStyle = false );
313 
315  void FillToXF3( sal_uInt16& rnProt ) const;
316 
317  void SaveXml( XclExpXmlStream& rStrm ) const;
318 };
319 
323 {
328  bool FillFromItemSet( const SfxItemSet& rItemSet,
329  bool bForceLineBreak, XclBiff eBiff, bool bStyle = false );
330 
332  void FillToXF5( sal_uInt16& rnAlign ) const;
334  void FillToXF8( sal_uInt16& rnAlign, sal_uInt16& rnMiscAttrib ) const;
335 
336  void SaveXml( XclExpXmlStream& rStrm ) const;
337 };
338 
342 {
343  sal_uInt32 mnLeftColorId;
344  sal_uInt32 mnRightColorId;
345  sal_uInt32 mnTopColorId;
346  sal_uInt32 mnBottomColorId;
347  sal_uInt32 mnDiagColorId;
348 
349  explicit XclExpCellBorder();
350 
354  bool FillFromItemSet( const SfxItemSet& rItemSet,
355  XclExpPalette& rPalette, XclBiff eBiff, bool bStyle = false );
357  void SetFinalColors( const XclExpPalette& rPalette );
358 
360  void FillToXF5( sal_uInt32& rnBorder, sal_uInt32& rnArea ) const;
362  void FillToXF8( sal_uInt32& rnBorder1, sal_uInt32& rnBorder2 ) const;
363 
365  void FillToCF8( sal_uInt16& rnLine, sal_uInt32& rnColor ) const;
366 
367  void SaveXml( XclExpXmlStream& rStrm ) const;
368 };
369 
373 {
374  sal_uInt32 mnForeColorId;
375  sal_uInt32 mnBackColorId;
376  Color maForeColor; // Actual foreground color
377  Color maBackColor; // Actual background color
378 
379  explicit XclExpCellArea();
380  explicit XclExpCellArea(Color aForeColor, Color aBackColor);
381 
384  bool FillFromItemSet(
385  const SfxItemSet& rItemSet, XclExpPalette& rPalette,
386  bool bStyle );
388  void SetFinalColors( const XclExpPalette& rPalette );
389 
391  void FillToXF5( sal_uInt32& rnArea ) const;
393  void FillToXF8( sal_uInt32& rnBorder2, sal_uInt16& rnArea ) const;
394 
396  void FillToCF8( sal_uInt16& rnPattern, sal_uInt16& rnColor ) const;
397 
398  void SaveXml( XclExpXmlStream& rStrm ) const;
399 };
400 
402 {
404 
405  bool FillFromItemSet( const SfxItemSet& rItemSet );
406 
407  void SaveXml( XclExpXmlStream& rStrm ) const;
408 };
409 
412 {
413  sal_uInt32 mnXFId;
414  sal_uInt16 mnXFIndex;
415 
416  explicit XclExpXFId();
417  explicit XclExpXFId( sal_uInt32 nXFId );
418 
420  void ConvertXFIndex( const XclExpRoot& rRoot );
421 };
422 
423 class SfxStyleSheetBase;
424 
426 class XclExpXF : public XclXFBase, public XclExpRecord, protected XclExpRoot
427 {
428 public:
430  explicit XclExpXF(
431  const XclExpRoot& rRoot,
432  const ScPatternAttr& rPattern,
433  sal_Int16 nScript,
434  sal_uInt32 nScForceNumFmt = NUMBERFORMAT_ENTRY_NOT_FOUND,
435  sal_uInt16 nForceXclFont = EXC_FONT_NOTFOUND,
436  bool bForceLineBreak = false );
438  explicit XclExpXF(
439  const XclExpRoot& rRoot,
440  const SfxStyleSheetBase& rStyleSheet );
441 
443  const XclExpCellProt& GetProtectionData() const { return maProtection; }
445  const XclExpCellAlign& GetAlignmentData() const { return maAlignment; }
447  const XclExpCellBorder& GetBorderData() const { return maBorder; }
449  const XclExpCellArea& GetAreaData() const { return maArea; }
450 
453  bool Equals(
454  const ScPatternAttr& rPattern,
455  sal_uInt32 nScForceNumFmt,
456  sal_uInt16 nForceXclFont,
457  bool bForceLineBreak ) const;
458 
461  bool Equals( const SfxStyleSheetBase& rStyleSheet ) const;
462 
464  void SetFinalColors();
465 
467  bool Equals( const XclExpXF& rCmpXF ) const;
468 
469  void SetXmlIds( sal_uInt32 nBorderId, sal_uInt32 nFillId );
470 
471  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
472 
473  const SfxItemSet* GetItemSet() const { return mpItemSet; }
474 
475  sal_uInt32 GetScNumFmt() const { return mnScNumFmt; }
476  sal_uInt16 GetXclFont() const { return mnXclFont; }
477 
478 protected:
479  explicit XclExpXF( const XclExpRoot& rRoot, bool bCellXF );
480 
481 protected: // access for XclExpDefaultXF
483 
488  sal_uInt32 mnParentXFId;
489  sal_uInt32 mnScNumFmt;
490  sal_uInt16 mnXclFont;
491  sal_uInt16 mnXclNumFmt;
492  sal_Int32 mnBorderId;
493  sal_Int32 mnFillId;
494 
495 private:
496  using XclXFBase::Equals;
497 
499  void InitDefault();
502  void Init(
503  const SfxItemSet& rItemSet,
504  sal_Int16 nScript,
505  sal_uInt32 nForceScNumFmt,
506  sal_uInt16 nForceXclFont,
507  bool bForceLineBreak,
508  bool bDefStyle );
509 
514  sal_uInt8 GetUsedFlags() const;
515 
516  void WriteBody5( XclExpStream& rStrm );
517  void WriteBody8( XclExpStream& rStrm );
518 
520  virtual void WriteBody( XclExpStream& rStrm ) override;
521 };
522 
524 class XclExpDefaultXF : public XclExpXF
525 {
526 public:
527  explicit XclExpDefaultXF( const XclExpRoot& rRoot, bool bCellXF );
528 
530  void SetFont( sal_uInt16 nXclFont );
532  void SetNumFmt( sal_uInt16 nXclNumFmt );
533 };
534 
537 class XclExpStyle : public XclExpRecord
538 {
539 public:
540  explicit XclExpStyle( sal_uInt32 nXFId, const OUString& rStyleName );
541  explicit XclExpStyle( sal_uInt32 nXFId, sal_uInt8 nStyleId, sal_uInt8 nLevel );
542 
544  bool IsBuiltIn() const { return mnStyleId != EXC_STYLE_USERDEF; }
545 
546  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
547 
548 private:
550  virtual void WriteBody( XclExpStream& rStrm ) override;
551 
552 private:
553  OUString maName;
557 };
558 
574 class XclExpXFBuffer : public XclExpRecordBase, protected XclExpRoot
575 {
576 public:
577  explicit XclExpXFBuffer( const XclExpRoot& rRoot );
578 
580  void Initialize();
581 
584  sal_uInt32 Insert( const ScPatternAttr* pPattern, sal_Int16 nScript );
591  sal_uInt32 InsertWithFont(
592  const ScPatternAttr* pPattern, sal_Int16 nScript,
593  sal_uInt16 nForceXclFont,
594  bool bForceLineBreak );
602  sal_uInt32 InsertWithNumFmt(
603  const ScPatternAttr* pPattern, sal_Int16 nScript,
604  sal_uInt32 nForceScNumFmt,
605  bool bForceLineBreak );
608  sal_uInt32 InsertStyle( const SfxStyleSheetBase* pStyleSheet );
610  static sal_uInt32 GetXFIdFromIndex( sal_uInt16 nXFIndex );
612  static sal_uInt32 GetDefCellXFId();
613 
615  const XclExpXF* GetXFById( sal_uInt32 nXFId ) const;
616 
618  void Finalize();
619 
621  sal_uInt16 GetXFIndex( sal_uInt32 nXFId ) const;
622 
623  sal_Int32 GetXmlStyleIndex( sal_uInt32 nXFId ) const;
624  sal_Int32 GetXmlCellIndex( sal_uInt32 nXFId ) const;
625 
627  virtual void Save( XclExpStream& rStrm ) override;
628  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
629 
630 private:
633 
634 private:
636  sal_uInt32 FindXF( const ScPatternAttr& rPattern, sal_uInt32 nForceScNumFmt,
637  sal_uInt16 nForceXclFont, bool bForceLineBreak ) const;
639  sal_uInt32 FindXF( const SfxStyleSheetBase& rStyleSheet ) const;
640 
642  sal_uInt32 FindBuiltInXF( sal_uInt8 nStyleId, sal_uInt8 nLevel ) const;
643 
646  sal_uInt32 InsertCellXF( const ScPatternAttr* pPattern, sal_Int16 nScript,
647  sal_uInt32 nForceScNumFmt,
648  sal_uInt16 nForceXclFont, bool bForceLineBreak );
651  sal_uInt32 InsertStyleXF( const SfxStyleSheetBase& rStyleSheet );
652 
654  void InsertUserStyles();
655 
658  sal_uInt32 AppendBuiltInXF( XclExpXFRef const & xXF,
659  sal_uInt8 nStyleId, sal_uInt8 nLevel = EXC_STYLE_NOLEVEL );
662  sal_uInt32 AppendBuiltInXFWithStyle( XclExpXFRef const & xXF,
663  sal_uInt8 nStyleId, sal_uInt8 nLevel = EXC_STYLE_NOLEVEL );
664 
666  void InsertDefaultRecords();
667 
669  void AppendXFIndex( sal_uInt32 nXFId );
670 
671  void AddBorderAndFill( const XclExpXF& rXF );
672  void SaveXFXml( XclExpXmlStream& rStrm, XclExpXF& rXF );
673 
674 private:
677  {
682  explicit XclExpBuiltInInfo();
683  };
684  typedef ::std::map< sal_uInt32, XclExpBuiltInInfo > XclExpBuiltInMap;
685  typedef ::std::vector< XclExpCellBorder > XclExpBorderList;
686  typedef ::std::vector< XclExpCellArea > XclExpFillList;
687 
689  struct FindKey
690  {
691  bool mbCellXF; // is this a hard cell format, or a cell style
693  sal_uInt32 mnScNumFmt;
694  sal_uInt16 mnXclFont;
695 
696  bool operator<(const FindKey& other) const
697  {
698  if (mbCellXF != other.mbCellXF)
699  return mbCellXF < other.mbCellXF;
700  if (mpItemSet != other.mpItemSet)
701  return mpItemSet < other.mpItemSet;
702  if (mnScNumFmt != other.mnScNumFmt)
703  return mnScNumFmt < other.mnScNumFmt;
704  return mnXclFont < other.mnXclFont;
705  }
706  };
707  static FindKey ToFindKey(XclExpXF const &);
708 
709  XclExpXFList maXFList;
710  std::map<FindKey, std::vector<sal_uInt32>>
714  XclExpBuiltInMap maBuiltInMap;
718  XclExpXFList maSortedXFList;
719  XclExpBorderList maBorders;
720  XclExpFillList maFills;
721 
722 };
723 
724 class XclExpDxf : public XclExpRecordBase, protected XclExpRoot
725 {
726 public:
727  XclExpDxf( const XclExpRoot& rRoot, std::unique_ptr<XclExpCellAlign> pAlign, std::unique_ptr<XclExpCellBorder> pBorder,
728  std::unique_ptr<XclExpDxfFont> pFont, std::unique_ptr<XclExpNumFmt> pNumberFmt,
729  std::unique_ptr<XclExpCellProt> pProt, std::unique_ptr<XclExpColor> pColor);
730  XclExpDxf( const XclExpRoot& rRoot, std::unique_ptr<XclExpCellArea> pCellArea);
731  virtual ~XclExpDxf() override;
732 
733  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
734  void SaveXmlExt( XclExpXmlStream& rStrm);
735 
736 private:
737  std::unique_ptr<XclExpCellAlign> mpAlign;
738  std::unique_ptr<XclExpCellBorder> mpBorder;
739  std::unique_ptr<XclExpDxfFont> mpFont;
740  std::unique_ptr<XclExpNumFmt> mpNumberFmt;
741  std::unique_ptr<XclExpCellProt> mpProt;
742  std::unique_ptr<XclExpColor> mpColor;
743  std::unique_ptr<XclExpCellArea> mpCellArea;
744 };
745 
746 class XclExpDxfs : public XclExpRecordBase, protected XclExpRoot
747 {
748 public:
749  XclExpDxfs( const XclExpRoot& rRoot );
750 
751  sal_Int32 GetDxfId(const OUString& rName);
752  sal_Int32 GetDxfByBackColor(Color& aColor);
753  sal_Int32 GetDxfByForeColor(Color& aColor);
754 
755  virtual void SaveXml( XclExpXmlStream& rStrm) override;
756 private:
757  typedef std::vector< std::unique_ptr<XclExpDxf> > DxfContainer;
758  std::map<OUString, sal_Int32> maStyleNameToDxfId;
759  std::map<Color, sal_Int32> maBackColorToDxfId;
760  std::map<Color, sal_Int32> maForeColorToDxfId;
761  DxfContainer maDxf;
762  std::unique_ptr<NfKeywordTable> mpKeywordTable;
763 };
764 
766 {
767 public:
768  explicit XclExpXmlStyleSheet( const XclExpRoot& rRoot );
769 
770  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
771 };
772 
773 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
sal_uInt16 GetXclFont() const
Definition: xestyle.hxx:476
std::unique_ptr< XclExpNumFmt > mpNumberFmt
Definition: xestyle.hxx:740
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xestyle.cxx:1242
void FillToXF8(sal_uInt16 &rnAlign, sal_uInt16 &rnMiscAttrib) const
Fills the data to the passed fields of a BIFF8 XF record.
Definition: xestyle.cxx:1553
void SaveXml(XclExpXmlStream &rStrm) const
Definition: xestyle.cxx:1949
XclExpBuiltInMap maBuiltInMap
List of all STYLE records.
Definition: xestyle.hxx:714
Stores all XF records (cell formats and cell styles) in the document.
Definition: xestyle.hxx:574
virtual void Save(XclExpStream &rStrm) override
Writes all FORMAT records contained in this buffer.
Definition: xestyle.cxx:1373
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:882
XclExpColorType
For internal use only. TODO:moggi: find a better/correct value.
Definition: xestyle.hxx:45
sal_Int32 nIndex
XclBiff
An enumeration for all Excel file format types (BIFF types).
Definition: xlconst.hxx:29
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:3214
sal_uInt32 mnStdFmt
Replacement table.
Definition: xestyle.hxx:300
sal_uInt32 mnScNumFmt
Definition: xestyle.hxx:255
sal_uInt16 mnXclFont
Calc number format index.
Definition: xestyle.hxx:490
XclExpXFList::RecordRefType XclExpXFRef
Definition: xestyle.hxx:632
static FindKey ToFindKey(XclExpXF const &)
Definition: xestyle.cxx:2787
sal_uInt32 GetStandardFormat() const
Returns the core index of the current standard number format.
Definition: xestyle.hxx:275
virtual ~XclExpNumFmtBuffer() override
Definition: xestyle.cxx:1351
This class is used to export Excel record streams.
Definition: xestream.hxx:72
XclExpXFId maXFId
Name of the cell style.
Definition: xestyle.hxx:554
Background area of a cell.
Definition: xestyle.hxx:50
XclExpRecordList< XclExpXF > XclExpXFList
Definition: xestyle.hxx:631
const size_t EXC_FONTLIST_NOTFOUND
Definition: xestyle.hxx:120
XclExpNumFmtVec maFormatMap
Special number formatter for conversion.
Definition: xestyle.hxx:298
std::map< OUString, sal_Int32 > maStyleNameToDxfId
Definition: xestyle.hxx:758
void SaveXml(XclExpXmlStream &rStrm) const
Definition: xestyle.cxx:1848
virtual void Save(XclExpStream &rStrm) override
Writes all FONT records contained in this buffer.
Definition: xestyle.cxx:1237
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xestyle.cxx:1066
XclExpPaletteImplRef mxImpl
Definition: xestyle.hxx:115
Border of a cell.
Definition: xestyle.hxx:49
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xestyle.cxx:3285
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:2718
void SaveXml(XclExpXmlStream &rStrm) const
Definition: xestyle.cxx:1593
std::map< Color, sal_Int32 > maBackColorToDxfId
Definition: xestyle.hxx:759
const XclExpCellBorder & GetBorderData() const
Returns the cell border settings of this XF.
Definition: xestyle.hxx:447
OUString maNumFmtString
Resulting Excel format index.
Definition: xestyle.hxx:257
const XclExpCellArea & GetAreaData() const
Returns the cell fill settings of this XF.
Definition: xestyle.hxx:449
XclExpPalette(const XclExpRoot &rRoot)
Definition: xestyle.cxx:753
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:1191
const SfxItemSet * GetItemSet() const
Definition: xestyle.hxx:473
void FillToXF3(sal_uInt16 &rnProt) const
Fills the data to the passed fields of a BIFF3-BIFF8 XF record.
Definition: xestyle.cxx:1435
This struct helps reading and writing Excel fonts.
Definition: xlstyle.hxx:285
bool FillFromItemSet(const SfxItemSet &rItemSet, XclExpPalette &rPalette, bool bStyle)
Fills the area attributes from the passed item set.
Definition: xestyle.cxx:1885
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:785
::std::vector< XclExpNumFmt > XclExpNumFmtVec
Definition: xestyle.hxx:295
Spreadsheet grid color.
Definition: xestyle.hxx:55
sal_uInt32 mnForeColorId
Definition: xestyle.hxx:374
XclExpCellAlign maAlignment
Cell protection flags.
Definition: xestyle.hxx:485
void SetXmlIds(sal_uInt32 nBorderId, sal_uInt32 nFillId)
Definition: xestyle.cxx:2218
OUString GetFormatCode(sal_uInt32 nScNumFmt)
Definition: xestyle.cxx:1420
sal_Int32 GetDxfByForeColor(Color &aColor)
Definition: xestyle.cxx:3190
sal_uInt32 GetFontColorId() const
Returns the font color identifier.
Definition: xestyle.hxx:162
void InsertUserStyles()
Inserts an XF and a STYLE record for all user defined style sheets.
Definition: xestyle.cxx:2915
Stores all default colors for a specific BIFF version.
Definition: xlstyle.hxx:250
void SaveXml(XclExpXmlStream &rStrm) const
Definition: xestyle.cxx:1441
XclExpXFBuffer(const XclExpRoot &rRoot)
Definition: xestyle.cxx:2450
const sal_uInt16 EXC_ID_DXFS
For internal use only.
Definition: xestyle.hxx:40
sal_uInt32 mnTopColorId
Color ID for right line.
Definition: xestyle.hxx:345
sal_uInt32 mnBottomColorId
Color ID for top line.
Definition: xestyle.hxx:346
ScfUInt16Vec maXFIndexVec
Contained elements describe built-in XFs.
Definition: xestyle.hxx:715
std::unique_ptr< NfKeywordTable > mpKeywordTable
Definition: xestyle.hxx:762
XclExpFontBuffer(const XclExpRoot &rRoot)
Definition: xestyle.cxx:1167
XclExpXFId()
Real Excel XF index.
Definition: xestyle.cxx:2022
void FillToXF5(sal_uInt16 &rnAlign) const
Fills the data to the passed fields of a BIFF5/BIFF7 XF record.
Definition: xestyle.cxx:1545
sal_uInt32 mnParentXFId
Background area style.
Definition: xestyle.hxx:488
XclExpCellArea maArea
Border line style.
Definition: xestyle.hxx:487
std::shared_ptr< XclExpPaletteImpl > XclExpPaletteImplRef
Definition: xestyle.hxx:114
virtual void WriteBody(XclExpStream &rStrm) override
Writes the contents of the STYLE record.
Definition: xestyle.cxx:2304
const XclExpXF * GetXFById(sal_uInt32 nXFId) const
Returns an XF record by its unique identifier.
Definition: xestyle.cxx:2492
const sal_uInt8 EXC_STYLE_USERDEF
"Followed_Hyperlink" style.
Definition: xlstyle.hxx:234
::std::vector< XclExpCellBorder > XclExpBorderList
Definition: xestyle.hxx:685
static sal_uInt32 GetXFIdFromIndex(sal_uInt16 nXFIndex)
Returns the XF identifier representing a fixed Excel XF index (e.g.
Definition: xestyle.cxx:2482
XclExpNumFmt(sal_uInt32 nScNumFmt, sal_uInt16 nXclNumFmt, const OUString &rFrmt)
format string
Definition: xestyle.hxx:259
virtual void Save(XclExpStream &rStrm) override
Saves the PALETTE record, if it differs from the default palette.
Definition: xestyle.cxx:797
XclExpFontList maFontList
Definition: xestyle.hxx:246
void SetFinalColors()
Sets the resulting Excel palette index from all used color IDs (border and area). ...
Definition: xestyle.cxx:2082
const XclExpCellProt & GetProtectionData() const
Returns the cell protection settings of this XF.
Definition: xestyle.hxx:443
Extends the XclCellArea struct for export.
Definition: xestyle.hxx:372
const XclExpFont * GetFont(sal_uInt16 nXclFont) const
Returns the specified font from font list.
Definition: xestyle.cxx:1181
ScfUInt16Vec maStyleIndexes
Maps XF IDs to XF indexes.
Definition: xestyle.hxx:716
Text in a cell.
Definition: xestyle.hxx:48
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:2792
sal_uInt16 mnXclNumFmt
Excel font index.
Definition: xestyle.hxx:491
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:2923
std::map< Color, sal_Int32 > maForeColorToDxfId
Definition: xestyle.hxx:760
void FillToXF5(sal_uInt32 &rnArea) const
Fills the data to the passed fields of a BIFF5/BIFF7 XF record.
Definition: xestyle.cxx:1908
Access to global data from other classes.
Definition: xeroot.hxx:112
sal_uInt32 InsertStyle(const SfxStyleSheetBase *pStyleSheet)
Inserts the passed cell style.
Definition: xestyle.cxx:2477
::std::vector< XclExpCellArea > XclExpFillList
Definition: xestyle.hxx:686
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:2068
const sal_uInt16 EXC_FONT_NOTFOUND
Application font index.
Definition: xlstyle.hxx:77
virtual bool Equals(const XclFontData &rFontData, sal_uInt32 nHash) const
Compares this font with the passed font data.
Definition: xestyle.cxx:973
sal_Int32 GetXmlCellIndex(sal_uInt32 nXFId) const
Definition: xestyle.cxx:2612
size_t mnXclMaxSize
List of all FONT records.
Definition: xestyle.hxx:247
constexpr sal_uInt32 NUMBERFORMAT_ENTRY_NOT_FOUND
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:2106
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:1771
sal_uInt32 mnScNumFmt
XF ID of parent XF record.
Definition: xestyle.hxx:489
bool operator<(const FindKey &other) const
Definition: xestyle.hxx:696
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xestyle.cxx:2643
XclExpXFList maXFList
Definition: xestyle.hxx:709
sal_uInt32 mnLeftColorId
Definition: xestyle.hxx:343
Base class for all Excel records.
Definition: xerecord.hxx:37
void ConvertXFIndex(const XclExpRoot &rRoot)
Converts the XF identifier in mnXFId to an Excel XF index and stores it in mnXFIndex.
Definition: xestyle.cxx:2034
virtual void WriteBody(XclExpStream &rStrm) override
Writes the contents of the FONT record.
Definition: xestyle.cxx:989
Stores all number formats used in the document.
Definition: xestyle.hxx:268
Extends the XclCellAlign struct for export.
Definition: xestyle.hxx:322
sal_uInt32 InsertColor(const Color &rColor, XclExpColorType eType, sal_uInt16 nAutoDefault=0)
Inserts the color into the list and updates weighting.
Definition: xestyle.cxx:765
Helper functions for font export.
Definition: xestyle.hxx:123
Color maForeColor
Background color ID.
Definition: xestyle.hxx:376
XclExpFont(const XclExpRoot &rRoot, const XclFontData &rFontData, XclExpColorType eColorType)
Definition: xestyle.cxx:958
bool FillFromItemSet(const SfxItemSet &rItemSet, bool bStyle=false)
Fills the protection attributes from the passed item set.
Definition: xestyle.cxx:1427
void InitDefaultFonts()
Initializes the default fonts for the current BIFF version.
Definition: xestyle.cxx:1257
std::vector< std::unique_ptr< XclExpDxf > > DxfContainer
Definition: xestyle.hxx:757
XclExpCellBorder()
Color ID for diagonal line(s).
Definition: xestyle.cxx:1695
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:2935
sal_uInt32 mnColorId
All font attributes.
Definition: xestyle.hxx:175
void SetFinalColors(const XclExpPalette &rPalette)
Fills the mn***Color base members from the mn***ColorId members.
Definition: xestyle.cxx:1903
virtual void Save(XclExpStream &rStrm) override
Writes all XF records contained in this buffer.
Definition: xestyle.cxx:2620
DocumentType eType
const XclFontData & GetFontData() const
Returns read-only access to font data.
Definition: xestyle.hxx:160
::std::unique_ptr< SvNumberFormatter > SvNumberFormatterPtr
Definition: xestyle.hxx:265
XclExpXmlStyleSheet(const XclExpRoot &rRoot)
Definition: xestyle.cxx:3280
composite key for the find-map, so we can do partial key searching
Definition: xestyle.hxx:689
XclFontData maData
Definition: xestyle.hxx:174
Stores all data of an Excel font and provides export of FONT records.
Definition: xestyle.hxx:153
Represents a default XF record.
Definition: xestyle.hxx:524
sal_uInt32 GetScNumFmt() const
Definition: xestyle.hxx:475
Extends the XclCellBorder struct for export.
Definition: xestyle.hxx:341
Contains all cell protection attributes.
Definition: xlstyle.hxx:476
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xestyle.cxx:1379
sal_uInt16 GetColorIndex(sal_uInt32 nColorId) const
Returns the Excel palette index of the color with passed color ID.
Definition: xestyle.cxx:780
std::unique_ptr< XclExpCellProt > mpProt
Definition: xestyle.hxx:741
sal_uInt32 mnDiagColorId
Color ID for bottom line.
Definition: xestyle.hxx:347
Contains all cell alignment attributes.
Definition: xlstyle.hxx:487
XclExpNumFmtBuffer(const XclExpRoot &rRoot)
Definition: xestyle.cxx:1335
std::unique_ptr< XclExpDxfFont > mpFont
Definition: xestyle.hxx:739
const sal_uInt16 EXC_ID_FONTLIST
Definition: xestyle.hxx:37
sal_uInt32 InsertStyleXF(const SfxStyleSheetBase &rStyleSheet)
Inserts the passed cell style.
Definition: xestyle.cxx:2844
sal_uInt16 Insert(sal_uInt32 nScNumFmt)
Inserts a number format into the format buffer.
Definition: xestyle.cxx:1355
ScDxfFont maDxfData
Definition: xestyle.hxx:187
bool mbPredefined
Level for RowLevel/ColLevel styles.
Definition: xestyle.hxx:680
XclExpFillList maFills
List of borders used by XF records.
Definition: xestyle.hxx:720
void Finalize()
Reduces the XF record list to the maximum allowed number of records.
Definition: xestyle.cxx:2497
void SetNumFmt(sal_uInt16 nXclNumFmt)
Sets the Excel number format index.
Definition: xestyle.cxx:2275
const XclFontData & GetAppFontData() const
Returns the application font data of this file, needed e.g.
Definition: xestyle.cxx:1186
Represents an XF record which contains all formatting data of a cell or cell style.
Definition: xestyle.hxx:426
sal_uInt32 mnHash
Unique color ID for text color.
Definition: xestyle.hxx:176
Stores all used colors in the document.
Definition: xestyle.hxx:74
void WriteFormatRecord(XclExpStream &rStrm, sal_uInt16 nXclNumFmt, const OUString &rFormatStr)
Writes the FORMAT record with index nXclIx and format string rFormatStr.
Definition: xestyle.cxx:1393
std::unique_ptr< NfKeywordTable > mpKeywordTable
Maps core formats to Excel indexes.
Definition: xestyle.hxx:299
void SaveXFXml(XclExpXmlStream &rStrm, XclExpXF &rXF)
Definition: xestyle.cxx:2699
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:2776
sal_uInt8 mnLevel
Built-in style identifier.
Definition: xestyle.hxx:679
std::unique_ptr< XclExpCellAlign > mpAlign
Definition: xestyle.hxx:737
const sal_uInt8 EXC_STYLE_NOLEVEL
Number of outline level styles.
Definition: xlstyle.hxx:237
virtual ~XclExpDxf() override
Definition: xestyle.cxx:3233
void InsertDefaultRecords()
Inserts all default XF and STYLE records.
Definition: xestyle.cxx:2959
Line in a chart.
Definition: xestyle.hxx:52
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:1922
const SfxItemSet * mpItemSet
Definition: xestyle.hxx:482
XclExpBorderList maBorders
List of XF records in XF index order.
Definition: xestyle.hxx:719
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:1157
virtual ~XclExpPalette() override
Definition: xestyle.cxx:761
virtual void Save(XclExpStream &rStrm) override
Skips writing this record.
Definition: xestyle.cxx:1162
ScfUInt16Vec maCellIndexes
Maps XF IDs to OOXML Style indexes.
Definition: xestyle.hxx:717
sal_uInt8 GetUsedFlags() const
Returns the bits specifying the used attributes.
Definition: xestyle.cxx:2157
void Finalize()
Reduces the color list to the maximum count of the current BIFF version.
Definition: xestyle.cxx:775
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:1799
sal_uInt8 mnLevel
Built-in style identifier.
Definition: xestyle.hxx:556
void SaveXml(XclExpXmlStream &rStrm)
Definition: xestyle.cxx:1327
const sal_uInt16 EXC_ID_XFLIST
For internal use only.
Definition: xestyle.hxx:39
bool FillFromItemSet(const SfxItemSet &rItemSet, XclExpPalette &rPalette, XclBiff eBiff, bool bStyle=false)
Fills the border attributes from the passed item set.
Definition: xestyle.cxx:1704
Stores a core number format index with corresponding Excel format index.
Definition: xestyle.hxx:253
void WriteBody8(XclExpStream &rStrm)
Definition: xestyle.cxx:2188
bool IsBuiltIn() const
Returns true, if this record represents an Excel built-in style.
Definition: xestyle.hxx:544
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:2472
sal_uInt16 mnXclNumFmt
Core index of the number format.
Definition: xestyle.hxx:256
virtual void WriteBody(XclExpStream &rStrm) override
Writes the contents of the XF record.
Definition: xestyle.cxx:2205
Extends the XclCellProt struct for export.
Definition: xestyle.hxx:308
bool FillFromItemSet(const SfxItemSet &rItemSet)
Definition: xestyle.cxx:2000
Contains color and line style for each cell border line.
Definition: xlstyle.hxx:522
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:906
XclExpXFList maSortedXFList
Maps XF IDs to OOXML Cell indexes.
Definition: xestyle.hxx:718
sal_uInt32 mnRightColorId
Color ID for left line.
Definition: xestyle.hxx:344
static sal_uInt32 GetDefCellXFId()
Returns the XF identifier representing the default cell XF.
Definition: xestyle.cxx:2487
void Initialize()
Inserts predefined built-in styles and user-defined styles.
Definition: xestyle.cxx:2455
sal_Int32 mnFillId
OOXML Border Index.
Definition: xestyle.hxx:493
std::unique_ptr< XclExpColor > mpColor
Definition: xestyle.hxx:742
XclExpBuiltInInfo()
true = STYLE record created.
Definition: xestyle.cxx:2385
const XclExpCellAlign & GetAlignmentData() const
Returns the alignment settings of this XF.
Definition: xestyle.hxx:445
std::map< FindKey, std::vector< sal_uInt32 > > maXFFindMap
List of all XF records.
Definition: xestyle.hxx:711
bool FillFromItemSet(const SfxItemSet &rItemSet, bool bForceLineBreak, XclBiff eBiff, bool bStyle=false)
Fills the alignment attributes from the passed item set.
Definition: xestyle.cxx:1448
Represents a STYLE record containing the data of a cell style.
Definition: xestyle.hxx:537
::std::vector< sal_uInt16 > ScfUInt16Vec
Definition: ftools.hxx:255
void SetFinalColors(const XclExpPalette &rPalette)
Fills the mn***Color base members from the mn***ColorId members.
Definition: xestyle.cxx:1762
Color maColor
Definition: xestyle.hxx:403
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xestyle.cxx:3198
size_t Find(const XclFontData &rFontData)
Tries to find the passed font and returns the current list index.
Definition: xestyle.cxx:1303
unsigned char sal_uInt8
void FillToXF8(sal_uInt32 &rnBorder2, sal_uInt16 &rnArea) const
Fills the data to the passed fields of a BIFF8 XF record.
Definition: xestyle.cxx:1915
void FillToXF8(sal_uInt32 &rnBorder1, sal_uInt32 &rnBorder2) const
Fills the data to the passed fields of a BIFF8 XF record.
Definition: xestyle.cxx:1783
sal_uInt32 mnXFId
Definition: xestyle.hxx:413
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xestyle.cxx:803
XclExpStyle(sal_uInt32 nXFId, const OUString &rStyleName)
Definition: xestyle.cxx:2281
sal_uInt16 mnXclOffset
Key for standard number format.
Definition: xestyle.hxx:301
XclExpDefaultXF(const XclExpRoot &rRoot, bool bCellXF)
Definition: xestyle.cxx:2264
::std::map< sal_uInt32, XclExpBuiltInInfo > XclExpBuiltInMap
Definition: xestyle.hxx:684
DxfContainer maDxf
Definition: xestyle.hxx:761
sal_Int32 GetDxfByBackColor(Color &aColor)
Definition: xestyle.cxx:3182
Stores the data of all fonts used in the document.
Definition: xestyle.hxx:206
void SaveXml(XclExpXmlStream &rStrm) const
Definition: xestyle.cxx:2011
A combination of unique XF identifier with real Excel XF index.
Definition: xestyle.hxx:411
XclExpCellProt maProtection
Pointer to the item set (we do not own it).
Definition: xestyle.hxx:484
sal_Int32 mnBorderId
Excel number format index.
Definition: xestyle.hxx:492
sal_uInt32 mnBackColorId
Foreground color ID.
Definition: xestyle.hxx:375
sal_uInt32 Insert(const ScPatternAttr *pPattern, sal_Int16 nScript)
Finds or creates a cell XF record for the passed item set.
Definition: xestyle.cxx:2461
Used as placeholder for font index 4, which is not used in Excel.
Definition: xestyle.hxx:191
Contains background colors and pattern for a cell.
Definition: xlstyle.hxx:543
Extended info about a built-in XF.
Definition: xestyle.hxx:676
SvNumberFormatterPtr mxFormatter
Definition: xestyle.hxx:297
sal_uInt16 mnXFIndex
Temporary XF identifier.
Definition: xestyle.hxx:414
virtual void WriteBody(XclExpStream &rStrm) override
Writes the contents of the PALETTE record.
Definition: xestyle.cxx:809
XclExpRecordList< XclExpStyle > maStyleList
map of itemset to vector of positions, to speed up find
Definition: xestyle.hxx:713
bool Equals(const XclXFBase &rCmp) const
Returns true, if this object is equal to the passed.
Definition: xlstyle.cxx:1736
void WriteBody5(XclExpStream &rStrm)
Definition: xestyle.cxx:2171
XclExpRecordList< XclExpFont > XclExpFontList
Definition: xestyle.hxx:243
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xestyle.cxx:2224
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xestyle.cxx:978
sal_Int32 GetXmlStyleIndex(sal_uInt32 nXFId) const
Definition: xestyle.cxx:2604
Text color in a chart.
Definition: xestyle.hxx:51
const sal_uInt16 EXC_ID_FORMATLIST
For internal use only.
Definition: xestyle.hxx:38
bool mbHasStyleRec
true = XF still predefined.
Definition: xestyle.hxx:681
void SaveXmlExt(XclExpXmlStream &rStrm)
Definition: xestyle.cxx:3259
sal_uInt8 mnStyleId
XF identifier for style formatting.
Definition: xestyle.hxx:555
std::unique_ptr< XclExpCellArea > mpCellArea
Definition: xestyle.hxx:743
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xestyle.cxx:3237
XclExpBlindFont(const XclExpRoot &rRoot)
Definition: xestyle.cxx:1152
Area in a chart.
Definition: xestyle.hxx:53
OUString maName
Definition: xestyle.hxx:553
const SfxItemSet * mpItemSet
Definition: xestyle.hxx:692
static sal_uInt32 GetColorIdFromIndex(sal_uInt16 nIndex)
Returns the color ID representing a fixed Excel palette index (i.e.
Definition: xestyle.cxx:770
void SvStream & rStrm
sal_Int32 GetDxfId(const OUString &rName)
Definition: xestyle.cxx:3174
ScDxfFont GetDxfFontFromItemSet(const XclExpRoot &rRoot, const SfxItemSet &rSet)
Get a dxf related font object from the item set.
Definition: xestyle.cxx:897
void InitDefault()
Initializes with default values.
Definition: xestyle.cxx:2097
Color GetColor(sal_uInt16 nXclIndex) const
Returns the color for a (non-zero-based) Excel palette entry.
Definition: xestyle.cxx:792
Contains base members for XF record import/export.
Definition: xlstyle.hxx:562
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xestyle.cxx:2339
void SetFont(sal_uInt16 nXclFont)
Sets the Excel font index.
Definition: xestyle.cxx:2269
void AddBorderAndFill(const XclExpXF &rXF)
Definition: xestyle.cxx:3034
Color maBackColor
Definition: xestyle.hxx:377
XclExpFontList::RecordRefType XclExpFontRef
Definition: xestyle.hxx:244
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:2466
XclExpDxfs(const XclExpRoot &rRoot)
Definition: xestyle.cxx:3047
Base class for single records with any content.
Definition: xerecord.hxx:141
Text color in a form control.
Definition: xestyle.hxx:54
XclExpCellBorder maBorder
All alignment attributes.
Definition: xestyle.hxx:486
void AppendXFIndex(sal_uInt32 nXFId)
Appends a XF index to the internal ID<->index maps.
Definition: xestyle.cxx:3024
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:831
sal_uInt16 GetXFIndex(sal_uInt32 nXFId) const
Returns the Excel XF index of the XF record with passed XF ID.
Definition: xestyle.cxx:2594
XclExpDxfFont(const XclExpRoot &rRoot, const SfxItemSet &rItemSet)
Definition: xestyle.cxx:1018
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:2039
std::unique_ptr< XclExpCellBorder > mpBorder
Definition: xestyle.hxx:738