]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_textctrl.i
Added the PseudoDC class from Paul Lanier. It provides a way to
[wxWidgets.git] / wxPython / src / _textctrl.i
index 01cad4d056e129ccf5effce8b89e0ece9035d992..71d8ef2b65b65dc72f56a13eb9b788a4a9c2983f 100644 (file)
@@ -52,17 +52,25 @@ enum {
     // doesn't have focus - use this style to force it to always show it
     wxTE_NOHIDESEL,
 
-    // use wxHSCROLL to not wrap text at all, wxTE_LINEWRAP to wrap it at any
-    // position and wxTE_WORDWRAP to wrap at words boundary
+    // use wxHSCROLL (wxTE_DONTWRAP) to not wrap text at all, wxTE_CHARWRAP to
+    // wrap it at any position and wxTE_WORDWRAP to wrap at words boundary
+    //
+    // if no wrapping style is given at all, the control wraps at word boundary
     wxTE_DONTWRAP,
-    wxTE_LINEWRAP,
+    wxTE_CHARWRAP,
     wxTE_WORDWRAP,
+    wxTE_BESTWRAP,
 
     // force using RichEdit version 2.0 or 3.0 instead of 1.0 (default) for
     // wxTE_RICH controls - can be used together with or instead of wxTE_RICH
     wxTE_RICH2,
+
+    wxTE_CAPITALIZE,
 };
 
+%pythoncode { TE_LINEWRAP = TE_CHARWRAP }
+
+
 
 enum wxTextAttrAlignment
 {
@@ -99,15 +107,19 @@ enum wxTextCtrlHitTestResult
     wxTE_HT_BEYOND          // after [the end of line]
 };
 
+
+enum {
+    wxOutOfRangeTextCoord,
+    wxInvalidTextCoord
+};
+
 //---------------------------------------------------------------------------
 
 // wxTextAttr: a structure containing the visual attributes of a text
 class wxTextAttr
 {
 public:    
-    %nokwargs wxTextAttr;
-    wxTextAttr();
-    wxTextAttr(const wxColour& colText,
+    wxTextAttr(const wxColour& colText = wxNullColour,
                const wxColour& colBack = wxNullColour,
                const wxFont& font = wxNullFont,
                wxTextAttrAlignment alignment = wxTEXT_ALIGNMENT_DEFAULT);
@@ -116,13 +128,23 @@ public:
     // operations
     void Init();
 
+    // merges the attributes of the base and the overlay objects and returns
+    // the result; the parameter attributes take precedence
+    //
+    // WARNING: the order of arguments is the opposite of Combine()
+    static wxTextAttr Merge(const wxTextAttr& base, const wxTextAttr& overlay);
+    
+//     // merges the attributes of this object and overlay
+//     void Merge(const wxTextAttr& overlay);
+
+    
     // setters
     void SetTextColour(const wxColour& colText);
     void SetBackgroundColour(const wxColour& colBack);
     void SetFont(const wxFont& font, long flags = wxTEXT_ATTR_FONT);
     void SetAlignment(wxTextAttrAlignment alignment);
     void SetTabs(const wxArrayInt& tabs);
-    void SetLeftIndent(int indent);
+    void SetLeftIndent(int indent, int subIndent=0);
     void SetRightIndent(int indent);
     void SetFlags(long flags);
 
@@ -142,6 +164,7 @@ public:
     wxTextAttrAlignment GetAlignment() const;
     const wxArrayInt& GetTabs() const;
     long GetLeftIndent() const;
+    long GetLeftSubIndent() const;
     long GetRightIndent() const;
     long GetFlags() const;
 
@@ -160,22 +183,27 @@ public:
 
 // wxTextCtrl: a single or multiple line text zone where user can enter and
 // edit text
+MustHaveApp(wxTextCtrl);
 class wxTextCtrl : public wxControl
 {
 public:
     %pythonAppend wxTextCtrl         "self._setOORInfo(self)"
     %pythonAppend wxTextCtrl()       ""
+    %typemap(out) wxTextCtrl*;    // turn off this typemap
 
-    wxTextCtrl(wxWindow* parent, wxWindowID id,
+    wxTextCtrl(wxWindow* parent, wxWindowID id=-1,
                const wxString& value = wxPyEmptyString,
                const wxPoint& pos = wxDefaultPosition,
                const wxSize& size = wxDefaultSize,
                long style = 0,
                const wxValidator& validator = wxDefaultValidator,
                const wxString& name = wxPyTextCtrlNameStr);
-    %name(PreTextCtrl)wxTextCtrl();
+    %RenameCtor(PreTextCtrl, wxTextCtrl());
 
-    bool Create(wxWindow* parent, wxWindowID id,
+    // Turn it back on again
+    %typemap(out) wxTextCtrl* { $result = wxPyMake_wxObject($1, $owner); }
+
+    bool Create(wxWindow* parent, wxWindowID id=-1,
                const wxString& value = wxPyEmptyString,
                const wxPoint& pos = wxDefaultPosition,
                const wxSize& size = wxDefaultSize,
@@ -204,7 +232,7 @@ public:
     DocDeclAStr(
         virtual void, GetSelection(long* OUTPUT, long* OUTPUT) const,
         "GetSelection() -> (from, to)",
-        "If the return values from and to are the same, there is no selection.");
+        "If the return values from and to are the same, there is no selection.", "");
 
     virtual wxString GetStringSelection() const;
 
@@ -221,7 +249,8 @@ public:
     // sets/clears the dirty flag
     virtual void MarkDirty();
     virtual void DiscardEdits();
-
+    void SetModified(bool modified);
+    
     // set the max number of characters which may be entered in a single line
     // text control
     virtual void SetMaxLength(unsigned long len);
@@ -257,12 +286,22 @@ public:
     DocDeclAStr(
         virtual wxTextCtrlHitTestResult, HitTest(const wxPoint& pt,
                                                  long* OUTPUT, long* OUTPUT) const,
-        "HitTest(Point pt) -> (result, row, col)",
-        "Find the character at position given in pixels.\n"
-        "NB: pt is in device coords (not adjusted for the client area\n"
-        "origin nor scrolling)");
+        "HitTest(Point pt) -> (result, col, row)",
+        "Find the row, col coresponding to the character at the point given in
+pixels. NB: pt is in device coords but is not adjusted for the client
+area origin nor scrolling.", "");
+
 
+    DocDeclAStrName(
+        virtual wxTextCtrlHitTestResult , HitTest(const wxPoint& pt, long *OUTPUT) const,
+        "HitTestPos(Point pt) -> (result, position)",
+        "Find the character position in the text coresponding to the point
+given in pixels. NB: pt is in device coords but is not adjusted for
+the client area origin nor scrolling. ", "",
+        HitTestPos);
 
+    
+    
     // Clipboard operations
     virtual void Copy();
     virtual void Cut();
@@ -291,7 +330,7 @@ public:
 
 #ifdef __WXMSW__
     // Caret handling (Windows only)
-    bool ShowNativeCaret(bool show = True);
+    bool ShowNativeCaret(bool show = true);
     bool HideNativeCaret();
 #endif
 
@@ -309,6 +348,8 @@ public:
         }
     }
 
+    static wxVisualAttributes
+    GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
 };
 
 //---------------------------------------------------------------------------