Ananas Library 0.9.5
|
Класс определяет интерфейс для работы с шаблонами в формате Microsoft Office Word 2003. Наследует iTemplate. Подробнее...
#include <amsotemplate.h>
Открытые члены | |
virtual bool | open (const QString &fname) |
virtual void | close () |
virtual void | clear () |
virtual QString | getValue (const QString &name) |
virtual void | setValue (const QString &name, const QString &value) |
virtual QString | exec (const QString &sname) |
virtual QString | result () |
virtual bool | save (const QString &fname) |
virtual void | cleanUpTags () |
virtual void | setDir (const QString &dir) |
virtual QString | getDir () |
![]() | |
iTemplate () | |
virtual | ~iTemplate () |
Защищенные члены | |
void | searchTags (QDomNode node, const QString &sname) |
virtual bool | getNodeTags (QDomNode node, const QString &tagname, bool params) |
void | insertRowValues (QDomNode node) |
virtual void | insertTagsValues (QDomNode node, const QString &tagName) |
void | clearTags (QDomNode node, bool section) |
void | clearRow (QDomNode node) |
void | clearAttributes (QDomNode n, const QString node, const QString attr) |
int | getRowIndex (QDomNode node) |
Защищенные данные | |
QMap< QString, QString > | values |
QString | templateDir |
QDomDocument | docTpl |
Класс определяет интерфейс для работы с шаблонами в формате Microsoft Office Word 2003. Наследует iTemplate.
Описание шаблона:
Шаблон представляет собой xml документ для Microsoft Office Word 2003. Он предназначен для того, чтобы быстро создавать отчеты. Внешне шаблон отличается от того документа, который необходимо сгенерировать только наличием специальных тегов. Эти теги при генерации заменяются на конкретные значения.
Предусмотрено два типа тегов:
1) Тег секции
С помощью него можно размножать строки таблицы. Для этого надо просто записать его в любую ячейку строки.
Формат тега [:имя тега:]
В имени допустимы любые символы.
При вызове exec() с параметром = имени этого тега к таблице будет добавлена еще одна строка. Если в этой строке есть простые теги, то произойдет замена тега на значение, заданное с помощью функции setValue()
2) Простой тег.
С помощью него можно вставлять в документ обычный текст, дату, и т.п.
формат тега <:имя тега:>
При вызове exec() с параметром = имени этого тега, рядом допишется значение, предварительно заданное с помощью функции setValue()
Функция setValue() задает значения для подстановки. Для прстых тегов надо задавать setValue("param",значение для подстановки); после чего надо выполнить exec(имя простого тега)
Для тегов секции setValue(имя простого тега, значение для подстановки); после чего выполнить exec(имя секции);
|
virtual |
Удаляет все теги из документа, а также строки, в которых содержится тег секции
Переопределяет метод предка iTemplate.
Перекрестные ссылки clearAttributes(), clearRow(), clearTags() и docTpl.
|
virtual |
Обнуляет внутренние переменные.
Переопределяет метод предка iTemplate.
|
protected |
Рекурсивная функция. Удаляет из узла атрибут
node | - узел из которого нужно удалить атрибут |
nodename | - имя узла |
attr | - имя атрибута,который нужно удалить |
Перекрестные ссылки clearAttributes().
Используется в cleanUpTags() и clearAttributes().
|
protected |
Рекурсивная функция. Удаляет строки, содержащие тег секции
node | - узел из которого нужно удалить строки |
Перекрестные ссылки clearRow().
Используется в cleanUpTags() и clearRow().
|
protected |
Удаляет рекурсивно теги из node.
node | - узел из которого нужно удалить теги |
section | - true, если надо удалить тег секции |
Перекрестные ссылки clearTags().
Используется в cleanUpTags(), clearTags() и insertRowValues().
|
virtual |
|
virtual |
Выполняет подстановку значения параметра в шаблоне. Есть 2 типа тегов
Для подстановки значений обычных тегов необходимо выполнить setValue() где name = PARAM (сейчас #define PARAM "param") а value - значение для подстановки. Потом выполнить exec() с параметром = имени тега. Для подстановки секций необходимо з адать нужные параметры, используя setValue() а потом выполнить exec() с именем секции. exec может вызываться нужное число раз как для обычных тегов, так и для секций
sname | - имя параметра |
Переопределяет метод предка iTemplate.
Перекрестные ссылки docTpl, getValue(), searchTags() и setValue().
|
virtual |
Каталог для хранения временных файлов отчета
Переопределяет метод предка iTemplate.
|
protectedvirtual |
Возвращает истину, когда текст ноды содержит тег с заданным именем.
node | - узел, с которого осуществляется поиск. |
sname | - имя тега для поиска |
params | - true, если ищется обычный тег и false, если ищется тег секции |
Используется в searchTags().
|
protected |
Определяет номер строки в шаблоне
node | - узел Row для которого определяется индекс |
Используется в insertRowValues().
|
virtual |
Возвращает значение параметра по его имени.
name | - имя параметра |
Переопределяет метод предка iTemplate.
Перекрестные ссылки aLog::print().
Используется в exec() и insertTagsValues().
|
protected |
Вставляет новую строку в таблицу, заменяет теги на значения, удаляет тег секции из строки таблицы. Выполняет рекурсивный поиск узла, содержащего строку таблицы. У этого узла есть специальное имя(w:r), которое распознается функцией. После того, как узел найден, строка строка дублируется, а из текущей строки удаляются все теги секции, чтобы избежать мнократного размножения строк таблицы.
node | - узел, в который происходит вставка |
Перекрестные ссылки clearTags(), getRowIndex() и searchTags().
Используется в searchTags().
|
protectedvirtual |
Добавляет к тегу значение параметра tagName. После вызова этой функции тег не исчезает, и к нему можно добавить еще значения, которые добавятся к концу текста, содержащего тег.
node | - узел к которому добавляется значение |
sname | - имя тега |
Перекрестные ссылки getValue().
Используется в searchTags().
|
virtual |
Открывает шаблон.
fname | имя шаблона |
Замещает iTemplate.
Перекрестные ссылки docTpl, aLog::print() и templateDir.
|
virtual |
|
virtual |
Сохраняет шаблон в файл с заданным именем. Перед сохранением необходимо выполнить функцию cleanUpTags() чтобы удалить тэги из сохраняемого документа.
Переопределяет метод предка iTemplate.
Перекрестные ссылки docTpl и aLog::print().
|
protected |
Рекурсивная функция поиска и замены тегов на их значения в node. Не заменяет теги, а дописывает значения в конец. Для удаления тэгов используйте функцию cleanUpTags()
node | - узел, с которого осуществляется поиск. |
sname | - имя тега для поиска |
Перекрестные ссылки getNodeTags(), insertRowValues(), insertTagsValues() и searchTags().
Используется в exec(), insertRowValues() и searchTags().
|
virtual |
Сохраняет в переменную template расположение шаблона
dir | - Каталог в котором находится шаблон |
Переопределяет метод предка iTemplate.
Перекрестные ссылки templateDir.
|
virtual |
|
protected |
|
protected |