[Libreoffice-commits] .: sc/inc sc/source
Kohei Yoshida
kohei at kemper.freedesktop.org
Sat Jan 7 18:03:02 PST 2012
sc/inc/userdat.hxx | 2 +-
sc/source/core/data/drwlayer.cxx | 5 +----
sc/source/core/tool/detfunc.cxx | 5 +++--
3 files changed, 5 insertions(+), 7 deletions(-)
New commits:
commit 08708fcc39f300c477aad581e5bdc42e5931dd8c
Author: Kohei Yoshida <kohei.yoshida at suse.com>
Date: Sat Jan 7 20:56:15 2012 -0500
Mark detective arrows clearly since we need to treat them differently.
Otherwise it gets confused with normal arrow objects during re-
positioning.
diff --git a/sc/inc/userdat.hxx b/sc/inc/userdat.hxx
index ed6adc2..e0463b3 100644
--- a/sc/inc/userdat.hxx
+++ b/sc/inc/userdat.hxx
@@ -59,7 +59,7 @@ public:
class ScDrawObjData : public SdrObjUserData
{
public:
- enum Type { CellNote, ValidationCircle, DrawingObject };
+ enum Type { CellNote, ValidationCircle, DetectiveArrow, DrawingObject };
ScAddress maStart;
ScAddress maEnd;
diff --git a/sc/source/core/data/drwlayer.cxx b/sc/source/core/data/drwlayer.cxx
index 087d510..cdbb95d 100644
--- a/sc/source/core/data/drwlayer.cxx
+++ b/sc/source/core/data/drwlayer.cxx
@@ -643,9 +643,6 @@ void ScDrawLayer::RecalcPos( SdrObject* pObj, ScDrawObjData& rData, bool bNegati
SCROW nRow2 = rData.maEnd.Row();
SCTAB nTab2 = rData.maEnd.Tab();
- // detective arrow
- bool bArrow = pObj->IsPolyObj() && (pObj->GetPointCount() == 2);
-
if (rData.meType == ScDrawObjData::ValidationCircle)
{
// Validation circle for detective.
@@ -675,7 +672,7 @@ void ScDrawLayer::RecalcPos( SdrObject* pObj, ScDrawObjData& rData, bool bNegati
pObj->SetLogicRect(rData.maLastRect);
}
}
- else if( bArrow )
+ else if (rData.meType == ScDrawObjData::DetectiveArrow)
{
rData.maLastRect = pObj->GetLogicRect();
basegfx::B2DPolygon aCalcPoly;
diff --git a/sc/source/core/tool/detfunc.cxx b/sc/source/core/tool/detfunc.cxx
index ebf9ef8..9c6d65f 100644
--- a/sc/source/core/tool/detfunc.cxx
+++ b/sc/source/core/tool/detfunc.cxx
@@ -545,16 +545,17 @@ sal_Bool ScDetectiveFunc::InsertArrow( SCCOL nCol, SCROW nRow,
pPage->InsertObject( pArrow );
pModel->AddCalcUndo( new SdrUndoInsertObj( *pArrow ) );
- ScDrawObjData* pData = ScDrawLayer::GetObjData( pArrow, sal_True );
+ ScDrawObjData* pData = ScDrawLayer::GetObjData(pArrow, true);
if (bFromOtherTab)
pData->maStart.SetInvalid();
else
pData->maStart.Set( nRefStartCol, nRefStartRow, nTab);
pData->maEnd.Set( nCol, nRow, nTab);
+ pData->meType = ScDrawObjData::DetectiveArrow;
Modified();
- return sal_True;
+ return true;
}
sal_Bool ScDetectiveFunc::InsertToOtherTab( SCCOL nStartCol, SCROW nStartRow,
More information about the Libreoffice-commits
mailing list