Приложение для работы с табличными данными о деталях.
-
Добавить строку: Добавляем строку в конец таблицы. Для заполнения строки открывается диалоговое окно с соответствующими полями ввода.
-
Удалить строку: Удаляет выделенную строку.
- Добавлены иконки в таблицу, чтобы их убрать в соответствующем помощнике необходимо изменить методы MethodHelper::getIcon() и StyleHelper::getIcon()
- Добавлена возможность работать с деталями по указателю, при изменении их данных это автоматически отобразится в таблице, в том числе можно удалять их.
- Каждый материал содержит полное имя name и сокращенное short_name, short_name содержит только первое слово из name
- Стрелка QComboBox::down-arrow "переворачивается" при нажатии
- QComboBox с единицами измерения для полей массы и плотности. Потенциально можно добавить их обработку моделью.
- MainWindow и ControllerDialog - UI классы.
- FillMode - класс описывающий режим ввода, какие поля показывать/скрывать, какие разгреить/загреить, какие значения указывать по умолчанию и т.д. Можно создавать по объекту этого класса для каждого способа расчёта параметров детали, если в них отличаются требуемые поля ввода и т.п.
- PartItem - класс хранящий информацию о деталях, предназначенный для хранения в табличной модели, испускает сигналы, когда его поля меняются.
- Material - класс хранящий информацию о материале и способе его штриховки.
- PartModel - класс хранящий основую информацию - список деталей. Использует вспомогательные классы наследники AbstractHelper для каждой колонки. Каждый столбец соответствует полю класса PartItem, либо его внутренних классов.
Схема подключения сигналов деталей на примере трёх первых столбцов таблицы.
Каждый помощник отвечает за своё поле в PartItem и, в некотором смысле,
представляет собой один столбец табличной модели. Этот подход более
объектно-ориентированный и универсальный, позволяет проще реализовать остальные
роли ячеек, либо добавить новые поля в PartItem.