]> git.saurik.com Git - wxWidgets.git/commitdiff
Added minimal file dialog for SmartPhone
authorJulian Smart <julian@anthemion.co.uk>
Sat, 19 Jul 2003 17:46:33 +0000 (17:46 +0000)
committerJulian Smart <julian@anthemion.co.uk>
Sat, 19 Jul 2003 17:46:33 +0000 (17:46 +0000)
Use wxSYSTEM_MENU to get X symbol on PocketPC

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22114 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/features.h
include/wx/msw/setup0.h
include/wx/msw/wince/setup.h
samples/minimal/minimal.cpp
src/common/cmndata.cpp
src/msw/colordlg.cpp
src/msw/filedlg.cpp
src/msw/wince/filedlgwce.cpp [new file with mode: 0644]

index 49deed180e524b909b4ef974a339e8f270b7b7af..4324e61fdeea5f5c21218c2a1e1d60b0bb58cd97 100644 (file)
     #undef wxHAS_CRASH_REPORT
 #endif
 
+// Hopefully we can emulate these dialogs in due
+// course
+#if wxUSE_SMARTPHONE
+
+#  ifdef wxUSE_COLOURDLG
+#  undef wxUSE_COLOURDLG
+#  define wxUSE_COLOURDLG 0
+#  endif
+
+#endif
+
+
 #endif // _WX_FEATURES_H_
 
index d130d0ca25e9e08beaa0c3a13f5ba87897bfcf7b..860e7d94ab11f0f2463866c1ba6d3cbf1989c715 100644 (file)
 // (notably, wxNotebook pages)
 #define wxUSE_UXTHEME_AUTO      1
 
+// Set to 1 to if you're developing for MS SmartPhone
+#define wxUSE_SMARTPHONE        0
+
 // ----------------------------------------------------------------------------
 // obsolete settings
 // ----------------------------------------------------------------------------
index d28de5227bd69184d1244b0542eb1982aa8da449..5371f8440876ee0572907b1fa80a6d4b08c753e6 100644 (file)
 // (notably, wxNotebook pages)
 #define wxUSE_UXTHEME_AUTO      0
 
+// Set to 1 to if you're developing for MS SmartPhone
+#define wxUSE_SMARTPHONE        0
+
 // ----------------------------------------------------------------------------
 // obsolete settings
 // ----------------------------------------------------------------------------
index d6ab0abbfee285a1c2522ba1ce0e650cfa6a3126..21de2655b9a3aa55082d6a00eec327bdad46f5e9 100644 (file)
@@ -122,7 +122,7 @@ bool MyApp::OnInit()
     // create the main application window
     MyFrame *frame = new MyFrame(_T("Minimal wxWindows App"),
 #ifdef __WXWINCE__
-        wxPoint(0, 0), wxDefaultSize, wxNO_BORDER);
+        wxPoint(0, 0), wxDefaultSize, wxNO_BORDER|wxSYSTEM_MENU);
 #else
         wxPoint(50, 50), wxSize(450, 340));
 #endif
index 6e09c357b50f09da02a82dda181ca7809b4d120d..f9ecd46ff932b646561caf2603c4af2555e0c782 100644 (file)
@@ -51,7 +51,7 @@
     #include <windowsx.h>
     #include "wx/msw/private.h"
 
-    #ifdef __WXWINCE__
+    #if defined(__WXWINCE__) && !wxUSE_SMARTPHONE
         #include <commdlg.h>
     #endif
 
index 3e9571bc9e4f9750f05b012a0d7ebfbd3c8a7957..e3a124210cb28b57514dba32015cd570be147ad1 100644 (file)
@@ -42,7 +42,7 @@
     #include "wx/msgdlg.h"
 #endif
 
-#if wxUSE_COLOURDLG
+#if wxUSE_COLOURDLG && !wxUSE_SMARTPHONE
 
 #include "wx/msw/private.h"
 #include "wx/colordlg.h"
index bca53ff1a50e34d0529ecb2ff06182f6dcdcd2cb..017b3fc9817ea8d48d291074c324bdb7c9e5c354 100644 (file)
@@ -28,7 +28,7 @@
     #pragma hdrstop
 #endif
 
-#if wxUSE_FILEDLG
+#if wxUSE_FILEDLG && !wxUSE_SMARTPHONE
 
 #ifndef WX_PRECOMP
     #include "wx/utils.h"
diff --git a/src/msw/wince/filedlgwce.cpp b/src/msw/wince/filedlgwce.cpp
new file mode 100644 (file)
index 0000000..218f15e
--- /dev/null
@@ -0,0 +1,134 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        src/msw/wince/filedlgwce.cpp
+// Purpose:     wxFileDialog for WinCE (SmartPhone)
+// Author:      Julian Smart
+// Modified by:
+// Created:     01/02/97
+// RCS-ID:      $Id$
+// Copyright:   (c) Julian Smart
+// Licence:     wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+// ============================================================================
+// declarations
+// ============================================================================
+
+// ----------------------------------------------------------------------------
+// headers
+// ----------------------------------------------------------------------------
+
+#ifdef __GNUG__
+    #pragma implementation "filedlg.h"
+#endif
+
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+    #pragma hdrstop
+#endif
+
+// Only use this for MS SmartPhone. Use standard file dialog
+// for Pocket PC.
+
+#if wxUSE_FILEDLG && wxUSE_SMARTPHONE
+
+#ifndef WX_PRECOMP
+    #include "wx/utils.h"
+    #include "wx/msgdlg.h"
+    #include "wx/dialog.h"
+    #include "wx/filedlg.h"
+    #include "wx/filefn.h"
+    #include "wx/intl.h"
+    #include "wx/log.h"
+    #include "wx/app.h"
+#endif
+
+#include "wx/msw/private.h"
+
+#include <stdlib.h>
+#include <string.h>
+
+#include "wx/filename.h"
+
+// ============================================================================
+// implementation
+// ============================================================================
+
+// ----------------------------------------------------------------------------
+// wxWin macros
+// ----------------------------------------------------------------------------
+
+IMPLEMENT_CLASS(wxFileDialog, wxDialog)
+
+// ----------------------------------------------------------------------------
+// wxFileDialog
+// ----------------------------------------------------------------------------
+
+wxFileDialog::wxFileDialog(wxWindow *parent,
+                           const wxString& message,
+                           const wxString& defaultDir,
+                           const wxString& defaultFileName,
+                           const wxString& wildCard,
+                           long style,
+                           const wxPoint& WXUNUSED(pos))
+{
+    m_message = message;
+    m_dialogStyle = style;
+    if ( ( m_dialogStyle & wxMULTIPLE ) && ( m_dialogStyle & wxSAVE ) )
+        m_dialogStyle &= ~wxMULTIPLE;
+    m_parent = parent;
+    m_path = wxEmptyString;
+    m_fileName = defaultFileName;
+    m_dir = defaultDir;
+    m_wildCard = wildCard;
+    m_filterIndex = 0;
+}
+
+void wxFileDialog::GetPaths(wxArrayString& paths) const
+{
+    paths.Empty();
+
+    wxString dir(m_dir);
+    if ( m_dir.Last() != _T('\\') )
+        dir += _T('\\');
+
+    size_t count = m_fileNames.GetCount();
+    for ( size_t n = 0; n < count; n++ )
+    {
+        if (wxFileName(m_fileNames[n]).IsAbsolute())
+            paths.Add(m_fileNames[n]);
+        else
+            paths.Add(dir + m_fileNames[n]);
+    }
+}
+
+void wxFileDialog::SetPath(const wxString& path)
+{
+    wxString ext;
+    wxSplitPath(path, &m_dir, &m_fileName, &ext);
+    if ( !ext.empty() )
+        m_fileName << _T('.') << ext;
+}
+
+int wxFileDialog::ShowModal()
+{
+    wxWindow* parentWindow = GetParent();
+    if (!parentWindow)
+        parentWindow = wxTheApp->GetTopWindow();
+    
+    wxString str = wxGetTextFromUser(m_message, _("File"), m_fileName, parentWindow);
+    if (str)
+    {
+        m_fileName = str;
+        m_fileNames.Add(str);
+        return wxID_OK;
+    }
+    else
+    {
+        return wxID_CANCEL;
+    }
+}
+
+#endif // wxUSE_FILEDLG
+