Рисование диаграмм в Dia и Kivio

Оригинал: Desktop diagramming with Dia and Kivio
Автор: Alan Berg
Дата: 1 июня 2007
Перевод А.Тарасова, дата перевода: 26 июня 2007

Пусть простота использования вас не обманывает. Kivio и Dia — две свободные программы для составления диаграмм — весьма эффективны в решении своих задач. Если вам нужно разработать сложную блок-схему, или без суеты создать UML-диаграмму, они вам наверняка будут полезны. Эти пакеты содержат 90% функциональности и 10% суеты, которой намного больше в проприетарных аналогах, предлагающих ненужную кучу функций. Свободные программы Kivio и Dia просты и быстры в изучении, а конечный результат профессионален.

GNOME и KDE — лидирующие окружения рабочего стола для GNU/Linux. Оба окружения содержат в комплекте свои собственные офисные пакеты, но оба этих пакета вряд ли могут конкурировать с превосходством OpenOffice. Однако нужно отметить, что в комплекте OpenOffice нет программы для рисования диаграмм, подобной Microsoft Visio. Вы можете возразить, что Impress или Draw из пакета OpenOffice содержат подобную функциональность, однако все-таки Impress и Draw специализируются на создании соответственно презентаций и векторных рисунков, а не на составлении диаграмм из заранее подготовленных символов.

В этой статье, я кратко расскажу, как устанавливать Kivio из пакета KOffice и Dia из пакета GNOME Office, также вкратце раскажу о функциональности. Я лично убежден, что обе программы хорошо выполняют отведенную им функцию и их можно изучить за 5 минут. Программы по сути равны, и выбор одной из них — дело вкуса.

Установка

Я выбрал операционную систему Ubuntu 6.10 для установки этих пакетов, т.к. на момент написания статьи это была последняя версия Ubuntu.

Пусть вас не смущает, что программы относятся к офисным пакетам KOffice или GNOME Office, обе замечательно работают как в KDE, так и в GNOME.

Прежде чем мы начнем, можно установить менеджер пакетов Adept, которого, возможно, не будет в вашем KDE-окружении: чтобы установить его, наберите в командной строке:

	# sudo apt-get install adept libqt-perl
После этого вы сможете запустить Adept в KDE-меню «Система» → «Adept Manager Manage Packages».

Для установки Kivio (версия 1.5.2) запустите Adept и введите пароль администратора (который вы использовали с sudo); в текстовом поле поиска вверху окна наберите «kivio». Вы увидите нечто похожее на рисунок 1. Установите у пакетов «Kivio» и «Kivio-data» статус «требуется установка» («install requested») и нажмите кнопку с зеленой галочкой вверху диалогового окна. Теперь у вас есть работающая копия Kivio как для GNOME, так и для KDE.


Рисунок 1: Запущен менеджер пакетов Adept
То, что я называл «GNOME office» на самом деле не офисный пакет, а набор инструментов, который включает широко известные и почитаемые программы AbiWord, Dia и некоторые другие.

Чтобы установить Dia версии 0.95 в GNOME, запустите менеджер пакетов Synaptic в меню «Приложения» → «Установить» («Applications» → «Add Remove»); вам также нужно будет ввести пароль администратора. Выберите «Графика» («Graphics») → «Редактор диаграмм Dia» («Dia Diagram Editor») как показано на рисунке 2 и нажмите ОК.


Рисунок 2: Установка Dia в Synaptic
Для установки Dia в KDE, вам нужно аналогично произвести поиск «dia» в менеджере Adept и произвести установку.

Основы Dia

Запустив Dia, вы увидите два разделенных окна, как показано на рисунке 3.

Рисунок 3: Dia после первого запуска

Главное окно слева — рабочее поле, справа редактор диаграмм. Если левое окно отсутствует либо было закрыто по ошибке, выберите пункт «Новый» («New») в меню «Файл» («File»).

Для выбора символов из различных категорий используются значки в редакторе диаграмм. На рисунке 3 выбрана категория «Компьютерная сеть» («Network»), но в первый раз программа запустится с категорией «Basic» («Разное»). Можно выбрать нужную вам среди более чем 20 библиотек. Нажимаете на символ в редакторе диаграмм и ставите его в рабочем поле, затем растягиваете его как надо, подписываете и т.п.

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

С этой базовой функциональностью можно составить сносную диаграмму за несколько минут. Неудачей многих приложений является то, что разработчики пожелали показать на экране каждую функцию, на которую способна программа, что ведет к чрезмерному усложнению структуры меню, что не благоприятствует легкому изучению программы. Dia — программа в духе UNIX, она сфокусирована на своей задаче и хорошо ее решает.

Для сохранения файла выберите «Файл» («File») → «Сохранить» («Save») на рабочем поле. Вы можете также экспортировать результат работы в один из многих графических форматов, включая TIFF, JPEG и SVG. Возможность сохранения в SVG нацелена на будущее, т.к. формат XML имеет все шансы стать общепринятым стандартом веб-графики. XML — это просто текст, и поэтому, им легче манипулировать на лету, нежели бинарным файлом, к примеру, в формате JPEG.

Dia открывает два других диалоговых окна по нажатию на F8 и F9 соответственно, либо при выборе соответствующих пунктов в меню «Файл». F8 открывает дерево диаграммы, которое отображает все символы в вашем рисунке как объекты; щелчок правой кнопки мышки на объекте в дереве позволяет получить доступ к окну свойств, где можно изменить такие свойства объекта, как цвет и тип линий. Это делает редактирование диаграммы быстрым и последовательным.

Нажатие F9 открывает окно «Категории и объекты», которое позволяет добавлять и перемещать объекты (такие как компьютеры или флаги) в различных категориях. К примеру, возможно переместить символ компьютера из категории «Cisco — Компьютеры» («Cisco — Computer») в «Компьютерные сети» («Networks»). Вы можете также импортировать SVG-графику в качестве объектов, но об этом позже.

Само рабочее поле имеет несколько меню. Меню «Диаграмма» («Diagram») позволяет вам разделить диаграмму по слоям так, и работать с ними независимо. Меню «Объекты» («Objects») позволяет вам перемещать объекты на передний или задний план, чтобы он был перед или за другими объектами. Возможность устанавливать прозрачный фон объектов позволяет создавать сложные и красивые диаграммы.

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

Основы Kivio

Программа Kivio так же проста и интуитивно понятна, как и Dia, хотя и немного отличается. Запуск Kivio происходит при выборе пункта «Схемы (Kivio)» в KDE-меню «Офис» («Office»). Выберите и щелкните два раза по шаблону «Базовая организационная структура» («Basic flowcharting»). Kivio запустится и будет выглядеть почти как на рисунке 4. В центре экрана располагается рабочее поле, слева — панель наборов объектов со всеми соответствующими символами (объектами). Чтобы создать вашу первую диаграмму, просто тяните левой кнопкой мышки объект в рабочее поле, выберите его, измените размеры, и можете подписать текст, дважды щелкнув по нему.

Рисунок 4: Запущена Kivio
Чтобы задействовать в документе другие наборы объектов, выберите в меню «Сервис» («Tools») → «Набор объектов» («Add stencil set») и затем выберите набор, который вам нужен. Либо используйте соответствующую кнопку «Набор объектов» на панели инструментов. Если вы не уверены, что делает та или иная кнопка, наведите мышку на нее, и через пару секунд всплывет подсказка.

Меню «Вид» («View») позволяет вам добавлять сетку на рабочее поле, а также дает возможность разделить рабочее поле на две области — весьма приятная функция, особенно при использовании 21-дюймовых TFT-мониторов.

Правая часть окна содержит окно быстрого просмотра целиком всей диаграммы, даже когда вы увеличили диаграмму в рабочем поле. Вкладка «Слои» («Layers») позволяет добавлять и удалять слои, а вкладка «Объекты» («Objects») содержит список всех объектов на странице. В правой нижней части экрана во вкладке «Положения и размеры» («Geometry») отображается положение и размер выбранного объекта. Заметьте, что Dia содержит немного больший набор свойств объектов, которые можно изменять. Вторая вкладка справа внизу, которая называется «Защита» («Protection»), позволяет защитить те или иные геометрические свойства объекта, такие как ширину, пропорцию, а также возможна защита от удаления объекта.

Более детальное учебное пособие по Kivio можно найти, нажав «Руководство Kivio» («Kivio handbook») в меню «Справка» («Help»).

Форматы файлов, туда и обратно

Microsoft Visio сохраняет файлы в проприетарном формате .vsd, который несет потенциальные угрозы, связанные с лицензированием. Поэтому, как Dia, так и Kivio не могут и не должны экспортировать полученные диаграммы в этот формат. С одной стороны, это плохо, ведь не каждый пользователь сможет открыть файл Dia или Kivio, а с другой стороны, является хорошим примером того, что нужно пользоваться программами, которые выводят данные в открытых форматах.

Необходимость реализации работы с документами одного приложения в другом приложении, идет от недовольных пользователей, которые привыкли работать в своих программах. Тут и проявляется эффект несовместимости. Это крушение надежд, в основном, вызвано закрытыми стандартами. Поэтому появляется два вопроса о возможности экспорта «туда и обратно» в рассматриваемых программах. Первый: могут ли наборы объектов быть импортированы и экспортированы между двумя программами; и второй: можно ли создать диаграмму в одной программе, и загрузить ее в другой.

Сначала попробуем совершить путь «туда и обратно» для диаграмм. Скажем сразу, в этих программах нет возможности прямого экспорта и импорта между их форматами. Хотя Dia имеет намного больше возможностей импортирования, нежели Kivio: Kivio может лишь импортировать файлы своего формата, хотя я не удивлюсь, если на момент написания статьи этот недостаток будет исправлен трудолюбивыми разработчиками. Экспортирование богато в обоих приложениях и в основном включает в себя множество графических форматов.

Экспорт из Kivio в Dia оказался намного сложнее, чем представлялось в начале, т.к. в Dia нет функции прямого импортирования файлов, созданных в Kivio. Тем не менее, Dia может загружать изображения с помощью CTRL + i, поэтому, экспортировав файл из Kivio в виде изображения, удастся добиться требуемого результата.

Экспорт напрямую из Dia в Kivio, видимо, невозможен из-за ограниченных возможностей импорта у Kivio.

Все современные текстовые процессоры могут использовать графику, экспортированную из обоих программ. Хотя ясно, что Dia имеет больше возможностей для импортирования, и поэтому вероятнее именно она будет использована в «другой» организации, где требуется как можно более «бесшовный» прием данных. Более того, аспекты совместимости заставят вас или вашу фирму выбрать одну из программ в качестве инструмента составления диаграмм. Я надеюсь и предполагаю, что барьер несовместимости падет, когда мы войдем в эру открытых форматов.

Импортирование наборов объектов — еще одна функция, которую хотелось бы иметь. На Sourceforge есть один полезный проект, касающийся Kivio — это xfig2sml. Файл xfig-stencils-0.1.tar.bz2 в разделе «Download» содержит множество наборов из более чем 900 объектов. Архив датируется 2001 годом и импортируется напрямую в Kivio: «Файл» («File») → «Установить набор объектов...» («Install stencil set»). Если выбрать теперь файл xfig-stencils-0.1.tar.bz2 и нажать ОК, Kivio скажет, что вроде как архив установлен без проблем. На самом деле вы ничего не сможете нарисовать. Дело в том, что сейчас Kivio почему-то неспособна справляться с глубокой иерархической структурой архива. Пожалуй, лучшим решением будет распаковать содержимое архива вручную в каталог с файлами Kivio, например для Ubuntu это /opt/kde/share/apps/kivio/. Для начинающего пользователя, пожалуй, будет удобнее покупать наборы объектов или программу для их создания у специализирующейся в этом компании «theKompany».

Kivio также может воспринимать объекты Dia, более того пакет Kivio для Ubuntu уже содержит наборы объектов Dia.

У Dia имеется свой собственный формат хранения символов .shape, он является вариацией формата SVG в том плане, что несет дополнительную информацию о значках и местах соединений. Вы можете загружать такие файлы (которые также основаны на XML) через меню «Редактор диаграмм» («Diagram Editor») → «Файл» («File») → «Категории и объекты» («Sheets and objects»).

Заключение

Итак, можно сказать, что в принципе обмениваться наборами объектов возможно; на самом деле это требует некоторых познаний и экспериментов.

Будущее настольных систем

Рынок открытого ПО — жесткий рынок, на котором множество продуктов конкурируют между собой в какой-то области. Например, есть несколько замечательных оконных менеджеров, среди которых явные лидеры — GNOME и KDE. К сожалению, из-за этого соперничества существует естественная доля повторения в работе разработчиков.

Устранение технических барьеров, таких как возможность импорта/экспорта файлов между программами одного рода, и улучшения в некоторых тонких деталях приложений, например, совместимость между наборами объектов, могут играть значительную роль в дальнейшем принятии GNU/Linux в качестве настольной системы. Поэтому я хвалю инициативу Portland — объединенный проект OSDL/Freedesktop.org. Первые результаты этого проекта — набор инструментов XdgUtuls, помогающий решать установочные задачи на настольных системах. Более того, мне приятно все приближающееся время Open Document Format, а также форматов SVG и XML, которые уже открыли путь совместимого взаимодействия схожих программ.

Благодарности

Я осознал, что легче быть критиком, чем разработать программу, которой многие пользуются с удовольствием: скажем спасибо разработчикам KOffice и GNOME Office, чьи успехи позволили мне написать эту статью.

Заметки и веб-ресурсы

Dia — http://www.gnome.org/projects/dia/

GNOME office — http://www.gnome.org/gnome-office/

KOffice — http://www.koffice.org/

KDE-Files — http://kde-files.org/

Проект Portland project — http://portland.freedesktop.org/wiki/

theKompany http://www.thekompany.com/products/kivio/faq.php3

Домашняя страница проекта Xfig2sml http://sourceforge.net/projects/xfig2sml/

© Alan Berg 2007

Эта статья опубликована под «Attribution-NonCommercial-Sharealike» Creative Commons License 2.5 и доступна по адресу http://creativecommons.org/licenses/by-nc-sa/2.5/.