Подгонка стилей.mbx

(C) Дмитрий Мазуров (dima_maz@siblcs.ru)

				Введение.

	Программа предназначена для массового изменения (подгонки) стилей оформления объектов. Всего стилей бывает 4 типа: стиль символов, линий, штриховки и текста. Каждый стиль представляет из себя совокупность атрибутов, таких как толщина линии, цвет букв и т.п. Подгонка осуществляется в соответствии со списком правил подгонки. Правило представляет собой пару шаблонов: шаблон поиска и шаблон замены. Шаблон представляет из себя набор значений всех атрибутов стиля плюс набор флагов значимости каждого атрибута - логических значений, указывающих, следует ли принимать во внимание значение данного атрибута, или его значение не важно. Шаблон можно представить в виде строки следующим образом: значения атрибутов пишутся в скобках через запятую, причем если атрибут не значим (флаг значимости сброшен), вместо значения атрибута пишется звездочка. Порядок следования атрибутов такой же, как в диалоге.


				Строковые представления.
 
	Шаблон символа:
тип(номер, цвет, размер, имя шрифта, стиль написания, угол поворота),
где тип = Vector (символ MapInfo версии 3.0), Font (символ TrueType) или Custom (растровый символ).

	Шаблон стиля линии:
(толщина, индекс, цвет). 

	Шаблон стиля штриховки:
(вид штриховки, цвет штриховки, цвет фона).

	Шаблон стиля текста:
(имя шрифта, стиль шрифта, размер шрифта и масштаб, цвет букв, цвет фона)

Для работы с программой помнить эту последовательность не обязательно, хотя и полезно. Правило подгонки можно представить в таком виде: (Шаблон поиска)->(Шаблон замены). Приведу пример правила подгонки стиля линии: (1,2,*)->(2,*,*). Это правило предписывает искать стили линий толщины 1 с индексом 2 (обычно это непрерывная линия) любого цвета и устанавливать им толщину 2, оставляя индекс и цвет неизменными. Следует заметить, что в процессе подгонки стилей к каждому стилю объекта применяется только первое подходящее правило, если оно, конечно, есть.

				Порядок работы.

	Запускаем программу,  на панели кнопок "Операции" появится кнопка с иконкой "Текущий стиль символа". Теперь открываем в MapInfo таблицы, стили объектов которых нужно подогнать, и жмем кнопку. Появляется главный диалог программы. 

				Главный диалог.

	Слева размещается список таблиц, подлежащих изменению. Выбрать изменяемые таблицы можно нажав кнопку под списком. В правом верхнем углу диалога размещается переключатель, который позволяет показать нужный список правил подгонки стилей (символов, линий, штриховки или текста). Напротив вариантов выбора переключатель отображается кол-во правил в списке. Ниже располагается текущий выбранный список и кнопки управления им. Действие кнопок ясно из их названия. Кнопки Добавить и Изменить открывают диалог редактирования правила подгонки, нового и выбранного соответственно. Двойной щелчок левой кнопкой мыши на элементе списка эквивалентен команде "Изменить". В левом нижнем углу диалога есть кнопки сохранения в файл и загрузки из файла правил подгонки. Также внизу есть весьма полезная галочка "Сохранять таблицы после подгонки". При сброшенной галочке все таблицы после подгонки можно восстановить, но если изменяемых таблиц много (несколько десятков) во время выполнения подгонки может возникнуть ошибка "Открыто слишком много файлов". В этом случае следует поставить галочку и повторить попытку, тогда таблицы невозможно будет восстановить, но и ошибки не возникнет. Композицию завершают стандартные кнопки "ОК" и "Отмена". Кстати, при нажатии кнопки "OK" текущие правила сохраняются в файл "По умолчанию.пс", который загружается при открытии главного диалога.

				Диалог редактирования правила подгонки.

	Задаем шаблоны поиска и замены. Галочки перед каждым атрибутом символизируют значимость атрибута. Можно задавать атрибуты в численно-буквенном виде, а можно нажать кнопку с образцом стиля (снизу) и выбрать стиль с помощью стандартного диалога. Чтобы привести образец в соответствие с изменившимися атрибутами нажмите кнопку Обновить. В левом нижнем углу диалога есть еще кнопка с говорящим названием "Копировать атрибуты поиска в шаблон замены", сейчас я уже не понимаю, зачем она может понадобиться.

				Заключение.

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