2019-11-12 20:43:44 -05:00
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
// 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_
|
|
|
|
|
2019-11-12 20:51:00 -05:00
|
|
|
namespace wxSpinCtrlImpl
|
2019-11-12 20:43:44 -05:00
|
|
|
{
|
|
|
|
|
|
|
|
// This is an internal helper function currently used by all ports: return the
|
|
|
|
// string containing hexadecimal representation of the given number.
|
2019-11-12 20:51:00 -05:00
|
|
|
extern wxString FormatAsHex(long val, long maxVal);
|
2019-11-12 20:43:44 -05:00
|
|
|
|
2019-11-12 20:51:42 -05:00
|
|
|
// 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);
|
|
|
|
|
2019-11-12 20:43:44 -05:00
|
|
|
// 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.
|
2019-11-12 20:51:00 -05:00
|
|
|
extern wxSize GetBestSize(const wxControl* spin, int minVal, int maxVal, int base);
|
2019-11-12 20:43:44 -05:00
|
|
|
|
2020-07-09 16:53:07 -04:00
|
|
|
// Helper function to check if given combination of range and base is valid.
|
|
|
|
extern bool IsBaseCompatibleWithRange(int minVal, int maxVal, int base);
|
2021-04-25 15:14:46 -04:00
|
|
|
|
|
|
|
// Maximum number of digits returned by DetermineDigits().
|
|
|
|
const unsigned SPINCTRLDBL_MAX_DIGITS = 20;
|
|
|
|
|
|
|
|
// Return the number of digits required to show the numbers using the
|
|
|
|
// specified increment without loss of precision.
|
|
|
|
extern unsigned DetermineDigits(double inc);
|
|
|
|
|
2019-11-12 20:51:00 -05:00
|
|
|
} // namespace wxSpinCtrlImpl
|
2019-11-12 20:43:44 -05:00
|
|
|
|
|
|
|
#endif // _WX_PRIVATE_SPINCTRL_H_
|