#ifndef _WX_UNIV_TEXTCTRL_H_
#define _WX_UNIV_TEXTCTRL_H_
-class WXDLLEXPORT wxCaret;
-class WXDLLEXPORT wxTextCtrlCommandProcessor;
+class WXDLLIMPEXP_FWD_CORE wxCaret;
+class WXDLLIMPEXP_FWD_CORE wxTextCtrlCommandProcessor;
#include "wx/scrolwin.h" // for wxScrollHelper
// wxTextCtrl
// ----------------------------------------------------------------------------
-class WXDLLEXPORT wxTextCtrl : public wxTextCtrlBase,
+class WXDLLIMPEXP_CORE wxTextCtrl : public wxTextCtrlBase,
public wxScrollHelper
{
public:
// ----------------------------------
virtual wxString GetValue() const;
- virtual void SetValue(const wxString& value);
virtual int GetLineLength(wxTextCoord lineNo) const;
virtual wxString GetLineText(wxTextCoord lineNo) const;
long numArg = -1,
const wxString& strArg = wxEmptyString);
+ static wxInputHandler *GetStdInputHandler(wxInputHandler *handlerDef);
+ virtual wxInputHandler *DoGetStdInputHandler(wxInputHandler *handlerDef)
+ {
+ return GetStdInputHandler(handlerDef);
+ }
+
// override these methods to handle the caret
virtual bool SetFont(const wxFont &font);
virtual bool Enable(bool enable = true);
// more readable flag testing methods
- bool IsPassword() const { return (GetWindowStyle() & wxTE_PASSWORD) != 0; }
- bool WrapLines() const
- { return !IsSingleLine() && !(GetWindowStyle() & wxHSCROLL); }
+ bool IsPassword() const { return HasFlag(wxTE_PASSWORD); }
+ bool WrapLines() const { return m_wrapLines; }
// only for wxStdTextCtrlInputHandler
void RefreshSelection();
// calc the size from the text extent
virtual wxSize DoGetBestClientSize() const;
+ // implements Set/ChangeValue()
+ virtual void DoSetValue(const wxString& value, int flags = 0);
+
// common part of all ctors
void Init();
// flags
bool m_isModified:1,
m_isEditable:1,
- m_hasCaret:1;
+ m_hasCaret:1,
+ m_wrapLines:1; // can't be changed after creation
// the rectangle (in client coordinates) to draw text inside
wxRect m_rectText;
friend class wxWrappedLineData;
};
-// ----------------------------------------------------------------------------
-// wxStdTextCtrlInputHandler: this control handles only the mouse/kbd actions
-// common to Win32 and GTK, platform-specific things are implemented elsewhere
-// ----------------------------------------------------------------------------
-
-class WXDLLEXPORT wxStdTextCtrlInputHandler : public wxStdInputHandler
-{
-public:
- wxStdTextCtrlInputHandler(wxInputHandler *inphand);
-
- virtual bool HandleKey(wxInputConsumer *consumer,
- const wxKeyEvent& event,
- bool pressed);
- virtual bool HandleMouse(wxInputConsumer *consumer,
- const wxMouseEvent& event);
- virtual bool HandleMouseMove(wxInputConsumer *consumer,
- const wxMouseEvent& event);
- virtual bool HandleFocus(wxInputConsumer *consumer, const wxFocusEvent& event);
-
-protected:
- // get the position of the mouse click
- static wxTextPos HitTest(const wxTextCtrl *text, const wxPoint& pos);
-
- // capture data
- wxTextCtrl *m_winCapture;
-};
-
#endif // _WX_UNIV_TEXTCTRL_H_