diff options
author | Sascha Ballach <sab@openoffice.org> | 2002-04-05 05:43:44 +0000 |
---|---|---|
committer | Sascha Ballach <sab@openoffice.org> | 2002-04-05 05:43:44 +0000 |
commit | 4a5ad268a736a95338a8f3545e4ae9c70e62675b (patch) | |
tree | b4e719a91113cc96efdc7dd4f9e6e78f8118954e /sc/source | |
parent | 5b7dd675bc65d1d5f0b33022536611a4f973003e (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.cxx | 95 | ||||
-rw-r--r-- | sc/source/filter/xml/xmlstyle.hxx | 14 |
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 |