Warning, file /frameworks/ktexteditor/src/inputmode/kateviinputmode.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* 0002 SPDX-FileCopyrightText: KDE Developers 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #ifndef KATE_VI_INPUT_MODE_H 0008 #define KATE_VI_INPUT_MODE_H 0009 0010 #include <memory> 0011 0012 #include "kateabstractinputmode.h" 0013 0014 #include <vimode/inputmodemanager.h> 0015 0016 namespace KateVi 0017 { 0018 class GlobalState; 0019 class EmulatedCommandBar; 0020 } 0021 class KateViInputModeFactory; 0022 0023 class KTEXTEDITOR_EXPORT KateViInputMode : public KateAbstractInputMode 0024 { 0025 explicit KateViInputMode(KateViewInternal *viewInternal, KateVi::GlobalState *global); 0026 friend KateViInputModeFactory; 0027 0028 public: 0029 KTextEditor::View::ViewMode viewMode() const override; 0030 QString viewModeHuman() const override; 0031 KTextEditor::View::InputMode viewInputMode() const override; 0032 QString viewInputModeHuman() const override; 0033 0034 void activate() override; 0035 void deactivate() override; 0036 void reset() override; 0037 0038 bool overwrite() const override; 0039 void overwrittenChar(const QChar &) override; 0040 0041 void clearSelection() override; 0042 bool stealKey(QKeyEvent *) override; 0043 0044 void gotFocus() override; 0045 void lostFocus() override; 0046 0047 void readSessionConfig(const KConfigGroup &config) override; 0048 void writeSessionConfig(KConfigGroup &config) override; 0049 void updateRendererConfig() override; 0050 void updateConfig() override; 0051 void readWriteChanged(bool rw) override; 0052 0053 void find() override; 0054 void findSelectedForwards() override; 0055 void findSelectedBackwards() override; 0056 void findReplace() override; 0057 void findNext() override; 0058 void findPrevious() override; 0059 0060 void activateCommandLine() override; 0061 0062 bool keyPress(QKeyEvent *) override; 0063 bool blinkCaret() const override; 0064 KateRenderer::caretStyles caretStyle() const override; 0065 0066 void toggleInsert() override; 0067 void launchInteractiveCommand(const QString &command) override; 0068 0069 QString bookmarkLabel(int line) const override; 0070 0071 public: 0072 void showViModeEmulatedCommandBar(); 0073 KateVi::EmulatedCommandBar *viModeEmulatedCommandBar(); 0074 inline KateVi::GlobalState *globalState() const 0075 { 0076 return m_viGlobal; 0077 } 0078 inline KateVi::InputModeManager *viInputModeManager() const 0079 { 0080 return m_viModeManager.get(); 0081 } 0082 inline bool isActive() const 0083 { 0084 return m_activated; 0085 } 0086 void setCaretStyle(const KateRenderer::caretStyles caret); 0087 0088 private: 0089 KateVi::EmulatedCommandBar *m_viModeEmulatedCommandBar; 0090 KateVi::GlobalState *m_viGlobal; 0091 KateRenderer::caretStyles m_caret; 0092 0093 bool m_nextKeypressIsOverriddenShortCut; 0094 0095 // configs 0096 bool m_relLineNumbers; 0097 bool m_activated; 0098 0099 std::unique_ptr<KateVi::InputModeManager> m_viModeManager; 0100 }; 0101 0102 #endif