X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ad8ddd139179075f578c50ae1816d236cf86455d..f3ebbc0ac81967b5ef42414ffd753905075940dd:/src/msw/spinctrl.cpp diff --git a/src/msw/spinctrl.cpp b/src/msw/spinctrl.cpp index 283d9fe0e3..8beb9485ca 100644 --- a/src/msw/spinctrl.cpp +++ b/src/msw/spinctrl.cpp @@ -5,7 +5,7 @@ // Modified by: // Created: 22.07.99 // RCS-ID: $Id$ -// Copyright: (c) Vadim Zeitlin +// Copyright: (c) 1999-2005 Vadim Zeitlin // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -13,11 +13,6 @@ // declarations // ============================================================================ -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma implementation "spinctrlbase.h" - #pragma implementation "spinctrl.h" -#endif - // ---------------------------------------------------------------------------- // headers // ---------------------------------------------------------------------------- @@ -35,14 +30,13 @@ #if wxUSE_SPINCTRL -#if defined(__WIN95__) - #include "wx/spinctrl.h" #include "wx/msw/private.h" +#include "wx/msw/wrapcctl.h" -#if defined(__WIN95__) && !(defined(__GNUWIN32_OLD__) && !defined(__CYGWIN10__)) - #include -#endif +#if wxUSE_TOOLTIPS + #include "wx/tooltip.h" +#endif // wxUSE_TOOLTIPS #include // for INT_MIN @@ -392,7 +386,7 @@ bool wxSpinCtrl::Create(wxWindow *parent, // associate the text window with the spin button (void)::SendMessage(GetHwnd(), UDM_SETBUDDY, (WPARAM)m_hwndBuddy, 0); - if ( !value.IsEmpty() ) + if ( !value.empty() ) { SetValue(value); } @@ -436,7 +430,7 @@ int wxSpinCtrl::GetValue() const long n; if ( (wxSscanf(val, wxT("%lu"), &n) != 1) ) n = INT_MIN; - + if (n < m_min) n = m_min; if (n > m_max) n = m_max; @@ -452,7 +446,7 @@ void wxSpinCtrl::SetSelection(long from, long to) from = 0; } - ::SendMessage((HWND)m_hwndBuddy, EM_SETSEL, (WPARAM)from, (LPARAM)to); + ::SendMessage(GetBuddyHwnd(), EM_SETSEL, (WPARAM)from, (LPARAM)to); } // ---------------------------------------------------------------------------- @@ -502,6 +496,18 @@ void wxSpinCtrl::SetFocus() ::SetFocus(GetBuddyHwnd()); } +#if wxUSE_TOOLTIPS + +void wxSpinCtrl::DoSetToolTip(wxToolTip *tip) +{ + wxSpinButton::DoSetToolTip(tip); + + if ( tip ) + tip->Add(m_hwndBuddy); +} + +#endif // wxUSE_TOOLTIPS + // ---------------------------------------------------------------------------- // event processing // ---------------------------------------------------------------------------- @@ -556,16 +562,12 @@ void wxSpinCtrl::DoMoveWindow(int x, int y, int width, int height) wxLogDebug(_T("not enough space for wxSpinCtrl!")); } - if ( !::MoveWindow(GetBuddyHwnd(), x, y, widthText, height, TRUE) ) - { - wxLogLastError(wxT("MoveWindow(buddy)")); - } + // 1) The buddy window + DoMoveSibling(m_hwndBuddy, x, y, widthText, height); + // 2) The button window x += widthText + MARGIN_BETWEEN; - if ( !::MoveWindow(GetHwnd(), x, y, widthBtn, height, TRUE) ) - { - wxLogLastError(wxT("MoveWindow")); - } + wxSpinButton::DoMoveWindow(x, y, widthBtn, height); } // get total size of the control @@ -593,8 +595,5 @@ void wxSpinCtrl::DoGetPosition(int *x, int *y) const wxConstCast(this, wxSpinCtrl)->m_hWnd = hWnd; } -#endif // __WIN95__ - -#endif - // wxUSE_SPINCTRL +#endif // wxUSE_SPINCTRL