summaryrefslogtreecommitdiff
path: root/sc/source
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2015-10-30 11:18:19 +0100
committerMiklos Vajna <vmiklos@collabora.co.uk>2015-11-03 16:37:10 +0100
commitdc1656a71acca3a20ba99c162ae5169f15b362fc (patch)
tree190f1c35dfbdff58c675039055c27bc2d44e37dc /sc/source
parent155044c76e5baa2c6d5193a0a8bb5165daae8095 (diff)
LOK: initial Document::getCommandValues() for RowColumnHeaders
Only the row info and for the entire tiled rendering area as a start. (cherry picked from commit a7ce5f83343f8f6ba8a59b05820b3a2066c0ce9a) Conflicts: sc/inc/docuno.hxx Change-Id: Idbccd805b355e8d151ab7025ac1cf0c686cb237b
Diffstat (limited to 'sc/source')
-rw-r--r--sc/source/ui/inc/tabview.hxx2
-rw-r--r--sc/source/ui/unoobj/docuno.cxx13
-rw-r--r--sc/source/ui/view/tabview.cxx29
3 files changed, 44 insertions, 0 deletions
diff --git a/sc/source/ui/inc/tabview.hxx b/sc/source/ui/inc/tabview.hxx
index d7e2a2dbf12e..5b0852041108 100644
--- a/sc/source/ui/inc/tabview.hxx
+++ b/sc/source/ui/inc/tabview.hxx
@@ -520,6 +520,8 @@ public:
void EnableAutoSpell( bool bEnable );
void ResetAutoSpell();
void SetAutoSpellData( SCCOL nPosX, SCROW nPosY, const std::vector<editeng::MisspellRanges>* pRanges );
+ /// @see ScModelObj::getRowColumnHeaders().
+ OUString getRowColumnHeaders();
};
#endif
diff --git a/sc/source/ui/unoobj/docuno.cxx b/sc/source/ui/unoobj/docuno.cxx
index 66ac7ec63ff6..9049b5dc2c5f 100644
--- a/sc/source/ui/unoobj/docuno.cxx
+++ b/sc/source/ui/unoobj/docuno.cxx
@@ -855,6 +855,19 @@ bool ScModelObj::isMimeTypeSupported()
return EditEngine::HasValidData(aDataHelper.GetTransferable());
}
+OUString ScModelObj::getRowColumnHeaders()
+{
+ ScViewData* pViewData = ScDocShell::GetViewData();
+ if (!pViewData)
+ return OUString();
+
+ ScTabView* pTabView = pViewData->GetView();
+ if (!pTabView)
+ return OUString();
+
+ return pTabView->getRowColumnHeaders();
+}
+
void ScModelObj::initializeForTiledRendering()
{
SolarMutexGuard aGuard;
diff --git a/sc/source/ui/view/tabview.cxx b/sc/source/ui/view/tabview.cxx
index b5d308be1aab..f177bbe704f1 100644
--- a/sc/source/ui/view/tabview.cxx
+++ b/sc/source/ui/view/tabview.cxx
@@ -50,6 +50,7 @@
#include <string>
#include <algorithm>
+#include <boost/property_tree/json_parser.hpp>
#include <basegfx/tools/zoomtools.hxx>
@@ -2302,4 +2303,32 @@ void ScTabView::SetAutoSpellData( SCCOL nPosX, SCROW nPosY, const std::vector<ed
}
}
+OUString ScTabView::getRowColumnHeaders()
+{
+ ScDocument* pDoc = aViewData.GetDocument();
+ if (!pDoc)
+ return OUString();
+
+ SCCOL nEndCol = 0;
+ SCROW nEndRow = 0;
+ pDoc->GetTiledRenderingArea(aViewData.GetTabNo(), nEndCol, nEndRow);
+
+ boost::property_tree::ptree aRows;
+ for (SCROW nRow = 0; nRow < nEndRow; ++nRow)
+ {
+ boost::property_tree::ptree aRow;
+ sal_uInt16 nSize = pRowBar[SC_SPLIT_BOTTOM]->GetEntrySize(nRow);
+ aRow.put("size", OString::number(nSize).getStr());
+ OUString aText = pRowBar[SC_SPLIT_BOTTOM]->GetEntryText(nRow);
+ aRow.put("text", aText.toUtf8().getStr());
+ aRows.push_back(std::make_pair("", aRow));
+ }
+
+ boost::property_tree::ptree aTree;
+ aTree.add_child("rows", aRows);
+ std::stringstream aStream;
+ boost::property_tree::write_json(aStream, aTree);
+ return OUString::fromUtf8(aStream.str().c_str());
+}
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */