Use this method to forward the status of text events in the implementation of
wxComboBox in wxOSX/Carbon. This ensures that the events are correctly [not]
generated when various wxComboBox methods are called.
The unit tests now also pass with wxOSX/Carbon.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63882
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
virtual bool CanRedo() const;
virtual wxClientDataType GetClientDataType() const;
virtual bool CanRedo() const;
virtual wxClientDataType GetClientDataType() const;
+
+ virtual wxTextWidgetImpl* GetTextPeer() const;
+#endif // wxOSX_USE_CARBON
{ return DoGetMargins(); }
{ return DoGetMargins(); }
+ // implementation only
+ // -------------------
// generate the wxEVT_COMMAND_TEXT_UPDATED event for GetEditableWindow(),
// like SetValue() does and return true if the event was processed
// generate the wxEVT_COMMAND_TEXT_UPDATED event for GetEditableWindow(),
// like SetValue() does and return true if the event was processed
// NB: this is public for wxRichTextCtrl use only right now, do not call it
static bool SendTextUpdatedEvent(wxWindow *win);
// NB: this is public for wxRichTextCtrl use only right now, do not call it
static bool SendTextUpdatedEvent(wxWindow *win);
+ // this function is provided solely for the purpose of forwarding text
+ // change notifications state from one control to another, e.g. it can be
+ // used by a wxComboBox which derives from wxTextEntry if it delegates all
+ // of its methods to another wxTextCtrl
+ void ForwardEnableTextChangedEvents(bool enable)
+ {
+ // it's important to call the functions which update m_eventsBlock here
+ // and not just our own EnableTextChangedEvents() because our state
+ // (i.e. the result of EventsAllowed()) must change as well
+ if ( enable )
+ ResumeTextChangedEvents();
+ else
+ SuppressTextChangedEvents();
+ }
+
protected:
// flags for DoSetValue(): common part of SetValue() and ChangeValue() and
// also used to implement WriteText() in wxMSW
protected:
// flags for DoSetValue(): common part of SetValue() and ChangeValue() and
// also used to implement WriteText() in wxMSW
SendTextUpdatedEvent();
}
SendTextUpdatedEvent();
}
private:
// suppress or resume the text changed events generation: don't use these
// functions directly, use EventsSuppressor class above instead
private:
// suppress or resume the text changed events generation: don't use these
// functions directly, use EventsSuppressor class above instead
- void ForwardEnableTextChangedEvents(bool enable)
- {
- EnableTextChangedEvents(enable);
- }
protected:
void OnChar( wxKeyEvent& event )
{
protected:
void OnChar( wxKeyEvent& event )
{