weld ChartTypeDialog and SchLayoutTabPage
Change-Id: I101c56b855d0bdc43559ca4561d298fa4ad92572
Reviewed-on: https://gerrit.libreoffice.org/61797
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
diff --git a/chart2/source/controller/dialogs/ChartTypeDialogController.cxx b/chart2/source/controller/dialogs/ChartTypeDialogController.cxx
index 6e330aa..db42744 100644
--- a/chart2/source/controller/dialogs/ChartTypeDialogController.cxx
+++ b/chart2/source/controller/dialogs/ChartTypeDialogController.cxx
@@ -117,10 +117,7 @@ ChartTypeDialogController::ChartTypeDialogController()
ChartTypeDialogController::~ChartTypeDialogController()
{
}
Image ChartTypeDialogController::getImage()
{
return Image();
}
bool ChartTypeDialogController::isSubType( const OUString& rServiceName )
{
const tTemplateServiceChartTypeParameterMap& rTemplateMap = getTemplateMap();
@@ -337,7 +334,7 @@ void ChartTypeDialogController::commitToModel( const ChartTypeParameter& rParame
}
}
}
void ChartTypeDialogController::fillSubTypeList( ValueSet& rSubTypeList, const ChartTypeParameter& /*rParameter*/ )
void ChartTypeDialogController::fillSubTypeList( SvtValueSet& rSubTypeList, const ChartTypeParameter& /*rParameter*/ )
{
rSubTypeList.Clear();
}
@@ -366,7 +363,7 @@ bool ChartTypeDialogController::shouldShow_SortByXValuesResourceGroup() const
return false;
}
void ChartTypeDialogController::showExtraControls( VclBuilderContainer* /*pParent*/ )
void ChartTypeDialogController::showExtraControls(weld::Builder* /*pBuilder*/)
{
}
void ChartTypeDialogController::hideExtraControls() const
@@ -411,12 +408,12 @@ ColumnChartDialogController::~ColumnChartDialogController()
}
OUString ColumnChartDialogController::getName()
{
return SchResId( STR_TYPE_COLUMN );
return SchResId(STR_TYPE_COLUMN);
}
Image ColumnChartDialogController::getImage()
OUString ColumnChartDialogController::getImage()
{
return Image(BitmapEx(BMP_TYPE_COLUMN));
return OUStringLiteral(BMP_TYPE_COLUMN);
}
const tTemplateServiceChartTypeParameterMap& ColumnChartDialogController::getTemplateMap() const
@@ -431,7 +428,7 @@ const tTemplateServiceChartTypeParameterMap& ColumnChartDialogController::getTem
{"com.sun.star.chart2.template.ThreeDColumnDeep" , ChartTypeParameter(4,false,true,GlobalStackMode_STACK_Z)}};
return s_aTemplateMap;
}
void ColumnChartDialogController::fillSubTypeList( ValueSet& rSubTypeList, const ChartTypeParameter& rParameter )
void ColumnChartDialogController::fillSubTypeList( SvtValueSet& rSubTypeList, const ChartTypeParameter& rParameter )
{
rSubTypeList.Clear();
@@ -488,12 +485,12 @@ BarChartDialogController::~BarChartDialogController()
OUString BarChartDialogController::getName()
{
return SchResId( STR_TYPE_BAR );
return SchResId(STR_TYPE_BAR);
}
Image BarChartDialogController::getImage()
OUString BarChartDialogController::getImage()
{
return Image(BitmapEx(BMP_TYPE_BAR));
return OUStringLiteral(BMP_TYPE_BAR);
}
const tTemplateServiceChartTypeParameterMap& BarChartDialogController::getTemplateMap() const
@@ -508,7 +505,7 @@ const tTemplateServiceChartTypeParameterMap& BarChartDialogController::getTempla
{"com.sun.star.chart2.template.ThreeDBarDeep" , ChartTypeParameter(4,false,true,GlobalStackMode_STACK_Z)}};
return s_aTemplateMap;
}
void BarChartDialogController::fillSubTypeList( ValueSet& rSubTypeList, const ChartTypeParameter& rParameter )
void BarChartDialogController::fillSubTypeList( SvtValueSet& rSubTypeList, const ChartTypeParameter& rParameter )
{
rSubTypeList.Clear();
@@ -557,17 +554,21 @@ void BarChartDialogController::fillSubTypeList( ValueSet& rSubTypeList, const Ch
PieChartDialogController::PieChartDialogController()
{
}
PieChartDialogController::~PieChartDialogController()
{
}
OUString PieChartDialogController::getName()
{
return SchResId( STR_TYPE_PIE );
return SchResId(STR_TYPE_PIE);
}
Image PieChartDialogController::getImage()
OUString PieChartDialogController::getImage()
{
return Image(BitmapEx(BMP_TYPE_PIE));
return OUStringLiteral(BMP_TYPE_PIE);
}
const tTemplateServiceChartTypeParameterMap& PieChartDialogController::getTemplateMap() const
{
static tTemplateServiceChartTypeParameterMap s_aTemplateMap{
@@ -581,7 +582,7 @@ const tTemplateServiceChartTypeParameterMap& PieChartDialogController::getTempla
{"com.sun.star.chart2.template.ThreeDDonutAllExploded" , ChartTypeParameter(4,false,true)}};
return s_aTemplateMap;
}
void PieChartDialogController::fillSubTypeList( ValueSet& rSubTypeList, const ChartTypeParameter& rParameter )
void PieChartDialogController::fillSubTypeList( SvtValueSet& rSubTypeList, const ChartTypeParameter& rParameter )
{
rSubTypeList.Clear();
@@ -609,25 +610,29 @@ bool PieChartDialogController::shouldShow_3DLookControl() const
{
return true;
}
void PieChartDialogController::adjustParameterToSubType( ChartTypeParameter& rParameter )
{
if(rParameter.eStackMode==GlobalStackMode_STACK_Z)
rParameter.eStackMode = GlobalStackMode_NONE;
}
LineChartDialogController::LineChartDialogController()
{
}
LineChartDialogController::~LineChartDialogController()
{
}
OUString LineChartDialogController::getName()
{
return SchResId( STR_TYPE_LINE );
return SchResId(STR_TYPE_LINE);
}
Image LineChartDialogController::getImage()
OUString LineChartDialogController::getImage()
{
return Image(BitmapEx(BMP_TYPE_LINE));
return OUStringLiteral(BMP_TYPE_LINE);
}
const tTemplateServiceChartTypeParameterMap& LineChartDialogController::getTemplateMap() const
@@ -647,7 +652,7 @@ const tTemplateServiceChartTypeParameterMap& LineChartDialogController::getTempl
{"com.sun.star.chart2.template.ThreeDLineDeep" , ChartTypeParameter(4,false,true,GlobalStackMode_STACK_Z,false,true)}};
return s_aTemplateMap;
}
void LineChartDialogController::fillSubTypeList( ValueSet& rSubTypeList, const ChartTypeParameter& rParameter )
void LineChartDialogController::fillSubTypeList( SvtValueSet& rSubTypeList, const ChartTypeParameter& rParameter )
{
rSubTypeList.Clear();
@@ -773,12 +778,12 @@ XYChartDialogController::~XYChartDialogController()
OUString XYChartDialogController::getName()
{
return SchResId( STR_TYPE_XY );
return SchResId(STR_TYPE_XY);
}
Image XYChartDialogController::getImage()
OUString XYChartDialogController::getImage()
{
return Image(BitmapEx(BMP_TYPE_XY));
return OUStringLiteral(BMP_TYPE_XY);
}
const tTemplateServiceChartTypeParameterMap& XYChartDialogController::getTemplateMap() const
@@ -791,7 +796,7 @@ const tTemplateServiceChartTypeParameterMap& XYChartDialogController::getTemplat
return s_aTemplateMap;
}
void XYChartDialogController::fillSubTypeList( ValueSet& rSubTypeList, const ChartTypeParameter& rParameter )
void XYChartDialogController::fillSubTypeList( SvtValueSet& rSubTypeList, const ChartTypeParameter& rParameter )
{
rSubTypeList.Clear();
@@ -879,9 +884,9 @@ OUString AreaChartDialogController::getName()
return SchResId(STR_TYPE_AREA);
}
Image AreaChartDialogController::getImage()
OUString AreaChartDialogController::getImage()
{
return Image(BitmapEx(BMP_TYPE_AREA));
return OUStringLiteral(BMP_TYPE_AREA);
}
bool AreaChartDialogController::shouldShow_3DLookControl() const
@@ -901,7 +906,7 @@ const tTemplateServiceChartTypeParameterMap& AreaChartDialogController::getTempl
return s_aTemplateMap;
}
void AreaChartDialogController::fillSubTypeList( ValueSet& rSubTypeList, const ChartTypeParameter& rParameter )
void AreaChartDialogController::fillSubTypeList( SvtValueSet& rSubTypeList, const ChartTypeParameter& rParameter )
{
rSubTypeList.Clear();
@@ -966,9 +971,9 @@ OUString NetChartDialogController::getName()
return SchResId(STR_TYPE_NET);
}
Image NetChartDialogController::getImage()
OUString NetChartDialogController::getImage()
{
return Image(BitmapEx(BMP_TYPE_NET));
return OUStringLiteral(BMP_TYPE_NET);
}
bool NetChartDialogController::shouldShow_StackingControl() const
@@ -997,7 +1002,7 @@ const tTemplateServiceChartTypeParameterMap& NetChartDialogController::getTempla
{"com.sun.star.chart2.template.PercentStackedFilledNet" ,ChartTypeParameter(4,false,false,GlobalStackMode_STACK_Y_PERCENT,false,false)}};
return s_aTemplateMap;
}
void NetChartDialogController::fillSubTypeList( ValueSet& rSubTypeList, const ChartTypeParameter& rParameter )
void NetChartDialogController::fillSubTypeList( SvtValueSet& rSubTypeList, const ChartTypeParameter& rParameter )
{
rSubTypeList.Clear();
@@ -1061,9 +1066,9 @@ OUString StockChartDialogController::getName()
return SchResId(STR_TYPE_STOCK);
}
Image StockChartDialogController::getImage()
OUString StockChartDialogController::getImage()
{
return Image(BitmapEx(BMP_TYPE_STOCK));
return OUStringLiteral(BMP_TYPE_STOCK);
}
const tTemplateServiceChartTypeParameterMap& StockChartDialogController::getTemplateMap() const
@@ -1076,7 +1081,7 @@ const tTemplateServiceChartTypeParameterMap& StockChartDialogController::getTemp
return s_aTemplateMap;
}
void StockChartDialogController::fillSubTypeList( ValueSet& rSubTypeList, const ChartTypeParameter& /*rParameter*/ )
void StockChartDialogController::fillSubTypeList( SvtValueSet& rSubTypeList, const ChartTypeParameter& /*rParameter*/ )
{
rSubTypeList.Clear();
rSubTypeList.InsertItem(1, Image(BitmapEx(BMP_STOCK_1)));
@@ -1097,8 +1102,6 @@ void StockChartDialogController::adjustParameterToSubType( ChartTypeParameter& r
}
CombiColumnLineChartDialogController::CombiColumnLineChartDialogController()
: m_pFT_NumberOfLines(nullptr)
, m_pMF_NumberOfLines(nullptr)
{
bSupports3D = false;
}
@@ -1108,9 +1111,9 @@ OUString CombiColumnLineChartDialogController::getName()
return SchResId(STR_TYPE_COMBI_COLUMN_LINE);
}
Image CombiColumnLineChartDialogController::getImage( )
OUString CombiColumnLineChartDialogController::getImage()
{
return Image(BitmapEx(BMP_TYPE_COLUMN_LINE));
return OUStringLiteral(BMP_TYPE_COLUMN_LINE);
}
const tTemplateServiceChartTypeParameterMap& CombiColumnLineChartDialogController::getTemplateMap() const
@@ -1121,7 +1124,7 @@ const tTemplateServiceChartTypeParameterMap& CombiColumnLineChartDialogControlle
return s_aTemplateMap;
}
void CombiColumnLineChartDialogController::fillSubTypeList( ValueSet& rSubTypeList, const ChartTypeParameter& /*rParameter*/ )
void CombiColumnLineChartDialogController::fillSubTypeList( SvtValueSet& rSubTypeList, const ChartTypeParameter& /*rParameter*/ )
{
rSubTypeList.Clear();
rSubTypeList.InsertItem(1, Image(BitmapEx(BMP_COLUMN_LINE)));
@@ -1131,42 +1134,39 @@ void CombiColumnLineChartDialogController::fillSubTypeList( ValueSet& rSubTypeLi
rSubTypeList.SetItemText(2, SchResId(STR_LINE_STACKEDCOLUMN));
}
void CombiColumnLineChartDialogController::showExtraControls( VclBuilderContainer* pParent )
void CombiColumnLineChartDialogController::showExtraControls(weld::Builder* pBuilder)
{
if (!m_pFT_NumberOfLines)
if (!m_xFT_NumberOfLines)
{
pParent->get(m_pFT_NumberOfLines, "nolinesft");
m_xFT_NumberOfLines = pBuilder->weld_label("nolinesft");
}
if (!m_pMF_NumberOfLines)
if (!m_xMF_NumberOfLines)
{
pParent->get(m_pMF_NumberOfLines, "nolines");
m_xMF_NumberOfLines = pBuilder->weld_spin_button("nolines");
m_pMF_NumberOfLines->SetSpinSize(1);
m_pMF_NumberOfLines->SetFirst( 1 );
m_pMF_NumberOfLines->SetLast( 100 );
m_pMF_NumberOfLines->SetMin( 1 );
m_pMF_NumberOfLines->SetMax( 100 );
m_xMF_NumberOfLines->set_increments(1, 10);
m_xMF_NumberOfLines->set_range(1, 100);
m_pMF_NumberOfLines->SetModifyHdl( LINK( this, CombiColumnLineChartDialogController, ChangeLineCountHdl ) );
m_xMF_NumberOfLines->connect_value_changed( LINK( this, CombiColumnLineChartDialogController, ChangeLineCountHdl ) );
}
m_pFT_NumberOfLines->Show();
m_pMF_NumberOfLines->Show();
m_xFT_NumberOfLines->show();
m_xMF_NumberOfLines->show();
}
void CombiColumnLineChartDialogController::hideExtraControls() const
{
if(m_pFT_NumberOfLines)
m_pFT_NumberOfLines->Hide();
if(m_pMF_NumberOfLines)
m_pMF_NumberOfLines->Hide();
if (m_xFT_NumberOfLines)
m_xFT_NumberOfLines->hide();
if (m_xMF_NumberOfLines)
m_xMF_NumberOfLines->hide();
}
void CombiColumnLineChartDialogController::fillExtraControls( const ChartTypeParameter& /*rParameter*/
, const uno::Reference< XChartDocument >& xChartModel
, const uno::Reference< beans::XPropertySet >& xTemplateProps ) const
{
if(!m_pMF_NumberOfLines)
if (!m_xMF_NumberOfLines)
return;
uno::Reference< frame::XModel > xModel( xChartModel, uno::UNO_QUERY );
@@ -1190,24 +1190,23 @@ void CombiColumnLineChartDialogController::fillExtraControls( const ChartTypePar
}
if( nNumLines < 0 )
nNumLines = 0;
m_pMF_NumberOfLines->SetValue( nNumLines );
m_xMF_NumberOfLines->set_value(nNumLines);
sal_Int32 nMaxLines = ChartModelHelper::getDataSeries( xModel ).size() - 1;
if( nMaxLines < 0 )
nMaxLines = 0;
m_pMF_NumberOfLines->SetLast( nMaxLines );
m_pMF_NumberOfLines->SetMax( nMaxLines );
m_xMF_NumberOfLines->set_max(nMaxLines);
}
void CombiColumnLineChartDialogController::setTemplateProperties( const uno::Reference< beans::XPropertySet >& xTemplateProps ) const
{
if( xTemplateProps.is() )
{
sal_Int32 nNumLines = static_cast< sal_Int32 >( m_pMF_NumberOfLines->GetValue());
sal_Int32 nNumLines = m_xMF_NumberOfLines->get_value();
xTemplateProps->setPropertyValue( "NumberOfLines" , uno::Any(nNumLines) );
}
}
IMPL_LINK_NOARG(CombiColumnLineChartDialogController, ChangeLineCountHdl, Edit&, void)
IMPL_LINK_NOARG(CombiColumnLineChartDialogController, ChangeLineCountHdl, weld::SpinButton&, void)
{
if( m_pChangeListener )
m_pChangeListener->stateChanged(this);
@@ -1242,9 +1241,9 @@ OUString BubbleChartDialogController::getName()
return SchResId(STR_TYPE_BUBBLE);
}
Image BubbleChartDialogController::getImage()
OUString BubbleChartDialogController::getImage()
{
return Image(BitmapEx(BMP_TYPE_BUBBLE));
return OUStringLiteral(BMP_TYPE_BUBBLE);
}
const tTemplateServiceChartTypeParameterMap& BubbleChartDialogController::getTemplateMap() const
@@ -1253,7 +1252,7 @@ const tTemplateServiceChartTypeParameterMap& BubbleChartDialogController::getTem
{"com.sun.star.chart2.template.Bubble" , ChartTypeParameter(1,true)}};
return s_aTemplateMap;
}
void BubbleChartDialogController::fillSubTypeList( ValueSet& rSubTypeList, const ChartTypeParameter& /*rParameter*/ )
void BubbleChartDialogController::fillSubTypeList( SvtValueSet& rSubTypeList, const ChartTypeParameter& /*rParameter*/ )
{
rSubTypeList.Clear();
rSubTypeList.InsertItem(1, Image(BitmapEx(BMP_BUBBLE_1)));
diff --git a/chart2/source/controller/dialogs/ChartTypeDialogController.hxx b/chart2/source/controller/dialogs/ChartTypeDialogController.hxx
index af880d1..9946845 100644
--- a/chart2/source/controller/dialogs/ChartTypeDialogController.hxx
+++ b/chart2/source/controller/dialogs/ChartTypeDialogController.hxx
@@ -30,13 +30,10 @@
#include <com/sun/star/chart2/CurveStyle.hpp>
#include <com/sun/star/chart2/XChartDocument.hpp>
#include <com/sun/star/chart2/XChartTypeTemplate.hpp>
#include <vcl/builder.hxx>
#include <vcl/button.hxx>
#include <vcl/field.hxx>
#include <vcl/fixed.hxx>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <vcl/weld.hxx>
class ValueSet;
class SvtValueSet;
namespace chart
{
@@ -90,10 +87,10 @@ public:
ChartTypeDialogController();
virtual ~ChartTypeDialogController() override;
virtual OUString getName()=0;
virtual Image getImage();
virtual OUString getName()=0;
virtual OUString getImage()=0;
virtual const tTemplateServiceChartTypeParameterMap& getTemplateMap() const = 0;
virtual void fillSubTypeList( ValueSet& rSubTypeList, const ChartTypeParameter& rParameter );
virtual void fillSubTypeList( SvtValueSet& rSubTypeList, const ChartTypeParameter& rParameter );
virtual bool shouldShow_3DLookControl() const;
virtual bool shouldShow_StackingControl() const;
@@ -102,7 +99,7 @@ public:
virtual bool shouldShow_GeometryControl() const;
virtual bool shouldShow_SortByXValuesResourceGroup() const;
virtual void showExtraControls(VclBuilderContainer* pParent);
virtual void showExtraControls(weld::Builder* pBuilder);
virtual void hideExtraControls() const;
virtual void fillExtraControls( const ChartTypeParameter& rParameter
, const css::uno::Reference< css::chart2::XChartDocument >& xChartModel
@@ -146,10 +143,10 @@ public:
ColumnChartDialogController();
virtual ~ColumnChartDialogController() override;
virtual OUString getName() override;
virtual Image getImage() override;
virtual OUString getName() override;
virtual OUString getImage() override;
virtual const tTemplateServiceChartTypeParameterMap& getTemplateMap() const override;
virtual void fillSubTypeList( ValueSet& rSubTypeList, const ChartTypeParameter& rParameter ) override;
virtual void fillSubTypeList( SvtValueSet& rSubTypeList, const ChartTypeParameter& rParameter ) override;
};
class BarChartDialogController : public ColumnOrBarChartDialogController_Base
@@ -158,10 +155,10 @@ public:
BarChartDialogController();
virtual ~BarChartDialogController() override;
virtual OUString getName() override;
virtual Image getImage() override;
virtual OUString getName() override;
virtual OUString getImage() override;
virtual const tTemplateServiceChartTypeParameterMap& getTemplateMap() const override;
virtual void fillSubTypeList( ValueSet& rSubTypeList, const ChartTypeParameter& rParameter ) override;
virtual void fillSubTypeList( SvtValueSet& rSubTypeList, const ChartTypeParameter& rParameter ) override;
};
class PieChartDialogController : public ChartTypeDialogController
@@ -170,10 +167,10 @@ public:
PieChartDialogController();
virtual ~PieChartDialogController() override;
virtual OUString getName() override;
virtual Image getImage() override;
virtual OUString getName() override;
virtual OUString getImage() override;
virtual const tTemplateServiceChartTypeParameterMap& getTemplateMap() const override;
virtual void fillSubTypeList( ValueSet& rSubTypeList, const ChartTypeParameter& rParameter ) override;
virtual void fillSubTypeList( SvtValueSet& rSubTypeList, const ChartTypeParameter& rParameter ) override;
virtual void adjustParameterToSubType( ChartTypeParameter& rParameter ) override;
virtual bool shouldShow_3DLookControl() const override;
@@ -185,10 +182,10 @@ public:
LineChartDialogController();
virtual ~LineChartDialogController() override;
virtual OUString getName() override;
virtual Image getImage() override;
virtual OUString getName() override;
virtual OUString getImage() override;
virtual const tTemplateServiceChartTypeParameterMap& getTemplateMap() const override;
virtual void fillSubTypeList( ValueSet& rSubTypeList, const ChartTypeParameter& rParameter ) override;
virtual void fillSubTypeList( SvtValueSet& rSubTypeList, const ChartTypeParameter& rParameter ) override;
virtual void adjustParameterToSubType( ChartTypeParameter& rParameter ) override;
virtual void adjustParameterToMainType( ChartTypeParameter& rParameter ) override;
@@ -203,10 +200,10 @@ public:
XYChartDialogController();
virtual ~XYChartDialogController() override;
virtual OUString getName() override;
virtual Image getImage() override;
virtual OUString getName() override;
virtual OUString getImage() override;
virtual const tTemplateServiceChartTypeParameterMap& getTemplateMap() const override;
virtual void fillSubTypeList( ValueSet& rSubTypeList, const ChartTypeParameter& rParameter ) override;
virtual void fillSubTypeList( SvtValueSet& rSubTypeList, const ChartTypeParameter& rParameter ) override;
virtual void adjustParameterToSubType( ChartTypeParameter& rParameter ) override;
virtual bool shouldShow_SplineControl() const override;
@@ -219,10 +216,10 @@ public:
AreaChartDialogController();
virtual ~AreaChartDialogController() override;
virtual OUString getName() override;
virtual Image getImage() override;
virtual OUString getName() override;
virtual OUString getImage() override;
virtual const tTemplateServiceChartTypeParameterMap& getTemplateMap() const override;
virtual void fillSubTypeList( ValueSet& rSubTypeList, const ChartTypeParameter& rParameter ) override;
virtual void fillSubTypeList( SvtValueSet& rSubTypeList, const ChartTypeParameter& rParameter ) override;
virtual void adjustParameterToSubType( ChartTypeParameter& rParameter ) override;
virtual void adjustParameterToMainType( ChartTypeParameter& rParameter ) override;
@@ -235,10 +232,10 @@ public:
NetChartDialogController();
virtual ~NetChartDialogController() override;
virtual OUString getName() override;
virtual Image getImage() override;
virtual OUString getName() override;
virtual OUString getImage() override;
virtual const tTemplateServiceChartTypeParameterMap& getTemplateMap() const override;
virtual void fillSubTypeList( ValueSet& rSubTypeList, const ChartTypeParameter& rParameter ) override;
virtual void fillSubTypeList( SvtValueSet& rSubTypeList, const ChartTypeParameter& rParameter ) override;
virtual void adjustParameterToSubType( ChartTypeParameter& rParameter ) override;
virtual bool shouldShow_StackingControl() const override;
@@ -250,10 +247,10 @@ public:
StockChartDialogController();
virtual ~StockChartDialogController() override;
virtual OUString getName() override;
virtual Image getImage() override;
virtual OUString getName() override;
virtual OUString getImage() override;
virtual const tTemplateServiceChartTypeParameterMap& getTemplateMap() const override;
virtual void fillSubTypeList( ValueSet& rSubTypeList, const ChartTypeParameter& rParameter ) override;
virtual void fillSubTypeList( SvtValueSet& rSubTypeList, const ChartTypeParameter& rParameter ) override;
virtual void adjustParameterToSubType( ChartTypeParameter& rParameter ) override;
};
@@ -262,13 +259,13 @@ class CombiColumnLineChartDialogController : public ChartTypeDialogController
public:
CombiColumnLineChartDialogController();
virtual OUString getName() override;
virtual Image getImage() override;
virtual OUString getName() override;
virtual OUString getImage() override;
virtual const tTemplateServiceChartTypeParameterMap& getTemplateMap() const override;
virtual void fillSubTypeList( ValueSet& rSubTypeList, const ChartTypeParameter& rParameter ) override;
virtual void fillSubTypeList( SvtValueSet& rSubTypeList, const ChartTypeParameter& rParameter ) override;
virtual void adjustParameterToSubType( ChartTypeParameter& rParameter ) override;
virtual void showExtraControls(VclBuilderContainer* pParent) override;
virtual void showExtraControls(weld::Builder* pBuilder) override;
virtual void hideExtraControls() const override;
virtual void fillExtraControls( const ChartTypeParameter& rParameter
, const css::uno::Reference< css::chart2::XChartDocument >& xChartModel
@@ -277,11 +274,11 @@ public:
virtual void setTemplateProperties( const css::uno::Reference< css::beans::XPropertySet >& xTemplateProps ) const override;
private:
DECL_LINK( ChangeLineCountHdl, Edit&, void );
DECL_LINK(ChangeLineCountHdl, weld::SpinButton&, void);
private:
VclPtr<FixedText> m_pFT_NumberOfLines;
VclPtr<NumericField> m_pMF_NumberOfLines;
std::unique_ptr<weld::Label> m_xFT_NumberOfLines;
std::unique_ptr<weld::SpinButton> m_xMF_NumberOfLines;
};
class BubbleChartDialogController : public ChartTypeDialogController
@@ -290,10 +287,10 @@ public:
BubbleChartDialogController();
virtual ~BubbleChartDialogController() override;
virtual OUString getName() override;
virtual Image getImage() override;
virtual OUString getName() override;
virtual OUString getImage() override;
virtual const tTemplateServiceChartTypeParameterMap& getTemplateMap() const override;
virtual void fillSubTypeList( ValueSet& rSubTypeList, const ChartTypeParameter& rParameter ) override;
virtual void fillSubTypeList( SvtValueSet& rSubTypeList, const ChartTypeParameter& rParameter ) override;
virtual void adjustParameterToSubType( ChartTypeParameter& rParameter ) override;
};
diff --git a/chart2/source/controller/dialogs/dlg_ChartType.cxx b/chart2/source/controller/dialogs/dlg_ChartType.cxx
index 55dfe5b..44c6b06 100644
--- a/chart2/source/controller/dialogs/dlg_ChartType.cxx
+++ b/chart2/source/controller/dialogs/dlg_ChartType.cxx
@@ -29,31 +29,25 @@ namespace chart
using namespace ::com::sun::star;
using namespace ::com::sun::star::chart2;
ChartTypeDialog::ChartTypeDialog( vcl::Window* pParent
, const uno::Reference< frame::XModel >& xChartModel )
: ModalDialog( pParent, "ChartTypeDialog",
"modules/schart/ui/charttypedialog.ui")
, m_pChartTypeTabPage(nullptr)
ChartTypeDialog::ChartTypeDialog(weld::Window* pParent,
const uno::Reference< frame::XModel >& xChartModel)
: GenericDialogController(pParent, "modules/schart/ui/charttypedialog.ui", "ChartTypeDialog")
, m_xChartModel(xChartModel)
, m_xContentArea(m_xDialog->weld_content_area())
{
m_pChartTypeTabPage = VclPtr<ChartTypeTabPage>::Create(
get_content_area(),
TabPageParent aParent(m_xContentArea.get(), this);
m_xChartTypeTabPage = VclPtr<ChartTypeTabPage>::Create(
aParent,
uno::Reference<XChartDocument>::query(m_xChartModel),
false/*don't show title description*/);
m_pChartTypeTabPage->initializePage();
m_pChartTypeTabPage->Show();
m_xChartTypeTabPage->initializePage();
m_xChartTypeTabPage->Show();
}
ChartTypeDialog::~ChartTypeDialog()
{
disposeOnce();
}
void ChartTypeDialog::dispose()
{
m_pChartTypeTabPage.disposeAndClear();
ModalDialog::dispose();
m_xChartTypeTabPage.disposeAndClear();
}
} //namespace chart
diff --git a/chart2/source/controller/dialogs/dlg_ChartType_UNO.cxx b/chart2/source/controller/dialogs/dlg_ChartType_UNO.cxx
index c9f3c57..39c4e8f 100644
--- a/chart2/source/controller/dialogs/dlg_ChartType_UNO.cxx
+++ b/chart2/source/controller/dialogs/dlg_ChartType_UNO.cxx
@@ -22,6 +22,7 @@
#include <servicenames.hxx>
#include <osl/mutex.hxx>
#include <toolkit/helper/vclunohelper.hxx>
#include <vcl/svapp.hxx>
namespace chart
{
@@ -70,7 +71,7 @@ void ChartTypeUnoDlg::implInitialize(const uno::Any& _rValue)
}
svt::OGenericUnoDialog::Dialog ChartTypeUnoDlg::createDialog(const css::uno::Reference<css::awt::XWindow>& rParent)
{
return svt::OGenericUnoDialog::Dialog(VclPtr<ChartTypeDialog>::Create(VCLUnoHelper::GetWindow(rParent), m_xChartModel));
return svt::OGenericUnoDialog::Dialog(o3tl::make_unique<ChartTypeDialog>(Application::GetFrameWeld(rParent), m_xChartModel));
}
uno::Reference<beans::XPropertySetInfo> SAL_CALL ChartTypeUnoDlg::getPropertySetInfo()
{
diff --git a/chart2/source/controller/dialogs/res_BarGeometry.cxx b/chart2/source/controller/dialogs/res_BarGeometry.cxx
index 3e3fd52..25ab3ac 100644
--- a/chart2/source/controller/dialogs/res_BarGeometry.cxx
+++ b/chart2/source/controller/dialogs/res_BarGeometry.cxx
@@ -22,42 +22,39 @@
namespace chart
{
BarGeometryResources::BarGeometryResources(VclBuilderContainer* pWindow)
BarGeometryResources::BarGeometryResources(weld::Builder* pBuilder)
: m_xFT_Geometry(pBuilder->weld_label("shapeft"))
, m_xLB_Geometry(pBuilder->weld_tree_view("shape"))
{
pWindow->get(m_pFT_Geometry, "shapeft");
pWindow->get(m_pLB_Geometry, "shape");
m_xLB_Geometry->set_size_request(-1, m_xLB_Geometry->get_height_rows(4));
}
void BarGeometryResources::SetSelectHdl( const Link<ListBox&,void>& rLink )
void BarGeometryResources::connect_changed(const Link<weld::TreeView&,void>& rLink)
{
m_pLB_Geometry->SetSelectHdl( rLink );
m_xLB_Geometry->connect_changed(rLink);
}
void BarGeometryResources::Show( bool bShow )
void BarGeometryResources::show( bool bShow )
{
m_pFT_Geometry->Show( bShow );
m_pLB_Geometry->Show( bShow );
}
void BarGeometryResources::Enable( bool bEnable )
{
m_pFT_Geometry->Enable( bEnable );
m_pLB_Geometry->Enable( bEnable );
m_xFT_Geometry->show( bShow );
m_xLB_Geometry->show( bShow );
}
sal_Int32 BarGeometryResources::GetSelectedEntryCount() const
void BarGeometryResources::set_sensitive( bool bEnable )
{
return m_pLB_Geometry->GetSelectedEntryCount();
m_xFT_Geometry->set_sensitive( bEnable );
m_xLB_Geometry->set_sensitive( bEnable );
}
sal_Int32 BarGeometryResources::GetSelectedEntryPos() const
sal_Int32 BarGeometryResources::get_selected_index() const
{
return m_pLB_Geometry->GetSelectedEntryPos();
return m_xLB_Geometry->get_selected_index();
}
void BarGeometryResources::SelectEntryPos(sal_Int32 nPos)
void BarGeometryResources::select(sal_Int32 nPos)
{
if( nPos < m_pLB_Geometry->GetEntryCount() )
m_pLB_Geometry->SelectEntryPos( nPos );
if (nPos < m_xLB_Geometry->n_children())
m_xLB_Geometry->select(nPos);
}
} //namespace chart
diff --git a/chart2/source/controller/dialogs/res_BarGeometry.hxx b/chart2/source/controller/dialogs/res_BarGeometry.hxx
index 1edf1a5..e63bf91 100644
--- a/chart2/source/controller/dialogs/res_BarGeometry.hxx
+++ b/chart2/source/controller/dialogs/res_BarGeometry.hxx
@@ -19,9 +19,7 @@
#ifndef INCLUDED_CHART2_SOURCE_CONTROLLER_DIALOGS_RES_BARGEOMETRY_HXX
#define INCLUDED_CHART2_SOURCE_CONTROLLER_DIALOGS_RES_BARGEOMETRY_HXX
#include <vcl/builder.hxx>
#include <vcl/fixed.hxx>
#include <vcl/lstbox.hxx>
#include <vcl/weld.hxx>
namespace chart
{
@@ -29,20 +27,19 @@ namespace chart
class BarGeometryResources
{
public:
explicit BarGeometryResources(VclBuilderContainer* pParent);
explicit BarGeometryResources(weld::Builder* pParent);
void Show( bool bShow );
void Enable( bool bEnable );
void show( bool bShow );
void set_sensitive( bool bEnable );
sal_Int32 GetSelectedEntryCount() const;
sal_Int32 GetSelectedEntryPos() const;
void SelectEntryPos(sal_Int32 nPos);
sal_Int32 get_selected_index() const;
void select(sal_Int32 nPos);
void SetSelectHdl( const Link<ListBox&,void>& rLink );
void connect_changed(const Link<weld::TreeView&,void>& rLink);
private:
VclPtr<FixedText> m_pFT_Geometry;
VclPtr<ListBox> m_pLB_Geometry;
std::unique_ptr<weld::Label> m_xFT_Geometry;
std::unique_ptr<weld::TreeView> m_xLB_Geometry;
};
} //namespace chart
diff --git a/chart2/source/controller/dialogs/tp_ChartType.cxx b/chart2/source/controller/dialogs/tp_ChartType.cxx
index e580526..268c46d 100644
--- a/chart2/source/controller/dialogs/tp_ChartType.cxx
+++ b/chart2/source/controller/dialogs/tp_ChartType.cxx
@@ -45,7 +45,7 @@ enum {
class Dim3DLookResourceGroup : public ChangingResource
{
public:
explicit Dim3DLookResourceGroup(VclBuilderContainer* pWindow);
explicit Dim3DLookResourceGroup(weld::Builder* pBuilder);
void showControls( bool bShow );
@@ -53,47 +53,46 @@ public:
void fillParameter( ChartTypeParameter& rParameter );
private:
DECL_LINK( Dim3DLookCheckHdl, CheckBox&, void );
DECL_LINK( SelectSchemeHdl, ListBox&, void );
DECL_LINK( Dim3DLookCheckHdl, weld::ToggleButton&, void );
DECL_LINK( SelectSchemeHdl, weld::ComboBox&, void );
private:
VclPtr<CheckBox> m_pCB_3DLook;
VclPtr<ListBox> m_pLB_Scheme;
std::unique_ptr<weld::CheckButton> m_xCB_3DLook;
std::unique_ptr<weld::ComboBox> m_xLB_Scheme;
};
Dim3DLookResourceGroup::Dim3DLookResourceGroup(VclBuilderContainer* pWindow)
Dim3DLookResourceGroup::Dim3DLookResourceGroup(weld::Builder* pBuilder)
: ChangingResource()
, m_xCB_3DLook(pBuilder->weld_check_button("3dlook"))
, m_xLB_Scheme(pBuilder->weld_combo_box("3dscheme"))
{
pWindow->get(m_pCB_3DLook, "3dlook");
pWindow->get(m_pLB_Scheme, "3dscheme");
m_pCB_3DLook->SetToggleHdl( LINK( this, Dim3DLookResourceGroup, Dim3DLookCheckHdl ) );
m_pLB_Scheme->SetSelectHdl( LINK( this, Dim3DLookResourceGroup, SelectSchemeHdl ) );
m_xCB_3DLook->connect_toggled( LINK( this, Dim3DLookResourceGroup, Dim3DLookCheckHdl ) );
m_xLB_Scheme->connect_changed( LINK( this, Dim3DLookResourceGroup, SelectSchemeHdl ) );
}
void Dim3DLookResourceGroup::showControls( bool bShow )
{
m_pCB_3DLook->Show(bShow);
m_pLB_Scheme->Show(bShow);
m_xCB_3DLook->show(bShow);
m_xLB_Scheme->show(bShow);
}
void Dim3DLookResourceGroup::fillControls( const ChartTypeParameter& rParameter )
{
m_pCB_3DLook->Check(rParameter.b3DLook);
m_pLB_Scheme->Enable(rParameter.b3DLook);
m_xCB_3DLook->set_active(rParameter.b3DLook);
m_xLB_Scheme->set_sensitive(rParameter.b3DLook);
if( rParameter.eThreeDLookScheme == ThreeDLookScheme_Simple )
m_pLB_Scheme->SelectEntryPos(POS_3DSCHEME_SIMPLE);
m_xLB_Scheme->set_active(POS_3DSCHEME_SIMPLE);
else if( rParameter.eThreeDLookScheme == ThreeDLookScheme_Realistic )
m_pLB_Scheme->SelectEntryPos(POS_3DSCHEME_REALISTIC);
m_xLB_Scheme->set_active(POS_3DSCHEME_REALISTIC);
else
m_pLB_Scheme->SetNoSelection();
m_xLB_Scheme->set_active(-1);
}
void Dim3DLookResourceGroup::fillParameter( ChartTypeParameter& rParameter )
{
rParameter.b3DLook = m_pCB_3DLook->IsChecked();
const sal_Int32 nPos = m_pLB_Scheme->GetSelectedEntryPos();
rParameter.b3DLook = m_xCB_3DLook->get_active();
const int nPos = m_xLB_Scheme->get_active();
if( nPos == POS_3DSCHEME_SIMPLE )
rParameter.eThreeDLookScheme = ThreeDLookScheme_Simple;
else if( nPos == POS_3DSCHEME_REALISTIC )
@@ -102,13 +101,13 @@ void Dim3DLookResourceGroup::fillParameter( ChartTypeParameter& rParameter )
rParameter.eThreeDLookScheme = ThreeDLookScheme_Unknown;
}
IMPL_LINK_NOARG(Dim3DLookResourceGroup, Dim3DLookCheckHdl, CheckBox&, void)
IMPL_LINK_NOARG(Dim3DLookResourceGroup, Dim3DLookCheckHdl, weld::ToggleButton&, void)
{
if(m_pChangeListener)
m_pChangeListener->stateChanged(this);
}
IMPL_LINK_NOARG(Dim3DLookResourceGroup, SelectSchemeHdl, ListBox&, void)
IMPL_LINK_NOARG(Dim3DLookResourceGroup, SelectSchemeHdl, weld::ComboBox&, void)
{
if(m_pChangeListener)
m_pChangeListener->stateChanged(this);
@@ -117,7 +116,7 @@ IMPL_LINK_NOARG(Dim3DLookResourceGroup, SelectSchemeHdl, ListBox&, void)
class SortByXValuesResourceGroup : public ChangingResource
{
public:
explicit SortByXValuesResourceGroup(VclBuilderContainer* pWindow);
explicit SortByXValuesResourceGroup(weld::Builder* pBuilder);
void showControls( bool bShow );
@@ -125,35 +124,35 @@ public:
void fillParameter( ChartTypeParameter& rParameter );
private:
DECL_LINK( SortByXValuesCheckHdl, CheckBox&, void );
DECL_LINK(SortByXValuesCheckHdl, weld::ToggleButton&, void);
private:
VclPtr<CheckBox> m_pCB_XValueSorting;
std::unique_ptr<weld::CheckButton> m_xCB_XValueSorting;
};
SortByXValuesResourceGroup::SortByXValuesResourceGroup(VclBuilderContainer* pWindow )
SortByXValuesResourceGroup::SortByXValuesResourceGroup(weld::Builder* pBuilder)
: ChangingResource()
, m_xCB_XValueSorting(pBuilder->weld_check_button("sort"))
{
pWindow->get(m_pCB_XValueSorting, "sort");
m_pCB_XValueSorting->SetToggleHdl( LINK( this, SortByXValuesResourceGroup, SortByXValuesCheckHdl ) );
m_xCB_XValueSorting->connect_toggled(LINK(this, SortByXValuesResourceGroup, SortByXValuesCheckHdl));
}
void SortByXValuesResourceGroup::showControls( bool bShow )
{
m_pCB_XValueSorting->Show(bShow);
m_xCB_XValueSorting->show(bShow);
}
void SortByXValuesResourceGroup::fillControls( const ChartTypeParameter& rParameter )
{
m_pCB_XValueSorting->Check( rParameter.bSortByXValues );
m_xCB_XValueSorting->set_active(rParameter.bSortByXValues);
}
void SortByXValuesResourceGroup::fillParameter( ChartTypeParameter& rParameter )
{
rParameter.bSortByXValues = m_pCB_XValueSorting->IsChecked();
rParameter.bSortByXValues = m_xCB_XValueSorting->get_active();
}
IMPL_LINK_NOARG(SortByXValuesResourceGroup, SortByXValuesCheckHdl, CheckBox&, void)
IMPL_LINK_NOARG(SortByXValuesResourceGroup, SortByXValuesCheckHdl, weld::ToggleButton&, void)
{
if(m_pChangeListener)
m_pChangeListener->stateChanged(this);
@@ -162,7 +161,7 @@ IMPL_LINK_NOARG(SortByXValuesResourceGroup, SortByXValuesCheckHdl, CheckBox&, vo
class StackingResourceGroup : public ChangingResource
{
public:
explicit StackingResourceGroup(VclBuilderContainer* pWindow);
explicit StackingResourceGroup(weld::Builder* pBuilder);
void showControls( bool bShow, bool bShowDeepStacking );
@@ -170,89 +169,91 @@ public:
void fillParameter( ChartTypeParameter& rParameter );
private:
DECL_LINK( StackingChangeHdl, RadioButton&, void );
DECL_LINK( StackingEnableHdl, CheckBox&, void );
DECL_LINK( StackingChangeHdl, weld::ToggleButton&, void );
DECL_LINK( StackingEnableHdl, weld::ToggleButton&, void );
private:
VclPtr<CheckBox> m_pCB_Stacked;
VclPtr<RadioButton> m_pRB_Stack_Y;
VclPtr<RadioButton> m_pRB_Stack_Y_Percent;
VclPtr<RadioButton> m_pRB_Stack_Z;
std::unique_ptr<weld::CheckButton> m_xCB_Stacked;
std::unique_ptr<weld::RadioButton> m_xRB_Stack_Y;
std::unique_ptr<weld::RadioButton> m_xRB_Stack_Y_Percent;
std::unique_ptr<weld::RadioButton> m_xRB_Stack_Z;
};
StackingResourceGroup::StackingResourceGroup(VclBuilderContainer* pWindow)
: ChangingResource()
StackingResourceGroup::StackingResourceGroup(weld::Builder* pBuilder)
: ChangingResource()
, m_xCB_Stacked(pBuilder->weld_check_button("stack"))
, m_xRB_Stack_Y(pBuilder->weld_radio_button("ontop"))
, m_xRB_Stack_Y_Percent(pBuilder->weld_radio_button("percent"))
, m_xRB_Stack_Z(pBuilder->weld_radio_button("deep"))
{
pWindow->get(m_pCB_Stacked, "stack");
pWindow->get(m_pRB_Stack_Y, "ontop");
pWindow->get(m_pRB_Stack_Y_Percent, "percent");
pWindow->get(m_pRB_Stack_Z, "deep");
m_pCB_Stacked->SetToggleHdl( LINK( this, StackingResourceGroup, StackingEnableHdl ) );
m_pRB_Stack_Y->SetToggleHdl( LINK( this, StackingResourceGroup, StackingChangeHdl ) );
m_pRB_Stack_Y_Percent->SetToggleHdl( LINK( this, StackingResourceGroup, StackingChangeHdl ) );
m_pRB_Stack_Z->SetToggleHdl( LINK( this, StackingResourceGroup, StackingChangeHdl ) );
m_xCB_Stacked->connect_toggled( LINK( this, StackingResourceGroup, StackingEnableHdl ) );
m_xRB_Stack_Y->connect_toggled( LINK( this, StackingResourceGroup, StackingChangeHdl ) );
m_xRB_Stack_Y_Percent->connect_toggled( LINK( this, StackingResourceGroup, StackingChangeHdl ) );
m_xRB_Stack_Z->connect_toggled( LINK( this, StackingResourceGroup, StackingChangeHdl ) );
}
void StackingResourceGroup::showControls( bool bShow, bool bShowDeepStacking )
{
m_pCB_Stacked->Show(bShow);
m_pRB_Stack_Y->Show(bShow);
m_pRB_Stack_Y_Percent->Show(bShow);
m_pRB_Stack_Z->Show(bShow&&bShowDeepStacking);
m_xCB_Stacked->show(bShow);
m_xRB_Stack_Y->show(bShow);
m_xRB_Stack_Y_Percent->show(bShow);
m_xRB_Stack_Z->show(bShow&&bShowDeepStacking);
}
void StackingResourceGroup::fillControls( const ChartTypeParameter& rParameter )
{
m_pCB_Stacked->Check( rParameter.eStackMode!=GlobalStackMode_NONE
m_xCB_Stacked->set_active( rParameter.eStackMode!=GlobalStackMode_NONE
&& rParameter.eStackMode!=GlobalStackMode_STACK_Z ); //todo remove this condition if z stacking radio button is really used
switch( rParameter.eStackMode )
{
case GlobalStackMode_STACK_Y:
m_pRB_Stack_Y->Check();
m_xRB_Stack_Y->set_active(true);
break;
case GlobalStackMode_STACK_Y_PERCENT:
m_pRB_Stack_Y_Percent->Check();
m_xRB_Stack_Y_Percent->set_active(true);
break;
case GlobalStackMode_STACK_Z:
//todo uncomment this condition if z stacking radio button is really used
/*
if( rParameter.b3DLook )
m_pRB_Stack_Z->Check();
m_xRB_Stack_Z->set_active(true);
else
*/
m_pRB_Stack_Y->Check();
m_xRB_Stack_Y->set_active(true);
break;
default:
m_pRB_Stack_Y->Check();
m_xRB_Stack_Y->set_active(true);
break;
}
//dis/enabling
m_pCB_Stacked->Enable( !rParameter.bXAxisWithValues );
m_pRB_Stack_Y->Enable( m_pCB_Stacked->IsChecked() && !rParameter.bXAxisWithValues );
m_pRB_Stack_Y_Percent->Enable( m_pCB_Stacked->IsChecked() && !rParameter.bXAxisWithValues );
m_pRB_Stack_Z->Enable( m_pCB_Stacked->IsChecked() && rParameter.b3DLook );
m_xCB_Stacked->set_sensitive( !rParameter.bXAxisWithValues );
m_xRB_Stack_Y->set_sensitive( m_xCB_Stacked->get_active() && !rParameter.bXAxisWithValues );
m_xRB_Stack_Y_Percent->set_sensitive( m_xCB_Stacked->get_active() && !rParameter.bXAxisWithValues );
m_xRB_Stack_Z->set_sensitive( m_xCB_Stacked->get_active() && rParameter.b3DLook );
}
void StackingResourceGroup::fillParameter( ChartTypeParameter& rParameter )
{
if(!m_pCB_Stacked->IsChecked())
if(!m_xCB_Stacked->get_active())
rParameter.eStackMode = GlobalStackMode_NONE;
else if(m_pRB_Stack_Y->IsChecked())
else if(m_xRB_Stack_Y->get_active())
rParameter.eStackMode = GlobalStackMode_STACK_Y;
else if(m_pRB_Stack_Y_Percent->IsChecked())
else if(m_xRB_Stack_Y_Percent->get_active())
rParameter.eStackMode = GlobalStackMode_STACK_Y_PERCENT;
else if(m_pRB_Stack_Z->IsChecked())
else if(m_xRB_Stack_Z->get_active())
rParameter.eStackMode = GlobalStackMode_STACK_Z;
}
IMPL_LINK( StackingResourceGroup, StackingChangeHdl, RadioButton&, rRadio, void )
IMPL_LINK( StackingResourceGroup, StackingChangeHdl, weld::ToggleButton&, rRadio, void )
{
//for each radio click there are coming two change events
//first uncheck of previous button -> ignore that call
//the second call gives the check of the new button
if( m_pChangeListener && rRadio.IsChecked() )
if (m_pChangeListener && rRadio.get_active())
m_pChangeListener->stateChanged(this);
}
IMPL_LINK_NOARG(StackingResourceGroup, StackingEnableHdl, CheckBox&, void)
IMPL_LINK_NOARG(StackingResourceGroup, StackingEnableHdl, weld::ToggleButton&, void)
{
if( m_pChangeListener )
m_pChangeListener->stateChanged(this);
@@ -396,7 +397,7 @@ void SteppedPropertiesDialog::fillParameter( ChartTypeParameter& rParameter, boo
class SplineResourceGroup : public ChangingResource
{
public:
explicit SplineResourceGroup(VclBuilderContainer* pWindow);
explicit SplineResourceGroup(weld::Builder* pBuilder, TabPageParent pParent);
void showControls( bool bShow );
@@ -404,36 +405,36 @@ public:
void fillParameter( ChartTypeParameter& rParameter );
private:
DECL_LINK( LineTypeChangeHdl, ListBox&, void );
DECL_LINK( SplineDetailsDialogHdl, Button*, void );
DECL_LINK( SteppedDetailsDialogHdl, Button*, void );
DECL_LINK( LineTypeChangeHdl, weld::ComboBox&, void );
DECL_LINK( SplineDetailsDialogHdl, weld::Button&, void );
DECL_LINK( SteppedDetailsDialogHdl, weld::Button&, void );
SplinePropertiesDialog& getSplinePropertiesDialog();
SteppedPropertiesDialog& getSteppedPropertiesDialog();
private:
VclPtr<FixedText> m_pFT_LineType;
VclPtr<ListBox> m_pLB_LineType;
VclPtr<PushButton> m_pPB_DetailsDialog;
TabPageParent m_pParent;
std::unique_ptr<weld::Label> m_xFT_LineType;
std::unique_ptr<weld::ComboBox> m_xLB_LineType;
std::unique_ptr<weld::Button> m_xPB_DetailsDialog;
std::unique_ptr<SplinePropertiesDialog> m_xSplinePropertiesDialog;
std::unique_ptr<SteppedPropertiesDialog> m_xSteppedPropertiesDialog;
};
SplineResourceGroup::SplineResourceGroup(VclBuilderContainer* pWindow)
SplineResourceGroup::SplineResourceGroup(weld::Builder* pBuilder, TabPageParent pParent)
: ChangingResource()
, m_pParent(pParent)
, m_xFT_LineType(pBuilder->weld_label("linetypeft"))
, m_xLB_LineType(pBuilder->weld_combo_box("linetype"))
, m_xPB_DetailsDialog(pBuilder->weld_button("properties"))
{
pWindow->get(m_pFT_LineType, "linetypeft");
pWindow->get(m_pLB_LineType, "linetype");
pWindow->get(m_pPB_DetailsDialog, "properties");
m_pLB_LineType->SetSelectHdl( LINK( this, SplineResourceGroup, LineTypeChangeHdl ) );
m_xLB_LineType->connect_changed(LINK(this, SplineResourceGroup, LineTypeChangeHdl));
}
SplinePropertiesDialog& SplineResourceGroup::getSplinePropertiesDialog()
{
if( !m_xSplinePropertiesDialog.get() )
{
Dialog* pDialog = m_pPB_DetailsDialog->GetParentDialog();
m_xSplinePropertiesDialog.reset(new SplinePropertiesDialog(pDialog ? pDialog->GetFrameWeld() : nullptr));
m_xSplinePropertiesDialog.reset(new SplinePropertiesDialog(m_pParent.GetFrameWeld()));
}
return *m_xSplinePropertiesDialog;
}
@@ -442,16 +443,16 @@ SteppedPropertiesDialog& SplineResourceGroup::getSteppedPropertiesDialog()
{
if (!m_xSteppedPropertiesDialog)
{
m_xSteppedPropertiesDialog.reset(new SteppedPropertiesDialog(m_pPB_DetailsDialog->GetFrameWeld()));
m_xSteppedPropertiesDialog.reset(new SteppedPropertiesDialog(m_pParent.GetFrameWeld()));
}
return *m_xSteppedPropertiesDialog;
}
void SplineResourceGroup::showControls( bool bShow )
{
m_pFT_LineType->Show(bShow);
m_pLB_LineType->Show(bShow);
m_pPB_DetailsDialog->Show(bShow);
m_xFT_LineType->show(bShow);
m_xLB_LineType->show(bShow);
m_xPB_DetailsDialog->show(bShow);
}
void SplineResourceGroup::fillControls( const ChartTypeParameter& rParameter )
@@ -459,35 +460,35 @@ void SplineResourceGroup::fillControls( const ChartTypeParameter& rParameter )
switch (rParameter.eCurveStyle)
{
case CurveStyle_LINES:
m_pLB_LineType->SelectEntryPos(POS_LINETYPE_STRAIGHT);
m_pPB_DetailsDialog->Enable(false);
m_xLB_LineType->set_active(POS_LINETYPE_STRAIGHT);
m_xPB_DetailsDialog->set_sensitive(false);
break;
case CurveStyle_CUBIC_SPLINES:
case CurveStyle_B_SPLINES:
m_pLB_LineType->SelectEntryPos(POS_LINETYPE_SMOOTH);
m_pPB_DetailsDialog->Enable();
m_pPB_DetailsDialog->SetClickHdl( LINK( this, SplineResourceGroup, SplineDetailsDialogHdl ) );
m_pPB_DetailsDialog->SetQuickHelpText( SchResId(STR_DLG_SMOOTH_LINE_PROPERTIES) );
m_xLB_LineType->set_active(POS_LINETYPE_SMOOTH);
m_xPB_DetailsDialog->set_sensitive(true);
m_xPB_DetailsDialog->connect_clicked( LINK( this, SplineResourceGroup, SplineDetailsDialogHdl ) );
m_xPB_DetailsDialog->set_tooltip_text(SchResId(STR_DLG_SMOOTH_LINE_PROPERTIES));
getSplinePropertiesDialog().fillControls( rParameter );
break;
case CurveStyle_STEP_START:
case CurveStyle_STEP_END:
case CurveStyle_STEP_CENTER_X:
case CurveStyle_STEP_CENTER_Y:
m_pLB_LineType->SelectEntryPos(POS_LINETYPE_STEPPED);
m_pPB_DetailsDialog->Enable();
m_pPB_DetailsDialog->SetClickHdl( LINK( this, SplineResourceGroup, SteppedDetailsDialogHdl ) );
m_pPB_DetailsDialog->SetQuickHelpText( SchResId(STR_DLG_STEPPED_LINE_PROPERTIES) );
m_xLB_LineType->set_active(POS_LINETYPE_STEPPED);
m_xPB_DetailsDialog->set_sensitive(true);
m_xPB_DetailsDialog->connect_clicked( LINK( this, SplineResourceGroup, SteppedDetailsDialogHdl ) );
m_xPB_DetailsDialog->set_tooltip_text( SchResId(STR_DLG_STEPPED_LINE_PROPERTIES) );
getSteppedPropertiesDialog().fillControls( rParameter );
break;
default:
m_pLB_LineType->SetNoSelection();
m_pPB_DetailsDialog->Enable(false);
m_xLB_LineType->set_active(-1);
m_xPB_DetailsDialog->set_sensitive(false);
}
}
void SplineResourceGroup::fillParameter( ChartTypeParameter& rParameter )
{
switch (m_pLB_LineType->GetSelectedEntryPos())
switch (m_xLB_LineType->get_active())
{
case POS_LINETYPE_SMOOTH:
getSplinePropertiesDialog().fillParameter( rParameter, true );
@@ -500,19 +501,21 @@ void SplineResourceGroup::fillParameter( ChartTypeParameter& rParameter )
break;
}
}
IMPL_LINK_NOARG(SplineResourceGroup, LineTypeChangeHdl, ListBox&, void)
IMPL_LINK_NOARG(SplineResourceGroup, LineTypeChangeHdl, weld::ComboBox&, void)
{
if( m_pChangeListener )
m_pChangeListener->stateChanged(this);
}
IMPL_LINK_NOARG(SplineResourceGroup, SplineDetailsDialogHdl, Button*, void)
IMPL_LINK_NOARG(SplineResourceGroup, SplineDetailsDialogHdl, weld::Button&, void)
{
ChartTypeParameter aOldParameter;
getSplinePropertiesDialog().fillParameter( aOldParameter, m_pLB_LineType->GetSelectedEntryPos() == POS_LINETYPE_SMOOTH );
getSplinePropertiesDialog().fillParameter( aOldParameter, m_xLB_LineType->get_active() == POS_LINETYPE_SMOOTH );
const sal_Int32 iOldLineTypePos = m_pLB_LineType->GetSelectedEntryPos();
m_pLB_LineType->SelectEntryPos(POS_LINETYPE_SMOOTH);
const sal_Int32 iOldLineTypePos = m_xLB_LineType->get_active();
m_xLB_LineType->set_active(POS_LINETYPE_SMOOTH);
if (getSplinePropertiesDialog().run() == RET_OK)
{
if( m_pChangeListener )
@@ -521,18 +524,19 @@ IMPL_LINK_NOARG(SplineResourceGroup, SplineDetailsDialogHdl, Button*, void)
else
{
//restore old state:
m_pLB_LineType->SelectEntryPos( iOldLineTypePos );
m_xLB_LineType->set_active( iOldLineTypePos );
getSplinePropertiesDialog().fillControls( aOldParameter );
}
}
IMPL_LINK_NOARG(SplineResourceGroup, SteppedDetailsDialogHdl, Button*, void)
IMPL_LINK_NOARG(SplineResourceGroup, SteppedDetailsDialogHdl, weld::Button&, void)
{
ChartTypeParameter aOldParameter;
getSteppedPropertiesDialog().fillParameter( aOldParameter, m_pLB_LineType->GetSelectedEntryPos() == POS_LINETYPE_STEPPED );
getSteppedPropertiesDialog().fillParameter( aOldParameter, m_xLB_LineType->get_active() == POS_LINETYPE_STEPPED );
const sal_Int32 iOldLineTypePos = m_pLB_LineType->GetSelectedEntryPos();
m_pLB_LineType->SelectEntryPos(POS_LINETYPE_STEPPED);
const sal_Int32 iOldLineTypePos = m_xLB_LineType->get_active();
m_xLB_LineType->set_active(POS_LINETYPE_STEPPED);
if (getSteppedPropertiesDialog().run() == RET_OK)
{
if( m_pChangeListener )
@@ -541,7 +545,7 @@ IMPL_LINK_NOARG(SplineResourceGroup, SteppedDetailsDialogHdl, Button*, void)
else
{
//restore old state:
m_pLB_LineType->SelectEntryPos( iOldLineTypePos );
m_xLB_LineType->set_active(iOldLineTypePos);
getSteppedPropertiesDialog().fillControls( aOldParameter );
}
}
@@ -549,7 +553,7 @@ IMPL_LINK_NOARG(SplineResourceGroup, SteppedDetailsDialogHdl, Button*, void)
class GeometryResourceGroup : public ChangingResource
{
public:
explicit GeometryResourceGroup(VclBuilderContainer* pWindow);
explicit GeometryResourceGroup(weld::Builder* pBuilder);
void showControls( bool bShow );
@@ -557,86 +561,84 @@ public:
void fillParameter( ChartTypeParameter& rParameter );
private:
DECL_LINK( GeometryChangeHdl, ListBox&, void );
DECL_LINK( GeometryChangeHdl, weld::TreeView&, void );
private:
BarGeometryResources m_aGeometryResources;
};
GeometryResourceGroup::GeometryResourceGroup(VclBuilderContainer* pWindow )
GeometryResourceGroup::GeometryResourceGroup(weld::Builder* pBuilder)
: ChangingResource()
, m_aGeometryResources( pWindow )
, m_aGeometryResources(pBuilder)
{
m_aGeometryResources.SetSelectHdl( LINK( this, GeometryResourceGroup, GeometryChangeHdl ) );
m_aGeometryResources.connect_changed( LINK( this, GeometryResourceGroup, GeometryChangeHdl ) );
}
void GeometryResourceGroup::showControls( bool bShow )
void GeometryResourceGroup::showControls(bool bShow)
{
m_aGeometryResources.Show(bShow);
m_aGeometryResources.show(bShow);
}
void GeometryResourceGroup::fillControls( const ChartTypeParameter& rParameter )
void GeometryResourceGroup::fillControls(const ChartTypeParameter& rParameter)
{
sal_uInt16 nGeometry3D = static_cast<sal_uInt16>(rParameter.nGeometry3D);
m_aGeometryResources.SelectEntryPos(nGeometry3D);
m_aGeometryResources.Enable(rParameter.b3DLook);
m_aGeometryResources.select(nGeometry3D);
m_aGeometryResources.set_sensitive(rParameter.b3DLook);
}
void GeometryResourceGroup::fillParameter( ChartTypeParameter& rParameter )
void GeometryResourceGroup::fillParameter(ChartTypeParameter& rParameter)
{
rParameter.nGeometry3D = 1;
if( m_aGeometryResources.GetSelectedEntryCount() )
rParameter.nGeometry3D = m_aGeometryResources.GetSelectedEntryPos();
int nSelected = m_aGeometryResources.get_selected_index();
if (nSelected != -1)
rParameter.nGeometry3D = nSelected;
}
IMPL_LINK_NOARG(GeometryResourceGroup, GeometryChangeHdl, ListBox&, void)
IMPL_LINK_NOARG(GeometryResourceGroup, GeometryChangeHdl, weld::TreeView&, void)
{
if( m_pChangeListener )
m_pChangeListener->stateChanged(this);
}
ChartTypeTabPage::ChartTypeTabPage(vcl::Window* pParent
, const uno::Reference< XChartDocument >& xChartModel
, bool bShowDescription)
: OWizardPage(pParent, "tp_ChartType",
"modules/schart/ui/tp_ChartType.ui")
, m_pDim3DLookResourceGroup( new Dim3DLookResourceGroup(this) )
, m_pStackingResourceGroup( new StackingResourceGroup(this) )
, m_pSplineResourceGroup( new SplineResourceGroup(this) )
, m_pGeometryResourceGroup( new GeometryResourceGroup( this ) )
, m_pSortByXValuesResourceGroup( new SortByXValuesResourceGroup( this ) )
, m_xChartModel( xChartModel )
, m_aChartTypeDialogControllerList(0)
, m_pCurrentMainType(nullptr)
, m_nChangingCalls(0)
, m_aTimerTriggeredControllerLock( uno::Reference< frame::XModel >( m_xChartModel, uno::UNO_QUERY ) )
ChartTypeTabPage::ChartTypeTabPage(TabPageParent pParent , const uno::Reference< XChartDocument >& xChartModel,
bool bShowDescription)
: OWizardPage(pParent, "modules/schart/ui/tp_ChartType.ui", "tp_ChartType")
, m_pDim3DLookResourceGroup( new Dim3DLookResourceGroup(m_xBuilder.get()) )
, m_pStackingResourceGroup( new StackingResourceGroup(m_xBuilder.get()) )
, m_pSplineResourceGroup( new SplineResourceGroup(m_xBuilder.get(), pParent) )
, m_pGeometryResourceGroup( new GeometryResourceGroup(m_xBuilder.get()) )
, m_pSortByXValuesResourceGroup( new SortByXValuesResourceGroup(m_xBuilder.get()) )
, m_xChartModel( xChartModel )
, m_aChartTypeDialogControllerList(0)
, m_pCurrentMainType(nullptr)
, m_nChangingCalls(0)
, m_aTimerTriggeredControllerLock( uno::Reference< frame::XModel >( m_xChartModel, uno::UNO_QUERY ) )
, m_xFT_ChooseType(m_xBuilder->weld_label("FT_CAPTION_FOR_WIZARD"))
, m_xMainTypeList(m_xBuilder->weld_tree_view("charttype"))
, m_xSubTypeList(new SvtValueSet(m_xBuilder->weld_scrolled_window("subtypewin")))
, m_xSubTypeListWin(new weld::CustomWeld(*m_xBuilder, "subtype", *m_xSubTypeList))
{
get(m_pFT_ChooseType, "FT_CAPTION_FOR_WIZARD");
get(m_pMainTypeList, "charttype");
get(m_pSubTypeList, "subtype");
Size aSize(m_pSubTypeList->LogicToPixel(Size(150, 50), MapMode(MapUnit::MapAppFont)));
m_pSubTypeList->set_width_request(aSize.Width());
m_pSubTypeList->set_height_request(aSize.Height());
Size aSize(m_xSubTypeList->GetDrawingArea()->get_ref_device().LogicToPixel(Size(150, 50), MapMode(MapUnit::MapAppFont)));
m_xSubTypeListWin->set_size_request(aSize.Width(), aSize.Height());
if( bShowDescription )
if (bShowDescription)
{
m_pFT_ChooseType->Show();
m_xFT_ChooseType->show();
}
else
{
m_pFT_ChooseType->SetStyle(m_pFT_ChooseType->GetStyle() | WB_NOLABEL);
m_xFT_ChooseType->hide();
}
SetText( SchResId(STR_PAGE_CHARTTYPE) );
m_pMainTypeList->SetStyle(m_pMainTypeList->GetStyle() | WB_ITEMBORDER | WB_DOUBLEBORDER | WB_FLATVALUESET | WB_3DLOOK );
m_pMainTypeList->SetSelectHdl( LINK( this, ChartTypeTabPage, SelectMainTypeHdl ) );
m_pSubTypeList->SetSelectHdl( LINK( this, ChartTypeTabPage, SelectSubTypeHdl ) );
m_xMainTypeList->connect_changed(LINK(this, ChartTypeTabPage, SelectMainTypeHdl));
m_xSubTypeList->SetSelectHdl( LINK( this, ChartTypeTabPage, SelectSubTypeHdl ) );
m_pSubTypeList->SetStyle(m_pSubTypeList->GetStyle() |
m_xSubTypeList->SetStyle(m_xSubTypeList->GetStyle() |
WB_ITEMBORDER | WB_DOUBLEBORDER | WB_NAMEFIELD | WB_FLATVALUESET | WB_3DLOOK );
m_pSubTypeList->SetColCount(4);
m_pSubTypeList->SetLineCount(1);
m_xSubTypeList->SetColCount(4);
m_xSubTypeList->SetLineCount(1);
bool bEnableComplexChartTypes = true;
uno::Reference< beans::XPropertySet > xProps( m_xChartModel, uno::UNO_QUERY );
@@ -671,10 +673,12 @@ ChartTypeTabPage::ChartTypeTabPage(vcl::Window* pParent
for (auto const& elem : m_aChartTypeDialogControllerList)
{
m_pMainTypeList->InsertEntry( elem->getName(), elem->getImage() );
m_xMainTypeList->append("", elem->getName(), elem->getImage());
elem->setChangeListener( this );
}
m_xMainTypeList->set_size_request(m_xMainTypeList->get_preferred_size().Width(), -1);
m_pDim3DLookResourceGroup->setChangeListener( this );
m_pStackingResourceGroup->setChangeListener( this );
m_pSplineResourceGroup->setChangeListener( this );
@@ -698,16 +702,15 @@ void ChartTypeTabPage::dispose()
m_pSplineResourceGroup.reset();
m_pGeometryResourceGroup.reset();
m_pSortByXValuesResourceGroup.reset();
m_pFT_ChooseType.clear();
m_pMainTypeList.clear();
m_pSubTypeList.clear();
m_xSubTypeListWin.reset();
m_xSubTypeList.reset();
svt::OWizardPage::dispose();
}
ChartTypeParameter ChartTypeTabPage::getCurrentParamter() const
{
ChartTypeParameter aParameter;
aParameter.nSubTypeIndex = static_cast<sal_Int32>( m_pSubTypeList->GetSelectedItemId() );
aParameter.nSubTypeIndex = static_cast<sal_Int32>(m_xSubTypeList->GetSelectedItemId());
m_pDim3DLookResourceGroup->fillParameter( aParameter );
m_pStackingResourceGroup->fillParameter( aParameter );
m_pSplineResourceGroup->fillParameter( aParameter );
@@ -761,13 +764,13 @@ ChartTypeDialogController* ChartTypeTabPage::getSelectedMainType()
{
ChartTypeDialogController* pTypeController = nullptr;
auto nM = static_cast< std::vector< ChartTypeDialogController* >::size_type >(
m_pMainTypeList->GetSelectedEntryPos() );
m_xMainTypeList->get_selected_index() );
if( nM<m_aChartTypeDialogControllerList.size() )
pTypeController = m_aChartTypeDialogControllerList[nM].get();
return pTypeController;
}
IMPL_LINK_NOARG(ChartTypeTabPage, SelectSubTypeHdl, ValueSet*, void)
IMPL_LINK_NOARG(ChartTypeTabPage, SelectSubTypeHdl, SvtValueSet*, void)
{
if( m_pCurrentMainType )
{
@@ -778,7 +781,7 @@ IMPL_LINK_NOARG(ChartTypeTabPage, SelectSubTypeHdl, ValueSet*, void)
}
}
IMPL_LINK_NOARG(ChartTypeTabPage, SelectMainTypeHdl, ListBox&, void)
IMPL_LINK_NOARG(ChartTypeTabPage, SelectMainTypeHdl, weld::TreeView&, void)
{
selectMainType();
}
@@ -824,8 +827,8 @@ void ChartTypeTabPage::selectMainType()
void ChartTypeTabPage::showAllControls( ChartTypeDialogController& rTypeController )
{
m_pMainTypeList->Show();
m_pSubTypeList->Show();
m_xMainTypeList->show();
m_xSubTypeList->Show();
bool bShow = rTypeController.shouldShow_3DLookControl();
m_pDim3DLookResourceGroup->showControls( bShow );
@@ -837,7 +840,7 @@ void ChartTypeTabPage::showAllControls( ChartTypeDialogController& rTypeControll
m_pGeometryResourceGroup->showControls( bShow );
bShow = rTypeController.shouldShow_SortByXValuesResourceGroup();
m_pSortByXValuesResourceGroup->showControls( bShow );
rTypeController.showExtraControls(this);
rTypeController.showExtraControls(m_xBuilder.get());
}
void ChartTypeTabPage::fillAllControls( const ChartTypeParameter& rParameter, bool bAlsoResetSubTypeList )
@@ -845,9 +848,9 @@ void ChartTypeTabPage::fillAllControls( const ChartTypeParameter& rParameter, bo
m_nChangingCalls++;
if( m_pCurrentMainType && bAlsoResetSubTypeList )
{
m_pCurrentMainType->fillSubTypeList(*m_pSubTypeList, rParameter);
m_pCurrentMainType->fillSubTypeList(*m_xSubTypeList, rParameter);
}
m_pSubTypeList->SelectItem( static_cast<sal_uInt16>( rParameter.nSubTypeIndex) );
m_xSubTypeList->SelectItem( static_cast<sal_uInt16>( rParameter.nSubTypeIndex) );
m_pDim3DLookResourceGroup->fillControls( rParameter );
m_pStackingResourceGroup->fillControls( rParameter );
m_pSplineResourceGroup->fillControls( rParameter );
@@ -876,7 +879,7 @@ void ChartTypeTabPage::initializePage()
{
bFound = true;
m_pMainTypeList->SelectEntryPos( nM );
m_xMainTypeList->select(nM);
showAllControls(*elem);
uno::Reference< beans::XPropertySet > xTemplateProps( aTemplate.first, uno::UNO_QUERY );
ChartTypeParameter aParameter = elem->getChartTypeParameterForService( aServiceName, xTemplateProps );
@@ -907,7 +910,7 @@ void ChartTypeTabPage::initializePage()
if( !bFound )
{
m_pSubTypeList->Hide();
m_xSubTypeList->Hide();
m_pDim3DLookResourceGroup->showControls( false );
m_pStackingResourceGroup->showControls( false, false );
m_pSplineResourceGroup->showControls( false );
diff --git a/chart2/source/controller/dialogs/tp_ChartType.hxx b/chart2/source/controller/dialogs/tp_ChartType.hxx
index 8da17cb..09cb16c 100644
--- a/chart2/source/controller/dialogs/tp_ChartType.hxx
+++ b/chart2/source/controller/dialogs/tp_ChartType.hxx
@@ -47,7 +47,7 @@ class SortByXValuesResourceGroup;
class ChartTypeTabPage final : public ResourceChangeListener, public svt::OWizardPage, public ChartTypeTemplateProvider
{
public:
ChartTypeTabPage( vcl::Window* pParent
ChartTypeTabPage( TabPageParent pParent
, const css::uno::Reference< css::chart2::XChartDocument >& xChartModel
, bool bShowDescription = true );
virtual ~ChartTypeTabPage() override;
@@ -69,12 +69,8 @@ private:
void commitToModel( const ChartTypeParameter& rParameter );
void selectMainType();
DECL_LINK( SelectMainTypeHdl, ListBox&, void );
DECL_LINK( SelectSubTypeHdl, ValueSet*, void );
VclPtr<FixedText> m_pFT_ChooseType;
VclPtr<ListBox> m_pMainTypeList;
VclPtr<ValueSet> m_pSubTypeList;
DECL_LINK(SelectMainTypeHdl, weld::TreeView&, void);
DECL_LINK(SelectSubTypeHdl, SvtValueSet*, void );
std::unique_ptr<Dim3DLookResourceGroup> m_pDim3DLookResourceGroup;
std::unique_ptr<StackingResourceGroup> m_pStackingResourceGroup;
@@ -90,6 +86,11 @@ private:
sal_Int32 m_nChangingCalls;
TimerTriggeredControllerLock m_aTimerTriggeredControllerLock;
std::unique_ptr<weld::Label> m_xFT_ChooseType;
std::unique_ptr<weld::TreeView> m_xMainTypeList;
std::unique_ptr<SvtValueSet> m_xSubTypeList;
std::unique_ptr<weld::CustomWeld> m_xSubTypeListWin;
};
} //namespace chart
diff --git a/chart2/source/controller/dialogs/tp_PointGeometry.cxx b/chart2/source/controller/dialogs/tp_PointGeometry.cxx
index 38a4dc9..a3717c8 100644
--- a/chart2/source/controller/dialogs/tp_PointGeometry.cxx
+++ b/chart2/source/controller/dialogs/tp_PointGeometry.cxx
@@ -29,10 +29,10 @@
namespace chart
{
SchLayoutTabPage::SchLayoutTabPage(vcl::Window* pWindow,const SfxItemSet& rInAttrs)
: SfxTabPage(pWindow, "tp_ChartType", "modules/schart/ui/tp_ChartType.ui", &rInAttrs)
SchLayoutTabPage::SchLayoutTabPage(TabPageParent pParent, const SfxItemSet& rInAttrs)
: SfxTabPage(pParent, "modules/schart/ui/tp_ChartType.ui", "tp_ChartType", &rInAttrs)
{
m_pGeometryResources.reset(new BarGeometryResources( this ));
m_pGeometryResources.reset(new BarGeometryResources(m_xBuilder.get()));
}
SchLayoutTabPage::~SchLayoutTabPage()
@@ -46,21 +46,19 @@ void SchLayoutTabPage::dispose()
SfxTabPage::dispose();
}
VclPtr<SfxTabPage> SchLayoutTabPage::Create(TabPageParent pWindow,
const SfxItemSet* rOutAttrs)
VclPtr<SfxTabPage> SchLayoutTabPage::Create(TabPageParent pParent, const SfxItemSet* rOutAttrs)
{
return VclPtr<SchLayoutTabPage>::Create(pWindow.pParent, *rOutAttrs);
return VclPtr<SchLayoutTabPage>::Create(pParent, *rOutAttrs);
}
bool SchLayoutTabPage::FillItemSet(SfxItemSet* rOutAttrs)
{
if(m_pGeometryResources && m_pGeometryResources->GetSelectedEntryCount())
int nShape = m_pGeometryResources ? m_pGeometryResources->get_selected_index() : -1;
if (nShape != -1)
{
long nSegs=32;
long nShape = m_pGeometryResources->GetSelectedEntryPos();
if(nShape==CHART_SHAPE3D_PYRAMID)
if (nShape==CHART_SHAPE3D_PYRAMID)
nSegs=4;
rOutAttrs->Put(SfxInt32Item(SCHATTR_STYLE_SHAPE,nShape));
@@ -78,8 +76,8 @@ void SchLayoutTabPage::Reset(const SfxItemSet* rInAttrs)
long nVal = static_cast<const SfxInt32Item*>(pPoolItem)->GetValue();
if(m_pGeometryResources)
{
m_pGeometryResources->SelectEntryPos(static_cast<sal_uInt16>(nVal));
m_pGeometryResources->Show( true );
m_pGeometryResources->select(static_cast<sal_uInt16>(nVal));
m_pGeometryResources->show(true);
}
}
}
diff --git a/chart2/source/controller/dialogs/tp_PointGeometry.hxx b/chart2/source/controller/dialogs/tp_PointGeometry.hxx
index f9cfad7..4690a1f 100644
--- a/chart2/source/controller/dialogs/tp_PointGeometry.hxx
+++ b/chart2/source/controller/dialogs/tp_PointGeometry.hxx
@@ -28,7 +28,7 @@ class BarGeometryResources;
class SchLayoutTabPage : public SfxTabPage
{
public:
SchLayoutTabPage(vcl::Window* pParent, const SfxItemSet& rInAttrs);
SchLayoutTabPage(TabPageParent pParent, const SfxItemSet& rInAttrs);
virtual ~SchLayoutTabPage() override;
virtual void dispose() override;
diff --git a/chart2/source/controller/inc/dlg_ChartType.hxx b/chart2/source/controller/inc/dlg_ChartType.hxx
index 3d3f196..7483dcd 100644
--- a/chart2/source/controller/inc/dlg_ChartType.hxx
+++ b/chart2/source/controller/inc/dlg_ChartType.hxx
@@ -19,7 +19,7 @@
#ifndef INCLUDED_CHART2_SOURCE_CONTROLLER_INC_DLG_CHARTTYPE_HXX
#define INCLUDED_CHART2_SOURCE_CONTROLLER_INC_DLG_CHARTTYPE_HXX
#include <vcl/dialog.hxx>
#include <vcl/weld.hxx>
namespace com { namespace sun { namespace star { namespace frame { class XModel; } } } }
@@ -27,18 +27,17 @@ namespace chart
{
class ChartTypeTabPage;
class ChartTypeDialog : public ModalDialog
class ChartTypeDialog : public weld::GenericDialogController
{
public:
ChartTypeDialog( vcl::Window* pWindow
, const css::uno::Reference< css::frame::XModel >& xChartModel );
ChartTypeDialog(weld::Window* pWindow,
const css::uno::Reference< css::frame::XModel >& xChartModel);
virtual ~ChartTypeDialog() override;
virtual void dispose() override;
private:
VclPtr<ChartTypeTabPage> m_pChartTypeTabPage;
css::uno::Reference< css::frame::XModel > m_xChartModel;
css::uno::Reference<css::frame::XModel> m_xChartModel;
std::unique_ptr<weld::Container> m_xContentArea;
VclPtr<ChartTypeTabPage> m_xChartTypeTabPage;
};
} //namespace chart
diff --git a/chart2/source/controller/main/ChartController.cxx b/chart2/source/controller/main/ChartController.cxx
index 17a0f12..b694d02 100644
--- a/chart2/source/controller/main/ChartController.cxx
+++ b/chart2/source/controller/main/ChartController.cxx
@@ -1310,8 +1310,8 @@ void ChartController::executeDispatch_ChartType()
SolarMutexGuard aSolarGuard;
//prepare and open dialog
ScopedVclPtrInstance< ChartTypeDialog > aDlg( GetChartWindow(), getModel() );
if( aDlg->Execute() == RET_OK )
ChartTypeDialog aDlg(GetChartFrame(), getModel());
if (aDlg.run() == RET_OK)
{
impl_adaptDataSeriesAutoResize();
aUndoGuard.commit();
diff --git a/chart2/uiconfig/ui/charttypedialog.ui b/chart2/uiconfig/ui/charttypedialog.ui
index 5823f29..def049f 100644
--- a/chart2/uiconfig/ui/charttypedialog.ui
+++ b/chart2/uiconfig/ui/charttypedialog.ui
@@ -1,12 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.18.3 -->
<!-- Generated with glade 3.22.1 -->
<interface domain="chart">
<requires lib="gtk+" version="3.18"/>
<object class="GtkDialog" id="ChartTypeDialog">
<property name="can_focus">False</property>
<property name="border_width">6</property>
<property name="title" translatable="yes" context="charttypedialog|ChartTypeDialog">Chart Type</property>
<property name="modal">True</property>
<property name="default_width">0</property>
<property name="default_height">0</property>
<property name="type_hint">dialog</property>
<child>
<placeholder/>
</child>
<child internal-child="vbox">
<object class="GtkBox" id="dialog-vbox1">
<property name="can_focus">False</property>
diff --git a/chart2/uiconfig/ui/tp_ChartType.ui b/chart2/uiconfig/ui/tp_ChartType.ui
index a38a30d..987a709 100644
--- a/chart2/uiconfig/ui/tp_ChartType.ui
+++ b/chart2/uiconfig/ui/tp_ChartType.ui
@@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.16.1 -->
<!-- Generated with glade 3.22.1 -->
<interface domain="chart">
<requires lib="gtk+" version="3.18"/>
<!-- interface-requires LibreOffice 1.0 -->
<object class="GtkAdjustment" id="adjustment1">
<property name="lower">1</property>
<property name="upper">100</property>
@@ -12,7 +11,9 @@
</object>
<object class="GtkListStore" id="liststore1">
<columns>
<!-- column-name gchararray1 -->
<!-- column-name text -->
<column type="gchararray"/>
<!-- column-name id -->
<column type="gchararray"/>
</columns>
<data>
@@ -30,6 +31,16 @@
</row>
</data>
</object>
<object class="GtkListStore" id="liststore2">
<columns>
<!-- column-name text -->
<column type="gchararray"/>
<!-- column-name id -->
<column type="gchararray"/>
<!-- column-name image -->
<column type="GdkPixbuf"/>
</columns>
</object>
<object class="GtkBox" id="tp_ChartType">
<property name="visible">True</property>
<property name="can_focus">False</property>
@@ -47,10 +58,9 @@
<property name="spacing">6</property>
<child>
<object class="GtkLabel" id="FT_CAPTION_FOR_WIZARD">
<property name="visible">False</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes" context="tp_ChartType|FT_CAPTION_FOR_WIZARD">Choose a Chart Type</property>
<property name="xalign">0</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
@@ -75,16 +85,31 @@
<property name="hexpand">True</property>
<property name="row_spacing">6</property>
<child>
<object class="svtlo-ValueSet" id="subtype:border">
<property name="visible">False</property>
<property name="can_focus">False</property>
<object class="GtkScrolledWindow" id="subtypewin">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hexpand">True</property>
<property name="hscrollbar_policy">never</property>
<property name="vscrollbar_policy">never</property>
<property name="shadow_type">in</property>
<child>
<object class="GtkViewport">
<property name="visible">True</property>
<property name="can_focus">True</property>
<child>
<object class="GtkDrawingArea" id="subtype">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="events">GDK_BUTTON_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_STRUCTURE_MASK</property>
<property name="hexpand">True</property>
</object>
</child>
</object>
</child>
</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>
@@ -100,7 +125,6 @@
<child>
<object class="GtkCheckButton" id="3dlook">
<property name="label" translatable="yes" context="tp_ChartType|3dlook">_3D Look</property>
<property name="visible">False</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
@@ -113,13 +137,10 @@
<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="GtkComboBoxText" id="3dscheme">
<property name="visible">False</property>
<property name="can_focus">False</property>
<items>
<item translatable="yes" context="tp_ChartType|3dscheme">Simple</item>
@@ -132,57 +153,70 @@
<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>
</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="shapeft">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes" context="tp_ChartType|shapeft">Sh_ape</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">shape:border</property>
<property name="mnemonic_widget">shape</property>
<property name="angle">0.02</property>
<property name="xalign">0</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="GtkTreeView" id="shape:border">
<object class="GtkScrolledWindow">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="model">liststore1</property>
<child internal-child="selection">
<object class="GtkTreeSelection" id="treeview-selection"/>
<property name="can_focus">False</property>
<property name="vexpand">True</property>
<property name="shadow_type">in</property>
<child>
<object class="GtkTreeView" id="shape">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="vexpand">True</property>
<property name="model">liststore1</property>
<property name="headers_visible">False</property>
<property name="headers_clickable">False</property>
<property name="search_column">0</property>
<property name="show_expanders">False</property>
<child internal-child="selection">
<object class="GtkTreeSelection" id="treeview-selection1"/>
</child>
<child>
<object class="GtkTreeViewColumn" id="treeviewcolumn1">
<child>
<object class="GtkCellRendererText" id="cellrenderertext1"/>
<attributes>
<attribute name="text">0</attribute>
</attributes>
</child>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
</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>
@@ -193,7 +227,6 @@
<child>
<object class="GtkCheckButton" id="stack">
<property name="label" translatable="yes" context="tp_ChartType|stack">_Stack series</property>
<property name="visible">False</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
@@ -203,8 +236,6 @@
<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>
@@ -220,44 +251,36 @@
<child>
<object class="GtkRadioButton" id="ontop">
<property name="label" translatable="yes" context="tp_ChartType|ontop">On top</property>
<property name="visible">False</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">percent</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="percent">
<property name="label" translatable="yes" context="tp_ChartType|percent">Percent</property>
<property name="visible">False</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="draw_indicator">True</property>
<property name="group">deep</property>
<property name="group">ontop</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="GtkRadioButton" id="deep">
<property name="label" translatable="yes" context="tp_ChartType|deep">Deep</property>
<property name="visible">False</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
@@ -268,8 +291,6 @@
<packing>
<property name="left_attach">0</property>
<property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
</object>
@@ -278,8 +299,6 @@
<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>
@@ -289,24 +308,19 @@
<property name="column_spacing">12</property>
<child>
<object class="GtkLabel" id="linetypeft">
<property name="visible">False</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes" context="tp_ChartType|linetypeft">_Line type</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">linetype</property>
<property name="ellipsize">end</property>
<property name="xalign">0</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="GtkComboBoxText" id="linetype">
<property name="visible">False</property>
<property name="can_focus">False</property>
<items>
<item translatable="yes" context="tp_ChartType|linetype">Straight</item>
@@ -317,14 +331,11 @@
<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="properties">
<property name="label" translatable="yes" context="tp_ChartType|properties">Properties...</property>
<property name="visible">False</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_underline">True</property>
@@ -332,22 +343,17 @@
<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>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="sort">
<property name="label" translatable="yes" context="tp_ChartType|sort">_Sort by X values</property>
<property name="visible">False</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
@@ -357,8 +363,6 @@
<packing>
<property name="left_attach">0</property>
<property name="top_attach">3</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
@@ -370,70 +374,92 @@
<object class="GtkLabel" id="nolinesft">
<property name="can_focus">False</property>
<property name="no_show_all">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes" context="tp_ChartType|nolinesft">_Number of lines</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">nolines</property>
<property name="ellipsize">end</property>
<property name="xalign">0</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="GtkSpinButton" id="nolines">
<property name="can_focus">True</property>
<property name="no_show_all">True</property>
<property name="activates_default">True</property>
<property name="adjustment">adjustment1</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>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">4</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
</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="GtkTreeView" id="charttype:border">
<property name="visible">False</property>
<property name="can_focus">True</property>
<object class="GtkScrolledWindow">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="vexpand">True</property>
<child internal-child="selection">
<object class="GtkTreeSelection" id="treeview-selection1"/>
<property name="shadow_type">in</property>
<child>
<object class="GtkTreeView" id="charttype">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="vexpand">True</property>
<property name="model">liststore2</property>
<property name="headers_visible">False</property>
<property name="headers_clickable">False</property>
<property name="search_column">0</property>
<property name="show_expanders">False</property>
<child internal-child="selection">
<object class="GtkTreeSelection" id="treeview-selection2"/>
</child>
<child>
<object class="GtkTreeViewColumn" id="treeviewcolumn3">
<child>
<object class="GtkCellRendererPixbuf" id="cellrenderertext3"/>
<attributes>
<attribute name="pixbuf">2</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="treeviewcolumn2">
<child>
<object class="GtkCellRendererText" id="cellrenderertext2"/>
<attributes>
<attribute name="text">0</attribute>
</attributes>
</child>
</object>
</child>
</object>
</child>
</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>
</object>
diff --git a/include/sfx2/tabdlg.hxx b/include/sfx2/tabdlg.hxx
index 3c5b26e..79748b3 100644
--- a/include/sfx2/tabdlg.hxx
+++ b/include/sfx2/tabdlg.hxx
@@ -41,31 +41,6 @@ class SfxViewFrame;
class SfxTabPage;
class SfxBindings;
struct TabPageParent
{
TabPageParent(vcl::Window* _pParent)
: pParent(_pParent)
, pPage(nullptr)
, pController(nullptr)
{
}
TabPageParent(weld::Container* _pPage, weld::DialogController* _pController)
: pParent(nullptr)
, pPage(_pPage)
, pController(_pController)
{
}
weld::Window* GetFrameWeld() const
{
if (pController)
return pController->getDialog();
return pParent->GetFrameWeld();
}
VclPtr<vcl::Window> pParent;
weld::Container* const pPage;
weld::DialogController* pController;
};
typedef VclPtr<SfxTabPage> (*CreateTabPage)(TabPageParent pParent, const SfxItemSet *rAttrSet);
typedef const sal_uInt16* (*GetTabPageRanges)(); // provides international Which-value
struct TabPageImpl;
diff --git a/include/svtools/valueset.hxx b/include/svtools/valueset.hxx
index fef9fd2..a67518f 100644
--- a/include/svtools/valueset.hxx
+++ b/include/svtools/valueset.hxx
@@ -502,6 +502,8 @@ public:
void SetOptimalSize();
/// Insert @rImage item.
void InsertItem(sal_uInt16 nItemId, const Image& rImage);
/// Insert @rImage item with @rStr as a tooltip
void InsertItem(sal_uInt16 nItemId, const Image& rImage,
const OUString& rStr, size_t nPos = VALUESET_APPEND);
diff --git a/include/svtools/wizardmachine.hxx b/include/svtools/wizardmachine.hxx
index 68ad14a..748afeb 100644
--- a/include/svtools/wizardmachine.hxx
+++ b/include/svtools/wizardmachine.hxx
@@ -24,6 +24,7 @@
#include <svtools/wizdlg.hxx>
#include <vcl/button.hxx>
#include <vcl/tabpage.hxx>
#include <vcl/weld.hxx>
#include <o3tl/typed_flags_set.hxx>
class Bitmap;
@@ -104,6 +105,8 @@ namespace svt
must be the OWizardMachine (which is derived from Window)
*/
OWizardPage(vcl::Window *pParent, const OString& rID, const OUString& rUIXMLDescription);
OWizardPage(TabPageParent pParent, const OUString& rUIXMLDescription, const OString& rID);
virtual void dispose() override;
virtual ~OWizardPage() override;
// IWizardPageController overridables
@@ -112,6 +115,9 @@ namespace svt
virtual bool canAdvance() const override;
protected:
std::unique_ptr<weld::Builder> m_xBuilder;
std::unique_ptr<weld::Container> m_xContainer;
// TabPage overridables
virtual void ActivatePage() override;
diff --git a/include/vcl/tabpage.hxx b/include/vcl/tabpage.hxx
index 3845da4..bd8475d 100644
--- a/include/vcl/tabpage.hxx
+++ b/include/vcl/tabpage.hxx
@@ -23,9 +23,34 @@
#include <tools/solar.h>
#include <vcl/dllapi.h>
#include <vcl/builder.hxx>
#include <vcl/weld.hxx>
#include <vcl/window.hxx>
#include <vcl/IContext.hxx>
struct TabPageParent
{
TabPageParent(vcl::Window* _pParent)
: pParent(_pParent)
, pPage(nullptr)
, pController(nullptr)
{
}
TabPageParent(weld::Container* _pPage, weld::DialogController* _pController)
: pParent(nullptr)
, pPage(_pPage)
, pController(_pController)
{
}
weld::Window* GetFrameWeld() const
{
if (pController)
return pController->getDialog();
return pParent->GetFrameWeld();
}
VclPtr<vcl::Window> pParent;
weld::Container* const pPage;
weld::DialogController* pController;
};
class VCL_DLLPUBLIC TabPage
: public vcl::Window
diff --git a/svtools/source/control/valueset.cxx b/svtools/source/control/valueset.cxx
index 730b2a87..963fc1b 100644
--- a/svtools/source/control/valueset.cxx
+++ b/svtools/source/control/valueset.cxx
@@ -3711,6 +3711,15 @@ Size SvtValueSet::CalcWindowSizePixel( const Size& rItemSize, sal_uInt16 nDesire
return aSize;
}
void SvtValueSet::InsertItem( sal_uInt16 nItemId, const Image& rImage )
{
std::unique_ptr<SvtValueSetItem> pItem(new SvtValueSetItem( *this ));
pItem->mnId = nItemId;
pItem->meType = VALUESETITEM_IMAGE;
pItem->maImage = rImage;
ImplInsertItem( std::move(pItem), VALUESET_APPEND );
}
void SvtValueSet::InsertItem( sal_uInt16 nItemId, const Image& rImage,
const OUString& rText, size_t nPos )
{
diff --git a/svtools/source/dialogs/wizardmachine.cxx b/svtools/source/dialogs/wizardmachine.cxx
index b1bbb41..e76aa42 100644
--- a/svtools/source/dialogs/wizardmachine.cxx
+++ b/svtools/source/dialogs/wizardmachine.cxx
@@ -23,25 +23,36 @@
#include <tools/diagnose_ex.h>
#include <svtools/svtresid.hxx>
#include <svtools/strings.hrc>
#include <vcl/svapp.hxx>
namespace svt
{
//= WizardPageImplData
OWizardPage::OWizardPage(vcl::Window *pParent, const OString& rID,
const OUString& rUIXMLDescription)
: TabPage(pParent, rID, rUIXMLDescription)
{
}
OWizardPage::OWizardPage(TabPageParent pParent, const OUString& rUIXMLDescription, const OString& rID)
: TabPage(pParent.pPage ? Application::GetDefDialogParent() : pParent.pParent.get()) //just drag this along hidden in this scenario
, m_xBuilder(pParent.pPage ? Application::CreateBuilder(pParent.pPage, rUIXMLDescription)
: Application::CreateInterimBuilder(this, rUIXMLDescription))
, m_xContainer(m_xBuilder->weld_container(rID))
{
}
OWizardPage::~OWizardPage()
{
disposeOnce();
}
void OWizardPage::dispose()
{
m_xBuilder.reset();
TabPage::dispose();
}
void OWizardPage::initializePage()
{
}
diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx
index d3b522b..1141e40 100644
--- a/vcl/unx/gtk3/gtk3gtkinst.cxx
+++ b/vcl/unx/gtk3/gtk3gtkinst.cxx
@@ -4152,6 +4152,30 @@ public:
gtk_widget_set_size_request(m_pWidget, nWidth, nHeight);
}
virtual void set_visible(bool visible) override
{
GtkWidget* pParent = gtk_widget_get_parent(m_pWidget);
if (GTK_IS_SCROLLED_WINDOW(pParent))
gtk_widget_set_visible(pParent, visible);
gtk_widget_set_visible(m_pWidget, visible);
}
virtual void show() override
{
GtkWidget* pParent = gtk_widget_get_parent(m_pWidget);
if (GTK_IS_SCROLLED_WINDOW(pParent))
gtk_widget_show(pParent);
gtk_widget_show(m_pWidget);
}
virtual void hide() override
{
GtkWidget* pParent = gtk_widget_get_parent(m_pWidget);
if (GTK_IS_SCROLLED_WINDOW(pParent))
gtk_widget_hide(pParent);
gtk_widget_hide(m_pWidget);
}
virtual void set_selection_mode(bool bMultiple) override
{
disable_notify_events();