.. wxPython Phoenix documentation
This file was generated by Phoenix's sphinx generator and associated
tools, do not edit by hand.
Copyright: (c) 2011-2020 by Total Control Software
License: wxWindows License
.. include:: headings.inc
.. currentmodule:: wx.lib.agw.peakmeter
.. highlight:: python
.. _wx.lib.agw.peakmeter.PeakMeterCtrl:
==========================================================================================================================================
|phoenix_title| **wx.lib.agw.peakmeter.PeakMeterCtrl**
==========================================================================================================================================
The main :class:`PeakMeterCtrl` implementation.
|
|class_hierarchy| Class Hierarchy
=================================
.. raw:: html

Inheritance diagram for class
PeakMeterCtrl:
|
|appearance| Control Appearance
===============================
|
.. container:: control-appearance-figures
.. figure:: _static/images/widgets/fullsize/wxmsw/wx.lib.agw.peakmeter.peakmeterctrl.png
:alt: wxMSW
:figclass: appearance-figure
**wxMSW**
.. figure:: _static/images/widgets/fullsize/wxmac/../no_appearance.png
:alt: wxMAC
:figclass: appearance-figure
**wxMAC**
.. figure:: _static/images/widgets/fullsize/wxgtk/wx.lib.agw.peakmeter.peakmeterctrl.png
:alt: wxGTK
:figclass: appearance-figure
**wxGTK**
|
|super_classes| Known Superclasses
==================================
:class:`wx.Control`
|
|method_summary| Methods Summary
================================
================================================================================ ================================================================================
:meth:`~wx.lib.agw.peakmeter.PeakMeterCtrl.__init__` Default class constructor.
:meth:`~wx.lib.agw.peakmeter.PeakMeterCtrl.DoGetBestSize` Gets the size which best suits the window: for a control, it would be the
:meth:`~wx.lib.agw.peakmeter.PeakMeterCtrl.DoTimerProcessing` :class:`PeakMeterCtrl` animation, does the ``wx.EVT_TIMER`` processing.
:meth:`~wx.lib.agw.peakmeter.PeakMeterCtrl.DrawHorzBand` Draws horizontal bands.
:meth:`~wx.lib.agw.peakmeter.PeakMeterCtrl.DrawVertBand` Draws vertical bands.
:meth:`~wx.lib.agw.peakmeter.PeakMeterCtrl.DrawVertBandInverted` Draws vertical bands inverted.
:meth:`~wx.lib.agw.peakmeter.PeakMeterCtrl.GetAGWWindowStyleFlag` Returns the :class:`PeakMeterCtrl` window style.
:meth:`~wx.lib.agw.peakmeter.PeakMeterCtrl.GetFalloffEffect` Returns the falloff effect flag.
:meth:`~wx.lib.agw.peakmeter.PeakMeterCtrl.GetRangeValue` Get range value of :class:`PeakMeterCtrl`.
:meth:`~wx.lib.agw.peakmeter.PeakMeterCtrl.InitData` Initializes the control.
:meth:`~wx.lib.agw.peakmeter.PeakMeterCtrl.IsGridVisible` Returns if gridlines are visible.
:meth:`~wx.lib.agw.peakmeter.PeakMeterCtrl.IsStarted` Check if animation is active.
:meth:`~wx.lib.agw.peakmeter.PeakMeterCtrl.OnEraseBackground` Handles the ``wx.EVT_ERASE_BACKGROUND`` event for :class:`PeakMeterCtrl`.
:meth:`~wx.lib.agw.peakmeter.PeakMeterCtrl.OnPaint` Handles the ``wx.EVT_PAINT`` event for :class:`PeakMeterCtrl`.
:meth:`~wx.lib.agw.peakmeter.PeakMeterCtrl.OnSize` Handles the ``wx.EVT_SIZE`` event for :class:`PeakMeterCtrl`.
:meth:`~wx.lib.agw.peakmeter.PeakMeterCtrl.OnTimer` Handles the ``wx.EVT_TIMER`` event for :class:`PeakMeterCtrl`.
:meth:`~wx.lib.agw.peakmeter.PeakMeterCtrl.ResetControl` Resets the :class:`PeakMeterCtrl`.
:meth:`~wx.lib.agw.peakmeter.PeakMeterCtrl.SetAGWWindowStyleFlag` Sets the :class:`PeakMeterCtrl` window style flags.
:meth:`~wx.lib.agw.peakmeter.PeakMeterCtrl.SetBackgroundColour` Changes the background colour of :class:`PeakMeterCtrl`.
:meth:`~wx.lib.agw.peakmeter.PeakMeterCtrl.SetBandsColour` Set bands colour for :class:`PeakMeterCtrl`.
:meth:`~wx.lib.agw.peakmeter.PeakMeterCtrl.SetData` Change data value. Use this function to change only
:meth:`~wx.lib.agw.peakmeter.PeakMeterCtrl.SetFalloffDelay` Set peak value speed before falling off.
:meth:`~wx.lib.agw.peakmeter.PeakMeterCtrl.SetFalloffEffect` Set falloff effect flag.
:meth:`~wx.lib.agw.peakmeter.PeakMeterCtrl.SetMeterBands` Set number of vertical or horizontal bands to display.
:meth:`~wx.lib.agw.peakmeter.PeakMeterCtrl.SetRangeValue` Sets the ranges for low, medium and high bands.
:meth:`~wx.lib.agw.peakmeter.PeakMeterCtrl.ShowGrid` Request to have gridlines visible or not.
:meth:`~wx.lib.agw.peakmeter.PeakMeterCtrl.Start` Start the timer and animation effect.
:meth:`~wx.lib.agw.peakmeter.PeakMeterCtrl.Stop` Stop the timer and animation effect.
================================================================================ ================================================================================
|
|api| Class API
===============
.. class:: PeakMeterCtrl(wx.Control)
The main :class:`PeakMeterCtrl` implementation.
.. method:: __init__(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.DefaultSize, style=0, agwStyle=PM_VERTICAL)
Default class constructor.
:param parent: the :class:`PeakMeterCtrl` parent. Must not be ``None``
:param `id`: window identifier. A value of -1 indicates a default value;
:param `pos`: the control position. A value of (-1, -1) indicates a default position,
chosen by either the windowing system or wxPython, depending on platform;
:param `size`: the control size. A value of (-1, -1) indicates a default size,
chosen by either the windowing system or wxPython, depending on platform;
:param `style`: the underlying :class:`wx.Control` window style;
:param `agwStyle`: the AGW-specific window style, which can be one of the following bits:
======================== =========== ========================================================
Window Styles Hex Value Description
======================== =========== ========================================================
``PM_HORIZONTAL`` 0x0 Shows horizontal bands in :class:`PeakMeterCtrl`.
``PM_VERTICAL`` 0x1 Shows vertical bands in :class:`PeakMeterCtrl`.
``PM_VERTICAL_INVERTED`` 0x2 Shows inverted vertical bands in :class:`PeakMeterCtrl`.
======================== =========== ========================================================
.. method:: DoGetBestSize(self)
Gets the size which best suits the window: for a control, it would be the
minimal size which doesn't truncate the control, for a panel - the same size
as it would have after a call to `Fit()`.
.. note:: Overridden from :class:`wx.Control`.
.. method:: DoTimerProcessing(self)
:class:`PeakMeterCtrl` animation, does the ``wx.EVT_TIMER`` processing.
.. method:: DrawHorzBand(self, dc, rect)
Draws horizontal bands.
:param `dc`: an instance of :class:`wx.DC`;
:param `rect`: the horizontal bands client rectangle.
.. todo:: Implement falloff effect for horizontal bands.
.. method:: DrawVertBand(self, dc, rect)
Draws vertical bands.
:param `dc`: an instance of :class:`wx.DC`;
:param `rect`: the vertical bands client rectangle.
.. method:: DrawVertBandInverted(self, dc, rect)
Draws vertical bands inverted.
:param `dc`: an instance of :class:`wx.DC`;
:param `rect`: the vertical bands client rectangle.
.. method:: GetAGWWindowStyleFlag(self)
Returns the :class:`PeakMeterCtrl` window style.
.. seealso:: :meth:`PeakMeterCtrl.SetAGWWindowStyleFlag` for a list of possible window style flags.
.. method:: GetFalloffEffect(self)
Returns the falloff effect flag.
.. method:: GetRangeValue(self)
Get range value of :class:`PeakMeterCtrl`.
.. method:: InitData(self)
Initializes the control.
.. method:: IsGridVisible(self)
Returns if gridlines are visible.
.. method:: IsStarted(self)
Check if animation is active.
.. method:: OnEraseBackground(self, event)
Handles the ``wx.EVT_ERASE_BACKGROUND`` event for :class:`PeakMeterCtrl`.
:param `event`: a :class:`EraseEvent` event to be processed.
.. note:: This method is intentionally empty to reduce flicker.
.. method:: OnPaint(self, event)
Handles the ``wx.EVT_PAINT`` event for :class:`PeakMeterCtrl`.
:param `event`: a :class:`PaintEvent` event to be processed.
.. method:: OnSize(self, event)
Handles the ``wx.EVT_SIZE`` event for :class:`PeakMeterCtrl`.
:param `event`: a :class:`wx.SizeEvent` event to be processed.
.. method:: OnTimer(self, event)
Handles the ``wx.EVT_TIMER`` event for :class:`PeakMeterCtrl`.
:param `event`: a :class:`TimerEvent` event to be processed.
.. method:: ResetControl(self)
Resets the :class:`PeakMeterCtrl`.
.. method:: SetAGWWindowStyleFlag(self, agwStyle)
Sets the :class:`PeakMeterCtrl` window style flags.
:param `agwStyle`: the AGW-specific window style. This can be a combination of the
following bits:
======================== =========== ========================================================
Window Styles Hex Value Description
======================== =========== ========================================================
``PM_HORIZONTAL`` 0x0 Shows horizontal bands in :class:`PeakMeterCtrl`.
``PM_VERTICAL`` 0x1 Shows vertical bands in :class:`PeakMeterCtrl`.
``PM_VERTICAL_INVERTED`` 0x2 Shows inverted vertical bands in :class:`PeakMeterCtrl`.
======================== =========== ========================================================
.. method:: SetBackgroundColour(self, colourBgnd)
Changes the background colour of :class:`PeakMeterCtrl`.
:param `colourBgnd`: the colour to be used as the background colour, pass
:class:`NullColour` to reset to the default colour.
.. note:: The background colour is usually painted by the default :class:`EraseEvent`
event handler function under Windows and automatically under GTK.
.. note:: Setting the background colour does not cause an immediate refresh, so
you may wish to call :meth:`wx.Window.ClearBackground` or :meth:`wx.Window.Refresh` after
calling this function.
.. note:: Overridden from :class:`wx.Control`.
.. method:: SetBandsColour(self, colourNormal, colourMedium, colourHigh)
Set bands colour for :class:`PeakMeterCtrl`.
:param `colourNormal`: the colour for normal (low) bands, a valid :class:`wx.Colour`
object;
:param `colourMedium`: the colour for medium bands, a valid :class:`wx.Colour`
object;
:param `colourHigh`: the colour for high bands, a valid :class:`wx.Colour`
object.
.. method:: SetData(self, arrayValue, offset, size)
Change data value. Use this function to change only
a set of values. All bands can be changed or only 1 band,
depending on the application.
:param `arrayValue`: a Python list containing the :class:`PeakMeterData` values;
:param `offset`: the (optional) offset where to start applying the new data;
:param `size`: the size of the input data.
.. method:: SetFalloffDelay(self, speed)
Set peak value speed before falling off.
:param `speed`: the speed at which the falloff happens.
.. method:: SetFalloffEffect(self, falloffEffect)
Set falloff effect flag.
:param `falloffEffect`: ``True`` to enable the falloff effect, ``False``
to disable it.
.. method:: SetMeterBands(self, numBands, ledBands)
Set number of vertical or horizontal bands to display.
:param `numBands`: number of bands to display (either vertical or horizontal);
:param `ledBands`: the number of leds per band.
.. note:: You can obtain a smooth effect by setting `nHorz` or `nVert` to "1", these
cannot be 0.
.. method:: SetRangeValue(self, minVal, medVal, maxVal)
Sets the ranges for low, medium and high bands.
:param `minVal`: the value for low bands;
:param `medVal`: the value for medium bands;
:param `maxVal`: the value for high bands.
.. note:: The conditions to be satisfied are:
Min: [0 - nMin[, Med: [nMin - nMed[, Max: [nMed - nMax]
.. method:: ShowGrid(self, showGrid)
Request to have gridlines visible or not.
:param `showGrid`: ``True`` to show grid lines, ``False`` otherwise.
.. method:: Start(self, delay)
Start the timer and animation effect.
:param `delay`: the animation effect delay, in milliseconds.
.. method:: Stop(self)
Stop the timer and animation effect.