Add wxSpinCtrl::SetBase() to allow entering hexadecimal numbers.

Add a generic SetBase() API even though right now only bases 10 and 16 are
supported as we might support other ones (e.g. 8?) in the future. Implement it
for MSW, GTK and generic versions.

Add controls allowing to test this feature to the widgets sample.

Add "base" property support to the XRC handler for wxSpinCtrl, document it and
test it in the xrc sample.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72414 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2012-08-30 20:24:38 +00:00
parent 36090ae57e
commit 9e565667d0
14 changed files with 328 additions and 23 deletions

View File

@@ -114,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.
*/
@@ -129,6 +138,27 @@ 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.