DropDownFieldBackend::DropDownFieldBackend(AbstractViewModel* parent, int& value, const DropDownFieldBackendItems& model, int fieldId, const QString& label) : FieldBackendBase(parent, fieldId, label), m_value(value), m_modelChanged(false) { connect(this, SIGNAL(valueChanged()), parent, SLOT(onFieldChanged())); m_model = new DropDownFieldBackendListModel(model, this); }
DataFormWidget::DataFormWidget(IDataForms *ADataForms, const IDataForm &AForm, QWidget *AParent) : QWidget(AParent) { FForm = AForm; FTableWidget = NULL; FDataForms = ADataForms; QVBoxLayout *formLayout = new QVBoxLayout(this); formLayout->setMargin(0); foreach(const QString &text, FForm.instructions) { QLabel *label = new QLabel(this); label->setText(text); label->setWordWrap(true); label->setTextFormat(Qt::PlainText); label->setAlignment(Qt::AlignCenter); formLayout->addWidget(label); } if (!FForm.fields.isEmpty() || !FForm.table.columns.isEmpty()) { foreach(const IDataField &field, FForm.fields) { IDataFieldWidget *fwidget = FDataForms->fieldWidget(field,!FForm.type.isEmpty() && FForm.type!=DATAFORM_TYPE_FORM,this); fwidget->instance()->setVisible(false); if (fwidget->mediaWidget() != NULL) { IDataMediaWidget *mwidget = fwidget->mediaWidget(); connect(mwidget->instance(),SIGNAL(mediaShown()),SLOT(onFieldMediaShown())); connect(mwidget->instance(),SIGNAL(mediaError(const XmppError &)),SLOT(onFieldMediaError(const XmppError &))); } connect(fwidget->instance(),SIGNAL(changed()),SLOT(onFieldChanged())); connect(fwidget->instance(),SIGNAL(focusIn(Qt::FocusReason)),SLOT(onFieldFocusIn(Qt::FocusReason))); connect(fwidget->instance(),SIGNAL(focusOut(Qt::FocusReason)),SLOT(onFieldFocusOut(Qt::FocusReason))); FFieldWidgets.append(fwidget); }
PasswordFieldBackend::PasswordFieldBackend(AbstractViewModel* parent, QString& value, int fieldId, const QString& label) : EditFieldBackendBase(parent, fieldId, label), m_value(value) { connect(this, SIGNAL(valueChanged()), parent, SLOT(onFieldChanged())); }