summaryrefslogtreecommitdiff
path: root/sc/source
diff options
context:
space:
mode:
authorSascha Ballach <sab@openoffice.org>2002-04-05 05:43:44 +0000
committerSascha Ballach <sab@openoffice.org>2002-04-05 05:43:44 +0000
commit4a5ad268a736a95338a8f3545e4ae9c70e62675b (patch)
treeb4e719a91113cc96efdc7dd4f9e6e78f8118954e /sc/source
parent5b7dd675bc65d1d5f0b33022536611a4f973003e (diff)
#98410#; add style:glyph-orientation-vertical to represent vertical writing in calc
Diffstat (limited to 'sc/source')
-rw-r--r--sc/source/filter/xml/xmlstyle.cxx95
-rw-r--r--sc/source/filter/xml/xmlstyle.hxx14
2 files changed, 83 insertions, 26 deletions
diff --git a/sc/source/filter/xml/xmlstyle.cxx b/sc/source/filter/xml/xmlstyle.cxx
index e12cecffdfa3..483fe29da8f0 100644
--- a/sc/source/filter/xml/xmlstyle.cxx
+++ b/sc/source/filter/xml/xmlstyle.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: xmlstyle.cxx,v $
*
- * $Revision: 1.43 $
+ * $Revision: 1.44 $
*
- * last change: $Author: sab $ $Date: 2001-11-16 15:36:01 $
+ * last change: $Author: sab $ $Date: 2002-04-05 06:43:44 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -135,6 +135,7 @@ using namespace ::xmloff::token;
const XMLPropertyMapEntry aXMLScCellStylesProperties[] =
{
+ MAP( "AsianVerticalMode", XML_NAMESPACE_STYLE, XML_GLYPH_ORIENTATION_VERTICAL, XML_SC_TYPE_VERTICAL, 0),
MAP( "BottomBorder", XML_NAMESPACE_FO, XML_BORDER_BOTTOM, XML_TYPE_BORDER, CTF_SC_BOTTOMBORDER ),
MAP( "BottomBorder", XML_NAMESPACE_STYLE, XML_BORDER_LINE_WIDTH_BOTTOM, XML_TYPE_BORDER_WIDTH, CTF_SC_BOTTOMBORDERWIDTH ),
MAP( "CellBackColor", XML_NAMESPACE_FO, XML_BACKGROUND_COLOR, XML_TYPE_COLORTRANSPARENT|MID_FLAG_MULTI_PROPERTY|MID_FLAG_MERGE_ATTRIBUTE, 0 ),
@@ -783,6 +784,11 @@ const XMLPropertyHandler* XMLScPropHdlFactory::GetPropertyHandler( sal_Int32 nTy
pHdl = new XmlScPropHdl_IsEqual;
}
break;
+ case XML_SC_TYPE_VERTICAL :
+ {
+ pHdl = new XmlScPropHdl_Vertical;
+ }
+ break;
}
if(pHdl)
@@ -1535,11 +1541,7 @@ sal_Bool XmlScPropHdl_IsTextWrapped::equals(
const ::com::sun::star::uno::Any& r1,
const ::com::sun::star::uno::Any& r2 ) const
{
- sal_Bool aBreak1, aBreak2;
-
- if((r1 >>= aBreak1) && (r2 >>= aBreak2))
- return (aBreak1 == aBreak2);
- return sal_False;
+ return (::cppu::any2bool(r1) == ::cppu::any2bool(r2));
}
sal_Bool XmlScPropHdl_IsTextWrapped::importXML(
@@ -1549,17 +1551,14 @@ sal_Bool XmlScPropHdl_IsTextWrapped::importXML(
{
sal_Bool bRetval(sal_False);
- sal_Bool bValue;
if (IsXMLToken(rStrImpValue, XML_WRAP))
{
- bValue = sal_True;
- rValue <<= bValue;
+ rValue = ::cppu::bool2any(sal_True);
bRetval = sal_True;
}
else if (IsXMLToken(rStrImpValue, XML_NO_WRAP))
{
- bValue = sal_False;
- rValue <<= bValue;
+ rValue = ::cppu::bool2any(sal_False);
bRetval = sal_True;
}
@@ -1571,21 +1570,17 @@ sal_Bool XmlScPropHdl_IsTextWrapped::exportXML(
const ::com::sun::star::uno::Any& rValue,
const SvXMLUnitConverter& rUnitConverter ) const
{
- sal_Bool bVal;
sal_Bool bRetval(sal_False);
- if(rValue >>= bVal)
+ if (::cppu::any2bool(rValue))
{
- if (bVal)
- {
- rStrExpValue = GetXMLToken(XML_WRAP);
- bRetval = sal_True;
- }
- else
- {
- rStrExpValue = GetXMLToken(XML_NO_WRAP);
- bRetval = sal_True;
- }
+ rStrExpValue = GetXMLToken(XML_WRAP);
+ bRetval = sal_True;
+ }
+ else
+ {
+ rStrExpValue = GetXMLToken(XML_NO_WRAP);
+ bRetval = sal_True;
}
return bRetval;
@@ -1607,3 +1602,55 @@ sal_Bool XmlScPropHdl_IsEqual::exportXML( ::rtl::OUString& rStrExpValue,
return sal_False;
}
+XmlScPropHdl_Vertical::~XmlScPropHdl_Vertical()
+{
+}
+
+sal_Bool XmlScPropHdl_Vertical::equals(
+ const ::com::sun::star::uno::Any& r1,
+ const ::com::sun::star::uno::Any& r2 ) const
+{
+ return (::cppu::any2bool(r1) == ::cppu::any2bool(r2));
+}
+
+sal_Bool XmlScPropHdl_Vertical::importXML(
+ const ::rtl::OUString& rStrImpValue,
+ ::com::sun::star::uno::Any& rValue,
+ const SvXMLUnitConverter& rUnitConverter ) const
+{
+ sal_Bool bRetval(sal_False);
+
+ if (IsXMLToken(rStrImpValue, XML_AUTO))
+ {
+ rValue = ::cppu::bool2any(sal_True);
+ bRetval = sal_True;
+ }
+ else if (IsXMLToken(rStrImpValue, XML_0))
+ {
+ rValue = ::cppu::bool2any(sal_False);
+ bRetval = sal_True;
+ }
+
+ return bRetval;
+}
+
+sal_Bool XmlScPropHdl_Vertical::exportXML(
+ ::rtl::OUString& rStrExpValue,
+ const ::com::sun::star::uno::Any& rValue,
+ const SvXMLUnitConverter& rUnitConverter ) const
+{
+ sal_Bool bRetval(sal_False);
+
+ if (::cppu::any2bool(rValue))
+ {
+ rStrExpValue = GetXMLToken(XML_AUTO);
+ bRetval = sal_True;
+ }
+ else
+ {
+ rStrExpValue = GetXMLToken(XML_0);
+ bRetval = sal_True;
+ }
+
+ return bRetval;
+}
diff --git a/sc/source/filter/xml/xmlstyle.hxx b/sc/source/filter/xml/xmlstyle.hxx
index 1f97b0df67b5..ddf3c7728ba0 100644
--- a/sc/source/filter/xml/xmlstyle.hxx
+++ b/sc/source/filter/xml/xmlstyle.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: xmlstyle.hxx,v $
*
- * $Revision: 1.22 $
+ * $Revision: 1.23 $
*
- * last change: $Author: dvo $ $Date: 2001-10-25 21:06:54 $
+ * last change: $Author: sab $ $Date: 2002-04-05 06:43:44 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -109,6 +109,7 @@ extern const XMLPropertyMapEntry aXMLScTableStylesProperties[];
#define XML_SC_TYPE_VERTJUSTIFY (XML_SC_TYPES_START + 13)
#define XML_SC_ISTEXTWRAPPED (XML_SC_TYPES_START + 14)
#define XML_SC_TYPE_EQUAL (XML_SC_TYPES_START + 15)
+#define XML_SC_TYPE_VERTICAL (XML_SC_TYPES_START + 16)
#define CTF_SC_HORIJUSTIFY (XML_SC_CTF_START + 1)
#define CTF_SC_HORIJUSTIFY_SOURCE (XML_SC_CTF_START + 2)
@@ -378,4 +379,13 @@ public:
virtual sal_Bool exportXML( ::rtl::OUString& rStrExpValue, const ::com::sun::star::uno::Any& rValue, const SvXMLUnitConverter& rUnitConverter ) const;
};
+class XmlScPropHdl_Vertical : public XMLPropertyHandler
+{
+public:
+ virtual ~XmlScPropHdl_Vertical();
+ virtual sal_Bool equals( const ::com::sun::star::uno::Any& r1, const ::com::sun::star::uno::Any& r2 ) const;
+ virtual sal_Bool importXML( const ::rtl::OUString& rStrImpValue, ::com::sun::star::uno::Any& rValue, const SvXMLUnitConverter& rUnitConverter ) const;
+ virtual sal_Bool exportXML( ::rtl::OUString& rStrExpValue, const ::com::sun::star::uno::Any& rValue, const SvXMLUnitConverter& rUnitConverter ) const;
+};
+
#endif