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

matteocam matteo.campanelli at gmail.com
Mon Jun 29 11:02:52 PDT 2015


 include/svx/textchainflow.hxx       |   15 ++++++++++---
 svx/source/svdraw/textchainflow.cxx |   40 ++++++++++++++++++++++++++++++------
 2 files changed, 46 insertions(+), 9 deletions(-)

New commits:
commit f175965e22c57565ee2ffd2105b4c26a817835ca
Author: matteocam <matteo.campanelli at gmail.com>
Date:   Mon Jun 29 13:59:33 2015 -0400

    Moved editing-specific code
    
    Change-Id: I9fa410a60fb6341c5f031cc152141c03975b409e

diff --git a/include/svx/textchainflow.hxx b/include/svx/textchainflow.hxx
index 8528a9f..10ba90a 100644
--- a/include/svx/textchainflow.hxx
+++ b/include/svx/textchainflow.hxx
@@ -45,7 +45,7 @@ class TextChainFlow {
     void ExecuteUnderflow(SdrOutliner *);
 
     // Uses two outliners: one for the non-overfl text and one for overflowing (might be the same)
-    void ExecuteOverflow(SdrOutliner *, SdrOutliner *);
+    virtual void ExecuteOverflow(SdrOutliner *, SdrOutliner *);
 
     SdrTextObj *GetLinkTarget();
 
@@ -55,8 +55,8 @@ class TextChainFlow {
 
     TextChain *GetTextChain();
 
-    void impLeaveOnlyNonOverflowingText(SdrOutliner *);
-    void impMoveChainedTextToNextLink(SdrOutliner *);
+    virtual void impLeaveOnlyNonOverflowingText(SdrOutliner *);
+    virtual void impMoveChainedTextToNextLink(SdrOutliner *);
 
     OutlinerParaObject *impGetNonOverflowingParaObject(SdrOutliner *pOutliner);
     OutlinerParaObject *impGetOverflowingParaObject(SdrOutliner *pOutliner);
@@ -88,6 +88,15 @@ class EditingTextChainFlow : public TextChainFlow
     public:
     EditingTextChainFlow(SdrTextObj *);
     virtual void CheckForFlowEvents(SdrOutliner *) SAL_OVERRIDE;
+
+    //virtual void ExecuteOverflow(SdrOutliner *, SdrOutliner *) SAL_OVERRIDE;
+
+
+    protected:
+    virtual void impLeaveOnlyNonOverflowingText(SdrOutliner *) SAL_OVERRIDE;
+
+    virtual void impSetTextForEditingOutliner(OutlinerParaObject *);
+
 };
 
 #endif // INCLUDED_SVX_TEXTCHAINFLOW_HXX
diff --git a/svx/source/svdraw/textchainflow.cxx b/svx/source/svdraw/textchainflow.cxx
index ec5dc9a..652e803 100644
--- a/svx/source/svdraw/textchainflow.cxx
+++ b/svx/source/svdraw/textchainflow.cxx
@@ -63,7 +63,7 @@ void TextChainFlow::impCheckForFlowEvents(SdrOutliner *pFlowOutl, SdrOutliner *p
     if (pParamOutl != NULL)
     {
         // XXX: Set parameters
-        // XXX: does this work if you do it before setting the text?
+        // XXX: does this work if you do it before setting the text? Seems so.
         pFlowOutl->SetUpdateMode(true);
         pFlowOutl->SetMaxAutoPaperSize(pParamOutl->GetMaxAutoPaperSize());
         pFlowOutl->SetMinAutoPaperSize(pParamOutl->GetMinAutoPaperSize());
@@ -152,15 +152,11 @@ void TextChainFlow::ExecuteOverflow(SdrOutliner *pNonOverflOutl, SdrOutliner *pO
 void TextChainFlow::impLeaveOnlyNonOverflowingText(SdrOutliner *pNonOverflOutl)
 {
     OutlinerParaObject *pNewText = impGetNonOverflowingParaObject(pNonOverflOutl);
-
-    // XXX
-    if (mpTargetLink->pEdtOutl != NULL) {
-        mpTargetLink->pEdtOutl->SetText(*pNewText);
-    }
     // adds it to current outliner anyway (useful in static decomposition)
     pNonOverflOutl->SetText(*pNewText);
 
     mpTargetLink->NbcSetOutlinerParaObject(pNewText);
+
 }
 
 void TextChainFlow::impMoveChainedTextToNextLink(SdrOutliner *pOverflOutl)
@@ -308,4 +304,36 @@ void EditingTextChainFlow::CheckForFlowEvents(SdrOutliner *pFlowOutl)
 
 }
 
+/*
+void EditingTextChainFlow::ExecuteOverflow(SdrOutliner *pOutl1, SdrOutliner *pOutl2)
+{
+
+
+    impSetTextForEditingOutliner
+
+    // Set cursor
+    pEditView->pImpEditView->SetEditSelection( aCurSel );
+    pEditView->pImpEditView->DrawSelection();
+    pEditView->ShowCursor( true, false );
+
+
+}
+*
+* */
+
+void EditingTextChainFlow::impLeaveOnlyNonOverflowingText(SdrOutliner *pNonOverflOutl)
+{
+    OutlinerParaObject *pNewText = impGetNonOverflowingParaObject(pNonOverflOutl);
+    impSetTextForEditingOutliner(pNewText);
+
+    GetLinkTarget()->NbcSetOutlinerParaObject(pNewText);
+}
+
+void EditingTextChainFlow::impSetTextForEditingOutliner(OutlinerParaObject *pNewText)
+{
+    if (GetLinkTarget()->pEdtOutl != NULL) {
+        GetLinkTarget()->pEdtOutl->SetText(*pNewText);
+    }
+}
+
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */


More information about the Libreoffice-commits mailing list