summaryrefslogtreecommitdiff
path: root/editeng/source/items
diff options
context:
space:
mode:
Diffstat (limited to 'editeng/source/items')
-rw-r--r--editeng/source/items/textitem.cxx65
1 files changed, 41 insertions, 24 deletions
diff --git a/editeng/source/items/textitem.cxx b/editeng/source/items/textitem.cxx
index 2c787d34b171..72b982b73ff9 100644
--- a/editeng/source/items/textitem.cxx
+++ b/editeng/source/items/textitem.cxx
@@ -1352,24 +1352,46 @@ bool SvxContourItem::GetPresentation
return true;
}
+SvxThemeColor::SvxThemeColor()
+ : maThemeIndex(-1),
+ mnLumMod(10000),
+ mnLumOff(0)
+{
+}
+
+bool SvxThemeColor::operator==(const SvxThemeColor& rThemeColor) const
+{
+ return maThemeIndex == rThemeColor.maThemeIndex &&
+ mnLumMod == rThemeColor.mnLumMod &&
+ mnLumOff == rThemeColor.mnLumOff;
+}
+
+void SvxThemeColor::dumpAsXml(xmlTextWriterPtr pWriter) const
+{
+ (void)xmlTextWriterStartElement(pWriter, BAD_CAST("SvxThemeColor"));
+
+ (void)xmlTextWriterWriteAttribute(pWriter, BAD_CAST("theme-index"),
+ BAD_CAST(OString::number(maThemeIndex).getStr()));
+ (void)xmlTextWriterWriteAttribute(pWriter, BAD_CAST("lum-mod"),
+ BAD_CAST(OString::number(mnLumMod).getStr()));
+ (void)xmlTextWriterWriteAttribute(pWriter, BAD_CAST("lum-off"),
+ BAD_CAST(OString::number(mnLumOff).getStr()));
+
+ (void)xmlTextWriterEndElement(pWriter);
+}
+
// class SvxColorItem ----------------------------------------------------
SvxColorItem::SvxColorItem( const sal_uInt16 nId ) :
SfxPoolItem(nId),
mColor( COL_BLACK ),
- maThemeIndex(-1),
- maTintShade(0),
- mnLumMod(10000),
- mnLumOff(0)
+ maTintShade(0)
{
}
SvxColorItem::SvxColorItem( const Color& rCol, const sal_uInt16 nId ) :
SfxPoolItem( nId ),
mColor( rCol ),
- maThemeIndex(-1),
- maTintShade(0),
- mnLumMod(10000),
- mnLumOff(0)
+ maTintShade(0)
{
}
@@ -1383,10 +1405,8 @@ bool SvxColorItem::operator==( const SfxPoolItem& rAttr ) const
const SvxColorItem& rColorItem = static_cast<const SvxColorItem&>(rAttr);
return mColor == rColorItem.mColor &&
- maThemeIndex == rColorItem.maThemeIndex &&
- maTintShade == rColorItem.maTintShade &&
- mnLumMod == rColorItem.mnLumMod &&
- mnLumOff == rColorItem.mnLumOff;
+ maThemeColor == rColorItem.maThemeColor &&
+ maTintShade == rColorItem.maTintShade;
}
bool SvxColorItem::QueryValue( uno::Any& rVal, sal_uInt8 nMemberId ) const
@@ -1407,7 +1427,7 @@ bool SvxColorItem::QueryValue( uno::Any& rVal, sal_uInt8 nMemberId ) const
}
case MID_COLOR_THEME_INDEX:
{
- rVal <<= maThemeIndex;
+ rVal <<= maThemeColor.GetThemeIndex();
break;
}
case MID_COLOR_TINT_OR_SHADE:
@@ -1417,12 +1437,12 @@ bool SvxColorItem::QueryValue( uno::Any& rVal, sal_uInt8 nMemberId ) const
}
case MID_COLOR_LUM_MOD:
{
- rVal <<= mnLumMod;
+ rVal <<= maThemeColor.GetLumMod();
break;
}
case MID_COLOR_LUM_OFF:
{
- rVal <<= mnLumOff;
+ rVal <<= maThemeColor.GetLumOff();
break;
}
default:
@@ -1460,7 +1480,7 @@ bool SvxColorItem::PutValue( const uno::Any& rVal, sal_uInt8 nMemberId )
sal_Int16 nIndex = -1;
if (!(rVal >>= nIndex))
return false;
- maThemeIndex = nIndex;
+ maThemeColor.SetThemeIndex(nIndex);
}
break;
case MID_COLOR_TINT_OR_SHADE:
@@ -1476,7 +1496,7 @@ bool SvxColorItem::PutValue( const uno::Any& rVal, sal_uInt8 nMemberId )
sal_Int16 nLumMod = -1;
if (!(rVal >>= nLumMod))
return false;
- mnLumMod = nLumMod;
+ maThemeColor.SetLumMod(nLumMod);
}
break;
case MID_COLOR_LUM_OFF:
@@ -1484,7 +1504,7 @@ bool SvxColorItem::PutValue( const uno::Any& rVal, sal_uInt8 nMemberId )
sal_Int16 nLumOff = -1;
if (!(rVal >>= nLumOff))
return false;
- mnLumOff = nLumOff;
+ maThemeColor.SetLumOff(nLumOff);
}
break;
default:
@@ -1521,17 +1541,14 @@ void SvxColorItem::dumpAsXml(xmlTextWriterPtr pWriter) const
std::stringstream ss;
ss << mColor;
(void)xmlTextWriterWriteAttribute(pWriter, BAD_CAST("value"), BAD_CAST(ss.str().c_str()));
- (void)xmlTextWriterWriteAttribute(pWriter, BAD_CAST("theme-index"),
- BAD_CAST(OString::number(maThemeIndex).getStr()));
- (void)xmlTextWriterWriteAttribute(pWriter, BAD_CAST("lum-mod"),
- BAD_CAST(OString::number(mnLumMod).getStr()));
- (void)xmlTextWriterWriteAttribute(pWriter, BAD_CAST("lum-off"),
- BAD_CAST(OString::number(mnLumOff).getStr()));
OUString aStr;
IntlWrapper aIntlWrapper(SvtSysLocale().GetUILanguageTag());
GetPresentation( SfxItemPresentation::Complete, MapUnit::Map100thMM, MapUnit::Map100thMM, aStr, aIntlWrapper);
(void)xmlTextWriterWriteAttribute(pWriter, BAD_CAST("presentation"), BAD_CAST(OUStringToOString(aStr, RTL_TEXTENCODING_UTF8).getStr()));
+
+ maThemeColor.dumpAsXml(pWriter);
+
(void)xmlTextWriterEndElement(pWriter);
}