summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sc/AllLangResTarget_sc.mk1
-rw-r--r--sc/UIConfig_scalc.mk2
-rw-r--r--sc/inc/helpids.h3
-rw-r--r--sc/source/ui/dbgui/dpgroupdlg.cxx210
-rw-r--r--sc/source/ui/dbgui/dpgroupdlg.hrc57
-rw-r--r--sc/source/ui/dbgui/dpgroupdlg.src266
-rw-r--r--sc/source/ui/inc/dpgroupdlg.hxx73
-rw-r--r--sc/uiconfig/scalc/ui/groupbydate.ui389
-rw-r--r--sc/uiconfig/scalc/ui/groupbynumber.ui321
-rw-r--r--sc/uiconfig/scalc/ui/pivottablelayout.ui3
10 files changed, 844 insertions, 481 deletions
diff --git a/sc/AllLangResTarget_sc.mk b/sc/AllLangResTarget_sc.mk
index a73225798f0e..75ab3733ba63 100644
--- a/sc/AllLangResTarget_sc.mk
+++ b/sc/AllLangResTarget_sc.mk
@@ -48,7 +48,6 @@ $(eval $(call gb_SrsTarget_add_files,sc/res,\
sc/source/ui/cctrl/checklistmenu.src \
sc/source/ui/navipi/navipi.src \
sc/source/ui/styleui/scstyles.src \
- sc/source/ui/dbgui/dpgroupdlg.src \
sc/source/ui/dbgui/pvfundlg.src \
sc/source/ui/dbgui/dapitype.src \
sc/source/ui/dbgui/validate.src \
diff --git a/sc/UIConfig_scalc.mk b/sc/UIConfig_scalc.mk
index 29bf45659764..bc6e875c698c 100644
--- a/sc/UIConfig_scalc.mk
+++ b/sc/UIConfig_scalc.mk
@@ -93,6 +93,8 @@ $(eval $(call gb_UIConfig_add_uifiles,modules/scalc,\
sc/uiconfig/scalc/ui/formulacalculationoptions \
sc/uiconfig/scalc/ui/goalseekdlg \
sc/uiconfig/scalc/ui/groupdialog \
+ sc/uiconfig/scalc/ui/groupbydate \
+ sc/uiconfig/scalc/ui/groupbynumber \
sc/uiconfig/scalc/ui/headerdialog \
sc/uiconfig/scalc/ui/headerfootercontent \
sc/uiconfig/scalc/ui/headerfooterdialog \
diff --git a/sc/inc/helpids.h b/sc/inc/helpids.h
index 80a6bc44e38c..03a244d6036c 100644
--- a/sc/inc/helpids.h
+++ b/sc/inc/helpids.h
@@ -142,9 +142,6 @@
#define HID_SC_DRAW_RENAME "SC_HID_SC_DRAW_RENAME"
-#define HID_SC_DPNUMGROUP "SC_HID_SC_DPNUMGROUP"
-#define HID_SC_DPDATEGROUP "SC_HID_SC_DPDATEGROUP"
-#define HID_SC_DPDATEGROUP_LB "SC_HID_SC_DPDATEGROUP_LB"
#define HID_SC_DPSHOWDETAIL "SC_HID_SC_DPSHOWDETAIL"
#define HID_SCDLG_CONFLICTS "SC_HID_SCDLG_CONFLICTS"
diff --git a/sc/source/ui/dbgui/dpgroupdlg.cxx b/sc/source/ui/dbgui/dpgroupdlg.cxx
index e545ee175f2f..b7333409c610 100644
--- a/sc/source/ui/dbgui/dpgroupdlg.cxx
+++ b/sc/source/ui/dbgui/dpgroupdlg.cxx
@@ -24,7 +24,6 @@
#include "dpgroupdlg.hxx"
-#include "dpgroupdlg.hrc"
#include "scresid.hxx"
#include "sc.hrc"
#include "globstr.hrc"
@@ -62,18 +61,18 @@ static const sal_uInt16 nDatePartResIds[] =
-ScDPGroupEditHelper::ScDPGroupEditHelper( RadioButton& rRbAuto, RadioButton& rRbMan, Edit& rEdValue ) :
- mrRbAuto( rRbAuto ),
- mrRbMan( rRbMan ),
- mrEdValue( rEdValue )
+ScDPGroupEditHelper::ScDPGroupEditHelper( RadioButton* pRbAuto, RadioButton* pRbMan, Edit* pEdValue ) :
+ mpRbAuto( pRbAuto ),
+ mpRbMan( pRbMan ),
+ mpEdValue( pEdValue )
{
- mrRbAuto.SetClickHdl( LINK( this, ScDPGroupEditHelper, ClickHdl ) );
- mrRbMan.SetClickHdl( LINK( this, ScDPGroupEditHelper, ClickHdl ) );
+ mpRbAuto->SetClickHdl( LINK( this, ScDPGroupEditHelper, ClickHdl ) );
+ mpRbMan->SetClickHdl( LINK( this, ScDPGroupEditHelper, ClickHdl ) );
}
bool ScDPGroupEditHelper::IsAuto() const
{
- return mrRbAuto.IsChecked();
+ return mpRbAuto->IsChecked();
}
double ScDPGroupEditHelper::GetValue() const
@@ -88,29 +87,29 @@ void ScDPGroupEditHelper::SetValue( bool bAuto, double fValue )
{
if( bAuto )
{
- mrRbAuto.Check();
- ClickHdl( &mrRbAuto );
+ mpRbAuto->Check();
+ ClickHdl( mpRbAuto );
}
else
{
- mrRbMan.Check();
- ClickHdl( &mrRbMan );
+ mpRbMan->Check();
+ ClickHdl( mpRbMan );
}
ImplSetValue( fValue );
}
IMPL_LINK( ScDPGroupEditHelper, ClickHdl, RadioButton*, pButton )
{
- if( pButton == &mrRbAuto )
+ if( pButton == mpRbAuto )
{
// disable edit field on clicking "automatic" radio button
- mrEdValue.Disable();
+ mpEdValue->Disable();
}
- else if( pButton == &mrRbMan )
+ else if( pButton == mpRbMan )
{
// enable and set focus to edit field on clicking "manual" radio button
- mrEdValue.Enable();
- mrEdValue.GrabFocus();
+ mpEdValue->Enable();
+ mpEdValue->GrabFocus();
}
return 0;
}
@@ -118,35 +117,35 @@ IMPL_LINK( ScDPGroupEditHelper, ClickHdl, RadioButton*, pButton )
ScDPNumGroupEditHelper::ScDPNumGroupEditHelper(
- RadioButton& rRbAuto, RadioButton& rRbMan, ScDoubleField& rEdValue ) :
- ScDPGroupEditHelper( rRbAuto, rRbMan, rEdValue ),
- mrEdValue( rEdValue )
+ RadioButton* pRbAuto, RadioButton* pRbMan, ScDoubleField* pEdValue ) :
+ ScDPGroupEditHelper( pRbAuto, pRbMan, pEdValue ),
+ mpEdValue( pEdValue )
{
}
bool ScDPNumGroupEditHelper::ImplGetValue( double& rfValue ) const
{
- return mrEdValue.GetValue( rfValue );
+ return mpEdValue->GetValue( rfValue );
}
void ScDPNumGroupEditHelper::ImplSetValue( double fValue )
{
- mrEdValue.SetValue( fValue );
+ mpEdValue->SetValue( fValue );
}
ScDPDateGroupEditHelper::ScDPDateGroupEditHelper(
- RadioButton& rRbAuto, RadioButton& rRbMan, DateField& rEdValue, const Date& rNullDate ) :
- ScDPGroupEditHelper( rRbAuto, rRbMan, rEdValue ),
- mrEdValue( rEdValue ),
+ RadioButton* pRbAuto, RadioButton* pRbMan, DateField* pEdValue, const Date& rNullDate ) :
+ ScDPGroupEditHelper( pRbAuto, pRbMan, pEdValue ),
+ mpEdValue( pEdValue ),
maNullDate( rNullDate )
{
}
bool ScDPDateGroupEditHelper::ImplGetValue( double& rfValue ) const
{
- rfValue = mrEdValue.GetDate() - maNullDate;
+ rfValue = mpEdValue->GetDate() - maNullDate;
return true;
}
@@ -154,44 +153,38 @@ void ScDPDateGroupEditHelper::ImplSetValue( double fValue )
{
Date aDate( maNullDate );
aDate += static_cast< sal_Int32 >( fValue );
- mrEdValue.SetDate( aDate );
+ mpEdValue->SetDate( aDate );
}
ScDPNumGroupDlg::ScDPNumGroupDlg( Window* pParent, const ScDPNumGroupInfo& rInfo ) :
- ModalDialog ( pParent, ScResId( RID_SCDLG_DPNUMGROUP ) ),
- maFlStart ( this, ScResId( FL_START ) ),
- maRbAutoStart ( this, ScResId( RB_AUTOSTART ) ),
- maRbManStart ( this, ScResId( RB_MANSTART ) ),
- maEdStart ( this, ScResId( ED_START ) ),
- maFlEnd ( this, ScResId( FL_END ) ),
- maRbAutoEnd ( this, ScResId( RB_AUTOEND ) ),
- maRbManEnd ( this, ScResId( RB_MANEND ) ),
- maEdEnd ( this, ScResId( ED_END ) ),
- maFlBy ( this, ScResId( FL_BY ) ),
- maEdBy ( this, ScResId( ED_BY ) ),
- maBtnOk ( this, ScResId( BTN_OK ) ),
- maBtnCancel ( this, ScResId( BTN_CANCEL ) ),
- maBtnHelp ( this, ScResId( BTN_HELP ) ),
- maStartHelper ( maRbAutoStart, maRbManStart, maEdStart ),
- maEndHelper ( maRbAutoEnd, maRbManEnd, maEdEnd )
+ ModalDialog ( pParent, "PivotTableGroupByNumber", "modules/scalc/ui/groupbynumber.ui" ),
+ mpRbAutoStart ( get<RadioButton>("auto_start") ),
+ mpRbManStart ( get<RadioButton>("manual_start") ),
+ mpEdStart ( get<ScDoubleField> ("edit_start") ),
+ mpRbAutoEnd ( get<RadioButton> ( "auto_end" ) ),
+ mpRbManEnd ( get<RadioButton> ("manual_end") ),
+ mpEdEnd ( get<ScDoubleField>( "edit_end") ),
+ mpEdBy ( get<ScDoubleField> ("edit_by") ),
+ mpBtnOk ( get<OKButton> ("ok" ) ),
+ maStartHelper ( mpRbAutoStart, mpRbManStart, mpEdStart ),
+ maEndHelper ( mpRbAutoEnd, mpRbManEnd, mpEdEnd )
{
- FreeResource();
maStartHelper.SetValue( rInfo.mbAutoStart, rInfo.mfStart );
maEndHelper.SetValue( rInfo.mbAutoEnd, rInfo.mfEnd );
- maEdBy.SetValue( (rInfo.mfStep <= 0.0) ? 1.0 : rInfo.mfStep );
+ mpEdBy->SetValue( (rInfo.mfStep <= 0.0) ? 1.0 : rInfo.mfStep );
/* Set the initial focus, currently it is somewhere after calling all the radio
button click handlers. Now the first enabled editable control is focused. */
- if( maEdStart.IsEnabled() )
- maEdStart.GrabFocus();
- else if( maEdEnd.IsEnabled() )
- maEdEnd.GrabFocus();
+ if( mpEdStart->IsEnabled() )
+ mpEdStart->GrabFocus();
+ else if( mpEdEnd->IsEnabled() )
+ mpEdEnd->GrabFocus();
else
- maEdBy.GrabFocus();
+ mpEdBy->GrabFocus();
}
ScDPNumGroupInfo ScDPNumGroupDlg::GetGroupInfo() const
@@ -206,7 +199,7 @@ ScDPNumGroupInfo ScDPNumGroupDlg::GetGroupInfo() const
// TODO: error messages in OK event?
aInfo.mfStart = maStartHelper.GetValue();
aInfo.mfEnd = maEndHelper.GetValue();
- if( !maEdBy.GetValue( aInfo.mfStep ) || (aInfo.mfStep <= 0.0) )
+ if( !mpEdBy->GetValue( aInfo.mfStep ) || (aInfo.mfStep <= 0.0) )
aInfo.mfStep = 1.0;
if( aInfo.mfEnd <= aInfo.mfStart )
aInfo.mfEnd = aInfo.mfStart + aInfo.mfStep;
@@ -218,36 +211,27 @@ ScDPNumGroupInfo ScDPNumGroupDlg::GetGroupInfo() const
ScDPDateGroupDlg::ScDPDateGroupDlg( Window* pParent,
const ScDPNumGroupInfo& rInfo, sal_Int32 nDatePart, const Date& rNullDate ) :
- ModalDialog ( pParent, ScResId( RID_SCDLG_DPDATEGROUP ) ),
- maFlStart ( this, ScResId( FL_START ) ),
- maRbAutoStart ( this, ScResId( RB_AUTOSTART ) ),
- maRbManStart ( this, ScResId( RB_MANSTART ) ),
- maEdStart ( this, ScResId( ED_START ) ),
- maFlEnd ( this, ScResId( FL_END ) ),
- maRbAutoEnd ( this, ScResId( RB_AUTOEND ) ),
- maRbManEnd ( this, ScResId( RB_MANEND ) ),
- maEdEnd ( this, ScResId( ED_END ) ),
- maFlBy ( this, ScResId( FL_BY ) ),
- maRbNumDays ( this, ScResId( RB_NUMDAYS ) ),
- maRbUnits ( this, ScResId( RB_UNITS ) ),
- maEdNumDays ( this, ScResId( ED_NUMDAYS ) ),
- maLbUnits ( this, ScResId( LB_UNITS ) ),
- maBtnOk ( this, ScResId( BTN_OK ) ),
- maBtnCancel ( this, ScResId( BTN_CANCEL ) ),
- maBtnHelp ( this, ScResId( BTN_HELP ) ),
- maStartHelper ( maRbAutoStart, maRbManStart, maEdStart, rNullDate ),
- maEndHelper ( maRbAutoEnd, maRbManEnd, maEdEnd, rNullDate )
+ ModalDialog( pParent, "PivotTableGroupByDate", "modules/scalc/ui/groupbydate.ui" ),
+ mpRbAutoStart ( get<RadioButton>("auto_start") ),
+ mpRbManStart ( get<RadioButton>("manual_start") ),
+ mpEdStart ( get<DateField>("start_date") ),
+ mpRbAutoEnd ( get<RadioButton>("auto_end") ),
+ mpRbManEnd ( get<RadioButton>("manual_end") ),
+ mpEdEnd ( get<DateField>("end_date") ),
+ mpRbNumDays ( get<RadioButton>("days") ),
+ mpRbUnits ( get<RadioButton>("intervals") ),
+ mpEdNumDays ( get<NumericField>("days_value") ),
+ mpLbUnits ( get<SvxCheckListBox>("interval_list") ),
+ mpBtnOk ( get<OKButton>("ok") ),
+ maStartHelper ( mpRbAutoStart, mpRbManStart, mpEdStart, rNullDate ),
+ maEndHelper ( mpRbAutoEnd, mpRbManEnd, mpEdEnd, rNullDate )
{
- FreeResource();
-
- maLbUnits.SetHelpId( HID_SC_DPDATEGROUP_LB );
-
static const size_t nCount = sizeof( nDatePartResIds ) / sizeof( nDatePartResIds[0] );
for( size_t nIdx = 0 ; nIdx < nCount; ++nIdx )
- maLbUnits.InsertEntry( ScGlobal::GetRscString( nDatePartResIds[nIdx] ) );
+ mpLbUnits->InsertEntry( ScGlobal::GetRscString( nDatePartResIds[nIdx] ) );
- maEdStart.SetShowDateCentury( true );
- maEdEnd.SetShowDateCentury( true );
+ mpEdStart->SetShowDateCentury( sal_True );
+ mpEdEnd->SetShowDateCentury( sal_True );
maStartHelper.SetValue( rInfo.mbAutoStart, rInfo.mfStart );
maEndHelper.SetValue( rInfo.mbAutoEnd, rInfo.mfEnd );
@@ -255,47 +239,47 @@ ScDPDateGroupDlg::ScDPDateGroupDlg( Window* pParent,
if( nDatePart == 0 )
nDatePart = com::sun::star::sheet::DataPilotFieldGroupBy::MONTHS;
for( size_t nIdx = 0; nIdx < nCount; ++nIdx )
- maLbUnits.CheckEntryPos( static_cast< sal_uInt16 >( nIdx ), (nDatePart & spnDateParts[ nIdx ]) != 0 );
+ mpLbUnits->CheckEntryPos( static_cast< sal_uInt16 >( nIdx ), (nDatePart & spnDateParts[ nIdx ]) != 0 );
if( rInfo.mbDateValues )
{
- maRbNumDays.Check();
- ClickHdl( &maRbNumDays );
+ mpRbNumDays->Check();
+ ClickHdl( mpRbNumDays );
double fNumDays = rInfo.mfStep;
if( fNumDays < 1.0 )
fNumDays = 1.0;
else if( fNumDays > 32767.0 )
fNumDays = 32767.0;
- maEdNumDays.SetValue( static_cast< long >( fNumDays ) );
+ mpEdNumDays->SetValue( static_cast< long >( fNumDays ) );
}
else
{
- maRbUnits.Check();
- ClickHdl( &maRbUnits );
+ mpRbUnits->Check();
+ ClickHdl( mpRbUnits );
}
/* Set the initial focus, currently it is somewhere after calling all the radio
button click handlers. Now the first enabled editable control is focused. */
- if( maEdStart.IsEnabled() )
- maEdStart.GrabFocus();
- else if( maEdEnd.IsEnabled() )
- maEdEnd.GrabFocus();
- else if( maEdNumDays.IsEnabled() )
- maEdNumDays.GrabFocus();
- else if( maLbUnits.IsEnabled() )
- maLbUnits.GrabFocus();
-
- maRbNumDays.SetClickHdl( LINK( this, ScDPDateGroupDlg, ClickHdl ) );
- maRbUnits.SetClickHdl( LINK( this, ScDPDateGroupDlg, ClickHdl ) );
- maLbUnits.SetCheckButtonHdl( LINK( this, ScDPDateGroupDlg, CheckHdl ) );
+ if( mpEdStart->IsEnabled() )
+ mpEdStart->GrabFocus();
+ else if( mpEdEnd->IsEnabled() )
+ mpEdEnd->GrabFocus();
+ else if( mpEdNumDays->IsEnabled() )
+ mpEdNumDays->GrabFocus();
+ else if( mpLbUnits->IsEnabled() )
+ mpLbUnits->GrabFocus();
+
+ mpRbNumDays->SetClickHdl( LINK( this, ScDPDateGroupDlg, ClickHdl ) );
+ mpRbUnits->SetClickHdl( LINK( this, ScDPDateGroupDlg, ClickHdl ) );
+ mpLbUnits->SetCheckButtonHdl( LINK( this, ScDPDateGroupDlg, CheckHdl ) );
}
ScDPNumGroupInfo ScDPDateGroupDlg::GetGroupInfo() const
{
ScDPNumGroupInfo aInfo;
- aInfo.mbEnable = true;
- aInfo.mbDateValues = maRbNumDays.IsChecked();
+ aInfo.mbEnable = sal_True;
+ aInfo.mbDateValues = mpRbNumDays->IsChecked();
aInfo.mbAutoStart = maStartHelper.IsAuto();
aInfo.mbAutoEnd = maEndHelper.IsAuto();
@@ -303,7 +287,7 @@ ScDPNumGroupInfo ScDPDateGroupDlg::GetGroupInfo() const
// TODO: error messages in OK event?
aInfo.mfStart = maStartHelper.GetValue();
aInfo.mfEnd = maEndHelper.GetValue();
- sal_Int64 nNumDays = maEdNumDays.GetValue();
+ sal_Int64 nNumDays = mpEdNumDays->GetValue();
aInfo.mfStep = static_cast<double>( aInfo.mbDateValues ? nNumDays : 0L );
if( aInfo.mfEnd <= aInfo.mfStart )
aInfo.mfEnd = aInfo.mfStart + nNumDays;
@@ -314,35 +298,35 @@ ScDPNumGroupInfo ScDPDateGroupDlg::GetGroupInfo() const
sal_Int32 ScDPDateGroupDlg::GetDatePart() const
{
// return DAYS for special "number of days" mode
- if( maRbNumDays.IsChecked() )
+ if( mpRbNumDays->IsChecked() )
return com::sun::star::sheet::DataPilotFieldGroupBy::DAYS;
// return listbox contents for "units" mode
sal_Int32 nDatePart = 0;
- for( sal_uLong nIdx = 0, nCount = maLbUnits.GetEntryCount(); nIdx < nCount; ++nIdx )
- if( maLbUnits.IsChecked( static_cast< sal_uInt16 >( nIdx ) ) )
+ for( sal_uLong nIdx = 0, nCount = mpLbUnits->GetEntryCount(); nIdx < nCount; ++nIdx )
+ if( mpLbUnits->IsChecked( static_cast< sal_uInt16 >( nIdx ) ) )
nDatePart |= spnDateParts[ nIdx ];
return nDatePart;
}
IMPL_LINK( ScDPDateGroupDlg, ClickHdl, RadioButton*, pButton )
{
- if( pButton == &maRbNumDays )
+ if( pButton == mpRbNumDays )
{
- maLbUnits.Disable();
+ mpLbUnits->Disable();
// enable and set focus to edit field on clicking "num of days" radio button
- maEdNumDays.Enable();
- maEdNumDays.GrabFocus();
- maBtnOk.Enable();
+ mpEdNumDays->Enable();
+ mpEdNumDays->GrabFocus();
+ mpBtnOk->Enable();
}
- else if( pButton == &maRbUnits )
+ else if( pButton == mpRbUnits )
{
- maEdNumDays.Disable();
+ mpEdNumDays->Disable();
// enable and set focus to listbox on clicking "units" radio button
- maLbUnits.Enable();
- maLbUnits.GrabFocus();
+ mpLbUnits->Enable();
+ mpLbUnits->GrabFocus();
// disable OK button if no date part selected
- CheckHdl( &maLbUnits );
+ CheckHdl( mpLbUnits );
}
return 0;
}
@@ -350,8 +334,8 @@ IMPL_LINK( ScDPDateGroupDlg, ClickHdl, RadioButton*, pButton )
IMPL_LINK( ScDPDateGroupDlg, CheckHdl, SvxCheckListBox*, pListBox )
{
// enable/disable OK button on modifying check list box
- if( pListBox == &maLbUnits )
- maBtnOk.Enable( maLbUnits.GetCheckedEntryCount() > 0 );
+ if( pListBox == mpLbUnits )
+ mpBtnOk->Enable( mpLbUnits->GetCheckedEntryCount() > 0 );
return 0;
}
diff --git a/sc/source/ui/dbgui/dpgroupdlg.hrc b/sc/source/ui/dbgui/dpgroupdlg.hrc
deleted file mode 100644
index c8c0a748a725..000000000000
--- a/sc/source/ui/dbgui/dpgroupdlg.hrc
+++ /dev/null
@@ -1,57 +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 .
- */
-
-#ifndef SC_DPGROUPDLG_HRC
-#define SC_DPGROUPDLG_HRC
-
-#include "sc.hrc"
-
-// push buttons
-#define BTN_OK 1
-#define BTN_CANCEL 2
-#define BTN_HELP 3
-
-// fixed lines
-#define FL_START 1
-#define FL_END 2
-#define FL_BY 3
-
-// radio buttons
-#define RB_AUTOSTART 1
-#define RB_MANSTART 2
-#define RB_AUTOEND 3
-#define RB_MANEND 4
-#define RB_NUMDAYS 5
-#define RB_UNITS 6
-
-// edit fields
-#define ED_START 1
-#define ED_END 2
-#define ED_BY 3
-#define ED_NUMDAYS 4
-
-// list boxes
-#define LB_UNITS 1
-
-// strings/string arrays
-#define STR_UNITS 1
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/dbgui/dpgroupdlg.src b/sc/source/ui/dbgui/dpgroupdlg.src
deleted file mode 100644
index 11715f59f239..000000000000
--- a/sc/source/ui/dbgui/dpgroupdlg.src
+++ /dev/null
@@ -1,266 +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 "dpgroupdlg.hrc"
-
-
-
-ModalDialog RID_SCDLG_DPNUMGROUP
-{
- Size = MAP_APPFONT ( 220 , 110 ) ;
- HelpId = HID_SC_DPNUMGROUP ;
- OutputSize = TRUE ;
- SVLook = TRUE ;
- Moveable = TRUE ;
- Closeable = FALSE ;
- Hide = TRUE ;
- FixedLine FL_START
- {
- Pos = MAP_APPFONT ( 6, 3 ) ;
- Size = MAP_APPFONT ( 152, 8 ) ;
- Text [ en-US ] = "Start" ;
- };
- RadioButton RB_AUTOSTART
- {
- HelpID = "sc:RadioButton:RID_SCDLG_DPNUMGROUP:RB_AUTOSTART";
- Pos = MAP_APPFONT ( 12 , 14 ) ;
- Size = MAP_APPFONT ( 80 , 10 ) ;
- TabStop = TRUE ;
- Text [ en-US ] = "~Automatically" ;
- };
- RadioButton RB_MANSTART
- {
- HelpID = "sc:RadioButton:RID_SCDLG_DPNUMGROUP:RB_MANSTART";
- Pos = MAP_APPFONT ( 12 , 28 ) ;
- Size = MAP_APPFONT ( 80 , 10 ) ;
- TabStop = TRUE ;
- Text [ en-US ] = "~Manually at" ;
- };
- Edit ED_START
- {
- HelpID = "sc:Edit:RID_SCDLG_DPNUMGROUP:ED_START";
- Pos = MAP_APPFONT ( 94 , 26 ) ;
- Size = MAP_APPFONT ( 58 , 12 ) ;
- TabStop = TRUE ;
- Border = TRUE ;
- };
- FixedLine FL_END
- {
- Pos = MAP_APPFONT ( 6 , 42 ) ;
- Size = MAP_APPFONT ( 152 , 8 ) ;
- Text [ en-US ] = "End" ;
- };
- RadioButton RB_AUTOEND
- {
- HelpID = "sc:RadioButton:RID_SCDLG_DPNUMGROUP:RB_AUTOEND";
- Pos = MAP_APPFONT ( 12 , 53 ) ;
- Size = MAP_APPFONT ( 80 , 10 ) ;
- TabStop = TRUE ;
- Text [ en-US ] = "A~utomatically" ;
- };
- RadioButton RB_MANEND
- {
- HelpID = "sc:RadioButton:RID_SCDLG_DPNUMGROUP:RB_MANEND";
- Pos = MAP_APPFONT ( 12 , 67 ) ;
- Size = MAP_APPFONT ( 80 , 10 ) ;
- TabStop = TRUE ;
- Text [ en-US ] = "Ma~nually at" ;
- };
- Edit ED_END
- {
- HelpID = "sc:Edit:RID_SCDLG_DPNUMGROUP:ED_END";
- Pos = MAP_APPFONT ( 94 , 65 ) ;
- Size = MAP_APPFONT ( 58 , 12 ) ;
- TabStop = TRUE ;
- Border = TRUE ;
- };
- FixedLine FL_BY
- {
- Pos = MAP_APPFONT ( 6 , 81 ) ;
- Size = MAP_APPFONT ( 152 , 8 ) ;
- Text [ en-US ] = "~Group by" ;
- };
- Edit ED_BY
- {
- HelpID = "sc:Edit:RID_SCDLG_DPNUMGROUP:ED_BY";
- Pos = MAP_APPFONT ( 94 , 92 ) ;
- Size = MAP_APPFONT ( 58 , 12 ) ;
- TabStop = TRUE ;
- Border = TRUE ;
- };
- OKButton BTN_OK
- {
- Pos = MAP_APPFONT ( 164 , 6 ) ;
- Size = MAP_APPFONT ( 50 , 14 ) ;
- TabStop = TRUE ;
- DefButton = TRUE ;
- };
- CancelButton BTN_CANCEL
- {
- Pos = MAP_APPFONT ( 164 , 23 ) ;
- Size = MAP_APPFONT ( 50 , 14 ) ;
- TabStop = TRUE ;
- };
- HelpButton BTN_HELP
- {
- Pos = MAP_APPFONT ( 164 , 43 ) ;
- Size = MAP_APPFONT ( 50 , 14 ) ;
- TabStop = TRUE ;
- };
- Text [ en-US ] = "Grouping" ;
-} ;
-
-
-
-ModalDialog RID_SCDLG_DPDATEGROUP
-{
- Size = MAP_APPFONT ( 220 , 180 ) ;
- HelpId = HID_SC_DPDATEGROUP ;
- OutputSize = TRUE ;
- SVLook = TRUE ;
- Moveable = TRUE ;
- Closeable = FALSE ;
- Hide = TRUE ;
- FixedLine FL_START
- {
- Pos = MAP_APPFONT ( 6, 3 ) ;
- Size = MAP_APPFONT ( 152, 8 ) ;
- Text [ en-US ] = "Start" ;
- };
- RadioButton RB_AUTOSTART
- {
- HelpID = "sc:RadioButton:RID_SCDLG_DPDATEGROUP:RB_AUTOSTART";
- Pos = MAP_APPFONT ( 12 , 14 ) ;
- Size = MAP_APPFONT ( 80 , 10 ) ;
- TabStop = TRUE ;
- Text [ en-US ] = "~Automatically" ;
- };
- RadioButton RB_MANSTART
- {
- HelpID = "sc:RadioButton:RID_SCDLG_DPDATEGROUP:RB_MANSTART";
- Pos = MAP_APPFONT ( 12 , 28 ) ;
- Size = MAP_APPFONT ( 80 , 10 ) ;
- TabStop = TRUE ;
- Text [ en-US ] = "~Manually at" ;
- };
- DateField ED_START
- {
- HelpID = "sc:DateField:RID_SCDLG_DPDATEGROUP:ED_START";
- Pos = MAP_APPFONT ( 94 , 26 ) ;
- Size = MAP_APPFONT ( 58 , 12 ) ;
- TabStop = TRUE ;
- Border = TRUE ;
- };
- FixedLine FL_END
- {
- Pos = MAP_APPFONT ( 6 , 42 ) ;
- Size = MAP_APPFONT ( 152 , 8 ) ;
- Text [ en-US ] = "End" ;
- };
- RadioButton RB_AUTOEND
- {
- HelpID = "sc:RadioButton:RID_SCDLG_DPDATEGROUP:RB_AUTOEND";
- Pos = MAP_APPFONT ( 12 , 53 ) ;
- Size = MAP_APPFONT ( 80 , 10 ) ;
- TabStop = TRUE ;
- Text [ en-US ] = "A~utomatically" ;
- };
- RadioButton RB_MANEND
- {
- HelpID = "sc:RadioButton:RID_SCDLG_DPDATEGROUP:RB_MANEND";
- Pos = MAP_APPFONT ( 12 , 67 ) ;
- Size = MAP_APPFONT ( 80 , 10 ) ;
- TabStop = TRUE ;
- Text [ en-US ] = "Ma~nually at" ;
- };
- DateField ED_END
- {
- HelpID = "sc:DateField:RID_SCDLG_DPDATEGROUP:ED_END";
- Pos = MAP_APPFONT ( 94 , 65 ) ;
- Size = MAP_APPFONT ( 58 , 12 ) ;
- TabStop = TRUE ;
- Border = TRUE ;
- };
- FixedLine FL_BY
- {
- Pos = MAP_APPFONT ( 6 , 81 ) ;
- Size = MAP_APPFONT ( 152 , 8 ) ;
- Text [ en-US ] = "Group by" ;
- };
- RadioButton RB_NUMDAYS
- {
- HelpID = "sc:RadioButton:RID_SCDLG_DPDATEGROUP:RB_NUMDAYS";
- Pos = MAP_APPFONT ( 12 , 94 ) ;
- Size = MAP_APPFONT ( 80 , 10 ) ;
- TabStop = TRUE ;
- Text [ en-US ] = "Number of ~days" ;
- };
- RadioButton RB_UNITS
- {
- HelpID = "sc:RadioButton:RID_SCDLG_DPDATEGROUP:RB_UNITS";
- Pos = MAP_APPFONT ( 12 , 110 ) ;
- Size = MAP_APPFONT ( 80 , 10 ) ;
- TabStop = TRUE ;
- Text [ en-US ] = "~Intervals" ;
- };
- NumericField ED_NUMDAYS
- {
- HelpID = "sc:NumericField:RID_SCDLG_DPDATEGROUP:ED_NUMDAYS";
- Pos = MAP_APPFONT ( 94, 92 ) ;
- Size = MAP_APPFONT ( 35, 12 ) ;
- TabStop = TRUE ;
- Border = TRUE ;
- Spin = TRUE ;
- Repeat = TRUE ;
- Minimum = 1 ;
- Maximum = 32767 ;
- SpinSize = 1 ;
- };
- Control LB_UNITS
- {
- Pos = MAP_APPFONT( 94, 110 );
- Size = MAP_APPFONT( 58, 64 );
- TabStop = TRUE;
- Border = TRUE;
- };
- OKButton BTN_OK
- {
- Pos = MAP_APPFONT ( 164 , 6 ) ;
- Size = MAP_APPFONT ( 50 , 14 ) ;
- TabStop = TRUE ;
- DefButton = TRUE ;
- };
- CancelButton BTN_CANCEL
- {
- Pos = MAP_APPFONT ( 164 , 23 ) ;
- Size = MAP_APPFONT ( 50 , 14 ) ;
- TabStop = TRUE ;
- };
- HelpButton BTN_HELP
- {
- Pos = MAP_APPFONT ( 164 , 43 ) ;
- Size = MAP_APPFONT ( 50 , 14 ) ;
- TabStop = TRUE ;
- };
- Text [ en-US ] = "Grouping" ;
-} ;
-
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/inc/dpgroupdlg.hxx b/sc/source/ui/inc/dpgroupdlg.hxx
index ddc2b797624f..9ed7c7da1d75 100644
--- a/sc/source/ui/inc/dpgroupdlg.hxx
+++ b/sc/source/ui/inc/dpgroupdlg.hxx
@@ -34,8 +34,8 @@ class ScDPGroupEditHelper
{
public:
explicit ScDPGroupEditHelper(
- RadioButton& rRbAuto, RadioButton& rRbMan,
- Edit& rEdValue );
+ RadioButton* rRbAuto, RadioButton* rRbMan,
+ Edit* rEdValue );
bool IsAuto() const;
double GetValue() const;
@@ -44,6 +44,7 @@ public:
protected:
~ScDPGroupEditHelper() {}
+
private:
virtual bool ImplGetValue( double& rfValue ) const = 0;
virtual void ImplSetValue( double fValue ) = 0;
@@ -51,9 +52,9 @@ private:
DECL_LINK( ClickHdl, RadioButton* );
private:
- RadioButton& mrRbAuto;
- RadioButton& mrRbMan;
- Edit& mrEdValue;
+ RadioButton* mpRbAuto;
+ RadioButton* mpRbMan;
+ Edit* mpEdValue;
};
@@ -62,8 +63,8 @@ class ScDPNumGroupEditHelper : public ScDPGroupEditHelper
{
public:
explicit ScDPNumGroupEditHelper(
- RadioButton& rRbAuto, RadioButton& rRbMan,
- ScDoubleField& rEdValue );
+ RadioButton* pRbAuto, RadioButton* pRbMan,
+ ScDoubleField* pEdValue );
virtual ~ScDPNumGroupEditHelper() {}
@@ -72,7 +73,7 @@ private:
virtual void ImplSetValue( double fValue );
private:
- ScDoubleField& mrEdValue;
+ ScDoubleField* mpEdValue;
};
@@ -81,8 +82,8 @@ class ScDPDateGroupEditHelper : public ScDPGroupEditHelper
{
public:
explicit ScDPDateGroupEditHelper(
- RadioButton& rRbAuto, RadioButton& rRbMan,
- DateField& rEdValue, const Date& rNullDate );
+ RadioButton* pRbAuto, RadioButton* pRbMan,
+ DateField* pEdValue, const Date& rNullDate );
virtual ~ScDPDateGroupEditHelper() {}
@@ -91,7 +92,7 @@ private:
virtual void ImplSetValue( double fValue );
private:
- DateField& mrEdValue;
+ DateField* mpEdValue;
Date maNullDate;
};
@@ -106,19 +107,16 @@ public:
ScDPNumGroupInfo GetGroupInfo() const;
private:
- FixedLine maFlStart;
- RadioButton maRbAutoStart;
- RadioButton maRbManStart;
- ScDoubleField maEdStart;
- FixedLine maFlEnd;
- RadioButton maRbAutoEnd;
- RadioButton maRbManEnd;
- ScDoubleField maEdEnd;
- FixedLine maFlBy;
- ScDoubleField maEdBy;
- OKButton maBtnOk;
- CancelButton maBtnCancel;
- HelpButton maBtnHelp;
+ RadioButton* mpRbAutoStart;
+ RadioButton* mpRbManStart;
+ ScDoubleField* mpEdStart;
+ RadioButton* mpRbAutoEnd;
+ RadioButton* mpRbManEnd;
+ ScDoubleField* mpEdEnd;
+ ScDoubleField* mpEdBy;
+ OKButton* mpBtnOk;
+ CancelButton* mpBtnCancel;
+ HelpButton* mpBtnHelp;
ScDPNumGroupEditHelper maStartHelper;
ScDPNumGroupEditHelper maEndHelper;
};
@@ -139,22 +137,17 @@ private:
DECL_LINK( CheckHdl, SvxCheckListBox* );
private:
- FixedLine maFlStart;
- RadioButton maRbAutoStart;
- RadioButton maRbManStart;
- DateField maEdStart;
- FixedLine maFlEnd;
- RadioButton maRbAutoEnd;
- RadioButton maRbManEnd;
- DateField maEdEnd;
- FixedLine maFlBy;
- RadioButton maRbNumDays;
- RadioButton maRbUnits;
- NumericField maEdNumDays;
- SvxCheckListBox maLbUnits;
- OKButton maBtnOk;
- CancelButton maBtnCancel;
- HelpButton maBtnHelp;
+ RadioButton* mpRbAutoStart;
+ RadioButton* mpRbManStart;
+ DateField* mpEdStart;
+ RadioButton* mpRbAutoEnd;
+ RadioButton* mpRbManEnd;
+ DateField* mpEdEnd;
+ RadioButton* mpRbNumDays;
+ RadioButton* mpRbUnits;
+ NumericField* mpEdNumDays;
+ SvxCheckListBox* mpLbUnits;
+ OKButton* mpBtnOk;
ScDPDateGroupEditHelper maStartHelper;
ScDPDateGroupEditHelper maEndHelper;
};
diff --git a/sc/uiconfig/scalc/ui/groupbydate.ui b/sc/uiconfig/scalc/ui/groupbydate.ui
new file mode 100644
index 000000000000..1d111a83adcd
--- /dev/null
+++ b/sc/uiconfig/scalc/ui/groupbydate.ui
@@ -0,0 +1,389 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gtk+ 3.0 -->
+ <object class="GtkDialog" id="PivotTableGroupByDate">
+ <property name="can_focus">False</property>
+ <property name="border_width">6</property>
+ <property name="title" translatable="yes">Grouping</property>
+ <property name="type_hint">dialog</property>
+ <child internal-child="vbox">
+ <object class="GtkBox" id="dialog-vbox1">
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">12</property>
+ <child internal-child="action_area">
+ <object class="GtkButtonBox" id="dialog-action_area1">
+ <property name="can_focus">False</property>
+ <property name="layout_style">end</property>
+ <child>
+ <object class="GtkButton" id="ok">
+ <property name="label">gtk-ok</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="has_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="cancel">
+ <property name="label">gtk-cancel</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="help">
+ <property name="label">gtk-help</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">end</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="box1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkFrame" id="frame1">
+ <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="left_padding">12</property>
+ <property name="top_padding">6</property>
+ <child>
+ <object class="GtkGrid" id="grid1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ <property name="row_spacing">6</property>
+ <property name="column_spacing">12</property>
+ <child>
+ <object class="GtkRadioButton" id="auto_start">
+ <property name="label" translatable="yes">_Automatically</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="xalign">0</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">manual_start</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="GtkRadioButton" id="manual_start">
+ <property name="label" translatable="yes">_Manually at:</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="xalign">0</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">auto_start</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>
+ <placeholder/>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="start_date:yy:mm:dd">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">●</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="label1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Start</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="frame2">
+ <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="left_padding">12</property>
+ <property name="top_padding">6</property>
+ <child>
+ <object class="GtkGrid" id="grid2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ <property name="row_spacing">6</property>
+ <property name="column_spacing">12</property>
+ <child>
+ <object class="GtkRadioButton" id="auto_end">
+ <property name="label" translatable="yes">A_utomatically</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="xalign">0</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">manual_end</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="GtkRadioButton" id="manual_end">
+ <property name="label" translatable="yes">Ma_nually at:</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="xalign">0</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">auto_end</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>
+ <placeholder/>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="end_date:yy:mm:dd">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">●</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="label" translatable="yes">End</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="frame3">
+ <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="left_padding">12</property>
+ <property name="top_padding">6</property>
+ <child>
+ <object class="GtkGrid" id="grid3">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ <property name="row_spacing">6</property>
+ <property name="column_spacing">12</property>
+ <child>
+ <object class="GtkRadioButton" id="days">
+ <property name="label" translatable="yes">Number of _days</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="xalign">0</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">intervals</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="GtkRadioButton" id="intervals">
+ <property name="label" translatable="yes">_Intervals</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="valign">start</property>
+ <property name="xalign">0</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">days</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="GtkSpinButton" id="days_value">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">●</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="svxcorelo-SvxCheckListBox" id="interval_list">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ <child internal-child="selection">
+ <object class="GtkTreeSelection" id="treeview-selection1"/>
+ </child>
+ </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="label3">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Group by</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>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <action-widgets>
+ <action-widget response="0">ok</action-widget>
+ <action-widget response="0">cancel</action-widget>
+ <action-widget response="0">help</action-widget>
+ </action-widgets>
+ </object>
+</interface>
diff --git a/sc/uiconfig/scalc/ui/groupbynumber.ui b/sc/uiconfig/scalc/ui/groupbynumber.ui
new file mode 100644
index 000000000000..c4203c44cac0
--- /dev/null
+++ b/sc/uiconfig/scalc/ui/groupbynumber.ui
@@ -0,0 +1,321 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.16.1 -->
+<interface>
+ <requires lib="gtk+" version="3.0"/>
+ <!-- interface-requires LibreOffice 1.0 -->
+ <object class="GtkDialog" id="PivotTableGroupByNumber">
+ <property name="can_focus">False</property>
+ <property name="border_width">6</property>
+ <property name="title" translatable="yes">Grouping</property>
+ <property name="type_hint">dialog</property>
+ <child internal-child="vbox">
+ <object class="GtkBox" id="dialog-vbox1">
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">12</property>
+ <child internal-child="action_area">
+ <object class="GtkButtonBox" id="dialog-action_area1">
+ <property name="can_focus">False</property>
+ <property name="layout_style">end</property>
+ <child>
+ <object class="GtkButton" id="ok">
+ <property name="label">gtk-ok</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="has_default">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="cancel">
+ <property name="label">gtk-cancel</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="help">
+ <property name="label">gtk-help</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">end</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="box1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkFrame" id="frame1">
+ <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="GtkGrid" id="grid1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ <property name="row_spacing">6</property>
+ <property name="column_spacing">12</property>
+ <child>
+ <object class="GtkRadioButton" id="auto_start">
+ <property name="label" translatable="yes">_Automatically</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="xalign">0</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">manual_start</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="GtkRadioButton" id="manual_start">
+ <property name="label" translatable="yes">_Manually at:</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="xalign">0</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">auto_start</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="scuilo-ScDoubleField" id="edit_start">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="invisible_char">●</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>
+ <placeholder/>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="label1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Start</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="frame2">
+ <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="GtkGrid" id="grid2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ <property name="row_spacing">6</property>
+ <property name="column_spacing">12</property>
+ <child>
+ <object class="GtkRadioButton" id="auto_end">
+ <property name="label" translatable="yes">A_utomatically</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="xalign">0</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">manual_end</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="GtkRadioButton" id="manual_end">
+ <property name="label" translatable="yes">Ma_nually at:</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="xalign">0</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">auto_end</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="scuilo-ScDoubleField" id="edit_end">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="invisible_char">●</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>
+ <placeholder/>
+ </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="label" translatable="yes">End</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="frame3">
+ <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="scuilo-ScDoubleField" id="edit_by">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">●</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="label3">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Group by</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>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <action-widgets>
+ <action-widget response="0">ok</action-widget>
+ <action-widget response="0">cancel</action-widget>
+ <action-widget response="0">help</action-widget>
+ </action-widgets>
+ </object>
+</interface>
diff --git a/sc/uiconfig/scalc/ui/pivottablelayout.ui b/sc/uiconfig/scalc/ui/pivottablelayout.ui
index 75645335f5f1..17b6055601bc 100644
--- a/sc/uiconfig/scalc/ui/pivottablelayout.ui
+++ b/sc/uiconfig/scalc/ui/pivottablelayout.ui
@@ -1,11 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.16.1 -->
<interface>
- <!-- interface-requires LibreOffice 1.0 -->
<requires lib="gtk+" version="3.0"/>
+ <!-- interface-requires LibreOffice 1.0 -->
<object class="GtkDialog" id="PivotTableLayout">
<property name="can_focus">False</property>
<property name="border_width">6</property>
+ <property name="title" translatable="yes">Pivot table</property>
<property name="type_hint">dialog</property>
<child internal-child="vbox">
<object class="GtkBox" id="dialog-vbox1">