/ proxyroles / proxyrolecontainer.cpp
proxyrolecontainer.cpp
 1  #include "proxyrolecontainer.h"
 2  
 3  namespace qqsfpm {
 4  
 5  QList<ProxyRole*> ProxyRoleContainer::proxyRoles() const
 6  {
 7      return m_proxyRoles;
 8  }
 9  
10  void ProxyRoleContainer::appendProxyRole(ProxyRole* proxyRole)
11  {
12      m_proxyRoles.append(proxyRole);
13      onProxyRoleAppended(proxyRole);
14  }
15  
16  void ProxyRoleContainer::removeProxyRole(ProxyRole* proxyRole)
17  {
18      m_proxyRoles.removeOne(proxyRole);
19      onProxyRoleRemoved(proxyRole);
20  }
21  
22  void ProxyRoleContainer::clearProxyRoles()
23  {
24      m_proxyRoles.clear();
25      onProxyRolesCleared();
26  }
27  
28  QQmlListProperty<ProxyRole> ProxyRoleContainer::proxyRolesListProperty()
29  {
30      return QQmlListProperty<ProxyRole>(reinterpret_cast<QObject*>(this), &m_proxyRoles,
31                                      &ProxyRoleContainer::append_proxyRole,
32                                      &ProxyRoleContainer::count_proxyRole,
33                                      &ProxyRoleContainer::at_proxyRole,
34                                      &ProxyRoleContainer::clear_proxyRoles);
35  }
36  
37  void ProxyRoleContainer::append_proxyRole(QQmlListProperty<ProxyRole>* list, ProxyRole* proxyRole)
38  {
39      if (!proxyRole)
40          return;
41  
42      ProxyRoleContainer* that = reinterpret_cast<ProxyRoleContainer*>(list->object);
43      that->appendProxyRole(proxyRole);
44  }
45  
46  qqsfpm::ProxyRoleContainer::sizetype ProxyRoleContainer::count_proxyRole(QQmlListProperty<ProxyRole>* list)
47  {
48      QList<ProxyRole*>* ProxyRoles = static_cast<QList<ProxyRole*>*>(list->data);
49      return ProxyRoles->count();
50  }
51  
52  ProxyRole* ProxyRoleContainer::at_proxyRole(QQmlListProperty<ProxyRole>* list, qqsfpm::ProxyRoleContainer::sizetype index)
53  {
54      QList<ProxyRole*>* ProxyRoles = static_cast<QList<ProxyRole*>*>(list->data);
55      return ProxyRoles->at(index);
56  }
57  
58  void ProxyRoleContainer::clear_proxyRoles(QQmlListProperty<ProxyRole> *list)
59  {
60      ProxyRoleContainer* that = reinterpret_cast<ProxyRoleContainer*>(list->object);
61      that->clearProxyRoles();
62  }
63  
64  }