]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/stc/stc.h
synchronize GTK2 minimum version in docs
[wxWidgets.git] / include / wx / stc / stc.h
index 288bf355281bae05efbec8b94b1c31facde5887f..7956d13f8e886806e0230bd0571ee948371187d9 100644 (file)
@@ -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
 };