void NodeCriterion::setValue(const QVariant & value) { if(value.isValid() && value.canConvert<NodeCriterionValue>()) { _value = value.value<NodeCriterionValue>(); } else{ _value = NodeCriterionValue(); } }
void TreeComboFilterItemWidget::slotCurrentIndexChanged(int) { NodeCriterionValue nodeCriterion;//Default is NodeCriterionValue::All QModelIndex currIndex = _comboBox->view()->currentIndex(); //The root node has a valid index but an invalid parent //We only care for it's children. if(currIndex.isValid() && currIndex.parent().isValid()){ TreeItemModel * model = static_cast<TreeItemModel*>(_comboBox->model()); QList<int> nodes = model->getSubTreeIds(currIndex); nodeCriterion = NodeCriterionValue(NodeCriterionValue::IncludeNodeChilds, nodes); } QVariant value = QVariant::fromValue(nodeCriterion); emit valueChanged(_filterTag, value); }
NodeCriterion::NodeCriterion(const QString & foreignKeyName) : _foreignKeyName(foreignKeyName), _value(NodeCriterionValue()) {}