]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/mac/carbon/textctrl.h
Cast for argument to delete[] - VC6 doesn't want to delete a const pointer
[wxWidgets.git] / include / wx / mac / carbon / textctrl.h
index a5480b2ffa377dcf9a47b250485b6c052af01e59..a2f5956328ef103adb87e6eb0991c7a91254ab7e 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        textctrl.h
+// Name:        wx/mac/carbon/textctrl.h
 // Purpose:     wxTextCtrl class
 // Author:      Stefan Csomor
 // Modified by:
 #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")
+    // set this to 'true' if you want editable text controls to have spell checking turned
+    // on by default, you can change this setting individually on a control using MacCheckSpelling
+    #define wxMAC_TEXTCONTROL_USE_SPELL_CHECKER wxT("mac.textcontrol-use-spell-checker")
 #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
+class WXDLLIMPEXP_CORE 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 +79,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 +103,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 +153,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 +162,19 @@ public:
     void OnUpdateDelete(wxUpdateUIEvent& event);
     void OnUpdateSelectAll(wxUpdateUIEvent& 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 MacSuperChangedPosition();
+    virtual void MacCheckSpelling(bool check);
 
-#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) ;
-#endif
-
-    wxMacTextControl * GetPeer() const { return (wxMacTextControl*) m_peer; }
+    wxMacTextControl * GetPeer() const
+    { return (wxMacTextControl*) m_peer; }
 
 protected:
     // common part of all ctors
@@ -189,13 +182,29 @@ protected:
 
     virtual wxSize DoGetBestSize() const;
 
-    bool  m_editable ;
+    virtual void CreatePeer(const wxString& str, const wxPoint& pos, const wxSize& size, long style );
+       
+    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 +212,4 @@ private :
   DECLARE_EVENT_TABLE()
 };
 
-#endif
-    // _WX_TEXTCTRL_H_
+#endif // _WX_TEXTCTRL_H_