From d6dae1b4432a3ecbf3ca8b983440728a46af8f20 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sat, 24 Jan 2009 14:04:25 +0000 Subject: [PATCH] minor fixes for custom controls support in wxFileDialog: slightly improve documentation, make variable names more clear and add more WinCE checks (closes #10416) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58353 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/filedlg.h | 2 +- include/wx/msw/filedlg.h | 2 +- interface/wx/filedlg.h | 19 ++++++++++++++----- src/common/fldlgcmn.cpp | 4 ++-- src/msw/filedlg.cpp | 4 ++++ 5 files changed, 22 insertions(+), 9 deletions(-) diff --git a/include/wx/filedlg.h b/include/wx/filedlg.h index 0ebe1f6a71..ed59dec238 100644 --- a/include/wx/filedlg.h +++ b/include/wx/filedlg.h @@ -122,7 +122,7 @@ public: virtual bool SupportsExtraControl() const { return false; } - bool SetExtraControlCreator(ExtraControlCreatorFunction WXUNUSED(c)); + bool SetExtraControlCreator(ExtraControlCreatorFunction creator); wxWindow *GetExtraControl() const { return m_extraControl; } // Utility functions diff --git a/include/wx/msw/filedlg.h b/include/wx/msw/filedlg.h index 0de223b292..62203364ae 100644 --- a/include/wx/msw/filedlg.h +++ b/include/wx/msw/filedlg.h @@ -34,8 +34,8 @@ public: virtual void GetFilenames(wxArrayString& files) const; #ifndef __WXWINCE__ virtual bool SupportsExtraControl() const { return true; } -#endif // __WXWINCE__ void MSWOnInitDialogHook(WXHWND hwnd); +#endif // __WXWINCE__ virtual int ShowModal(); diff --git a/interface/wx/filedlg.h b/interface/wx/filedlg.h index 450f333e7f..57f09528c3 100644 --- a/interface/wx/filedlg.h +++ b/interface/wx/filedlg.h @@ -11,8 +11,6 @@ This class represents the file chooser dialog. - It pops up a file selector box (native for Windows and GTK2.4+). - The path and filename are distinct elements of a full file pathname. If path is wxEmptyString, the current directory will be used. If filename is wxEmptyString, no default filename will be supplied. @@ -55,7 +53,7 @@ file(s) chosen by the user are. @style{wxFD_PREVIEW} Show the preview of the selected files (currently only supported by - wxGTK using GTK+ 2.4 or later). + wxGTK). @endStyleTable @library{wxcore} @@ -113,6 +111,8 @@ public: /** If functions SetExtraControlCreator() and ShowModal() were called, returns the extra window. Otherwise returns @NULL. + + @since 2.9.0 */ wxWindow* GetExtraControl() const; @@ -173,6 +173,13 @@ public: */ virtual void SetDirectory(const wxString& directory); + /** + The type of function used as an argument for SetExtraControlCreator(). + + @since 2.9.0 + */ + typedef wxWindow *(*ExtraControlCreatorFunction)(wxWindow*); + /** Customize file dialog by adding extra window, which is typically placed below the list of files and above the buttons. @@ -182,9 +189,11 @@ public: The @c creator function should take pointer to parent window (file dialog) and should return a window allocated with operator new. - Supported platforms: wxGTK, wxUniv. + Supported platforms: wxGTK, wxMSW, wxUniv. + + @since 2.9.0 */ - bool SetExtraControlCreator(ExtraControlCreatorFunction); + bool SetExtraControlCreator(ExtraControlCreatorFunction creator); /** Sets the default filename. diff --git a/src/common/fldlgcmn.cpp b/src/common/fldlgcmn.cpp index ab3908303e..e57a244cb3 100644 --- a/src/common/fldlgcmn.cpp +++ b/src/common/fldlgcmn.cpp @@ -151,12 +151,12 @@ wxString wxFileDialogBase::AppendExtension(const wxString &filePath, return filePath + ext; } -bool wxFileDialogBase::SetExtraControlCreator(ExtraControlCreatorFunction c) +bool wxFileDialogBase::SetExtraControlCreator(ExtraControlCreatorFunction creator) { wxCHECK_MSG( !m_extraControlCreator, false, "wxFileDialog::SetExtraControl() called second time" ); - m_extraControlCreator = c; + m_extraControlCreator = creator; return SupportsExtraControl(); } diff --git a/src/msw/filedlg.cpp b/src/msw/filedlg.cpp index 7b5ac99870..ae89ed5c05 100644 --- a/src/msw/filedlg.cpp +++ b/src/msw/filedlg.cpp @@ -86,6 +86,7 @@ wxFileDialogHookFunction(HWND hDlg, { switch ( iMsg ) { +#ifndef __WXWINCE__ case WM_INITDIALOG: { OPENFILENAME* ofn = reinterpret_cast(lParam); @@ -93,6 +94,7 @@ wxFileDialogHookFunction(HWND hDlg, ->MSWOnInitDialogHook((WXHWND)hDlg); } break; +#endif // __WXWINCE__ case WM_NOTIFY: { @@ -368,6 +370,7 @@ static bool ShowCommFileDialog(OPENFILENAME *of, long style) return true; } +#ifndef __WXWINCE__ void wxFileDialog::MSWOnInitDialogHook(WXHWND hwnd) { SetHWND(hwnd); @@ -376,6 +379,7 @@ void wxFileDialog::MSWOnInitDialogHook(WXHWND hwnd) SetHWND(NULL); } +#endif // __WXWINCE__ int wxFileDialog::ShowModal() {