KD Chart 2
[rev.2.7]
|
A chart with one or more diagrams. More...
#include <KDChartChart>
Signals | |
void | finishedDrawing () |
void | propertiesChanged () |
Emitted upon change of a property of the Chart or any of its components. More... | |
Public Member Functions | |
void | addCoordinatePlane (AbstractCoordinatePlane *plane) |
Adds a coordinate plane to the chart. More... | |
void | addHeaderFooter (HeaderFooter *headerFooter) |
Adds a header or a footer to the chart. More... | |
void | addLegend (Legend *legend) |
Add the given legend to the chart. More... | |
BackgroundAttributes | backgroundAttributes () const |
Chart (QWidget *parent=0) | |
AbstractCoordinatePlane * | coordinatePlane () |
Each chart must have at least one coordinate plane. More... | |
QLayout * | coordinatePlaneLayout () |
CoordinatePlaneList | coordinatePlanes () |
The list of coordinate planes. More... | |
FrameAttributes | frameAttributes () const |
int | globalLeadingBottom () const |
The padding between the start of the widget and the start of the area that is used for drawing at the bottom. More... | |
int | globalLeadingLeft () const |
The padding between the start of the widget and the start of the area that is used for drawing on the left. More... | |
int | globalLeadingRight () const |
The padding between the start of the widget and the start of the area that is used for drawing on the right. More... | |
int | globalLeadingTop () const |
The padding between the start of the widget and the start of the area that is used for drawing at the top. More... | |
HeaderFooter * | headerFooter () |
The first header or footer of the chart. More... | |
HeaderFooterList | headerFooters () |
The list of headers and footers associated with the chart. More... | |
void | insertCoordinatePlane (int index, AbstractCoordinatePlane *plane) |
Inserts a coordinate plane to the chart at index index . More... | |
Legend * | legend () |
The first legend of the chart or 0 if there was none added to the chart. More... | |
LegendList | legends () |
The list of all legends associated with the chart. More... | |
void | paint (QPainter *painter, const QRect &target) |
Paints all the contents of the chart. More... | |
void | reLayoutFloatingLegends () |
void | replaceCoordinatePlane (AbstractCoordinatePlane *plane, AbstractCoordinatePlane *oldPlane=0) |
Replaces the old coordinate plane, or appends the plane, it there is none yet. More... | |
void | replaceHeaderFooter (HeaderFooter *headerFooter, HeaderFooter *oldHeaderFooter=0) |
Replaces the old header (or footer, resp.), or appends the new header or footer, it there is none yet. More... | |
void | replaceLegend (Legend *legend, Legend *oldLegend=0) |
Replaces the old legend, or appends the new legend, it there is none yet. More... | |
void | setBackgroundAttributes (const BackgroundAttributes &a) |
Specify the background attributes to be used, by default there is no background. More... | |
void | setCoordinatePlaneLayout (QLayout *layout) |
Set the coordinate plane layout that should be used as model for the internal used layout. More... | |
void | setFrameAttributes (const FrameAttributes &a) |
Specify the frame attributes to be used, by default is it a thin black line. More... | |
void | setGlobalLeading (int left, int top, int right, int bottom) |
Set the padding between the margin of the widget and the area that the contents are drawn into. More... | |
void | setGlobalLeadingBottom (int leading) |
Set the padding between the start of the widget and the start of the area that is used for drawing on the bottom. More... | |
void | setGlobalLeadingLeft (int leading) |
Set the padding between the start of the widget and the start of the area that is used for drawing on the left. More... | |
void | setGlobalLeadingRight (int leading) |
Set the padding between the start of the widget and the start of the area that is used for drawing on the right. More... | |
void | setGlobalLeadingTop (int leading) |
Set the padding between the start of the widget and the start of the area that is used for drawing at the top. More... | |
void | setUseNewLayoutSystem (bool value) |
void | takeCoordinatePlane (AbstractCoordinatePlane *plane) |
Removes the coordinate plane from the chart, without deleting it. More... | |
void | takeHeaderFooter (HeaderFooter *headerFooter) |
Removes the header (or footer, resp.) from the chart, without deleting it. More... | |
void | takeLegend (Legend *legend) |
Removes the legend from the chart, without deleting it. More... | |
bool | useNewLayoutSystem () const |
useNewLayoutSystem Be very careful activating the new layout system, its still experimental and works only if the user knows what he is doing. More... | |
~Chart () override | |
Protected Member Functions | |
bool | event (QEvent *event) override |
reimp More... | |
void | mouseDoubleClickEvent (QMouseEvent *event) override |
reimp More... | |
void | mouseMoveEvent (QMouseEvent *event) override |
reimp More... | |
void | mousePressEvent (QMouseEvent *event) override |
reimp More... | |
void | mouseReleaseEvent (QMouseEvent *event) override |
reimp More... | |
void | paintEvent (QPaintEvent *event) override |
Draws the background and frame, then calls paint(). More... | |
void | resizeEvent (QResizeEvent *event) override |
Adjusts the internal layout when the chart is resized. More... | |
Properties | |
int | globalLeadingBottom |
int | globalLeadingLeft |
int | globalLeadingRight |
int | globalLeadingTop |
bool | useNewLayoutSystem |
A chart with one or more diagrams.
The Chart class represents a drawing consisting of one or more diagrams and various optional elements such as legends, axes, text boxes, headers or footers. It takes ownership of all these elements when they are assigned to it. Each diagram is associated with a coordinate plane, of which the chart can have more than one. The coordinate planes (and thus the associated diagrams) can be laid out in various ways.
The Chart class makes heavy use of the Qt Interview framework for model/view programming, and thus requires data to be presented to it in a QAbstractItemModel compatible way. For many simple charts, especially if the visualized data is static, KDChart::Widget provides an abstracted interface, that hides the complexity of Interview to a large extent.
Definition at line 98 of file KDChartChart.h.
|
explicit |
Definition at line 1141 of file KDChartChart.cpp.
References addCoordinatePlane(), d, setFrameAttributes(), KDChart::FrameAttributes::setPadding(), and KDChart::FrameAttributes::setPen().
|
override |
Definition at line 1161 of file KDChartChart.cpp.
References d.
void Chart::addCoordinatePlane | ( | AbstractCoordinatePlane * | plane | ) |
Adds a coordinate plane to the chart.
The chart takes ownership.
plane | The coordinate plane to add. |
Definition at line 1223 of file KDChartChart.cpp.
References d, and insertCoordinatePlane().
Referenced by Chart(), and replaceCoordinatePlane().
void Chart::addHeaderFooter | ( | HeaderFooter * | headerFooter | ) |
Adds a header or a footer to the chart.
The chart takes ownership.
headerFooter | The header (or footer, resp.) to add. |
Definition at line 1445 of file KDChartChart.cpp.
References d, KDChart::HeaderFooter::Footer, getRowAndColumnForPosition(), KDChart::HeaderFooter::Header, KDChartEnums::MeasureOrientationMinimum, KDChart::HeaderFooter::position(), KDChart::AbstractLayoutItem::setParentLayout(), KDChart::Measure::setRelativeMode(), KDChart::TextLayoutItem::setTextAttributes(), KDChart::TextLayoutItem::textAttributes(), KDChart::HeaderFooter::type(), and KDChart::Position::value().
Referenced by replaceHeaderFooter().
void Chart::addLegend | ( | Legend * | legend | ) |
Add the given legend to the chart.
The chart takes ownership.
legend | The legend to add. |
Definition at line 1547 of file KDChartChart.cpp.
References KDChart::Legend::alignment(), d, getRowAndColumnForPosition(), legend(), KDChartEnums::MeasureOrientationMinimum, KDChart::Legend::needSizeHint(), KDChart::Legend::position(), KDChartEnums::PositionCenter, KDChartEnums::PositionFloating, propertiesChanged(), KDChart::TextAttributes::setFontSize(), KDChart::Legend::setReferenceArea(), KDChart::Measure::setRelativeMode(), KDChart::Legend::setTextAttributes(), KDChart::Legend::setTitleTextAttributes(), KDChart::Legend::textAttributes(), KDChart::Legend::titleTextAttributes(), and KDChart::Position::value().
Referenced by replaceLegend().
BackgroundAttributes Chart::backgroundAttributes | ( | ) | const |
Definition at line 1181 of file KDChartChart.cpp.
References d.
AbstractCoordinatePlane * Chart::coordinatePlane | ( | ) |
Each chart must have at least one coordinate plane.
Initially a default CartesianCoordinatePlane is created. Use replaceCoordinatePlane() to replace it with a different one, such as a PolarCoordinatePlane.
Definition at line 1208 of file KDChartChart.cpp.
References d.
QLayout * Chart::coordinatePlaneLayout | ( | ) |
Definition at line 1203 of file KDChartChart.cpp.
References d.
CoordinatePlaneList Chart::coordinatePlanes | ( | ) |
The list of coordinate planes.
Definition at line 1218 of file KDChartChart.cpp.
References d.
|
overrideprotected |
reimp
Definition at line 1760 of file KDChartChart.cpp.
References d, KDChart::AbstractCoordinatePlane::diagrams(), KDChart::AbstractDiagram::indexAt(), KDChart::AbstractDiagram::indexesIn(), and useNewLayoutSystem().
|
signal |
Referenced by paintEvent().
FrameAttributes Chart::frameAttributes | ( | ) | const |
Definition at line 1171 of file KDChartChart.cpp.
References d.
int KDChart::Chart::globalLeadingBottom | ( | ) | const |
The padding between the start of the widget and the start of the area that is used for drawing at the bottom.
Referenced by setGlobalLeadingBottom().
int KDChart::Chart::globalLeadingLeft | ( | ) | const |
The padding between the start of the widget and the start of the area that is used for drawing on the left.
Referenced by setGlobalLeadingLeft().
int KDChart::Chart::globalLeadingRight | ( | ) | const |
The padding between the start of the widget and the start of the area that is used for drawing on the right.
Referenced by setGlobalLeadingRight().
int KDChart::Chart::globalLeadingTop | ( | ) | const |
The padding between the start of the widget and the start of the area that is used for drawing at the top.
Referenced by setGlobalLeadingTop().
HeaderFooter * Chart::headerFooter | ( | ) |
The first header or footer of the chart.
By default there is none.
Definition at line 1525 of file KDChartChart.cpp.
References d.
HeaderFooterList Chart::headerFooters | ( | ) |
The list of headers and footers associated with the chart.
Definition at line 1534 of file KDChartChart.cpp.
void Chart::insertCoordinatePlane | ( | int | index, |
AbstractCoordinatePlane * | plane | ||
) |
Inserts a coordinate plane to the chart at index index
.
The chart takes ownership.
index | The index where to add the plane |
plane | The coordinate plane to add. |
Definition at line 1229 of file KDChartChart.cpp.
References d, propertiesChanged(), and KDChart::AbstractCoordinatePlane::setParent().
Referenced by addCoordinatePlane().
Legend * Chart::legend | ( | ) |
The first legend of the chart or 0 if there was none added to the chart.
Definition at line 1683 of file KDChartChart.cpp.
References d.
Referenced by addLegend(), headerFooters(), and reLayoutFloatingLegends().
LegendList Chart::legends | ( | ) |
The list of all legends associated with the chart.
Definition at line 1688 of file KDChartChart.cpp.
References d.
|
overrideprotected |
reimp
Definition at line 1707 of file KDChartChart.cpp.
References d, KDChart::AbstractCoordinatePlane::diagrams(), KDChart::AbstractCoordinatePlane::geometry(), and KDChart::AbstractCoordinatePlane::mouseDoubleClickEvent().
|
overrideprotected |
reimp
Definition at line 1720 of file KDChartChart.cpp.
References d, KDChart::AbstractCoordinatePlane::diagrams(), KDChart::AbstractCoordinatePlane::geometry(), and KDChart::AbstractCoordinatePlane::mouseMoveEvent().
|
overrideprotected |
reimp
Definition at line 1693 of file KDChartChart.cpp.
References d, KDChart::AbstractCoordinatePlane::diagrams(), KDChart::AbstractCoordinatePlane::geometry(), and KDChart::AbstractCoordinatePlane::mousePressEvent().
|
overrideprotected |
reimp
Definition at line 1739 of file KDChartChart.cpp.
References d, KDChart::AbstractCoordinatePlane::diagrams(), KDChart::AbstractCoordinatePlane::geometry(), and KDChart::AbstractCoordinatePlane::mouseReleaseEvent().
void Chart::paint | ( | QPainter * | painter, |
const QRect & | target | ||
) |
Paints all the contents of the chart.
Use this method to make KDChart draw into your QPainter.
painter | The painter to be drawn into. |
target | The rectangle to be filled by the Chart's drawing. |
Definition at line 1337 of file KDChartChart.cpp.
References d, KDChart::GlobalMeasureScaling::instance(), invalidateLayoutTree(), KDChart::GlobalMeasureScaling::paintDevice(), KDChart::GlobalMeasureScaling::resetFactors(), KDChart::PrintingParameters::resetScaleFactor(), KDChart::GlobalMeasureScaling::setFactors(), KDChart::GlobalMeasureScaling::setPaintDevice(), and KDChart::PrintingParameters::setScaleFactor().
|
overrideprotected |
Draws the background and frame, then calls paint().
In most cases there is no need to override this method in a derived class, but if you do, do not forget to call paint().
Definition at line 1438 of file KDChartChart.cpp.
References d, and finishedDrawing().
|
signal |
Emitted upon change of a property of the Chart or any of its components.
Referenced by addLegend(), insertCoordinatePlane(), takeCoordinatePlane(), and takeLegend().
void Chart::reLayoutFloatingLegends | ( | ) |
Definition at line 1406 of file KDChartChart.cpp.
References d, KDChart::Legend::floatingPosition(), KDChart::Position::isFloating(), legend(), KDChart::Legend::position(), and KDChart::Legend::sizeHint().
void Chart::replaceCoordinatePlane | ( | AbstractCoordinatePlane * | plane, |
AbstractCoordinatePlane * | oldPlane = 0 |
||
) |
Replaces the old coordinate plane, or appends the plane, it there is none yet.
plane | The coordinate plane to be used instead of the old plane. This parameter must not be zero, or the method will do nothing. |
oldPlane | The coordinate plane to be removed by the new plane. This plane will be deleted automatically. If the parameter is omitted, the very first coordinate plane will be replaced. In case, there was no plane yet, the new plane will just be added. |
Definition at line 1246 of file KDChartChart.cpp.
References addCoordinatePlane(), d, and takeCoordinatePlane().
void Chart::replaceHeaderFooter | ( | HeaderFooter * | headerFooter, |
HeaderFooter * | oldHeaderFooter = 0 |
||
) |
Replaces the old header (or footer, resp.), or appends the new header or footer, it there is none yet.
headerFooter | The header or footer to be used instead of the old one. This parameter must not be zero, or the method will do nothing. |
oldHeaderFooter | The header or footer to be removed by the new one. This header or footer will be deleted automatically. If the parameter is omitted, the very first header or footer will be replaced. In case, there was no header and no footer yet, the new header or footer will just be added. |
Definition at line 1484 of file KDChartChart.cpp.
References addHeaderFooter(), d, and takeHeaderFooter().
Replaces the old legend, or appends the new legend, it there is none yet.
legend | The legend to be used instead of the old one. This parameter must not be zero, or the method will do nothing. |
oldLegend | The legend to be removed by the new one. This legend will be deleted automatically. If the parameter is omitted, the very first legend will be replaced. In case, there was no legend yet, the new legend will just be added. |
If you want to re-use the old legend, call takeLegend and addLegend, instead of using replaceLegend.
Definition at line 1649 of file KDChartChart.cpp.
References addLegend(), d, and takeLegend().
|
overrideprotected |
Adjusts the internal layout when the chart is resized.
Definition at line 1399 of file KDChartChart.cpp.
References d.
void Chart::setBackgroundAttributes | ( | const BackgroundAttributes & | a | ) |
Specify the background attributes to be used, by default there is no background.
To set a light blue background, you could do something like this:
KDChart::BackgroundAttributes backgroundAttrs( my_chart->backgroundAttributes() ); backgroundAttrs.setVisible( true ); backgroundAttrs.setBrush( QColor(0xd0,0xd0,0xff) ); my_chart->setBackgroundAttributes( backgroundAttrs );
Definition at line 1176 of file KDChartChart.cpp.
References d.
void Chart::setCoordinatePlaneLayout | ( | QLayout * | layout | ) |
Set the coordinate plane layout that should be used as model for the internal used layout.
The layout needs to be an instance of QHBoxLayout or QVBoxLayout.
Definition at line 1187 of file KDChartChart.cpp.
References d.
void Chart::setFrameAttributes | ( | const FrameAttributes & | a | ) |
Specify the frame attributes to be used, by default is it a thin black line.
To hide the frame line, you could do something like this:
KDChart::FrameAttributes frameAttrs( my_chart->frameAttributes() ); frameAttrs.setVisible( false ); my_chart->setFrameAttributes( frameAttrs );
Definition at line 1166 of file KDChartChart.cpp.
References d.
Referenced by Chart().
void Chart::setGlobalLeading | ( | int | left, |
int | top, | ||
int | right, | ||
int | bottom | ||
) |
Set the padding between the margin of the widget and the area that the contents are drawn into.
left | The padding on the left side. |
top | The padding at the top. |
right | The padding on the left hand side. |
bottom | The padding on the bottom. |
Definition at line 1281 of file KDChartChart.cpp.
References setGlobalLeadingBottom(), setGlobalLeadingLeft(), setGlobalLeadingRight(), and setGlobalLeadingTop().
void Chart::setGlobalLeadingBottom | ( | int | leading | ) |
Set the padding between the start of the widget and the start of the area that is used for drawing on the bottom.
leading | The padding value. |
Definition at line 1325 of file KDChartChart.cpp.
References d, and globalLeadingBottom().
Referenced by setGlobalLeading().
void Chart::setGlobalLeadingLeft | ( | int | leading | ) |
Set the padding between the start of the widget and the start of the area that is used for drawing on the left.
leading | The padding value. |
Definition at line 1289 of file KDChartChart.cpp.
References d, and globalLeadingLeft().
Referenced by setGlobalLeading().
void Chart::setGlobalLeadingRight | ( | int | leading | ) |
Set the padding between the start of the widget and the start of the area that is used for drawing on the right.
leading | The padding value. |
Definition at line 1313 of file KDChartChart.cpp.
References d, and globalLeadingRight().
Referenced by setGlobalLeading().
void Chart::setGlobalLeadingTop | ( | int | leading | ) |
Set the padding between the start of the widget and the start of the area that is used for drawing at the top.
leading | The padding value. |
Definition at line 1301 of file KDChartChart.cpp.
References d, and globalLeadingTop().
Referenced by setGlobalLeading().
void Chart::setUseNewLayoutSystem | ( | bool | value | ) |
Definition at line 1797 of file KDChartChart.cpp.
References useNewLayoutSystem().
void Chart::takeCoordinatePlane | ( | AbstractCoordinatePlane * | plane | ) |
Removes the coordinate plane from the chart, without deleting it.
The chart no longer owns the plane, so it is the caller's responsibility to delete the plane.
Definition at line 1264 of file KDChartChart.cpp.
References d, propertiesChanged(), KDChart::AbstractLayoutItem::removeFromParentLayout(), and KDChart::AbstractCoordinatePlane::setParent().
Referenced by replaceCoordinatePlane().
void Chart::takeHeaderFooter | ( | HeaderFooter * | headerFooter | ) |
Removes the header (or footer, resp.) from the chart, without deleting it.
The chart no longer owns the header or footer, so it is the caller's responsibility to delete the header or footer.
Definition at line 1502 of file KDChartChart.cpp.
References d, KDChart::AbstractLayoutItem::removeFromParentLayout(), and KDChart::AbstractLayoutItem::setParentLayout().
Referenced by replaceHeaderFooter().
void Chart::takeLegend | ( | Legend * | legend | ) |
Removes the legend from the chart, without deleting it.
The chart no longer owns the legend, so it is the caller's responsibility to delete the legend.
Definition at line 1666 of file KDChartChart.cpp.
References d, and propertiesChanged().
Referenced by replaceLegend().
bool KDChart::Chart::useNewLayoutSystem | ( | ) | const |
useNewLayoutSystem Be very careful activating the new layout system, its still experimental and works only if the user knows what he is doing.
The reason is that the system does not prevent the user from creating sharing graphs that are not layoutable in a plane and still needs assistance from the user.
Referenced by event(), and setUseNewLayoutSystem().
|
readwrite |
Definition at line 103 of file KDChartChart.h.
|
readwrite |
Definition at line 104 of file KDChartChart.h.
|
readwrite |
Definition at line 105 of file KDChartChart.h.
|
readwrite |
Definition at line 102 of file KDChartChart.h.
|
readwrite |
Definition at line 106 of file KDChartChart.h.