HAL
filter_elements_proxy_model.cpp
Go to the documentation of this file.
3 
4 #include "gui/gui_globals.h"
5 
6 namespace hal
7 {
8  FilterElementsProxyModel::FilterElementsProxyModel(QObject* parent) : mFilterNets(false), mFilterGates(false)
9  {}
10 
12  mFilterNets = filterNets;
14  }
15 
17  mFilterGates = filterGates;
19  }
20 
22  return mFilterNets;
23  }
24 
26  return mFilterGates;
27  }
28 
29  bool FilterElementsProxyModel::filterAcceptsRow(int sourceRow, const QModelIndex& sourceParent) const
30  {
31  QModelIndex sourceIndex = sourceModel()->index(sourceRow, 0, sourceParent);
32  auto item = static_cast<ModuleItem*>(sourceIndex.internalPointer());
33 
34  if(mFilterNets && item->getType() == ModuleItem::TreeItemType::Net)
35  return false;
36  if(mFilterGates && item->getType() == ModuleItem::TreeItemType::Gate)
37  return false;
38 
39  return true;
40  }
41 }
bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const override
FilterElementsProxyModel(QObject *parent=nullptr)
An item in the ModuleModel.
Definition: module_item.h:48
void * internalPointer() const const