lmi
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lmi] upgrading to wx-2.9.3


From: Vaclav Slavik
Subject: [lmi] upgrading to wx-2.9.3
Date: Thu, 15 Dec 2011 17:16:36 +0100
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:8.0) Gecko/20111105 Thunderbird/8.0

Hi,

I assume you'll want to upgrade to wx 2.9.3 soon, to get the new
keyboard navigation in CensusView. When you do, the following patch
can be applied. It removes some workarounds for wxDVC's inline
editors handling in favor of a clean solution.

Thanks,
Vaclav


diff --git a/input_sequence_entry.cpp b/input_sequence_entry.cpp
index 
5da94c2a404688d9b0b7713a58ae13d02c1096af..021f60ac9f3ba8d7fe35b5c21ae77aabf034cb6f
 100644
--- a/input_sequence_entry.cpp
+++ b/input_sequence_entry.cpp
@@ -1189,16 +1189,6 @@ class InputSequenceTextCtrl
 InputSequenceTextCtrl::InputSequenceTextCtrl(wxWindow* parent, wxWindowID id)
     :wxTextCtrl(parent, id)
 {
-    ::Connect
-            (this
-            ,wxEVT_KILL_FOCUS
-            ,&InputSequenceTextCtrl::UponKillFocus
-            );
-    ::Connect
-            (this
-            ,wxEVT_CHAR
-            ,&InputSequenceTextCtrl::UponChar
-            );
 }
 
 void InputSequenceTextCtrl::UponKillFocus(wxFocusEvent& event)
@@ -1229,12 +1219,6 @@ class InputSequenceButton
 InputSequenceButton::InputSequenceButton(wxWindow* parent, wxWindowID id)
     :wxButton(parent, id, "...", wxDefaultPosition, wxDefaultSize, 
wxBU_EXACTFIT)
 {
-    ::Connect
-            (this
-            ,wxEVT_KILL_FOCUS
-            ,&InputSequenceButton::UponKillFocus
-            );
-
     SetToolTip("Open sequence editor");
 
     // Set vertical size to 1px - it's ridiculously small, but the sizers will 
make it as
@@ -1260,6 +1244,8 @@ void InputSequenceButton::UponKillFocus(wxFocusEvent& 
event)
 
 InputSequenceEntry::InputSequenceEntry()
     :input_(0)
+    ,text_(0)
+    ,button_(0)
 {
 }
 
@@ -1269,6 +1255,8 @@ InputSequenceEntry::InputSequenceEntry
     ,wxString const&    name
     )
     :input_(0)
+    ,text_(0)
+    ,button_(0)
 {
     Create(parent, id, name);
 }
@@ -1308,6 +1296,15 @@ bool InputSequenceEntry::Create
     return true;
 }
 
+wxWindowList InputSequenceEntry::GetCompositeWindowParts() const
+{
+    wxWindowList parts;
+    parts.push_back(text_);
+    parts.push_back(button_);
+    return parts;
+}
+
+
 void InputSequenceEntry::input(Input const& input)
 {
     input_ = &input;
diff --git a/input_sequence_entry.hpp b/input_sequence_entry.hpp
index 
6abd22046c1fed6b5e7d507fcc54afdc1ae16305..f8b22e7d136a80d7c24f2d18460a15a6f92049a8
 100644
--- a/input_sequence_entry.hpp
+++ b/input_sequence_entry.hpp
@@ -28,6 +28,7 @@
 
 #include "input_sequence.hpp"
 
+#include <wx/compositewin.h>
 #include <wx/panel.h>
 #include <wx/xrc/xmlres.h>
 
@@ -38,7 +39,7 @@ class WXDLLIMPEXP_FWD_CORE wxButton;
 class WXDLLIMPEXP_FWD_CORE wxTextCtrl;
 
 class InputSequenceEntry
-    :public wxPanel
+    :public wxCompositeWindow<wxPanel>
 {
   public:
     InputSequenceEntry();
@@ -55,6 +56,9 @@ class InputSequenceEntry
 
     void set_popup_title(wxString const& title) {title_ = title;}
 
+  protected:
+    virtual wxWindowList GetCompositeWindowParts() const;
+
   private:
     void UponOpenEditor(wxCommandEvent&);
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]