X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/16671f229af4d3ff3ca2a6612a8ebc6c89f45c24..3baf235f60c2e924fee2cd2de03e544343c15529:/include/wx/osx/cocoa/private/textimpl.h?ds=sidebyside diff --git a/include/wx/osx/cocoa/private/textimpl.h b/include/wx/osx/cocoa/private/textimpl.h index 7505bc9882..f50d555ca2 100644 --- a/include/wx/osx/cocoa/private/textimpl.h +++ b/include/wx/osx/cocoa/private/textimpl.h @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: textimpl.h +// Name: wx/osx/cocoa/private/textimpl.h // Purpose: textcontrol implementation classes that have to be exposed // Author: Stefan Csomor // Modified by: @@ -12,6 +12,7 @@ #ifndef _WX_OSX_COCOA_PRIVATE_TEXTIMPL_H_ #define _WX_OSX_COCOA_PRIVATE_TEXTIMPL_H_ +#include "wx/combobox.h" #include "wx/osx/private.h" // implementation exposed, so that search control can pull it @@ -19,7 +20,12 @@ class wxNSTextFieldControl : public wxWidgetCocoaImpl, public wxTextWidgetImpl { public : - wxNSTextFieldControl( wxTextCtrl *wxPeer, WXWidget w ); + // wxNSTextFieldControl must always be associated with a wxTextEntry. If + // it's associated with a wxTextCtrl then we can get the associated entry + // from it but otherwise the second ctor should be used to explicitly pass + // us the entry. + wxNSTextFieldControl( wxTextCtrl *text, WXWidget w ); + wxNSTextFieldControl( wxWindow *wxPeer, wxTextEntry *entry, WXWidget w ); virtual ~wxNSTextFieldControl(); virtual wxString GetStringValue() const ; @@ -32,12 +38,19 @@ public : virtual void GetSelection( long* from, long* to) const ; virtual void SetSelection( long from , long to ); virtual void WriteText(const wxString& str) ; + virtual bool HasOwnContextMenu() const { return true; } + virtual bool SetHint(const wxString& hint); virtual void controlAction(WXWidget slf, void* _cmd, void *sender); + protected : NSTextField* m_textField; long m_selStart; long m_selEnd; + +private: + // Common part of both ctors. + void Init(WXWidget w); }; class wxNSTextViewControl : public wxWidgetCocoaImpl, public wxTextWidgetImpl @@ -57,13 +70,43 @@ public: virtual void SetSelection( long from , long to ); virtual void WriteText(const wxString& str) ; virtual void SetFont( const wxFont & font , const wxColour& foreground , long windowStyle, bool ignoreBlack = true ); - + virtual bool GetStyle(long position, wxTextAttr& style); virtual void SetStyle(long start, long end, const wxTextAttr& style); + virtual bool CanFocus() const; + + virtual bool HasOwnContextMenu() const { return true; } + + virtual void CheckSpelling(bool check); + virtual wxSize GetBestSize() const; + protected: NSScrollView* m_scrollView; NSTextView* m_textView; }; +class wxNSComboBoxControl : public wxNSTextFieldControl, public wxComboWidgetImpl +{ +public : + wxNSComboBoxControl( wxComboBox *wxPeer, WXWidget w ); + virtual ~wxNSComboBoxControl(); + + virtual int GetSelectedItem() const; + virtual void SetSelectedItem(int item); + + virtual int GetNumberOfItems() const; + + virtual void InsertItem(int pos, const wxString& item); + virtual void RemoveItem(int pos); + + virtual void Clear(); + + virtual wxString GetStringAtIndex(int pos) const; + + virtual int FindString(const wxString& text) const; +private: + NSComboBox* m_comboBox; +}; + #endif // _WX_OSX_COCOA_PRIVATE_TEXTIMPL_H_