// headers
// ----------------------------------------------------------------------------
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(__APPLE__)
#pragma interface "textctrlbase.h"
#endif
#define wxTE_LINEWRAP 0x4000
#define wxTE_WORDWRAP 0x0000 // it's just == !wxHSCROLL
+// 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
+#define wxTE_RICH2 0x8000
+
// ----------------------------------------------------------------------------
// wxTextAttr: a structure containing the visual attributes of a text
// ----------------------------------------------------------------------------
virtual wxString GetValue() const = 0;
virtual void SetValue(const wxString& value) = 0;
+ virtual wxString GetRange(long from, long to) const;
+
virtual int GetLineLength(long lineNo) const = 0;
virtual wxString GetLineText(long lineNo) const = 0;
virtual int GetNumberOfLines() const = 0;
virtual bool IsModified() const = 0;
virtual bool IsEditable() const = 0;
+ // more readable flag testing methods
+ bool IsSingleLine() const { return !(GetWindowStyle() & wxTE_MULTILINE); }
+ bool IsMultiLine() const { return !IsSingleLine(); }
+
// If the return values from and to are the same, there is no selection.
virtual void GetSelection(long* from, long* to) const = 0;
virtual void WriteText(const wxString& text) = 0;
virtual void AppendText(const wxString& text) = 0;
+ // insert the character which would have resulted from this key event,
+ // return TRUE if anything has been inserted
+ virtual bool EmulateKeyPress(const wxKeyEvent& event);
+
// text control under some platforms supports the text styles: these
// methods allow to apply the given text style to the given selection or to
// set/get the style which will be used for all appended text
// include the platform-dependent class definition
// ----------------------------------------------------------------------------
-#if defined(__WXUNIVERSAL__)
+#if defined(__WXX11__)
+ #include "wx/x11/textctrl.h"
+#elif defined(__WXUNIVERSAL__)
#include "wx/univ/textctrl.h"
#elif defined(__WXMSW__)
#include "wx/msw/textctrl.h"
public:
wxTextUrlEvent(int id, const wxMouseEvent& evtMouse,
long start, long end)
- : wxCommandEvent(wxEVT_COMMAND_TEXT_URL, id),
- m_evtMouse(evtMouse)
- { m_start = start; m_end = end; }
+ : wxCommandEvent(wxEVT_COMMAND_TEXT_URL, id)
+ , m_evtMouse(evtMouse), m_start(start), m_end(end)
+ { }
// get the mouse event which happend over the URL
const wxMouseEvent& GetMouseEvent() const { return m_evtMouse; }
public:
// for wxWin RTTI only, don't use
- wxTextUrlEvent() { }
+ wxTextUrlEvent() : m_evtMouse(), m_start(0), m_end(0) { }
};
typedef void (wxEvtHandler::*wxTextUrlEventFunction)(wxTextUrlEvent&);