]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_textctrl.i
test wxString's char<->wchar_t ctors
[wxWidgets.git] / wxPython / src / _textctrl.i
index 493598f3608c84e59bef3a91b4a96c8b56408d3a..9dc6789495ddfa3fdfe455d9173e4827f9346bb1 100644 (file)
@@ -15,9 +15,7 @@
 
 //---------------------------------------------------------------------------
 
-%{
-    DECLARE_DEF_STRING(TextCtrlNameStr);
-%}
+MAKE_CONST_WXSTRING(TextCtrlNameStr);
 
 //---------------------------------------------------------------------------
 %newgroup
@@ -92,6 +90,15 @@ enum {
     wxTEXT_ATTR_TABS
 };
 
+enum wxTextCtrlHitTestResult
+{
+    wxTE_HT_UNKNOWN = -2,   // this means HitTest() is simply not implemented
+    wxTE_HT_BEFORE,         // either to the left or upper
+    wxTE_HT_ON_TEXT,        // directly on
+    wxTE_HT_BELOW,          // below [the last line]
+    wxTE_HT_BEYOND          // after [the end of line]
+};
+
 //---------------------------------------------------------------------------
 
 // wxTextAttr: a structure containing the visual attributes of a text
@@ -104,7 +111,8 @@ public:
                const wxColour& colBack = wxNullColour,
                const wxFont& font = wxNullFont,
                wxTextAttrAlignment alignment = wxTEXT_ALIGNMENT_DEFAULT);
-
+    ~wxTextAttr();
+    
     // operations
     void Init();
 
@@ -114,7 +122,7 @@ public:
     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);
 
@@ -134,10 +142,11 @@ public:
     wxTextAttrAlignment GetAlignment() const;
     const wxArrayInt& GetTabs() const;
     long GetLeftIndent() const;
+    long GetLeftSubIndent() const;
     long GetRightIndent() const;
     long GetFlags() const;
 
-    // returns false if we have any attributes set, true otherwise
+    // returns False if we have any attributes set, True otherwise
     bool IsDefault() const;
 
     // return the attribute having the valid font and colours: it uses the
@@ -152,13 +161,14 @@ public:
 
 // wxTextCtrl: a single or multiple line text zone where user can enter and
 // edit text
+MustHaveApp(wxTextCtrl);
 class wxTextCtrl : public wxControl
 {
 public:
-    %addtofunc wxTextCtrl         "self._setOORInfo(self)"
-    %addtofunc wxTextCtrl()       ""
+    %pythonAppend wxTextCtrl         "self._setOORInfo(self)"
+    %pythonAppend wxTextCtrl()       ""
 
-    wxTextCtrl(wxWindow* parent, wxWindowID id,
+    wxTextCtrl(wxWindow* parent, wxWindowID id=-1,
                const wxString& value = wxPyEmptyString,
                const wxPoint& pos = wxDefaultPosition,
                const wxSize& size = wxDefaultSize,
@@ -167,7 +177,7 @@ public:
                const wxString& name = wxPyTextCtrlNameStr);
     %name(PreTextCtrl)wxTextCtrl();
 
-    bool Create(wxWindow* parent, wxWindowID id,
+    bool Create(wxWindow* parent, wxWindowID id=-1,
                const wxString& value = wxPyEmptyString,
                const wxPoint& pos = wxDefaultPosition,
                const wxSize& size = wxDefaultSize,
@@ -192,8 +202,11 @@ public:
     bool IsSingleLine() const;
     bool IsMultiLine() const;
 
-    // If the return values from and to are the same, there is no selection.
-    virtual void GetSelection(long* OUTPUT, long* OUTPUT) const;
+
+    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.", "");
 
     virtual wxString GetStringSelection() const;
 
@@ -221,7 +234,7 @@ public:
     virtual void AppendText(const wxString& text);
 
     // insert the character which would have resulted from this key event,
-    // return TRUE if anything has been inserted
+    // return True if anything has been inserted
     virtual bool EmulateKeyPress(const wxKeyEvent& event);
 
     // text control under some platforms supports the text styles: these
@@ -236,10 +249,21 @@ public:
     // 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;
-    virtual /*bool*/ void PositionToXY(long pos, long *OUTPUT, long *OUTPUT) const;
+    DocDeclA(
+        virtual /*bool*/ void, PositionToXY(long pos, long *OUTPUT, long *OUTPUT) const,
+        "PositionToXY(long pos) -> (x, y)");
 
     virtual void ShowPosition(long pos);
 
+
+    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. NB: pt is in device
+coords but is not adjusted for the client area origin nor scrolling", "");
+
+
     // Clipboard operations
     virtual void Copy();
     virtual void Cut();
@@ -268,7 +292,7 @@ public:
 
 #ifdef __WXMSW__
     // Caret handling (Windows only)
-    bool ShowNativeCaret(bool show = true);
+    bool ShowNativeCaret(bool show = True);
     bool HideNativeCaret();
 #endif
 
@@ -286,6 +310,8 @@ public:
         }
     }
 
+    static wxVisualAttributes
+    GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
 };
 
 //---------------------------------------------------------------------------