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

Line item class. More...

#include <lineitem.h>

Inheritance diagram for LineItem:

Public Types

enum  { Type = UserType + Line }
 Specific QGraphicsItem type number for function type() More...
 
- Public Types inherited from KplItem
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

 LineItem (double x0=0, double y0=0, unsigned color=0, QGraphicsItem *parent=nullptr, double length=1, bool visible=true, Symbol symbol=SolidLine, double relSize=1, double dir=0)
 Constructor.
 
 LineItem (const LineItem &a)
 Copy constructor.
 
 LineItem (const KConfigGroup *plo, unsigned color=0, QGraphicsItem *parent=nullptr)
 Constructor.
 
virtual ~LineItem ()
 Destructor.
 
QPixmap pixmap () const
 Returns decoration pixmap for item list.
 
void setDashOffset ()
 Sets offset for dashed lines.
 
void setPenWidth ()
 Sets pen width.
 
void setProperties (const QTransform &m)
 Sets properties according to transformation matrix.
 
void setSymbol (Symbol symbol)
 Sets line type.
 
Symbol symbol () const
 Returns line type.
 
virtual int type () const override
 Returns specific QGraphicsItem type number.
 
void update ()
 Applies changes and forces redrawing.
 
void writePlo (KConfigGroup *plo) const
 Writes into plot file.
 
- Public Member Functions inherited from VectorItem
 VectorItem (unsigned color=0, double x0=0, double y0=0, double length=1, double dir=0, double relSize=1)
 Constructor.
 
 VectorItem (const KConfigGroup *plo, unsigned color=0)
 Constructor.
 
virtual ~VectorItem ()
 Destructor.
 
double dir () const
 Returns rotation angle in deg.
 
double length () const
 Returns length in cm.
 
void setDir (double dir)
 Sets rotation angle.
 
void setLength (double length)
 Sets length.
 
void writePlo (KConfigGroup *plo, bool visible) const
 Writes into plot file.
 
- Public Member Functions inherited from DecoItem
 DecoItem (unsigned color=0, double x0=0, double y0=0, double relSize=1)
 Constructor.
 
 DecoItem (const KConfigGroup *plo, unsigned color=0)
 Constructor.
 
virtual ~DecoItem ()
 Destructor.
 
unsigned color () const
 Returns color.
 
void setColor (unsigned color)
 Sets color.
 
void setX0 (double x0)
 Sets x position.
 
void setY0 (double y0)
 Sets y position.
 
void updatePos (const QPointF &p, bool absolute=true)
 Updates position.
 
void writePlo (KConfigGroup *plo, bool visible) const
 Writes into plot file.
 
double x0 () const
 Returns x position in cm.
 
double y0 () const
 Returns y position in cm.
 
- Public Member Functions inherited from KplItem
 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.
 

Protected Member Functions

virtual void mouseReleaseEvent (QGraphicsSceneMouseEvent *event) override
 Updates position.
 
void setProperties ()
 Sets properties according to transformation matrix.
 
- Protected Member Functions inherited from KplItem
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

double myDashOffset
 
Symbol m_symbol
 
- Protected Attributes inherited from VectorItem
double m_length
 
double m_dir
 
- Protected Attributes inherited from DecoItem
unsigned m_color
 
double m_x0
 
double m_y0
 
QTransform m_matrix
 
- Protected Attributes inherited from KplItem
double m_relSize
 

Additional Inherited Members

- Static Public Member Functions inherited from KplItem
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.
 
- Static Protected Member Functions inherited from KplItem
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 Protected Attributes inherited from KplItem
static double m_dashOffset
 

Detailed Description

Line item class.

Class for line decoration items.

Author
Werner Stille

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

Specific QGraphicsItem type number for function type()

Enumerator
Type 

Specific QGraphicsItem type number of LineItem for function type().

Constructor & Destructor Documentation

◆ LineItem() [1/3]

LineItem::LineItem ( double x0 = 0,
double y0 = 0,
unsigned color = 0,
QGraphicsItem * parent = nullptr,
double length = 1,
bool visible = true,
Symbol symbol = SolidLine,
double relSize = 1,
double dir = 0 )

Constructor.

Initializes corresponding to arguments.

Parameters
x0x start position in cm.
y0y start position in cm.
colorcolor for line.
parentpointer to parent item.
lengthlength in cm.
visibletrue for visible item.
symbolline type.
relSizerelative line width.
dirdirection in degree.

◆ LineItem() [2/3]

LineItem::LineItem ( const LineItem & a)

Copy constructor.

Parameters
asource item.

◆ LineItem() [3/3]

LineItem::LineItem ( const KConfigGroup * plo,
unsigned color = 0,
QGraphicsItem * parent = nullptr )

Constructor.

Initializes corresponding to plot file.

Parameters
plopointer to KSimpleConfig object containing item data.
colordefault color for line.
parentpointer to parent item.

Member Function Documentation

◆ setProperties()

void LineItem::setProperties ( const QTransform & m)

Sets properties according to transformation matrix.

Parameters
mtransformation matrix.

◆ setSymbol()

void LineItem::setSymbol ( Symbol symbol)
inline

Sets line type.

Parameters
symbolline type.

◆ writePlo()

void LineItem::writePlo ( KConfigGroup * plo) const

Writes into plot file.

Parameters
ploKConfigGroup object.

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