libkpl  5.0
A Library for Graphical Presentation of Data Sets and Functions
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
KplItem Class Reference

Kpl item class. More...

#include <kplitem.h>

Inheritance diagram for KplItem:
Inheritance graph
[legend]

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. More...
 
 KplItem (const KplItem &a)
 Copy constructor. More...
 
 KplItem (const KConfigGroup *plo)
 Constructor. More...
 
virtual ~KplItem ()
 Destructor. More...
 
void readPlo (const KConfigGroup *plo)
 Initializes corresponding to plot file. More...
 
double relSize () const
 Returns relative size of item. More...
 
void setRelSize (double relSize)
 Sets relative size of item. More...
 
void writePlo (KConfigGroup *plo, bool visible=true) const
 Writes into plot file. More...
 

Static Public Member Functions

static QUrl absoluteUrl (const QString &path, const QUrl &urlPlo)
 Constructs absolute file URL. More...
 
static QBrush createBrush (unsigned color, FillStyle fillStyle=NoBrush)
 Creates brush. More...
 
static QPen createPen (double width, unsigned color, PenType penType, Symbol symbol)
 Creates pen. More...
 
static void paintSymbol (QPainter *painter, const QRectF &rect, Symbol symbol=OpenCircle)
 Paints symbol. More...
 
static QPixmap pixmap (Symbol symbol)
 Returns black decoration pixmap of plot symbol for use in dialog GUI. More...
 
static QPixmap pixmap (QPen pen, Symbol symbol=SolidLine)
 Returns decoration pixmap of plot symbol for use in item lists. More...
 
static QString path (const QUrl &urlPlo, const QUrl &url, bool absolute=false)
 Constructs absolute or (if possible) relative file path. More...
 
static void resetDashOffset ()
 Resets offset for dashed lines. More...
 
static unsigned rgb (const QString &color)
 Converts rgb string to QRgb. More...
 
static unsigned rgbQt1 (unsigned rgb)
 Converts QRgb to Qt1 QRgb. More...
 

Protected Member Functions

QPenchangePenWidth (QPen &pen, double width) const
 Changes pen width. More...
 
QPen createPen (QGraphicsItem *item, unsigned color=0, PenType penType=DataPen, Symbol symbol=SolidLine) const
 Creates pen for plot item. More...
 
double penWidth (const QGraphicsItem *item, PenType penType=DataPen) const
 Calculates pen width for plot item. More...
 

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. More...
 
static double penWidthFactor (PenType penType)
 Returns factor to calculate pen width from frame width. More...
 

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

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.

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.

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 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::KplItem ( double  relSize = 1)

Constructor.

Initializes corresponding to arguments.

Parameters
relSizerelative size of text and symbols.
KplItem::KplItem ( const KplItem a)

Copy constructor.

Parameters
asource item.
KplItem::KplItem ( const KConfigGroup *  plo)

Constructor.

Initializes corresponding to plot file.

Parameters
ploKSimpleConfig object containing item data.
virtual KplItem::~KplItem ( )
virtual

Destructor.

Member Function Documentation

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.
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.
static QBrush KplItem::createBrush ( unsigned  color,
FillStyle  fillStyle = NoBrush 
)
static

Creates brush.

Parameters
colorbrush color.
fillStylefill style.
Returns
created brush.
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.
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.
static void KplItem::paintSymbol ( QPainter painter,
const QRectF rect,
Symbol  symbol = OpenCircle 
)
static

Paints symbol.

Parameters
painterpointer to QPainter.
rectbounding rectangle.
symbolsymbol type.
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.
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.
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.
static double KplItem::penWidthFactor ( PenType  penType)
staticprotected

Returns factor to calculate pen width from frame width.

Parameters
penTypepen type.
Returns
factor.
static QPixmap KplItem::pixmap ( Symbol  symbol)
static

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

Parameters
symbolsymbol type.
Returns
pixmap.
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.
void KplItem::readPlo ( const KConfigGroup *  plo)

Initializes corresponding to plot file.

Parameters
plopointer to KConfigGroup object containing item data.
double KplItem::relSize ( ) const
inline

Returns relative size of item.

static void KplItem::resetDashOffset ( )
static

Resets offset for dashed lines.

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.
static unsigned KplItem::rgbQt1 ( unsigned  rgb)
static

Converts QRgb to Qt1 QRgb.

Parameters
rgbQRgb value of actual Qt version.
Returns
QRgb value for actual Qt1 version.
void KplItem::setRelSize ( double  relSize)
inline

Sets relative size of item.

Parameters
relSizerelative size.
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: