Exemple #1
0
void DataDocument::restoreEditState(const DataDocument::EditState &edit_state)
{
	TableModel *m = model();
	int ri = currentModelRow();
	QMapIterator<int, QVariant> it(edit_state.dirtyValues);
	while (it.hasNext()) {
		it.next();
		m->setValue(ri, it.key(), it.value());
		m->setDirty(ri, it.key(), true);
	}
	setMode(edit_state.editMode);
	if(edit_state.editMode == ModeInsert || edit_state.editMode == ModeCopy)
		m->tableRef().rowRef(ri).setInsert(true);
}
Exemple #2
0
void DataDocument::setValue(const QString &data_id, const QVariant &val)
{
	qfLogFuncFrame() << "data_id:" << data_id << "val:" << val.toString();
	if(isEmpty()) {
		qfWarning() << "data_id:" << data_id << "val:" << val.toString() << "setValue() in empty document";
		return;
	}
	if(data_id.isEmpty()) {
		qfWarning() << "data_id is empty";
		return;
	}
	QVariant old_val;
	TableModel *m = model();
	int r = currentModelRow();
	old_val = m->value(r, data_id);
	if(m->setValue(r, data_id, val)) {
		if(old_val != val) {
			emit valueChanged(data_id, old_val, val);
		}
	}
}