summaryrefslogtreecommitdiffstats
path: root/languages/kjssupport/jscodecompletion.h
blob: 3cad550cc1c9481532734750f38ee330c0195c3c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
//
// C++ Interface: jscodecompletion
//
// Description:
//
//
// Author: ian reinhart geiser <geiseri@kde.org>, (C) 2004
//
// Copyright: See COPYING file that comes with this distribution
//
//
#ifndef JSCODECOMPLETION_H
#define JSCODECOMPLETION_H

#include <tqobject.h>
#include <kdevelop/codemodel.h>
#include <kdevelop/kdevplugin.h>
#include <kdevelop/kdevlanguagesupport.h>

#include <ktexteditor/editinterface.h>
#include <ktexteditor/viewcursorinterface.h>
#include <ktexteditor/codecompletioninterface.h>

/**
The code completion engine for Javascript.
 
@author ian reinhart geiser
*/
class JSCodeCompletion : public TQObject
{
		Q_OBJECT
  TQ_OBJECT
	public:
		JSCodeCompletion(TQObject *parent = 0, const char *name = 0);

		~JSCodeCompletion();
		void setActiveEditorPart(KParts::Part* editorPart);
		TQValueList<KTextEditor::CompletionEntry> getVars(const TQString& textHint);

	public slots:
		void cursorPositionChanged();
		void completionBoxHidden();
		void completionBoxAbort();

	private:
		bool m_argWidgetShow;
		bool m_completionBoxShow;
		KTextEditor::EditInterface *m_editInterface;
		KTextEditor::CodeCompletionInterface *m_codeInterface;
		KTextEditor::ViewCursorInterface *m_cursorInterface;

};

#endif