Commits

Anonymous committed f5b7d5d

CWS-TOOLING: integrate CWS rtlchart01

Comments (0)

Files changed (56)

chart2/source/controller/dialogs/Strings.src

 /*************************************************************************
  *
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
+ *
  * Copyright 2008 by Sun Microsystems, Inc.
  *
  * OpenOffice.org - a multi-platform office productivity suite
  *
  * $RCSfile: Strings.src,v $
- * $Revision: 1.12 $
+ * $Revision: 1.12.72.2 $
  *
  * This file is part of OpenOffice.org.
  *
 	Text [ en-US ] = "Your last input is incorrect.\nIgnore this change and close the dialog?" ;
 };
 
+// frame direction ------------------------------------------------------------
+
+String STR_TEXT_DIRECTION_LTR
+{
+    Text [ en-US ] = "Left-to-right";
+};
+
+String STR_TEXT_DIRECTION_RTL
+{
+    Text [ en-US ] = "Right-to-left";
+};
+
+String STR_TEXT_DIRECTION_SUPER
+{
+    Text [ en-US ] = "Use superordinate object settings";
+};
+
 //-----------------------------------------------------------------------------
 //-----------------------------------------------------------------------------

chart2/source/controller/dialogs/TabPages.hrc

 /*************************************************************************
  *
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
+ *
  * Copyright 2008 by Sun Microsystems, Inc.
  *
  * OpenOffice.org - a multi-platform office productivity suite
  *
  * $RCSfile: TabPages.hrc,v $
- * $Revision: 1.7 $
+ * $Revision: 1.7.20.1 $
  *
  * This file is part of OpenOffice.org.
  *
 //see attrib.hrc in old chart
 
 //#define TP_LEGEND_POS 900
-#define GRP_LEGEND 1
+#define GRP_LEGEND                  1
+#define FL_LEGEND_TEXTORIENT        2
+#define FT_LEGEND_TEXTDIR           3
+#define LB_LEGEND_TEXTDIR           4
 
 //#define TP_DATA_DESCR 901
 
 #define CTR_DUMMY				6034
 #define FT_DUMMY				6035
 #define FL_ALIGN				6037
+#define FT_TEXTDIR              6038
+#define LB_TEXTDIR              6039
 
 /*
 //Symbol-Tabpage (zum Teil sehr Aehnlich der SVX_AREA_TABPAGE) (obsolete)
 
 #define FL_SEPARATOR					18
 
+#define FT_AXIS_TEXTDIR                 19
+#define LB_AXIS_TEXTDIR                 20
+
 //#define TP_SCALE_Y		  903
 
 #define FL_SCALE_Y			1

chart2/source/controller/dialogs/TextDirectionListBox.cxx

+/*************************************************************************
+*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: TextDirectionListBox.cxx,v $
+ * $Revision: 1.1.2.1 $
+ *
+ * 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_chart2.hxx"
+
+#include "TextDirectionListBox.hxx"
+#include "ResId.hxx"
+#include "Strings.hrc"
+#include <svtools/languageoptions.hxx>
+#include <vcl/window.hxx>
+
+namespace chart
+{
+
+TextDirectionListBox::TextDirectionListBox( Window* pParent, const ResId& rResId, Window* pWindow1, Window* pWindow2 ) :
+    svx::FrameDirectionListBox( pParent, rResId )
+{
+    InsertEntryValue( String( SchResId( STR_TEXT_DIRECTION_LTR ) ), FRMDIR_HORI_LEFT_TOP );
+    InsertEntryValue( String( SchResId( STR_TEXT_DIRECTION_RTL ) ), FRMDIR_HORI_RIGHT_TOP );
+    InsertEntryValue( String( SchResId( STR_TEXT_DIRECTION_SUPER ) ), FRMDIR_ENVIRONMENT );
+
+    if( !SvtLanguageOptions().IsCTLFontEnabled() )
+    {
+        Hide();
+        if( pWindow1 ) pWindow1->Hide();
+        if( pWindow2 ) pWindow2->Hide();
+    }
+}
+
+TextDirectionListBox::~TextDirectionListBox()
+{
+}
+
+} //namespace chart
+

chart2/source/controller/dialogs/dlg_InsertDataLabel.cxx

 /*************************************************************************
  *
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
+ *
  * Copyright 2008 by Sun Microsystems, Inc.
  *
  * OpenOffice.org - a multi-platform office productivity suite
  *
  * $RCSfile: dlg_InsertDataLabel.cxx,v $
- * $Revision: 1.10 $
+ * $Revision: 1.10.72.1 $
  *
  * This file is part of OpenOffice.org.
  *
 	m_aBtnOK(this, SchResId(BTN_OK)),
 	m_aBtnCancel(this, SchResId(BTN_CANCEL)),
 	m_aBtnHelp(this, SchResId(BTN_HELP)),
-    m_apDataLabelResources( new DataLabelResources(this,rInAttrs) ),
+    m_apDataLabelResources( new DataLabelResources(this,rInAttrs,false) ),
 	m_rInAttrs(rInAttrs)
 {
 	FreeResource();

chart2/source/controller/dialogs/dlg_ObjectProperties.cxx

 #include <com/sun/star/chart2/XChartType.hpp>
 #include <com/sun/star/chart2/XDataSeries.hpp>
 #include <svtools/intitem.hxx>
+#include <svtools/languageoptions.hxx>
 
-#ifndef _SVX_SVXIDS_HRC
 #include <svx/svxids.hrc>
-#endif
-
 
 #include <svx/drawitem.hxx>
 #include <svx/ofaitem.hxx>
 #include <svx/svxgrahicitem.hxx>
 
-#ifndef _SVX_DIALOGS_HRC
 #include <svx/dialogs.hrc>
-#endif
 #include <svx/flstitem.hxx>
 #include <svx/tabline.hxx>
 
         m_bHasGeometryProperties = ChartTypeHelper::isSupportingGeometryProperties( xChartType, nDimensionCount );
         m_bHasAreaProperties     = ChartTypeHelper::isSupportingAreaProperties( xChartType, nDimensionCount );
         m_bHasSymbolProperties   = ChartTypeHelper::isSupportingSymbolProperties( xChartType, nDimensionCount );
-        
+
         if( bHasSeriesProperties )
         {
             m_bHasStatisticProperties =  ChartTypeHelper::isSupportingStatisticProperties( xChartType, nDimensionCount );
             AddTabPage(RID_SVXPAGE_CHAR_NAME, String(SchResId(STR_PAGE_CHARACTERS)));
             AddTabPage(RID_SVXPAGE_CHAR_EFFECTS, String(SchResId(STR_PAGE_FONT_EFFECTS)));
             AddTabPage(RID_SVXPAGE_NUMBERFORMAT, String(SchResId(STR_PAGE_NUMBERS)));
+            if( SvtLanguageOptions().IsCTLFontEnabled() )
+                /*  When rotation is supported for equation text boxes, use
+                    SchAlignmentTabPage::Create here. The special
+                    SchAlignmentTabPage::CreateWithoutRotation can be deleted. */
+                AddTabPage(TP_ALIGNMENT, String(SchResId(STR_PAGE_ALIGNMENT)), SchAlignmentTabPage::CreateWithoutRotation, NULL);
             break;
     }
 

chart2/source/controller/dialogs/hidother.src

  * OpenOffice.org - a multi-platform office productivity suite
  *
  * $RCSfile: hidother.src,v $
- * $Revision: 1.7 $
+ * $Revision: 1.7.56.2 $
  *
  * This file is part of OpenOffice.org.
  *
 hidspecial HID_SCH_PB_PERCENT_NUMBERFORMAT {HelpId= HID_SCH_PB_PERCENT_NUMBERFORMAT; };
 hidspecial HID_SCH_DATALABEL_SEPARATOR {HelpId= HID_SCH_DATALABEL_SEPARATOR; };
 hidspecial HID_SCH_DATALABEL_PLACEMENT {HelpId= HID_SCH_DATALABEL_PLACEMENT; };
+hidspecial HID_SCH_TEXTDIRECTION {HelpId= HID_SCH_TEXTDIRECTION; };
+hidspecial HID_SCH_TEXTDIRECTION_TITLE {HelpId= HID_SCH_TEXTDIRECTION_TITLE; };
+hidspecial HID_SCH_TEXTDIRECTION_EQUATION {HelpId= HID_SCH_TEXTDIRECTION_EQUATION; };
 
 hidspecial HID_SCH_TITLE_MAIN {HelpId= HID_SCH_TITLE_MAIN; };
 hidspecial HID_SCH_TITLE_SUB {HelpId= HID_SCH_TITLE_SUB; };

chart2/source/controller/dialogs/makefile.mk

 #
 # $RCSfile: makefile.mk,v $
 #
-# $Revision: 1.19 $
+# $Revision: 1.19.72.1 $
 #
 # This file is part of OpenOffice.org.
 #
                 $(SLO)$/RangeSelectionButton.obj \
                 $(SLO)$/RangeSelectionHelper.obj \
                 $(SLO)$/RangeSelectionListener.obj \
-                $(SLO)$/RangeEdit.obj
+                $(SLO)$/RangeEdit.obj \
+                $(SLO)$/TextDirectionListBox.obj
 
 # --- Resources ---------------------------------------------------------------
 

chart2/source/controller/dialogs/res_DataLabel.cxx

 /*************************************************************************
  *
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
+ *
  * Copyright 2008 by Sun Microsystems, Inc.
  *
  * OpenOffice.org - a multi-platform office productivity suite
  *
  * $RCSfile: res_DataLabel.cxx,v $
- * $Revision: 1.5 $
+ * $Revision: 1.5.72.1 $
  *
  * This file is part of OpenOffice.org.
  *
 #include <svtools/stritem.hxx>
 //SfxIntegerListItem
 #include <svtools/ilstitem.hxx>
+#include <svx/eeitem.hxx>
+#include <svx/frmdiritem.hxx>
 
 // header for define RET_OK
 #include <vcl/msgbox.hxx>
-#ifndef _SVX_SVXIDS_HRC
 #include <svx/svxids.hrc>
-#endif
 // header for SvNumberFormatter
 #include <svtools/zforlist.hxx>
-#ifndef _SVT_CONTROLDIMS_HRC_
 #include <svtools/controldims.hrc>
-#endif
 
 
 //.............................................................................
 
 }//end anonymous namespace
 
-DataLabelResources::DataLabelResources( Window* pWindow, const SfxItemSet& rInAttrs )
+DataLabelResources::DataLabelResources( Window* pWindow, const SfxItemSet& rInAttrs, bool bShowTextDirectionListBox )
     : m_aCBNumber(pWindow, SchResId(CB_VALUE_AS_NUMBER)),
     m_aPB_NumberFormatForValue(pWindow, SchResId(PB_NUMBERFORMAT)),
     m_aCBPercent(pWindow, SchResId(CB_VALUE_AS_PERCENTAGE)),
     m_aSeparatorResources(pWindow),
     m_aFT_LabelPlacement(pWindow, SchResId(FT_LABEL_PLACEMENT)),
     m_aLB_LabelPlacement(pWindow, SchResId(LB_LABEL_PLACEMENT)),
+    m_aFT_TextDirection(pWindow, SchResId(FT_LABEL_TEXTDIR)),
+    m_aLB_TextDirection(pWindow, SchResId(LB_LABEL_TEXTDIR), &m_aFT_TextDirection),
     m_pNumberFormatter(0),
     m_bNumberFormatMixedState(true),
     m_bPercentFormatMixedState(true),
         aAvailabelPlacementList =((const SfxIntegerListItem*)pPoolItem)->GetConstSequence();
 
     m_aLB_LabelPlacement.Clear();
-    
+
     for( sal_Int32 nN=0; nN<aAvailabelPlacementList.getLength(); ++nN )
     {
         USHORT nListBoxPos = static_cast<USHORT>( nN );
     }
 
     m_aLB_LabelPlacement.SetDropDownLineCount(m_aLB_LabelPlacement.GetEntryCount());
-        
+
     Size aPBSize( m_aPB_NumberFormatForPercent.GetSizePixel() );
     long nMinWidth = ::std::max( m_aPB_NumberFormatForPercent.CalcMinimumSize().getWidth(), m_aPB_NumberFormatForValue.CalcMinimumSize().getWidth() );
     aPBSize.setWidth( nMinWidth+20 );//the min with is to small to fit, hm... so add alittle
     m_aPB_NumberFormatForPercent.SetSizePixel( aPBSize );
 
     long nWantedMinRightBorder = m_aPB_NumberFormatForPercent.GetPosPixel().X() +  m_aPB_NumberFormatForPercent.GetSizePixel().Width() - 1;
-    
+
     Size aSize( m_aFT_LabelPlacement.GetSizePixel() );
     aSize.setWidth( m_aFT_LabelPlacement.CalcMinimumSize().getWidth() );
     m_aFT_LabelPlacement.SetSizePixel(aSize);
 
     Size aControlDistance( pWindow->LogicToPixel( Size(RSC_SP_CTRL_DESC_X,RSC_SP_CTRL_GROUP_Y), MapMode(MAP_APPFONT) ) );
     long nWantedMinLeftBorder = m_aFT_LabelPlacement.GetPosPixel().X() + aSize.getWidth () + aControlDistance.Width();;
-    
+
     m_aSeparatorResources.PositionBelowControl(m_aCBSymbol);
     m_aSeparatorResources.AlignListBoxWidthAndXPos( nWantedMinLeftBorder, nWantedMinRightBorder, m_aLB_LabelPlacement.CalcMinimumSize().getWidth() );
     m_aSeparatorResources.Show(true);
     aPos.Y() += nYDiff;
     m_aFT_LabelPlacement.SetPosPixel(aPos);
 
+    // hide "text direction" listbox is specified by caller
+    if( !bShowTextDirectionListBox )
+    {
+        m_aFT_TextDirection.Hide();
+        m_aLB_TextDirection.Hide();
+    }
+    // move "text direction" listbox down below "label placement" listbox
+    long nNewY = m_aLB_LabelPlacement.GetPosPixel().Y() + m_aLB_LabelPlacement.GetSizePixel().Height() + aControlDistance.Height();
+    nYDiff = nNewY - m_aLB_TextDirection.GetPosPixel().Y();
+    m_aFT_TextDirection.SetPosPixel( m_aFT_TextDirection.GetPosPixel() + Point( 0, nYDiff ) );
+    m_aLB_TextDirection.SetPosPixel( m_aLB_TextDirection.GetPosPixel() + Point( 0, nYDiff ) );
+
     m_aPB_NumberFormatForValue.SetClickHdl( LINK( this, DataLabelResources, NumberFormatDialogHdl ) );
     m_aPB_NumberFormatForPercent.SetClickHdl( LINK( this, DataLabelResources, NumberFormatDialogHdl ) );
     m_aCBNumber.SetClickHdl( LINK( this, DataLabelResources, CheckHdl ));
     bool& rUseSourceFormat = bPercent ? m_bSourceFormatForPercent : m_bSourceFormatForValue;
     bool& rbMixedState = bPercent ? m_bPercentFormatMixedState : m_bNumberFormatMixedState;
     bool& rbSourceMixedState = bPercent ? m_bPercentSourceMixedState : m_bSourceFormatMixedState;
-    
+
     if(!rbMixedState)
         aNumberSet.Put( SfxUInt32Item( SID_ATTR_NUMBERFORMAT_VALUE, rnFormatKey ));
     aNumberSet.Put( SfxBoolItem( SID_ATTR_NUMBERFORMAT_SOURCE, rUseSourceFormat ));
-    
+
     NumberFormatDialog aDlg(m_pWindow, aNumberSet);
     if( bPercent )
         aDlg.SetText( String( SchResId( STR_DLG_NUMBERFORMAT_FOR_PERCENTAGE_VALUE ) ) );
             bool bOldSource = rUseSourceFormat;
             ULONG nOldFormat = rnFormatKey;
             bool bOldMixedState = rbMixedState || rbSourceMixedState;
-            
+
             rbMixedState = !lcl_ReadNumberFormatFromItemSet( *pResult, SID_ATTR_NUMBERFORMAT_VALUE, SID_ATTR_NUMBERFORMAT_SOURCE, rnFormatKey, rUseSourceFormat, rbSourceMixedState );
 
             //todo this maybe can be removed when the numberformatter dialog does handle mixed state for source format correctly
         if( m_aCBCategory.IsChecked() )
             ++nNumberOfCheckedLabelParts;
         m_aSeparatorResources.Enable( nNumberOfCheckedLabelParts > 1 );
+        bool bEnableTextDir = nNumberOfCheckedLabelParts > 0;
+        m_aFT_TextDirection.Enable( bEnableTextDir );
+        m_aLB_TextDirection.Enable( bEnableTextDir );
         bool bEnablePlacement = nNumberOfCheckedLabelParts > 0 && m_aLB_LabelPlacement.GetEntryCount()>1;
         m_aFT_LabelPlacement.Enable( bEnablePlacement );
         m_aLB_LabelPlacement.Enable( bEnablePlacement );
         sal_Int32 nValue = aIt->second;
         rOutAttrs.Put( SfxInt32Item( SCHATTR_DATADESCR_PLACEMENT, nValue ) );
     }
-        
+
+    if( m_aLB_TextDirection.GetSelectEntryCount() > 0 )
+        rOutAttrs.Put( SfxInt32Item( EE_PARA_WRITINGDIR, m_aLB_TextDirection.GetSelectEntryValue() ) );
+
     return TRUE;
 }
 
     lcl_setBoolItemToCheckBox( rInAttrs, SCHATTR_DATADESCR_SHOW_PERCENTAGE, m_aCBPercent );
     lcl_setBoolItemToCheckBox( rInAttrs, SCHATTR_DATADESCR_SHOW_CATEGORY, m_aCBCategory );
     lcl_setBoolItemToCheckBox( rInAttrs, SCHATTR_DATADESCR_SHOW_SYMBOL, m_aCBSymbol );
-    
+
     m_bNumberFormatMixedState = !lcl_ReadNumberFormatFromItemSet( rInAttrs, SID_ATTR_NUMBERFORMAT_VALUE, SID_ATTR_NUMBERFORMAT_SOURCE, m_nNumberFormatForValue, m_bSourceFormatForValue, m_bSourceFormatMixedState );
     m_bPercentFormatMixedState = !lcl_ReadNumberFormatFromItemSet( rInAttrs, SCHATTR_PERCENT_NUMBERFORMAT_VALUE, SCHATTR_PERCENT_NUMBERFORMAT_SOURCE, m_nNumberFormatForPercent, m_bSourceFormatForPercent ,  m_bPercentSourceMixedState);
 
     else
         m_aLB_LabelPlacement.SetNoSelection();
 
+    if( rInAttrs.GetItemState(EE_PARA_WRITINGDIR, TRUE, &pPoolItem ) == SFX_ITEM_SET )
+        m_aLB_TextDirection.SelectEntryValue( SvxFrameDirection(((const SvxFrameDirectionItem*)pPoolItem)->GetValue()) );
 
     EnableControls();
 }

chart2/source/controller/dialogs/res_DataLabel.hxx

 /*************************************************************************
  *
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
+ *
  * Copyright 2008 by Sun Microsystems, Inc.
  *
  * OpenOffice.org - a multi-platform office productivity suite
  *
  * $RCSfile: res_DataLabel.hxx,v $
- * $Revision: 1.5 $
+ * $Revision: 1.5.72.1 $
  *
  * This file is part of OpenOffice.org.
  *
 
 #include "res_TextSeparator.hxx"
 // header for class CheckBox
-#ifndef _SV_BUTTON_HXX
 #include <vcl/button.hxx>
-#endif
 // header for class SfxItemSet
 #include <svtools/itemset.hxx>
+#include "TextDirectionListBox.hxx"
 
 class SvNumberFormatter;
 
 class DataLabelResources
 {
 public:
-    DataLabelResources( Window* pParent, const SfxItemSet& rInAttrs );
+    DataLabelResources( Window* pParent, const SfxItemSet& rInAttrs, bool bShowTextDirectionListBox );
     virtual ~DataLabelResources();
 
     BOOL FillItemSet(SfxItemSet& rOutAttrs) const;
     void Reset(const SfxItemSet& rInAttrs);
 
     void SetNumberFormatter( SvNumberFormatter* pFormatter );
-    
+
 private:
     CheckBox            m_aCBNumber;
     PushButton          m_aPB_NumberFormatForValue;
     FixedText           m_aFT_LabelPlacement;
     ListBox             m_aLB_LabelPlacement;
 
+    FixedText               m_aFT_TextDirection;
+    TextDirectionListBox    m_aLB_TextDirection;
+
     ::std::map< sal_Int32, USHORT > m_aPlacementToListBoxMap;
     ::std::map< USHORT, sal_Int32 > m_aListBoxToPlacementMap;
 

chart2/source/controller/dialogs/res_DataLabel_IDs.hrc

 /*************************************************************************
  *
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
+ *
  * Copyright 2008 by Sun Microsystems, Inc.
  *
  * OpenOffice.org - a multi-platform office productivity suite
  *
  * $RCSfile: res_DataLabel_IDs.hrc,v $
- * $Revision: 1.5 $
+ * $Revision: 1.5.72.1 $
  *
  * This file is part of OpenOffice.org.
  *
 #define PB_PERCENT_NUMBERFORMAT 21
 
 #define FT_LABEL_PLACEMENT 2
+#define LB_LABEL_PLACEMENT 2
 
-#define LB_LABEL_PLACEMENT 2
+#define FT_LABEL_TEXTDIR    31
+#define LB_LABEL_TEXTDIR    32
+

chart2/source/controller/dialogs/res_DataLabel_tmpl.hrc

 /*************************************************************************
  *
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
+ *
  * Copyright 2008 by Sun Microsystems, Inc.
  *
  * OpenOffice.org - a multi-platform office productivity suite
  *
  * $RCSfile: res_DataLabel_tmpl.hrc,v $
- * $Revision: 1.11 $
+ * $Revision: 1.11.20.2 $
  *
  * This file is part of OpenOffice.org.
  *
         "Inside" ; \
         "Outside" ; \
         "Near origin" ; \
-    }; 
+    };
 
 
 #define RESOURCE_DATALABEL( xpos, ypos ) \
     DropDown=TRUE; \
     DDExtraWidth = TRUE ; \
     WORKAROUND          \
+}; \
+FixedText FT_LABEL_TEXTDIR \
+{ \
+    Pos = MAP_APPFONT ( xpos , ypos+120 ) ; \
+    Size = MAP_APPFONT ( 64 , 8 ) ; \
+    Text [ en-US ] = "Te~xt direction" ; \
+}; \
+ListBox LB_LABEL_TEXTDIR \
+{ \
+    HelpID = HID_SCH_TEXTDIRECTION; \
+    Pos = MAP_APPFONT ( xpos+66 , ypos+118 ) ; \
+    Size = MAP_APPFONT ( 170 , 100 ) ; \
+    Border = TRUE; \
+    TabStop = TRUE; \
+    DropDown = TRUE; \
 };
 
 #endif

chart2/source/controller/dialogs/res_LegendPosition_tmpl.hrc

 /*************************************************************************
  *
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
+ *
  * Copyright 2008 by Sun Microsystems, Inc.
  *
  * OpenOffice.org - a multi-platform office productivity suite
  *
  * $RCSfile: res_LegendPosition_tmpl.hrc,v $
- * $Revision: 1.7 $
+ * $Revision: 1.7.72.1 $
  *
  * This file is part of OpenOffice.org.
  *
 	TabStop = TRUE ; \
 };
 
+// height of RESOURCE_LEGENDPOSITION - don't forget to update when this is changed
+#define RESOURCE_LEGENDPOSITION_HEIGHT 52
+
 #endif

chart2/source/controller/dialogs/tp_AxisLabel.cxx

 /*************************************************************************
  *
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
+ *
  * Copyright 2008 by Sun Microsystems, Inc.
  *
  * OpenOffice.org - a multi-platform office productivity suite
  *
  * $RCSfile: tp_AxisLabel.cxx,v $
- * $Revision: 1.10 $
+ * $Revision: 1.10.72.1 $
  *
  * This file is part of OpenOffice.org.
  *
 
 // header for SfxInt32Item
 #include <svtools/intitem.hxx>
+#include <svx/eeitem.hxx>
+#include <svx/frmdiritem.hxx>
 
 //.............................................................................
 namespace chart
         aFtRotate( this, SchResId( FT_AXIS_LABEL_DEGREES ) ),
         aNfRotate( this, SchResId( NF_AXIS_LABEL_ORIENT ) ),
         aCbStacked( this, SchResId( PB_AXIS_LABEL_TEXTSTACKED ) ),
-        aOrientHlp( this, aCtrlDial, aNfRotate, aCbStacked ),
+        aOrientHlp( aCtrlDial, aNfRotate, aCbStacked ),
+
+        m_aFtTextDirection( this, SchResId( FT_AXIS_TEXTDIR ) ),
+        m_aLbTextDirection( this, SchResId( LB_AXIS_TEXTDIR ), &m_aFtTextDirection ),
 
 		m_bShowStaggeringControls( true ),
 
     if( aCbShowDescription.GetState() != STATE_DONTKNOW )
         rOutAttrs.Put( SfxBoolItem( SCHATTR_AXIS_SHOWDESCR, aCbShowDescription.IsChecked() ) );
 
+    if( m_aLbTextDirection.GetSelectEntryCount() > 0 )
+        rOutAttrs.Put( SfxInt32Item( EE_PARA_WRITINGDIR, m_aLbTextDirection.GetSelectEntryValue() ) );
+
 	return TRUE;
 }
 
     else
         aOrientHlp.SetStackedState( STATE_DONTKNOW );
 
+    if( rInAttrs.GetItemState( EE_PARA_WRITINGDIR, TRUE, &pPoolItem ) == SFX_ITEM_SET )
+        m_aLbTextDirection.SelectEntryValue( SvxFrameDirection(((const SvxFrameDirectionItem*)pPoolItem)->GetValue()) );
+
     // Text overlap ----------
     aState = rInAttrs.GetItemState( SCHATTR_TEXT_OVERLAP, FALSE, &pPoolItem );
     if( aState == SFX_ITEM_DONTCARE )
 	aCbTextOverlap.Enable( bEnable );
 	aCbTextBreak.Enable( bEnable );
 
+    m_aFtTextDirection.Enable( bEnable );
+    m_aLbTextDirection.Enable( bEnable );
+
 	return 0L;
 }
 //.............................................................................

chart2/source/controller/dialogs/tp_AxisLabel.hxx

 /*************************************************************************
  *
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
+ *
  * Copyright 2008 by Sun Microsystems, Inc.
  *
  * OpenOffice.org - a multi-platform office productivity suite
  *
  * $RCSfile: tp_AxisLabel.hxx,v $
- * $Revision: 1.8 $
+ * $Revision: 1.8.72.1 $
  *
  * This file is part of OpenOffice.org.
  *
 #define _CHART2_TP_AXISLABEL_HXX
 
 #include <sfx2/tabdlg.hxx>
-// header for CheckBox
-#ifndef _SV_BUTTON_HXX
 #include <vcl/button.hxx>
-#endif
 #include <vcl/fixed.hxx>
 #include <svx/dialcontrol.hxx>
 #include <svx/wrapfield.hxx>
 #include <svx/orienthelper.hxx>
+#include "TextDirectionListBox.hxx"
 
 //.............................................................................
 namespace chart
     TriStateBox         aCbStacked;
     svx::OrientationHelper aOrientHlp;
 
+    FixedText               m_aFtTextDirection;
+    TextDirectionListBox    m_aLbTextDirection;
+
     BOOL                m_bShowStaggeringControls;
 
     sal_Int32           m_nInitialDegrees;

chart2/source/controller/dialogs/tp_AxisLabel.src

 /*************************************************************************
  *
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
+ *
  * Copyright 2008 by Sun Microsystems, Inc.
  *
  * OpenOffice.org - a multi-platform office productivity suite
  *
  * $RCSfile: tp_AxisLabel.src,v $
- * $Revision: 1.10 $
+ * $Revision: 1.10.72.1 $
  *
  * This file is part of OpenOffice.org.
  *
 		Pos = MAP_APPFONT ( 6 , 91  ) ;
 		Size = MAP_APPFONT ( 248 , 8 ) ;
 
-		Text [ en-US ] = "Rotate text" ;
+		Text [ en-US ] = "Text orientation" ;
 	};
 		Control CT_AXIS_LABEL_DIAL
 		{
             Pos     = MAP_APPFONT ( 139 , 105  ) ;
             Size    = MAP_APPFONT ( 115 , 10 ) ;
             TabStop = TRUE ;
-// DR: TODO - after OOo 2.0 - enable localized strings
-//            Text [ de ] = "~Senkrecht gestapelt";
             Text [ en-US ] = "Ve~rtically stacked";
         };
 		FixedText FT_AXIS_LABEL_DEGREES
 		{
             Pos = MAP_APPFONT ( 93 , 122  ) ;
             Size = MAP_APPFONT ( 60 , 8 ) ;
-
 			Text [ en-US ] = "~Degrees" ;
 	};
 	NumericField NF_AXIS_LABEL_ORIENT
 
 			Text [ en-US ] = "A~utomatic" ;
 	};
+
+    FixedText FT_AXIS_TEXTDIR
+    {
+        Pos = MAP_APPFONT ( 12 , 156 ) ;
+        Size = MAP_APPFONT ( 64 , 8 ) ;
+        Text [ en-US ] = "Te~xt direction" ;
+    };
+    ListBox LB_AXIS_TEXTDIR
+    {
+        Pos = MAP_APPFONT ( 78 , 154 ) ;
+        Size = MAP_APPFONT ( 170 , 100 ) ;
+        Border = TRUE;
+        TabStop = TRUE;
+        DropDown = TRUE;
+    };
 };
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-

chart2/source/controller/dialogs/tp_DataLabel.cxx

 /*************************************************************************
  *
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
+ *
  * Copyright 2008 by Sun Microsystems, Inc.
  *
  * OpenOffice.org - a multi-platform office productivity suite
  *
  * $RCSfile: tp_DataLabel.cxx,v $
- * $Revision: 1.9 $
+ * $Revision: 1.9.72.1 $
  *
  * This file is part of OpenOffice.org.
  *
 
 DataLabelsTabPage::DataLabelsTabPage(Window* pWindow, const SfxItemSet& rInAttrs) :
 		SfxTabPage(pWindow, SchResId(TP_DATA_DESCR), rInAttrs),
-        m_aDataLabelResources(this, rInAttrs)
+        m_aDataLabelResources(this, rInAttrs, true)
 {
 	FreeResource();
 }

chart2/source/controller/dialogs/tp_DataLabel.hxx

 /*************************************************************************
  *
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
+ *
  * Copyright 2008 by Sun Microsystems, Inc.
  *
  * OpenOffice.org - a multi-platform office productivity suite
  *
  * $RCSfile: tp_DataLabel.hxx,v $
- * $Revision: 1.5 $
+ * $Revision: 1.5.72.1 $
  *
  * This file is part of OpenOffice.org.
  *

chart2/source/controller/dialogs/tp_DataLabel.src

 /*************************************************************************
  *
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
+ *
  * Copyright 2008 by Sun Microsystems, Inc.
  *
  * OpenOffice.org - a multi-platform office productivity suite
  *
  * $RCSfile: tp_DataLabel.src,v $
- * $Revision: 1.4 $
+ * $Revision: 1.4.72.1 $
  *
  * This file is part of OpenOffice.org.
  *

chart2/source/controller/dialogs/tp_LegendPosition.cxx

 /*************************************************************************
  *
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
+ *
  * Copyright 2008 by Sun Microsystems, Inc.
  *
  * OpenOffice.org - a multi-platform office productivity suite
  *
  * $RCSfile: tp_LegendPosition.cxx,v $
- * $Revision: 1.8 $
+ * $Revision: 1.8.72.1 $
  *
  * This file is part of OpenOffice.org.
  *
 #include "chartview/ChartSfxItemIds.hxx"
 #include "NoWarningThisInCTOR.hxx"
 #include <svx/chrtitem.hxx>
+#include <svx/eeitem.hxx>
+#include <svx/frmdiritem.hxx>
 
 //.............................................................................
 namespace chart
     : SfxTabPage( pWindow, SchResId(TP_LEGEND_POS), rInAttrs )
 	, aGrpLegend( this, SchResId(GRP_LEGEND) )
     , m_apLegendPositionResources( new LegendPositionResources(this) )
+    , m_aFlTextOrient( this, SchResId( FL_LEGEND_TEXTORIENT ) )
+    , m_aFtTextDirection( this, SchResId( FT_LEGEND_TEXTDIR ) )
+    , m_aLbTextDirection( this, SchResId( LB_LEGEND_TEXTDIR ), &m_aFlTextOrient, &m_aFtTextDirection )
 {
 	FreeResource();
 }
 BOOL SchLegendPosTabPage::FillItemSet(SfxItemSet& rOutAttrs)
 {
     m_apLegendPositionResources->writeToItemSet(rOutAttrs);
+
+    if( m_aLbTextDirection.GetSelectEntryCount() > 0 )
+        rOutAttrs.Put( SfxInt32Item( EE_PARA_WRITINGDIR, m_aLbTextDirection.GetSelectEntryValue() ) );
+
 	return TRUE;
 }
 
 void SchLegendPosTabPage::Reset(const SfxItemSet& rInAttrs)
 {
     m_apLegendPositionResources->initFromItemSet(rInAttrs);
+
+    const SfxPoolItem* pPoolItem = 0;
+    if( rInAttrs.GetItemState( EE_PARA_WRITINGDIR, TRUE, &pPoolItem ) == SFX_ITEM_SET )
+        m_aLbTextDirection.SelectEntryValue( SvxFrameDirection(((const SvxFrameDirectionItem*)pPoolItem)->GetValue()) );
 }
 
 //.............................................................................

chart2/source/controller/dialogs/tp_LegendPosition.hxx

 /*************************************************************************
  *
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
+ *
  * Copyright 2008 by Sun Microsystems, Inc.
  *
  * OpenOffice.org - a multi-platform office productivity suite
  *
  * $RCSfile: tp_LegendPosition.hxx,v $
- * $Revision: 1.5 $
+ * $Revision: 1.5.72.1 $
  *
  * This file is part of OpenOffice.org.
  *
 #include <vcl/fixed.hxx>
 //for auto_ptr
 #include <memory>
+#include "TextDirectionListBox.hxx"
 
 //.............................................................................
 namespace chart
 {
 private:
 	FixedLine	aGrpLegend;
-	
+
     ::std::auto_ptr< LegendPositionResources >   m_apLegendPositionResources;
 
+    FixedLine           m_aFlTextOrient;
+    FixedText               m_aFtTextDirection;
+    TextDirectionListBox    m_aLbTextDirection;
+
 public:
 	SchLegendPosTabPage(Window* pParent, const SfxItemSet& rInAttrs);
 	virtual ~SchLegendPosTabPage();

chart2/source/controller/dialogs/tp_LegendPosition.src

 /*************************************************************************
  *
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
+ *
  * Copyright 2008 by Sun Microsystems, Inc.
  *
  * OpenOffice.org - a multi-platform office productivity suite
  *
  * $RCSfile: tp_LegendPosition.src,v $
- * $Revision: 1.6 $
+ * $Revision: 1.6.72.1 $
  *
  * This file is part of OpenOffice.org.
  *
 		Text [ en-US ] = "Position" ;
 	};
 	RESOURCE_LEGENDPOSITION( 12, 14 )
+
+    FixedLine FL_LEGEND_TEXTORIENT
+    {
+        Pos = MAP_APPFONT ( 6 , 14 + RESOURCE_LEGENDPOSITION_HEIGHT + 6 ) ;
+        Size = MAP_APPFONT ( 248 , 8 ) ;
+        Text [ en-US ] = "Text orientation" ;
+    };
+    FixedText FT_LEGEND_TEXTDIR
+    {
+        Pos = MAP_APPFONT ( 12 , 14 + RESOURCE_LEGENDPOSITION_HEIGHT + 19 ) ;
+        Size = MAP_APPFONT ( 64 , 8 ) ;
+        Text [ en-US ] = "Te~xt direction" ;
+    };
+    ListBox LB_LEGEND_TEXTDIR
+    {
+        Pos = MAP_APPFONT ( 78 , 14 + RESOURCE_LEGENDPOSITION_HEIGHT + 17 ) ;
+        Size = MAP_APPFONT ( 170 , 100 ) ;
+        Border = TRUE;
+        TabStop = TRUE;
+        DropDown = TRUE;
+    };
 };

chart2/source/controller/dialogs/tp_TitleRotation.cxx

 /*************************************************************************
  *
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
+ *
  * Copyright 2008 by Sun Microsystems, Inc.
  *
  * OpenOffice.org - a multi-platform office productivity suite
  *
  * $RCSfile: tp_TitleRotation.cxx,v $
- * $Revision: 1.11 $
+ * $Revision: 1.11.72.2 $
  *
  * This file is part of OpenOffice.org.
  *
 #include "ResId.hxx"
 #include "TabPages.hrc"
 #include "chartview/ChartSfxItemIds.hxx"
+#include "HelpIds.hrc"
+#include <svx/eeitem.hxx>
+#include <svx/frmdiritem.hxx>
 
 // header for class SfxInt32Item
 #include <svtools/intitem.hxx>
 //.............................................................................
 
 SchAlignmentTabPage::SchAlignmentTabPage(Window* pWindow,
-										 const SfxItemSet& rInAttrs) :
+                                         const SfxItemSet& rInAttrs, bool bWithRotation) :
     SfxTabPage(pWindow, SchResId(TP_ALIGNMENT), rInAttrs),
     aFlAlign        ( this, SchResId( FL_ALIGN ) ),
     aCtrlDial       ( this, SchResId( CTR_DIAL ) ),
     aFtRotate       ( this, SchResId( FT_DEGREES ) ),
     aNfRotate       ( this, SchResId( NF_ORIENT ) ),
     aCbStacked      ( this, SchResId( BTN_TXTSTACKED ) ),
-    aOrientHlp      ( this, aCtrlDial, aNfRotate, aCbStacked )
+    aOrientHlp      ( aCtrlDial, aNfRotate, aCbStacked ),
+    aFtTextDirection( this, SchResId( FT_TEXTDIR ) ),
+    aLbTextDirection( this, SchResId( LB_TEXTDIR ), &aFtTextDirection )
 {
 	FreeResource();
 
     aCbStacked.EnableTriState( FALSE );
     aOrientHlp.AddDependentWindow( aFtRotate, STATE_CHECK );
+
+    if( !bWithRotation )
+    {
+        aOrientHlp.Hide();
+        Point aMove( 0, aCtrlDial.GetPosPixel().Y() - aFtTextDirection.GetPosPixel().Y() );
+        aFtTextDirection.SetPosPixel( aFtTextDirection.GetPosPixel() + aMove );
+        aLbTextDirection.SetPosPixel( aLbTextDirection.GetPosPixel() + aMove );
+
+        aLbTextDirection.SetHelpId( HID_SCH_TEXTDIRECTION_EQUATION );
+    }
 }
 
 SchAlignmentTabPage::~SchAlignmentTabPage()
 {
 }
 
-SfxTabPage* SchAlignmentTabPage::Create(Window* pWindow,
-										const SfxItemSet& rOutAttrs)
+SfxTabPage* SchAlignmentTabPage::Create(Window* pParent,
+                                        const SfxItemSet& rInAttrs)
 {
-	return new SchAlignmentTabPage(pWindow, rOutAttrs);
+    return new SchAlignmentTabPage(pParent, rInAttrs);
+}
+
+SfxTabPage* SchAlignmentTabPage::CreateWithoutRotation(Window* pParent,
+                                        const SfxItemSet& rInAttrs)
+{
+    return new SchAlignmentTabPage(pParent, rInAttrs, false);
 }
 
 BOOL SchAlignmentTabPage::FillItemSet(SfxItemSet& rOutAttrs)
 
     sal_Int32 nDegrees = bStacked ? 0 : aCtrlDial.GetRotation();
     rOutAttrs.Put( SfxInt32Item( SCHATTR_TEXT_DEGREES, nDegrees ) );
+
+    SvxFrameDirection aDirection( aLbTextDirection.GetSelectEntryValue() );
+    rOutAttrs.Put( SfxInt32Item( EE_PARA_WRITINGDIR, aDirection ) );
+
 	return TRUE;
 }
 
     pItem = GetItem( rInAttrs, SCHATTR_TEXT_STACKED );
     bool bStacked = pItem && ((const SfxBoolItem*)pItem)->GetValue();
     aOrientHlp.SetStackedState( bStacked ? STATE_CHECK : STATE_NOCHECK );
+
+
+    if( rInAttrs.GetItemState(EE_PARA_WRITINGDIR, TRUE, &pItem) == SFX_ITEM_SET)
+        aLbTextDirection.SelectEntryValue( SvxFrameDirection(((const SvxFrameDirectionItem*)pItem)->GetValue()) );
 }
 
 //.............................................................................

chart2/source/controller/dialogs/tp_TitleRotation.hxx

 /*************************************************************************
  *
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
+ *
  * Copyright 2008 by Sun Microsystems, Inc.
  *
  * OpenOffice.org - a multi-platform office productivity suite
  *
  * $RCSfile: tp_TitleRotation.hxx,v $
- * $Revision: 1.9 $
+ * $Revision: 1.9.72.1 $
  *
  * This file is part of OpenOffice.org.
  *
 #include <svx/wrapfield.hxx>
 #include <svx/orienthelper.hxx>
 #include <vcl/fixed.hxx>
+#include "TextDirectionListBox.hxx"
 
 //.............................................................................
 namespace chart
     svx::WrapField          aNfRotate;
     TriStateBox             aCbStacked;
     svx::OrientationHelper  aOrientHlp;
+    FixedText               aFtTextDirection;
+    TextDirectionListBox    aLbTextDirection;
 
 public:
-	SchAlignmentTabPage(Window* pParent, const SfxItemSet& rInAttrs);
+    SchAlignmentTabPage(Window* pParent, const SfxItemSet& rInAttrs, bool bWithRotation = true);
 	virtual ~SchAlignmentTabPage();
 
 	static SfxTabPage* Create(Window* pParent, const SfxItemSet& rInAttrs);
+    static SfxTabPage* CreateWithoutRotation(Window* pParent, const SfxItemSet& rInAttrs);
 	virtual BOOL FillItemSet(SfxItemSet& rOutAttrs);
 	virtual void Reset(const SfxItemSet& rInAttrs);
 };

chart2/source/controller/dialogs/tp_TitleRotation.src

 /*************************************************************************
  *
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
+ *
  * Copyright 2008 by Sun Microsystems, Inc.
  *
  * OpenOffice.org - a multi-platform office productivity suite
  *
  * $RCSfile: tp_TitleRotation.src,v $
- * $Revision: 1.10 $
+ * $Revision: 1.10.72.2 $
  *
  * This file is part of OpenOffice.org.
  *
 	{
 		Pos = MAP_APPFONT ( 6 , 3  ) ;
 		Size = MAP_APPFONT ( 248 , 8 ) ;
-		Text [ en-US ] = "Text direction" ;
+		Text [ en-US ] = "Text orientation" ;
 	};
+    FixedText FT_TEXTDIR
+    {
+        Pos = MAP_APPFONT ( 12 , 65 ) ;
+        Size = MAP_APPFONT ( 64 , 8 ) ;
+        Text [ en-US ] = "Te~xt direction" ;
+    };
+    ListBox LB_TEXTDIR
+    {
+        HelpId = HID_SCH_TEXTDIRECTION_TITLE ;
+        Pos = MAP_APPFONT ( 78 , 63 ) ;
+        Size = MAP_APPFONT ( 170 , 100 ) ;
+        Border = TRUE;
+        TabStop = TRUE;
+        DropDown = TRUE;
+    };
 };
 

chart2/source/controller/inc/HelpIds.hrc

  * OpenOffice.org - a multi-platform office productivity suite
  *
  * $RCSfile: HelpIds.hrc,v $
- * $Revision: 1.8 $
+ * $Revision: 1.8.56.2 $
  *
  * This file is part of OpenOffice.org.
  *
 #define CHART_HELPIDS_HRC
 
 #include <svtools/solar.hrc>
-//next is 115
+//next is 118
 
 //see old chart: schhids.h
 
 #define HID_SCH_PB_PERCENT_NUMBERFORMAT     (HID_SCH_START + 89)
 #define HID_SCH_DATALABEL_SEPARATOR         (HID_SCH_START + 90)
 #define HID_SCH_DATALABEL_PLACEMENT         (HID_SCH_START + 91)
+#define HID_SCH_TEXTDIRECTION               (HID_SCH_START + 115)
+#define HID_SCH_TEXTDIRECTION_TITLE         (HID_SCH_START + 116)
+#define HID_SCH_TEXTDIRECTION_EQUATION      (HID_SCH_START + 117)
 
 #define HID_SCH_TITLE_MAIN  (HID_SCH_START + 80)
 #define HID_SCH_TITLE_SUB   (HID_SCH_START + 81)

chart2/source/controller/inc/TextDirectionListBox.hxx

+/*************************************************************************
+*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: TextDirectionListBox.hxx,v $
+ * $Revision: 1.1.2.1 $
+ *
+ * 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 CHART2_TEXTDIRECTIONLISTBOX_HXX
+#define CHART2_TEXTDIRECTIONLISTBOX_HXX
+
+#include <svx/frmdirlbox.hxx>
+
+class Window;
+
+namespace chart
+{
+
+class TextDirectionListBox : public svx::FrameDirectionListBox
+{
+public:
+    explicit            TextDirectionListBox( Window* pParent, const ResId& rResId,
+                            Window* pWindow1 = 0, Window* pWindow2 = 0 );
+    virtual             ~TextDirectionListBox();
+};
+
+} //namespace chart
+
+#endif
+

chart2/source/controller/itemsetwrapper/CharacterPropertyItemConverter.cxx

  * OpenOffice.org - a multi-platform office productivity suite
  *
  * $RCSfile: CharacterPropertyItemConverter.cxx,v $
- * $Revision: 1.14 $
+ * $Revision: 1.14.56.1 $
  *
  * This file is part of OpenOffice.org.
  *
         IPM_MAP_ENTRY( EE_CHAR_OUTLINE, "CharContoured", 0 )
         IPM_MAP_ENTRY( EE_CHAR_EMPHASISMARK, "CharEmphasis", 0 )
 
+        IPM_MAP_ENTRY( EE_PARA_WRITINGDIR, "WritingMode", 0 )
+
 //         IPM_MAP_ENTRY( EE_CHAR_FONTHEIGHT_CJK, "CharHeightAsian", 0 )
 //         IPM_MAP_ENTRY( EE_CHAR_FONTHEIGHT_CTL, "CharHeightComplex", 0 )
 //         IPM_MAP_ENTRY( EE_CHAR_WEIGHT_CJK, "CharWeightAsian", 0 )

chart2/source/inc/CharacterProperties.hxx

  * OpenOffice.org - a multi-platform office productivity suite
  *
  * $RCSfile: CharacterProperties.hxx,v $
- * $Revision: 1.4 $
+ * $Revision: 1.4.72.1 $
  *
  * This file is part of OpenOffice.org.
  *
         PROP_CHAR_COMPLEX_POSTURE,
         PROP_CHAR_COMPLEX_LOCALE,
 
+        PROP_WRITING_MODE,
+
         // don't use
         FAST_PROPERTY_ID_END_CHAR_PROP
     };

chart2/source/inc/Strings.hrc

 /*************************************************************************
  *
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
+ *
  * Copyright 2008 by Sun Microsystems, Inc.
  *
  * OpenOffice.org - a multi-platform office productivity suite
  *
  * $RCSfile: Strings.hrc,v $
- * $Revision: 1.9 $
+ * $Revision: 1.9.72.1 $
  *
  * This file is part of OpenOffice.org.
  *
 // this includes no link dependency
 #include <svtools/solar.hrc>
 
-//next is 277
+//next is 281
 
 //#define RID_APP_START 30000
 ////#define STR_NULL                            (RID_APP_START +  1)
 
 #define STR_DATA_EDITOR_INCORRECT_INPUT     (RID_APP_START + 269)
 
+// frame direction ------------------------------------------------------------
+
+#define STR_TEXT_DIRECTION_LTR              (RID_APP_START + 278)
+#define STR_TEXT_DIRECTION_RTL              (RID_APP_START + 279)
+#define STR_TEXT_DIRECTION_SUPER            (RID_APP_START + 280)
+
 //-----------------------------------------------------------------------------
 /*
 ////#define STR_DIAGRAM_X_AXIS					(RID_APP_START + 34)

chart2/source/tools/CharacterProperties.cxx

  * OpenOffice.org - a multi-platform office productivity suite
  *
  * $RCSfile: CharacterProperties.cxx,v $
- * $Revision: 1.11 $
+ * $Revision: 1.11.46.1 $
  *
  * This file is part of OpenOffice.org.
  *
 #include <com/sun/star/text/FontEmphasis.hpp>
 #include <com/sun/star/text/RubyAdjust.hpp>
 #include <com/sun/star/awt/FontStrikeout.hpp>
+#include <com/sun/star/text/WritingMode2.hpp>
 
 #include <comphelper/InlineContainer.hxx>
 
                   ::getCppuType( reinterpret_cast< const lang::Locale * >(0)),
                   beans::PropertyAttribute::BOUND
                   | beans::PropertyAttribute::MAYBEDEFAULT ));
+
+    // Writing Mode left to right vs right to left
+    rOutProperties.push_back(
+        Property( C2U( "WritingMode" ),
+                  PROP_WRITING_MODE,
+                  ::getCppuType( reinterpret_cast< const sal_Int16 * >(0)), /*com::sun::star::text::WritingMode2*/
+                  beans::PropertyAttribute::BOUND
+                  | beans::PropertyAttribute::MAYBEDEFAULT ));
 }
 
 void CharacterProperties::AddDefaultsToMap(
     ::chart::PropertyHelper::setPropertyValueDefault( rOutMap, PROP_CHAR_COMPLEX_FONT_FAMILY, sal_Int16(aFontCTL.GetFamily()) );
     ::chart::PropertyHelper::setPropertyValueDefault( rOutMap, PROP_CHAR_COMPLEX_CHAR_SET, sal_Int16(aFontCTL.GetCharSet()) );
     ::chart::PropertyHelper::setPropertyValueDefault( rOutMap, PROP_CHAR_COMPLEX_FONT_PITCH, sal_Int16(aFontCTL.GetPitch()) );
+
+    ::chart::PropertyHelper::setPropertyValueDefault( rOutMap, PROP_WRITING_MODE, sal_Int16( com::sun::star::text::WritingMode2::PAGE ) );
 }
 
 bool CharacterProperties::IsCharacterPropertyHandle( sal_Int32 nHandle )

chart2/source/view/main/ChartView.cxx

 #include <com/sun/star/util/XRefreshable.hpp>
 #include <com/sun/star/util/NumberFormat.hpp>
 
+#include <com/sun/star/style/XStyleFamiliesSupplier.hpp>
+#include <com/sun/star/text/XTextDocument.hpp>
+#include <com/sun/star/text/WritingMode2.hpp>
+#include <com/sun/star/text/XTextEmbeddedObjectsSupplier.hpp>
+#include <svtools/languageoptions.hxx>
+#include <sot/clsids.hxx>
+
 //.............................................................................
 namespace chart
 {
     return DiagramHelper::isPieOrDonutChart( xDiagram );
 }
 
+void lcl_setDefaultWritingMode( ::boost::shared_ptr< DrawModelWrapper > pDrawModelWrapper, const Reference< frame::XModel >& xChartModel )
+{
+    //get writing mode from parent document:
+    if( SvtLanguageOptions().IsCTLFontEnabled() )
+    {
+        try
+        {
+            uno::Reference< container::XChild > xChild( xChartModel, uno::UNO_QUERY );
+            sal_Int16 nWritingMode=-1;
+            if ( xChild.is() )
+            {
+                uno::Reference< beans::XPropertySet > xParentProps( xChild->getParent(), uno::UNO_QUERY );
+                uno::Reference< style::XStyleFamiliesSupplier > xStyleFamiliesSupplier( xParentProps, uno::UNO_QUERY );
+                if( xStyleFamiliesSupplier.is() )
+                {
+                    uno::Reference< container::XNameAccess > xStylesFamilies( xStyleFamiliesSupplier->getStyleFamilies() );
+		            if( xStylesFamilies.is() )
+		            {
+                        if( !xStylesFamilies->hasByName( C2U("PageStyles") ) )
+                        {
+                            //draw/impress is parent document
+                            uno::Reference< lang::XMultiServiceFactory > xFatcory( xParentProps, uno::UNO_QUERY );
+                            if( xFatcory.is() )
+                            {
+                                uno::Reference< beans::XPropertySet > xDrawDefaults( xFatcory->createInstance( C2U( "com.sun.star.drawing.Defaults" ) ), uno::UNO_QUERY );
+                                if( xDrawDefaults.is() )
+                                    xDrawDefaults->getPropertyValue( C2U("WritingMode") ) >>= nWritingMode;
+                            }
+                        }
+                        else
+                        {
+                            uno::Reference< container::XNameAccess > xPageStyles( xStylesFamilies->getByName( C2U("PageStyles") ), uno::UNO_QUERY );
+                            if( xPageStyles.is() )
+                            {
+                                rtl::OUString aPageStyle;
+                                
+                                uno::Reference< text::XTextDocument > xTextDocument( xParentProps, uno::UNO_QUERY );
+                                if( xTextDocument.is() )
+                                {
+                                    //writer is parent document
+                                    //retrieve the current page style from the text cursor property PageStyleName
+
+                                    uno::Reference< text::XTextEmbeddedObjectsSupplier > xTextEmbeddedObjectsSupplier( xTextDocument, uno::UNO_QUERY );
+                                    if( xTextEmbeddedObjectsSupplier.is() )
+                                    {
+                                        uno::Reference< container::XNameAccess > xEmbeddedObjects( xTextEmbeddedObjectsSupplier->getEmbeddedObjects() );
+                                        if( xEmbeddedObjects.is() )
+                                        {
+                                            uno::Sequence< rtl::OUString > aNames( xEmbeddedObjects->getElementNames() );
+
+                                            sal_Int32 nCount = aNames.getLength();
+                                            for( sal_Int32 nN=0; nN<nCount; nN++ )
+                                            {
+                                                uno::Reference< beans::XPropertySet > xEmbeddedProps( xEmbeddedObjects->getByName( aNames[nN] ), uno::UNO_QUERY );
+                                                if( xEmbeddedProps.is() )
+                                                {
+                                                    static rtl::OUString aChartCLSID = rtl::OUString( SvGlobalName( SO3_SCH_CLASSID ).GetHexName());
+                                                    rtl::OUString aCLSID;
+                                                    xEmbeddedProps->getPropertyValue( C2U("CLSID") ) >>= aCLSID;
+                                                    if( aCLSID.equals(aChartCLSID) )
+                                                    {
+                                                        uno::Reference< frame::XModel > xModel;
+                                                        xEmbeddedProps->getPropertyValue( C2U("Model") ) >>= xModel;
+                                                        if( xModel == xChartModel )
+                                                        {
+                                                            uno::Reference< text::XTextContent > xEmbeddedObject( xEmbeddedProps, uno::UNO_QUERY );
+                                                            if( xEmbeddedObject.is() )
+                                                            {
+                                                                uno::Reference< text::XTextRange > xAnchor( xEmbeddedObject->getAnchor() );
+                                                                if( xAnchor.is() )
+                                                                {
+                                                                    uno::Reference< beans::XPropertySet > xAnchorProps( xAnchor, uno::UNO_QUERY );
+                                                                    if( xAnchorProps.is() )
+                                                                    {
+                                                                        xAnchorProps->getPropertyValue( C2U("WritingMode") ) >>= nWritingMode;
+                                                                    }
+                                                                    uno::Reference< text::XText > xText( xAnchor->getText() );
+                                                                    if( xText.is() )
+                                                                    {
+                                                                        uno::Reference< beans::XPropertySet > xTextCursorProps( xText->createTextCursor(), uno::UNO_QUERY );
+                                                                        if( xTextCursorProps.is() )
+                                                                            xTextCursorProps->getPropertyValue( C2U("PageStyleName") ) >>= aPageStyle;
+                                                                    }
+                                                                }
+                                                            }
+                                                            break;
+                                                        }
+                                                    }
+                                                }
+                                            }
+                                        }
+                                    }
+                                    if( !aPageStyle.getLength() )
+                                    {
+                                        uno::Reference< text::XText > xText( xTextDocument->getText() ); 
+                                        if( xText.is() )
+                                        {
+                                            uno::Reference< beans::XPropertySet > xTextCursorProps( xText->createTextCursor(), uno::UNO_QUERY );
+                                            if( xTextCursorProps.is() )
+                                                xTextCursorProps->getPropertyValue( C2U("PageStyleName") ) >>= aPageStyle;
+                                        }
+                                    }
+                                }
+                                else
+                                {
+                                    //Calc is parent document
+                                    xParentProps->getPropertyValue( C2U("PageStyle") ) >>= aPageStyle;
+                                    if(!aPageStyle.getLength())
+                                        aPageStyle = C2U("Default");
+                                }
+                                if( nWritingMode == -1 || nWritingMode == text::WritingMode2::PAGE )
+                                {
+                                    uno::Reference< beans::XPropertySet > xPageStyle( xPageStyles->getByName( aPageStyle ), uno::UNO_QUERY );
+                                    if( xPageStyle.is() )
+                                        xPageStyle->getPropertyValue( C2U("WritingMode") ) >>= nWritingMode;
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+            if( nWritingMode != -1 && nWritingMode != text::WritingMode2::PAGE )
+            {
+                if( pDrawModelWrapper.get() )
+                    pDrawModelWrapper->GetItemPool().SetPoolDefaultItem(SfxInt32Item(EE_PARA_WRITINGDIR, nWritingMode) );
+            }
+        }
+        catch( uno::Exception& ex )
+        {
+            ASSERT_EXCEPTION( ex );
+        }
+    }
+}
+
 } //end anonymous namespace
 
 //------------ create complete diagram shape (inclusive axis and series)
         // \--
     }
 
+    lcl_setDefaultWritingMode( m_pDrawModelWrapper, m_xChartModel );
+
     awt::Size aPageSize = ChartModelHelper::getPageSize( m_xChartModel );
 
     uno::Reference<drawing::XShapes> xPageShapes( ShapeFactory(m_xShapeFactory)

chart2/source/view/main/PropertyMapper.cxx

  * OpenOffice.org - a multi-platform office productivity suite
  *
  * $RCSfile: PropertyMapper.cxx,v $
- * $Revision: 1.11 $
+ * $Revision: 1.11.46.1 $
  *
  * This file is part of OpenOffice.org.
  *
         ( C2U( "CharWeightAsian" ),         C2U("CharWeightAsian") )
         ( C2U( "CharWeightComplex" ),       C2U("CharWeightComplex") )
         ( C2U( "CharWordMode" ),            C2U("CharWordMode") )
+
+        ( C2U( "WritingMode" ),             C2U("WritingMode") )
         
 //      ( C2U( "RubyText" ),                C2U("RubyText") )
 //      ( C2U( "RubyAdjust" ),              C2U("RubyAdjust") )

helpcontent2/helpers/hid.lst

-DEV300.m14 010101010101010
+DEV300.m31 010101010101010
 0 0
 1 1
 basctl:CheckBox:RID_BASICIDE_BREAKPOINTDLG:RID_CHKB_ACTIVE 1318355975 
 chart2:ListBox:TP_3D_SCENEAPPEARANCE:LB_SCHEME 551882242 
 chart2:ListBox:TP_3D_SCENEILLUMINATION:LB_AMBIENTLIGHT 551898625 
 chart2:ListBox:TP_3D_SCENEILLUMINATION:LB_LIGHTSOURCE 551898626 
+chart2:ListBox:TP_AXIS_LABEL:LB_AXIS_TEXTDIR 551947796 
 chart2:ListBox:TP_CHARTTYPE:LB_3D_SCHEME 551783937 
+chart2:ListBox:TP_LEGEND_POS:LB_LEGEND_TEXTDIR 551620100 
 chart2:ListBox:TP_LOCATION:LB_TABLE 551833089 
 chart2:MetricField:DLG_SPLINE_PROPERTIES:MF_SPLINE_ORDER 1088559617 
 chart2:MetricField:DLG_SPLINE_PROPERTIES:MF_SPLINE_RESOLUTION 1088559618 
 chart2:RadioButton:TP_CHARTTYPE:RB_STACK_Y 551780866 
 chart2:RadioButton:TP_CHARTTYPE:RB_STACK_Y_PERCENT 551780867 
 chart2:RadioButton:TP_CHARTTYPE:RB_STACK_Z 551780868 
+chart2:RadioButton:TP_OPTIONS:RB_ASSUME_ZERO 551748109 
+chart2:RadioButton:TP_OPTIONS:RB_CONTINUE_LINE 551748110 
+chart2:RadioButton:TP_OPTIONS:RB_DONT_PAINT 551748108 
 chart2:RadioButton:TP_OPTIONS:RBT_OPT_AXIS_1 551748098 
 chart2:RadioButton:TP_OPTIONS:RBT_OPT_AXIS_2 551748099 
 chart2:RadioButton:TP_RANGECHOOSER:RB_DATACOLS 551797250 
 dbaccess:TabPage:TP_PREPARE 851443712 
 dbaccess:TabPage:TP_SAVE_DBDOC_AS 851460096 
 dbaccess:TabPage:TP_SUMMARY 851492864 
-desktop:CheckBox:RID_DLG_UPDATE:RID_DLG_UPDATE_ALL 1106658309 
+desktop:CheckBox:RID_DLG_UPDATE:RID_DLG_UPDATE_ALL 1106674693 
 desktop:CheckBox:TP_MIGRATION:CB_MIGRATION 586105859 
 desktop:CheckBox:TP_UPDATE_CHECK:CB_UPDATE_CHECK 586155011 
 desktop:Edit:TP_USER:ED_USER_FATHER 586123282 
 desktop:ModalDialog:RID_DLG_DEPENDENCIES 1106526208 
 desktop:ModalDialog:RID_DLG_LICENSE 1180237824 
 desktop:MultiLineEdit:RID_DLG_LICENSE:ML_LICENSE 1180240435 
-desktop:MultiLineEdit:RID_DLG_UPDATE:RID_DLG_UPDATE_DESCRIPTIONS 1106659847 
+desktop:MultiLineEdit:RID_DLG_UPDATE:RID_DLG_UPDATE_DESCRIPTIONS 1106676231 
 desktop:MultiLineEdit:RID_DLG_UPDATEINSTALL:RID_DLG_UPDATE_INSTALL_INFO 1106840076 
 desktop:MultiLineEdit:TP_LICENSE:ML_LICENSE 586140166 
 desktop:PushButton:RID_DLG_EXTENSION_MANAGER:RID_EM_BTN_ADD 2180354572 
 desktop:PushButton:RID_DLG_PACKAGE_MANAGER:RID_BTN_EXPORT 2180256280 
 desktop:PushButton:RID_DLG_PACKAGE_MANAGER:RID_BTN_OPTIONS 2180256282 
 desktop:PushButton:RID_DLG_PACKAGE_MANAGER:RID_BTN_REMOVE 2180256277 
-desktop:PushButton:RID_DLG_UPDATE:RID_DLG_UPDATE_OK 1106661898 
+desktop:PushButton:RID_DLG_UPDATE:RID_DLG_UPDATE_OK 1106678282 
 desktop:PushButton:TP_LICENSE:PB_LICENSE_DOWN 586142215 
 desktop:RadioButton:TP_REGISTRATION:RB_REGISTRATION_LATER 586088966 
 desktop:RadioButton:TP_REGISTRATION:RB_REGISTRATION_NEVER 586088967 
 FN_REPAGINATE 20161
 FN_REPEAT_SEARCH 20150
 FN_RULER 20211
+FN_SAVE_GRAPHIC 21760
 FN_SBA_BRW_INSERT 21408
 FN_SBA_BRW_MERGE 21409
 FN_SBA_BRW_UPDATE 21407
 FN_SHOW_TWO_PAGES 21251
 FN_SHRINK_FONT_SIZE 20404
 FN_SORTING_DLG 20614
+FN_SPELL_GRAMMAR_DIALOG 22305
 FN_START_DOC_DIRECT 20978
 FN_START_OF_COLUMN 20917
 FN_START_OF_DOCUMENT 20907
 HID_COLORPAGE_CALCPAGEBREAKMANUAL_LB 39921
 HID_COLORPAGE_CALCREFERENCE_CB 39965
 HID_COLORPAGE_CALCREFERENCE_LB 39925
-HID_COLORPAGE_DBCOLUMNFOOTER_CB 40060
-HID_COLORPAGE_DBCOLUMNFOOTER_LB 40069
-HID_COLORPAGE_DBCOLUMNHEADER_CB 40059
-HID_COLORPAGE_DBCOLUMNHEADER_LB 40068
-HID_COLORPAGE_DBDETAIL_CB 40061
-HID_COLORPAGE_DBDETAIL_LB 40070
-HID_COLORPAGE_DBGROUPFOOTER_CB 40058
-HID_COLORPAGE_DBGROUPFOOTER_LB 40067
-HID_COLORPAGE_DBGROUPHEADER_CB 40057
-HID_COLORPAGE_DBGROUPHEADER_LB 40066
-HID_COLORPAGE_DBPAGEFOOTER_CB 40056
-HID_COLORPAGE_DBPAGEFOOTER_LB 40065
-HID_COLORPAGE_DBPAGEHEADER_CB 40055
-HID_COLORPAGE_DBPAGEHEADER_LB 40064
-HID_COLORPAGE_DBREPORTFOOTER_CB 40054
-HID_COLORPAGE_DBREPORTFOOTER_LB 40063
-HID_COLORPAGE_DBREPORTHEADER_CB 40053
-HID_COLORPAGE_DBREPORTHEADER_LB 40062
+HID_COLORPAGE_DBCOLUMNFOOTER_CB 40064
+HID_COLORPAGE_DBCOLUMNFOOTER_LB 40073
+HID_COLORPAGE_DBCOLUMNHEADER_CB 40063
+HID_COLORPAGE_DBCOLUMNHEADER_LB 40072
+HID_COLORPAGE_DBDETAIL_CB 40065
+HID_COLORPAGE_DBDETAIL_LB 40074
+HID_COLORPAGE_DBGROUPFOOTER_CB 40062
+HID_COLORPAGE_DBGROUPFOOTER_LB 40071
+HID_COLORPAGE_DBGROUPHEADER_CB 40061
+HID_COLORPAGE_DBGROUPHEADER_LB 40070
+HID_COLORPAGE_DBPAGEFOOTER_CB 40060
+HID_COLORPAGE_DBPAGEFOOTER_LB 40069
+HID_COLORPAGE_DBPAGEHEADER_CB 40059
+HID_COLORPAGE_DBPAGEHEADER_LB 40068
+HID_COLORPAGE_DBREPORTFOOTER_CB 40058
+HID_COLORPAGE_DBREPORTFOOTER_LB 40067
+HID_COLORPAGE_DBREPORTHEADER_CB 40057
+HID_COLORPAGE_DBREPORTHEADER_LB 40066
 HID_COLORPAGE_DOCBOUNDARIES_CB 39938
 HID_COLORPAGE_DOCBOUNDARIES_LB 39898
 HID_COLORPAGE_DOCCOLOR_CB 39937
 HID_CTL_TABLEEDIT 38885
 HID_CTL_TREEVIEW 38788
 HID_CTRL_COLOR 33856
+HID_CTRL_CUSTOMPROPERTIES 33393
+HID_CTRL_CUSTOMPROPS_YES_NO 33394
 HID_DAI_FUNC_DAYSINMONTH 59188
 HID_DAI_FUNC_DAYSINYEAR 59189
 HID_DAI_FUNC_DIFFMONTHS 59191
 HID_NUMBERFORMAT_TBI_ADD 33916
 HID_NUMBERFORMAT_TBI_INFO 34003
 HID_NUMBERFORMAT_TBI_REMOVE 33917
+HID_NUMBERFORMAT_WND_NUMBER_PREVIEW 40075
 HID_NUMBERINGOPT_SEL_GRF_FROM_FILE 39879
 HID_NUMPARA 53214
 HID_OFA_CONNPOOL_DRIVERLIST 35149
 HID_RPT_PAGENUMBERS_DLG 64465
 HID_RPT_POPUP_COLOR 64472
 HID_RPT_POPUP_COLOR_CTRL 64471
+HID_RPT_PROP_AREA 64488
 HID_RPT_PROP_BACKCOLOR 64511
 HID_RPT_PROP_BACKTRANSPARENT 64527
 HID_RPT_PROP_CANGROW 64480
 HID_SC_HEADER_EDIT 58908
 HID_SC_HF_DATE 58906
 HID_SC_HF_FILE 58902
+HID_SC_HF_FL_DEFINED 59026
 HID_SC_HF_FLC 58845
 HID_SC_HF_FLL 58844
 HID_SC_HF_FLR 58846
+HID_SC_HF_FR_DEFINED 59027
 HID_SC_HF_FRC 58848
 HID_SC_HF_FRL 58847
 HID_SC_HF_FRR 58849
+HID_SC_HF_HL_DEFINED 59024
 HID_SC_HF_HLC 58839
 HID_SC_HF_HLL 58838
 HID_SC_HF_HLR 58840
+HID_SC_HF_HR_DEFINED 59025
 HID_SC_HF_HRC 58842
 HID_SC_HF_HRL 58841
 HID_SC_HF_HRR 58843
 HID_SCH_STATISTIK_BIGERROR 63349
 HID_SCH_STATISTIK_BIGERROR_VALUE 63352
 HID_SCH_STATISTIK_CONSTERROR 63350
+HID_SCH_STATISTIK_FUNCTION 63382
+HID_SCH_STATISTIK_FUNCTION_LB 63384
 HID_SCH_STATISTIK_MEANVALUE 63344
 HID_SCH_STATISTIK_MINUS_VALUE 63354
+HID_SCH_STATISTIK_NEGATIVE_RANGE 63389
+HID_SCH_STATISTIK_NEGATIVE_RANGE_CHOOSER 63390
+HID_SCH_STATISTIK_NEGATIVE_VALUE 63388
 HID_SCH_STATISTIK_NO_ERROR 63345
 HID_SCH_STATISTIK_PERCENT 63348
 HID_SCH_STATISTIK_PERCENT_VALUE 63351
 HID_SCH_STATISTIK_PLUS_VALUE 63353
+HID_SCH_STATISTIK_POSITIVE_RANGE 63386
+HID_SCH_STATISTIK_POSITIVE_RANGE_CHOOSER 63387
+HID_SCH_STATISTIK_POSITIVE_VALUE 63385
+HID_SCH_STATISTIK_RANGE 63383
+HID_SCH_STATISTIK_SAME_FOR_BOTH 63391
+HID_SCH_STATISTIK_SHOW_BOTH 63392
+HID_SCH_STATISTIK_SHOW_NEGATIVE 63394
+HID_SCH_STATISTIK_SHOW_POSITIVE 63393
 HID_SCH_STATISTIK_SIGMA 63347
 HID_SCH_STATISTIK_VARIANT 63346
 HID_SCH_TBI_DATA_DELETE_COL 63306
 HID_SCH_TBI_DATA_SWAP_COL 63307
 HID_SCH_TBI_DATA_SWAP_ROW 63308
 HID_SCH_TBX_DATA 63314
+HID_SCH_TEXTDIRECTION 63395
+HID_SCH_TEXTDIRECTION_EQUATION 63397
+HID_SCH_TEXTDIRECTION_TITLE 63396
 HID_SCH_TITLE_MAIN 63360
 HID_SCH_TITLE_SECONDARY_X 63372
 HID_SCH_TITLE_SECONDARY_Y 63373
 HID_SPLDLG_BUTTON_CHANGE 39887
 HID_SPLDLG_BUTTON_CHANGEALL 39888
 HID_SPLDLG_BUTTON_CLOSE 39884
+HID_SPLDLG_BUTTON_EXPLAIN 39898
 HID_SPLDLG_BUTTON_IGNORE 39885
 HID_SPLDLG_BUTTON_IGNOREALL 39886
+HID_SPLDLG_CHECKBOX_CHECKGRAMMAR 39899
 HID_SPLDLG_EDIT_NEWWORD 39894
 HID_SQLERROR_EXCHAIN_ERRORS 38909
 HID_SQLERROR_EXCHAIN_TEXT 38910
 HID_TOX_STYLES_PAGE 53241
 HID_TP_BUSINESS_DATA 53248
 HID_TP_COMMONPRINTOPTIONS 33343
+HID_TP_CUSTOMPROPERTIES 33392
 HID_TP_LICENSE 64357
 HID_TP_MAILCONFIG 54978
 HID_TP_OUTLINE_NUM 53227
 RID_MN_FORMAT_STYLE 25031
 RID_SVX_EXTRUSION_BAR 10986
 RID_SVX_FONTWORK_BAR 10987
+RID_TABPAGE_PARA_NUMBERING 20976
 RID_TBXCTL_INSCELLS 25039
 RID_TBXCTL_INSERT 25038
 RID_TBXCTL_INSOBJ 25040
 sc:ListBox:FID_FUNCTION_BOX:CB_CAT 3651276289 
 sc:ListBox:FID_FUNCTION_BOX:DDLB_FUNC 3651276291 
 sc:ListBox:FID_FUNCTION_BOX:LB_FUNC 3651276290 
-sc:ListBox:RID_HFBASE:LB_DEFINED 957140509 
 sc:ListBox:RID_SCDLG_AREAS:LB_PRINTAREA 2568277517 
 sc:ListBox:RID_SCDLG_AREAS:LB_REPEATCOL 2568277537 
 sc:ListBox:RID_SCDLG_AREAS:LB_REPEATROW 2568277527 
 sd:NumericField:DLG_COPY:NUM_FLD_COPIES 1085659137 
 sd:NumericField:DLG_VECTORIZE:NM_LAYERS 1084463105 
 sd:NumericField:FLT_WIN_ANIMATION:NUM_FLD_BITMAP 3231373313 
+sd:NumericField:RID_TABPAGE_PARA_NUMBERING:NF_NEW_START 880547843 
 sd:PushButton:DLG_ASS:BUT_LAST 1088492035 
 sd:PushButton:DLG_ASS:BUT_NEXT 1088492036 
 sd:PushButton:DLG_ASS:PB_PAGE1_OPEN 1088492049 
 sd:TimeField:DLG_PUBLISHING:PAGE2_DURATION_TMF 1085857829 
 sd:TimeField:DLG_START_PRESENTATION:TMF_PAUSE 1401479169 
 sd:TimeField:FLT_WIN_ANIMATION:TIME_FIELD 3231375361 
+sd:TriStateBox:RID_TABPAGE_PARA_NUMBERING:CB_NEW_START 880543233 
+sd:TriStateBox:RID_TABPAGE_PARA_NUMBERING:CB_NUMBER_NEW_START 880543234 
 SD_IF_SDAPP 200
 SD_IF_SDDRAWBEZIEROBJECTBAR 208
 SD_IF_SDDRAWDOCSHELL 201
 sfx2:PushButton:TP_CONFIG_ACCEL:BTN_LOAD 575017512