Chaoswarehouse - платформа для экспериментов с системой представления знаний
на базе семантических сетей.


Pencil - это средство визуально-командного редактирования графов,
которое может использоваться для построения карт знаний, планов, схем, 
диаграмм, в качестве простого векторного графического редактора или аналога 
Visio итд. Есть функции для использования в качестве пульта управления
автоматизированной системы оперативно-диспетчерсого управления или табло
системы мониторинга.



познакомимся с интерфейсом программы
основное место занимает поле документа.

группа кнопок работы с документом:
открытие и сохранение из различных источников, экспорт, вывод на печать, 
настройки

группа поиска и перехода к найденным элементам
группа действий и операций
группа кнопок, управляющих отображением инструментов и подробных списков 
элементов

переключение режимов работы

инструменты для создания элементов
выбор масштаба, позиционирование относительно начала координат,          ++
управление сеткой и привязкой


Откроем демонстрационный документ, файлы имеют расширение scn - 
от слова "СЦЕНА".


Режимы работы:
- навигация
- управление
- редактирование существующего элемента
- добавление нового элемента с автоматическим выбором типа
- добавление нового элемента указанного типа

По умолчанию приложение оказывается в режиме навигации.
В этом режиме можно передвигать полотно, изменять масштаб колесом мыши
переходить по связям между объектами. Можно также напрмямую редактировать 
текщие координаты центра, изменять масштаб и угол поворота и параметры сетки в
с помощью элементов управления в нижней части экрана. 

если мышь отпущена дальше окрестности точки, где была нажата - 
действие расценивается как перенос (Drag)
если в той же окрестности - как клик

размер окрестности в пикселах экрана регулируется в 
настройках (Settings - Mouse Settings- Same place zone)
для устройств с перьевым вводом и при высокой чувствительности мыши
рекомендуется увеличить окрестность.


при изменении масштаба в значительных пределах на сцене легко "заблудиться",
поэтому предусмотрено меню, позволяющее настроить масштаб и координаты так,
чтобы оботражалась вся сцена целиком или на выделенные элементы или вернуться
 к началу координат.


установить центр экрана на точку с заданными координатами
Ctrl+стрелки сдвигает на 1/10 экрана
кнопки панорамирования - на целый экран, что может быть удобно для печати

в режиме навигации возможно обновление содержимого динамических элементов сцены

режим управления
режим управления позволяет исполнять команды, привязанные к элементам сцены
команда по умолчанию?
к элементу сцены может быть привязана одна или несколько команд, которые
будут отображены в виде контекстного меню при щелчке правой кнопкой мыши
остальное управление действует так же, как в режиме навигации

в режиме редактирования 
 при выборе элемента сцены на экране появляется редактор свойств, в котором
можно изменять положение, цвета, стили, шрифты, привязки, назначать действия 
итд. если выбрано более одного элемента - вместо редактора свойств мы увидим
 список выделенных элементов. С его помощью можно уточнять выделение - это
бывает сложно сделать визуальным способом, если элементы располагаются впритык
 или в несколько слоев.  Плюс Минус убрав ненужные
элементы и оставив только нужные Двойной
щелчок переключает нас в редактор элемента

режим автоматического добавления нового элемента
при рисовании на пустом месте создает объект
при рисовании между объектами создает связь между объектами и автоматически
создает порты у объектов
А если рисовали от от уже существующего порта или до порта?


режим добавления нового элемента

можно рассматирвать как набор инструментов для рисования и хотя типов 
основных элементов в сцене всего 4 - объекты, выноски, связи и кривые
инструментов для рисования гораздо больше.
Дело в том, что элемент "кривая" - по сути является контейнером для
команд отображения графических примитивов, а  инструмент - это способ
 ввода, оптимизированный под какое-либо применение.

Поэтому Кривые могут создаваться с помощью нескольких инструментов.

- Создание нового объекта
в зависимости от стиля объекта  способы его создания сильно различаются
на данный момент доступно 5 стилей объектов
- шаблонный
- прямоугольник
- прямоугольник со скругленными углами
- овал
- нестандартный
Нестандартный объект создать нельзя - он получается в результате конвертации 
из кривой. Однако у него можно редактировать свойства.

Шаблонный объект - 
выбираем из библиотеки нужный шаблон и вставляем его одним кликом в нужном
количестве экземпляров. у шаблонного объекта имеется точка вставки, 
масштаб и угол поворота. клик по сцене вставляет новый объект с такими 
параметрами масштаба и поворта, которые были последний раз указаны.
 в этом режиме за мышью ездит резиновая модель будущего объекта, но
видна она будет только если выбранный масштаб отображения сопоставим с 
размерами создаваемого объекта. Если резиновой модели не видно, значит надо
изменить масштаб или убедиться, что шаблон выбран правильно и он непустой. 

объекты в форме прямоугольника, овала и скругленного прямоугольника
работают одинаковым образом:
нажатие мыши фиксирует одну из уголвых точек нового объекта, и 
при перемещении мыши начинает рисоваться резиновый объект.
Отпускание мыши фиксирует второй угол объекта, и он прорисовывается окончательно
Однако, если оба угла совпадают - то объект нулевого размера создан не будет.
Это возможно, когда включена привязка к сетке, и шаг сетки на экране достаточно 
велик. Резиновый объект при этом тоже не отображается.
У таких объектов в редакторе вместо точки вставки доступны координаты двух
углов, ширина, высота, длина диагонали и угол её наклона.
У этих объектов такого типа регулируются цвет фона и линии и её толщина в 
пикселах экрана. Линия будет нарисована заданной толщиной при любом масштабе.


- Создание связи

- Создание выноски
Выноска, т.е. прямоугольник с текстом внутри, создается аналогично объекту
"прямоугольник" - нажатием мыши в одном углу и растягиванием до другого угла.
У выноски регулируется цвет и толщина линии и цвет запонения. Кроме того,
есть галочка Transparent которая делает выноску прозрачной, т.е. отключает как
заливку фона так, и рисование рамки.

Текст выноски редактируется не на самой сцене, а на соответствуещей вкладке
инспектора.
 
Для текста надписи можно изменять стандартные атрибуты шрифта, цвет и размер. 
Атрибуты шрифта применяются ко всей выноске целиком - нельзя сделать одну 
строку дргого цвета или крупнее.
Редактирование размера имеет особенность - в поле размера шрифта указывается
размер, котрым будет выводиться надпись при текущем масштабе отображения.
Если мы уменьшим масштаб - текст тоже уменьшится и содержимое поля размера тоже
изменится. Надписи шрифтом менее 5 не отображаются в целях ускорения отрисовки.

Поскольку основное назначение выноски - текстовый комментарий к чему-то, то
логично чтобы выноска могла автоматически располагаться рядом с объектом,
который она комментирует. Для этого служат настройки Binding и Bind mode.
Можно указать базовый объект к которому будет относиться выноска.

проверить почему не удаляется имя объекта из привязки








ДЕЙСТВИЯ
