summaryrefslogtreecommitdiffstats
path: root/tqt/ScintillaTQt.h
diff options
context:
space:
mode:
Diffstat (limited to 'tqt/ScintillaTQt.h')
-rw-r--r--tqt/ScintillaTQt.h117
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