]> git.saurik.com Git - wxWidgets.git/blobdiff - src/os2/filedlg.cpp
Add missing WXK constants for the control keys
[wxWidgets.git] / src / os2 / filedlg.cpp
index c7e65a98a02a7348bfb92b70a37876ff41b92705..f4fc9da6f11269bc69734045a1ca7ed63b9fb494 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
 /////////////////////////////////////////////////////////////////////////////
-// Name:        filedlg.cpp
+// Name:        src/os2/filedlg.cpp
 // Purpose:     wxFileDialog
 // Author:      David Webster
 // Modified by:
 // Purpose:     wxFileDialog
 // Author:      David Webster
 // Modified by:
     #pragma hdrstop
 #endif
 
     #pragma hdrstop
 #endif
 
+#if wxUSE_FILEDLG
+
+#include "wx/filedlg.h"
+
 #ifndef WX_PRECOMP
     #include "wx/utils.h"
     #include "wx/msgdlg.h"
 #ifndef WX_PRECOMP
     #include "wx/utils.h"
     #include "wx/msgdlg.h"
-    #include "wx/filedlg.h"
+    #include "wx/filename.h"
     #include "wx/intl.h"
     #include "wx/log.h"
     #include "wx/app.h"
     #include "wx/intl.h"
     #include "wx/log.h"
     #include "wx/app.h"
@@ -55,6 +59,7 @@
 #ifndef MAXEXT
 # define MAXEXT                         5
 #endif
 #ifndef MAXEXT
 # define MAXEXT                         5
 #endif
+
 IMPLEMENT_CLASS(wxFileDialog, wxFileDialogBase)
 
 // ----------------------------------------------------------------------------
 IMPLEMENT_CLASS(wxFileDialog, wxFileDialogBase)
 
 // ----------------------------------------------------------------------------
@@ -68,13 +73,14 @@ wxFileDialog::wxFileDialog (
 , const wxString&                   rsDefaultFileName
 , const wxString&                   rsWildCard
 , long                              lStyle
 , const wxString&                   rsDefaultFileName
 , const wxString&                   rsWildCard
 , long                              lStyle
-, const wxPoint&                    rPos
+, const wxPoint&                    rPos,
+  const wxSize& sz,
+  const wxString& name
 )
 )
-    :wxFileDialogBase(pParent, rsMessage, rsDefaultDir, rsDefaultFileName, rsWildCard, lStyle, rPos)
+    :wxFileDialogBase(pParent, rsMessage, rsDefaultDir, rsDefaultFileName, rsWildCard, lStyle, rPos, sz, name)
 
 {
 
 {
-    if ((m_dialogStyle & wxMULTIPLE) && (m_dialogStyle & wxSAVE))
-        m_dialogStyle &= ~wxMULTIPLE;
+    // NB: all style checks are done by wxFileDialogBase::Create
 
     m_filterIndex = 1;
 } // end of wxFileDialog::wxFileDialog
 
     m_filterIndex = 1;
 } // end of wxFileDialog::wxFileDialog
@@ -87,8 +93,8 @@ void wxFileDialog::GetPaths (
     size_t                          nCount = m_fileNames.GetCount();
 
     rasPaths.Empty();
     size_t                          nCount = m_fileNames.GetCount();
 
     rasPaths.Empty();
-    if (m_dir.Last() != _T('\\'))
-        sDir += _T('\\');
+    if (m_dir.Last() != wxT('\\'))
+        sDir += wxT('\\');
 
     for ( size_t n = 0; n < nCount; n++ )
     {
 
     for ( size_t n = 0; n < nCount; n++ )
     {
@@ -121,19 +127,14 @@ int wxFileDialog::ShowModal()
     *zFileNameBuffer = wxT('\0');
     *zTitleBuffer    = wxT('\0');
 
     *zFileNameBuffer = wxT('\0');
     *zTitleBuffer    = wxT('\0');
 
-    if (m_dialogStyle & wxSAVE)
+    if (m_windowStyle & wxFD_SAVE)
         lFlags = FDS_SAVEAS_DIALOG;
     else
         lFlags = FDS_OPEN_DIALOG;
 
         lFlags = FDS_SAVEAS_DIALOG;
     else
         lFlags = FDS_OPEN_DIALOG;
 
-#if WXWIN_COMPATIBILITY_2_4
-    if (m_dialogStyle & wxHIDE_READONLY)
+    if (m_windowStyle & wxFD_SAVE)
         lFlags |= FDS_SAVEAS_DIALOG;
         lFlags |= FDS_SAVEAS_DIALOG;
-#endif
-
-    if (m_dialogStyle & wxSAVE)
-        lFlags |= FDS_SAVEAS_DIALOG;
-    if (m_dialogStyle & wxMULTIPLE )
+    if (m_windowStyle & wxFD_MULTIPLE)
         lFlags |= FDS_OPEN_DIALOG | FDS_MULTIPLESEL;
 
     vFileDlg.cbSize = sizeof(FILEDLG);
         lFlags |= FDS_OPEN_DIALOG | FDS_MULTIPLESEL;
 
     vFileDlg.cbSize = sizeof(FILEDLG);
@@ -152,21 +153,21 @@ int wxFileDialog::ShowModal()
 
         switch (ch)
         {
 
         switch (ch)
         {
-            case _T('/'):
+            case wxT('/'):
                 //
                 // Convert to backslash
                 //
                 //
                 // Convert to backslash
                 //
-                ch = _T('\\');
+                ch = wxT('\\');
 
                 //
                 // Fall through
                 //
 
                 //
                 // Fall through
                 //
-            case _T('\\'):
+            case wxT('\\'):
                 while (i < nLen - 1)
                 {
                     wxChar          chNext = m_dir[i + 1];
 
                 while (i < nLen - 1)
                 {
                     wxChar          chNext = m_dir[i + 1];
 
-                    if (chNext != _T('\\') && chNext != _T('/'))
+                    if (chNext != wxT('\\') && chNext != wxT('/'))
                         break;
 
                     //
                         break;
 
                     //
@@ -193,7 +194,7 @@ int wxFileDialog::ShowModal()
     else
         sTheFilter = m_wildCard;
 
     else
         sTheFilter = m_wildCard;
 
-    wxStrtok((wxChar*)sTheFilter.c_str(), wxT("|"), &pzFilterBuffer);
+    wxStrtok(sTheFilter.wchar_str(), wxT("|"), &pzFilterBuffer);
     while(pzFilterBuffer != NULL)
     {
         if (nCount > 0 && !(nCount % 2))
     while(pzFilterBuffer != NULL)
     {
         if (nCount > 0 && !(nCount % 2))
@@ -207,7 +208,7 @@ int wxFileDialog::ShowModal()
     }
     if (nCount == 0)
         sDir += m_fileName;
     }
     if (nCount == 0)
         sDir += m_fileName;
-    if (sDir.IsEmpty())
+    if (sDir.empty())
         sDir = wxT("*.*");
     wxStrcpy((wxChar*)vFileDlg.szFullFile, sDir);
     sFilterBuffer = sDir;
         sDir = wxT("*.*");
     wxStrcpy((wxChar*)vFileDlg.szFullFile, sDir);
     sFilterBuffer = sDir;
@@ -219,7 +220,7 @@ int wxFileDialog::ShowModal()
     if (hWnd && vFileDlg.lReturn == DID_OK)
     {
         m_fileNames.Empty();
     if (hWnd && vFileDlg.lReturn == DID_OK)
     {
         m_fileNames.Empty();
-        if ((m_dialogStyle & wxMULTIPLE ) && vFileDlg.ulFQFCount > 1)
+        if ((m_windowStyle & wxFD_MULTIPLE ) && vFileDlg.ulFQFCount > 1)
         {
             for (int i = 0; i < (int)vFileDlg.ulFQFCount; i++)
             {
         {
             for (int i = 0; i < (int)vFileDlg.ulFQFCount; i++)
             {
@@ -233,7 +234,7 @@ int wxFileDialog::ShowModal()
             }
             ::WinFreeFileDlgList(vFileDlg.papszFQFilename);
         }
             }
             ::WinFreeFileDlgList(vFileDlg.papszFQFilename);
         }
-        else if (!(m_dialogStyle & wxSAVE))
+        else if (!(m_windowStyle & wxFD_SAVE))
         {
             m_path = (wxChar*)vFileDlg.szFullFile;
             m_fileName = wxFileNameFromPath(wxString((const wxChar*)vFileDlg.szFullFile));
         {
             m_path = (wxChar*)vFileDlg.szFullFile;
             m_fileName = wxFileNameFromPath(wxString((const wxChar*)vFileDlg.szFullFile));
@@ -248,12 +249,12 @@ int wxFileDialog::ShowModal()
             int                     nIdx = wxStrlen(zFileNameBuffer) - 1;
             wxString                sExt;
 
             int                     nIdx = wxStrlen(zFileNameBuffer) - 1;
             wxString                sExt;
 
-            wxSplitPath( zFileNameBuffer
-                        ,&m_path
-                        ,&m_fileName
-                        ,&sExt
-                       );
-            if (zFileNameBuffer[nIdx] == wxT('.') || sExt.IsEmpty())
+            wxFileName::SplitPath( zFileNameBuffer
+                                    ,&m_path
+                                    ,&m_fileName
+                                    ,&sExt
+                                  );
+            if (zFileNameBuffer[nIdx] == wxT('.') || sExt.empty())
             {
                 zFileNameBuffer[nIdx] = wxT('\0');
 
             {
                 zFileNameBuffer[nIdx] = wxT('\0');
 
@@ -296,10 +297,10 @@ int wxFileDialog::ShowModal()
             m_dir = wxPathOnly((const wxChar*)vFileDlg.szFullFile);
 
             //
             m_dir = wxPathOnly((const wxChar*)vFileDlg.szFullFile);
 
             //
-            // === Simulating the wxOVERWRITE_PROMPT >>============================
+            // === Simulating the wxFD_OVERWRITE_PROMPT >>============================
             //
             //
-            if ((m_dialogStyle & wxOVERWRITE_PROMPT) &&
-                (m_dialogStyle & wxSAVE) &&
+            if ((m_windowStyle & wxFD_OVERWRITE_PROMPT) &&
+                (m_windowStyle & wxFD_SAVE) &&
                 (wxFileExists(m_path.c_str())))
             {
                 wxString            sMessageText;
                 (wxFileExists(m_path.c_str())))
             {
                 wxString            sMessageText;
@@ -321,3 +322,4 @@ int wxFileDialog::ShowModal()
     return wxID_CANCEL;
 } // end of wxFileDialog::ShowModal
 
     return wxID_CANCEL;
 } // end of wxFileDialog::ShowModal
 
+#endif // wxUSE_FILEDLG