QgsCodeEditorHTML::QgsCodeEditorHTML( QWidget *parent ) : QgsCodeEditor( parent ) { if ( !parent ) { setTitle( tr( "HTML Editor" ) ); } setMarginVisible( false ); setFoldingVisible( true ); setSciLexerHTML(); }
QgsCodeEditorCSS::QgsCodeEditorCSS( QWidget *parent ) : QgsCodeEditor( parent ) { if ( !parent ) { setTitle( tr( "CSS Editor" ) ); } setMarginVisible( false ); setFoldingVisible( true ); setSciLexerCSS(); }
QgsCodeEditorSQL::QgsCodeEditorSQL( QWidget *parent ) : QgsCodeEditor( parent ) { if ( !parent ) { setTitle( tr( "SQL Editor" ) ); } setMarginVisible( false ); setFoldingVisible( true ); setAutoCompletionCaseSensitivity( false ); setSciLexerSQL(); }
QgsCodeEditorExpression::QgsCodeEditorExpression( QWidget *parent ) : QgsCodeEditor( parent ) { if ( !parent ) { setTitle( tr( "Expression Editor" ) ); } setMarginVisible( false ); setFoldingVisible( true ); setAutoCompletionCaseSensitivity( false ); initializeLexer(); }
void QgsCodeEditor::setSciWidget() { setUtf8( true ); setCaretLineVisible( true ); setCaretLineBackgroundColor( QColor( "#fcf3ed" ) ); setBraceMatching( QsciScintilla::SloppyBraceMatch ); setMatchedBraceBackgroundColor( QColor( "#b7f907" ) ); // whether margin will be shown setMarginVisible( mMargin ); // whether margin will be shown setFoldingVisible( mFolding ); // indentation setAutoIndent( true ); setIndentationWidth( 4 ); setTabIndents( true ); setBackspaceUnindents( true ); setTabWidth( 4 ); // autocomplete setAutoCompletionThreshold( 2 ); setAutoCompletionSource( QsciScintilla::AcsAPIs ); }
void QgsCodeEditorPython::setSciLexerPython() { // current line setCaretWidth( 2 ); setEdgeMode( QsciScintilla::EdgeLine ); setEdgeColumn( 80 ); setEdgeColor( QColor( "#FF0000" ) ); setWhitespaceVisibility( QsciScintilla::WsVisibleAfterIndent ); QFont font = getMonospaceFont(); QsciLexerPython* pyLexer = new QsciLexerPython(); pyLexer->setDefaultFont( font ); pyLexer->setFont( font, 1 ); // comment pyLexer->setFont( font, 3 ); // singlequotes pyLexer->setFont( font, 4 ); // doublequotes pyLexer->setFont( font, 6 ); // triplequotes pyLexer->setColor( Qt::red, 1 ); // comment color pyLexer->setColor( Qt::darkGreen, 5 ); // keyword color pyLexer->setColor( Qt::darkBlue, 15 ); // decorator color QsciAPIs* apis = new QsciAPIs( pyLexer ); // check if the file is a prepared apis file. //QString mPapFileName = QFileInfo( mAPISFilesList[0] ).fileName(); //QString isPapFile = mPapFileName.right( 3 ); //QgsDebugMsg( QString( "file extension: %1" ).arg( isPapFile ) ); if ( mAPISFilesList.isEmpty() ) { mPapFile = QgsApplication::pkgDataPath() + "/python/qsci_apis/pyqgis.pap"; apis->loadPrepared( mPapFile ); } else if ( mAPISFilesList.length() == 1 && mAPISFilesList[0].right( 3 ) == "pap" ) { if ( !QFileInfo( mAPISFilesList[0] ).exists() ) { QgsDebugMsg( QString( "The apis file %1 not found" ).arg( mAPISFilesList[0] ) ); return; } mPapFile = mAPISFilesList[0]; apis->loadPrepared( mPapFile ); } else { for ( int i = 0; i < mAPISFilesList.size(); i++ ) { if ( !QFileInfo( mAPISFilesList[i] ).exists() ) { QgsDebugMsg( QString( "The apis file %1 was not found" ).arg( mAPISFilesList[i] ) ); return; } else { apis->load( mAPISFilesList[i] ); } } apis->prepare(); pyLexer->setAPIs( apis ); } setLexer( pyLexer ); setMarginVisible( true ); setFoldingVisible( true ); }