#include <wdbtable.h>
Открытые слоты | |
QValueList< int > | getBindList () |
void | setWFieldEditor () |
void | setAvailableTables () |
void | lineUpdate (QSql::Op mode) |
void | newFilter (const QString &) |
void | newDataId (const Q_ULLONG) |
QVariant | Value (const QString &colname) |
bool | searchColumn (const QString &text, bool FromCurrent=FALSE, bool Forward=TRUE) |
void | searchOpen (const QString &text="") |
void | searchClose () |
Сигналы | |
void | saveLine (QSqlRecord *rec) |
void | deleteLine (QSqlRecord *rec) |
void | selected (Q_ULLONG uid) |
void | selectRecord (Q_ULLONG) |
void | updateCurr (int row, int col) |
void | insertRequest () |
void | updateRequest () |
void | deleteRequest () |
void | viewRequest () |
Открытые члены | |
wDBTable (QString objtype, QWidget *parent=0, const char *name=0) | |
virtual | ~wDBTable () |
void | checkFields () |
void | setFields (int numTable) |
QStringList | getFields (int numTable, bool GetId=false) |
QString | getFieldName (long idField) |
QString | getFieldType (long idField) |
int | getTableInd (int id) |
int | getTableId (int ind) |
void | init () |
void | init (aDatabase *adb, aEngine *e=0) |
void | OpenEditor () |
QStringList | getDefFields () const |
QStringList | getDefHeaders () const |
QStringList | getColWidth () const |
QStringList | getDefIdList () const |
Q_ULLONG | getId () const |
int | getTblInd () const |
bool | getOpenEditor () const |
int | getDefColWidth () const |
void | setDefFields (QStringList lst) |
void | setDefHeaders (QStringList lst) |
void | setColWidth (QStringList lst) |
void | setDefIdList (QStringList lst) |
void | setId (Q_ULLONG fn) |
void | setTblInd (int ind) |
void | setOpenEditor (bool fn) |
void | setDefColWidth (int fn) |
QString | getEditFormName () const |
void | setEditFormName (QString name) |
QString | containerType () const |
void | setContainerType (QString name) |
QPixmap | systemIcon () |
virtual int | Select (ANANAS_UID db_uid) |
Открытые атрибуты | |
aCfg * | md |
aDatabase * | db |
aEngine * | engine |
QStringList | list_available_tables |
QStringList | fname |
QStringList | hname |
QStringList | colWidth |
QStringList | idList |
int | defColWidth |
int | tableInd |
aCfgItem | tables |
QSqlCursor * | cur |
bool | searchMode |
QString | searchString |
aSearchWidget * | searchWidget |
Защищенные слоты | |
void | doubleClickEventHandler (int, int, int, const QPoint &) |
virtual void | updateTableCellHandler (int, int) |
void | dropped (QDropEvent *) |
Защищенные члены | |
virtual QDragObject * | dragObject () |
virtual void | paintField (QPainter *p, const QSqlField *field, const QRect &cr, bool selected) |
QWidget * | beginUpdate (int row, int col, bool replace) |
virtual bool | updateCurrent () |
void | contentsContextMenuEvent (QContextMenuEvent *e) |
virtual bool | deleteCurrent () |
virtual void | keyPressEvent (QKeyEvent *e) |
void | EditElement () |
virtual void | activateNextCell () |
virtual bool | beginInsert () |
Переопределяем метод базового класса, осуществляющий вставку новой строки в таблицу. Наш метод будет всегда помещать новую строку в начале таблицы. | |
virtual QSql::Confirm | confirmEdit (QSql::Op m) |
Переопределяем метод базового класса, вызывающий диалог подтверждения. Переопределен только диалог подтверждения удаления. | |
Свойства | |
Q_ULLONG | Id |
int | DefaultColWidth |
int | TableInd |
QStringList | DefFields |
QStringList | DefHeaders |
QStringList | ColWidth |
QStringList | DefIdList |
QString | editFormName |
Друзья | |
class | aForm |
Поддерживает редактирование журнала документов и таблицы элементов каталога.
wDBTable::wDBTable | ( | QString | objtype, | |
QWidget * | parent = 0 , |
|||
const char * | name = 0 | |||
) |
Конструктор. Задает значение ширины по умолчанию для столбца = 100.
Перекрестные ссылки init(), lineUpdate(), aLog::print() и updateTableCellHandler().
wDBTable::~wDBTable | ( | ) | [virtual] |
Деструктор.
void wDBTable::checkFields | ( | ) |
Функция проверяет свойства name, id, DefHeaders и ColWidth. Если находит ошибки в свойствах name или id, она выводит сообщение об этом, но не исправляет ошибки. Если находит ошибки в свойствах DefHeaders или ColWidth, то исправляет.
Перекрестные ссылки getFieldName() и aLog::print().
Используется в OpenEditor().
void wDBTable::setFields | ( | int | idTable | ) |
Устанавливает свойства `DefFields', `DefHeaders', `ColWidth', `DefIdList' в значения, определенные в метаданных. Старые значения не сохраняются. Для документа используется idTable.
idTable | (in) - id таблицы документа. Не используется для каталогов и журналов. |
Перекрестные ссылки aCfg::attr(), aCfg::countChild(), aCfg::find(), aCfg::findChild() и aCfg::objClass().
QStringList wDBTable::getFields | ( | int | idTable, | |
bool | GetId = false | |||
) |
Получение списка id или имен полей таблицы. Возвращаемое значение зависит от параметра GetId.
idTable | (in) - id таблицы документа. Для каталога и журнала не используется. | |
GetId | (ib) - |
Перекрестные ссылки aCfg::attr(), aCfg::countChild(), aCfg::find(), aCfg::findChild() и aCfg::objClass().
QString wDBTable::getFieldName | ( | long | id | ) |
Получение имени поля.
id | - идентификатор поля |
Перекрестные ссылки aCfg::attr() и aCfg::find().
Используется в checkFields().
QString wDBTable::getFieldType | ( | long | id | ) |
Получение типа поля.
id | - идентификатор поля |
Перекрестные ссылки aCfg::attr(), aCfg::find() и aCfg::objClass().
Используется в aEditorFactory::createEditor().
int wDBTable::getTableInd | ( | int | id | ) |
Получение позиции таблицы в метаданных по ее id. Эта позиция совпадает с индексом таблицы в комбобоксе редактора свойств таблицы.
id | (in) - id таблицы. Не используется в каталоге и журнале. |
Перекрестные ссылки aCfg::count(), aCfg::findChild(), aCfg::id() и aCfg::objClass().
int wDBTable::getTableId | ( | int | numTable | ) |
Получение id таблицы по ее позиции в метаданных. Эта позиция совпадает с индексом таблицы в комбобоксе редактора свойств таблицы.
numTable | (in) - Положение таблицы в метаданных. Не используется в каталоге и журнале. |
Перекрестные ссылки aCfg::findChild(), aCfg::id() и aCfg::objClass().
void wDBTable::init | ( | ) |
Функция инициализации. Устанавливает объект метаданных и объект таблицы, к которому идет обращение для поиска полей или (в случае документа) таблиц
Перекрестные ссылки aCfg::find(), aCfg::findChild(), aWidget::getId(), aWidget::getMd() и aCfg::objClass().
Используется в wDBTable().
Инициализация виджета при загрузке в форму инжина.
Перекрестные ссылки aDatabase::cfg, aWidget::dataObject(), aWidget::getId(), aWidget::getMDObject(), newDataId(), aCfg::objClass(), aCfg::objTable(), aLog::print(), setWFieldEditor(), aWidget::table() и aWidget::uid().
void wDBTable::OpenEditor | ( | ) |
Создает диалоговое окно редактора свойств.
Перекрестные ссылки checkFields() и setAvailableTables().
Используется в setOpenEditor().
QStringList wDBTable::getDefFields | ( | ) | const |
Получение списка заданных полей.
Используется в aForm::ColIndex().
QStringList wDBTable::getDefHeaders | ( | ) | const |
Получение списка заданных заголовков.
QStringList wDBTable::getColWidth | ( | ) | const |
Получение списка заданных размеров столбцов.
QStringList wDBTable::getDefIdList | ( | ) | const |
Получение списка заданных идентификаторов столбцов.
Q_ULLONG wDBTable::getId | ( | ) | const |
Получение идентификатора документа метаданных, которому принадлежит виджет.
Используется в EditElement().
int wDBTable::getTblInd | ( | ) | const |
Получение идентификатора текущей таблицы.
bool wDBTable::getOpenEditor | ( | ) | const |
Всегда возвращает false.
int wDBTable::getDefColWidth | ( | ) | const |
Получение размера столбца по умолчанию.
void wDBTable::setDefFields | ( | QStringList | lst | ) |
Установка списка имен полей.
void wDBTable::setDefHeaders | ( | QStringList | lst | ) |
Установка списка заголовков полей.
void wDBTable::setColWidth | ( | QStringList | lst | ) |
Установка списка размеров столбцов.
void wDBTable::setDefIdList | ( | QStringList | lst | ) |
Установка списка идентификаторов столбцов.
void wDBTable::setId | ( | Q_ULLONG | fn | ) |
Установка идентификатора документа метаданных, которому принадлежит виджет.
Используется в newDataId().
void wDBTable::setTblInd | ( | int | ind | ) |
Установка идентификатора текущей таблицы.
void wDBTable::setOpenEditor | ( | bool | fn | ) |
Открывает окно редактора свойсв, если fn == true
Перекрестные ссылки OpenEditor().
void wDBTable::setDefColWidth | ( | int | fn | ) |
Установка размера столбцов по умолчанию.
QValueList< int > wDBTable::getBindList | ( | ) | [slot] |
Получение списка уже присутствующих в форме таблиц. Необходимо для того, чтобы одну таблицу не добавили два раза.
Используется в setAvailableTables().
void wDBTable::setWFieldEditor | ( | ) | [slot] |
Устанавливает свой редактор ячейки таблицы (wField).
Перекрестные ссылки aEditorFactory::setMd().
Используется в init().
void wDBTable::setAvailableTables | ( | ) | [slot] |
Заполняет внутренний список доступных таблиц, используя в качестве источника информации объект tables. Добавляет к имени уже забинденой таблицы звездочку(*).
Перекрестные ссылки aCfg::attr(), aCfg::countChild(), aCfg::find(), aCfg::findChild(), getBindList(), aCfg::id() и aCfg::objClass().
Используется в OpenEditor().
void wDBTable::lineUpdate | ( | QSql::Op | mode | ) | [slot] |
Обработчик сигнала изменения строки. Генерирует сигналы deleteLine и saveLine.
Перекрестные ссылки deleteLine() и saveLine().
Используется в wDBTable().
void wDBTable::newFilter | ( | const QString & | flt | ) | [slot] |
Слот обрабатывает ситуацию смены/установки идентификатора документа, устанавливая новый фильтр. Кроме переустановки фильта следует вызывать слот newDataId, для смены/установки значения идентификатора документа. Для журнала этого можно не делать.
flt | - строка вида "idd=999", задающая условия отбора записей в таблицу по значению поля idd. |
void wDBTable::newDataId | ( | const | Q_ULLONG | ) | [slot] |
QVariant wDBTable::Value | ( | const QString & | colname | ) | [slot] |
Получение значения поля. Не реализовано.
Перекрестные ссылки aLog::print().
void wDBTable::updateTableCellHandler | ( | int | r, | |
int | c | |||
) | [protected, virtual, slot] |
Обрабатывает окончание редактирования ячейки таблицы.
Используется в wDBTable().
void wDBTable::saveLine | ( | QSqlRecord * | rec | ) | [signal] |
Сигнал испускается после обновлении строки таблицы.
Используется в lineUpdate().
void wDBTable::deleteLine | ( | QSqlRecord * | rec | ) | [signal] |
Сигнал испускается после удаления строки таблицы.
Используется в lineUpdate().
void wDBTable::selected | ( | Q_ULLONG | uid | ) | [signal] |
Сигнал испускается после выбора документа.
Используется в keyPressEvent().
void wDBTable::selectRecord | ( | Q_ULLONG | ) | [signal] |
Сигнал испускается после изменения строки.
void wDBTable::updateCurr | ( | int | row, | |
int | col | |||
) | [signal] |
Сигнал испускается после обновления ячейки с номером row, col.
Используется в deleteCurrent() и updateCurrent().
void wDBTable::insertRequest | ( | ) | [signal] |
Сигналы от контекстного меню для присоединения к wJournal Если контейнер другого типа, то вызывается стандартное меню, и эти сигналы не испускаются.
Используется в contentsContextMenuEvent().
void wDBTable::updateRequest | ( | ) | [signal] |
void wDBTable::deleteRequest | ( | ) | [signal] |
void wDBTable::viewRequest | ( | ) | [signal] |
void wDBTable::paintField | ( | QPainter * | p, | |
const QSqlField * | field, | |||
const QRect & | cr, | |||
bool | selected | |||
) | [protected, virtual] |
Переопределенная функция рисования поля таблицы. В типе DateTime не отображает время. Поддерживает вычисляемые поля.
QWidget * wDBTable::beginUpdate | ( | int | row, | |
int | col, | |||
bool | replace | |||
) | [protected] |
Переопределяет функцию QDataTable. Выделяет текст в ячейке.
Перекрестные ссылки wField::selectAll().
bool wDBTable::updateCurrent | ( | ) | [protected, virtual] |
Переопределяет функцию QDataTable. Испускает сигнал updateCurr().
Перекрестные ссылки updateCurr().
void wDBTable::contentsContextMenuEvent | ( | QContextMenuEvent * | e | ) | [protected] |
Переопределяет функцию QDataTable. Если контейнер wJournal, может испускаеть сигналы insertRequest(), updateRequest(), deleteRequest(), viewRequest()
Перекрестные ссылки beginInsert(), deleteRequest(), insertRequest(), keyPressEvent(), updateRequest() и viewRequest().
bool wDBTable::deleteCurrent | ( | ) | [protected, virtual] |
void wDBTable::keyPressEvent | ( | QKeyEvent * | e | ) | [protected, virtual] |
Обрабатывает события при нажатии кнопок клавиатуры.
Перекрестные ссылки EditElement(), aLog::print() и selected().
Используется в contentsContextMenuEvent().
void wDBTable::EditElement | ( | ) | [protected] |
Открывает форму по умолчанию для объекта контейнера и настраивает ее на работу с текущей строкой таблицы. Используется только в настраиваемом редакторе каталога.
Перекрестные ссылки getId() и aEngine::openForm().
Используется в keyPressEvent().
void wDBTable::activateNextCell | ( | ) | [protected, virtual] |
Переопределяет функцию QDataTable. Отрабатывет после нажатия Enter в редактируемой ячейке. Перемещает фокус ввода на следующую ячейку.