Hi Phil,

Thanks for responding, see simple example below:

main.cpp
------------
#include <QApplication>
#include "mainwindow.h"

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    MainWindow mainWin;
    mainWin.show();
    return app.exec();
}

mainwindow.cpp
----------------------
#include <Qsci/qsciscintilla.h>
#include "mainwindow.h"

MainWindow::MainWindow()
{
    textEdit = new QsciScintilla;
    setCentralWidget(textEdit);

    QsciLexerCPP *lexer = new QsciLexerCPP();
    lexer->setDefaultFont(textEdit->font());
    lexer->setFoldComments(true);

    textEdit->setAutoCompletionSource(QsciScintilla::AcsAPIs);
    textEdit->setAutoCompletionThreshold(3);
textEdit->setAutoCompletionUseSingle(QsciScintilla::AcusNever);
    api = new QsciAPIs(lexer);
    api->load("test.api");
    api->prepare();
    textEdit->setLexer(lexer);
}

mainwindow.h
-------------------
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <Qsci/qsciscintilla.h>
#include <Qsci/qscilexercpp.h>
#include <Qsci/qsciapis.h>

class QsciScintilla;

class MainWindow : public QMainWindow
{
public:
    MainWindow();
private:
    QsciScintilla *textEdit;
    QsciAPIs *api;
};

#endif

test.api
----------
test1(double,int,int) Extra info
test2(double)
test3(const char *s, int)

application.pro
--------------------
QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = testwindows
TEMPLATE = app
SOURCES += main.cpp\
        mainwindow.cpp
HEADERS  += mainwindow.h
win32:CONFIG(release, debug|release): LIBS += -LH:/Qt/5.4/msvc2013/lib/ -lqscintilla2 else:win32:CONFIG(debug, debug|release): LIBS += -LH:/Qt/5.4/msvc2013/lib/ -lqscintilla2d
INCLUDEPATH += H:/Qt/5.4/msvc2013/include
DEPENDPATH += H:/Qt/5.4/msvc2013/include

I have also created a small gotomeeting video clip if you are interested,

Thanks,
Henk.

On 20/08/2015 22:55, Phil Thompson wrote:
On 20 Aug 2015, at 8:29 pm, Henk Nep <[email protected]> wrote:
Hi All,

I have added autocompletion which seems to be working fine except for a few 
niggles. If I type in one of the keywords followed by an opening bracket then 
nothing happens, however, if I delete the bracket and retype it again the 
autocompletion kicks in. Similarly, if I type in a few characters followed by 
hitting the TAB key then autocompletion works fine. Is this a known issues?
Impossible to say. Please provide a short, complete example that demonstrates 
the problem.

I also noticed that the autocompletion window is always about 10 lines deep 
even if only 1 keyword is offered, is there a setting to reduce the window size?
That is implemented in the underlying Scintilla code.

Phil

_______________________________________________
QScintilla mailing list
[email protected]
https://www.riverbankcomputing.com/mailman/listinfo/qscintilla

Reply via email to