X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/015256c09134e69bf2054d64ec91fc180b243970..2a783b2daaae6f06928e7095ebbc4fc039583907:/wxPython/src/_textctrl.i diff --git a/wxPython/src/_textctrl.i b/wxPython/src/_textctrl.i index a12f5b6c6e..630ba209ba 100644 --- a/wxPython/src/_textctrl.i +++ b/wxPython/src/_textctrl.i @@ -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,6 +107,14 @@ enum wxTextCtrlHitTestResult wxTE_HT_BEYOND // after [the end of line] }; + +enum { + wxOutOfRangeTextCoord, + wxInvalidTextCoord, + + wxTEXT_TYPE_ANY +}; + //--------------------------------------------------------------------------- // wxTextAttr: a structure containing the visual attributes of a text @@ -114,6 +130,16 @@ 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); @@ -153,6 +179,16 @@ public: static wxTextAttr Combine(const wxTextAttr& attr, const wxTextAttr& attrDef, const wxTextCtrl *text); + + %property(Alignment, GetAlignment, SetAlignment, doc="See `GetAlignment` and `SetAlignment`"); + %property(BackgroundColour, GetBackgroundColour, SetBackgroundColour, doc="See `GetBackgroundColour` and `SetBackgroundColour`"); + %property(Flags, GetFlags, SetFlags, doc="See `GetFlags` and `SetFlags`"); + %property(Font, GetFont, SetFont, doc="See `GetFont` and `SetFont`"); + %property(LeftIndent, GetLeftIndent, SetLeftIndent, doc="See `GetLeftIndent` and `SetLeftIndent`"); + %property(LeftSubIndent, GetLeftSubIndent, doc="See `GetLeftSubIndent`"); + %property(RightIndent, GetRightIndent, SetRightIndent, doc="See `GetRightIndent` and `SetRightIndent`"); + %property(Tabs, GetTabs, SetTabs, doc="See `GetTabs` and `SetTabs`"); + %property(TextColour, GetTextColour, SetTextColour, doc="See `GetTextColour` and `SetTextColour`"); }; //--------------------------------------------------------------------------- @@ -165,6 +201,7 @@ class wxTextCtrl : public wxControl public: %pythonAppend wxTextCtrl "self._setOORInfo(self)" %pythonAppend wxTextCtrl() "" + %typemap(out) wxTextCtrl*; // turn off this typemap wxTextCtrl(wxWindow* parent, wxWindowID id=-1, const wxString& value = wxPyEmptyString, @@ -173,7 +210,10 @@ public: long style = 0, const wxValidator& validator = wxDefaultValidator, const wxString& name = wxPyTextCtrlNameStr); - %name(PreTextCtrl)wxTextCtrl(); + %RenameCtor(PreTextCtrl, wxTextCtrl()); + + // Turn it back on again + %typemap(out) wxTextCtrl* { $result = wxPyMake_wxObject($1, $owner); } bool Create(wxWindow* parent, wxWindowID id=-1, const wxString& value = wxPyEmptyString, @@ -187,6 +227,10 @@ public: virtual wxString GetValue() const; virtual void SetValue(const wxString& value); + virtual bool IsEmpty() const; + + virtual void ChangeValue(const wxString &value); + virtual wxString GetRange(long from, long to) const; virtual int GetLineLength(long lineNo) const; @@ -215,13 +259,14 @@ public: virtual void Remove(long from, long to); // load/save the controls contents from/to the file - virtual bool LoadFile(const wxString& file); - virtual bool SaveFile(const wxString& file = wxPyEmptyString); + virtual bool LoadFile(const wxString& file, int fileType = wxTEXT_TYPE_ANY); + virtual bool SaveFile(const wxString& file = wxPyEmptyString, int fileType = wxTEXT_TYPE_ANY); // 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,11 +302,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. NB: pt is in device -coords but is not adjusted for the client area 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(); @@ -288,9 +344,12 @@ coords but is not adjusted for the client area origin nor scrolling", ""); virtual void SelectAll(); virtual void SetEditable(bool editable); + // generate the wxEVT_COMMAND_TEXT_UPDATED event, like SetValue() does + void SendTextUpdatedEvent(); + #ifdef __WXMSW__ // Caret handling (Windows only) - bool ShowNativeCaret(bool show = True); + bool ShowNativeCaret(bool show = true); bool HideNativeCaret(); #endif @@ -310,6 +369,14 @@ coords but is not adjusted for the client area origin nor scrolling", ""); static wxVisualAttributes GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL); + + %property(DefaultStyle, GetDefaultStyle, SetDefaultStyle, doc="See `GetDefaultStyle` and `SetDefaultStyle`"); + %property(InsertionPoint, GetInsertionPoint, SetInsertionPoint, doc="See `GetInsertionPoint` and `SetInsertionPoint`"); + %property(LastPosition, GetLastPosition, doc="See `GetLastPosition`"); + %property(NumberOfLines, GetNumberOfLines, doc="See `GetNumberOfLines`"); + %property(Selection, GetSelection, SetSelection, doc="See `GetSelection` and `SetSelection`"); + %property(StringSelection, GetStringSelection, doc="See `GetStringSelection`"); + %property(Value, GetValue, SetValue, doc="See `GetValue` and `SetValue`"); }; //--------------------------------------------------------------------------- @@ -335,6 +402,10 @@ public: // get the end of the URL long GetURLEnd() const; + + %property(MouseEvent, GetMouseEvent, doc="See `GetMouseEvent`"); + %property(URLEnd, GetURLEnd, doc="See `GetURLEnd`"); + %property(URLStart, GetURLStart, doc="See `GetURLStart`"); };