Настройка панели инструментов

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

Также можно настроить эту панель с помощью редактирования файла ui/toolbox.xml. Этот же файл можно перенести на другую учётную запись пользователя или другую машину, если вы хотите скопировать туда конфигурацию панели инструментов. По аналогии с настройкой комбинаций клавиш, файл должен находиться в домашнем каталоге пользователя, что обычно подразумевает ~/.gwyddion (в Unix) или Documents and Settings\gwyddion (в MS Windows). Хорошим примером для начальной настройки может служить файл с настройками по умолчанию ui/toolbox.xml, который устанавливается в share/gwyddion.

Число кнопок в ряду регулируется атрибутом width элемента верхнего уровня toolbox. Чтобы изменить его на пять просто замените начало файла на

<toolbox width='5'>

Расширяемые и сжимаемые группы кнопок, такие как Обработка данных или Инструменты создаются тегом group. Можно создать столько групп, сколько нужно. Функции различных типов можно собирать в одну группу по желанию. Каждая группа должна быть снабжена уникальным атрибутом id, который, кроме всего прочего, используется для запоминания какая из групп была свёрнута, а какая развёрнута. Атрибутtitle задаёт название группы:

<group id='proc' title='Data Process' translatable='yes'>

Группы могут иметь опциональный атрибут translatable, который задаёт, что заголовок группы должен быть переведён. Наиболее полезен этот атрибут для групп, присутствующих в панели инструментов по умолчанию. Когда вы добавляете свои новые группы, вы вероятно уже задаёте им имена на предпочитаемом языке.

Отдельные кнопки создаются с помощью элементов item:

<item type='proc' function='align_rows' icon='gwy_line_level' run='non-interactive'/>

Каждый такое элемент должен содержать атрибут type, определяющий тип функции. Если тип функции не является пустым — 'empty', элемент также должен содержать атрибут function, задающий определённую функцию. Имена функций можно найти в окне просмотра модулей (ИнформацияПросмотр модулей), где они перечислены в списке Зарегистрированные функции для каждого модуля; или в онлайновом браузере модулей. Доступные типы функций перечислены в следующей таблице:

Имя типаТип функции
emptyПустой заполнитель, который можно использовать для разделения или выравнивания строк.
builtinВстроенные функции, которые включают приближение, удаление, активацию режима 3D-просмотра. Всего их ровно четыре: 'display_3d', 'zoom_in', 'zoom_out' и 'zoom_1_1'.
procФункции обработки двумерных данных (изображений). Они имеют префикс proc:: в окне просмотра модулей.
graphФункции обработки графиков. Они имеют префикс graph:: в окне просмотра модулей.
volumeФункции обработки объёмных данных. Они имеют префикс volume:: в окне просмотра модулей.
xyzФункции обработки данных XYZ. Они имеют префикс xyz:: в окне просмотра модулей.
toolИнструменты. Они имеют префикс tool:: в окне просмотра модулей.

Функции обработки данных (включая обработку объёмных данных и данных XYZ) опционально могут иметь атрибут run который задаёт режим вызова функции. Если он установлен в non-interactive, функция будет вызвана немедленно, не показывая никаких диалоговых окон с параметрами (подобно тому, как нажатие Ctrl-F запускает последнюю использовавшуюся функцию обработки данных). Другой режим это interactive, который в общем случае не задаётся, поскольку является режимом по умолчанию. Следует отметить, что не для всех функций доступны оба режима: некоторые простые функции не требуют взаимодействия с пользователем, некоторые другие не работают без участия пользователя.

Изображение на кнопке задаётся атрибутом icon. Некоторые функции модулей уже содержат заданные изображения (которые не нужно указывать вручную), но этот список довольно ограничен в силу огромного количества доступных функций. Можно использовать изображения из коллекций Gwyddion stock icon и Gtk+ stock icon. Следует отметить, что названия изображений в коллекции Gwyddion используют символ подчёркивания для связывания отдельных слов, иконки Gtk+ используют тире.

Если предложенного набора изображений недостаточно, чтобы выбрать нужное, можно нарисовать свою иконку и поместить её в ~/.gwyddion/pixmaps (или эквивалентное место в других операционных системах), используя то же соглашение о наименовании элементов, что и иконки в Gwyddion. Может быть полезно начать с исходных файлов GIMP XCF для иконок, поскольку они уже содержат отдельные элементы, которые можно смешивать и использовать друг с другом. Если у вас получилась красивая иконка, её разумеется можно прислать для включения в состав Gwyddion.

Поскольку инструменты доступны только из окна инструментов, не указание их в ui/toolbox.xml делает их полностью недоступными. Следовательно, специальный пустой элемент

<item type='tool'/>

можно использовать для размещения всех инструментов, которые ещё не перемещены в заданную позицию (в достаточно произвольном порядке).