/// Get URL cursor
wxCursor GetURLCursor() const { return m_urlCursor; }
+ /// Are we showing the caret position at the start of a line
+ /// instead of at the end of the previous one?
+ bool GetCaretAtLineStart() const { return m_caretAtLineStart; }
+ void SetCaretAtLineStart(bool atStart) { m_caretAtLineStart = atStart; }
+
+ /// Are we dragging a selection?
+ bool GetDragging() const { return m_dragging; }
+ void SetDragging(bool dragging) { m_dragging = dragging; }
+
+ /// Get/set drag start position
+ const wxPoint& GetDragStart() const { return m_dragStart; }
+ void SetDragStart(const wxPoint& pt) { m_dragStart = pt; }
+
+#if wxRICHTEXT_BUFFERED_PAINTING
+ /// Get the buffer bitmap
+ const wxBitmap& GetBufferBitmap() const { return m_bufferBitmap; }
+ wxBitmap& GetBufferBitmap() { return m_bufferBitmap; }
+#endif
+
+ /// Get/set context menu
+ wxMenu* GetContextMenu() const { return m_contextMenu; }
+ void SetContextMenu(wxMenu* menu);
+
+ /// Anchor so we know how to extend the selection
+ /// It's a caret position since it's between two characters.
+ long GetSelectionAnchor() const { return m_selectionAnchor; }
+ void SetSelectionAnchor(long anchor) { m_selectionAnchor = anchor; }
+
// Operations
// editing
virtual bool RecreateBuffer(const wxSize& size = wxDefaultSize);
#endif
- /// Set the selection
- virtual void DoSetSelection(long from, long to, bool scrollCaret = true);
-
/// Write text
virtual void DoWriteText(const wxString& value, int flags = 0);
#ifdef __WXMSW__
virtual WXHWND GetEditHWND() const { return GetHWND(); }
#endif
-#ifdef __WXGTK__
+#ifdef __WXMOTIF__
+ virtual WXWidget GetTextWidget() const { return NULL; }
+#endif
+#ifdef __WXGTK20__
virtual wxWindow *GetEditableWindow() { return this; }
virtual GtkEditable *GetEditable() const { return NULL; }
+ virtual GtkEntry *GetEntry() const { return NULL; }
#endif
// Overrides