]> git.saurik.com Git - wxWidgets.git/blobdiff - contrib/src/stc/stc.h.in
Don't use a saved label size incase the size changes. Patch from Hong Yuan.
[wxWidgets.git] / contrib / src / stc / stc.h.in
index c74907d01f0cca568938851710488639cdbcaad0..9dd1d5dfbdd2187d3ff12bbbc27245fb342bea8c 100644 (file)
@@ -21,8 +21,8 @@
 #define __stc_h__
 
 
-#include <wx/wx.h>
-#include <wx/dnd.h>
+#include "wx/wx.h"
+#include "wx/dnd.h"
 
 
 #ifdef WXMAKINGDLL_STC
@@ -90,7 +90,7 @@ public:
                      const wxPoint& pos = wxDefaultPosition,
                      const wxSize& size = wxDefaultSize, long style = 0,
                      const wxString& name = wxPySTCNameStr);
-    %%name(PreStyledTextCtrl) wxStyledTextCtrl();
+    %%RenameCtor(PreStyledTextCtrl,  wxStyledTextCtrl());
 
 #else
     wxStyledTextCtrl(wxWindow *parent, wxWindowID id=wxID_ANY,
@@ -102,10 +102,10 @@ public:
 
 #endif
 
-    void Create(wxWindow *parent, wxWindowID id=wxID_ANY,
-                     const wxPoint& pos = wxDefaultPosition,
-                     const wxSize& size = wxDefaultSize, long style = 0,
-                     const wxString& name = wxSTCNameStr);
+    bool Create(wxWindow *parent, wxWindowID id=wxID_ANY,
+                const wxPoint& pos = wxDefaultPosition,
+                const wxSize& size = wxDefaultSize, long style = 0,
+                const wxString& name = wxSTCNameStr);
 
 
 //----------------------------------------------------------------------
@@ -149,15 +149,22 @@ public:
     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);
 
@@ -186,11 +193,11 @@ public:
 
 
     // Set the vertical scrollbar to use instead of the ont that's built-in.
-    void SetVScrollBar(wxScrollBar* bar) { m_vScrollBar = bar; }
+    void SetVScrollBar(wxScrollBar* bar);
 
 
     // Set the horizontal scrollbar to use instead of the ont that's built-in.
-    void SetHScrollBar(wxScrollBar* bar) { m_hScrollBar = bar; }
+    void SetHScrollBar(wxScrollBar* bar);
 
     // Can be used to prevent the EVT_CHAR handler from adding the char
     bool GetLastKeydownProcessed() { return m_lastKeyDownConsumed; }
@@ -219,11 +226,53 @@ public:
     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);
@@ -252,6 +301,7 @@ private:
     void NotifyChange();
     void NotifyParent(SCNotification* scn);
 
+private:
     DECLARE_EVENT_TABLE()
     DECLARE_DYNAMIC_CLASS(wxStyledTextCtrl)
 
@@ -395,6 +445,7 @@ BEGIN_DECLARE_EVENT_TYPES()
     DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_STC, wxEVT_STC_HOTSPOT_CLICK,      1673)
     DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_STC, wxEVT_STC_HOTSPOT_DCLICK,     1674)
     DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_STC, wxEVT_STC_CALLTIP_CLICK,      1675)
+    DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_STC, wxEVT_STC_AUTOCOMP_SELECTION, 1676)
 END_DECLARE_EVENT_TYPES()
 #else
     enum {
@@ -422,7 +473,8 @@ END_DECLARE_EVENT_TYPES()
         wxEVT_STC_ZOOM,
         wxEVT_STC_HOTSPOT_CLICK,
         wxEVT_STC_HOTSPOT_DCLICK,
-        wxEVT_STC_CALLTIP_CLICK
+        wxEVT_STC_CALLTIP_CLICK,
+        wxEVT_STC_AUTOCOMP_SELECTION
     };
 #endif
 
@@ -456,43 +508,33 @@ typedef void (wxEvtHandler::*wxStyledTextEventFunction)(wxStyledTextEvent&);
 #define EVT_STC_HOTSPOT_CLICK(id, fn)      DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_HOTSPOT_CLICK,         id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction)  wxStaticCastEvent( wxStyledTextEventFunction, & fn ), (wxObject *) NULL ),
 #define EVT_STC_HOTSPOT_DCLICK(id, fn)     DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_HOTSPOT_DCLICK,        id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction)  wxStaticCastEvent( wxStyledTextEventFunction, & fn ), (wxObject *) NULL ),
 #define EVT_STC_CALLTIP_CLICK(id, fn))     DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_CALLTIP_CLICK          id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction)  wxStaticCastEvent( wxStyledTextEventFunction, & fn ), (wxObject *) NULL ),
-
+#define EVT_STC_AUTOCOMP_SELECTION(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_AUTOCOMP_SELECTION     id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction)  wxStaticCastEvent( wxStyledTextEventFunction, & fn ), (wxObject *) NULL ),
 #endif
 
 //----------------------------------------------------------------------
 // Utility functions used within wxSTC
 
 #ifndef SWIG
+#if wxUSE_UNICODE
+
+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
 
 inline wxString stc2wx(const char* str) {
-#if wxUSE_UNICODE
-    return wxString(str, wxConvUTF8);
-#else
     return wxString(str);
-#endif
 }
-
-#if wxUSE_UNICODE
-wxString stc2wx(const char* str, size_t len);
-#else
 inline wxString stc2wx(const char* str, size_t len) {
     return wxString(str, len);
 }
-#endif
-
-
-#if wxUSE_UNICODE
-inline const wxWX2MBbuf wx2stc(const wxString& str) {
-    return str.mb_str(wxConvUTF8);
-}
-#else
 inline const wxWX2MBbuf wx2stc(const wxString& str) {
     return str.mbc_str();
 }
-#endif
-
-#endif
 
+#endif // UNICODE
+#endif // SWIG
 
 //----------------------------------------------------------------------
 #endif