Выделение отдельных сервисов

This commit is contained in:
2026-01-08 00:00:50 +03:00
parent c3770c789b
commit 9ea82af329
8 changed files with 35 additions and 33 deletions

View File

@@ -20,8 +20,10 @@
* `Abstractions/` — Интерфейсы для расширения системы.
* `Models/` — Базовые сущности дерева (узлы, направления, ориентация).
* `Engine/``LayoutManager`, реализующий логику трансформации дерева.
* `Context/` Сервисы управления активными состояниями и командами.
* `Services/` - Сервисы управления интерфейсом
* `ContextService` - Сервис управления контекстом приложения.
* `LayoutService` - Сервис управления макетом.
* `NotificationService` - Сервис уведомлений.
* `Persistence/` — Логика сохранения макета в JSON.
## 🛠 Использование
@@ -29,20 +31,20 @@
### Создание базового макета
```csharp
var layoutManager = new LayoutManager();
var layoutService = new LayoutService();
// Создаем контентные узлы
var explorer = new ContentNode(new MyToolComponent("Solution Explorer", "Explorer"));
var editor = new ContentNode(new MyDocumentComponent("Main.cs", "CodeEditor"));
// Устанавливаем редактор как корень
layoutManager.SetRoot(editor);
layoutService.SetRoot(editor);
// Прикрепляем проводник слева от редактора
layoutManager.Dock(explorer, editor, DockDirection.Left);
layoutService.Dock(explorer, editor, DockDirection.Left);
//Переключение контекста
var contextService = new ContextManager();
var contextService = new ContextService();
// Вызывается при активации вкладки в UI
contextService.SetContext("CodeEditor");