summaryrefslogtreecommitdiffstats
path: root/languages/kjssupport/jscodecompletion.h
blob: 0cceb1e0947dd1e27814e6c604c6da864e4bbf01 (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
//
// 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 <qobject.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 QObject
{
		Q_OBJECT
	public:
		JSCodeCompletion(QObject *parent = 0, const char *name = 0);

		~JSCodeCompletion();
		void setActiveEditorPart(KParts::Part* editorPart);
		QValueList<KTextEditor::CompletionEntry> getVars(const QString& 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