diff options
Diffstat (limited to 'tqt/ScintillaTQt.h')
-rw-r--r-- | tqt/ScintillaTQt.h | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/tqt/ScintillaTQt.h b/tqt/ScintillaTQt.h new file mode 100644 index 0000000..5eb35d1 --- /dev/null +++ b/tqt/ScintillaTQt.h @@ -0,0 +1,117 @@ +// The definition of the TQt specific subclass of ScintillaBase. +// +// Copyright (c) 2006 +// Riverbank Computing Limited <info@riverbankcomputing.co.uk> +// +// 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 <tqtimer.h> + +// These are needed because scintilla class header files don't seem to manage +// their own dependencies properly. +#include <ctype.h> +#include <stdlib.h> +#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<TQWidget *>(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 |