// Author: Robin Dunn
//
// Created: 13-Jan-2000
-// RCS-ID: $Id$
// Copyright: (c) 2000 by Total Control Software
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#endif
#endif
-
//----------------------------------------------------------------------
// STC constants generated section {{{
// Returns the current UseAntiAliasing setting.
bool GetUseAntiAliasing();
+ // Clear annotations from the given line.
+ void AnnotationClearLine(int line);
+
// The following methods are nearly equivalent to their similarly named
// implement wxTextEntryBase pure virtual methods
// ----------------------------------------------
- virtual void WriteText(const wxString& text) { AddText(text); }
+ virtual void WriteText(const wxString& text)
+ {
+ ReplaceSelection(text);
+ }
+
virtual void Remove(long from, long to)
{
Replace(from, to, "");
}
virtual void Replace(long from, long to, const wxString& text)
{
- SetTargetStart(from);
- SetTargetEnd(to);
+ SetTargetStart((int)from);
+ SetTargetEnd((int)to);
ReplaceTarget(text);
}
*/
- virtual void SetInsertionPoint(long pos) { SetCurrentPos(pos); }
+ virtual void SetInsertionPoint(long pos)
+ {
+ SetCurrentPos(int(pos == -1 ? GetLastPosition() : pos));
+ }
virtual long GetInsertionPoint() const { return GetCurrentPos(); }
virtual long GetLastPosition() const { return GetTextLength(); }
}
else
{
- SetSelectionStart(from);
- SetSelectionEnd(to);
+ SetSelectionStart((int)from);
+ SetSelectionEnd((int)to);
}
}
+ virtual void SelectNone()
+ {
+ ClearSelections();
+ }
+
#ifdef SWIG
void GetSelection(long* OUTPUT, long* OUTPUT) const;
#else
long f, t;
GetSelection(&f, &t);
if ( from )
- *from = f;
+ *from = (int)f;
if ( to )
- *to = t;
+ *to = (int)t;
}
#endif
// implement wxTextAreaBase pure virtual methods
// ---------------------------------------------
- virtual int GetLineLength(long n) const { return GetLine(n).length(); }
- virtual wxString GetLineText(long n) const { return GetLine(n); }
+ virtual int GetLineLength(long lineNo) const { return static_cast<int>(GetLineText(lineNo).length()); }
+ virtual wxString GetLineText(long lineNo) const
+ {
+ wxString text = GetLine(static_cast<int>(lineNo));
+ size_t lastNewLine = text.find_last_not_of(wxS("\r\n"));
+
+ if ( lastNewLine != wxString::npos )
+ text.erase(lastNewLine + 1); // remove trailing cr+lf
+ else
+ text.clear();
+ return text;
+ }
virtual int GetNumberOfLines() const { return GetLineCount(); }
virtual bool IsModified() const { return GetModify(); }
virtual long XYToPosition(long x, long y) const
{
- long pos = PositionFromLine(y);
+ long pos = PositionFromLine((int)y);
pos += x;
return pos;
}
virtual bool PositionToXY(long pos, long *x, long *y) const
{
+ int l = LineFromPosition((int)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;
}
- virtual void ShowPosition(long pos) { GotoPos(pos); }
+ virtual void ShowPosition(long pos) { GotoPos((int)pos); }
// FIXME-VC6: can't use wxWindow here because of "error C2603: illegal
// access declaration: 'wxWindow' is not a direct base of
static wxVersionInfo GetLibraryVersionInfo();
protected:
+ virtual void DoSetValue(const wxString& value, int flags);
virtual wxString DoGetValue() const { return GetText(); }
virtual wxWindow *GetEditableWindow() { return this; }
bool m_lastKeyDownConsumed;
- // Time until when we should ignore any new mouse wheel events.
- wxLongLong m_timeToBlockWheelEventsUntil;
-
friend class ScintillaWX;
friend class Platform;
#endif // !SWIG
void SetListType(int val) { m_listType = val; }
void SetX(int val) { m_x = val; }
void SetY(int val) { m_y = val; }
+ void SetToken(int val) { m_token = val; }
+ void SetAnnotationLinesAdded(int val) { m_annotationLinesAdded = val; }
+ void SetUpdated(int val) { m_updated = val; }
#ifdef STC_USE_DND
void SetDragText(const wxString& val) { m_dragText = val; }
void SetDragFlags(int flags) { m_dragFlags = flags; }
int GetListType() const { return m_listType; }
int GetX() const { return m_x; }
int GetY() const { return m_y; }
+ int GetToken() const { return m_token; }
+ int GetAnnotationsLinesAdded() const { return m_annotationLinesAdded; }
+ int GetUpdated() const { return m_updated; }
+
#ifdef STC_USE_DND
wxString GetDragText() { return m_dragText; }
int GetDragFlags() { return m_dragFlags; }
int m_x;
int m_y;
+ int m_token; // wxEVT_STC__MODIFIED with SC_MOD_CONTAINER
+ int m_annotationLinesAdded; // wxEVT_STC_MODIFIED with SC_MOD_CHANGEANNOTATION
+ int m_updated; // wxEVT_STC_UPDATEUI
+
+
#if wxUSE_DRAG_AND_DROP
wxString m_dragText; // wxEVT_STC_START_DRAG, wxEVT_STC_DO_DROP
int m_dragFlags; // wxEVT_STC_START_DRAG
wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_STC, wxEVT_STC_INDICATOR_RELEASE, wxStyledTextEvent );
wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_STC, wxEVT_STC_AUTOCOMP_CANCELLED, wxStyledTextEvent );
wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_STC, wxEVT_STC_AUTOCOMP_CHAR_DELETED, wxStyledTextEvent );
+wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_STC, wxEVT_STC_HOTSPOT_RELEASE_CLICK, wxStyledTextEvent );
#else
enum {
wxEVT_STC_CHANGE,
wxEVT_STC_INDICATOR_CLICK,
wxEVT_STC_INDICATOR_RELEASE,
wxEVT_STC_AUTOCOMP_CANCELLED,
- wxEVT_STC_AUTOCOMP_CHAR_DELETED
+ wxEVT_STC_AUTOCOMP_CHAR_DELETED,
+ wxEVT_STC_HOTSPOT_RELEASE_CLICK
};
#endif
#define EVT_STC_INDICATOR_RELEASE(id, fn) wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_INDICATOR_RELEASE, id, wxID_ANY, wxStyledTextEventHandler( fn ), (wxObject *) NULL ),
#define EVT_STC_AUTOCOMP_CANCELLED(id, fn) wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_AUTOCOMP_CANCELLED, id, wxID_ANY, wxStyledTextEventHandler( fn ), (wxObject *) NULL ),
#define EVT_STC_AUTOCOMP_CHAR_DELETED(id, fn) wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_AUTOCOMP_CHAR_DELETED, id, wxID_ANY, wxStyledTextEventHandler( fn ), (wxObject *) NULL ),
+#define EVT_STC_HOTSPOT_RELEASE_CLICK(id, fn) wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_HOTSPOT_RELEASE_CLICK, id, wxID_ANY, wxStyledTextEventHandler( fn ), (wxObject *) NULL ),
#endif