]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/dirctrlg.cpp
added wxDateTime to the streamable custom types
[wxWidgets.git] / src / generic / dirctrlg.cpp
index 2389927c24fcb469f80e41476203177580cd4285..45e2d8f4cef83d1d3191f86d74af94037210722e 100644 (file)
@@ -9,7 +9,7 @@
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
 #pragma implementation "dirctrlg.h"
 #endif
 
@@ -47,6 +47,7 @@
 #include "wx/mimetype.h"
 #include "wx/image.h"
 #include "wx/choice.h"
+#include "wx/filedlg.h"  // for wxFileDialogBase::ParseWildcard
 
 #if wxUSE_STATLINE
     #include "wx/statline.h"
@@ -101,9 +102,6 @@ extern bool wxIsDriveAvailable(const wxString& dirName);
 #undef GetFirstChild
 #endif
 
-// declared in filedlg.h, defined in fldlgcmn.cpp
-extern int wxParseFileFilter(const wxString& filterStr, wxArrayString& descriptions, wxArrayString& filters);
-
 // ----------------------------------------------------------------------------
 // wxGetAvailableDrives, for WINDOWS, DOS, WXPM, MAC, UNIX (returns "/")
 // ----------------------------------------------------------------------------
@@ -192,7 +190,7 @@ size_t wxGetAvailableDrives(wxArrayString &paths, wxArrayString &names, wxArrayI
                 continue;
             }
             // add path separator at end if necessary
-            wxString path( thePath ) ;
+            wxString path( thePath , wxConvLocal) ;
             if (path.Last() != wxFILE_SEP_PATH) {
                 path += wxFILE_SEP_PATH;
             }
@@ -220,7 +218,7 @@ size_t wxGetAvailableDrives(wxArrayString &paths, wxArrayString &names, wxArrayI
                 CFRelease( cstr );
                 continue;
             }
-            wxString name( cstr );
+            wxString name( cstr , wxConvLocal );
             DisposePtr( cstr );
             CFRelease( cfstr );
 
@@ -432,6 +430,13 @@ bool wxDirItemData::HasFiles(const wxString& WXUNUSED(spec)) const
 
 IMPLEMENT_DYNAMIC_CLASS(wxGenericDirCtrl, wxControl)
 
+/*
+TODO PROPERTIES
+       defaultfolder string
+       filter string
+       (long) defaultfilter)
+*/
+
 BEGIN_EVENT_TABLE(wxGenericDirCtrl, wxControl)
   EVT_TREE_ITEM_EXPANDING     (-1, wxGenericDirCtrl::OnExpandItem)
   EVT_TREE_ITEM_COLLAPSED     (-1, wxGenericDirCtrl::OnCollapseItem)
@@ -653,7 +658,7 @@ void wxGenericDirCtrl::CollapseDir(wxTreeItemId parentId)
         return;
 
     data->m_isExpanded = FALSE;
-    long cookie;
+    wxTreeItemIdValue cookie;
     /* Workaround because DeleteChildren has disapeared (why?) and
      * CollapseAndReset doesn't work as advertised (deletes parent too) */
     child = m_treeCtrl->GetFirstChild(parentId, cookie);
@@ -830,7 +835,7 @@ wxTreeItemId wxGenericDirCtrl::FindChild(wxTreeItemId parentId, const wxString&
     path2.MakeLower();
 #endif
 
-    long cookie;
+    wxTreeItemIdValue cookie;
     wxTreeItemId childId = m_treeCtrl->GetFirstChild(parentId, cookie);
     while (childId.IsOk())
     {
@@ -892,7 +897,7 @@ bool wxGenericDirCtrl::ExpandPath(const wxString& path)
         if ((GetWindowStyle() & wxDIRCTRL_SELECT_FIRST) && data->m_isDir)
         {
             // Find the first file in this directory
-            long cookie;
+            wxTreeItemIdValue cookie;
             wxTreeItemId childId = m_treeCtrl->GetFirstChild(lastId, cookie);
             bool selectedChild = FALSE;
             while (childId.IsOk())
@@ -1046,7 +1051,7 @@ bool wxGenericDirCtrl::ExtractWildcard(const wxString& filterStr, int n, wxStrin
 
 int wxGenericDirCtrl::ParseFilter(const wxString& filterStr, wxArrayString& filters, wxArrayString& descriptions)
 {
-    return wxParseFileFilter(filterStr, descriptions, filters );
+    return wxFileDialogBase::ParseWildcard(filterStr, descriptions, filters );
 }
 
 void wxGenericDirCtrl::DoResize()