26#include "scaleditem.h"
83 double fx = 1,
double fy = 1, QGraphicsItem* parent =
nullptr,
121 inline int colErr()
const {
return m_colErr; };
123 inline int colX()
const {
return m_colX; };
125 inline int colY()
const {
return m_colY; };
135 inline int count()
const {
return m_count; };
140 inline double**
data()
const {
return m_data; };
143 {
return m_decimalCharacter; };
153 void exponent(
int& expX,
int& expY,
double& fx,
double& fy)
const;
160 inline bool internal()
const {
return m_internal; };
168 void limits(
double& xMin,
double& xMax,
double& yMin,
double& yMax)
const;
170 inline int numCols()
const {
return m_numCols; };
172 inline int numRows()
const {
return m_numRows; };
174 virtual void paint(QPainter* painter,
const QStyleOptionGraphicsItem* option,
175 QWidget* widget =
nullptr)
override;
227 inline int rowStart()
const {
return m_rowStart; };
260 { m_decimalCharacter = decimalChar; };
299 virtual QPainterPath
shape()
const override;
307 virtual int type()
const override {
return Type; };
309 inline const QUrl&
url()
const {
return m_url; };
316 void writePlo(KConfigGroup* plo,
const QUrl& urlPlo,
bool absolute)
const;
325 bool m_internal, m_errorBars;
326 int m_colX, m_colY, m_colErr, m_rowStart, m_count, m_numRows, m_numCols;
void setColErr(int colErr)
Sets error column index.
Definition arrayitem.h:232
bool errorBars() const
Returns true for plotting error bars.
Definition arrayitem.h:145
void setData(double **data)
Sets array pointer.
virtual QRectF boundingRect() const override
Calculates bounding rectangle.
static void freeArray(double ***data)
Deallocates array storage.
static int readLines(QTextStream &t, int nCols, double ***data, DecimalCharacter decimalChar=Point)
Reads double values from a text stream into an array.
virtual ~ArrayItem()
Destructor.
int colY() const
Returns y column index.
Definition arrayitem.h:125
void setUrl(const QUrl &url)
Sets URL.
Definition arrayitem.h:297
void limits(double &xMin, double &xMax, double &yMin, double &yMax) const
Calculates minimum and maximum values.
void setColY(int colY)
Sets y column index.
Definition arrayitem.h:242
void exponent(int &expX, int &expY, double &fx, double &fy) const
Calculates normalization factors.
void setRowStart(int rowStart)
Sets start row index.
Definition arrayitem.h:292
double ** data() const
Returns pointer to internal array.
Definition arrayitem.h:140
DecimalCharacter
Decimal character.
Definition arrayitem.h:43
@ Point
Decimal point.
Definition arrayitem.h:44
@ Settings
Use Kpl Settings (only for internal use in Kpl application).
Definition arrayitem.h:46
@ Comma
Decimal comma.
Definition arrayitem.h:45
int colErr() const
Returns y error column index.
Definition arrayitem.h:121
void setErrorBars(bool errorBars)
Sets error bars plotting.
Definition arrayitem.h:265
static int readFile(QIODevice *device, int &nCols, double ***data, DecimalCharacter decimalChar=Point)
Reads double values from an I/O device into an array.
int numRows() const
Returns number of rows.
Definition arrayitem.h:172
ArrayItem(const ArrayItem &a)
Copy constructor.
void setColX(int colX)
Sets x column index.
Definition arrayitem.h:237
bool internal() const
Returns true for internal stored array data.
Definition arrayitem.h:160
DecimalCharacter decimalCharacter() const
Returns decimal symbol of floating point numbers.
Definition arrayitem.h:142
void setDashOffset()
Sets offset for dashed lines.
void setRange(int rowStart, int n)
Sets and limits the start row index and the number of points to be plotted.
int numCols() const
Returns number of columns.
Definition arrayitem.h:170
virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget=nullptr) override
Paints item.
void adjustCols(int colX, int colY, int colErr)
Sets and limits the column indices.
virtual int type() const override
Returns specific QGraphicsItem type number.
Definition arrayitem.h:307
int count() const
Returns number of data points to be plotted.
Definition arrayitem.h:135
void setNumRows(int nRows)
Sets number of rows.
Definition arrayitem.h:280
ArrayItem(const KConfigGroup *plo, const QUrl &urlPlo, unsigned color=0, int colX=0, int colY=0, int colErr=0, bool errorBars=false, Symbol symbol=OpenCircle, QGraphicsItem *parent=nullptr)
Constructor.
virtual int readFile()
Reads double values from the URL.
virtual QPainterPath shape() const override
Returns the shape of the plot item.
@ Type
Specific QGraphicsItem type number of ArrayItem for function type().
Definition arrayitem.h:50
int rowStart() const
Returns start row index.
Definition arrayitem.h:227
ArrayItem(unsigned color, int colX=0, int colY=0, int colErr=0, bool errorBars=false, Symbol symbol=OpenCircle, DecimalCharacter decimalChar=Point, const QUrl &url=QUrl(), double fx=1, double fy=1, QGraphicsItem *parent=nullptr, int n=0, int rowStart=0, FillStyle fillStyle=NoBrush, double xOffset=0, double yOffset=0, bool visible=true, bool internal=false, double relSize=1)
Constructor.
static int readFile(QString *text, int &nCols, double ***data, DecimalCharacter decimalChar=Point)
Reads double values from a string into an array.
void paintCond(QPainter *painter) const
Paints or calculates bounding area.
static void translate(QString &line, DecimalCharacter decimalChar)
Translates exponent and decimal symbols.
static double ** copyArray(double **data, int nCols, int nRows)
Copies array storage.
int readFile(QString *text)
Reads double values from a string.
void setDecimalCharacter(DecimalCharacter decimalChar)
Sets decimal character.
Definition arrayitem.h:259
void setInternal(bool internal)
Sets storage mode.
Definition arrayitem.h:270
int colX() const
Returns x column index.
Definition arrayitem.h:123
static int readFile(const QUrl &url, int &nCols, double ***data, DecimalCharacter decimalChar=Point)
Reads double values from a file into an array.
void writePlo(KConfigGroup *plo, const QUrl &urlPlo, bool absolute) const
Writes into plot file.
void adjustCols()
Limits the column indices.
Definition arrayitem.h:117
const QUrl & url() const
Returns URL of data file.
Definition arrayitem.h:309
void setNumCols(int nCols)
Sets number of columns.
Definition arrayitem.h:275
void setCount(int n)
Sets number of data points.
Definition arrayitem.h:247
@ Array
Item with array of 2D data points.
Definition kplitem.h:58
FillStyle
Fill styles.
Definition kplitem.h:45
@ NoBrush
No brush pattern.
Definition kplitem.h:46
Symbol
Symbol types.
Definition kplitem.h:83
@ OpenCircle
Open circle.
Definition kplitem.h:101
double relSize() const
Returns relative size of item.
Definition kplitem.h:189
Symbol symbol() const
Returns symbol type.
Definition scaleditem.h:150
double xOffset() const
Returns offset for x values.
Definition scaleditem.h:162
FillStyle fillStyle() const
Returns fill style.
Definition scaleditem.h:70
double yOffset() const
Returns offset for y values.
Definition scaleditem.h:164
unsigned color() const
Returns color.
Definition scaleditem.h:61