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

matteocam matteo.campanelli at gmail.com
Wed Jul 30 11:55:33 PDT 2014


 editeng/source/outliner/outliner.cxx |    9 +++++++++
 include/editeng/outliner.hxx         |    3 +++
 include/svx/svdotext.hxx             |   15 +++++++++++++++
 svx/source/svdraw/svdotxed.cxx       |    3 ++-
 4 files changed, 29 insertions(+), 1 deletion(-)

New commits:
commit 1f0d780c33958ea7b27f8c055d0c5d3fa369ae10
Author: matteocam <matteo.campanelli at gmail.com>
Date:   Wed Jul 30 21:54:36 2014 +0300

    Sketched Outliner methods for (non)overflowing portions
    
    Change-Id: If7a0295589747f99cc7a934b9dd276b414c08faa

diff --git a/editeng/source/outliner/outliner.cxx b/editeng/source/outliner/outliner.cxx
index 08f0b79..ff9217a 100644
--- a/editeng/source/outliner/outliner.cxx
+++ b/editeng/source/outliner/outliner.cxx
@@ -2088,4 +2088,13 @@ bool Outliner::HasParaFlag( const Paragraph* pPara, sal_uInt16 nFlag ) const
     return pPara && pPara->HasFlag( nFlag );
 }
 
+OutlinerParaObject *Outliner::GetNonOverflowingParaObject() const
+{
+    return NULL;
+}
+OutlinerParaObject *Outliner::GetOverflowingParaObject() const
+{
+    return NULL;
+}
+
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/editeng/outliner.hxx b/include/editeng/outliner.hxx
index bcf1791..b00d8c7 100644
--- a/include/editeng/outliner.hxx
+++ b/include/editeng/outliner.hxx
@@ -758,6 +758,9 @@ public:
     void            SetParaRemovingHdl(const Link& rLink){aParaRemovingHdl=rLink;}
     Link            GetParaRemovingHdl() const { return aParaRemovingHdl; }
 
+    OutlinerParaObject *GetNonOverflowingParaObject() const;
+    OutlinerParaObject *GetOverflowingParaObject() const;
+
     virtual void    DepthChangedHdl();
     void            SetDepthChangedHdl(const Link& rLink){aDepthChangedHdl=rLink;}
     Link            GetDepthChangedHdl() const { return aDepthChangedHdl; }
diff --git a/include/svx/svdotext.hxx b/include/svx/svdotext.hxx
index f0f917d..841bf54 100644
--- a/include/svx/svdotext.hxx
+++ b/include/svx/svdotext.hxx
@@ -346,7 +346,22 @@ public:
     bool IsAutoFit() const;
     /// returns true if the old feature for fitting shape content should into shape is enabled. implies IsAutoFit()==false!
     bool IsFitToSize() const;
+
+    // Chaining
     bool IsToBeChained() const;
+    SdrTextObj *GetNextLinkInChain() const {
+        /* FIXME(matteocam) return mpNextInChain; */
+        if ( pPage && pPage->GetObjCount() > 1) {
+            pNextTextObj =  dynamic_cast< SdrTextObj * >( pPage->GetObj(1) );
+            if ( pNextTextObj == NULL)
+                return NULL;
+            return pNextTextObj;
+        } else {
+            fprintf(stderr, "Make New Object please\n");
+            return NULL;
+        }
+    }
+
     SdrObjKind GetTextKind() const { return eTextKind; }
 
     // #i121917#
diff --git a/svx/source/svdraw/svdotxed.cxx b/svx/source/svdraw/svdotxed.cxx
index b8deb75..af34e51 100644
--- a/svx/source/svdraw/svdotxed.cxx
+++ b/svx/source/svdraw/svdotxed.cxx
@@ -260,10 +260,11 @@ void SdrTextObj::EndTextEdit(SdrOutliner& rOutl)
         rOutl.UpdateFields();
 
         // FIXME(matteocam)
+        // TODO: move this to one level higher
         if ( IsToBeChained() )
         {
             // set non overflow part of text to current box
-            pNewText = rOutl.GetNotOverflowingParaObject();
+            pNewText = rOutl.GetNonOverflowingParaObject();
             pNextText = rOutl.GetOverflowingParaObject();
 
             // XXX: should this SdrTextObj know "how much text to ask" by CreateParaObject?


More information about the Libreoffice-commits mailing list