Masked control providing several time formats and manipulation of time values.

## Class Hierarchy¶

Inheritance diagram for class TimeCtrl:

## Known Superclasses¶

wx.lib.masked.textctrl.BaseMaskedTextCtrl

## Methods Summary¶

 __init__ Default class constructor. BindSpinButton This function binds an externally created spin button to the control, ChangeValue Validating ChangeValue function for time values GetBounds This function returns a two-tuple (min,max), indicating the GetFormat GetMax Gets the minimum value of the control. GetMin Gets the minimum value of the control. GetMxDateTime Returns the value of the control as an mx.DateTime, with the date GetValue This function returns the value of the display as a string by default, GetWxDateTime This function is the conversion engine for TimeCtrl; it takes IsInBounds Returns True if no value is specified and the current value IsLimited Returns True if the control is currently limiting the IsValid Can be used to determine if a given value would be a legal and SetBounds This function is a convenience function for setting the min and max SetFormat SetInsertionPoint This override records the specified position and associated cell before SetLimited If called with a value of True, this function will cause the control SetMax Sets the maximum value of the control. If a value of None SetMin Sets the minimum value of the control. If a value of None SetMxDateTime Because SetValue can take an mx.DateTime, (if DateTime is importable), SetParameters Function providing access to the parameters governing TimeCtrl display SetSelection SetSelection(from_, to_) SetValue Validating SetValue function for time values SetWxDateTime Because SetValue can take a DateTime, this is now just an alias.

## Class API¶

class TimeCtrl(BaseMaskedTextCtrl)

Masked control providing several time formats and manipulation of time values.

### Methods¶

__init__(self, parent, id=-1, value = '00:00:00', pos = wx.DefaultPosition, size = wx.DefaultSize, fmt24hr=False, spinButton = None, style = wx.TE_PROCESS_TAB, validator = wx.DefaultValidator, name = "time", **kwargs)

Default class constructor.

Parameters
• parent (wx.Window) – the window parent. Must not be None;

• id (integer) – window identifier. A value of -1 indicates a default value;

• value (string) – value to be shown;

• pos (tuple or wx.Point) – 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;

• fmt24hr (boolean) – True to use 24 hour format (sometimes called military format;

• spinButton (SpinButton) – an instance of SpinButton or None;

• style (integer) – the window style;

• validator (wx.Validator) – this is mainly provided for data-transfer, as control does its own validation;

• name (string) – the window name;

BindSpinButton(self, sb)

This function binds an externally created spin button to the control, so that up/down events from the button automatically change the control.

Parameters

sb (SpinButton) – an instance of SpinButton

ChangeValue(self, value)

Validating ChangeValue function for time values: This function will do dynamic type checking on the value argument, and convert DateTime, mxDateTime, or 12/24 format time string into the appropriate format string for the control.

No change event is fired by this method.

Parameters

value – the time value

GetBounds(self, as_string = False)

This function returns a two-tuple (min,max), indicating the current bounds of the control. Each value can be None if that bound is not set.

GetFormat(self)

GetMax(self, as_string = False)

Gets the minimum value of the control. If None, it will return None. Otherwise it will return the current minimum bound on the control, as a DateTime by default, or as a string if as_string argument is True.

GetMin(self, as_string = False)

Gets the minimum value of the control. If None, it will return None. Otherwise it will return the current minimum bound on the control, as a DateTime by default, or as a string if as_string argument is True.

GetMxDateTime(self, value=None)

Returns the value of the control as an mx.DateTime, with the date portion set to January 1, 1970.

GetValue(self, as_wxDateTime = False, as_mxDateTime = False, as_wxTimeSpan = False, as_mxDateTimeDelta = False)

This function returns the value of the display as a string by default, but supports return as a DateTime, mx.DateTime, TimeSpan, or mx.DateTimeDelta, if requested. (Evaluated in the order above– first one wins!)

Parameters
• as_wxDateTime (boolean) – return value as DateTime;

• as_mxDateTime (boolean) – return value as mxDateTime;

• as_wxTimeSpan (boolean) – return value as TimeSpan;

• as_mxDateTimeDelta (boolean) – return value as mxDateTimeDelta;

GetWxDateTime(self, value=None)

This function is the conversion engine for TimeCtrl; it takes one of the following types:

• time string

• DateTime

• TimeSpan

• mxDateTime

• mxDateTimeDelta

and converts it to a DateTime that always has Jan 1, 1970 as its date portion, so that range comparisons around values can work using DateTime built-in comparison function. If a value is not provided to convert, the string value of the control will be used. If the value is not one of the accepted types, a ValueError will be raised.

IsInBounds(self, value=None)

Returns True if no value is specified and the current value of the control falls within the current bounds. As the clock is a “circle”, both minimum and maximum bounds must be set for a value to ever be considered “out of bounds”. This function can also be called with a value to see if that value would fall within the current bounds of the given control.

IsLimited(self)

Returns True if the control is currently limiting the value to fall within any current bounds. Note: can be set even if there are no current bounds.

IsValid(self, value)

Can be used to determine if a given value would be a legal and in-bounds value for the control.

Parameters

value – value to check

SetBounds(self, min=None, max=None)

This function is a convenience function for setting the min and max values at the same time. The function only applies the maximum bound if setting the minimum bound is successful, and returns True only if both operations succeed.

Note

Leaving out an argument will remove the corresponding bound.

Parameters
• min (integer or None) – Minium value for the control

• max (integer or None) – Minium value for the control

SetFormat(self, format)

SetInsertionPoint(self, pos)

This override records the specified position and associated cell before calling base class’ function. This is necessary to handle the optional spin button, because the insertion point is lost when the focus shifts to the spin button.

SetLimited(self, limited)

If called with a value of True, this function will cause the control to limit the value to fall within the bounds currently specified. If the control’s value currently exceeds the bounds, it will then be limited accordingly.

If called with a value of 0, this function will disable value limiting, but coloring of out-of-bounds values will still take place if bounds have been set for the control.

Parameters

limited (boolean) – define value limiting

SetMax(self, max=None)

Sets the maximum value of the control. If a value of None is provided, then the control will have no explicit maximum value. If the value specified is less than the current minimum value, then the function returns False and the maximum will not change from its current setting. On success, the function returns True.

If successful and the current value is greater than the new upper bound, if the control is limited the value will be automatically adjusted to this maximum value; if not limited, the value in the control will be colored as invalid.

Parameters

max (integer or None) – Minium value for the control

SetMin(self, min=None)

Sets the minimum value of the control. If a value of None is provided, then the control will have no explicit minimum value. If the value specified is greater than the current maximum value, then the function returns 0 and the minimum will not change from its current setting. On success, the function returns 1.

If successful and the current value is lower than the new lower bound, if the control is limited, the value will be automatically adjusted to the new minimum value; if not limited, the value in the control will be colored as invalid.

Parameters

min (integer or None) – Minium value for the control

SetMxDateTime(self, mxdt)

Because SetValue can take an mx.DateTime, (if DateTime is importable), this is now just an alias.

SetParameters(self, **kwargs)

SetSelection(self, sel_start, sel_to)

SetSelection(from_, to_)

Selects the text starting at the first position up to (but not including) the character at the last position.

SetValue(self, value)

Validating SetValue function for time values: This function will do dynamic type checking on the value argument, and convert DateTime, mxDateTime, or 12/24 format time string into the appropriate format string for the control.

Parameters

value – the time value

SetWxDateTime(self, wxdt)

Because SetValue can take a DateTime, this is now just an alias.