itom
4.1.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
textBlockUserData.h
1
/* ********************************************************************
2
itom software
3
URL: http://www.uni-stuttgart.de/ito
4
Copyright (C) 2020, Institut fuer Technische Optik (ITO),
5
Universitaet Stuttgart, Germany
6
7
This file is part of itom.
8
9
itom is free software; you can redistribute it and/or modify it
10
under the terms of the GNU Library General Public Licence as published by
11
the Free Software Foundation; either version 2 of the Licence, or (at
12
your option) any later version.
13
14
itom is distributed in the hope that it will be useful, but
15
WITHOUT ANY WARRANTY; without even the implied warranty of
16
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library
17
General Public Licence for more details.
18
19
You should have received a copy of the GNU Library General Public License
20
along with itom. If not, see <http://www.gnu.org/licenses/>.
21
22
Further hints:
23
------------------------
24
25
This file belongs to the code editor of itom. The code editor is
26
in major parts a fork / rewritten version of the python-based source
27
code editor PyQode from Colin Duquesnoy and others
28
(see https://github.com/pyQode). PyQode itself is licensed under
29
the MIT License (MIT).
30
31
Some parts of the code editor of itom are also inspired by the
32
source code editor of the Spyder IDE (https://github.com/spyder-ide),
33
also licensed under the MIT License and developed by the Spyder Project
34
Contributors.
35
36
*********************************************************************** */
37
38
#ifndef TEXTBLOCKUSERDATA_H
39
#define TEXTBLOCKUSERDATA_H
40
41
#include <qstring.h>
42
43
#include <QTextBlockUserData>
44
#include <qpointer.h>
45
#include "codeCheckerItem.h"
46
47
namespace
ito
{
48
49
class
CodeEditor;
50
51
/*
52
Custom text block user data, mainly used to store checker messages and
53
markers.
54
*/
55
class
TextBlockUserData
:
public
QTextBlockUserData
56
{
57
public
:
58
59
enum
BreakpointType
60
{
61
TypeNoBp = 0,
62
TypeBp = 0x0001,
63
TypeBpEdit = 0x0002,
64
TypeFlagDisabled = 0x0004,
65
TypeBpDisabled = TypeBp | TypeFlagDisabled,
66
TypeBpEditDisabled = TypeBpEdit | TypeFlagDisabled
67
};
68
69
enum
StyleType
70
{
71
StylePython,
72
StyleOutput,
73
StyleError
74
};
75
76
TextBlockUserData
(
CodeEditor
*editor);
77
78
virtual
~
TextBlockUserData
();
79
80
void
removeCodeEditorRef();
81
82
//List of checker messages associated with the block.
83
QList<CodeCheckerItem> m_checkerMessages;
84
85
//List of markers draw by a marker panel.
86
QStringList m_markers;
87
88
BreakpointType m_breakpointType;
89
90
bool
m_bookmark;
91
92
QSharedPointer<TextBlockUserData> m_syntaxStack;
//e.g. for python syntax highlighter
93
94
int
m_currentLineIdx;
95
96
StyleType m_syntaxStyle;
97
98
private
:
99
QPointer<CodeEditor> m_codeEditor;
100
};
101
102
}
//end namespace ito
103
104
#endif
ito::TextBlockUserData
Definition:
textBlockUserData.h:55
ito::CodeEditor
Definition:
codeEditor.h:110
ito
Definition:
apiFunctionsGraph.cpp:39
sources
itom
Qitom
codeEditor
textBlockUserData.h
Generated on Thu Mar 4 2021 12:27:27 for itom by
1.8.9