[ooo-build-commit] Branch 'ooo/OOO320' - 3 commits - framework/source svx/inc svx/source

Jan Holesovsky kendy at kemper.freedesktop.org
Wed Oct 14 18:27:31 PDT 2009


 framework/source/jobs/job.cxx                            |    2 
 svx/inc/svx/msdffimp.hxx                                 |    1 
 svx/inc/svx/sdr/primitive2d/sdrdecompositiontools.hxx    |    3 
 svx/inc/svx/sdr/primitive2d/sdrtextprimitive2d.hxx       |    5 -
 svx/source/msfilter/msdffimp.cxx                         |   70 ++++++++++++++-
 svx/source/outliner/outliner.cxx                         |   27 ++++-
 svx/source/outliner/outlvw.cxx                           |    8 +
 svx/source/sdr/contact/viewcontactofgraphic.cxx          |    1 
 svx/source/sdr/primitive2d/sdrcaptionprimitive2d.cxx     |    1 
 svx/source/sdr/primitive2d/sdrconnectorprimitive2d.cxx   |    2 
 svx/source/sdr/primitive2d/sdrcustomshapeprimitive2d.cxx |    5 -
 svx/source/sdr/primitive2d/sdrdecompositiontools.cxx     |    6 -
 svx/source/sdr/primitive2d/sdrellipseprimitive2d.cxx     |    4 
 svx/source/sdr/primitive2d/sdrgrafprimitive2d.cxx        |    2 
 svx/source/sdr/primitive2d/sdrmeasureprimitive2d.cxx     |    1 
 svx/source/sdr/primitive2d/sdrole2primitive2d.cxx        |    2 
 svx/source/sdr/primitive2d/sdrpathprimitive2d.cxx        |    2 
 svx/source/sdr/primitive2d/sdrrectangleprimitive2d.cxx   |    2 
 svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx        |   12 +-
 svx/source/svdraw/svdfppt.cxx                            |   12 +-
 svx/source/svdraw/svdotextdecomposition.cxx              |   41 ++++----
 svx/source/table/viewcontactoftableobj.cxx               |    2 
 22 files changed, 156 insertions(+), 55 deletions(-)

New commits:
commit d1d51a519391ec86a48ff335271d90a1340f105e
Author: Oliver Bolte <obo at openoffice.org>
Date:   Wed Oct 14 09:28:38 2009 +0000

    CWS-TOOLING: integrate CWS impress177_OOO320
    2009-10-07 13:02:12 +0200 sj  r276751 : #i104579# fixed horz and vert adjustment for master styles (excluding notes master)
    2009-10-06 18:09:14 +0200 sj  r276724 : #i104579# fixed horz and vert adjustment for master styles
    2009-10-05 15:02:38 +0200 sj  r276679 : #i104685# fixed text color problem
    2009-10-02 14:01:22 +0200 aw  r276641 : #i105508# added own flag for ClipOnBounds to SdrBlockTextPrimitive2D and the helper createTextPrimitive; adapted usages; corrected VerticalText stuff; corrected ClipOnBounds for CustomShapes
    2009-09-30 11:55:44 +0200 cl  r276550 : CWS-TOOLING: rebase CWS impress177 to trunk at 276429 (milestone: DEV300:m60)
    2009-09-28 17:57:37 +0200 cl  r276498 : #i94900# after a paste special make sure the stylesheets for outline shapes are correct
    2009-09-24 17:36:29 +0200 af  r276425 : #i103464# Restore device more reliably.
    2009-09-24 12:29:31 +0200 sj  r276417 : #i104685# fixed text color propblem
    2009-09-22 16:48:06 +0200 sj  r276360 : #i104682# fixed table border line thickness
    2009-09-22 16:46:29 +0200 sj  r276359 : #i104682# fixed table border line thickness
    2009-09-22 10:29:30 +0200 sj  r276346 : #104579# fixed horz and vert adjustment for master styles
    2009-09-21 14:18:29 +0200 af  r276330 : #i100905# Fixed crash when region is split into bands.
    2009-09-15 15:44:30 +0200 cl  r276181 : #i103179# always hide presentation shapes from master page if rendered as slide background
    2009-09-15 10:44:52 +0200 cl  r276155 : #i104579# return correct IsEmptyPresObj state
    2009-09-14 16:51:41 +0200 cl  r276132 : #i96538# restored OOo 3.0 numbering behaviour

diff --git a/svx/inc/svx/msdffimp.hxx b/svx/inc/svx/msdffimp.hxx
index bc40b39..4c7c991 100644
--- a/svx/inc/svx/msdffimp.hxx
+++ b/svx/inc/svx/msdffimp.hxx
@@ -481,6 +481,7 @@ public:
     MSFilterTracer*		mpTracer;
     sal_Bool			mbTracing;
 
+    Color MSO_TEXT_CLR_ToColor( sal_uInt32 nColorCode ) const;
     Color MSO_CLR_ToColor( sal_uInt32 nColorCode, sal_uInt16 nContextProperty = DFF_Prop_lineColor ) const;
     virtual BOOL SeekToShape( SvStream& rSt, void* pClientData, UINT32 nId ) const;
     FASTBOOL SeekToRec( SvStream& rSt, USHORT nRecId, ULONG nMaxFilePos, DffRecordHeader* pRecHd = NULL, ULONG nSkipCount = 0 ) const;
diff --git a/svx/inc/svx/sdr/primitive2d/sdrdecompositiontools.hxx b/svx/inc/svx/sdr/primitive2d/sdrdecompositiontools.hxx
index d37adb2..d3bf028 100644
--- a/svx/inc/svx/sdr/primitive2d/sdrdecompositiontools.hxx
+++ b/svx/inc/svx/sdr/primitive2d/sdrdecompositiontools.hxx
@@ -75,7 +75,8 @@ namespace drawinglayer
             const attribute::SdrTextAttribute& rText,
             const attribute::SdrLineAttribute* pStroke,
             bool bCellText,
-            bool bWordWrap);
+            bool bWordWrap,
+            bool bClipOnBounds);
 
         Primitive2DSequence createEmbeddedShadowPrimitive(
             const Primitive2DSequence& rContent, 
diff --git a/svx/inc/svx/sdr/primitive2d/sdrtextprimitive2d.hxx b/svx/inc/svx/sdr/primitive2d/sdrtextprimitive2d.hxx
index d5f841d..b9f2751 100644
--- a/svx/inc/svx/sdr/primitive2d/sdrtextprimitive2d.hxx
+++ b/svx/inc/svx/sdr/primitive2d/sdrtextprimitive2d.hxx
@@ -219,6 +219,7 @@ namespace drawinglayer
             unsigned								mbUnlimitedPage : 1;	// force layout with no text break
             unsigned								mbCellText : 1;			// this is a cell text as block text
             unsigned                                mbWordWrap : 1;         // for CustomShapes text layout
+            unsigned								mbClipOnBounds : 1;		// for CustomShapes text layout
 
         protected:
             // local decomposition.
@@ -234,7 +235,8 @@ namespace drawinglayer
                 bool bFixedCellHeight,
                 bool bUnlimitedPage,
                 bool bCellText,
-                bool bWordWrap);
+                bool bWordWrap,
+                bool bClipOnBounds);
 
             // get data
             const basegfx::B2DHomMatrix& getTextRangeTransform() const { return maTextRangeTransform; }
@@ -244,6 +246,7 @@ namespace drawinglayer
             bool getUnlimitedPage() const { return mbUnlimitedPage; }
             bool getCellText() const { return mbCellText; }
             bool getWordWrap() const { return mbWordWrap; }
+            bool getClipOnBounds() const { return mbClipOnBounds; }
 
             // compare operator
             virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
diff --git a/svx/source/msfilter/msdffimp.cxx b/svx/source/msfilter/msdffimp.cxx
index 83f1c70..dbee37d 100644
--- a/svx/source/msfilter/msdffimp.cxx
+++ b/svx/source/msfilter/msdffimp.cxx
@@ -3809,14 +3809,37 @@ FASTBOOL SvxMSDffManager::GetColorFromPalette( USHORT /* nNum */, Color& rColor
     return TRUE;
 }
 
+// sj: the documentation is not complete, especially in ppt the normal rgb for text
+// color is written as 0xfeRRGGBB, this can't be explained by the documentation, nearly
+// every bit in the upper code is set -> so there seems to be a special handling for 
+// ppt text colors, i decided not to fix this in MSO_CLR_ToColor because of possible
+// side effects, instead MSO_TEXT_CLR_ToColor is called for PPT text colors, to map 
+// the color code to something that behaves like the other standard color codes used by 
+// fill and line color
+Color SvxMSDffManager::MSO_TEXT_CLR_ToColor( sal_uInt32 nColorCode ) const
+{
+    // Fuer Textfarben: Header ist 0xfeRRGGBB
+    if ( ( nColorCode & 0xfe000000 ) == 0xfe000000 )
+        nColorCode &= 0x00ffffff;
+    else
+    {
+        // for colorscheme colors the color index are the lower three bits of the upper byte
+        if ( ( nColorCode & 0xf8000000 ) == 0 ) // this must be a colorscheme index
+        {
+            nColorCode >>= 24;
+            nColorCode |= 0x8000000;
+        }
+    }
+    return MSO_CLR_ToColor( nColorCode );
+}
 
 Color SvxMSDffManager::MSO_CLR_ToColor( sal_uInt32 nColorCode, sal_uInt16 nContentProperty ) const
 {
     Color aColor( mnDefaultColor );
 
     // Fuer Textfarben: Header ist 0xfeRRGGBB
-    if ( ( nColorCode & 0xfe000000 ) == 0xfe000000 )
-        nColorCode &= 0x00ffffff;
+    if ( ( nColorCode & 0xfe000000 ) == 0xfe000000 )	// sj: it needs to be checked if 0xfe is used in 
+        nColorCode &= 0x00ffffff;						// other cases than ppt text -> if not this code can be removed
 
     sal_uInt8 nUpper = (sal_uInt8)( nColorCode >> 24 );
     
diff --git a/svx/source/outliner/outliner.cxx b/svx/source/outliner/outliner.cxx
index f290864..193a5f2 100644
--- a/svx/source/outliner/outliner.cxx
+++ b/svx/source/outliner/outliner.cxx
@@ -1867,6 +1867,20 @@ IMPL_LINK( Outliner, EndMovingParagraphsHdl, MoveParagraphsInfo*, pInfos )
     return 0;
 }
 
+static bool isSameNumbering( const SvxNumberFormat& rN1, const SvxNumberFormat& rN2 )
+{
+    if( rN1.GetNumberingType() != rN2.GetNumberingType() )
+        return false;
+        
+    if( rN1.GetNumStr(1) != rN2.GetNumStr(1) )
+        return false;
+        
+    if( (rN1.GetPrefix() != rN2.GetPrefix()) || (rN1.GetSuffix() != rN2.GetSuffix()) )
+        return false;
+        
+    return true;
+}
+
 sal_uInt16 Outliner::ImplGetNumbering( USHORT nPara, const SvxNumberFormat* pParaFmt )
 {
     sal_uInt16 nNumber = pParaFmt->GetStart() - 1;
@@ -1879,8 +1893,8 @@ sal_uInt16 Outliner::ImplGetNumbering( USHORT nPara, const SvxNumberFormat* pPar
         pPara = pParaList->GetParagraph( nPara );
         const sal_Int16 nDepth = pPara->GetDepth();
 
-        // ignore paragraphs that are below our paragraph
-        if( nDepth > nParaDepth )
+        // ignore paragraphs that are below our paragraph or have no numbering
+        if( (nDepth > nParaDepth) || (nDepth == -1) )
             continue;
 
         // stop on paragraphs that are above our paragraph
@@ -1888,8 +1902,13 @@ sal_uInt16 Outliner::ImplGetNumbering( USHORT nPara, const SvxNumberFormat* pPar
             break;
 
         const SvxNumberFormat* pFmt = GetNumberFormat( nPara );
-        if( pFmt == 0 || (*pFmt != *pParaFmt) )
-            break; // change in number format, stop here
+        
+        if( pFmt == 0 )
+            continue; // ignore paragraphs without bullets
+            
+        // check if numbering is the same
+        if( !isSameNumbering( *pFmt, *pParaFmt ) )
+            break;
 
         const SfxBoolItem& rBulletState = (const SfxBoolItem&) pEditEngine->GetParaAttrib( nPara, EE_PARA_BULLETSTATE );
 
diff --git a/svx/source/outliner/outlvw.cxx b/svx/source/outliner/outlvw.cxx
index 71387e4..2fdc007 100644
--- a/svx/source/outliner/outlvw.cxx
+++ b/svx/source/outliner/outlvw.cxx
@@ -1010,6 +1010,14 @@ void OutlinerView::PasteSpecial()
         pOwner->bPasting = TRUE;
         pEditView->PasteSpecial();
 
+        if ( pOwner->ImplGetOutlinerMode() == OUTLINERMODE_OUTLINEOBJECT )
+        {
+            const USHORT nParaCount = pOwner->pEditEngine->GetParagraphCount();
+
+            for( USHORT nPara = 0; nPara < nParaCount; nPara++ )
+                pOwner->ImplSetLevelDependendStyleSheet( nPara );
+        }
+
         pEditView->SetEditEngineUpdateMode( TRUE );
         pOwner->UndoActionEnd( OLUNDO_INSERT );
         pEditView->ShowCursor( TRUE, TRUE );
diff --git a/svx/source/sdr/contact/viewcontactofgraphic.cxx b/svx/source/sdr/contact/viewcontactofgraphic.cxx
index 5781e7b..80e6129 100644
--- a/svx/source/sdr/contact/viewcontactofgraphic.cxx
+++ b/svx/source/sdr/contact/viewcontactofgraphic.cxx
@@ -310,6 +310,7 @@ namespace sdr
                         false,
                         false,
                         false,
+                        false,
                         false);
 
                     // decompose immediately with neutral ViewInformation. This will
diff --git a/svx/source/sdr/primitive2d/sdrcaptionprimitive2d.cxx b/svx/source/sdr/primitive2d/sdrcaptionprimitive2d.cxx
index bde6bb4..233aed8 100644
--- a/svx/source/sdr/primitive2d/sdrcaptionprimitive2d.cxx
+++ b/svx/source/sdr/primitive2d/sdrcaptionprimitive2d.cxx
@@ -123,6 +123,7 @@ namespace drawinglayer
                         *getSdrLFSTAttribute().getText(), 
                         getSdrLFSTAttribute().getLine(), 
                         false, 
+                        false,
                         false));
             }
 
diff --git a/svx/source/sdr/primitive2d/sdrconnectorprimitive2d.cxx b/svx/source/sdr/primitive2d/sdrconnectorprimitive2d.cxx
index 58745f8..a008202 100644
--- a/svx/source/sdr/primitive2d/sdrconnectorprimitive2d.cxx
+++ b/svx/source/sdr/primitive2d/sdrconnectorprimitive2d.cxx
@@ -72,7 +72,7 @@ namespace drawinglayer
             // add text
             if(getSdrLSTAttribute().getText())
             {
-                appendPrimitive2DReferenceToPrimitive2DSequence(aRetval, createTextPrimitive(::basegfx::B2DPolyPolygon(getUnitPolygon()), aEmptyMatrix, *getSdrLSTAttribute().getText(), getSdrLSTAttribute().getLine(), false, false));
+                appendPrimitive2DReferenceToPrimitive2DSequence(aRetval, createTextPrimitive(::basegfx::B2DPolyPolygon(getUnitPolygon()), aEmptyMatrix, *getSdrLSTAttribute().getText(), getSdrLSTAttribute().getLine(), false, false, false));
             }
 
             // add shadow
diff --git a/svx/source/sdr/primitive2d/sdrcustomshapeprimitive2d.cxx b/svx/source/sdr/primitive2d/sdrcustomshapeprimitive2d.cxx
index 2a433ec..e38cb57 100644
--- a/svx/source/sdr/primitive2d/sdrcustomshapeprimitive2d.cxx
+++ b/svx/source/sdr/primitive2d/sdrcustomshapeprimitive2d.cxx
@@ -60,8 +60,9 @@ namespace drawinglayer
                     getTextBox(),
                     *getSdrSTAttribute().getText(),
                     0,
-                    isForceTextClipToTextRange(), // #SJ# use CellText mode; text upper-left
-                    getWordWrap()));
+                    false,
+                    getWordWrap(),
+                    isForceTextClipToTextRange()));
             }
 
             // add shadow
diff --git a/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx b/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx
index e6f5a77..6204eba 100644
--- a/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx
+++ b/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx
@@ -173,7 +173,8 @@ namespace drawinglayer
             const attribute::SdrTextAttribute& rText,
             const attribute::SdrLineAttribute* pStroke,
             bool bCellText,
-            bool bWordWrap)
+            bool bWordWrap,
+            bool bClipOnBounds)
         {
             basegfx::B2DHomMatrix aAnchorTransform(rObjectTransform);
             SdrTextPrimitive2D* pNew = 0;
@@ -297,7 +298,8 @@ namespace drawinglayer
                         rText.isFixedCellHeight(),
                         rText.isScroll(), 
                         bCellText, 
-                        bWordWrap);
+                        bWordWrap,
+                        bClipOnBounds);
                 }
             }
 
diff --git a/svx/source/sdr/primitive2d/sdrellipseprimitive2d.cxx b/svx/source/sdr/primitive2d/sdrellipseprimitive2d.cxx
index c30b036..dee271c 100644
--- a/svx/source/sdr/primitive2d/sdrellipseprimitive2d.cxx
+++ b/svx/source/sdr/primitive2d/sdrellipseprimitive2d.cxx
@@ -94,7 +94,7 @@ namespace drawinglayer
             // add text
             if(getSdrLFSTAttribute().getText())
             {
-                appendPrimitive2DReferenceToPrimitive2DSequence(aRetval, createTextPrimitive(::basegfx::B2DPolyPolygon(aUnitOutline), getTransform(), *getSdrLFSTAttribute().getText(), getSdrLFSTAttribute().getLine(), false, false));
+                appendPrimitive2DReferenceToPrimitive2DSequence(aRetval, createTextPrimitive(::basegfx::B2DPolyPolygon(aUnitOutline), getTransform(), *getSdrLFSTAttribute().getText(), getSdrLFSTAttribute().getLine(), false, false, false));
             }
 
             // add shadow
@@ -191,7 +191,7 @@ namespace drawinglayer
             // add text
             if(getSdrLFSTAttribute().getText())
             {
-                appendPrimitive2DReferenceToPrimitive2DSequence(aRetval, createTextPrimitive(::basegfx::B2DPolyPolygon(aUnitOutline), getTransform(), *getSdrLFSTAttribute().getText(), getSdrLFSTAttribute().getLine(), false, false));
+                appendPrimitive2DReferenceToPrimitive2DSequence(aRetval, createTextPrimitive(::basegfx::B2DPolyPolygon(aUnitOutline), getTransform(), *getSdrLFSTAttribute().getText(), getSdrLFSTAttribute().getLine(), false, false, false));
             }
 
             // add shadow
diff --git a/svx/source/sdr/primitive2d/sdrgrafprimitive2d.cxx b/svx/source/sdr/primitive2d/sdrgrafprimitive2d.cxx
index e4183f3..d57540c 100644
--- a/svx/source/sdr/primitive2d/sdrgrafprimitive2d.cxx
+++ b/svx/source/sdr/primitive2d/sdrgrafprimitive2d.cxx
@@ -104,7 +104,7 @@ namespace drawinglayer
             // add text
             if(getSdrLFSTAttribute().getText())
             {
-                appendPrimitive2DReferenceToPrimitive2DSequence(aRetval, createTextPrimitive(basegfx::B2DPolyPolygon(aUnitOutline), getTransform(), *getSdrLFSTAttribute().getText(), getSdrLFSTAttribute().getLine(), false, false));
+                appendPrimitive2DReferenceToPrimitive2DSequence(aRetval, createTextPrimitive(basegfx::B2DPolyPolygon(aUnitOutline), getTransform(), *getSdrLFSTAttribute().getText(), getSdrLFSTAttribute().getLine(), false, false, false));
             }
 
             // add shadow
diff --git a/svx/source/sdr/primitive2d/sdrmeasureprimitive2d.cxx b/svx/source/sdr/primitive2d/sdrmeasureprimitive2d.cxx
index 1db2b4a..9d58a01 100644
--- a/svx/source/sdr/primitive2d/sdrmeasureprimitive2d.cxx
+++ b/svx/source/sdr/primitive2d/sdrmeasureprimitive2d.cxx
@@ -134,6 +134,7 @@ namespace drawinglayer
                     pTextAttribute->isScroll(), 
                     false, 
                     false,
+                    false,
                     false);
                 aTextRange = pBlockText->getB2DRange(aViewInformation);
             }
diff --git a/svx/source/sdr/primitive2d/sdrole2primitive2d.cxx b/svx/source/sdr/primitive2d/sdrole2primitive2d.cxx
index a7d647d..1f4d48e 100644
--- a/svx/source/sdr/primitive2d/sdrole2primitive2d.cxx
+++ b/svx/source/sdr/primitive2d/sdrole2primitive2d.cxx
@@ -110,7 +110,7 @@ namespace drawinglayer
             // always supported by the old paints, too
             if(getSdrLFSTAttribute().getText())
             {
-                appendPrimitive2DReferenceToPrimitive2DSequence(aRetval, createTextPrimitive(basegfx::B2DPolyPolygon(aUnitOutline), getTransform(), *getSdrLFSTAttribute().getText(), getSdrLFSTAttribute().getLine(), false, false));
+                appendPrimitive2DReferenceToPrimitive2DSequence(aRetval, createTextPrimitive(basegfx::B2DPolyPolygon(aUnitOutline), getTransform(), *getSdrLFSTAttribute().getText(), getSdrLFSTAttribute().getLine(), false, false, false));
             }
 
             // add shadow
diff --git a/svx/source/sdr/primitive2d/sdrpathprimitive2d.cxx b/svx/source/sdr/primitive2d/sdrpathprimitive2d.cxx
index f09e9c1..128a450 100644
--- a/svx/source/sdr/primitive2d/sdrpathprimitive2d.cxx
+++ b/svx/source/sdr/primitive2d/sdrpathprimitive2d.cxx
@@ -89,7 +89,7 @@ namespace drawinglayer
             // add text
             if(getSdrLFSTAttribute().getText())
             {
-                appendPrimitive2DReferenceToPrimitive2DSequence(aRetval, createTextPrimitive(getUnitPolyPolygon(), getTransform(), *getSdrLFSTAttribute().getText(), getSdrLFSTAttribute().getLine(), false, false));
+                appendPrimitive2DReferenceToPrimitive2DSequence(aRetval, createTextPrimitive(getUnitPolyPolygon(), getTransform(), *getSdrLFSTAttribute().getText(), getSdrLFSTAttribute().getLine(), false, false, false));
             }
 
             // add shadow
diff --git a/svx/source/sdr/primitive2d/sdrrectangleprimitive2d.cxx b/svx/source/sdr/primitive2d/sdrrectangleprimitive2d.cxx
index e4b9d3f..2096846 100644
--- a/svx/source/sdr/primitive2d/sdrrectangleprimitive2d.cxx
+++ b/svx/source/sdr/primitive2d/sdrrectangleprimitive2d.cxx
@@ -110,7 +110,7 @@ namespace drawinglayer
             // add text
             if(getSdrLFSTAttribute().getText())
             {
-                appendPrimitive2DReferenceToPrimitive2DSequence(aRetval, createTextPrimitive(basegfx::B2DPolyPolygon(aUnitOutline), getTransform(), *getSdrLFSTAttribute().getText(), getSdrLFSTAttribute().getLine(), false, false));
+                appendPrimitive2DReferenceToPrimitive2DSequence(aRetval, createTextPrimitive(basegfx::B2DPolyPolygon(aUnitOutline), getTransform(), *getSdrLFSTAttribute().getText(), getSdrLFSTAttribute().getLine(), false, false, false));
             }
 
             // add shadow
diff --git a/svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx b/svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx
index b6c5065..bd8547c 100644
--- a/svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx
+++ b/svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx
@@ -382,7 +382,8 @@ namespace drawinglayer
             bool bFixedCellHeight,
             bool bUnlimitedPage,
             bool bCellText,
-            bool bWordWrap)
+            bool bWordWrap,
+            bool bClipOnBounds)
         :	SdrTextPrimitive2D(pSdrText, rOutlinerParaObject),
             maTextRangeTransform(rTextRangeTransform),
             maSdrTextHorzAdjust(aSdrTextHorzAdjust),
@@ -390,7 +391,8 @@ namespace drawinglayer
             mbFixedCellHeight(bFixedCellHeight),
             mbUnlimitedPage(bUnlimitedPage),
             mbCellText(bCellText),
-            mbWordWrap(bWordWrap)
+            mbWordWrap(bWordWrap),
+            mbClipOnBounds(bClipOnBounds)
         {
         }
 
@@ -406,7 +408,8 @@ namespace drawinglayer
                     && isFixedCellHeight() == rCompare.isFixedCellHeight()
                     && getUnlimitedPage() == rCompare.getUnlimitedPage()
                     && getCellText() == rCompare.getCellText()
-                    && getWordWrap() == rCompare.getWordWrap());
+                    && getWordWrap() == rCompare.getWordWrap()
+                    && getClipOnBounds() == rCompare.getClipOnBounds());
             }
 
             return false;
@@ -423,7 +426,8 @@ namespace drawinglayer
                 isFixedCellHeight(),
                 getUnlimitedPage(), 
                 getCellText(), 
-                getWordWrap());
+                getWordWrap(),
+                getClipOnBounds());
         }
 
         // provide unique ID
diff --git a/svx/source/svdraw/svdfppt.cxx b/svx/source/svdraw/svdfppt.cxx
index 89488eb..dbf535b 100644
--- a/svx/source/svdraw/svdfppt.cxx
+++ b/svx/source/svdraw/svdfppt.cxx
@@ -3972,7 +3972,7 @@ void PPTNumberFormatCreator::ImplGetNumberFormat( SdrPowerPointImport& rManager,
         aFont.SetFamily( pAtom->eFamily );
         aFont.SetPitch( pAtom->ePitch );
     }
-    Color aCol( rManager.MSO_CLR_ToColor( nBulletColor ) );
+    Color aCol( rManager.MSO_TEXT_CLR_ToColor( nBulletColor ) );
     aFont.SetColor( aCol );
 
     sal_uInt16 nBuChar = (sal_uInt16)nBulletChar;
@@ -5886,14 +5886,14 @@ void PPTPortionObj::ApplyTo(  SfxItemSet& rSet, SdrPowerPointImport& rManager, U
     {
         if ( GetAttrib( PPT_CharAttr_FontColor, nVal, nDestinationInstance ) )	// Textfarbe (4Byte-Arg)
         {
-            Color aCol( rManager.MSO_CLR_ToColor( nVal ) );
+            Color aCol( rManager.MSO_TEXT_CLR_ToColor( nVal ) );
             rSet.Put( SvxColorItem( aCol, EE_CHAR_COLOR ) );
             if ( nDestinationInstance == 0xffffffff )
                 mrStyleSheet.mpCharSheet[ mnInstance ]->maCharLevel[ mnDepth ].mnFontColorInStyleSheet = aCol;
         }
         else if ( nVal & 0x0f000000 )	// this is not a hard attribute, but maybe the page has a different colerscheme,
         {								// so that in this case we must use a hard color attribute
-            Color	aCol( rManager.MSO_CLR_ToColor( nVal ) );
+            Color	aCol( rManager.MSO_TEXT_CLR_ToColor( nVal ) );
             Color&	aColorInSheet = mrStyleSheet.mpCharSheet[ mnInstance ]->maCharLevel[ mnDepth ].mnFontColorInStyleSheet;
             if ( aColorInSheet != aCol )
                 rSet.Put( SvxColorItem( aCol, EE_CHAR_COLOR ) );
@@ -6315,7 +6315,7 @@ void PPTParagraphObj::ApplyTo( SfxItemSet& rSet,  boost::optional< sal_Int16 >&
                                 nColor = rParaLevel.mnBulletColor;
                             else
                                 nColor = rCharLevel.mnFontColor;
-                            aNumberFormat2.SetBulletColor( rManager.MSO_CLR_ToColor( nColor ) );
+                            aNumberFormat2.SetBulletColor( rManager.MSO_TEXT_CLR_ToColor( nColor ) );
                             pRule->SetLevel( i, aNumberFormat2 );
                         }
                     }
@@ -7611,8 +7611,8 @@ void ApplyCellLineAttributes( const SdrObject* pLine, Reference< XTable >& xTabl
                 {
                     Color aLineColor( ((XLineColorItem&)pLine->GetMergedItem( XATTR_LINECOLOR )).GetColorValue() );
                     aBorderLine.Color = aLineColor.GetColor();
-                    aBorderLine.OuterLineWidth = static_cast< sal_Int16 >( ((const XLineWidthItem&)(pLine->GetMergedItem(XATTR_LINEWIDTH))).GetValue() );
-                    aBorderLine.InnerLineWidth = 0;
+                    aBorderLine.OuterLineWidth = static_cast< sal_Int16 >( ((const XLineWidthItem&)(pLine->GetMergedItem(XATTR_LINEWIDTH))).GetValue() / 4 );
+                    aBorderLine.InnerLineWidth = static_cast< sal_Int16 >( ((const XLineWidthItem&)(pLine->GetMergedItem(XATTR_LINEWIDTH))).GetValue() / 4 );
                     aBorderLine.LineDistance = 0;
                 }
                 break;
diff --git a/svx/source/svdraw/svdotextdecomposition.cxx b/svx/source/svdraw/svdotextdecomposition.cxx
index 5768def..de1f8dd 100644
--- a/svx/source/svdraw/svdotextdecomposition.cxx
+++ b/svx/source/svdraw/svdotextdecomposition.cxx
@@ -800,24 +800,32 @@ void SdrTextObj::impDecomposeBlockTextPrimitive(
     const bool bVerticalWritintg(rSdrBlockTextPrimitive.getOutlinerParaObject().IsVertical());
     const Size aAnchorTextSize(Size(nAnchorTextWidth, nAnchorTextHeight));
 
+    // check if block text is used (only one of them can be true)
+    const bool bHorizontalIsBlock(SDRTEXTHORZADJUST_BLOCK == eHAdj && !bVerticalWritintg);
+    const bool bVerticalIsBlock(SDRTEXTVERTADJUST_BLOCK == eVAdj && bVerticalWritintg);
+
+    // set minimal paper size hor/ver if needed
+    if(bHorizontalIsBlock)
+    {
+        rOutliner.SetMinAutoPaperSize(Size(nAnchorTextWidth, 0));
+    }
+    else if(bVerticalIsBlock)
+    {
+        rOutliner.SetMinAutoPaperSize(Size(0, nAnchorTextHeight));
+    }
+
     if(bIsCell)
     {
         // cell text is formated neither like a text object nor like a object
         // text, so use a special setup here
-        rOutliner.SetMinAutoPaperSize(aNullSize);
         rOutliner.SetMaxAutoPaperSize(aAnchorTextSize);
         rOutliner.SetPaperSize(aAnchorTextSize);
-        rOutliner.SetMinAutoPaperSize(Size(nAnchorTextWidth, 0));
-        rOutliner.SetUpdateMode(TRUE);
+        rOutliner.SetUpdateMode(true);
         rOutliner.SetText(rSdrBlockTextPrimitive.getOutlinerParaObject());
-        rOutliner.SetUpdateMode(TRUE);
         rOutliner.SetControlWord(nOriginalControlWord);
     }
     else
     {
-        // check if block text is used (only one of them can be true)
-        const bool bHorizontalIsBlock(SDRTEXTHORZADJUST_BLOCK == eHAdj && !bVerticalWritintg);
-        const bool bVerticalIsBlock(SDRTEXTVERTADJUST_BLOCK == eVAdj && bVerticalWritintg);
 
         if((rSdrBlockTextPrimitive.getWordWrap() || IsTextFrame()) && !rSdrBlockTextPrimitive.getUnlimitedPage())
         {
@@ -843,16 +851,6 @@ void SdrTextObj::impDecomposeBlockTextPrimitive(
             rOutliner.SetMaxAutoPaperSize(aMaxAutoPaperSize);
         }
 
-        // set minimal paper size hor/ver if needed
-        if(bHorizontalIsBlock)
-        {
-            rOutliner.SetMinAutoPaperSize(Size(nAnchorTextWidth, 0));
-        }
-        else if(bVerticalIsBlock)
-        {
-            rOutliner.SetMinAutoPaperSize(Size(0, nAnchorTextHeight));
-        }
-
         rOutliner.SetPaperSize(aNullSize);
         rOutliner.SetUpdateMode(true);
         rOutliner.SetText(rSdrBlockTextPrimitive.getOutlinerParaObject());
@@ -931,7 +929,8 @@ void SdrTextObj::impDecomposeBlockTextPrimitive(
     // as the master shape we are working on. For vertical, use the top-right
     // corner
     const double fStartInX(bVerticalWritintg ? aAdjustTranslate.getX() + aOutlinerScale.getX() : aAdjustTranslate.getX());
-    aNewTransformA.translate(fStartInX, aAdjustTranslate.getY());
+    const basegfx::B2DTuple aAdjOffset(fStartInX, aAdjustTranslate.getY());
+    aNewTransformA.translate(aAdjOffset.getX(), aAdjOffset.getY());
 
     // mirroring. We are now in aAnchorTextRange sizes. When mirroring in X and Y,
     // move the null point which was top left to bottom right.
@@ -948,10 +947,10 @@ void SdrTextObj::impDecomposeBlockTextPrimitive(
     // #SJ# create ClipRange (if needed)
     basegfx::B2DRange aClipRange;
 
-    if(bIsCell)
+    if(rSdrBlockTextPrimitive.getClipOnBounds())
     {
-        aClipRange.expand(basegfx::B2DTuple(0.0, 0.0));
-        aClipRange.expand(basegfx::B2DTuple(aAnchorTextSize.Width(), aAnchorTextSize.Height()));
+        aClipRange.expand(-aAdjOffset);
+        aClipRange.expand(basegfx::B2DTuple(aAnchorTextSize.Width(), aAnchorTextSize.Height()) - aAdjOffset);
     }
 
     // now break up text primitives.
diff --git a/svx/source/table/viewcontactoftableobj.cxx b/svx/source/table/viewcontactoftableobj.cxx
index ffc2307..03ffdc3 100644
--- a/svx/source/table/viewcontactoftableobj.cxx
+++ b/svx/source/table/viewcontactoftableobj.cxx
@@ -123,7 +123,7 @@ namespace drawinglayer
                         getTransform(), 
                         *getSdrFTAttribute().getText(),
                         0,
-                        true, false));
+                        true, false, false));
                 }
             }
 
commit 16a0ae5f08e01d1fce92b2be35c875b5577a3d9e
Author: Oliver Bolte <obo at openoffice.org>
Date:   Wed Oct 14 08:11:06 2009 +0000

    CWS-TOOLING: integrate CWS c29v001a_OOO320
    2009-10-06 hb #160731# use SetReadOnlyUI instead of item at medium to get read only functionality
    2009-10-05 hb #160731# added virtual destructor to IDocumentExternal data to make compilable under wntmsci12
    2009-10-02 hb #160731# store fReadOnlyRecommended/fWriteReservation in WW8FibData
    2009-10-02 hb #160731# handle stepping of offset correctly when reading strings
    2009-10-02 hb #160731# write SttbAssoc/fReadOnlyRecommended/fWriteReservation
    2009-10-02 hb #160731# Added new class WW8FibData
    2009-10-02 hb #160731# new identifier for external type: FIB
    2009-10-02 hb #160731# Added new class WW8FibData
    2009-10-02 hb dbg_out for OUString
    2009-10-01 hb read and write SttbfAssoc
    2009-10-01 hb store external data in SwDoc
    2009-09-29 hb merged DEV300_m60
    2009-09-29 hb merged changes from private repository
    2009-09-04 Henning Brinkmann added WW8Sttb for reading the WW8Sttb
    2009-09-15 hb137859 #160401# made compilable
    2009-09-15 hb137859 merged changes by hb
    2009-09-15 sj93757 #160376# fixed shadow problem
    2009-09-15 Henning Brinkmann merged changes for #160401#
    2009-09-01 Henning Brinkmann #160401# added fReadOnlyRecommended and fWriteReservation to WW8Fib. If one of those is set, the document is read read-only.

diff --git a/svx/source/msfilter/msdffimp.cxx b/svx/source/msfilter/msdffimp.cxx
index 30251b6..83f1c70 100644
--- a/svx/source/msfilter/msdffimp.cxx
+++ b/svx/source/msfilter/msdffimp.cxx
@@ -3234,6 +3234,8 @@ void DffPropertyReader::ApplyAttributes( SvStream& rIn, SfxItemSet& rSet, const
 {
 //	MapUnit eMap( rManager.GetModel()->GetScaleUnit() );
 
+    sal_Bool bHasShadow = sal_False;
+
     for ( void* pDummy = ((DffPropertyReader*)this)->First(); pDummy; pDummy = ((DffPropertyReader*)this)->Next() )
     {
         UINT32 nRecType = GetCurKey();
@@ -3305,8 +3307,7 @@ void DffPropertyReader::ApplyAttributes( SvStream& rIn, SfxItemSet& rSet, const
             break;
             case DFF_Prop_fshadowObscured :
             {
-                sal_Bool bHasShadow = ( nContent & 2 ) != 0;
-                rSet.Put( SdrShadowItem( bHasShadow ) );
+                bHasShadow = ( nContent & 2 ) != 0;
                 if ( bHasShadow )
                 {
                     if ( !IsProperty( DFF_Prop_shadowOffsetX ) )
@@ -3319,6 +3320,44 @@ void DffPropertyReader::ApplyAttributes( SvStream& rIn, SfxItemSet& rSet, const
         }
     }
 
+    if ( bHasShadow )
+    {
+        // #160376# sj: activating shadow only if fill and or linestyle is used
+        // this is required because of the latest drawing layer core changes.
+        // Issue i104085 is related to this.
+        UINT32 nLineFlags(GetPropertyValue( DFF_Prop_fNoLineDrawDash ));
+        if(!IsHardAttribute( DFF_Prop_fLine ) && !IsCustomShapeStrokedByDefault( rObjData.eShapeType ))
+            nLineFlags &= ~0x08;
+        UINT32 nFillFlags(GetPropertyValue( DFF_Prop_fNoFillHitTest ));
+        if(!IsHardAttribute( DFF_Prop_fFilled ) && !IsCustomShapeFilledByDefault( rObjData.eShapeType ))
+            nFillFlags &= ~0x10;
+        if ( nFillFlags & 0x10 )
+        {
+            MSO_FillType eMSO_FillType = (MSO_FillType)GetPropertyValue( DFF_Prop_fillType, mso_fillSolid );
+            switch( eMSO_FillType )
+            {
+                case mso_fillSolid :
+                case mso_fillPattern :
+                case mso_fillTexture :
+                case mso_fillPicture :
+                case mso_fillShade :
+                case mso_fillShadeCenter :
+                case mso_fillShadeShape :
+                case mso_fillShadeScale :
+                case mso_fillShadeTitle :
+                break;
+                // case mso_fillBackground :
+                default:
+                    nFillFlags &=~0x10;			// no fillstyle used	
+                break;
+            }
+        }
+        if ( ( ( nLineFlags & 0x08 ) == 0 ) && ( ( nFillFlags & 0x10 ) == 0 ) )	// if there is no fillstyle and linestyle
+            bHasShadow = sal_False;												// we are turning shadow off.
+
+        if ( bHasShadow )
+            rSet.Put( SdrShadowItem( bHasShadow ) );
+    }
     ApplyLineAttributes( rSet, rObjData.eShapeType ); // #i28269#
     ApplyFillAttributes( rIn, rSet, rObjData );
     if ( rObjData.eShapeType != mso_sptNil )
commit ac17ed33845f70408174282f8fa1f525f652f5e2
Author: Oliver Bolte <obo at openoffice.org>
Date:   Wed Oct 14 07:10:33 2009 +0000

    CWS-TOOLING: integrate CWS fwk124
    2009-10-12 10:48:43 +0200 cd  r276822 : #i105764# Remove wrong if-clause which disables the main function of the job service implementation

diff --git a/framework/source/jobs/job.cxx b/framework/source/jobs/job.cxx
index 2609a57..3a0ead1 100644
--- a/framework/source/jobs/job.cxx
+++ b/framework/source/jobs/job.cxx
@@ -51,7 +51,6 @@
 //	includes of other projects
 #include <rtl/ustrbuf.hxx>
 #include <vcl/svapp.hxx>
-#include <comphelper/uieventslogger.hxx>
 
 //________________________________
 //	namespace
@@ -238,7 +237,6 @@ void Job::execute( /*IN*/ const css::uno::Sequence< css::beans::NamedValue >& lD
     // Otherwhise we might die by ref count ...
     css::uno::Reference< css::task::XJobListener > xThis(static_cast< ::cppu::OWeakObject* >(this), css::uno::UNO_QUERY);
 
-    if ( ::comphelper::UiEventsLogger::isEnabled() )
     try
     {
         // create the job


More information about the ooo-build-commit mailing list