22 #include <com/sun/star/awt/FontDescriptor.hpp>
23 #include <com/sun/star/awt/FontFamily.hpp>
24 #include <com/sun/star/awt/FontPitch.hpp>
25 #include <com/sun/star/awt/FontSlant.hpp>
26 #include <com/sun/star/awt/FontStrikeout.hpp>
27 #include <com/sun/star/awt/FontType.hpp>
28 #include <com/sun/star/awt/FontWeight.hpp>
29 #include <com/sun/star/awt/FontUnderline.hpp>
30 #include <com/sun/star/awt/XDevice.hpp>
31 #include <com/sun/star/awt/XFont2.hpp>
32 #include <com/sun/star/container/XIndexAccess.hpp>
33 #include <com/sun/star/sheet/XSpreadsheetDocument.hpp>
34 #include <com/sun/star/style/XStyle.hpp>
35 #include <com/sun/star/text/WritingMode2.hpp>
36 #include <com/sun/star/table/BorderLineStyle.hpp>
37 #include <com/sun/star/table/CellVertJustify2.hpp>
38 #include <com/sun/star/table/CellJustifyMethod.hpp>
59 #include <rtl/tencinfo.h>
60 #include <rtl/ustrbuf.hxx>
62 #include <osl/diagnose.h>
69 #include <oox/token/namespaces.hxx>
70 #include <oox/token/properties.hxx>
71 #include <oox/token/tokens.hxx>
74 #include <document.hxx>
75 #include <stlpool.hxx>
80 #include <globstr.hrc>
86 #include <stlsheet.hxx>
104 const sal_Int32 OOX_COLOR_USEROFFSET = 0;
107 const sal_Int32 OOX_FONTFAMILY_NONE = 0;
108 const sal_Int32 OOX_FONTFAMILY_ROMAN = 1;
109 const sal_Int32 OOX_FONTFAMILY_SWISS = 2;
110 const sal_Int32 OOX_FONTFAMILY_MODERN = 3;
111 const sal_Int32 OOX_FONTFAMILY_SCRIPT = 4;
112 const sal_Int32 OOX_FONTFAMILY_DECORATIVE = 5;
115 const sal_Int32 OOX_XF_TEXTDIR_CONTEXT = 0;
116 const sal_Int32 OOX_XF_TEXTDIR_LTR = 1;
117 const sal_Int32 OOX_XF_TEXTDIR_RTL = 2;
120 const sal_Int32 OOX_XF_ROTATION_NONE = 0;
121 const sal_Int32 OOX_XF_ROTATION_STACKED = 255;
124 const sal_Int32 OOX_XF_INDENT_NONE = 0;
127 const sal_Int32 OOX_STYLE_NORMAL = 0;
128 const sal_Int32 OOX_STYLE_ROWLEVEL = 1;
129 const sal_Int32 OOX_STYLE_COLLEVEL = 2;
135 const sal_uInt8 BIFF12_COLOR_INDEXED = 1;
140 const sal_uInt8 BIFF12_BORDER_DIAG_TLBR = 0x01;
141 const sal_uInt8 BIFF12_BORDER_DIAG_BLTR = 0x02;
144 const sal_Int32 BIFF12_FILL_GRADIENT = 40;
147 const sal_uInt32 BIFF12_XF_WRAPTEXT = 0x00400000;
148 const sal_uInt32 BIFF12_XF_JUSTLASTLINE = 0x00800000;
149 const sal_uInt32 BIFF12_XF_SHRINK = 0x01000000;
150 const sal_uInt32 BIFF12_XF_LOCKED = 0x10000000;
151 const sal_uInt32 BIFF12_XF_HIDDEN = 0x20000000;
154 const sal_uInt16 BIFF12_XF_NUMFMT_USED = 0x0001;
155 const sal_uInt16 BIFF12_XF_FONT_USED = 0x0002;
156 const sal_uInt16 BIFF12_XF_ALIGN_USED = 0x0004;
157 const sal_uInt16 BIFF12_XF_BORDER_USED = 0x0008;
158 const sal_uInt16 BIFF12_XF_AREA_USED = 0x0010;
159 const sal_uInt16 BIFF12_XF_PROT_USED = 0x0020;
162 const sal_uInt16 BIFF12_DXF_FILL_PATTERN = 0;
163 const sal_uInt16 BIFF12_DXF_FILL_FGCOLOR = 1;
164 const sal_uInt16 BIFF12_DXF_FILL_BGCOLOR = 2;
165 const sal_uInt16 BIFF12_DXF_FILL_GRADIENT = 3;
166 const sal_uInt16 BIFF12_DXF_FILL_STOP = 4;
167 const sal_uInt16 BIFF12_DXF_FONT_COLOR = 5;
168 const sal_uInt16 BIFF12_DXF_BORDER_TOP = 6;
169 const sal_uInt16 BIFF12_DXF_BORDER_BOTTOM = 7;
170 const sal_uInt16 BIFF12_DXF_BORDER_LEFT = 8;
171 const sal_uInt16 BIFF12_DXF_BORDER_RIGHT = 9;
172 const sal_uInt16 BIFF12_DXF_FONT_NAME = 24;
173 const sal_uInt16 BIFF12_DXF_FONT_WEIGHT = 25;
174 const sal_uInt16 BIFF12_DXF_FONT_UNDERLINE = 26;
175 const sal_uInt16 BIFF12_DXF_FONT_ESCAPEMENT = 27;
176 const sal_uInt16 BIFF12_DXF_FONT_ITALIC = 28;
177 const sal_uInt16 BIFF12_DXF_FONT_STRIKE = 29;
178 const sal_uInt16 BIFF12_DXF_FONT_OUTLINE = 30;
179 const sal_uInt16 BIFF12_DXF_FONT_SHADOW = 31;
180 const sal_uInt16 BIFF12_DXF_FONT_HEIGHT = 36;
181 const sal_uInt16 BIFF12_DXF_FONT_SCHEME = 37;
182 const sal_uInt16 BIFF12_DXF_NUMFMT_CODE = 38;
183 const sal_uInt16 BIFF12_DXF_NUMFMT_ID = 41;
186 const sal_uInt16 BIFF12_CELLSTYLE_BUILTIN = 0x0001;
187 const sal_uInt16 BIFF12_CELLSTYLE_HIDDEN = 0x0002;
188 const sal_uInt16 BIFF12_CELLSTYLE_CUSTOM = 0x0004;
193 const sal_uInt16 BIFF_FONTFLAG_ITALIC = 0x0002;
194 const sal_uInt16 BIFF_FONTFLAG_STRIKEOUT = 0x0008;
195 const sal_uInt16 BIFF_FONTFLAG_OUTLINE = 0x0010;
196 const sal_uInt16 BIFF_FONTFLAG_SHADOW = 0x0020;
199 const sal_uInt16 BIFF_FONTWEIGHT_BOLD = 450;
202 const sal_uInt8 BIFF_FONTUNDERL_NONE = 0;
203 const sal_uInt8 BIFF_FONTUNDERL_SINGLE = 1;
204 const sal_uInt8 BIFF_FONTUNDERL_DOUBLE = 2;
205 const sal_uInt8 BIFF_FONTUNDERL_SINGLE_ACC = 33;
206 const sal_uInt8 BIFF_FONTUNDERL_DOUBLE_ACC = 34;
208 ::Color lclReadRgbColor( BinaryInputStream& rStrm )
211 nR = rStrm.readuChar();
212 nG = rStrm.readuChar();
213 nB = rStrm.readuChar();
214 nA = rStrm.readuChar();
222 return ::Color(nValue);
252 setSrgbClr( sal_uInt32(nRgbValue) & 0xFFFFFF );
259 static const sal_Int32 spnColorTokens[] = {
260 XML_lt1, XML_dk1, XML_lt2, XML_dk2, XML_accent1, XML_accent2,
261 XML_accent3, XML_accent4, XML_accent5, XML_accent6, XML_hlink, XML_folHlink };
283 else if( rAttribs.
getBool( XML_auto,
false ) )
287 OSL_FAIL(
"Color::importColor - unknown color type" );
301 double fTint = nTint;
307 switch( extractValue< sal_uInt8 >( nFlags, 1, 7 ) )
309 case BIFF12_COLOR_AUTO:
313 case BIFF12_COLOR_INDEXED:
317 case BIFF12_COLOR_RGB:
318 setRgb( lclReadRgbColor( rStrm ), fTint );
320 case BIFF12_COLOR_THEME:
325 OSL_FAIL(
"Color::importColor - unknown color type" );
345 #define PALETTE_EGA_COLORS_LIGHT \
346 ::Color(0x000000), ::Color(0xFFFFFF), ::Color(0xFF0000), ::Color(0x00FF00), ::Color(0x0000FF), ::Color(0xFFFF00), ::Color(0xFF00FF), ::Color(0x00FFFF)
348 #define PALETTE_EGA_COLORS_DARK \
349 ::Color(0x800000), ::Color(0x008000), ::Color(0x000080), ::Color(0x808000), ::Color(0x800080), ::Color(0x008080), ::Color(0xC0C0C0), ::Color(0x808080)
352 const ::Color spnDefColors8[] =
364 #undef PALETTE_EGA_COLORS_LIGHT
365 #undef PALETTE_EGA_COLORS_DARK
385 ::Color nRgb = lclReadRgbColor( rStrm );
394 nColor = *pnPaletteColor;
396 else switch( nPaletteIdx )
409 default: OSL_FAIL(
"ColorPalette::getColor - unknown color index" );
425 void lclSetFontName(
ApiScriptFontName& rFontName,
const FontDescriptor& rFontDesc,
bool bHasGlyphs )
429 rFontName.
maName = rFontDesc.Name;
430 rFontName.
mnFamily = rFontDesc.Family;
436 rFontName = ApiScriptFontName();
443 mnScheme( XML_none ),
444 mnFamily( OOX_FONTFAMILY_NONE ),
447 mnUnderline( XML_none ),
448 mnEscapement( XML_baseline ),
451 mbStrikeout( false ),
459 static const sal_Int32 spnSchemes[] = { XML_none, XML_major, XML_minor };
470 mbBold = nWeight >= BIFF_FONTWEIGHT_BOLD;
477 case BIFF_FONTUNDERL_NONE:
mnUnderline = XML_none;
break;
478 case BIFF_FONTUNDERL_SINGLE:
mnUnderline = XML_single;
break;
479 case BIFF_FONTUNDERL_DOUBLE:
mnUnderline = XML_double;
break;
480 case BIFF_FONTUNDERL_SINGLE_ACC:
mnUnderline = XML_singleAccounting;
break;
481 case BIFF_FONTUNDERL_DOUBLE_ACC:
mnUnderline = XML_doubleAccounting;
break;
488 static const sal_Int32 spnEscapes[] = { XML_baseline, XML_superscript, XML_subscript };
493 mbNameUsed( bAllUsed ),
494 mbColorUsed( bAllUsed ),
495 mbSchemeUsed( bAllUsed ),
496 mbHeightUsed( bAllUsed ),
497 mbUnderlineUsed( bAllUsed ),
498 mbEscapementUsed( bAllUsed ),
499 mbWeightUsed( bAllUsed ),
500 mbPostureUsed( bAllUsed ),
501 mbStrikeoutUsed( bAllUsed ),
502 mbOutlineUsed( bAllUsed ),
503 mbShadowUsed( bAllUsed )
509 mnTextEnc( RTL_TEXTENCODING_DONTKNOW )
520 RTL_TEXTENCODING_DONTKNOW,
542 maModel( rHelper.getTheme().getDefaultFontModel() ),
543 maUsedFlags( !bDxf ),
561 case XLS_TOKEN(
name ):
562 case XLS_TOKEN( rFont ):
569 case XLS_TOKEN( scheme ):
572 case XLS_TOKEN( family ):
575 case XLS_TOKEN( charset ):
578 case XLS_TOKEN( sz ):
582 case XLS_TOKEN(
color ):
590 case XLS_TOKEN( vertAlign ):
602 case XLS_TOKEN( strike ):
606 case XLS_TOKEN( outline ):
610 case XLS_TOKEN( shadow ):
619 SAL_WARN_IF(
mbDxf,
"sc",
"Font::importFont - unexpected conditional formatting flag" );
621 sal_uInt16 nHeight, nFlags, nWeight, nEscapement;
622 sal_uInt8 nUnderline, nFamily, nCharSet, nScheme;
652 SAL_WARN_IF( !
mbDxf,
"sc",
"Font::importDxfName - missing conditional formatting flag" );
659 SAL_WARN_IF( !
mbDxf,
"sc",
"Font::importDxfColor - missing conditional formatting flag" );
666 SAL_WARN_IF( !
mbDxf,
"sc",
"Font::importDxfScheme - missing conditional formatting flag" );
673 SAL_WARN_IF( !
mbDxf,
"sc",
"Font::importDxfHeight - missing conditional formatting flag" );
680 SAL_WARN_IF( !
mbDxf,
"sc",
"Font::importDxfWeight - missing conditional formatting flag" );
687 SAL_WARN_IF( !
mbDxf,
"sc",
"Font::importDxfUnderline - missing conditional formatting flag" );
694 SAL_WARN_IF( !
mbDxf,
"sc",
"Font::importDxfEscapement - missing conditional formatting flag" );
701 SAL_WARN_IF( !
mbDxf,
"sc",
"Font::importDxfFlag - missing conditional formatting flag" );
722 OSL_FAIL(
"Font::importDxfFlag - unexpected element identifier" );
734 case OOX_FONTFAMILY_NONE:
maApiData.
maDesc.Family = css::awt::FontFamily::DONTKNOW;
break;
735 case OOX_FONTFAMILY_ROMAN:
maApiData.
maDesc.Family = css::awt::FontFamily::ROMAN;
break;
736 case OOX_FONTFAMILY_SWISS:
maApiData.
maDesc.Family = css::awt::FontFamily::SWISS;
break;
737 case OOX_FONTFAMILY_MODERN:
maApiData.
maDesc.Family = css::awt::FontFamily::MODERN;
break;
738 case OOX_FONTFAMILY_SCRIPT:
maApiData.
maDesc.Family = css::awt::FontFamily::SCRIPT;
break;
739 case OOX_FONTFAMILY_DECORATIVE:
maApiData.
maDesc.Family = css::awt::FontFamily::DECORATIVE;
break;
745 rtl_getTextEncodingFromWindowsCharset( static_cast< sal_uInt8 >(
maModel.
mnCharSet ) ) );
759 case XML_double:
maApiData.
maDesc.Underline = css::awt::FontUnderline::DOUBLE;
break;
760 case XML_doubleAccounting:
maApiData.
maDesc.Underline = css::awt::FontUnderline::DOUBLE;
break;
762 case XML_single:
maApiData.
maDesc.Underline = css::awt::FontUnderline::SINGLE;
break;
763 case XML_singleAccounting:
maApiData.
maDesc.Underline = css::awt::FontUnderline::SINGLE;
break;
773 case XML_superscript:
788 Reference< XDevice > xDevice( aDocProps.
getAnyProperty( PROP_ReferenceDevice ), UNO_QUERY );
792 Reference< XFont2 > xFont( xDevice->getFont(
maApiData.
maDesc ), UNO_QUERY );
798 xFont->hasGlyphs( OUString(
u'\x3041' ) ) ||
799 xFont->hasGlyphs( OUString(
u'\x30A1' ) ) ||
800 xFont->hasGlyphs( OUString(
u'\x3111' ) ) ||
801 xFont->hasGlyphs( OUString(
u'\x3131' ) ) ||
802 xFont->hasGlyphs( OUString(
u'\x3301' ) ) ||
803 xFont->hasGlyphs( OUString(
u'\x3401' ) ) ||
804 xFont->hasGlyphs( OUString(
u'\x4E01' ) ) ||
805 xFont->hasGlyphs( OUString(
u'\x7E01' ) ) ||
806 xFont->hasGlyphs( OUString(
u'\xA001' ) ) ||
807 xFont->hasGlyphs( OUString(
u'\xAC01' ) ) ||
808 xFont->hasGlyphs( OUString(
u'\xCC01' ) ) ||
809 xFont->hasGlyphs( OUString(
u'\xF901' ) ) ||
810 xFont->hasGlyphs( OUString(
u'\xFF71' ) );
813 xFont->hasGlyphs( OUString(
u'\x05D1' ) ) ||
814 xFont->hasGlyphs( OUString(
u'\x0631' ) ) ||
815 xFont->hasGlyphs( OUString(
u'\x0721' ) ) ||
816 xFont->hasGlyphs( OUString(
u'\x0911' ) ) ||
817 xFont->hasGlyphs( OUString(
u'\x0E01' ) ) ||
818 xFont->hasGlyphs( OUString(
u'\xFB21' ) ) ||
819 xFont->hasGlyphs( OUString(
u'\xFB51' ) ) ||
820 xFont->hasGlyphs( OUString(
u'\xFE71' ) );
823 (!bHasAsian && !bHasCmplx) ||
824 xFont->hasGlyphs( OUString(
'A' ) );
841 case css::awt::FontFamily::DONTKNOW:
844 case css::awt::FontFamily::ROMAN:
847 case css::awt::FontFamily::SWISS:
850 case css::awt::FontFamily::MODERN:
853 case css::awt::FontFamily::SCRIPT:
856 case css::awt::FontFamily::DECORATIVE:
871 rtl_TextEncoding eTempTextEnc = (bEditEngineText && (eFontEnc ==
getTextEncoding())) ?
882 rtl_TextEncoding eTempTextEnc = (bEditEngineText && (eFontEnc ==
getTextEncoding())) ?
892 rtl_TextEncoding eTempTextEnc = (bEditEngineText && (eFontEnc ==
getTextEncoding())) ?
939 else if (
maApiData.
maDesc.Underline == css::awt::FontUnderline::SINGLE )
968 eScEscapem = SvxEscapement::Superscript;
970 eScEscapem = SvxEscapement::Subscript;
971 if( bEditEngineText )
1005 float fHeight =
static_cast< float >(
maApiData.
maDesc.Height / 20.0 );
1007 rPropMap.
setProperty( PROP_CharHeightAsian, fHeight);
1008 rPropMap.
setProperty( PROP_CharHeightComplex, fHeight);
1015 rPropMap.
setProperty( PROP_CharWeightAsian, fWeight);
1016 rPropMap.
setProperty( PROP_CharWeightComplex, fWeight);
1056 mnHorAlign( XML_general ),
1057 mnVerAlign( XML_bottom ),
1058 mnTextDir( OOX_XF_TEXTDIR_CONTEXT ),
1059 mnRotation( OOX_XF_ROTATION_NONE ),
1060 mnIndent( OOX_XF_INDENT_NONE ),
1061 mbWrapText( false ),
1063 mbJustLastLine( false )
1069 static const sal_Int32 spnHorAligns[] = {
1070 XML_general, XML_left, XML_center, XML_right,
1071 XML_fill, XML_justify, XML_centerContinuous, XML_distributed };
1077 static const sal_Int32 spnVerAligns[] = {
1078 XML_top, XML_center, XML_bottom, XML_justify, XML_distributed };
1083 meHorJustify(
css::
table::CellHoriJustify_STANDARD ),
1084 mnHorJustifyMethod(
css::
table::CellJustifyMethod::
AUTO ),
1086 mnVerJustifyMethod(
css::
table::CellJustifyMethod::
AUTO ),
1087 meOrientation(
css::
table::CellOrientation_STANDARD ),
1091 mbWrapText( false ),
1121 sal_Int32 nDefaultHorAlign = XML_general;
1126 nDefaultHorAlign = XML_left;
1130 nDefaultHorAlign = XML_right;
1201 (((91 <= nOoxRot) && (nOoxRot <= 180)) ? (100 * (450 - nOoxRot)) : 0));
1205 css::table::CellOrientation_STACKED : css::table::CellOrientation_STANDARD;
1218 case css::table::CellVertJustify2::BOTTOM:
1219 nVert = ::SvxCellVerJustify::Bottom;
1221 case css::table::CellVertJustify2::CENTER:
1222 nVert = ::SvxCellVerJustify::Center;
1224 case css::table::CellVertJustify2::TOP:
1225 nVert = ::SvxCellVerJustify::Top;
1227 case css::table::CellVertJustify2::BLOCK:
1228 nVert = ::SvxCellVerJustify::Block;
1230 case css::table::CellVertJustify2::STANDARD:
1232 nVert = ::SvxCellVerJustify::Standard;
1243 case css::table::CellHoriJustify_LEFT:
1244 nHori = ::SvxCellHorJustify::Left;
1246 case css::table::CellHoriJustify_CENTER:
1247 nHori = ::SvxCellHorJustify::Center;
1249 case css::table::CellHoriJustify_RIGHT:
1250 nHori = ::SvxCellHorJustify::Right;
1252 case css::table::CellHoriJustify_BLOCK:
1253 nHori = ::SvxCellHorJustify::Block;
1255 case css::table::CellHoriJustify_REPEAT:
1256 nHori = ::SvxCellHorJustify::Repeat;
1258 case css::table::CellHoriJustify_STANDARD:
1260 nHori = ::SvxCellHorJustify::Standard;
1271 case css::text::WritingMode2::PAGE:
1272 eFrameDir = SvxFrameDirection::Environment;
1274 case css::text::WritingMode2::LR_TB:
1275 eFrameDir = SvxFrameDirection::Horizontal_LR_TB;
1277 case css::text::WritingMode2::RL_TB:
1278 eFrameDir = SvxFrameDirection::Horizontal_RL_TB;
1281 OSL_FAIL(
"GetScFrameDir - unknown CTL text direction" );
1315 maCellProt( true, false, false, false )
1358 bool lcl_isBorder(
const css::table::BorderLine& rBorder)
1360 return (rBorder.InnerLineWidth > 0) || (rBorder.OuterLineWidth > 0);
1366 mnStyle( XML_none ),
1374 static const sal_Int32 spnStyleIds[] = {
1375 XML_none, XML_thin, XML_medium, XML_dashed,
1376 XML_dotted, XML_thick, XML_double, XML_hair,
1377 XML_mediumDashed, XML_dashDot, XML_mediumDashDot, XML_dashDotDot,
1378 XML_mediumDashDotDot, XML_slantDashDot };
1388 mbDiagTLtoBR( false ),
1389 mbDiagBLtoTR( false )
1394 mbBorderUsed( false ),
1402 ( lcl_isBorder(
maTop ) &&
maTop.OuterLineWidth > 0 ) ||
1404 ( lcl_isBorder(
maLeft ) &&
maLeft.OuterLineWidth > 0 ) ||
1410 void lclSetBorderLineWidth( BorderLine& rBorderLine,
1413 rBorderLine.OuterLineWidth = nOuter;
1414 rBorderLine.LineDistance = nDist;
1415 rBorderLine.InnerLineWidth = nInner;
1437 pBorderLine->mnStyle = rAttribs.
getToken( XML_style, XML_none );
1438 pBorderLine->mbUsed =
true;
1445 pBorderLine->maColor.importColor( rAttribs );
1467 SAL_WARN_IF( !
mbDxf,
"sc",
"Border::importDxfBorder - missing conditional formatting flag" );
1471 rStrm >> pBorderLine->maColor;
1473 pBorderLine->setBiffStyle( nStyle );
1474 pBorderLine->mbUsed =
true;
1509 aBoxItem.
SetLine( &aLine, SvxBoxItemLine::LEFT );
1513 aBoxItem.
SetLine( &aLine, SvxBoxItemLine::RIGHT );
1517 aBoxItem.
SetLine( &aLine, SvxBoxItemLine::TOP );
1521 aBoxItem.
SetLine( &aLine, SvxBoxItemLine::BOTTOM );
1567 rBorderLine.LineStyle = BorderLineStyle::DASH_DOT;
1569 case XML_dashDotDot:
1571 rBorderLine.LineStyle = BorderLineStyle::DASH_DOT_DOT;
1575 rBorderLine.LineStyle = BorderLineStyle::FINE_DASHED;
1579 rBorderLine.LineStyle = BorderLineStyle::DOTTED;
1582 lclSetBorderLineWidth( rBorderLine, 10, 15, 10 );
1583 rBorderLine.LineStyle = BorderLineStyle::DOUBLE_THIN;
1585 case XML_hair: lclSetBorderLineWidth( rBorderLine,
API_LINE_HAIR );
break;
1586 case XML_medium: lclSetBorderLineWidth( rBorderLine,
API_LINE_MEDIUM );
break;
1587 case XML_mediumDashDot:
1589 rBorderLine.LineStyle = BorderLineStyle::DASH_DOT;
1591 case XML_mediumDashDotDot:
1593 rBorderLine.LineStyle = BorderLineStyle::DASH_DOT_DOT;
1595 case XML_mediumDashed:
1597 rBorderLine.LineStyle = BorderLineStyle::DASHED;
1599 case XML_none: lclSetBorderLineWidth( rBorderLine,
API_LINE_NONE );
break;
1600 case XML_slantDashDot:
1602 rBorderLine.LineStyle = BorderLineStyle::FINE_DASHED;
1604 case XML_thick: lclSetBorderLineWidth( rBorderLine,
API_LINE_THICK );
break;
1605 case XML_thin: lclSetBorderLineWidth( rBorderLine,
API_LINE_THIN );
break;
1606 default: lclSetBorderLineWidth( rBorderLine,
API_LINE_NONE );
break;
1612 mnPattern( XML_none ),
1613 mbPattColorUsed( !bDxf ),
1614 mbFillColorUsed( !bDxf ),
1615 mbPatternUsed( !bDxf )
1623 static const sal_Int32 spnPatternIds[] = {
1624 XML_none, XML_solid, XML_mediumGray, XML_darkGray,
1625 XML_lightGray, XML_darkHorizontal, XML_darkVertical, XML_darkDown,
1626 XML_darkUp, XML_darkGrid, XML_darkTrellis, XML_lightHorizontal,
1627 XML_lightVertical, XML_lightDown, XML_lightUp, XML_lightGrid,
1628 XML_lightTrellis, XML_gray125, XML_gray0625 };
1651 static const sal_Int32 spnTypes[] = { XML_linear, XML_path };
1670 if( !rStrm.
isEof() && (fPosition >= 0.0) )
1676 mbTransparent( true ),
1683 sal_Int32 lclGetMixedColorComp( sal_Int32 nPatt, sal_Int32 nFill, sal_Int32 nAlpha )
1685 return ((nPatt - nFill) * nAlpha) / 0x80 + nFill;
1688 ::Color lclGetMixedColor( ::
Color nPattColor, ::
Color nFillColor, sal_Int32 nAlpha )
1691 lclGetMixedColorComp( nPattColor.
GetRed(), nFillColor.
GetRed(), nAlpha ),
1692 lclGetMixedColorComp( nPattColor.
GetGreen(), nFillColor.
GetGreen(), nAlpha ),
1693 lclGetMixedColorComp( nPattColor.
GetBlue(), nFillColor.
GetBlue(), nAlpha ) );
1714 OSL_ENSURE(
mxPatternModel,
"Fill::importFgColor - missing pattern data" );
1724 OSL_ENSURE(
mxPatternModel,
"Fill::importBgColor - missing pattern data" );
1745 OSL_ENSURE(
mxGradientModel,
"Fill::importColor - missing gradient data" );
1752 SAL_WARN_IF(
mbDxf,
"sc",
"Fill::importFill - unexpected conditional formatting flag" );
1754 if( nPattern == BIFF12_FILL_GRADIENT )
1757 sal_Int32 nStopCount;
1761 for( sal_Int32 nStop = 0; (nStop < nStopCount) && !rStrm.
isEof(); ++nStop )
1774 SAL_WARN_IF( !
mbDxf,
"sc",
"Fill::importDxfPattern - missing conditional formatting flag" );
1783 SAL_WARN_IF( !
mbDxf,
"sc",
"Fill::importDxfFgColor - missing conditional formatting flag" );
1792 SAL_WARN_IF( !
mbDxf,
"sc",
"Fill::importDxfBgColor - missing conditional formatting flag" );
1801 SAL_WARN_IF( !
mbDxf,
"sc",
"Fill::importDxfGradient - missing conditional formatting flag" );
1809 SAL_WARN_IF( !
mbDxf,
"sc",
"Fill::importDxfStop - missing conditional formatting flag" );
1846 sal_Int32 nAlpha = 0x80;
1849 case XML_darkDown: nAlpha = 0x40;
break;
1850 case XML_darkGray: nAlpha = 0x60;
break;
1851 case XML_darkGrid: nAlpha = 0x40;
break;
1852 case XML_darkHorizontal: nAlpha = 0x40;
break;
1853 case XML_darkTrellis: nAlpha = 0x60;
break;
1854 case XML_darkUp: nAlpha = 0x40;
break;
1855 case XML_darkVertical: nAlpha = 0x40;
break;
1856 case XML_gray0625: nAlpha = 0x08;
break;
1857 case XML_gray125: nAlpha = 0x10;
break;
1858 case XML_lightDown: nAlpha = 0x20;
break;
1859 case XML_lightGray: nAlpha = 0x20;
break;
1860 case XML_lightGrid: nAlpha = 0x38;
break;
1861 case XML_lightHorizontal: nAlpha = 0x20;
break;
1862 case XML_lightTrellis: nAlpha = 0x30;
break;
1863 case XML_lightUp: nAlpha = 0x20;
break;
1864 case XML_lightVertical: nAlpha = 0x20;
break;
1865 case XML_mediumGray: nAlpha = 0x40;
break;
1866 case XML_solid: nAlpha = 0x80;
break;
1888 GradientFillModel::ColorMap::const_iterator aIt = rModel.
maColors.begin();
1889 OSL_ENSURE( !aIt->second.isAuto(),
"Fill::finalizeImport - automatic gradient color" );
1891 if( ++aIt != rModel.
maColors.end() )
1893 OSL_ENSURE( !aIt->second.isAuto(),
"Fill::finalizeImport - automatic gradient color" );
1925 mbFontUsed( false ),
1926 mbNumFmtUsed( false ),
1927 mbAlignUsed( false ),
1928 mbProtUsed( false ),
1929 mbBorderUsed( false ),
1935 mbLatinNumFmtOnly(true),
1936 mpDefPattern(pDefPattern)
2049 ScResId(STR_STYLENAME_STANDARD), SfxStyleFamily::Para));
2056 if ( nNumFmtId >= 0 )
2070 bool bHasGap =
false;
2071 if (rAttrs.
maAttrs.empty() && nRow1 > 0)
2075 if (!rAttrs.
maAttrs.empty() && rAttrs.
maAttrs.back().nEndRow + 1 < nRow1)
2084 rAttrs.
maAttrs.push_back(aEntry);
2094 rAttrs.
maAttrs.push_back(aEntry);
2126 const ::ScPatternAttr&
2145 OSL_ENSURE(
mpStyleSheet,
"Xf::createPattern - no parentStyle created" );
2206 if( (pAlignment->getApiData().mnRotation) && pBorder->getApiData().hasAnyOuterBorder() )
2225 if( bAlwaysNew || !
mxFont )
2226 mxFont = std::make_shared<Font>( *
this, true );
2233 mxBorder = std::make_shared<Border>( *
this, true );
2239 if( bAlwaysNew || !
mxFill )
2240 mxFill = std::make_shared<Fill>( *
this, true );
2252 OUString aFmtCode = rAttribs.
getXString( XML_formatCode, OUString() );
2258 sal_Int32 nNumFmtId = -1;
2260 sal_uInt16 nRecCount;
2263 for( sal_uInt16 nRec = 0; !rStrm.
isEof() && (nRec < nRecCount); ++nRec )
2265 sal_uInt16 nSubRecId, nSubRecSize;
2266 sal_Int64 nRecEnd = rStrm.
tell();
2269 nRecEnd += nSubRecSize;
2272 case BIFF12_DXF_FILL_PATTERN:
createFill(
false )->importDxfPattern( rStrm );
break;
2273 case BIFF12_DXF_FILL_FGCOLOR:
createFill(
false )->importDxfFgColor( rStrm );
break;
2274 case BIFF12_DXF_FILL_BGCOLOR:
createFill(
false )->importDxfBgColor( rStrm );
break;
2275 case BIFF12_DXF_FILL_GRADIENT:
createFill(
false )->importDxfGradient( rStrm );
break;
2276 case BIFF12_DXF_FILL_STOP:
createFill(
false )->importDxfStop( rStrm );
break;
2277 case BIFF12_DXF_FONT_COLOR:
createFont(
false )->importDxfColor( rStrm );
break;
2278 case BIFF12_DXF_BORDER_TOP:
createBorder(
false )->importDxfBorder( XLS_TOKEN( top ), rStrm );
break;
2279 case BIFF12_DXF_BORDER_BOTTOM:
createBorder(
false )->importDxfBorder( XLS_TOKEN( bottom ), rStrm );
break;
2280 case BIFF12_DXF_BORDER_LEFT:
createBorder(
false )->importDxfBorder( XLS_TOKEN(
left ), rStrm );
break;
2281 case BIFF12_DXF_BORDER_RIGHT:
createBorder(
false )->importDxfBorder( XLS_TOKEN(
right ), rStrm );
break;
2282 case BIFF12_DXF_FONT_NAME:
createFont(
false )->importDxfName( rStrm );
break;
2283 case BIFF12_DXF_FONT_WEIGHT:
createFont(
false )->importDxfWeight( rStrm );
break;
2284 case BIFF12_DXF_FONT_UNDERLINE:
createFont(
false )->importDxfUnderline( rStrm );
break;
2285 case BIFF12_DXF_FONT_ESCAPEMENT:
createFont(
false )->importDxfEscapement( rStrm );
break;
2286 case BIFF12_DXF_FONT_ITALIC:
createFont(
false )->importDxfFlag( XML_i, rStrm );
break;
2287 case BIFF12_DXF_FONT_STRIKE:
createFont(
false )->importDxfFlag( XML_strike, rStrm );
break;
2288 case BIFF12_DXF_FONT_OUTLINE:
createFont(
false )->importDxfFlag( XML_outline, rStrm );
break;
2289 case BIFF12_DXF_FONT_SHADOW:
createFont(
false )->importDxfFlag( XML_shadow, rStrm );
break;
2290 case BIFF12_DXF_FONT_HEIGHT:
createFont(
false )->importDxfHeight( rStrm );
break;
2291 case BIFF12_DXF_FONT_SCHEME:
createFont(
false )->importDxfScheme( rStrm );
break;
2293 case BIFF12_DXF_NUMFMT_ID: nNumFmtId = rStrm.
readuInt16();
break;
2295 rStrm.
seek( nRecEnd );
2297 OSL_ENSURE( !rStrm.
isEof() && (rStrm.
getRemaining() == 0),
"Dxf::importDxf - unexpected remaining data" );
2304 mxFont->finalizeImport();
2312 if (
mxAlignment->getModel().mnTextDir == OOX_XF_TEXTDIR_RTL )
2322 mxFill->finalizeImport();
2328 mxFont->fillToItemSet(rSet,
false);
2338 mxFill->fillToItemSet(rSet);
2343 const char*
const sppcStyleNames[] =
2354 "Followed Hyperlink",
2400 const sal_Int32 snStyleNamesCount =
static_cast< sal_Int32
>(
SAL_N_ELEMENTS( sppcStyleNames ) );
2402 OUString lclGetBuiltinStyleName( sal_Int32 nBuiltinId,
const OUString& rName, sal_Int32 nLevel = 0 )
2404 OSL_ENSURE( (0 <= nBuiltinId) && (nBuiltinId < snStyleNamesCount),
"lclGetBuiltinStyleName - unknown built-in style" );
2405 OUStringBuffer aStyleName(
"Excel Built-in ");
2406 if( (0 <= nBuiltinId) && (nBuiltinId < snStyleNamesCount) && (sppcStyleNames[ nBuiltinId ] !=
nullptr) )
2407 aStyleName.appendAscii( sppcStyleNames[ nBuiltinId ] );
2408 else if( !rName.isEmpty() )
2409 aStyleName.append( rName );
2411 aStyleName.append( nBuiltinId );
2412 if( (nBuiltinId == OOX_STYLE_ROWLEVEL) || (nBuiltinId == OOX_STYLE_COLLEVEL) )
2413 aStyleName.append( nLevel );
2414 return aStyleName.makeStringAndClear();
2417 OUString lclCreateStyleName(
const CellStyleModel& rModel )
2419 return rModel.mbBuiltin ? lclGetBuiltinStyleName( rModel.mnBuiltinId, rModel.maName, rModel.mnLevel ) : rModel.
maName;
2447 mpStyleSheet( nullptr )
2490 bool bCreatePattern =
false;
2498 ScResId( STR_STYLENAME_STANDARD ), SfxStyleFamily::Para ) );
2499 OSL_ENSURE(
mpStyleSheet,
"CellStyle::createStyle - Default style not found" );
2500 bCreatePattern =
true;
2508 bCreatePattern =
true;
2531 CellStyleRef xCellStyle = std::make_shared<CellStyle>( *this );
2532 xCellStyle->importCellStyle( rAttribs );
2539 CellStyleRef xCellStyle = std::make_shared<CellStyle>( *this );
2540 xCellStyle->importCellStyle( rStrm );
2549 CellStyleNameMap aCellStyles;
2561 Reference< XStyle > xStyle( xStyleFamilyIA->getByIndex(
nIndex ), UNO_QUERY_THROW );
2562 if( !xStyle->isUserDefined() )
2565 aCellStyles[ xStyle->getName() ];
2581 OUString aStyleName = lclCreateStyleName( rModel );
2585 aCellStyles[ aStyleName ] = rxStyle;
2593 OUString aStyleName = lclCreateStyleName( rModel );
2595 if( aStyleName.getLength() > 0 )
2597 if( aCellStyles.find( aStyleName ) != aCellStyles.end() )
2598 aConflictNameStyles.push_back( rxStyle );
2600 aCellStyles[ aStyleName ] = rxStyle;
2607 for(
const auto& rxStyle : aConflictNameStyles )
2610 OUString aStyleName = lclCreateStyleName( rModel );
2611 OUString aUnusedName;
2614 aUnusedName = aStyleName + OUStringChar(
' ') + OUString::number( ++nIndex );
2616 while( !aCellStyles.try_emplace( aUnusedName, rxStyle ).second );
2655 OSL_ENSURE(
maStylesByXf.count( rModel.
mnXfId ) == 0,
"CellStyleBuffer::insertCellStyle - multiple styles with equal XF identifier" );
2667 pStyleSheet = rxCellStyle->getStyleSheet();
2675 rxCellStyle->createCellStyle();
2676 const OUString& rStyleName = rxCellStyle->getFinalStyleName();
2677 if( !rStyleName.isEmpty() )
2681 return lclGetBuiltinStyleName( OOX_STYLE_NORMAL, OUString() );
2685 mnAutoFormatId( 0 ),
2686 mbApplyNumFmt( false ),
2687 mbApplyFont( false ),
2688 mbApplyAlignment( false ),
2689 mbApplyBorder( false ),
2690 mbApplyFill( false ),
2691 mbApplyProtection( false )
2697 maPalette( rHelper ),
2698 maNumFmts( rHelper ),
2705 FontRef xFont = std::make_shared<Font>( *
this, false );
2722 BorderRef xBorder = std::make_shared<Border>( *
this, false );
2729 FillRef xFill = std::make_shared<Fill>( *
this, false );
2736 XfRef xXf = std::make_shared<Xf>( *this );
2743 XfRef xXf = std::make_shared<Xf>( *this );
2750 DxfRef xDxf = std::make_shared<Dxf>( *this );
2751 maDxfs.push_back( xDxf );
2757 DxfRef xDxf = std::make_shared<Dxf>( *this );
2843 xFont = pXf->getFont();
2851 xDefFont = pXf->getFont();
2855 OSL_ENSURE( xDefFont,
"StylesBuffer::getDefaultFont - no default font found" );
2868 return nBorderId1 == nBorderId2;
2874 return nFillId1 == nFillId2;
2895 if (!rStyleName.isEmpty())
2900 rStyleName =
"ConditionalStyle_" + OUString::number(nDxfId + 1);
2911 pDxf->fillToItemSet(rStyleItemSet);
2916 if (rStyleName.isEmpty())
2924 OUString rStyleName;
2928 rStyleName =
"ExtConditionalStyle_" + OUString::number(nDxfId + 1);
2939 pDxf->fillToItemSet(rStyleItemSet);
2943 if (rStyleName.isEmpty())
2952 pFont->fillToItemSet( rItemSet,
false, bSkipPoolDefs );
2963 pBorder->fillToItemSet( rItemSet, bSkipPoolDefs );
2969 pFill->fillToItemSet( rItemSet, bSkipPoolDefs );
Helper class to provide access to global workbook data.
::SvxFrameDirection GetScFrameDir() const
bool mbProtUsed
True = alignment used.
BorderRef const & createBorder(bool bAlwaysNew=true)
Creates a new empty border object.
void setAuto()
Sets the color to automatic.
double mfHeight
Windows font character set.
Contains all API cell alignment attributes.
constexpr TypedWhichId< SvxWeightItem > ATTR_CTL_FONT_WEIGHT(118)
sal_uInt32 mnScNumFmt
Calc item set.
PatternModelRef mxPatternModel
bool mbShrink
True = multi-line text.
bool mbAreaUsed
True = border data used.
::Color getPaletteColor(sal_Int32 nIndex) const
Returns the palette color with the specified index.
void importColor(sal_Int32 nElement, const AttributeList &rAttribs)
Sets color attributes for the border line with the passed element identifier.
bool mbColorUsed
True = font name/family/char set are used.
CellStyleRef importCellStyle(const AttributeList &rAttribs)
Appends and returns a new named cell style object.
constexpr TypedWhichId< SvxFontItem > EE_CHAR_FONTINFO_CJK(EE_CHAR_START+17)
const ::Color API_RGB_BLACK(0x000000)
const sal_Int32 OOX_COLOR_NOTETEXT
Note background color.
SC_DLLPUBLIC void ApplyStyleAreaTab(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, SCTAB nTab, const ScStyleSheet &rStyle)
Contains all XML font attributes, e.g.
const sal_Int16 API_LINE_THIN
bool mbHeightUsed
True = font scheme is used.
const sal_Int32 OOX_COLOR_WINDOWBACK
System window text color (BIFF5+).
ApiBorderLine maTLtoBR
Bottom line format.
FillRef createFill()
Creates a new empty fill object.
::Color getColor(sal_Int32 nPaletteIdx) const
Returns the RGB value of the color with the passed index.
void setBiffEscapement(sal_uInt16 nEscapement)
const sal_Int32 OOX_COLOR_WINDOWBACK3
System window text color (BIFF3-BIFF4).
sal_Int32 getDefaultXfId() const
Returns the XF identifier associated to the default cell style.
GradientFillModel()
Gradient colors.
Protection(const WorkbookHelper &rHelper)
std::shared_ptr< Fill > FillRef
::Color mnColor
Font descriptor (height in twips, weight in %).
void finalizeImport()
Final processing after import of all style settings.
OptValue< bool > getBool(sal_Int32 nAttrToken) const
constexpr TypedWhichId< SvxBoxItem > ATTR_BORDER(150)
void fillToItemSet(SfxItemSet &rItemSet, bool bSkipPoolDefs=false) const
Font(const WorkbookHelper &rHelper, bool bDxf)
sal_Int32 nextFreeNumFmtId()
ApiBorderLine maTop
Right line format.
static const VectorType::value_type * getVectorElement(const VectorType &rVector, sal_Int32 nIndex)
bool mbHidden
True = locked against editing.
void writeFontToItemSet(SfxItemSet &rItemSet, sal_Int32 nFontId, bool bSkipPoolDefs) const
double mfLeft
Rotation angle for type linear.
CellStyle(const WorkbookHelper &rHelper)
double mfTop
Right convergence for type path.
DxfVector maExtDxfs
List of differential cell styles.
CellStyleXfIdMap maStylesByXf
All user defined cell styles.
void importDxfHeight(SequenceInputStream &rStrm)
Imports the font height from a DXF record.
void importDxfEscapement(SequenceInputStream &rStrm)
Imports the font escapement style from a DXF record.
UnitConverter & getUnitConverter() const
Returns the measurement unit converter.
void writeToDoc(ScDocumentImport &rDoc, const ScRange &rRange)
OptValue< OUString > getXString(sal_Int32 nAttrToken) const
NumberFormatRef createNumFmt(sal_Int32 nNumFmtId, const OUString &rFmtCode)
Creates a number format.
void writeToPropertyMap(PropertyMap &rPropMap) const
Writes all font attributes to the passed property map.
void setBiffUnderline(sal_uInt16 nUnderline)
sal_Int32 mnStyle
Borderline color.
sal_Int32 mnFamily
Major/minor scheme font.
sal_Int16 mnIndent
CTL text direction.
::std::vector< ::Color > maColors
void setBiffHorAlign(sal_uInt8 nHorAlign)
Sets horizontal alignment from the passed BIFF data.
const FontModel & getDefaultFontModel() const
Returns the default font data for the current file type.
OptValue< sal_Int32 > getInteger(sal_Int32 nAttrToken) const
bool mbOutline
Escapement font height.
void importProtection(const AttributeList &rAttribs)
Sets all attributes from the protection element.
void importFont(SequenceInputStream &rStrm)
Imports the FONT record from the passed stream.
const sal_Int32 OOX_COLOR_WINDOWTEXT
System window background color (BIFF3-BIFF4).
constexpr TypedWhichId< SvxCrossedOutItem > ATTR_FONT_CROSSEDOUT(106)
Dxf(const WorkbookHelper &rHelper)
const sal_Int32 OOX_COLOR_CHBORDERAUTO
System window background color (BIFF8 charts).
void importDxfBorder(sal_Int32 nElement, SequenceInputStream &rStrm)
Imports a border from a DXF record from the passed stream.
constexpr TypedWhichId< SvxRotateModeItem > ATTR_ROTATE_MODE(136)
sal_Int32 mnNumFmtId
Index to font data list.
bool mbPattColorUsed
Pattern identifier (e.g. solid).
XfRef getCellXf(sal_Int32 nXfId) const
Returns the specified cell format object.
void importDxfColor(SequenceInputStream &rStrm)
Imports the font color from a DXF record.
css::uno::Any getAnyProperty(sal_Int32 nPropId) const
bool mbUsed
Border line style.
sal_Int32 mnVerAlign
Horizontal alignment.
exports com.sun.star. awt
void setBiff12Data(sal_uInt32 nFlags)
Sets the protection attributes from the passed BIFF12 XF record data.
const sal_Int8 API_ESCAPEHEIGHT_NONE
Subscript: lower characters automatically (magic value -101).
bool setProperty(sal_Int32 nPropId, Type &&rValue)
constexpr TypedWhichId< SvxPostureItem > EE_CHAR_ITALIC(EE_CHAR_START+7)
void importBgColor(const AttributeList &rAttribs)
Sets the background color from the bgColor element.
const SfxItemSet & GetItemSet() const
exports com.sun.star. table
Fill(const WorkbookHelper &rHelper, bool bDxf)
XfRef getStyleXf(sal_Int32 nXfId) const
Returns the specified style format object.
const sal_Int16 API_LINE_HAIR
sal_Int32 mnUnderline
Font height in points.
bool mbWeightUsed
True = escapement style is used.
value_type get(sal_Int32 nIndex) const
Reference< XStyle > maCellStyles[style_count]
const ApiProtectionData & getApiData() const
Returns the converted API protection data struct.
XfRef createCellXf()
Creates a new empty cell formatting object.
ApiBorderLine maBottom
Top line format.
const sal_Int32 EXC_POINTS_PER_INCH
const sal_Int16 API_ESCAPE_SUBSCRIPT
Superscript: raise characters automatically (magic value 101).
virtual ::Color getSchemeColor(sal_Int32 nToken) const override
Derived classes may implement to resolve a scheme color from the passed XML token identifier...
OptValue< double > getDouble(sal_Int32 nAttrToken) const
void setBiffVerAlign(sal_uInt8 nVerAlign)
Sets vertical alignment from the passed BIFF data.
CellStyleRef mxDefStyle
All cell styles, mapped by XF identifier.
constexpr TypedWhichId< SvxFontItem > ATTR_FONT(100)
#define STATIC_ARRAY_SELECT(array, index, def)
void SetLine(const editeng::SvxBorderLine *pNew)
void importDxfScheme(SequenceInputStream &rStrm)
Imports the font scheme from a DXF record.
OUString createDxfStyle(sal_Int32 nDxfId) const
Creates the style sheet described by the DXF with the passed identifier.
const sal_Int32 OOX_COLOR_BUTTONBACK
System window background color (BIFF5+).
rtl_TextEncoding getTextEncoding() const
Returns the text encoding used to import/export byte strings.
static bool equalFills(sal_Int32 nFillId1, sal_Int32 nFillId2)
Returns true, if the specified fills are equal.
CellStyleModel()
True = style not visible in GUI.
Xf(const WorkbookHelper &rHelper)
Accessor class to ScDocument.
CellStyleBuffer maCellStyles
List of cell styles.
void finalizeImport()
Final processing after import of all style settings.
ApiSolidFillData()
True = fill data is valid.
std::shared_ptr< Xf > XfRef
OUString createCellStyle(sal_Int32 nXfId) const
Creates the style sheet described by the style XF with the passed identifier.
Contains XML pattern fill attributes from the patternFill element.
XfVector maCellXfs
List of cell area fill objects.
std::shared_ptr< Dxf > DxfRef
bool mbBold
Escapement style.
StylesBuffer & getStyles() const
Returns all cell formatting objects read from the styles substream.
PatternFillModel(bool bDxf)
True = pattern used.
constexpr TypedWhichId< SvxFontHeightItem > EE_CHAR_FONTHEIGHT(EE_CHAR_START+2)
void fillToItemSet(SfxItemSet &rItemSet, bool bSkipPoolDefs=false) const
ApiSolidFillData maApiData
void importDxfFlag(sal_Int32 nElement, SequenceInputStream &rStrm)
Imports a font style flag from a DXF record.
Contains XML gradient fill attributes from the gradientFill element.
void fillToItemSet(SfxItemSet &rSet) const
void importPaletteColor(const AttributeList &rAttribs)
Appends a new color to the color palette.
void importNumFmt(const AttributeList &rAttribs)
Inserts a new number format code.
void importColor(const AttributeList &rAttribs, double fPosition)
Sets a color from the color element in a gradient fill.
NumberFormatsBuffer maNumFmts
List of font objects.
std::shared_ptr< Border > BorderRef
Contains API font name, family, and charset for a script type.
bool mbEscapementUsed
True = underline style is used.
sal_Int32 scaleToMm100(double fValue, Unit eUnit) const
Converts the passed value to 1/100 millimeters.
GraphicHelper & getGraphicHelper() const
SC_DLLPUBLIC ScDocumentPool * GetPool()
void setBiff12Data(sal_uInt32 nFlags)
Sets the alignment attributes from the passed BIFF12 XF record data.
const sal_Int32 OOX_COLOR_WINDOWTEXT3
ColorMap maColors
Bottom convergence for type path.
void setProperties(const css::uno::Sequence< OUString > &rPropNames, const css::uno::Sequence< css::uno::Any > &rValues)
sal_Int32 mnLevel
Identifier for builtin styles.
void forEachMem(FuncType pFunc) const
constexpr::Color COL_TRANSPARENT(0xFF, 0xFF, 0xFF, 0xFF)
sal_Int32 mnRotation
CTL text direction.
BorderModel(bool bDxf)
True = bottom-left to top-right on.
void importAttribs(sal_Int32 nElement, const AttributeList &rAttribs)
Sets font formatting attributes for the passed element.
CellStyleVector maBuiltinStyles
const ScPatternAttr * pPattern
Alignment maAlignment
Cell XF or style XF model data.
bool mbShrink
True = multi-line text.
void finalizeImport(bool bRTL)
Final processing after import of all style settings.
std::shared_ptr< CellStyle > CellStyleRef
static bool equalBorders(sal_Int32 nBorderId1, sal_Int32 nBorderId2)
Returns true, if the specified borders are equal.
ScPatternAttrPtr mpPattern
const ::Color API_RGB_TRANSPARENT(0xffffffff)
constexpr TypedWhichId< SvxFontItem > EE_CHAR_FONTINFO_CTL(EE_CHAR_START+18)
BorderVector maBorders
List of all number format codes.
DxfVector maDxfs
All built-in and user defined cell styles.
void importDxfBgColor(SequenceInputStream &rStrm)
Imports the background color from a DXF record.
bool mbUsed
True = transparent area.
void importDxfUnderline(SequenceInputStream &rStrm)
Imports the font underline style from a DXF record.
bool hasAttribute(sal_Int32 nAttrToken) const
constexpr TypedWhichId< SvxJustifyMethodItem > ATTR_HOR_JUSTIFY_METHOD(130)
::oox::core::FilterBase & getBaseFilter() const
Returns the base filter object (base class of all filters).
AttrList(const ScPatternAttr *pDefPatternAttr)
NumberFormatRef mxNumFmt
Font data.
bool mbStrikeoutUsed
True = font posture (italic) is used.
void setBiffWeight(sal_uInt16 nWeight)
ApiFontUsedFlags maUsedFlags
const sal_Int32 OOX_COLOR_CHWINDOWBACK
System window text color (BIFF8 charts).
void insertCellStyle(CellStyleRef const &xCellStyle)
Inserts the passed cell style object into the internal maps.
Degree100 mnRotation
Normal or stacked text.
const sal_uInt8 WINDOWS_CHARSET_DEFAULT
SC_DLLPUBLIC void ResetParent()
void importBorder(const AttributeList &rAttribs)
Sets global border attributes from the border element.
XfRef createStyleXf()
Creates a new empty style formatting object.
Contains cell fill attributes, either a pattern fill or a gradient fill.
FillRef const & createFill(bool bAlwaysNew=true)
Creates a new empty fill object.
BorderLineModel maBottom
Top line format.
sal_Int16 mnEscapement
Font color.
sal_uInt8 GetBlue() const
void applyPatternToAttrList(AttrList &rAttrs, SCROW nRow1, SCROW nRow2, sal_Int32 nForceScNumFmt)
sal_Int32 mnXfId
Cell style name.
constexpr TypedWhichId< SvxContourItem > EE_CHAR_OUTLINE(EE_CHAR_START+8)
ExcelGraphicHelper(const WorkbookHelper &rHelper)
ProtectionModel()
True = formula is hidden.
constexpr TypedWhichId< SvxWeightItem > EE_CHAR_WEIGHT(EE_CHAR_START+4)
XfModel maModel
Calc number format.
void SetColor(const Color &rCol)
bool getFlag(Type nBitField, Type nMask)
sal_Int16 mnWritingMode
Text rotation angle.
void importStyle(sal_Int32 nElement, const AttributeList &rAttribs)
Sets border attributes for the border line with the passed element identifier.
css::table::CellOrientation meOrientation
AlignmentModel()
True = justify last line in block text.
constexpr TypedWhichId< SvxUnderlineItem > ATTR_FONT_UNDERLINE(104)
#define SAL_N_ELEMENTS(arr)
virtual sal_Int64 tell() const override
Contains attributes of a cell style, e.g.
sal_Int32 meRotationRef
Cell protection data.
constexpr TypedWhichId< SvxLineItem > ATTR_BORDER_TLBR(141)
exports com.sun.star. text
::ScStyleSheet * getCellStyleSheet(sal_Int32 nXfId) const
Color maFillColor
Pattern foreground color.
constexpr TypedWhichId< SvxShadowedItem > EE_CHAR_SHADOW(EE_CHAR_START+9)
BorderRef mxBorder
Protection data.
FontVector maFonts
Color palette.
void importGradientFill(const AttributeList &rAttribs)
Sets attributes of a gradientFill element.
sal_Int32 mnFillId
Index to list of cell borders.
bool mbUnderlineUsed
True = font height is used.
std::shared_ptr< NumberFormat > NumberFormatRef
::SvxCellVerJustify GetScVerAlign() const
bool mbStrikeout
True = italic characters.
constexpr TypedWhichId< SvxPostureItem > ATTR_FONT_POSTURE(103)
constexpr TypedWhichId< SvxShadowedItem > ATTR_FONT_SHADOWED(108)
ApiScriptFontName maAsianFont
Font name for latin scripts.
bool mbBorderUsed
Diagonal bottom-left to top-right line format.
const ::Color API_RGB_WHITE(0xFFFFFF)
constexpr TypedWhichId< SvxFontHeightItem > ATTR_CJK_FONT_HEIGHT(112)
bool needsRichTextFormat() const
Returns true, if the font requires rich text formatting in Calc.
ApiFontUsedFlags(bool bAllUsed)
True = shadow style is used.
::FontFamily lcl_getFontFamily(sal_Int32 nFamily)
void setBiffPattern(sal_Int32 nPattern)
Sets the passed BIFF pattern identifier.
SequenceInputStream & operator>>(SequenceInputStream &rStrm, BinAddress &orPos)
BorderRef getBorder(sal_Int32 nBorderId) const
Returns the specified border object.
void setPaletteClr(sal_Int32 nPaletteIdx)
void importColor(const AttributeList &rAttribs)
Imports the color from the passed attribute list.
bool mbDiagUsed
True = left/right/top/bottom line format used.
#define PALETTE_EGA_COLORS_DARK
Standard EGA colors), dark.
sal_Int16 mnFamily
Font name.
BorderLineModel maRight
Left line format.
std::shared_ptr< Alignment > mxAlignment
Number format data.
const ScPatternAttr * mpDefPattern
const css::uno::Reference< css::sheet::XSpreadsheetDocument > & getDocument() const
Returns a reference to the source/target spreadsheet document model.
bool mbDiagTLtoBR
Diagonal line format.
css::uno::Reference< css::container::XNameContainer > getCellStyleFamily() const
Returns the cell styles container from the Calc document.
constexpr TypedWhichId< SvxVerJustifyItem > ATTR_VER_JUSTIFY(132)
::Color getColor(const GraphicHelper &rGraphicHelper,::Color nPhClr=API_RGB_TRANSPARENT) const
sal_Int8 mnEscapeHeight
Escapement style.
FontRef getFont(sal_Int32 nFontId) const
Returns the specified font object.
void writeFillToItemSet(SfxItemSet &rItemSet, sal_Int32 nFillId, bool bSkipPoolDefs) const
Writes the fill attributes of the specified fill data to the passed property map. ...
const FontModel & getDefaultFontModel() const
Returns the model of the default application font (used in the "Normal" cell style).
static OUString readString(SequenceInputStream &rStrm, bool b32BitLen=true)
Reads a BIFF12 string with leading 16-bit or 32-bit length field.
void importDxf(SequenceInputStream &rStrm)
Imports the DXF record from the passed stream.
OUString getDefaultStyleName() const
Returns the default style sheet for unused cells.
XfModel()
True = area data used.
sal_Int32 mnIndent
Text rotation angle.
css::table::CellHoriJustify meHorJustify
ScDocument & getScDocument()
bool mbItalic
True = bold characters.
void importDxfFgColor(SequenceInputStream &rStrm)
Imports the pattern color from a DXF record.
bool mbOutlineUsed
True = strike out style is used.
bool mbFontUsed
True = cell XF, false = style XF.
OUString ScResId(const char *pId)
bool mbBorderUsed
True = cell protection used.
constexpr TypedWhichId< SvxWeightItem > EE_CHAR_WEIGHT_CJK(EE_CHAR_START+21)
void finalizeImport()
Final processing after import of all style settings.
std::shared_ptr< Font > FontRef
SC_DLLPUBLIC void ApplyPatternAreaTab(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, SCTAB nTab, const ScPatternAttr &rAttr)
ApiFontData()
True = shadowed chgaracters.
bool operator==(const ApiAlignmentData &rLeft, const ApiAlignmentData &rRight)
const ApiAlignmentData & getApiData() const
Returns the converted API alignment data struct.
constexpr TypedWhichId< SvxPostureItem > EE_CHAR_ITALIC_CTL(EE_CHAR_START+24)
sal_Int32 mnFontId
Index to parent style XF.
void finalizeImport(const OUString &rFinalName)
Stores the passed final style name and creates the cell style, if it is user-defined or modified buil...
sal_Int32 mnCharSet
Font family.
ApiScriptFontName maCmplxFont
Font name for east-asian scripts.
Reference< XComponentContext > getComponentContext(Reference< XMultiServiceFactory > const &factory)
constexpr TypedWhichId< SvxFontHeightItem > ATTR_CTL_FONT_HEIGHT(117)
NumberFormatRef importNumFmt(const AttributeList &rAttribs)
Inserts a new number format code.
constexpr TypedWhichId< SvxFontItem > ATTR_CTL_FONT(116)
void writeBorderToItemSet(SfxItemSet &rItemSet, sal_Int32 nBorderId, bool bSkipPoolDefs) const
Writes the specified number format to the passed property map.
double mfRight
Left convergence for type path.
::ScStyleSheet * mpStyleSheet
Rotation reference dependent on border.
#define PALETTE_EGA_COLORS_LIGHT
Standard EGA colors, bright.
void importDxfName(SequenceInputStream &rStrm)
Imports the font name from a DXF record.
bool mbShadow
True = outlined characters.
FontRef getFontFromCellXf(sal_Int32 nXfId) const
Returns the font object of the specified cell XF.
enumrange< T >::Iterator end(enumrange< T >)
sal_Int32 mnPattern
Background fill color.
void SetStyleSheet(ScStyleSheet *pNewStyle, bool bClearDirectFormat=true)
void fillToItemSet(SfxItemSet &rItemSet, bool bSkipPoolDefs=false) const
void setBiffStyle(sal_Int32 nLineStyle)
Sets the passed BIFF line style.
bool isDefaultStyle() const
Returns true, if this style represents the default document cell style.
css::awt::FontDescriptor maDesc
Font name for complex scripts.
void importCellStyle(const AttributeList &rAttribs)
Imports passed attributes from the cellStyle element.
FontRef const & createFont(bool bAlwaysNew=true)
Creates a new empty font object.
Digit width of document default font.
GradientModelRef mxGradientModel
void setBiff12Scheme(sal_uInt8 nScheme)
void importColorId(SequenceInputStream &rStrm)
Imports a 32-bit palette color identifier from the passed BIFF12 stream.
OUString createCellStyle(sal_Int32 nXfId) const
Creates the style sheet described by the style XF with the passed identifier.
constexpr TypedWhichId< SvxFontItem > ATTR_CJK_FONT(111)
void clearTransformations()
constexpr TypedWhichId< SvxBrushItem > ATTR_BACKGROUND(148)
bool mbOutline
True = Strike out characters.
void readGradientStop(SequenceInputStream &rStrm, bool bDxf)
Reads BIFF12 gradient stop settings from a FILL or DXF record.
void setTheme(sal_Int32 nThemeIdx, double fTint=0.0)
Sets the color to the passed theme index.
sal_uInt8 GetGreen() const
double mfAngle
Gradient type, linear or path.
void finalizeImport()
Final processing after import of all style settings.
const sal_Int16 API_LINE_MEDIUM
void setSchemeClr(sal_Int32 nToken)
std::map< OUString, sal_Int32 > CellStyleNameMap
constexpr TypedWhichId< SvxFrameDirectionItem > ATTR_WRITINGDIR(138)
void fillToItemSet(SfxItemSet &rItemSet, bool bEditEngineText, bool bSkipPoolDefs=false) const
const SfxPoolItem * Put(const SfxPoolItem &rItem, sal_uInt16 nWhich)
size_t mnAppendIndex
List of RGB values.
constexpr TypedWhichId< SvxCrossedOutItem > EE_CHAR_STRIKEOUT(EE_CHAR_START+6)
FillRef mxFill
Border data.
void fillToItemSet(SfxItemSet &rItemSet, bool bSkipPoolDefs=false) const
ApiBorderData()
True = diagonal line format used.
sal_Int64 getRemaining() const
void setSrgbClr(sal_Int32 nRgb)
constexpr TypedWhichId< SvxJustifyMethodItem > ATTR_VER_JUSTIFY_METHOD(133)
constexpr TypedWhichId< SvxPostureItem > ATTR_CTL_FONT_POSTURE(119)
Protection maProtection
Cell alignment data.
OptValue< sal_Int32 > getIntegerHex(sal_Int32 nAttrToken) const
virtual ::Color getPaletteColor(sal_Int32 nPaletteIdx) const override
Derived classes may implement to resolve a palette index to an RGB color.
mapped_type get(key_type nKey) const
void importDxfWeight(SequenceInputStream &rStrm)
Imports the font weight from a DXF record.
void finalizeImport()
Final processing after import of all style settings.
FillVector maFills
List of cell border objects.
void finalizeImport()
Final processing after import of all style settings.
bool hasAnyOuterBorder() const
Returns true, if any of the outer border lines is visible.
bool convertBorderLine(css::table::BorderLine2 &rBorderLine, const BorderLineModel &rModel)
Converts border line data to an API struct, returns true, if the line is marked as used...
virtual void seek(sal_Int64 nPos) override
const sal_Int16 API_LINE_THICK
DxfStyleMap maDxfStyles
List of differential extlst cell styles.
Contains XML attributes of a single border line.
bool mbWrapText
Indentation.
sal_uInt32 writeNumFmtToItemSet(SfxItemSet &rItemSet, sal_uInt32 nNumFmtId, bool bSkipPoolDefs) const
constexpr TypedWhichId< SvxFontHeightItem > EE_CHAR_FONTHEIGHT_CTL(EE_CHAR_START+20)
#define SAL_WARN_IF(condition, area, stream)
ApiBorderLine maBLtoTR
Diagonal top-left to bottom-right line format.
BorderLineModel(bool bDxf)
True = line format used.
void writeToPropertySet(PropertySet &rPropSet) const
Writes all font attributes to the passed property set.
sal_Int32 mnTextDir
Vertical alignment.
bool mbSchemeUsed
True = font color is used.
double mfBottom
Top convergence for type path.
constexpr TypedWhichId< SvxEscapementItem > EE_CHAR_ESCAPEMENT(EE_CHAR_START+10)
sal_Int32 mnEscapement
Underline style.
bool mbCustom
True = builtin style.
void importDxfGradient(SequenceInputStream &rStrm)
Imports gradient settings from a DXF record.
bool mbHidden
True = customized builtin style.
VCL_DLLPUBLIC float ConvertFontWeight(FontWeight eWeight)
ApiAlignmentData maApiData
Alignment model data.
const sal_Int16 API_ESCAPE_SUPERSCRIPT
No escapement.
virtual SfxStyleSheetBase & Make(const OUString &, SfxStyleFamily eFam, SfxStyleSearchBits nMask=SfxStyleSearchBits::All) override
constexpr TypedWhichId< SvxWeightItem > EE_CHAR_WEIGHT_CTL(EE_CHAR_START+22)
constexpr TypedWhichId< SvxColorItem > EE_CHAR_COLOR(EE_CHAR_START+0)
constexpr TypedWhichId< SvxPostureItem > ATTR_CJK_FONT_POSTURE(114)
void importDxfStop(SequenceInputStream &rStrm)
Imports gradient stop settings from a DXF record.
bool mbJustLastLine
True = shrink to fit cell size.
ApiScriptFontName maLatinFont
ApiCellProtection maCellProt
void importProtection(const AttributeList &rAttribs)
Sets all attributes from the protection element.
virtual SC_DLLPUBLIC SfxItemSet & GetItemSet() override
bool mbCreated
Final style name used in API.
Alignment(const WorkbookHelper &rHelper)
const T & Put(std::unique_ptr< T > xItem, sal_uInt16 nWhich=0)
ApiBorderLine maRight
Left line format.
CellStyleVector maUserStyles
All built-in cell styles.
constexpr TypedWhichId< SvxWeightItem > ATTR_FONT_WEIGHT(102)
sal_Int32 mnVerJustifyMethod
Vertical alignment.
constexpr TypedWhichId< SvxHorJustifyItem > ATTR_HOR_JUSTIFY(129)
FontRef createFont()
Creates a new empty font object.
sal_Int16 mnTextEnc
Font family.
bool mbPatternUsed
True = background fill color used.
ApiProtectionData maApiData
Protection model data.
Represents a cell format or a cell style (called XF, extended format).
void setIndexed(sal_Int32 nPaletteIdx, double fTint=0.0)
Sets the color to the passed palette index.
void setBiffHeight(sal_uInt16 nHeight)
void importPatternFill(const AttributeList &rAttribs)
Sets attributes of a patternFill element.
const sal_Int16 API_ESCAPE_NONE
const sal_Int8 API_ESCAPEHEIGHT_DEFAULT
Relative character height if not escaped.
constexpr TypedWhichId< SvxFontItem > EE_CHAR_FONTINFO(EE_CHAR_START+1)
FontRef getFont() const
Returns the referred font object.
void addExcelTintTransformation(double fTint)
Border(const WorkbookHelper &rHelper, bool bDxf)
SC_DLLPUBLIC ScStyleSheetPool * GetStyleSheetPool() const
bool mbPostureUsed
True = font weight (boldness) is used.
BorderLineModel maTop
Right line format.
Contains all API cell protection attributes.
ApiScriptFontName()
Font text encoding.
bool mbAlignUsed
True = number format used.
void importFill(SequenceInputStream &rStrm)
Imports the FILL record from the passed stream.
Contains all data for a cell format or cell style.
const ::ScPatternAttr & createPattern(bool bSkipPoolDefs=false)
OUString createExtDxfStyle(sal_Int32 nDxfId) const
constexpr TypedWhichId< SvxPostureItem > EE_CHAR_ITALIC_CJK(EE_CHAR_START+23)
void importAlignment(const AttributeList &rAttribs)
Sets all attributes from the alignment element.
void importPaletteColor(const AttributeList &rAttribs)
Appends a new color from the passed attributes.
constexpr TypedWhichId< SvxUnderlineItem > EE_CHAR_UNDERLINE(EE_CHAR_START+5)
void appendColor(::Color nRGBValue)
Appends the passed color.
void importDxfPattern(SequenceInputStream &rStrm)
Imports the fill pattern from a DXF record.
BorderLineModel maDiagonal
Bottom line format.
static bool isLatinScript(const ScPatternAttr &rPat, ScDocument &rDoc)
Check if the attribute pattern has a number format that only produces latin script output...
ThemeBuffer & getTheme() const
Returns the office theme object read from the theme substorage.
BorderLineModel * getBorderLine(sal_Int32 nElement)
Returns the border line struct specified by the passed XML token identifier.
FontModel()
True = shadowed chgaracters.
const sal_Int32 OOX_COLOR_FONTAUTO
Note text color.
bool mbShadowUsed
True = outline style is used.
CellStyleRef importCellStyle(const AttributeList &rAttribs)
Appends and returns a new named cell style object.
constexpr TypedWhichId< SvxFontHeightItem > EE_CHAR_FONTHEIGHT_CJK(EE_CHAR_START+19)
bool mbBuiltin
Level for builtin column/row styles.
sal_Int32 mnHorJustifyMethod
Horizontal alignment.
DxfRef createDxf()
Creates a new empty differential formatting object.
void finalizeImport()
Final processing after import of all style settings.
void writeCellXfToDoc(ScDocumentImport &rDoc, const ScRange &rRange, sal_Int32 nXfId) const
Writes the cell formatting attributes of the specified XF to the passed property set.
void importAlignment(const AttributeList &rAttribs)
Sets all attributes from the alignment element.
if(!pCandidateA->getEnd().equal(pCandidateB->getStart()))
OUString getDefaultStyleName() const
Returns the default style sheet for unused cells.
XfVector maStyleXfs
List of cell formats.
::ScStyleSheet * getCellStyleSheet(sal_Int32 nXfId) const
::ScStyleSheet * mpStyleSheet
True = style sheet created.
::Color getColorByToken(sal_Int32 nToken) const
Returns the theme color with the specified token identifier.
BorderRef createBorder()
Creates a new empty border object.
bool mbNumFmtUsed
True = font index used.
bool mbDiagBLtoTR
True = top-left to bottom-right on.
void importFgColor(const AttributeList &rAttribs)
Sets the pattern color from the fgColor element.
FontRef getDefaultFont() const
Returns the default application font (used in the "Normal" cell style).
const sal_Int32 OOX_COLOR_NOTEBACK
Automatic frame border (BIFF8 charts).
StylesBuffer(const WorkbookHelper &rHelper)
bool mbWrapText
Indentation.
sal_Int32 mnScheme
Font color.
sal_Int32 mnBuiltinId
Formatting for this cell style.
void finalizeImport()
Final processing after import of all style settings.
virtual SfxStyleSheetBase * Find(const OUString &, SfxStyleFamily eFam, SfxStyleSearchBits n=SfxStyleSearchBits::All)
ColorPalette(const WorkbookHelper &rHelper)
Constructs the color palette with predefined color values.
constexpr TypedWhichId< SvxColorItem > ATTR_FONT_COLOR(109)
::Color getSystemColor(sal_Int32 nToken,::Color nDefaultRgb=API_RGB_TRANSPARENT) const
bool isCellXf() const
Returns true, if the XF is a cell XF, and false, if it is a style XF.
sal_Int32 mnBorderId
Index to number format list.
constexpr TypedWhichId< SvxWeightItem > ATTR_CJK_FONT_WEIGHT(113)
constexpr TypedWhichId< SvxFontHeightItem > ATTR_FONT_HEIGHT(101)
CellStyleBuffer(const WorkbookHelper &rHelper)
bool mbTransparent
Fill color.
constexpr TypedWhichId< SvxLineItem > ATTR_BORDER_BLTR(142)
constexpr TypedWhichId< SvxContourItem > ATTR_FONT_CONTOUR(107)
const OUString * GetStyleName() const
std::shared_ptr< Protection > mxProtection
Alignment data.
void setRgb(::Color nRgbValue, double fTint=0.0)
Sets the color to the passed RGB value.
ApiAlignmentData()
True = shrink to fit cell size.
bool mbShadow
True = outlined characters.
bool mbFillColorUsed
True = pattern foreground color used.
static bool LineToSvxLine(const css::table::BorderLine &rLine, editeng::SvxBorderLine &rSvxLine, bool bConvert)
::SvxCellHorJustify GetScHorAlign() const
OptValue< sal_Int32 > getToken(sal_Int32 nAttrToken) const
void readGradient(SequenceInputStream &rStrm)
Reads BIFF12 gradient settings from a FILL or DXF record.
void createCellStyle()
Creates the style sheet in the document described by this cell style object.
void importXf(const AttributeList &rAttribs, bool bCellXf)
Sets all attributes from the xf element.
void finalizeImport()
Final processing after import of all style settings.
bool isBuiltin() const
Returns true, if this style is a builtin style.
const sal_Int32 OOX_COLOR_CHWINDOWTEXT
System button background color (face color).
bool mbCellXf
Index to list of cell areas.
std::vector< ScAttrEntry > maAttrs
void SetLine(const editeng::SvxBorderLine *pNew, SvxBoxItemLine nLine)
const sal_Int16 API_LINE_NONE
Font auto color (system window text color).