QGIS API Documentation  3.2.0-Bonn (bc43194)
qgscodeeditorsql.cpp
Go to the documentation of this file.
1 /***************************************************************************
2  qgscodeeditorsql.cpp - A SQL editor based on QScintilla
3  --------------------------------------
4  Date : 06-Oct-2013
5  Copyright : (C) 2013 by Salvatore Larosa
6  Email : lrssvtml (at) gmail (dot) com
7  ***************************************************************************
8  * *
9  * This program is free software; you can redistribute it and/or modify *
10  * it under the terms of the GNU General Public License as published by *
11  * the Free Software Foundation; either version 2 of the License, or *
12  * (at your option) any later version. *
13  * *
14  ***************************************************************************/
15 
16 #include "qgsapplication.h"
17 #include "qgscodeeditorsql.h"
18 
19 #include <QWidget>
20 #include <QString>
21 #include <QFont>
22 #include <QLabel>
23 
24 
26  : QgsCodeEditor( parent )
27 {
28  if ( !parent )
29  {
30  setTitle( tr( "SQL Editor" ) );
31  }
32  setMarginVisible( false );
33  setFoldingVisible( true );
34  setAutoCompletionCaseSensitivity( false );
35  setSciLexerSQL();
36 }
37 
38 
39 void QgsCodeEditorSQL::setSciLexerSQL()
40 {
41  QFont font = getMonospaceFont();
42 #ifdef Q_OS_MAC
43  // The font size gotten from getMonospaceFont() is too small on Mac
44  font.setPointSize( QLabel().font().pointSize() );
45 #endif
46  QsciLexerSQL *sqlLexer = new QgsCaseInsensitiveLexerSQL( this );
47  sqlLexer->setDefaultFont( font );
48  sqlLexer->setFont( font, -1 );
49  font.setBold( true );
50  sqlLexer->setFont( font, QsciLexerSQL::Keyword );
51  sqlLexer->setColor( Qt::darkYellow, QsciLexerSQL::DoubleQuotedString ); // fields
52 
53  setLexer( sqlLexer );
54 }
A text editor based on QScintilla2.
Definition: qgscodeeditor.h:38
void setFoldingVisible(bool folding)
Set folding visible state.
QFont getMonospaceFont()
QgsCodeEditorSQL(QWidget *parent=nullptr)
Constructor for QgsCodeEditorSQL.
void setMarginVisible(bool margin)
Set margin visible state.
void setTitle(const QString &title)
Set the widget title.