libplasma
Plasma::SignalPlotter Class Reference
#include <signalplotter.h>

Detailed Description
Definition at line 40 of file signalplotter.h.
Public Member Functions | |
void | addPlot (const QColor &color) |
void | addSample (const QList< double > &samples) |
QColor | backgroundColor () const |
QFont | font () const |
QColor | fontColor () const |
QPixmap | getSnapshotImage (uint width, uint height) |
QColor | horizontalLinesColor () const |
uint | horizontalLinesCount () const |
uint | horizontalScale () const |
double | lastValue (uint i) const |
QString | lastValueAsString (uint i) const |
QList< PlotColor > & | plotColors () |
void | removePlot (uint pos) |
void | reorderPlots (const QList< uint > &newOrder) |
void | scale (qreal delta) |
qreal | scaledBy () const |
void | setBackgroundColor (const QColor &color) |
void | setFont (const QFont &font) |
void | setFontColor (const QColor &color) |
virtual void | setGeometry (const QRectF &geometry) |
void | setHorizontalLinesColor (const QColor &color) |
void | setHorizontalLinesCount (uint count) |
void | setHorizontalScale (uint scale) |
void | setShowHorizontalLines (bool value) |
void | setShowLabels (bool value) |
void | setShowTopBar (bool value) |
void | setShowVerticalLines (bool value) |
void | setStackPlots (bool stack) |
void | setSvgBackground (const QString &filename) |
void | setThinFrame (bool set) |
void | setTitle (const QString &title) |
void | setUnit (const QString &unit) |
void | setUseAutoRange (bool value) |
void | setVerticalLinesColor (const QColor &color) |
void | setVerticalLinesDistance (uint distance) |
void | setVerticalLinesScroll (bool value) |
void | setVerticalRange (double min, double max) |
bool | showHorizontalLines () const |
bool | showLabels () const |
bool | showTopBar () const |
bool | showVerticalLines () const |
SignalPlotter (QGraphicsItem *parent=0) | |
bool | stackPlots () const |
QString | svgBackground () |
QString | title () const |
QString | unit () const |
bool | useAutoRange () const |
QColor | verticalLinesColor () const |
uint | verticalLinesDistance () const |
bool | verticalLinesScroll () const |
double | verticalMaxValue () const |
double | verticalMinValue () const |
~SignalPlotter () | |
Protected Member Functions | |
void | calculateNiceRange () |
void | drawAxisText (QPainter *p, int top, int h) |
void | drawBackground (QPainter *p, int w, int h) |
void | drawHorizontalLines (QPainter *p, int top, int w, int h) |
void | drawPlots (QPainter *p, int top, int w, int h, int horizontalScale) |
void | drawThinFrame (QPainter *p, int w, int h) |
void | drawTopBarContents (QPainter *p, int x, int width, int height) |
void | drawTopBarFrame (QPainter *p, int separatorX, int height) |
void | drawVerticalLines (QPainter *p, int top, int w, int h) |
void | drawWidget (QPainter *p, uint w, uint height, int horizontalScale) |
void | paint (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) |
void | updateDataBuffers () |
Properties | |
QColor | backgroundColor |
QFont | font |
QColor | fontColor |
QColor | horizontalLinesColor |
uint | horizontalLinesCount |
uint | horizontalScale |
qreal | scale |
bool | showHorizontalLines |
bool | showLabels |
bool | showTopBar |
bool | showVerticalLines |
bool | stackPlots |
QString | svgBackground |
bool | thinFrame |
QString | title |
QString | unit |
bool | useAutoRange |
QColor | verticalLinesColor |
uint | verticalLinesDistance |
bool | verticalLinesScroll |
Constructor & Destructor Documentation
Plasma::SignalPlotter::SignalPlotter | ( | QGraphicsItem * | parent = 0 |
) |
Definition at line 102 of file signalplotter.cpp.
Plasma::SignalPlotter::~SignalPlotter | ( | ) |
Definition at line 141 of file signalplotter.cpp.
Member Function Documentation
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 155 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 168 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::calculateNiceRange | ( | ) | [protected] |
Definition at line 643 of file signalplotter.cpp.
void Plasma::SignalPlotter::drawAxisText | ( | QPainter * | p, | |
int | top, | |||
int | h | |||
) | [protected] |
Definition at line 929 of file signalplotter.cpp.
void Plasma::SignalPlotter::drawBackground | ( | QPainter * | p, | |
int | w, | |||
int | h | |||
) | [protected] |
Definition at line 624 of file signalplotter.cpp.
void Plasma::SignalPlotter::drawHorizontalLines | ( | QPainter * | p, | |
int | top, | |||
int | w, | |||
int | h | |||
) | [protected] |
Definition at line 958 of file signalplotter.cpp.
void Plasma::SignalPlotter::drawPlots | ( | QPainter * | p, | |
int | top, | |||
int | w, | |||
int | h, | |||
int | horizontalScale | |||
) | [protected] |
Definition at line 728 of file signalplotter.cpp.
void Plasma::SignalPlotter::drawThinFrame | ( | QPainter * | p, | |
int | w, | |||
int | h | |||
) | [protected] |
Definition at line 634 of file signalplotter.cpp.
void Plasma::SignalPlotter::drawTopBarContents | ( | QPainter * | p, | |
int | x, | |||
int | width, | |||
int | height | |||
) | [protected] |
Definition at line 691 of file signalplotter.cpp.
void Plasma::SignalPlotter::drawTopBarFrame | ( | QPainter * | p, | |
int | separatorX, | |||
int | height | |||
) | [protected] |
Definition at line 679 of file signalplotter.cpp.
void Plasma::SignalPlotter::drawVerticalLines | ( | QPainter * | p, | |
int | top, | |||
int | w, | |||
int | h | |||
) | [protected] |
Definition at line 721 of file signalplotter.cpp.
void Plasma::SignalPlotter::drawWidget | ( | QPainter * | p, | |
uint | w, | |||
uint | height, | |||
int | horizontalScale | |||
) | [protected] |
Definition at line 543 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
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
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 511 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
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
uint Plasma::SignalPlotter::horizontalScale | ( | ) | const |
The number of pixels horizontally between data points.
- Returns:
- the number of pixel drawn between two data points
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 968 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 974 of file signalplotter.cpp.
void Plasma::SignalPlotter::paint | ( | QPainter * | painter, | |
const QStyleOptionGraphicsItem * | option, | |||
QWidget * | widget | |||
) | [protected] |
Definition at line 528 of file signalplotter.cpp.
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 235 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 240 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 201 of file signalplotter.cpp.
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 251 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 259 of file signalplotter.cpp.
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 468 of file signalplotter.cpp.
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 432 of file signalplotter.cpp.
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 373 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.
Definition at line 521 of file signalplotter.cpp.
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 383 of file signalplotter.cpp.
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 395 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 298 of file signalplotter.cpp.
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 361 of file signalplotter.cpp.
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 408 of file signalplotter.cpp.
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 420 of file signalplotter.cpp.
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 313 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 487 of file signalplotter.cpp.
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 448 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 480 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 264 of file signalplotter.cpp.
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 150 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 276 of file signalplotter.cpp.
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 325 of file signalplotter.cpp.
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 337 of file signalplotter.cpp.
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 349 of file signalplotter.cpp.
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 228 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
bool Plasma::SignalPlotter::showLabels | ( | ) | const |
Whether to show the vertical axis labels.
- Returns:
- true if the values for the vertical axis will get drawn
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
bool Plasma::SignalPlotter::showVerticalLines | ( | ) | const |
Whether the vertical grid lines will be drawn.
- Returns:
- true if the lines will be drawn, otherwise false
bool Plasma::SignalPlotter::stackPlots | ( | ) | const |
QString Plasma::SignalPlotter::svgBackground | ( | ) |
The filename of the svg background.
Set to empty to disable again.
- Returns:
- the file used as a background image
QString Plasma::SignalPlotter::title | ( | ) | const |
Get the title of the graph.
Drawn in the top left.
- Returns:
- the title to use in the plotter
QString Plasma::SignalPlotter::unit | ( | ) | const |
Return the units used on the vertical axis of the graph.
- Returns:
- the unit string used
void Plasma::SignalPlotter::updateDataBuffers | ( | ) | [protected] |
Definition at line 498 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
QColor Plasma::SignalPlotter::verticalLinesColor | ( | ) | const |
The color of the vertical grid lines.
- Returns:
- the color used to draw the vertical grid lines
uint Plasma::SignalPlotter::verticalLinesDistance | ( | ) | const |
The horizontal distance between the vertical grid lines.
- Returns:
- the distance between two vertical grid lines
bool Plasma::SignalPlotter::verticalLinesScroll | ( | ) | const |
Whether the vertical lines move with the data.
- Returns:
- true if the vertical lines will move with the data
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 293 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 288 of file signalplotter.cpp.
Property Documentation
QColor Plasma::SignalPlotter::backgroundColor [read, write] |
Definition at line 59 of file signalplotter.h.
QFont Plasma::SignalPlotter::font [read, write] |
Definition at line 55 of file signalplotter.h.
QColor Plasma::SignalPlotter::fontColor [read, write] |
Definition at line 54 of file signalplotter.h.
QColor Plasma::SignalPlotter::horizontalLinesColor [read, write] |
Definition at line 53 of file signalplotter.h.
uint Plasma::SignalPlotter::horizontalLinesCount [read, write] |
Definition at line 56 of file signalplotter.h.
uint Plasma::SignalPlotter::horizontalScale [read, write] |
Definition at line 47 of file signalplotter.h.
qreal Plasma::SignalPlotter::scale [read, write] |
Definition at line 45 of file signalplotter.h.
bool Plasma::SignalPlotter::showHorizontalLines [read, write] |
Definition at line 52 of file signalplotter.h.
bool Plasma::SignalPlotter::showLabels [read, write] |
Definition at line 57 of file signalplotter.h.
bool Plasma::SignalPlotter::showTopBar [read, write] |
Definition at line 58 of file signalplotter.h.
bool Plasma::SignalPlotter::showVerticalLines [read, write] |
Definition at line 48 of file signalplotter.h.
bool Plasma::SignalPlotter::stackPlots [read, write] |
Definition at line 62 of file signalplotter.h.
QString Plasma::SignalPlotter::svgBackground [read, write] |
Definition at line 60 of file signalplotter.h.
bool Plasma::SignalPlotter::thinFrame [write] |
Definition at line 61 of file signalplotter.h.
QString Plasma::SignalPlotter::title [read, write] |
Definition at line 43 of file signalplotter.h.
QString Plasma::SignalPlotter::unit [read, write] |
Definition at line 44 of file signalplotter.h.
bool Plasma::SignalPlotter::useAutoRange [read, write] |
Definition at line 46 of file signalplotter.h.
QColor Plasma::SignalPlotter::verticalLinesColor [read, write] |
Definition at line 49 of file signalplotter.h.
uint Plasma::SignalPlotter::verticalLinesDistance [read, write] |
Definition at line 50 of file signalplotter.h.
bool Plasma::SignalPlotter::verticalLinesScroll [read, write] |
Definition at line 51 of file signalplotter.h.
The documentation for this class was generated from the following files: