Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Мультидокумент #423

Open
wants to merge 120 commits into
base: main
Choose a base branch
from

Conversation

L140-beep
Copy link
Contributor

@L140-beep L140-beep commented Aug 21, 2024

Что сделано?

  • Полный рефакторинг работы с данными, теперь разные сущности отвечают за работу с моделью данных и за работу с их отображением на канвасе
  • Возможность редактирования нескольких машин состояний одновременно
  • Количество редакторов теперь не ограничено
  • Теперь к каждому канвасу прикрепляется CanvasController, отвечающий за данные для отрисовки
  • Появился класс ModelController, который посредством сигналов передает события об изменениях в данных в CanvasController, который на эти данные подписаны
  • Появился схемотехнический экран, содержащий информацию обо всех компонентах каждой МС

Трекер задач

  • CanvasController
    • Создание
    • Удаление
    • Изменение
  • Исправление ModelController
  • Избавиться от CanvasScheme, useCanvasContext и т.д.
  • Несколько машин состояний
  • Назначить начальным
  • Дублирование
  • Вставка
  • Ивенты состояний
  • Копирование
  • Переходы
  • Заметки
  • Redu неправильно линкует состояние (для проверки - создание состояния - пеместить в родителя)
  • Открытие/сохранение схемы
  • Неправильные координаты вложенных состояний
  • Баг с вылетом при создании новой схемы, когда уже открыта схема
  • Открытие схемы из шаблона
  • Баг с вылетом при удалении вложенных состояний
  • При переключении вкладок теряются созданные компоненты
  • Вылет, если сначала создать пустую схему, а затем открыть существующую
  • Создание и открытие машин состояний через UI
  • Схемотехнический экран
  • При линковке состояния открывается модалка с его редактированием
  • Канвас зависает, если удалить состояние и в него есть переход
  • Вылет приложения, если удалить состояние из темплейта
  • Нельзя "вытащить" дочернее состояние (Нельзя и в мейн ветке)
  • При автоматическом измении перехода из начального состояния открывается модалка
  • Нельзя полностью удалить состояние со вложенностью
  • Если состояние со вложенностью остается последним, то у детей не появляется начального состояния
  • Сломалось переключение вкладок не между канвасами
  • Если закрыть вкладку и начать редактировать МС, то приложение вылетает

UI:

  • Отображение списка машин состояний
  • Добавление машин состояний
  • Удаление машин состояний
  • Отображение списка платформ выпадающим списком
  • Открытие редактора машин состояний через контекстное меню
  • При выделении компонента на схемотехническом экране выделяется другой компонент

AFTER MERGE:

  • Хранение visual в CanvasController
  • функции для изменения формата заметок в ModelController
  • emit изменений формата заметок
  • изменение visual в CanvasController
  • useData('elements.visual')
  • Очень плохо пробрасываются данные в модалку текстового режима
  • Создается лишняя машина ссостояний, если сначала создать машину состояний, а потом открыть схемотехнический экран
  • Не создается псевдосостояние выбора, вылетает все
  • При нажатии подтвердить не закрывается модалка с созданием машины состояний и не открывается вкладка с машиной состояний
  • Не создается GhostTransition из состояний из шаблона, при создании новых все работает
  • Вылетает если несколько раз создать схему (опять вкладки)
  • Приложение зависисает намертво, если создать конечное состояние внутри состояния
  • При удалении вложенного состояния умирает иерархия
  • При удалении через 'Delete' переходы и заметки удаляются только во вьюшке, но не в модели (прокинуть везде сигнал selectElementName)
  • Значки компонентов не ререндерятся, хотя платформа подгрузилась
  • После переименования МС в списке компонентов остается старое название (не вызывается ререндер)
  • ИСТОРИЯ

XidFanSan and others added 30 commits August 15, 2024 17:04
Когда открыта схема, timer пишется с маленькой буквы, что заново создавало
новый компонент почти с таким же именем Timer1
И изменения типов для компонентов.
А также работа с другими компонентами IDE(документация).
схемотехнического экрана.
@L140-beep L140-beep marked this pull request as ready for review October 14, 2024 09:20
src/renderer/src/components/DiagramEditor.tsx Show resolved Hide resolved
src/renderer/src/components/DiagramEditor.tsx Outdated Show resolved Hide resolved
src/renderer/src/components/MainContainer/Tabs/Tabs.tsx Outdated Show resolved Hide resolved
src/renderer/src/store/useSidebar.ts Outdated Show resolved Hide resolved
src/renderer/src/lib/drawable/TransitionNode/Transition.ts Outdated Show resolved Hide resolved
src/renderer/src/lib/drawable/Picto.tsx Show resolved Hide resolved
src/renderer/src/lib/drawable/ComponentNode/Component.ts Outdated Show resolved Hide resolved
L140-beep and others added 21 commits October 17, 2024 18:04
* WIP: загрузчик&мультидок

* сообщение при отсутствии машин состояний

* фикс подписки на машины состояний

Co-Authored-By: Maxim Klypin <[email protected]>

* переном констант наверх

* исправление загрузчиков

* выбор бинарных данных по машине состояний

* более безопасный каст данных

* исправление индекса для извлечения бинарников

---------

Co-authored-by: Maxim Klypin <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants