[Libreoffice-commits] core.git: Branch 'feature/gsoc14-draw-chained-text-boxes' - editeng/source svx/source

matteocam matteo.campanelli at gmail.com
Sun Sep 21 17:24:01 PDT 2014


 editeng/source/editeng/impedit3.cxx                  |    2 +
 svx/source/sdr/primitive2d/sdrdecompositiontools.cxx |    4 +++
 svx/source/svdraw/svdotext.cxx                       |   22 ++++++++++++++++---
 3 files changed, 25 insertions(+), 3 deletions(-)

New commits:
commit 9b08fb53a582938267c2470be5fcd1d41e43b074
Author: matteocam <matteo.campanelli at gmail.com>
Date:   Sun Sep 21 20:22:51 2014 -0400

    Added debugging output for referred SdrTextObj when making a new text prim.
    
    Change-Id: I808456d0fa051a7040c4247c51e4ed4925cff010

diff --git a/editeng/source/editeng/impedit3.cxx b/editeng/source/editeng/impedit3.cxx
index db962b5..3f8895f 100644
--- a/editeng/source/editeng/impedit3.cxx
+++ b/editeng/source/editeng/impedit3.cxx
@@ -614,6 +614,8 @@ void ImpEditEngine::CheckPageOverflow()
     // setting overflow status
 
     sal_uInt32 nBoxHeight = GetMaxAutoPaperSize().Height();
+    fprintf(stderr, "[OVERFLOW-CHECK] Current MaxAutoPaperSize is %d\n", nBoxHeight);
+    fprintf(stderr, "[CONTROL_STATUS] AutoPageSize is %s",  ( aStatus.GetControlWord() & EE_CNTRL_AUTOPAGESIZE ) ? "ON\n" : "OFF\n" );
 
     if (CalcTextHeight(NULL) > nBoxHeight)
     {
diff --git a/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx b/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx
index a61e61e..612a862 100644
--- a/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx
+++ b/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx
@@ -291,6 +291,10 @@ namespace drawinglayer
                 aAnchorTransform = basegfx::tools::createShearXRotateTranslateB2DHomMatrix(fShearX, fRotate, aTranslate)
                     * aAnchorTransform;
 
+                // FIXME(matteocam)
+                SdrTextObj *pReferredTextObj = &rText.getSdrText().GetObject();
+                fprintf(stderr, "[MkTextPrimitive] Referring to text object: %p\n", pReferredTextObj);
+
                 if(rText.isFitToSize())
                 {
                     // streched text in range
diff --git a/svx/source/svdraw/svdotext.cxx b/svx/source/svdraw/svdotext.cxx
index e287961..178f0b9 100644
--- a/svx/source/svdraw/svdotext.cxx
+++ b/svx/source/svdraw/svdotext.cxx
@@ -1953,13 +1953,29 @@ void SdrTextObj::onEditOutlinerStatusEvent( EditStatus* pEditStatus )
             ImpAutoFitText(*pEdtOutl);
             mbInDownScale = false;
         }
-        else if ( GetNextLinkInChain() != NULL )
+        else if ( GetNextLinkInChain() != NULL ) // is this a chainable object?
         {
-            // set the need for chaining
+            // set whether there is need for chaining
             SetToBeChained( pEditStatus->IsPageOverflow() );
             fprintf(stderr, "[CHAINING] Need for Chaining is %s\n",
                 pEditStatus->IsPageOverflow() ? "TRUE" : "FALSE");
-            //impDecomposeChainedTextPrimitive();
+
+            /*
+             *  XXX: I can see problems with circular chains here:
+             *        If there is such a circular chain we get back
+             *        to the first box and so on...
+            */
+
+            //if ( IsRecursiveChaining() ) {
+                // set non overflowing text
+
+                /*
+                 * XXX: what's with the Outliner?
+                 * It may be that we are calling it in the wrong moment.
+                 * But if we don't call it here, where?
+                */
+
+            //}
         }
     }
 }


More information about the Libreoffice-commits mailing list