Ananas Library 0.9.5
Класс wDBTable

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

#include <wdbtable.h>

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

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

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
 
aSearchWidgetsearchWidget
 

Защищенные слоты

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::wDBTable ( QString objtype,
QWidget * parent = 0,
const char * name = 0 )

Конструктор. Задает значение ширины по умолчанию для столбца = 100.

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

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

◆ ~wDBTable()

wDBTable::~wDBTable ( )
virtual

Деструктор.

Методы

◆ activateNextCell()

void wDBTable::activateNextCell ( )
protectedvirtual

Переопределяет функцию QDataTable. Отрабатывет после нажатия Enter в редактируемой ячейке. Перемещает фокус ввода на следующую ячейку.

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

◆ beginInsert()

bool wDBTable::beginInsert ( )
protectedvirtual

Переопределяем метод базового класса, осуществляющий вставку новой строки в таблицу. Наш метод будет всегда помещать новую строку в начале таблицы. .

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

◆ beginUpdate()

QWidget * wDBTable::beginUpdate ( int row,
int col,
bool replace )
protected

Переопределяет функцию QDataTable. Выделяет текст в ячейке.

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

◆ checkFields()

void wDBTable::checkFields ( )

Функция проверяет свойства name, id, DefHeaders и ColWidth. Если находит ошибки в свойствах name или id, она выводит сообщение об этом, но не исправляет ошибки. Если находит ошибки в свойствах DefHeaders или ColWidth, то исправляет.

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

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

◆ confirmEdit()

QSql::Confirm wDBTable::confirmEdit ( QSql::Op m)
protectedvirtual

Переопределяем метод базового класса, вызывающий диалог подтверждения. Переопределен только диалог подтверждения удаления. .

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

◆ contentsContextMenuEvent()

void wDBTable::contentsContextMenuEvent ( QContextMenuEvent * e)
protected

Переопределяет функцию QDataTable. Если контейнер wJournal, может испускаеть сигналы insertRequest(), updateRequest(), deleteRequest(), viewRequest()

Перекрестные ссылки beginInsert(), deleteRequest(), insertRequest(), keyPressEvent(), updateRequest() и viewRequest().

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

◆ deleteCurrent()

bool wDBTable::deleteCurrent ( )
protectedvirtual

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

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

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

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

◆ deleteLine

void wDBTable::deleteLine ( QSqlRecord * rec)
signal

Сигнал испускается после удаления строки таблицы.

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

◆ deleteRequest

void wDBTable::deleteRequest ( )
signal
См. также
insertRequest();

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

◆ EditElement()

void wDBTable::EditElement ( )
protected

Открывает форму по умолчанию для объекта контейнера и настраивает ее на работу с текущей строкой таблицы. Используется только в настраиваемом редакторе каталога.

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

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

◆ getBindList

QValueList< int > wDBTable::getBindList ( )
slot

Получение списка уже присутствующих в форме таблиц. Необходимо для того, чтобы одну таблицу не добавили два раза.

Возвращает
список таблиц

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

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

◆ getColWidth()

QStringList wDBTable::getColWidth ( ) const

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

◆ getDefColWidth()

int wDBTable::getDefColWidth ( ) const

Получение размера столбца по умолчанию.

◆ getDefFields()

QStringList wDBTable::getDefFields ( ) const

Получение списка заданных полей.

Используется в aForm::ColIndex().

◆ getDefHeaders()

QStringList wDBTable::getDefHeaders ( ) const

Получение списка заданных заголовков.

◆ getDefIdList()

QStringList wDBTable::getDefIdList ( ) const

Получение списка заданных идентификаторов столбцов.

Используется в aForm::tabValue().

◆ getFieldName()

QString wDBTable::getFieldName ( long id)

Получение имени поля.

Аргументы
id- идентификатор поля
Возвращает
имя поля

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

◆ getFields()

QStringList wDBTable::getFields ( int idTable,
bool GetId = false )

Получение списка id или имен полей таблицы. Возвращаемое значение зависит от параметра GetId.

Аргументы
idTable(in) - id таблицы документа. Для каталога и журнала не используется.
GetId(ib) - если параметр равен true, возвращается список id полей таблицы, иначе возвращается список имен полей таблицы.
Возвращает
Список id или имен полей таблицы.

◆ getFieldType()

QString wDBTable::getFieldType ( long id)

Получение типа поля.

Аргументы
id- идентификатор поля
Возвращает
тип поля

Используется в aEditorFactory::createEditor() и aForm::tabValue().

◆ getId()

Q_ULLONG wDBTable::getId ( ) const

Получение идентификатора документа метаданных, которому принадлежит виджет.

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

◆ getOpenEditor()

bool wDBTable::getOpenEditor ( ) const

Всегда возвращает false.

Возвращает
false

◆ getTableId()

int wDBTable::getTableId ( int numTable)

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

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

◆ getTableInd()

int wDBTable::getTableInd ( int id)

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

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

◆ getTblInd()

int wDBTable::getTblInd ( ) const

Получение идентификатора текущей таблицы.

◆ init() [1/2]

void wDBTable::init ( )

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

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

◆ init() [2/2]

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

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

Перекрестные ссылки aDatabase::cfg, newDataId(), aLog::print(), setWFieldEditor() и aWidget::uid().

◆ insertRequest

void wDBTable::insertRequest ( )
signal

Сигналы от контекстного меню для присоединения к wJournal Если контейнер другого типа, то вызывается стандартное меню, и эти сигналы не испускаются.

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

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

◆ keyPressEvent()

void wDBTable::keyPressEvent ( QKeyEvent * e)
protectedvirtual

Обрабатывает события при нажатии кнопок клавиатуры.

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

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

◆ lineUpdate

void wDBTable::lineUpdate ( QSql::Op mode)
slot

Обработчик сигнала изменения строки. Генерирует сигналы deleteLine и saveLine.

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

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

◆ newDataId

void wDBTable::newDataId ( const Q_ULLONG id)
slot

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

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

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

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

◆ newFilter

void wDBTable::newFilter ( const QString & flt)
slot

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

Аргументы
flt- строка вида "idd=999", задающая условия отбора записей в таблицу по значению поля idd.

◆ OpenEditor()

void wDBTable::OpenEditor ( )

Создает диалоговое окно редактора свойств.

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

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

◆ paintField()

void wDBTable::paintField ( QPainter * p,
const QSqlField * field,
const QRect & cr,
bool selected )
protectedvirtual

Переопределенная функция рисования поля таблицы. В типе DateTime не отображает время. Поддерживает вычисляемые поля.

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

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

◆ saveLine

void wDBTable::saveLine ( QSqlRecord * rec)
signal

Сигнал испускается после обновлении строки таблицы.

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

◆ selected

void wDBTable::selected ( Q_ULLONG uid)
signal

Сигнал испускается после выбора документа.

Используется в keyPressEvent(), paintField() и viewRequest().

◆ selectRecord

void wDBTable::selectRecord ( Q_ULLONG )
signal

Сигнал испускается после изменения строки.

◆ setAvailableTables

void wDBTable::setAvailableTables ( )
slot

Заполняет внутренний список доступных таблиц, используя в качестве источника информации объект tables. Добавляет к имени уже забинденой таблицы звездочку(*).

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

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

◆ setColWidth()

void wDBTable::setColWidth ( QStringList lst)

Установка списка размеров столбцов.

◆ setDefColWidth()

void wDBTable::setDefColWidth ( int fn)

Установка размера столбцов по умолчанию.

◆ setDefFields()

void wDBTable::setDefFields ( QStringList lst)

Установка списка имен полей.

◆ setDefHeaders()

void wDBTable::setDefHeaders ( QStringList lst)

Установка списка заголовков полей.

◆ setDefIdList()

void wDBTable::setDefIdList ( QStringList lst)

Установка списка идентификаторов столбцов.

◆ setFields()

void wDBTable::setFields ( int idTable)

Устанавливает свойства ‘DefFields’, ‘DefHeaders’, ‘ColWidth’, ‘DefIdList’ в значения, определенные в метаданных. Старые значения не сохраняются. Для документа используется idTable.

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

◆ setId()

void wDBTable::setId ( Q_ULLONG fn)

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

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

◆ setOpenEditor()

void wDBTable::setOpenEditor ( bool fn)

Открывает окно редактора свойсв, если fn == true

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

◆ setTblInd()

void wDBTable::setTblInd ( int ind)

Установка идентификатора текущей таблицы.

◆ setWFieldEditor

void wDBTable::setWFieldEditor ( )
slot

Устанавливает свой редактор ячейки таблицы (wField).

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

◆ updateCurr

void wDBTable::updateCurr ( int row,
int col )
signal

Сигнал испускается после обновления ячейки с номером row, col.

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

◆ updateCurrent()

bool wDBTable::updateCurrent ( )
protectedvirtual

Переопределяет функцию QDataTable. Испускает сигнал updateCurr().

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

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

◆ updateRequest

void wDBTable::updateRequest ( )
signal
См. также
insertRequest();

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

◆ updateTableCellHandler

void wDBTable::updateTableCellHandler ( int r,
int c )
protectedvirtualslot

Обрабатывает окончание редактирования ячейки таблицы.

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

◆ Value

QVariant wDBTable::Value ( const QString & colname)
slot

Получение значения поля. Не реализовано.

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

◆ viewRequest

void wDBTable::viewRequest ( )
signal

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