• Skip to content
  • Skip to link menu
KDE 4.0 API Reference
  • KDE API Reference
  • API Reference
  • Sitemap
  • Contact Us
 

libplasma

Plasma::SignalPlotter

Plasma::SignalPlotter Class Reference

#include <signalplotter.h>

Inheritance diagram for Plasma::SignalPlotter:

Inheritance graph
[legend]

List of all members.


Detailed Description

Definition at line 37 of file signalplotter.h.


Public Member Functions

 SignalPlotter (Widget *parent=0)
 ~SignalPlotter ()
Qt::Orientations expandingDirections () const
void addPlot (const QColor &color)
void addSample (const QList< double > &samples)
void reorderPlots (const QList< uint > &newOrder)
void removePlot (uint pos)
QList< PlotColor > & plotColors ()
void setTitle (const QString &title)
QString title () const
void setUnit (const QString &unit)
QString unit () const
void scale (qreal delta)
qreal scaledBy () const
void setUseAutoRange (bool value)
bool useAutoRange () const
void setVerticalRange (double min, double max)
double verticalMinValue () const
double verticalMaxValue () const
void setHorizontalScale (uint scale)
uint horizontalScale () const
void setShowVerticalLines (bool value)
bool showVerticalLines () const
void setVerticalLinesColor (const QColor &color)
QColor verticalLinesColor () const
void setVerticalLinesDistance (uint distance)
uint verticalLinesDistance () const
void setVerticalLinesScroll (bool value)
bool verticalLinesScroll () const
void setShowHorizontalLines (bool value)
bool showHorizontalLines () const
void setHorizontalLinesColor (const QColor &color)
QColor horizontalLinesColor () const
void setFontColor (const QColor &color)
QColor fontColor () const
void setFont (const QFont &font)
QFont font () const
void setHorizontalLinesCount (uint count)
uint horizontalLinesCount () const
void setShowLabels (bool value)
bool showLabels () const
void setShowTopBar (bool value)
bool showTopBar () const
void setBackgroundColor (const QColor &color)
QColor backgroundColor () const
void setSvgBackground (const QString &filename)
QString svgBackground ()
double lastValue (uint i) const
QString lastValueAsString (uint i) const
void setThinFrame (bool set)
void setStackPlots (bool stack)
bool stackPlots () const
QPixmap getSnapshotImage (uint width, uint height)
virtual void setGeometry (const QRectF &geometry)

Protected Member Functions

void updateDataBuffers ()
void calculateNiceRange ()
void paintWidget (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
void drawWidget (QPainter *p, uint w, uint height, int horizontalScale)
void drawBackground (QPainter *p, int w, int h)
void drawThinFrame (QPainter *p, int w, int h)
void drawTopBarFrame (QPainter *p, int seperatorX, int height)
void drawTopBarContents (QPainter *p, int x, int width, int height)
void drawVerticalLines (QPainter *p, int top, int w, int h)
void drawPlots (QPainter *p, int top, int w, int h, int horizontalScale)
void drawAxisText (QPainter *p, int top, int h)
void drawHorizontalLines (QPainter *p, int top, int w, int h)

Properties

QString title
QString unit
qreal scale
bool useAutoRange
uint horizontalScale
bool showVerticalLines
QColor verticalLinesColor
uint verticalLinesDistance
bool verticalLinesScroll
bool showHorizontalLines
QColor horizontalLinesColor
QColor fontColor
QFont font
uint horizontalLinesCount
bool showLabels
bool showTopBar
QColor backgroundColor
QString svgBackground
bool thinFrame
bool stackPlots

Constructor & Destructor Documentation

Plasma::SignalPlotter::SignalPlotter ( Widget *  parent = 0  ) 

Definition at line 98 of file signalplotter.cpp.

Plasma::SignalPlotter::~SignalPlotter (  ) 

Definition at line 135 of file signalplotter.cpp.


Member Function Documentation

Qt::Orientations Plasma::SignalPlotter::expandingDirections (  )  const [virtual]

This method is used by Plasma::Layout to determine which directions the widget naturally expands.

Returns:
bitmask with the directions that this Widget can be expanded.

Reimplemented from Plasma::Widget.

Definition at line 140 of file signalplotter.cpp.

void Plasma::SignalPlotter::addPlot ( const QColor &  color  ) 

Add a new line to the graph plotter, with the specified color.

Note that the order you add the plots must be the same order that the same data is given in (unless you reorder the plots).

Parameters:
color the color to use for this plot

Definition at line 154 of file signalplotter.cpp.

void Plasma::SignalPlotter::addSample ( const QList< double > &  samples  ) 

Add data to the graph, and advance the graph by one time period.

The data must be given as a list in the same order that the plots were added (or consequently reordered).

Parameters:
samples a list with the new value for each plot

Definition at line 167 of file signalplotter.cpp.

void Plasma::SignalPlotter::reorderPlots ( const QList< uint > &  newOrder  ) 

Reorder the plots into the order given.

For example:

  KSignalPlotter *s = KSignalPlotter(parent);
  s->addPlot(Qt::Blue);
  s->addPlot(Qt::Green);
  QList neworder;
  neworder << 1 << 0;
  reorderPlots(newOrder);
  //Now the order is Green then Blue
Parameters:
newOrder a list with the new position of each plot

Definition at line 200 of file signalplotter.cpp.

void Plasma::SignalPlotter::removePlot ( uint  pos  ) 

Removes the plot at the specified index.

Parameters:
pos the index of the plot to be removed

Definition at line 239 of file signalplotter.cpp.

QList< PlotColor > & Plasma::SignalPlotter::plotColors (  ) 

Return the list of plot colors, in the order that the plots were added (or later reordered).

Returns:
a list containing the color of every plot

Definition at line 234 of file signalplotter.cpp.

void Plasma::SignalPlotter::setTitle ( const QString &  title  ) 

Set the title of the graph.

Drawn in the top left.

Parameters:
title the title to use in the plotter

Definition at line 263 of file signalplotter.cpp.

QString Plasma::SignalPlotter::title (  )  const

Get the title of the graph.

Drawn in the top left.

Returns:
the title to use in the plotter

void Plasma::SignalPlotter::setUnit ( const QString &  unit  ) 

Set the units.

Drawn on the vertical axis of the graph. Must be already translated into the local language.

Parameters:
unit the unit string to use

Definition at line 149 of file signalplotter.cpp.

QString Plasma::SignalPlotter::unit (  )  const

Return the units used on the vertical axis of the graph.

Returns:
the unit string used

void Plasma::SignalPlotter::scale ( qreal  delta  ) 

Scale all the values down by the given amount.

This is useful when the data is given in, say, kilobytes, but you set the units as megabytes. Thus you would have to call this with value set to 1024. This affects all the data already entered.

Parameters:
delta the factor used to scale down the values

Definition at line 250 of file signalplotter.cpp.

qreal Plasma::SignalPlotter::scaledBy (  )  const

Amount scaled down by.

See also:
scale
Returns:
the factor used to scale down the values

Definition at line 258 of file signalplotter.cpp.

void Plasma::SignalPlotter::setUseAutoRange ( bool  value  ) 

Set the minimum and maximum values on the vertical axis automatically from the data available.

Parameters:
value true if the plotter should calculate its own min and max values, otherwise false

Definition at line 275 of file signalplotter.cpp.

bool Plasma::SignalPlotter::useAutoRange (  )  const

Whether the vertical axis range is set automatically.

Returns:
true if the plotter calculates its own min and max values, otherwise false

void Plasma::SignalPlotter::setVerticalRange ( double  min,
double  max 
)

Change the minimum and maximum values drawn on the graph.

Note that these values are sanitised. For example, if you set the minimum as 3, and the maximum as 97, then the graph would be drawn between 0 and 100. The algorithm to determine this "nice range" attempts to minimize the number of non-zero digits.

Use setAutoRange instead to determine the range automatically from the data.

Parameters:
min the minimum value to use for the vertical axis
max the maximum value to use for the vertical axis

Definition at line 227 of file signalplotter.cpp.

double Plasma::SignalPlotter::verticalMinValue (  )  const

Get the min value of the vertical axis.

See also:
changeRange
Returns:
the minimum value to use for the vertical axis

Definition at line 287 of file signalplotter.cpp.

double Plasma::SignalPlotter::verticalMaxValue (  )  const

Get the max value of the vertical axis.

See also:
changeRange
Returns:
the maximum value to use for the vertical axis

Definition at line 292 of file signalplotter.cpp.

void Plasma::SignalPlotter::setHorizontalScale ( uint  scale  ) 

Set the number of pixels horizontally between data points.

Parameters:
scale the number of pixel to draw between two data points

Definition at line 297 of file signalplotter.cpp.

uint Plasma::SignalPlotter::horizontalScale (  )  const

The number of pixels horizontally between data points.

Returns:
the number of pixel drawn between two data points

void Plasma::SignalPlotter::setShowVerticalLines ( bool  value  ) 

Whether to draw the vertical grid lines.

Parameters:
value true if the lines should be drawn, otherwise false

Definition at line 312 of file signalplotter.cpp.

bool Plasma::SignalPlotter::showVerticalLines (  )  const

Whether the vertical grid lines will be drawn.

Returns:
true if the lines will be drawn, otherwise false

void Plasma::SignalPlotter::setVerticalLinesColor ( const QColor &  color  ) 

The color of the vertical grid lines.

Parameters:
color the color used to draw the vertical grid lines

Definition at line 324 of file signalplotter.cpp.

QColor Plasma::SignalPlotter::verticalLinesColor (  )  const

The color of the vertical grid lines.

Returns:
the color used to draw the vertical grid lines

void Plasma::SignalPlotter::setVerticalLinesDistance ( uint  distance  ) 

The horizontal distance between the vertical grid lines.

Parameters:
distance the distance between two vertical grid lines

Definition at line 336 of file signalplotter.cpp.

uint Plasma::SignalPlotter::verticalLinesDistance (  )  const

The horizontal distance between the vertical grid lines.

Returns:
the distance between two vertical grid lines

void Plasma::SignalPlotter::setVerticalLinesScroll ( bool  value  ) 

Whether the vertical lines move with the data.

Parameters:
value true if the vertical lines should move with the data

Definition at line 348 of file signalplotter.cpp.

bool Plasma::SignalPlotter::verticalLinesScroll (  )  const

Whether the vertical lines move with the data.

Returns:
true if the vertical lines will move with the data

void Plasma::SignalPlotter::setShowHorizontalLines ( bool  value  ) 

Whether to draw the horizontal grid lines.

Parameters:
value true if the lines should be drawn, otherwise false

Definition at line 360 of file signalplotter.cpp.

bool Plasma::SignalPlotter::showHorizontalLines (  )  const

Whether to draw the horizontal grid lines.

Returns:
true if the lines will be drawn, otherwise false

void Plasma::SignalPlotter::setHorizontalLinesColor ( const QColor &  color  ) 

The color of the horizontal grid lines.

Parameters:
color the color used to draw the horizontal grid lines

Definition at line 382 of file signalplotter.cpp.

QColor Plasma::SignalPlotter::horizontalLinesColor (  )  const

The color of the horizontal grid lines.

Returns:
the color used to draw the horizontal grid lines

void Plasma::SignalPlotter::setFontColor ( const QColor &  color  ) 

The color of the font used for the axis.

Parameters:
color the color used to draw the text of the vertical values

Definition at line 372 of file signalplotter.cpp.

QColor Plasma::SignalPlotter::fontColor (  )  const

The color of the font used for the axis.

Returns:
the color used to draw the text of the vertical values

void Plasma::SignalPlotter::setFont ( const QFont &  font  ) 

The font used for the axis.

Parameters:
font the font used to draw the text of the vertical values

Definition at line 431 of file signalplotter.cpp.

QFont Plasma::SignalPlotter::font (  )  const

The font used for the axis.

Returns:
the font used to draw the text of the vertical values

Reimplemented from Plasma::Widget.

void Plasma::SignalPlotter::setHorizontalLinesCount ( uint  count  ) 

The number of horizontal lines to draw.

Doesn't include the top most and bottom most lines.

Parameters:
count the number of horizontal lines to draw

Definition at line 394 of file signalplotter.cpp.

uint Plasma::SignalPlotter::horizontalLinesCount (  )  const

The number of horizontal lines to draw.

Doesn't include the top most and bottom most lines.

Returns:
the number of horizontal lines that will be drawn

void Plasma::SignalPlotter::setShowLabels ( bool  value  ) 

Whether to show the vertical axis labels.

Parameters:
value true if the values for the vertical axis should get drawn

Definition at line 407 of file signalplotter.cpp.

bool Plasma::SignalPlotter::showLabels (  )  const

Whether to show the vertical axis labels.

Returns:
true if the values for the vertical axis will get drawn

void Plasma::SignalPlotter::setShowTopBar ( bool  value  ) 

Whether to show the title etc at the top.

Even if set, it won't be shown if there isn't room

Parameters:
value true if the topbar should be shown

Definition at line 419 of file signalplotter.cpp.

bool Plasma::SignalPlotter::showTopBar (  )  const

Whether to show the title etc at the top.

Even if set, it won't be shown if there isn't room

Returns:
true if the topbar will be shown

void Plasma::SignalPlotter::setBackgroundColor ( const QColor &  color  ) 

The color to set the background.

This might not be seen if an svg is also set.

Parameters:
color the color to use for the plotter background

Definition at line 466 of file signalplotter.cpp.

QColor Plasma::SignalPlotter::backgroundColor (  )  const

The color to set the background.

This might not be seen if an svg is also set.

Returns:
the color of the plotter background

void Plasma::SignalPlotter::setSvgBackground ( const QString &  filename  ) 

The filename of the svg background.

Set to empty to disable again.

Parameters:
filename the SVG file to use as a background image

Definition at line 447 of file signalplotter.cpp.

QString Plasma::SignalPlotter::svgBackground (  ) 

The filename of the svg background.

Set to empty to disable again.

Returns:
the file used as a background image

double Plasma::SignalPlotter::lastValue ( uint  i  )  const

Return the last value that we have for plot i.

Returns 0 if not known.

Parameters:
i the plot we like to have the last value from
Returns:
the last value of this plot or 0 if not found

Definition at line 966 of file signalplotter.cpp.

QString Plasma::SignalPlotter::lastValueAsString ( uint  i  )  const

Return a translated string like: "34 %" or "100 KB" for plot i.

Parameters:
i the plot we like to have the value as string from
Returns:
the last value of this plot as a string

Definition at line 972 of file signalplotter.cpp.

void Plasma::SignalPlotter::setThinFrame ( bool  set  ) 

Whether to show a white line on the left and bottom of the widget, for a 3D effect.

Parameters:
set true if the frame should get drawn

Definition at line 478 of file signalplotter.cpp.

void Plasma::SignalPlotter::setStackPlots ( bool  stack  ) 

Whether to stack the plots on top of each other.

The first plot added will be at the bottom. The next plot will be drawn on top, and so on.

Parameters:
stack true if the plots should be stacked

Definition at line 485 of file signalplotter.cpp.

bool Plasma::SignalPlotter::stackPlots (  )  const

Whether to stack the plots.

See also:
setStackPlots
Returns:
true if the plots will be stacked

QPixmap Plasma::SignalPlotter::getSnapshotImage ( uint  width,
uint  height 
)

Render the graph to the specified width and height, and return it as an image.

This is useful, for example, if you draw a small version of the graph, but then want to show a large version in a tooltip etc

Parameters:
width the width of the snapshot
height the height of the snapshot
Returns:
a snapshot of the plotter as an image

Definition at line 509 of file signalplotter.cpp.

void Plasma::SignalPlotter::setGeometry ( const QRectF &  geometry  )  [virtual]

Overwritten to be notified of size changes.

Needed to update the data buffers that are used to store the samples.

Reimplemented from Plasma::Widget.

Definition at line 519 of file signalplotter.cpp.

void Plasma::SignalPlotter::updateDataBuffers (  )  [protected]

Definition at line 496 of file signalplotter.cpp.

void Plasma::SignalPlotter::calculateNiceRange (  )  [protected]

Definition at line 641 of file signalplotter.cpp.

void Plasma::SignalPlotter::paintWidget ( QPainter *  painter,
const QStyleOptionGraphicsItem *  option,
QWidget *  widget 
) [protected, virtual]

Paints the widget.

Parameters:
painter the QPainter to use to paint.
option the style option used to give specific info on the item being dawn.
widget the parent QWidget (most likely the Corona)

Reimplemented from Plasma::Widget.

Definition at line 526 of file signalplotter.cpp.

void Plasma::SignalPlotter::drawWidget ( QPainter *  p,
uint  w,
uint  height,
int  horizontalScale 
) [protected]

Definition at line 541 of file signalplotter.cpp.

void Plasma::SignalPlotter::drawBackground ( QPainter *  p,
int  w,
int  h 
) [protected]

Definition at line 622 of file signalplotter.cpp.

void Plasma::SignalPlotter::drawThinFrame ( QPainter *  p,
int  w,
int  h 
) [protected]

Definition at line 632 of file signalplotter.cpp.

void Plasma::SignalPlotter::drawTopBarFrame ( QPainter *  p,
int  seperatorX,
int  height 
) [protected]

Definition at line 677 of file signalplotter.cpp.

void Plasma::SignalPlotter::drawTopBarContents ( QPainter *  p,
int  x,
int  width,
int  height 
) [protected]

Definition at line 689 of file signalplotter.cpp.

void Plasma::SignalPlotter::drawVerticalLines ( QPainter *  p,
int  top,
int  w,
int  h 
) [protected]

Definition at line 719 of file signalplotter.cpp.

void Plasma::SignalPlotter::drawPlots ( QPainter *  p,
int  top,
int  w,
int  h,
int  horizontalScale 
) [protected]

Definition at line 726 of file signalplotter.cpp.

void Plasma::SignalPlotter::drawAxisText ( QPainter *  p,
int  top,
int  h 
) [protected]

Definition at line 927 of file signalplotter.cpp.

void Plasma::SignalPlotter::drawHorizontalLines ( QPainter *  p,
int  top,
int  w,
int  h 
) [protected]

Definition at line 956 of file signalplotter.cpp.


Property Documentation

QString Plasma::SignalPlotter::title [read, write]

Definition at line 40 of file signalplotter.h.

QString Plasma::SignalPlotter::unit [read, write]

Definition at line 41 of file signalplotter.h.

qreal Plasma::SignalPlotter::scale [read, write]

Definition at line 42 of file signalplotter.h.

bool Plasma::SignalPlotter::useAutoRange [read, write]

Definition at line 43 of file signalplotter.h.

uint Plasma::SignalPlotter::horizontalScale [read, write]

Definition at line 44 of file signalplotter.h.

bool Plasma::SignalPlotter::showVerticalLines [read, write]

Definition at line 45 of file signalplotter.h.

QColor Plasma::SignalPlotter::verticalLinesColor [read, write]

Definition at line 46 of file signalplotter.h.

uint Plasma::SignalPlotter::verticalLinesDistance [read, write]

Definition at line 47 of file signalplotter.h.

bool Plasma::SignalPlotter::verticalLinesScroll [read, write]

Definition at line 48 of file signalplotter.h.

bool Plasma::SignalPlotter::showHorizontalLines [read, write]

Definition at line 49 of file signalplotter.h.

QColor Plasma::SignalPlotter::horizontalLinesColor [read, write]

Definition at line 50 of file signalplotter.h.

QColor Plasma::SignalPlotter::fontColor [read, write]

Definition at line 51 of file signalplotter.h.

QFont Plasma::SignalPlotter::font [read, write]

Definition at line 52 of file signalplotter.h.

uint Plasma::SignalPlotter::horizontalLinesCount [read, write]

Definition at line 53 of file signalplotter.h.

bool Plasma::SignalPlotter::showLabels [read, write]

Definition at line 54 of file signalplotter.h.

bool Plasma::SignalPlotter::showTopBar [read, write]

Definition at line 55 of file signalplotter.h.

QColor Plasma::SignalPlotter::backgroundColor [read, write]

Definition at line 56 of file signalplotter.h.

QString Plasma::SignalPlotter::svgBackground [read, write]

Definition at line 57 of file signalplotter.h.

bool Plasma::SignalPlotter::thinFrame [write]

Definition at line 58 of file signalplotter.h.

bool Plasma::SignalPlotter::stackPlots [read, write]

Definition at line 59 of file signalplotter.h.


The documentation for this class was generated from the following files:
  • signalplotter.h
  • signalplotter.cpp

libplasma

Skip menu "libplasma"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

API Reference

Skip menu "API Reference"
  • KWin
  •   KWin Libraries
  • Libraries
  •   libkworkspace
  •   libplasma
  • Plasma
  •   Animators
  •   Applets
  •   Engines
  • Solid Modules
Generated for API Reference by doxygen 1.5.4
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal