#define __stc_h__
-#include <wx/wx.h>
-#include <wx/dnd.h>
+#include "wx/wx.h"
+#include "wx/dnd.h"
#ifdef WXMAKINGDLL_STC
// Set a style to be mixed case, or to force upper or lower case.
void StyleSetCase(int style, int caseForce);
- // Set the character set of the font in a style.
- void StyleSetCharacterSet(int style, int characterSet);
-
// Set a style to be a hotspot or not.
void StyleSetHotSpot(int style, bool hotspot);
bool GetUseVerticalScrollBar();
// Append a string to the end of the document without changing the selection.
- void AppendText(int length, const wxString& text);
+ void AppendText(const wxString& text);
// Is drawing done in two phases with backgrounds drawn before foregrounds?
bool GetTwoPhaseDraw();
void StyleSetFontAttr(int styleNum, int size,
const wxString& faceName,
bool bold, bool italic,
- bool underline);
+ bool underline,
+ wxFontEncoding encoding=wxFONTENCODING_DEFAULT);
+ // Set the character set of the font in a style. Converts the Scintilla
+ // character set values to a wxFontEncoding.
+ void StyleSetCharacterSet(int style, int characterSet);
+
+ // Set the font encoding to be used by a style.
+ void StyleSetFontEncoding(int style, wxFontEncoding encoding);
+
// Perform one of the operations defined by the wxSTC_CMD_* constants.
void CmdKeyExecute(int cmd);
-
// Set the left and right margin in the edit area, measured in pixels.
void SetMargins(int left, int right);
bool GetUseAntiAliasing();
+
+ // The following methods are nearly equivallent 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);
+
+ // Insert string at a position.
+ void InsertTextRaw(int pos, const char* text);
+
+ // Retrieve the text of the line containing the caret.
+ // Returns the index of the caret on the line.
+#ifdef SWIG
+ wxCharBuffer GetCurLineRaw(int* OUTPUT);
+#else
+ wxCharBuffer GetCurLineRaw(int* linePos=NULL);
+#endif
+
+ // Retrieve the contents of a line.
+ wxCharBuffer GetLineRaw(int line);
+
+ // Retrieve the selected text.
+ wxCharBuffer GetSelectedTextRaw();
+
+ // Retrieve a range of text.
+ wxCharBuffer GetTextRangeRaw(int startPos, int endPos);
+
+ // Replace the contents of the document with the argument text.
+ void SetTextRaw(const char* text);
+
+ // Retrieve all the text in the document.
+ wxCharBuffer GetTextRaw();
+
+ // Append a string to the end of the document without changing the selection.
+ void AppendTextRaw(const char* text);
+
+#ifdef SWIG
+ %pythoncode "_stc_utf8_methods.py"
+#endif
//----------------------------------------------------------------------
#ifndef SWIG
-private:
+protected:
// Event handlers
void OnPaint(wxPaintEvent& evt);
void OnScrollWin(wxScrollWinEvent& evt);
void NotifyChange();
void NotifyParent(SCNotification* scn);
+private:
DECLARE_EVENT_TABLE()
DECLARE_DYNAMIC_CLASS(wxStyledTextCtrl)
#ifndef SWIG
#if wxUSE_UNICODE
-wxString stc2wx(const char* str);
-wxString stc2wx(const char* str, size_t len);
-const wxWX2MBbuf wx2stc(const wxString& str);
+WXDLLIMPEXP_STC wxString stc2wx(const char* str);
+WXDLLIMPEXP_STC wxString stc2wx(const char* str, size_t len);
+WXDLLIMPEXP_STC const wxWX2MBbuf wx2stc(const wxString& str);
#else // not UNICODE