void CGeorgesTreeViewDialog::filterRows() { nlinfo("CGeorgesTreeViewDialog::filterRows"); CGeorgesFormProxyModel * mp = dynamic_cast<CGeorgesFormProxyModel *>(_ui.treeView->model()); CGeorgesFormModel *m = dynamic_cast<CGeorgesFormModel *>(mp->sourceModel()); if (m) { m->setShowParents(_ui.checkBoxParent->isChecked()); m->setShowDefaults(_ui.checkBoxDefaults->isChecked()); } //CGeorgesFormProxyModel * mp = dynamic_cast<CGeorgesFormProxyModel *>(_ui.treeView->model()); //CGeorgesFormModel *m = dynamic_cast<CGeorgesFormModel *>(mp->sourceModel()); //for (int i = 0; i < m->rowCount(); i++) //{ // const QModelIndex in = m->index(i,0); // if (m->getItem(in)->nodeFrom() == UFormElm::NodeParentForm) // { // if (newState == Qt::Checked) // { // _ui.treeView->setRowHidden(in.row(),in.parent(),false); // } // else // { // _ui.treeView->setRowHidden(in.row(),in.parent(),true); // } // } // else // { // search childs // recursive? // for (int j = 0; j < m->rowCount(in); j++) // { // const QModelIndex in2 = m->index(j,0,in); // if (m->getItem(in2)->nodeFrom() == UFormElm::NodeParentForm) // { // if (newState == Qt::Checked) // { // _ui.treeView->setRowHidden(in2.row(),in,false); // } // else // { // _ui.treeView->setRowHidden(in2.row(),in,true); // } // } // } // } // end of search childs //} }