]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/fdrepdlg.cpp
in addition to key events, also prevent unhandled mouse events from propagating up...
[wxWidgets.git] / src / generic / fdrepdlg.cpp
index 7faeda83453ecead72464dd5ba17ddb264d6aa67..27289d6e37800d36df9c7e4f8916a7e15ac70e8c 100644 (file)
@@ -1,10 +1,10 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        src/generic/fdrepgg.cpp
+// Name:        src/generic/fdrepdlg.cpp
 // Purpose:     Find/Replace dialogs
 // Author:      Markus Greither and Vadim Zeitlin
 // Modified by:
 // Created:     05/25/01
-// RCS-ID:
+// RCS-ID:      $Id$
 // Copyright:   (c) wxWidgets team
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 // declarations
 // ============================================================================
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-    #pragma implementation "genericfdrepdlg.h"
-#endif
-
 // ----------------------------------------------------------------------------
 // headers
 // ----------------------------------------------------------------------------
@@ -41,6 +37,7 @@
     #include "wx/radiobox.h"
     #include "wx/stattext.h"
     #include "wx/textctrl.h"
+    #include "wx/settings.h"
 #endif
 
 #include "wx/fdrepdlg.h"
@@ -90,9 +87,12 @@ bool wxGenericFindReplaceDialog::Create(wxWindow *parent,
                                         const wxString& title,
                                         int style)
 {
+    parent = GetParentForModalDialog(parent, style);
+
     if ( !wxDialog::Create(parent, wxID_ANY, title,
                            wxDefaultPosition, wxDefaultSize,
-                           wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER | style) )
+                           wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER
+                           | style) )
     {
         return false;
     }
@@ -100,7 +100,9 @@ bool wxGenericFindReplaceDialog::Create(wxWindow *parent,
     SetData(data);
 
     wxCHECK_MSG( m_FindReplaceData, false,
-                 _T("can't create dialog without data") );
+                 wxT("can't create dialog without data") );
+
+    bool isPda = (wxSystemSettings::GetScreenType() <= wxSYS_SCREEN_PDA);
 
     wxBoxSizer *leftsizer = new wxBoxSizer( wxVERTICAL );
 
@@ -109,7 +111,7 @@ bool wxGenericFindReplaceDialog::Create(wxWindow *parent,
     sizer2Col->AddGrowableCol(2);
 
     sizer2Col->Add(new wxStaticText(this, wxID_ANY, _("Search for:"),
-                                    wxDefaultPosition, wxSize(80, wxDefaultSize.y)),
+                                    wxDefaultPosition, wxSize(80, wxDefaultCoord)),
                                     0,
                                     wxALIGN_CENTRE_VERTICAL | wxALIGN_RIGHT);
 
@@ -121,12 +123,12 @@ bool wxGenericFindReplaceDialog::Create(wxWindow *parent,
     if ( style & wxFR_REPLACEDIALOG )
     {
         sizer2Col->Add(new wxStaticText(this, wxID_ANY, _("Replace with:"),
-                                        wxDefaultPosition, wxSize(80, wxDefaultSize.y)),
+                                        wxDefaultPosition, wxSize(80, wxDefaultCoord)),
                                         0,
                                         wxALIGN_CENTRE_VERTICAL |
                                         wxALIGN_RIGHT | wxTOP, 5);
 
-        sizer2Col->Add(10, 0);
+        sizer2Col->Add(isPda ? 2 : 10, 0);
 
         m_textRepl = new wxTextCtrl(this, wxID_ANY,
                                     m_FindReplaceData->GetReplaceString());
@@ -136,7 +138,7 @@ bool wxGenericFindReplaceDialog::Create(wxWindow *parent,
 
     leftsizer->Add(sizer2Col, 0, wxEXPAND | wxALL, 5);
 
-    wxBoxSizer *optsizer = new wxBoxSizer( wxHORIZONTAL );
+    wxBoxSizer *optsizer = new wxBoxSizer( isPda ? wxVERTICAL : wxHORIZONTAL );
 
     wxBoxSizer *chksizer = new wxBoxSizer( wxVERTICAL);
 
@@ -149,19 +151,29 @@ bool wxGenericFindReplaceDialog::Create(wxWindow *parent,
     optsizer->Add(chksizer, 0, wxALL, 10);
 
     static const wxString searchDirections[] = {_("Up"), _("Down")};
+    int majorDimension = 0;
+    int rbStyle ;
+    if (isPda)
+        rbStyle = wxRA_SPECIFY_ROWS;
+    else
+        rbStyle = wxRA_SPECIFY_COLS;
+
     m_radioDir = new wxRadioBox(this, wxID_ANY, _("Search direction"),
                                 wxDefaultPosition, wxDefaultSize,
-                                WXSIZEOF(searchDirections), searchDirections);
+                                WXSIZEOF(searchDirections), searchDirections,
+                                majorDimension, rbStyle);
 
-    optsizer->Add(m_radioDir, 0, wxALL, 10);
+    optsizer->Add(m_radioDir, 0, wxALL, isPda ? 5 : 10);
 
     leftsizer->Add(optsizer);
 
     wxBoxSizer *bttnsizer = new wxBoxSizer(wxVERTICAL);
 
-    bttnsizer->Add(new wxButton(this, wxID_FIND, _("&Find")), 0, wxALL, 3);
+    wxButton* btn = new wxButton(this, wxID_FIND);
+    btn->SetDefault();
+    bttnsizer->Add(btn, 0, wxALL, 3);
 
-    bttnsizer->Add(new wxButton(this, wxID_CANCEL, _("&Cancel")), 0, wxALL, 3);
+    bttnsizer->Add(new wxButton(this, wxID_CANCEL), 0, wxALL, 3);
 
     if ( style & wxFR_REPLACEDIALOG )
     {
@@ -174,8 +186,8 @@ bool wxGenericFindReplaceDialog::Create(wxWindow *parent,
 
     wxBoxSizer *topsizer = new wxBoxSizer( wxHORIZONTAL );
 
-    topsizer->Add(leftsizer, 1, wxALL, 5);
-    topsizer->Add(bttnsizer, 0, wxALL, 5);
+    topsizer->Add(leftsizer, 1, wxALL, isPda ? 0 : 5);
+    topsizer->Add(bttnsizer, 0, wxALL, isPda ? 0 : 5);
 
     int flags = m_FindReplaceData->GetFlags();
 
@@ -279,4 +291,3 @@ void wxGenericFindReplaceDialog::OnCloseWindow(wxCloseEvent &)
 }
 
 #endif // wxUSE_FINDREPLDLG
-