X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8cd6a9ad50c00a94e62558a3b55e814028d81100..ca77701441e39245dcbfce903049e76f166979e5:/include/wx/spinctrl.h diff --git a/include/wx/spinctrl.h b/include/wx/spinctrl.h index 4314dd93ee..cf93212a66 100644 --- a/include/wx/spinctrl.h +++ b/include/wx/spinctrl.h @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: spinctrl.h +// Name: wx/spinctrl.h // Purpose: wxSpinCtrlBase class // Author: Vadim Zeitlin // Modified by: @@ -18,13 +18,19 @@ #include "wx/spinbutt.h" // should make wxSpinEvent visible to the app +// Events +class WXDLLIMPEXP_FWD_CORE wxSpinDoubleEvent; + +wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_CORE, wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEvent); +wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_CORE, wxEVT_COMMAND_SPINCTRLDOUBLE_UPDATED, wxSpinDoubleEvent); + // ---------------------------------------------------------------------------- // A spin ctrl is a text control with a spin button which is usually used to // prompt the user for a numeric input. // There are two kinds for number types T=integer or T=double. // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxSpinCtrlBase : public wxControl +class WXDLLIMPEXP_CORE wxSpinCtrlBase : public wxControl { public: wxSpinCtrlBase() {} @@ -45,18 +51,22 @@ public: virtual void SetSnapToTicks(bool snap_to_ticks) = 0; // void SetDigits(unsigned digits) - wxSpinCtrlDouble only + // The base for numbers display, e.g. 10 or 16. + virtual int GetBase() const = 0; + virtual bool SetBase(int base) = 0; + // Select text in the textctrl virtual void SetSelection(long from, long to) = 0; private: - DECLARE_NO_COPY_CLASS(wxSpinCtrlBase) + wxDECLARE_NO_COPY_CLASS(wxSpinCtrlBase); }; // ---------------------------------------------------------------------------- // wxSpinDoubleEvent - a wxSpinEvent for double valued controls // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxSpinDoubleEvent : public wxNotifyEvent +class WXDLLIMPEXP_CORE wxSpinDoubleEvent : public wxNotifyEvent { public: wxSpinDoubleEvent(wxEventType commandType = wxEVT_NULL, int winid = 0, @@ -89,7 +99,7 @@ private: typedef void (wxEvtHandler::*wxSpinDoubleEventFunction)(wxSpinDoubleEvent&); #define wxSpinDoubleEventHandler(func) \ - (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxSpinDoubleEventFunction, &func) + wxEVENT_HANDLER_CAST(wxSpinDoubleEventFunction, func) // macros for handling spinctrl events @@ -107,9 +117,7 @@ typedef void (wxEvtHandler::*wxSpinDoubleEventFunction)(wxSpinDoubleEvent&); // wxSpinCtrlDouble implementations or neither, define the appropriate symbols // and include the generic version if necessary to provide the missing class(es) -#if defined(__WXUNIVERSAL__) || \ - defined(__WXMOTIF__) || \ - defined(__WXCOCOA__) +#if defined(__WXUNIVERSAL__) // nothing, use generic controls #elif defined(__WXMSW__) #define wxHAS_NATIVE_SPINCTRL @@ -124,15 +132,21 @@ typedef void (wxEvtHandler::*wxSpinDoubleEventFunction)(wxSpinDoubleEvent&); #elif defined(__WXGTK__) #define wxHAS_NATIVE_SPINCTRL #include "wx/gtk1/spinctrl.h" -#elif defined(__WXMAC__) - #define wxHAS_NATIVE_SPINCTRL - #include "wx/mac/spinctrl.h" #endif // platform #if !defined(wxHAS_NATIVE_SPINCTRL) || !defined(wxHAS_NATIVE_SPINCTRLDOUBLE) #include "wx/generic/spinctlg.h" #endif +namespace wxPrivate +{ + +// This is an internal helper function currently used by all ports: return the +// string containing hexadecimal representation of the given number. +extern wxString wxSpinCtrlFormatAsHex(long val, long maxVal); + +} // namespace wxPrivate + #endif // wxUSE_SPINCTRL #endif // _WX_SPINCTRL_H_