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
This commit is contained in:
Vadim Zeitlin
2009-01-24 14:04:25 +00:00
parent 9800347d77
commit d6dae1b443
5 changed files with 22 additions and 9 deletions

View File

@@ -122,7 +122,7 @@ public:
virtual bool SupportsExtraControl() const { return false; } virtual bool SupportsExtraControl() const { return false; }
bool SetExtraControlCreator(ExtraControlCreatorFunction WXUNUSED(c)); bool SetExtraControlCreator(ExtraControlCreatorFunction creator);
wxWindow *GetExtraControl() const { return m_extraControl; } wxWindow *GetExtraControl() const { return m_extraControl; }
// Utility functions // Utility functions

View File

@@ -34,8 +34,8 @@ public:
virtual void GetFilenames(wxArrayString& files) const; virtual void GetFilenames(wxArrayString& files) const;
#ifndef __WXWINCE__ #ifndef __WXWINCE__
virtual bool SupportsExtraControl() const { return true; } virtual bool SupportsExtraControl() const { return true; }
#endif // __WXWINCE__
void MSWOnInitDialogHook(WXHWND hwnd); void MSWOnInitDialogHook(WXHWND hwnd);
#endif // __WXWINCE__
virtual int ShowModal(); virtual int ShowModal();

View File

@@ -11,8 +11,6 @@
This class represents the file chooser dialog. 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. The path and filename are distinct elements of a full file pathname.
If path is wxEmptyString, the current directory will be used. If path is wxEmptyString, the current directory will be used.
If filename is wxEmptyString, no default filename will be supplied. If filename is wxEmptyString, no default filename will be supplied.
@@ -55,7 +53,7 @@
file(s) chosen by the user are. file(s) chosen by the user are.
@style{wxFD_PREVIEW} @style{wxFD_PREVIEW}
Show the preview of the selected files (currently only supported by Show the preview of the selected files (currently only supported by
wxGTK using GTK+ 2.4 or later). wxGTK).
@endStyleTable @endStyleTable
@library{wxcore} @library{wxcore}
@@ -113,6 +111,8 @@ public:
/** /**
If functions SetExtraControlCreator() and ShowModal() were called, If functions SetExtraControlCreator() and ShowModal() were called,
returns the extra window. Otherwise returns @NULL. returns the extra window. Otherwise returns @NULL.
@since 2.9.0
*/ */
wxWindow* GetExtraControl() const; wxWindow* GetExtraControl() const;
@@ -173,6 +173,13 @@ public:
*/ */
virtual void SetDirectory(const wxString& directory); 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 Customize file dialog by adding extra window, which is typically placed
below the list of files and above the buttons. 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) The @c creator function should take pointer to parent window (file dialog)
and should return a window allocated with operator new. 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. Sets the default filename.

View File

@@ -151,12 +151,12 @@ wxString wxFileDialogBase::AppendExtension(const wxString &filePath,
return filePath + ext; return filePath + ext;
} }
bool wxFileDialogBase::SetExtraControlCreator(ExtraControlCreatorFunction c) bool wxFileDialogBase::SetExtraControlCreator(ExtraControlCreatorFunction creator)
{ {
wxCHECK_MSG( !m_extraControlCreator, false, wxCHECK_MSG( !m_extraControlCreator, false,
"wxFileDialog::SetExtraControl() called second time" ); "wxFileDialog::SetExtraControl() called second time" );
m_extraControlCreator = c; m_extraControlCreator = creator;
return SupportsExtraControl(); return SupportsExtraControl();
} }

View File

@@ -86,6 +86,7 @@ wxFileDialogHookFunction(HWND hDlg,
{ {
switch ( iMsg ) switch ( iMsg )
{ {
#ifndef __WXWINCE__
case WM_INITDIALOG: case WM_INITDIALOG:
{ {
OPENFILENAME* ofn = reinterpret_cast<OPENFILENAME *>(lParam); OPENFILENAME* ofn = reinterpret_cast<OPENFILENAME *>(lParam);
@@ -93,6 +94,7 @@ wxFileDialogHookFunction(HWND hDlg,
->MSWOnInitDialogHook((WXHWND)hDlg); ->MSWOnInitDialogHook((WXHWND)hDlg);
} }
break; break;
#endif // __WXWINCE__
case WM_NOTIFY: case WM_NOTIFY:
{ {
@@ -368,6 +370,7 @@ static bool ShowCommFileDialog(OPENFILENAME *of, long style)
return true; return true;
} }
#ifndef __WXWINCE__
void wxFileDialog::MSWOnInitDialogHook(WXHWND hwnd) void wxFileDialog::MSWOnInitDialogHook(WXHWND hwnd)
{ {
SetHWND(hwnd); SetHWND(hwnd);
@@ -376,6 +379,7 @@ void wxFileDialog::MSWOnInitDialogHook(WXHWND hwnd)
SetHWND(NULL); SetHWND(NULL);
} }
#endif // __WXWINCE__
int wxFileDialog::ShowModal() int wxFileDialog::ShowModal()
{ {