Files
cpp-deque/mainwindow.h
Dmitry Rudakov b6337e6015 Upload to git
2026-06-05 22:19:50 +05:00

88 lines
3.3 KiB
C++

#pragma once
#include <QMainWindow>
#include <random>
#include "model.h"
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
class MainWindow : public QMainWindow {
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
void SetRandomGen(const std::mt19937& random_gen);
private slots:
// Очистить список
void on_btn_clear_clicked();
// Добавить элеменит в начало списка
void on_btn_push_front_clicked();
// Добавить элемент в конец списка
void on_btn_push_back_clicked();
// Удалить элемент из начала списка
void on_btn_pop_front_clicked();
// Удалить элемент из конца списка
void on_btn_pop_back_clicked();
// Вставить элемент в список на определенную позицию
void on_btn_insert_clicked();
// Удалить выбранный элемент
void on_btn_erase_clicked();
// Перейти в начало списка
void on_btn_begin_clicked();
// Перейти в конец списка
void on_btn_end_clicked();
// Перейти на пердыдущий элемент
void on_btn_dec_iterator_clicked();
// Перейти на следующий элемент списка
void on_btn_inc_iterator_clicked();
// Событие обновляет список после изменения
void on_list_widget_currentRowChanged(int currentRow);
// Заполнение списка стандарными элементами (чай, торт)
void on_btn_tea_clicked();
void on_btn_cakes_clicked();
// Изменить элемент списка
void on_btn_edit_clicked();
// Изменить количество элементов в списке
void on_btn_resize_clicked();
// Найти элемент в списке
void on_btn_find_clicked();
// Отобразить количество элементов в спике
void on_btn_count_clicked();
// Перейти к минимальному элементу
void on_btn_min_element_clicked();
// Перейти к максимаьному элементу
void on_btn_max_element_clicked();
// Сортировать список
void on_btn_sort_clicked();
// Сортировать список
void on_btn_sOrT_clicked();
// Применить рандомный
void on_btn_shuffle_clicked();
// Удалить повторящиеся элементы
void on_btn_unique_clicked();
// Перевернуть массив
void on_btn_reverse_clicked();
// Поиск элементов меньше и больше заданного значения
void on_btn_lower_bound_clicked();
void on_btn_upper_bound_clicked();
private:
// Выводит на экран элементы списка с 0, устанавливает размер списка
void ApplyModel();
// Выводит текущее полжение итератора, информацию об элементе
void ApplyIterator();
private:
Model deque_model_;
Ui::MainWindow *ui;
std::mt19937 m_random_gen_;
};