QGIS API Documentation 3.41.0-Master (cea29feecf2)
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | List of all members
QgsCodeEditorShell Class Reference

A shell script code editor based on QScintilla2. More...

#include <qgscodeeditorshell.h>

Inheritance diagram for QgsCodeEditorShell:
Inheritance graph
[legend]

Public Member Functions

 QgsCodeEditorShell (QWidget *parent=nullptr, QgsCodeEditor::Mode mode=QgsCodeEditor::Mode::ScriptEditor, Qgis::ScriptLanguage language=Qgis::ScriptLanguage::Unknown)
 Constructor for QgsCodeEditorShell.
 
Qgis::ScriptLanguage language () const override
 Returns the associated scripting language.
 
- 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.
 
QgsCodeInterpreterinterpreter () 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.
 
virtual Qgis::ScriptLanguageCapabilities languageCapabilities () const
 Returns the associated scripting language capabilities.
 
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 Member Functions

void initializeLexer () override
 Called when the dialect specific code lexer needs to be initialized (or reinitialized).
 
- 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.
 
virtual void populateContextMenu (QMenu *menu)
 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.
 
virtual QString reformatCodeString (const QString &string)
 Applies code reformatting to a string and returns the result.
 
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< FlagFlags
 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...
 
- Public Slots inherited from QgsCodeEditor
virtual bool checkSyntax ()
 Applies syntax checking to the editor.
 
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.
 
- Signals inherited from QgsCodeEditor
void helpRequested (const QString &word)
 Emitted when documentation was requested for the specified word.
 
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 const QgsSettingsEntryBoolsettingContextHelpHover
 
static QgsSettingsTreeNodesTreeCodeEditor = 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.
 

Detailed Description

A shell script code editor based on QScintilla2.

Adds syntax highlighting and code autocompletion.

QgsCodeEditorShell supports either Bash (Linux) or Batch (Windows) code interpreters. By default the Batch interpreter will be used on Windows platforms and the Bash interpreter on all other platforms.

Since
QGIS 3.32

Definition at line 96 of file qgscodeeditorshell.h.

Constructor & Destructor Documentation

◆ QgsCodeEditorShell()

QgsCodeEditorShell::QgsCodeEditorShell ( QWidget *  parent = nullptr,
QgsCodeEditor::Mode  mode = QgsCodeEditor::Mode::ScriptEditor,
Qgis::ScriptLanguage  language = Qgis::ScriptLanguage::Unknown 
)

Constructor for QgsCodeEditorShell.

The language argument may be Qgis::ScriptLanguage::Unknown, Qgis::ScriptLanguage::Bash or Qgis::ScriptLanguage::Batch. If the language is Qgis::ScriptLanguage::Unknown, then the Qgis::ScriptLanguage::Batch interpreter will be used on Windows platforms and the Qgis::ScriptLanguage::Bash interpreter on all other platforms.

Definition at line 26 of file qgscodeeditorshell.cpp.

Member Function Documentation

◆ initializeLexer()

void QgsCodeEditorShell::initializeLexer ( )
overrideprotectedvirtual

Called when the dialect specific code lexer needs to be initialized (or reinitialized).

The default implementation does nothing.

Since
QGIS 3.16

Reimplemented from QgsCodeEditor.

Definition at line 71 of file qgscodeeditorshell.cpp.

◆ language()

Qgis::ScriptLanguage QgsCodeEditorShell::language ( ) const
overridevirtual

Returns the associated scripting language.

Since
QGIS 3.30

Reimplemented from QgsCodeEditor.

Definition at line 66 of file qgscodeeditorshell.cpp.


The documentation for this class was generated from the following files: