Phoenix Logo

phoenix_title wx.lib.agw.peakmeter.PeakMeterCtrl

The main PeakMeterCtrl implementation.


class_hierarchy Class Hierarchy

Inheritance diagram for class PeakMeterCtrl:

appearance Control Appearance


wxMSW

wxMSW

wxMAC

wxMAC

wxGTK

wxGTK


super_classes Known Superclasses

wx.Control


method_summary Methods Summary

__init__ Default class constructor.
DoGetBestSize Gets the size which best suits the window: for a control, it would be the
DoTimerProcessing PeakMeterCtrl animation, does the wx.EVT_TIMER processing.
DrawHorzBand Draws horizontal bands.
DrawVertBand Draws vertical bands.
DrawVertBandInverted Draws vertical bands inverted.
GetAGWWindowStyleFlag Returns the PeakMeterCtrl window style.
GetFalloffEffect Returns the falloff effect flag.
GetRangeValue Get range value of PeakMeterCtrl.
InitData Initializes the control.
IsGridVisible Returns if gridlines are visible.
IsStarted Check if animation is active.
OnEraseBackground Handles the wx.EVT_ERASE_BACKGROUND event for PeakMeterCtrl.
OnPaint Handles the wx.EVT_PAINT event for PeakMeterCtrl.
OnSize Handles the wx.EVT_SIZE event for PeakMeterCtrl.
OnTimer Handles the wx.EVT_TIMER event for PeakMeterCtrl.
ResetControl Resets the PeakMeterCtrl.
SetAGWWindowStyleFlag Sets the PeakMeterCtrl window style flags.
SetBackgroundColour Changes the background colour of PeakMeterCtrl.
SetBandsColour Set bands colour for PeakMeterCtrl.
SetData Change data value. Use this function to change only
SetFalloffDelay Set peak value speed before falling off.
SetFalloffEffect Set falloff effect flag.
SetMeterBands Set number of vertical or horizontal bands to display.
SetRangeValue Sets the ranges for low, medium and high bands.
ShowGrid Request to have gridlines visible or not.
Start Start the timer and animation effect.
Stop Stop the timer and animation effect.

api Class API



class PeakMeterCtrl(wx.Control)

The main PeakMeterCtrl implementation.


Methods



__init__(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.DefaultSize, style=0, agwStyle=PM_VERTICAL)

Default class constructor.

Parameters:
  • parent – the PeakMeterCtrl parent. Must not be None
  • id – window identifier. A value of -1 indicates a default value;
  • pos – the control position. A value of (-1, -1) indicates a default position, chosen by either the windowing system or wxPython, depending on platform;
  • size – the control size. A value of (-1, -1) indicates a default size, chosen by either the windowing system or wxPython, depending on platform;
  • style – the underlying wx.Control window style;
  • 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 PeakMeterCtrl.
    PM_VERTICAL 0x1 Shows vertical bands in PeakMeterCtrl.
    PM_VERTICAL_INVERTED 0x2 Shows inverted vertical bands in PeakMeterCtrl.


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 wx.Control.



DoTimerProcessing(self)

PeakMeterCtrl animation, does the wx.EVT_TIMER processing.



DrawHorzBand(self, dc, rect)

Draws horizontal bands.

Parameters:
  • dc – an instance of wx.DC;
  • rect – the horizontal bands client rectangle.

Todo

Implement falloff effect for horizontal bands.



DrawVertBand(self, dc, rect)

Draws vertical bands.

Parameters:
  • dc – an instance of wx.DC;
  • rect – the vertical bands client rectangle.


DrawVertBandInverted(self, dc, rect)

Draws vertical bands inverted.

Parameters:
  • dc – an instance of wx.DC;
  • rect – the vertical bands client rectangle.


GetAGWWindowStyleFlag(self)

Returns the PeakMeterCtrl window style.

See also

PeakMeterCtrl.SetAGWWindowStyleFlag for a list of possible window style flags.



GetFalloffEffect(self)

Returns the falloff effect flag.



GetRangeValue(self)

Get range value of PeakMeterCtrl.



InitData(self)

Initializes the control.



IsGridVisible(self)

Returns if gridlines are visible.



IsStarted(self)

Check if animation is active.



OnEraseBackground(self, event)

Handles the wx.EVT_ERASE_BACKGROUND event for PeakMeterCtrl.

Parameters:event – a EraseEvent event to be processed.

Note

This method is intentionally empty to reduce flicker.



OnPaint(self, event)

Handles the wx.EVT_PAINT event for PeakMeterCtrl.

Parameters:event – a PaintEvent event to be processed.


OnSize(self, event)

Handles the wx.EVT_SIZE event for PeakMeterCtrl.

Parameters:event – a wx.SizeEvent event to be processed.


OnTimer(self, event)

Handles the wx.EVT_TIMER event for PeakMeterCtrl.

Parameters:event – a TimerEvent event to be processed.


ResetControl(self)

Resets the PeakMeterCtrl.



SetAGWWindowStyleFlag(self, agwStyle)

Sets the PeakMeterCtrl window style flags.

Parameters: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 PeakMeterCtrl.
PM_VERTICAL 0x1 Shows vertical bands in PeakMeterCtrl.
PM_VERTICAL_INVERTED 0x2 Shows inverted vertical bands in PeakMeterCtrl.


SetBackgroundColour(self, colourBgnd)

Changes the background colour of PeakMeterCtrl.

Parameters:colourBgnd – the colour to be used as the background colour, pass NullColour to reset to the default colour.

Note

The background colour is usually painted by the default 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 wx.Window.ClearBackground or wx.Window.Refresh after calling this function.

Note

Overridden from wx.Control.



SetBandsColour(self, colourNormal, colourMedium, colourHigh)

Set bands colour for PeakMeterCtrl.

Parameters:
  • colourNormal – the colour for normal (low) bands, a valid wx.Colour object;
  • colourMedium – the colour for medium bands, a valid wx.Colour object;
  • colourHigh – the colour for high bands, a valid wx.Colour object.


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.

Parameters:
  • arrayValue – a Python list containing the PeakMeterData values;
  • offset – the (optional) offset where to start applying the new data;
  • size – the size of the input data.


SetFalloffDelay(self, speed)

Set peak value speed before falling off.

Parameters:speed – the speed at which the falloff happens.


SetFalloffEffect(self, falloffEffect)

Set falloff effect flag.

Parameters:falloffEffectTrue to enable the falloff effect, False to disable it.


SetMeterBands(self, numBands, ledBands)

Set number of vertical or horizontal bands to display.

Parameters:
  • numBands – number of bands to display (either vertical or horizontal);
  • 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.



SetRangeValue(self, minVal, medVal, maxVal)

Sets the ranges for low, medium and high bands.

Parameters:
  • minVal – the value for low bands;
  • medVal – the value for medium bands;
  • maxVal – the value for high bands.

Note

The conditions to be satisfied are:

Min: [0 - nMin[, Med: [nMin - nMed[, Max: [nMed - nMax]



ShowGrid(self, showGrid)

Request to have gridlines visible or not.

Parameters:showGridTrue to show grid lines, False otherwise.


Start(self, delay)

Start the timer and animation effect.

Parameters:delay – the animation effect delay, in milliseconds.


Stop(self)

Stop the timer and animation effect.