]>
git.saurik.com Git - wxWidgets.git/blob - include/wx/osx/cocoa/private/textimpl.h
   1 ///////////////////////////////////////////////////////////////////////////// 
   2 // Name:        wx/osx/cocoa/private/textimpl.h 
   3 // Purpose:     textcontrol implementation classes that have to be exposed 
   4 // Author:      Stefan Csomor 
   8 // Copyright:   (c) Stefan Csomor 
   9 // Licence:     wxWindows licence 
  10 ///////////////////////////////////////////////////////////////////////////// 
  12 #ifndef _WX_OSX_COCOA_PRIVATE_TEXTIMPL_H_ 
  13 #define _WX_OSX_COCOA_PRIVATE_TEXTIMPL_H_ 
  15 #include "wx/combobox.h" 
  16 #include "wx/osx/private.h" 
  18 // implementation exposed, so that search control can pull it 
  20 class wxNSTextFieldControl 
: public wxWidgetCocoaImpl
, public wxTextWidgetImpl
 
  23     // wxNSTextFieldControl must always be associated with a wxTextEntry. If 
  24     // it's associated with a wxTextCtrl then we can get the associated entry 
  25     // from it but otherwise the second ctor should be used to explicitly pass 
  27     wxNSTextFieldControl( wxTextCtrl 
*text
, WXWidget w 
); 
  28     wxNSTextFieldControl( wxWindow 
*wxPeer
, wxTextEntry 
*entry
, WXWidget w 
); 
  29     virtual ~wxNSTextFieldControl(); 
  31     virtual bool CanClipMaxLength() const { return true; } 
  32     virtual void SetMaxLength(unsigned long len
); 
  34     virtual wxString 
GetStringValue() const ; 
  35     virtual void SetStringValue( const wxString 
&str
) ; 
  38     virtual void Paste() ; 
  39     virtual bool CanPaste() const ; 
  40     virtual void SetEditable(bool editable
) ; 
  41     virtual void GetSelection( long* from
, long* to
) const ; 
  42     virtual void SetSelection( long from 
, long to 
); 
  43     virtual void WriteText(const wxString
& str
) ; 
  44     virtual bool HasOwnContextMenu() const { return true; } 
  45     virtual bool SetHint(const wxString
& hint
); 
  47     virtual void controlAction(WXWidget slf
, void* _cmd
, void *sender
); 
  50     NSTextField
* m_textField
; 
  55     // Common part of both ctors. 
  56     void Init(WXWidget w
); 
  59 class wxNSTextViewControl 
: public wxWidgetCocoaImpl
, public wxTextWidgetImpl
 
  62     wxNSTextViewControl( wxTextCtrl 
*wxPeer
, WXWidget w 
); 
  63     virtual ~wxNSTextViewControl(); 
  65     virtual wxString 
GetStringValue() const ; 
  66     virtual void SetStringValue( const wxString 
&str
) ; 
  69     virtual void Paste() ; 
  70     virtual bool CanPaste() const ; 
  71     virtual void SetEditable(bool editable
) ; 
  72     virtual void GetSelection( long* from
, long* to
) const ; 
  73     virtual void SetSelection( long from 
, long to 
); 
  74     virtual void WriteText(const wxString
& str
) ; 
  75     virtual void SetFont( const wxFont 
& font 
, const wxColour
& foreground 
, long windowStyle
, bool ignoreBlack 
= true ); 
  77     virtual bool GetStyle(long position
, wxTextAttr
& style
); 
  78     virtual void SetStyle(long start
, long end
, const wxTextAttr
& style
); 
  80     virtual bool CanFocus() const; 
  82     virtual bool HasOwnContextMenu() const { return true; } 
  84     virtual void CheckSpelling(bool check
); 
  85     virtual wxSize 
GetBestSize() const; 
  88     NSScrollView
* m_scrollView
; 
  89     NSTextView
* m_textView
; 
  92 class wxNSComboBoxControl 
: public wxNSTextFieldControl
, public wxComboWidgetImpl
 
  95     wxNSComboBoxControl( wxComboBox 
*wxPeer
, WXWidget w 
); 
  96     virtual ~wxNSComboBoxControl(); 
  98     virtual int GetSelectedItem() const; 
  99     virtual void SetSelectedItem(int item
); 
 101     virtual int GetNumberOfItems() const; 
 103     virtual void InsertItem(int pos
, const wxString
& item
); 
 104     virtual void RemoveItem(int pos
); 
 106     virtual void Clear(); 
 108     virtual wxString 
GetStringAtIndex(int pos
) const; 
 110     virtual int FindString(const wxString
& text
) const; 
 111     virtual void Popup(); 
 112     virtual void Dismiss(); 
 115     NSComboBox
* m_comboBox
; 
 118 #endif // _WX_OSX_COCOA_PRIVATE_TEXTIMPL_H_