Applied patch [ 710608 ] wxImage::GetImageExtWildcard for image load/save dialogs.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20824 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart 2003-06-01 16:10:17 +00:00
parent b1b3ddd840
commit 939fadc8aa
3 changed files with 44 additions and 1 deletions

View File

@ -29,7 +29,7 @@ alpha value with \helpref{HasAlpha}{wximagehasalpha}. In fact, currently only
images loaded from PNG files with transparency information will have alpha
channel but support for it will be added to the other formats as well (as well
as support for saving images with alpha channel which is not still implemented
neither).
either).
\wxheading{Available image handlers}
@ -355,6 +355,29 @@ A pointer to the handler if found, NULL otherwise.
\helpref{wxImageHandler}{wximagehandler}
\membersection{wxImage::GetImageExtWildcard}
\func{static wxString}{GetImageExtWildcard}{\void}
Iterates all registered wxImageHandler objects, and returns a string containing file extension masks
suitable for passing to file open/save dialog boxes.
\wxheading{Return value}
The format of the returned string is "(*.ext1;*.ext2)|*.ext1;*.ext2".
It is usually a good idea to prepend a description before passing the result to the dialog.
Example:
\begin{verbatim}
wxFileDialog FileDlg( this, "Choose Image", ::wxGetWorkingDirectory(), "", _("Image Files ") + wxImage::GetImageExtWildcard(), wxOPEN );
\end{verbatim}
\wxheading{See also}
\helpref{wxImageHandler}{wximagehandler}
\membersection{wxImage::GetAlpha}\label{wximagegetalpha}
\constfunc{unsigned char}{GetAlpha}{\param{int}{ x}, \param{int}{ y}}

View File

@ -306,6 +306,8 @@ public:
static wxImageHandler *FindHandler( long imageType );
static wxImageHandler *FindHandlerMime( const wxString& mimetype );
static wxString GetImageExtWildcard();
static void CleanUpHandlers();
static void InitStandardHandlers();

View File

@ -1390,6 +1390,24 @@ void wxImage::CleanUpHandlers()
}
wxString wxImage::GetImageExtWildcard()
{
wxString fmts;
wxList& Handlers = wxImage::GetHandlers();
wxNode* Node = Handlers.GetFirst();
while ( Node )
{
wxImageHandler* Handler = (wxImageHandler*)Node->GetData();
fmts += wxT("*.") + Handler->GetExtension();
Node = Node->GetNext();
if ( Node ) fmts += wxT(";");
}
return wxT("(") + fmts + wxT(")|") + fmts;
}
//-----------------------------------------------------------------------------
// wxImageHandler
//-----------------------------------------------------------------------------