KChart
KChartCartesianAxis.cpp
50 QString sample = QString::number( floatNumber, 'f', maxPlaces ).section( QLatin1Char('.'), 1, 2 );
60 // Feature idea: In case of numeric labels, consider limiting the possible values of majorThinningFactor
61 // to something like {1, 2, 5} * 10^n. Or even better, something that achieves round values in the
64 // ensure we take the const-overload of any following function, esp. required for strict iterators
71 TickIterator::TickIterator( CartesianAxis* a, CartesianCoordinatePlane* plane, uint majorThinningFactor,
136 static QMap< qreal, QString > allAxisAnnotations( const AbstractCoordinatePlane *plane, bool isY )
141 const AbstractCartesianDiagram *cd = qobject_cast< const AbstractCartesianDiagram* >( diagram );
156 TickIterator::TickIterator( bool isY, const DataDimension& dimension, bool useAnnotationsForTicks,
199 // the number of significant decimal places for each label naturally varies with logarithmic scaling
312 // So currently, we bail and show no tick at all for empty ranges > 10^6, but at least we don't hang.
343 if ( isHigherPrecedence( m_customTick, m_majorTick ) && isHigherPrecedence( m_customTick, m_minorTick ) ) {
346 // override the MajorTick type here because those tick's labels are collision-tested, which we don't want
347 // for custom ticks. they may be arbitrarily close to other ticks, causing excessive label thinning.
471 // Invalidating size is not always necessary if both old and new positions are horizontal or both
472 // vertical, but in practice there could be small differences due to who-knows-what, so always adapt
523 const Qt::Orientation diagramOrientation = referenceDiagramIsBarDiagram( d->diagram() ) ? ( ( BarDiagram* )( d->diagram() ) )->orientation()
548 // (the alternative to clipping when zoomed in requires much more work to paint just the right area)
551 painter->setClipRegion( areaGeometry().adjusted( - d->amountOfLeftOverlap - 1, - d->amountOfTopOverlap - 1,
573 QString CartesianAxis::Private::customizedLabelText( const QString& text, Qt::Orientation orientation,
610 TextLayoutItem titleItem( titleText, titleTA, plane->parent(), KChartEnums::MeasureOrientationMinimum,
654 CartesianCoordinatePlane* plane = dynamic_cast<CartesianCoordinatePlane*>( context->coordinatePlane() );
664 const bool centerTicks = referenceDiagramNeedsCenteredAbscissaTicks( d->diagram() ) && isAbscissa();
775 // those adjustments are required to paint the ticks exactly on the axis and of the right length
886 if ( it.type() == TickIterator::MajorTick || it.type() == TickIterator::MajorTickHeaderDataLabel
966 CartesianCoordinatePlane* plane = dynamic_cast< CartesianCoordinatePlane* >( diagram()->coordinatePlane() );
1063 TextLayoutItem title( axis()->titleText(), titleTA, refArea, KChartEnums::MeasureOrientationMinimum,
T & first()
void setTitleText(const QString &text)
Sets the optional text displayed as axis title.
Definition: KChartCartesianAxis.cpp:421
AlignHCenter
qreal height() const const
QString section(QChar sep, int start, int end, QString::SectionFlags flags) const const
void setPen(const QColor &color)
virtual void takeAxis(CartesianAxis *axis)
Removes the axis from the diagram, without deleting it.
Definition: KChartAbstractCartesianDiagram.cpp:80
void setAnnotations(const QMap< qreal, QString > &annotations)
Sets the axis annotations to annotations.
Definition: KChartCartesianAxis.cpp:1128
const GridAttributes gridAttributes(Qt::Orientation orientation) const
Definition: KChartCartesianCoordinatePlane.cpp:724
QRect areaGeometry() const override
Definition: KChartAbstractArea.cpp:137
QString number(int n, int base)
virtual int rowCount(const QModelIndex &parent) const const=0
int right() const const
const T value(const Key &key, const T &defaultValue) const const
QAbstractItemModel * model() const const
QCA_EXPORT void init()
int count(const T &value) const const
void setCustomTicks(const QList< qreal > &ticksPostions)
Sets custom ticks on the axis.
Definition: KChartCartesianAxis.cpp:1143
Q_SCRIPTABLE Q_NOREPLY void start()
virtual AttributesModel * attributesModel() const
Returns the AttributesModel, that is used by this diagram.
Definition: KChartAbstractDiagram.cpp:187
int width() const const
Base class common for all coordinate planes, CartesianCoordinatePlane, PolarCoordinatePlane,...
Definition: KChartAbstractCoordinatePlane.h:30
A set of attributes controlling the appearance of axis rulers.
Definition: KChartRulerAttributes.h:25
QDataStream & operator<<(QDataStream &out, const KDateTime &dateTime)
int customTickLength() const
Returns the length of custom ticks on the axis.
Definition: KChartCartesianAxis.cpp:1112
unsigned int autoAdjustVerticalRangeToData() const
Returns the maximal allowed percent of the vertical space covered by the coordinate plane that may be...
Definition: KChartCartesianCoordinatePlane.cpp:700
int x() const const
int y() const const
TextAttributes titleTextAttributes() const
Returns the text attributes that will be used for displaying the title text.
Definition: KChartCartesianAxis.cpp:441
int width() const const
const QPointF translate(const QPointF &diagramPoint) const override
Translate the given point in value space coordinates to a position in pixel space.
Definition: KChartCartesianCoordinatePlane.cpp:442
Definition: KChartPosition.h:22
Qt::Orientations expandingDirections() const override
pure virtual in QLayoutItem
Definition: KChartCartesianAxis.cpp:928
QMetaObject::Connection connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
void setTitleSpace(qreal value)
Definition: KChartCartesianAxis.cpp:583
int left() const const
void setWidth(int width)
Cartesian coordinate plane.
Definition: KChartCartesianCoordinatePlane.h:25
QMap::iterator insert(const Key &key, const T &value)
int bottom() const const
void setGeometry(const QRect &r) override
pure virtual in QLayoutItem
Definition: KChartLayoutItems.cpp:283
int top() const const
AbstractCoordinatePlane * coordinatePlane() const
The coordinate plane associated with the diagram.
Definition: KChartAbstractDiagram.cpp:96
void setX(qreal x)
void setY(qreal y)
void setTextAttributes(const TextAttributes &a)
Use this to specify the text attributes to be used for this item.
Definition: KChartLayoutItems.cpp:242
int height() const const
AbstractDiagram * diagram()
Definition: KChartAbstractCoordinatePlane.cpp:114
QSize maximumSize() const override
pure virtual in QLayoutItem
Definition: KChartCartesianAxis.cpp:953
QList< qreal > customTicks() const
Returns the currently set custom ticks on the axis.
Definition: KChartCartesianAxis.cpp:1138
void setCustomTickLength(int value)
Sets the length of custom ticks on the axis.
Definition: KChartCartesianAxis.cpp:1102
const T & at(int i) const const
virtual KChart::CartesianAxisList axes() const
Definition: KChartAbstractCartesianDiagram.cpp:90
Horizontal
bool isEmpty() const const
void setRotation(int rotation)
Set the rotation angle to use for the text.
Definition: KChartTextAttributes.cpp:220
const T & at(int i) const const
QSize toSize() const const
bool isEmpty() const const
unsigned int autoAdjustHorizontalRangeToData() const
Returns the maximal allowed percent of the horizontal space covered by the coordinate plane that may ...
Definition: KChartCartesianCoordinatePlane.cpp:695
QStringList itemRowLabels() const
The set of item row labels currently displayed, for use in Abscissa axes, etc.
Definition: KChartAbstractDiagram.cpp:1058
void setGeometry(const QRect &r) override
pure virtual in QLayoutItem
Definition: KChartCartesianAxis.cpp:1088
TextAttributes textAttributes() const
Returns the text attributes to be used for axis labels.
Definition: KChartAbstractAxis.cpp:182
void resetTitleTextAttributes()
Reset the title text attributes to the built-in default:
Definition: KChartCartesianAxis.cpp:453
A set of attributes controlling the appearance of grids.
Definition: KChartGridAttributes.h:25
void setFontSize(const Measure &measure)
Set the size of the font used for rendering text.
Definition: KChartTextAttributes.cpp:126
virtual qreal zoomFactorX() const
Definition: KChartAbstractCoordinatePlane.h:126
const Key key(const T &value, const Key &defaultKey) const const
void setTitleSize(qreal value)
use setTitleTextAttributes() instead
Definition: KChartCartesianAxis.cpp:593
T & last()
virtual AbstractCartesianDiagram * referenceDiagram() const
Definition: KChartAbstractCartesianDiagram.cpp:140
Measure is used to specify relative and absolute sizes in KChart, e.g. font sizes.
Definition: KChartMeasure.h:37
A proxy model used for decorating data with attributes.
Definition: KChartAttributesModel.h:32
Definition: KChartMarkerAttributes.h:21
bool compare(const AbstractAxis *other) const
Returns true if both axes have the same settings.
Definition: KChartAbstractAxis.cpp:131
int height() const const
DataDimensionsList gridDimensionsList()
Returns the dimensions used for drawing the grid lines.
Definition: KChartAbstractCoordinatePlane.cpp:152
qreal x() const const
qreal y() const const
void layoutPlanes()
Calling layoutPlanes() on the plane triggers the global KChart::Chart::slotLayoutPlanes()
Definition: KChartAbstractCoordinatePlane.cpp:249
QString unitSuffix(int column, Qt::Orientation orientation, bool fallback=false) const
Retrieves the axis unit suffix for a specific column.
Definition: KChartAbstractDiagram.cpp:975
bool centerDataPoints() const
Definition: KChartLineDiagram.cpp:139
virtual qreal zoomFactorY() const
Definition: KChartAbstractCoordinatePlane.h:132
QMap< qreal, QString > annotations() const
Returns the currently set axis annotations.
Definition: KChartCartesianAxis.cpp:1123
void drawLine(const QLineF &line)
QPoint toPoint() const const
bool compare(const CartesianAxis *other) const
Returns true if both axes have the same settings.
Definition: KChartCartesianAxis.cpp:403
void translate(const QPointF &offset)
void restore()
AbstractDiagramList diagrams()
Definition: KChartAbstractCoordinatePlane.cpp:124
static const DataDimension adjustedLowerUpperRange(const DataDimension &dim, bool adjustLower, bool adjustUpper)
Adjusts dim so that dim.start and/or dim.end are a multiple of dim.stepWidth.
Definition: KChartAbstractGrid.cpp:95
int count(const T &value) const const
static QPaintDevice * paintDevice()
Return the paint device to use for calculating font metrics.
Definition: KChartMeasure.cpp:211
void setClipRegion(const QRegion ®ion, Qt::ClipOperation operation)
qreal & rx()
qreal & ry()
AbstractDiagram defines the interface for diagram classes.
Definition: KChartAbstractDiagram.h:36
void save()
qreal height() const const
QSize minimumSize() const override
pure virtual in QLayoutItem
Definition: KChartCartesianAxis.cpp:1076
Helper class for one dimension of data, e.g.
Definition: KChartAbstractCoordinatePlane.h:364
RulerAttributes rulerAttributes() const
Returns the attributes to be used for painting the rulers.
Definition: KChartAbstractAxis.cpp:194
void setClipping(bool enable)
void setHeight(int height)
CartesianAxis(AbstractCartesianDiagram *diagram=nullptr)
C'tor of the class for cartesian axes.
Definition: KChartCartesianAxis.cpp:374
virtual QVariant get(ScriptableExtension *callerPrincipal, quint64 objId, const QString &propName)
Base class for diagrams based on a cartesian coordianate system.
Definition: KChartAbstractCartesianDiagram.h:27
QString unitPrefix(int column, Qt::Orientation orientation, bool fallback=false) const
Retrieves the axis unit prefix for a specific column.
Definition: KChartAbstractDiagram.cpp:952
qreal width() const const
virtual const QString customizedLabel(const QString &label) const
Reimplement this method if you want to adjust axis labels before they are printed.
Definition: KChartAbstractAxis.cpp:147
bool isEmpty() const const
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Mon May 8 2023 03:59:29 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006
Documentation copyright © 1996-2023 The KDE developers.
Generated on Mon May 8 2023 03:59:29 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.