]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/dirdlgg.cpp
cell attributes added (doesn't quite work, work in progress, beware, don't use, ...
[wxWidgets.git] / src / generic / dirdlgg.cpp
index 706a6320c94d88836d85366b4024258c5ecb9064..ba118204be019390aff54238d03caadd9e1bcac4 100644 (file)
@@ -50,6 +50,7 @@
 #undef GetFirstChild
 #endif
 
+#ifndef __WXMSW__
 /* XPM */
 static char * icon1_xpm[] = {
 /* width height ncolors chars_per_pixel */
@@ -108,6 +109,8 @@ static char * icon2_xpm[] = {
 "                ",
 "                "};
 
+#endif // !wxMSW
+
 static const int ID_DIRCTRL = 1000;
 static const int ID_TEXTCTRL = 1001;
 static const int ID_OK = 1002;
@@ -143,7 +146,7 @@ void wxDirItemData::SetNewDirName( wxString path )
 
 bool wxDirItemData::HasSubDirs()
 {
-    wxString search = m_path + "/*";
+    wxString search = m_path + wxT("/*");
     wxLogNull log;
     wxString path = wxFindFirstFile( search, wxDIR );
     return (bool)(!path.IsNull());
@@ -222,11 +225,12 @@ void wxDirCtrl::CreateItems(const wxTreeItemId &parent)
 
     for (unsigned int i=0; i<m_paths.Count(); i++)
     {
-  dir_item = new wxDirItemData(m_paths[i],m_names[i]);
+        dir_item = new wxDirItemData(m_paths[i],m_names[i]);
 #ifdef __WXMSW__
-  id = AppendItem( parent, m_names[i], -1, -1, dir_item);
+        id = AppendItem( parent, m_names[i], -1, -1, dir_item);
 #else
-  id = AppendItem( parent, m_names[i], 0, 1, dir_item);
+        id = AppendItem( parent, m_names[i], 0, -1, dir_item);
+       SetItemImage( id, 1, wxTreeItemIcon_Expanded );
 #endif
         if (dir_item->m_hasSubDirs) SetItemHasChildren(id);
     }
@@ -310,7 +314,11 @@ void wxDirCtrl::OnExpandItem(wxTreeEvent &event)
 
     m_paths.Clear();
     m_names.Clear();
+#ifdef __WXMSW__
+    search = data->m_path + "\\*.*";
+#else
     search = data->m_path + "/*";
+#endif
     for (path = wxFindFirstFile( search, wxDIR ); !path.IsNull();
        path=wxFindNextFile() )
     {
@@ -352,11 +360,7 @@ void wxDirCtrl::OnCollapseItem(wxTreeEvent &event )
 //-----------------------------------------------------------------------------
 
 
-#if !USE_SHARED_LIBRARY
-IMPLEMENT_CLASS(wxDirDialog, wxDialog)
-#else
 IMPLEMENT_DYNAMIC_CLASS( wxDirDialog, wxDialog )
-#endif
 
 BEGIN_EVENT_TABLE( wxDirDialog, wxDialog )
   EVT_TREE_KEY_DOWN        (ID_DIRCTRL,   wxDirDialog::OnTreeKeyDown)
@@ -513,7 +517,7 @@ void wxDirDialog::OnNew( wxCommandEvent& WXUNUSED(event) )
   do {
             new_name = wxT("NewName");
       wxString num;
-      num.Printf( "%d", i );
+      num.Printf( wxT("%d"), i );
       new_name += num;
 
             path = data->m_path;