class_o_p_l_1_1_row.html 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=9"/>
  6. <meta name="generator" content="Doxygen 1.9.1"/>
  7. <meta name="viewport" content="width=device-width, initial-scale=1"/>
  8. <title>openPilotLog: OPL::Row Class Reference</title>
  9. <link href="tabs.css" rel="stylesheet" type="text/css"/>
  10. <script type="text/javascript" src="jquery.js"></script>
  11. <script type="text/javascript" src="dynsections.js"></script>
  12. <link href="navtree.css" rel="stylesheet" type="text/css"/>
  13. <script type="text/javascript" src="resize.js"></script>
  14. <script type="text/javascript" src="navtreedata.js"></script>
  15. <script type="text/javascript" src="navtree.js"></script>
  16. <link href="search/search.css" rel="stylesheet" type="text/css"/>
  17. <script type="text/javascript" src="search/searchdata.js"></script>
  18. <script type="text/javascript" src="search/search.js"></script>
  19. <link href="doxygen.css" rel="stylesheet" type="text/css" />
  20. <link href="custom_dark_theme.css" rel="stylesheet" type="text/css"/>
  21. </head>
  22. <body>
  23. <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
  24. <div id="titlearea">
  25. <table cellspacing="0" cellpadding="0">
  26. <tbody>
  27. <tr style="height: 56px;">
  28. <td id="projectlogo"><img alt="Logo" src="icon_main.png"/></td>
  29. <td id="projectalign" style="padding-left: 0.5em;">
  30. <div id="projectname">openPilotLog
  31. </div>
  32. </td>
  33. </tr>
  34. </tbody>
  35. </table>
  36. </div>
  37. <!-- end header part -->
  38. <!-- Generated by Doxygen 1.9.1 -->
  39. <script type="text/javascript">
  40. /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  41. var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
  42. /* @license-end */
  43. </script>
  44. <script type="text/javascript" src="menudata.js"></script>
  45. <script type="text/javascript" src="menu.js"></script>
  46. <script type="text/javascript">
  47. /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  48. $(function() {
  49. initMenu('',true,false,'search.php','Search');
  50. $(document).ready(function() { init_search(); });
  51. });
  52. /* @license-end */</script>
  53. <div id="main-nav"></div>
  54. </div><!-- top -->
  55. <div id="side-nav" class="ui-resizable side-nav-resizable">
  56. <div id="nav-tree">
  57. <div id="nav-tree-contents">
  58. <div id="nav-sync" class="sync"></div>
  59. </div>
  60. </div>
  61. <div id="splitbar" style="-moz-user-select:none;"
  62. class="ui-resizable-handle">
  63. </div>
  64. </div>
  65. <script type="text/javascript">
  66. /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  67. $(document).ready(function(){initNavTree('class_o_p_l_1_1_row.html',''); initResizable(); });
  68. /* @license-end */
  69. </script>
  70. <div id="doc-content">
  71. <!-- window showing the filter options -->
  72. <div id="MSearchSelectWindow"
  73. onmouseover="return searchBox.OnSearchSelectShow()"
  74. onmouseout="return searchBox.OnSearchSelectHide()"
  75. onkeydown="return searchBox.OnSearchSelectKey(event)">
  76. </div>
  77. <!-- iframe showing the search results (closed by default) -->
  78. <div id="MSearchResultsWindow">
  79. <iframe src="javascript:void(0)" frameborder="0"
  80. name="MSearchResults" id="MSearchResults">
  81. </iframe>
  82. </div>
  83. <div class="header">
  84. <div class="summary">
  85. <a href="#pub-methods">Public Member Functions</a> &#124;
  86. <a href="#pro-attribs">Protected Attributes</a> &#124;
  87. <a href="class_o_p_l_1_1_row-members.html">List of all members</a> </div>
  88. <div class="headertitle">
  89. <div class="title">OPL::Row Class Reference</div> </div>
  90. </div><!--header-->
  91. <div class="contents">
  92. <p>The <a class="el" href="class_o_p_l_1_1_row.html" title="The Row class provides an interface for retreiving and submitting entries from the database.">Row</a> class provides an interface for retreiving and submitting entries from the database.
  93. <a href="class_o_p_l_1_1_row.html#details">More...</a></p>
  94. <p><code>#include &lt;<a class="el" href="row_8h_source.html">row.h</a>&gt;</code></p>
  95. <div class="dynheader">
  96. Inheritance diagram for OPL::Row:</div>
  97. <div class="dyncontent">
  98. <div class="center">
  99. <img src="class_o_p_l_1_1_row.png" usemap="#OPL::Row_map" alt=""/>
  100. <map id="OPL::Row_map" name="OPL::Row_map">
  101. <area href="class_o_p_l_1_1_aircraft_entry.html" title="A Row representing an Aircraft entry. See Row class for details." alt="OPL::AircraftEntry" shape="rect" coords="0,56,127,80"/>
  102. <area href="class_o_p_l_1_1_airport_entry.html" title="A Row representing an Airport entry. See Row class for details." alt="OPL::AirportEntry" shape="rect" coords="137,56,264,80"/>
  103. <area href="class_o_p_l_1_1_currency_entry.html" title="A Row representing a Currency entry. See Row class for details." alt="OPL::CurrencyEntry" shape="rect" coords="274,56,401,80"/>
  104. <area href="class_o_p_l_1_1_flight_entry.html" title="A Row representing a Flight entry. See Row class for details." alt="OPL::FlightEntry" shape="rect" coords="411,56,538,80"/>
  105. <area href="class_o_p_l_1_1_pilot_entry.html" title="A Row representing a Pilot entry. See Row class for details." alt="OPL::PilotEntry" shape="rect" coords="548,56,675,80"/>
  106. <area href="class_o_p_l_1_1_simulator_entry.html" title="A Row representing a Simulator entry. See Row class for details." alt="OPL::SimulatorEntry" shape="rect" coords="685,56,812,80"/>
  107. <area href="class_o_p_l_1_1_tail_entry.html" title="A Row representing a Tail (Registration) entry. See Row class for details." alt="OPL::TailEntry" shape="rect" coords="822,56,949,80"/>
  108. </map>
  109. </div></div>
  110. <table class="memberdecls">
  111. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
  112. Public Member Functions</h2></td></tr>
  113. <tr class="memitem:a003f47f80870a64052f9f800aa533c6e"><td class="memItemLeft" align="right" valign="top"><a id="a003f47f80870a64052f9f800aa533c6e"></a>
  114. &#160;</td><td class="memItemRight" valign="bottom"><b>Row</b> (<a class="el" href="namespace_o_p_l.html#ada86eb02cea54d91c8c11c9112ec1cf7">OPL::DbTable</a> table_name, int row_id, const RowData_T &amp;row_data)</td></tr>
  115. <tr class="separator:a003f47f80870a64052f9f800aa533c6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  116. <tr class="memitem:a7de776b1e5ec66ae704735027f7f9838"><td class="memItemLeft" align="right" valign="top"><a id="a7de776b1e5ec66ae704735027f7f9838"></a>
  117. &#160;</td><td class="memItemRight" valign="bottom"><b>Row</b> (<a class="el" href="namespace_o_p_l.html#ada86eb02cea54d91c8c11c9112ec1cf7">OPL::DbTable</a> table_name, int row_id)</td></tr>
  118. <tr class="separator:a7de776b1e5ec66ae704735027f7f9838"><td class="memSeparator" colspan="2">&#160;</td></tr>
  119. <tr class="memitem:a9c590facaf2f2c45086b756c67ab2415"><td class="memItemLeft" align="right" valign="top"><a id="a9c590facaf2f2c45086b756c67ab2415"></a>
  120. &#160;</td><td class="memItemRight" valign="bottom"><b>Row</b> (<a class="el" href="namespace_o_p_l.html#ada86eb02cea54d91c8c11c9112ec1cf7">OPL::DbTable</a> table_name)</td></tr>
  121. <tr class="separator:a9c590facaf2f2c45086b756c67ab2415"><td class="memSeparator" colspan="2">&#160;</td></tr>
  122. <tr class="memitem:a043692e09011cacbcaeb0e88c1802fd1"><td class="memItemLeft" align="right" valign="top"><a id="a043692e09011cacbcaeb0e88c1802fd1"></a>
  123. &#160;</td><td class="memItemRight" valign="bottom"><b>Row</b> (const <a class="el" href="class_o_p_l_1_1_row.html">Row</a> &amp;)=default</td></tr>
  124. <tr class="separator:a043692e09011cacbcaeb0e88c1802fd1"><td class="memSeparator" colspan="2">&#160;</td></tr>
  125. <tr class="memitem:a2e97ce33358fb9a011441341646bd46b"><td class="memItemLeft" align="right" valign="top"><a id="a2e97ce33358fb9a011441341646bd46b"></a>
  126. <a class="el" href="class_o_p_l_1_1_row.html">Row</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="class_o_p_l_1_1_row.html">Row</a> &amp;)=default</td></tr>
  127. <tr class="separator:a2e97ce33358fb9a011441341646bd46b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  128. <tr class="memitem:a799fbf35c18c0d8dc824d6d1a11902c3"><td class="memItemLeft" align="right" valign="top"><a id="a799fbf35c18c0d8dc824d6d1a11902c3"></a>
  129. RowData_T&#160;</td><td class="memItemRight" valign="bottom"><b>getData</b> () const</td></tr>
  130. <tr class="separator:a799fbf35c18c0d8dc824d6d1a11902c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
  131. <tr class="memitem:ad3ae77fc913896d00e6b947254b06ce9"><td class="memItemLeft" align="right" valign="top"><a id="ad3ae77fc913896d00e6b947254b06ce9"></a>
  132. void&#160;</td><td class="memItemRight" valign="bottom"><b>setData</b> (const RowData_T &amp;value)</td></tr>
  133. <tr class="separator:ad3ae77fc913896d00e6b947254b06ce9"><td class="memSeparator" colspan="2">&#160;</td></tr>
  134. <tr class="memitem:aa70580fe157b6e0a408fc975e833e85e"><td class="memItemLeft" align="right" valign="top"><a id="aa70580fe157b6e0a408fc975e833e85e"></a>
  135. int&#160;</td><td class="memItemRight" valign="bottom"><b>getRowId</b> () const</td></tr>
  136. <tr class="separator:aa70580fe157b6e0a408fc975e833e85e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  137. <tr class="memitem:aa029e0507bbf31d2b190eaf218fb6a2c"><td class="memItemLeft" align="right" valign="top"><a id="aa029e0507bbf31d2b190eaf218fb6a2c"></a>
  138. void&#160;</td><td class="memItemRight" valign="bottom"><b>setRowId</b> (int value)</td></tr>
  139. <tr class="separator:aa029e0507bbf31d2b190eaf218fb6a2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  140. <tr class="memitem:a72b25aafde960b2de1c28650322652e4"><td class="memItemLeft" align="right" valign="top"><a id="a72b25aafde960b2de1c28650322652e4"></a>
  141. <a class="el" href="namespace_o_p_l.html#ada86eb02cea54d91c8c11c9112ec1cf7">OPL::DbTable</a>&#160;</td><td class="memItemRight" valign="bottom"><b>getTable</b> () const</td></tr>
  142. <tr class="separator:a72b25aafde960b2de1c28650322652e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
  143. <tr class="memitem:aca589fb076426b9b6c13c2f0207b5213"><td class="memItemLeft" align="right" valign="top"><a id="aca589fb076426b9b6c13c2f0207b5213"></a>
  144. const QString&#160;</td><td class="memItemRight" valign="bottom"><b>getTableName</b> () const</td></tr>
  145. <tr class="separator:aca589fb076426b9b6c13c2f0207b5213"><td class="memSeparator" colspan="2">&#160;</td></tr>
  146. <tr class="memitem:a983d75a3ebc620d58453b28178cc40fa"><td class="memItemLeft" align="right" valign="top"><a id="a983d75a3ebc620d58453b28178cc40fa"></a>
  147. const QString&#160;</td><td class="memItemRight" valign="bottom"><b>getPosition</b> () const</td></tr>
  148. <tr class="separator:a983d75a3ebc620d58453b28178cc40fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
  149. <tr class="memitem:aa2edff39e0fc3f65181e8c5c9227c7a1"><td class="memItemLeft" align="right" valign="top"><a id="aa2edff39e0fc3f65181e8c5c9227c7a1"></a>
  150. bool&#160;</td><td class="memItemRight" valign="bottom"><b>isValid</b> () const</td></tr>
  151. <tr class="separator:aa2edff39e0fc3f65181e8c5c9227c7a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
  152. <tr class="memitem:a2f39ccb98dd4ad8a9ee3d72c65144e80"><td class="memItemLeft" align="right" valign="top"><a id="a2f39ccb98dd4ad8a9ee3d72c65144e80"></a>
  153. &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_p_l_1_1_row.html#a2f39ccb98dd4ad8a9ee3d72c65144e80">operator QString</a> () const</td></tr>
  154. <tr class="memdesc:a2f39ccb98dd4ad8a9ee3d72c65144e80"><td class="mdescLeft">&#160;</td><td class="mdescRight">operator QString can be used for printing debug information to stdout <br /></td></tr>
  155. <tr class="separator:a2f39ccb98dd4ad8a9ee3d72c65144e80"><td class="memSeparator" colspan="2">&#160;</td></tr>
  156. </table><table class="memberdecls">
  157. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
  158. Protected Attributes</h2></td></tr>
  159. <tr class="memitem:af03987eb9f44d2feb3a9f155ed1f2cce"><td class="memItemLeft" align="right" valign="top"><a id="af03987eb9f44d2feb3a9f155ed1f2cce"></a>
  160. bool&#160;</td><td class="memItemRight" valign="bottom"><b>hasData</b></td></tr>
  161. <tr class="separator:af03987eb9f44d2feb3a9f155ed1f2cce"><td class="memSeparator" colspan="2">&#160;</td></tr>
  162. <tr class="memitem:a4adb1dca9ed05fb35e02c6bd464411aa"><td class="memItemLeft" align="right" valign="top"><a id="a4adb1dca9ed05fb35e02c6bd464411aa"></a>
  163. bool&#160;</td><td class="memItemRight" valign="bottom"><b>valid</b> = true</td></tr>
  164. <tr class="separator:a4adb1dca9ed05fb35e02c6bd464411aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
  165. </table>
  166. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  167. <div class="textblock"><p>The <a class="el" href="class_o_p_l_1_1_row.html" title="The Row class provides an interface for retreiving and submitting entries from the database.">Row</a> class provides an interface for retreiving and submitting entries from the database. </p>
  168. <p>The <a class="el" href="class_o_p_l_1_1_row.html" title="The Row class provides an interface for retreiving and submitting entries from the database.">Row</a> class is a base class and when instantiated, the appropriate subclass should be used.</p>
  169. <p>The database holds all the data related to the logbook in different tables. Each of these tables is composed of rows. Each row has different columns and each column contains the data. As such, an entry can be thought of as a row in the database. The row class encapsulates the data contained in each row.</p>
  170. <p>A row is uniquely identified by its position in the database, consisting of the table name (QString) and the row id (int). A new entry, which is not yet in the database has the row id 0. If a new row object is created, the hasData bool is set to false. Before submitting the entry to the database, setData() has to be called to fill the row with data and toggle the verification bit.</p>
  171. <p>The <a class="el" href="class_o_p_l_1_1_row.html" title="The Row class provides an interface for retreiving and submitting entries from the database.">Row</a> Object holds all the necessary information the <a class="el" href="class_o_p_l_1_1_database.html" title="The DB class encapsulates the SQL database by providing fast access to hot database data.">Database</a> class needs to commit (create or update) it. The Identifying information can be accessed with getRowId and getTable() / getTableName().</p>
  172. <p>For convenience and readabilty, subclasses exist that have the table property pre-set. These rows are then referred to as entries. See <a class="el" href="class_o_p_l_1_1_aircraft_entry.html" title="A Row representing an Aircraft entry. See Row class for details.">AircraftEntry</a>, <a class="el" href="class_o_p_l_1_1_flight_entry.html" title="A Row representing a Flight entry. See Row class for details.">FlightEntry</a> etc. </p>
  173. </div><hr/>The documentation for this class was generated from the following files:<ul>
  174. <li>src/database/<a class="el" href="row_8h_source.html">row.h</a></li>
  175. <li>src/database/row.cpp</li>
  176. </ul>
  177. </div><!-- contents -->
  178. </div><!-- doc-content -->
  179. <!-- start footer part -->
  180. <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  181. <ul>
  182. <li class="navelem"><a class="el" href="namespace_o_p_l.html">OPL</a></li><li class="navelem"><a class="el" href="class_o_p_l_1_1_row.html">Row</a></li>
  183. <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
  184. </ul>
  185. </div>
  186. </body>
  187. </html>