Добавлен новый виджет верхнего уровня - контейнер обработчика скриптов. Организован базовый механизм работы с ним.
Добавлен (пока пустой) виджет-представление обработчика скриптов.

Этот виджет по сути представляет Scroll Area, в которую будут добавляться виджеты-наблюдатели процесса выполнения команд.
Созданы наброски модели Экшнов. Организовано взаимодействие.

Эта модель представляет собой декоратор ScriptManagerModel и содержит дополнительно указатели на Экшн и его прогресс.
Настройка декоратора.

Теперь он корректно отображает декорируемую модель.
Добавлены состояния виджетов. Чуть-чуть добавлен код в декоратор модели.

Настроены переходы состояний по нажатию кнопки, либо по испусканию сигнала из ManagerView.
Добавлен класс Action и его фабрика. Пока пустые.
Чуть исправлен алгоритм удаления Экшнов.
Разделен метод их создания на два логических метода.
Добавлен экшн-заглушка для проверки работоспособности модели. Написан функционал запуска и останова расчета.

В классе контейнера чуть переработана цепочка вызовов сигнал-слотов, чтобы избежать непоняток с последовательностью их вызовов.
Добавлен класс DummyAction, который считает какую-то хрень (не в потоке), чтобы проверить работу модели.
В класс модели написаны методы, позволяющие обновить представления.
Объявлено пространство имен Math. Добавлен тестовый математический класс для проверки многопоточной обработки.
Поправил соединения с сигналами состояния (надо, чтобы вышестоящие в дереве виджеты корректно обновляли состояние)
Сделаны состояния для модели. Дописан пример двухпоточной обработки.

Агрегирование QThread не очень красиво в данном случае, поэтому было решено отнаследоваться.
Исправлено управление памятью потоков.

Теперь поток создается непосредственно перед запуском. Уничтожение происходит: перед запуском потоков (но перед его пересозданием) и при принудительном останове.
Надо тестировать, конечно.
Переименован тестовый класс Экшна-Потока
Написан делегат, отрисовывающий QProgressBar
Исправлено поведение колонки таблицы.

Теперь расширяется не последняя секция (с прогресс барами), а вторая (с комментариями).
Исправлена утечка памяти - делегату назначен родитель.
В Action'ы и добавлены деструкторы. Также при closeEvent завершаются все потоки.
Добавлен новый тип Экшнов - для создания ГУЯ. Фабрика создания Экшнов теперь синглтон.

Синглтон не защищен от многопоточного доступа.
Небольшой рефакторинг фабрики Экшнов. Вдобавок в ГУЙ mock Экшны добавил пару строк, чтобы Экшны завершались.
Разрабатываю архитектуру для создания и отображения страниц отчета.

Создан временный класс Report::CreateMock для создания пробной страницы отчета.
Слегка поправлена фабрика экшнов - теперь для ГУЙ-Экшнов устанавливается соединение сигнал-слота, которое отправляет созданную страницу отчета к главному менеджеру.

Создана модель страниц, которая будет содержать в себе указатели на виджеты страниц и управлять их контейнером. Также она будет управлять выводом имени страницы в таблицу.

Создан главный контейнер группы виджетов отчета. Он будет содержать в себе: таблицу со списком готовых страниц; панель кнопок; область прокрутки, в которой будет отображаться выбранная в таблице страница.

Также создан абстрактный класс страницы - Page. Он будет управлять иерархией типов страниц и скорее всего будет содержать метод, который рисует виджеты.