X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ef0e92205a01c7d0ca6f381cc690cb5d4fa595c9..7422d79765db9e7280da187be7a1b016491b8cfd:/include/wx/osx/carbon/private/mactext.h?ds=sidebyside diff --git a/include/wx/osx/carbon/private/mactext.h b/include/wx/osx/carbon/private/mactext.h index 72c7f9d2e6..f808348009 100644 --- a/include/wx/osx/carbon/private/mactext.h +++ b/include/wx/osx/carbon/private/mactext.h @@ -1,10 +1,10 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: mactext.h +// Name: wx/osx/carbon/private/mactext.h // Purpose: private wxMacTextControl base class // Author: Stefan Csomor // Modified by: // Created: 03/02/99 -// RCS-ID: $Id: +// RCS-ID: $Id$ // Copyright: (c) Stefan Csomor // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -14,52 +14,9 @@ #include "wx/osx/private.h" -// common interface for all implementations -class wxMacTextControl : public wxMacControl -{ -public : - wxMacTextControl( wxTextCtrl *peer ) ; - virtual ~wxMacTextControl() ; - - virtual wxString GetStringValue() const = 0 ; - virtual void SetStringValue( const wxString &val ) = 0 ; - virtual void SetSelection( long from, long to ) = 0 ; - virtual void GetSelection( long* from, long* to ) const = 0 ; - virtual void WriteText( const wxString& str ) = 0 ; - - virtual void SetStyle( long start, long end, const wxTextAttr& style ) ; - virtual void Copy() ; - virtual void Cut() ; - virtual void Paste() ; - virtual bool CanPaste() const ; - virtual void SetEditable( bool editable ) ; - virtual wxTextPos GetLastPosition() const ; - virtual void Replace( long from, long to, const wxString &str ) ; - virtual void Remove( long from, long to ) ; - - - virtual bool HasOwnContextMenu() const - { return false ; } - - virtual bool SetupCursor( const wxPoint& WXUNUSED(pt) ) - { return false ; } - - virtual void Clear() ; - virtual bool CanUndo() const; - virtual void Undo() ; - virtual bool CanRedo() const; - virtual void Redo() ; - virtual int GetNumberOfLines() const ; - virtual long XYToPosition(long x, long y) const; - virtual bool PositionToXY(long pos, long *x, long *y) const ; - virtual void ShowPosition(long WXUNUSED(pos)) ; - virtual int GetLineLength(long lineNo) const ; - virtual wxString GetLineText(long lineNo) const ; - virtual void CheckSpelling(bool WXUNUSED(check)) { } - virtual void SetFont( const wxFont & font , const wxColour& foreground , long windowStyle ); -} ; +// implementation exposed, so that search control can pull it -class wxMacUnicodeTextControl : public wxMacTextControl +class wxMacUnicodeTextControl : public wxMacControl, public wxTextWidgetImpl { public : wxMacUnicodeTextControl( wxTextCtrl *wxPeer ) ; @@ -69,10 +26,8 @@ public : const wxSize& size, long style ) ; virtual ~wxMacUnicodeTextControl(); - virtual bool Create( wxTextCtrl *wxPeer, - const wxString& str, - const wxPoint& pos, - const wxSize& size, long style ) ; + virtual bool CanFocus() const + { return true; } virtual void VisibilityChanged(bool shown); virtual wxString GetStringValue() const ; virtual void SetStringValue( const wxString &str) ; @@ -86,10 +41,11 @@ public : virtual void WriteText(const wxString& str) ; protected : - virtual void CreateControl( wxTextCtrl* peer, const Rect* bounds, CFStringRef cfr ); + void InstallEventHandlers(); // contains the tag for the content (is different for password and non-password controls) OSType m_valueTag ; + WXEVENTHANDLERREF m_macTextCtrlEventHandler ; public : ControlEditTextSelectionRec m_selection ; };