From 099d4217df87a8b84e514c3c31550d21a8d2b8c2 Mon Sep 17 00:00:00 2001 From: Chris Elliott Date: Wed, 11 Dec 2002 15:10:23 +0000 Subject: [PATCH] fix for wxUniversal on win32 platforms git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18193 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/filedlg.h | 4 +++- src/generic/filedlgg.cpp | 21 ++++++++++++++++----- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/include/wx/filedlg.h b/include/wx/filedlg.h index e3564fb8c4..63e8842d50 100644 --- a/include/wx/filedlg.h +++ b/include/wx/filedlg.h @@ -14,7 +14,9 @@ enum wxCHANGE_DIR = 0x0040 }; -#if defined(__WXMSW__) +#if defined (__WXUNIVERSAL__) +#include "wx/generic/filedlgg.h" +#elif defined(__WXMSW__) #include "wx/msw/filedlg.h" #elif defined(__WXMOTIF__) #include "wx/motif/filedlg.h" diff --git a/src/generic/filedlgg.cpp b/src/generic/filedlgg.cpp index ba237ba999..1bb598fe6c 100644 --- a/src/generic/filedlgg.cpp +++ b/src/generic/filedlgg.cpp @@ -30,8 +30,8 @@ #if wxUSE_FILEDLG -#if !defined(__UNIX__) && !defined(__DOS__) -#error wxFileDialog currently only supports Unix and DOS +#if !defined(__UNIX__) && !defined(__DOS__) && !defined(__WIN32__) +#error wxFileDialog currently only supports Unix, win32 and DOS #endif #include "wx/checkbox.h" @@ -76,7 +76,9 @@ #endif #include +#if defined(__UNIX__) || defined(__DOS__) #include +#endif // ---------------------------------------------------------------------------- // constants @@ -364,7 +366,16 @@ int wxFileIconsTable::GetIconID(const wxString& extension, const wxString& mime) m_HashTable.Put(extension, new wxFileIconEntry(newid)); return newid; } +#ifdef __WIN32__ + wxBitmap myBitmap (ic.GetWidth(), ic.GetHeight() ) ; + wxMemoryDC memDC; + memDC.SelectObject( myBitmap ); + memDC.DrawIcon(ic,0,0); + memDC.SelectObject( wxNullBitmap ); + wxImage img = myBitmap.ConvertToImage(); +#else wxImage img = ic.ConvertToImage(); +#endif delete ft; int id = m_ImageList.GetImageCount(); @@ -396,7 +407,7 @@ int wxFileIconsTable::GetIconID(const wxString& extension, const wxString& mime) // ---------------------------------------------------------------------------- static -int ListCompare( long data1, long data2, long WXUNUSED(data) ) +int ListCompare( long data1, long data2, long WXUNUSED(data)) { wxFileData *fd1 = (wxFileData*)data1 ; wxFileData *fd2 = (wxFileData*)data2 ; @@ -788,7 +799,7 @@ void wxFileCtrl::UpdateFiles() } } - SortItems(ListCompare, 0); + SortItems((wxListCtrlCompare)ListCompare, 0); if ( my_style & wxLC_REPORT ) { @@ -851,7 +862,7 @@ void wxFileCtrl::MakeDir() if (id != -1) { - SortItems( ListCompare, 0 ); + SortItems( (wxListCtrlCompare) ListCompare, 0 ); id = FindItem( 0, (long)fd ); EnsureVisible( id ); EditLabel( id ); -- 2.45.2