X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f6bcfd974ef26faf6f91a62cac09827e09463fd1..4739346e195beb4676c281003fcf75878185023e:/src/stc/ScintillaWX.h diff --git a/src/stc/ScintillaWX.h b/src/stc/ScintillaWX.h index c2087c9682..d0d383d507 100644 --- a/src/stc/ScintillaWX.h +++ b/src/stc/ScintillaWX.h @@ -19,9 +19,15 @@ //---------------------------------------------------------------------- +#include +#include +#include +#include + #include "Platform.h" #include "Scintilla.h" +#include "XPM.h" #ifdef SCI_LEXER #include "SciLexer.h" #include "PropSet.h" @@ -49,13 +55,22 @@ //---------------------------------------------------------------------- -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 +#if wxUSE_DRAG_AND_DROP class wxSTCDropTarget : public wxTextDropTarget { public: void SetScintilla(ScintillaWX* swx) { @@ -70,7 +85,7 @@ public: private: ScintillaWX* swx; }; - +#endif //---------------------------------------------------------------------- @@ -93,16 +108,23 @@ public: 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 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 CancelModes(); // Event delegates void DoPaint(wxDC* dc, wxRect rect); @@ -112,17 +134,21 @@ public: 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 meta, bool* consumed); 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(); +#endif void DoCommand(int ID); void DoContextMenu(Point pt); @@ -135,13 +161,21 @@ public: bool GetHideSelection() { return hideSelection; } void DoScrollToLine(int line); void DoScrollToColumn(int column); + void ClipChildren(wxDC& dc, PRectangle rect); private: bool capturedMouse; + bool focusEvent; wxStyledTextCtrl* stc; +#if wxUSE_DRAG_AND_DROP wxSTCDropTarget* dropTarget; wxDragResult dragResult; +#endif + int wheelRotation; + + + friend class wxSTCCallTip; }; //----------------------------------------------------------------------