sc/source/ui/unoobj/docuno.cxx | 31 +++++++++++++++++++++++++++---- svx/source/svdraw/svdview.cxx | 26 ++++++++++++++++---------- 2 files changed, 43 insertions(+), 14 deletions(-)
New commits: commit 9d8f44d2158fe4ce36145f74597ac18321059621 Author: Jan Holesovsky <ke...@collabora.com> Date: Thu Apr 2 10:00:39 2015 +0200 sc tiled editing: Moving handles in text in drawing shapes in Calc. Now it is possible to move the cursor or adjust the selection in text in drawing shapes in Calc too. Change-Id: I9ed5b2efa426dda669ec32a2b6aa05d95481ef3d diff --git a/sc/source/ui/unoobj/docuno.cxx b/sc/source/ui/unoobj/docuno.cxx index 1d0684f..06a474f 100644 --- a/sc/source/ui/unoobj/docuno.cxx +++ b/sc/source/ui/unoobj/docuno.cxx @@ -21,6 +21,7 @@ #include "scitems.hxx" #include <editeng/editview.hxx> +#include <editeng/outliner.hxx> #include <svx/fmdpage.hxx> #include <svx/fmview.hxx> #include <svx/svditer.hxx> @@ -569,10 +570,11 @@ void ScModelObj::setTextSelection(int nType, int nX, int nY) ScViewData* pViewData = ScDocShell::GetViewData(); ScTabViewShell* pViewShell = pViewData->GetViewShell(); ScInputHandler* pInputHandler = SC_MOD()->GetInputHdl(pViewShell); + ScDrawView* pDrawView = pViewData->GetScDrawView(); if (pInputHandler && pInputHandler->IsInputMode()) { - // forwarding to editeng - we are editing a cell content + // forwarding to editeng - we are editing the cell content EditView* pTableView = pInputHandler->GetTableView(); assert(pTableView); @@ -593,12 +595,33 @@ void ScModelObj::setTextSelection(int nType, int nX, int nY) break; } } + else if (pDrawView && pDrawView->IsTextEdit()) + { + // forwarding to editeng - we are editing the text in shape + OutlinerView* pOutlinerView = pDrawView->GetTextEditOutlinerView(); + EditView& rEditView = pOutlinerView->GetEditView(); + + Point aPoint(convertTwipToMm100(nX), convertTwipToMm100(nY)); + switch (nType) + { + case LOK_SETTEXTSELECTION_START: + rEditView.SetCursorLogicPosition(aPoint, /*bPoint=*/false, /*bClearMark=*/false); + break; + case LOK_SETTEXTSELECTION_END: + rEditView.SetCursorLogicPosition(aPoint, /*bPoint=*/true, /*bClearMark=*/false); + break; + case LOK_SETTEXTSELECTION_RESET: + rEditView.SetCursorLogicPosition(aPoint, /*bPoint=*/true, /*bClearMark=*/true); + break; + default: + assert(false); + break; + } + } else { - // There seems to be no clear way of getting the grid window for this - // particular document, hence we need to hope we get the right window. + // just updating the cell selection ScGridWindow* pGridWindow = pViewData->GetActiveWin(); - if (!pGridWindow) return; commit 18f798e4244d7289a4b2031d337f68fa2d5a1668 Author: Jan Holesovsky <ke...@collabora.com> Date: Thu Apr 2 08:26:42 2015 +0200 Anz -> Count, and some reformatting. Change-Id: I6d1b34f12e505a6119394a60f6ce6352c35a7fa0 diff --git a/svx/source/svdraw/svdview.cxx b/svx/source/svdraw/svdview.cxx index dbfab5a..89589ba 100644 --- a/svx/source/svdraw/svdview.cxx +++ b/svx/source/svdraw/svdview.cxx @@ -1246,18 +1246,24 @@ OUString SdrView::GetStatusText() // A little imperfection: // At the end of a line of any multi-line paragraph, we display the // position of the next line of the same paragraph, if there is one. - sal_uInt16 nParaLine=0; - sal_uIntPtr nParaLineAnz=pTextEditOutliner->GetLineCount(aSel.nEndPara); - bool bBrk=false; - while (!bBrk) { - sal_uInt16 nLen=pTextEditOutliner->GetLineLen(aSel.nEndPara,nParaLine); - bool bLastLine=(nParaLine==nParaLineAnz-1); - if (nCol>nLen || (!bLastLine && nCol==nLen)) { - nCol-=nLen; + sal_uInt16 nParaLine = 0; + sal_uIntPtr nParaLineCount = pTextEditOutliner->GetLineCount(aSel.nEndPara); + bool bBrk = false; + while (!bBrk) + { + sal_uInt16 nLen = pTextEditOutliner->GetLineLen(aSel.nEndPara, nParaLine); + bool bLastLine = (nParaLine == nParaLineCount - 1); + if (nCol>nLen || (!bLastLine && nCol == nLen)) + { + nCol -= nLen; nLin++; nParaLine++; - } else bBrk=true; - if (nLen==0) bBrk=true; // to be sure + } + else + bBrk = true; + + if (nLen == 0) + bBrk = true; // to be sure } aStr = aStr.replaceFirst("%1", OUString::number(nPar + 1)); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits