File: qeditorinputbindinginterface.h

package info (click to toggle)
texstudio 2.11.2%2Bdebian-1
  • links: PTS
  • area: main
  • in suites: stretch
  • size: 41,292 kB
  • ctags: 12,405
  • sloc: cpp: 93,072; xml: 10,217; ansic: 4,153; sh: 145; makefile: 56
file content (63 lines) | stat: -rw-r--r-- 2,386 bytes parent folder | download | duplicates (4)
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
55
56
57
58
59
60
61
62
63
/****************************************************************************
**
** Copyright (C) 2006-2009 fullmetalcoder <fullmetalcoder@hotmail.fr>
**
** This file is part of the Edyuk project <http://edyuk.org>
** 
** This file may be used under the terms of the GNU General Public License
** version 3 as published by the Free Software Foundation and appearing in the
** file GPL.txt included in the packaging of this file.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
****************************************************************************/

#ifndef _QEDITOR_INPUT_BINDING_INTERFACE_H_
#define _QEDITOR_INPUT_BINDING_INTERFACE_H_

#include "qce-config.h"

class QEditor;

class QString;
class QKeyEvent;
class QMouseEvent;
class QInputMethodEvent;
class QContextMenuEvent;

class QEditorInputBindingInterface
{
	public:
		virtual ~QEditorInputBindingInterface() {}
		
		virtual QString id() const = 0;
		virtual QString name() const = 0;
		
		virtual bool isExclusive() const = 0;
		
		virtual bool keyPressEvent(QKeyEvent *event, QEditor *editor) = 0;
		virtual void postKeyPressEvent(QKeyEvent *event, QEditor *editor) = 0;

		virtual bool keyReleaseEvent(QKeyEvent *event, QEditor *editor) = 0;
		virtual void postKeyReleaseEvent(QKeyEvent *event, QEditor *editor) = 0;
		
		virtual bool inputMethodEvent(QInputMethodEvent* event, QEditor *editor) = 0;
		virtual void postInputMethodEvent(QInputMethodEvent *event, QEditor *editor) = 0;
		
		virtual bool mouseMoveEvent(QMouseEvent *event, QEditor *editor) = 0;
		virtual void postMouseMoveEvent(QMouseEvent *event, QEditor *editor) = 0;
		
		virtual bool mousePressEvent(QMouseEvent *event, QEditor *editor) = 0;
		virtual void postMousePressEvent(QMouseEvent *event, QEditor *editor) = 0;
		
		virtual bool mouseReleaseEvent(QMouseEvent *event, QEditor *editor) = 0;
		virtual void postMouseReleaseEvent(QMouseEvent *event, QEditor *editor) = 0;
		
		virtual bool mouseDoubleClickEvent(QMouseEvent *event, QEditor *editor) = 0;
		virtual void postMouseDoubleClickEvent(QMouseEvent *event, QEditor *editor) = 0;
		
		virtual bool contextMenuEvent(QContextMenuEvent *event, QEditor *editor) = 0;
};

#endif // _QEDITOR_INPUT_BINDING_INTERFACE_H_