summaryrefslogtreecommitdiffstats
path: root/chart2
diff options
context:
space:
mode:
authorOlivier Hallot <olivier.hallot@edx.srv.br>2013-11-20 19:00:31 -0200
committerCaolán McNamara <caolanm@redhat.com>2013-11-21 08:14:51 -0600
commit7589bf4a620c348d93c3f39fa6bc35d77158f34b (patch)
tree4dd854b52b13f6fb6cea9e3d33ed37d5e1d9fb66 /chart2
parentlongparas: these are really xub_StrLens (diff)
downloadcore-7589bf4a620c348d93c3f39fa6bc35d77158f34b.tar.gz
core-7589bf4a620c348d93c3f39fa6bc35d77158f34b.zip
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@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'chart2')
-rw-r--r--chart2/AllLangResTarget_chartcontroller.mk1
-rw-r--r--chart2/UIConfig_chart2.mk1
-rw-r--r--chart2/source/controller/dialogs/tp_AxisPositions.cxx320
-rw-r--r--chart2/source/controller/dialogs/tp_AxisPositions.hxx56
-rw-r--r--chart2/source/controller/dialogs/tp_AxisPositions.src301
-rw-r--r--chart2/uiconfig/ui/tp_AxisPositions.ui582
6 files changed, 694 insertions, 567 deletions
diff --git a/chart2/AllLangResTarget_chartcontroller.mk b/chart2/AllLangResTarget_chartcontroller.mk
index beffd0cb6cef..907e2382cfb2 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 f425f0912e72..fa584e2d8459 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 46b7f7ce458f..5aa1ebeb3747 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 3543aadbb129..1e24b7c9bd6d 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 0d3e76f29805..000000000000
--- 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 000000000000..a8ce21f9f77c
--- /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>