Ananas Library 0.9.5
Класс aCatalogue

Класс aCatalogue определяет программный интерфейс иерархических справочников. Наследует aObject. Подробнее...

#include <acatalogue.h>

Граф наследования:aCatalogue:
aObject

Открытые слоты

virtual int New (bool child)
 Задает идентификатор группы.
virtual int New ()
 Создает новый элемент справочника в текущей группе.
virtual int Delete ()
 Выполняет удаление текущего элемента каталога.
virtual int newGroup (Q_ULLONG parentId)
virtual int newElement (Q_ULLONG parentId)
virtual int Update ()
 Обновляет значение элемента справочника в базе данных. .
virtual int Copy ()
 Клонирует элемент справочника, создавая новый элемент с теми же значениями свойств что и у текущего элемента.
virtual int Select (bool grouponly=false)
 Делает один (первый) элемент справочника текущим.
void UnSelect (bool grouponly=false)
 Выставляет признаки выбранности элемента/группы в false. .
virtual int selectByLevel (int level)
virtual int selectByGroup (Q_ULLONG idg)
virtual Q_ULLONG idGroupByElement (Q_ULLONG ide)
virtual int groupSelect (Q_ULLONG idg)
virtual QVariant GetElementValue (QVariant ide, const QString &fname)
virtual bool FindById (QString el_id)
virtual Q_ULLONG delElement ()
virtual Q_ULLONG delGroup (Q_ULLONG idg, QValueList< Q_ULLONG > &listDelId)
Q_ULLONG setMarkDeletedElement (Q_ULLONG el_id, bool del)
Q_ULLONG setMarkDeletedGroup (Q_ULLONG gr_id, bool del)
void getMarkDeletedList (Q_ULLONG idg, QValueList< Q_ULLONG > &listDelId)
virtual bool isGroupMarkDeleted ()
virtual bool isElementMarkDeleted ()
virtual bool Next ()
virtual bool Prev ()
virtual bool First ()
virtual bool Last ()
virtual bool NextInGroupTable ()
virtual bool PrevInGroupTable ()
virtual bool FirstInGroupTable ()
virtual bool LastInGroupTable ()
virtual int GroupNew (bool reparent=false)
virtual int GroupDelete ()
virtual int GroupMarkDeleted ()
virtual int GroupUpdate ()
virtual int GroupSelect ()
virtual int GroupSetGroup (aCatalogue *cat)
virtual QVariant GroupValue (const QString &name)
virtual int GroupSetValue (const QString &name, const QVariant &value)
virtual QVariant GroupSysValue (const QString &name)
virtual int GroupSetSysValue (const QString &name, const QVariant &value)
virtual QStringList getUserFields ()
virtual QStringList getGroupUserFields ()
Открытые слоты унаследованные от aObject
virtual QString Uid ()
 Возвращает уникальный идентификатор объекта из базы данных.
virtual bool IsSelected ()
 Checks if object selected.
virtual bool IsMarkDeleted (const QString &tname="")
 Checks "Deleted" marker.
virtual bool IsMarked ()
 Checks "Marked" marker.
virtual int SetMarkDeleted (bool Deleted, const QString &tablename="")
 Устанавливает признак логического удаления объекта (записи SQL таблицы)
virtual int SetMarked (bool Marked)
 Выставляет отметку на объекте.
virtual int New ()
 Add new object record in database.
virtual int Copy ()
 Создает новый объект, являющийся клоном текущего объекта.
virtual int Delete ()
 Удаляет текущий объект из базы данных.
virtual int Update ()
 Обновляет запись в базе данных текущеми значениями.
virtual int Conduct ()
virtual int UnConduct ()
virtual bool IsConducted ()
virtual QString Kind (const QString &name=QString::null)
 Вид объекта, так как он описан в метаданных. .
virtual QVariant Value (const QString &name, const QString &tableName="")
 Return field value of the primary object database table.
virtual int SetValue (const QString &name, const QVariant &value, const QString &tableName="")
 Set field value of the primary object database table.
virtual QVariant sysValue (const QString &name, const QString &tableName="")
 Gets system field value.
virtual int setSysValue (const QString &name, QVariant value, const QString &tableName="")
 Sets system field value.
virtual int SetFilter (const QString &valname, const QVariant &value)
 Задает фильтр записей/объектов
virtual int ClearFilter ()
 Чистит фильтр записей/объектов.
virtual int TableSetFilter (const QString &tname, const QString &valname, const QVariant &value)
 Устанавливает вильтр записей табличной части объекта.
virtual int TableClearFilter (const QString &tname)
 Чистит фильтр записей указанной табличной части объекта.
virtual bool IsFiltred ()
 Показывает наличие активного фильтра

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

 aCatalogue (aCfgItem context, aDatabase *adb=0)
 Конструктор. .
 aCatalogue (QString name, aDatabase *adb=0)
 Конструктор. .
virtual ERR_Code initObject ()
 Выполняет реальную инициализацию объекта. Вызывается всеми конструкторами. .
Открытые члены унаследованные от aObject
 aObject (QObject *parent=0, const char *name=0)
 Конструктор для создания абстрактного объекта.
 aObject (const QString &oname, aDatabase *adb, QObject *parent=0, const char *name=0)
 Создает объект как модель данных, описанную в метаданных.
 aObject (aCfgItem context, aDatabase *adb, QObject *parent=0, const char *name=0)
 Создает объект как модель данных, описанную в метаданных.
virtual ~aObject ()
 Виртуальный деструктор .
virtual bool checkStructure ()
 Not implemented.
ERR_Code init ()
 Вспомогоательный метод. Проверяет необходимость вызова метода initObject() и вызывает его.
ERR_Code decodeDocNum (QString nm, QString &pref, int &num)
 Осуществляет выделение символьного префикса из строки.
virtual ERR_Code select (Q_ULLONG id)
 Позиционирует указатель в БД на запись, соотвествующую объекту с указанным идентификатором.
Q_ULLONG getUid ()
 Возвращает уникальный идентификатор объекта из базы данных.
bool selected (const QString &tablename="")
 Показывает задан ли текущий объект или запись в его табличной части.
ERR_Code select (const QString &query, const QString &tableName="")
 Осуществляет SQL запрос.
aDataTabletable (const QString &name="")
 Возвращает одну из таблиц бизнес-объекта по ее имени.
virtual Q_ULLONG docId ()
 Возвращает id документа в базе данных.
virtual bool Next (const QString &tableName="")
 Перемещает указатель на следующую запись SQL таблицы.
virtual bool Prev (const QString &tableName="")
 Перемещает указатель на предыдующую запись SQL таблицы.
virtual bool First (const QString &tableName="")
 Перемещает указатель на первую запись SQL таблицы.
virtual bool Last (const QString &tableName="")
 Перемещает указатель на последнюю запись SQL таблицы.
virtual int TableUpdate (const QString &tablename)
 Обновляет базу данных данными табличной части объекта.
virtual QString displayString ()
 Возвращает строку, предназначенную для отображения пользователю объекта сложного типа.
virtual int LastErrorCode ()
 Возвращает код последней ошибки.
virtual QString LastErrorMessage ()
 Возвращает сообщение, поясняющее последнюю ошибку. .

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

virtual aCfgItem displayStringContext ()
 Возвращает контекст (узел дерева) метаданных для вычисления строкового представления сложного типа.
Защищенные члены унаследованные от aObject
virtual ERR_Code setObject (aCfgItem newobject)
 Задает метатип объекта.
bool isInited ()
void setInited (bool flag)
ERR_Code tableInsert (const QString &dbname, aCfgItem obj, const QString &name="")
 Insert table name and its link into internal buffer.
ERR_Code tableInsert (const QString &dbname, const QString &name="")
 Insert table name and its link into internal buffer.
ERR_Code tableRemove (const QString &name="")
 Remove table from buffer.
virtual QVariant tValue (const QString &tablename, const QString &name)
 Return field value of the secondary object database table.
virtual ERR_Code setTValue (const QString &tablename, const QString &name, const QVariant &value)
 Set field value of the secondary object database table.
virtual QString trSysName (const QString &sname)
 Not implemented.
void setSelected (bool sel, const QString &tablename="")
 Явно задает состояние выбранности объекта или записи его табличной части.
virtual ERR_Code setTFilter (const QString &tname, const QString &valname, const QVariant &value)
 Устанавливает вильтр записей табличной части объекта.
virtual ERR_Code clearTFilter (const QString &tname)
 Чистит фильтр записей указанной табличной части объекта.
void setLastError (int, QString)
 Задает значения свойствам lastErrorCode и lastErrorMessage класса

Дополнительные унаследованные члены

Открытые атрибуты унаследованные от aObject
aCfgmd
aCfgItem obj
aDatabasedb
Защищенные данные унаследованные от aObject
bool concrete

Подробное описание

Класс aCatalogue определяет программный интерфейс иерархических справочников. Наследует aObject.

Не визуальный объект используемый для работы с иерархическими каталогами (справочниками). Используется как интерфейс между базой данных и скриптами или wObjects*

Конструктор(ы)

◆ aCatalogue() [1/2]

aCatalogue::aCatalogue ( aCfgItem context,
aDatabase * adb = 0 )

Конструктор. .

Перекрестные ссылки aObject::aObject() и initObject().

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

◆ aCatalogue() [2/2]

aCatalogue::aCatalogue ( QString name,
aDatabase * adb = 0 )

Конструктор. .

Перекрестные ссылки aObject::aObject() и initObject().

Методы

◆ Copy

ERR_Code aCatalogue::Copy ( )
virtualslot

Клонирует элемент справочника, создавая новый элемент с теми же значениями свойств что и у текущего элемента.

Возвращает
err_noerror в случае успеха.

Перекрестные ссылки aObject::Copy().

◆ delElement

Q_ULLONG aCatalogue::delElement ( )
virtualslot

Только удаляет элемент. Не поддерживает связь один ко многим.

Возвращает
идентификационный номер удаляемого элемента.

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

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

◆ Delete

ERR_Code aCatalogue::Delete ( )
virtualslot

Выполняет удаление текущего элемента каталога.

Если элемент каталога содержит вложенные элементы, происходит их рекурсивное удаление.

Возвращает
err_notable, err_notselected в случае возникновения ошибки. Или то, что вернет aObject::Delete()

Перекрестные ссылки aCatalogue(), Delete(), aObject::Delete(), aLog::print(), aObject::selected() и aObject::table().

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

◆ delGroup

Q_ULLONG aCatalogue::delGroup ( Q_ULLONG idg,
QValueList< Q_ULLONG > & listDelId )
virtualslot

Физически удаляет группу со всеми ее дочерними элементами и группами.

Аргументы
idg(in) - идентификационный номер выделенной для удаления группы.
listDelId(in,out) - список идентификационных номеров выделенных для удаления элементов и групп.

Перекрестные ссылки delElement(), delGroup(), GroupSysValue(), aLog::print(), aObject::setSelected() и aObject::table().

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

◆ displayStringContext()

aCfgItem aCatalogue::displayStringContext ( )
protectedvirtual

Возвращает контекст (узел дерева) метаданных для вычисления строкового представления сложного типа.

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

◆ FindById

bool aCatalogue::FindById ( QString el_id)
virtualslot

Находит и позиционирует курсор на элемент справочника с ID=el_id

Перекрестные ссылки aObject::table().

◆ getGroupUserFields

QStringList aCatalogue::getGroupUserFields ( )
virtualslot

Перекрестные ссылки aObject::table().

◆ getMarkDeletedList

void aCatalogue::getMarkDeletedList ( Q_ULLONG idg,
QValueList< Q_ULLONG > & listDelId )
slot

Выделяет удаляемую группу с дочерними элементами и группами. При первом вызове параметр listDelId должен быть пустой, он не обнуляется автоматически при вызове этой функции. Функция рекурсивно вызывает сама себя для всех дочерних подгрупп и добавляет их id в список. Также туда добавляются и id элементов, содержащихся в этих группах. Для изменения атрибута удаления используте функции setElementMarkDeleted(id)(для элементов) и setGroupMarkDeleted(id) (для групп)

Аргументы
idg(in) - идентификационный номер выделенной для удаления группы.
listDelId(in,out) - список идентификационных номеров выделенных для удаления элементов и групп.

Перекрестные ссылки getMarkDeletedList(), GroupSysValue(), aObject::sysValue() и aObject::table().

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

◆ getUserFields

QStringList aCatalogue::getUserFields ( )
virtualslot

Перекрестные ссылки aObject::table().

◆ GroupSelect

int aCatalogue::GroupSelect ( )
virtualslot
Возвращает

Перекрестные ссылки aObject::selected() и aObject::table().

◆ GroupSysValue

QVariant aCatalogue::GroupSysValue ( const QString & name)
virtualslot

Перекрестные ссылки aObject::table().

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

◆ idGroupByElement

Q_ULLONG aCatalogue::idGroupByElement ( Q_ULLONG ide)
virtualslot

Получает идентификационный номер группы по номеру элемента

Аргументы
ide(in) - идентификационный номер элемента.
Возвращает
идентификационный номер группы.

Перекрестные ссылки aObject::setSelected(), aObject::sysValue() и aObject::table().

◆ initObject()

ERR_Code aCatalogue::initObject ( )
virtual

Выполняет реальную инициализацию объекта. Вызывается всеми конструкторами. .

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

Перекрестные ссылки aObject::initObject(), aDatabase::tableDbName() и aObject::tableInsert().

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

◆ New [1/2]

ERR_Code aCatalogue::New ( )
virtualslot

Создает новый элемент справочника в текущей группе.

Возвращает
то же, что и aCatalogue::New( bool child )

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

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

◆ New [2/2]

ERR_Code aCatalogue::New ( bool child)
virtualslot

Задает идентификатор группы.

Возвращает
константу err_notable или err_notselected в случае ошибки. err_noerror в случае успеха.

Задает значение идентификатора текущей группы равным значению идентификатора текущей группы указанного Справочника.

Аргументы
cat- Каталог значение идентификатора текущей группы которого используется.
Возвращает
константу err_notable или err_notselected в случае ошибки. err_noerror в случае успеха.

Возвращает идентификатор владельца.

Задает идентификатор владельца.

Возвращает
константу err_notable или err_notselected в случае ошибки. err_noerror в случае успеха.

Создает новый элемент справочника.

Новый элемент будет создан либо как элемент текущей группы, либо как дочерний элемент выбранного элемента справочника.

Аргументы
child- задает вариант создания элемента. true - будет создан дочерний элемент текущего элемента справочника. false - будет создан элемент в текущей группк
Возвращает
err_noerror в случае успешного выполнения или ошибки, возвращаемые методом aObject::New()

Перекрестные ссылки aObject::getUid(), aObject::New(), aObject::setSelected() и aObject::table().

◆ newElement

ERR_Code aCatalogue::newElement ( Q_ULLONG parentId)
virtualslot

Вставляет новый элемент в таблицу элементов

Аргументы
parentId(in) - идентификационный номер группы предка.

Перекрестные ссылки aObject::setSelected() и aObject::table().

◆ newGroup

ERR_Code aCatalogue::newGroup ( Q_ULLONG parentId)
virtualslot

Вставляет новую группу в таблицу групп

Аргументы
parentId(in) - идентификационный номер группы предка или 0 если нет предка.

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

◆ Select

ERR_Code aCatalogue::Select ( bool grouponly = false)
virtualslot

Делает один (первый) элемент справочника текущим.

Меняя значение параметра можно уточнить должен ли быть выбираемый элемент элементом текущей группы.

Аргументы
grouponly- значение true требует, чтобы текущим стал один из элементов текущей группы. Значение false означает, что текущим элементом станет первый элемент справочника, а не первый элемент текущей группы.

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

◆ selectByLevel

int aCatalogue::selectByLevel ( int level)
virtualslot

Перекрестные ссылки aObject::setSelected() и aObject::table().

◆ setMarkDeletedElement

Q_ULLONG aCatalogue::setMarkDeletedElement ( Q_ULLONG id_el,
bool del )
slot

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

Возвращает
идентификационный номер удаляемого элемента.

Перекрестные ссылки aObject::select(), aObject::SetMarkDeleted(), aDataTable::sysValue(), aObject::table() и Update().

◆ UnSelect

void aCatalogue::UnSelect ( bool grouponly = false)
slot

Выставляет признаки выбранности элемента/группы в false. .

Перекрестные ссылки aObject::setSelected().

◆ Update

ERR_Code aCatalogue::Update ( )
virtualslot

Обновляет значение элемента справочника в базе данных. .

Перекрестные ссылки aLog::print(), aObject::setLastError(), aObject::TableUpdate() и aObject::Update().

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


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