Guest User

item class works with the model...

a guest
Feb 24th, 2015
200
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include "classeur.h"
  2.  
  3. #include <QDebug>
  4. #include <QSqlDatabase>
  5. #include <QSqlQuery>
  6. #include <QSqlError>
  7. #include <QMessageBox>
  8.  
  9.  
  10. Classeur::Classeur(const QVector<QVariant> &data,
  11. Classeur *parent)
  12. {
  13. parentClasseur = parent;
  14. classeurData = data;
  15. if(data.count() == 5) {
  16. if(classeurData[2] == 0)
  17. classeurData[2] = id_tree_MAX + 1;
  18. if(classeurData[2].toInt() > id_tree_MAX)
  19. id_tree_MAX = classeurData[2].toInt();
  20. files_model = new Files_Model();
  21. files_root = files_model->invisibleRootItem();
  22. files_model->setColumnCount(4); }
  23. }
  24.  
  25. Classeur::~Classeur()
  26. {
  27. qDeleteAll(childsClasseur);
  28. // qDeleteAll(Classeur_Info.files_model);
  29. // qDeleteAll(Classeur_Info.files_root);
  30. }
  31.  
  32. int Classeur::id_tree_MAX = 0;
  33.  
  34. Classeur *Classeur::child(int number) {
  35. return childsClasseur.value(number);
  36. }
  37.  
  38. QList<Classeur*> Classeur::childs() {
  39. return childsClasseur;
  40. }
  41.  
  42. int Classeur::childNumber() const {
  43. if(parentClasseur)
  44. return parentClasseur->childsClasseur.indexOf(
  45. const_cast<Classeur*>(this));
  46. return 0;
  47. }
  48.  
  49. bool Classeur::hasChildren() {
  50. if(childsClasseur.isEmpty())
  51. return false;
  52. return true;
  53. }
  54.  
  55. bool Classeur::insertChildren(int position,
  56. int count) {
  57. if(position < 0 ||
  58. position > childsClasseur.size())
  59. return false;
  60. for(int row = 0; row < count; ++row) {
  61. id_tree_MAX++;
  62. QVector<QVariant> datas(5);
  63. datas[2] = id_tree_MAX;
  64. Classeur *classeur = new Classeur(datas, this);
  65. childsClasseur.insert(position, classeur);
  66. }
  67. return true;
  68. }
  69.  
  70. bool Classeur::removeChildren(int position,
  71. int count) {
  72. if (position < 0 ||
  73. position + count > childsClasseur.size())
  74. return false;
  75. for(int row(0); row < count; ++row)
  76. delete childsClasseur.takeAt(position);
  77. return true;
  78. }
  79.  
  80. int Classeur::childCount() const {
  81. if(!childsClasseur.isEmpty())
  82. return childsClasseur.count();
  83. return 0;
  84. }
  85.  
  86. QVariant Classeur::data(int column) const {
  87. return classeurData.value(column);
  88. }
  89.  
  90. bool Classeur::setData(int column,
  91. const QVariant &value) {
  92. if(column < 0 ||
  93. column > classeurData.size() - 1)
  94. return false;
  95. classeurData[column] = value;
  96. return true;
  97. }
  98.  
  99. Classeur* Classeur::parent() {
  100. return parentClasseur;
  101. }
  102.  
  103. Files_Model* Classeur::getFiles_model() {
  104. return files_model;
  105. }
  106.  
  107. QStandardItem* Classeur::getFiles_root() {
  108. return files_root;
  109. }
  110.  
  111. int Classeur::getID_tree() {
  112. return classeurData[2].toInt();
  113. }
  114.  
  115. int Classeur::getID_tree_parent() {
  116. return classeurData[3].toInt();
  117. }
  118.  
  119. int Classeur::getID_classeur() {
  120. if(!classeurData[4].isNull())
  121. return classeurData[4].toInt();
  122. return 0;
  123. }
  124.  
  125. int Classeur::get_id_MAX() {
  126. return id_tree_MAX;
  127. }
  128.  
  129. QVariant Classeur::getName() {
  130. return classeurData[0];
  131. }
  132.  
  133. QVariant Classeur::getComment() {
  134. return classeurData[1];
  135. }
  136.  
  137. bool Classeur::isRoot() {
  138. if(parentClasseur)
  139. return false;
  140. return true;
  141. }
  142.  
  143. void Classeur::razId_tree_Max() {
  144. id_tree_MAX = 0;
  145. }
RAW Paste Data