Kaydet (Commit) 59c2e048 authored tarafından Markus Mohrhard's avatar Markus Mohrhard

support colored axis in data bars

Change-Id: Ie74404b35e31a2f96641abb18a9aaf46467e31c0
üst 46b8dbda
...@@ -99,6 +99,7 @@ enum ScAxisPostion ...@@ -99,6 +99,7 @@ enum ScAxisPostion
struct SC_DLLPUBLIC ScDataBarFormatData struct SC_DLLPUBLIC ScDataBarFormatData
{ {
ScDataBarFormatData(): ScDataBarFormatData():
maAxisColor(COL_BLACK),
mbGradient(true), mbGradient(true),
mbNeg(true), mbNeg(true),
meAxisPosition(databar::AUTOMATIC), meAxisPosition(databar::AUTOMATIC),
...@@ -106,6 +107,7 @@ struct SC_DLLPUBLIC ScDataBarFormatData ...@@ -106,6 +107,7 @@ struct SC_DLLPUBLIC ScDataBarFormatData
ScDataBarFormatData(const ScDataBarFormatData& r): ScDataBarFormatData(const ScDataBarFormatData& r):
maPositiveColor(r.maPositiveColor), maPositiveColor(r.maPositiveColor),
maAxisColor(r.maAxisColor),
mbGradient(r.mbGradient), mbGradient(r.mbGradient),
mbNeg(r.mbNeg), mbNeg(r.mbNeg),
meAxisPosition(r.meAxisPosition), meAxisPosition(r.meAxisPosition),
...@@ -130,6 +132,11 @@ struct SC_DLLPUBLIC ScDataBarFormatData ...@@ -130,6 +132,11 @@ struct SC_DLLPUBLIC ScDataBarFormatData
* Default color is 0xFF0000, this value is not set * Default color is 0xFF0000, this value is not set
*/ */
boost::scoped_ptr<Color> mpNegativeColor; boost::scoped_ptr<Color> mpNegativeColor;
/**
* Color of the axis if used
* Default color is black
*/
Color maAxisColor;
/** /**
* Paint the bars with gradient. If this is used the default is to draw with * Paint the bars with gradient. If this is used the default is to draw with
* borders. * borders.
......
...@@ -69,6 +69,7 @@ struct ScDataBarInfo ...@@ -69,6 +69,7 @@ struct ScDataBarInfo
double mnLength; // -100 to 100 double mnLength; // -100 to 100
bool mbGradient; bool mbGradient;
bool mbShowValue; bool mbShowValue;
Color maAxisColor;
bool operator==(const ScDataBarInfo& r) const bool operator==(const ScDataBarInfo& r) const
{ {
......
...@@ -842,6 +842,7 @@ ScDataBarInfo* ScDataBarFormat::GetDataBarInfo(const ScAddress& rAddr) const ...@@ -842,6 +842,7 @@ ScDataBarInfo* ScDataBarFormat::GetDataBarInfo(const ScAddress& rAddr) const
pInfo->mbGradient = mpFormatData->mbGradient; pInfo->mbGradient = mpFormatData->mbGradient;
pInfo->mbShowValue = !mpFormatData->mbOnlyBar; pInfo->mbShowValue = !mpFormatData->mbOnlyBar;
pInfo->maAxisColor = mpFormatData->maAxisColor;
return pInfo; return pInfo;
} }
......
...@@ -176,6 +176,7 @@ ScDataBarSettingsDlg::ScDataBarSettingsDlg(Window* pWindow, const ScDataBarForma ...@@ -176,6 +176,7 @@ ScDataBarSettingsDlg::ScDataBarSettingsDlg(Window* pWindow, const ScDataBarForma
::SetType(rData.mpUpperLimit.get(), maLbTypeMax); ::SetType(rData.mpUpperLimit.get(), maLbTypeMax);
SetValue(rData.mpLowerLimit.get(), maEdMin); SetValue(rData.mpLowerLimit.get(), maEdMin);
SetValue(rData.mpUpperLimit.get(), maEdMax); SetValue(rData.mpUpperLimit.get(), maEdMax);
maLbAxisCol.SelectEntry(rData.maAxisColor);
TypeSelectHdl(NULL); TypeSelectHdl(NULL);
} }
...@@ -259,6 +260,7 @@ ScDataBarFormatData* ScDataBarSettingsDlg::GetData() ...@@ -259,6 +260,7 @@ ScDataBarFormatData* ScDataBarSettingsDlg::GetData()
pData->mbGradient = true; //FIXME pData->mbGradient = true; //FIXME
pData->mpUpperLimit.reset(new ScColorScaleEntry()); pData->mpUpperLimit.reset(new ScColorScaleEntry());
pData->mpLowerLimit.reset(new ScColorScaleEntry()); pData->mpLowerLimit.reset(new ScColorScaleEntry());
pData->maAxisColor = maLbAxisCol.GetSelectEntryColor();
::GetType(maLbTypeMin, maEdMin, pData->mpLowerLimit.get(), mpNumberFormatter); ::GetType(maLbTypeMin, maEdMin, pData->mpLowerLimit.get(), mpNumberFormatter);
::GetType(maLbTypeMax, maEdMax, pData->mpUpperLimit.get(), mpNumberFormatter); ::GetType(maLbTypeMax, maEdMax, pData->mpUpperLimit.get(), mpNumberFormatter);
......
...@@ -861,10 +861,11 @@ void drawDataBars( const ScDataBarInfo* pOldDataBarInfo, OutputDevice* pDev, con ...@@ -861,10 +861,11 @@ void drawDataBars( const ScDataBarInfo* pOldDataBarInfo, OutputDevice* pDev, con
aLineInfo.SetDashCount( 4 ); aLineInfo.SetDashCount( 4 );
aLineInfo.SetDistance( 3 ); aLineInfo.SetDistance( 3 );
aLineInfo.SetDashLen( 3 ); aLineInfo.SetDashLen( 3 );
pDev->SetFillColor(COL_BLACK); pDev->SetFillColor(pOldDataBarInfo->maAxisColor);
pDev->SetLineColor(COL_BLACK); pDev->SetLineColor(pOldDataBarInfo->maAxisColor);
pDev->DrawLine(aPoint1, aPoint2, aLineInfo); pDev->DrawLine(aPoint1, aPoint2, aLineInfo);
pDev->SetLineColor(); pDev->SetLineColor();
pDev->SetFillColor();
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment