chart2/source/controller/dialogs/ChartTypeDialogController.cxx | 542 ++++++---- chart2/source/controller/dialogs/tp_ChartType.cxx | 36 chart2/source/controller/dialogs/tp_ChartType.hxx | 8 chart2/source/controller/sidebar/ChartTypePanel.cxx | 41 chart2/source/controller/sidebar/ChartTypePanel.hxx | 6 chart2/source/inc/ChartTypeDialogController.hxx | 46 chart2/uiconfig/ui/sidebartype.ui | 35 chart2/uiconfig/ui/tp_ChartType.ui | 38 sc/qa/uitest/chart2/tdf142851.py | 10 9 files changed, 504 insertions(+), 258 deletions(-)
New commits: commit 20e561e308e8f2b1a02b354a2901772e40d3783e Author: Parth Raiyani <[email protected]> AuthorDate: Fri Aug 29 19:41:42 2025 +0530 Commit: Szymon Kłos <[email protected]> CommitDate: Sun Sep 14 15:30:09 2025 +0200 Switch to IconView from ValueSet for chart dialogs - Updated UI in sidebartype.ui and tp_ChartType.ui to include GtkIconView - Replaced ValueSet with weld::IconView in ChartTypePanel and tp_ChartType - Update ChartTypeDialogController to work with IconView - added tooltip support - updated relevant test cases Change-Id: If68fd529dcdf320d00fcd16698d0db02ba975a22 Signed-off-by: Parth Raiyani <[email protected]> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190070 Tested-by: Jenkins CollaboraOffice <[email protected]> Reviewed-by: Szymon Kłos <[email protected]> diff --git a/chart2/source/controller/dialogs/ChartTypeDialogController.cxx b/chart2/source/controller/dialogs/ChartTypeDialogController.cxx index 33cf0edc1ffc..a2d4f2918286 100644 --- a/chart2/source/controller/dialogs/ChartTypeDialogController.cxx +++ b/chart2/source/controller/dialogs/ChartTypeDialogController.cxx @@ -35,9 +35,9 @@ #include <com/sun/star/chart2/DataPointGeometry3D.hpp> -#include <svtools/valueset.hxx> #include <vcl/image.hxx> #include <vcl/settings.hxx> +#include <vcl/virdev.hxx> #include <comphelper/diagnose_ex.hxx> @@ -346,9 +346,13 @@ void ChartTypeDialogController::commitToModel( const ChartTypeParameter& rParame } } -void ChartTypeDialogController::fillSubTypeList( ValueSet& rSubTypeList, const ChartTypeParameter& /*rParameter*/ ) +void ChartTypeDialogController::fillSubTypeList( weld::IconView& rSubTypeList, const ChartTypeParameter& /*rParameter*/ ) { - rSubTypeList.Clear(); + rSubTypeList.clear(); +} +OUString ChartTypeDialogController::getChartName( sal_Int32 /*nId*/ ) const +{ + return OUString(); } bool ChartTypeDialogController::shouldShow_3DLookControl() const { @@ -385,6 +389,20 @@ void ChartTypeDialogController::setTemplateProperties( const uno::Reference< bea { } +VclPtr<VirtualDevice> ChartTypeDialogController::getVDev(Image pImage) +{ + BitmapEx aPreviewBitmap = pImage.GetBitmapEx(); + VclPtr<VirtualDevice> pVDev = VclPtr<VirtualDevice>::Create(); + const Point aNull(0, 0); + if (pVDev->GetDPIScaleFactor() > 1) + aPreviewBitmap.Scale(pVDev->GetDPIScaleFactor(), pVDev->GetDPIScaleFactor()); + const Size aSize(aPreviewBitmap.GetSizePixel()); + pVDev->SetOutputSizePixel(aSize); + pVDev->DrawBitmapEx(aNull, aPreviewBitmap); + + return pVDev; +} + ColumnOrBarChartDialogController_Base::ColumnOrBarChartDialogController_Base() { } @@ -434,51 +452,69 @@ 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( weld::IconView& rSubTypeList, const ChartTypeParameter& rParameter ) { - rSubTypeList.Clear(); + rSubTypeList.clear(); + + OUString normalText = SchResId( STR_NORMAL ); + OUString stackedText = SchResId( STR_STACKED ); + OUString percentText = SchResId( STR_PERCENT ); + OUString deepText = SchResId( STR_DEEP ); if( rParameter.b3DLook ) { switch(rParameter.nGeometry3D) { case DataPointGeometry3D::CYLINDER: - rSubTypeList.InsertItem(1, Image(StockImage::Yes, BMP_SAEULE_3D_1)); - rSubTypeList.InsertItem(2, Image(StockImage::Yes, BMP_SAEULE_3D_2)); - rSubTypeList.InsertItem(3, Image(StockImage::Yes, BMP_SAEULE_3D_3)); - rSubTypeList.InsertItem(4, Image(StockImage::Yes, BMP_SAEULE_3D_4)); + rSubTypeList.append("1", normalText, getVDev(Image(StockImage::Yes, BMP_SAEULE_3D_1))); + rSubTypeList.append("2", stackedText, getVDev(Image(StockImage::Yes, BMP_SAEULE_3D_2))); + rSubTypeList.append("3", percentText, getVDev(Image(StockImage::Yes, BMP_SAEULE_3D_3))); + rSubTypeList.append("4", deepText, getVDev(Image(StockImage::Yes, BMP_SAEULE_3D_4))); break; case DataPointGeometry3D::CONE: - rSubTypeList.InsertItem(1, Image(StockImage::Yes, BMP_KEGEL_3D_1)); - rSubTypeList.InsertItem(2, Image(StockImage::Yes, BMP_KEGEL_3D_2)); - rSubTypeList.InsertItem(3, Image(StockImage::Yes, BMP_KEGEL_3D_3)); - rSubTypeList.InsertItem(4, Image(StockImage::Yes, BMP_KEGEL_3D_4)); + rSubTypeList.append("1", normalText, getVDev(Image(StockImage::Yes, BMP_KEGEL_3D_1))); + rSubTypeList.append("2", stackedText, getVDev(Image(StockImage::Yes, BMP_KEGEL_3D_2))); + rSubTypeList.append("3", percentText, getVDev(Image(StockImage::Yes, BMP_KEGEL_3D_3))); + rSubTypeList.append("4", deepText, getVDev(Image(StockImage::Yes, BMP_KEGEL_3D_4))); break; case DataPointGeometry3D::PYRAMID: - rSubTypeList.InsertItem(1, Image(StockImage::Yes, BMP_PYRAMID_3D_1)); - rSubTypeList.InsertItem(2, Image(StockImage::Yes, BMP_PYRAMID_3D_2)); - rSubTypeList.InsertItem(3, Image(StockImage::Yes, BMP_PYRAMID_3D_3)); - rSubTypeList.InsertItem(4, Image(StockImage::Yes, BMP_PYRAMID_3D_4)); + rSubTypeList.append("1", normalText, getVDev(Image(StockImage::Yes, BMP_PYRAMID_3D_1))); + rSubTypeList.append("2", stackedText, getVDev(Image(StockImage::Yes, BMP_PYRAMID_3D_2))); + rSubTypeList.append("3", percentText, getVDev(Image(StockImage::Yes, BMP_PYRAMID_3D_3))); + rSubTypeList.append("4", deepText, getVDev(Image(StockImage::Yes, BMP_PYRAMID_3D_4))); break; default: //DataPointGeometry3D::CUBOID: - rSubTypeList.InsertItem(1, Image(StockImage::Yes, BMP_COLUMNS_3D_1)); - rSubTypeList.InsertItem(2, Image(StockImage::Yes, BMP_COLUMNS_3D_2)); - rSubTypeList.InsertItem(3, Image(StockImage::Yes, BMP_COLUMNS_3D_3)); - rSubTypeList.InsertItem(4, Image(StockImage::Yes, BMP_COLUMNS_3D)); + rSubTypeList.append("1", normalText, getVDev(Image(StockImage::Yes, BMP_COLUMNS_3D_1))); + rSubTypeList.append("2", stackedText, getVDev(Image(StockImage::Yes, BMP_COLUMNS_3D_2))); + rSubTypeList.append("3", percentText, getVDev(Image(StockImage::Yes, BMP_COLUMNS_3D_3))); + rSubTypeList.append("4", deepText, getVDev(Image(StockImage::Yes, BMP_COLUMNS_3D))); break; } } else { - rSubTypeList.InsertItem(1, Image(StockImage::Yes, BMP_COLUMNS_2D_1)); - rSubTypeList.InsertItem(2, Image(StockImage::Yes, BMP_COLUMNS_2D_2)); - rSubTypeList.InsertItem(3, Image(StockImage::Yes, BMP_COLUMNS_2D_3)); + rSubTypeList.append("1", normalText, getVDev(Image(StockImage::Yes, BMP_COLUMNS_2D_1))); + rSubTypeList.append("2", stackedText, getVDev(Image(StockImage::Yes, BMP_COLUMNS_2D_2))); + rSubTypeList.append("3", percentText, getVDev(Image(StockImage::Yes, BMP_COLUMNS_2D_3))); } +} - rSubTypeList.SetItemText( 1, SchResId( STR_NORMAL ) ); - rSubTypeList.SetItemText( 2, SchResId( STR_STACKED ) ); - rSubTypeList.SetItemText( 3, SchResId( STR_PERCENT ) ); - rSubTypeList.SetItemText( 4, SchResId( STR_DEEP ) ); +OUString ColumnChartDialogController::getChartName( sal_Int32 nId ) const +{ + switch (nId) + { + case 1: + return SchResId( STR_NORMAL ); + case 2: + return SchResId( STR_STACKED ); + case 3: + return SchResId( STR_PERCENT ); + case 4: + return SchResId( STR_DEEP ); + default: + break; + } + return OUString(); } BarChartDialogController::BarChartDialogController() @@ -511,50 +547,69 @@ 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( weld::IconView& rSubTypeList, const ChartTypeParameter& rParameter ) { - rSubTypeList.Clear(); + rSubTypeList.clear(); + + OUString normalText = SchResId( STR_NORMAL ); + OUString stackedText = SchResId( STR_STACKED ); + OUString percentText = SchResId( STR_PERCENT ); + OUString deepText = SchResId( STR_DEEP ); if( rParameter.b3DLook ) { switch(rParameter.nGeometry3D) { case DataPointGeometry3D::CYLINDER: - rSubTypeList.InsertItem(1, Image(StockImage::Yes, BMP_ROEHRE_3D_1)); - rSubTypeList.InsertItem(2, Image(StockImage::Yes, BMP_ROEHRE_3D_2)); - rSubTypeList.InsertItem(3, Image(StockImage::Yes, BMP_ROEHRE_3D_3)); - rSubTypeList.InsertItem(4, Image(StockImage::Yes, BMP_ROEHRE_3D_4)); + rSubTypeList.append("1", normalText, getVDev(Image(StockImage::Yes, BMP_ROEHRE_3D_1))); + rSubTypeList.append("2", stackedText, getVDev(Image(StockImage::Yes, BMP_ROEHRE_3D_2))); + rSubTypeList.append("3", percentText, getVDev(Image(StockImage::Yes, BMP_ROEHRE_3D_3))); + rSubTypeList.append("4", deepText, getVDev(Image(StockImage::Yes, BMP_ROEHRE_3D_4))); break; case DataPointGeometry3D::CONE: - rSubTypeList.InsertItem(1, Image(StockImage::Yes, BMP_KEGELQ_3D_1)); - rSubTypeList.InsertItem(2, Image(StockImage::Yes, BMP_KEGELQ_3D_2)); - rSubTypeList.InsertItem(3, Image(StockImage::Yes, BMP_KEGELQ_3D_3)); - rSubTypeList.InsertItem(4, Image(StockImage::Yes, BMP_KEGELQ_3D_4)); + rSubTypeList.append("1", normalText, getVDev(Image(StockImage::Yes, BMP_KEGELQ_3D_1))); + rSubTypeList.append("2", stackedText, getVDev(Image(StockImage::Yes, BMP_KEGELQ_3D_2))); + rSubTypeList.append("3", percentText, getVDev(Image(StockImage::Yes, BMP_KEGELQ_3D_3))); + rSubTypeList.append("4", deepText, getVDev(Image(StockImage::Yes, BMP_KEGELQ_3D_4))); break; case DataPointGeometry3D::PYRAMID: - rSubTypeList.InsertItem(1, Image(StockImage::Yes, BMP_PYRAMIDQ_3D_1)); - rSubTypeList.InsertItem(2, Image(StockImage::Yes, BMP_PYRAMIDQ_3D_2)); - rSubTypeList.InsertItem(3, Image(StockImage::Yes, BMP_PYRAMIDQ_3D_3)); - rSubTypeList.InsertItem(4, Image(StockImage::Yes, BMP_PYRAMIDQ_3D_4)); + rSubTypeList.append("1", normalText, getVDev(Image(StockImage::Yes, BMP_PYRAMIDQ_3D_1))); + rSubTypeList.append("2", stackedText, getVDev(Image(StockImage::Yes, BMP_PYRAMIDQ_3D_2))); + rSubTypeList.append("3", percentText, getVDev(Image(StockImage::Yes, BMP_PYRAMIDQ_3D_3))); + rSubTypeList.append("4", deepText, getVDev(Image(StockImage::Yes, BMP_PYRAMIDQ_3D_4))); break; default: //DataPointGeometry3D::CUBOID: - rSubTypeList.InsertItem(1, Image(StockImage::Yes, BMP_BARS_3D_1)); - rSubTypeList.InsertItem(2, Image(StockImage::Yes, BMP_BARS_3D_2)); - rSubTypeList.InsertItem(3, Image(StockImage::Yes, BMP_BARS_3D_3)); - rSubTypeList.InsertItem(4, Image(StockImage::Yes, BMP_BARS_3D)); + rSubTypeList.append("1", normalText, getVDev(Image(StockImage::Yes, BMP_BARS_3D_1))); + rSubTypeList.append("2", stackedText, getVDev(Image(StockImage::Yes, BMP_BARS_3D_2))); + rSubTypeList.append("3", percentText, getVDev(Image(StockImage::Yes, BMP_BARS_3D_3))); + rSubTypeList.append("4", deepText, getVDev(Image(StockImage::Yes, BMP_BARS_3D))); break; } } else { - rSubTypeList.InsertItem(1, Image(StockImage::Yes, BMP_BARS_2D_1)); - rSubTypeList.InsertItem(2, Image(StockImage::Yes, BMP_BARS_2D_2)); - rSubTypeList.InsertItem(3, Image(StockImage::Yes, BMP_BARS_2D_3)); + rSubTypeList.append("1", normalText, getVDev(Image(StockImage::Yes, BMP_BARS_2D_1))); + rSubTypeList.append("2", stackedText, getVDev(Image(StockImage::Yes, BMP_BARS_2D_2))); + rSubTypeList.append("3", percentText, getVDev(Image(StockImage::Yes, BMP_BARS_2D_3))); + } +} + +OUString BarChartDialogController::getChartName( sal_Int32 nId ) const +{ + switch (nId) + { + case 1: + return SchResId( STR_NORMAL ); + case 2: + return SchResId( STR_STACKED ); + case 3: + return SchResId( STR_PERCENT ); + case 4: + return SchResId( STR_DEEP ); + default: + break; } - rSubTypeList.SetItemText( 1, SchResId( STR_NORMAL ) ); - rSubTypeList.SetItemText( 2, SchResId( STR_STACKED ) ); - rSubTypeList.SetItemText( 3, SchResId( STR_PERCENT ) ); - rSubTypeList.SetItemText( 4, SchResId( STR_DEEP ) ); + return OUString(); } //========= @@ -592,28 +647,29 @@ 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( weld::IconView& rSubTypeList, const ChartTypeParameter& rParameter ) { - rSubTypeList.Clear(); + rSubTypeList.clear(); + + OUString normalText = SchResId( STR_NORMAL ); + OUString explodedText = SchResId( STR_PIE_EXPLODED ); + OUString donutText = SchResId( STR_DONUT ); + OUString donutExplodedText = SchResId( STR_DONUT_EXPLODED ); if( rParameter.b3DLook ) { - rSubTypeList.InsertItem(1, Image(StockImage::Yes, BMP_CIRCLES_3D)); - rSubTypeList.InsertItem(2, Image(StockImage::Yes, BMP_CIRCLES_3D_EXPLODED)); - rSubTypeList.InsertItem(3, Image(StockImage::Yes, BMP_DONUT_3D)); - rSubTypeList.InsertItem(4, Image(StockImage::Yes, BMP_DONUT_3D_EXPLODED)); + rSubTypeList.append("1", normalText, getVDev(Image(StockImage::Yes, BMP_CIRCLES_3D))); + rSubTypeList.append("2", explodedText, getVDev(Image(StockImage::Yes, BMP_CIRCLES_3D_EXPLODED))); + rSubTypeList.append("3", donutText, getVDev(Image(StockImage::Yes, BMP_DONUT_3D))); + rSubTypeList.append("4", donutExplodedText, getVDev(Image(StockImage::Yes, BMP_DONUT_3D_EXPLODED))); } else { - rSubTypeList.InsertItem(1, Image(StockImage::Yes, BMP_CIRCLES_2D)); - rSubTypeList.InsertItem(2, Image(StockImage::Yes, BMP_CIRCLES_2D_EXPLODED)); - rSubTypeList.InsertItem(3, Image(StockImage::Yes, BMP_DONUT_2D)); - rSubTypeList.InsertItem(4, Image(StockImage::Yes, BMP_DONUT_2D_EXPLODED)); + rSubTypeList.append("1", normalText, getVDev(Image(StockImage::Yes, BMP_CIRCLES_2D))); + rSubTypeList.append("2", explodedText, getVDev(Image(StockImage::Yes, BMP_CIRCLES_2D_EXPLODED))); + rSubTypeList.append("3", donutText, getVDev(Image(StockImage::Yes, BMP_DONUT_2D))); + rSubTypeList.append("4", donutExplodedText, getVDev(Image(StockImage::Yes, BMP_DONUT_2D_EXPLODED))); } - rSubTypeList.SetItemText( 1, SchResId( STR_NORMAL ) ); - rSubTypeList.SetItemText( 2, SchResId( STR_PIE_EXPLODED ) ); - rSubTypeList.SetItemText( 3, SchResId( STR_DONUT ) ); - rSubTypeList.SetItemText( 4, SchResId( STR_DONUT_EXPLODED ) ); } bool PieChartDialogController::shouldShow_3DLookControl() const @@ -621,6 +677,24 @@ bool PieChartDialogController::shouldShow_3DLookControl() const return true; } +OUString PieChartDialogController::getChartName( sal_Int32 nId ) const +{ + switch (nId) + { + case 1: + return SchResId( STR_NORMAL ); + case 2: + return SchResId( STR_PIE_EXPLODED ); + case 3: + return SchResId( STR_DONUT ); + case 4: + return SchResId( STR_DONUT_EXPLODED ); + default: + break; + } + return OUString(); +} + void PieChartDialogController::adjustParameterToSubType( ChartTypeParameter& rParameter ) { if(rParameter.eStackMode==GlobalStackMode_STACK_Z) @@ -656,14 +730,29 @@ const tTemplateServiceChartTypeParameterMap& OfPieChartDialogController::getTemp {"com.sun.star.chart2.template.PieOfPie" , ChartTypeParameter(2,false,false)}}; return s_aTemplateMap; } -void OfPieChartDialogController::fillSubTypeList( ValueSet& rSubTypeList, const ChartTypeParameter& /*rParameter*/ ) +void OfPieChartDialogController::fillSubTypeList( weld::IconView& rSubTypeList, const ChartTypeParameter& /*rParameter*/ ) { - rSubTypeList.Clear(); + rSubTypeList.clear(); + + OUString barOfPieText = SchResId( STR_BAR_OF_PIE ); + OUString pieOfPieText = SchResId( STR_PIE_OF_PIE ); + + rSubTypeList.append("1", barOfPieText, getVDev(Image(StockImage::Yes, BMP_BAR_OF_PIE))); + rSubTypeList.append("2", pieOfPieText, getVDev(Image(StockImage::Yes, BMP_PIE_OF_PIE))); +} - rSubTypeList.InsertItem(1, Image(StockImage::Yes, BMP_BAR_OF_PIE)); - rSubTypeList.InsertItem(2, Image(StockImage::Yes, BMP_PIE_OF_PIE)); - rSubTypeList.SetItemText( 1, SchResId( STR_BAR_OF_PIE ) ); - rSubTypeList.SetItemText( 2, SchResId( STR_PIE_OF_PIE ) ); +OUString OfPieChartDialogController::getChartName( sal_Int32 nId ) const +{ + switch (nId) + { + case 1: + return SchResId( STR_BAR_OF_PIE ); + case 2: + return SchResId( STR_PIE_OF_PIE ); + default: + break; + } + return OUString(); } bool OfPieChartDialogController::shouldShow_3DLookControl() const @@ -814,9 +903,14 @@ 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( weld::IconView& rSubTypeList, const ChartTypeParameter& rParameter ) { - rSubTypeList.Clear(); + rSubTypeList.clear(); + + OUString pointsOnlyText = SchResId( STR_POINTS_ONLY ); + OUString pointsAndLinesText = SchResId( STR_POINTS_AND_LINES ); + OUString linesOnlyText = SchResId( STR_LINES_ONLY ); + OUString lines3DText = SchResId( STR_LINES_3D ); switch( rParameter.eCurveStyle ) { @@ -824,17 +918,17 @@ void LineChartDialogController::fillSubTypeList( ValueSet& rSubTypeList, const C case CurveStyle_B_SPLINES: if( rParameter.eStackMode == GlobalStackMode_NONE || rParameter.eStackMode == GlobalStackMode_STACK_Z ) { - rSubTypeList.InsertItem(1, Image(StockImage::Yes, BMP_POINTS_XCATEGORY)); - rSubTypeList.InsertItem(2, Image(StockImage::Yes, BMP_LINE_P_XCATEGORY_SMOOTH)); - rSubTypeList.InsertItem(3, Image(StockImage::Yes, BMP_LINE_O_XCATEGORY_SMOOTH)); - rSubTypeList.InsertItem(4, Image(StockImage::Yes, BMP_LINE3D_XCATEGORY_SMOOTH)); + rSubTypeList.append("1", pointsOnlyText, getVDev(Image(StockImage::Yes, BMP_POINTS_XCATEGORY))); + rSubTypeList.append("2", pointsAndLinesText, getVDev(Image(StockImage::Yes, BMP_LINE_P_XCATEGORY_SMOOTH))); + rSubTypeList.append("3", linesOnlyText, getVDev(Image(StockImage::Yes, BMP_LINE_O_XCATEGORY_SMOOTH))); + rSubTypeList.append("4", lines3DText, getVDev(Image(StockImage::Yes, BMP_LINE3D_XCATEGORY_SMOOTH))); } else { - rSubTypeList.InsertItem(1, Image(StockImage::Yes, BMP_POINTS_STACKED)); - rSubTypeList.InsertItem(2, Image(StockImage::Yes, BMP_LINE_P_STACKED_SMOOTH)); - rSubTypeList.InsertItem(3, Image(StockImage::Yes, BMP_LINE_O_STACKED_SMOOTH)); - rSubTypeList.InsertItem(4, Image(StockImage::Yes, BMP_LINE3D_STACKED_SMOOTH)); + rSubTypeList.append("1", pointsOnlyText, getVDev(Image(StockImage::Yes, BMP_POINTS_STACKED))); + rSubTypeList.append("2", pointsAndLinesText, getVDev(Image(StockImage::Yes, BMP_LINE_P_STACKED_SMOOTH))); + rSubTypeList.append("3", linesOnlyText, getVDev(Image(StockImage::Yes, BMP_LINE_O_STACKED_SMOOTH))); + rSubTypeList.append("4", lines3DText, getVDev(Image(StockImage::Yes, BMP_LINE3D_STACKED_SMOOTH))); } break; case CurveStyle_STEP_START: @@ -843,41 +937,53 @@ void LineChartDialogController::fillSubTypeList( ValueSet& rSubTypeList, const C case CurveStyle_STEP_CENTER_Y: if( rParameter.eStackMode == GlobalStackMode_NONE || rParameter.eStackMode == GlobalStackMode_STACK_Z ) { - rSubTypeList.InsertItem(1, Image(StockImage::Yes, BMP_POINTS_XCATEGORY)); - rSubTypeList.InsertItem(2, Image(StockImage::Yes, BMP_LINE_P_XCATEGORY_STEPPED)); - rSubTypeList.InsertItem(3, Image(StockImage::Yes, BMP_LINE_O_XCATEGORY_STEPPED)); - rSubTypeList.InsertItem(4, Image(StockImage::Yes, BMP_LINE3D_XCATEGORY_STEPPED)); + rSubTypeList.append("1", pointsOnlyText, getVDev(Image(StockImage::Yes, BMP_POINTS_XCATEGORY))); + rSubTypeList.append("2", pointsAndLinesText, getVDev(Image(StockImage::Yes, BMP_LINE_P_XCATEGORY_STEPPED))); + rSubTypeList.append("3", linesOnlyText, getVDev(Image(StockImage::Yes, BMP_LINE_O_XCATEGORY_STEPPED))); + rSubTypeList.append("4", lines3DText, getVDev(Image(StockImage::Yes, BMP_LINE3D_XCATEGORY_STEPPED))); } else { - rSubTypeList.InsertItem(1, Image(StockImage::Yes, BMP_POINTS_STACKED)); - rSubTypeList.InsertItem(2, Image(StockImage::Yes, BMP_LINE_P_STACKED_STEPPED)); - rSubTypeList.InsertItem(3, Image(StockImage::Yes, BMP_LINE_O_STACKED_STEPPED)); - rSubTypeList.InsertItem(4, Image(StockImage::Yes, BMP_LINE3D_STACKED_STEPPED)); + rSubTypeList.append("1", pointsOnlyText, getVDev(Image(StockImage::Yes, BMP_POINTS_STACKED))); + rSubTypeList.append("2", pointsAndLinesText, getVDev(Image(StockImage::Yes, BMP_LINE_P_STACKED_STEPPED))); + rSubTypeList.append("3", linesOnlyText, getVDev(Image(StockImage::Yes, BMP_LINE_O_STACKED_STEPPED))); + rSubTypeList.append("4", lines3DText, getVDev(Image(StockImage::Yes, BMP_LINE3D_STACKED_STEPPED))); } break; default: // includes CurveStyle_LINES //direct lines if( rParameter.eStackMode == GlobalStackMode_NONE || rParameter.eStackMode == GlobalStackMode_STACK_Z ) { - rSubTypeList.InsertItem(1, Image(StockImage::Yes, BMP_POINTS_XCATEGORY)); - rSubTypeList.InsertItem(2, Image(StockImage::Yes, BMP_LINE_P_XCATEGORY)); - rSubTypeList.InsertItem(3, Image(StockImage::Yes, BMP_LINE_O_XCATEGORY)); - rSubTypeList.InsertItem(4, Image(StockImage::Yes, BMP_LINE3D_XCATEGORY)); + rSubTypeList.append("1", pointsOnlyText, getVDev(Image(StockImage::Yes, BMP_POINTS_XCATEGORY))); + rSubTypeList.append("2", pointsAndLinesText, getVDev(Image(StockImage::Yes, BMP_LINE_P_XCATEGORY))); + rSubTypeList.append("3", linesOnlyText, getVDev(Image(StockImage::Yes, BMP_LINE_O_XCATEGORY))); + rSubTypeList.append("4", lines3DText, getVDev(Image(StockImage::Yes, BMP_LINE3D_XCATEGORY))); } else { - rSubTypeList.InsertItem(1, Image(StockImage::Yes, BMP_POINTS_STACKED)); - rSubTypeList.InsertItem(2, Image(StockImage::Yes, BMP_LINE_P_STACKED)); - rSubTypeList.InsertItem(3, Image(StockImage::Yes, BMP_LINE_O_STACKED)); - rSubTypeList.InsertItem(4, Image(StockImage::Yes, BMP_LINE3D_STACKED)); + rSubTypeList.append("1", pointsOnlyText, getVDev(Image(StockImage::Yes, BMP_POINTS_STACKED))); + rSubTypeList.append("2", pointsAndLinesText, getVDev(Image(StockImage::Yes, BMP_LINE_P_STACKED))); + rSubTypeList.append("3", linesOnlyText, getVDev(Image(StockImage::Yes, BMP_LINE_O_STACKED))); + rSubTypeList.append("4", lines3DText, getVDev(Image(StockImage::Yes, BMP_LINE3D_STACKED))); } } - - rSubTypeList.SetItemText( 1, SchResId( STR_POINTS_ONLY ) ); - rSubTypeList.SetItemText( 2, SchResId( STR_POINTS_AND_LINES ) ); - rSubTypeList.SetItemText( 3, SchResId( STR_LINES_ONLY ) ); - rSubTypeList.SetItemText( 4, SchResId( STR_LINES_3D ) ); +} +OUString LineChartDialogController::getChartName( sal_Int32 nId ) const +{ + switch (nId) + { + case 1: + return SchResId( STR_POINTS_ONLY ); + case 2: + return SchResId( STR_POINTS_AND_LINES ); + case 3: + return SchResId( STR_LINES_ONLY ); + case 4: + return SchResId( STR_LINES_3D ); + default: + break; + } + return OUString(); } bool LineChartDialogController::shouldShow_StackingControl() const { @@ -954,19 +1060,24 @@ const tTemplateServiceChartTypeParameterMap& XYChartDialogController::getTemplat return s_aTemplateMap; } -void XYChartDialogController::fillSubTypeList( ValueSet& rSubTypeList, const ChartTypeParameter& rParameter ) +void XYChartDialogController::fillSubTypeList( weld::IconView& rSubTypeList, const ChartTypeParameter& rParameter ) { - rSubTypeList.Clear(); + rSubTypeList.clear(); + + OUString pointsOnlyText = SchResId( STR_POINTS_ONLY ); + OUString pointsAndLinesText = SchResId( STR_POINTS_AND_LINES ); + OUString linesOnlyText = SchResId( STR_LINES_ONLY ); + OUString lines3DText = SchResId( STR_LINES_3D ); switch (rParameter.eCurveStyle) { case CurveStyle_CUBIC_SPLINES: case CurveStyle_B_SPLINES: { - rSubTypeList.InsertItem(1, Image(StockImage::Yes, BMP_POINTS_XVALUES)); - rSubTypeList.InsertItem(2, Image(StockImage::Yes, BMP_LINE_P_XVALUES_SMOOTH)); - rSubTypeList.InsertItem(3, Image(StockImage::Yes, BMP_LINE_O_XVALUES_SMOOTH)); - rSubTypeList.InsertItem(4, Image(StockImage::Yes, BMP_LINE3D_XVALUES_SMOOTH)); + rSubTypeList.append("1", pointsOnlyText, getVDev(Image(StockImage::Yes, BMP_POINTS_XVALUES))); + rSubTypeList.append("2", pointsAndLinesText, getVDev(Image(StockImage::Yes, BMP_LINE_P_XVALUES_SMOOTH))); + rSubTypeList.append("3", linesOnlyText, getVDev(Image(StockImage::Yes, BMP_LINE_O_XVALUES_SMOOTH))); + rSubTypeList.append("4", lines3DText, getVDev(Image(StockImage::Yes, BMP_LINE3D_XVALUES_SMOOTH))); break; } case CurveStyle_STEP_START: @@ -974,23 +1085,35 @@ void XYChartDialogController::fillSubTypeList( ValueSet& rSubTypeList, const Cha case CurveStyle_STEP_CENTER_X: case CurveStyle_STEP_CENTER_Y: { - rSubTypeList.InsertItem(1, Image(StockImage::Yes, BMP_POINTS_XVALUES)); - rSubTypeList.InsertItem(2, Image(StockImage::Yes, BMP_LINE_P_XVALUES_STEPPED)); - rSubTypeList.InsertItem(3, Image(StockImage::Yes, BMP_LINE_O_XVALUES_STEPPED)); - rSubTypeList.InsertItem(4, Image(StockImage::Yes, BMP_LINE3D_XVALUES_STEPPED)); + rSubTypeList.append("1", pointsOnlyText, getVDev(Image(StockImage::Yes, BMP_POINTS_XVALUES))); + rSubTypeList.append("2", pointsAndLinesText, getVDev(Image(StockImage::Yes, BMP_LINE_P_XVALUES_STEPPED))); + rSubTypeList.append("3", linesOnlyText, getVDev(Image(StockImage::Yes, BMP_LINE_O_XVALUES_STEPPED))); + rSubTypeList.append("4", lines3DText, getVDev(Image(StockImage::Yes, BMP_LINE3D_XVALUES_STEPPED))); break; } default: // includes CurveStyle_LINES - rSubTypeList.InsertItem(1, Image(StockImage::Yes, BMP_POINTS_XVALUES)); - rSubTypeList.InsertItem(2, Image(StockImage::Yes, BMP_LINE_P_XVALUES)); - rSubTypeList.InsertItem(3, Image(StockImage::Yes, BMP_LINE_O_XVALUES)); - rSubTypeList.InsertItem(4, Image(StockImage::Yes, BMP_LINE3D_XVALUES)); + rSubTypeList.append("1", pointsOnlyText, getVDev(Image(StockImage::Yes, BMP_POINTS_XVALUES))); + rSubTypeList.append("2", pointsAndLinesText, getVDev(Image(StockImage::Yes, BMP_LINE_P_XVALUES))); + rSubTypeList.append("3", linesOnlyText, getVDev(Image(StockImage::Yes, BMP_LINE_O_XVALUES))); + rSubTypeList.append("4", lines3DText, getVDev(Image(StockImage::Yes, BMP_LINE3D_XVALUES))); } - - rSubTypeList.SetItemText( 1, SchResId( STR_POINTS_ONLY ) ); - rSubTypeList.SetItemText( 2, SchResId( STR_POINTS_AND_LINES ) ); - rSubTypeList.SetItemText( 3, SchResId( STR_LINES_ONLY ) ); - rSubTypeList.SetItemText( 4, SchResId( STR_LINES_3D ) ); +} +OUString XYChartDialogController::getChartName( sal_Int32 nId ) const +{ + switch (nId) + { + case 1: + return SchResId( STR_POINTS_ONLY ); + case 2: + return SchResId( STR_POINTS_AND_LINES ); + case 3: + return SchResId( STR_LINES_ONLY ); + case 4: + return SchResId( STR_LINES_3D ); + default: + break; + } + return OUString(); } bool XYChartDialogController::shouldShow_SplineControl() const { @@ -1064,26 +1187,42 @@ const tTemplateServiceChartTypeParameterMap& AreaChartDialogController::getTempl return s_aTemplateMap; } -void AreaChartDialogController::fillSubTypeList( ValueSet& rSubTypeList, const ChartTypeParameter& rParameter ) +void AreaChartDialogController::fillSubTypeList( weld::IconView& rSubTypeList, const ChartTypeParameter& rParameter ) { - rSubTypeList.Clear(); + rSubTypeList.clear(); + m_b3DLook = rParameter.b3DLook; + + OUString firstText = SchResId( m_b3DLook ? STR_DEEP : STR_NORMAL ); + OUString stackedText = SchResId( STR_STACKED ); + OUString percentText = SchResId( STR_PERCENT ); if( rParameter.b3DLook ) { - rSubTypeList.InsertItem(1, Image(StockImage::Yes, BMP_AREAS_3D)); - rSubTypeList.InsertItem(2, Image(StockImage::Yes, BMP_AREAS_3D_1)); - rSubTypeList.InsertItem(3, Image(StockImage::Yes, BMP_AREAS_3D_2)); + rSubTypeList.append("1", firstText, getVDev(Image(StockImage::Yes, BMP_AREAS_3D))); + rSubTypeList.append("2", stackedText, getVDev(Image(StockImage::Yes, BMP_AREAS_3D_1))); + rSubTypeList.append("3", percentText, getVDev(Image(StockImage::Yes, BMP_AREAS_3D_2))); } else { - rSubTypeList.InsertItem(1, Image(StockImage::Yes, BMP_AREAS_2D_1)); - rSubTypeList.InsertItem(2, Image(StockImage::Yes, BMP_AREAS_2D)); - rSubTypeList.InsertItem(3, Image(StockImage::Yes, BMP_AREAS_2D_3)); + rSubTypeList.append("1", firstText, getVDev(Image(StockImage::Yes, BMP_AREAS_2D_1))); + rSubTypeList.append("2", stackedText, getVDev(Image(StockImage::Yes, BMP_AREAS_2D))); + rSubTypeList.append("3", percentText, getVDev(Image(StockImage::Yes, BMP_AREAS_2D_3))); } - - rSubTypeList.SetItemText( 1, SchResId( rParameter.b3DLook ? STR_DEEP : STR_NORMAL ) ); - rSubTypeList.SetItemText( 2, SchResId( STR_STACKED ) ); - rSubTypeList.SetItemText( 3, SchResId( STR_PERCENT ) ); +} +OUString AreaChartDialogController::getChartName( sal_Int32 nId ) const +{ + switch (nId) + { + case 1: + return SchResId( m_b3DLook ? STR_DEEP : STR_NORMAL ); + case 2: + return SchResId( STR_STACKED ); + case 3: + return SchResId( STR_PERCENT ); + default: + break; + } + return OUString(); } void AreaChartDialogController::adjustParameterToSubType( ChartTypeParameter& rParameter ) { @@ -1160,29 +1299,46 @@ 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( weld::IconView& rSubTypeList, const ChartTypeParameter& rParameter ) { - rSubTypeList.Clear(); + rSubTypeList.clear(); + + OUString pointsOnlyText = SchResId( STR_POINTS_ONLY ); + OUString pointsAndLinesText = SchResId( STR_POINTS_AND_LINES ); + OUString linesOnlyText = SchResId( STR_LINES_ONLY ); + OUString filledText = SchResId( STR_FILLED ); if( rParameter.eStackMode == GlobalStackMode_NONE ) { - rSubTypeList.InsertItem(1, Image(StockImage::Yes, BMP_NET_SYMB)); - rSubTypeList.InsertItem(2, Image(StockImage::Yes, BMP_NET_LINESYMB)); - rSubTypeList.InsertItem(3, Image(StockImage::Yes, BMP_NET)); - rSubTypeList.InsertItem(4, Image(StockImage::Yes, BMP_NET_FILL)); + rSubTypeList.append("1", pointsOnlyText, getVDev(Image(StockImage::Yes, BMP_NET_SYMB))); + rSubTypeList.append("2", pointsAndLinesText, getVDev(Image(StockImage::Yes, BMP_NET_LINESYMB))); + rSubTypeList.append("3", linesOnlyText, getVDev(Image(StockImage::Yes, BMP_NET))); + rSubTypeList.append("4", filledText, getVDev(Image(StockImage::Yes, BMP_NET_FILL))); } else { - rSubTypeList.InsertItem(1, Image(StockImage::Yes, BMP_NET_SYMB_STACK)); - rSubTypeList.InsertItem(2, Image(StockImage::Yes, BMP_NET_LINESYMB_STACK)); - rSubTypeList.InsertItem(3, Image(StockImage::Yes, BMP_NET_STACK)); - rSubTypeList.InsertItem(4, Image(StockImage::Yes, BMP_NET_FILL_STACK)); + rSubTypeList.append("1", pointsOnlyText, getVDev(Image(StockImage::Yes, BMP_NET_SYMB_STACK))); + rSubTypeList.append("2", pointsAndLinesText, getVDev(Image(StockImage::Yes, BMP_NET_LINESYMB_STACK))); + rSubTypeList.append("3", linesOnlyText, getVDev(Image(StockImage::Yes, BMP_NET_STACK))); + rSubTypeList.append("4", filledText, getVDev(Image(StockImage::Yes, BMP_NET_FILL_STACK))); } - - rSubTypeList.SetItemText( 1, SchResId( STR_POINTS_ONLY ) ); - rSubTypeList.SetItemText( 2, SchResId( STR_POINTS_AND_LINES ) ); - rSubTypeList.SetItemText( 3, SchResId( STR_LINES_ONLY ) ); - rSubTypeList.SetItemText( 4, SchResId( STR_FILLED ) ); +} +OUString NetChartDialogController::getChartName( sal_Int32 nId ) const +{ + switch (nId) + { + case 1: + return SchResId( STR_POINTS_ONLY ); + case 2: + return SchResId( STR_POINTS_AND_LINES ); + case 3: + return SchResId( STR_LINES_ONLY ); + case 4: + return SchResId( STR_FILLED ); + default: + break; + } + return OUString(); } void NetChartDialogController::adjustParameterToSubType( ChartTypeParameter& rParameter ) { @@ -1239,18 +1395,37 @@ const tTemplateServiceChartTypeParameterMap& StockChartDialogController::getTemp return s_aTemplateMap; } -void StockChartDialogController::fillSubTypeList( ValueSet& rSubTypeList, const ChartTypeParameter& /*rParameter*/ ) +void StockChartDialogController::fillSubTypeList( weld::IconView& rSubTypeList, const ChartTypeParameter& /*rParameter*/ ) { - rSubTypeList.Clear(); - rSubTypeList.InsertItem(1, Image(StockImage::Yes, BMP_STOCK_1)); - rSubTypeList.InsertItem(2, Image(StockImage::Yes, BMP_STOCK_2)); - rSubTypeList.InsertItem(3, Image(StockImage::Yes, BMP_STOCK_3)); - rSubTypeList.InsertItem(4, Image(StockImage::Yes, BMP_STOCK_4)); + rSubTypeList.clear(); + + OUString stock1Text = SchResId(STR_STOCK_1); + OUString stock2Text = SchResId(STR_STOCK_2); + OUString stock3Text = SchResId(STR_STOCK_3); + OUString stock4Text = SchResId(STR_STOCK_4); + + rSubTypeList.append("1", stock1Text, getVDev(Image(StockImage::Yes, BMP_STOCK_1))); + rSubTypeList.append("2", stock2Text, getVDev(Image(StockImage::Yes, BMP_STOCK_2))); + rSubTypeList.append("3", stock3Text, getVDev(Image(StockImage::Yes, BMP_STOCK_3))); + rSubTypeList.append("4", stock4Text, getVDev(Image(StockImage::Yes, BMP_STOCK_4))); +} - rSubTypeList.SetItemText( 1, SchResId(STR_STOCK_1) ); - rSubTypeList.SetItemText( 2, SchResId(STR_STOCK_2) ); - rSubTypeList.SetItemText( 3, SchResId(STR_STOCK_3) ); - rSubTypeList.SetItemText( 4, SchResId(STR_STOCK_4) ); +OUString StockChartDialogController::getChartName( sal_Int32 nId ) const +{ + switch (nId) + { + case 1: + return SchResId( STR_STOCK_1 ); + case 2: + return SchResId( STR_STOCK_2 ); + case 3: + return SchResId( STR_STOCK_3 ); + case 4: + return SchResId( STR_STOCK_4 ); + default: + break; + } + return OUString(); } void StockChartDialogController::adjustParameterToSubType( ChartTypeParameter& rParameter ) @@ -1282,14 +1457,29 @@ const tTemplateServiceChartTypeParameterMap& CombiColumnLineChartDialogControlle return s_aTemplateMap; } -void CombiColumnLineChartDialogController::fillSubTypeList( ValueSet& rSubTypeList, const ChartTypeParameter& /*rParameter*/ ) +void CombiColumnLineChartDialogController::fillSubTypeList( weld::IconView& rSubTypeList, const ChartTypeParameter& /*rParameter*/ ) { - rSubTypeList.Clear(); - rSubTypeList.InsertItem(1, Image(StockImage::Yes, BMP_COLUMN_LINE)); - rSubTypeList.InsertItem(2, Image(StockImage::Yes, BMP_COLUMN_LINE_STACKED)); + rSubTypeList.clear(); + + OUString lineColumnText = SchResId(STR_LINE_COLUMN); + OUString lineStackedColumnText = SchResId(STR_LINE_STACKEDCOLUMN); + + rSubTypeList.append("1", lineColumnText, getVDev(Image(StockImage::Yes, BMP_COLUMN_LINE))); + rSubTypeList.append("2", lineStackedColumnText, getVDev(Image(StockImage::Yes, BMP_COLUMN_LINE_STACKED))); +} - rSubTypeList.SetItemText(1, SchResId(STR_LINE_COLUMN)); - rSubTypeList.SetItemText(2, SchResId(STR_LINE_STACKEDCOLUMN)); +OUString CombiColumnLineChartDialogController::getChartName( sal_Int32 nId ) const +{ + switch (nId) + { + case 1: + return SchResId( STR_LINE_COLUMN ); + case 2: + return SchResId( STR_LINE_STACKEDCOLUMN ); + default: + break; + } + return OUString(); } void CombiColumnLineChartDialogController::showExtraControls(weld::Builder* pBuilder) @@ -1408,12 +1598,24 @@ 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( weld::IconView& rSubTypeList, const ChartTypeParameter& /*rParameter*/ ) { - rSubTypeList.Clear(); - rSubTypeList.InsertItem(1, Image(StockImage::Yes, BMP_BUBBLE_1)); + rSubTypeList.clear(); - rSubTypeList.SetItemText( 1, SchResId(STR_BUBBLE_1) ); + OUString bubble1Text = SchResId(STR_BUBBLE_1); + + rSubTypeList.append("1", bubble1Text, getVDev(Image(StockImage::Yes, BMP_BUBBLE_1))); +} +OUString BubbleChartDialogController::getChartName( sal_Int32 nId ) const +{ + switch (nId) + { + case 1: + return SchResId( STR_BUBBLE_1 ); + default: + break; + } + return OUString(); } void BubbleChartDialogController::adjustParameterToSubType( ChartTypeParameter& rParameter ) { diff --git a/chart2/source/controller/dialogs/tp_ChartType.cxx b/chart2/source/controller/dialogs/tp_ChartType.cxx index f2d854a3ad0b..a2204922107c 100644 --- a/chart2/source/controller/dialogs/tp_ChartType.cxx +++ b/chart2/source/controller/dialogs/tp_ChartType.cxx @@ -27,8 +27,6 @@ #include <Diagram.hxx> #include <unonames.hxx> -#include <svtools/valueset.hxx> - #include <utility> #include <vcl/weld.hxx> #include <vcl/outdev.hxx> @@ -54,12 +52,8 @@ ChartTypeTabPage::ChartTypeTabPage(weld::Container* pPage, weld::DialogControlle , m_aTimerTriggeredControllerLock( m_xChartModel ) , m_xFT_ChooseType(m_xBuilder->weld_label(u"FT_CAPTION_FOR_WIZARD"_ustr)) , m_xMainTypeList(m_xBuilder->weld_tree_view(u"charttype"_ustr)) - , m_xSubTypeList(new ValueSet(m_xBuilder->weld_scrolled_window(u"subtypewin"_ustr, true))) - , m_xSubTypeListWin(new weld::CustomWeld(*m_xBuilder, u"subtype"_ustr, *m_xSubTypeList)) + , m_xSubTypeList(m_xBuilder->weld_icon_view(u"subtype_iconview"_ustr)) { - 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) { m_xFT_ChooseType->show(); @@ -72,16 +66,13 @@ ChartTypeTabPage::ChartTypeTabPage(weld::Container* pPage, weld::DialogControlle SetPageTitle(SchResId(STR_PAGE_CHARTTYPE)); m_xMainTypeList->connect_changed(LINK(this, ChartTypeTabPage, SelectMainTypeHdl)); - m_xSubTypeList->SetSelectHdl( LINK( this, ChartTypeTabPage, SelectSubTypeHdl ) ); + m_xSubTypeList->connect_selection_changed( LINK( this, ChartTypeTabPage, SelectSubTypeHdl ) ); + m_xSubTypeList->connect_query_tooltip( LINK(this, ChartTypeTabPage, QueryTooltipHdl) ); - m_xSubTypeList->SetStyle(m_xSubTypeList->GetStyle() | - WB_ITEMBORDER | WB_DOUBLEBORDER | WB_NAMEFIELD | WB_FLATVALUESET | WB_3DLOOK ); // Set number of columns in chart type selector. // TODO: Ideally this would not be hard-coded, but determined // programmatically based on the maximum number of chart types across all // controllers. - m_xSubTypeList->SetColCount(4); - m_xSubTypeList->SetLineCount(1); bool bEnableComplexChartTypes = true; uno::Reference< beans::XPropertySet > xProps( static_cast<cppu::OWeakObject*>(m_xChartModel.get()), uno::UNO_QUERY ); @@ -143,14 +134,13 @@ ChartTypeTabPage::~ChartTypeTabPage() m_pSplineResourceGroup.reset(); m_pGeometryResourceGroup.reset(); m_pSortByXValuesResourceGroup.reset(); - m_xSubTypeListWin.reset(); m_xSubTypeList.reset(); } ChartTypeParameter ChartTypeTabPage::getCurrentParamter() const { ChartTypeParameter aParameter; - aParameter.nSubTypeIndex = static_cast<sal_Int32>(m_xSubTypeList->GetSelectedItemId()); + aParameter.nSubTypeIndex = m_xSubTypeList->get_selected_id().toInt32(); m_pDim3DLookResourceGroup->fillParameter( aParameter ); m_pStackingResourceGroup->fillParameter( aParameter ); m_pSplineResourceGroup->fillParameter( aParameter ); @@ -214,7 +204,7 @@ ChartTypeDialogController* ChartTypeTabPage::getSelectedMainType() return pTypeController; } -IMPL_LINK_NOARG(ChartTypeTabPage, SelectSubTypeHdl, ValueSet*, void) +IMPL_LINK_NOARG(ChartTypeTabPage, SelectSubTypeHdl, weld::IconView&, void) { if( m_pCurrentMainType ) { @@ -225,6 +215,16 @@ IMPL_LINK_NOARG(ChartTypeTabPage, SelectSubTypeHdl, ValueSet*, void) } } +IMPL_LINK(ChartTypeTabPage, QueryTooltipHdl, const weld::TreeIter&, iter, OUString) +{ + const OUString sId = m_xSubTypeList->get_id(iter); + + if(!sId.isEmpty() && m_pCurrentMainType) + return m_pCurrentMainType->getChartName(sId.toInt32()); + + return OUString(); +} + IMPL_LINK_NOARG(ChartTypeTabPage, SelectMainTypeHdl, weld::TreeView&, void) { selectMainType(); @@ -275,7 +275,7 @@ void ChartTypeTabPage::selectMainType() void ChartTypeTabPage::showAllControls( ChartTypeDialogController& rTypeController ) { m_xMainTypeList->show(); - m_xSubTypeList->Show(); + m_xSubTypeList->show(); bool bShow = rTypeController.shouldShow_3DLookControl(); m_pDim3DLookResourceGroup->showControls( bShow ); @@ -297,7 +297,7 @@ void ChartTypeTabPage::fillAllControls( const ChartTypeParameter& rParameter, bo { m_pCurrentMainType->fillSubTypeList(*m_xSubTypeList, rParameter); } - m_xSubTypeList->SelectItem( static_cast<sal_uInt16>( rParameter.nSubTypeIndex) ); + m_xSubTypeList->select( static_cast<sal_uInt16>( rParameter.nSubTypeIndex - 1) ); // Convert 1-based subtype index to 0-based index for selection m_pDim3DLookResourceGroup->fillControls( rParameter ); m_pStackingResourceGroup->fillControls( rParameter ); m_pSplineResourceGroup->fillControls( rParameter ); @@ -358,7 +358,7 @@ void ChartTypeTabPage::initializePage() if( !bFound ) { m_xMainTypeList->show(); - m_xSubTypeList->Show(); + m_xSubTypeList->show(); m_pDim3DLookResourceGroup->showControls( false ); m_pStackingResourceGroup->showControls( false ); m_pSplineResourceGroup->showControls( false ); diff --git a/chart2/source/controller/dialogs/tp_ChartType.hxx b/chart2/source/controller/dialogs/tp_ChartType.hxx index c01b599f58d5..0f9fbbbccb94 100644 --- a/chart2/source/controller/dialogs/tp_ChartType.hxx +++ b/chart2/source/controller/dialogs/tp_ChartType.hxx @@ -30,8 +30,6 @@ namespace com::sun::star::chart2 { class XChartDocument; } namespace weld { class CustomWeld; } -class ValueSet; - namespace chart { @@ -66,7 +64,8 @@ private: void selectMainType(); DECL_LINK(SelectMainTypeHdl, weld::TreeView&, void); - DECL_LINK(SelectSubTypeHdl, ValueSet*, void ); + DECL_LINK(SelectSubTypeHdl, weld::IconView&, void ); + DECL_LINK(QueryTooltipHdl, const weld::TreeIter&, OUString); std::unique_ptr<Dim3DLookResourceGroup> m_pDim3DLookResourceGroup; std::unique_ptr<StackingResourceGroup> m_pStackingResourceGroup; @@ -85,8 +84,7 @@ private: std::unique_ptr<weld::Label> m_xFT_ChooseType; std::unique_ptr<weld::TreeView> m_xMainTypeList; - std::unique_ptr<ValueSet> m_xSubTypeList; - std::unique_ptr<weld::CustomWeld> m_xSubTypeListWin; + std::unique_ptr<weld::IconView> m_xSubTypeList; }; } //namespace chart diff --git a/chart2/source/controller/sidebar/ChartTypePanel.cxx b/chart2/source/controller/sidebar/ChartTypePanel.cxx index 74c3423ebe6d..b4393de64526 100644 --- a/chart2/source/controller/sidebar/ChartTypePanel.cxx +++ b/chart2/source/controller/sidebar/ChartTypePanel.cxx @@ -29,7 +29,6 @@ #include <Diagram.hxx> #include <unonames.hxx> -#include <svtools/valueset.hxx> #include <comphelper/diagnose_ex.hxx> using namespace css; @@ -53,20 +52,11 @@ ChartTypePanel::ChartTypePanel(weld::Widget* pParent, ::chart::ChartController* , m_nChangingCalls(0) , m_aTimerTriggeredControllerLock(m_xChartModel) , m_xMainTypeList(m_xBuilder->weld_combo_box(u"cmb_chartType"_ustr)) - , m_xSubTypeList(new ValueSet(m_xBuilder->weld_scrolled_window(u"subtypewin"_ustr, true))) - , m_xSubTypeListWin(new weld::CustomWeld(*m_xBuilder, u"subtype"_ustr, *m_xSubTypeList)) + , m_xSubTypeList(m_xBuilder->weld_icon_view(u"subtype_iconview"_ustr)) { - Size aSize(m_xSubTypeList->GetDrawingArea()->get_ref_device().LogicToPixel( - Size(120, 40), MapMode(MapUnit::MapAppFont))); - m_xSubTypeListWin->set_size_request(aSize.Width(), aSize.Height()); - m_xMainTypeList->connect_changed(LINK(this, ChartTypePanel, SelectMainTypeHdl)); - m_xSubTypeList->SetSelectHdl(LINK(this, ChartTypePanel, SelectSubTypeHdl)); - - m_xSubTypeList->SetStyle(m_xSubTypeList->GetStyle() | WB_ITEMBORDER | WB_DOUBLEBORDER - | WB_NAMEFIELD | WB_FLATVALUESET | WB_3DLOOK); - m_xSubTypeList->SetColCount(4); - m_xSubTypeList->SetLineCount(1); + m_xSubTypeList->connect_selection_changed(LINK(this, ChartTypePanel, SelectSubTypeHdl)); + m_xSubTypeList->connect_query_tooltip(LINK(this, ChartTypePanel, QueryTooltipHdl)); bool bEnableComplexChartTypes = true; uno::Reference<beans::XPropertySet> xProps(static_cast<cppu::OWeakObject*>(m_xChartModel.get()), @@ -130,17 +120,14 @@ ChartTypePanel::~ChartTypePanel() m_pSplineResourceGroup.reset(); m_pGeometryResourceGroup.reset(); m_pSortByXValuesResourceGroup.reset(); - m_xSubTypeListWin.reset(); m_xSubTypeList.reset(); - m_xSubTypeListWin.reset(); - m_xSubTypeList.reset(); m_xMainTypeList.reset(); } IMPL_LINK_NOARG(ChartTypePanel, SelectMainTypeHdl, weld::ComboBox&, void) { selectMainType(); } -IMPL_LINK_NOARG(ChartTypePanel, SelectSubTypeHdl, ValueSet*, void) +IMPL_LINK_NOARG(ChartTypePanel, SelectSubTypeHdl, weld::IconView&, void) { if (m_pCurrentMainType) { @@ -151,6 +138,16 @@ IMPL_LINK_NOARG(ChartTypePanel, SelectSubTypeHdl, ValueSet*, void) } } +IMPL_LINK(ChartTypePanel, QueryTooltipHdl, const weld::TreeIter&, iter, OUString) +{ + const OUString sId = m_xSubTypeList->get_id(iter); + + if (!sId.isEmpty() && m_pCurrentMainType) + return m_pCurrentMainType->getChartName(sId.toInt32()); + + return OUString(); +} + void ChartTypePanel::Initialize() { if (!m_xChartModel.is()) @@ -206,7 +203,7 @@ void ChartTypePanel::Initialize() if (!bFound) { - m_xSubTypeList->Hide(); + m_xSubTypeList->hide(); m_pDim3DLookResourceGroup->showControls(false); m_pStackingResourceGroup->showControls(false); m_pSplineResourceGroup->showControls(false); @@ -309,7 +306,7 @@ ChartTypeDialogController* ChartTypePanel::getSelectedMainType() void ChartTypePanel::showAllControls(ChartTypeDialogController& rTypeController) { m_xMainTypeList->show(); - m_xSubTypeList->Show(); + m_xSubTypeList->show(); bool bShow = rTypeController.shouldShow_3DLookControl(); m_pDim3DLookResourceGroup->showControls(bShow); @@ -332,7 +329,9 @@ void ChartTypePanel::fillAllControls(const ChartTypeParameter& rParameter, { m_pCurrentMainType->fillSubTypeList(*m_xSubTypeList, rParameter); } - m_xSubTypeList->SelectItem(static_cast<sal_uInt16>(rParameter.nSubTypeIndex)); + m_xSubTypeList->select(static_cast<sal_uInt16>( + rParameter.nSubTypeIndex + - 1)); // Convert 1-based subtype index to 0-based index for selection m_pDim3DLookResourceGroup->fillControls(rParameter); m_pStackingResourceGroup->fillControls(rParameter); m_pSplineResourceGroup->fillControls(rParameter); @@ -344,7 +343,7 @@ void ChartTypePanel::fillAllControls(const ChartTypeParameter& rParameter, ChartTypeParameter ChartTypePanel::getCurrentParameter() const { ChartTypeParameter aParameter; - aParameter.nSubTypeIndex = static_cast<sal_Int32>(m_xSubTypeList->GetSelectedItemId()); + aParameter.nSubTypeIndex = m_xSubTypeList->get_selected_id().toInt32(); m_pDim3DLookResourceGroup->fillParameter(aParameter); m_pStackingResourceGroup->fillParameter(aParameter); m_pSplineResourceGroup->fillParameter(aParameter); diff --git a/chart2/source/controller/sidebar/ChartTypePanel.hxx b/chart2/source/controller/sidebar/ChartTypePanel.hxx index 8df0020431db..79aded99acbb 100644 --- a/chart2/source/controller/sidebar/ChartTypePanel.hxx +++ b/chart2/source/controller/sidebar/ChartTypePanel.hxx @@ -85,7 +85,8 @@ private: void selectMainType(); DECL_LINK(SelectMainTypeHdl, weld::ComboBox&, void); - DECL_LINK(SelectSubTypeHdl, ValueSet*, void); + DECL_LINK(SelectSubTypeHdl, weld::IconView&, void); + DECL_LINK(QueryTooltipHdl, const weld::TreeIter&, OUString); vcl::EnumContext maContext; @@ -112,8 +113,7 @@ private: TimerTriggeredControllerLock m_aTimerTriggeredControllerLock; std::unique_ptr<weld::ComboBox> m_xMainTypeList; - std::unique_ptr<ValueSet> m_xSubTypeList; - std::unique_ptr<weld::CustomWeld> m_xSubTypeListWin; + std::unique_ptr<weld::IconView> m_xSubTypeList; }; } } // end of namespace ::chart::sidebar diff --git a/chart2/source/inc/ChartTypeDialogController.hxx b/chart2/source/inc/ChartTypeDialogController.hxx index 530d50b1b514..f491fc094924 100644 --- a/chart2/source/inc/ChartTypeDialogController.hxx +++ b/chart2/source/inc/ChartTypeDialogController.hxx @@ -29,6 +29,9 @@ #include <com/sun/star/chart2/CurveStyle.hpp> #include <vcl/weld.hxx> +#include <vcl/image.hxx> +#include <vcl/virdev.hxx> + namespace com::sun::star::beans { class XPropertySet; @@ -42,8 +45,6 @@ namespace com::sun::star::lang class XMultiServiceFactory; } -class ValueSet; - namespace chart { class ChartModel; @@ -103,7 +104,9 @@ public: 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(weld::IconView& rSubTypeList, + const ChartTypeParameter& rParameter); + virtual OUString getChartName(sal_Int32 nId) const; virtual bool shouldShow_3DLookControl() const; virtual bool shouldShow_StackingControl() const; @@ -141,6 +144,7 @@ public: protected: bool bSupportsXAxisWithValues; bool bSupports3D; + static VclPtr<VirtualDevice> getVDev(Image pPreview); }; class ColumnOrBarChartDialogController_Base : public ChartTypeDialogController @@ -164,8 +168,9 @@ public: virtual OUString getName() override; virtual OUString getImage() override; virtual const tTemplateServiceChartTypeParameterMap& getTemplateMap() const override; - virtual void fillSubTypeList(ValueSet& rSubTypeList, + virtual void fillSubTypeList(weld::IconView& rSubTypeList, const ChartTypeParameter& rParameter) override; + virtual OUString getChartName(sal_Int32 nId) const override; }; class BarChartDialogController final : public ColumnOrBarChartDialogController_Base @@ -177,8 +182,9 @@ public: virtual OUString getName() override; virtual OUString getImage() override; virtual const tTemplateServiceChartTypeParameterMap& getTemplateMap() const override; - virtual void fillSubTypeList(ValueSet& rSubTypeList, + virtual void fillSubTypeList(weld::IconView& rSubTypeList, const ChartTypeParameter& rParameter) override; + virtual OUString getChartName(sal_Int32 nId) const override; }; class PieChartDialogController final : public ChartTypeDialogController @@ -190,8 +196,9 @@ public: virtual OUString getName() override; virtual OUString getImage() override; virtual const tTemplateServiceChartTypeParameterMap& getTemplateMap() const override; - virtual void fillSubTypeList(ValueSet& rSubTypeList, + virtual void fillSubTypeList(weld::IconView& rSubTypeList, const ChartTypeParameter& rParameter) override; + virtual OUString getChartName(sal_Int32 nId) const override; virtual void adjustParameterToSubType(ChartTypeParameter& rParameter) override; virtual bool shouldShow_3DLookControl() const override; @@ -206,8 +213,9 @@ public: virtual OUString getName() override; virtual OUString getImage() override; virtual const tTemplateServiceChartTypeParameterMap& getTemplateMap() const override; - virtual void fillSubTypeList(ValueSet& rSubTypeList, + virtual void fillSubTypeList(weld::IconView& rSubTypeList, const ChartTypeParameter& rParameter) override; + virtual OUString getChartName(sal_Int32 nId) const override; virtual void adjustParameterToSubType(ChartTypeParameter& rParameter) override; virtual bool shouldShow_3DLookControl() const override; @@ -238,8 +246,9 @@ public: virtual OUString getName() override; virtual OUString getImage() override; virtual const tTemplateServiceChartTypeParameterMap& getTemplateMap() const override; - virtual void fillSubTypeList(ValueSet& rSubTypeList, + virtual void fillSubTypeList(weld::IconView& rSubTypeList, const ChartTypeParameter& rParameter) override; + virtual OUString getChartName(sal_Int32 nId) const override; virtual void adjustParameterToSubType(ChartTypeParameter& rParameter) override; virtual void adjustParameterToMainType(ChartTypeParameter& rParameter) override; @@ -256,8 +265,9 @@ public: virtual OUString getName() override; virtual OUString getImage() override; virtual const tTemplateServiceChartTypeParameterMap& getTemplateMap() const override; - virtual void fillSubTypeList(ValueSet& rSubTypeList, + virtual void fillSubTypeList(weld::IconView& rSubTypeList, const ChartTypeParameter& rParameter) override; + virtual OUString getChartName(sal_Int32 nId) const override; virtual void adjustParameterToSubType(ChartTypeParameter& rParameter) override; virtual bool shouldShow_SplineControl() const override; @@ -273,12 +283,16 @@ public: virtual OUString getName() override; virtual OUString getImage() override; virtual const tTemplateServiceChartTypeParameterMap& getTemplateMap() const override; - virtual void fillSubTypeList(ValueSet& rSubTypeList, + virtual void fillSubTypeList(weld::IconView& rSubTypeList, const ChartTypeParameter& rParameter) override; + virtual OUString getChartName(sal_Int32 nId) const override; virtual void adjustParameterToSubType(ChartTypeParameter& rParameter) override; virtual void adjustParameterToMainType(ChartTypeParameter& rParameter) override; virtual bool shouldShow_3DLookControl() const override; + +private: + bool m_b3DLook = false; }; class NetChartDialogController final : public ChartTypeDialogController @@ -290,8 +304,9 @@ public: virtual OUString getName() override; virtual OUString getImage() override; virtual const tTemplateServiceChartTypeParameterMap& getTemplateMap() const override; - virtual void fillSubTypeList(ValueSet& rSubTypeList, + virtual void fillSubTypeList(weld::IconView& rSubTypeList, const ChartTypeParameter& rParameter) override; + virtual OUString getChartName(sal_Int32 nId) const override; virtual void adjustParameterToSubType(ChartTypeParameter& rParameter) override; virtual bool shouldShow_StackingControl() const override; @@ -306,8 +321,9 @@ public: virtual OUString getName() override; virtual OUString getImage() override; virtual const tTemplateServiceChartTypeParameterMap& getTemplateMap() const override; - virtual void fillSubTypeList(ValueSet& rSubTypeList, + virtual void fillSubTypeList(weld::IconView& rSubTypeList, const ChartTypeParameter& rParameter) override; + virtual OUString getChartName(sal_Int32 nId) const override; virtual void adjustParameterToSubType(ChartTypeParameter& rParameter) override; }; @@ -319,8 +335,9 @@ public: virtual OUString getName() override; virtual OUString getImage() override; virtual const tTemplateServiceChartTypeParameterMap& getTemplateMap() const override; - virtual void fillSubTypeList(ValueSet& rSubTypeList, + virtual void fillSubTypeList(weld::IconView& rSubTypeList, const ChartTypeParameter& rParameter) override; + virtual OUString getChartName(sal_Int32 nId) const override; virtual void adjustParameterToSubType(ChartTypeParameter& rParameter) override; virtual void showExtraControls(weld::Builder* pBuilder) override; @@ -349,8 +366,9 @@ public: virtual OUString getName() override; virtual OUString getImage() override; virtual const tTemplateServiceChartTypeParameterMap& getTemplateMap() const override; - virtual void fillSubTypeList(ValueSet& rSubTypeList, + virtual void fillSubTypeList(weld::IconView& rSubTypeList, const ChartTypeParameter& rParameter) override; + virtual OUString getChartName(sal_Int32 nId) const override; virtual void adjustParameterToSubType(ChartTypeParameter& rParameter) override; }; diff --git a/chart2/uiconfig/ui/sidebartype.ui b/chart2/uiconfig/ui/sidebartype.ui index 9d6c348631e1..3c4be91962cf 100644 --- a/chart2/uiconfig/ui/sidebartype.ui +++ b/chart2/uiconfig/ui/sidebartype.ui @@ -26,6 +26,14 @@ <column type="GdkPixbuf"/> </columns> </object> + <object class="GtkTreeStore" id="liststore3"> + <columns> + <!-- column-name pixbuf --> + <column type="GdkPixbuf"/> + <!-- column-name id --> + <column type="gchararray"/> + </columns> + </object> <!-- n-columns=1 n-rows=1 --> <object class="GtkGrid" id="ChartTypePanel"> <property name="visible">True</property> @@ -40,26 +48,29 @@ <property name="row-spacing">3</property> <property name="column-spacing">6</property> <child> - <object class="GtkScrolledWindow" id="subtypewin"> + <object class="GtkScrolledWindow"> <property name="visible">True</property> <property name="can-focus">True</property> <property name="margin-bottom">6</property> - <property name="hexpand">True</property> + <property name="hexpand">False</property> + <property name="vexpand">False</property> <property name="hscrollbar-policy">never</property> <property name="vscrollbar-policy">never</property> <property name="shadow-type">in</property> <child> - <object class="GtkViewport"> + <object class="GtkIconView" id="subtype_iconview"> <property name="visible">True</property> - <property name="can-focus">False</property> - <child> - <object class="GtkDrawingArea" id="subtype"> - <property name="visible">True</property> - <property name="can-focus">False</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> + <property name="can-focus">True</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="model">liststore3</property> + <property name="pixbuf-column">0</property> + <property name="columns">4</property> + <property name="selection-mode">single</property> + <property name="item-padding">2</property> + <property name="row-spacing">2</property> + <property name="column-spacing">2</property> + <property name="margin">2</property> </object> </child> </object> diff --git a/chart2/uiconfig/ui/tp_ChartType.ui b/chart2/uiconfig/ui/tp_ChartType.ui index bdd9427768b1..c8858672ffd8 100644 --- a/chart2/uiconfig/ui/tp_ChartType.ui +++ b/chart2/uiconfig/ui/tp_ChartType.ui @@ -27,6 +27,14 @@ <column type="gchararray"/> </columns> </object> + <object class="GtkTreeStore" id="liststore3"> + <columns> + <!-- column-name pixbuf --> + <column type="GdkPixbuf"/> + <!-- column-name id --> + <column type="gchararray"/> + </columns> + </object> <object class="GtkBox" id="tp_ChartType"> <property name="visible">True</property> <property name="can-focus">False</property> @@ -74,26 +82,30 @@ <property name="vexpand">True</property> <property name="row-spacing">6</property> <child> - <object class="GtkScrolledWindow" id="subtypewin"> + <object class="GtkScrolledWindow"> <property name="can-focus">True</property> - <property name="hexpand">True</property> + <property name="hexpand">False</property> + <property name="vexpand">False</property> <property name="hscrollbar-policy">never</property> <property name="vscrollbar-policy">never</property> <property name="shadow-type">in</property> <child> - <object class="GtkViewport"> + <object class="GtkIconView" id="subtype_iconview"> <property name="visible">True</property> <property name="can-focus">True</property> - <child> - <object class="GtkDrawingArea" id="subtype"> - <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> - <child internal-child="accessible"> - <object class="AtkObject" id="subtype-atkobject"> - <property name="AtkObject::accessible-description" translatable="yes" context="tp_ChartType|extended_tip|subtype">Select a sub type of the basic chart type.</property> - </object> - </child> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="model">liststore3</property> + <property name="pixbuf-column">0</property> + <property name="columns">4</property> + <property name="selection-mode">single</property> + <property name="item-padding">2</property> + <property name="row-spacing">2</property> + <property name="column-spacing">2</property> + <property name="margin">2</property> + <child internal-child="accessible"> + <object class="AtkObject" id="subtype_iconview-atkobject"> + <property name="AtkObject::accessible-description" translatable="yes" context="tp_ChartType|extended_tip|subtype_iconview">Select a sub type of the basic chart type.</property> </object> </child> </object> diff --git a/sc/qa/uitest/chart2/tdf142851.py b/sc/qa/uitest/chart2/tdf142851.py index e48b9cf46685..3f9b21e97f19 100644 --- a/sc/qa/uitest/chart2/tdf142851.py +++ b/sc/qa/uitest/chart2/tdf142851.py @@ -25,8 +25,14 @@ class tdf142851(UITestCase): xChart = xChartMain.getChild("CID/Page=") with self.ui_test.execute_dialog_through_action(xChart, "COMMAND", mkPropertyValues({"COMMAND" : "DiagramType"})) as xDialog: - chartTypeVisible = get_state_as_dict(xDialog.getChild("charttype"))['Visible'] - subTypeVisible = get_state_as_dict(xDialog.getChild("subtype"))['Visible'] + chartType = xDialog.getChild("charttype") + chartType_element = chartType.getChild("0") + chartType_element.executeAction("SELECT", mkPropertyValues({})) + chartTypeVisible = get_state_as_dict(chartType)['Visible'] + subTypeIconView = xDialog.getChild("subtype_iconview") + subtype_element = subTypeIconView.getChild("0") + subtype_element.executeAction("SELECT", mkPropertyValues({})) + subTypeVisible = get_state_as_dict(subTypeIconView)['Visible'] self.assertEqual('true', chartTypeVisible) self.assertEqual('true', subTypeVisible)
