#include <cmath>
#include <QtDebug>
#include <QPainter>
#include <QPen>
#include <QBrush>
#include <QApplication>
#include "KDChartPaintContext.h"
#include "KDChartChart.h"
#include "KDChartCartesianAxis.h"
#include "KDChartCartesianAxis_p.h"
#include "KDChartAbstractCartesianDiagram.h"
#include "KDChartAbstractGrid.h"
#include "KDChartPainterSaver_p.h"
#include "KDChartLayoutItems.h"
#include "KDChartBarDiagram.h"
#include <KDABLibFakes>
#include <limits>
Include dependency graph for KDChartCartesianAxis.cpp:
Go to the source code of this file.
Defines | |
#define | d (d_func()) |
Functions | |
static void | calculateNextLabel (qreal &labelValue, qreal step, bool isLogarithmic) |
static void | calculateOverlap (int i, int first, int last, int measure, bool isBarDiagram, int &firstOverlap, int &lastOverlap) |
static bool | referenceDiagramIsBarDiagram (const AbstractDiagram *diagram) |
#define d (d_func()) |
Definition at line 50 of file KDChartCartesianAxis.cpp.
static void calculateNextLabel | ( | qreal & | labelValue, | |
qreal | step, | |||
bool | isLogarithmic | |||
) | [static] |
Definition at line 349 of file KDChartCartesianAxis.cpp.
Referenced by KDChart::CartesianAxis::paintCtx().
00350 { 00351 if ( isLogarithmic ){ 00352 labelValue *= 10.0; 00353 if( labelValue == 0.0 ) 00354 labelValue = 1.0;//std::numeric_limits< double >::epsilon(); 00355 }else{ 00356 //qDebug() << "new axis label:" << labelValue << "+" << step << "=" << labelValue+step; 00357 labelValue += step; 00358 } 00359 /* if( qAbs(labelValue) < 1.0e-15 ) 00360 labelValue = 0.0;*/ 00361 }
static void calculateOverlap | ( | int | i, | |
int | first, | |||
int | last, | |||
int | measure, | |||
bool | isBarDiagram, | |||
int & | firstOverlap, | |||
int & | lastOverlap | |||
) | [static] |
Definition at line 1012 of file KDChartCartesianAxis.cpp.
Referenced by KDChart::CartesianAxis::maximumSize().
01016 { 01017 if( i == first ){ 01018 if( isBarDiagram ){ 01019 //TODO(khz): Calculate the amount of left overlap 01020 // for bar diagrams. 01021 }else{ 01022 firstOverlap = measure / 2; 01023 } 01024 } 01025 // we test both bounds in on go: first and last might be equal 01026 if( i == last ){ 01027 if( isBarDiagram ){ 01028 //TODO(khz): Calculate the amount of right overlap 01029 // for bar diagrams. 01030 }else{ 01031 lastOverlap = measure / 2; 01032 } 01033 } 01034 }
static bool referenceDiagramIsBarDiagram | ( | const AbstractDiagram * | diagram | ) | [static] |
Definition at line 364 of file KDChartCartesianAxis.cpp.
References KDChart::AbstractCartesianDiagram::referenceDiagram().
Referenced by KDChart::CartesianAxis::maximumSize(), and KDChart::CartesianAxis::paintCtx().
00365 { 00366 const AbstractCartesianDiagram * dia = 00367 qobject_cast< const AbstractCartesianDiagram * >( diagram ); 00368 if( dia && dia->referenceDiagram() ) 00369 dia = dia->referenceDiagram(); 00370 return qobject_cast< const BarDiagram* >( dia ) != 0; 00371 }