Phoenix Logo

phoenix_title wx.lib.agw.rulerctrl.RulerCtrl

RulerCtrl implements a ruler window that can be placed on top, bottom, left or right to any wxPython widget. It is somewhat similar to the rulers you can find in text editors software, though not so powerful.


class_hierarchy Class Hierarchy

Inheritance diagram for class RulerCtrl:

appearance Control Appearance


wxMSW

wxMSW

wxMAC

wxMAC

wxGTK

wxGTK


super_classes Known Superclasses

wx.Panel


method_summary Methods Summary

__init__ Default class constructor.
AddIndicator Adds an indicator to RulerCtrl. You should pass a unique id and a starting
CheckStyle Adjust the RulerCtrl style accordingly to borders, units, etc...
Draw Actually draws the whole RulerCtrl.
DrawOnParent Actually draws the thin line over the drawing parent window.
FindLinearTickSizes Used internally.
GetBounds Returns the RulerCtrl bounds (its client rectangle).
GetDrawingParent Returns the window to which RulerCtrl draws a thin line over.
GetFormat Returns the format used to display values in RulerCtrl.
GetIndicator Returns the indicator located at the mouse position mousePos (if any).
GetTimeFormat Returns the time format.
Invalidate Invalidates the ticks calculations.
LabelMajor Sets whether the major ticks should be labeled or not.
LabelMinor Sets whether the minor ticks should be labeled or not.
LabelString Used internally.
OfflimitsPixels Used internally.
OnEraseBackground Handles the wx.EVT_ERASE_BACKGROUND event for RulerCtrl.
OnMouseEvents Handles the wx.EVT_MOUSE_EVENTS event for RulerCtrl.
OnPaint Handles the wx.EVT_PAINT event for RulerCtrl.
OnSize Handles the wx.EVT_SIZE event for RulerCtrl.
SetBackgroundColour Sets the RulerCtrl background colour.
SetBounds Sets the bounds for RulerCtrl (its client rectangle).
SetDrawingParent Sets the window to which RulerCtrl draws a thin line over.
SetFlip Sets whether the orientation of the tick marks should be reversed.
SetFonts Sets the fonts for minor and major tick labels.
SetFormat Sets the format for RulerCtrl.
SetIndicatorColour Sets the indicator colour.
SetIndicatorValue Sets the indicator value.
SetLabelColour Sets the labels colour.
SetLabelEdges Sets whether the edge values should always be displayed or not.
SetLog Sets whether RulerCtrl should have a logarithmic scale or not.
SetOrientation Sets the RulerCtrl orientation.
SetRange Sets the RulerCtrl range.
SetSpacing Sets the RulerCtrl spacing between labels.
SetTickPenColour Sets the pen colour to draw the ticks.
SetTimeFormat Sets the time format.
SetUnits Sets the units that should be displayed beside the labels.
Tick Ticks a particular position.
TickMajor Sets whether the major ticks should be ticked or not.
TickMinor Sets whether the minor ticks should be ticked or not.
Update Updates all the ticks calculations.

api Class API



class RulerCtrl(wx.Panel)

RulerCtrl implements a ruler window that can be placed on top, bottom, left or right to any wxPython widget. It is somewhat similar to the rulers you can find in text editors software, though not so powerful.


Methods



__init__(self, parent, id=-1, pos=wx.DefaultPosition, size=wx.DefaultSize, style=wx.STATIC_BORDER, orient=wx.HORIZONTAL)

Default class constructor.

Parameters:
  • parent – parent window. 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 window style;
  • orient – sets the orientation of the RulerCtrl, and can be either wx.HORIZONTAL of wx.VERTICAL.


AddIndicator(self, id, value)

Adds an indicator to RulerCtrl. You should pass a unique id and a starting value for the indicator.

Parameters:
  • id – the indicator identifier;
  • value – the indicator initial value.


CheckStyle(self)

Adjust the RulerCtrl style accordingly to borders, units, etc...



Draw(self, dc)

Actually draws the whole RulerCtrl.

Parameters:dc – an instance of wx.DC.


DrawOnParent(self, indicator)

Actually draws the thin line over the drawing parent window.

Parameters:indicator – the current indicator, an instance of Indicator.

Note

This method is currently not available on wxMac as it uses ScreenDC.



FindLinearTickSizes(self, UPP)

Used internally.



GetBounds(self)

Returns the RulerCtrl bounds (its client rectangle).



GetDrawingParent(self)

Returns the window to which RulerCtrl draws a thin line over.



GetFormat(self)

Returns the format used to display values in RulerCtrl.

See also

RulerCtrl.SetFormat for a list of possible formats.



GetIndicator(self, mousePos)

Returns the indicator located at the mouse position mousePos (if any).

Parameters:mousePos – the mouse position, an instance of wx.Point.


GetTimeFormat(self)

Returns the time format.



Invalidate(self)

Invalidates the ticks calculations.



LabelMajor(self, label=True)

Sets whether the major ticks should be labeled or not.

Parameters:labelTrue to label major ticks, False otherwise.


LabelMinor(self, label=True)

Sets whether the minor ticks should be labeled or not.

Parameters:labelTrue to label minor ticks, False otherwise.


LabelString(self, d, major=None)

Used internally.



OfflimitsPixels(self, start, end)

Used internally.



OnEraseBackground(self, event)

Handles the wx.EVT_ERASE_BACKGROUND event for RulerCtrl.

Parameters:event – a EraseEvent event to be processed.

Note

This method is intentionally empty to reduce flicker.



OnMouseEvents(self, event)

Handles the wx.EVT_MOUSE_EVENTS event for RulerCtrl.

Parameters:event – a MouseEvent event to be processed.


OnPaint(self, event)

Handles the wx.EVT_PAINT event for RulerCtrl.

Parameters:event – a PaintEvent event to be processed.


OnSize(self, event)

Handles the wx.EVT_SIZE event for RulerCtrl.

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


SetBackgroundColour(self, colour)

Sets the RulerCtrl background colour.

Parameters:colour – an instance of wx.Colour.

Note

Overridden from Panel.



SetBounds(self, left, top, right, bottom)

Sets the bounds for RulerCtrl (its client rectangle).

Parameters:
  • left – the left corner of the client rectangle;
  • top – the top corner of the client rectangle;
  • right – the right corner of the client rectangle;
  • bottom – the bottom corner of the client rectangle.


SetDrawingParent(self, dparent)

Sets the window to which RulerCtrl draws a thin line over.

Parameters:dparent – an instance of wx.Window, representing the window to which RulerCtrl draws a thin line over.


SetFlip(self, flip=True)

Sets whether the orientation of the tick marks should be reversed.

Parameters:flipTrue to reverse the orientation of the tick marks, False otherwise.


SetFonts(self, minorFont, majorFont)

Sets the fonts for minor and major tick labels.

Parameters:
  • minorFont – the font used to draw minor ticks, a valid wx.Font object;
  • majorFont – the font used to draw major ticks, a valid wx.Font object.


SetFormat(self, format)

Sets the format for RulerCtrl.

Parameters:format – the format used to display values in RulerCtrl. This can be one of the following bits:
Format Value Description
IntFormat 1 Integer format
RealFormat 2 Real format
TimeFormat 3 Time format
LinearDBFormat 4 Linear DB format
HHMMSS_Format 5 HHMMSS format


SetIndicatorColour(self, id, colour=None)

Sets the indicator colour.

Parameters:
  • id – the indicator identifier;
  • colour – a valid wx.Colour object.

Note

This method requires PIL to change the image palette.



SetIndicatorValue(self, sendEvent=True)

Sets the indicator value.

Parameters:sendEventTrue to send a RulerCtrlEvent, False otherwise.


SetLabelColour(self, colour=wx.BLACK)

Sets the labels colour.

Parameters:colour – a valid wx.Colour object.


SetLabelEdges(self, labelEdges=True)

Sets whether the edge values should always be displayed or not.

Parameters:labelEdgesTrue to always display edge labels, False otherwise/


SetLog(self, log=True)

Sets whether RulerCtrl should have a logarithmic scale or not.

Parameters:logTrue to use a logarithmic scale, False to use a linear one.


SetOrientation(self, orient=None)

Sets the RulerCtrl orientation.

Parameters:orient – can be wx.HORIZONTAL or wx.VERTICAL.


SetRange(self, minVal, maxVal)

Sets the RulerCtrl range.

Parameters:


SetSpacing(self, spacing)

Sets the RulerCtrl spacing between labels.

Parameters:spacing – the spacing between labels, in pixels.


SetTickPenColour(self, colour=wx.BLACK)

Sets the pen colour to draw the ticks.

Parameters:colour – a valid wx.Colour object.


SetTimeFormat(self, format=TimeFormat)

Sets the time format.

Parameters:format – the format used to display time values.


SetUnits(self, units)

Sets the units that should be displayed beside the labels.

Parameters:units – the units that should be displayed beside the labels.


Tick(self, dc, pos, d, major)

Ticks a particular position.

Parameters:
  • dc – an instance of wx.DC;
  • pos – the label position;
  • d – the current label value;
  • majorTrue if it is a major ticks, False if it is a minor one.


TickMajor(self, tick=True)

Sets whether the major ticks should be ticked or not.

Parameters:tickTrue to show major ticks, False otherwise.


TickMinor(self, tick=True)

Sets whether the minor ticks should be ticked or not.

Parameters:tickTrue to show minor ticks, False otherwise.


Update(self, dc)

Updates all the ticks calculations.

Parameters:dc – an instance of wx.DC.