File indexing completed on 2024-04-21 03:57:20

0001 /*
0002     SPDX-FileCopyrightText: 2024 Waqar Ahmed <waqar.17a@gmail.com>
0003     SPDX-License-Identifier: LGPL-2.0-or-later
0004 */
0005 
0006 #ifndef KATEARGUMENTHINTTREE_H
0007 #define KATEARGUMENTHINTTREE_H
0008 
0009 #include <QFrame>
0010 
0011 class KateCompletionWidget;
0012 class KateArgumentHintModel;
0013 class QPlainTextEdit;
0014 class QLabel;
0015 class QFont;
0016 class ArgumentHighlighter;
0017 
0018 class ArgumentHintWidget : public QFrame
0019 {
0020 public:
0021     explicit ArgumentHintWidget(KateArgumentHintModel *model, const QFont &font, KateCompletionWidget *completion, QWidget *parent);
0022 
0023     void positionAndShow();
0024     void clearAndHide();
0025 
0026     void selectNext();
0027     void selectPrevious();
0028 
0029     void updateGeometry();
0030 
0031 private:
0032     void activateHint(int i, int rowCount);
0033 
0034     KateCompletionWidget *const m_completionWidget;
0035     QPlainTextEdit *const m_view;
0036     QLabel *const m_currentIndicator;
0037     int m_current = -1;
0038     KateArgumentHintModel *const m_model;
0039     ArgumentHighlighter *const m_highlighter;
0040     QWidget *const m_leftSide;
0041 };
0042 
0043 #endif