QGIS/src/gui/qgscodeeditorsql.h
2017-12-12 21:14:58 +11:00

73 lines
2.2 KiB
C++

/***************************************************************************
qgscodeeditorsql.h - A SQL editor based on QScintilla
--------------------------------------
Date : 06-Oct-2013
Copyright : (C) 2013 by Salvatore Larosa
Email : lrssvtml (at) gmail (dot) com
***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#ifndef QGSCODEEDITORSQL_H
#define QGSCODEEDITORSQL_H
#include "qgscodeeditor.h"
#include "qgis_sip.h"
#include "qgis_gui.h"
#include <Qsci/qscilexersql.h>
SIP_IF_MODULE( HAVE_QSCI_SIP )
/**
* \ingroup gui
* A SQL editor based on QScintilla2. Adds syntax highlighting and
* code autocompletion.
* \since QGIS 2.6
* \note may not be available in Python bindings, depending on platform support
*/
class GUI_EXPORT QgsCodeEditorSQL : public QgsCodeEditor
{
Q_OBJECT
public:
//! Constructor for QgsCodeEditorSQL
QgsCodeEditorSQL( QWidget *parent SIP_TRANSFERTHIS = nullptr );
private:
//QgsCodeEditor *mSciWidget;
//QWidget *mWidget;
void setSciLexerSQL();
};
#ifndef SIP_RUN
///@cond PRIVATE
/**
* Internal use.
setAutoCompletionCaseSensitivity( false ) is not sufficient when installing
a lexer, since its caseSensitive() method is actually used, and defaults
to true.
\note not available in Python bindings
\ingroup gui
*/
class QgsCaseInsensitiveLexerSQL: public QsciLexerSQL
{
Q_OBJECT
public:
//! constructor
explicit QgsCaseInsensitiveLexerSQL( QObject *parent = nullptr ) : QsciLexerSQL( parent ) {}
bool caseSensitive() const override { return false; }
};
///@endcond
#endif
#endif