VIM-like-text-editor/mvc/controllers.py

23 lines
944 B
Python
Raw Normal View History

2025-02-04 14:17:15 +03:00
from mvc.views import CursesAdapter
from mvc.models import VimModel
class EditController:
def __init__(self, model: VimModel, view: CursesAdapter):
self.model = model
self.view = view
def HandleInput(self, symbolCode):
"""Обработка ввода пользователя"""
match symbolCode:
case self.view.KEY_ESCAPE: return False
case self.view.KEY_LEFT: self.model.MoveLeft()
case self.view.KEY_RIGHT: self.model.MoveRight()
case self.view.KEY_UP: self.model.MoveUp()
case self.view.KEY_DOWN: self.model.MoveDown()
case self.view.KEY_BACKSPACE: self.model.Backspace()
case self.view.KEY_ENTER: self.model.Enter()
case self.view.KEY_CTRL_S: self.model.SaveFile()
case _: self.model.InsertSymbol(symbolCode)
self.model.Scroll(self.view.lines, self.view.cols)
return True