2014-07-21 14:31:21 +02:00

107 lines
3.3 KiB
Plaintext

// This is the SIP interface definition for QsciLexerPython.
//
// Copyright (c) 2014 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of QScintilla.
//
// This file may be used under the terms of the GNU General Public
// License versions 2.0 or 3.0 as published by the Free Software
// Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3
// included in the packaging of this file. Alternatively you may (at
// your option) use any later version of the GNU General Public
// License if such license has been publicly approved by Riverbank
// Computing Limited (or its successors, if any) and the KDE Free Qt
// Foundation. In addition, as a special exception, Riverbank gives you
// certain additional rights. These rights are described in the Riverbank
// GPL Exception version 1.1, which can be found in the file
// GPL_EXCEPTION.txt in this package.
//
// If you are unsure which license is appropriate for your use, please
// contact the sales department at sales@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
class QsciLexerPython : QsciLexer
{
%TypeHeaderCode
#include <Qsci/qscilexerpython.h>
%End
public:
enum {
Default,
Comment,
Number,
DoubleQuotedString,
SingleQuotedString,
Keyword,
TripleSingleQuotedString,
TripleDoubleQuotedString,
ClassName,
FunctionMethodName,
Operator,
Identifier,
CommentBlock,
UnclosedString,
HighlightedIdentifier,
Decorator,
};
enum IndentationWarning {
NoWarning,
Inconsistent,
TabsAfterSpaces,
Spaces,
Tabs
};
%If (Qsci_Qt4)
QsciLexerPython(QObject *parent /TransferThis/ = 0);
%End
%If (!Qsci_Qt4)
QsciLexerPython(QObject *parent /TransferThis/ = 0, const char *name = 0);
%End
virtual ~QsciLexerPython();
const char *language() const;
const char *lexer() const;
QColor defaultColor(int style) const;
bool defaultEolFill(int style) const;
QFont defaultFont(int style) const;
QColor defaultPaper(int style) const;
const char *keywords(int set) const;
QString description(int style) const;
void refreshProperties();
bool foldComments() const;
void setFoldCompact(bool fold);
bool foldCompact() const;
bool foldQuotes() const;
QsciLexerPython::IndentationWarning indentationWarning() const;
void setHighlightSubidentifiers(bool enabled);
bool highlightSubidentifiers() const;
void setStringsOverNewlineAllowed(bool allowed);
bool stringsOverNewlineAllowed() const;
void setV2UnicodeAllowed(bool allowed);
bool v2UnicodeAllowed() const;
void setV3BinaryOctalAllowed(bool allowed);
bool v3BinaryOctalAllowed() const;
void setV3BytesAllowed(bool allowed);
bool v3BytesAllowed() const;
public slots:
virtual void setFoldComments(bool fold);
virtual void setFoldQuotes(bool fold);
virtual void setIndentationWarning(QsciLexerPython::IndentationWarning warn);
protected:
bool readProperties(QSettings &qs, const QString &prefix);
bool writeProperties(QSettings &qs, const QString &prefix) const;
private:
QsciLexerPython(const QsciLexerPython &);
};