[Libreoffice-commits] core.git: chart2/AllLangResTarget_chartcontroller.mk chart2/source chart2/uiconfig chart2/UIConfig_chart2.mk

Olivier Hallot olivier.hallot at edx.srv.br
Thu Nov 21 06:15:11 PST 2013


 chart2/AllLangResTarget_chartcontroller.mk            |    1 
 chart2/UIConfig_chart2.mk                             |    1 
 chart2/source/controller/dialogs/tp_AxisPositions.cxx |  320 ++-------
 chart2/source/controller/dialogs/tp_AxisPositions.hxx |   56 -
 chart2/source/controller/dialogs/tp_AxisPositions.src |  301 ---------
 chart2/uiconfig/ui/tp_AxisPositions.ui                |  582 ++++++++++++++++++
 6 files changed, 694 insertions(+), 567 deletions(-)

New commits:
commit 7589bf4a620c348d93c3f39fa6bc35d77158f34b
Author: Olivier Hallot <olivier.hallot at edx.srv.br>
Date:   Wed Nov 20 19:00:31 2013 -0200

    Convert axis position tab page to widget UI
    
    Change-Id: I76da8002013bdda3d12544aabda84360a2e39929
    Obs: Many widget were not implemented and were left for future development
    Reviewed-on: https://gerrit.libreoffice.org/6737
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/chart2/AllLangResTarget_chartcontroller.mk b/chart2/AllLangResTarget_chartcontroller.mk
index beffd0c..907e238 100644
--- a/chart2/AllLangResTarget_chartcontroller.mk
+++ b/chart2/AllLangResTarget_chartcontroller.mk
@@ -50,7 +50,6 @@ $(eval $(call gb_SrsTarget_add_files,chart2/res,\
     chart2/source/controller/dialogs/tp_3D_SceneGeometry.src \
     chart2/source/controller/dialogs/tp_3D_SceneIllumination.src \
     chart2/source/controller/dialogs/tp_AxisLabel.src \
-    chart2/source/controller/dialogs/tp_AxisPositions.src \
     chart2/source/controller/dialogs/tp_ChartType.src \
     chart2/source/controller/dialogs/tp_DataLabel.src \
     chart2/source/controller/dialogs/tp_DataSource.src \
diff --git a/chart2/UIConfig_chart2.mk b/chart2/UIConfig_chart2.mk
index f425f09..fa584e2 100644
--- a/chart2/UIConfig_chart2.mk
+++ b/chart2/UIConfig_chart2.mk
@@ -37,6 +37,7 @@ $(eval $(call gb_UIConfig_add_uifiles,modules/schart,\
 	chart2/uiconfig/ui/steppedlinesdlg \
 	chart2/uiconfig/ui/titlerotationtabpage \
 	chart2/uiconfig/ui/tp_axisLabel \
+	chart2/uiconfig/ui/tp_AxisPositions \
 	chart2/uiconfig/ui/tp_SeriesToAxis \
 	chart2/uiconfig/ui/tp_Scale \
 	chart2/uiconfig/ui/tp_Trendline \
diff --git a/chart2/source/controller/dialogs/tp_AxisPositions.cxx b/chart2/source/controller/dialogs/tp_AxisPositions.cxx
index 46b7f7c..5aa1ebe 100644
--- a/chart2/source/controller/dialogs/tp_AxisPositions.cxx
+++ b/chart2/source/controller/dialogs/tp_AxisPositions.cxx
@@ -50,161 +50,47 @@ using namespace ::com::sun::star;
 namespace chart
 {
 
-namespace
-{
-void lcl_newXPos( Control& rControl, long nXPos )
-{
-    Point aPos( rControl.GetPosPixel() );
-    aPos.X() = nXPos;
-    rControl.SetPosPixel(aPos);
-}
-
-void lcl_shiftY( Control& rControl, long nYDiff )
-{
-    Point aPos( rControl.GetPosPixel() );
-    aPos.Y() += nYDiff;
-    rControl.SetPosPixel(aPos);
-}
-
-}
-
 AxisPositionsTabPage::AxisPositionsTabPage(Window* pWindow,const SfxItemSet& rInAttrs)
-    : SfxTabPage(pWindow, SchResId(TP_AXIS_POSITIONS), rInAttrs)
-
-    , m_aFL_AxisLine(this,SchResId(FL_AXIS_LINE))
-    , m_aFT_CrossesAt(this,SchResId(FT_CROSSES_OTHER_AXIS_AT))
-    , m_aLB_CrossesAt(this,SchResId(LB_CROSSES_OTHER_AXIS_AT))
-    , m_aED_CrossesAt(this,SchResId(EDT_CROSSES_OTHER_AXIS_AT))
-    , m_aED_CrossesAtCategory(this,SchResId(EDT_CROSSES_OTHER_AXIS_AT_CATEGORY))
-    , m_aCB_AxisBetweenCategories(this, SchResId(CB_AXIS_BETWEEN_CATEGORIES))
-
-    , m_aFL_Labels(this,SchResId(FL_LABELS))
-    , m_aFT_PlaceLabels( this, SchResId( FT_PLACE_LABELS ) )
-    , m_aLB_PlaceLabels( this, SchResId( LB_PLACE_LABELS ) )
-    , m_aFT_LabelDistance( this, SchResId( FT_AXIS_LABEL_DISTANCE ) )
-    , m_aED_LabelDistance( this, SchResId( EDT_AXIS_LABEL_DISTANCE ) )
-
-    , m_aFL_Ticks(this,SchResId(FL_TICKS))
-    , m_aFT_Major(this,SchResId(FT_MAJOR))
-    , m_aCB_TicksInner(this,SchResId(CB_TICKS_INNER))
-    , m_aCB_TicksOuter(this,SchResId(CB_TICKS_OUTER))
-    , m_aFT_Minor(this,SchResId(FT_MINOR))
-    , m_aCB_MinorInner(this,SchResId(CB_MINOR_INNER))
-    , m_aCB_MinorOuter(this,SchResId(CB_MINOR_OUTER))
-
-    , m_aFL_Vertical(this,SchResId(FL_VERTICAL))
-    , m_aFT_PlaceTicks(this,SchResId(FT_PLACE_TICKS))
-    , m_aLB_PlaceTicks(this,SchResId(LB_PLACE_TICKS))
-
-    , m_aFL_Grids(this,SchResId(FL_GRIDS))
-    , m_aCB_MajorGrid(this,SchResId(CB_MAJOR_GRID))
-    , m_aPB_MajorGrid(this,SchResId(PB_MAJOR_GRID))
-    , m_aCB_MinorGrid(this,SchResId(CB_MINOR_GRID))
-    , m_aPB_MinorGrid(this,SchResId(PB_MINOR_GRID))
-
+    : SfxTabPage(pWindow
+                ,"tp_AxisPositions"
+                ,"modules/schart/ui/tp_AxisPositions.ui"
+                , rInAttrs)
     , m_pNumFormatter(NULL)
     , m_bCrossingAxisIsCategoryAxis(false)
     , m_aCategories()
 {
-    FreeResource();
-    SetExchangeSupport();
+    get(m_pFL_AxisLine, "FL_AXIS_LINE");
+    get(m_pLB_CrossesAt,"LB_CROSSES_OTHER_AXIS_AT");
+    get(m_pED_CrossesAt,"EDT_CROSSES_OTHER_AXIS_AT");
+    get(m_pED_CrossesAtCategory, "EDT_CROSSES_OTHER_AXIS_AT_CATEGORY");
+    get(m_pCB_AxisBetweenCategories, "CB_AXIS_BETWEEN_CATEGORIES");
 
-    const long nDialogWidth = GetSizePixel().Width();
-    const long nDistance = LogicToPixel( Size(RSC_SP_CTRL_X, 0), MapMode(MAP_APPFONT) ).Width();
+    get(m_pFL_Labels, "FL_LABELS");
+    get(m_pLB_PlaceLabels,"LB_PLACE_LABELS");
+    get(m_pED_LabelDistance,"EDT_AXIS_LABEL_DISTANCE");
 
-    //axis line controls
-    {
-        if( m_aFT_CrossesAt.CalcMinimumSize().Width() < m_aFT_CrossesAt.GetSizePixel().Width() )
-        {
-            m_aFT_CrossesAt.SetSizePixel(m_aFT_CrossesAt.CalcMinimumSize());
-            long nXPos = m_aFT_CrossesAt.GetPosPixel().X() + m_aFT_CrossesAt.GetSizePixel().Width() + nDistance;
-            lcl_newXPos( m_aLB_CrossesAt, nXPos );
-
-            nXPos += m_aLB_CrossesAt.GetSizePixel().Width() + nDistance;
-            lcl_newXPos( m_aED_CrossesAt, nXPos );
-            lcl_newXPos( m_aED_CrossesAtCategory, nXPos );
-        }
-    }
-
-    long nFixTextHeight = m_aFT_PlaceLabels.GetSizePixel().Height();
-    long nLabelPlacementWidth = m_aFT_PlaceLabels.CalcMinimumSize().Width();
-    long nMarkPlacementWidth = m_aFT_PlaceTicks.CalcMinimumSize().Width();
+    get(m_pCB_TicksInner, "CB_TICKS_INNER");
+    get(m_pCB_TicksOuter, "CB_TICKS_OUTER");
+    get(m_pCB_MinorInner, "CB_MINOR_INNER");
+    get(m_pCB_MinorOuter, "CB_MINOR_OUTER");
 
-    long nWidth_0 = ::std::max( m_aFT_Major.CalcMinimumSize().Width(), m_aFT_Minor.CalcMinimumSize().Width() );
-    nWidth_0 = ::std::max( nWidth_0, nLabelPlacementWidth );
-    nWidth_0 = ::std::max( nWidth_0, nMarkPlacementWidth );
-    nLabelPlacementWidth = nMarkPlacementWidth = nWidth_0;
+    get(m_pBxPlaceTicks, "boxPLACE_TICKS");
+    get(m_pLB_PlaceTicks, "LB_PLACE_TICKS");
 
-    //label placement
-    {
-        m_aFT_PlaceLabels.SetSizePixel( Size( nLabelPlacementWidth, nFixTextHeight ) );
-        long nXPos = m_aFT_PlaceLabels.GetPosPixel().X() + nLabelPlacementWidth + nDistance;
-        lcl_newXPos( m_aLB_PlaceLabels, nXPos );
-        m_aLB_PlaceLabels.SetSizePixel(m_aLB_PlaceLabels.CalcMinimumSize());
-    }
+    // these are not used/implemented
+//     get(m_pCB_MajorGrid, "CB_MAJOR_GRID");
+//     get(m_pPB_MajorGrid, "PB_MAJOR_GRID");
+//     get(m_pCB_MinorGrid, "CB_MINOR_GRID");
+//     get(m_pPB_MinorGrid, "PB_MINOR_GRID");
 
-    //tickmark placement
-    {
-        m_aFT_PlaceTicks.SetSizePixel( Size( nMarkPlacementWidth, nFixTextHeight ) );
-        long nXPos = m_aFT_PlaceTicks.GetPosPixel().X() + nMarkPlacementWidth + nDistance;
-        lcl_newXPos( m_aLB_PlaceTicks, nXPos );
-        m_aLB_PlaceTicks.SetSizePixel( m_aLB_PlaceTicks.CalcMinimumSize() );
-    }
 
-    //tickmark controls
-    {
-        long nWidth_1 = ::std::max( m_aCB_TicksInner.CalcMinimumSize().Width(), m_aCB_MinorInner.CalcMinimumSize().Width() );
-        long nWidth_2 = ::std::max( m_aCB_TicksOuter.CalcMinimumSize().Width(), m_aCB_MinorOuter.CalcMinimumSize().Width() );
+    m_pLB_CrossesAt->SetSelectHdl( LINK( this, AxisPositionsTabPage, CrossesAtSelectHdl ) );
+    m_pLB_CrossesAt->SetDropDownLineCount( m_pLB_CrossesAt->GetEntryCount() );
 
-        long nLeftSpace = nDialogWidth - nWidth_0 - nWidth_1 - nWidth_2 - 3*nDistance;
+    m_pLB_PlaceLabels->SetSelectHdl( LINK( this, AxisPositionsTabPage, PlaceLabelsSelectHdl ) );
+    m_pLB_PlaceLabels->SetDropDownLineCount( m_pLB_PlaceLabels->GetEntryCount() );
+    m_pLB_PlaceTicks->SetDropDownLineCount( m_pLB_PlaceTicks->GetEntryCount() );
 
-        if(nLeftSpace>=0)
-        {
-            m_aFT_Major.SetSizePixel(m_aFT_Major.CalcMinimumSize());
-            m_aFT_Minor.SetSizePixel(m_aFT_Minor.CalcMinimumSize());
-
-            m_aCB_TicksInner.SetSizePixel( m_aCB_TicksInner.CalcMinimumSize()  );
-            m_aCB_MinorInner.SetSizePixel( m_aCB_MinorInner.CalcMinimumSize()  );
-
-            m_aCB_TicksOuter.SetSizePixel( m_aCB_TicksOuter.CalcMinimumSize() );
-            m_aCB_MinorOuter.SetSizePixel( m_aCB_MinorOuter.CalcMinimumSize() );
-
-            long nXPos = m_aFT_Major.GetPosPixel().X() + nWidth_0 + nDistance;
-            lcl_newXPos( m_aCB_TicksInner, nXPos );
-            lcl_newXPos( m_aCB_MinorInner, nXPos );
-
-            nXPos += nWidth_1 + nDistance;
-            lcl_newXPos( m_aCB_TicksOuter, nXPos );
-            lcl_newXPos( m_aCB_MinorOuter, nXPos );
-
-            nXPos += nWidth_2 + nDistance;
-            lcl_newXPos( m_aFL_Vertical, nXPos );
-        }
-    }
-
-    //right alignement of listboxes:
-    {
-        long nLabelRightBorder = m_aLB_PlaceLabels.GetPosPixel().X() + m_aLB_PlaceLabels.GetSizePixel().Width();
-        long nTickmarksRightBorder = m_aLB_PlaceTicks.GetPosPixel().X() + m_aLB_PlaceTicks.GetSizePixel().Width();
-
-        long nNewRightBorder = ::std::max( m_aLB_CrossesAt.GetPosPixel().X() + m_aLB_CrossesAt.GetSizePixel().Width(),  nLabelRightBorder);
-        nNewRightBorder = ::std::max( nTickmarksRightBorder, nNewRightBorder );
-
-        long nListBoxHeight = m_aLB_PlaceLabels.GetSizePixel().Height();
-        m_aLB_PlaceLabels.SetSizePixel( Size( m_aLB_PlaceLabels.GetSizePixel().Width()+nNewRightBorder-nLabelRightBorder, nListBoxHeight ) );
-        m_aLB_PlaceTicks.SetSizePixel( Size( m_aLB_PlaceTicks.GetSizePixel().Width()+nNewRightBorder-nTickmarksRightBorder, nListBoxHeight ) );
-    }
-
-    m_aLB_CrossesAt.SetSelectHdl( LINK( this, AxisPositionsTabPage, CrossesAtSelectHdl ) );
-    m_aLB_CrossesAt.SetDropDownLineCount( m_aLB_CrossesAt.GetEntryCount() );
-
-    m_aLB_PlaceLabels.SetSelectHdl( LINK( this, AxisPositionsTabPage, PlaceLabelsSelectHdl ) );
-    m_aLB_PlaceLabels.SetDropDownLineCount( m_aLB_PlaceLabels.GetEntryCount() );
-    m_aLB_PlaceTicks.SetDropDownLineCount( m_aLB_PlaceTicks.GetEntryCount() );
-    m_aCB_TicksInner.SetAccessibleRelationLabeledBy(&m_aFT_Major);
-    m_aCB_TicksOuter.SetAccessibleRelationLabeledBy(&m_aFT_Major);
-    m_aCB_MinorInner.SetAccessibleRelationLabeledBy(&m_aFT_Minor);
-    m_aCB_MinorOuter.SetAccessibleRelationLabeledBy(&m_aFT_Minor);
 }
 
 SfxTabPage* AxisPositionsTabPage::Create(Window* pWindow,const SfxItemSet& rOutAttrs)
@@ -215,18 +101,18 @@ SfxTabPage* AxisPositionsTabPage::Create(Window* pWindow,const SfxItemSet& rOutA
 sal_Bool AxisPositionsTabPage::FillItemSet(SfxItemSet& rOutAttrs)
 {
     // axis line
-    sal_uInt16 nPos = m_aLB_CrossesAt.GetSelectEntryPos();
+    sal_uInt16 nPos = m_pLB_CrossesAt->GetSelectEntryPos();
     rOutAttrs.Put( SfxInt32Item( SCHATTR_AXIS_POSITION, nPos+1 ));
     if( 2==nPos )
     {
-        double fCrossover = m_aED_CrossesAt.GetValue();
+        double fCrossover = m_pED_CrossesAt->GetValue();
         if( m_bCrossingAxisIsCategoryAxis )
-            fCrossover = m_aED_CrossesAtCategory.GetSelectEntryPos()+1;
+            fCrossover = m_pED_CrossesAtCategory->GetSelectEntryPos()+1;
         rOutAttrs.Put(SvxDoubleItem(fCrossover,SCHATTR_AXIS_POSITION_VALUE));
     }
 
     // labels
-    sal_uInt16 nLabelPos = m_aLB_PlaceLabels.GetSelectEntryPos();
+    sal_uInt16 nLabelPos = m_pLB_PlaceLabels->GetSelectEntryPos();
     if( nLabelPos != LISTBOX_ENTRY_NOTFOUND )
         rOutAttrs.Put( SfxInt32Item( SCHATTR_AXIS_LABEL_POSITION, nLabelPos ));
 
@@ -234,19 +120,19 @@ sal_Bool AxisPositionsTabPage::FillItemSet(SfxItemSet& rOutAttrs)
     long nTicks=0;
     long nMinorTicks=0;
 
-    if(m_aCB_MinorInner.IsChecked())
+    if(m_pCB_MinorInner->IsChecked())
         nMinorTicks|=CHAXIS_MARK_INNER;
-    if(m_aCB_MinorOuter.IsChecked())
+    if(m_pCB_MinorOuter->IsChecked())
         nMinorTicks|=CHAXIS_MARK_OUTER;
-    if(m_aCB_TicksInner.IsChecked())
+    if(m_pCB_TicksInner->IsChecked())
         nTicks|=CHAXIS_MARK_INNER;
-    if(m_aCB_TicksOuter.IsChecked())
+    if(m_pCB_TicksOuter->IsChecked())
         nTicks|=CHAXIS_MARK_OUTER;
 
     rOutAttrs.Put(SfxInt32Item(SCHATTR_AXIS_TICKS,nTicks));
     rOutAttrs.Put(SfxInt32Item(SCHATTR_AXIS_HELPTICKS,nMinorTicks));
 
-    sal_uInt16 nMarkPos = m_aLB_PlaceTicks.GetSelectEntryPos();
+    sal_uInt16 nMarkPos = m_pLB_PlaceTicks->GetSelectEntryPos();
     if( nMarkPos != LISTBOX_ENTRY_NOTFOUND )
         rOutAttrs.Put( SfxInt32Item( SCHATTR_AXIS_MARK_POSITION, nMarkPos ));
 
@@ -256,26 +142,26 @@ sal_Bool AxisPositionsTabPage::FillItemSet(SfxItemSet& rOutAttrs)
 void AxisPositionsTabPage::Reset(const SfxItemSet& rInAttrs)
 {
     //init and enable controls
-    m_aED_CrossesAt.Show( !m_bCrossingAxisIsCategoryAxis );
-    m_aED_CrossesAtCategory.Show( m_bCrossingAxisIsCategoryAxis );
+    m_pED_CrossesAt->Show( !m_bCrossingAxisIsCategoryAxis );
+    m_pED_CrossesAtCategory->Show( m_bCrossingAxisIsCategoryAxis );
     const sal_Int32 nMaxCount = LISTBOX_ENTRY_NOTFOUND;
     if( m_bCrossingAxisIsCategoryAxis )
     {
         for( sal_Int32 nN=0; nN<m_aCategories.getLength() && nN<nMaxCount; nN++ )
-            m_aED_CrossesAtCategory.InsertEntry( m_aCategories[nN] );
+            m_pED_CrossesAtCategory->InsertEntry( m_aCategories[nN] );
 
-        sal_uInt16 nCount = m_aED_CrossesAtCategory.GetEntryCount();
+        sal_uInt16 nCount = m_pED_CrossesAtCategory->GetEntryCount();
         if( nCount>30 )
             nCount=30;
-        m_aED_CrossesAtCategory.SetDropDownLineCount( nCount );
+        m_pED_CrossesAtCategory->SetDropDownLineCount( nCount );
     }
 
-    if( m_aLB_CrossesAt.GetEntryCount() > 3 )
+    if( m_pLB_CrossesAt->GetEntryCount() > 3 )
     {
         if( m_bCrossingAxisIsCategoryAxis )
-            m_aLB_CrossesAt.RemoveEntry(2);
+            m_pLB_CrossesAt->RemoveEntry(2);
         else
-            m_aLB_CrossesAt.RemoveEntry(3);
+            m_pLB_CrossesAt->RemoveEntry(3);
     }
 
     //fill controls
@@ -295,8 +181,8 @@ void AxisPositionsTabPage::Reset(const SfxItemSet& rInAttrs)
         else
             nPos--;
 
-        if( nPos < m_aLB_CrossesAt.GetEntryCount() )
-            m_aLB_CrossesAt.SelectEntryPos( nPos );
+        if( nPos < m_pLB_CrossesAt->GetEntryCount() )
+            m_pLB_CrossesAt->SelectEntryPos( nPos );
         CrossesAtSelectHdl( (void*)0 );
 
         if( rInAttrs.GetItemState(SCHATTR_AXIS_POSITION_VALUE,sal_True, &pPoolItem)== SFX_ITEM_SET || bZero )
@@ -305,31 +191,31 @@ void AxisPositionsTabPage::Reset(const SfxItemSet& rInAttrs)
             if( !bZero )
                 fCrossover = (((const SvxDoubleItem*)pPoolItem)->GetValue());
             if( m_bCrossingAxisIsCategoryAxis )
-                m_aED_CrossesAtCategory.SelectEntryPos( static_cast<sal_uInt16>(::rtl::math::round(fCrossover-1.0)) );
+                m_pED_CrossesAtCategory->SelectEntryPos( static_cast<sal_uInt16>(::rtl::math::round(fCrossover-1.0)) );
             else
-                m_aED_CrossesAt.SetValue(fCrossover);
+                m_pED_CrossesAt->SetValue(fCrossover);
         }
         else
         {
-            m_aED_CrossesAtCategory.SetNoSelection();
-            m_aED_CrossesAt.SetTextValue(OUString());
+            m_pED_CrossesAtCategory->SetNoSelection();
+            m_pED_CrossesAt->SetTextValue("");
         }
     }
     else
     {
-        m_aLB_CrossesAt.SetNoSelection();
-        m_aED_CrossesAt.Enable( sal_False );
+        m_pLB_CrossesAt->SetNoSelection();
+        m_pED_CrossesAt->Enable( sal_False );
     }
 
     // Labels
     if( rInAttrs.GetItemState( SCHATTR_AXIS_LABEL_POSITION, sal_False, &pPoolItem ) == SFX_ITEM_SET )
     {
         sal_uInt16 nPos = (sal_uInt16)static_cast< const SfxInt32Item * >( pPoolItem )->GetValue();
-        if( nPos < m_aLB_PlaceLabels.GetEntryCount() )
-            m_aLB_PlaceLabels.SelectEntryPos( nPos );
+        if( nPos < m_pLB_PlaceLabels->GetEntryCount() )
+            m_pLB_PlaceLabels->SelectEntryPos( nPos );
     }
     else
-        m_aLB_PlaceLabels.SetNoSelection();
+        m_pLB_PlaceLabels->SetNoSelection();
     PlaceLabelsSelectHdl( (void*)0 );
 
     // Tick marks
@@ -339,68 +225,37 @@ void AxisPositionsTabPage::Reset(const SfxItemSet& rInAttrs)
     if(rInAttrs.GetItemState(SCHATTR_AXIS_HELPTICKS,sal_True, &pPoolItem)== SFX_ITEM_SET)
         nMinorTicks=((const SfxInt32Item*)pPoolItem)->GetValue();
 
-    m_aCB_TicksInner.Check(sal_Bool(nTicks&CHAXIS_MARK_INNER));
-    m_aCB_TicksOuter.Check(sal_Bool(nTicks&CHAXIS_MARK_OUTER));
-    m_aCB_MinorInner.Check(sal_Bool(nMinorTicks&CHAXIS_MARK_INNER));
-    m_aCB_MinorOuter.Check(sal_Bool(nMinorTicks&CHAXIS_MARK_OUTER));
+    m_pCB_TicksInner->Check(sal_Bool(nTicks&CHAXIS_MARK_INNER));
+    m_pCB_TicksOuter->Check(sal_Bool(nTicks&CHAXIS_MARK_OUTER));
+    m_pCB_MinorInner->Check(sal_Bool(nMinorTicks&CHAXIS_MARK_INNER));
+    m_pCB_MinorOuter->Check(sal_Bool(nMinorTicks&CHAXIS_MARK_OUTER));
 
     // Tick position
     if( rInAttrs.GetItemState( SCHATTR_AXIS_MARK_POSITION, sal_False, &pPoolItem ) == SFX_ITEM_SET )
     {
         sal_uInt16 nPos = (sal_uInt16)static_cast< const SfxInt32Item * >( pPoolItem )->GetValue();
-        if( nPos < m_aLB_PlaceTicks.GetEntryCount() )
-            m_aLB_PlaceTicks.SelectEntryPos( nPos );
+        if( nPos < m_pLB_PlaceTicks->GetEntryCount() )
+            m_pLB_PlaceTicks->SelectEntryPos( nPos );
     }
     else
-        m_aLB_PlaceTicks.SetNoSelection();
+        m_pLB_PlaceTicks->SetNoSelection();
 
     if( !m_bSupportAxisPositioning )
     {
-        m_aFL_AxisLine.Show(false);
-        m_aFT_CrossesAt.Show(false);
-        m_aLB_CrossesAt.Show(false);
-        m_aED_CrossesAt.Show(false);
-        m_aED_CrossesAtCategory.Show(false);
-        m_aCB_AxisBetweenCategories.Show(false);
-
-        m_aFL_Labels.Show(false);
-        m_aFT_PlaceLabels.Show(false);
-        m_aLB_PlaceLabels.Show(false);
-        m_aFT_LabelDistance.Show(false);
-        m_aED_LabelDistance.Show(false);
-
-        m_aFL_Vertical.Show(false);
-        m_aFT_PlaceTicks.Show(false);
-        m_aLB_PlaceTicks.Show(false);
-
-        long nYDiff = m_aFL_AxisLine.GetPosPixel().Y() - m_aFL_Ticks.GetPosPixel().Y();
-        lcl_shiftY( m_aFL_Ticks, nYDiff );
-        lcl_shiftY( m_aFT_Major, nYDiff );
-        lcl_shiftY( m_aCB_TicksInner, nYDiff );
-        lcl_shiftY( m_aCB_TicksOuter, nYDiff );
-
-        lcl_shiftY( m_aFT_Minor, nYDiff );
-        lcl_shiftY( m_aCB_MinorInner, nYDiff );
-        lcl_shiftY( m_aCB_MinorOuter, nYDiff );
+        m_pFL_AxisLine->Show(false);
+
+        m_pFL_Labels->Show(false);
+
+        m_pBxPlaceTicks->Show(false);
     }
     else if( !AxisHelper::isAxisPositioningEnabled() )
     {
-        m_aFL_AxisLine.Enable(false);
-        m_aFT_CrossesAt.Enable(false);
-        m_aLB_CrossesAt.Enable(false);
-        m_aED_CrossesAt.Enable(false);
-        m_aED_CrossesAtCategory.Enable(false);
-        m_aCB_AxisBetweenCategories.Enable(false);
-
-        m_aFL_Labels.Enable(false);
-        m_aFT_PlaceLabels.Enable(false);
-        m_aLB_PlaceLabels.Enable(false);
-        m_aFT_LabelDistance.Enable(false);
-        m_aED_LabelDistance.Enable(false);
-
-        m_aFL_Vertical.Enable(false);
-        m_aFT_PlaceTicks.Enable(false);
-        m_aLB_PlaceTicks.Enable(false);
+
+        m_pFL_AxisLine->Enable(false);
+
+        m_pFL_Labels->Enable(false);
+
+        m_pBxPlaceTicks->Enable(false);
 
         //todo: maybe set a special help id to all those controls
     }
@@ -417,14 +272,14 @@ int AxisPositionsTabPage::DeactivatePage(SfxItemSet* pItemSet)
 void AxisPositionsTabPage::SetNumFormatter( SvNumberFormatter* pFormatter )
 {
     m_pNumFormatter = pFormatter;
-    m_aED_CrossesAt.SetFormatter( m_pNumFormatter );
-    m_aED_CrossesAt.UseInputStringForFormatting();
+    m_pED_CrossesAt->SetFormatter( m_pNumFormatter );
+    m_pED_CrossesAt->UseInputStringForFormatting();
 
     const SfxPoolItem *pPoolItem = NULL;
     if( GetItemSet().GetItemState( SCHATTR_AXIS_CROSSING_MAIN_AXIS_NUMBERFORMAT, sal_True, &pPoolItem ) == SFX_ITEM_SET )
     {
         sal_uLong nFmt = (sal_uLong)((const SfxInt32Item*)pPoolItem)->GetValue();
-        m_aED_CrossesAt.SetFormatKey( nFmt );
+        m_pED_CrossesAt->SetFormatKey( nFmt );
     }
 }
 
@@ -445,14 +300,14 @@ void AxisPositionsTabPage::SupportAxisPositioning( bool bSupportAxisPositioning
 
 IMPL_LINK_NOARG(AxisPositionsTabPage, CrossesAtSelectHdl)
 {
-    sal_uInt16 nPos = m_aLB_CrossesAt.GetSelectEntryPos();
-    m_aED_CrossesAt.Show( (2==nPos) && !m_bCrossingAxisIsCategoryAxis );
-    m_aED_CrossesAtCategory.Show( (2==nPos) && m_bCrossingAxisIsCategoryAxis );
+    sal_uInt16 nPos = m_pLB_CrossesAt->GetSelectEntryPos();
+    m_pED_CrossesAt->Show( (2==nPos) && !m_bCrossingAxisIsCategoryAxis );
+    m_pED_CrossesAtCategory->Show( (2==nPos) && m_bCrossingAxisIsCategoryAxis );
 
-    if( m_aED_CrossesAt.GetText().isEmpty() )
-        m_aED_CrossesAt.SetValue(0.0);
-    if( 0 == m_aED_CrossesAtCategory.GetSelectEntryCount() )
-        m_aED_CrossesAtCategory.SelectEntryPos(0);
+    if( m_pED_CrossesAt->GetText().isEmpty() )
+        m_pED_CrossesAt->SetValue(0.0);
+    if( 0 == m_pED_CrossesAtCategory->GetSelectEntryCount() )
+        m_pED_CrossesAtCategory->SelectEntryPos(0);
 
     PlaceLabelsSelectHdl( (void*)0 );
     return 0;
@@ -460,17 +315,16 @@ IMPL_LINK_NOARG(AxisPositionsTabPage, CrossesAtSelectHdl)
 
 IMPL_LINK_NOARG(AxisPositionsTabPage, PlaceLabelsSelectHdl)
 {
-    sal_uInt16 nLabelPos = m_aLB_PlaceLabels.GetSelectEntryPos();
+    sal_uInt16 nLabelPos = m_pLB_PlaceLabels->GetSelectEntryPos();
 
     bool bEnableTickmarkPlacement = (nLabelPos>1);
     if( bEnableTickmarkPlacement )
     {
-        sal_uInt16 nAxisPos = m_aLB_CrossesAt.GetSelectEntryPos();
+        sal_uInt16 nAxisPos = m_pLB_CrossesAt->GetSelectEntryPos();
         if( nLabelPos-2 == nAxisPos )
             bEnableTickmarkPlacement=false;
     }
-    m_aFT_PlaceTicks.Enable(bEnableTickmarkPlacement);
-    m_aLB_PlaceTicks.Enable(bEnableTickmarkPlacement);
+    m_pBxPlaceTicks->Enable(bEnableTickmarkPlacement);
 
     return 0;
 }
diff --git a/chart2/source/controller/dialogs/tp_AxisPositions.hxx b/chart2/source/controller/dialogs/tp_AxisPositions.hxx
index 3543aad..1e24b7c 100644
--- a/chart2/source/controller/dialogs/tp_AxisPositions.hxx
+++ b/chart2/source/controller/dialogs/tp_AxisPositions.hxx
@@ -53,38 +53,30 @@ private: //methods:
     DECL_LINK( PlaceLabelsSelectHdl, void* );
 
 private: //member:
-    FixedLine           m_aFL_AxisLine;
-    FixedText           m_aFT_CrossesAt;
-    ListBox             m_aLB_CrossesAt;
-    FormattedField      m_aED_CrossesAt;
-    ComboBox            m_aED_CrossesAtCategory;
-    CheckBox            m_aCB_AxisBetweenCategories;
-
-    FixedLine       m_aFL_Labels;
-    FixedText       m_aFT_PlaceLabels;
-    ListBox         m_aLB_PlaceLabels;
-    FixedText       m_aFT_LabelDistance;
-    FormattedField  m_aED_LabelDistance;
-
-    FixedLine   m_aFL_Ticks;
-
-    FixedText   m_aFT_Major;
-    CheckBox    m_aCB_TicksInner;
-    CheckBox    m_aCB_TicksOuter;
-
-    FixedText   m_aFT_Minor;
-    CheckBox    m_aCB_MinorInner;
-    CheckBox    m_aCB_MinorOuter;
-
-    FixedLine   m_aFL_Vertical;
-    FixedText   m_aFT_PlaceTicks;
-    ListBox     m_aLB_PlaceTicks;
-
-    FixedLine   m_aFL_Grids;
-    CheckBox    m_aCB_MajorGrid;
-    PushButton  m_aPB_MajorGrid;
-    CheckBox    m_aCB_MinorGrid;
-    PushButton  m_aPB_MinorGrid;
+    VclFrame*       m_pFL_AxisLine;
+    ListBox*        m_pLB_CrossesAt;
+    FormattedField* m_pED_CrossesAt;
+    ComboBox*       m_pED_CrossesAtCategory;
+    CheckBox*       m_pCB_AxisBetweenCategories;
+
+    VclFrame*       m_pFL_Labels;
+    ListBox*        m_pLB_PlaceLabels;
+    FormattedField* m_pED_LabelDistance;
+
+    CheckBox*       m_pCB_TicksInner;
+    CheckBox*       m_pCB_TicksOuter;
+
+    CheckBox*       m_pCB_MinorInner;
+    CheckBox*       m_pCB_MinorOuter;
+
+    VclBox*         m_pBxPlaceTicks;
+    ListBox*        m_pLB_PlaceTicks;
+
+//     Not implemented
+//     CheckBox*       m_pCB_MajorGrid;
+//     PushButton*     m_pPB_MajorGrid;
+//     CheckBox*       m_pCB_MinorGrid;
+//     PushButton*     m_pPB_MinorGrid;
 
     SvNumberFormatter*  m_pNumFormatter;
 
diff --git a/chart2/source/controller/dialogs/tp_AxisPositions.src b/chart2/source/controller/dialogs/tp_AxisPositions.src
deleted file mode 100644
index 0d3e76f..0000000
--- a/chart2/source/controller/dialogs/tp_AxisPositions.src
+++ /dev/null
@@ -1,301 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-#include "HelpIds.hrc"
-#include "TabPages.hrc"
-
-#define Y0 3
-#define Y1 (Y0+13)
-#define Y2 (Y1)
-#define Y3 (Y2+16)
-#define Y4 (Y3+13)
-#define Y5 (Y4)
-#define Y6 (Y5+16)
-#define Y7 (Y6+13)
-#define Y8 (Y7+16)
-#define Y9 (Y8+16)
-#define Y10 (Y9+16)
-#define Y11 (Y10+13)
-#define Y12 (Y11+16)
-
-#define EDITWIDTH 50
-#define LABELWIDTH 88
-#define MAXLABELWIDTH 138
-
-#define X1 6
-#define X2 11
-#define X3 (X2+LABELWIDTH+4)
-#define X4 (X2+MAXLABELWIDTH+4)
-#define X5 (X4+EDITWIDTH+5)
-
-#define XTICK_1 X2
-#define XTICK_2 (XTICK_1+60)
-#define XTICK_3 (XTICK_2+60)
-#define XTICK_4 (XTICK_3+60)
-#define TICKWIDTH 59
-
-TabPage TP_AXIS_POSITIONS
-{
-    HelpID = "chart2:TabPage:TP_AXIS_POSITIONS";
-    Hide = TRUE ;
-    SVLook = TRUE ;
-    Size = MAP_APPFONT ( TP_WIDTH , TP_HEIGHT ) ;
-
-    FixedLine FL_AXIS_LINE
-    {
-        Pos = MAP_APPFONT ( X1 , Y0  ) ;
-        Size = MAP_APPFONT ( 248 , 8 ) ;
-        Text [ en-US ] = "Axis line" ;
-    };
-
-    FixedText FT_CROSSES_OTHER_AXIS_AT
-    {
-        Pos = MAP_APPFONT ( X2 , Y1  ) ;
-        Size = MAP_APPFONT ( MAXLABELWIDTH , 8 ) ;
-        Text [ en-US ] = "~Cross other axis at" ;
-    };
-    ListBox LB_CROSSES_OTHER_AXIS_AT
-    {
-        HelpID = "chart2:ListBox:TP_AXIS_POSITIONS:LB_CROSSES_OTHER_AXIS_AT";
-        Border = TRUE ;
-        AutoHScroll = TRUE ;
-        Pos = MAP_APPFONT ( X4 , Y1-2 ) ;
-        Size = MAP_APPFONT ( EDITWIDTH , 12 ) ;
-        TabStop = TRUE ;
-        Group = TRUE ;
-        DropDown=TRUE;
-        DDExtraWidth = TRUE ;
-
-        StringList [ en-US ] =
-        {
-            "Start" ;
-            "End" ;
-            "Value" ;
-            "Category" ;
-        };
-    };
-    SpinField EDT_CROSSES_OTHER_AXIS_AT
-    {
-        HelpID = "chart2:SpinField:TP_AXIS_POSITIONS:EDT_CROSSES_OTHER_AXIS_AT";
-        Border = TRUE ;
-        SVLook = TRUE ;
-        Pos = MAP_APPFONT ( X5 , Y1-2  ) ;
-        Size = MAP_APPFONT ( EDITWIDTH , 12 ) ;
-        TabStop = TRUE ;
-    };
-    ComboBox EDT_CROSSES_OTHER_AXIS_AT_CATEGORY
-    {
-        HelpID = "chart2:ComboBox:TP_AXIS_POSITIONS:EDT_CROSSES_OTHER_AXIS_AT_CATEGORY";
-        Border = TRUE ;
-        SVLook = TRUE ;
-        Pos = MAP_APPFONT ( X5 , Y1-2  ) ;
-        Size = MAP_APPFONT ( EDITWIDTH , 12 ) ;
-        DropDown = TRUE ;
-        TabStop = TRUE ;
-    };
-
-    CheckBox CB_AXIS_BETWEEN_CATEGORIES
-    {
-        HelpID = "chart2:CheckBox:TP_AXIS_POSITIONS:CB_AXIS_BETWEEN_CATEGORIES";
-        Hide = TRUE;
-        Pos = MAP_APPFONT ( X2 , Y2  ) ;
-        Size = MAP_APPFONT ( 150 , 10 ) ;
-        TabStop = TRUE ;
-        Text [ en-US ] = "Axis ~between categories" ;
-    };
-
-    FixedLine FL_LABELS
-    {
-        Pos = MAP_APPFONT ( X1 , Y3  ) ;
-        Size = MAP_APPFONT ( 248 , 8 ) ;
-        Text [ en-US ] = "Labels" ;
-    };
-    FixedText FT_PLACE_LABELS
-    {
-        Pos = MAP_APPFONT ( X2 , Y4  ) ;
-        Size = MAP_APPFONT ( MAXLABELWIDTH , 8 ) ;
-        Text [ en-US ] = "~Place labels" ;
-    };
-    ListBox LB_PLACE_LABELS
-    {
-        HelpID = "chart2:ListBox:TP_AXIS_POSITIONS:LB_PLACE_LABELS";
-        Border = TRUE ;
-        AutoHScroll = TRUE ;
-        Pos = MAP_APPFONT ( X4 , Y4-2 ) ;
-        Size = MAP_APPFONT ( 89 , 12 ) ;
-        TabStop = TRUE ;
-        Group = TRUE ;
-        DropDown=TRUE;
-        DDExtraWidth = TRUE ;
-
-        StringList [ en-US ] =
-        {
-            "Near axis" ;
-            "Near axis (other side)" ;
-            "Outside start" ;
-            "Outside end" ;
-        };
-    };
-
-    FixedText FT_AXIS_LABEL_DISTANCE
-    {
-        Hide = TRUE;
-        Pos = MAP_APPFONT ( X2 , Y5  ) ;
-        Size = MAP_APPFONT ( MAXLABELWIDTH , 8 ) ;
-        Text [ en-US ] = "~Distance" ;
-    };
-    SpinField EDT_AXIS_LABEL_DISTANCE
-    {
-        HelpID = "chart2:SpinField:TP_AXIS_POSITIONS:EDT_AXIS_LABEL_DISTANCE";
-        Hide = TRUE;
-        Border = TRUE ;
-        SVLook = TRUE ;
-        Pos = MAP_APPFONT ( X4 , Y5-2 ) ;
-        Size = MAP_APPFONT ( 89 , 12 ) ;
-        TabStop = TRUE ;
-    };
-
-    FixedLine FL_TICKS
-    {
-        Pos = MAP_APPFONT ( X1 , Y6  ) ;
-        Size = MAP_APPFONT ( 248 , 8 ) ;
-        Text[ en-US ] = "Interval marks";
-    };
-    FixedText FT_MAJOR
-    {
-        Pos = MAP_APPFONT ( XTICK_1 , Y7  ) ;
-        Size = MAP_APPFONT ( TICKWIDTH , 8 ) ;
-        Text [ en-US ] = "Major:" ;
-    };
-    CheckBox CB_TICKS_INNER
-    {
-        HelpID = "chart2:CheckBox:TP_AXIS_POSITIONS:CB_TICKS_INNER";
-        Pos = MAP_APPFONT ( XTICK_2 , Y7  ) ;
-        Size = MAP_APPFONT ( TICKWIDTH , 10 ) ;
-        Text [ en-US ] = "~Inner";
-    };
-    CheckBox CB_TICKS_OUTER
-    {
-        HelpID = "chart2:CheckBox:TP_AXIS_POSITIONS:CB_TICKS_OUTER";
-        Pos = MAP_APPFONT ( XTICK_3 , Y7  ) ;
-        Size = MAP_APPFONT ( TICKWIDTH , 10 ) ;
-        Text [ en-US ] = "~Outer";
-    };
-
-    FixedText FT_MINOR
-    {
-        Pos = MAP_APPFONT ( XTICK_1 , Y8  ) ;
-        Size = MAP_APPFONT ( TICKWIDTH , 8 ) ;
-        Text [ en-US ] = "Minor:" ;
-    };
-    CheckBox CB_MINOR_INNER
-    {
-        HelpID = "chart2:CheckBox:TP_AXIS_POSITIONS:CB_MINOR_INNER";
-        Pos = MAP_APPFONT ( XTICK_2 , Y8  );
-        Size = MAP_APPFONT ( TICKWIDTH , 10 ) ;
-        Text [ en-US ] = "I~nner";
-    };
-    CheckBox CB_MINOR_OUTER
-    {
-        HelpID = "chart2:CheckBox:TP_AXIS_POSITIONS:CB_MINOR_OUTER";
-        Pos = MAP_APPFONT ( XTICK_3 , Y8  ) ;
-        Size = MAP_APPFONT ( TICKWIDTH , 10 ) ;
-        Text [ en-US ] = "O~uter";
-    };
-
-    FixedLine FL_VERTICAL
-    {
-        Hide = TRUE ;
-        Pos = MAP_APPFONT ( XTICK_4 , Y7  ) ;
-        Size = MAP_APPFONT ( 6 , 25 ) ;
-        Vert = TRUE ;
-    };
-
-    FixedText FT_PLACE_TICKS
-    {
-        Pos = MAP_APPFONT ( X2 , Y9  );
-        Size = MAP_APPFONT ( LABELWIDTH , 8 ) ;
-        Text [ en-US ] = "Place ~marks";
-    };
-    ListBox LB_PLACE_TICKS
-    {
-        HelpID = "chart2:ListBox:TP_AXIS_POSITIONS:LB_PLACE_TICKS";
-        Border = TRUE ;
-        AutoHScroll = TRUE ;
-        Pos = MAP_APPFONT ( X3 , Y9-2  ) ;
-        Size = MAP_APPFONT ( EDITWIDTH , 12 ) ;
-        TabStop = TRUE ;
-        Group = TRUE ;
-        DropDown=TRUE;
-        DDExtraWidth = TRUE ;
-
-        StringList [ en-US ] =
-        {
-            "At labels" ;
-            "At axis" ;
-            "At axis and labels" ;
-        };
-    };
-
-
-    FixedLine FL_GRIDS
-    {
-        Hide = TRUE ;
-        Pos = MAP_APPFONT ( X1 , Y10  ) ;
-        Size = MAP_APPFONT ( 248 , 8 ) ;
-        Text[ en-US ] = "Grids";
-    };
-    CheckBox CB_MAJOR_GRID
-    {
-        HelpID = "chart2:CheckBox:TP_AXIS_POSITIONS:CB_MAJOR_GRID";
-        Hide = TRUE ;
-        Pos = MAP_APPFONT ( X2 , Y11  ) ;
-        Size = MAP_APPFONT ( 150 , 10 ) ;
-        TabStop = TRUE ;
-        Text [ en-US ] = "Show major ~grid" ;
-    };
-    PushButton PB_MAJOR_GRID
-    {
-        HelpID = "chart2:PushButton:TP_AXIS_POSITIONS:PB_MAJOR_GRID";
-        Hide = TRUE ;
-        TabStop = TRUE;
-        Pos  = MAP_APPFONT ( X3 , Y11-2  );
-        Size = MAP_APPFONT ( 54 , 14 );
-        Text [ en-US ] = "Mo~re...";
-    };
-    CheckBox CB_MINOR_GRID
-    {
-        HelpID = "chart2:CheckBox:TP_AXIS_POSITIONS:CB_MINOR_GRID";
-        Hide = TRUE ;
-        Pos = MAP_APPFONT ( X2 , Y12  ) ;
-        Size = MAP_APPFONT ( 150 , 10 ) ;
-        TabStop = TRUE ;
-        Text [ en-US ] = "~Show minor grid" ;
-    };
-    PushButton PB_MINOR_GRID
-    {
-        HelpID = "chart2:PushButton:TP_AXIS_POSITIONS:PB_MINOR_GRID";
-        Hide = TRUE ;
-        TabStop = TRUE;
-        Pos  = MAP_APPFONT ( X3 , Y12-2  );
-        Size = MAP_APPFONT ( 54 , 14 );
-        Text [ en-US ] = "Mor~e...";
-    };
-};
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/chart2/uiconfig/ui/tp_AxisPositions.ui b/chart2/uiconfig/ui/tp_AxisPositions.ui
new file mode 100644
index 0000000..a8ce21f
--- /dev/null
+++ b/chart2/uiconfig/ui/tp_AxisPositions.ui
@@ -0,0 +1,582 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+  <!-- interface-requires gtk+ 3.0 -->
+  <!-- interface-requires LibreOffice 1.0 -->
+  <object class="GtkListStore" id="liststoreEDT_CROSSES_OTHER_AXIS_AT_CATEGORY"/>
+  <object class="GtkBox" id="tp_AxisPositions">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="border_width">6</property>
+    <property name="orientation">vertical</property>
+    <property name="spacing">6</property>
+    <child>
+      <object class="GtkFrame" id="FL_AXIS_LINE">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="label_xalign">0</property>
+        <property name="shadow_type">none</property>
+        <child>
+          <object class="GtkAlignment" id="alignment1">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="top_padding">6</property>
+            <property name="left_padding">12</property>
+            <child>
+              <object class="GtkBox" id="boxAXIS_LINE">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="orientation">vertical</property>
+                <property name="spacing">6</property>
+                <child>
+                  <object class="GtkBox" id="box3">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="spacing">12</property>
+                    <child>
+                      <object class="GtkLabel" id="FT_CROSSES_OTHER_AXIS_AT">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">_Cross other axis at</property>
+                        <property name="use_underline">True</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkComboBoxText" id="LB_CROSSES_OTHER_AXIS_AT">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="row_span_column">0</property>
+                        <property name="entry_text_column">0</property>
+                        <property name="id_column">1</property>
+                        <items>
+                          <item translatable="yes">Start</item>
+                          <item translatable="yes">End</item>
+                          <item translatable="yes">Value</item>
+                          <item translatable="yes">Category</item>
+                        </items>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="svtlo-FormattedField" id="EDT_CROSSES_OTHER_AXIS_AT">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="invisible_char">•</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">2</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkComboBox" id="EDT_CROSSES_OTHER_AXIS_AT_CATEGORY">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="has_entry">True</property>
+                        <child internal-child="entry">
+                          <object class="GtkEntry" id="combobox-entry">
+                            <property name="can_focus">False</property>
+                          </object>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">3</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkCheckButton" id="CB_AXIS_BETWEEN_CATEGORIES">
+                    <property name="label" translatable="yes">Axis _between categories</property>
+                    <property name="can_focus">False</property>
+                    <property name="receives_default">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </object>
+            </child>
+          </object>
+        </child>
+        <child type="label">
+          <object class="GtkLabel" id="TXT_AXIS_LINE">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="xalign">0</property>
+            <property name="label" translatable="yes">Axis line</property>
+            <attributes>
+              <attribute name="weight" value="bold"/>
+            </attributes>
+          </object>
+        </child>
+      </object>
+      <packing>
+        <property name="expand">False</property>
+        <property name="fill">True</property>
+        <property name="position">0</property>
+      </packing>
+    </child>
+    <child>
+      <object class="GtkFrame" id="FL_LABELS">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="label_xalign">0</property>
+        <property name="shadow_type">none</property>
+        <child>
+          <object class="GtkAlignment" id="alignment2">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="top_padding">6</property>
+            <property name="left_padding">12</property>
+            <child>
+              <object class="GtkBox" id="box4">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="orientation">vertical</property>
+                <property name="spacing">6</property>
+                <child>
+                  <object class="GtkBox" id="box5">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="spacing">12</property>
+                    <child>
+                      <object class="GtkLabel" id="FT_PLACE_LABELS">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">_Place labels</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">LB_PLACE_LABELS</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkComboBoxText" id="LB_PLACE_LABELS">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="entry_text_column">0</property>
+                        <property name="id_column">1</property>
+                        <items>
+                          <item translatable="yes">Near axis</item>
+                          <item translatable="yes">Near axis (other side)</item>
+                          <item translatable="yes">Outside start</item>
+                          <item translatable="yes">Outside end</item>
+                        </items>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkBox" id="box6">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="spacing">12</property>
+                    <child>
+                      <object class="GtkLabel" id="FT_AXIS_LABEL_DISTANCE">
+                        <property name="can_focus">False</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">_Distance</property>
+                        <property name="use_underline">True</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="svtlo-FormattedField" id="EDT_AXIS_LABEL_DISTANCE">
+                        <property name="can_focus">False</property>
+                        <property name="invisible_char">•</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </object>
+            </child>
+          </object>
+        </child>
+        <child type="label">
+          <object class="GtkLabel" id="TXT_FL_LABELS">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="xalign">0</property>
+            <property name="label" translatable="yes">Labels</property>
+            <attributes>
+              <attribute name="weight" value="bold"/>
+            </attributes>
+          </object>
+        </child>
+      </object>
+      <packing>
+        <property name="expand">False</property>
+        <property name="fill">True</property>
+        <property name="position">1</property>
+      </packing>
+    </child>
+    <child>
+      <object class="GtkFrame" id="FL_TICKS">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="label_xalign">0</property>
+        <property name="shadow_type">none</property>
+        <child>
+          <object class="GtkAlignment" id="alignment3">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="top_padding">6</property>
+            <property name="left_padding">12</property>
+            <child>
+              <object class="GtkBox" id="box8">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="orientation">vertical</property>
+                <property name="spacing">6</property>
+                <child>
+                  <object class="GtkGrid" id="grid1">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="row_spacing">6</property>
+                    <property name="column_spacing">12</property>
+                    <child>
+                      <object class="GtkLabel" id="FT_MAJOR">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Major:</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">0</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="FT_MINOR">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Minor:</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">1</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkCheckButton" id="CB_TICKS_INNER">
+                        <property name="label" translatable="yes">_Inner</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="receives_default">False</property>
+                        <property name="use_underline">True</property>
+                        <property name="xalign">0</property>
+                        <property name="draw_indicator">True</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="top_attach">0</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkCheckButton" id="CB_TICKS_OUTER">
+                        <property name="label" translatable="yes">_Outer</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="receives_default">False</property>
+                        <property name="use_underline">True</property>
+                        <property name="xalign">0</property>
+                        <property name="draw_indicator">True</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">2</property>
+                        <property name="top_attach">0</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkCheckButton" id="CB_MINOR_INNER">
+                        <property name="label" translatable="yes">I_nner</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="receives_default">False</property>
+                        <property name="use_underline">True</property>
+                        <property name="xalign">0</property>
+                        <property name="draw_indicator">True</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="top_attach">1</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkCheckButton" id="CB_MINOR_OUTER">
+                        <property name="label" translatable="yes">O_uter</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="receives_default">False</property>
+                        <property name="use_underline">True</property>
+                        <property name="xalign">0</property>
+                        <property name="draw_indicator">True</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">2</property>
+                        <property name="top_attach">1</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkBox" id="boxPLACE_TICKS">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="spacing">12</property>
+                    <child>
+                      <object class="GtkLabel" id="FT_PLACE_TICKS">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Place _marks</property>
+                        <property name="use_underline">True</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkComboBoxText" id="LB_PLACE_TICKS">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="entry_text_column">0</property>
+                        <property name="id_column">1</property>
+                        <items>
+                          <item translatable="yes">At labels</item>
+                          <item translatable="yes">At axis</item>
+                          <item translatable="yes">At axis and labels</item>
+                        </items>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </object>
+            </child>
+          </object>
+        </child>
+        <child type="label">
+          <object class="GtkLabel" id="TXT_FL_TICKS">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="xalign">0</property>
+            <property name="label" translatable="yes">Interval marks</property>
+            <attributes>
+              <attribute name="weight" value="bold"/>
+            </attributes>
+          </object>
+        </child>
+      </object>
+      <packing>
+        <property name="expand">False</property>
+        <property name="fill">True</property>
+        <property name="position">2</property>
+      </packing>
+    </child>
+    <child>
+      <object class="GtkFrame" id="FL_GRIDS">
+        <property name="can_focus">False</property>
+        <property name="label_xalign">0</property>
+        <property name="shadow_type">none</property>
+        <child>
+          <object class="GtkAlignment" id="alignment5">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="top_padding">6</property>
+            <property name="left_padding">12</property>
+            <child>
+              <object class="GtkGrid" id="grid2">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="row_spacing">12</property>
+                <property name="column_spacing">6</property>
+                <child>
+                  <object class="GtkCheckButton" id="CB_MAJOR_GRID">
+                    <property name="label" translatable="yes">Show major _grid</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="receives_default">False</property>
+                    <property name="relief">half</property>
+                    <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">0</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkCheckButton" id="CB_MINOR_GRID">
+                    <property name="label" translatable="yes">_Show minor grid</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="receives_default">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">1</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkButton" id="PB_MAJOR_GRID">
+                    <property name="label" translatable="yes">Mo_re...</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="receives_default">True</property>
+                    <property name="use_underline">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="top_attach">0</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkButton" id="PB_MINOR_GRID">
+                    <property name="label" translatable="yes">Mor_e...</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="receives_default">True</property>
+                    <property name="use_underline">True</property>
+                    <property name="xalign">0.49000000953674316</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="top_attach">1</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+              </object>
+            </child>
+          </object>
+        </child>
+        <child type="label">
+          <object class="GtkLabel" id="label2">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="xalign">0</property>
+            <property name="label" translatable="yes">Grids</property>
+            <attributes>
+              <attribute name="weight" value="bold"/>
+            </attributes>
+          </object>
+        </child>
+      </object>
+      <packing>
+        <property name="expand">False</property>
+        <property name="fill">True</property>
+        <property name="position">3</property>
+      </packing>
+    </child>
+  </object>
+  <object class="GtkSizeGroup" id="sizegroupCOMBOS">
+    <widgets>
+      <widget name="LB_CROSSES_OTHER_AXIS_AT"/>
+      <widget name="LB_PLACE_LABELS"/>
+      <widget name="LB_PLACE_TICKS"/>
+      <widget name="EDT_CROSSES_OTHER_AXIS_AT"/>
+      <widget name="combobox-entry"/>
+    </widgets>
+  </object>
+  <object class="GtkSizeGroup" id="sizegroupLABELS">
+    <widgets>
+      <widget name="FT_CROSSES_OTHER_AXIS_AT"/>
+      <widget name="FT_PLACE_LABELS"/>
+      <widget name="FT_AXIS_LABEL_DISTANCE"/>
+      <widget name="FT_MAJOR"/>
+      <widget name="FT_MINOR"/>
+      <widget name="FT_PLACE_TICKS"/>
+    </widgets>
+  </object>
+</interface>


More information about the Libreoffice-commits mailing list