X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a02d6c7b197036d18a26aa43ce2f671d800c5afc..81853b98619293be66074d74d2557973c0f3ab21:/include/wx/mac/carbon/textctrl.h diff --git a/include/wx/mac/carbon/textctrl.h b/include/wx/mac/carbon/textctrl.h index a5480b2ffa..595c3d1f8d 100644 --- a/include/wx/mac/carbon/textctrl.h +++ b/include/wx/mac/carbon/textctrl.h @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: textctrl.h +// Name: wx/mac/carbon/textctrl.h // Purpose: wxTextCtrl class // Author: Stefan Csomor // Modified by: @@ -13,32 +13,35 @@ #define _WX_TEXTCTRL_H_ #if wxUSE_SYSTEM_OPTIONS - // set this to true if you want to use the 'classic' mlte based implementation - // instead of the HIView based implementation in 10.3 and upwards, the former - // has more features (backgrounds etc.) but may show redraw artefacts and other - // problems depending on your usage, default is 'false' + // set this to 'true' if you want to use the 'classic' MLTE-based implementation + // instead of the HIView-based implementation in 10.3 and upwards, the former + // has more features (backgrounds etc.), but may show redraw artefacts and other + // problems depending on your usage; hence, the default is 'false'. #define wxMAC_TEXTCONTROL_USE_MLTE wxT("mac.textcontrol-use-mlte") #endif #include "wx/control.h" +#include "wx/textctrl.h" -WXDLLEXPORT_DATA(extern const wxChar*) wxTextCtrlNameStr; +class wxMacTextControl; -class wxMacTextControl ; -// Single-line text item class WXDLLEXPORT wxTextCtrl: public wxTextCtrlBase { DECLARE_DYNAMIC_CLASS(wxTextCtrl) public: - wxTextCtrl() { Init(); } - wxTextCtrl(wxWindow *parent, wxWindowID id, - const wxString& value = wxEmptyString, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, long style = 0, - const wxValidator& validator = wxDefaultValidator, - const wxString& name = wxTextCtrlNameStr) + wxTextCtrl() + { Init(); } + + wxTextCtrl(wxWindow *parent, + wxWindowID id, + const wxString& value = wxEmptyString, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = 0, + const wxValidator& validator = wxDefaultValidator, + const wxString& name = wxTextCtrlNameStr) { Init(); Create(parent, id, value, pos, size, style, validator, name); @@ -46,16 +49,18 @@ public: ~wxTextCtrl(); - bool Create(wxWindow *parent, wxWindowID id, - const wxString& value = wxEmptyString, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, long style = 0, - const wxValidator& validator = wxDefaultValidator, - const wxString& name = wxTextCtrlNameStr); + bool Create(wxWindow *parent, + wxWindowID id, + const wxString& value = wxEmptyString, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = 0, + const wxValidator& validator = wxDefaultValidator, + const wxString& name = wxTextCtrlNameStr); // accessors // --------- - virtual wxString GetValue() const ; + virtual wxString GetValue() const; virtual void SetValue(const wxString& value); virtual int GetLineLength(long lineNo) const; @@ -72,7 +77,6 @@ public: // ---------- // editing - virtual void Clear(); virtual void Replace(long from, long to, const wxString& value); virtual void Remove(long from, long to); @@ -86,12 +90,12 @@ public: // set the max number of characters which may be entered // in a single line text control - virtual void SetMaxLength(unsigned long len) ; + virtual void SetMaxLength(unsigned long len); // text control under some platforms supports the text styles: these - // methods allow to apply the given text style to the given selection or to + // methods apply the given text style to the given selection or to // set/get the style which will be used for all appended text - virtual bool SetFont( const wxFont &font ) ; + virtual bool SetFont( const wxFont &font ); virtual bool SetStyle(long start, long end, const wxTextAttr& style); virtual bool SetDefaultStyle(const wxTextAttr& style); @@ -100,7 +104,7 @@ public: virtual void WriteText(const wxString& text); virtual void AppendText(const wxString& text); - // translate between the position (which is just an index in the text ctrl + // translate between the position (which is just an index into the textctrl // considering all its contents as a single strings) and (x, y) coordinates // which represent column and line. virtual long XYToPosition(long x, long y) const; @@ -150,7 +154,7 @@ public: void OnRedo(wxCommandEvent& event); void OnDelete(wxCommandEvent& event); void OnSelectAll(wxCommandEvent& event); - + void OnUpdateCut(wxUpdateUIEvent& event); void OnUpdateCopy(wxUpdateUIEvent& event); void OnUpdatePaste(wxUpdateUIEvent& event); @@ -159,43 +163,57 @@ public: void OnUpdateDelete(wxUpdateUIEvent& event); void OnUpdateSelectAll(wxUpdateUIEvent& event); - void OnEraseBackground(wxEraseEvent& event) ; + void OnEraseBackground(wxEraseEvent& event); void OnContextMenu(wxContextMenuEvent& event); - virtual bool MacCanFocus() const { return true ; } + virtual bool MacCanFocus() const + { return true; } - virtual bool MacSetupCursor( const wxPoint& pt ) ; + virtual bool MacSetupCursor( const wxPoint& pt ); - virtual void MacVisibilityChanged() ; - virtual void MacEnabledStateChanged() ; - virtual void MacSuperChangedPosition() ; + virtual void MacVisibilityChanged(); + virtual void MacEnabledStateChanged(); + virtual void MacSuperChangedPosition(); #ifndef __WXMAC_OSX__ - virtual void MacControlUserPaneDrawProc(wxInt16 part) ; - virtual wxInt16 MacControlUserPaneHitTestProc(wxInt16 x, wxInt16 y) ; - virtual wxInt16 MacControlUserPaneTrackingProc(wxInt16 x, wxInt16 y, void* actionProc) ; - virtual void MacControlUserPaneIdleProc() ; - virtual wxInt16 MacControlUserPaneKeyDownProc(wxInt16 keyCode, wxInt16 charCode, wxInt16 modifiers) ; - virtual void MacControlUserPaneActivateProc(bool activating) ; - virtual wxInt16 MacControlUserPaneFocusProc(wxInt16 action) ; - virtual void MacControlUserPaneBackgroundProc(void* info) ; + virtual void MacControlUserPaneDrawProc(wxInt16 part); + virtual wxInt16 MacControlUserPaneHitTestProc(wxInt16 x, wxInt16 y); + virtual wxInt16 MacControlUserPaneTrackingProc(wxInt16 x, wxInt16 y, void* actionProc); + virtual void MacControlUserPaneIdleProc(); + virtual wxInt16 MacControlUserPaneKeyDownProc(wxInt16 keyCode, wxInt16 charCode, wxInt16 modifiers); + virtual void MacControlUserPaneActivateProc(bool activating); + virtual wxInt16 MacControlUserPaneFocusProc(wxInt16 action); + virtual void MacControlUserPaneBackgroundProc(void* info); #endif - wxMacTextControl * GetPeer() const { return (wxMacTextControl*) m_peer; } - + wxMacTextControl * GetPeer() const + { return (wxMacTextControl*) m_peer; } + protected: // common part of all ctors void Init(); virtual wxSize DoGetBestSize() const; - bool m_editable ; + bool m_editable; // flag is set to true when the user edits the controls contents bool m_dirty; - unsigned long m_maxLength ; // 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; @@ -203,5 +221,4 @@ private : DECLARE_EVENT_TABLE() }; -#endif - // _WX_TEXTCTRL_H_ +#endif // _WX_TEXTCTRL_H_