2018-09-26 15:13:03 +00:00
|
|
|
|
/**
|
2018-10-01 07:40:56 +00:00
|
|
|
|
* Генератор для главной страницы документации.
|
|
|
|
|
* Что тут да как?
|
2018-09-26 15:13:03 +00:00
|
|
|
|
*
|
2018-10-01 07:40:56 +00:00
|
|
|
|
* Новый блок должен состоять из тагов:
|
|
|
|
|
* name - где значением будет число. Все блоки сортируются по имени.
|
|
|
|
|
* поэтому что бы вставить блок между 01 и 02, нужно написать 01.0
|
2018-09-26 15:13:03 +00:00
|
|
|
|
*
|
2018-10-01 07:40:56 +00:00
|
|
|
|
* mainpage - таг который указывает, что этот блок будет использован для документации
|
|
|
|
|
* memberof - указывает предка для блока. Но в случае документации это используется,
|
|
|
|
|
* что бы эти блоки не попали в глобальное пространство.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* ### Документация по работе с GUI версии 2.9.1
|
|
|
|
|
* @name 01
|
|
|
|
|
* @mainpage
|
|
|
|
|
* @memberof mainpage
|
2018-09-26 15:13:03 +00:00
|
|
|
|
*
|
2018-10-01 07:40:56 +00:00
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* ### Содержание:
|
2018-12-05 15:54:00 +00:00
|
|
|
|
* - #### [Архитектура](./arch.html)
|
2018-12-10 08:04:43 +00:00
|
|
|
|
* - #### [Наследование](./inheritance.html)
|
|
|
|
|
* - #### [Наследование GUI(деревом)](./gui_tree.html)
|
|
|
|
|
* - #### [Наследование GUI(графом)](./gui_graph.html)
|
|
|
|
|
* - #### [Наследование CORE(деревом)](./core_tree.html)
|
|
|
|
|
* - #### [Наследование CORE(графом)](./core_graph.html)
|
2018-10-01 07:40:56 +00:00
|
|
|
|
* - #### Виджеты
|
|
|
|
|
* - #### Датасорсы
|
|
|
|
|
* - #### Сигнал-Слоты
|
|
|
|
|
* - #### Грид
|
|
|
|
|
* - #### Графики
|
|
|
|
|
* - #### {@link ProvidersSystem Система провайдеров}:
|
|
|
|
|
* - - #### {@link Trees}
|
|
|
|
|
* - - #### {@link Models}
|
|
|
|
|
* - - #### {@link Publishers}
|
|
|
|
|
* - - #### {@link ModelTypes}
|
|
|
|
|
* - - #### {@link GroupTypes}
|
|
|
|
|
* - #### Библиотеки:
|
|
|
|
|
* - - #### {@link std} - реализация сишной библиотеки на js.
|
|
|
|
|
* - - #### {@link v2} - сериализуемые типы, которыми можно обмениваться с ядром.
|
|
|
|
|
* - - #### {@link tools} - разного рода хелперы и инструменты.
|
|
|
|
|
*
|
|
|
|
|
* @name 02
|
2018-09-26 15:13:03 +00:00
|
|
|
|
* @mainpage
|
|
|
|
|
* @memberof mainpage
|
2018-10-01 07:40:56 +00:00
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* ### Система провайдеров.
|
|
|
|
|
*
|
|
|
|
|
* <br>
|
|
|
|
|
*
|
|
|
|
|
* Провайдеры это механизм, который осуществляет общий доступ к любой доступной информации, которую можно получить от ядра
|
|
|
|
|
*
|
|
|
|
|
* Проще говоря, они моделируют объекты, которые существют в ядре и поддерживаются в акутальном состоянии,
|
|
|
|
|
*
|
|
|
|
|
* до тех пор, пока кто-либо ими пользуются. Как только истекает таймер жизни объекта, он вычищается.
|
|
|
|
|
*
|
|
|
|
|
* <br>
|
|
|
|
|
* Провайдеры запускаются перед стартом системы _**js/main.js**_ и определены в глобальной области видимости: **window.ps**.
|
|
|
|
|
*
|
|
|
|
|
* Как только происходит хендшейк и логин пользователя, начинает загружаться GUI.
|
|
|
|
|
*
|
|
|
|
|
* <br>
|
|
|
|
|
* #### Как пользоваться провайдерами?
|
|
|
|
|
*
|
|
|
|
|
* Внутри провайдеров проинициализирован объект {@link Platform} в переменной **ps.pl**.
|
|
|
|
|
*
|
|
|
|
|
* По-сути он моделирует платформу со стороны сервера и содержит в себе менеджеры, через которые можно связываться с ядром.
|
|
|
|
|
*
|
|
|
|
|
* <br>
|
|
|
|
|
* Доступные менеджеры у платформы:
|
|
|
|
|
* - {@link GroupTypes} - Менеджер, который позволяет получить данные по типу компонента, определен как **ps.pl.gtm**
|
|
|
|
|
* - {@link ModelTypes} - Менеджер, который позволяет узнать о содержимом модели **ps.pl.mtm**
|
|
|
|
|
* - {@link Models} - Менеджер, для доступа к устройствам, определен как **ps.pl.mm**
|
|
|
|
|
* - {@link Trees} - Менеджер, для доступа к деревьям, определен как **ps.pl.tm**
|
|
|
|
|
*
|
|
|
|
|
*
|
|
|
|
|
*
|
|
|
|
|
* <br><br>
|
|
|
|
|
* ### {@link Trees} Деревья:
|
|
|
|
|
*
|
|
|
|
|
* Для чего нужны деревья?
|
|
|
|
|
*
|
|
|
|
|
* Например для отображения рабочего стола, каталога моделей, схемы топологии и т.д.
|
|
|
|
|
*
|
|
|
|
|
*
|
|
|
|
|
*
|
|
|
|
|
* <br><br>
|
|
|
|
|
* ### {@link Publishers}. Паблишеры.
|
|
|
|
|
*
|
|
|
|
|
* Для чего нужны паблишеры?
|
|
|
|
|
*
|
|
|
|
|
* В общем случае они предназначены для отображение очень больших списков, которые могут подвесить GUI.
|
|
|
|
|
*
|
2018-10-10 14:53:39 +00:00
|
|
|
|
* Пример использования паблишера есть в форме результатов обнауржения.
|
2018-10-01 07:40:56 +00:00
|
|
|
|
*
|
|
|
|
|
*
|
|
|
|
|
*
|
|
|
|
|
* <br><br>
|
|
|
|
|
* ### {@link Models}. Менеджер моделей.
|
|
|
|
|
*
|
2018-10-10 14:53:39 +00:00
|
|
|
|
* Менеджер моделей предоставляет доступ к устройствами находящимся в системе, которые были обнаружены в сети или добавлены иным способом.
|
2018-10-01 07:40:56 +00:00
|
|
|
|
*
|
|
|
|
|
* Пример использования можно найти в Схеме моделей.
|
|
|
|
|
*
|
|
|
|
|
*
|
|
|
|
|
*
|
|
|
|
|
* <br><br>
|
|
|
|
|
* ### {@link GroupTypes}. Менеджер типов групп.
|
|
|
|
|
*
|
2018-10-10 14:53:39 +00:00
|
|
|
|
* Позволяет получить данные связанные с группой (cTag)
|
2018-10-01 07:40:56 +00:00
|
|
|
|
*
|
|
|
|
|
* Этот механизм используется в виджете для отображения атрибутов модели.
|
|
|
|
|
*
|
|
|
|
|
* А так же для отображения атрибутов компонент.
|
|
|
|
|
*
|
|
|
|
|
* @name 04
|
|
|
|
|
* @mainpage
|
|
|
|
|
* @memberof mainpage
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
|