コード例 #1
0
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);
}
コード例 #2
0
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);
		}
コード例 #3
0
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()));
}