#ifndef _WX_RICHTEXTCTRL_H_
#define _WX_RICHTEXTCTRL_H_
-#include "wx/textctrl.h"
+#include "wx/richtext/richtextbuffer.h"
#if wxUSE_RICHTEXT
#include "wx/scrolwin.h"
#include "wx/caret.h"
-#include "wx/richtext/richtextbuffer.h"
-
#if wxCHECK_VERSION(2,7,0)
#define wxRICHTEXT_DERIVES_FROM_TEXTCTRLBASE 0
#else
#define wxRICHTEXT_DERIVES_FROM_TEXTCTRLBASE 0
#endif
+#if wxRICHTEXT_DERIVES_FROM_TEXTCTRLBASE
+#include "wx/textctrl.h"
+#endif
+
/*!
* Styles and flags
*/
virtual void Freeze();
/// Call Thaw to refresh
- virtual void Thaw(bool refresh = true);
+ virtual void Thaw();
/// Call Thaw to refresh
virtual bool IsFrozen() const { return m_freezeCount > 0; }
/// Layout the buffer: which we must do before certain operations, such as
/// setting the caret position.
- virtual bool Layout(bool onlyVisibleRect = false);
+ virtual bool LayoutContent(bool onlyVisibleRect = false);
/// Move the caret to the given character position
virtual bool MoveCaret(long pos, bool showAtLineStart = false);
/// Idle-time processing
void OnIdle(wxIdleEvent& event);
+ /// Scrolling
+ void OnScroll(wxScrollWinEvent& event);
+
// Implementation
+#if wxRICHTEXT_DERIVES_FROM_TEXTCTRLBASE
+ WX_FORWARD_TO_SCROLL_HELPER()
+#endif
+
/// Set font, and also default attributes
virtual bool SetFont(const wxFont& font);
virtual void SetupScrollbars(bool atTop = false);
/// Keyboard navigation
- virtual bool Navigate(int keyCode, int flags);
+ virtual bool KeyboardNavigate(int keyCode, int flags);
/// Paint the background
virtual void PaintBackground(wxDC& dc);
long GetFirstVisiblePosition() const;
// Overrides
+protected:
virtual wxSize DoGetBestSize() const ;
*/
BEGIN_DECLARE_EVENT_TYPES()
- DECLARE_EVENT_TYPE(wxEVT_COMMAND_RICHTEXT_ITEM_SELECTED, 2600)
- DECLARE_EVENT_TYPE(wxEVT_COMMAND_RICHTEXT_ITEM_DESELECTED, 2601)
- DECLARE_EVENT_TYPE(wxEVT_COMMAND_RICHTEXT_LEFT_CLICK, 2602)
- DECLARE_EVENT_TYPE(wxEVT_COMMAND_RICHTEXT_RIGHT_CLICK, 2603)
- DECLARE_EVENT_TYPE(wxEVT_COMMAND_RICHTEXT_MIDDLE_CLICK, 2604)
- DECLARE_EVENT_TYPE(wxEVT_COMMAND_RICHTEXT_LEFT_DCLICK, 2605)
- DECLARE_EVENT_TYPE(wxEVT_COMMAND_RICHTEXT_RETURN, 2606)
+ DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_ADV, wxEVT_COMMAND_RICHTEXT_ITEM_SELECTED, 2600)
+ DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_ADV, wxEVT_COMMAND_RICHTEXT_ITEM_DESELECTED, 2601)
+ DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_ADV, wxEVT_COMMAND_RICHTEXT_LEFT_CLICK, 2602)
+ DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_ADV, wxEVT_COMMAND_RICHTEXT_RIGHT_CLICK, 2603)
+ DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_ADV, wxEVT_COMMAND_RICHTEXT_MIDDLE_CLICK, 2604)
+ DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_ADV, wxEVT_COMMAND_RICHTEXT_LEFT_DCLICK, 2605)
+ DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_ADV, wxEVT_COMMAND_RICHTEXT_RETURN, 2606)
END_DECLARE_EVENT_TYPES()
typedef void (wxEvtHandler::*wxRichTextEventFunction)(wxRichTextEvent&);