#endif
class WXDLLEXPORT wxTextCtrl;
+class WXDLLEXPORT wxTextCtrlBase;
// ----------------------------------------------------------------------------
// constants
// doesn't have focus - use this style to force it to always show it
#define wxTE_NOHIDESEL 0x2000
+// use wxHSCROLL to not wrap text at all, wxTE_LINEWRAP to wrap it at any
+// position and wxTE_WORDWRAP to wrap at words boundary
+#define wxTE_DONTWRAP wxHSCROLL
+#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
// ----------------------------------------------------------------------------
return !HasTextColour() && !HasBackgroundColour() && !HasFont();
}
+ // return the attribute having the valid font and colours: it uses the
+ // attributes set in attr and falls back first to attrDefault and then to
+ // the text control font/colours for those attributes which are not set
+ static wxTextAttr Combine(const wxTextAttr& attr,
+ const wxTextAttr& attrDef,
+ const wxTextCtrlBase *text);
+
private:
wxColour m_colText,
m_colBack;
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;
// If the return values from and to are the same, there is no selection.
virtual void GetSelection(long* from, long* to) const = 0;
+ virtual wxString GetStringSelection() const;
+
// operations
// ----------
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&);
{
public:
wxStreamToTextRedirector(wxTextCtrl *text, wxSTD ostream *ostr = NULL)
- : m_ostr(ostr ? *ostr : wxSTD::cout)
+ : m_ostr(ostr ? *ostr : wxSTD cout)
{
m_sbufOld = m_ostr.rdbuf();
m_ostr.rdbuf(text);