Don't duplicate needlessly wxTextEntry functionality in wxTextCtrl.
Don't clear the combobox text entry part twice in wxComboBox::DoClear(), it is
supposed to only clear the item container contents as the base class Clear()
already calls wxTextEntry::Clear().
Do send text updated events from wxTextEntry itself as it applies to
wxComboBox just as well as to wxTextCtrl.
The unit tests now pass under wxOSX/Cocoa, not breaking them again would be
appreciated.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63881
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
virtual void Cut();
virtual void Paste();
- virtual void WriteText(const wxString& text);
- virtual void Clear();
- virtual void Remove(long from, long to);
-
// Implementation
// --------------
virtual void Command(wxCommandEvent& event);
// flag is set to true when the user edits the controls contents
bool m_dirty;
- virtual void EnableTextChangedEvents(bool enable)
+ virtual void EnableTextChangedEvents(bool WXUNUSED(enable))
{
- m_triggerUpdateEvents = enable;
+ // nothing to do here as the events are never generated when we change
+ // the controls value programmatically anyhow
}
- bool m_triggerUpdateEvents ;
-
private :
- wxMenu *m_privateContextMenu;
+ wxMenu *m_privateContextMenu;
- DECLARE_EVENT_TABLE()
+ DECLARE_EVENT_TABLE()
};
#endif // _WX_TEXTCTRL_H_
void wxComboBox::DoClear()
{
GetComboPeer()->Clear();
- SetValue(wxEmptyString);
}
void wxComboBox::GetSelection(long *from, long *to) const
void wxComboBox::EnableTextChangedEvents(bool WXUNUSED(enable))
{
- wxFAIL_MSG("Method Not Implemented.");
+ // nothing to do here, events are never generated when we change the
+ // control value programmatically anyhow by Cocoa
}
bool wxComboBox::OSXHandleClicked( double WXUNUSED(timestampsec) )
m_dirty = false;
m_privateContextMenu = NULL;
- m_triggerUpdateEvents = true ;
}
wxTextCtrl::~wxTextCtrl()
return GetTextPeer()->GetLineText(lineNo) ;
}
-void wxTextCtrl::Remove(long from, long to)
-{
- wxTextEntry::Remove(from, to);
- if ( m_triggerUpdateEvents )
- SendTextUpdatedEvent();
-}
-
-void wxTextCtrl::WriteText(const wxString& str)
-{
- wxTextEntry::WriteText( str ) ;
- if ( m_triggerUpdateEvents )
- SendTextUpdatedEvent();
-}
-
-void wxTextCtrl::Clear()
-{
- wxTextEntry::Clear() ;
- SendTextUpdatedEvent();
-}
-
void wxTextCtrl::Copy()
{
if (CanCopy())
void wxTextEntry::Remove(long from, long to)
{
GetTextPeer()->Remove( from , to ) ;
+
+ SendTextUpdatedEventIfAllowed();
}
void wxTextEntry::SetSelection(long from, long to)
void wxTextEntry::WriteText(const wxString& str)
{
GetTextPeer()->WriteText( str ) ;
+
+ SendTextUpdatedEventIfAllowed();
}
void wxTextEntry::Clear()
{
GetTextPeer()->Clear() ;
+
+ SendTextUpdatedEventIfAllowed();
}
bool wxTextEntry::IsEditable() const