/* QAD - Qt ADvanced Ivan Pelipenko peri4ko@yandex.ru, Andrey Bychkov work.a.b@yandex.ru This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #ifndef QCODEEDIT_COMPLETER_P_H #define QCODEEDIT_COMPLETER_P_H #include "qcodeedit.h" #include class QCodeEditCompleter: public QTreeWidget { Q_OBJECT public: QCodeEditCompleter(QWidget * parent = nullptr); ~QCodeEditCompleter() override; void nextCompletition(); void previousCompletition(); void addItems(QFont f, const QCodeEdit::ACClass & cl, const QCodeEdit::ACSection & items); void invoke(QPoint global_pos); QString currentReturn() const; QString currentValue() const; private slots: void adjust(); signals: void commit(); void gotoHRef(QCodeEdit::ACEntry e); private: void keyPressEvent(QKeyEvent * e) override; }; #endif // QCODEEDIT_COMPLETER_P_H