Manages a legend inside a QCustomPlot. More...
Public Types | |
enum | SelectablePart |
Public Functions | |
QCPLegend () | |
QPen | borderPen () const |
QBrush | brush () const |
QFont | font () const |
QColor | textColor () const |
QSize | iconSize () const |
int | iconTextPadding () const |
QPen | iconBorderPen () const |
SelectableParts | selectableParts () const |
SelectableParts | selectedParts () const |
QPen | selectedBorderPen () const |
QPen | selectedIconBorderPen () const |
QBrush | selectedBrush () const |
QFont | selectedFont () const |
QColor | selectedTextColor () const |
void | setBorderPen (const QPen &pen) |
void | setBrush (const QBrush &brush) |
void | setFont (const QFont &font) |
void | setTextColor (const QColor &color) |
void | setIconSize (const QSize &size) |
void | setIconSize (int width, int height) |
void | setIconTextPadding (int padding) |
void | setIconBorderPen (const QPen &pen) |
void | setSelectableParts (const SelectableParts &selectableParts) |
void | setSelectedParts (const SelectableParts &selectedParts) |
void | setSelectedBorderPen (const QPen &pen) |
void | setSelectedIconBorderPen (const QPen &pen) |
void | setSelectedBrush (const QBrush &brush) |
void | setSelectedFont (const QFont &font) |
void | setSelectedTextColor (const QColor &color) |
virtual double | selectTest (const QPointF &pos, bool onlySelectable, QVariant *details=0) const |
QCPAbstractLegendItem * | item (int index) const |
QCPPlottableLegendItem * | itemWithPlottable (const QCPAbstractPlottable *plottable) const |
int | itemCount () const |
bool | hasItem (QCPAbstractLegendItem *item) const |
bool | hasItemWithPlottable (const QCPAbstractPlottable *plottable) const |
bool | addItem (QCPAbstractLegendItem *item) |
bool | removeItem (int index) |
bool | removeItem (QCPAbstractLegendItem *item) |
void | clearItems () |
QList< QCPAbstractLegendItem * > | selectedItems () const |
int | rowCount () const |
int | columnCount () const |
QList< double > | columnStretchFactors () const |
QList< double > | rowStretchFactors () const |
int | columnSpacing () const |
int | rowSpacing () const |
void | setColumnStretchFactor (int column, double factor) |
void | setColumnStretchFactors (const QList< double > &factors) |
void | setRowStretchFactor (int row, double factor) |
void | setRowStretchFactors (const QList< double > &factors) |
void | setColumnSpacing (int pixels) |
void | setRowSpacing (int pixels) |
virtual void | updateLayout () |
virtual int | elementCount () const |
virtual QCPLayoutElement * | elementAt (int index) const |
virtual QCPLayoutElement * | takeAt (int index) |
virtual bool | take (QCPLayoutElement *element) |
virtual QList< QCPLayoutElement * > | elements (bool recursive) const |
virtual void | simplify () |
virtual QSize | minimumSizeHint () const |
virtual QSize | maximumSizeHint () const |
QCPLayoutElement * | element (int row, int column) const |
bool | addElement (int row, int column, QCPLayoutElement *element) |
bool | hasElement (int row, int column) |
void | expandTo (int newRowCount, int newColumnCount) |
void | insertRow (int newIndex) |
void | insertColumn (int newIndex) |
virtual void | update () |
bool | removeAt (int index) |
bool | remove (QCPLayoutElement *element) |
void | clear () |
QCPLayout * | layout () const |
QRect | rect () const |
QRect | outerRect () const |
QMargins | margins () const |
QMargins | minimumMargins () const |
QCP::MarginSides | autoMargins () const |
QSize | minimumSize () const |
QSize | maximumSize () const |
QCPMarginGroup * | marginGroup (QCP::MarginSide side) const |
QHash< QCP::MarginSide, QCPMarginGroup * > | marginGroups () const |
void | setOuterRect (const QRect &rect) |
void | setMargins (const QMargins &margins) |
void | setMinimumMargins (const QMargins &margins) |
void | setAutoMargins (QCP::MarginSides sides) |
void | setMinimumSize (const QSize &size) |
void | setMinimumSize (int width, int height) |
void | setMaximumSize (const QSize &size) |
void | setMaximumSize (int width, int height) |
void | setMarginGroup (QCP::MarginSides sides, QCPMarginGroup *group) |
bool | visible () const |
QCustomPlot * | parentPlot () const |
QCPLayerable * | parentLayerable () const |
QCPLayer * | layer () const |
bool | antialiased () const |
void | setVisible (bool on) |
bool | setLayer (QCPLayer *layer) |
bool | setLayer (const QString &layerName) |
void | setAntialiased (bool enabled) |
bool | realVisibility () const |
Signals | |
void | selectionChanged (QCPLegend::SelectableParts selection) |
Protected Functions | |
virtual void | parentPlotInitialized (QCustomPlot *parentPlot) |
virtual QCP::Interaction | selectionCategory () const |
virtual void | applyDefaultAntialiasingHint (QCPPainter *painter) const |
virtual void | draw (QCPPainter *painter) |
virtual void | selectEvent (QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged) |
virtual void | deselectEvent (bool *selectionStateChanged) |
QPen | getBorderPen () const |
QBrush | getBrush () const |
void | getMinimumRowColSizes (QVector< int > *minColWidths, QVector< int > *minRowHeights) const |
void | getMaximumRowColSizes (QVector< int > *maxColWidths, QVector< int > *maxRowHeights) const |
void | sizeConstraintsChanged () const |
void | adoptElement (QCPLayoutElement *el) |
void | releaseElement (QCPLayoutElement *el) |
QVector< int > | getSectionSizes (QVector< int > maxSizes, QVector< int > minSizes, QVector< double > stretchFactors, int totalSize) const |
virtual int | calculateAutoMargin (QCP::MarginSide side) |
virtual void | mousePressEvent (QMouseEvent *event) |
virtual void | mouseMoveEvent (QMouseEvent *event) |
virtual void | mouseReleaseEvent (QMouseEvent *event) |
virtual void | mouseDoubleClickEvent (QMouseEvent *event) |
virtual void | wheelEvent (QWheelEvent *event) |
virtual QRect | clipRect () const |
void | initializeParentPlot (QCustomPlot *parentPlot) |
void | setParentLayerable (QCPLayerable *parentLayerable) |
bool | moveToLayer (QCPLayer *layer, bool prepend) |
void | applyAntialiasingHint (QCPPainter *painter, bool localAntialiased, QCP::AntialiasedElement overrideElement) const |
Manages a legend inside a QCustomPlot.
A legend is a small box somewhere in the plot which lists plottables with their name and icon.
Normally, the legend is populated by calling QCPAbstractPlottable::addToLegend. The respective legend item can be removed with QCPAbstractPlottable::removeFromLegend. However, QCPLegend also offers an interface to add and manipulate legend items directly: item, itemWithPlottable, itemCount, addItem, removeItem, etc.
The QCPLegend derives from QCPLayoutGrid and as such can be placed in any position a QCPLayoutElement may be positioned. The legend items are themselves QCPLayoutElements which are placed in the grid layout of the legend. QCPLegend only adds an interface specialized for handling child elements of type QCPAbstractLegendItem, as mentioned above. In principle, any other layout elements may also be added to a legend via the normal QCPLayoutGrid interface. However, the QCPAbstractLegendItem-Interface will ignore those elements (e.g. itemCount will only return the number of items with QCPAbstractLegendItems type).
By default, every QCustomPlot has one legend (QCustomPlot::legend) which is placed in the inset layout of the main axis rect (QCPAxisRect::insetLayout). To move the legend to another position inside the axis rect, use the methods of the QCPLayoutInset. To move the legend outside of the axis rect, place it anywhere else with the QCPLayout/QCPLayoutElement interface.
Defines the selectable parts of a legend
spNone |
|
spLegendBox |
|
spItems |
|
|
explicit |
Constructs a new QCPLegend instance with parentPlot as the containing plot and default values.
Note that by default, QCustomPlot already contains a legend ready to be used as QCustomPlot::legend
void QCPLegend::setBorderPen | ( | const QPen & | pen | ) |
Sets the pen, the border of the entire legend is drawn with.
void QCPLegend::setBrush | ( | const QBrush & | brush | ) |
Sets the brush of the legend background.
void QCPLegend::setFont | ( | const QFont & | font | ) |
Sets the default font of legend text. Legend items that draw text (e.g. the name of a graph) will use this font by default. However, a different font can be specified on a per-item-basis by accessing the specific legend item.
This function will also set font on all already existing legend items.
void QCPLegend::setTextColor | ( | const QColor & | color | ) |
Sets the default color of legend text. Legend items that draw text (e.g. the name of a graph) will use this color by default. However, a different colors can be specified on a per-item-basis by accessing the specific legend item.
This function will also set color on all already existing legend items.
void QCPLegend::setIconSize | ( | const QSize & | size | ) |
Sets the size of legend icons. Legend items that draw an icon (e.g. a visual representation of the graph) will use this size by default.
void QCPLegend::setIconSize | ( | int | width, |
int | height | ||
) |
This is an overloaded function.
void QCPLegend::setIconTextPadding | ( | int | padding | ) |
Sets the horizontal space in pixels between the legend icon and the text next to it. Legend items that draw an icon (e.g. a visual representation of the graph) and text (e.g. the name of the graph) will use this space by default.
void QCPLegend::setIconBorderPen | ( | const QPen & | pen | ) |
Sets the pen used to draw a border around each legend icon. Legend items that draw an icon (e.g. a visual representation of the graph) will use this pen by default.
If no border is wanted, set this to Qt::NoPen.
void QCPLegend::setSelectableParts | ( | const SelectableParts & | selectable | ) |
Sets whether the user can (de-)select the parts in selectable by clicking on the QCustomPlot surface. (When QCustomPlot::setInteractions contains iSelectLegend.)
However, even when selectable is set to a value not allowing the selection of a specific part, it is still possible to set the selection of this part manually, by calling setSelectedParts directly.
void QCPLegend::setSelectedParts | ( | const SelectableParts & | selected | ) |
Sets the selected state of the respective legend parts described by SelectablePart. When a part is selected, it uses a different pen/font and brush. If some legend items are selected and selected doesn't contain spItems, those items become deselected.
The entire selection mechanism is handled automatically when QCustomPlot::setInteractions contains iSelectLegend. You only need to call this function when you wish to change the selection state manually.
This function can change the selection state of a part even when setSelectableParts was set to a value that actually excludes the part.
emits the selectionChanged signal when selected is different from the previous selection state.
Note that it doesn't make sense to set the selected state spItems here when it wasn't set before, because there's no way to specify which exact items to newly select. Do this by calling QCPAbstractLegendItem::setSelected directly on the legend item you wish to select.
void QCPLegend::setSelectedBorderPen | ( | const QPen & | pen | ) |
When the legend box is selected, this pen is used to draw the border instead of the normal pen set via setBorderPen.
void QCPLegend::setSelectedIconBorderPen | ( | const QPen & | pen | ) |
Sets the pen legend items will use to draw their icon borders, when they are selected.
void QCPLegend::setSelectedBrush | ( | const QBrush & | brush | ) |
When the legend box is selected, this brush is used to draw the legend background instead of the normal brush set via setBrush.
void QCPLegend::setSelectedFont | ( | const QFont & | font | ) |
Sets the default font that is used by legend items when they are selected.
This function will also set font on all already existing legend items.
void QCPLegend::setSelectedTextColor | ( | const QColor & | color | ) |
Sets the default text color that is used by legend items when they are selected.
This function will also set color on all already existing legend items.
|
virtual |
Layout elements are sensitive to events inside their outer rect. If pos is within the outer rect, this method returns a value corresponding to 0.99 times the parent plot's selection tolerance. However, layout elements are not selectable by default. So if onlySelectable is true, -1.0 is returned.
See QCPLayerable::selectTest for a general explanation of this virtual method.
QCPLayoutElement subclasses may reimplement this method to provide more specific selection test behaviour.
Reimplemented from QCPLayoutElement.
QCPAbstractLegendItem * QCPLegend::item | ( | int | index | ) | const |
Returns the item with index i.
QCPPlottableLegendItem * QCPLegend::itemWithPlottable | ( | const QCPAbstractPlottable * | plottable | ) | const |
Returns the QCPPlottableLegendItem which is associated with plottable (e.g. a QCPGraph*). If such an item isn't in the legend, returns 0.
int QCPLegend::itemCount | ( | ) | const |
Returns the number of items currently in the legend.
bool QCPLegend::hasItem | ( | QCPAbstractLegendItem * | item | ) | const |
Returns whether the legend contains itm.
bool QCPLegend::hasItemWithPlottable | ( | const QCPAbstractPlottable * | plottable | ) | const |
Returns whether the legend contains a QCPPlottableLegendItem which is associated with plottable (e.g. a QCPGraph*). If such an item isn't in the legend, returns false.
bool QCPLegend::addItem | ( | QCPAbstractLegendItem * | item | ) |
Adds item to the legend, if it's not present already.
Returns true on sucess, i.e. if the item wasn't in the list already and has been successfuly added.
The legend takes ownership of the item.
bool QCPLegend::removeItem | ( | int | index | ) |
Removes the item with index index from the legend.
Returns true, if successful.
bool QCPLegend::removeItem | ( | QCPAbstractLegendItem * | item | ) |
This is an overloaded function.
Removes item from the legend.
Returns true, if successful.
void QCPLegend::clearItems | ( | ) |
Removes all items from the legend.
QList< QCPAbstractLegendItem * > QCPLegend::selectedItems | ( | ) | const |
Returns the legend items that are currently selected. If no items are selected, the list is empty.
|
signal |
This signal is emitted when the selection state of this legend has changed.
|
protectedvirtual |
propagates the parent plot initialization to all child elements, by calling QCPLayerable::initializeParentPlot on them.
Reimplemented from QCPLayoutElement.
|
protectedvirtual |
Returns the selection category this layerable shall belong to. The selection category is used in conjunction with QCustomPlot::setInteractions to control which objects are selectable and which aren't.
Subclasses that don't fit any of the normal QCP::Interaction values can use QCP::iSelectOther. This is what the default implementation returns.
Reimplemented from QCPLayerable.
|
protectedvirtual |
A convenience function to easily set the QPainter::Antialiased hint on the provided painter before drawing main legend elements.
This is the antialiasing state the painter passed to the draw method is in by default.
This function takes into account the local setting of the antialiasing flag as well as the overrides set with QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.
Reimplemented from QCPLayoutElement.
|
protectedvirtual |
Draws the legend box with the provided painter. The individual legend items are layerables themselves, thus are drawn independently.
Reimplemented from QCPLayoutElement.
|
protectedvirtual |
This event is called when the layerable shall be selected, as a consequence of a click by the user. Subclasses should react to it by setting their selection state appropriately. The default implementation does nothing.
event is the mouse event that caused the selection. additive indicates, whether the user was holding the multi-select-modifier while performing the selection (see QCustomPlot::setMultiSelectModifier). if additive is true, the selection state must be toggled (i.e. become selected when unselected and unselected when selected).
Every selectEvent is preceded by a call to selectTest, which has returned positively (i.e. returned a value greater than 0 and less than the selection tolerance of the parent QCustomPlot). The details data you output from selectTest is feeded back via details here. You may use it to transport any kind of information from the selectTest to the possibly subsequent selectEvent. Usually details is used to transfer which part was clicked, if it is a layerable that has multiple individually selectable parts (like QCPAxis). This way selectEvent doesn't need to do the calculation again to find out which part was actually clicked.
selectionStateChanged is an output parameter. If the pointer is non-null, this function must set the value either to true or false, depending on whether the selection state of this layerable was actually changed. For layerables that only are selectable as a whole and not in parts, this is simple: if additive is true, selectionStateChanged must also be set to true, because the selection toggles. If additive is false, selectionStateChanged is only set to true, if the layerable was previously unselected and now is switched to the selected state.
Reimplemented from QCPLayerable.
|
protectedvirtual |
This event is called when the layerable shall be deselected, either as consequence of a user interaction or a call to QCustomPlot::deselectAll. Subclasses should react to it by unsetting their selection appropriately.
just as in selectEvent, the output parameter selectionStateChanged (if non-null), must return true or false when the selection state of this layerable has changed or not changed, respectively.
Reimplemented from QCPLayerable.
|
protected |
Returns the pen used to paint the border of the legend, taking into account the selection state of the legend box.
|
protected |
Returns the brush used to paint the background of the legend, taking into account the selection state of the legend box.
|
inherited |
Returns the number of rows in the layout.
|
inherited |
Returns the number of columns in the layout.
|
inherited |
Sets the stretch factor of column.
Stretch factors control the relative sizes of rows and columns. Cells will not be resized beyond their minimum and maximum widths/heights (QCPLayoutElement::setMinimumSize, QCPLayoutElement::setMaximumSize), regardless of the stretch factor.
The default stretch factor of newly created rows/columns is 1.
|
inherited |
Sets the stretch factors of all columns. factors must have the size columnCount.
Stretch factors control the relative sizes of rows and columns. Cells will not be resized beyond their minimum and maximum widths/heights (QCPLayoutElement::setMinimumSize, QCPLayoutElement::setMaximumSize), regardless of the stretch factor.
The default stretch factor of newly created rows/columns is 1.
|
inherited |
Sets the stretch factor of row.
Stretch factors control the relative sizes of rows and columns. Cells will not be resized beyond their minimum and maximum widths/heights (QCPLayoutElement::setMinimumSize, QCPLayoutElement::setMaximumSize), regardless of the stretch factor.
The default stretch factor of newly created rows/columns is 1.
|
inherited |
Sets the stretch factors of all rows. factors must have the size rowCount.
Stretch factors control the relative sizes of rows and columns. Cells will not be resized beyond their minimum and maximum widths/heights (QCPLayoutElement::setMinimumSize, QCPLayoutElement::setMaximumSize), regardless of the stretch factor.
The default stretch factor of newly created rows/columns is 1.
|
inherited |
Sets the gap that is left blank between columns to pixels.
|
inherited |
Sets the gap that is left blank between rows to pixels.
|
virtualinherited |
Subclasses reimplement this method to update the position and sizes of the child elements/cells via calling their QCPLayoutElement::setOuterRect. The default implementation does nothing.
The geometry used as a reference is the inner rect of this layout. Child elements should stay within that rect.
getSectionSizes may help with the reimplementation of this function.
Reimplemented from QCPLayout.
|
virtualinherited |
|
virtualinherited |
Returns the element in the cell with the given index. If index is invalid, returns 0.
Note that even if index is valid, the respective cell may be empty in some layouts (e.g. QCPLayoutGrid), so this function may return 0 in those cases. You may use this function to check whether a cell is empty or not.
Implements QCPLayout.
|
virtualinherited |
Removes the element with the given index from the layout and returns it.
If the index is invalid or the cell with that index is empty, returns 0.
Note that some layouts don't remove the respective cell right away but leave an empty cell after successful removal of the layout element. To collapse empty cells, use simplify.
Implements QCPLayout.
|
virtualinherited |
Removes the specified element from the layout and returns true on success.
If the element isn't in this layout, returns false.
Note that some layouts don't remove the respective cell right away but leave an empty cell after successful removal of the layout element. To collapse empty cells, use simplify.
Implements QCPLayout.
|
virtualinherited |
Returns a list of all child elements in this layout element. If recursive is true, all sub-child elements are included in the list, too.
Note that there may be entries with value 0 in the returned list. (For example, QCPLayoutGrid may have empty cells which yield 0 at the respective index.)
Reimplemented from QCPLayout.
|
virtualinherited |
Simplifies the layout by collapsing rows and columns which only contain empty cells.
Reimplemented from QCPLayout.
|
virtualinherited |
Returns the minimum size this layout element (the inner rect) may be compressed to.
if a minimum size (setMinimumSize) was not set manually, parent layouts consult this function to determine the minimum allowed size of this layout element. (A manual minimum size is considered set if it is non-zero.)
Reimplemented from QCPLayoutElement.
|
virtualinherited |
Returns the maximum size this layout element (the inner rect) may be expanded to.
if a maximum size (setMaximumSize) was not set manually, parent layouts consult this function to determine the maximum allowed size of this layout element. (A manual maximum size is considered set if it is smaller than Qt's QWIDGETSIZE_MAX.)
Reimplemented from QCPLayoutElement.
|
inherited |
Returns the element in the cell in row and column.
Returns 0 if either the row/column is invalid or if the cell is empty. In those cases, a qDebug message is printed. To check whether a cell exists and isn't empty, use hasElement.
|
inherited |
Adds the element to cell with row and column. If element is already in a layout, it is first removed from there. If row or column don't exist yet, the layout is expanded accordingly.
Returns true if the element was added successfully, i.e. if the cell at row and column didn't already have an element.
|
inherited |
Returns whether the cell at row and column exists and contains a valid element, i.e. isn't empty.
|
inherited |
Expands the layout to have newRowCount rows and newColumnCount columns. So the last valid row index will be newRowCount-1, the last valid column index will be newColumnCount-1.
If the current column/row count is already larger or equal to newColumnCount/newRowCount, this function does nothing in that dimension.
Newly created cells are empty, new rows and columns have the stretch factor 1.
Note that upon a call to addElement, the layout is expanded automatically to contain the specified row and column, using this function.
|
inherited |
Inserts a new row with empty cells at the row index newIndex. Valid values for newIndex range from 0 (inserts a row at the top) to rowCount (appends a row at the bottom).
|
inherited |
Inserts a new column with empty cells at the column index newIndex. Valid values for newIndex range from 0 (inserts a row at the left) to rowCount (appends a row at the right).
|
protectedinherited |
Places the minimum column widths and row heights into minColWidths and minRowHeights respectively.
The minimum height of a row is the largest minimum height of any element in that row. The minimum width of a column is the largest minimum width of any element in that column.
This is a helper function for updateLayout.
|
protectedinherited |
Places the maximum column widths and row heights into maxColWidths and maxRowHeights respectively.
The maximum height of a row is the smallest maximum height of any element in that row. The maximum width of a column is the smallest maximum width of any element in that column.
This is a helper function for updateLayout.
|
virtualinherited |
First calls the QCPLayoutElement::update base class implementation to update the margins on this layout.
Then calls updateLayout which subclasses reimplement to reposition and resize their cells.
Finally, update is called on all child elements.
Reimplemented from QCPLayoutElement.
|
inherited |
|
inherited |
|
inherited |
|
protectedinherited |
Subclasses call this method to report changed (minimum/maximum) size constraints.
If the parent of this layout is again a QCPLayout, forwards the call to the parent's sizeConstraintsChanged. If the parent is a QWidget (i.e. is the QCustomPlot::plotLayout of QCustomPlot), calls QWidget::updateGeometry, so if the QCustomPlot widget is inside a Qt QLayout, it may update itself and resize cells accordingly.
|
protectedinherited |
Associates el with this layout. This is done by setting the QCPLayoutElement::layout, the QCPLayerable::parentLayerable and the QObject parent to this layout.
Further, if el didn't previously have a parent plot, calls QCPLayerable::initializeParentPlot on el to set the paret plot.
This method is used by subclass specific methods that add elements to the layout. Note that this method only changes properties in el. The removal from the old layout and the insertion into the new layout must be done additionally.
|
protectedinherited |
Disassociates el from this layout. This is done by setting the QCPLayoutElement::layout and the QCPLayerable::parentLayerable to zero. The QObject parent is set to the parent QCustomPlot.
This method is used by subclass specific methods that remove elements from the layout (e.g. take or takeAt). Note that this method only changes properties in el. The removal from the old layout must be done additionally.
|
protectedinherited |
This is a helper function for the implementation of updateLayout in subclasses.
It calculates the sizes of one-dimensional sections with provided constraints on maximum section sizes, minimum section sizes, relative stretch factors and the final total size of all sections.
The QVector entries refer to the sections. Thus all QVectors must have the same size.
maxSizes gives the maximum allowed size of each section. If there shall be no maximum size imposed, set all vector values to Qt's QWIDGETSIZE_MAX.
minSizes gives the minimum allowed size of each section. If there shall be no minimum size imposed, set all vector values to zero. If the minSizes entries add up to a value greater than totalSize, sections will be scaled smaller than the proposed minimum sizes. (In other words, not exceeding the allowed total size is taken to be more important than not going below minimum section sizes.)
stretchFactors give the relative proportions of the sections to each other. If all sections shall be scaled equally, set all values equal. If the first section shall be double the size of each individual other section, set the first number of stretchFactors to double the value of the other individual values (e.g. {2, 1, 1, 1}).
totalSize is the value that the final section sizes will add up to. Due to rounding, the actual sum may differ slightly. If you want the section sizes to sum up to exactly that value, you could distribute the remaining difference on the sections.
The return value is a QVector containing the section sizes.
|
inlineinherited |
Returns the parent layout of this layout element.
|
inlineinherited |
Returns the inner rect of this layout element. The inner rect is the outer rect (setOuterRect) shrinked by the margins (setMargins, setAutoMargins).
In some cases, the area between outer and inner rect is left blank. In other cases the margin area is used to display peripheral graphics while the main content is in the inner rect. This is where automatic margin calculation becomes interesting because it allows the layout element to adapt the margins to the peripheral graphics it wants to draw. For example, QCPAxisRect draws the axis labels and tick labels in the margin area, thus needs to adjust the margins (if setAutoMargins is enabled) according to the space required by the labels of the axes.
|
inherited |
Sets the outer rect of this layout element. If the layout element is inside a layout, the layout sets the position and size of this layout element using this function.
Calling this function externally has no effect, since the layout will overwrite any changes to the outer rect upon the next replot.
The layout element will adapt its inner rect by applying the margins inward to the outer rect.
|
inherited |
Sets the margins of this layout element. If setAutoMargins is disabled for some or all sides, this function is used to manually set the margin on those sides. Sides that are still set to be handled automatically are ignored and may have any value in margins.
The margin is the distance between the outer rect (controlled by the parent layout via setOuterRect) and the inner rect (which usually contains the main content of this layout element).
|
inherited |
If setAutoMargins is enabled on some or all margins, this function is used to provide minimum values for those margins.
The minimum values are not enforced on margin sides that were set to be under manual control via setAutoMargins.
|
inherited |
Sets on which sides the margin shall be calculated automatically. If a side is calculated automatically, a minimum margin value may be provided with setMinimumMargins. If a side is set to be controlled manually, the value may be specified with setMargins.
Margin sides that are under automatic control may participate in a QCPMarginGroup (see setMarginGroup), to synchronize (align) it with other layout elements in the plot.
|
inherited |
Sets the minimum size for the inner rect of this layout element. A parent layout tries to respect the size here by changing row/column sizes in the layout accordingly.
If the parent layout size is not sufficient to satisfy all minimum size constraints of its child layout elements, the layout may set a size that is actually smaller than size. QCustomPlot propagates the layout's size constraints to the outside by setting its own minimum QWidget size accordingly, so violations of size should be exceptions.
|
inherited |
This is an overloaded function.
Sets the minimum size for the inner rect of this layout element.
|
inherited |
Sets the maximum size for the inner rect of this layout element. A parent layout tries to respect the size here by changing row/column sizes in the layout accordingly.
|
inherited |
This is an overloaded function.
Sets the maximum size for the inner rect of this layout element.
|
inherited |
Sets the margin group of the specified margin sides.
Margin groups allow synchronizing specified margins across layout elements, see the documentation of QCPMarginGroup.
To unset the margin group of sides, set group to 0.
Note that margin groups only work for margin sides that are set to automatic (setAutoMargins).
|
protectedvirtualinherited |
Returns the margin size for this side. It is used if automatic margins is enabled for this side (see setAutoMargins). If a minimum margin was set with setMinimumMargins, the returned value will not be smaller than the specified minimum margin.
The default implementation just returns the respective manual margin (setMargins) or the minimum margin, whichever is larger.
Reimplemented in QCPAxisRect.
|
inlineprotectedvirtualinherited |
This event is called, if the mouse was pressed while being inside the outer rect of this layout element.
Reimplemented in QCPAxisRect.
|
inlineprotectedvirtualinherited |
This event is called, if the mouse is moved inside the outer rect of this layout element.
Reimplemented in QCPAxisRect.
|
inlineprotectedvirtualinherited |
This event is called, if the mouse was previously pressed inside the outer rect of this layout element and is now released.
Reimplemented in QCPAxisRect.
|
inlineprotectedvirtualinherited |
This event is called, if the mouse is double-clicked inside the outer rect of this layout element.
|
inlineprotectedvirtualinherited |
This event is called, if the mouse wheel is scrolled while the cursor is inside the rect of this layout element.
Reimplemented in QCPAxisRect.
|
inlineinherited |
Returns the parent layerable of this layerable. The parent layerable is used to provide visibility hierarchies in conjunction with the method realVisibility. This way, layerables only get drawn if their parent layerables are visible, too.
Note that a parent layerable is not necessarily also the QObject parent for memory management. Further, a layerable doesn't always have a parent layerable, so this function may return 0.
A parent layerable is set implicitly with when placed inside layout elements and doesn't need to be set manually by the user.
|
inherited |
Sets the visibility of this layerable object. If an object is not visible, it will not be drawn on the QCustomPlot surface, and user interaction with it (e.g. click and selection) is not possible.
|
inherited |
Sets the layer of this layerable object. The object will be placed on top of the other objects already on layer.
Returns true on success, i.e. if layer is a valid layer.
|
inherited |
This is an overloaded function.
Sets the layer of this layerable object by name
Returns true on success, i.e. if layerName is a valid layer name.
|
inherited |
Sets whether this object will be drawn antialiased or not.
Note that antialiasing settings may be overridden by QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.
|
inherited |
Returns whether this layerable is visible, taking possible direct layerable parent visibility into account. This is the method that is consulted to decide whether a layerable shall be drawn or not.
If this layerable has a direct layerable parent (usually set via hierarchies implemented in subclasses, like in the case of QCPLayoutElement), this function returns true only if this layerable has its visibility set to true and the parent layerable's realVisibility returns true.
If this layerable doesn't have a direct layerable parent, returns the state of this layerable's visibility.
|
protectedvirtualinherited |
Returns the clipping rectangle of this layerable object. By default, this is the viewport of the parent QCustomPlot. Specific subclasses may reimplement this function to provide different clipping rects.
The returned clipping rect is set on the painter before the draw function of the respective object is called.
Reimplemented in QCPAbstractItem, QCPAbstractPlottable, and QCPAbstractLegendItem.
|
protectedinherited |
Sets the parent plot of this layerable. Use this function once to set the parent plot if you have passed 0 in the constructor. It can not be used to move a layerable from one QCustomPlot to another one.
Note that, unlike when passing a non-null parent plot in the constructor, this function does not make parentPlot the QObject-parent of this layerable. If you want this, call QObject::setParent(parentPlot) in addition to this function.
Further, you will probably want to set a layer (setLayer) after calling this function, to make the layerable appear on the QCustomPlot.
The parent plot change will be propagated to subclasses via a call to parentPlotInitialized so they can react accordingly (e.g. also initialize the parent plot of child layerables, like QCPLayout does).
|
protectedinherited |
Sets the parent layerable of this layerable to parentLayerable. Note that parentLayerable does not become the QObject-parent (for memory management) of this layerable.
The parent layerable has influence on the return value of the realVisibility method. Only layerables with a fully visible parent tree will return true for realVisibility, and thus be drawn.
|
protectedinherited |
Moves this layerable object to layer. If prepend is true, this object will be prepended to the new layer's list, i.e. it will be drawn below the objects already on the layer. If it is false, the object will be appended.
Returns true on success, i.e. if layer is a valid layer.
|
protectedinherited |
Sets the QCPainter::setAntialiasing state on the provided painter, depending on the localAntialiased value as well as the overrides QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements. Which override enum this function takes into account is controlled via overrideElement.