X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ba81782ac3002ad2fa3ad87fbbcdb299df69a6a3..1ec4e9c2b72a01a7ba7da569e0f8d04a81aaba10:/interface/wx/spinctrl.h diff --git a/interface/wx/spinctrl.h b/interface/wx/spinctrl.h index 4fa5dd4ed0..2889f63480 100644 --- a/interface/wx/spinctrl.h +++ b/interface/wx/spinctrl.h @@ -17,13 +17,13 @@ @style{wxSP_WRAP} The value wraps at the minimum and maximum. @style{wxTE_PROCESS_ENTER} - Indicates that the control should generate wxEVT_COMMAND_TEXT_ENTER + Indicates that the control should generate @c wxEVT_COMMAND_TEXT_ENTER events. Using this style will prevent the user from using the Enter key for dialog navigation (e.g. activating the default button in the dialog) under MSW. @style{wxALIGN_LEFT} Same as wxTE_LEFT for wxTextCtrl: the text is left aligned. - @style{wxALIGN_CENTRE} + @style{wxALIGN_CENTRE_HORIZONTAL} Same as wxTE_CENTRE for wxTextCtrl: the text is centered. @style{wxALIGN_RIGHT} Same as wxTE_RIGHT for wxTextCtrl: the text is right aligned (this is @@ -33,7 +33,8 @@ @beginEventEmissionTable{wxSpinEvent} @event{EVT_SPINCTRL(id, func)} - Generated whenever the numeric value of the spinctrl is updated + Process a wxEVT_COMMAND_SPINCTRL_UPDATED event, which is generated + whenever the numeric value of the spin control is updated. @endEventTable You may also use the wxSpinButton event macros, however the corresponding events @@ -46,7 +47,7 @@ @library{wxcore} @category{ctrl} - @appearance{spinctrl.png} + @appearance{spinctrl} @see wxSpinButton, wxSpinCtrlDouble, wxControl */ @@ -61,6 +62,14 @@ public: /** Constructor, creating and showing a spin control. + If @a value is non-empty, it will be shown in the text entry part of + the control and if it has numeric value, the initial numeric value of + the control, as returned by GetValue() will also be determined by it + instead of by @a initial. Hence, it only makes sense to specify @a + initial if @a value is an empty string or is not convertible to a + number, otherwise @a initial is simply ignored and the number specified + by @a value is used. + @param parent Parent window. Must not be @NULL. @param value @@ -105,6 +114,15 @@ public: long style = wxSP_ARROW_KEYS, int min = 0, int max = 100, int initial = 0, const wxString& name = "wxSpinCtrl"); + /** + Returns the numerical base being currently used, 10 by default. + + @see SetBase() + + @since 2.9.5 + */ + int GetBase() const; + /** Gets maximal allowable value. */ @@ -120,8 +138,34 @@ public: */ int GetValue() const; + /** + Sets the base to use for the numbers in this control. + + Currently the only supported values are 10 (which is the default) and + 16. + + Changing the base allows the user to enter the numbers in the specified + base, e.g. with "0x" prefix for hexadecimal numbers, and also displays + the numbers in the specified base when they are changed using the spin + control arrows. + + @param base + Numeric base, currently only 10 and 16 are supported. + @return + @true if the base was successfully changed or @false if it failed, + usually meaning that either the base is not 10 or 16. + + @since 2.9.5 + */ + bool SetBase(int base); + /** Sets range of allowable values. + + Notice that calling this method may change the value of the control if + it's not inside the new valid range, e.g. it will become @a minVal if + it is less than it now. However no @c wxEVT_COMMAND_SPINCTRL_UPDATED + event is generated, even if it the value does change. */ void SetRange(int minVal, int maxVal); @@ -169,7 +213,7 @@ public: @library{wxcore} @category{ctrl} - @appearance{spinctrldouble.png} + @appearance{spinctrldouble} @see wxSpinButton, wxSpinCtrl, wxControl */ @@ -264,6 +308,8 @@ public: /** Sets the increment value. + @note You may also need to increase the number of visible digits + using SetDigits */ void SetIncrement(double inc); @@ -326,3 +372,6 @@ public: */ void SetValue(double value); }; + +wxEventType wxEVT_COMMAND_SPINCTRL_UPDATED; +wxEventType wxEVT_COMMAND_SPINCTRLDOUBLE_UPDATED;