X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/63ec432bd7b9c93961e85e871bcb31758364a634..ce4b7808ca940be201422a066de141ca12f13863:/include/wx/mac/carbon/textctrl.h diff --git a/include/wx/mac/carbon/textctrl.h b/include/wx/mac/carbon/textctrl.h index 59d42e72b7..1818f2d602 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,50 +13,54 @@ #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); } - ~wxTextCtrl(); + virtual ~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 void SetValue(const wxString& value); + virtual wxString GetValue() const; virtual int GetLineLength(long lineNo) const; virtual wxString GetLineText(long lineNo) const; @@ -72,26 +76,22 @@ public: // ---------- // editing - virtual void Clear(); virtual void Replace(long from, long to, const wxString& value); virtual void Remove(long from, long to); - // load the controls contents from the file - virtual bool LoadFile(const wxString& file); - // sets/clears the dirty flag virtual void MarkDirty(); virtual void DiscardEdits(); // 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 +100,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 +150,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,29 +159,31 @@ 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 @@ -189,13 +191,27 @@ protected: virtual wxSize DoGetBestSize() const; - bool m_editable ; + virtual void DoSetValue(const wxString& value, int flags = 0); + + 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 +219,4 @@ private : DECLARE_EVENT_TABLE() }; -#endif - // _WX_TEXTCTRL_H_ +#endif // _WX_TEXTCTRL_H_