Ananas Library 0.9.5
Открытые члены | Защищенные члены | Защищенные данные | Полный список членов класса
Класс aMSOTemplate

Класс определяет интерфейс для работы с шаблонами в формате Microsoft Office Word 2003. Наследует iTemplate. Подробнее...

#include <amsotemplate.h>

Граф наследования:aMSOTemplate:
iTemplate

Открытые члены

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
 iTemplate ()
 
virtual ~iTemplate ()
 
virtual bool open (const QString &fname)=0
 
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 ()
 

Защищенные члены

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.

Методы

◆ cleanUpTags()

void aMSOTemplate::cleanUpTags ( )
virtual

Удаляет все теги из документа, а также строки, в которых содержится тег секции

Переопределяет метод предка iTemplate.

Перекрестные ссылки clearAttributes(), clearRow(), clearTags() и docTpl.

◆ clear()

void aMSOTemplate::clear ( )
virtual

Обнуляет внутренние переменные.

Переопределяет метод предка iTemplate.

◆ clearAttributes()

void aMSOTemplate::clearAttributes ( QDomNode  node,
const QString  nodename,
const QString  attr 
)
protected

Рекурсивная функция. Удаляет из узла атрибут

Аргументы
node- узел из которого нужно удалить атрибут
nodename- имя узла
attr- имя атрибута,который нужно удалить

Перекрестные ссылки clearAttributes().

Используется в cleanUpTags() и clearAttributes().

◆ clearRow()

void aMSOTemplate::clearRow ( QDomNode  node)
protected

Рекурсивная функция. Удаляет строки, содержащие тег секции

Аргументы
node- узел из которого нужно удалить строки

Перекрестные ссылки clearRow().

Используется в cleanUpTags() и clearRow().

◆ clearTags()

void aMSOTemplate::clearTags ( QDomNode  node,
bool  section 
)
protected

Удаляет рекурсивно теги из node.

Аргументы
node- узел из которого нужно удалить теги
section- true, если надо удалить тег секции

Перекрестные ссылки clearTags().

Используется в cleanUpTags(), clearTags() и insertRowValues().

◆ close()

void aMSOTemplate::close ( )
virtual

Закрывает шаблон.

Переопределяет метод предка iTemplate.

Перекрестные ссылки docTpl.

◆ exec()

QString aMSOTemplate::exec ( const QString &  sname)
virtual

Выполняет подстановку значения параметра в шаблоне. Есть 2 типа тегов

  • обычные теги
  • секции - могут находиться ТОЛЬКО в строках таблицы.

Для подстановки значений обычных тегов необходимо выполнить setValue() где name = PARAM (сейчас #define PARAM "param") а value - значение для подстановки. Потом выполнить exec() с параметром = имени тега. Для подстановки секций необходимо з адать нужные параметры, используя setValue() а потом выполнить exec() с именем секции. exec может вызываться нужное число раз как для обычных тегов, так и для секций

Аргументы
sname- имя параметра

Переопределяет метод предка iTemplate.

Перекрестные ссылки docTpl, getValue(), searchTags() и setValue().

◆ getDir()

QString aMSOTemplate::getDir ( )
virtual

Каталог для хранения временных файлов отчета

Переопределяет метод предка iTemplate.

◆ getNodeTags()

bool aMSOTemplate::getNodeTags ( QDomNode  node,
const QString &  tagname,
bool  params 
)
protectedvirtual

Возвращает истину, когда текст ноды содержит тег с заданным именем.

Аргументы
node- узел, с которого осуществляется поиск.
sname- имя тега для поиска
params- true, если ищется обычный тег и false, если ищется тег секции

Используется в searchTags().

◆ getRowIndex()

int aMSOTemplate::getRowIndex ( QDomNode  node)
protected

Определяет номер строки в шаблоне

Аргументы
node- узел Row для которого определяется индекс

Используется в insertRowValues().

◆ getValue()

QString aMSOTemplate::getValue ( const QString &  name)
virtual

Возвращает значение параметра по его имени.

Аргументы
name- имя параметра

Переопределяет метод предка iTemplate.

Перекрестные ссылки aLog::print().

Используется в exec() и insertTagsValues().

◆ insertRowValues()

void aMSOTemplate::insertRowValues ( QDomNode  node)
protected

Вставляет новую строку в таблицу, заменяет теги на значения, удаляет тег секции из строки таблицы. Выполняет рекурсивный поиск узла, содержащего строку таблицы. У этого узла есть специальное имя(w:r), которое распознается функцией. После того, как узел найден, строка строка дублируется, а из текущей строки удаляются все теги секции, чтобы избежать мнократного размножения строк таблицы.

Аргументы
node- узел, в который происходит вставка
См. также
searchTags()

Перекрестные ссылки clearTags(), getRowIndex() и searchTags().

Используется в searchTags().

◆ insertTagsValues()

void aMSOTemplate::insertTagsValues ( QDomNode  node,
const QString &  tagName 
)
protectedvirtual

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

Аргументы
node- узел к которому добавляется значение
sname- имя тега

Перекрестные ссылки getValue().

Используется в searchTags().

◆ open()

bool aMSOTemplate::open ( const QString &  fname)
virtual

Открывает шаблон.

Аргументы
fnameимя шаблона

Замещает iTemplate.

Перекрестные ссылки docTpl, aLog::print() и templateDir.

◆ result()

QString aMSOTemplate::result ( )
virtual

Возвращает результат, т.е. шаблон в текстовом виде. Включена в интерфейс временно.

Переопределяет метод предка iTemplate.

Перекрестные ссылки docTpl.

◆ save()

bool aMSOTemplate::save ( const QString &  fname)
virtual

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

Переопределяет метод предка iTemplate.

Перекрестные ссылки docTpl и aLog::print().

◆ searchTags()

void aMSOTemplate::searchTags ( QDomNode  node,
const QString &  sname 
)
protected

Рекурсивная функция поиска и замены тегов на их значения в node. Не заменяет теги, а дописывает значения в конец. Для удаления тэгов используйте функцию cleanUpTags()

Аргументы
node- узел, с которого осуществляется поиск.
sname- имя тега для поиска
См. также
cleanUpTags() getNodeTags() insertRowValues()

Перекрестные ссылки getNodeTags(), insertRowValues(), insertTagsValues() и searchTags().

Используется в exec(), insertRowValues() и searchTags().

◆ setDir()

void aMSOTemplate::setDir ( const QString &  dir)
virtual

Сохраняет в переменную template расположение шаблона

Аргументы
dir- Каталог в котором находится шаблон

Переопределяет метод предка iTemplate.

Перекрестные ссылки templateDir.

◆ setValue()

void aMSOTemplate::setValue ( const QString &  name,
const QString &  value 
)
virtual

Устанавливает значение параметра по его имени.

Аргументы
name- имя параметра
value- значение параметра

Переопределяет метод предка iTemplate.

Используется в exec().

Данные класса

◆ docTpl

QDomDocument aMSOTemplate::docTpl
protected

Переменная для хранения содержимого распакованного шаблона.

Используется в cleanUpTags(), close(), exec(), open(), result() и save().

◆ templateDir

QString aMSOTemplate::templateDir
protected

?мя директории шаблонов

Используется в open() и setDir().


Объявления и описания членов классов находятся в файлах: