Commits

Anonymous committed b06e1d9

textalignment01: #i105270# - further adjustments of the text alignment property UNO-APIs

Comments (0)

Files changed (34)

editeng/inc/editeng/editeng.hxx

     EFieldInfo      GetFieldInfo( USHORT nPara, USHORT nField ) const;
 
     BOOL            IsRightToLeft( USHORT nPara ) const;
+    // --> OD #i105270#
+    BOOL            IsRightToLeft( const SfxItemSet& rItemSet ) const;
+    // <--
 
     ::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::XTransferable >
     				CreateTransferable( const ESelection& rSelection ) const;

editeng/inc/editeng/unoadjitemfunc.hxx

+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ * 
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org.  If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SVX_UNOADJITEMFUNC_HXX
+#define _SVX_UNOADJITEMFUNC_HXX
+
+#include <sal/config.h>
+#include <editeng/editengdllapi.h>
+
+class SfxItemSet;
+class SvxTextForwarder;
+
+namespace com { namespace sun { namespace star { namespace uno {
+    class Any;
+} } } }            
+
+// namespace <unoadjitemfunc> for functions and procedures for UNO-API implementations
+// regarding <SvxAdjustItem>
+namespace unoadjitemfunc
+{
+    // important prerequiste for <IsSvxAdjustItemDirectValue(..)>:
+    // method <GetUnoParaAdjust(..)> respectively 
+    // method <GetUnoParaTextAlign(..) returns <true>
+    EDITENG_DLLPUBLIC bool IsSvxAdjustItemDirectValue( const SfxItemSet& rSet, 
+                                                       const SvxTextForwarder& rTextForwarder );
+    
+    // helper methods for UNO-API implementation of
+    // com::sun::star::style::ParagraphProperties::ParaAdjust
+    EDITENG_DLLPUBLIC bool GetUnoParaAdjust( com::sun::star::uno::Any& rParaAdjustVal,
+                                             const SfxItemSet& rSet,
+                                             const SvxTextForwarder& rTextForwarder );
+
+    
+    // helper methods for UNO-API implementation of
+    // com::sun::star::style::ParagraphProperties::ParaTextAlign
+    EDITENG_DLLPUBLIC bool GetUnoParaTextAlign( com::sun::star::uno::Any& rParaTextAlignVal,
+                                                const SfxItemSet& rSet, 
+                                                const SvxTextForwarder& rTextForwarder );
+
+} // end of namespace unofunc
+
+#endif

editeng/inc/editeng/unoedprx.hxx

     virtual void            RemoveAttribs( const ESelection& rSelection, sal_Bool bRemoveParaAttribs, sal_uInt16 nWhich );
     virtual void            GetPortions( USHORT nPara, SvUShorts& rList ) const;
     
-	virtual sal_Int32       CalcLogicalIndex( USHORT nPara, USHORT nEEIndex );
+    // --> OD #i105270#
+    virtual sal_Bool        IsRightToLeft( const USHORT nPara ) const;
+    virtual sal_Bool        IsRightToLeft( const SfxItemSet& rItemSet ) const;
+    // <--
+    
+    virtual sal_Int32       CalcLogicalIndex( USHORT nPara, USHORT nEEIndex );
 	virtual USHORT          CalcEditEngineIndex( USHORT nPara, sal_Int32 nLogicalIndex );
     
  	virtual USHORT			GetItemState( const ESelection& rSel, USHORT nWhich ) const;

editeng/inc/editeng/unoedsrc.hxx

 	virtual void		SetParaAttribs( USHORT nPara, const SfxItemSet& rSet ) = 0;
     virtual void        RemoveAttribs( const ESelection& rSelection, sal_Bool bRemoveParaAttribs, sal_uInt16 nWhich ) = 0;
 	virtual void		GetPortions( USHORT nPara, SvUShorts& rList ) const = 0;
-	
+
+    // --> OD #i105270#
+    virtual sal_Bool    IsRightToLeft( const USHORT nPara ) const = 0;
+    virtual sal_Bool    IsRightToLeft( const SfxItemSet& rItemSet ) const = 0;
+    // <--
+       
 	virtual USHORT		GetItemState( const ESelection& rSel, USHORT nWhich ) const = 0;
 	virtual USHORT		GetItemState( USHORT nPara, USHORT nWhich ) const = 0;
 

editeng/inc/editeng/unofored.hxx

     virtual void        RemoveAttribs( const ESelection& rSelection, sal_Bool bRemoveParaAttribs, sal_uInt16 nWhich );
 	virtual void		GetPortions( USHORT nPara, SvUShorts& rList ) const;
 	
-	virtual USHORT		GetItemState( const ESelection& rSel, USHORT nWhich ) const;
+    // --> OD #i105270#
+    virtual sal_Bool    IsRightToLeft( const USHORT nPara ) const;
+    virtual sal_Bool    IsRightToLeft( const SfxItemSet& rItemSet ) const;
+    // <--
+    
+    virtual USHORT      GetItemState( const ESelection& rSel, USHORT nWhich ) const;
 	virtual USHORT		GetItemState( USHORT nPara, USHORT nWhich ) const;
 
 	virtual void		QuickInsertText( const String& rText, const ESelection& rSel );

editeng/inc/editeng/unoforou.hxx

     virtual void        RemoveAttribs( const ESelection& rSelection, sal_Bool bRemoveParaAttribs, sal_uInt16 nWhich );
 	virtual void		GetPortions( USHORT nPara, SvUShorts& rList ) const;
 
+    // --> OD #i105270#
+    virtual sal_Bool    IsRightToLeft( const USHORT nPara ) const;
+    virtual sal_Bool    IsRightToLeft( const SfxItemSet& rItemSet ) const;
+    // <--
+    
 	virtual USHORT		GetItemState( const ESelection& rSel, USHORT nWhich ) const;
 	virtual USHORT		GetItemState( USHORT nPara, USHORT nWhich ) const;
 

editeng/inc/editeng/unotext.hxx

 // und macht ansonsten rein garnichts
 // ====================================================================
 
-class SvxDummyTextSource : public SvxEditSource, public SvxTextForwarder
-{
-public:
+//class SvxDummyTextSource : public SvxEditSource, public SvxTextForwarder
+//{
+//public:
 
-    // SvxEditSource
-	virtual ~SvxDummyTextSource();
-	virtual SvxEditSource*			Clone() const;
-	virtual SvxTextForwarder*		GetTextForwarder();
-	virtual void					UpdateData();
+//    // SvxEditSource
+//  virtual ~SvxDummyTextSource();
+//  virtual SvxEditSource*          Clone() const;
+//  virtual SvxTextForwarder*       GetTextForwarder();
+//  virtual void                    UpdateData();
 
-    // SvxTextForwarder
-	virtual sal_uInt16		GetParagraphCount() const;
-	virtual sal_uInt16		GetTextLen( sal_uInt16 nParagraph ) const;
-	virtual String			GetText( const ESelection& rSel ) const;
-	virtual SfxItemSet		GetAttribs( const ESelection& rSel, BOOL bOnlyHardAttrib = 0 ) const;
-	virtual	SfxItemSet		GetParaAttribs( sal_uInt16 nPara ) const;
-	virtual void			SetParaAttribs( sal_uInt16 nPara, const SfxItemSet& rSet );
-    virtual void            RemoveAttribs( const ESelection& rSelection, sal_Bool bRemoveParaAttribs, sal_uInt16 nWhich );
-    virtual void            GetPortions( sal_uInt16 nPara, SvUShorts& rList ) const;
+//    // SvxTextForwarder
+//  virtual sal_uInt16      GetParagraphCount() const;
+//  virtual sal_uInt16      GetTextLen( sal_uInt16 nParagraph ) const;
+//  virtual String          GetText( const ESelection& rSel ) const;
+//  virtual SfxItemSet      GetAttribs( const ESelection& rSel, BOOL bOnlyHardAttrib = 0 ) const;
+//  virtual SfxItemSet      GetParaAttribs( sal_uInt16 nPara ) const;
+//  virtual void            SetParaAttribs( sal_uInt16 nPara, const SfxItemSet& rSet );
+//    virtual void            RemoveAttribs( const ESelection& rSelection, sal_Bool bRemoveParaAttribs, sal_uInt16 nWhich );
+//    virtual void            GetPortions( sal_uInt16 nPara, SvUShorts& rList ) const;
     
-	sal_uInt16				GetItemState( const ESelection& rSel, sal_uInt16 nWhich ) const;
-	sal_uInt16				GetItemState( sal_uInt16 nPara, sal_uInt16 nWhich ) const;
+//    // --> OD #i105270#
+//    virtual sal_Bool        IsRightToLeft( const USHORT nPara ) const;
+//    virtual sal_Bool        IsRightToLeft( const SfxItemSet& rItemSet ) const;
+//    // <--
+    
+//    sal_uInt16              GetItemState( const ESelection& rSel, sal_uInt16 nWhich ) const;
+//  sal_uInt16              GetItemState( sal_uInt16 nPara, sal_uInt16 nWhich ) const;
 
-	virtual SfxItemPool* 	GetPool() const;
+//  virtual SfxItemPool*    GetPool() const;
 
-	virtual void			QuickInsertText( const String& rText, const ESelection& rSel );
-	virtual void			QuickInsertField( const SvxFieldItem& rFld, const ESelection& rSel );
-	virtual void			QuickSetAttribs( const SfxItemSet& rSet, const ESelection& rSel );
-	virtual void			QuickInsertLineBreak( const ESelection& rSel );
+//  virtual void            QuickInsertText( const String& rText, const ESelection& rSel );
+//  virtual void            QuickInsertField( const SvxFieldItem& rFld, const ESelection& rSel );
+//  virtual void            QuickSetAttribs( const SfxItemSet& rSet, const ESelection& rSel );
+//  virtual void            QuickInsertLineBreak( const ESelection& rSel );
 
-	virtual XubString		CalcFieldValue( const SvxFieldItem& rField, sal_uInt16 nPara, sal_uInt16 nPos, Color*& rpTxtColor, Color*& rpFldColor );
-	virtual void 	        FieldClicked( const SvxFieldItem& rField, USHORT nPara, xub_StrLen nPos );
+//  virtual XubString       CalcFieldValue( const SvxFieldItem& rField, sal_uInt16 nPara, sal_uInt16 nPos, Color*& rpTxtColor, Color*& rpFldColor );
+//  virtual void            FieldClicked( const SvxFieldItem& rField, USHORT nPara, xub_StrLen nPos );
 	
-	virtual sal_Bool		IsValid() const;
+//  virtual sal_Bool        IsValid() const;
 
-    virtual void 			SetNotifyHdl( const Link& );
-    virtual LanguageType 	GetLanguage( USHORT, USHORT ) const;
-    virtual USHORT			GetFieldCount( USHORT nPara ) const;
-    virtual EFieldInfo		GetFieldInfo( USHORT nPara, USHORT nField ) const;
-    virtual EBulletInfo     GetBulletInfo( USHORT nPara ) const;
-    virtual Rectangle		GetCharBounds( USHORT nPara, USHORT nIndex ) const;
-    virtual Rectangle		GetParaBounds( USHORT nPara ) const;
-    virtual MapMode		 	GetMapMode() const;
-	virtual OutputDevice*	GetRefDevice() const;
-    virtual sal_Bool		GetIndexAtPoint( const Point&, USHORT& nPara, USHORT& nIndex ) const;
-    virtual sal_Bool		GetWordIndices( USHORT nPara, USHORT nIndex, USHORT& nStart, USHORT& nEnd ) const;
-    virtual sal_Bool 		GetAttributeRun( USHORT& nStartIndex, USHORT& nEndIndex, USHORT nPara, USHORT nIndex ) const;
-    virtual USHORT			GetLineCount( USHORT nPara ) const;
-    virtual USHORT			GetLineLen( USHORT nPara, USHORT nLine ) const;
-    virtual void            GetLineBoundaries( /*out*/USHORT &rStart, /*out*/USHORT &rEnd, USHORT nParagraph, USHORT nLine ) const;
-    virtual USHORT          GetLineNumberAtIndex( USHORT nPara, USHORT nIndex ) const;
-    virtual sal_Bool		Delete( const ESelection& );
-    virtual sal_Bool		InsertText( const String&, const ESelection& );
-    virtual sal_Bool		QuickFormatDoc( BOOL bFull=FALSE );
-    virtual sal_Int16		GetDepth( USHORT nPara ) const;
-    virtual sal_Bool		SetDepth( USHORT nPara, sal_Int16 nNewDepth );
+//    virtual void          SetNotifyHdl( const Link& );
+//    virtual LanguageType  GetLanguage( USHORT, USHORT ) const;
+//    virtual USHORT            GetFieldCount( USHORT nPara ) const;
+//    virtual EFieldInfo        GetFieldInfo( USHORT nPara, USHORT nField ) const;
+//    virtual EBulletInfo     GetBulletInfo( USHORT nPara ) const;
+//    virtual Rectangle     GetCharBounds( USHORT nPara, USHORT nIndex ) const;
+//    virtual Rectangle     GetParaBounds( USHORT nPara ) const;
+//    virtual MapMode           GetMapMode() const;
+//  virtual OutputDevice*   GetRefDevice() const;
+//    virtual sal_Bool      GetIndexAtPoint( const Point&, USHORT& nPara, USHORT& nIndex ) const;
+//    virtual sal_Bool      GetWordIndices( USHORT nPara, USHORT nIndex, USHORT& nStart, USHORT& nEnd ) const;
+//    virtual sal_Bool      GetAttributeRun( USHORT& nStartIndex, USHORT& nEndIndex, USHORT nPara, USHORT nIndex ) const;
+//    virtual USHORT            GetLineCount( USHORT nPara ) const;
+//    virtual USHORT            GetLineLen( USHORT nPara, USHORT nLine ) const;
+//    virtual void            GetLineBoundaries( /*out*/USHORT &rStart, /*out*/USHORT &rEnd, USHORT nParagraph, USHORT nLine ) const;
+//    virtual USHORT          GetLineNumberAtIndex( USHORT nPara, USHORT nIndex ) const;
+//    virtual sal_Bool      Delete( const ESelection& );
+//    virtual sal_Bool      InsertText( const String&, const ESelection& );
+//    virtual sal_Bool      QuickFormatDoc( BOOL bFull=FALSE );
+//    virtual sal_Int16     GetDepth( USHORT nPara ) const;
+//    virtual sal_Bool      SetDepth( USHORT nPara, sal_Int16 nNewDepth );
 
-    virtual const SfxItemSet*   GetEmptyItemSetPtr();
+//    virtual const SfxItemSet*   GetEmptyItemSetPtr();
 
-    // implementation functions for XParagraphAppend and XTextPortionAppend
-    virtual void        AppendParagraph();
-    virtual xub_StrLen  AppendTextPortion( USHORT nPara, const String &rText, const SfxItemSet &rSet );
-    //XTextCopy
-    virtual void        CopyText(const SvxTextForwarder& rSource); 
-};
+//    // implementation functions for XParagraphAppend and XTextPortionAppend
+//    virtual void        AppendParagraph();
+//    virtual xub_StrLen  AppendTextPortion( USHORT nPara, const String &rText, const SfxItemSet &rSet );
+//    //XTextCopy
+//    virtual void        CopyText(const SvxTextForwarder& rSource); 
+//};
 
 namespace accessibility 
 {

editeng/source/editeng/editeng.cxx

 
 static SfxItemPool* pGlobalPool=0;
 
-
+// ----------------------------------------------------------------------
 // EditEngine
 // ----------------------------------------------------------------------
 EditEngine::EditEngine( SfxItemPool* pItemPool )
     return pImpEditEngine->IsRightToLeft( nPara );
 }
 
+// --> OD #i105270#
+BOOL EditEngine::IsRightToLeft( const SfxItemSet& rItemSet ) const
+{
+    DBG_CHKTHIS( EditEngine, 0 );
+    return pImpEditEngine->IsRightToLeft( rItemSet );
+}
+// <--
+
 sal_Bool EditEngine::IsTextPos( const Point& rPaperPos, sal_uInt16 nBorder )
 {
 	DBG_CHKTHIS( EditEngine, 0 );

editeng/source/editeng/impedit2.cxx

         USHORT nTextPortion = pParaPortion->GetTextPortions().FindPortion( aPaM.GetIndex(), nTmp, TRUE );
         TextPortion* pTextPortion = pParaPortion->GetTextPortions().GetObject( nTextPortion );
         USHORT nRTLLevel = pTextPortion->GetRightToLeft();
-//        BOOL bParaRTL = IsRightToLeft( nPara );
         BOOL bPortionRTL = nRTLLevel%2 ? TRUE : FALSE;
 
         if ( bStart )
 //    USHORT nCurrentCursorFlags = pEditView->pImpEditView->nExtraCursorFlags;
     pEditView->pImpEditView->nExtraCursorFlags = 0;
 
-    BOOL bParaRTL = IsRightToLeft( nPara );
+    const BOOL bParaRTL = IsRightToLeft( nPara );
 
     BOOL bDone = FALSE;
 
         bDone = TRUE;
     }
 
-    BOOL bLogicalBackward = bParaRTL ? !bVisualToLeft : bVisualToLeft;
+    const bool bLogicalBackward = bParaRTL ? !bVisualToLeft : bVisualToLeft;
 
     if ( !bDone && pEditView->IsInsertMode() )
     {
 
 BYTE ImpEditEngine::GetRightToLeft( USHORT nPara, USHORT nPos, USHORT* pStart, USHORT* pEnd )
 {
-//    BYTE nRightToLeft = IsRightToLeft( nPara ) ? 1 : 0;
     BYTE nRightToLeft = 0;
 
     ContentNode* pNode = aEditDoc.SaveGetObject( nPara );
     }
 
     USHORT nPara = GetEditDoc().GetPos( pParaPortion->GetNode() );
-    BOOL bR2LPara = IsRightToLeft( nPara );
+    const BOOL bR2LPara = IsRightToLeft( nPara );
 
     TextPortion* pDestPortion = pParaPortion->GetTextPortions().GetObject( nTextPortion );
     if ( pDestPortion->GetKind() != PORTIONKIND_TAB )

editeng/source/editeng/impedit5.cxx

 {
 	if ( pStylePool != pSPool )
 	{
-//		if ( pStylePool )
-//			EndListening( *pStylePool, TRUE );
-
 		pStylePool = pSPool;
-
-//		if ( pStylePool )
-//			StartListening( *pStylePool, TRUE );
 	}
 }
 

editeng/source/uno/makefile.mk

 # --- Files --------------------------------------------------------
 
 SLOFILES= \
-		$(SLO)$/unonrule.obj	\
+                $(SLO)$/unoadjitemfunc.obj    \
+                $(SLO)$/unonrule.obj    \
 		$(SLO)$/unoedsrc.obj	\
 		$(SLO)$/unoedhlp.obj	\
 		$(SLO)$/unofdesc.obj	\

editeng/source/uno/unoadjitemfunc.cxx

+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ * 
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org.  If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+// MARKER(update_precomp.py): autogen include statement, do not remove
+#include "precompiled_editeng.hxx"
+
+#include <editeng/unoadjitemfunc.hxx>
+
+#include <svl/itemset.hxx>
+#include <editeng/adjitem.hxx>
+#include <editeng/unoedsrc.hxx>
+#include <com/sun/star/uno/Any.hxx>
+#include <com/sun/star/style/ParagraphAdjust.hpp>
+#include <com/sun/star/style/ParagraphTextAlignment.hpp>
+
+using namespace ::com::sun::star;
+
+namespace unoadjitemfunc
+{
+    const SvxAdjust _GetAdjustFromItemSet( const SfxItemSet& rSet )
+    {
+        SvxAdjust eAdjust = SVX_ADJUST_START;
+
+        const SvxAdjustItem* pAdjustItem = 
+            dynamic_cast<const SvxAdjustItem*>(rSet.GetItem( EE_PARA_JUST ));
+        DBG_ASSERT( pAdjustItem, "<_GetAdjustFromItemSet(..)> - SvxAdjustItem not found in provided item set!" );
+        if ( pAdjustItem )
+        {
+            eAdjust = pAdjustItem->GetAdjust(); 
+        }
+
+        return eAdjust;
+    }
+            
+    bool _GetUnoParaAdjust( uno::Any& rParaAdjustVal,
+                            const SvxAdjust eAdjust,
+                            const bool bIsRightToLeft ) 
+    {
+        bool bValueProvided( false );
+
+        if ( eAdjust == SVX_ADJUST_START )
+        {
+            if ( bIsRightToLeft )
+            {
+                rParaAdjustVal <<= style::ParagraphAdjust_RIGHT;
+            }
+            else
+            {
+                rParaAdjustVal <<= style::ParagraphAdjust_LEFT;
+            }
+            bValueProvided = true;         
+        }
+        else if ( eAdjust == SVX_ADJUST_END )
+        {
+            if ( bIsRightToLeft )
+            {
+                rParaAdjustVal <<= style::ParagraphAdjust_LEFT;
+            }
+            else
+            {
+                rParaAdjustVal <<= style::ParagraphAdjust_RIGHT;
+            }
+            bValueProvided = true;         
+        }
+
+        return bValueProvided;
+    }    
+
+    bool GetUnoParaAdjust( uno::Any& rParaAdjustVal,
+                           const SfxItemSet& rSet,
+                           const SvxTextForwarder& rTextForwarder )
+    {
+        const SvxAdjust eAdjust = _GetAdjustFromItemSet( rSet );
+        
+        return _GetUnoParaAdjust( rParaAdjustVal, 
+                                  eAdjust,
+                                  rTextForwarder.IsRightToLeft( rSet ) );
+    }    
+
+    bool _GetUnoParaTextAlign( uno::Any& rParaTextAlignVal,
+                               const SvxAdjust eAdjust,
+                               const bool bIsRightToLeft ) 
+    {
+        bool bValueProvided( false );
+
+        if ( eAdjust == SVX_ADJUST_LEFT )
+        {
+            if ( bIsRightToLeft )
+            {
+                rParaTextAlignVal <<= style::ParagraphTextAlignment_END;
+            }
+            else
+            {
+                rParaTextAlignVal <<= style::ParagraphTextAlignment_START;
+            }
+            bValueProvided = true;         
+        }
+        else if ( eAdjust == SVX_ADJUST_RIGHT )
+        {
+            if ( bIsRightToLeft )
+            {
+                rParaTextAlignVal <<= style::ParagraphTextAlignment_START;
+            }
+            else
+            {
+                rParaTextAlignVal <<= style::ParagraphTextAlignment_END;
+            }
+            bValueProvided = true;         
+        }
+
+        return bValueProvided;
+    }    
+
+    bool GetUnoParaTextAlign( uno::Any& rParaTextAlignVal,
+                              const SfxItemSet& rSet, 
+                              const SvxTextForwarder& rTextForwarder )
+    {
+        const SvxAdjust eAdjust = _GetAdjustFromItemSet( rSet );
+        
+        return _GetUnoParaTextAlign( rParaTextAlignVal, 
+                                     eAdjust,
+                                     rTextForwarder.IsRightToLeft( rSet ) );
+    }    
+
+    bool IsSvxAdjustItemDirectValue( const SfxItemSet& rSet, 
+                                     const SvxTextForwarder& rTextForwarder )
+    {
+        // important prerequiste: 
+        // method <GetUnoParaAdjust(..)> respectively 
+        // method <GetUnoParaTextAlign(..) returns <true>
+        
+        bool bIsDirectValue( false );
+
+        if ( ( rSet.GetItemState( EE_PARA_JUST, FALSE ) == SFX_ITEM_SET ) ||
+             ( rSet.GetParent() &&
+               rTextForwarder.IsRightToLeft( rSet ) != 
+                    rTextForwarder.IsRightToLeft( *(rSet.GetParent()) ) ) )
+        {
+            bIsDirectValue = true;
+        }
+
+        return bIsDirectValue;
+    }            
+}            
+

editeng/source/uno/unoedprx.cxx

     mrTextForwarder->GetPortions( nPara, rList );
 }
 
+// --> OD #i105270#
+sal_Bool SvxAccessibleTextAdapter::IsRightToLeft( const USHORT nPara ) const
+{
+    DBG_ASSERT(mrTextForwarder, "SvxAccessibleTextAdapter: no forwarder");
+
+    return mrTextForwarder->IsRightToLeft( nPara );
+}
+            
+sal_Bool SvxAccessibleTextAdapter::IsRightToLeft( const SfxItemSet& rItemSet ) const
+{
+    DBG_ASSERT(mrTextForwarder, "SvxAccessibleTextAdapter: no forwarder");
+
+    return mrTextForwarder->IsRightToLeft( rItemSet );
+}
+// <--
+
 USHORT SvxAccessibleTextAdapter::GetItemState( const ESelection& rSel, USHORT nWhich ) const
 {
     DBG_ASSERT(mrTextForwarder, "SvxAccessibleTextAdapter: no forwarder");

editeng/source/uno/unofored.cxx

 	rEditEngine.GetPortions( nPara, rList );
 }
 
+// --> OD #i105270#
+sal_Bool SvxEditEngineForwarder::IsRightToLeft( const USHORT nPara ) const
+{
+    return rEditEngine.IsRightToLeft( nPara )
+           ? sal_True
+           : sal_False;
+}
+            
+sal_Bool SvxEditEngineForwarder::IsRightToLeft( const SfxItemSet& rItemSet ) const
+{
+    return rEditEngine.IsRightToLeft( rItemSet )
+           ? sal_True
+           : sal_False;
+}
+// <--
+
 void SvxEditEngineForwarder::QuickInsertText( const String& rText, const ESelection& rSel )
 {
 	rEditEngine.QuickInsertText( rText, rSel );

editeng/source/uno/unoforou.cxx

 	((EditEngine&)rOutliner.GetEditEngine()).GetPortions( nPara, rList );
 }
 
+// --> OD #i105270#
+sal_Bool SvxOutlinerForwarder::IsRightToLeft( const USHORT nPara ) const
+{
+    return rOutliner.GetEditEngine().IsRightToLeft( nPara )
+           ? sal_True
+           : sal_False;
+}
+            
+sal_Bool SvxOutlinerForwarder::IsRightToLeft( const SfxItemSet& rItemSet ) const
+{
+    return rOutliner.GetEditEngine().IsRightToLeft( rItemSet )
+           ? sal_True
+           : sal_False;
+}
+// <--
+
 void SvxOutlinerForwarder::QuickInsertText( const String& rText, const ESelection& rSel )
 {
 	flushCache();

editeng/source/uno/unotext.cxx

 #include <editeng/outliner.hxx>
 #include <editeng/unoipset.hxx>
 #include <comphelper/serviceinfohelper.hxx>
+// --> OD #i105270#
+#include <editeng/unoadjitemfunc.hxx>
+// <--
 
 using namespace ::rtl;
 using namespace ::vos;
 	throw beans::UnknownPropertyException();
 }
 
-void SvxUnoTextRangeBase::getPropertyValue( const SfxItemPropertySimpleEntry* pMap, uno::Any& rAny, const SfxItemSet& rSet ) throw( beans::UnknownPropertyException )
+void SvxUnoTextRangeBase::getPropertyValue( const SfxItemPropertySimpleEntry* pMap, 
+                                            uno::Any& rAny, 
+                                            const SfxItemSet& rSet ) throw( beans::UnknownPropertyException )
 {
 	switch( pMap->nWID )
 	{
 		break;
 
 	default:
-		if(!GetPropertyValueHelper( *((SfxItemSet*)(&rSet)), pMap, rAny, &maSelection, GetEditSource() ))
+        if(!GetPropertyValueHelper( *((SfxItemSet*)(&rSet)), pMap, rAny, &maSelection, GetEditSource() ))
 			rAny = mpPropSet->getPropertyValue(pMap, rSet, true, false );
 	}
 }
 
-sal_Bool SvxUnoTextRangeBase::GetPropertyValueHelper(  SfxItemSet& rSet, const SfxItemPropertySimpleEntry* pMap, uno::Any& aAny, const ESelection* pSelection /* = NULL */, SvxEditSource* pEditSource /* = NULL */ )
+sal_Bool SvxUnoTextRangeBase::GetPropertyValueHelper( SfxItemSet& rSet, 
+                                                      const SfxItemPropertySimpleEntry* pMap, 
+                                                      uno::Any& aAny, 
+                                                      const ESelection* pSelection /* = NULL */, 
+                                                      SvxEditSource* pEditSource /* = NULL */ )
 	throw( uno::RuntimeException )
 {
+    sal_Bool bPropertyHandled( sal_False );
+
 	switch( pMap->nWID )
 	{
 	case WID_FONTDESC:
 			awt::FontDescriptor aDesc;
 			SvxUnoFontDescriptor::FillFromItemSet( rSet, aDesc );
 			aAny <<= aDesc;
+            bPropertyHandled = sal_True;
 		}
 		break;
 
 				throw uno::RuntimeException();
 
 			aAny <<= SvxCreateNumRule( pBulletItem->GetNumRule() );
+            bPropertyHandled = sal_True;
 		}
 		break;
 
 				if( nLevel >= 0 )
 					aAny <<= nLevel;
 			}
+            bPropertyHandled = sal_True;
 		}
 		break;
     case WID_NUMBERINGSTARTVALUE:
 			SvxTextForwarder* pForwarder = pEditSource? pEditSource->GetTextForwarder() : NULL;
 			if(pForwarder && pSelection)
 				aAny <<= pForwarder->GetNumberingStartValue( pSelection->nStartPara );
+            bPropertyHandled = sal_True;
 		}
 		break;
     case WID_PARAISNUMBERINGRESTART:
 			SvxTextForwarder* pForwarder = pEditSource? pEditSource->GetTextForwarder() : NULL;
 			if(pForwarder && pSelection)
 				aAny <<= pForwarder->IsParaIsNumberingRestart( pSelection->nStartPara );
+            bPropertyHandled = sal_True;
 		}
 		break;
 
 			}
 
 			aAny <<= bState;
+            bPropertyHandled = sal_True;
 		}
 		break;
+    // --> OD #i105270#
+    case EE_PARA_JUST:
+        {
+            SvxTextForwarder* pForwarder = pEditSource
+                                           ? pEditSource->GetTextForwarder() 
+                                           : 0;
+            if ( pForwarder )
+            {        
+                if ( pMap->nMemberId == MID_PARA_ADJUST &&
+                     unoadjitemfunc::GetUnoParaAdjust( aAny, rSet, *pForwarder ) )
+                {
+                    bPropertyHandled = sal_True;
+                }
+                else if ( pMap->nMemberId == MID_PARA_TEXT_ALIGN &&
+                          unoadjitemfunc::GetUnoParaTextAlign( aAny, rSet, *pForwarder ) )
+                {
+                    bPropertyHandled = sal_True;
+                }
+            }
+        }
+        break;        
+    // <--
 	default:
-
-		return sal_False;
+        bPropertyHandled = sal_False;
 	}
 
-	return sal_True;
+    return bPropertyHandled;
 }
 
 // wird (noch) nicht unterstuetzt
 			    eItemState = SFX_ITEM_SET;
                 break;
 
+            // --> OD #i105270#
+            case EE_PARA_JUST:
+                {
+                    if ( pMap->nMemberId == MID_PARA_ADJUST )
+                    {
+                        SfxItemSet aSet = nPara != -1
+                                          ? pForwarder->GetParaAttribs( (USHORT)nPara )
+                                          : pForwarder->GetAttribs( GetSelection() );
+                        uno::Any aDummy;
+                        if ( unoadjitemfunc::GetUnoParaAdjust( aDummy, aSet, *pForwarder ) &&
+                             unoadjitemfunc::IsSvxAdjustItemDirectValue( aSet, *pForwarder ) )
+                        {
+                            eItemState = SFX_ITEM_SET;
+                        }
+                        else
+                        {
+                            nWID = pMap->nWID;
+                        }            
+                    }
+                    else if ( pMap->nMemberId == MID_PARA_TEXT_ALIGN )
+                    {
+                        SfxItemSet aSet = nPara != -1
+                                          ? pForwarder->GetParaAttribs( (USHORT)nPara )
+                                          : pForwarder->GetAttribs( GetSelection() );
+                        uno::Any aDummy;
+                        if ( unoadjitemfunc::GetUnoParaTextAlign( aDummy, aSet, *pForwarder ) &&
+                             unoadjitemfunc::IsSvxAdjustItemDirectValue( aSet, *pForwarder ) )
+                        {
+                            eItemState = SFX_ITEM_SET;
+                        }
+                        else
+                        {
+                            nWID = pMap->nWID;
+                        }            
+                    }
+                    else
+                    {
+                        nWID = pMap->nWID;
+                    }
+                }        
+            // <--
+
 		    default:
 			    nWID = pMap->nWID;
 		    }
 				eItemState = SFX_ITEM_SET;
 				break;
 
+            // --> OD #i105270#
+            case EE_PARA_JUST:
+                {
+                    SvxTextForwarder* pForwarder = mpEditSource 
+                                                   ? mpEditSource->GetTextForwarder() 
+                                                   : 0;
+                    if ( pForwarder )
+                    {
+                        if ( pMap->nMemberId == MID_PARA_ADJUST )
+                        {
+                            uno::Any aDummy;
+                            if ( unoadjitemfunc::GetUnoParaAdjust( aDummy, *pSet, *pForwarder ) &&
+                                 unoadjitemfunc::IsSvxAdjustItemDirectValue( *pSet, *pForwarder ) )
+                            {
+                                eItemState = SFX_ITEM_SET;
+                            }
+                            else
+                            {
+                                nWID = pMap->nWID;
+                            }            
+                        }
+                        else if ( pMap->nMemberId == MID_PARA_TEXT_ALIGN )
+                        {
+                            uno::Any aDummy;
+                            if ( unoadjitemfunc::GetUnoParaTextAlign( aDummy, *pSet, *pForwarder ) &&
+                                 unoadjitemfunc::IsSvxAdjustItemDirectValue( *pSet, *pForwarder ) )
+                            {
+                                eItemState = SFX_ITEM_SET;
+                            }
+                            else
+                            {
+                                nWID = pMap->nWID;
+                            }            
+                        }
+                        else
+                        {
+                            nWID = pMap->nWID;
+                        }
+                    }
+                    else
+                    {
+                        nWID = pMap->nWID;
+                    }            
+                }        
+            // <--
+
 			default:
 				nWID = pMap->nWID;
 		}
 					{
 						SfxItemSet aSet( *pPool,	pMap->nWID, pMap->nWID);
 						aSet.Put(pPool->GetDefaultItem(pMap->nWID));
-						return mpPropSet->getPropertyValue(pMap, aSet, true, false );
+                        // --> OD #i105270#
+                        uno::Any aAny;
+                        if ( pMap->nWID == EE_PARA_JUST &&
+                             GetPropertyValueHelper( aSet, pMap, aAny, &maSelection, GetEditSource() ) )
+                        {
+                            return aAny;
+                        }
+                        else
+                        {        
+                            return mpPropSet->getPropertyValue(pMap, aSet, true, false );
+                        }
+                        // <--
 					}
 				}
 			}
 
 // --------------------------------------------------------------------
 
-SvxDummyTextSource::~SvxDummyTextSource()
-{
-};
-
-SvxEditSource* SvxDummyTextSource::Clone() const
-{
-	return new SvxDummyTextSource();
-}
-
-SvxTextForwarder* SvxDummyTextSource::GetTextForwarder()
-{
-	return this;
-}
-
-void SvxDummyTextSource::UpdateData()
-{
-}
-
-sal_uInt16 SvxDummyTextSource::GetParagraphCount() const
-{
-	return 0;
-}
-
-sal_uInt16 SvxDummyTextSource::GetTextLen( sal_uInt16 ) const
-{
-	return 0;
-}
-
-String SvxDummyTextSource::GetText( const ESelection& ) const
-{
-	return String();
-}
-
-SfxItemSet SvxDummyTextSource::GetAttribs( const ESelection&, BOOL ) const
-{
-    // AW: Very dangerous: The former implementation used a SfxItemPool created on the
-    // fly which of course was deleted again ASAP. Thus, the returned SfxItemSet was using
-    // a deleted Pool by design.
-	return SfxItemSet(EditEngine::GetGlobalItemPool());
-}
-
-SfxItemSet SvxDummyTextSource::GetParaAttribs( sal_uInt16 ) const
-{
-	return GetAttribs(ESelection());
-}
-
-void SvxDummyTextSource::SetParaAttribs( sal_uInt16, const SfxItemSet& )
-{
-}
-
-void SvxDummyTextSource::RemoveAttribs( const ESelection& , sal_Bool , sal_uInt16 )
-{
-}
-
-void SvxDummyTextSource::GetPortions( sal_uInt16, SvUShorts& ) const
-{
-}
-
-sal_uInt16 SvxDummyTextSource::GetItemState( const ESelection&, sal_uInt16 ) const
-{
-	return 0;
-}
-
-sal_uInt16 SvxDummyTextSource::GetItemState( sal_uInt16, sal_uInt16 ) const
-{
-	return 0;
-}
-
-SfxItemPool* SvxDummyTextSource::GetPool() const
-{
-	return NULL;
-}
-
-void SvxDummyTextSource::QuickInsertText( const String&, const ESelection& )
-{
-}
-
-void SvxDummyTextSource::QuickInsertField( const SvxFieldItem&, const ESelection& )
-{
-}
-
-void SvxDummyTextSource::QuickSetAttribs( const SfxItemSet&, const ESelection& )
-{
-}
-
-void SvxDummyTextSource::QuickInsertLineBreak( const ESelection& )
-{
-};
-
-XubString SvxDummyTextSource::CalcFieldValue( const SvxFieldItem&, sal_uInt16, sal_uInt16, Color*&, Color*& )
-{
-	return XubString();
-}
-
-void SvxDummyTextSource::FieldClicked( const SvxFieldItem&, USHORT, xub_StrLen )
-{
-}
-
-sal_Bool SvxDummyTextSource::IsValid() const
-{
-	return sal_False;
-}
-
-void SvxDummyTextSource::SetNotifyHdl( const Link& )
-{
-}
-
-LanguageType SvxDummyTextSource::GetLanguage( USHORT, USHORT ) const
-{
-    return LANGUAGE_DONTKNOW;
-}
-
-USHORT SvxDummyTextSource::GetFieldCount( USHORT ) const
-{
-    return 0;
-}
-
-EFieldInfo SvxDummyTextSource::GetFieldInfo( USHORT, USHORT ) const
-{
-    return EFieldInfo();
-}
-
-EBulletInfo SvxDummyTextSource::GetBulletInfo( USHORT ) const
-{
-    return EBulletInfo();
-}
-
-Rectangle SvxDummyTextSource::GetCharBounds( USHORT, USHORT ) const
-{
-    return Rectangle();
-}
-
-Rectangle SvxDummyTextSource::GetParaBounds( USHORT ) const
-{
-    return Rectangle();
-}
-
-MapMode SvxDummyTextSource::GetMapMode() const
-{
-    return MapMode();
-}
-
-OutputDevice* SvxDummyTextSource::GetRefDevice() const
-{
-    return NULL;
-}
-
-sal_Bool SvxDummyTextSource::GetIndexAtPoint( const Point&, USHORT&, USHORT& ) const
-{
-    return sal_False;
-}
-
-sal_Bool SvxDummyTextSource::GetWordIndices( USHORT, USHORT, USHORT&, USHORT& ) const
-{
-    return sal_False;
-}
-
-sal_Bool SvxDummyTextSource::GetAttributeRun( USHORT&, USHORT&, USHORT, USHORT ) const
-{
-    return sal_False;
-}
-
-USHORT SvxDummyTextSource::GetLineCount( USHORT ) const
-{
-    return 0;
-}
-
-USHORT SvxDummyTextSource::GetLineLen( USHORT, USHORT ) const
-{
-    return 0;
-}
-
-void SvxDummyTextSource::GetLineBoundaries( /*out*/USHORT &rStart, /*out*/USHORT &rEnd, USHORT /*nParagraph*/, USHORT /*nLine*/ ) const
-{
-    rStart = rEnd = 0;
-}
+//SvxDummyTextSource::~SvxDummyTextSource()
+//{
+//};
+
+//SvxEditSource* SvxDummyTextSource::Clone() const
+//{
+//  return new SvxDummyTextSource();
+//}
+
+//SvxTextForwarder* SvxDummyTextSource::GetTextForwarder()
+//{
+//  return this;
+//}
+
+//void SvxDummyTextSource::UpdateData()
+//{
+//}
+
+//sal_uInt16 SvxDummyTextSource::GetParagraphCount() const
+//{
+//  return 0;
+//}
+
+//sal_uInt16 SvxDummyTextSource::GetTextLen( sal_uInt16 ) const
+//{
+//  return 0;
+//}
+
+//String SvxDummyTextSource::GetText( const ESelection& ) const
+//{
+//  return String();
+//}
+
+//SfxItemSet SvxDummyTextSource::GetAttribs( const ESelection&, BOOL ) const
+//{
+//    // AW: Very dangerous: The former implementation used a SfxItemPool created on the
+//    // fly which of course was deleted again ASAP. Thus, the returned SfxItemSet was using
+//    // a deleted Pool by design.
+//  return SfxItemSet(EditEngine::GetGlobalItemPool());
+//}
+
+//SfxItemSet SvxDummyTextSource::GetParaAttribs( sal_uInt16 ) const
+//{
+//  return GetAttribs(ESelection());
+//}
+
+//void SvxDummyTextSource::SetParaAttribs( sal_uInt16, const SfxItemSet& )
+//{
+//}
+
+//void SvxDummyTextSource::RemoveAttribs( const ESelection& , sal_Bool , sal_uInt16 )
+//{
+//}
+
+//void SvxDummyTextSource::GetPortions( sal_uInt16, SvUShorts& ) const
+//{
+//}
+
+//// --> OD #i105270#
+//sal_Bool SvxDummyTextSource::IsRightToLeft( const USHORT ) const
+//{
+//    return sal_False;
+//}
+            
+//sal_Bool SvxDummyTextSource::IsRightToLeft( const SfxItemSet& ) const
+//{
+//    return sal_False;
+//}
+//// <--
+            
+//sal_uInt16 SvxDummyTextSource::GetItemState( const ESelection&, sal_uInt16 ) const
+//{
+//  return 0;
+//}
+
+//sal_uInt16 SvxDummyTextSource::GetItemState( sal_uInt16, sal_uInt16 ) const
+//{
+//  return 0;
+//}
+
+//SfxItemPool* SvxDummyTextSource::GetPool() const
+//{
+//  return NULL;
+//}
+
+//void SvxDummyTextSource::QuickInsertText( const String&, const ESelection& )
+//{
+//}
+
+//void SvxDummyTextSource::QuickInsertField( const SvxFieldItem&, const ESelection& )
+//{
+//}
+
+//void SvxDummyTextSource::QuickSetAttribs( const SfxItemSet&, const ESelection& )
+//{
+//}
+
+//void SvxDummyTextSource::QuickInsertLineBreak( const ESelection& )
+//{
+//};
+
+//XubString SvxDummyTextSource::CalcFieldValue( const SvxFieldItem&, sal_uInt16, sal_uInt16, Color*&, Color*& )
+//{
+//  return XubString();
+//}
+
+//void SvxDummyTextSource::FieldClicked( const SvxFieldItem&, USHORT, xub_StrLen )
+//{
+//}
+
+//sal_Bool SvxDummyTextSource::IsValid() const
+//{
+//  return sal_False;
+//}
+
+//void SvxDummyTextSource::SetNotifyHdl( const Link& )
+//{
+//}
+
+//LanguageType SvxDummyTextSource::GetLanguage( USHORT, USHORT ) const
+//{
+//    return LANGUAGE_DONTKNOW;
+//}
+
+//USHORT SvxDummyTextSource::GetFieldCount( USHORT ) const
+//{
+//    return 0;
+//}
+
+//EFieldInfo SvxDummyTextSource::GetFieldInfo( USHORT, USHORT ) const
+//{
+//    return EFieldInfo();
+//}
+
+//EBulletInfo SvxDummyTextSource::GetBulletInfo( USHORT ) const
+//{
+//    return EBulletInfo();
+//}
+
+//Rectangle SvxDummyTextSource::GetCharBounds( USHORT, USHORT ) const
+//{
+//    return Rectangle();
+//}
+
+//Rectangle SvxDummyTextSource::GetParaBounds( USHORT ) const
+//{
+//    return Rectangle();
+//}
+
+//MapMode SvxDummyTextSource::GetMapMode() const
+//{
+//    return MapMode();
+//}
+
+//OutputDevice* SvxDummyTextSource::GetRefDevice() const
+//{
+//    return NULL;
+//}
+
+//sal_Bool SvxDummyTextSource::GetIndexAtPoint( const Point&, USHORT&, USHORT& ) const
+//{
+//    return sal_False;
+//}
+
+//sal_Bool SvxDummyTextSource::GetWordIndices( USHORT, USHORT, USHORT&, USHORT& ) const
+//{
+//    return sal_False;
+//}
+
+//sal_Bool SvxDummyTextSource::GetAttributeRun( USHORT&, USHORT&, USHORT, USHORT ) const
+//{
+//    return sal_False;
+//}
+
+//USHORT SvxDummyTextSource::GetLineCount( USHORT ) const
+//{
+//    return 0;
+//}
+
+//USHORT SvxDummyTextSource::GetLineLen( USHORT, USHORT ) const
+//{
+//    return 0;
+//}
+
+//void SvxDummyTextSource::GetLineBoundaries( /*out*/USHORT &rStart, /*out*/USHORT &rEnd, USHORT /*nParagraph*/, USHORT /*nLine*/ ) const
+//{
+//    rStart = rEnd = 0;
+//}
     
-USHORT SvxDummyTextSource::GetLineNumberAtIndex( USHORT /*nPara*/, USHORT /*nIndex*/ ) const
-{
-    return 0;
-}    
-
-sal_Bool SvxDummyTextSource::QuickFormatDoc( BOOL )
-{
-    return sal_False;
-}
-
-sal_Int16 SvxDummyTextSource::GetDepth( USHORT ) const
-{
-    return -1;
-}
-
-sal_Bool SvxDummyTextSource::SetDepth( USHORT, sal_Int16 nNewDepth )
-{
-    return nNewDepth == 0 ? sal_True : sal_False;
-}
-
-sal_Bool SvxDummyTextSource::Delete( const ESelection& )
-{
-    return sal_False;
-}
-
-sal_Bool SvxDummyTextSource::InsertText( const String&, const ESelection& )
-{
-    return sal_False;
-}
-
-const SfxItemSet * SvxDummyTextSource::GetEmptyItemSetPtr()
-{
-    return 0;
-}
-
-void SvxDummyTextSource::AppendParagraph()
-{
-}
-
-xub_StrLen SvxDummyTextSource::AppendTextPortion( USHORT, const String &, const SfxItemSet & )
-{
-    return 0;
-}
-
-void  SvxDummyTextSource::CopyText(const SvxTextForwarder& )
-{
-}
-
+//USHORT SvxDummyTextSource::GetLineNumberAtIndex( USHORT /*nPara*/, USHORT /*nIndex*/ ) const
+//{
+//    return 0;
+//}    
+
+//sal_Bool SvxDummyTextSource::QuickFormatDoc( BOOL )
+//{
+//    return sal_False;
+//}
+
+//sal_Int16 SvxDummyTextSource::GetDepth( USHORT ) const
+//{
+//    return -1;
+//}
+
+//sal_Bool SvxDummyTextSource::SetDepth( USHORT, sal_Int16 nNewDepth )
+//{
+//    return nNewDepth == 0 ? sal_True : sal_False;
+//}
+
+//sal_Bool SvxDummyTextSource::Delete( const ESelection& )
+//{
+//    return sal_False;
+//}
+
+//sal_Bool SvxDummyTextSource::InsertText( const String&, const ESelection& )
+//{
+//    return sal_False;
+//}
+
+//const SfxItemSet * SvxDummyTextSource::GetEmptyItemSetPtr()
+//{
+//    return 0;
+//}
+
+//void SvxDummyTextSource::AppendParagraph()
+//{
+//}
+
+//xub_StrLen SvxDummyTextSource::AppendTextPortion( USHORT, const String &, const SfxItemSet & )
+//{
+//    return 0;
+//}
+
+//void  SvxDummyTextSource::CopyText(const SvxTextForwarder& )
+//{
+//}
+

editeng/source/xml/xmltxtexp.cxx

 	{
 		SVX_UNOEDIT_CHAR_PROPERTIES,
 		SVX_UNOEDIT_FONT_PROPERTIES,
-//		SVX_UNOEDIT_OUTLINER_PROPERTIES,
 		{MAP_CHAR_LEN(UNO_NAME_NUMBERING_RULES),		EE_PARA_NUMBULLET,	&::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexReplace>*)0), 0, 0 },
 		{MAP_CHAR_LEN(UNO_NAME_NUMBERING),				EE_PARA_BULLETSTATE,&::getBooleanCppuType(), 0, 0 },
 		{MAP_CHAR_LEN(UNO_NAME_NUMBERING_LEVEL),		EE_PARA_OUTLLEVEL,	&::getCppuType((const sal_Int16*)0), 0, 0 },

editeng/source/xml/xmltxtimp.cxx

 
 	virtual SvXMLImportContext *CreateChildContext( USHORT nPrefix, const OUString& rLocalName, const uno::Reference< XAttributeList >& xAttrList );
 
-//	SvxXMLXTableImport& getImport() const { return *(SvxXMLXTableImport*)&GetImport(); }
-
 private:
 	const uno::Reference< XText > mxText;
 };
 	{
 		SVX_UNOEDIT_CHAR_PROPERTIES,
 		SVX_UNOEDIT_FONT_PROPERTIES,
-//		SVX_UNOEDIT_OUTLINER_PROPERTIES,
 		SVX_UNOEDIT_PARA_PROPERTIES,
 		{0,0,0,0,0,0}
 	};
 
 			xml::sax::InputSource aParserInput;
 			aParserInput.aInputStream =	xInputStream;
-//			aParserInput.sSystemId = aMedium.GetName();
 			xParser->parseStream( aParserInput );				
 		}
 		while(0);

sc/source/filter/xml/xmlstyli.cxx

 #include <com/sun/star/container/XNameContainer.hpp>
 #include <com/sun/star/sheet/XSheetConditionalEntries.hpp>
 #include <com/sun/star/table/BorderLine.hpp>
+// --> OD #i105270#
+#include <com/sun/star/style/ParagraphAdjust.hpp>
+// <--
 #include <comphelper/extract.hxx>
 #include <xmloff/xmlprcon.hxx>
 #include <xmloff/xmluconv.hxx>
 		if (xMultiServiceFactory.is())
 		{
 			uno::Reference <beans::XPropertySet> xProperties(xMultiServiceFactory->createInstance(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.sheet.Defaults"))), uno::UNO_QUERY);
-			if (xProperties.is())
+            if ( xProperties.is() )
+            {
+                // --> OD #i105270#        
+                // apply legacy text alignment default for legacy documents
+                if ( GetImport().getGeneratorVersion() <= SvXMLImport::OOo_33x )
+                {
+                    const OUString sParaAdjust( RTL_CONSTASCII_USTRINGPARAM( "ParaAdjust" ) );
+                    Reference< XPropertySetInfo > xInfo( xProperties->getPropertySetInfo() );
+                    if ( xInfo.is() &&
+                         xInfo->hasPropertyByName( sParaAdjust ) )
+                    {
+                        Any aTextAlign;
+                        aTextAlign <<= style::ParagraphAdjust_LEFT;
+                        xProperties->setPropertyValue( sParaAdjust, aTextAlign );
+                    }
+                }    
+                // <--
 				FillPropertySet(xProperties);
+            }
 		}
 	}
 }
 #include <unotools/charclass.hxx>
 #include <sot/storage.hxx>
 #include <rsc/rscsfx.hxx>
-#include <com/sun/star/lang/Locale.hpp>
-#include <com/sun/star/text/WritingMode.hpp>
 
 // #107844#
 #include <svx/svdundo.hxx>

sd/source/core/stlsheet.cxx

 #include "helpids.h"
 #include "../ui/inc/DrawViewShell.hxx"
 #include "../ui/inc/ViewShellBase.hxx"
+// --> OD #i105270#
+#include <editeng/adjitem.hxx>
+#include <editeng/frmdiritem.hxx>
+#include <com/sun/star/style/ParagraphAdjust.hpp>
+#include <com/sun/star/style/ParagraphTextAlignment.hpp>
+// <--
 
 using ::rtl::OUString;
 using ::osl::MutexGuard;
 using namespace ::com::sun::star::beans;
 using namespace ::com::sun::star::container;
 using namespace ::com::sun::star::drawing;
+// --> OD #i105270#
+using namespace ::com::sun::star::text;
+// <--
 
 #define WID_STYLE_DISPNAME	7998
 #define WID_STYLE_FAMILY	7999
 
 // --------------------------------------------------------------------
 
+// --> OD #i105270#
+namespace
+{
+    const SvxAdjust _GetAdjustFromItemSet( const SfxItemSet& rSet )
+    {
+        SvxAdjust eAdjust = SVX_ADJUST_START;
+
+        const SvxAdjustItem* pAdjustItem = 
+            dynamic_cast<const SvxAdjustItem*>(rSet.GetItem( EE_PARA_JUST ));
+        DBG_ASSERT( pAdjustItem, "<_GetAdjustFromItemSet(..)> - SvxAdjustItem not found in provided item set!" );
+        if ( pAdjustItem )
+        {
+            eAdjust = pAdjustItem->GetAdjust(); 
+        }
+
+        return eAdjust;
+    }
+            
+    const SvxFrameDirection _GetTextDirectionFromItemSet( const SfxItemSet &rSet )
+    {
+        SvxFrameDirection eFrameDir = FRMDIR_ENVIRONMENT;
+
+        const SvxFrameDirectionItem* pTextDirItem =
+            dynamic_cast<const SvxFrameDirectionItem*>(rSet.GetItem( EE_PARA_WRITINGDIR ));
+        if ( pTextDirItem )
+        {
+            eFrameDir = static_cast<SvxFrameDirection>(pTextDirItem->GetValue());
+        }
+
+        return eFrameDir;
+    }            
+    
+    const WritingMode _GetTextDirectionForStyle( const SfxItemSet& rSet,
+                                                 const SdDrawDocument& rDrawDoc )
+    {
+        WritingMode eTextDir = WritingMode_LR_TB;
+        
+        const SvxFrameDirection eFrameDir = _GetTextDirectionFromItemSet( rSet );
+        
+        if ( eFrameDir == FRMDIR_ENVIRONMENT )
+        {
+            eTextDir = rDrawDoc.GetDefaultWritingMode();
+        }
+        else
+        {
+            switch ( eFrameDir )
+            {
+                case( FRMDIR_HORI_LEFT_TOP ): eTextDir = WritingMode_LR_TB; break;
+                case( FRMDIR_HORI_RIGHT_TOP ): eTextDir = WritingMode_RL_TB; break;
+                case( FRMDIR_VERT_TOP_RIGHT ): eTextDir = WritingMode_TB_RL; break;
+                default:
+                    DBG_ERROR( "Frame direction not supported yet" );
+                break;
+            }
+        }            
+
+        return eTextDir;    
+    }    
+    
+    bool _GetUnoParaAdjust( Any& rParaAdjustVal,
+                            const SvxAdjust eAdjust,
+                            const WritingMode eTextDir ) 
+    {
+        bool bValueProvided( false );
+
+        if ( eAdjust == SVX_ADJUST_START )
+        {
+            if ( eTextDir == WritingMode_RL_TB )
+            {
+                rParaAdjustVal <<= ParagraphAdjust_RIGHT;
+            }
+            else
+            {
+                rParaAdjustVal <<= ParagraphAdjust_LEFT;
+            }
+            bValueProvided = true;         
+        }
+        else if ( eAdjust == SVX_ADJUST_END )
+        {
+            if ( eTextDir == WritingMode_RL_TB )
+            {
+                rParaAdjustVal <<= ParagraphAdjust_LEFT;
+            }
+            else
+            {
+                rParaAdjustVal <<= ParagraphAdjust_RIGHT;
+            }
+            bValueProvided = true;         
+        }
+
+        return bValueProvided;
+    }    
+
+    bool GetUnoParaAdjust( Any& rParaAdjustVal,
+                           const SfxItemSet& rSet,
+                           const SdDrawDocument& rDrawDoc )
+    {
+        const SvxAdjust eAdjust = _GetAdjustFromItemSet( rSet );
+        
+        return _GetUnoParaAdjust( rParaAdjustVal, 
+                                  eAdjust,
+                                  _GetTextDirectionForStyle( rSet, rDrawDoc ) );
+    }    
+
+    bool _GetUnoParaTextAlign( Any& rParaTextAlignVal,
+                               const SvxAdjust eAdjust,
+                               const WritingMode eTextDir ) 
+    {
+        bool bValueProvided( false );
+
+        if ( eAdjust == SVX_ADJUST_LEFT )
+        {
+            if ( eTextDir == WritingMode_RL_TB )
+            {
+                rParaTextAlignVal <<= ParagraphTextAlignment_END;
+            }
+            else
+            {
+                rParaTextAlignVal <<= ParagraphTextAlignment_START;
+            }
+            bValueProvided = true;         
+        }
+        else if ( eAdjust == SVX_ADJUST_RIGHT )
+        {
+            if ( eTextDir == WritingMode_RL_TB )
+            {
+                rParaTextAlignVal <<= ParagraphTextAlignment_START;
+            }
+            else
+            {
+                rParaTextAlignVal <<= ParagraphTextAlignment_END;
+            }
+            bValueProvided = true;         
+        }
+
+        return bValueProvided;
+    }    
+
+    bool GetUnoParaTextAlign( Any& rParaTextAlignVal,
+                              const SfxItemSet& rSet, 
+                              const SdDrawDocument& rDrawDoc )
+    {
+        const SvxAdjust eAdjust = _GetAdjustFromItemSet( rSet );
+        
+        return _GetUnoParaTextAlign( rParaTextAlignVal, 
+                                     eAdjust,
+                                     _GetTextDirectionForStyle( rSet, rDrawDoc ) );
+    }    
+
+    bool IsSvxAdjustItemDirectValue( const SfxItemSet& rSet, 
+                                     const SdDrawDocument& rDrawDoc )
+    {
+        // important prerequiste: 
+        // method <GetUnoParaAdjust(..)> respectively 
+        // method <GetUnoParaTextAlign(..) returns <true>
+        
+        bool bIsDirectValue( false );
+
+        if ( ( rSet.GetItemState( EE_PARA_JUST, FALSE ) == SFX_ITEM_SET ) ||
+             ( rSet.GetParent() &&
+               _GetTextDirectionForStyle( rSet, rDrawDoc ) != 
+                    _GetTextDirectionForStyle( *(rSet.GetParent()), rDrawDoc ) ) )
+        {
+            bIsDirectValue = true;
+        }
+
+        return bIsDirectValue;
+    }            
+}
+// <--
+
 Any SAL_CALL SdStyleSheet::getPropertyValue( const OUString& PropertyName ) throw(UnknownPropertyException, WrappedTargetException, RuntimeException)
 {
 	OGuard aGuard( Application::GetSolarMutex() );
 					aAny <<= BitmapMode_NO_REPEAT;
 			}
 		}
+        // --> OD #i105270#
+        else if ( pEntry->nWID == EE_PARA_JUST &&
+                  pEntry->nMemberId == MID_PARA_ADJUST &&
+                  GetUnoParaAdjust( aAny, GetItemSet(), *(static_cast<SdStyleSheetPool&>(rPool).GetDoc()) ) )
+        {
+            // done - <aAny> contains corresponding value
+        }
+        else if ( pEntry->nWID == EE_PARA_JUST &&
+                  pEntry->nMemberId == MID_PARA_TEXT_ALIGN &&
+                  GetUnoParaTextAlign( aAny, GetItemSet(), *(static_cast<SdStyleSheetPool&>(rPool).GetDoc()) ) )
+        {
+            // done - <aAny> contains corresponding value
+        }
+        // <--
 		else
 		{
 			SfxItemSet aSet( GetPool().GetPool(),	pEntry->nWID, pEntry->nWID);
 
 		PropertyState eState;
 
-		switch( rStyleSet.GetItemState( pEntry->nWID, sal_False ) )
+        // --> OD #i102570#
+//        switch( rStyleSet.GetItemState( pEntry->nWID, sal_False ) )
+        SfxItemState eItemState = rStyleSet.GetItemState( pEntry->nWID, sal_False );
+        if ( pEntry->nWID == EE_PARA_JUST &&
+             eItemState != SFX_ITEM_SET )
+        {
+            if ( pEntry->nMemberId == MID_PARA_ADJUST )
+            {
+                Any aDummy;
+                if ( GetUnoParaAdjust( aDummy, rStyleSet, *(static_cast<SdStyleSheetPool&>(rPool).GetDoc()) ) &&
+                     IsSvxAdjustItemDirectValue( rStyleSet, *(static_cast<SdStyleSheetPool&>(rPool).GetDoc()) ) )
+                {
+                    eItemState = SFX_ITEM_SET;
+                }
+            }
+            else if ( pEntry->nMemberId == MID_PARA_TEXT_ALIGN )
+            {
+                Any aDummy;                                        
+                if ( GetUnoParaTextAlign( aDummy, rStyleSet, *(static_cast<SdStyleSheetPool&>(rPool).GetDoc()) ) &&
+                     IsSvxAdjustItemDirectValue( rStyleSet, *(static_cast<SdStyleSheetPool&>(rPool).GetDoc()) ) )
+                {
+                    eItemState = SFX_ITEM_SET;
+                }
+            }
+        }
+        switch( eItemState )
+        // <--                
 		{
 		case SFX_ITEM_READONLY:
 		case SFX_ITEM_SET:
 		SfxItemPool& rMyPool = GetPool().GetPool();
 		SfxItemSet aSet( rMyPool,	pEntry->nWID, pEntry->nWID);
 		aSet.Put( rMyPool.GetDefaultItem( pEntry->nWID ) );
-        aRet = SvxItemPropertySet_getPropertyValue( GetStylePropertySet(), pEntry, aSet );
+        // --> OD #i105270#
+        if ( pEntry->nWID == EE_PARA_JUST &&
+             pEntry->nMemberId == MID_PARA_ADJUST )
+        {
+            SfxItemSet aTempSet( GetItemSet() );
+            aTempSet.Put( rMyPool.GetDefaultItem( pEntry->nWID ) );
+            if ( !GetUnoParaAdjust( aRet, aTempSet, *(static_cast<SdStyleSheetPool&>(rPool).GetDoc()) ) )
+            {
+                aRet = SvxItemPropertySet_getPropertyValue( GetStylePropertySet(), pEntry, aSet );
+            }
+        }
+        else if ( pEntry->nWID == EE_PARA_JUST &&
+                  pEntry->nMemberId == MID_PARA_TEXT_ALIGN )
+        {
+            SfxItemSet aTempSet( GetItemSet() );
+            aTempSet.Put( rMyPool.GetDefaultItem( pEntry->nWID ) );
+            if ( !GetUnoParaAdjust( aRet, aTempSet, *(static_cast<SdStyleSheetPool&>(rPool).GetDoc()) ) )
+            {
+                aRet = SvxItemPropertySet_getPropertyValue( GetStylePropertySet(), pEntry, aSet );
+            }
+        }
+        else
+        {        
+            aRet = SvxItemPropertySet_getPropertyValue( GetStylePropertySet(), pEntry, aSet );
+        }
+        // <--
 	}
     return aRet;
 }

starmath/source/accessibility.cxx

 		pEditEngine->GetPortions( nPara, rList );
 }
 
+// --> OD #i105270#
+sal_Bool SmTextForwarder::IsRightToLeft( const USHORT nPara ) const
+{
+    return ( rEditAcc.GetEditEngine() && 
+             rEditAcc.GetEditEngine()->IsRightToLeft( nPara ) )
+           ? sal_True
+           : sal_False;
+}
+            
+sal_Bool SmTextForwarder::IsRightToLeft( const SfxItemSet& rItemSet ) const
+{
+    return ( rEditAcc.GetEditEngine() && 
+             rEditAcc.GetEditEngine()->IsRightToLeft( rItemSet ) )
+           ? sal_True
+           : sal_False;
+}
+// <--
+
 void SmTextForwarder::QuickInsertText( const String& rText, const ESelection& rSel )
 {
 	EditEngine *pEditEngine = rEditAcc.GetEditEngine();

starmath/source/accessibility.hxx

     virtual void        RemoveAttribs( const ESelection& rSelection, sal_Bool bRemoveParaAttribs, sal_uInt16 nWhich );
 	virtual void		GetPortions( USHORT nPara, SvUShorts& rList ) const;
 
+    // --> OD #i105270#
+    virtual sal_Bool    IsRightToLeft( const USHORT nPara ) const;
+    virtual sal_Bool    IsRightToLeft( const SfxItemSet& rItemSet ) const;
+    // <--
+    
 	virtual USHORT		GetItemState( const ESelection& rSel, USHORT nWhich ) const;
 	virtual USHORT		GetItemState( USHORT nPara, USHORT nWhich ) const;
 

svx/source/accessibility/AccessibleEmptyEditSource.cxx

         void            RemoveAttribs( const ESelection& /*rSelection*/, sal_Bool /*bRemoveParaAttribs*/, sal_uInt16 /*nWhich*/ ){}
         void			GetPortions( USHORT /*nPara*/, SvUShorts& /*rList*/ ) const {}
 
+        // --> OD #i105270#
+        sal_Bool IsRightToLeft( const USHORT /*nPara*/ ) const
+        {
+            return sal_False;
+        }
+        sal_Bool IsRightToLeft( const SfxItemSet& /*rItemSet*/ ) const
+        {
+            return sal_False;
+        }
+        // <--
+    
         USHORT			GetItemState( const ESelection& /*rSel*/, USHORT /*nWhich*/ ) const { return 0; }
         USHORT			GetItemState( USHORT /*nPara*/, USHORT /*nWhich*/ ) const { return 0; }
         

svx/source/table/cell.cxx

 #include "svx/xflbmtit.hxx"
 #include <svx/svdpool.hxx>
 
+// --> OD #i105270#
+#include <editeng/unoadjitemfunc.hxx>
+// <--
+
 // -----------------------------------------------------------------------------
 
 using ::rtl::OUString;
     static const SfxItemPropertyMapEntry aSvxCellPropertyMap[] =
 	{
 		FILL_PROPERTIES
-//		{ MAP_CHAR_LEN("HasLevels"),					OWN_ATTR_HASLEVELS,				&::getBooleanCppuType(), ::com::sun::star::beans::PropertyAttribute::READONLY,		0},
 		{ MAP_CHAR_LEN("Style"),						OWN_ATTR_STYLE,					&::com::sun::star::style::XStyle::static_type(),									::com::sun::star::beans::PropertyAttribute::MAYBEVOID, 0},
 		{ MAP_CHAR_LEN(UNO_NAME_TEXT_WRITINGMODE),		SDRATTR_TEXTDIRECTION,			&::getCppuType( (::com::sun::star::text::WritingMode*) 0 ),							0,		0},
 		{ MAP_CHAR_LEN(UNO_NAME_TEXT_HORZADJUST),		SDRATTR_TEXT_HORZADJUST,		&::getCppuType((const ::com::sun::star::drawing::TextHorizontalAdjust*)0),	0,		0}, \
 
 Any Cell::GetAnyForItem( SfxItemSet& aSet, const SfxItemPropertySimpleEntry* pMap )
 {
-	Any aAny( SvxItemPropertySet_getPropertyValue( *mpPropSet, pMap, aSet ) );
+    Any aAny( SvxItemPropertySet_getPropertyValue( *mpPropSet, pMap, aSet ) );
+    // --> OD #i105270#
+    if ( pMap->nWID == EE_PARA_JUST &&
+         GetEditSource() && GetEditSource()->GetTextForwarder() )
+    {
+        if ( pMap->nMemberId == MID_PARA_ADJUST )
+        {
+            unoadjitemfunc::GetUnoParaAdjust( aAny, aSet, *(GetEditSource()->GetTextForwarder()) );
+        }        
+        else if ( pMap->nMemberId == MID_PARA_TEXT_ALIGN )
+        {
+            unoadjitemfunc::GetUnoParaTextAlign( aAny, aSet, *(GetEditSource()->GetTextForwarder()) );
+        }
+    }
+    // <--
 
 	if( *pMap->pType != aAny.getValueType() )
 	{
 	{
 		switch( pMap->nWID )
 		{
-/*
-        case OWN_ATTR_HASLEVELS:
-		{
-			return Any( hasLevels() );
-		}
-*/
 		case OWN_ATTR_STYLE:
 		{
 			return Any( Reference< XStyle >( dynamic_cast< SfxUnoStyleSheet* >( GetStyleSheet() ) ) );
 				eState = PropertyState_DEFAULT_VALUE;
 			}
 		}
-/*
-		case OWN_ATTR_HASLEVELS:
-		{
-			return PropertyState_DIRECT_VALUE;
-		}
-*/
 		case OWN_ATTR_STYLE:
 		{
 			return PropertyState_DIRECT_VALUE;
 		{
 			const SfxItemSet& rSet = mpProperties->GetMergedItemSet();
 
-			switch( rSet.GetItemState( pMap->nWID, sal_False ) )
+            // --> OD #i105270#
+//            switch( rSet.GetItemState( pMap->nWID, sal_False ) )
+            SfxItemState eItemState = rSet.GetItemState( pMap->nWID, sal_False );
+            if ( pMap->nWID == EE_PARA_JUST &&
+                 eItemState != SFX_ITEM_SET &&
+                 GetEditSource() && GetEditSource()->GetTextForwarder() )   
+            {
+                if ( pMap->nMemberId == MID_PARA_ADJUST )
+                {
+                    Any aDummy;
+                    if ( unoadjitemfunc::GetUnoParaAdjust( aDummy, rSet, *(GetEditSource()->GetTextForwarder()) ) &&
+                         unoadjitemfunc::IsSvxAdjustItemDirectValue( rSet, *(GetEditSource()->GetTextForwarder()) ) )
+                    {
+                        eItemState = SFX_ITEM_SET;
+                    }
+                }
+                else if ( pMap->nMemberId == MID_PARA_TEXT_ALIGN )
+                {
+                    Any aDummy;                                        
+                    if ( unoadjitemfunc::GetUnoParaTextAlign( aDummy, rSet, *(GetEditSource()->GetTextForwarder()) ) &&
+                         unoadjitemfunc::IsSvxAdjustItemDirectValue( rSet, *(GetEditSource()->GetTextForwarder()) ) )
+                    {
+                        eItemState = SFX_ITEM_SET;
+                    }
+                }
+            }
+            switch( eItemState )
+            // <--                    
 			{
 			case SFX_ITEM_READONLY:
 			case SFX_ITEM_SET:
 			mpProperties->ClearObjectItem( XATTR_FILLBMP_TILE );
 			break;
 		}
-//		case OWN_ATTR_HASLEVELS:
 		case OWN_ATTR_STYLE:
 			break;
 
 		case OWN_ATTR_FILLBMP_MODE:
 			return Any(  BitmapMode_NO_REPEAT );
 
-/*
-        case OWN_ATTR_HASLEVELS:
-			return Any( sal_False );
-*/
 		case OWN_ATTR_STYLE:
 		{
 			Reference< XStyle > xStyle;

svx/source/unodraw/unoprov.cxx

 			default:
 				DBG_ERROR( "Unknown property map for SvxUnoPropertyMapProvider!" );
 		}
-//		Sort(nPropertyId);
 	}
 	return aMapArr[nPropertyId];
 }
 
 // #####################################################################
 
-/** maps the API constant MeasureUnit to a vcl MapUnit enum.
-	Returns false if conversion is not supported.
-
-	@cl: for warnings01 I found out that this method never worked so I thin
-		 it is not used at all
-sal_Bool SvxMeasureUnitToMapUnit( const short eApi, int& eVcl ) throw()
-{
-	switch( eVcl )
-	{
-	case util::MeasureUnit::MM_100TH:		eVcl = MAP_100TH_MM;	break;
-	case util::MeasureUnit::MM_10TH:		eVcl = MAP_10TH_MM;		break;
-	case util::MeasureUnit::MM:				eVcl = MAP_MM;			break;
-	case util::MeasureUnit::CM:				eVcl = MAP_CM;			break;
-	case util::MeasureUnit::INCH_1000TH:	eVcl = MAP_1000TH_INCH; break;
-	case util::MeasureUnit::INCH_100TH:		eVcl = MAP_100TH_INCH;	break;
-	case util::MeasureUnit::INCH_10TH:		eVcl = MAP_10TH_INCH;	break;
-	case util::MeasureUnit::INCH:			eVcl = MAP_INCH;		break;
-	case util::MeasureUnit::POINT:			eVcl = MAP_POINT;		break;
-	case util::MeasureUnit::TWIP:			eVcl = MAP_TWIP;		break;
-	case util::MeasureUnit::PERCENT:		eVcl = MAP_RELATIVE;	break;
-	default:
-		return false;
-	}
-
-	return true;
-}
-*/
-
 /** maps the vcl MapUnit enum to a API constant MeasureUnit.
 	Returns false if conversion is not supported.
 */
 	return TRUE;
 }
 
-/*sal_Int16 SvxUnoGetWhichIdForNamedProperty( const ::rtl::OUString & rPropName )
-{
-    sal_Int16 nWhich = 0;
-
-    const SfxItemPropertyMapEntry* pMap = aSvxMapProvider.GetMap( SVXMAP_SHAPE );
-    if( pMap )
-    {
-        const SfxItemPropertyMapEntry* pFound = SfxItemPropertyMapEntry::getByName( pMap, rPropName );
-        if( pFound )
-            nWhich = pFound->nWID;
-    }
-
-    return nWhich;
-} */
-
 bool SvxUnoConvertResourceString( int nSourceResIds, int nDestResIds, int nCount, String& rString ) throw()
 {
 	// first, calculate the search string length without an optional number behind the name