Выделение отдельных сервисов
This commit is contained in:
@@ -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");
|
||||
|
||||
Reference in New Issue
Block a user