SimCenterCommon
Common functionality used within different SimCenter projects
QCP Namespace Reference

Enumerations

enum  ResolutionUnit { ruDotsPerMeter, ruDotsPerCentimeter, ruDotsPerInch }
 
enum  ExportPen { epNoCosmetic, epAllowCosmetic }
 
enum  SignDomain { sdNegative, sdBoth, sdPositive }
 
enum  MarginSide {
  msLeft = 0x01, msRight = 0x02, msTop = 0x04, msBottom = 0x08,
  msAll = 0xFF, msNone = 0x00
}
 
enum  AntialiasedElement {
  aeAxes = 0x0001, aeGrid = 0x0002, aeSubGrid = 0x0004, aeLegend = 0x0008,
  aeLegendItems = 0x0010, aePlottables = 0x0020, aeItems = 0x0040, aeScatters = 0x0080,
  aeFills = 0x0100, aeZeroLine = 0x0200, aeOther = 0x8000, aeAll = 0xFFFF,
  aeNone = 0x0000
}
 
enum  PlottingHint { phNone = 0x000, phFastPolylines = 0x001, phImmediateRefresh = 0x002, phCacheLabels = 0x004 }
 
enum  Interaction {
  iRangeDrag = 0x001, iRangeZoom = 0x002, iMultiSelect = 0x004, iSelectPlottables = 0x008,
  iSelectAxes = 0x010, iSelectLegend = 0x020, iSelectItems = 0x040, iSelectOther = 0x080
}
 
enum  SelectionRectMode { srmNone, srmZoom, srmSelect, srmCustom }
 
enum  SelectionType {
  stNone, stWhole, stSingleData, stDataRange,
  stMultipleDataRanges
}
 

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

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

Definition at line 211 of file qcustomplot.h.

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)

Definition at line 172 of file qcustomplot.h.

Defines the mouse interactions possible with QCustomPlot.

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

See also
QCustomPlot::setInteractions
Enumerator
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,...)

Definition at line 248 of file qcustomplot.h.

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

Definition at line 193 of file qcustomplot.h.

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.

Definition at line 232 of file qcustomplot.h.

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)

Definition at line 162 of file qcustomplot.h.

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.

Definition at line 264 of file qcustomplot.h.

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.

Definition at line 288 of file qcustomplot.h.

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.

Definition at line 183 of file qcustomplot.h.

Function Documentation

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

Definition at line 342 of file qcustomplot.h.

bool QCP::isInvalidData ( double  value)
inline

Definition at line 301 of file qcustomplot.h.

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

Definition at line 311 of file qcustomplot.h.

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

Definition at line 322 of file qcustomplot.h.

Variable Documentation

const QMetaObject QCP::staticMetaObject