1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 15:07:45 +00:00

LibGUI: Add EngineType to EditingEngine classes

This will allow users of EditingEngine classes to determine current type
of EditingEngine (currently either vim or regular).
This commit is contained in:
scwfri 2021-12-08 16:26:20 -06:00 committed by Andreas Kling
parent c9062b4ed5
commit fa94978a7e
3 changed files with 13 additions and 0 deletions

View file

@ -17,6 +17,11 @@ enum CursorWidth {
WIDE
};
enum EngineType {
Regular,
Vim,
};
class EditingEngine {
AK_MAKE_NONCOPYABLE(EditingEngine);
AK_MAKE_NONMOVABLE(EditingEngine);
@ -37,6 +42,9 @@ public:
virtual bool on_key(const KeyEvent& event);
bool is_regular() const { return engine_type() == EngineType::Regular; }
bool is_vim() const { return engine_type() == EngineType::Vim; }
protected:
EditingEngine() { }
@ -73,6 +81,8 @@ protected:
void delete_line();
void delete_char();
virtual EngineType engine_type() const = 0;
private:
void move_selected_lines_up();
void move_selected_lines_down();