mirror of
https://github.com/notepad-plus-plus/notepad-plus-plus.git
synced 2025-08-27 04:38:26 +02:00
Update with https://www.scintilla.org/scintilla521.zip https://www.scintilla.org/lexilla515.zip - fix setting to bring Scintilla::PositionCR from ScintillaStructures.h inline with Sci_Position.h Sci_PositionCR - add workaround to enable lexer for searchResult commented out SCI_SETILEXER call on searchResult to get one result which is correctly handled by the lexer, added comment about the current problem with property @MarkingsStruct which seems to disappear after call to SCI_SETILEXER or CreateLexer - corrected usage of ObjC lexer - removed unnecessary filter stuff - use own sections for scintilla and lexilla build targets and allow parallel builds - as libscilex is no longer existing, changed to libscintilla - adapt makefiles and cmake - use VS2019 - started simple changes for createlexer adaptations, nullpointercheck missing on return of lexer name from deprecated LexerNameFromID -> undefined behaviour - movement from id -> lexer name, mostly done via LexerNameFromID + switching off corresponding compiler warning - changed to SCI_SETILEXER from SCI_SETLEXER, SCI_SETLEXERLANGUAGE needs to be corrected, see Scintilla5Migration.html - just commented out: SCI_LOADLEXERLIBRARY Fix #10504, close #11419
74 lines
2.3 KiB
Plaintext
74 lines
2.3 KiB
Plaintext
// @file ScintillaEdit.h
|
|
// Extended version of ScintillaEditBase with a method for each API
|
|
// Copyright (c) 2011 Archaeopteryx Software, Inc. d/b/a Wingware
|
|
|
|
#ifndef SCINTILLAEDIT_H
|
|
#define SCINTILLAEDIT_H
|
|
|
|
#include <QPair>
|
|
|
|
#include "ScintillaEditBase.h"
|
|
#include "ScintillaDocument.h"
|
|
|
|
#ifndef EXPORT_IMPORT_API
|
|
#ifdef WIN32
|
|
#ifdef MAKING_LIBRARY
|
|
#define EXPORT_IMPORT_API __declspec(dllexport)
|
|
#else
|
|
// Defining dllimport upsets moc
|
|
#define EXPORT_IMPORT_API __declspec(dllimport)
|
|
//#define EXPORT_IMPORT_API
|
|
#endif
|
|
#else
|
|
#define EXPORT_IMPORT_API
|
|
#endif
|
|
#endif
|
|
|
|
class EXPORT_IMPORT_API ScintillaEdit : public ScintillaEditBase {
|
|
Q_OBJECT
|
|
|
|
public:
|
|
ScintillaEdit(QWidget *parent = 0);
|
|
virtual ~ScintillaEdit();
|
|
|
|
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();
|
|
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) {
|
|
return find_text(flags, text, cpMin, cpMax);
|
|
}
|
|
|
|
QByteArray textRange(int start, int end) {
|
|
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 formatRange(bool draw, QPaintDevice* target, QPaintDevice* measure,
|
|
const QRect& print_rect, const QRect& page_rect,
|
|
long range_start, long range_end) {
|
|
return format_range(draw, target, measure, print_rect, page_rect,
|
|
range_start, range_end);
|
|
}
|
|
|
|
/* ++Autogenerated -- start of section automatically generated from Scintilla.iface */
|
|
/* --Autogenerated -- end of section automatically generated from Scintilla.iface */
|
|
|
|
};
|
|
|
|
#if defined(__GNUC__)
|
|
#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
|
|
#if !defined(__clang__) && (__GNUC__ >= 8)
|
|
#pragma GCC diagnostic ignored "-Wcast-function-type"
|
|
#endif
|
|
#endif
|
|
|
|
#endif /* SCINTILLAEDIT_H */
|