editeng/source/editeng/impedit.hxx | 2 ++ editeng/source/editeng/impedit3.cxx | 18 +++++++----------- include/editeng/editstat.hxx | 7 ++++++- svx/source/svdraw/svdotext.cxx | 4 ++++ 4 files changed, 19 insertions(+), 12 deletions(-)
New commits: commit 8f2cfe1d868a43ce293528a09cd44f4e018be755 Author: matteocam <[email protected]> Date: Fri Jul 18 02:03:21 2014 +0200 IsPageOverflow in ImpEditEngine. PageOverflow in EditStatus. Change-Id: I3f2bba42b1f59278db43990c48cfa600ff739d2f diff --git a/editeng/source/editeng/impedit.hxx b/editeng/source/editeng/impedit.hxx index 9252bd0..506d597 100644 --- a/editeng/source/editeng/impedit.hxx +++ b/editeng/source/editeng/impedit.hxx @@ -260,8 +260,6 @@ protected: throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE; - bool IsPageOverflow( const Size aCurPaperSize, const Size aPrevPaperSize ) const; - void ShowDDCursor( const Rectangle& rRect ); void HideDDCursor(); @@ -727,6 +725,8 @@ public: const Size& GetMaxAutoPaperSize() const { return aMaxAutoPaperSize; } void SetMaxAutoPaperSize( const Size& rSz ) { aMaxAutoPaperSize = rSz; } + bool IsPageOverflow( const Size aCurPaperSize, const Size aPrevPaperSize ) const; + void FormatDoc(); void FormatFullDoc(); void UpdateViews( EditView* pCurView = 0 ); diff --git a/editeng/source/editeng/impedit3.cxx b/editeng/source/editeng/impedit3.cxx index bef5162..48c2450 100644 --- a/editeng/source/editeng/impedit3.cxx +++ b/editeng/source/editeng/impedit3.cxx @@ -542,11 +542,8 @@ void ImpEditEngine::CheckAutoPageSize() SetValidPaperSize( aPaperSize ); // consider Min, Max // FIXME(matteocam) - fprintf( stderr, IsPageOverflow( aStatus.GetStatusWord(), - IsVertical(), - aPrevPaperSize, - aPaperSize) - ? "YES Overflow!\n" : "NO Overflow!\n" ); + fprintf( stderr, IsPageOverflow(aPaperSize, aPrevPaperSize) + ? "YES Overflow!\n" : "NO Overflow!\n" ); if ( aPaperSize != aPrevPaperSize ) { diff --git a/include/editeng/editstat.hxx b/include/editeng/editstat.hxx index 8fd9f40..e62ef82 100644 --- a/include/editeng/editstat.hxx +++ b/include/editeng/editstat.hxx @@ -92,8 +92,11 @@ protected: sal_uLong nControlBits; sal_Int32 nPrevPara; // for EE_STAT_CRSRLEFTPARA + bool bIsPageOverflow; + public: - EditStatus() { nStatusBits = 0; nControlBits = 0; nPrevPara = -1; } + EditStatus() { nStatusBits = 0; nControlBits = 0; + nPrevPara = -1; bIsPageOverflow = false; } void Clear() { nStatusBits = 0; } void SetControlBits( sal_uLong nMask, bool bOn ) @@ -107,6 +110,8 @@ public: sal_Int32 GetPrevParagraph() const { return nPrevPara; } sal_Int32& GetPrevParagraph() { return nPrevPara; } + + bool IsPageOverflow() const { return bIsPageOverflow; } }; #define SPELLCMD_IGNOREWORD 0x0001 diff --git a/svx/source/svdraw/svdotext.cxx b/svx/source/svdraw/svdotext.cxx index 5d113a9..b24d90d 100644 --- a/svx/source/svdraw/svdotext.cxx +++ b/svx/source/svdraw/svdotext.cxx @@ -1925,6 +1925,10 @@ void SdrTextObj::onEditOutlinerStatusEvent( EditStatus* pEditStatus ) ImpAutoFitText(*pEdtOutl); mbInDownScale = false; } + else if (IsChained() && pEditStatus->IsOverflow()) + { + + } } } commit 02ee8c2b17c8c96ad89a79c8c8c5e419c7161552 Author: matteocam <[email protected]> Date: Thu Jul 17 23:20:07 2014 +0200 IsPageOverflow in ImpEditEngine Change-Id: If6f7641de8e182df6231db7895d4809a7ddb3acb diff --git a/editeng/source/editeng/impedit.hxx b/editeng/source/editeng/impedit.hxx index b225ac6..9252bd0 100644 --- a/editeng/source/editeng/impedit.hxx +++ b/editeng/source/editeng/impedit.hxx @@ -260,6 +260,8 @@ protected: throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE; + bool IsPageOverflow( const Size aCurPaperSize, const Size aPrevPaperSize ) const; + void ShowDDCursor( const Rectangle& rRect ); void HideDDCursor(); diff --git a/editeng/source/editeng/impedit3.cxx b/editeng/source/editeng/impedit3.cxx index b291967..bef5162 100644 --- a/editeng/source/editeng/impedit3.cxx +++ b/editeng/source/editeng/impedit3.cxx @@ -353,19 +353,18 @@ void ImpEditEngine::FormatFullDoc() FormatDoc(); } -bool IsPageOverflow(const sal_uInt32 aStatus, bool isVertical, - const Size aPrevPaperSize, const Size aPaperSize) +bool ImpEditEngine::IsPageOverflow( const Size aCurPaperSize, const Size aPrevPaperSize ) const { const bool bTextGrowX=(aStatus & EE_STAT_TEXTWIDTHCHANGED) !=0; const bool bTextGrowY=(aStatus & EE_STAT_TEXTHEIGHTCHANGED) !=0; const bool bPageExpansionX = ( aPrevPaperSize.Width() != 0 ) && // XXX - ( aPaperSize.Width() > aPrevPaperSize.Width() ); + ( aCurPaperSize.Width() > aPrevPaperSize.Width() ); const bool bPageExpansionY = ( aPrevPaperSize.Height() != 0 ) && // XXX - ( aPaperSize.Height() > aPrevPaperSize.Height() ); + ( aCurPaperSize.Height() > aPrevPaperSize.Height() ); - return ( bTextGrowY && !isVertical && bPageExpansionY ) || - ( bTextGrowX && isVertical && bPageExpansionX ); + return ( bTextGrowY && !IsVertical() && bPageExpansionY ) || + ( bTextGrowX && IsVertical() && bPageExpansionX ); } _______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
