SVN Commit by dpage: r4744 - in trunk/pgadmin3/src: ctl include/ctl

Поиск
Список
Период
Сортировка
От svn@pgadmin.org
Тема SVN Commit by dpage: r4744 - in trunk/pgadmin3/src: ctl include/ctl
Дата
Msg-id 200511162157.jAGLvSh9011580@developer.pgadmin.org
обсуждение исходный текст
Ответы Re: SVN Commit by dpage: r4744 - in trunk/pgadmin3/src:  (Andreas Pflug <pgadmin@pse-consulting.de>)
Список pgadmin-hackers
Author: dpage
Date: 2005-11-16 21:57:28 +0000 (Wed, 16 Nov 2005)
New Revision: 4744

Modified:
   trunk/pgadmin3/src/ctl/ctlSQLBox.cpp
   trunk/pgadmin3/src/include/ctl/ctlSQLBox.h
Log:
Swap between Find/Replace dialogues correctly on non-windows platforms properly. Looks like we might have to live with
slightlyodd behaviour on Windows due to the design of wx :-( 


Modified: trunk/pgadmin3/src/ctl/ctlSQLBox.cpp
===================================================================
--- trunk/pgadmin3/src/ctl/ctlSQLBox.cpp    2005-11-12 19:28:35 UTC (rev 4743)
+++ trunk/pgadmin3/src/ctl/ctlSQLBox.cpp    2005-11-16 21:57:28 UTC (rev 4744)
@@ -295,13 +295,18 @@
 ctlSQLBox::ctlSQLBox()
 {
     m_dlgFind=0;
+#ifndef __WXMSW__
+    findDlgLast = false;
+#endif
 }


 ctlSQLBox::ctlSQLBox(wxWindow *parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style)
 {
     m_dlgFind=0;
-
+#ifndef __WXMSW__
+    findDlgLast = false;
+#endif
     Create(parent, id, pos, size, style);
 }

@@ -369,11 +374,21 @@

 void ctlSQLBox::OnFind(wxCommandEvent& ev)
 {
+#ifndef __WXMSW__
+    if (m_dlgFind && !findDlgLast)
+    {
+        m_dlgFind->Destroy();
+        m_dlgFind = NULL;
+    }
+#endif
+
     if (!m_dlgFind)
     {
         m_dlgFind = new wxFindReplaceDialog(this, &m_findData, _("Find text"), 0);
-
         m_dlgFind->Show(true);
+#ifndef __WXMSW__
+        findDlgLast = true;
+#endif
     }
     else
         m_dlgFind->SetFocus();
@@ -382,11 +397,21 @@

 void ctlSQLBox::OnReplace(wxCommandEvent& ev)
 {
+#ifndef __WXMSW__
+    if (m_dlgFind && findDlgLast)
+    {
+        m_dlgFind->Destroy();
+        m_dlgFind = NULL;
+    }
+#endif
+
     if (!m_dlgFind)
     {
         m_dlgFind = new wxFindReplaceDialog(this, &m_findData, _("Find text"), wxFR_REPLACEDIALOG);
-
         m_dlgFind->Show(true);
+#ifndef __WXMSW__
+        findDlgLast = false;
+#endif
     }
     else
         m_dlgFind->SetFocus();

Modified: trunk/pgadmin3/src/include/ctl/ctlSQLBox.h
===================================================================
--- trunk/pgadmin3/src/include/ctl/ctlSQLBox.h    2005-11-12 19:28:35 UTC (rev 4743)
+++ trunk/pgadmin3/src/include/ctl/ctlSQLBox.h    2005-11-16 21:57:28 UTC (rev 4744)
@@ -29,8 +29,6 @@
     ~ctlSQLBox();

     void Create(wxWindow *parent, wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition, const wxSize& size =
wxDefaultSize,long style = 0); 
-    wxFindReplaceData m_findData;
-    wxFindReplaceDialog* m_dlgFind;

     void OnKeyDown(wxKeyEvent& event);
     void OnFind(wxCommandEvent& event);
@@ -39,6 +37,14 @@

     DECLARE_DYNAMIC_CLASS(ctlSQLBox)
     DECLARE_EVENT_TABLE()
+
+private:
+    wxFindReplaceData m_findData;
+    wxFindReplaceDialog* m_dlgFind;
+#ifndef __WXMSW__
+    bool findDlgLast;
+#endif
+
 };




В списке pgadmin-hackers по дате отправления:

Предыдущее
От: Andreas Pflug
Дата:
Сообщение: Re: multiple site/db central backup with pitr using
Следующее
От: Andreas Pflug
Дата:
Сообщение: Re: SVN Commit by dpage: r4744 - in trunk/pgadmin3/src: