Main Page · Class Overview · Hierarchy · All Classes · Special Pages
Enumerations | Functions | Variables
QCP Namespace Reference

Enumerations

enum  ResolutionUnit
 
enum  ExportPen
 
enum  SignDomain
 
enum  MarginSide
 
enum  AntialiasedElement
 
enum  PlottingHint
 
enum  Interaction
 
enum  SelectionRectMode
 
enum  SelectionType
 

Functions

bool isInvalidData (double value)
 
bool isInvalidData (double value1, double value2)
 
void setMarginValue (QMargins &margins, QCP::MarginSide side, int value)
 
int getMarginValue (const QMargins &margins, QCP::MarginSide side)
 

Variables

const QMetaObject staticMetaObject
 

Detailed Description

The QCP Namespace contains general enums, QFlags and functions used throughout the QCustomPlot library.

It provides QMetaObject-based reflection of its enums and flags via QCP::staticMetaObject.

Enumeration Type Documentation

§ ResolutionUnit

Defines the different units in which the image resolution can be specified in the export functions.

See also
QCustomPlot::savePng, QCustomPlot::saveJpg, QCustomPlot::saveBmp, QCustomPlot::saveRastered
Enumerator
ruDotsPerMeter 

Resolution is given in dots per meter (dpm)

ruDotsPerCentimeter 

Resolution is given in dots per centimeter (dpcm)

ruDotsPerInch 

Resolution is given in dots per inch (DPI/PPI)

§ ExportPen

Defines how cosmetic pens (pens with numerical width 0) are handled during export.

See also
QCustomPlot::savePdf
Enumerator
epNoCosmetic 

Cosmetic pens are converted to pens with pixel width 1 when exporting.

epAllowCosmetic 

Cosmetic pens are exported normally (e.g. in PDF exports, cosmetic pens always appear as 1 pixel on screen, independent of viewer zoom level)

§ SignDomain

Represents negative and positive sign domain, e.g. for passing to QCPAbstractPlottable::getKeyRange and QCPAbstractPlottable::getValueRange.

This is primarily needed when working with logarithmic axis scales, since only one of the sign domains can be visible at a time.

Enumerator
sdNegative 

The negative sign domain, i.e. numbers smaller than zero.

sdBoth 

Both sign domains, including zero, i.e. all numbers.

sdPositive 

The positive sign domain, i.e. numbers greater than zero.

§ MarginSide

Defines the sides of a rectangular entity to which margins can be applied.

See also
QCPLayoutElement::setAutoMargins, QCPAxisRect::setAutoMargins
Enumerator
msLeft 

0x01 left margin

msRight 

0x02 right margin

msTop 

0x04 top margin

msBottom 

0x08 bottom margin

msAll 

0xFF all margins

msNone 

0x00 no margin

§ AntialiasedElement

Defines what objects of a plot can be forcibly drawn antialiased/not antialiased. If an object is neither forcibly drawn antialiased nor forcibly drawn not antialiased, it is up to the respective element how it is drawn. Typically it provides a setAntialiased function for this.

AntialiasedElements is a flag of or-combined elements of this enum type.

See also
QCustomPlot::setAntialiasedElements, QCustomPlot::setNotAntialiasedElements
Enumerator
aeAxes 

0x0001 Axis base line and tick marks

aeGrid 

0x0002 Grid lines

aeSubGrid 

0x0004 Sub grid lines

aeLegend 

0x0008 Legend box

aeLegendItems 

0x0010 Legend items

aePlottables 

0x0020 Main lines of plottables

aeItems 

0x0040 Main lines of items

aeScatters 

0x0080 Scatter symbols of plottables (excluding scatter symbols of type ssPixmap)

aeFills 

0x0100 Borders of fills (e.g. under or between graphs)

aeZeroLine 

0x0200 Zero-lines, see QCPGrid::setZeroLinePen

aeOther 

0x8000 Other elements that don't fit into any of the existing categories

aeAll 

0xFFFF All elements

aeNone 

0x0000 No elements

§ PlottingHint

Defines plotting hints that control various aspects of the quality and speed of plotting.

See also
QCustomPlot::setPlottingHints
Enumerator
phNone 

0x000 No hints are set

phFastPolylines 

0x001 Graph/Curve lines are drawn with a faster method. This reduces the quality especially of the line segment joins, thus is most effective for pen sizes larger than 1. It is only used for solid line pens.

phImmediateRefresh 

0x002 causes an immediate repaint() instead of a soft update() when QCustomPlot::replot() is called with parameter QCustomPlot::rpRefreshHint. This is set by default to prevent the plot from freezing on fast consecutive replots (e.g. user drags ranges with mouse).

phCacheLabels 

0x004 axis (tick) labels will be cached as pixmaps, increasing replot performance.

§ Interaction

Defines the mouse interactions possible with QCustomPlot.

Interactions is a flag of or-combined elements of this enum type.

See also
QCustomPlot::setInteractions
Enumerator
iNone 

0x000 None of the interactions are possible

iRangeDrag 

0x001 Axis ranges are draggable (see QCPAxisRect::setRangeDrag, QCPAxisRect::setRangeDragAxes)

iRangeZoom 

0x002 Axis ranges are zoomable with the mouse wheel (see QCPAxisRect::setRangeZoom, QCPAxisRect::setRangeZoomAxes)

iMultiSelect 

0x004 The user can select multiple objects by holding the modifier set by QCustomPlot::setMultiSelectModifier while clicking

iSelectPlottables 

0x008 Plottables are selectable (e.g. graphs, curves, bars,... see QCPAbstractPlottable)

iSelectAxes 

0x010 Axes are selectable (or parts of them, see QCPAxis::setSelectableParts)

iSelectLegend 

0x020 Legends are selectable (or their child items, see QCPLegend::setSelectableParts)

iSelectItems 

0x040 Items are selectable (Rectangles, Arrows, Textitems, etc. see QCPAbstractItem)

iSelectOther 

0x080 All other objects are selectable (e.g. your own derived layerables, other layout elements,...)

iSelectPlottablesBeyondAxisRect 

0x100 When performing plottable selection/hit tests, this flag extends the sensitive area beyond the axis rect

§ SelectionRectMode

Defines the behaviour of the selection rect.

See also
QCustomPlot::setSelectionRectMode, QCustomPlot::selectionRect, QCPSelectionRect
Enumerator
srmNone 

The selection rect is disabled, and all mouse events are forwarded to the underlying objects, e.g. for axis range dragging.

srmZoom 

When dragging the mouse, a selection rect becomes active. Upon releasing, the axes that are currently set as range zoom axes (QCPAxisRect::setRangeZoomAxes) will have their ranges zoomed accordingly.

srmSelect 

When dragging the mouse, a selection rect becomes active. Upon releasing, plottable data points that were within the selection rect are selected, if the plottable's selectability setting permits. (See data selection mechanism for details.)

srmCustom 

When dragging the mouse, a selection rect becomes active. It is the programmer's responsibility to connect according slots to the selection rect's signals (e.g. QCPSelectionRect::accepted) in order to process the user interaction.

§ SelectionType

Defines the different ways a plottable can be selected. These images show the effect of the different selection types, when the indicated selection rect was dragged:

selectiontype-none.png
stNone
selectiontype-whole.png
stWhole
selectiontype-singledata.png
stSingleData
selectiontype-datarange.png
stDataRange
selectiontype-multipledataranges.png
stMultipleDataRanges
See also
QCPAbstractPlottable::setSelectable, QCPDataSelection::enforceType
Enumerator
stNone 

The plottable is not selectable.

stWhole 

Selection behaves like stMultipleDataRanges, but if there are any data points selected, the entire plottable is drawn as selected.

stSingleData 

One individual data point can be selected at a time.

stDataRange 

Multiple contiguous data points (a data range) can be selected.

stMultipleDataRanges 

Any combination of data points/ranges can be selected.

Function Documentation

§ isInvalidData() [1/2]

bool QCP::isInvalidData ( double  value)
inline

Returns whether the specified value is considered an invalid data value for plottables (i.e. is nan or +/-inf). This function is used to check data validity upon replots, when the compiler flag QCUSTOMPLOT_CHECK_DATA is set.

§ isInvalidData() [2/2]

bool QCP::isInvalidData ( double  value1,
double  value2 
)
inline

This is an overloaded function.

Checks two arguments instead of one.

§ setMarginValue()

void QCP::setMarginValue ( QMargins &  margins,
QCP::MarginSide  side,
int  value 
)
inline

Sets the specified side of margins to value

See also
getMarginValue

§ getMarginValue()

int QCP::getMarginValue ( const QMargins &  margins,
QCP::MarginSide  side 
)
inline

Returns the value of the specified side of margins. If side is QCP::msNone or QCP::msAll, returns 0.

See also
setMarginValue