QGIS API Documentation 3.41.0-Master (fda2aa46e9a)
|
A Python editor based on QScintilla2. More...
#include <qgscodeeditorpython.h>
Public Slots | |
void | searchSelectedTextInPyQGISDocs () |
Searches the selected text in the official PyQGIS online documentation. | |
void | toggleComment () override |
Toggle comment for the selected text. | |
Public Slots inherited from QgsCodeEditor | |
void | clearPersistentHistory () |
Clears the entire persistent history of commands run in the editor. | |
void | clearSessionHistory () |
Clears the history of commands run in the current session. | |
virtual void | moveCursorToEnd () |
Moves the cursor to the end of the document and scrolls to ensure it is visible. | |
virtual void | moveCursorToStart () |
Moves the cursor to the start of the document and scrolls to ensure it is visible. | |
void | reformatCode () |
Applies code reformatting to the editor. | |
void | removeHistoryCommand (int index) |
Removes the command at the specified index from the history of the code editor. | |
void | runCommand (const QString &command, bool skipHistory=false) |
Runs a command in the editor. | |
void | showHistory () |
Shows the command history dialog. | |
void | showNextCommand () |
Shows the next command from the session in the editor. | |
void | showPreviousCommand () |
Shows the previous command from the session in the editor. | |
virtual void | toggleComment () |
Toggle comment for the selected text. | |
bool | writeHistoryFile () |
Stores the commands executed in the editor to the persistent history file. | |
Public Member Functions | |
PRIVATE | QgsCodeEditorPython (QWidget *parent=nullptr, const QList< QString > &filenames=QList< QString >(), QgsCodeEditor::Mode mode=QgsCodeEditor::Mode::ScriptEditor, QgsCodeEditor::Flags flags=QgsCodeEditor::Flag::CodeFolding) |
Construct a new Python editor. | |
QString | characterAfterCursor () const |
Returns the character after the cursor, or an empty string if the cursor is set at end. | |
QString | characterBeforeCursor () const |
Returns the character before the cursor, or an empty string if cursor is set at start. | |
bool | checkSyntax () override |
Applies syntax checking to the editor. | |
bool | isCursorInsideStringLiteralOrComment () const |
Check whether the current cursor position is inside a string literal or a comment. | |
Qgis::ScriptLanguage | language () const override |
Returns the associated scripting language. | |
Qgis::ScriptLanguageCapabilities | languageCapabilities () const override |
Returns the associated scripting language capabilities. | |
void | loadAPIs (const QList< QString > &filenames) |
Load APIs from one or more files. | |
bool | loadScript (const QString &script) |
Loads a script file. | |
void | updateCapabilities () |
Updates the editor capabilities. | |
Public Member Functions inherited from QgsCodeEditor | |
QgsCodeEditor (QWidget *parent=nullptr, const QString &title=QString(), bool folding=false, bool margin=false, QgsCodeEditor::Flags flags=QgsCodeEditor::Flags(), QgsCodeEditor::Mode mode=QgsCodeEditor::Mode::ScriptEditor) | |
Construct a new code editor. | |
void | addWarning (int lineNumber, const QString &warning) |
Adds a warning message and indicator to the specified a lineNumber. | |
virtual void | callTip () override |
void | clearWarnings () |
Clears all warning messages from the editor. | |
bool | foldingVisible () |
Returns true if the folding controls are visible in the editor. | |
QStringList | history () const |
Returns the list of commands previously executed in the editor. | |
void | insertText (const QString &text) |
Insert text at cursor position, or replace any selected text if user has made a selection. | |
QgsCodeInterpreter * | interpreter () const |
Returns the attached code interpreter, or nullptr if not set. | |
bool | isCursorOnLastLine () const |
Returns true if the cursor is on the last line of the document. | |
int | linearPosition () const |
Convenience function to return the cursor position as a linear index. | |
bool | lineNumbersVisible () const |
Returns whether line numbers are visible in the editor. | |
Q_DECL_DEPRECATED bool | marginVisible () |
Returns whether margins are in a visible state. | |
QgsCodeEditor::Mode | mode () const |
Returns the code editor mode. | |
int | selectionEnd () const |
Convenience function to return the end of the selection as a linear index Contrary to the getSelection method, this method returns the cursor position if no selection is made. | |
int | selectionStart () const |
Convenience function to return the start of the selection as a linear index Contrary to the getSelection method, this method returns the cursor position if no selection is made. | |
void | setCustomAppearance (const QString &scheme=QString(), const QMap< QgsCodeEditorColorScheme::ColorRole, QColor > &customColors=QMap< QgsCodeEditorColorScheme::ColorRole, QColor >(), const QString &fontFamily=QString(), int fontSize=0) |
Sets a custom appearance for the widget, disconnecting it from using the standard appearance taken from QSettings. | |
void | setFoldingVisible (bool folding) |
Set whether the folding controls are visible in the editor. | |
void | setHistoryFilePath (const QString &path) |
Sets the file path to use for recording and retrieving previously executed commands. | |
void | setInterpreter (QgsCodeInterpreter *newInterpreter) |
Sets an attached code interpreter for executing commands when the editor is in the QgsCodeEditor::Mode::CommandInput mode. | |
void | setLinearPosition (int position) |
Convenience function to set the cursor position as a linear index. | |
void | setLinearSelection (int start, int end) |
Convenience function to set the selection using linear indexes. | |
void | setLineNumbersVisible (bool visible) |
Sets whether line numbers should be visible in the editor. | |
Q_DECL_DEPRECATED void | setMarginVisible (bool margin) |
Set margin visible state. | |
void | setTitle (const QString &title) |
Set the widget title. | |
int | wrapPosition (int line=-1) |
Returns the linear position of the start of the last wrapped part for the specified line, or for the current line if line = -1 If wrapping is disabled, returns -1 instead. | |
Protected Slots | |
void | autoComplete () |
Triggers the autocompletion popup. | |
Protected Member Functions | |
void | initializeLexer () override |
Called when the dialect specific code lexer needs to be initialized (or reinitialized). | |
virtual void | keyPressEvent (QKeyEvent *event) override |
void | populateContextMenu (QMenu *menu) override |
Called when the context menu for the widget is about to be shown, after it has been fully populated with the standard actions created by the base class. | |
QString | reformatCodeString (const QString &string) override |
Applies code reformatting to a string and returns the result. | |
Protected Member Functions inherited from QgsCodeEditor | |
void | contextMenuEvent (QContextMenuEvent *event) override |
bool | eventFilter (QObject *watched, QEvent *event) override |
void | focusOutEvent (QFocusEvent *event) override |
void | keyPressEvent (QKeyEvent *event) override |
QColor | lexerColor (QgsCodeEditorColorScheme::ColorRole role) const |
Returns the color to use in the lexer for the specified role. | |
QFont | lexerFont () const |
Returns the font to use in the lexer. | |
void | runPostLexerConfigurationTasks () |
Performs tasks which must be run after a lexer has been set for the widget. | |
virtual void | showMessage (const QString &title, const QString &message, Qgis::MessageLevel level) |
Shows a user facing message (eg a warning message). | |
void | updatePrompt () |
Triggers an update of the interactive prompt part of the editor. | |
void | updateSoftHistory () |
Updates the soft history by storing the current editor text in the history. | |
Additional Inherited Members | |
Public Types inherited from QgsCodeEditor | |
enum class | Flag : int { CodeFolding = 1 << 0 , ImmediatelyUpdateHistory = 1 << 1 } |
Flags controlling behavior of code editor. More... | |
typedef QFlags< Flag > | Flags |
Flags controlling behavior of code editor. | |
enum class | MarginRole : int { LineNumbers = 0 , ErrorIndicators = 1 , FoldingControls = 2 } |
Margin roles. More... | |
enum class | Mode { ScriptEditor , OutputDisplay , CommandInput } |
Code editor modes. More... | |
Signals inherited from QgsCodeEditor | |
void | persistentHistoryCleared () |
Emitted when the persistent history of commands run in the editor is cleared. | |
void | sessionHistoryCleared () |
Emitted when the history of commands run in the current session is cleared. | |
Static Public Member Functions inherited from QgsCodeEditor | |
static QColor | color (QgsCodeEditorColorScheme::ColorRole role) |
Returns the color to use in the editor for the specified role. | |
static QColor | defaultColor (QgsCodeEditorColorScheme::ColorRole role, const QString &theme=QString()) |
Returns the default color for the specified role. | |
static QFont | getMonospaceFont () |
Returns the monospaced font to use for code editors. | |
static QString | languageToString (Qgis::ScriptLanguage language) |
Returns a user-friendly, translated name of the specified script language. | |
static void | setColor (QgsCodeEditorColorScheme::ColorRole role, const QColor &color) |
Sets the color to use in the editor for the specified role. | |
Static Public Attributes inherited from QgsCodeEditor | |
static constexpr int | SEARCH_RESULT_INDICATOR = QsciScintilla::INDIC_MAX - 1 |
Indicator index for search results. | |
static QgsSettingsTreeNode * | sTreeCodeEditor = QgsSettingsTree::sTreeGui->createChildNode( QStringLiteral( "code-editor" ) ) |
Static Protected Member Functions inherited from QgsCodeEditor | |
static bool | isFixedPitch (const QFont &font) |
Returns true if a font is a fixed pitch font. | |
A Python editor based on QScintilla2.
Adds syntax highlighting and code autocompletion.
Definition at line 50 of file qgscodeeditorpython.h.
PRIVATE QgsCodeEditorPython::QgsCodeEditorPython | ( | QWidget * | parent = nullptr , |
const QList< QString > & | filenames = QList<QString>() , |
||
QgsCodeEditor::Mode | mode = QgsCodeEditor::Mode::ScriptEditor , |
||
QgsCodeEditor::Flags | flags = QgsCodeEditor::Flag::CodeFolding |
||
) |
Construct a new Python editor.
parent | The parent QWidget |
filenames | The list of apis files to load for the Python lexer |
mode | code editor mode (since QGIS 3.30) |
flags | code editor flags (since QGIS 3.32) |
Definition at line 58 of file qgscodeeditorpython.cpp.
|
protectedslot |
Triggers the autocompletion popup.
Definition at line 531 of file qgscodeeditorpython.cpp.
QString QgsCodeEditorPython::characterAfterCursor | ( | ) | const |
Returns the character after the cursor, or an empty string if the cursor is set at end.
Definition at line 625 of file qgscodeeditorpython.cpp.
QString QgsCodeEditorPython::characterBeforeCursor | ( | ) | const |
Returns the character before the cursor, or an empty string if cursor is set at start.
Definition at line 615 of file qgscodeeditorpython.cpp.
|
overridevirtual |
Applies syntax checking to the editor.
This is only supported for editors which return the Qgis::ScriptLanguageCapability::CheckSyntax capability from languageCapabilities().
Reimplemented from QgsCodeEditor.
Definition at line 650 of file qgscodeeditorpython.cpp.
|
overrideprotectedvirtual |
Called when the dialect specific code lexer needs to be initialized (or reinitialized).
The default implementation does nothing.
Reimplemented from QgsCodeEditor.
Definition at line 89 of file qgscodeeditorpython.cpp.
bool QgsCodeEditorPython::isCursorInsideStringLiteralOrComment | ( | ) | const |
Check whether the current cursor position is inside a string literal or a comment.
Definition at line 580 of file qgscodeeditorpython.cpp.
|
overrideprotectedvirtual |
Definition at line 226 of file qgscodeeditorpython.cpp.
|
overridevirtual |
Returns the associated scripting language.
Reimplemented from QgsCodeEditor.
Definition at line 79 of file qgscodeeditorpython.cpp.
|
overridevirtual |
Returns the associated scripting language capabilities.
Reimplemented from QgsCodeEditor.
Definition at line 84 of file qgscodeeditorpython.cpp.
void QgsCodeEditorPython::loadAPIs | ( | const QList< QString > & | filenames | ) |
Load APIs from one or more files.
filenames | The list of apis files to load for the Python lexer |
Definition at line 552 of file qgscodeeditorpython.cpp.
bool QgsCodeEditorPython::loadScript | ( | const QString & | script | ) |
Loads a script file.
Definition at line 559 of file qgscodeeditorpython.cpp.
|
overrideprotectedvirtual |
Called when the context menu for the widget is about to be shown, after it has been fully populated with the standard actions created by the base class.
This method provides an opportunity for subclasses to add additional non-standard actions to the context menu.
Reimplemented from QgsCodeEditor.
Definition at line 516 of file qgscodeeditorpython.cpp.
|
overrideprotectedvirtual |
Applies code reformatting to a string and returns the result.
This is only supported for editors which return the Qgis::ScriptLanguageCapability::Reformat capability from languageCapabilities().
Reimplemented from QgsCodeEditor.
Definition at line 360 of file qgscodeeditorpython.cpp.
|
slot |
Searches the selected text in the official PyQGIS online documentation.
Definition at line 708 of file qgscodeeditorpython.cpp.
|
overrideslot |
Toggle comment for the selected text.
Definition at line 719 of file qgscodeeditorpython.cpp.
void QgsCodeEditorPython::updateCapabilities | ( | ) |
Updates the editor capabilities.
Definition at line 635 of file qgscodeeditorpython.cpp.