18 #ifndef NCLTEXTEDITOR_H
19 #define NCLTEXTEDITOR_H
23 #include <QWheelEvent>
24 #include <QMessageBox>
25 #include <QDomDocument>
26 #include <Qsci/qsciscintilla.h>
30 #include "QsciLexerNCL.h"
31 #include "QsciNCLAPIs.h"
33 #define PREF_FONT_FAMILY "Courier"
34 #define PREF_FONT_SIZE 10
40 #define PREF_CARET_LINE_BG_COLOR QColor("#B9D3EE")
41 #define PREF_FOLD_MARGIN_FORE_COLOR QColor("#B9D3EE")
42 #define PREF_FOLD_MARGIN_BACK_COLOR QColor("#FFFFFF")
43 #define MARGINS_BACKGROUND_COLOR QColor("#ffffff")
46 #define PREF_CARET_LINE_BG_COLOR QColor("#B9D3EE")
47 #define PREF_FOLD_MARGIN_FORE_COLOR QColor("#FFFFFF")
48 #define PREF_FOLD_MARGIN_BACK_COLOR QColor("#AAAAAA")
49 #define MARGINS_BACKGROUND_COLOR QColor("#BBBBBB")
67 TAB_BEHAVIOR_DEFAULT = 1,
68 TAB_BEHAVIOR_NEXT_ATTR_AFTER_AUTOCOMPLETE,
69 TAB_BEHAVIOR_NEXT_ATTR
75 void setTabBehavior(TAB_BEHAVIOR tabBehavior);
76 void userFillingNextAttribute(
int pos);
77 void userFillingPreviousAttribute(
int pos);
78 void updateVisualFillingAttributeField(
int line,
84 QString textWithoutUserInteraction();
85 void setTextWithoutUserInteraction(QString text);
87 void setDocumentUrl(QString docURL);
88 QString getDocumentUrl();
89 bool parseDocument(
bool recursive =
true);
90 void updateElementsIDWithAlias(QDomDocument doc, QString alias);
92 QDomElement elementById(
const QDomDocument &domDoc, QString
id);
93 QDomElement elementById(QString
id,
bool recursive =
true);
94 QList <QDomElement> elementsByTagname(QString tagname);
95 QList <QDomElement> elementsByTagname(
const QDomDocument &domDoc,
97 QList <QDomElement> elementsByTagname(QString tagname, QString parentId);
100 enum INTERACTION_STATE
103 FILLING_ATTRIBUTES_STATE
106 INTERACTION_STATE interaction_state;
112 QMap <QString, QDomDocument> domDocs;
116 int filling_attribute_indicator;
118 TAB_BEHAVIOR tabBehavior;
119 bool focusInIgnoringCurrentText;
120 QString textWithoutUserInter;
122 void initParameters();
125 void wheelEvent( QWheelEvent * event );
126 void keyPressEvent(QKeyEvent *event);
127 void keyReleaseEvent(QKeyEvent *event);
128 void mousePressEvent(QMouseEvent *e);
130 bool parseImportedDocuments( QString currentFileURI,
131 QDomDocument &doc,
bool recursive =
true);
134 void AutoCompleteCompleted();
135 void focusInEvent(QFocusEvent *e);
136 void focusOutEvent(QFocusEvent *e);
145 void clearErrorIndicators();
146 void clearFillingAttributeIndicator();
147 void markError(QString description, QString file,
int line,
int column = 0,
149 void MarkLine(
int,
int, Qt::KeyboardModifiers);
153 void focusLosted(QFocusEvent *event);
156 #endif // NCLTEXTEDITOR_H