Инструменты пользователя

Инструменты сайта



ru:sonix:configurator

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
ru:sonix:configurator [2015/03/18 19:46] – внешнее изменение 127.0.0.1ru:sonix:configurator [2023/09/21 22:23] (текущий) – внешнее изменение 127.0.0.1
Строка 1: Строка 1:
-====== Configurator ======+====== Кратко ======
  
-Редактор для изменения конфигурации установки. Изменение конфигурации, в зависимости от степени изменений может производится как программистами, так и пользователями.+===== Создание ссылок =====
  
-Есть два варианта программы+В конфигураторе есть возможность создания ссылок на интересующие параметры. Для этого необходимо во вкладке «Objects» или «Devices» в дереве объектов выбрать необходимый объект. После чего в таблице параметров щелкнуть правой кнопкой мыши по необходимым параметрам. В появившемся контекстном меню нажать «Add Link». После чего появится диалог для указания имени ссылки. После указания имени ссылки и нажатии кнопки «Ок» ссылка будет добавлена в таблицу ссылок на вкладке «Linked».
-  * С ограниченной функциональностью (для пользователей) +
-  * С полной функциональностью (для разработчиков)+
  
-===== Пользовательский вариант =====+===== Linked =====
  
-Представляет собой таблицу, которая позволяет изменять определенные параметры для пользователей.+Набор ссылок на параметры конфигурации. У ссылок есть статус, обозначающий наличие или отсутствие объекта в конфигурационном файле.
  
-Параметры для редактирования устанавливаются разработчиками.+У объектов отсутствующих в конфигурации выводится значение «Data Not Found» и они обозначаются специальной иконкой.
  
-<note warning>При изменении структуры конфигурационного файла разработчикам, требуется проверить параметры в пользовательской версии программы</note>+При наведении курсора мыши на ссылку высвечивается подсказка с указанием на расположение объекта в структуре конфигурационного файла (вкладка «Objects»).
  
-Таблица позволяет изменять данные, в зависимости от типа.+===== Изменение данных =====
  
-===== Вариант для разработчиков =====+Данные изменяются путём двойного щелчка по необходимому параметру в таблице ссылок. Изменение данных проводится с учётом типа данных.
  
-Включает расширенный вариант для пользователей, возможность работы с деревом конфигурационного файла, а так же отображение структур конфигурационного файла.+<note tip>Для получения полной информации о работе программы читаем ВСЮ документацию, если указанный случай не описан в документации — обращаемся к разработчикам.</note>
  
-Данная программа отображает: +{{ :ru:sonix:links.png |}}
-  * Таблицу с вынесенными данными (для быстрого поиска параметров) +
-  * Дерево объектами для конфигурационного файла +
-  * Дерево со структурами, для конфигурационного файла (для отладки)+
  
-При работе деревом объектов есть возможность удалять объект из корня, копировать, добавлять и удалять объект вектора.+====== Функции ======
  
-Кроме изменения данных при работе с деревом, есть возможность добавить параметр для пользователей и задать ему имя.+===== Кнопки =====
  
-В варианте для пользователей, кроме редактирования, можно изменить имя параметра, или удалить его.+==== Файлы ====
  
-====== Структура конфигурационного файла ======+Доступны в **Menu->File** и на панели инструментов
  
-В конфигурационном файле есть следующие поля:+ {{:ru:sonix:folderopenblue_2189.png?32 |}} **Open** — открывает указанный файл
  
-  key — имя поля + {{:ru:sonix:floppy-64_5880.png?32 |}} **Save** — сохранить изменения в открытый файл
-  * 'value' — значение поля (value) +
-  * 'type' — тип поля (type) +
-  * '__list__'  — обозначает вектор+
  
-Переменная value, может принимать широкий диапазон значений, от целого, или строки, до списка, или словаря.+ {{:ru:sonix:save_all_4467.png?32 |}} **Save As** — сохранить изменения в указанный файл (или создать файл при его отсутствии)
  
-Переменная type, либо принимает обычный тип (int, double, __string__, bool), либо указывает на структуру (обычную, или с вектором)+==== Объединение файлов ====
  
-===== SimpleItem =====+Доступны в **Menu-> Append** и на панели инструментов
  
-Представляет собой обычное поле, в которое записано какое-либо значение. В конфигурационном файле приведено к следующему виду:+ {{:ru:sonix:editcopy_2579.png?32 |}} **Union** — добавляет в открытый файл корневые элементы из указанного файла, при их совпадении сохраняются элементы из открытого файла (данную функцию удобно использовать, когда нужно добавить элементы конфигурации из другого файла, сохранив параметры уже существующих)
  
-   key: {'value'value, 'type'type}+ {{:ru:sonix:add_8547.png?32 |}} **Add from file** — добавление/замена выбранных корневых элементов из указанного файла, при совпадении элементов они заменяются (можно использовать, когда необходимо добавить или заменить несколько корневых элементов из указанного файла)
  
-===== ListItem =====+ {{:ru:sonix:friendfinder_7249.png?32 |}} **Open folder** — объединение выбранных файлов в указанной папке (выполняется поочередный Union, для всех выбранных файлов, нет возможности указать последовательность объединения файлов, данную функцию можно использовать, когда необходимо объединить несколько файлов, созданных Sonix+)
  
-Представляет собой вектор внутри структуры, записанный как:+==== Окно ====
  
-   '__list__': [{ }]+Доступны в **Menu->File** и на панели инструментов
  
-===== ObjectItem =====+ {{:ru:sonix:gtk-fullscreen_3125.png?32 |}} {{:ru:sonix:gtk-leave-fullscreen_8173.png?32 |}} **Full Screen** — включение/выключение полноэкранного режима
  
-Структура, отображаемая в конфигурационном файле, в виде:+ {{:ru:sonix:gnome-session-logout_4728.png?32 |}} **Exit** — закрытие программы
  
-   key: {'type': type, 'value': {}}+===== Всплывающие меню =====
  
-Где type содержи название структуры (с указанием на наличие вектора внутри)+==== Структуры ====
  
-===== structItem =====+ {{:ru:sonix:add.png?32 |}} **Select** — удаляет все структуры с идентичными именами, кроме выделенной (правая кнопка мыши по элементу выделенному красным цветом)
  
-Используется для работы со структурами, вместо ObjectItem, так как содержит список дочерних полей и структур, для более оперативного поиска данных.+ {{:ru:sonix:abort.png?32 |}} **Remove** — удаляет указанную структуру (правая кнопка мыши по элементу выделенному красным или жёлтым цветом)
  
-====== Правила построения ======+==== Объекты ====
  
-<note tip>Представлен упрощенный, вероятно не полный вид правил для конфигурационного файла</note>+ {{:ru:sonix:add.png?32 |}} **Add** — создает дочерний элемент списка со значениями по умолчанию (правая кнопка мыши по родительскому элементу списка)
  
-Можно выделить несколько правил записи конфигурационного файла:+ {{:ru:sonix:copy_3924.png?32 |}} **Copy** — копирует указанный объект, добавляю копию в конец списка (правая кнопка мыши по дочернему элементу списка)
  
-  В корне всегда находится ObjectItem + {{:ru:sonix:abort.png?32 |}} **Remove** — удаляет указанный объект (правая кнопка мыши по корневому элементу, или дочернему элементу списка)
-  * ListItem[{SimpleItem}, {ObjectItem}] +
-  * ObjectItem{SimpleItem, ListItem}+
  
-===== Обработка графа структур =====+==== Ссылки ====
  
-Структуры, находятся в конфигурационном файле под ключом 'idl'. Все структуры располагаются в корне и содержат список полей, с данными и структурами.+ {{:ru:sonix:insert-link_2181.png?32 |}} **Add Link** — создать ссылку на указанный параметр (правя кнопка мыши по параметру в таблице с параметрами на вкладке «Objects» или «Devices»)
  
-При чтении конфигурации создается список всех структурв объект (structItem), для каждой структуры записываются имя, и список дочерних полей.+ {{:ru:sonix:update-link_2181.png?32 |}} **Update Link** — изменине имени ссылки (правая кнопка мыши по активной ссылке в таблице ссылок)
  
-Дочерние поля проверяются на наличие структур, и при необходимости, в список дочерних структур добавляется ссылка из списка всех структур, а в дочернюю структуру добавляется ссылка на родительскую.+ {{:ru:sonix:remove-link_2181.png?32 |}} **Remove Link** — удаление ссылки из таблицы ссылок (правя кнопка мыши по ссылке в таблице ссылок)
  
-Далее строится дерево объектов, и структуры линкуются. 
  
-После линковки структур проводится удаление повторяющихся структур и структур без родителей и объектов. После удаления структур без объектов, граф строится с начала, до тех пор, пока при построении графа ни будет удалено ни одной структуры.+====== Вкладки ======
  
-===== Построение дерева объектов =====+===== Structures =====
  
-Дерево объектов строится с учетом правил построения конфигурационного файла, с некоторыми отличиями:+Вкладка структур предназначена для работы с «метаданными» конфигурации. Вкладка содержит список всех используемых классов в конфигурации.
  
-  * Все SimpleItem записываются ObjectItem +При выборе класса в таблице отображаются параметры класса. Таблица состоит из двух столбцов, содержащих название «Name» и описание «Description» параметра.
-  * В ObjectItem, исходя из типа добавляется ссылка на структуру, а в структуру добавляется ссылка на объект +
-  * В ListItem просматриваются дочерние поля, при нахождении поля 'name' в качестве имени используется значение данного поля, в противном случае используется '__list__(name not found)'+
  
-====== Работа с данными ======+==== Обработка структур ====
  
-<note>Работа с данными осуществляется с помощью изменения словаря, который читается из файла</note>+Конфигуратор проводит автоматическую проверку «метаданных». Жёлтым выделяются структуры, у которых нет объектов (то есть класс не используется). Красным выделяются структуры с одинаковым названием, но разным содержанием. Если есть несколько структур , будет использоваться только одна из них.
  
-У каждого объекта есть ссылка на соответствующий объект в словаре с конфигурацией, в зависимости от типа объекта выполняются различные действия:+Интерфейс предоставляет возможность удалить классы «метаданных» с одинаковыми названиями и текоторые не используются в конфигурации.
  
-  * **SimpleItem** - определяется тип, и дается возможность изменить значение по указанному типу +{{ :ru:sonix:structures.png |}}
-  * **ListItem** - копируется или удаляется объект словаря +
-  * **ObjectItem** - при наличии вектора, из структуры генерируется объект словаря, со значениями по умолчанию и добавляется в словарь +
-  * **Корневой элемент** - удаление объекта из словаря+
  
-<note tip>При изменении структурыпроисходит построение графа структур и дерева объектов из измененного словаря с нуля</note>+ 
 +==== Объекты ==== 
 + 
 +Вкладка содержит дерево структуры, таблицу с параметрами, поле с типом элемента структуры и поле с описанием выбранного элемента. 
 + 
 +Данная вкладка предназначена для изменения структуры и значений параметров конфигурационного файла. 
 + 
 +В таблице отображается список параметров выбранного элемента дерева структуры. Двойной щелчок по элементу в таблице позволяет изменять значение параметра (с учётом типа элемента). 
 + 
 +Нажатие правой кнопки мыши по элементу таблицы позволяет создать ссылку на парамер в таблице ссылок. 
 + 
 +{{ :ru:sonix:objects1.png |}} 
 + 
 +Для элементов, у типа которых есть приставка «list» есть возможность изменять структуру в дереве, а именно — создавать дочерний элемент, копировать или удалять объект. 
 + 
 +Элементы дерева объектов с надписью «list name not found» - списки без поля «name». Конфигуратор не поддерживает создание ссылок на данные с подобными элементами в пути. 
 + 
 +===== Devices ===== 
 + 
 +Устройства — представляют набор ссылок на устройства из вкладки «Objects», обладают идентичной функциональностью, за исключением возможности изменения структуры. 
 + 
 +{{ :ru:sonix:devices.png |}} 
 + 
 + 
 +===== Linked ===== 
 + 
 +Набор ссылок на параметры конфигурации. У ссылок есть статус, обозначающий наличие или отсутствие объекта в конфигурационном файле. 
 + 
 +У объектов отсутствующих в конфигурации выводится значение «Data Not Found» и они обозначаются специальной иконкой. 
 + 
 +При наведении курсора мыши на ссылку высвечивается подсказка с указанием на расположение объекта в структуре конфигурационного файла (вкладка «Objects»). 
 + 
 +{{ :ru:sonix:links.png |}}
ru/sonix/configurator.1426697194.txt.gz · Последнее изменение: (внешнее изменение)