]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/textctrl.h
Replace wxControlContainer-related macros with wxNavigationEnabled<>.
[wxWidgets.git] / include / wx / msw / textctrl.h
index f4119aa3eb9b6afa9a70c957628ba1bed99af4b1..888ea4c76b8e0e461f334ba1060100f918857e62 100644 (file)
@@ -12,7 +12,7 @@
 #ifndef _WX_TEXTCTRL_H_
 #define _WX_TEXTCTRL_H_
 
-class WXDLLEXPORT wxTextCtrl : public wxTextCtrlBase
+class WXDLLIMPEXP_CORE wxTextCtrl : public wxTextCtrlBase
 {
 public:
     // creation
@@ -108,7 +108,7 @@ public:
 
     // Implementation from now on
     // --------------------------
+
 #if wxUSE_DRAG_AND_DROP && wxUSE_RICHEDIT
     virtual void SetDropTarget(wxDropTarget *dropTarget);
 #endif // wxUSE_DRAG_AND_DROP && wxUSE_RICHEDIT
@@ -125,10 +125,11 @@ public:
     int GetRichVersion() const { return m_verRichEdit; }
     bool IsRich() const { return m_verRichEdit != 0; }
 
-    // rich edit controls are not compatible with normal ones and weust set
-    // the colours for them otherwise
+    // rich edit controls are not compatible with normal ones and we must set
+    // the colours and font for them otherwise
     virtual bool SetBackgroundColour(const wxColour& colour);
     virtual bool SetForegroundColour(const wxColour& colour);
+    virtual bool SetFont(const wxFont& font);
 #else
     bool IsRich() const { return false; }
 #endif // wxUSE_RICHEDIT
@@ -179,7 +180,6 @@ public:
 
     virtual bool MSWShouldPreProcessMessage(WXMSG* pMsg);
     virtual WXDWORD MSWGetStyle(long style, WXDWORD *exstyle) const;
-    virtual wxVisualAttributes GetDefaultAttributes() const;
 
 protected:
     // common part of all ctors
@@ -236,9 +236,23 @@ protected:
     virtual wxSize DoGetBestSize() const;
 
 #if wxUSE_RICHEDIT
+    // Apply the character-related parts of wxTextAttr to the given selection
+    // or the entire control if start == end == -1.
+    //
+    // This function is private and should only be called for rich edit
+    // controls and with (from, to) already in correct order, i.e. from <= to.
+    bool MSWSetCharFormat(const wxTextAttr& attr, long from = -1, long to = -1);
+
+    // Same as above for paragraph-related parts of wxTextAttr. Note that this
+    // can only be applied to the selection as RichEdit doesn't support setting
+    // the paragraph styles globally.
+    bool MSWSetParaFormat(const wxTextAttr& attr, long from, long to);
+
+
     // we're using RICHEDIT (and not simple EDIT) control if this field is not
-    // 0, it also gives the version of the RICHEDIT control being used (1, 2 or
-    // 3 so far)
+    // 0, it also gives the version of the RICHEDIT control being used
+    // (although not directly: 1 is for 1.0, 2 is for either 2.0 or 3.0 as we
+    // can't nor really need to distinguish between them and 4 is for 4.1)
     int m_verRichEdit;
 #endif // wxUSE_RICHEDIT
 
@@ -256,6 +270,8 @@ private:
     // the simple EDIT controls
     virtual WXHWND GetEditHWND() const { return m_hWnd; }
 
+    void OnKeyDown(wxKeyEvent& event);
+
     DECLARE_EVENT_TABLE()
     DECLARE_DYNAMIC_CLASS_NO_COPY(wxTextCtrl)