]> git.saurik.com Git - wxWidgets.git/blobdiff - src/stc/ScintillaWX.h
redistribution of code for different library parts
[wxWidgets.git] / src / stc / ScintillaWX.h
index 2d273fc99a276b048d85ae35c4c90f56c57e7a20..3784f26254f93948d7aa3950c4edd970ff1e9c60 100644 (file)
 
 //----------------------------------------------------------------------
 
 
 //----------------------------------------------------------------------
 
+#include <ctype.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+
 #include "Platform.h"
 
 #include "Scintilla.h"
 #include "Platform.h"
 
 #include "Scintilla.h"
+#include "XPM.h"
 #ifdef SCI_LEXER
 #include "SciLexer.h"
 #include "PropSet.h"
 #ifdef SCI_LEXER
 #include "SciLexer.h"
 #include "PropSet.h"
 
 //----------------------------------------------------------------------
 
 
 //----------------------------------------------------------------------
 
-class wxStyledTextCtrl;           // forward
+#ifdef WXMAKINGDLL_STC
+    #define WXDLLIMPEXP_STC WXEXPORT
+#elif defined(WXUSINGDLL)
+    #define WXDLLIMPEXP_STC WXIMPORT
+#else // not making nor using DLL
+    #define WXDLLIMPEXP_STC
+#endif
+
+class WXDLLIMPEXP_STC wxStyledTextCtrl;           // forward
 class ScintillaWX;
 
 
 //----------------------------------------------------------------------
 // Helper classes
 
 class ScintillaWX;
 
 
 //----------------------------------------------------------------------
 // Helper classes
 
+#if wxUSE_DRAG_AND_DROP
 class wxSTCDropTarget : public wxTextDropTarget {
 public:
     void SetScintilla(ScintillaWX* swx) {
 class wxSTCDropTarget : public wxTextDropTarget {
 public:
     void SetScintilla(ScintillaWX* swx) {
@@ -70,7 +85,7 @@ public:
 private:
     ScintillaWX* swx;
 };
 private:
     ScintillaWX* swx;
 };
-
+#endif
 
 //----------------------------------------------------------------------
 
 
 //----------------------------------------------------------------------
 
@@ -93,12 +108,18 @@ public:
     virtual bool ModifyScrollBars(int nMax, int nPage);
     virtual void Copy();
     virtual void Paste();
     virtual bool ModifyScrollBars(int nMax, int nPage);
     virtual void Copy();
     virtual void Paste();
+    virtual void CopyToClipboard(const SelectionText &selectedText);
+
     virtual void CreateCallTipWindow(PRectangle rc);
     virtual void AddToPopUp(const char *label, int cmd = 0, bool enabled = true);
     virtual void ClaimSelection();
 
     virtual void CreateCallTipWindow(PRectangle rc);
     virtual void AddToPopUp(const char *label, int cmd = 0, bool enabled = true);
     virtual void ClaimSelection();
 
-    virtual LRESULT DefWndProc(UINT iMessage, WPARAM wParam, LPARAM lParam);
-    virtual LRESULT WndProc(UINT iMessage, WPARAM wParam, LPARAM lParam);
+    virtual long DefWndProc(unsigned int iMessage,
+                            unsigned long wParam,
+                            long lParam);
+    virtual long WndProc(unsigned int iMessage,
+                         unsigned long wParam,
+                         long lParam);
 
     virtual void NotifyChange();
     virtual void NotifyParent(SCNotification scn);
 
     virtual void NotifyChange();
     virtual void NotifyParent(SCNotification scn);
@@ -112,20 +133,25 @@ public:
     void DoLoseFocus();
     void DoGainFocus();
     void DoSysColourChange();
     void DoLoseFocus();
     void DoGainFocus();
     void DoSysColourChange();
-    void DoButtonDown(Point pt, unsigned int curTime, bool shift, bool ctrl, bool alt);
-    void DoButtonUp(Point pt, unsigned int curTime, bool ctrl);
-    void DoButtonMove(Point pt);
-    void DoAddChar(char ch);
-    int  DoKeyDown(int key, bool shift, bool ctrl, bool alt);
+    void DoLeftButtonDown(Point pt, unsigned int curTime, bool shift, bool ctrl, bool alt);
+    void DoLeftButtonUp(Point pt, unsigned int curTime, bool ctrl);
+    void DoLeftButtonMove(Point pt);
+    void DoMiddleButtonUp(Point pt);
+    void DoMouseWheel(int rotation, int delta, int linesPerAction, int ctrlDown, bool isPageScroll);
+    void DoAddChar(int key);
+    int  DoKeyDown(int key, bool shift, bool ctrl, bool alt, bool* consumed);
     void DoTick() { Tick(); }
 
     void DoTick() { Tick(); }
 
+#if wxUSE_DRAG_AND_DROP
     bool DoDropText(long x, long y, const wxString& data);
     wxDragResult DoDragEnter(wxCoord x, wxCoord y, wxDragResult def);
     wxDragResult DoDragOver(wxCoord x, wxCoord y, wxDragResult def);
     void DoDragLeave();
     bool DoDropText(long x, long y, const wxString& data);
     wxDragResult DoDragEnter(wxCoord x, wxCoord y, wxDragResult def);
     wxDragResult DoDragOver(wxCoord x, wxCoord y, wxDragResult def);
     void DoDragLeave();
+#endif
 
     void DoCommand(int ID);
     void DoContextMenu(Point pt);
 
     void DoCommand(int ID);
     void DoContextMenu(Point pt);
+    void DoOnListBox();
 
 
     // helpers
 
 
     // helpers
@@ -134,14 +160,20 @@ public:
     bool GetHideSelection() { return hideSelection; }
     void DoScrollToLine(int line);
     void DoScrollToColumn(int column);
     bool GetHideSelection() { return hideSelection; }
     void DoScrollToLine(int line);
     void DoScrollToColumn(int column);
+    void ClipChildren(wxDC& dc, PRectangle rect);
 
 private:
     bool                capturedMouse;
     wxStyledTextCtrl*   stc;
 
 
 private:
     bool                capturedMouse;
     wxStyledTextCtrl*   stc;
 
-    wxTextDataObject    textDO;
+#if wxUSE_DRAG_AND_DROP
     wxSTCDropTarget*    dropTarget;
     wxDragResult        dragResult;
     wxSTCDropTarget*    dropTarget;
     wxDragResult        dragResult;
+#endif
+    int                 wheelRotation;
+
+
+    friend class wxSTCCallTip;
 };
 
 //----------------------------------------------------------------------
 };
 
 //----------------------------------------------------------------------