// The definition of the TQt specific subclass of ScintillaBase. // // Copyright (c) 2006 // Riverbank Computing Limited // // This file is part of TQScintilla. // // This copy of TQScintilla is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2, or (at your option) any // later version. // // TQScintilla is supplied in the hope that it will be useful, but WITHOUT ANY // WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS // FOR A PARTICULAR PURPOSE. See the GNU General Public License for more // details. // // You should have received a copy of the GNU General Public License along with // TQScintilla; see the file LICENSE. If not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #ifndef SCINTILLATQT_H #define SCINTILLATQT_H #include // These are needed because scintilla class header files don't seem to manage // their own dependencies properly. #include #include #include "Platform.h" #include "Scintilla.h" #include "SVector.h" #include "CellBuffer.h" #include "CharClassify.h" #include "Document.h" #include "Style.h" #include "XPM.h" #include "LineMarker.h" #include "Indicator.h" #include "ViewStyle.h" #include "KeyMap.h" #include "ContractionState.h" #include "Editor.h" #include "AutoComplete.h" #include "CallTip.h" #include "SString.h" #include "PropSet.h" #include "Accessor.h" #include "KeyWords.h" #include "ScintillaBase.h" class TQPaintEvent; class TQextScintillaBase; class TQtCallTip; class ScintillaTQt : public ScintillaBase { friend class TQextScintillaBase; friend class TQtCallTip; public: ScintillaTQt(TQextScintillaBase *tqsb_); virtual ~ScintillaTQt(); virtual sptr_t WndProc(unsigned int iMessage,uptr_t wParam, sptr_t lParam); private: TQWidget *PWindow(Window &w) { return reinterpret_cast(w.GetID()); } void Initialise(); void Finalise(); void StartDrag(); void StartDragImpl(); sptr_t DefWndProc(unsigned int,uptr_t,sptr_t); void SetTicking(bool); void SetMouseCapture(bool on); bool HaveMouseCapture(); void SetVerticalScrollPos(); void SetHorizontalScrollPos(); bool ModifyScrollBars(int nMax,int nPage); void ReconfigureScrollBars(); void NotifyChange(); void NotifyParent(SCNotification scn); int KeyDefault(int key,int modifiers); void CopyToClipboard(const SelectionText &selectedText); void Copy(); void Paste(); void CreateCallTipWindow(PRectangle rc); void AddToPopUp(const char *label,int cmd = 0,bool enabled = true); void ClaimSelection(); void UnclaimSelection(); static sptr_t DirectFunction(ScintillaTQt *sci,unsigned int iMessage, uptr_t wParam,sptr_t lParam); TQString textRange(const SelectionText *text); void paintEvent(TQPaintEvent *pe); void dragEnterEvent(TQDragEnterEvent *dee); void dragMoveEvent(TQDragMoveEvent *dme); void dragLeaveEvent(TQDragLeaveEvent *dle); void dropEvent(TQDropEvent *de); bool capturedMouse; TQextScintillaBase *tqsb; TQTimer qtimer; }; #endif