X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/77ffb5937e89927b621128789401db8921fe580f..068becf5625117fda98c6a6f94433c5b5147e367:/include/wx/mac/carbon/textctrl.h?ds=sidebyside diff --git a/include/wx/mac/carbon/textctrl.h b/include/wx/mac/carbon/textctrl.h index d14d79e406..9f9471fd3d 100644 --- a/include/wx/mac/carbon/textctrl.h +++ b/include/wx/mac/carbon/textctrl.h @@ -6,25 +6,31 @@ // Created: 1998-01-01 // RCS-ID: $Id$ // Copyright: (c) Stefan Csomor -// Licence: wxWidgets licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_TEXTCTRL_H_ #define _WX_TEXTCTRL_H_ -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) -#pragma interface "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' + #define wxMAC_TEXTCONTROL_USE_MLTE _T("mac.textcontrol-use-mlte") #endif #include "wx/control.h" WXDLLEXPORT_DATA(extern const wxChar*) wxTextCtrlNameStr; +class wxMacTextControl ; + // Single-line text item class WXDLLEXPORT wxTextCtrl: public wxTextCtrlBase { DECLARE_DYNAMIC_CLASS(wxTextCtrl) - + public: // creation // -------- @@ -41,14 +47,14 @@ public: Create(parent, id, value, pos, size, style, validator, name); } - + 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 ; @@ -108,7 +114,7 @@ public: virtual void Copy(); virtual void Cut(); virtual void Paste(); - + virtual bool CanCopy() const; virtual bool CanCut() const; virtual bool CanPaste() const; @@ -124,7 +130,7 @@ public: virtual void SetInsertionPoint(long pos); virtual void SetInsertionPointEnd(); virtual long GetInsertionPoint() const; - virtual long GetLastPosition() const; + virtual wxTextPos GetLastPosition() const; virtual void SetSelection(long from, long to); virtual void SetEditable(bool editable); @@ -147,19 +153,27 @@ public: void OnPaste(wxCommandEvent& event); void OnUndo(wxCommandEvent& event); void OnRedo(wxCommandEvent& event); - + void OnDelete(wxCommandEvent& event); + void OnSelectAll(wxCommandEvent& event); + void OnUpdateCut(wxUpdateUIEvent& event); void OnUpdateCopy(wxUpdateUIEvent& event); void OnUpdatePaste(wxUpdateUIEvent& event); void OnUpdateUndo(wxUpdateUIEvent& event); void OnUpdateRedo(wxUpdateUIEvent& event); + void OnUpdateDelete(wxUpdateUIEvent& event); + void OnUpdateSelectAll(wxUpdateUIEvent& event); + + void OnEraseBackground(wxEraseEvent& event) ; + void OnContextMenu(wxContextMenuEvent& event); virtual bool MacCanFocus() const { return true ; } virtual bool MacSetupCursor( const wxPoint& pt ) ; 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) ; @@ -168,25 +182,25 @@ public: virtual void MacControlUserPaneActivateProc(bool activating) ; virtual wxInt16 MacControlUserPaneFocusProc(wxInt16 action) ; virtual void MacControlUserPaneBackgroundProc(void* info) ; +#endif + wxMacTextControl* GetPeer() const { return (wxMacTextControl*) m_peer ; } protected: // common part of all ctors void Init(); - virtual wxSize DoGetBestSize() const; + virtual wxSize DoGetBestSize() const; bool m_editable ; // flag is set to true when the user edits the controls contents bool m_dirty; - // one of the following objects is used for representation, the other one is NULL - void* m_macTXN ; unsigned long m_maxLength ; // need to make this public because of the current implementation via callbacks -public : - void* m_macTXNvars ; private : + wxMenu *m_privateContextMenu; + DECLARE_EVENT_TABLE() };