libkpl  6.0
A Library for Graphical Presentation of Data Sets and Functions
KplItem Class Reference

Kpl item class. More...

#include <kplitem.h>

Inheritance diagram for KplItem:

Public Types

enum  FillStyle {
  NoBrush , SolidPattern , HorPattern , VerPattern ,
  CrossPattern , BDiagPattern , FDiagPattern , DiagCrossPattern
}
 Fill styles. More...
 
enum  ItemType {
  Frame = 1 , Array , Function , ParFunction ,
  Spline , Array3D , Function3D , Legend ,
  Text , Line , Arrow , Arc ,
  Rectangle , Ellipse , Image , ScaleBar
}
 Item types. More...
 
enum  PenType { FramePen , GridPen , DataPen }
 Pen types. More...
 
enum  Symbol {
  Invisible = -17 , FilledOctagon , FilledHourglass , FilledTriangle ,
  FilledSquare , FilledDiamond , FilledCircle , Umbrella ,
  Ypsilon , Plus , Cross , OpenOctagon ,
  OpenHourglass , OpenTriangle , OpenSquare , OpenDiamond ,
  Dot , OpenCircle , SolidLine , DashLine1 ,
  DashLine2 , DotLine1 , DashLine3 , DashDotLine ,
  DashLine4 , DashLine5 , DotLine2
}
 Symbol types. More...
 

Public Member Functions

 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 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

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.
 

Static Protected Member Functions

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.
 

Protected Attributes

double m_relSize
 

Static Protected Attributes

static double m_dashOffset
 

Detailed Description

Kpl item class.

Base class for plot items.

Author
Werner Stille

Member Enumeration Documentation

◆ FillStyle

Fill styles.

Types of fill styles for filled geometric forms.

Enumerator
NoBrush 

No brush pattern.

SolidPattern 

Uniform color.

HorPattern 

Horizontal lines.

VerPattern 

Vertical lines.

CrossPattern 

Crossing horizontal and vertical lines.

BDiagPattern 

Backward diagonal lines.

FDiagPattern 

Forward diagonal lines.

DiagCrossPattern 

Crossing diagonal lines.

◆ ItemType

Item types.

Types of plot items.

Enumerator
Frame 

Frame item with axes or grid.

Array 

Item with array of 2D data points.

Function 

2D function item.

ParFunction 

2D parametric function item.

Spline 

2D spline interpolation item.

Array3D 

Item with array of 3D data points.

Function3D 

3D function item.

Legend 

Legend item for explaining of symbols or lines.

Text 

Text item.

Line 

Item with straight line.

Arrow 

Item with single or double-headed arrow.

Arc 

Item with circular or elliptical arc.

Rectangle 

Item with rectangle or square.

Ellipse 

Item with ellipse or circle.

Image 

Item with EPS image from external file.

ScaleBar 

Scalebar item.

◆ PenType

Pen types.

Pens with different relative widths corresponding to different parts of the plot.

Enumerator
FramePen 

For rectangular frame.

GridPen 

For grids and tics.

DataPen 

For array and function items.

◆ Symbol

Symbol types.

Types of plot symbols and lines.

Enumerator
Invisible 

No painting.

FilledOctagon 

Filled octagon.

FilledHourglass 

Filled hourglass.

FilledTriangle 

Filled triangle.

FilledSquare 

Filled square.

FilledDiamond 

Filled diamond.

FilledCircle 

Filled circle.

Umbrella 

Umbrella-like shape.

Ypsilon 

Ypsilon-like shape.

Plus 

Plus sign cross.

Cross 

Diagonal cross.

OpenOctagon 

Open octagon.

OpenHourglass 

Open hourglass.

OpenTriangle 

Open triangle.

OpenSquare 

Open square.

OpenDiamond 

Open Diamond.

Dot 

Dot-like filled circle.

OpenCircle 

Open circle.

SolidLine 

Solid line.

DashLine1 

Line with wide dashes and spaces.

DashLine2 

Line with short dashes and wide spaces.

DotLine1 

Dotted line with wide spaces.

DashLine3 

Line with wide dashes and short spaces.

DashDotLine 

Dash-dotted line.

DashLine4 

Line with wide and short dashes.

DashLine5 

Line with short dashes and short spaces.

DotLine2 

Dotted line with short spaces.

Constructor & Destructor Documentation

◆ KplItem() [1/3]

KplItem::KplItem ( double relSize = 1)

Constructor.

Initializes corresponding to arguments.

Parameters
relSizerelative size of text and symbols.

◆ KplItem() [2/3]

KplItem::KplItem ( const KplItem & a)

Copy constructor.

Parameters
asource item.

◆ KplItem() [3/3]

KplItem::KplItem ( const KConfigGroup * plo)

Constructor.

Initializes corresponding to plot file.

Parameters
ploKSimpleConfig object containing item data.

Member Function Documentation

◆ absoluteUrl()

static QUrl KplItem::absoluteUrl ( const QString & path,
const QUrl & urlPlo )
static

Constructs absolute file URL.

Parameters
pathpath of file (can be relative).
urlPloURL of referring plot file.
Returns
resulting absolute URL of file.

◆ changePenWidth()

QPen & KplItem::changePenWidth ( QPen & pen,
double width ) const
protected

Changes pen width.

Parameters
penreference to pen.
widthpen width in pixel units.
Returns
reference to changed pen.

◆ createBrush()

static QBrush KplItem::createBrush ( unsigned color,
FillStyle fillStyle = NoBrush )
static

Creates brush.

Parameters
colorbrush color.
fillStylefill style.
Returns
created brush.

◆ createPen() [1/2]

static QPen KplItem::createPen ( double width,
unsigned color,
PenType penType,
Symbol symbol )
static

Creates pen.

Parameters
widthpen width in pixel units.
colorpen color.
penTypepen type.
symbolsymbol type.
Returns
created pen.

◆ createPen() [2/2]

QPen KplItem::createPen ( QGraphicsItem * item,
unsigned color = 0,
PenType penType = DataPen,
Symbol symbol = SolidLine ) const
protected

Creates pen for plot item.

Parameters
itemplot item.
colorpen color.
penTypepen type.
symbolsymbol type.
Returns
created pen.

◆ paintSymbol()

static void KplItem::paintSymbol ( QPainter * painter,
const QRectF & rect,
Symbol symbol = OpenCircle )
static

Paints symbol.

Parameters
painterpointer to QPainter.
rectbounding rectangle.
symbolsymbol type.

◆ parentWidth()

static double KplItem::parentWidth ( const QGraphicsItem * item)
staticprotected

Returns width of item's parent frame or width of scene if the item has no parent item.

Parameters
itemplot item.
Returns
width in pixel units.

◆ path()

static QString KplItem::path ( const QUrl & urlPlo,
const QUrl & url,
bool absolute = false )
static

Constructs absolute or (if possible) relative file path.

Parameters
urlPloURL of referring plot file.
urlfile URL.
absoluteconstruct absolute path if true.
Returns
resulting path.

◆ penWidth()

double KplItem::penWidth ( const QGraphicsItem * item,
PenType penType = DataPen ) const
protected

Calculates pen width for plot item.

Parameters
itemplot item.
penTypepen type.
Returns
width in pixel units.

◆ penWidthFactor()

static double KplItem::penWidthFactor ( PenType penType)
staticprotected

Returns factor to calculate pen width from frame width.

Parameters
penTypepen type.
Returns
factor.

◆ pixmap() [1/2]

static QPixmap KplItem::pixmap ( QPen pen,
Symbol symbol = SolidLine )
static

Returns decoration pixmap of plot symbol for use in item lists.

Parameters
penpen with symbol color.
symbolsymbol type.
Returns
pixmap.

◆ pixmap() [2/2]

static QPixmap KplItem::pixmap ( Symbol symbol)
static

Returns black decoration pixmap of plot symbol for use in dialog GUI.

Parameters
symbolsymbol type.
Returns
pixmap.

◆ readPlo()

void KplItem::readPlo ( const KConfigGroup * plo)

Initializes corresponding to plot file.

Parameters
plopointer to KConfigGroup object containing item data.

◆ rgb()

static unsigned KplItem::rgb ( const QString & color)
static

Converts rgb string to QRgb.

Parameters
colorhexadecimal coded Qt1 rgb value.
Returns
QRgb value for actual Qt version.

◆ rgbQt1()

static unsigned KplItem::rgbQt1 ( unsigned rgb)
static

Converts QRgb to Qt1 QRgb.

Parameters
rgbQRgb value of actual Qt version.
Returns
QRgb value for Qt1 version.

◆ setRelSize()

void KplItem::setRelSize ( double relSize)
inline

Sets relative size of item.

Parameters
relSizerelative size.

◆ writePlo()

void KplItem::writePlo ( KConfigGroup * plo,
bool visible = true ) const

Writes into plot file.

Parameters
ploKConfigGroup object.
visiblefalse for hidden item.

The documentation for this class was generated from the following file: