incubator-ooo-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject [Bug 119989] [From Symphony]Pie chart height becomes greater when open Excel file
Date Sat, 23 Jun 2012 05:18:06 GMT
https://issues.apache.org/ooo/show_bug.cgi?id=119989

--- Comment #16 from Tan Li <litanbj@cn.ibm.com> ---
Armin, thanks for your question! We are on traditional holiday and sorry for
late answer! I have debug code "fDepth  = this->getTransformedDepth();", and
the function getTransformedDepth is
double VSeriesPlotter::getTransformedDepth() const
{
    double MinZ = m_pMainPosHelper->getLogicMinZ();
    double MaxZ = m_pMainPosHelper->getLogicMaxZ();
    m_pMainPosHelper->doLogicScaling( 0, 0, &MinZ );
    m_pMainPosHelper->doLogicScaling( 0, 0, &MaxZ );
    return FIXED_SIZE_FOR_3D_CHART_VOLUME/(MaxZ-MinZ);
}    

FIXED_SIZE_FOR_3D_CHART_VOLUME/(MaxZ-MinZ) always is fixed value, so I have no
idea how to change return value of getTransformedDepth() according to Excel 3D
height. In my patch, bIsExcel3DChart is used to differentiate between Excel 3D
PieChart and AOO 3D Piechart, because AOO 3D Piechart height is fixed value
which is return value of getTransformedDepth(); while Excel 3D PieChart will
adjust according to  n3DHeight of Excel record, so we use it as coefficient to
multiply with return value of getTransformedDepth(). If don't use
"IsExcel3DChart", I found Excel 3D PieChart height will behave the same as AOO
and lose its difference.

(In reply to comment #11)
> ALG: Sorry, I have another question: Is the property "IsExcel3DChart"
> needed?

The value can be converted from percent to the absolute value in
> sc/source/filter/excel/xichart.cxx line 2405, 

    rPropSet.SetProperty(
> EXC_CHPROP_3DHEIGHT, (sal_Int32)maData.mnRelHeight);

before setting it.
> Then, chart2/source/view/charttypes/PieChart.cxx line 425


> double fDepth  = bIsExcel3DChart ?  (this->getTransformedDepth()) *
> n3DHeight /(2*100) : this->getTransformedDepth();

would not need to react
> on the bool IsExcel3DChart and the standard line

           // double
> fDepth  = this->getTransformedDepth();    

could be used unchanged.

The
> API value "3DHeight" would then not have two different units (absolute and
> relative if excel), and thus two different meanings, but just a single,
> explicit one. This allows to work with this value without always to have to
> check "IsExcel3DChart", too.

Also a minimal API is always better. So, is
> the bool "IsExcel3DChart" needed...? Maybe I have overseen something, please
> check.

-- 
You are receiving this mail because:
You are the assignee for the bug.

Mime
View raw message