X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/526954c5968baa29218c994ec48e476ae2bd4b9f..723aa01a832bf97a43f9cb5c0850e82b4998cd7d:/include/wx/stc/stc.h?ds=sidebyside diff --git a/include/wx/stc/stc.h b/include/wx/stc/stc.h index 288bf35528..7956d13f8e 100644 --- a/include/wx/stc/stc.h +++ b/include/wx/stc/stc.h @@ -38,6 +38,7 @@ #include "wx/control.h" #include "wx/dnd.h" #include "wx/stopwatch.h" +#include "wx/versioninfo.h" #include "wx/textentry.h" #if wxUSE_TEXTCTRL @@ -4041,14 +4042,14 @@ public: - // The following methods are nearly equivallent to their similarly named + // The following methods are nearly equivalent to their similarly named // cousins above. The difference is that these methods bypass wxString // and always use a char* even if used in a unicode build of wxWidgets. // In that case the character data will be utf-8 encoded since that is // what is used internally by Scintilla in unicode builds. // Add text to the document at current position. - void AddTextRaw(const char* text); + void AddTextRaw(const char* text, int length=-1); // Insert string at a position. void InsertTextRaw(int pos, const char* text); @@ -4077,7 +4078,7 @@ public: wxCharBuffer GetTextRaw(); // Append a string to the end of the document without changing the selection. - void AppendTextRaw(const char* text); + void AppendTextRaw(const char* text, int length=-1); #ifdef SWIG %pythoncode "_stc_utf8_methods.py" @@ -4199,16 +4200,15 @@ public: virtual bool PositionToXY(long pos, long *x, long *y) const { + long l = LineFromPosition(pos); + if ( l == -1 ) + return false; + if ( x ) - *x = -1; // TODO + *x = pos - PositionFromLine(l); if ( y ) - { - long l = LineFromPosition(pos); - if ( l == -1 ) - return false; *y = l; - } return true; } @@ -4240,6 +4240,8 @@ public: return wxTextAreaBase::HitTest(pt, col, row); } + static wxVersionInfo GetLibraryVersionInfo(); + protected: virtual wxString DoGetValue() const { return GetText(); } virtual wxWindow *GetEditableWindow() { return this; } @@ -4289,9 +4291,8 @@ protected: bool m_lastKeyDownConsumed; - // the timestamp that consists of the last wheel event - // added to the time taken to process that event. - long m_lastWheelTimestamp; + // Time until when we should ignore any new mouse wheel events. + wxLongLong m_timeToBlockWheelEventsUntil; friend class ScintillaWX; friend class Platform; @@ -4325,10 +4326,20 @@ public: void SetListType(int val) { m_listType = val; } void SetX(int val) { m_x = val; } void SetY(int val) { m_y = val; } - void SetDragText(const wxString& val) { m_dragText = val; } - void SetDragAllowMove(bool val) { m_dragAllowMove = val; } #ifdef STC_USE_DND + void SetDragText(const wxString& val) { m_dragText = val; } + void SetDragFlags(int flags) { m_dragFlags = flags; } void SetDragResult(wxDragResult val) { m_dragResult = val; } + + // This method is kept mainly for backwards compatibility, use + // SetDragFlags() in the new code. + void SetDragAllowMove(bool allow) + { + if ( allow ) + m_dragFlags |= wxDrag_AllowMove; + else + m_dragFlags &= ~(wxDrag_AllowMove | wxDrag_DefaultMove); + } #endif int GetPosition() const { return m_position; } @@ -4348,10 +4359,12 @@ public: int GetListType() const { return m_listType; } int GetX() const { return m_x; } int GetY() const { return m_y; } - wxString GetDragText() { return m_dragText; } - bool GetDragAllowMove() { return m_dragAllowMove; } #ifdef STC_USE_DND + wxString GetDragText() { return m_dragText; } + int GetDragFlags() { return m_dragFlags; } wxDragResult GetDragResult() { return m_dragResult; } + + bool GetDragAllowMove() { return (GetDragFlags() & wxDrag_AllowMove) != 0; } #endif bool GetShift() const; @@ -4386,11 +4399,10 @@ private: int m_x; int m_y; - wxString m_dragText; // wxEVT_STC_START_DRAG, wxEVT_STC_DO_DROP - bool m_dragAllowMove; // wxEVT_STC_START_DRAG - #if wxUSE_DRAG_AND_DROP - wxDragResult m_dragResult; // wxEVT_STC_DRAG_OVER,wxEVT_STC_DO_DROP + wxString m_dragText; // wxEVT_STC_START_DRAG, wxEVT_STC_DO_DROP + int m_dragFlags; // wxEVT_STC_START_DRAG + wxDragResult m_dragResult; // wxEVT_STC_DRAG_OVER,wxEVT_STC_DO_DROP #endif #endif };