]> git.saurik.com Git - wxWidgets.git/blobdiff - src/stc/stc.h.in
Only call use uppercase letter if control, alt, or shift is held down,
[wxWidgets.git] / src / stc / stc.h.in
index 0e56b08abba2625b79dc23632846b4c47c99a41a..0a3360359e5e447e6d784d55edae2f52e08584be 100644 (file)
 #include <wx/wx.h>
 #include <wx/dnd.h>
 
+#ifdef STCISDLL
+#define STCDLLEXPORT WXDLLEXPORT
+#else
+#define STCDLLEXPORT
+#endif
+
 //----------------------------------------------------------------------
 
 // Should a wxPopupWindow be used for the call tips and autocomplete windows?
 
 %(VALUES)s
 
+
+//-----------------------------------------
+// Commands that can be bound to keystrokes
+%(CMDS)s
+
+
 // END of generated section
 //----------------------------------------------------------------------
 
@@ -45,8 +57,11 @@ class  ScintillaWX;                      // forward declare
 class  WordList;
 struct SCNotification;
 
-
-extern const wxChar* wxSTCNameStr;
+#ifndef SWIG
+extern STCDLLEXPORT const wxChar* wxSTCNameStr;
+class STCDLLEXPORT wxStyledTextCtrl;
+class STCDLLEXPORT wxStyledTextEvent;
+#endif
 
 //----------------------------------------------------------------------
 
@@ -175,6 +190,7 @@ private:
     void OnMouseMove(wxMouseEvent& evt);
     void OnMouseLeftUp(wxMouseEvent& evt);
     void OnMouseRightUp(wxMouseEvent& evt);
+    void OnMouseMiddleUp(wxMouseEvent& evt);
     void OnContextMenu(wxContextMenuEvent& evt);
     void OnMouseWheel(wxMouseEvent& evt);
     void OnChar(wxKeyEvent& evt);
@@ -210,6 +226,15 @@ private:
 
 //----------------------------------------------------------------------
 
+// SWIG can't handle "#if" type of conditionals, only "#ifdef"
+#ifdef SWIG
+#define STC_USE_DND 1
+#else
+#if wxUSE_DRAG_AND_DROP
+#define STC_USE_DND 1
+#endif
+#endif
+
 class wxStyledTextEvent : public wxCommandEvent {
 public:
     wxStyledTextEvent(wxEventType commandType=0, int id=0);
@@ -237,7 +262,9 @@ public:
     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 SetDragResult(wxDragResult val)  { m_dragResult = val; }
+#endif
 
     int  GetPosition() const         { return m_position; }
     int  GetKey()  const             { return m_key; }
@@ -258,7 +285,9 @@ public:
     int  GetY() const                { return m_y; }
     wxString GetDragText()           { return m_dragText; }
     bool GetDragAllowMove()          { return m_dragAllowMove; }
+#ifdef STC_USE_DND
     wxDragResult GetDragResult()     { return m_dragResult; }
+#endif
 
     bool GetShift() const;
     bool GetControl() const;
@@ -295,8 +324,10 @@ private:
     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
 #endif
+#endif
 };
 
 #ifndef SWIG
@@ -323,6 +354,7 @@ BEGIN_DECLARE_EVENT_TYPES()
     DECLARE_LOCAL_EVENT_TYPE(wxEVT_STC_START_DRAG,              1669)
     DECLARE_LOCAL_EVENT_TYPE(wxEVT_STC_DRAG_OVER,               1670)
     DECLARE_LOCAL_EVENT_TYPE(wxEVT_STC_DO_DROP,                 1671)
+    DECLARE_LOCAL_EVENT_TYPE(wxEVT_STC_ZOOM,                    1672)
 END_DECLARE_EVENT_TYPES()
 #else
     enum {
@@ -348,6 +380,7 @@ END_DECLARE_EVENT_TYPES()
         wxEVT_STC_START_DRAG,
         wxEVT_STC_DRAG_OVER,
         wxEVT_STC_DO_DROP,
+        wxEVT_STC_ZOOM,
     };
 #endif
 
@@ -378,9 +411,43 @@ typedef void (wxEvtHandler::*wxStyledTextEventFunction)(wxStyledTextEvent&);
 #define EVT_STC_START_DRAG(id, fn)              DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_START_DRAG,            id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL ),
 #define EVT_STC_DRAG_OVER(id, fn)               DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_DRAG_OVER,             id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL ),
 #define EVT_STC_DO_DROP(id, fn)                 DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_DO_DROP,               id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL ),
+#define EVT_STC_ZOOM(id, fn)                    DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_ZOOM,                  id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL ),
 #endif
 
 //----------------------------------------------------------------------
+// Utility functions used within wxSTC
+
+#ifndef SWIG
+
+inline wxString stc2wx(const char* str) {
+#if wxUSE_UNICODE
+    return wxString(str, wxConvUTF8);
+#else
+    return wxString(str);
+#endif
+}
+
+inline wxString stc2wx(const char* str, size_t len) {
+#if wxUSE_UNICODE
+    return wxString(str, wxConvUTF8, len);
+#else
+    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