2
0

oplconstants.h 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. #ifndef OPLCONSTANTS_H
  2. #define OPLCONSTANTS_H
  3. #include <QtCore>
  4. /*!
  5. * \brief A namespace to collect constants and enums used throughout the application.
  6. *
  7. * \details The opl namespace collects enums and constants that are used throughout
  8. * the application and provide uniform access.
  9. *
  10. * The date, time and datetime namespaces include enums used to differentiate
  11. * date and time formats for QDate, QTime and QDateTime that deviate from standard values
  12. * included in the Qt Framework like Qt::ISODate and are to be used in conjunction with the
  13. * .toString() members of these classes.
  14. *
  15. * The db namespace contains constants for programatically accessing the database in a fast
  16. * and uniform manner.
  17. */
  18. namespace opl {
  19. namespace date {
  20. enum DateFormat {Default, Text};
  21. } // namespace opl::date
  22. namespace time {
  23. enum FlightTimeFormat {Default, Decimal};
  24. } // namespace opl::time
  25. namespace datetime {
  26. enum DateTimeFormat {Default, Backup};
  27. } // namespace opl::datetime
  28. /*!
  29. * The opl::db namespace provides string literals to programatically access the database
  30. *
  31. * Example usage, do:
  32. * newData.insert(opl::db::FLIGHTS_DEP, ui->deptLocLineEdit->text());
  33. * newData.value(opl::db::AIRCRAFT_MULTIPILOT);
  34. *
  35. * instead of:
  36. * newData.insert("dept", ui->deptLocLineEdit->text());
  37. * newData.value("multipilot");
  38. *
  39. * Declaring these literals here avoids memory allocation at runtime for construction of temporary
  40. * qstrings like ("dept"). See https://doc.qt.io/qt-5/qstring.html#QStringLiteral and ensures
  41. * uniform use throughout the application.
  42. */
  43. namespace db {
  44. // Table names
  45. static const auto TABLE_FLIGHTS = QStringLiteral("flights");
  46. static const auto TABLE_PILOTS = QStringLiteral("pilots");
  47. static const auto TABLE_TAILS = QStringLiteral("tails");
  48. static const auto TABLE_AIRCRAFT = QStringLiteral("aircraft");
  49. static const auto TABLE_AIRPORTS = QStringLiteral("airports");
  50. // Flights table columns
  51. static const auto FLIGHTS_DOFT = QStringLiteral("doft");
  52. static const auto FLIGHTS_DEPT = QStringLiteral("dept");
  53. static const auto FLIGHTS_DEST = QStringLiteral("dest");
  54. static const auto FLIGHTS_TOFB = QStringLiteral("tofb");
  55. static const auto FLIGHTS_TONB = QStringLiteral("tonb");
  56. static const auto FLIGHTS_PIC = QStringLiteral("pic");
  57. static const auto FLIGHTS_ACFT = QStringLiteral("acft");
  58. static const auto FLIGHTS_TBLK = QStringLiteral("tblk");
  59. static const auto FLIGHTS_TSPSE = QStringLiteral("tSPSE");
  60. static const auto FLIGHTS_TSPME = QStringLiteral("tSPME");
  61. static const auto FLIGHTS_TMP = QStringLiteral("tMP");
  62. static const auto FLIGHTS_TNIGHT = QStringLiteral("tNIGHT");
  63. static const auto FLIGHTS_TIFR = QStringLiteral("tIFR");
  64. static const auto FLIGHTS_TPIC = QStringLiteral("tPIC");
  65. static const auto FLIGHTS_TPICUS = QStringLiteral("tPICUS");
  66. static const auto FLIGHTS_TSIC = QStringLiteral("tSIC");
  67. static const auto FLIGHTS_TDUAL = QStringLiteral("tDUAL");
  68. static const auto FLIGHTS_TFI = QStringLiteral("tFI");
  69. static const auto FLIGHTS_TSIM = QStringLiteral("tSIM");
  70. static const auto FLIGHTS_PILOTFLYING = QStringLiteral("pilotFlying");
  71. static const auto FLIGHTS_TODAY = QStringLiteral("toDay");
  72. static const auto FLIGHTS_TONIGHT = QStringLiteral("toNight");
  73. static const auto FLIGHTS_LDGDAY = QStringLiteral("ldgDay");
  74. static const auto FLIGHTS_LDGNIGHT = QStringLiteral("ldgNight");
  75. static const auto FLIGHTS_AUTOLAND = QStringLiteral("autoland");
  76. static const auto FLIGHTS_SECONDPILOT = QStringLiteral("secondPilot");
  77. static const auto FLIGHTS_THIRDPILOT = QStringLiteral("thirdPilot");
  78. static const auto FLIGHTS_APPROACHTYPE = QStringLiteral("approachType");
  79. static const auto FLIGHTS_FLIGHTNUMBER = QStringLiteral("flightNumber");
  80. static const auto FLIGHTS_REMARKS = QStringLiteral("remarks");
  81. // tails table
  82. static const auto TAILS_REGISTRATION = QStringLiteral("registration");
  83. static const auto TAILS_COMPANY = QStringLiteral("company");
  84. static const auto TAILS_MAKE = QStringLiteral("make");
  85. static const auto TAILS_MODEL = QStringLiteral("model");
  86. static const auto TAILS_VARIANT = QStringLiteral("variant");
  87. static const auto TAILS_MULTIPILOT = QStringLiteral("multipilot");
  88. static const auto TAILS_MULTIENGINE = QStringLiteral("multiengine");
  89. static const auto TAILS_ENGINETYPE = QStringLiteral("engineType");
  90. static const auto TAILS_WEIGHTCLASS = QStringLiteral("weightClass");
  91. // pilots table
  92. static const auto PILOTS_LASTNAME = QStringLiteral("lastname");
  93. static const auto PILOTS_FIRSTNAME = QStringLiteral("firstname");
  94. static const auto PILOTS_ALIAS = QStringLiteral("alias");
  95. static const auto PILOTS_COMPANY = QStringLiteral("company");
  96. static const auto PILOTS_EMPLOYEEID = QStringLiteral("employeeid");
  97. static const auto PILOTS_PHONE = QStringLiteral("phone");
  98. static const auto PILOTS_EMAIL = QStringLiteral("email");
  99. // all tables
  100. static const auto ROWID = QStringLiteral("ROWID");
  101. static const auto EMPTY_STRING = QStringLiteral("");
  102. static const auto NULL_TIME_hhmm = QStringLiteral("00:00");
  103. } // namespace opl::db
  104. } // namespace opl
  105. #endif // OPLCONSTANTS_H