#endif
-#ifdef __OS2__
-
-#define INCL_BASE
-#include <os2.h>
-#ifndef __EMX__
-#include <direct.h>
-#endif
-#include <stdlib.h>
-#include <ctype.h>
-extern bool wxIsDriveAvailable(const wxString& dirName);
+#if defined(__OS2__) || defined(__DOS__)
+ #ifdef __OS2__
+ #define INCL_BASE
+ #include <os2.h>
+ #ifndef __EMX__
+ #include <direct.h>
+ #endif
+ #include <stdlib.h>
+ #include <ctype.h>
+ #endif
+ extern bool wxIsDriveAvailable(const wxString& dirName);
#endif // __OS2__
#if defined(__WXMAC__)
wxPROPERTY( DefaultPath , wxString , SetDefaultPath , GetDefaultPath , , 0 /*flags*/ , wxT("Helpstring") , wxT("group"))
wxPROPERTY( Filter , wxString , SetFilter , GetFilter ,, 0 /*flags*/ , wxT("Helpstring") , wxT("group") )
wxPROPERTY( DefaultFilter , int , SetFilterIndex, GetFilterIndex,, 0 /*flags*/ , wxT("Helpstring") , wxT("group") )
+ wxPROPERTY_FLAGS( WindowStyle, wxGenericDirCtrlStyle, long, SetWindowStyleFlag, GetWindowStyleFlag, , 0, wxT("Helpstring"), wxT("group") )
wxEND_PROPERTIES_TABLE()
wxBEGIN_HANDLERS_TABLE(wxGenericDirCtrl)
{
int style = wxDIR_FILES;
if (m_showHidden) style |= wxDIR_HIDDEN;
- if (d.GetFirst(& eachFilename, m_currentFilterStr, style))
+ // Process each filter (ex: "JPEG Files (*.jpg;*.jpeg)|*.jpg;*.jpeg")
+ wxStringTokenizer strTok;
+ wxString curFilter;
+ strTok.SetString(m_currentFilterStr,wxT(";"));
+ while(strTok.HasMoreTokens())
{
- do
+ curFilter = strTok.GetNextToken();
+ if (d.GetFirst(& eachFilename, m_currentFilterStr, style))
{
- if ((eachFilename != wxT(".")) && (eachFilename != wxT("..")))
+ do
{
- filenames.Add(eachFilename);
+ if ((eachFilename != wxT(".")) && (eachFilename != wxT("..")))
+ {
+ filenames.Add(eachFilename);
+ }
}
+ while (d.GetNext(& eachFilename));
}
- while (d.GetNext(& eachFilename));
}
}
filenames.Sort(wxDirCtrlStringCompareFunction);
wxIconLocation iconLoc;
wxIcon ic;
- if ( ft && ft->GetIcon(&iconLoc) )
+
{
- ic = wxIcon(iconLoc);
+ wxLogNull logNull;
+ if ( ft && ft->GetIcon(&iconLoc) )
+ {
+ ic = wxIcon(iconLoc);
+ }
}
delete ft;
wxBitmap bmp;
bmp.CopyFromIcon(ic);
+ if ( !bmp.Ok() )
+ {
+ int newid = file;
+ m_HashTable->Put(extension, new wxFileIconEntry(newid));
+ return newid;
+ }
+
int id = m_smallImageList->GetImageCount();
if ((bmp.GetWidth() == 16) && (bmp.GetHeight() == 16))
m_smallImageList->Add(bmp);