]> git.saurik.com Git - wxWidgets.git/blobdiff - src/palmos/dialog.cpp
Auto complete file names in the text controls of wx{File,Dir}PickerCtrl.
[wxWidgets.git] / src / palmos / dialog.cpp
index 0c869da0c6ee7b581475c63d55c7b1991e6a6f33..622f6b93611282500318787b7081baa6deca740e 100644 (file)
@@ -1,10 +1,10 @@
 /////////////////////////////////////////////////////////////////////////////
 // Name:        src/palmos/dialog.cpp
 // Purpose:     wxDialog class
-// Author:      William Osborne
+// Author:      William Osborne - minimal working wxPalmOS port
 // Modified by:
 // Created:     10/12/04
-// RCS-ID:      $Id
+// RCS-ID:      $Id$
 // Copyright:   (c) William Osborne
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 // headers
 // ----------------------------------------------------------------------------
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-    #pragma implementation "dialog.h"
-#endif
-
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
@@ -28,8 +24,9 @@
     #pragma hdrstop
 #endif
 
+#include "wx/dialog.h"
+
 #ifndef WX_PRECOMP
-    #include "wx/dialog.h"
     #include "wx/utils.h"
     #include "wx/frame.h"
     #include "wx/app.h"
     #include "wx/log.h"
 #endif
 
-#include "wx/log.h"
 #include "wx/evtloop.h"
-#include "wx/ptr_scpd.h"
+#include "wx/scopedptr.h"
 
 // ----------------------------------------------------------------------------
 // wxWin macros
 // ----------------------------------------------------------------------------
 
-#if wxUSE_EXTENDED_RTTI
-WX_DEFINE_FLAGS( wxDialogStyle )
-
-wxBEGIN_FLAGS( wxDialogStyle )
-    // new style border flags, we put them first to
-    // use them for streaming out
-    wxFLAGS_MEMBER(wxBORDER_SIMPLE)
-    wxFLAGS_MEMBER(wxBORDER_SUNKEN)
-    wxFLAGS_MEMBER(wxBORDER_DOUBLE)
-    wxFLAGS_MEMBER(wxBORDER_RAISED)
-    wxFLAGS_MEMBER(wxBORDER_STATIC)
-    wxFLAGS_MEMBER(wxBORDER_NONE)
-
-    // old style border flags
-    wxFLAGS_MEMBER(wxSIMPLE_BORDER)
-    wxFLAGS_MEMBER(wxSUNKEN_BORDER)
-    wxFLAGS_MEMBER(wxDOUBLE_BORDER)
-    wxFLAGS_MEMBER(wxRAISED_BORDER)
-    wxFLAGS_MEMBER(wxSTATIC_BORDER)
-    wxFLAGS_MEMBER(wxNO_BORDER)
-
-    // standard window styles
-    wxFLAGS_MEMBER(wxTAB_TRAVERSAL)
-    wxFLAGS_MEMBER(wxCLIP_CHILDREN)
-
-    // dialog styles
-    wxFLAGS_MEMBER(wxWS_EX_VALIDATE_RECURSIVELY)
-    wxFLAGS_MEMBER(wxSTAY_ON_TOP)
-    wxFLAGS_MEMBER(wxCAPTION)
-    wxFLAGS_MEMBER(wxTHICK_FRAME)
-    wxFLAGS_MEMBER(wxSYSTEM_MENU)
-    wxFLAGS_MEMBER(wxRESIZE_BORDER)
-    wxFLAGS_MEMBER(wxRESIZE_BOX)
-    wxFLAGS_MEMBER(wxCLOSE_BOX)
-    wxFLAGS_MEMBER(wxMAXIMIZE_BOX)
-    wxFLAGS_MEMBER(wxMINIMIZE_BOX)
-wxEND_FLAGS( wxDialogStyle )
-
-IMPLEMENT_DYNAMIC_CLASS_XTI(wxDialog, wxTopLevelWindow,"wx/dialog.h")
-
-wxBEGIN_PROPERTIES_TABLE(wxDialog)
-    wxPROPERTY( Title, wxString, SetTitle, GetTitle, wxString() , 0 /*flags*/ , wxT("Helpstring") , wxT("group"))
-    wxPROPERTY_FLAGS( WindowStyle , wxDialogStyle , long , SetWindowStyleFlag , GetWindowStyleFlag , EMPTY_MACROVALUE , 0 /*flags*/ , wxT("Helpstring") , wxT("group")) // style
-wxEND_PROPERTIES_TABLE()
-
-wxBEGIN_HANDLERS_TABLE(wxDialog)
-wxEND_HANDLERS_TABLE()
-
-wxCONSTRUCTOR_6( wxDialog , wxWindow* , Parent , wxWindowID , Id , wxString , Title , wxPoint , Position , wxSize , Size , long , WindowStyle)
-
-#else
-IMPLEMENT_DYNAMIC_CLASS(wxDialog, wxTopLevelWindow)
-#endif
-
-BEGIN_EVENT_TABLE(wxDialog, wxDialogBase)
-    EVT_BUTTON(wxID_OK, wxDialog::OnOK)
-    EVT_BUTTON(wxID_APPLY, wxDialog::OnApply)
-    EVT_BUTTON(wxID_CANCEL, wxDialog::OnCancel)
-
-    EVT_SYS_COLOUR_CHANGED(wxDialog::OnSysColourChanged)
-
-    EVT_CLOSE(wxDialog::OnCloseWindow)
-END_EVENT_TABLE()
-
 // ----------------------------------------------------------------------------
 // wxDialogModalData
 // ----------------------------------------------------------------------------
@@ -157,47 +89,26 @@ bool wxDialog::Create(wxWindow *parent,
                       long style,
                       const wxString& name)
 {
-    return false;
-}
-
-// deprecated ctor
-wxDialog::wxDialog(wxWindow *parent,
-                   const wxString& title,
-                   bool WXUNUSED(modal),
-                   int x,
-                   int y,
-                   int w,
-                   int h,
-                   long style,
-                   const wxString& name)
-{
-}
-
-void wxDialog::SetModal(bool WXUNUSED(flag))
-{
+    if ( !wxTopLevelWindow::Create(parent, id, title, pos, size, style, name) )
+        return false;
+    return true;
 }
 
 wxDialog::~wxDialog()
 {
+    Show (false);
 }
 
 // ----------------------------------------------------------------------------
 // showing the dialogs
 // ----------------------------------------------------------------------------
 
-bool wxDialog::IsModalShowing() const
-{
-    return false;
-}
-
-wxWindow *wxDialog::FindSuitableParent() const
-{
-    return NULL;
-}
-
 bool wxDialog::Show(bool show)
 {
-    return false;
+    if (show && CanDoLayoutAdaptation())
+        DoLayoutAdaptation();
+
+    return wxTopLevelWindowPalm::Show (show);
 }
 
 void wxDialog::Raise()
@@ -207,6 +118,11 @@ void wxDialog::Raise()
 // show dialog modally
 int wxDialog::ShowModal()
 {
+    Show (true);
+
+    if (errNone == FrmDoDialog ((FormType *)wxTopLevelWindow::GetForm())) {
+        return 0;
+    }
     return -1;
 }
 
@@ -214,52 +130,3 @@ void wxDialog::EndModal(int retCode)
 {
 }
 
-// ----------------------------------------------------------------------------
-// wxWin event handlers
-// ----------------------------------------------------------------------------
-
-// Standard buttons
-void wxDialog::OnOK(wxCommandEvent& WXUNUSED(event))
-{
-}
-
-void wxDialog::OnApply(wxCommandEvent& WXUNUSED(event))
-{
-}
-
-void wxDialog::OnCancel(wxCommandEvent& WXUNUSED(event))
-{
-}
-
-void wxDialog::OnCloseWindow(wxCloseEvent& WXUNUSED(event))
-{
-}
-
-void wxDialog::OnSysColourChanged(wxSysColourChangedEvent& WXUNUSED(event))
-{
-}
-
-// ---------------------------------------------------------------------------
-// dialog window proc
-// ---------------------------------------------------------------------------
-
-WXLRESULT wxDialog::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lParam)
-{
-    return false;
-}
-
-#if wxUSE_CTL3D
-
-// Define for each class of dialog and control
-WXHBRUSH wxDialog::OnCtlColor(WXHDC WXUNUSED(pDC),
-                              WXHWND WXUNUSED(pWnd),
-                              WXUINT WXUNUSED(nCtlColor),
-                              WXUINT message,
-                              WXWPARAM wParam,
-                              WXLPARAM lParam)
-{
-    return (WXHBRUSH)Ctl3dCtlColorEx(message, wParam, lParam);
-}
-
-#endif // wxUSE_CTL3D
-