aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorStefan Löffler <unknown>2025-12-29 11:47:52 +1100
committerStefan Löffler <unknown>2025-12-29 11:47:52 +1100
commitfff87cbead74efb59338fb59dd1bf1f25e85e14b (patch)
tree4c33f992f64b2d8af7e902b1ce240432e6f92e9e
parentbf57a43329ebf006c1bc831593e7ddd4b2b3123d (diff)
downloadscintilla-mirror-fff87cbead74efb59338fb59dd1bf1f25e85e14b.tar.gz
Bug [#2494]. Add const to ScintillaDocument and ScintillaEdit methods.
-rw-r--r--doc/ScintillaHistory.html4
-rw-r--r--qt/ScintillaEdit/ScintillaDocument.cpp40
-rw-r--r--qt/ScintillaEdit/ScintillaDocument.h40
-rw-r--r--qt/ScintillaEdit/ScintillaEdit.cpp.template8
-rw-r--r--qt/ScintillaEdit/ScintillaEdit.h.template14
5 files changed, 55 insertions, 51 deletions
diff --git a/doc/ScintillaHistory.html b/doc/ScintillaHistory.html
index 99731133f..528ff351e 100644
--- a/doc/ScintillaHistory.html
+++ b/doc/ScintillaHistory.html
@@ -606,6 +606,10 @@
Fix SCI_SETSELECTIONNSTART and SCI_SETSELECTIONNEND to behave more sensibly.
<a href="https://sourceforge.net/p/scintilla/bugs/2488/">Bug #2488</a>.
</li>
+ <li>
+ On Qt, add const to ScintillaDocument and ScintillaEdit methods.
+ <a href="https://sourceforge.net/p/scintilla/bugs/2494/">Bug #2494</a>.
+ </li>
</ul>
<h3>
<a href="https://www.scintilla.org/scintilla558.zip">Release 5.5.8</a>
diff --git a/qt/ScintillaEdit/ScintillaDocument.cpp b/qt/ScintillaEdit/ScintillaDocument.cpp
index e7ca96dff..18cbf5f4f 100644
--- a/qt/ScintillaEdit/ScintillaDocument.cpp
+++ b/qt/ScintillaEdit/ScintillaDocument.cpp
@@ -116,15 +116,15 @@ ScintillaDocument::~ScintillaDocument() {
docWatcher = nullptr;
}
-void *ScintillaDocument::pointer() {
+void *ScintillaDocument::pointer() const {
return pdoc;
}
-int ScintillaDocument::line_from_position(int pos) {
+int ScintillaDocument::line_from_position(int pos) const {
return (static_cast<Document *>(pdoc))->LineFromPosition(pos);
}
-bool ScintillaDocument::is_cr_lf(int pos) {
+bool ScintillaDocument::is_cr_lf(int pos) const {
return (static_cast<Document *>(pdoc))->IsCrLf(pos);
}
@@ -140,11 +140,11 @@ int ScintillaDocument::redo() {
return (static_cast<Document *>(pdoc))->Redo();
}
-bool ScintillaDocument::can_undo() {
+bool ScintillaDocument::can_undo() const {
return (static_cast<Document *>(pdoc))->CanUndo();
}
-bool ScintillaDocument::can_redo() {
+bool ScintillaDocument::can_redo() const {
return (static_cast<Document *>(pdoc))->CanRedo();
}
@@ -156,7 +156,7 @@ bool ScintillaDocument::set_undo_collection(bool collect_undo) {
return (static_cast<Document *>(pdoc))->SetUndoCollection(collect_undo);
}
-bool ScintillaDocument::is_collecting_undo() {
+bool ScintillaDocument::is_collecting_undo() const {
return (static_cast<Document *>(pdoc))->IsCollectingUndo();
}
@@ -172,7 +172,7 @@ void ScintillaDocument::set_save_point() {
(static_cast<Document *>(pdoc))->SetSavePoint();
}
-bool ScintillaDocument::is_save_point() {
+bool ScintillaDocument::is_save_point() const {
return (static_cast<Document *>(pdoc))->IsSavePoint();
}
@@ -180,15 +180,15 @@ void ScintillaDocument::set_read_only(bool read_only) {
(static_cast<Document *>(pdoc))->SetReadOnly(read_only);
}
-bool ScintillaDocument::is_read_only() {
+bool ScintillaDocument::is_read_only() const {
return (static_cast<Document *>(pdoc))->IsReadOnly();
}
-void ScintillaDocument::insert_string(int position, QByteArray &str) {
+void ScintillaDocument::insert_string(int position, const QByteArray &str) {
(static_cast<Document *>(pdoc))->InsertString(position, str.data(), str.size());
}
-QByteArray ScintillaDocument::get_char_range(int position, int length) {
+QByteArray ScintillaDocument::get_char_range(int position, int length) const {
const Document *doc = static_cast<Document *>(pdoc);
if (position < 0 || length <= 0 || position + length > doc->Length())
@@ -199,27 +199,27 @@ QByteArray ScintillaDocument::get_char_range(int position, int length) {
return ba;
}
-char ScintillaDocument::style_at(int position) {
+char ScintillaDocument::style_at(int position) const {
return (static_cast<Document *>(pdoc))->StyleAt(position);
}
-int ScintillaDocument::line_start(int lineno) {
+int ScintillaDocument::line_start(int lineno) const {
return (static_cast<Document *>(pdoc))->LineStart(lineno);
}
-int ScintillaDocument::line_end(int lineno) {
+int ScintillaDocument::line_end(int lineno) const {
return (static_cast<Document *>(pdoc))->LineEnd(lineno);
}
-int ScintillaDocument::line_end_position(int pos) {
+int ScintillaDocument::line_end_position(int pos) const {
return (static_cast<Document *>(pdoc))->LineEndPosition(pos);
}
-int ScintillaDocument::length() {
+int ScintillaDocument::length() const {
return (static_cast<Document *>(pdoc))->Length();
}
-int ScintillaDocument::lines_total() {
+int ScintillaDocument::lines_total() const {
return (static_cast<Document *>(pdoc))->LinesTotal();
}
@@ -231,7 +231,7 @@ bool ScintillaDocument::set_style_for(int length, char style) {
return (static_cast<Document *>(pdoc))->SetStyleFor(length, style);
}
-int ScintillaDocument::get_end_styled() {
+int ScintillaDocument::get_end_styled() const {
return (static_cast<Document *>(pdoc))->GetEndStyled();
}
@@ -259,7 +259,7 @@ int ScintillaDocument::decorations_end(int indic, int position) {
return (static_cast<Document *>(pdoc))->decorations->End(indic, position);
}
-int ScintillaDocument::get_code_page() {
+int ScintillaDocument::get_code_page() const {
return (static_cast<Document *>(pdoc))->CodePage();
}
@@ -267,7 +267,7 @@ void ScintillaDocument::set_code_page(int code_page) {
(static_cast<Document *>(pdoc))->dbcsCodePage = code_page;
}
-int ScintillaDocument::get_eol_mode() {
+int ScintillaDocument::get_eol_mode() const {
return static_cast<int>((static_cast<Document *>(pdoc))->eolMode);
}
@@ -279,6 +279,6 @@ int ScintillaDocument::move_position_outside_char(int pos, int move_dir, bool ch
return (static_cast<Document *>(pdoc))->MovePositionOutsideChar(pos, move_dir, check_line_end);
}
-int ScintillaDocument::get_character(int pos) {
+int ScintillaDocument::get_character(int pos) const {
return (static_cast<Document *>(pdoc))->GetCharacterAndWidth(pos, nullptr);
}
diff --git a/qt/ScintillaEdit/ScintillaDocument.h b/qt/ScintillaEdit/ScintillaDocument.h
index fa129d53b..2e68b8aa1 100644
--- a/qt/ScintillaEdit/ScintillaDocument.h
+++ b/qt/ScintillaEdit/ScintillaDocument.h
@@ -38,48 +38,48 @@ class EXPORT_IMPORT_API ScintillaDocument : public QObject
public:
explicit ScintillaDocument(QObject *parent = 0, void *pdoc_=0);
virtual ~ScintillaDocument();
- void *pointer();
+ void *pointer() const;
- int line_from_position(int pos);
- bool is_cr_lf(int pos);
+ int line_from_position(int pos) const;
+ bool is_cr_lf(int pos) const;
bool delete_chars(int pos, int len);
int undo();
int redo();
- bool can_undo();
- bool can_redo();
+ bool can_undo() const;
+ bool can_redo() const;
void delete_undo_history();
bool set_undo_collection(bool collect_undo);
- bool is_collecting_undo();
+ bool is_collecting_undo() const;
void begin_undo_action(bool coalesceWithPrior = false);
void end_undo_action();
void set_save_point();
- bool is_save_point();
+ bool is_save_point() const;
void set_read_only(bool read_only);
- bool is_read_only();
- void insert_string(int position, QByteArray &str);
- QByteArray get_char_range(int position, int length);
- char style_at(int position);
- int line_start(int lineno);
- int line_end(int lineno);
- int line_end_position(int pos);
- int length();
- int lines_total();
+ bool is_read_only() const;
+ void insert_string(int position, const QByteArray &str);
+ QByteArray get_char_range(int position, int length) const;
+ char style_at(int position) const;
+ int line_start(int lineno) const;
+ int line_end(int lineno) const;
+ int line_end_position(int pos) const;
+ int length() const;
+ int lines_total() const;
void start_styling(int position);
bool set_style_for(int length, char style);
- int get_end_styled();
+ int get_end_styled() const;
void ensure_styled_to(int position);
void set_current_indicator(int indic);
void decoration_fill_range(int position, int value, int fillLength);
int decorations_value_at(int indic, int position);
int decorations_start(int indic, int position);
int decorations_end(int indic, int position);
- int get_code_page();
+ int get_code_page() const;
void set_code_page(int code_page);
- int get_eol_mode();
+ int get_eol_mode() const;
void set_eol_mode(int eol_mode);
int move_position_outside_char(int pos, int move_dir, bool check_line_end);
- int get_character(int pos); // Calls GetCharacterAndWidth(pos, NULL)
+ int get_character(int pos) const; // Calls GetCharacterAndWidth(pos, NULL)
signals:
void modify_attempt();
diff --git a/qt/ScintillaEdit/ScintillaEdit.cpp.template b/qt/ScintillaEdit/ScintillaEdit.cpp.template
index a46a1d12d..a2deb91de 100644
--- a/qt/ScintillaEdit/ScintillaEdit.cpp.template
+++ b/qt/ScintillaEdit/ScintillaEdit.cpp.template
@@ -23,7 +23,7 @@ QByteArray ScintillaEdit::TextReturner(int message, uptr_t wParam) const {
return ba;
}
-QPair<int, int>ScintillaEdit::find_text(int flags, const char *text, int cpMin, int cpMax) {
+QPair<int, int>ScintillaEdit::find_text(int flags, const char *text, int cpMin, int cpMax) const {
struct Sci_TextToFind ft = {{0, 0}, 0, {0, 0}};
ft.chrg.cpMin = cpMin;
ft.chrg.cpMax = cpMax;
@@ -36,7 +36,7 @@ QPair<int, int>ScintillaEdit::find_text(int flags, const char *text, int cpMin,
return QPair<int,int>(start, ft.chrgText.cpMax);
}
-QByteArray ScintillaEdit::get_text_range(int start, int end) {
+QByteArray ScintillaEdit::get_text_range(int start, int end) const {
if (start > end)
start = end;
@@ -50,7 +50,7 @@ QByteArray ScintillaEdit::get_text_range(int start, int end) {
return ba;
}
-ScintillaDocument *ScintillaEdit::get_doc() {
+ScintillaDocument *ScintillaEdit::get_doc() const {
return new ScintillaDocument(0, (void *)send(SCI_GETDOCPOINTER, 0, 0));
}
@@ -60,7 +60,7 @@ void ScintillaEdit::set_doc(ScintillaDocument *pdoc_) {
long ScintillaEdit::format_range(bool draw, QPaintDevice* target, QPaintDevice* measure,
const QRect& print_rect, const QRect& page_rect,
- long range_start, long range_end)
+ long range_start, long range_end) const
{
Sci_RangeToFormat to_format;
diff --git a/qt/ScintillaEdit/ScintillaEdit.h.template b/qt/ScintillaEdit/ScintillaEdit.h.template
index 1444e907c..869788f0d 100644
--- a/qt/ScintillaEdit/ScintillaEdit.h.template
+++ b/qt/ScintillaEdit/ScintillaEdit.h.template
@@ -33,27 +33,27 @@ public:
QByteArray TextReturner(int message, uptr_t wParam) const;
- QPair<int, int>find_text(int flags, const char *text, int cpMin, int cpMax);
- QByteArray get_text_range(int start, int end);
- ScintillaDocument *get_doc();
+ QPair<int, int>find_text(int flags, const char *text, int cpMin, int cpMax) const;
+ QByteArray get_text_range(int start, int end) const;
+ ScintillaDocument *get_doc() const;
void set_doc(ScintillaDocument *pdoc_);
// Same as previous two methods but with Qt style names
- QPair<int, int>findText(int flags, const char *text, int cpMin, int cpMax) {
+ QPair<int, int>findText(int flags, const char *text, int cpMin, int cpMax) const {
return find_text(flags, text, cpMin, cpMax);
}
- QByteArray textRange(int start, int end) {
+ QByteArray textRange(int start, int end) const {
return get_text_range(start, end);
}
// Exposing the FORMATRANGE api with both underscore & qt style names
long format_range(bool draw, QPaintDevice* target, QPaintDevice* measure,
const QRect& print_rect, const QRect& page_rect,
- long range_start, long range_end);
+ long range_start, long range_end) const;
long formatRange(bool draw, QPaintDevice* target, QPaintDevice* measure,
const QRect& print_rect, const QRect& page_rect,
- long range_start, long range_end) {
+ long range_start, long range_end) const {
return format_range(draw, target, measure, print_rect, page_rect,
range_start, range_end);
}