Файл справки TreeLine

программа для хранения информации

Дуг Белл
Версия 1.0.1
8 Март 2007 г.

Содержание

Общие сведения
Возможности
Замечания об авторских правах
Системные требования
    Linux
    Windows
Установка
    Linux
    Windows
Использование TreeLine
История изменений
Вопросы, комментарии, критика?

Общие сведения

У вас когда-нибудь было огромное количество заметок с полезной информацией, разбросанных вокруг вас? Или списки с книгами, фильмами, ссылками, паролями к сайтам, контактами или просто перечни необходимых для выполнения дел? Сможете ли вы их найти, когда они действительно будут вам необходимы? Вот мой ответ.

Кто-то назовет TreeLine органайзером, кто-то назовет его еженедельником. На самом деле, TreeLine просто сохраняет практически любой вид информации, а древовидная структура помогает сохранять данные упорядочено. Каждый узел в этом дереве может содержать несколько полей, которые формируют маленькую базу данных. Формат представления данных может задаваться произвольным образом, а получившееся - показано на экране, распечатано или же экспортировано в HTML.

Так как я не участвую в бизнесе производства ПО, то я сделал эту программу свободной, так что любой желающий может использовать ее, распространять или модифицировать, за исключением интеграции в какое-либо проприетарное ПО. Если вам понравилась данная программа, то расскажите о ней другим людям, и дайте мне знать, что вы думаете о ней - смотрите раздел Вопросы, замечания, критика? для получения контактной информации.


Возможности


Замечания об авторских правах

TreeLine является свободным программным обеспечением; вы можете распространять и/или изменять его на условиях лицензии GNU General Public License фонда Free Software Foundation; версии 2 или (на ваш выбор) более поздней.

Эта программа распространяется в надежде, что она будет полезной, но БЕЗ КАКИХ БЫ ТО НИ БЫЛО ГАРАНТИЙ. Смотрите файл LICENSE, распространяемый с этой программой, для получения детальной информации.

В порядке специального исключения, автор дает право на связывание (linking) и распространение этой программы с некоммерческой версией (Non-Commercial Edition) библиотеки Qt, без вложения исходных текстов последней.


Системные требования

Linux

TreeLine требует для своей работы следующие библиотеки и программы:

Windows


Установка

Linux

Распакуйте архив с исходными текстами, после чего перейдите в каталог TreeLine в терминале. Для базовой установки достаточно запустить команду "python install.py" с привилегиями суперпользователя (root).

Выполните в терминале команду "python install.py -h", чтобы просмотреть доступные опции установки.

Чтобы установить TreeLine с другим префиксом (по умолчанию это /usr/local), используйте команду "python install.py -p /prefix/path".

Если вы производите обновление между мажорными версиями (например, между 0.8.х и 0.9.х), или если вы планируете изменять клавиатурные сочетания, то необходимо удалить старые файлы конфигурации в каталоге ~/.treeline

Для того, чтобы установить переводы для TreeLine, скачайте архив "treeline-i18n-..." с номером, соответствующим вашей версии TreeLine (игнорируя буквенную приставку в номере версии перевода). Чтобы установить основную программу и переводы одновременно, необходимо распаковать архив с переводами в том же каталоге, что и архив с исходными текстами программы, и запустить скрипт установки, как рассказывалось выше. Если TreeLine уже установлен, то распакуйте архив с переводами в любой каталог и запустите команду установки так же, как и в предыдущем случае.

Windows

Скачайте и запустите установочный файл (treeline-x.x.x-install.exe). Он установит программу вместе с необходимыми библиотеками, а так же ярлыки и файловые привязки.

Если у вас уже есть установленная программа TreeLine версии 0.7.0 или выше, то вы можете использовать уменьшенную версию установочного файла. Просто загрузите и запустите файл treeline-x.x.x-upgrade.exe для обновления.

Чтобы получить возможность использования проверки орфографии требуется дополнительная программа (aspell или ispell). Смотрите раздел System Requirements .

Если вы производите обновление между мажорными версиями (например, между 0.8.х и 0.9.х), или если вы планируете изменять клавиатурные сочетания, то необходимо удалить файл treeline.ini перед началом обновления.

Для того, чтобы установить переводы для TreeLine, скачайте архив "treeline-i18n-...exe" с номером, соответствующим вашей версии TreeLine (игнорируя буквенную приставку в номере версии перевода), и просто запустите его.

Если вы хотите модифицировать (внести изменения) в исходный код TreeLine, или писать свои собственные программы для Windows, использующие PyQt, не следуйте инструкциям, приведенным выше. Вам необходимо для начала установить интерпретатор языка Python ( www.python.org), библиотеки Qt ( www.trolltech.com) и PyQt ( www.riverbankcomputing.co.uk). После этого, распакуйте архив с исходным кодом linux-версии программы в любой каталог по вашему выбору и запустите файл treeline.py.


Использование TreeLine


Содержание

Приступая к работе
Основы
    Виды
    Команды
Навигация по дереву
Редактирование дерева
Форматирование и типы узлов
Типы полей
Операции с данными
Печать
Операции с файлами
Импорт файлов
Экспорт файлов
Подключаемые модули
Основные проблемы

Приступая к работе

Введение

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

Раздел
Основы описывает виды и выделение. Далее в разделах Навигация по дереву и Редактирование дерева вы ознакомитесь с функциями перемещения по дереву и его редактирования (изменения). После этого, вы будете знать, как использовать TreeLine для хранение строк текста. Чтобы изучить, как формировать поля данных в узлах, обратитесь к разделам Форматирование и типы узлов и Типы полей.

Файлы примеров

Различные файлы примеров по использованию TreeLine могут быть открыты с помощью меню "Файл->Открыть пример...". Они включают в себя следующее (в порядке возрастания сложности):


Основы

Виды

Главное окно TreeLine разделено на два вида. В виде слева показана структура дерева, в то время как вид справа показывает информацию об узле, выбранном слева.

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

По умолчанию, вид справа будет отображать информацию о выделенном узле и его потомках. Выбрав команду меню "Вид->Показать выбранный узел" позволит вам видеть только текущий выбранный узел, без потомков. Это может дать прирост в производительности, если число потомков велико, и они содержат большое количество данных. Настроить такое поведение можно в конфигурационном диалоге с помощью меню "Инструменты->Основные настройки".

Команды

Большинство команд меню и панели инструментов действуют на элементы, выбранные в левом виде. В общем, они оперируют выбранными узлами или их потомками. Несколько узлов могут быть выбраны с помощью одновременного нажатия клавиш "Ctrl" или "Shift" и щелчка мышью. Но некоторые команды, такие как "Файл->Экспорт" и "Файл->импорт" используют данные только выделенного узла, обведенного рамкой. Вид справа так же привязан только к текущему узлу.

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


Навигация по дереву

Клавиатурные сочетания

Существует несколько клавиатурных сочетаний, которые могут быть использованы для перемещения по дереву. Клавиши "стрелка вверх" и "стрелка вниз" перемещают выделение. Клавиши "стрелка вправо" и "стрелка влево" сворачивают и разворачивают ветвь текущего узла. При нажатой клавише "Ctrl", стрелки вверх и вниз перемещают между родственными узлами, пропуская потомков. Сочетание "Ctrl+U" перемещает выделение к родительскому узлу. Клавиши "Home", "End", "Page Up" и "Page Down" используются для быстрого перелистывания дерева. При нажатой клавише "Shift", клавиши "Page Up" и "Page Down" будут перелистывать вид справа.

Все эти клавиши и их сочетания, а так же модификаторы быстрого доступа к меню могут быть переназначены с помощью конфигурационного файла TreeLine ("~/.treeline" для Linux и "treeline.ini" для windows).

Другой способ перемещения - набрать первую букву заголовка видимого узла. В верхнем регистре перемещение идет вверх, в нижнем - вниз. Повторное нажатие приводит к перемещению к следующему возможному узлу.

Поиск

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

По умолчанию, родительские узлы автоматически разворачиваются и сворачиваются при поиске. Это поведение может быть настроено в диалоге "Инструменты->основные настройки".


Редактирование дерева

Меню "Правка"

Команды в меню "Правка" (кроме отмены и повтора) работают только с выделенным узлом в дереве. Команды вырезать, копировать и вставить так же могут считаться исключением, поскольку они работают с правым видом, когда там что-либо выбрано. И помните, что дочерние узлы так же находятся под действием команд.

Вставка добавит скопированный узел как последнего потомка текущего узла, а команда меню "Правка->Вставить текст узла" переименует текущий узел.

Клавиатурные сочетания

Существуют несколько клавиатурных сочетаний, применимых к редактированию дерева. Перетаскивание скопирует или переместит узел к назначенному элементу дерева. Щелчок мышью на выбранном узле приведет к его переименованию. Нажатие клавиши "Enter" приведет к вставке нового узла, а нажатие "Del" к удалению. Если необходимо, эти сочетания и клавиши могут быть отключены с помощью диалога "Инструменты->Основные настройки".

Вид справа

В виде справа, вкладка "Редактор данных" предоставляет все возможности для редактирования данных, содержащихся в узле. Если поле редактирования относится к заголовку узла, то изменения будут немедленно отображаться в структуре дерева. Так же поле может растягиваться, чтобы уместить многострочный текст.

В выпадающий контекстных меню редактора данных есть элементы, позволяющие вставлять по краям выделенного текста теги HTML, относящиеся к шрифтам. Для этого, поле должно быть сконфигурировано для отображения HTML (смотрите раздел
Типы полей).

Так же может быть вызван внешний редактор из контекстного меню. После того, как внешний редактор закрывается, все изменения копируются в поле ввода. переменная среды EDITOR может быть использована для для указания нужного редактора. Если такая переменная не существует либо пуста, TreeLine предложит выбрать требуемую программу и установить ее как редактор по умолчанию.

"Список заголовков" может быть полезен для быстрого переименования узлов или добавления новых. Текстовый список узлов может быть вставлен прямо туда.

Проверка орфографии

В меню "Инструменты" есть команда проверки орфографии. Использование этой команды возможно. если установлены внешние программы (aspell или ispell - смотрите раздел Системные требования). Если в текущей ветви есть неверно написанные слова, то появится диалог, который дает возможность игнорировать правописание слова, добавить его в словарь или заменить подходящим словом из списка. Эта проверка осуществляется по всем полям каждого узла.

По умолчанию, проверка орфографии будет использовать словари для текущего языка системы. При использовании aspell доступна команда "Инструменты->Опции файлов...", с помощью которой можно задать альтернативный код языка для текущего файла. Заметьте, что необходимые словари должны быть установлены, и то, что эта опция не работает с ispell.


Форматирование и типы узлов

Узлы и типы

Когда вы создаете новый документ TreeLine, он содержит два типа узлов: "ROOT" и "DEFAULT". Тип узла отображается в заголовке вкладки "Редактор данных". О том, как создавать новые типы и изменять их, рассказывается ниже. Чтобы изменить тип выбранных узлов, используйте меню "Данные->Задать тип данных". Чтобы изменить тип дочерних узлов, используйте команду "Данные->Задать тип нижестоящих". Появится диалоговое окно, в котором можно будет выбрать узлы, их потомков, а так же узлы, соответствующие логическим условиям.

Диалог настройки типов

Типы данных настраиваются в диалоге "Данные->Настроить типы данных" (смотрите Изображение диалога). Типы выбираются верху диалога, а кнопка "Изменить список" используется для добавления, удаления или переименования существующих типов. Левая часть диалога отображает поля, которые будут присутствовать в каждом узле данного типа. С помощью соответствующих кнопок можно добавлять, удалять или перемещать поля. Кнопка для изменения типа поля будет обсуждена позже.

Правая часть диалога настройки типов показывает форматирование заголовка и вывода данных. Формат состоит из текстовых строк со специальными полями вида "{*field_name*}". Они могут быть добавлены или удалены с помощью клавиш ">>" и "<<".

Ссылки на другие поля

Ссылки на родительские и прародительские поля показаны как "{**field_name*}" и "{***field_name*}" соответственно. Так же есть общие ссылки на поля, показанные как "{*?field_name*}", которые извлекают данные из предка с нужным полем.

Ссылки могут быть добавлены с помощью кнопки "Другие поля..." в диалоге, которая даст возможность выбора уровня вложенности и типа . После этого, кнопка ">>" добавить соответствующие поля в формат.

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

Диалог "Другие поля" так же содержит ссылки на информацию о файле. Эти поля содержать метаданные, такие как: имя файла, путь, размер и время модификации. Эта информация может быть выведена с помощью формата "{*!field_name*}".

Для примера использования полей, смотрите файл примера "sample_other_fields" (используя команду меню "Файл->Открыть пример...").

Формат заголовка

Когда узел переименован, программа пытается обработать формат заголовка. Если структура форматирования слишком сложная, возможно возникновение ошибки. Такие вещи как расположенные вместе поля без разделителя будут игнорироваться до тех пор, пока вы не переименуете узел непосредственно из дерева.

Пропущенные строки

Если строка форматирования содержит одно или несколько пустых полей, то такая строка будет полностью пропущена. Это не касается строки без полей (только текст). Так же, когда строки, заканчивающиеся тегами <br/> или <hr/> пропускаются, то завершающий тег остается.

Теги HTML

Простые теги HTML могут быть использованы для форматирования текста (вывода данных). Наиболее часто употребимые теги включают в себя: "<b>bold</b>", "<u>underline</u>", "line break<br/>", "<hr/>horizontal line", а так же теги для управления отображением шрифтов. Составные блочные теги будут игнорироваться. Когда опция "Разрешить HTML-форматирование" деактевирована, теги будут восприниматься как обычный текст. Для пример использования тегов, смотрите пример "sample_color_items" (используя "Файл->Открыть пример...").

Символ перевода каретки автоматически добавляется после каждой строки форматирования, если только не задана опция "Добавлять "конец строки" после каждой строки". В дополнение к этому, существует опция "Добавлять пустые строки между узлами" для добавления разделителей (пустых строк) между выводом данных нескольких узлов. Тег конца строки ("<br>") может использоваться для получения подобного эффекта, либо использовать тег "<hr>" для разделения узлов.

Примеры форматирования

Здесь показан пример форматирования вывода данных для списка книг:

<hr/>"{*Title*}"
(c) {*Copyright*}, Rating: {*Rating*}
{*PlotDescription*}

Файлы примеров, использующие различные виды форматирования, включены в поставку программы. Они могут быть открыты с помощью команды меню "Файл->Открыть пример...". Их список приведен в разделе
Файлы примеров.

Пиктограммы

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

Типы потомков

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

Дополнительные настройки

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

Диалог так же предоставляет возможность задания префиксов и суффиксов. Эти теги могут быть не заполнены, но они бывают полезны для создания таблиц или маркированных списков. Эти теги будут вставлены до и после данных групп. Например, для создания таблицы префикс может быть "<table border="1">" , а суффикс "</table>". После этого, формат данных может быть таким:

<tr><td>"{*Title*}"</td><td>(c) {*Copyright*}</td></tr>

Так же смотрите пример "sample_table_booklist" из стандартной поставки (меню "Файл->Открыть пример...").

Узлы, из которых берутся данные, должны быть одного типа, или как минимум иметь одинаковые префиксы и суффиксы.

Базовые и унаследованные типы

Типы данных могут быть организованы таким образом, что они будут включать поля из базового типа. Это позволяет иметь форматирования вывода с одинаковыми полями данных. Все изменения в базовом типе автоматически будут применены к унаследованным типам. Это не влияет на форматирование вывода, который настраивается отдельно и индивидуально.

Существует два метода создания унаследованных типов. Первый - это соответствующая опция при копировании типа при помощи диалога "Добавить/Удалить типы данных" (доступен из диалога "Настроить типы данных" по кнопке "Изменить список"). Вторым способом является указание базового типа в диалоге "Дополнительная настройка".

Условные типы

Условные выражения могут быть использованы для связки типа данных и содержания узла. Условия могут быть присвоены базовому типу и ассоциированы с унаследованными типами. Это позволяет изменять форматирование вывода или пиктограмму в зависимости от содержащихся данных.

Диалог условий вызывается с помощью соответствующей кнопки в диалоге "Дополнительная настройка" . Каждая строка условия содержит поле, оператор и сравнительную величину (смотрите
Рисунок 2). Оператор включает в себя: "равенство", "больше чем", "меньше чем", "начинается с", "заканчивается на" и "содержит". Есть так же логические операторы "True" и "False".

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

Кнопка "Добавить новое правило" используется для вставки дополнительных условий. Условия могут быть комбинированы с помощью логических операторов "и" и "или". Кнопка "Удалить правило" удаляет последнее условие. Если присутствует только одно условие, то удаляется полностью все условное выражение.

Для примера, посмотрите файл "sample_conditional_todo" (меню "Файл->Открыть пример...").

Копирование форматов

Другой метод изменить тип данных - это скопировать формат из другого файла TreeLine. Это делается с помощью команды меню "Данные->Копировать типы из файла". Все типы из выбранного файла будут скопированы. Если совпадают имена типов, то они будут переписаны.


Типы полей

Опции полей

В диалоге "Настроить типы данных", кнопка "Тип поля..." запускает диалог для задания формата выбранного поля (смотрите Рисунок 3). Тип поля может быть: текст, число, выбор, комбинация, авто выбор, дата, время, логический, ссылка (URL), путь, внутренняя ссылка, исполняемая ссылка, адрес электронной почты или рисунок. Текст префикса и суффикса так же может быть задан, и будет показан, если присутствуют данные.

С помощью этого диалога может быть задана форма обработки текста: как обычный текст или как текст с тегами HTML. Если используется HTML, то символы перевода каретки и специальные символы "<", ">", "&" игнорируются. Так же существует глобальная опция, которая позволяет во всех новых полях использовать HTML-форматирование. Чтобы посмотреть, как использовать данный тип форматирования, обратитесь к примеру "sample_char_format" (меню "Файл->Открыть пример...").

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

Текстовый тип

текстовый тип является типом по умолчанию. Эти поля данных редактируются с помощью областей ввода в редакторе данных. Область ввода может изменять свои размеры, чтобы вместить вводимый текст. Высота области ввода может быть задана (зафиксирована) в диалоге настроек полей данных.

Выбор, комбинация и логические типы

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

Логический тип подобен типу "Выбор", однако он позволяет выбирать только между двумя значениями "Верно/Ложно", "да/нет" и "1/0".

Так же существует тип поля "Автовыбор". Как и тип "Выбор", он представляет собой выпадающий список, но он не имеет строки форматирования. Список автоматически дополняется ране введенными значениями.

Тип число

В данном типе специальные символы в формате определяют форматирование вывода числа. При форматировании используется строка с символами "#" (дополнительный разряд) и "0" (необходимый разряд). Например, формат для числа Пи "#.#" даст вывод "3.1", а формат "00.00" даст "03.14". Несмотря на форматирование, цифры слева от десятичной точки не обрезаются, потому как это может привести к искажению результата. Так же задавайте необходимое количество под правую часть числа, чтобы избежать проблем с округлением.

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

В отличии от других форматов, тип "Число" так же использует форматирование и в редакторе данных. Конечно, каждое новое поле с разумным форматом отображается корректно (но символ основания должен быть использован).

Тип дата и время

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

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

Значение по умолчанию "Сейчас" может быть использовано для получения временной отметки.

Ссылочный тип

URL, путь, адрес электронной почты используются для создания ссылок. URL как стандартная ссылка для всемирной сети (по умолчанию http:// если не задано другое), путь для локальных ссылок на файл (по умолчанию file:///), и адрес электронной почты (по умолчанию mailto:). Когда по ссылкам производится щелчок мышью, то они открываются во внешнем браузере или почтовом клиенте. Просто введите требуемый путь (например "www.bellz.org/treeline/index.html") в редакторе данных. Для Linux, переменная окружения BROWSER равная "mozilla %s" приведет к запуску данной программы с требуемым URL.br />
Так же существуют внутренние ссылки. Они создают ссылку в выводе данных, которая указывает на другой узел с соответствующим текстом в специальном (ссылочном) поле. Если ссылка, или поле, на которое ссылаются, содержит несколько строк, то каждая такая строка интерпретируется как отдельная ссылка. Если требуется, одно и то же поле может быть и ссылкой и объектом, на который ссылаются. В этом случае щелчок на ссылке приводит к переходу к следующему узлу с таким же ключевым словом. В случае экспорта в HTML, внутренние ссылки действуют как метки страниц, но в случае дублирования, переход осуществляется только к первому ключевому слову. Ознакомьтесь с примером "sample_intern_links" (используя "Файл->Открыть пример...").

Дополнительные опции

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

Поле с альтернативным текстом для ссылок может содержать текст, который будет заменять видимый текст URL.

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

Так же поля могут быть сделаны "невидимыми", для предотвращения их отображения в выводе данных.


Операции с данными

Команды по категориям

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

Команда "Добавить уровень категории..." позволяет выбрать одно или несколько полей, которые присутствуют во всех дочерних узлах. Эти поля могут быть использованы для создания новых родительских узлов, группируя их по категориям. Например, в списке книг, выбрав поля "author_first_name" и "author_last_name", будет сформировано новое дерево, в котором каждая книга (дочерние узлы) будет привязана определенному автору (родительские узлы).

Команда "Убрать категории" действует обратным образом. Она убирает все родительские узлы с перенесением родительских полей данных их потомкам. Эта команда будет переименовывать поля, взамен их перезаписи, но она более эффективна в том случае, если родительские и дочерние узлы имеют разные типы и разные наименования полей.

Команды по ссылкам

Команды "Упорядочить по ссылке" и "Выровнять по ссылке" организуют узлы, используя указатели на значения их родительских полей данных. Эти команды действуют на узлы, содержащие уникальные значения полей, таки как номер ID. Команда "Выровнять по ссылке" добавляет поле, содержащие родительский ID (уникальный номер) каждому дочернему узлу. После этого, она помещает все узлы под один выбранный узел. Команда "Упорядочить по ссылке" действует обратно - она помещает узлы к различным родительским узлам с нужными ID. Если существуют несколько узлов с одним ID, то выбирается ближайший к потомку узел. Все узлы, для которых не были найдены родительские, помещаются в корень дерева.

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

Сортировка

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

Фильтр

Команда "Фильтр данных..." позволяет удалить узлы, руководствуясь заданным правилом (правилами). Если дочерние узлы содержат более одного поля данных, то выбирается тип, который должен быть отфильтрован. Далее, с помощью логических операторов "и" и "или" (нажмите кнопку "Добавить правило") формируется условие фильтрации. Все дочерние узлы, которые не удовлетворяют правилу (условию) фильтрации будут удалены (включая и их дочерние узлы). К текущему имени файла будет добавлена приставка "_filter", чтобы исключить перезапись файла. Внимание, фильтрация не обратима с помощью операции отмены.

Нумерация

Команда "Нумерация" используется для добавления соответствующих полей к дочерним узлам. Поля нумерации не обновляются автоматически при изменении структуры дерева - команда должна быть повторена. В диалоге выбирается (или добавляется) поле для нумерации. В нумерацию может быть включен и родительский узел. Можно выбрать один из трех стилей: очерк (нумерация повторяется для каждой группы узлов), разделы (номер узла добавляется к номеру родительского) и одиночный уровень (сквозная нумерация), при котором номера присваиваются только первому уровню узлов. Могут использоваться стандартные форматы ("I, II..., A, B..., 1, 2..." для очерка; "1, 2..., 1.1, 1.2..." для разделов), либо могут быть созданы пользовательские для каждого уровня. пользовательские форматы должны состоять из символов "1", "A", "a", "I", или "i" и их комбинаций.

Изменение выделения

И в завершение, команда "Изменить выбранные данные" позволяет изменить данные идентичных полей для всех выбранных узлов. Просто выберите требуемое поле и введите новое значение.


Печать

Опции печати

Вывод данных содержит форматированный текст, сформированный из полей данных узла (и возможно его дочерних узлов). Это все может быть распечатано. Для печати, начиная с текущего узла, дочерние узлы сдвигаются вправо, образуя структуру отступов. Корень дерева может быть включен в печати, а свернутые узлы наоборот - удалены.

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

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

Заголовок и сноска

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

Предварительный просмотр

Предварительный просмотр будет показан перед печатью (но после нажатия кнопки "ОК" в диалоге печати) по умолчанию. Предварительный просмотр может показать больше деталей, если окно, в котором он показан, увеличить.

Проблемы при печати

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


Операции с файлами

Сжатие

TreeLine использует XML для хранения файлов. Существует возможность работы со сжатыми файлами (формат gzip) для экономии места на диске. Для отдельных файлов это может быть сделано с помощью опции "Инструменты->Опции файлов" либо в диалоге "Сохранить как...". Так же существует глобальная опция, которая устанавливает режим сжатия для всех новых файлов.

Шифрование

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

Автоматическое сохранение

Функция авто-сохранения позволяет держать не сохраненные файлы с префиксом "~". Эти файлы автоматически удаляются при удачном сохранении, или при выходе из программы. Интервал авто-сохранения задается в общих настройках. Если интервал равен 0, то функция отключается.

Сохранение состояния дерева

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

Командная строка

Опции командной строки позволяют использовать TreeLine в не интерактивном режиме для импорта и экспорта. Это позволяет автоматизировать подобные задачи. Для получение подробной информации об опциях, запустите TreeLine с ключом -h в терминале. Если вы используете TreeLine на windows, то вывод должен быть перенаправлен в файл ("treeline -h > log.txt").


Импорт файлов

Текст с разделителями

TreeLine использует XML для хранения файлов. Другие типы текстовых файлов могут быть импортированы путем простого их открытия. Открывая файл, который не является файлом TreeLine приведет к открытию диалога импорта с предложением выбрать необходимый формат.

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

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

Обычный текст

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

Файлы Treepad

Так же существует фильтр для импорта файлов из условно-бесплатной программы Treepad. Поддерживаются только текстовые узлы.

Файлы закладок

TreeLine может импортировать файлы закладок в формате Mozilla (браузеры Mozilla, Firefox и Netscape) и в формате XBEL (браузеры Konqueror, Galeon и Elinks). Каждая закладка становится узлом с именем и полем со ссылкой. Некоторая информация в файлах, такая как даты посещения и пиктограммы, не импортируются. Смотрите пример "sample_bookmarks" (доступный из меню "Файл->Открыть пример").

Стандартный XML

TreeLine может импортировать и экспортировать файлы в формате XML. Эти операции не слишком сложные - каждый элемент XML становится узлом, а каждый атрибут - полем данных. Текст XML становится полем с именем "Element_Data". Это все позволяет использовать TreeLine как простейший XML-редактор.


Экспорт файлов

HTML

Файлы могут быть экспортированы с помощью команды "Файл->Экспорт", которая приведет к открытию диалога с доступными опциями экспорта.

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

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

Текст с разделителями

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

Файлы закладок

TreeLine может экспортировать файлы в форматах Mozilla (браузеры Mozilla, Firefox и Netscape) и XBEL (браузеры Konqueror, Galeon и Elinks).

Стандартный XML

TreeLine может импортировать и экспортировать файлы в формате XML. Эти операции не слишком сложные - каждый элемент XML становится узлом, а каждый атрибут - полем данных. Текст XML становится полем с именем "Element_Data". Это все позволяет использовать TreeLine как простейший XML-редактор.

XSLT

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

При экспорте в XSLT, ссылка на файл XSL добавляется в исходный документ TreeLine, который должен быть сохранен. В общем, файл TreeLine должен иметь расширение .xml, чтобы его мог отобразить браузер. После этого, файл XSL не требует дальнейшего ре-экспорта при изменении данных, только при изменении структуры.

Если используется форматирование HTML, то оно должно использовать стиль xHTML (<br /> вместо <br>). При экспорте, существует возможность выбора имени файла с каскадной таблицей стилей (css). Это имя будет сохранено в файле TreeLine как имя по умолчанию для последующих операций экспорта. Так же, какие-либо ссылки на файлы XSLT могут быть убраны из документа TreeLine с помощью меню "Инструменты->Удалить ссылку XSLT".


Подключаемые модули

Описание

TreeLine имеет возможность для подключения внешних модулей (плагинов). Это позволяет писать другим программистам писать расширения для TreeLine, которые могут понадобится другим людям, и при этом не вносить лишнего в основную программу. Расширения могут добавлять новые меню с новыми функциями и командами для доступа и манипулирования данными.

Доступные расширения перечислены в разделе "Downloads" сайта TreeLine.

Установка

Подключаемые модули устанавливаются путем копирования их файлов (с расширением .py) в специальный каталог ("<prefix>/lib/treeline/plugins/" для Linux или "TreeLine\lib\plugins\" для Windows). Список загруженных модулей можно просмотреть командой меню "Справка->О подключаемых модулях".

С помощью конфигурационного файла программы (~/.treeline для Linux, treeline.ini для Windows) можно задать альтернативный каталог, для размещения подключаемых модулей - "UserPluginDir". Это позволит устанавливать расширения без привилегий администратора или суперпользователя.

Интерфейс

Информацию о том, как написать свои расширения для TreeLine можно найти в файле "plugininterface.py", который поставляется вместе с исходными текстами.


Основные проблемы

Ошибка XML

Сообщение вида "Ошибка при загрузке парсера XML" обычно говорит о том, что TreeLine не может найти необходимую библиотеку XML. На Linux, Python использует внешние библиотеки для парсинга. Установка пакета expat или PyXML должно решить проблему. На Windows, Python использует встроенный парсер, поэтому, такая ошибка не должна появляться, только если какие-либо системные файлы не будут повреждены.

Ошибки Unicode

Существует проблема, когда вывод теста оказывается испорчен - между каждым символом появляются квадраты, а конец строки обрезан. Это связано с проблемой unicode и пакета PyQt на некоторых системах Red Hat. Выходом может служить обновление PyQt до версии 3.7 или выше. Так же будет произведено обновление нескольких других пакетов.

Печать

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


Список изменений

Полный список изменений может быть найден в английской версии этого файла


Вопросы, комментарии, критика?

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

Чтобы подписаться на рассылку, пройдите по ссылке
www.bellz.org/mailman/listinfo/treeline.

Если вы не хотите подписываться на список рассылки, то можете написать прямо мне на адрес: doug101 AT bellz DOT org

Я приветствую любую обратную связь с пользователями, включая сообщения об ошибках. Так же, вы можете периодически проверять сайт www.bellz.org на наличие новых версий и обновлений.