ae1e93cbae
In a native up-down control hexadecimal numbers are always unsigned (see UDM_SETBASE message documentation) so we need to prevent: - Setting a range including negative values if base == 16. - Setting base != 10 if current range includes negative values. See #18805.
34 lines
1.4 KiB
C++
34 lines
1.4 KiB
C++
///////////////////////////////////////////////////////////////////////////////
|
|
// Name: wx/private/spinctrl.h
|
|
// Purpose: Private functions used in wxSpinCtrl implementation.
|
|
// Author: Vadim Zeitlin
|
|
// Created: 2019-11-13
|
|
// Copyright: (c) 2019 Vadim Zeitlin <vadim@wxwidgets.org>
|
|
// Licence: wxWindows licence
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _WX_PRIVATE_SPINCTRL_H_
|
|
#define _WX_PRIVATE_SPINCTRL_H_
|
|
|
|
namespace wxSpinCtrlImpl
|
|
{
|
|
|
|
// This is an internal helper function currently used by all ports: return the
|
|
// string containing hexadecimal representation of the given number.
|
|
extern wxString FormatAsHex(long val, long maxVal);
|
|
|
|
// Another helper returning the maximum length of a string representing a value
|
|
// valid in the given control.
|
|
extern int GetMaxValueLength(int minVal, int maxVal, int base);
|
|
|
|
// The helper function to determine the best size for the given control.
|
|
// We can't implement this function in the wxSpinCtrlBase because MSW implementation
|
|
// of wxSpinCtrl is derived from wxSpinButton but uses the same algorithm.
|
|
extern wxSize GetBestSize(const wxControl* spin, int minVal, int maxVal, int base);
|
|
|
|
// Helper function to check if given combination of range and base is valid.
|
|
extern bool IsBaseCompatibleWithRange(int minVal, int maxVal, int base);
|
|
} // namespace wxSpinCtrlImpl
|
|
|
|
#endif // _WX_PRIVATE_SPINCTRL_H_
|