summaryrefslogtreecommitdiff
path: root/sc/source/filter/orcus
diff options
context:
space:
mode:
authorJaskaran Singh <jvsg1303@gmail.com>2016-07-28 15:41:02 +0530
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2016-09-18 00:15:16 +0200
commit16b8a44c6067b0ab72da730d9b24cff7bb09a104 (patch)
tree05802921d9c48d7e937df75dc5cb173369a81592 /sc/source/filter/orcus
parent933ae1905617a2e2cc177a34a7060a2b26e5827c (diff)
Add facility for cell alignment to orcus interface
Change-Id: If073c34bc9898f2a069815892431a2db22f43d3a
Diffstat (limited to 'sc/source/filter/orcus')
-rw-r--r--sc/source/filter/orcus/interface.cxx52
1 files changed, 49 insertions, 3 deletions
diff --git a/sc/source/filter/orcus/interface.cxx b/sc/source/filter/orcus/interface.cxx
index ff8c7465ecfc..b9d8f66fe692 100644
--- a/sc/source/filter/orcus/interface.cxx
+++ b/sc/source/filter/orcus/interface.cxx
@@ -39,6 +39,7 @@
#include <editeng/fhgtitem.hxx>
#include <editeng/lineitem.hxx>
#include <editeng/crossedoutitem.hxx>
+#include <editeng/justifyitem.hxx>
#include <formula/token.hxx>
#include <tools/datetime.hxx>
@@ -930,7 +931,10 @@ ScOrcusStyles::xf::xf():
mnBorderId(0),
mnProtectionId(0),
mnNumberFormatId(0),
- mnStyleXf(0)
+ mnStyleXf(0),
+ mbAlignment(false),
+ meHor_alignment(SVX_HOR_JUSTIFY_LEFT),
+ meVer_alignment(SVX_VER_JUSTIFY_CENTER)
{
}
@@ -992,6 +996,12 @@ void ScOrcusStyles::applyXfToItemSet(SfxItemSet& rSet, const xf& rXf)
const number_format& rFormat = maNumberFormats[nNumberFormatId];
if (rFormat.mbHasNumberFormatAttr)
rFormat.applyToItemSet(rSet, mrDoc);
+
+ if(rXf.mbAlignment)
+ {
+ rSet.Put(SvxHorJustifyItem(rXf.meHor_alignment, ATTR_HOR_JUSTIFY));
+ rSet.Put(SvxVerJustifyItem(rXf.meVer_alignment, ATTR_VER_JUSTIFY));
+ }
}
void ScOrcusStyles::applyXfToItemSet(SfxItemSet& rSet, size_t xfId)
@@ -1463,12 +1473,48 @@ void ScOrcusStyles::set_xf_apply_alignment(bool /*b*/)
{
}
-void ScOrcusStyles::set_xf_horizontal_alignment(orcus::spreadsheet::hor_alignment_t /*align*/)
+void ScOrcusStyles::set_xf_horizontal_alignment(orcus::spreadsheet::hor_alignment_t align)
{
+ switch (align)
+ {
+ case os::hor_alignment_t::left:
+ maCurrentXF.meHor_alignment = SVX_HOR_JUSTIFY_LEFT;
+ break;
+ case os::hor_alignment_t::right:
+ maCurrentXF.meHor_alignment = SVX_HOR_JUSTIFY_RIGHT;
+ break;
+ case os::hor_alignment_t::center:
+ maCurrentXF.meHor_alignment = SVX_HOR_JUSTIFY_CENTER;
+ break;
+ case os::hor_alignment_t::justified:
+ maCurrentXF.meHor_alignment = SVX_HOR_JUSTIFY_STANDARD;
+ break;
+ default:
+ ;
+ }
+ maCurrentXF.mbAlignment = true;
}
-void ScOrcusStyles::set_xf_vertical_alignment(orcus::spreadsheet::ver_alignment_t /*align*/)
+void ScOrcusStyles::set_xf_vertical_alignment(orcus::spreadsheet::ver_alignment_t align)
{
+ switch (align)
+ {
+ case os::ver_alignment_t::top:
+ maCurrentXF.meVer_alignment = SVX_VER_JUSTIFY_TOP;
+ break;
+ case os::ver_alignment_t::bottom:
+ maCurrentXF.meVer_alignment = SVX_VER_JUSTIFY_BOTTOM;
+ break;
+ case os::ver_alignment_t::middle:
+ maCurrentXF.meVer_alignment = SVX_VER_JUSTIFY_CENTER;
+ break;
+ case os::ver_alignment_t::justified:
+ maCurrentXF.meVer_alignment = SVX_VER_JUSTIFY_STANDARD;
+ break;
+ default:
+ ;
+ }
+ maCurrentXF.mbAlignment = true;
}
// cell style entry