Класс wDBTable

Визуальный класс для редактирования табличных частей документа. Наследует QDataTable. Подробнее...

#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)

Открытые атрибуты

aCfgmd
aDatabasedb
aEngineengine
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


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

Визуальный класс для редактирования табличных частей документа. Наследует QDataTable.

Поддерживает редактирование журнала документов и таблицы элементов каталога.


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

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) -
если параметр равен true, возвращается список id полей таблицы, иначе возвращается список имен полей таблицы.
Возвращает:
Список id или имен полей таблицы.

Перекрестные ссылки 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 таблицы. Не используется в каталоге и журнале.
Возвращает:
Для документа возвращает позицию таблицы, для каталога и журнала документов возвращает 0

Перекрестные ссылки aCfg::count(), aCfg::findChild(), aCfg::id() и aCfg::objClass().

int wDBTable::getTableId ( int  numTable  ) 

Получение id таблицы по ее позиции в метаданных. Эта позиция совпадает с индексом таблицы в комбобоксе редактора свойств таблицы.

Аргументы:
numTable (in) - Положение таблицы в метаданных. Не используется в каталоге и журнале.
Возвращает:
id таблицы

Перекрестные ссылки aCfg::findChild(), aCfg::id() и aCfg::objClass().

void wDBTable::init (  ) 

Функция инициализации. Устанавливает объект метаданных и объект таблицы, к которому идет обращение для поиска полей или (в случае документа) таблиц

Перекрестные ссылки aCfg::find(), aCfg::findChild(), aWidget::getId(), aWidget::getMd() и aCfg::objClass().

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

void wDBTable::init ( aDatabase adb,
aEngine e = 0 
)

Инициализация виджета при загрузке в форму инжина.

Перекрестные ссылки 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.

Возвращает:
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]

Слот обрабатывает ситуацию смены/установки идентификатора документа, запоминая новое значение. Для смены фильта следует вызывать слот newFilter.

Аргументы:
id - идентификатор документа, который следует запомнить.

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

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

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 Если контейнер другого типа, то вызывается стандартное меню, и эти сигналы не испускаются.

См. также:
updateRequest(); deleteRequest(); viewRequest();

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

void wDBTable::updateRequest (  )  [signal]

См. также:
insertRequest();

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

void wDBTable::deleteRequest (  )  [signal]

См. также:
insertRequest();

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

void wDBTable::viewRequest (  )  [signal]

См. также:
insertRequest();

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

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]

Функция удаления строки.

Возвращает:
true, если ошибок не было

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

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 в редактируемой ячейке. Перемещает фокус ввода на следующую ячейку.


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

Документация по Ananas Library. Последние изменения: Mon Jul 14 11:53:56 2008. Создано системой  doxygen 1.5.5