notepad-plus-plus/scintilla/qt/ScintillaEdit/ScintillaEdit.h.template
Christian Grasser a61b03ea88 Update Scintilla from v4.4.6 to v5.2.1 and add Lexilla v5.1.5
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
2022-03-27 17:12:53 +02:00

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 */