2
0

flight.cpp 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. #include "flight.h"
  2. /*!
  3. * \brief flight::printFlight Displays basic data for debugging
  4. */
  5. void flight::printFlight()
  6. {
  7. QTextStream cout(stdout, QIODevice::WriteOnly);
  8. if(id != -1){
  9. cout << "Flight ID:\t\t" + QString::number(id) + "\n";
  10. }else{
  11. cout << "Flight ID:\t\tnot set\n";
  12. }
  13. if(doft.toString(Qt::ISODate).length()){
  14. cout << "Date of Flight:\t" + doft.toString(Qt::ISODate) + "\n";
  15. }else{
  16. cout << "Date of Flight:\tnot set\n";
  17. }
  18. if(dept != QStringLiteral("INVA")){
  19. cout << "Departure:\t\t" + dept + "\n";
  20. }else{
  21. cout << "Departure:\t\tnot set\n";
  22. }
  23. if(dest != QStringLiteral("INVA")){
  24. cout << "Destination:\t\t" + dest + "\n";
  25. }else{
  26. cout << "Destination:\t\tnot set\n";
  27. }
  28. if(tofb.toString("hh:mm").length()){
  29. cout << "Departure Time:\t" + tofb.toString("hh:mm") + "\n";
  30. }else{
  31. cout << "Departure Time:\tnot set\n";
  32. }
  33. if(tonb.toString("hh:mm").length()){
  34. cout << "Arrival Time:\t" + tonb.toString("hh:mm") + "\n";
  35. }else{
  36. cout << "Arrival Time:\tnot set\n";
  37. }
  38. if(pic != QStringLiteral("INVA")){
  39. cout << "Pilot in Command:\t" + pic + "\n";
  40. }else{
  41. cout << "Pilot in Command:\tnot set\n";
  42. }
  43. if(acft != QStringLiteral("INVA")){
  44. cout << "Aircraft:\t\t" + acft + "\n";
  45. }else{
  46. cout << "Aircraft:\t\tnot set\n";
  47. }
  48. if(tblk.isValid()){
  49. cout << "Blocktime:\t\t" + tblk.toString("hh:mm") + "\n";
  50. }else{
  51. cout << "Blocktime:\t\tnot set\n";
  52. }
  53. if(isValid){
  54. cout << "Object status:\t\033[38;2;0;255;0;48;2;0;0;0mVERIFIED\033[0m\n";
  55. }else{
  56. cout << "Object status:\t\033[38;2;255;0;0;48;2;0;0;0mUNVERIFIED\033[0m\n";
  57. }
  58. }
  59. /*!
  60. * \brief flight::debug Provides compatibility with qDebug
  61. * \return
  62. */
  63. QString flight::debug()
  64. {
  65. printFlight();
  66. return QString();
  67. }
  68. flight flight::fromVector(QVector<QString> details)
  69. {
  70. if(details.length() != 31){
  71. qWarning() << __PRETTY_FUNCTION__ << "Invalid Input. Aborting.";
  72. return flight();
  73. }
  74. flight object;
  75. object.id = details[1].toInt();
  76. object.doft = QDate::fromString(details[2],Qt::ISODate);
  77. object.dept = details[3];
  78. object.dest = details[4];
  79. object.tofb = QTime::fromString(details[5],"hh:mm");
  80. object.tonb = QTime::fromString(details[6],"hh:mm");
  81. object.pic = details[7];
  82. object.acft = details[8];
  83. object.tblk = QTime::fromString(details[9],"hh:mm");
  84. object.tSPSE = QTime::fromString(details[10],"hh:mm");
  85. object.tSPME = QTime::fromString(details[11],"hh:mm");
  86. object.tMP = QTime::fromString(details[12],"hh:mm");
  87. object.tNIGHT = QTime::fromString(details[13],"hh:mm");
  88. object.tIFR = QTime::fromString(details[14],"hh:mm");
  89. object.tPIC = QTime::fromString(details[15],"hh:mm");
  90. object.tSIC = QTime::fromString(details[16],"hh:mm");
  91. object.tDUAL = QTime::fromString(details[17],"hh:mm");
  92. object.tFI = QTime::fromString(details[18],"hh:mm");
  93. object.tSIM = QTime::fromString(details[19],"hh:mm");
  94. object.pilotFlying = details[20].toInt();
  95. object.toDay = details[21].toInt();
  96. object.toNight = details[22].toInt();
  97. object.ldgDay = details[23].toInt();
  98. object.ldgNight = details[24].toInt();
  99. object.autoland = details[25].toInt();
  100. object.secondPilot = details[26];
  101. object.thirdPilot = details[27];
  102. object.approachType = details[28];
  103. object.flightNumber = details[29];
  104. object.remarks = details[30];
  105. return object;
  106. }
  107. QVector<QString> flight::toVector(flight object)
  108. {
  109. QVector<QString> vecOut(31);
  110. vecOut [1] = QString::number(object.id);
  111. vecOut [2] = object.doft.toString(Qt::ISODate);
  112. vecOut [3] = object.dept;
  113. vecOut [4] = object.dest;
  114. vecOut [5] = object.tofb.toString("hh:mm");
  115. vecOut [6] = object.tonb.toString("hh:mm");
  116. vecOut [7] = object.pic;
  117. vecOut [8] = object.acft;
  118. vecOut [9] = object.tblk.toString("hh:mm");
  119. vecOut [10] = object.tSPSE.toString("hh:mm");
  120. vecOut [11] = object.tSPME.toString("hh:mm");
  121. vecOut [12] = object.tMP.toString("hh:mm");
  122. vecOut [13] = object.tNIGHT.toString("hh:mm");
  123. vecOut [14] = object.tIFR.toString("hh:mm");
  124. vecOut [15] = object.tPIC.toString("hh:mm");
  125. vecOut [16] = object.tSIC.toString("hh:mm");
  126. vecOut [17] = object.tDUAL.toString("hh:mm");
  127. vecOut [18] = object.tFI.toString("hh:mm");
  128. vecOut [19] = object.tSIM.toString("hh:mm");
  129. vecOut [20] = QString::number(object.pilotFlying);
  130. vecOut [21] = QString::number(object.toDay);
  131. vecOut [22] = QString::number(object.toNight);
  132. vecOut [23] = QString::number(object.ldgDay);
  133. vecOut [24] = QString::number(object.ldgNight);
  134. vecOut [25] = QString::number(object.autoland);
  135. vecOut [26] = object.secondPilot;
  136. vecOut [27] = object.thirdPilot;
  137. vecOut [28] = object.approachType;
  138. vecOut [29] = object.flightNumber;
  139. vecOut [30] = object.remarks;
  140. return vecOut;
  141. }