X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ea392212116c2c460551f572945904105c3d61d7..b9efe021b554fa3967d1442cf758435c5cd5ae8f:/src/msw/fdrepdlg.cpp diff --git a/src/msw/fdrepdlg.cpp b/src/msw/fdrepdlg.cpp index cc2b94299d..7eab0dae8d 100644 --- a/src/msw/fdrepdlg.cpp +++ b/src/msw/fdrepdlg.cpp @@ -17,7 +17,7 @@ // headers // ---------------------------------------------------------------------------- -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma implementation "mswfdrepdlg.h" #endif @@ -35,12 +35,7 @@ #include "wx/log.h" #endif -#include "wx/msw/private.h" - -#if !defined(__WIN32__) || defined(__SALFORDC__) - #include -#endif - +#include "wx/msw/wrapcdlg.h" #include "wx/fdrepdlg.h" // ---------------------------------------------------------------------------- @@ -50,10 +45,10 @@ LRESULT APIENTRY wxFindReplaceWindowProc(HWND hwnd, WXUINT nMsg, WPARAM wParam, LPARAM lParam); -UINT CALLBACK wxFindReplaceDialogHookProc(HWND hwnd, - UINT uiMsg, - WPARAM wParam, - LPARAM lParam); +UINT_PTR CALLBACK wxFindReplaceDialogHookProc(HWND hwnd, + UINT uiMsg, + WPARAM wParam, + LPARAM lParam); // ---------------------------------------------------------------------------- // wxWin macros @@ -82,7 +77,7 @@ public: FINDREPLACE *GetPtrFindReplace() { return &m_findReplace; } // set/query the "closed by user" flag - void SetClosedByUser() { m_wasClosedByUser = TRUE; } + void SetClosedByUser() { m_wasClosedByUser = true; } bool WasClosedByUser() const { return m_wasClosedByUser; } private: @@ -97,7 +92,7 @@ private: // the find replace data used by the dialog FINDREPLACE m_findReplace; - // TRUE if the user closed us, FALSE otherwise + // true if the user closed us, false otherwise bool m_wasClosedByUser; // registered Message for Dialog @@ -133,7 +128,7 @@ wxFindReplaceDialogImpl::wxFindReplaceDialogImpl(wxFindReplaceDialog *dialog, m_hwndOwner = NULL; m_oldParentWndProc = NULL; - m_wasClosedByUser = FALSE; + m_wasClosedByUser = false; wxZeroMemory(m_findReplace); @@ -178,7 +173,7 @@ void wxFindReplaceDialogImpl::InitString(const wxString& str, *ppStr = new wxChar[len]; wxStrcpy(*ppStr, str); - *pLen = len; + *pLen = (WORD)len; } void wxFindReplaceDialogImpl::InitFindWhat(const wxString& str) @@ -201,14 +196,11 @@ void wxFindReplaceDialogImpl::SubclassDialog(HWND hwnd) // as then we'd have infinite recursion in wxFindReplaceWindowProc if ( !wxCheckWindowWndProc((WXHWND)hwnd, (WXFARPROC)wxFindReplaceWindowProc) ) { - WNDPROC oldParentWndProc = (WNDPROC)::GetWindowLong(hwnd, GWL_WNDPROC); - // save old wnd proc elsewhere to access it from - // wxFindReplaceWindowProc - m_oldParentWndProc = oldParentWndProc; - (void)::SetWindowLong(hwnd, GWL_USERDATA, (LONG)oldParentWndProc); - - // and set the new one - (void)::SetWindowLong(hwnd, GWL_WNDPROC, (LONG)wxFindReplaceWindowProc); + // set the new one and save the old as user data to allow access to it + // from wxFindReplaceWindowProc + m_oldParentWndProc = wxSetWindowProc(hwnd, wxFindReplaceWindowProc); + + wxSetWindowUserData(hwnd, (void *)m_oldParentWndProc); } } @@ -219,7 +211,8 @@ wxFindReplaceDialogImpl::~wxFindReplaceDialogImpl() if ( m_hwndOwner ) { - ::SetWindowLong(m_hwndOwner, GWL_WNDPROC, (LONG)m_oldParentWndProc); + // undo subclassing + wxSetWindowProc(m_hwndOwner, m_oldParentWndProc); } } @@ -262,7 +255,7 @@ LRESULT APIENTRY wxFindReplaceWindowProc(HWND hwnd, WXUINT nMsg, // map flags from Windows wxEventType evtType; - bool replace = FALSE; + bool replace = false; if ( pFR->Flags & FR_DIALOGTERM ) { // we have to notify the dialog that it's being closed by user and @@ -280,13 +273,13 @@ LRESULT APIENTRY wxFindReplaceWindowProc(HWND hwnd, WXUINT nMsg, { evtType = wxEVT_COMMAND_FIND_REPLACE; - replace = TRUE; + replace = true; } else if ( pFR->Flags & FR_REPLACEALL ) { evtType = wxEVT_COMMAND_FIND_REPLACE_ALL; - replace = TRUE; + replace = true; } else { @@ -327,7 +320,7 @@ LRESULT APIENTRY wxFindReplaceWindowProc(HWND hwnd, WXUINT nMsg, s_lastMsgFlags = 0; #endif // wxUSE_UNICODE_MSLU - WNDPROC wndProc = (WNDPROC)::GetWindowLong(hwnd, GWL_USERDATA); + WNDPROC wndProc = (WNDPROC)wxGetWindowUserData(hwnd); // sanity check wxASSERT_MSG( wndProc != wxFindReplaceWindowProc, @@ -340,10 +333,11 @@ LRESULT APIENTRY wxFindReplaceWindowProc(HWND hwnd, WXUINT nMsg, // Find/replace dialog hook proc // ---------------------------------------------------------------------------- -UINT CALLBACK wxFindReplaceDialogHookProc(HWND hwnd, - UINT uiMsg, - WPARAM WXUNUSED(wParam), - LPARAM lParam) +UINT_PTR CALLBACK +wxFindReplaceDialogHookProc(HWND hwnd, + UINT uiMsg, + WPARAM WXUNUSED(wParam), + LPARAM lParam) { if ( uiMsg == WM_INITDIALOG ) { @@ -373,7 +367,7 @@ void wxFindReplaceDialog::Init() m_FindReplaceData = NULL; // as we're created in the hidden state, bring the internal flag in sync - m_isShown = FALSE; + m_isShown = false; } wxFindReplaceDialog::wxFindReplaceDialog(wxWindow *parent, @@ -405,7 +399,7 @@ wxFindReplaceDialog::~wxFindReplaceDialog() delete m_impl; // prevent the base class dtor from trying to hide us! - m_isShown = FALSE; + m_isShown = false; // and from destroying our window [again] m_hWnd = (WXHWND)NULL; @@ -435,7 +429,7 @@ bool wxFindReplaceDialog::Show(bool show) if ( !wxWindowBase::Show(show) ) { // visibility status didn't change - return FALSE; + return false; } // do we already have the dialog window? @@ -444,16 +438,16 @@ bool wxFindReplaceDialog::Show(bool show) // yes, just use it (void)::ShowWindow(GetHwnd(), show ? SW_SHOW : SW_HIDE); - return TRUE; + return true; } if ( !show ) { // well, it doesn't exist which is as good as being hidden - return TRUE; + return true; } - wxCHECK_MSG( m_FindReplaceData, FALSE, _T("call Create() first!") ); + wxCHECK_MSG( m_FindReplaceData, false, _T("call Create() first!") ); wxASSERT_MSG( !m_impl, _T("why don't we have the window then?") ); @@ -483,7 +477,7 @@ bool wxFindReplaceDialog::Show(bool show) delete m_impl; m_impl = NULL; - return FALSE; + return false; } // subclass parent window in order to get FINDMSGSTRING message @@ -496,7 +490,7 @@ bool wxFindReplaceDialog::Show(bool show) m_hWnd = (WXHWND)hwnd; - return TRUE; + return true; } // ----------------------------------------------------------------------------