|
Ananas Library 0.9.5
|
Плагин – виджет предназначенный для редактирования значений любых типов, определенных в бизнес схеме. Наследует aWidget. Подробнее...
#include <wfield.h>
Открытые типы | |
| enum | tEditorType { Unknown , Numberic , String , Date , DateTime , Boolean , Catalogue =101 , Document } |
Открытые слоты | |
| bool | getOpt () const |
| Открытые слоты унаследованные от aWidget | |
| virtual QVariant | value (const QString &name) |
Сигналы | |
| void | valueChanged (const QString &) |
| void | valueChanged (const QVariant &) |
| void | inputInvalid () |
| void | lostFocus () |
| Сигналы унаследованные от aWidget | |
| void | setData (QWidget *, aCfg *) |
| void | getData (QWidget *) |
| void | getMd (aCfg **) |
| void | valueChanged (const QString &, const QVariant &) |
| void | valueChanged (const QString &, const QVariant &, const QString &) |
| void | changeObj (const QString &) |
| void | changeObjId (const Q_ULLONG) |
| void | keyPressed (QKeyEvent *e) |
Открытые члены | |
| wField (QWidget *parent, const char *name, WFlags fl=0) | |
| virtual | ~wField () |
| virtual QDialog * | createEditor (QWidget *parent) |
| void | setOpt (bool fn) |
| virtual QString | value () const |
| QString | text () const |
| virtual void | setValue (const QString &fn) |
| virtual void | Validate (const QString &fn) |
| void | setValue (const QDate &d) |
| virtual QString | textValue () |
| void | setFieldType (QString n) |
| QString | getFieldType () const |
| void | setEditorType (tEditorType n) |
| tEditorType | getEditorType () const |
| void | fieldSelect () |
| virtual void | focusInEvent () |
| virtual void | focusOutEvent () |
| void | selectAll () |
| virtual void | SetReadOnly (bool) |
| virtual void | SetNonZero (bool) |
| virtual void | SetMask (QString) |
| virtual void | SetValidator (QString Validator, int twostate) |
| Открытые члены унаследованные от aWidget | |
| aWidget (QWidget *parent=0, const char *name=0, WFlags fl=0) | |
| aWidget (const QString &oname, aDatabase *adb, QWidget *parent=0, const char *name=0, WFlags fl=0) | |
| aWidget (aCfgItem context, aDatabase *adb, QWidget *parent=0, const char *name=0, WFlags fl=0) | |
| virtual bool | checkStructure () |
| virtual void | initObject (aDatabase *adb) |
| virtual void | widgetEditor () |
| virtual QToolBar * | createToolBar (QMainWindow *parent) |
| virtual aObject * | createDBObject (aCfgItem obj, aDatabase *) |
| virtual QString | displayString () |
| void | init (aDatabase *adb) |
| bool | getOpenEditor () const |
| void | setOpenEditor (bool) |
| bool | isInited () |
| virtual bool | isContainer () |
| void | setInited (bool flag) |
| aCfgItem * | getMDObject () |
| void | setMDObject (aCfgItem object) |
| aSQLTable * | table (const QString &name="") |
| void | setObjectData (QWidget *object, aCfg *md) |
| void | getObjectData (QWidget *object) |
| aCfg * | getMd () |
| virtual Q_ULLONG | uid () |
| virtual ERR_Code | New () |
| virtual ERR_Code | Update () |
| virtual ERR_Code | TurnOn () |
| virtual ERR_Code | Select (Q_ULLONG id) |
| aObject * | dataObject () |
| virtual Q_ULLONG | docId () |
| int | formMode () const |
| virtual void | setFormMode (int mode) |
| virtual QString | getFieldName () const |
| int | getId () const |
| void | setId (int fn) |
| virtual int | setValue (const QString &name, const QVariant &value) |
| virtual int | setObjValue (const QString &nameWidget, aObject *value) |
| virtual int | Refresh () |
| QWidget * | Widget (QString name, bool onlyMyWidgets=true) |
| virtual aDataField * | getAttribute (const QString &name) |
| virtual int | setAttribute (const QString &name, const aDataField *value) |
Защищенные члены | |
| void | widgetInit () |
| Защищенные члены унаследованные от aWidget | |
| virtual void | updateProp () |
| virtual void | keyPressEvent (QKeyEvent *e) |
Защищенные данные | |
| QLineEdit * | lineEdit |
| wDateEdit * | dateEdit |
| QLabel * | objLabel |
| QLabel * | nzLabel |
| wCatButton * | objButton |
| wCheckBox * | checkBox |
| QValidator * | v |
| int | two_state |
| tEditorType | vEditorType |
| QString | vFieldType |
| QString | vValue |
| Защищенные данные унаследованные от aWidget | |
| aObject * | dbobj |
Свойства | |
| QString | value |
| QString | FieldType |
| tEditorType | EditorType |
| Свойства унаследованные от aWidget | |
| int | Id |
| bool | openEditor |
| int | FormMode |
Дополнительные унаследованные члены | |
| Открытые статические члены унаследованные от aWidget | |
| static void | widgetEditor (QWidget *object, QDialog *editor) |
| static aWidget * | parentContainer (QWidget *w) |
| static aForm * | parentForm (QWidget *w) |
| static QString | widgetName (QWidget *w) |
| static QWidget * | Widget (QWidget *owner, QString name) |
| Открытые атрибуты унаследованные от aWidget | |
| aDatabase * | db |
| aCfg * | md |
| aEngine * | engine |
Плагин – виджет предназначенный для редактирования значений любых типов, определенных в бизнес схеме. Наследует aWidget.
В отличие от wDBField класс wField не биндится к атрибутам persistent бизнес объектов. То есть время жизни хранимых в нем значений равно времени жизни родительской экранной формы. Прикладной программист сам должен решить вопрос обработки и хранения значений задаваемых пользователем.
| wField::wField | ( | QWidget * | parent, |
| const char * | name, | ||
| WFlags | fl = 0 ) |
Создает объект с родителем parent, именем name и флагом fl.
Перекрестные ссылки aWidget::aWidget().
Используется в wDBField::wDBField() и wDBField::wDBField().
|
virtual |
|
virtual |
Устанавливает визуальный тип виджета в зависимости от свойства `fieldType'. Это свойсто должно быть установлено до вызова этой функции, иначе тип виджета будет установлен в Unknown. _ru */ void wField::widgetInit() { QString str; char s1[20]; int n1=0, n2=0; lineEdit->hide(); disconnect( lineEdit, SIGNAL( textChanged( const QString & ) ), this, SLOT( setValue( const QString & ) ) ); disconnect( lineEdit, SIGNAL( lostFocus() ), this, SLOT( focusOutEvent()) ); lineEdit->disconnect(); lineEdit->setReadOnly(false); layout()->add( nzLabel ); layout()->remove(lineEdit); dateEdit->hide();// = new QDateEdit(this); disconnect(dateEdit, SIGNAL( valueChanged ( const QDate&) ), this, SLOT( setValue( const QDate & ) ) ); disconnect(dateEdit, SIGNAL( lostFocus() ), this, SLOT( focusOutEvent() ) ); layout()->remove(dateEdit); objLabel->hide();// = new QLabel(this); objLabel->disconnect(); layout()->remove(objLabel); objButton->hide();// = new wCatButton("...",this); disconnect( objButton, SIGNAL( clicked() ), this, SLOT( fieldSelect() ) ); objButton->disconnect(); layout()->remove(objButton); checkBox->hide(); disconnect( checkBox, SIGNAL( valueChanged ( const QString & ) ), this, SLOT( setValue( const QString & ) ) );
disconnect( checkBox, SIGNAL( toggled (bool) ), checkBox, SLOT( on_toggled() ) ); checkBox->disconnect(); layout()->remove(checkBox); TODO: need rewrite if (!vFieldType.isEmpty()) sscanf((const char *)vFieldType,"%s %i %i", s1, &n1, &n2);
switch (vEditorType) { case Numberic: lineEdit->setText(vValue); if(vFieldType.isEmpty()) { set validator for numeric type QString str = tr("^\\-{0,1}\\d{0,%1}\\.{1}\\d{0,%2}$").arg(3).arg(3); QRegExp rexp = str; lineEdit->setValidator(new QRegExpValidator(rexp,lineEdit)); } else { if(n2==0) { set default validator for integer type QString str = tr("^\\-{0,1}\\d{0,%1}$").arg(n1); QRegExp rexp = str; lineEdit->setValidator(new QRegExpValidator(rexp,lineEdit)); } else { set default validator for float type QString str = tr("^\\-{0,1}\\d{0,%1}\\.{1}\\d{0,%2}$").arg(n1).arg(n2); QRegExp rexp = str; lineEdit->setValidator(new QRegExpValidator(rexp,lineEdit)); } } connect( lineEdit, SIGNAL( textChanged( const QString & ) ), this, SLOT( setValue( const QString & ) ) ); connect( lineEdit, SIGNAL( lostFocus() ), this, SLOT( focusOutEvent()) );
setFocusProxy(lineEdit); layout()->add( lineEdit ); lineEdit->show(); break;
case String: if(vFieldType.isEmpty()) { set default validator for string lineEdit->setMaxLength(20); }else{ set validator for string lineEdit->setMaxLength(n1); } lineEdit->setValidator(NULL); connect( lineEdit, SIGNAL( textChanged( const QString & ) ), this, SLOT( setValue( const QString & ) ) ); connect( lineEdit, SIGNAL( lostFocus() ), this, SLOT( focusOutEvent()) );
setFocusProxy(lineEdit); layout()->add( lineEdit ); lineEdit->show(); break;
case Date: case DateTime: used object wDateTime, inherits QDateTime dateEdit->setSeparator("."); dateEdit->setOrder( QDateEdit::DMY ); objButton->setMaximumWidth(25); objButton->setFocusPolicy(StrongFocus); objButton->setPixmap( QPixmap::fromMimeSource( "calendar.png" ) ); connect(dateEdit, SIGNAL( valueChanged ( const QDate&) ), this, SLOT( setValue( const QDate & ) ) ); connect(dateEdit, SIGNAL( lostFocus() ), this, SLOT( focusOutEvent() ) ); connect( objButton, SIGNAL( clicked() ), this, SLOT( fieldSelect() ) ); connect( objButton, SIGNAL( clicked() ), this, SLOT(popupCalendar())); setFocusProxy( dateEdit ); setFocusProxy(objButton); layout()->add( dateEdit ); layout()->add( objButton ); objButton->show(); dateEdit->show(); break;
case Catalogue: md_oid = n1; objLabel->setFrameShape( QFrame::Box ); objLabel->setLineWidth( 1 ); objLabel->setFocusPolicy(NoFocus); objButton->setMaximumWidth(25); objButton->setFocusPolicy(StrongFocus); objButton->setPixmap( QPixmap::fromMimeSource( "wcatalogue.png" ) ); connect( objButton, SIGNAL( clicked() ), this, SLOT( fieldSelect() ) );
setFocusProxy(objButton); layout()->add( objLabel ); layout()->add( objButton ); objLabel->show(); objButton->show(); break;
case Document: Field type = Document md_oid = n1; objLabel->setFrameStyle( QFrame::Panel | QFrame::Sunken ); objLabel->setLineWidth( 1 ); objLabel->setFocusPolicy(NoFocus); objButton->setMaximumWidth(25); objButton->setFocusPolicy(StrongFocus); objButton->setPixmap( QPixmap::fromMimeSource( "wdocument.png" ) ); connect( objButton, SIGNAL( clicked() ), this, SLOT( fieldSelect() ) );
setFocusProxy(objButton); layout()->add( objLabel ); layout()->add( objButton ); objLabel->show(); objButton->show(); break;
case Boolean: connect( checkBox, SIGNAL( lostFocus() ), this, SLOT( focusOutEvent()) ); connect( checkBox, SIGNAL( valueChanged ( const QString & ) ), this, SLOT( setValue( const QString & ) ) );
connect( checkBox, SIGNAL( toggled (bool) ), checkBox, SLOT( on_toggled() ) ); setFocusProxy(checkBox); layout()->add(checkBox); checkBox->show(); break;
default: objLabel->setText("UnknownField"); objLabel->setFrameShape(QFrame::Box); setFocusPolicy(NoFocus); layout()->add( objLabel ); objLabel->show(); break; } setValue(vValue); }
/*! \en Sets property fieldType. _en \ru Устанавливает значение свойства `fieldType'. */ void wField::setFieldType( QString n ) { vFieldType=n; if (!loaded) { loaded = true; } widgetInit(); }
/*! Устанавливает значение свойства `editorType'._ru */ void wField::setEditorType( tEditorType n ) { vEditorType=n; widgetInit(); }
/* void wField::load() { }
\en Creates property editor dialog window. _en \ru Создает окно диалога редактора свойств._ru
| parent | - \en parent _en \ru родитель _ru |
Переопределяет метод предка aWidget.
Переопределяется в wDBField.
| void wField::fieldSelect | ( | ) |
\en Calls handler onClick event for Catalogue or Document object. _en \ru Вызывает обработчик события onClick для объектов Каталог или Документ. _ru
Перекрестные ссылки aLog::print().
|
virtual |
\en Handler signal lostFocus. _en \ru Обработчик сигнала lostFocus. \ru
|
virtual |
\en Handler signal lostFocus. _en \ru Обработчик сигнала lostFocus. \ru
|
virtual |
\en Set input Mask to LineEdit. _en \ru Устанавливает маску ввода в LineEdit. _ru
| QString | inputMas - \en inputMas for LineEdit. _en \ru inputMas для LineEdit._ru |
Используется в wDBField::initObject().
|
virtual |
\en Mark field by red asterisk if it is Non Zero. _en \ru Помечает поле красной звездочкой, если поле не нулевое._ru
Используется в wDBField::initObject().
|
virtual |
Устанавливает флаг толко чтение. Когда установлен этот флаг, запрещается редактирование полей виджета, и сохранение изменений в базу.
| status | - Новое значение флага только чтение. |
Переопределяет метод предка aWidget.
|
virtual |
\en Set validaror and connect LineEdit to Validator. _en \ru Устанавливает валидатор и соединяет LineEdit с Validator. _ru
| QString | Validator - \en RegExp for QRegExpValidator _en \ru значение RegExp для установки QRegExpValidator_ru |
Перекрестные ссылки Validate().
Используется в wDBField::initObject().
| void wField::setValue | ( | const QDate & | newDate | ) |
\en Sets value type DateTime. _en \ru Устанавливает значения типа DateTime. Так как в базе хранится тип DateTime, значение дополняется нулевым временем для корректной конвертации и хранении в базе. Формат даты в базе данных должен быть ISO. _ru
| newDate | (in) - \en date for set _en \ru Дата для установки _ru |
|
virtual |
\en Sets value. _en \ru Устанавливает значение виджета. _ru
| newvalue | (in) - \en value for set _en \ru значение для установки _ru |
Переопределяет метод предка aWidget.
Используется в Validate().
| QString wField::text | ( | ) | const |
\en Gets text value. _en \ru Возвращает текстовое значение виджета. _ru
|
inlinevirtual |
Переопределяет метод предка aWidget.
|
virtual |
\en Validate value and paint LineEdit frame. _en \ru Проверяет значение и рисует рамку поля ввода._ru
Перекрестные ссылки setValue().
Используется в SetValidator().
|
virtual |
\en Gets value. _en \ru Возвращает значение виджета. _ru
Переопределяет метод предка aWidget.