]> git.saurik.com Git - wxWidgets.git/commitdiff
allowing the suppression of SetValue event-triggering (needed for composite controls)
authorStefan Csomor <csomor@advancedconcepts.ch>
Sat, 8 Apr 2006 13:00:13 +0000 (13:00 +0000)
committerStefan Csomor <csomor@advancedconcepts.ch>
Sat, 8 Apr 2006 13:00:13 +0000 (13:00 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38621 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/mac/carbon/textctrl.h
src/mac/carbon/combobox.cpp
src/mac/carbon/textctrl.cpp

index a4a6dffdb27946052d2f9d7f572ca125c73f781a..595c3d1f8d874b944bdeb2033c61206ee8460cb1 100644 (file)
@@ -188,7 +188,7 @@ public:
 
     wxMacTextControl * GetPeer() const
     { return (wxMacTextControl*) m_peer; }
-
+    
 protected:
     // common part of all ctors
     void Init();
@@ -202,6 +202,18 @@ protected:
 
   // need to make this public because of the current implementation via callbacks
     unsigned long  m_maxLength;
+    
+    bool GetTriggerOnSetValue() const 
+    { 
+        return m_triggerOnSetValue; 
+    }
+    
+    void SetTriggerOnSetValue(bool trigger) 
+    { 
+        m_triggerOnSetValue = trigger; 
+    }
+    
+    bool m_triggerOnSetValue ;
 
 private :
   wxMenu  *m_privateContextMenu;
index 38ff2771cb785a417f036a087e1aec8f470d6944..35a45211688f723ccf12d1c46b4e304268b6c57b 100644 (file)
@@ -68,6 +68,7 @@ public:
         : wxTextCtrl( cb , 1 )
     {
         m_cb = cb;
+        SetTriggerOnSetValue( false );
     }
 
 protected:
index 8657a5c7920682da196d5e127267da35678dc08e..95729897ce59657883d7661b58a6c07ae2c5fabf 100644 (file)
@@ -435,6 +435,7 @@ void wxTextCtrl::Init()
 
     m_maxLength = 0;
     m_privateContextMenu = NULL;
+    m_triggerOnSetValue = true ;
 }
 
 wxTextCtrl::~wxTextCtrl()
@@ -545,10 +546,13 @@ void wxTextCtrl::SetValue(const wxString& str)
 
     GetPeer()->SetStringValue( str ) ;
 
-    wxCommandEvent event( wxEVT_COMMAND_TEXT_UPDATED, m_windowId );
-    event.SetString( GetValue() );
-    event.SetEventObject( this );
-    GetEventHandler()->ProcessEvent( event );
+    if ( m_triggerOnSetValue )
+    {
+        wxCommandEvent event( wxEVT_COMMAND_TEXT_UPDATED, m_windowId );
+        event.SetString( GetValue() );
+        event.SetEventObject( this );
+        GetEventHandler()->ProcessEvent( event );
+    }
 }
 
 void wxTextCtrl::SetMaxLength(unsigned long len)