Feature #1139 » WPieChartAvoidRendering.patch
wt-3.2.0/src/Wt/Chart/WPieChart 2012-01-18 19:05:47.000000000 +0100 | ||
---|---|---|
*/
|
||
double startAngle() const { return startAngle_; }
|
||
/*! \brief Sets the percentage value to avoid rendering of label texts
|
||
*
|
||
* The default value is 5 percent
|
||
*/
|
||
void setAvoidLabelRendering(double percent);
|
||
/*! \brief Returns the percentage to avoid label rendering.
|
||
*
|
||
* \sa setAvoidLabelRendering(double)
|
||
*/
|
||
double avoidLabelRendering() const { return avoidLabelRendering_; }
|
||
/*! \brief Configures if and how labels should be displayed
|
||
*
|
||
* The <i>options</i> must be the logical OR of a placement option
|
||
... | ... | |
int dataColumn_;
|
||
double height_;
|
||
double startAngle_;
|
||
double avoidLabelRendering_;
|
||
WFlags<LabelOption> labelOptions_;
|
||
bool shadow_;
|
||
wt-3.2.0/src/Wt/Chart/WPieChart.C 2012-01-18 19:34:40.000000000 +0100 | ||
---|---|---|
dataColumn_(-1),
|
||
height_(0.0),
|
||
startAngle_(45),
|
||
avoidLabelRendering_(0),
|
||
labelOptions_(0),
|
||
shadow_(false)
|
||
{
|
||
... | ... | |
}
|
||
}
|
||
void WPieChart::setAvoidLabelRendering(double avoidLabelRendering)
|
||
{
|
||
if (avoidLabelRendering_ != avoidLabelRendering) {
|
||
avoidLabelRendering_ = avoidLabelRendering;
|
||
update();
|
||
}
|
||
}
|
||
void WPieChart::setDisplayLabels(WFlags<LabelOption> options)
|
||
{
|
||
labelOptions_ = options;
|
||
... | ... | |
c = palette()->fontColor(i);
|
||
}
|
||
painter.setPen(WPen(c));
|
||
painter.drawText(WRectF(left, top, width, height),
|
||
alignment, labelText(i, v, total, labelOptions_));
|
||
if ((v / total * 100) >= avoidLabelRendering_) {
|
||
painter.setPen(WPen(c));
|
||
painter.drawText(WRectF(left, top, width, height),
|
||
alignment, labelText(i, v, total, labelOptions_));
|
||
}
|
||
currentAngle = endAngle;
|
||
}
|