You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by hd...@apache.org on 2013/05/31 15:56:04 UTC

svn commit: r1488227 [12/15] - in /openoffice/branches/rejuvenate01: ./ ext_libraries/apr/ ext_libraries/apr/prj/ ext_libraries/coinmp/prj/ ext_libraries/ratscan/prj/ ext_libraries/serf/prj/ main/ main/basctl/source/dlged/ main/basctl/uiconfig/basicide...

Modified: openoffice/branches/rejuvenate01/main/svgio/source/svgreader/svgnode.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/svgio/source/svgreader/svgnode.cxx?rev=1488227&r1=1488226&r2=1488227&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/svgio/source/svgreader/svgnode.cxx (original)
+++ openoffice/branches/rejuvenate01/main/svgio/source/svgreader/svgnode.cxx Fri May 31 13:55:58 2013
@@ -194,6 +194,107 @@ namespace svgio
             }
         }
 
+        Display getDisplayFromContent(const rtl::OUString& aContent)
+        {
+            if(aContent.getLength())
+            {
+                static rtl::OUString aStrInline(rtl::OUString::createFromAscii("inline"));
+                static rtl::OUString aStrBlock(rtl::OUString::createFromAscii("block"));
+                static rtl::OUString aStrList_item(rtl::OUString::createFromAscii("list-item"));
+                static rtl::OUString aStrRun_in(rtl::OUString::createFromAscii("run-in"));
+                static rtl::OUString aStrCompact(rtl::OUString::createFromAscii("compact"));
+                static rtl::OUString aStrMarker(rtl::OUString::createFromAscii("marker"));
+                static rtl::OUString aStrTable(rtl::OUString::createFromAscii("table"));
+                static rtl::OUString aStrInline_table(rtl::OUString::createFromAscii("inline-table"));
+                static rtl::OUString aStrTable_row_group(rtl::OUString::createFromAscii("table-row-group"));
+                static rtl::OUString aStrTable_header_group(rtl::OUString::createFromAscii("table-header-group"));
+                static rtl::OUString aStrTable_footer_group(rtl::OUString::createFromAscii("table-footer-group"));
+                static rtl::OUString aStrTable_row(rtl::OUString::createFromAscii("table-row"));
+                static rtl::OUString aStrTable_column_group(rtl::OUString::createFromAscii("table-column-group"));
+                static rtl::OUString aStrTable_column(rtl::OUString::createFromAscii("table-column"));
+                static rtl::OUString aStrTable_cell(rtl::OUString::createFromAscii("table-cell"));
+                static rtl::OUString aStrTable_caption(rtl::OUString::createFromAscii("table-caption"));
+                static rtl::OUString aStrNone(rtl::OUString::createFromAscii("none"));
+                static rtl::OUString aStrInherit(rtl::OUString::createFromAscii("inherit"));
+
+                if(aContent.match(aStrInline))
+                {
+                    return Display_inline;
+                }
+                else if(aContent.match(aStrNone))
+                {
+                    return Display_none;
+                }
+                else if(aContent.match(aStrInherit))
+                {
+                    return Display_inherit;
+                }
+                else if(aContent.match(aStrBlock))
+                {
+                    return Display_block;
+                }
+                else if(aContent.match(aStrList_item))
+                {
+                    return Display_list_item;
+                }
+                else if(aContent.match(aStrRun_in))
+                {
+                    return Display_run_in;
+                }
+                else if(aContent.match(aStrCompact))
+                {
+                    return Display_compact;
+                }
+                else if(aContent.match(aStrMarker))
+                {
+                    return Display_marker;
+                }
+                else if(aContent.match(aStrTable))
+                {
+                    return Display_table;
+                }
+                else if(aContent.match(aStrInline_table))
+                {
+                    return Display_inline_table;
+                }
+                else if(aContent.match(aStrTable_row_group))
+                {
+                    return Display_table_row_group;
+                }
+                else if(aContent.match(aStrTable_header_group))
+                {
+                    return Display_table_header_group;
+                }
+                else if(aContent.match(aStrTable_footer_group))
+                {
+                    return Display_table_footer_group;
+                }
+                else if(aContent.match(aStrTable_row))
+                {
+                    return Display_table_row;
+                }
+                else if(aContent.match(aStrTable_column_group))
+                {
+                    return Display_table_column_group;
+                }
+                else if(aContent.match(aStrTable_column))
+                {
+                    return Display_table_column;
+                }
+                else if(aContent.match(aStrTable_cell))
+                {
+                    return Display_table_cell;
+                }
+                else if(aContent.match(aStrTable_caption))
+                {
+                    return Display_table_caption;
+                }
+            }
+
+            // return the default
+            return Display_inline;
+        }
+
         void SvgNode::parseAttribute(const rtl::OUString& /*rTokenName*/, SVGToken aSVGToken, const rtl::OUString& aContent)
         {
             switch(aSVGToken)
@@ -236,97 +337,7 @@ namespace svgio
                 {
                     if(aContent.getLength())
                     {
-                        static rtl::OUString aStrInline(rtl::OUString::createFromAscii("inline"));
-                        static rtl::OUString aStrBlock(rtl::OUString::createFromAscii("block"));
-                        static rtl::OUString aStrList_item(rtl::OUString::createFromAscii("list-item"));
-                        static rtl::OUString aStrRun_in(rtl::OUString::createFromAscii("run-in"));
-                        static rtl::OUString aStrCompact(rtl::OUString::createFromAscii("compact"));
-                        static rtl::OUString aStrMarker(rtl::OUString::createFromAscii("marker"));
-                        static rtl::OUString aStrTable(rtl::OUString::createFromAscii("table"));
-                        static rtl::OUString aStrInline_table(rtl::OUString::createFromAscii("inline-table"));
-                        static rtl::OUString aStrTable_row_group(rtl::OUString::createFromAscii("table-row-group"));
-                        static rtl::OUString aStrTable_header_group(rtl::OUString::createFromAscii("table-header-group"));
-                        static rtl::OUString aStrTable_footer_group(rtl::OUString::createFromAscii("table-footer-group"));
-                        static rtl::OUString aStrTable_row(rtl::OUString::createFromAscii("table-row"));
-                        static rtl::OUString aStrTable_column_group(rtl::OUString::createFromAscii("table-column-group"));
-                        static rtl::OUString aStrTable_column(rtl::OUString::createFromAscii("table-column"));
-                        static rtl::OUString aStrTable_cell(rtl::OUString::createFromAscii("table-cell"));
-                        static rtl::OUString aStrTable_caption(rtl::OUString::createFromAscii("table-caption"));
-                        static rtl::OUString aStrNone(rtl::OUString::createFromAscii("none"));
-                        static rtl::OUString aStrInherit(rtl::OUString::createFromAscii("inherit"));
-
-                        if(aContent.match(aStrInline))
-                        {
-                            setDisplay(Display_inline);
-                        }
-                        else if(aContent.match(aStrNone))
-                        {
-                            setDisplay(Display_none);
-                        }
-                        else if(aContent.match(aStrInherit))
-                        {
-                            setDisplay(Display_inherit);
-                        }
-                        else if(aContent.match(aStrBlock))
-                        {
-                            setDisplay(Display_block);
-                        }
-                        else if(aContent.match(aStrList_item))
-                        {
-                            setDisplay(Display_list_item);
-                        }
-                        else if(aContent.match(aStrRun_in))
-                        {
-                            setDisplay(Display_run_in);
-                        }
-                        else if(aContent.match(aStrCompact))
-                        {
-                            setDisplay(Display_compact);
-                        }
-                        else if(aContent.match(aStrMarker))
-                        {
-                            setDisplay(Display_marker);
-                        }
-                        else if(aContent.match(aStrTable))
-                        {
-                            setDisplay(Display_table);
-                        }
-                        else if(aContent.match(aStrInline_table))
-                        {
-                            setDisplay(Display_inline_table);
-                        }
-                        else if(aContent.match(aStrTable_row_group))
-                        {
-                            setDisplay(Display_table_row_group);
-                        }
-                        else if(aContent.match(aStrTable_header_group))
-                        {
-                            setDisplay(Display_table_header_group);
-                        }
-                        else if(aContent.match(aStrTable_footer_group))
-                        {
-                            setDisplay(Display_table_footer_group);
-                        }
-                        else if(aContent.match(aStrTable_row))
-                        {
-                            setDisplay(Display_table_row);
-                        }
-                        else if(aContent.match(aStrTable_column_group))
-                        {
-                            setDisplay(Display_table_column_group);
-                        }
-                        else if(aContent.match(aStrTable_column))
-                        {
-                            setDisplay(Display_table_column);
-                        }
-                        else if(aContent.match(aStrTable_cell))
-                        {
-                            setDisplay(Display_table_cell);
-                        }
-                        else if(aContent.match(aStrTable_caption))
-                        {
-                            setDisplay(Display_table_caption);
-                        }
+                        setDisplay(getDisplayFromContent(aContent));
                     }
                     break;
                 }

Modified: openoffice/branches/rejuvenate01/main/svgio/source/svgreader/svgstyleattributes.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/svgio/source/svgreader/svgstyleattributes.cxx?rev=1488227&r1=1488226&r2=1488227&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/svgio/source/svgreader/svgstyleattributes.cxx (original)
+++ openoffice/branches/rejuvenate01/main/svgio/source/svgreader/svgstyleattributes.cxx Fri May 31 13:55:58 2013
@@ -318,10 +318,11 @@ namespace svgio
             if(!aSvgGradientEntryVector.empty())
             {
                 basegfx::B2DHomMatrix aGeoToUnit;
+                basegfx::B2DHomMatrix aGradientTransform;
 
                 if(rFillGradient.getGradientTransform())
                 {
-                    aGeoToUnit = *rFillGradient.getGradientTransform();
+                    aGradientTransform = *rFillGradient.getGradientTransform();
                 }
 
                 if(userSpaceOnUse == rFillGradient.getGradientUnits())
@@ -366,6 +367,7 @@ namespace svgio
                     drawinglayer::primitive2d::appendPrimitive2DReferenceToPrimitive2DSequence(
                         rTarget,
                         new drawinglayer::primitive2d::SvgLinearGradientPrimitive2D(
+                            aGradientTransform,
                             rPath, 
                             aSvgGradientEntryVector,
                             aStart,
@@ -427,6 +429,7 @@ namespace svgio
                     drawinglayer::primitive2d::appendPrimitive2DReferenceToPrimitive2DSequence(
                         rTarget,
                         new drawinglayer::primitive2d::SvgRadialGradientPrimitive2D(
+                            aGradientTransform,
                             rPath, 
                             aSvgGradientEntryVector,
                             aStart,
@@ -1184,7 +1187,7 @@ namespace svgio
         {
         }
 
-        void SvgStyleAttributes::parseStyleAttribute(const rtl::OUString& /*rTokenName*/, SVGToken aSVGToken, const rtl::OUString& aContent)
+        void SvgStyleAttributes::parseStyleAttribute(const rtl::OUString& /* rTokenName */, SVGToken aSVGToken, const rtl::OUString& aContent)
         {
             switch(aSVGToken)
             {
@@ -1788,6 +1791,18 @@ namespace svgio
                     readLocalUrl(aContent, maMarkerEndXLink);
                     break;
                 }
+                case SVGTokenDisplay:
+                {
+                    // There may be display:none statements inside of style defines, e.g. the following line:
+                    // style="display:none" 
+                    // taken from a svg example; this needs to be parsed and set at the owning node. Do not call
+                    // mrOwner.parseAttribute(...) here, this would lead to a recursion
+                    if(aContent.getLength())
+                    {
+                        mrOwner.setDisplay(getDisplayFromContent(aContent));
+                    }
+                    break;
+                }
                 default:
                 {
                     break;

Modified: openoffice/branches/rejuvenate01/main/svtools/Library_hatchwindowfactory.mk
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/svtools/Library_hatchwindowfactory.mk?rev=1488227&r1=1488226&r2=1488227&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/svtools/Library_hatchwindowfactory.mk (original)
+++ openoffice/branches/rejuvenate01/main/svtools/Library_hatchwindowfactory.mk Fri May 31 13:55:58 2013
@@ -40,7 +40,7 @@ $(eval $(call gb_Library_add_linked_libs
 	cppu \
 	cppuhelper \
 	sal \
-	tk \
+	ootk \
 	tl \
 	vcl \
 	stl \

Modified: openoffice/branches/rejuvenate01/main/svtools/Library_svt.mk
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/svtools/Library_svt.mk?rev=1488227&r1=1488226&r2=1488227&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/svtools/Library_svt.mk (original)
+++ openoffice/branches/rejuvenate01/main/svtools/Library_svt.mk Fri May 31 13:55:58 2013
@@ -60,7 +60,7 @@ $(eval $(call gb_Library_add_linked_libs
 	sot \
 	stl \
 	svl \
-	tk \
+	ootk \
 	tl \
 	ucbhelper \
 	utl \

Modified: openoffice/branches/rejuvenate01/main/svtools/inc/svtools/grfmgr.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/svtools/inc/svtools/grfmgr.hxx?rev=1488227&r1=1488226&r2=1488227&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/svtools/inc/svtools/grfmgr.hxx (original)
+++ openoffice/branches/rejuvenate01/main/svtools/inc/svtools/grfmgr.hxx Fri May 31 13:55:58 2013
@@ -470,6 +470,17 @@ public:
     friend SvStream&		operator>>( SvStream& rIStm, GraphicObject& rGraphicObj );
 
 	static GraphicObject CreateGraphicObjectFromURL( const ::rtl::OUString &rURL );
+
+    // create CropScaling information
+    // fWidth, fHeight: object size
+    // f*Crop: crop values relative to original bitmap size
+    basegfx::B2DVector calculateCropScaling(
+        double fWidth,
+        double fHeight,
+        double fLeftCrop, 
+        double fTopCrop, 
+        double fRightCrop, 
+        double fBottomCrop) const;
 };
 
 // ------------------

Modified: openoffice/branches/rejuvenate01/main/svtools/inc/svtools/statusbarcontroller.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/svtools/inc/svtools/statusbarcontroller.hxx?rev=1488227&r1=1488226&r2=1488227&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/svtools/inc/svtools/statusbarcontroller.hxx (original)
+++ openoffice/branches/rejuvenate01/main/svtools/inc/svtools/statusbarcontroller.hxx Fri May 31 13:55:58 2013
@@ -48,7 +48,6 @@ namespace svt
 
 class SVT_DLLPUBLIC StatusbarController :
                             public ::com::sun::star::frame::XStatusbarController,
-                            public ::com::sun::star::lang::XComponent,
                             public ::comphelper::OBaseMutex,
                             public ::cppu::OWeakObject
 {

Modified: openoffice/branches/rejuvenate01/main/svtools/inc/svtools/toolboxcontroller.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/svtools/inc/svtools/toolboxcontroller.hxx?rev=1488227&r1=1488226&r2=1488227&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/svtools/inc/svtools/toolboxcontroller.hxx (original)
+++ openoffice/branches/rejuvenate01/main/svtools/inc/svtools/toolboxcontroller.hxx Fri May 31 13:55:58 2013
@@ -38,12 +38,13 @@
 #include <cppuhelper/interfacecontainer.hxx>
 #include <comphelper/broadcasthelper.hxx>
 #include <com/sun/star/util/XURLTransformer.hpp>
-//shizhoubo for ToolbarController Visiable
 #include <comphelper/proparrhlp.hxx>
 #include <comphelper/property.hxx>
 #include <comphelper/propertycontainer.hxx>
 #include <cppuhelper/propshlp.hxx>
 #include <cppuhelper/interfacecontainer.hxx>
+#include <tools/link.hxx>
+
 //end
 #ifndef INCLUDED_HASH_MAP
 #include <hash_map>
@@ -54,7 +55,6 @@ class ToolBox;
 
 namespace svt
 {
-struct ToolboxController_Impl;
 
 class SVT_DLLPUBLIC ToolboxController : public ::com::sun::star::frame::XStatusListener,
                           public ::com::sun::star::frame::XToolbarController,
@@ -122,9 +122,9 @@ class SVT_DLLPUBLIC ToolboxController : 
  
 
 		const rtl::OUString& getCommandURL() const { return  m_aCommandURL; }
-		const rtl::OUString& getModuleName() const;
+		const rtl::OUString& getModuleName() const { return m_sModuleName; }
 
-		void dispatchCommand( const ::rtl::OUString& sCommandURL, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rArgs );
+		void dispatchCommand( const ::rtl::OUString& sCommandURL, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rArgs, const rtl::OUString &sTarget = rtl::OUString() );
 
 		void enable( bool bEnable );
 
@@ -140,6 +140,23 @@ class SVT_DLLPUBLIC ToolboxController : 
             ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatch > xDispatch;
         };
 
+        struct DispatchInfo
+        {
+            ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatch > mxDispatch;
+            const ::com::sun::star::util::URL maURL;
+            const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > maArgs;
+
+            DispatchInfo( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatch >& xDispatch,
+                          const ::com::sun::star::util::URL& rURL,
+                          const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rArgs )
+                : mxDispatch( xDispatch )
+                , maURL( rURL )
+                , maArgs( rArgs )
+                {}
+        };
+
+        DECL_STATIC_LINK( ToolboxController, ExecuteHdl_Impl, DispatchInfo* );
+
         typedef ::std::hash_map< ::rtl::OUString,
 				                 com::sun::star::uno::Reference< com::sun::star::frame::XDispatch >,
                                  ::rtl::OUStringHash,
@@ -153,17 +170,24 @@ class SVT_DLLPUBLIC ToolboxController : 
         sal_Bool isBound() const;
         sal_Bool hasBigImages() const;
         sal_Bool isHighContrast() const;
+        // TODO remove
         ::com::sun::star::uno::Reference< ::com::sun::star::util::XURLTransformer > getURLTransformer() const;
+        // TODO remove
 		::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow > getParent() const;
 
         sal_Bool                                                                            m_bInitialized : 1,
                                                                                             m_bDisposed : 1;
+        sal_uInt16                                                                          m_nToolBoxId;
 		::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >					m_xFrame;
-		ToolboxController_Impl*																m_pImpl;
         ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >    m_xServiceManager;
         rtl::OUString                                                                       m_aCommandURL;
         URLToDispatchMap                                                                    m_aListenerMap;
         ::cppu::OMultiTypeInterfaceContainerHelper                                          m_aListenerContainer;   /// container for ALL Listener
+
+        ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow >          m_xParentWindow;
+        ::com::sun::star::uno::Reference< ::com::sun::star::util::XURLTransformer > m_xUrlTransformer;
+        rtl::OUString m_sModuleName;
+        
 };
 
 }

Modified: openoffice/branches/rejuvenate01/main/svtools/source/control/ctrlbox.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/svtools/source/control/ctrlbox.cxx?rev=1488227&r1=1488226&r2=1488227&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/svtools/source/control/ctrlbox.cxx (original)
+++ openoffice/branches/rejuvenate01/main/svtools/source/control/ctrlbox.cxx Fri May 31 13:55:58 2013
@@ -906,7 +906,7 @@ void FontNameBox::UserDraw( const UserDr
         rUDEvt.GetDevice()->DrawText( aPos, aString );
 
         rUDEvt.GetDevice()->SetFont( aOldFont );
-        DrawEntry( rUDEvt, sal_False, sal_False);   // draw seperator
+        DrawEntry( rUDEvt, sal_False, sal_False);   // draw separator
     }
     else
     {

Modified: openoffice/branches/rejuvenate01/main/svtools/source/graphic/grfmgr.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/svtools/source/graphic/grfmgr.cxx?rev=1488227&r1=1488226&r2=1488227&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/svtools/source/graphic/grfmgr.cxx (original)
+++ openoffice/branches/rejuvenate01/main/svtools/source/graphic/grfmgr.cxx Fri May 31 13:55:58 2013
@@ -1009,24 +1009,53 @@ Graphic GraphicObject::GetTransformedGra
     }
     else if( GRAPHIC_BITMAP == eType )
     {
-        BitmapEx    aBitmapEx( aTransGraphic.GetBitmapEx() );
+        BitmapEx aBitmapEx( aTransGraphic.GetBitmapEx() );
+        Rectangle aCropRect;
 
-        // convert crops to pixel
-        aCropLeftTop = Application::GetDefaultDevice()->LogicToPixel( Size( rAttr.GetLeftCrop(),
-                                                                            rAttr.GetTopCrop() ),
-                                                                      aMap100 );
-        aCropRightBottom = Application::GetDefaultDevice()->LogicToPixel( Size( rAttr.GetRightCrop(),
-                                                                                rAttr.GetBottomCrop() ),
-                                                                          aMap100 );
-
-        // convert from prefmapmode to pixel
-        const Size aSrcSizePixel( Application::GetDefaultDevice()->LogicToPixel( aSrcSize,
-                                                                                 aMapGraph ) );
-
-        // setup crop rectangle in pixel
-        Rectangle aCropRect( aCropLeftTop.Width(), aCropLeftTop.Height(),
-                             aSrcSizePixel.Width() - aCropRightBottom.Width(),
-                             aSrcSizePixel.Height() - aCropRightBottom.Height() );
+        // convert crops to pixel (crops are always in GraphicObject units)
+        if(rAttr.IsCropped())
+        {
+            aCropLeftTop = Application::GetDefaultDevice()->LogicToPixel( 
+                Size(rAttr.GetLeftCrop(), rAttr.GetTopCrop()),
+                aMapGraph);
+            aCropRightBottom = Application::GetDefaultDevice()->LogicToPixel( 
+                Size(rAttr.GetRightCrop(), rAttr.GetBottomCrop()),
+                aMapGraph);
+
+            // convert from prefmapmode to pixel
+            Size aSrcSizePixel(
+                Application::GetDefaultDevice()->LogicToPixel( 
+                    aSrcSize,
+                    aMapGraph));
+
+            if(rAttr.IsCropped() 
+                && (aSrcSizePixel.Width() != aBitmapEx.GetSizePixel().Width() || aSrcSizePixel.Height() != aBitmapEx.GetSizePixel().Height())
+                && aSrcSizePixel.Width())
+            {
+                // the size in pixels calculated from Graphic's internal MapMode (aTransGraphic.GetPrefMapMode())
+                // and it's internal size (aTransGraphic.GetPrefSize()) is different from it's real pixel size.
+                // This can be interpreted as this values to be set wrong, but needs to be corrected since e.g.
+                // existing cropping is calculated based on this logic values already.
+                // aBitmapEx.Scale(aSrcSizePixel);
+
+                // another possibility is to adapt the values created so far with a factor; this
+                // will keep the original Bitmap untouched and thus quality will not change
+                const double fFactorX(aBitmapEx.GetSizePixel().Width() / aSrcSizePixel.Width());
+                const double fFactorY(aBitmapEx.GetSizePixel().Height() / aSrcSizePixel.Height());
+
+                aCropLeftTop.Width() = basegfx::fround(aCropLeftTop.Width() * fFactorX);
+                aCropLeftTop.Height() = basegfx::fround(aCropLeftTop.Height() * fFactorY);
+                aCropRightBottom.Width() = basegfx::fround(aCropRightBottom.Width() * fFactorX);
+                aCropRightBottom.Height() = basegfx::fround(aCropRightBottom.Height() * fFactorY);
+
+                aSrcSizePixel = aBitmapEx.GetSizePixel();
+            }
+
+            // setup crop rectangle in pixel
+            aCropRect = Rectangle( aCropLeftTop.Width(), aCropLeftTop.Height(),
+                                 aSrcSizePixel.Width() - aCropRightBottom.Width(),
+                                 aSrcSizePixel.Height() - aCropRightBottom.Height() );
+        }
 
         // #105641# Also crop animations
         if( aTransGraphic.IsAnimated() )
@@ -1092,12 +1121,10 @@ Graphic GraphicObject::GetTransformedGra
         }
         else
         {
-            BitmapEx aBmpEx( aTransGraphic.GetBitmapEx() );
-
-            ImplTransformBitmap( aBmpEx, rAttr, aCropLeftTop, aCropRightBottom,
+            ImplTransformBitmap( aBitmapEx, rAttr, aCropLeftTop, aCropRightBottom,
                                  aCropRect, rDestSize, sal_True );
 
-            aTransGraphic = aBmpEx;
+            aTransGraphic = aBitmapEx;
         }
 
         aTransGraphic.SetPrefSize( rDestSize );
@@ -1368,3 +1395,45 @@ GraphicObject GraphicObject::CreateGraph
 		return GraphicObject( aGraphic );
 	}
 }
+
+// calculate scalings between real image size and logic object size. This
+// is necessary since the crop values are relative to original bitmap size
+basegfx::B2DVector GraphicObject::calculateCropScaling(
+    double fWidth,
+    double fHeight,
+    double fLeftCrop, 
+    double fTopCrop, 
+    double fRightCrop, 
+    double fBottomCrop) const
+{
+    const MapMode aMapMode100thmm(MAP_100TH_MM);
+    Size aBitmapSize(GetPrefSize());
+    double fFactorX(1.0);
+    double fFactorY(1.0);
+
+    if(MAP_PIXEL == GetPrefMapMode().GetMapUnit())
+    {
+        aBitmapSize = Application::GetDefaultDevice()->PixelToLogic(aBitmapSize, aMapMode100thmm);
+    }
+    else
+    {
+        aBitmapSize = Application::GetDefaultDevice()->LogicToLogic(aBitmapSize, GetPrefMapMode(), aMapMode100thmm);
+    }
+
+    const double fDivX(aBitmapSize.Width() - fLeftCrop - fRightCrop);
+    const double fDivY(aBitmapSize.Height() - fTopCrop - fBottomCrop);
+
+    if(!basegfx::fTools::equalZero(fDivX))
+    {
+        fFactorX = fabs(fWidth) / fDivX;
+    }
+
+    if(!basegfx::fTools::equalZero(fDivY))
+    {
+        fFactorY = fabs(fHeight) / fDivY;
+    }
+
+    return basegfx::B2DVector(fFactorX,fFactorY);
+}
+
+// eof

Modified: openoffice/branches/rejuvenate01/main/svtools/source/misc/transfer.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/svtools/source/misc/transfer.cxx?rev=1488227&r1=1488226&r2=1488227&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/svtools/source/misc/transfer.cxx (original)
+++ openoffice/branches/rejuvenate01/main/svtools/source/misc/transfer.cxx Fri May 31 13:55:58 2013
@@ -1867,9 +1867,15 @@ sal_Bool TransferableDataHelper::GetBitm
             {
                 const Size aSize(OutputDevice::LogicToLogic(rBmpEx.GetPrefSize(), aMapMode, MAP_100TH_MM));
 
-                if((aSize.Width() > 5000) || (aSize.Height() > 5000))
+                // #122388# This wrongly corrects in the given case; changing from 5000 100th mm to
+                // the described 50 cm (which is 50000 100th mm)
+                if((aSize.Width() > 50000) || (aSize.Height() > 50000))
                 {
                     rBmpEx.SetPrefMapMode(MAP_PIXEL);
+
+                    // #122388# also adapt size by applying the mew MapMode
+                    const Size aNewSize(OutputDevice::LogicToLogic(aSize, MAP_100TH_MM, MAP_PIXEL));
+                    rBmpEx.SetPrefSize(aNewSize);
                 }
             }
         }

Modified: openoffice/branches/rejuvenate01/main/svtools/source/uno/toolboxcontroller.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/svtools/source/uno/toolboxcontroller.cxx?rev=1488227&r1=1488226&r2=1488227&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/svtools/source/uno/toolboxcontroller.cxx (original)
+++ openoffice/branches/rejuvenate01/main/svtools/source/uno/toolboxcontroller.cxx Fri May 31 13:55:58 2013
@@ -56,30 +56,6 @@ using namespace ::com::sun::star::frame;
 namespace svt
 {
 
-struct DispatchInfo
-{
-	Reference< XDispatch > mxDispatch;
-	const URL maURL;
-	const Sequence< PropertyValue > maArgs;
-
-	DispatchInfo( const Reference< XDispatch >& xDispatch, const URL& rURL, const Sequence< PropertyValue >& rArgs )
-		: mxDispatch( xDispatch ), maURL( rURL ), maArgs( rArgs ) {}
-};
-
-struct ToolboxController_Impl
-{
-	::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow >          m_xParentWindow;
-	::com::sun::star::uno::Reference< ::com::sun::star::util::XURLTransformer > m_xUrlTransformer;
-	rtl::OUString m_sModuleName;
-	 sal_uInt16 m_nToolBoxId;
-
-	DECL_STATIC_LINK( ToolboxController_Impl, ExecuteHdl_Impl, DispatchInfo* );
-
-	ToolboxController_Impl()
-		: m_nToolBoxId( SAL_MAX_UINT16 )
-	{}
-};
-
 ToolboxController::ToolboxController(
     
     const Reference< XMultiServiceFactory >& rServiceManager,
@@ -89,6 +65,7 @@ ToolboxController::ToolboxController(
     ,	OWeakObject()
     ,   m_bInitialized( sal_False )
     ,   m_bDisposed( sal_False )
+    ,   m_nToolBoxId( SAL_MAX_UINT16 )
 	,	m_xFrame(xFrame)
     ,   m_xServiceManager( rServiceManager )
     ,   m_aCommandURL( aCommandURL )
@@ -98,11 +75,9 @@ ToolboxController::ToolboxController(
 	registerProperty(TOOLBARCONTROLLER_PROPNAME_SUPPORTSVISIABLE, TOOLBARCONTROLLER_PROPHANDLE_SUPPORTSVISIABLE, com::sun::star::beans::PropertyAttribute::TRANSIENT | com::sun::star::beans::PropertyAttribute::READONLY,
 		&m_bSupportVisiable, getCppuType(&m_bSupportVisiable));
 
-	m_pImpl = new ToolboxController_Impl;
-
 	try
 	{
-		m_pImpl->m_xUrlTransformer.set( m_xServiceManager->createInstance(
+		m_xUrlTransformer.set( m_xServiceManager->createInstance(
                                                             rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.util.URLTransformer" ))),
                                                         UNO_QUERY );
 	}
@@ -116,18 +91,16 @@ ToolboxController::ToolboxController() :
     ,	OWeakObject()
     ,   m_bInitialized( sal_False )
     ,   m_bDisposed( sal_False )
+    ,   m_nToolBoxId( SAL_MAX_UINT16 )
     ,   m_aListenerContainer( m_aMutex )
 {
 	//registger Propertyh by shizhoubo
 	registerProperty(TOOLBARCONTROLLER_PROPNAME_SUPPORTSVISIABLE, TOOLBARCONTROLLER_PROPHANDLE_SUPPORTSVISIABLE, com::sun::star::beans::PropertyAttribute::TRANSIENT | com::sun::star::beans::PropertyAttribute::READONLY,
 		&m_bSupportVisiable, getCppuType(&m_bSupportVisiable));
-
-	m_pImpl = new ToolboxController_Impl;
 }
 
 ToolboxController::~ToolboxController()
 {
-	delete m_pImpl;
 }
 
 Reference< XFrame > ToolboxController::getFrameInterface() const
@@ -231,16 +204,18 @@ throw ( Exception, RuntimeException )
                 else if ( aPropValue.Name.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("ServiceManager") ))
 					m_xServiceManager.set(aPropValue.Value,UNO_QUERY);
                 else if ( aPropValue.Name.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("ParentWindow") ))
-					m_pImpl->m_xParentWindow.set(aPropValue.Value,UNO_QUERY);
+					m_xParentWindow.set(aPropValue.Value,UNO_QUERY);
 				else if ( aPropValue.Name.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("ModuleIdentifier" ) ) )
-					aPropValue.Value >>= m_pImpl->m_sModuleName;
+					aPropValue.Value >>= m_sModuleName;
+                else if ( aPropValue.Name.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("Identifier" ) ) )
+                    aPropValue.Value >>= m_nToolBoxId;
             }
         }
 
 		try
 		{
-			if ( !m_pImpl->m_xUrlTransformer.is() && m_xServiceManager.is() )
-				m_pImpl->m_xUrlTransformer.set( m_xServiceManager->createInstance(
+			if ( !m_xUrlTransformer.is() && m_xServiceManager.is() )
+				m_xUrlTransformer.set( m_xServiceManager->createInstance(
 																rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.util.URLTransformer" ))),
 															UNO_QUERY );
 		}
@@ -292,8 +267,8 @@ throw (::com::sun::star::uno::RuntimeExc
 
             com::sun::star::util::URL aTargetURL;
             aTargetURL.Complete = pIter->first;
-			if ( m_pImpl->m_xUrlTransformer.is() )
-				m_pImpl->m_xUrlTransformer->parseStrict( aTargetURL );
+			if ( m_xUrlTransformer.is() )
+				m_xUrlTransformer->parseStrict( aTargetURL );
 
             if ( xDispatch.is() && xStatusListener.is() )
                 xDispatch->removeStatusListener( xStatusListener, aTargetURL );
@@ -391,8 +366,8 @@ throw (::com::sun::star::uno::RuntimeExc
             aArgs[0].Value  = makeAny( KeyModifier );
 
             aTargetURL.Complete = aCommandURL;
-			if ( m_pImpl->m_xUrlTransformer.is() )
-				m_pImpl->m_xUrlTransformer->parseStrict( aTargetURL );
+			if ( m_xUrlTransformer.is() )
+				m_xUrlTransformer->parseStrict( aTargetURL );
             xDispatch->dispatch( aTargetURL, aArgs );
         }
         catch ( DisposedException& )
@@ -452,8 +427,8 @@ void ToolboxController::addStatusListene
             if ( m_xServiceManager.is() && xDispatchProvider.is() )
             {
                 aTargetURL.Complete = aCommandURL;
-                if ( m_pImpl->m_xUrlTransformer.is() )
-					m_pImpl->m_xUrlTransformer->parseStrict( aTargetURL );
+                if ( m_xUrlTransformer.is() )
+					m_xUrlTransformer->parseStrict( aTargetURL );
                 xDispatch = xDispatchProvider->queryDispatch( aTargetURL, ::rtl::OUString(), 0 );
 
                 xStatusListener = Reference< XStatusListener >( static_cast< OWeakObject* >( this ), UNO_QUERY );
@@ -504,8 +479,8 @@ void ToolboxController::removeStatusList
         {
             com::sun::star::util::URL aTargetURL;
             aTargetURL.Complete = aCommandURL;
-            if ( m_pImpl->m_xUrlTransformer.is() )
-				m_pImpl->m_xUrlTransformer->parseStrict( aTargetURL );
+            if ( m_xUrlTransformer.is() )
+				m_xUrlTransformer->parseStrict( aTargetURL );
 
             if ( xDispatch.is() && xStatusListener.is() )
                 xDispatch->removeStatusListener( xStatusListener, aTargetURL );
@@ -537,8 +512,8 @@ void ToolboxController::bindListener()
             {
                 com::sun::star::util::URL aTargetURL;
                 aTargetURL.Complete = pIter->first;
-                if ( m_pImpl->m_xUrlTransformer.is() )
-					m_pImpl->m_xUrlTransformer->parseStrict( aTargetURL );
+                if ( m_xUrlTransformer.is() )
+					m_xUrlTransformer->parseStrict( aTargetURL );
 
                 Reference< XDispatch > xDispatch( pIter->second );
                 if ( xDispatch.is() )
@@ -626,8 +601,8 @@ void ToolboxController::unbindListener()
         {
             com::sun::star::util::URL aTargetURL;
             aTargetURL.Complete = pIter->first;
-            if ( m_pImpl->m_xUrlTransformer.is() )
-				m_pImpl->m_xUrlTransformer->parseStrict( aTargetURL );
+            if ( m_xUrlTransformer.is() )
+				m_xUrlTransformer->parseStrict( aTargetURL );
 
             Reference< XDispatch > xDispatch( pIter->second );
             if ( xDispatch.is() )
@@ -671,7 +646,7 @@ sal_Bool ToolboxController::isHighContra
 {
     sal_Bool bHighContrast( sal_False );
 
-    Reference< XWindow > xWindow = m_pImpl->m_xParentWindow;
+    Reference< XWindow > xWindow = m_xParentWindow;
     if ( xWindow.is() )
     {
         vos::OGuard aSolarMutexGuard( Application::GetSolarMutex() );
@@ -706,8 +681,8 @@ void ToolboxController::updateStatus( co
         if ( m_xServiceManager.is() && xDispatchProvider.is() )
         {
             aTargetURL.Complete = aCommandURL;
-            if ( m_pImpl->m_xUrlTransformer.is() )
-				m_pImpl->m_xUrlTransformer->parseStrict( aTargetURL );
+            if ( m_xUrlTransformer.is() )
+				m_xUrlTransformer->parseStrict( aTargetURL );
             xDispatch = xDispatchProvider->queryDispatch( aTargetURL, rtl::OUString(), 0 );
         }
     }
@@ -731,20 +706,15 @@ void ToolboxController::updateStatus( co
 
 Reference< XURLTransformer > ToolboxController::getURLTransformer() const
 {
-	return m_pImpl->m_xUrlTransformer;
+	return m_xUrlTransformer;
 }
 
 Reference< ::com::sun::star::awt::XWindow > ToolboxController::getParent() const
 {
-	return m_pImpl->m_xParentWindow;
-}
-
-const rtl::OUString& ToolboxController::getModuleName() const
-{
-	return m_pImpl->m_sModuleName;
+	return m_xParentWindow;
 }
 
-void ToolboxController::dispatchCommand( const OUString& sCommandURL, const Sequence< PropertyValue >& rArgs )
+void ToolboxController::dispatchCommand( const OUString& sCommandURL, const Sequence< PropertyValue >& rArgs, const OUString &sTarget )
 {
     try
     {
@@ -753,9 +723,12 @@ void ToolboxController::dispatchCommand(
         aURL.Complete = sCommandURL;
         getURLTransformer()->parseStrict( aURL );
 
-		Reference< XDispatch > xDispatch( xDispatchProvider->queryDispatch( aURL, OUString(), 0 ), UNO_QUERY_THROW );
+		Reference< XDispatch > xDispatch( xDispatchProvider->queryDispatch( aURL, sTarget, 0 ), UNO_QUERY_THROW );
 
-        Application::PostUserEvent( STATIC_LINK(0, ToolboxController_Impl, ExecuteHdl_Impl), new DispatchInfo( xDispatch, aURL, rArgs ) );
+        DispatchInfo *pDispatchInfo = new DispatchInfo( xDispatch, aURL, rArgs );
+        if ( !Application::PostUserEvent( STATIC_LINK(0, ToolboxController, ExecuteHdl_Impl),
+                                          pDispatchInfo ) )
+            delete pDispatchInfo;
 
     }
 	catch( Exception& )
@@ -829,7 +802,7 @@ throw( com::sun::star::uno::Exception)
 
 //--------------------------------------------------------------------
 
-IMPL_STATIC_LINK_NOINSTANCE( ToolboxController_Impl, ExecuteHdl_Impl, DispatchInfo*, pDispatchInfo )
+IMPL_STATIC_LINK_NOINSTANCE( ToolboxController, ExecuteHdl_Impl, DispatchInfo*, pDispatchInfo )
 {
 	pDispatchInfo->mxDispatch->dispatch( pDispatchInfo->maURL, pDispatchInfo->maArgs );
     delete pDispatchInfo;
@@ -848,12 +821,12 @@ void ToolboxController::enable( bool bEn
 
 bool ToolboxController::getToolboxId( sal_uInt16& rItemId, ToolBox** ppToolBox )
 {
-	if( (m_pImpl->m_nToolBoxId != SAL_MAX_UINT16) && (ppToolBox == 0) )
-		return m_pImpl->m_nToolBoxId;
+	if( (m_nToolBoxId != SAL_MAX_UINT16) && (ppToolBox == 0) )
+		return m_nToolBoxId;
 
 	ToolBox* pToolBox = static_cast< ToolBox* >( VCLUnoHelper::GetWindow( getParent() ) );
 
-	if( (m_pImpl->m_nToolBoxId == SAL_MAX_UINT16) && pToolBox )
+	if( (m_nToolBoxId == SAL_MAX_UINT16) && pToolBox )
 	{
         const sal_uInt16 nCount = pToolBox->GetItemCount();
 		for ( sal_uInt16 nPos = 0; nPos < nCount; ++nPos )
@@ -861,7 +834,7 @@ bool ToolboxController::getToolboxId( sa
 			const sal_uInt16 nItemId = pToolBox->GetItemId( nPos );
 			if ( pToolBox->GetItemCommand( nItemId ) == String( m_aCommandURL ) )
 			{
-				m_pImpl->m_nToolBoxId = nItemId;
+				m_nToolBoxId = nItemId;
 				break;
 			}
 		}
@@ -870,7 +843,7 @@ bool ToolboxController::getToolboxId( sa
 	if( ppToolBox )
 		*ppToolBox = pToolBox;
 
-	rItemId = m_pImpl->m_nToolBoxId;
+	rItemId = m_nToolBoxId;
 
 	return (rItemId != SAL_MAX_UINT16) && (( ppToolBox == 0) || (*ppToolBox != 0) );
 }

Modified: openoffice/branches/rejuvenate01/main/svx/Library_svx.mk
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/svx/Library_svx.mk?rev=1488227&r1=1488226&r2=1488227&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/svx/Library_svx.mk (original)
+++ openoffice/branches/rejuvenate01/main/svx/Library_svx.mk Fri May 31 13:55:58 2013
@@ -58,7 +58,7 @@ $(eval $(call gb_Library_add_linked_libs
 	svl \
 	svt \
 	svxcore \
-	tk \
+	ootk \
 	tl \
 	ucbhelper \
 	utl \
@@ -213,7 +213,6 @@ $(eval $(call gb_Library_add_exception_o
     svx/source/sidebar/tools/Popup \
     svx/source/sidebar/tools/ValueSetWithTextControl \
     svx/source/sidebar/insert/InsertPropertyPanel \
-    svx/source/sidebar/insert/SimpleToolBoxController \
     svx/source/stbctrls/pszctrl \
     svx/source/stbctrls/insctrl \
     svx/source/stbctrls/selctrl \

Modified: openoffice/branches/rejuvenate01/main/svx/Library_svxcore.mk
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/svx/Library_svxcore.mk?rev=1488227&r1=1488226&r2=1488227&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/svx/Library_svxcore.mk (original)
+++ openoffice/branches/rejuvenate01/main/svx/Library_svxcore.mk Fri May 31 13:55:58 2013
@@ -72,7 +72,7 @@ $(eval $(call gb_Library_add_linked_libs
     stl \
 	svl \
 	svt \
-	tk \
+	ootk \
 	tl \
 	ucbhelper \
 	utl \

Modified: openoffice/branches/rejuvenate01/main/svx/Library_textconversiondlgs.mk
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/svx/Library_textconversiondlgs.mk?rev=1488227&r1=1488226&r2=1488227&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/svx/Library_textconversiondlgs.mk (original)
+++ openoffice/branches/rejuvenate01/main/svx/Library_textconversiondlgs.mk Fri May 31 13:55:58 2013
@@ -43,8 +43,8 @@ $(eval $(call gb_Library_add_linked_libs
 	sal \
 	svl \
 	svt \
-    stl \
-	tk \
+        stl \
+	ootk \
 	tl \
 	utl \
 	vcl \

Modified: openoffice/branches/rejuvenate01/main/svx/inc/svx/charmap.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/svx/inc/svx/charmap.hxx?rev=1488227&r1=1488226&r2=1488227&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/svx/inc/svx/charmap.hxx (original)
+++ openoffice/branches/rejuvenate01/main/svx/inc/svx/charmap.hxx Fri May 31 13:55:58 2013
@@ -50,7 +50,7 @@ class SVX_DLLPUBLIC SvxShowCharSet : pub
 {
 public:
 					SvxShowCharSet( Window* pParent, const ResId& rResId );
-					~SvxShowCharSet();
+	virtual				~SvxShowCharSet();
 
 	void            SetFont( const Font& rFont );
 

Modified: openoffice/branches/rejuvenate01/main/svx/inc/svx/dialogs.hrc
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/svx/inc/svx/dialogs.hrc?rev=1488227&r1=1488226&r2=1488227&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/svx/inc/svx/dialogs.hrc (original)
+++ openoffice/branches/rejuvenate01/main/svx/inc/svx/dialogs.hrc Fri May 31 13:55:58 2013
@@ -463,24 +463,21 @@
 #define RID_SVXSTR_CLOSE                    (RID_SVX_START + 260)
 
 // Farben-Strings
-#define RID_SVXSTR_BLACK                    (RID_SVX_START + 275)
-#define RID_SVXSTR_BLUE                     (RID_SVX_START + 276)
-#define RID_SVXSTR_GREEN                    (RID_SVX_START + 277)
-#define RID_SVXSTR_CYAN                     (RID_SVX_START + 278)
-#define RID_SVXSTR_RED                      (RID_SVX_START + 279)
-#define RID_SVXSTR_MAGENTA                  (RID_SVX_START + 280)
-#define RID_SVXSTR_BROWN                    (RID_SVX_START + 281)
-#define RID_SVXSTR_GREY                     (RID_SVX_START + 282)
-#define RID_SVXSTR_LIGHTGREY                (RID_SVX_START + 283)
-#define RID_SVXSTR_LIGHTBLUE                (RID_SVX_START + 284)
-#define RID_SVXSTR_LIGHTGREEN               (RID_SVX_START + 285)
-#define RID_SVXSTR_LIGHTCYAN                (RID_SVX_START + 286)
-#define RID_SVXSTR_LIGHTRED                 (RID_SVX_START + 287)
-#define RID_SVXSTR_LIGHTMAGENTA             (RID_SVX_START + 288)
-#define RID_SVXSTR_YELLOW                   (RID_SVX_START + 289)
-#define RID_SVXSTR_WHITE                    (RID_SVX_START + 290)
-#define RID_SVXSTR_BLUEGREY                 (RID_SVX_START + 291)
-#define RID_SVXSTR_ORANGE                   (RID_SVX_START + 292)
+#define RID_SVXSTR_COLOR_BLACK              (RID_SVX_START + 275)
+#define RID_SVXSTR_COLOR_BLUE               (RID_SVX_START + 276)
+#define RID_SVXSTR_COLOR_GREEN              (RID_SVX_START + 277)
+#define RID_SVXSTR_COLOR_CYAN               (RID_SVX_START + 278)
+#define RID_SVXSTR_COLOR_RED                (RID_SVX_START + 279)
+#define RID_SVXSTR_COLOR_MAGENTA            (RID_SVX_START + 280)
+#define RID_SVXSTR_COLOR_GREY               (RID_SVX_START + 282)
+#define RID_SVXSTR_COLOR_YELLOW             (RID_SVX_START + 289)
+#define RID_SVXSTR_COLOR_WHITE              (RID_SVX_START + 290)
+#define RID_SVXSTR_COLOR_BLUEGREY           (RID_SVX_START + 291)
+#define RID_SVXSTR_COLOR_ORANGE             (RID_SVX_START + 292)
+#define RID_SVXSTR_COLOR_TURQUOISE          (RID_SVX_START + 293)
+#define RID_SVXSTR_COLOR_TURQUOISE_DEF      (RID_SVX_START + 294)
+#define RID_SVXSTR_COLOR_BLUE_CLASSIC       (RID_SVX_START + 295)
+#define RID_SVXSTR_COLOR_BLUE_CLASSIC_DEF   (RID_SVX_START + 296)
 
 // Linienenden-Strings
 #define RID_SVXSTR_ARROW                    (RID_SVX_START + 300)
@@ -590,14 +587,13 @@
 #define RID_SVXSTR_BACKGROUND    			(RID_SVX_START + 531)
 
 // BM: some additional standard colors
-#define RID_SVXSTR_VIOLET					(RID_SVX_START + 540)
-#define RID_SVXSTR_BORDEAUX					(RID_SVX_START + 541)
-#define RID_SVXSTR_PALE_YELLOW				(RID_SVX_START + 542)
-#define RID_SVXSTR_PALE_GREEN				(RID_SVX_START + 543)
-#define RID_SVXSTR_DKVIOLET					(RID_SVX_START + 544)
-#define RID_SVXSTR_SALMON					(RID_SVX_START + 545)
-#define RID_SVXSTR_SEABLUE					(RID_SVX_START + 546)
-#define RID_SVXSTR_COLOR_SUN				(RID_SVX_START + 547)
+#define RID_SVXSTR_COLOR_VIOLET				(RID_SVX_START + 540)
+#define RID_SVXSTR_COLOR_BORDEAUX			(RID_SVX_START + 541)
+#define RID_SVXSTR_COLOR_PALE_YELLOW		(RID_SVX_START + 542)
+#define RID_SVXSTR_COLOR_PALE_GREEN			(RID_SVX_START + 543)
+#define RID_SVXSTR_COLOR_DARKVIOLET			(RID_SVX_START + 544)
+#define RID_SVXSTR_COLOR_SALMON				(RID_SVX_START + 545)
+#define RID_SVXSTR_COLOR_SEABLUE			(RID_SVX_START + 546)
 
 // JP: string resource ids for table-autoformat-names, used in SW/SC
 // !!! Urgent: the order of Ids is persistent. New Ids have to append !!!
@@ -633,34 +629,35 @@
 #define RID_SVXSTR_LINEJOINT_ROUND			(RID_SVX_START + 592 )
 
 // Default-Color-Names
-#define RID_SVXSTR_BLACK_DEF                (RID_SVX_START + 595)
-#define RID_SVXSTR_BLUE_DEF                 (RID_SVX_START + 596)
-#define RID_SVXSTR_GREEN_DEF                (RID_SVX_START + 597)
-#define RID_SVXSTR_CYAN_DEF                 (RID_SVX_START + 598)
-#define RID_SVXSTR_RED_DEF                  (RID_SVX_START + 599)
-#define RID_SVXSTR_MAGENTA_DEF              (RID_SVX_START + 600)
-#define RID_SVXSTR_BROWN_DEF                (RID_SVX_START + 601)
-#define RID_SVXSTR_GREY_DEF                 (RID_SVX_START + 602)
-#define RID_SVXSTR_LIGHTGREY_DEF            (RID_SVX_START + 603)
-#define RID_SVXSTR_LIGHTBLUE_DEF            (RID_SVX_START + 604)
-#define RID_SVXSTR_LIGHTGREEN_DEF           (RID_SVX_START + 605)
-#define RID_SVXSTR_LIGHTCYAN_DEF            (RID_SVX_START + 606)
-#define RID_SVXSTR_LIGHTRED_DEF             (RID_SVX_START + 607)
-#define RID_SVXSTR_LIGHTMAGENTA_DEF         (RID_SVX_START + 608)
-#define RID_SVXSTR_YELLOW_DEF               (RID_SVX_START + 609)
-#define RID_SVXSTR_WHITE_DEF                (RID_SVX_START + 610)
-#define RID_SVXSTR_BLUEGREY_DEF             (RID_SVX_START + 611)
-#define RID_SVXSTR_ORANGE_DEF               (RID_SVX_START + 612)
-#define RID_SVXSTR_VIOLET_DEF				(RID_SVX_START + 613)
-#define RID_SVXSTR_BORDEAUX_DEF				(RID_SVX_START + 614)
-#define RID_SVXSTR_PALE_YELLOW_DEF			(RID_SVX_START + 615)
-#define RID_SVXSTR_PALE_GREEN_DEF			(RID_SVX_START + 616)
-#define RID_SVXSTR_DKVIOLET_DEF				(RID_SVX_START + 617)
-#define RID_SVXSTR_SALMON_DEF				(RID_SVX_START + 618)
-#define RID_SVXSTR_SEABLUE_DEF				(RID_SVX_START + 619)
+#define RID_SVXSTR_COLOR_BLACK_DEF          (RID_SVX_START + 595)
+#define RID_SVXSTR_COLOR_BLUE_DEF           (RID_SVX_START + 596)
+#define RID_SVXSTR_COLOR_GREEN_DEF          (RID_SVX_START + 597)
+#define RID_SVXSTR_COLOR_CYAN_DEF           (RID_SVX_START + 598)
+#define RID_SVXSTR_COLOR_RED_DEF            (RID_SVX_START + 599)
+#define RID_SVXSTR_COLOR_MAGENTA_DEF        (RID_SVX_START + 600)
+#define RID_SVXSTR_COLOR_GREY_DEF           (RID_SVX_START + 602)
+#define RID_SVXSTR_COLOR_YELLOW_DEF         (RID_SVX_START + 609)
+#define RID_SVXSTR_COLOR_WHITE_DEF          (RID_SVX_START + 610)
+#define RID_SVXSTR_COLOR_BLUEGREY_DEF       (RID_SVX_START + 611)
+#define RID_SVXSTR_COLOR_ORANGE_DEF         (RID_SVX_START + 612)
+#define RID_SVXSTR_COLOR_VIOLET_DEF			(RID_SVX_START + 613)
+#define RID_SVXSTR_COLOR_BORDEAUX_DEF		(RID_SVX_START + 614)
+#define RID_SVXSTR_COLOR_PALE_YELLOW_DEF	(RID_SVX_START + 615)
+#define RID_SVXSTR_COLOR_PALE_GREEN_DEF		(RID_SVX_START + 616)
+#define RID_SVXSTR_COLOR_DARKVIOLET_DEF		(RID_SVX_START + 617)
+#define RID_SVXSTR_COLOR_SALMON_DEF			(RID_SVX_START + 618)
+#define RID_SVXSTR_COLOR_SEABLUE_DEF		(RID_SVX_START + 619)
 #define RID_SVXSTR_COLOR_SUN_DEF			(RID_SVX_START + 620)
 #define RID_SVXSTR_COLOR_CHART				(RID_SVX_START + 621)
 #define RID_SVXSTR_COLOR_CHART_DEF			(RID_SVX_START + 622)
+#define RID_SVXSTR_COLOR_PURPLE             (RID_SVX_START + 623)
+#define RID_SVXSTR_COLOR_PURPLE_DEF         (RID_SVX_START + 624)
+#define RID_SVXSTR_COLOR_SKYBLUE            (RID_SVX_START + 625)
+#define RID_SVXSTR_COLOR_SKYBLUE_DEF        (RID_SVX_START + 626)
+#define RID_SVXSTR_COLOR_YELLOWGREEN        (RID_SVX_START + 627)
+#define RID_SVXSTR_COLOR_YELLOWGREEN_DEF    (RID_SVX_START + 628)
+#define RID_SVXSTR_COLOR_PINK               (RID_SVX_START + 629)
+#define RID_SVXSTR_COLOR_PINK_DEF           (RID_SVX_START + 630)
 
 // Default-Gradient-Names
 #define RID_SVXSTR_GRDT0_DEF				(RID_SVX_START + 631)

Modified: openoffice/branches/rejuvenate01/main/svx/inc/svx/galbrws.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/svx/inc/svx/galbrws.hxx?rev=1488227&r1=1488226&r2=1488227&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/svx/inc/svx/galbrws.hxx (original)
+++ openoffice/branches/rejuvenate01/main/svx/inc/svx/galbrws.hxx Fri May 31 13:55:58 2013
@@ -28,12 +28,6 @@
 #include <tools/urlobj.hxx>
 #include "svx/svxdllapi.h"
 
-// -----------
-// - Defines -
-// -----------
-
-#define GALLERYBROWSER() ((GalleryBrowser*)( SfxViewFrame::Current()->GetChildWindow(GalleryChildWindow::GetChildWindowId())->GetWindow()))
-
 // -------------------------
 // - SvxGalleryChildWindow -
 // -------------------------

Modified: openoffice/branches/rejuvenate01/main/svx/inc/svx/sidebar/SelectionAnalyzer.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/svx/inc/svx/sidebar/SelectionAnalyzer.hxx?rev=1488227&r1=1488226&r2=1488227&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/svx/inc/svx/sidebar/SelectionAnalyzer.hxx (original)
+++ openoffice/branches/rejuvenate01/main/svx/inc/svx/sidebar/SelectionAnalyzer.hxx Fri May 31 13:55:58 2013
@@ -31,24 +31,35 @@ class SdrObject;
 
 namespace svx { namespace sidebar {
 
+/** Analyze the current selection of Calc or Draw/Impress documents
+    and return the associated sidebar context.
+
+    The decision is based on heuristics.  Do not expect pretty code.
+*/
 class SVX_DLLPUBLIC SelectionAnalyzer
 {
 public :
     static sfx2::sidebar::EnumContext::Context GetContextForSelection_SC (
         const SdrMarkList& rMarkList);
+
+    enum ViewType
+    {
+        VT_Standard,
+        VT_Master,
+        VT_Handout,
+        VT_Notes,
+        VT_Outline
+    };
     static sfx2::sidebar::EnumContext::Context GetContextForSelection_SD (
         const SdrMarkList& rMarkList,
-        const bool bIsMasterPage,
-        const bool bIsHandoutPage,
-        const bool bIsNotesPage);
+        const ViewType eViewType);
 
 private:
     static sfx2::sidebar::EnumContext::Context GetContextForObjectId_SC (
         const sal_uInt16 nObjectId);
     static sfx2::sidebar::EnumContext::Context GetContextForObjectId_SD (
         const sal_uInt16 nObjectId,
-        const bool bIsHandoutPage,
-        const bool bIsNotesPage);
+        const ViewType eViewType);
     static sal_uInt32 GetInventorTypeFromMark (
         const SdrMarkList& rMarkList);
     static sal_uInt16 GetObjectTypeFromMark (

Modified: openoffice/branches/rejuvenate01/main/svx/inc/svx/sidebar/SelectionChangeHandler.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/svx/inc/svx/sidebar/SelectionChangeHandler.hxx?rev=1488227&r1=1488226&r2=1488227&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/svx/inc/svx/sidebar/SelectionChangeHandler.hxx (original)
+++ openoffice/branches/rejuvenate01/main/svx/inc/svx/sidebar/SelectionChangeHandler.hxx Fri May 31 13:55:58 2013
@@ -57,7 +57,7 @@ class SVX_DLLPUBLIC SelectionChangeHandl
 {
 public:
     SelectionChangeHandler (
-        const boost::function<sfx2::sidebar::EnumContext::Context(void)>& rSelectionChangeCallback,
+        const boost::function<rtl::OUString(void)>& rSelectionChangeCallback,
         const cssu::Reference<css::frame::XController>& rxController,
         const sfx2::sidebar::EnumContext::Context eDefaultContext);
     virtual ~SelectionChangeHandler (void);
@@ -75,7 +75,7 @@ public:
     void Disconnect (void);
 
 private:
-    const boost::function<sfx2::sidebar::EnumContext::Context(void)> maSelectionChangeCallback;
+    const boost::function<rtl::OUString(void)> maSelectionChangeCallback;
     cssu::Reference<css::frame::XController> mxController;
     const sfx2::sidebar::EnumContext::Context meDefaultContext;
     bool mbIsConnected;

Modified: openoffice/branches/rejuvenate01/main/svx/inc/svx/svdhdl.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/svx/inc/svx/svdhdl.hxx?rev=1488227&r1=1488226&r2=1488227&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/svx/inc/svx/svdhdl.hxx (original)
+++ openoffice/branches/rejuvenate01/main/svx/inc/svx/svdhdl.hxx Fri May 31 13:55:58 2013
@@ -42,6 +42,8 @@
 
 #include <svx/xpoly.hxx>
 #include <svx/svdoedge.hxx>
+#include <basegfx/matrix/b2dhommatrix.hxx>
+#include <svx/sdgcpitm.hxx>
 
 class VirtualDevice;
 class OutputDevice;
@@ -528,5 +530,41 @@ protected:
 	static BitmapEx GetHandlesBitmap( bool bIsFineHdl, bool bIsHighContrast );
 };
 
+////////////////////////////////////////////////////////////////////////////////////////////////////
+
+class SVX_DLLPUBLIC SdrCropViewHdl : public SdrHdl
+{
+private:
+    basegfx::B2DHomMatrix       maObjectTransform;
+    Graphic                     maGraphic;
+    double                      mfCropLeft;
+    double                      mfCropTop;
+    double                      mfCropRight;
+    double                      mfCropBottom;
+
+    // Argh! The old geometry stuff expresses Y-Mirror using 180 degree rotaton
+    // and the bMirrored bool at the SdrGrafObj, so for now I have to give
+    // this info here. I am sooo looking forward to aw080 and real transformations :-(
+    bool                        mbExtraMirrorXFromGraphic;
+
+public:
+    SdrCropViewHdl(
+        const basegfx::B2DHomMatrix& rObjectTransform,
+        const Graphic& rGraphic,
+        double fCropLeft,
+        double fCropTop,
+        double fCropRight,
+        double fCropBottom,
+        bool bExtraMirrorXFromGraphic);
+
+protected:
+    // create marker for this kind
+    virtual void CreateB2dIAObject();
+};
+
+////////////////////////////////////////////////////////////////////////////////////////////////////
+
 #endif //_SVDHDL_HXX
 
+////////////////////////////////////////////////////////////////////////////////////////////////////
+// eof

Modified: openoffice/branches/rejuvenate01/main/svx/inc/svx/svdograf.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/svx/inc/svx/svdograf.hxx?rev=1488227&r1=1488226&r2=1488227&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/svx/inc/svx/svdograf.hxx (original)
+++ openoffice/branches/rejuvenate01/main/svx/inc/svx/svdograf.hxx Fri May 31 13:55:58 2013
@@ -209,7 +209,7 @@ public:
 
 	virtual void			Notify( SfxBroadcaster& rBC, const SfxHint& rHint );
 
-	bool					IsMirrored() { return bMirrored; }
+	bool					IsMirrored() const { return bMirrored; }
 	void					SetMirrored( bool _bMirrored ) { bMirrored = _bMirrored; }
 
 	// #111096#

Modified: openoffice/branches/rejuvenate01/main/svx/source/dialog/docrecovery.src
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/svx/source/dialog/docrecovery.src?rev=1488227&r1=1488226&r2=1488227&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/svx/source/dialog/docrecovery.src (original)
+++ openoffice/branches/rejuvenate01/main/svx/source/dialog/docrecovery.src Fri May 31 13:55:58 2013
@@ -371,7 +371,7 @@ TabPage RID_SVXPAGE_ERR_REP_WELCOME
 		Pos = MAP_APPFONT( RECOV_COL1, RECOV_ROW2 );
 		Size = MAP_APPFONT( RECOV_CONTROLWIDTH, (RECOV_ROW7-RECOV_ROW2-RSC_SP_CTRL_Y) );
 		WordBreak = TRUE;
-		Text[ en-US ] = "This error report tool gathers information about how %PRODUCTNAME is working and sends it to Apache OpenOffice to help improve future versions.\n\nIt's easy - just send the report without any further effort on your part by clicking 'Send' in the next dialog, or you can briefly describe how the error occurred and then click 'Send'. If you want to see the report, click the 'Show Report' button. No data will be sent if you click 'Do Not Send'.\n\nCustomer Privacy\nThe information gathered is limited to data concerning the state of %PRODUCTNAME %PRODUCTVERSION when the error occurred. Other information about passwords or document contents is not collected.\n\nThe information will only be used to improve the quality of %PRODUCTNAME and will not be shared with third parties.\nFor more information on Apache OpenOffice's privacy policy, visit\nwww.oracle.com/html/services-privacy-policy.html";
+		Text[ en-US ] = "This error report tool gathers information about how %PRODUCTNAME is working and sends it to Apache OpenOffice to help improve future versions.\n\nIt's easy - just send the report without any further effort on your part by clicking 'Send' in the next dialog, or you can briefly describe how the error occurred and then click 'Send'. If you want to see the report, click the 'Show Report' button. No data will be sent if you click 'Do Not Send'.\n\nCustomer Privacy\nThe information gathered is limited to data concerning the state of %PRODUCTNAME %PRODUCTVERSION when the error occurred. Other information about passwords or document contents is not collected.\n\nThe information will only be used to improve the quality of %PRODUCTNAME and will not be shared with third parties.\nFor more information on Apache OpenOffice's privacy policy, visit\nhttp://www.openoffice.org/privacy.html";
 	};
 	FixedLine FL_RECOV_BOTTOM
 	{

Modified: openoffice/branches/rejuvenate01/main/svx/source/dialog/sdstring.src
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/svx/source/dialog/sdstring.src?rev=1488227&r1=1488226&r2=1488227&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/svx/source/dialog/sdstring.src (original)
+++ openoffice/branches/rejuvenate01/main/svx/source/dialog/sdstring.src Fri May 31 13:55:58 2013
@@ -66,87 +66,59 @@ String RID_SVXSTR_CLOSE
 	/* ### ACHTUNG: Neuer Text in Resource? Schließen : Schlie˜en */
 	Text [ en-US ] = "Close" ;
 };
-String RID_SVXSTR_BLACK
+String RID_SVXSTR_COLOR_BLACK
 {
 	Text [ en-US ] = "Black" ;
 };
-String RID_SVXSTR_BLUE
+String RID_SVXSTR_COLOR_BLUE
 {
 	Text [ en-US ] = "Blue" ;
 };
-String RID_SVXSTR_GREEN
+String RID_SVXSTR_COLOR_GREEN
 {
 	/* ### ACHTUNG: Neuer Text in Resource? Grün : Gr³n */
 	/* ### ACHTUNG: Neuer Text in Resource? Grün : Gr³n */
 	Text [ en-US ] = "Green" ;
 };
-String RID_SVXSTR_CYAN
+String RID_SVXSTR_COLOR_CYAN
 {
 	/* ### ACHTUNG: Neuer Text in Resource? Türkis : T³rkis */
 	/* ### ACHTUNG: Neuer Text in Resource? Türkis : T³rkis */
-	Text [ en-US ] = "Turquoise" ;
+	Text [ en-US ] = "Cyan" ;
 };
-String RID_SVXSTR_RED
+String RID_SVXSTR_COLOR_RED
 {
 	Text [ en-US ] = "Red" ;
 };
-String RID_SVXSTR_MAGENTA
+String RID_SVXSTR_COLOR_MAGENTA
 {
 	/* ### ACHTUNG: Neuer Text in Resource? Magenta : Violett */
 	Text [ en-US ] = "Magenta" ;
 };
-String RID_SVXSTR_BROWN
-{
-	Text [ en-US ] = "Brown" ;
-};
-String RID_SVXSTR_GREY
+String RID_SVXSTR_COLOR_GREY
 {
 	Text [ en-US ] = "Gray" ;
 };
-String RID_SVXSTR_LIGHTGREY
-{
-	Text [ en-US ] = "Light gray" ;
-};
-String RID_SVXSTR_LIGHTBLUE
-{
-	Text [ en-US ] = "Light blue" ;
-};
-String RID_SVXSTR_LIGHTGREEN
-{
-	/* ### ACHTUNG: Neuer Text in Resource? Hellgrün : Hellgr³n */
-	/* ### ACHTUNG: Neuer Text in Resource? Hellgrün : Hellgr³n */
-	Text [ en-US ] = "Light green" ;
-};
-String RID_SVXSTR_LIGHTCYAN
-{
-	/* ### ACHTUNG: Neuer Text in Resource? Helltürkis : Hellt³rkis */
-	/* ### ACHTUNG: Neuer Text in Resource? Helltürkis : Hellt³rkis */
-	Text [ en-US ] = "Light cyan" ;
-};
-String RID_SVXSTR_LIGHTRED
-{
-	Text [ en-US ] = "Light red" ;
-};
-String RID_SVXSTR_LIGHTMAGENTA
-{
-	/* ### ACHTUNG: Neuer Text in Resource? Hellmagenta : Hellviolett */
-	Text [ en-US ] = "Light magenta" ;
-};
-String RID_SVXSTR_YELLOW
+String RID_SVXSTR_COLOR_YELLOW
 {
 	Text [ en-US ] = "Yellow" ;
 };
-String RID_SVXSTR_WHITE
+String RID_SVXSTR_COLOR_WHITE
 {
 	/* ### ACHTUNG: Neuer Text in Resource? Weiß : Wei˜ */
 	/* ### ACHTUNG: Neuer Text in Resource? Weiß : Wei˜ */
 	Text [ en-US ] = "White" ;
 };
-String RID_SVXSTR_BLUEGREY
+String RID_SVXSTR_COLOR_BLUEGREY
 {
 	Text [ en-US ] = "Blue gray" ;
 };
-String RID_SVXSTR_ORANGE
+String RID_SVXSTR_COLOR_BLUE_CLASSIC
+{
+    /* Old default color Blue9, probably often used in saved files */
+	Text [ en-US ] = "Blue classic" ;
+};
+String RID_SVXSTR_COLOR_ORANGE
 {
 	Text [ en-US ] = "Orange" ;
 };
@@ -232,50 +204,69 @@ String STR_INSERT_VIDEO_TITLE
 
 // BM: some additional standard colors
 
-String RID_SVXSTR_VIOLET
+String RID_SVXSTR_COLOR_VIOLET
 {
 	Text [ en-US ] = "Violet";
 };
 
-String RID_SVXSTR_BORDEAUX
+String RID_SVXSTR_COLOR_BORDEAUX
 {
 	Text [ en-US ] = "Bordeaux";
 };
 
-String RID_SVXSTR_PALE_YELLOW
+String RID_SVXSTR_COLOR_PALE_YELLOW
 {
 	Text [ en-US ] = "Pale yellow";
 };
 
-String RID_SVXSTR_PALE_GREEN
+String RID_SVXSTR_COLOR_PALE_GREEN
 {
 	Text [ en-US ] = "Pale green";
 };
 
-String RID_SVXSTR_DKVIOLET
+String RID_SVXSTR_COLOR_DARKVIOLET
 {
 	Text [ en-US ] = "Dark violet";
 };
 
-String RID_SVXSTR_SALMON
+String RID_SVXSTR_COLOR_SALMON
 {
 	Text [ en-US ] = "Salmon";
 };
 
-String RID_SVXSTR_SEABLUE
+String RID_SVXSTR_COLOR_SEABLUE
 {
 	Text [ en-US ] = "Sea blue";
 };
 
-String RID_SVXSTR_COLOR_SUN
+String RID_SVXSTR_COLOR_CHART
 {
-	// attention: this is the color string for the Sun Microsystems specific colors !!!
-	Text [ en-US ] = "Sun" ;
+	Text [ en-US ] = "Chart" ;
 };
 
-String RID_SVXSTR_COLOR_CHART
+String RID_SVXSTR_COLOR_PURPLE
 {
-	Text [ en-US ] = "Chart" ;
+    Text [ en-US ] = "Purple";
+};
+
+String RID_SVXSTR_COLOR_SKYBLUE
+{
+    Text [ en-US ] = "Sky blue";
+};
+
+String RID_SVXSTR_COLOR_YELLOWGREEN
+{
+    Text [ en-US ] = "Yellow green";
+};
+
+String RID_SVXSTR_COLOR_PINK
+{
+    Text [ en-US ] = "Pink";
+};
+
+String RID_SVXSTR_COLOR_TURQUOISE
+{
+    Text [ en-US ] = "Turquoise" ;
 };
 
 String RID_SVXSTR_TBLAFMT_3D
@@ -379,127 +370,92 @@ String RID_SVXSTR_LINECAP_SQUARE
 //
 
 /* nicht uebersetzen */
-String RID_SVXSTR_BLACK_DEF
+String RID_SVXSTR_COLOR_BLACK_DEF
 {
 	Text = "Black" ;
 };
 /* nicht uebersetzen */
-String RID_SVXSTR_BLUE_DEF
+String RID_SVXSTR_COLOR_BLUE_DEF
 {
 	Text = "Blue" ;
 };
 /* nicht uebersetzen */
-String RID_SVXSTR_GREEN_DEF
+String RID_SVXSTR_COLOR_GREEN_DEF
 {
 	Text = "Green" ;
 };
 /* nicht uebersetzen */
-String RID_SVXSTR_CYAN_DEF
+String RID_SVXSTR_COLOR_CYAN_DEF
 {
-	Text = "Turquoise" ;
+	Text = "Cyan" ;
 };
 /* nicht uebersetzen */
-String RID_SVXSTR_RED_DEF
+String RID_SVXSTR_COLOR_RED_DEF
 {
 	Text = "Red" ;
 };
 /* nicht uebersetzen */
-String RID_SVXSTR_MAGENTA_DEF
+String RID_SVXSTR_COLOR_MAGENTA_DEF
 {
 	Text = "Magenta" ;
 };
 /* nicht uebersetzen */
-String RID_SVXSTR_BROWN_DEF
-{
-	Text = "Brown" ;
-};
-/* nicht uebersetzen */
-String RID_SVXSTR_GREY_DEF
+String RID_SVXSTR_COLOR_GREY_DEF
 {
 	Text = "Gray" ;
 };
 /* nicht uebersetzen */
-String RID_SVXSTR_LIGHTGREY_DEF
-{
-	Text = "Light gray" ;
-};
-/* nicht uebersetzen */
-String RID_SVXSTR_LIGHTBLUE_DEF
-{
-	Text = "Light blue" ;
-};
-/* nicht uebersetzen */
-String RID_SVXSTR_LIGHTGREEN_DEF
-{
-	Text = "Light green" ;
-};
-/* nicht uebersetzen */
-String RID_SVXSTR_LIGHTCYAN_DEF
-{
-	Text = "Light cyan" ;
-};
-/* nicht uebersetzen */
-String RID_SVXSTR_LIGHTRED_DEF
-{
-	Text = "Light red" ;
-};
-/* nicht uebersetzen */
-String RID_SVXSTR_LIGHTMAGENTA_DEF
-{
-	Text = "Light magenta" ;
-};
-/* nicht uebersetzen */
-String RID_SVXSTR_YELLOW_DEF
+String RID_SVXSTR_COLOR_YELLOW_DEF
 {
 	Text = "Yellow" ;
 };
 /* nicht uebersetzen */
-String RID_SVXSTR_WHITE_DEF
+String RID_SVXSTR_COLOR_WHITE_DEF
 {
 	Text = "White" ;
 };
 /* nicht uebersetzen */
-String RID_SVXSTR_BLUEGREY_DEF
+String RID_SVXSTR_COLOR_BLUEGREY_DEF
 {
 	Text = "Blue gray" ;
 };
 /* nicht uebersetzen */
-String RID_SVXSTR_ORANGE_DEF
+String RID_SVXSTR_COLOR_ORANGE_DEF
 {
 	Text = "Orange" ;
 };
 /* nicht uebersetzen */
-String RID_SVXSTR_VIOLET_DEF
+String RID_SVXSTR_COLOR_VIOLET_DEF
 {
 	Text = "Violet";
 };
 /* nicht uebersetzen */
-String RID_SVXSTR_BORDEAUX_DEF
+String RID_SVXSTR_COLOR_BORDEAUX_DEF
 {
 	Text = "Bordeaux";
 };
 /* nicht uebersetzen */
-String RID_SVXSTR_PALE_YELLOW_DEF
+String RID_SVXSTR_COLOR_PALE_YELLOW_DEF
 {
 	Text = "Pale yellow";
 };
 /* nicht uebersetzen */
-String RID_SVXSTR_PALE_GREEN_DEF
+String RID_SVXSTR_COLOR_PALE_GREEN_DEF
 {
 	Text = "Pale green";
 };
 /* nicht uebersetzen */
-String RID_SVXSTR_DKVIOLET_DEF
+String RID_SVXSTR_COLOR_DARKVIOLET_DEF
 {
 	Text = "Dark violet";
 };
 /* nicht uebersetzen */
-String RID_SVXSTR_SALMON_DEF
+String RID_SVXSTR_COLOR_SALMON_DEF
 {
 	Text = "Salmon";
 };
 /* nicht uebersetzen */
-String RID_SVXSTR_SEABLUE_DEF
+String RID_SVXSTR_COLOR_SEABLUE_DEF
 {
 	Text = "Sea blue";
 };
@@ -514,6 +470,36 @@ String RID_SVXSTR_COLOR_CHART_DEF
 {
 	Text = "Chart";
 };
+/* DO NOT TRANSLATE */
+String RID_SVXSTR_COLOR_PURPLE_DEF
+{
+    Text = "Purple";
+};
+/* DO NOT TRANSLATE */
+String RID_SVXSTR_COLOR_SKYBLUE_DEF
+{
+    Text = "Sky blue";
+};
+/* DO NOT TRANSLATE */
+String RID_SVXSTR_COLOR_YELLOWGREEN_DEF
+{
+    Text = "Yellow green";
+};
+/* DO NOT TRANSLATE */
+String RID_SVXSTR_COLOR_PINK_DEF
+{
+    Text = "Pink";
+};
+/* DO NOT TRANSLATE */
+String RID_SVXSTR_COLOR_TURQUOISE_DEF
+{
+    Text = "Turquoise" ;
+};
+/* DO NOT TRANSLATE */
+String RID_SVXSTR_COLOR_BLUE_CLASSIC_DEF
+{
+	Text = "Blue classic" ;
+};
 
 ///////////////////////////////////////////////////////////////////////////////
 //

Modified: openoffice/branches/rejuvenate01/main/svx/source/engine3d/float3d.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/svx/source/engine3d/float3d.cxx?rev=1488227&r1=1488226&r2=1488227&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/svx/source/engine3d/float3d.cxx (original)
+++ openoffice/branches/rejuvenate01/main/svx/source/engine3d/float3d.cxx Fri May 31 13:55:58 2013
@@ -537,6 +537,7 @@ void Svx3DWin::Reset()
 
 	// Nichts selektieren, um Fehler beim erstselektieren zu vermeiden
 	aCtlLightPreview.GetSvx3DLightControl().SelectLight(0);
+	aCtlLightPreview.CheckSelection();
 }
 
 bool Svx3DWin::GetUILightState( ImageButton& aBtn ) const

Modified: openoffice/branches/rejuvenate01/main/svx/source/sidebar/PanelFactory.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/svx/source/sidebar/PanelFactory.cxx?rev=1488227&r1=1488226&r2=1488227&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/svx/source/sidebar/PanelFactory.cxx (original)
+++ openoffice/branches/rejuvenate01/main/svx/source/sidebar/PanelFactory.cxx Fri May 31 13:55:58 2013
@@ -118,6 +118,9 @@ Reference<ui::XUIElement> SAL_CALL Panel
     Reference<ui::XSidebar> xSidebar (aArguments.getOrDefault("Sidebar", Reference<ui::XSidebar>()));
     const sal_uInt64 nBindingsValue (aArguments.getOrDefault("SfxBindings", sal_uInt64(0)));
     SfxBindings* pBindings = reinterpret_cast<SfxBindings*>(nBindingsValue);
+    ::sfx2::sidebar::EnumContext aContext (
+        aArguments.getOrDefault("ApplicationName", OUString()),
+        aArguments.getOrDefault("ContextName", OUString()));
 
     ::Window* pParentWindow = VCLUnoHelper::GetWindow(xParentWindow);
     if ( ! xParentWindow.is() || pParentWindow==NULL)
@@ -139,7 +142,7 @@ Reference<ui::XUIElement> SAL_CALL Panel
 #define DoesResourceEndWith(s) rsResourceURL.endsWithAsciiL(s,strlen(s))
     if (DoesResourceEndWith("/TextPropertyPanel"))
     {
-        pControl = TextPropertyPanel::Create(pParentWindow, xFrame, pBindings);
+        pControl = TextPropertyPanel::Create(pParentWindow, xFrame, pBindings, aContext);
     }
     else if (DoesResourceEndWith("/ParaPropertyPanel"))
     {

Modified: openoffice/branches/rejuvenate01/main/svx/source/sidebar/SelectionAnalyzer.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/svx/source/sidebar/SelectionAnalyzer.cxx?rev=1488227&r1=1488226&r2=1488227&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/svx/source/sidebar/SelectionAnalyzer.cxx (original)
+++ openoffice/branches/rejuvenate01/main/svx/source/sidebar/SelectionAnalyzer.cxx Fri May 31 13:55:58 2013
@@ -98,9 +98,7 @@ EnumContext::Context SelectionAnalyzer::
 
 EnumContext::Context SelectionAnalyzer::GetContextForSelection_SD (
     const SdrMarkList& rMarkList,
-    const bool bIsMasterPage,
-    const bool bIsHandoutPage,
-    const bool bIsNotesPage)
+    const ViewType eViewType)
 {
     EnumContext::Context eContext = EnumContext::Context_Unknown;
 
@@ -109,22 +107,40 @@ EnumContext::Context SelectionAnalyzer::
     switch (rMarkList.GetMarkCount())
     {
         case 0:
-            if (bIsHandoutPage)
-                eContext = EnumContext::Context_HandoutPage;
-            else if (bIsNotesPage)
-                eContext = EnumContext::Context_NotesPage;
-            else if (bIsMasterPage)
-                eContext = EnumContext::Context_MasterPage;
-            else
-                eContext = EnumContext::Context_DrawPage;
+            switch(eViewType)
+            {
+                case VT_Standard:
+                    eContext = EnumContext::Context_DrawPage;
+                    break;
+                case VT_Master:
+                    eContext = EnumContext::Context_MasterPage;
+                    break;
+                case VT_Handout:
+                    eContext = EnumContext::Context_HandoutPage;
+                    break;
+                case VT_Notes:
+                    eContext = EnumContext::Context_NotesPage;
+                    break;
+                case VT_Outline:
+                    eContext = EnumContext::Context_OutlineText;
+                    break;
+            }
             break;
             
         case 1:
         {
             SdrObject* pObj = rMarkList.GetMark(0)->GetMarkedSdrObj();
-            if ( pObj->ISA(SdrTextObj) && ((SdrTextObj*)pObj)->IsInEditMode() )
+            if (pObj->ISA(SdrTextObj) && ((SdrTextObj*)pObj)->IsInEditMode())
             {
-                eContext = EnumContext::Context_DrawText;
+                if (pObj->GetObjIdentifier() == OBJ_TABLE)
+                {
+                    // Let a table object take precedence over text
+                    // edit mode.  The panels for text editing are
+                    // present for table context as well, anyway.
+                    eContext = EnumContext::Context_Table;
+                }
+                else
+                    eContext = EnumContext::Context_DrawText;
             }
             else
             {
@@ -138,7 +154,7 @@ EnumContext::Context SelectionAnalyzer::
                         if (nObjId == 0)
                             nObjId = OBJ_GRUP;
                     }
-                    eContext = GetContextForObjectId_SD(nObjId, bIsHandoutPage, bIsNotesPage);
+                    eContext = GetContextForObjectId_SD(nObjId, eViewType);
                 }
                 else if (nInv == E3dInventor)
                 {
@@ -162,7 +178,7 @@ EnumContext::Context SelectionAnalyzer::
                     if (nObjId == 0)
                         eContext = EnumContext::Context_MultiObject;
                     else
-                        eContext = GetContextForObjectId_SD(nObjId, bIsHandoutPage, bIsNotesPage);
+                        eContext = GetContextForObjectId_SD(nObjId, eViewType);
                     break;
                 }
                 
@@ -235,8 +251,7 @@ EnumContext::Context SelectionAnalyzer::
 
 EnumContext::Context SelectionAnalyzer::GetContextForObjectId_SD (
     const sal_uInt16 nObjectId,
-    const bool bIsHandoutPage,
-    const bool bIsNotesPage)
+    const ViewType eViewType)
 {
 	switch (nObjectId)
 	{
@@ -278,12 +293,17 @@ EnumContext::Context SelectionAnalyzer::
 			return EnumContext::Context_Table;
 
 		case OBJ_PAGE:
-            if (bIsHandoutPage)
-				return EnumContext::Context_HandoutPage;
-            else if (bIsNotesPage)
-				return EnumContext::Context_NotesPage;
-			else
-                return EnumContext::Context_Unknown;
+            switch (eViewType)
+            {
+                case VT_Handout:
+                    return EnumContext::Context_HandoutPage;
+                case VT_Notes:
+                    return EnumContext::Context_NotesPage;
+                case VT_Outline:
+                    return EnumContext::Context_OutlineText;
+                default:
+                    return EnumContext::Context_Unknown;
+            }
 
         default:
             return EnumContext::Context_Unknown;
@@ -446,6 +466,10 @@ bool SelectionAnalyzer::IsShapeType (con
 		case OBJ_POLY:
 		case OBJ_FREELINE:
 		case OBJ_FREEFILL:
+
+        // #122145# adding OBJ_OLE2 since these also allow line/fill style and may
+        // be multiselected/grouped with normal draw objects, e.g. math OLE objects
+        case OBJ_OLE2:
 			return true;
 
 		default:

Modified: openoffice/branches/rejuvenate01/main/svx/source/sidebar/SelectionChangeHandler.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/rejuvenate01/main/svx/source/sidebar/SelectionChangeHandler.cxx?rev=1488227&r1=1488226&r2=1488227&view=diff
==============================================================================
--- openoffice/branches/rejuvenate01/main/svx/source/sidebar/SelectionChangeHandler.cxx (original)
+++ openoffice/branches/rejuvenate01/main/svx/source/sidebar/SelectionChangeHandler.cxx Fri May 31 13:55:58 2013
@@ -36,7 +36,7 @@ using namespace sfx2::sidebar;
 namespace svx { namespace sidebar {
 
 SelectionChangeHandler::SelectionChangeHandler (
-    const boost::function<sfx2::sidebar::EnumContext::Context(void)>& rSelectionChangeCallback,
+    const boost::function<rtl::OUString(void)>& rSelectionChangeCallback,
     const Reference<frame::XController>& rxController,
     const EnumContext::Context eDefaultContext)
     : SelectionChangeHandlerInterfaceBase(m_aMutex),
@@ -62,7 +62,8 @@ void SAL_CALL SelectionChangeHandler::se
 {
     if (maSelectionChangeCallback)
     {
-        const EnumContext::Context eContext (maSelectionChangeCallback());
+        const EnumContext::Context eContext (
+            EnumContext::GetContextEnum(maSelectionChangeCallback()));
         ContextChangeEventMultiplexer::NotifyContextChange(
             mxController,
             eContext==EnumContext::Context_Unknown