MIT License Copyright (c) 2023 NullExp Класс TabStudentsController представляет собой контроллер для работы с интерфейсом взаимодействия с объектами типа Student. Методы класса: 1. initialize(view) - конструктор класса, принимает объект представления (view) и создает пустой объект типа DataListStudentShort, которому присваивается метод add_listener с аргументом view, в результате чего представление устанавливается в качестве слушателя событий изменения состояния данных (data_list). 2. on_view_created - метод, инициализирующий объект типа StudentRepository, который используется для взаимодействия с базой данных, и при возникновении ошибки подключения к базе выводит диалоговое окно с сообщением об ошибке. 3. show_view - метод, отображающий основное окно приложения. 4. show_modal_add - метод, отображающий модальное окно для создания новой записи о студенте. Создает экземпляр контроллера StudentInputFormControllerCreate и передает ему ссылку на текущий контроллер, создает объект типа StudentInputForm и передает ему ссылку на контроллер. После чего отображает модальное окно. 5. show_modal_edit(current_page, per_page, selected_row) - метод, отображающий модальное окно для редактирования записи о студенте. Принимает значения текущей страницы (current_page), количества записей на странице (per_page) и выбранной строки (selected_row). Вычисляет номер выбранного студента и выбирает его id из объекта DataListStudentShort, после чего передает его в контроллер StudentInputFormControllerEdit, создает объект типа StudentInputForm и передает ему ссылку на контроллер. После чего отображает модальное окно. 6. delete_selected(current_page, per_page, selected_row) - метод, удаляющий выбранную запись о студенте. Принимает значения текущей страницы (current_page), количества записей на странице (per_page) и выбранной строки (selected_row). Вычисляет номер выбранного студента и выбирает его id из объекта DataListStudentShort, после чего удаляет запись с помощью метода remove_student из объекта типа StudentRepository. 7. refresh_data(page, per_page) - метод, обновляющий данные в списке студентов. Принимает значения текущей страницы (page) и количества записей на странице (per_page). Вызывает метод типа StudentRepository paginated_short_students для получения данных в формате объекта DataListStudentShort. Обновляет информацию о количестве студентов с помощью метода update_student_count представления. Контроллер Student_Input_Form_Controller_Edit и Student_Input_Form_Controller_Create представляют собой формы для изменения и создания студентов в базу данных, соотвественно. Модели student, student_base и student_short представляет собой модель студента с различными полями и методами для установки, получения и обработки информации. Student_base - супер класс, а student_short - короктая информация о студенте.