libkpl
6.0
A Library for Graphical Presentation of Data Sets and Functions
|
Frame item class. More...
#include <frameitem.h>
Public Member Functions | |
FrameItem (double x0=4, double y0=3, double width=15, double height=10, unsigned colorFrame=0, unsigned colorGrid=0, bool logX=false, bool logY=false, GridMode gridMode=AxesWithLabels, double xMax=15, double yMax=10, const QString &textX=QString(), const QString &textY=QString(), const QString &header=QString(), double relSize=1, int numDigX=-1, int numDigY=-1, int minTicX=5, int minTicY=2, int expX=0, int expY=0, double xMin=0, double yMin=0, double xTic=5, double yTic=2, bool collapsed=false, bool visible=true, double xOffset=0, double yOffset=0, bool xBottom=true, bool xTop=false, bool yLeft=true, bool yRight=false) | |
Constructor. | |
FrameItem (const FrameItem &a) | |
Copy constructor. | |
FrameItem (const KConfigGroup *plo, double x0=4, double y0=3, double width=15, double height=10, unsigned colorFrame=0, unsigned colorGrid=0, GridMode gridMode=AxesWithLabels) | |
Constructor. | |
virtual | ~FrameItem () |
Destructor. | |
void | autoScale (double xmi, double xma, double fx, double ymi, double yma, double fy) |
Calculates and sets the scaling parameters. | |
void | autoScale (bool autoNorm=true) |
Calculates and sets the scaling parameters. | |
virtual QRectF | boundingRect () const override |
Calculates bounding rectangle. | |
bool | calcAutoScale (bool autoNorm, const QList< QGraphicsItem * > &items, double &fx, double &fy) |
Calculates scaling parameters for a frame item and all its child items. | |
QRectF | clipRect () const |
Returns clipping rectangle. | |
unsigned | colorFrame () const |
Returns color for frame and labels. | |
unsigned | colorGrid () const |
Returns color for grids and tics. | |
int | expX () const |
Returns logarithm of normalization factor for x axis. | |
int | expY () const |
Returns logarithm of normalization factor for y axis. | |
GridMode | gridMode () const |
Returns grid mode. | |
QString | header () const |
Returns heading text. | |
double | height () const |
Returns height in cm. | |
bool | collapsed () const |
Returns collapse state for list view. | |
bool | logX () const |
Returns true for logarithmic x axis. | |
bool | logY () const |
Returns true for logarithmic y axis. | |
QPointF | mapFromUser (const QPointF &p) const |
Maps from user to pixel coordinates. | |
QPointF | mapToUser (const QPointF &p) const |
Maps from pixel to user coordinates. | |
QRectF | mapToUser (const QRectF &rect) const |
Maps from pixel to user coordinates. | |
int | minTicX () const |
Returns number of intervals between major tics of x axis. | |
int | minTicY () const |
Returns number of intervals between major tics of y axis. | |
double | normX () const |
Returns normalization factor for x values. | |
double | normY () const |
Returns normalization factor for y values. | |
int | numDigX () const |
Returns number of digits for x axis. | |
int | numDigY () const |
Returns number of digits for y axis. | |
virtual void | paint (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget=nullptr) override |
Paints item. | |
QPointF | rectPos () const |
Returns position in cm units. | |
void | setColorFrame (unsigned color) |
Sets color for frame and labels. | |
void | setColorGrid (unsigned color) |
Sets color for grids and tics. | |
void | setExpX (int expX) |
Sets exponent of x normalization factor. | |
void | setExpY (int expY) |
Sets exponent of y normalization factor. | |
void | setGridMode (GridMode gridMode) |
Sets grid mode. | |
void | setHeight (double height) |
Sets height. | |
void | setLogX (bool logX) |
Sets logarithmic mode of x axis. | |
void | setLogY (bool logY) |
Sets logarithmic mode of y axis. | |
void | setMinTicX (int minTicX) |
Sets number of intervals between major tics of x axis. | |
void | setMinTicY (int minTicY) |
Sets number of intervals between major tics of y axis. | |
void | setNumDigX (int numDigX) |
Sets number of digits for x axis. | |
void | setNumDigY (int numDigY) |
Sets number of digits for y axis. | |
void | setProperties (const QTransform &m) |
Sets properties according to transformation matrix. | |
void | setHeader (const QString &text) |
Sets heading text. | |
void | setTextX (const QString &text) |
Sets x axis text. | |
void | setTextY (const QString &text) |
Sets y axis text. | |
void | setWidth (double width) |
Sets width. | |
void | setX0 (double x0) |
Sets left page margin. | |
void | setXBottom (bool xBottom) |
Sets bottom side label mode. | |
void | setXMax (double xMax) |
Sets upper x data limit. | |
void | setXMin (double xMin) |
Sets lower x data limit. | |
void | setXOffset (double xOffset) |
Sets x offset. | |
void | setXTic (double xTic) |
Sets x tick distance. | |
void | setXTop (bool xTop) |
Sets top side label mode. | |
void | setY0 (double y0) |
Sets bottom page margin. | |
void | setYLeft (bool yLeft) |
Sets left side label mode. | |
void | setYMax (double yMax) |
Sets upper y data limit. | |
void | setYMin (double yMin) |
Sets lower y data limit. | |
void | setYOffset (double yOffset) |
Sets y offset. | |
void | setYRight (bool yRight) |
Sets right side label mode. | |
void | setYTic (double yTic) |
Sets y tick distance. | |
QPointF | steps () const |
Returns user units steps for one pixel steps. | |
QString | textX () const |
Returns x axis text. | |
QString | textY () const |
Returns y axis text. | |
virtual int | type () const override |
Returns specific QGraphicsItem type number. | |
void | toggleCollapsed () |
Toggles collapse state. | |
void | update () |
Applies changes and forces redrawing. | |
void | updatePos (QPointF p) |
Sets position. | |
bool | valid (double x, double y) const |
Checks coordinates for validity. | |
double | width () const |
Returns width in cm. | |
void | writePlo (KConfigGroup *plo) const |
Writes into plot file. | |
double | x0 () const |
Returns left page margin in cm. | |
bool | xBottom () const |
Returns true for x axis labels on bottom side. | |
double | xMax () const |
Returns x value of right data window margin in user units. | |
double | xMin () const |
Returns x value of left data window margin in user units. | |
double | xOffset () const |
Returns offset for first major x tick. | |
double | xTic () const |
Returns distance between major tics of x axis. | |
bool | xTop () const |
Returns true for x axis labels on top side. | |
double | y0 () const |
bool | yLeft () const |
Returns true for y axis labels on left side. | |
bool | yRight () const |
Returns true for y axis labels on right side. | |
double | yMax () const |
Returns y value of upper data window margin in user units. | |
double | yMin () const |
Returns y value of lower data window margin in user units. | |
double | yOffset () const |
Returns offset for first major y tick. | |
double | yTic () const |
Returns distance between major tics of y axis. | |
![]() | |
KplItem (double relSize=1) | |
Constructor. | |
KplItem (const KplItem &a) | |
Copy constructor. | |
KplItem (const KConfigGroup *plo) | |
Constructor. | |
virtual | ~KplItem () |
Destructor. | |
void | readPlo (const KConfigGroup *plo) |
Initializes corresponding to plot file. | |
double | relSize () const |
Returns relative size of item. | |
void | setRelSize (double relSize) |
Sets relative size of item. | |
void | writePlo (KConfigGroup *plo, bool visible=true) const |
Writes into plot file. | |
Static Public Member Functions | |
static void | autoScale (double &xMin, double &xMax, double &tick, int &minTic, int &numDig, double xmi, double xma, double f, double c, bool log) |
Calculates scaling parameters. | |
static bool | valid (double v, bool log=false) |
Checks a double value for validity. | |
![]() | |
static QUrl | absoluteUrl (const QString &path, const QUrl &urlPlo) |
Constructs absolute file URL. | |
static QBrush | createBrush (unsigned color, FillStyle fillStyle=NoBrush) |
Creates brush. | |
static QPen | createPen (double width, unsigned color, PenType penType, Symbol symbol) |
Creates pen. | |
static void | paintSymbol (QPainter *painter, const QRectF &rect, Symbol symbol=OpenCircle) |
Paints symbol. | |
static QPixmap | pixmap (Symbol symbol) |
Returns black decoration pixmap of plot symbol for use in dialog GUI. | |
static QPixmap | pixmap (QPen pen, Symbol symbol=SolidLine) |
Returns decoration pixmap of plot symbol for use in item lists. | |
static QString | path (const QUrl &urlPlo, const QUrl &url, bool absolute=false) |
Constructs absolute or (if possible) relative file path. | |
static void | resetDashOffset () |
Resets offset for dashed lines. | |
static unsigned | rgb (const QString &color) |
Converts rgb string to QRgb. | |
static unsigned | rgbQt1 (unsigned rgb) |
Converts QRgb to Qt1 QRgb. | |
Protected Member Functions | |
void | drawText (QPainter *painter, const QString &text, double x, double y, TextItem::Alignment alignment, double dir=0) const |
Plots text. | |
double | incLog (double &x, double f) const |
Increment logarithm for next major axis tick. | |
virtual void | mouseReleaseEvent (QGraphicsSceneMouseEvent *event) override |
Updates position. | |
int | number (double v, int numDig, QString &label) const |
Prepares number label. | |
void | paintCond (QPainter *painter) const |
Paints or calculates bounding area. | |
void | setProperties () |
Sets properties according to transformation matrix. | |
double | tick (double tic, bool log) const |
Calculates actual distance between major tics. | |
![]() | |
QPen & | changePenWidth (QPen &pen, double width) const |
Changes pen width. | |
QPen | createPen (QGraphicsItem *item, unsigned color=0, PenType penType=DataPen, Symbol symbol=SolidLine) const |
Creates pen for plot item. | |
double | penWidth (const QGraphicsItem *item, PenType penType=DataPen) const |
Calculates pen width for plot item. | |
Protected Attributes | |
bool | m_logX |
bool | m_logY |
bool | m_xBottom |
bool | m_xTop |
bool | m_yLeft |
bool | m_yRight |
bool | m_collapsed |
int | m_numDigX |
int | m_numDigY |
int | m_minTicX |
int | m_minTicY |
int | m_expX |
int | m_expY |
GridMode | m_gridMode |
unsigned | m_colorFrame |
unsigned | m_colorGrid |
double | m_x0 |
double | m_y0 |
double | m_width |
double | m_height |
double | m_xMin |
double | m_xMax |
double | m_yMin |
double | m_yMax |
double | m_xTic |
double | m_yTic |
double | m_xOffset |
double | m_yOffset |
double | m_normX |
double | m_normY |
double | xminl |
double | xmaxl |
double | yminl |
double | ymaxl |
QString | m_textX |
QString | m_textY |
QString | m_header |
QRectF | bRect |
QRectF | cRect |
QTransform | md |
QTransform | m_inv |
QTransform | m_matrix |
![]() | |
double | m_relSize |
Additional Inherited Members | |
![]() | |
static double | parentWidth (const QGraphicsItem *item) |
Returns width of item's parent frame or width of scene if the item has no parent item. | |
static double | penWidthFactor (PenType penType) |
Returns factor to calculate pen width from frame width. | |
![]() | |
static double | m_dashOffset |
Frame item class.
Class for frame items with tics, grid, labels.
anonymous enum |
enum FrameItem::GridMode |
FrameItem::FrameItem | ( | double | x0 = 4, |
double | y0 = 3, | ||
double | width = 15, | ||
double | height = 10, | ||
unsigned | colorFrame = 0, | ||
unsigned | colorGrid = 0, | ||
bool | logX = false, | ||
bool | logY = false, | ||
GridMode | gridMode = AxesWithLabels, | ||
double | xMax = 15, | ||
double | yMax = 10, | ||
const QString & | textX = QString(), | ||
const QString & | textY = QString(), | ||
const QString & | header = QString(), | ||
double | relSize = 1, | ||
int | numDigX = -1, | ||
int | numDigY = -1, | ||
int | minTicX = 5, | ||
int | minTicY = 2, | ||
int | expX = 0, | ||
int | expY = 0, | ||
double | xMin = 0, | ||
double | yMin = 0, | ||
double | xTic = 5, | ||
double | yTic = 2, | ||
bool | collapsed = false, | ||
bool | visible = true, | ||
double | xOffset = 0, | ||
double | yOffset = 0, | ||
bool | xBottom = true, | ||
bool | xTop = false, | ||
bool | yLeft = true, | ||
bool | yRight = false ) |
Constructor.
Initializes corresponding to arguments.
x0 | left page margin in cm. |
y0 | bottom page margin in cm. |
width | width in cm. |
height | height in cm. |
colorFrame | color for frame and labels. |
colorGrid | color for grids and tics. |
logX | true for logarithmic x axis. |
logY | true for logarithmic y axis. |
gridMode | grid mode. |
xMax | x value of right data window margin in user units. |
yMax | y value of top window data margin in user units. |
textX | x axis text. |
textY | y axis text. |
header | heading text. |
relSize | relative size of text, markers and lines. |
numDigX | number of digits for x axis. |
numDigY | number of digits for y axis. |
minTicX | number of intervals between major tics of x axis. |
minTicY | number of intervals between major tics of y axis. |
expX | logarithm of normalization factor for x axis. |
expY | logarithm of normalization factor for y axis. |
xMin | x value of left data window margin in user units. |
yMin | y value of bottom data window margin in user units. |
xTic | distance between major tics of x axis. |
yTic | distance between major tics of y axis. |
collapsed | true for collapsed in list view. |
visible | true for visible item. |
xOffset | offset for first major x tick. |
yOffset | offset for first major y tick. |
xBottom | true for x axis labels on bottom side. |
xTop | true for x axis labels on top side. |
yLeft | true for y axis labels on left side. |
yRight | true for y axis labels on right side. |
FrameItem::FrameItem | ( | const FrameItem & | a | ) |
Copy constructor.
a | source item. |
FrameItem::FrameItem | ( | const KConfigGroup * | plo, |
double | x0 = 4, | ||
double | y0 = 3, | ||
double | width = 15, | ||
double | height = 10, | ||
unsigned | colorFrame = 0, | ||
unsigned | colorGrid = 0, | ||
GridMode | gridMode = AxesWithLabels ) |
Constructor.
Initializes corresponding to plot file.
plo | pointer to KConfigGroup object containing item data. |
x0 | default value for left page margin in cm. |
y0 | default value for bottom page margin in cm. |
width | default value for width in cm. |
height | default value for height in cm. |
colorFrame | default value for color for frame and labels. |
colorGrid | default value for color for grids and tics. |
gridMode | grid mode. |
void FrameItem::autoScale | ( | bool | autoNorm = true | ) |
Calculates and sets the scaling parameters.
autoNorm | true for automatic normalization. |
|
static |
Calculates scaling parameters.
xMin | pointer to double for rounded minimum value. |
xMax | pointer to double for rounded maximum value. |
tick | pointer to double for major tick distance. |
minTic | pointer to int for intervals between major tics. |
numDig | pointer to int for number of places after decimal point for lettering. |
xmi | minimum value. |
xma | maximum value. |
f | normalization factor. |
c | scaling constant, desired value for tick / (xma - xmi). |
log | true for logarithmic axis. |
void FrameItem::autoScale | ( | double | xmi, |
double | xma, | ||
double | fx, | ||
double | ymi, | ||
double | yma, | ||
double | fy ) |
Calculates and sets the scaling parameters.
xmi | minimum x value. |
xma | maximum x value. |
fx | x normalization factor. |
ymi | minimum y value. |
yma | maximum y value. |
fy | y normalization factor. |
|
overridevirtual |
Calculates bounding rectangle.
Reimplemented in ThreeDItem.
bool FrameItem::calcAutoScale | ( | bool | autoNorm, |
const QList< QGraphicsItem * > & | items, | ||
double & | fx, | ||
double & | fy ) |
Calculates scaling parameters for a frame item and all its child items.
autoNorm | true for automatic normalization. |
items | list of child items. |
fx | normalization factor for x axis. |
fy | normalization factor for y axis. |
|
protected |
Plots text.
painter | pointer to QPainter object. |
text | text. |
x | x position in pixel units. |
y | y position in pixel units. |
alignment | horizontal alignment. |
dir | text direction in degree. |
|
protected |
Increment logarithm for next major axis tick.
x | logarithm of tick value. |
f | factor to get second tick in a decade. |
QPointF FrameItem::mapFromUser | ( | const QPointF & | p | ) | const |
Maps from user to pixel coordinates.
p | user coordinates. |
QPointF FrameItem::mapToUser | ( | const QPointF & | p | ) | const |
Maps from pixel to user coordinates.
p | pixel coordinates. |
QRectF FrameItem::mapToUser | ( | const QRectF & | rect | ) | const |
Maps from pixel to user coordinates.
rect | rectangle given in pixel coordinates. |
|
protected |
Prepares number label.
v | value in user units. |
numDig | number of digits after decimal point (-1: no display of decimal point). |
label | label (output). |
|
overridevirtual |
Paints item.
Reimplemented in Array3DItem, Fun3DItem, and ThreeDItem.
|
protected |
Paints or calculates bounding area.
painter | QPainter object, 0 for calculating bounding area. |
|
inline |
Sets color for frame and labels.
color | color. |
|
inline |
Sets color for grids and tics.
color | color. |
|
inline |
Sets exponent of x normalization factor.
expX | exponent. |
|
inline |
Sets exponent of y normalization factor.
expY | exponent. |
|
inline |
Sets grid mode.
gridMode | grid mode. |
|
inline |
Sets heading text.
text | heading text. |
|
inline |
Sets height.
height | height in cm. |
|
inline |
Sets logarithmic mode of x axis.
logX | true for logarithmic x axis. |
|
inline |
Sets logarithmic mode of y axis.
logY | true for logarithmic y axis. |
|
inline |
Sets number of intervals between major tics of x axis.
minTicX | number of intervals. |
|
inline |
Sets number of intervals between major tics of y axis.
minTicY | number of intervals. |
|
inline |
Sets number of digits for x axis.
numDigX | number of digits. |
|
inline |
Sets number of digits for y axis.
numDigY | number of digits. |
void FrameItem::setProperties | ( | const QTransform & | m | ) |
Sets properties according to transformation matrix.
m | transformation matrix. |
|
inline |
Sets x axis text.
text | axis text. |
|
inline |
Sets y axis text.
text | axis text. |
|
inline |
Sets width.
width | width in cm. |
|
inline |
Sets left page margin.
x0 | page margin in cm. |
|
inline |
Sets bottom side label mode.
xBottom | true for x axis labels on bottom side. |
|
inline |
Sets upper x data limit.
xMax | x value of right data window margin in user units. |
|
inline |
Sets lower x data limit.
xMin | x value of left data window margin in user units. |
|
inline |
Sets x offset.
xOffset | offset for first major x tick. |
|
inline |
Sets x tick distance.
xTic | distance between major tics of x axis. |
|
inline |
Sets top side label mode.
xTop | true for x axis labels on top side. |
|
inline |
Sets bottom page margin.
y0 | page margin in cm. |
|
inline |
Sets left side label mode.
yLeft | true for x axis labels on left side. |
|
inline |
Sets upper y data limit.
yMax | y value of upper data window margin in user units. |
|
inline |
Sets lower y data limit.
yMin | y value of lower data window margin in user units. |
|
inline |
Sets y offset.
yOffset | offset for first major y tick. |
|
inline |
Sets right side label mode.
yRight | true for x axis labels on right side. |
|
inline |
Sets y tick distance.
yTic | distance between major tics of y axis. |
|
protected |
Calculates actual distance between major tics.
tic | tick distance in user units. |
log | true for logarithmic axis. |
|
inlineoverridevirtual |
Returns specific QGraphicsItem type number.
Reimplemented in Array3DItem, and Fun3DItem.
void FrameItem::updatePos | ( | QPointF | p | ) |
Sets position.
p | position of bottom left corner in cm. |
|
inlinestatic |
Checks a double value for validity.
v | double value. |
log | true for use as argument of log function. |
bool FrameItem::valid | ( | double | x, |
double | y ) const |
Checks coordinates for validity.
x | x value. |
y | y value. |
void FrameItem::writePlo | ( | KConfigGroup * | plo | ) | const |
Writes into plot file.
plo | KConfigGroup object. |