No Description

class_q_c_p_margin_group.html 16KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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.8.9.1"/>
  7. <title>My Project: QCPMarginGroup Class Reference</title>
  8. <link href="tabs.css" rel="stylesheet" type="text/css"/>
  9. <script type="text/javascript" src="jquery.js"></script>
  10. <script type="text/javascript" src="dynsections.js"></script>
  11. <link href="search/search.css" rel="stylesheet" type="text/css"/>
  12. <script type="text/javascript" src="search/searchdata.js"></script>
  13. <script type="text/javascript" src="search/search.js"></script>
  14. <script type="text/javascript">
  15. $(document).ready(function() { init_search(); });
  16. </script>
  17. <link href="doxygen.css" rel="stylesheet" type="text/css" />
  18. </head>
  19. <body>
  20. <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
  21. <div id="titlearea">
  22. <table cellspacing="0" cellpadding="0">
  23. <tbody>
  24. <tr style="height: 56px;">
  25. <td style="padding-left: 0.5em;">
  26. <div id="projectname">My Project
  27. </div>
  28. </td>
  29. </tr>
  30. </tbody>
  31. </table>
  32. </div>
  33. <!-- end header part -->
  34. <!-- Generated by Doxygen 1.8.9.1 -->
  35. <script type="text/javascript">
  36. var searchBox = new SearchBox("searchBox", "search",false,'Search');
  37. </script>
  38. <div id="navrow1" class="tabs">
  39. <ul class="tablist">
  40. <li><a href="index.html"><span>Main&#160;Page</span></a></li>
  41. <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
  42. <li><a href="namespaces.html"><span>Namespaces</span></a></li>
  43. <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
  44. <li><a href="files.html"><span>Files</span></a></li>
  45. <li>
  46. <div id="MSearchBox" class="MSearchBoxInactive">
  47. <span class="left">
  48. <img id="MSearchSelect" src="search/mag_sel.png"
  49. onmouseover="return searchBox.OnSearchSelectShow()"
  50. onmouseout="return searchBox.OnSearchSelectHide()"
  51. alt=""/>
  52. <input type="text" id="MSearchField" value="Search" accesskey="S"
  53. onfocus="searchBox.OnSearchFieldFocus(true)"
  54. onblur="searchBox.OnSearchFieldFocus(false)"
  55. onkeyup="searchBox.OnSearchFieldChange(event)"/>
  56. </span><span class="right">
  57. <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
  58. </span>
  59. </div>
  60. </li>
  61. </ul>
  62. </div>
  63. <div id="navrow2" class="tabs2">
  64. <ul class="tablist">
  65. <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
  66. <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
  67. <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
  68. <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
  69. </ul>
  70. </div>
  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><!-- top -->
  84. <div class="header">
  85. <div class="summary">
  86. <a href="#pub-methods">Public Member Functions</a> &#124;
  87. <a href="#pro-methods">Protected Member Functions</a> &#124;
  88. <a href="#pro-attribs">Protected Attributes</a> &#124;
  89. <a href="#friends">Friends</a> &#124;
  90. <a href="class_q_c_p_margin_group-members.html">List of all members</a> </div>
  91. <div class="headertitle">
  92. <div class="title">QCPMarginGroup Class Reference</div> </div>
  93. </div><!--header-->
  94. <div class="contents">
  95. <p>A margin group allows synchronization of margin sides if working with multiple layout elements.
  96. <a href="class_q_c_p_margin_group.html#details">More...</a></p>
  97. <div class="dynheader">
  98. Inheritance diagram for QCPMarginGroup:</div>
  99. <div class="dyncontent">
  100. <div class="center">
  101. <img src="class_q_c_p_margin_group.png" usemap="#QCPMarginGroup_map" alt=""/>
  102. <map id="QCPMarginGroup_map" name="QCPMarginGroup_map">
  103. </map>
  104. </div></div>
  105. <table class="memberdecls">
  106. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
  107. Public Member Functions</h2></td></tr>
  108. <tr class="memitem:ac481c20678ec5b305d6df330715f4b7b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_c_p_margin_group.html#ac481c20678ec5b305d6df330715f4b7b">QCPMarginGroup</a> (<a class="el" href="class_q_custom_plot.html">QCustomPlot</a> *parentPlot)</td></tr>
  109. <tr class="separator:ac481c20678ec5b305d6df330715f4b7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  110. <tr class="memitem:a2f39e319c9ece34e0392c2ca350f1069"><td class="memItemLeft" align="right" valign="top">QList&lt; <a class="el" href="class_q_c_p_layout_element.html">QCPLayoutElement</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_c_p_margin_group.html#a2f39e319c9ece34e0392c2ca350f1069">elements</a> (<a class="el" href="namespace_q_c_p.html#a7e487e3e2ccb62ab7771065bab7cae54">QCP::MarginSide</a> side) const </td></tr>
  111. <tr class="separator:a2f39e319c9ece34e0392c2ca350f1069"><td class="memSeparator" colspan="2">&#160;</td></tr>
  112. <tr class="memitem:a28c8e87a0b87c01bd28c693faabddd7b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_c_p_margin_group.html#a28c8e87a0b87c01bd28c693faabddd7b">isEmpty</a> () const </td></tr>
  113. <tr class="separator:a28c8e87a0b87c01bd28c693faabddd7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  114. <tr class="memitem:a144b67f216e4e86c3a3a309e850285fe"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_c_p_margin_group.html#a144b67f216e4e86c3a3a309e850285fe">clear</a> ()</td></tr>
  115. <tr class="separator:a144b67f216e4e86c3a3a309e850285fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
  116. </table><table class="memberdecls">
  117. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
  118. Protected Member Functions</h2></td></tr>
  119. <tr class="memitem:aeaeba9068dba2ef8be41449f0f2582f7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeaeba9068dba2ef8be41449f0f2582f7"></a>
  120. int&#160;</td><td class="memItemRight" valign="bottom"><b>commonMargin</b> (<a class="el" href="namespace_q_c_p.html#a7e487e3e2ccb62ab7771065bab7cae54">QCP::MarginSide</a> side) const </td></tr>
  121. <tr class="separator:aeaeba9068dba2ef8be41449f0f2582f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
  122. <tr class="memitem:acb9c3a35acec655c2895b7eb95ee0524"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acb9c3a35acec655c2895b7eb95ee0524"></a>
  123. void&#160;</td><td class="memItemRight" valign="bottom"><b>addChild</b> (<a class="el" href="namespace_q_c_p.html#a7e487e3e2ccb62ab7771065bab7cae54">QCP::MarginSide</a> side, <a class="el" href="class_q_c_p_layout_element.html">QCPLayoutElement</a> *element)</td></tr>
  124. <tr class="separator:acb9c3a35acec655c2895b7eb95ee0524"><td class="memSeparator" colspan="2">&#160;</td></tr>
  125. <tr class="memitem:a20ab3286062957d99b58db683fe725b0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a20ab3286062957d99b58db683fe725b0"></a>
  126. void&#160;</td><td class="memItemRight" valign="bottom"><b>removeChild</b> (<a class="el" href="namespace_q_c_p.html#a7e487e3e2ccb62ab7771065bab7cae54">QCP::MarginSide</a> side, <a class="el" href="class_q_c_p_layout_element.html">QCPLayoutElement</a> *element)</td></tr>
  127. <tr class="separator:a20ab3286062957d99b58db683fe725b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
  128. </table><table class="memberdecls">
  129. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
  130. Protected Attributes</h2></td></tr>
  131. <tr class="memitem:a23cfa29e3cc0f33a59141b77d8c04edf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a23cfa29e3cc0f33a59141b77d8c04edf"></a>
  132. <a class="el" href="class_q_custom_plot.html">QCustomPlot</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>mParentPlot</b></td></tr>
  133. <tr class="separator:a23cfa29e3cc0f33a59141b77d8c04edf"><td class="memSeparator" colspan="2">&#160;</td></tr>
  134. <tr class="memitem:a954bc89ff8958b9bb6a4a0d08ed5fc0f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a954bc89ff8958b9bb6a4a0d08ed5fc0f"></a>
  135. QHash&lt; <a class="el" href="namespace_q_c_p.html#a7e487e3e2ccb62ab7771065bab7cae54">QCP::MarginSide</a>, QList&lt; <a class="el" href="class_q_c_p_layout_element.html">QCPLayoutElement</a> * &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mChildren</b></td></tr>
  136. <tr class="separator:a954bc89ff8958b9bb6a4a0d08ed5fc0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  137. </table><table class="memberdecls">
  138. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
  139. Friends</h2></td></tr>
  140. <tr class="memitem:a0790750c7e7f14fdbd960d172655b42b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0790750c7e7f14fdbd960d172655b42b"></a>
  141. class&#160;</td><td class="memItemRight" valign="bottom"><b>QCPLayoutElement</b></td></tr>
  142. <tr class="separator:a0790750c7e7f14fdbd960d172655b42b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  143. </table>
  144. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  145. <div class="textblock"><p>A margin group allows synchronization of margin sides if working with multiple layout elements. </p>
  146. <p><a class="el" href="class_q_c_p_margin_group.html" title="A margin group allows synchronization of margin sides if working with multiple layout elements...">QCPMarginGroup</a> allows you to tie a margin side of two or more layout elements together, such that they will all have the same size, based on the largest required margin in the group.</p>
  147. <p><br />
  148. </p><div class="image">
  149. <img src="QCPMarginGroup.png" alt="QCPMarginGroup.png"/>
  150. <div class="caption">
  151. Demonstration of QCPMarginGroup</div></div>
  152. <p><br />
  153. In certain situations it is desirable that margins at specific sides are synchronized across layout elements. For example, if one <a class="el" href="class_q_c_p_axis_rect.html" title="Holds multiple axes and arranges them in a rectangular shape. ">QCPAxisRect</a> is below another one in a grid layout, it will provide a cleaner look to the user if the left and right margins of the two axis rects are of the same size. The left axis of the top axis rect will then be at the same horizontal position as the left axis of the lower axis rect, making them appear aligned. The same applies for the right axes. This is what <a class="el" href="class_q_c_p_margin_group.html" title="A margin group allows synchronization of margin sides if working with multiple layout elements...">QCPMarginGroup</a> makes possible.</p>
  154. <p>To add/remove a specific side of a layout element to/from a margin group, use the <a class="el" href="class_q_c_p_layout_element.html#a516e56f76b6bc100e8e71d329866847d">QCPLayoutElement::setMarginGroup</a> method. To completely break apart the margin group, either call <a class="el" href="class_q_c_p_margin_group.html#a144b67f216e4e86c3a3a309e850285fe">clear</a>, or just delete the margin group.</p>
  155. <h1><a class="anchor" id="QCPMarginGroup-example"></a>
  156. Example</h1>
  157. <p>First create a margin group: </p><div class="fragment"><div class="line"><a class="code" href="class_q_c_p_margin_group.html">QCPMarginGroup</a> *group = <span class="keyword">new</span> <a class="code" href="class_q_c_p_margin_group.html#ac481c20678ec5b305d6df330715f4b7b">QCPMarginGroup</a>(customPlot);</div>
  158. </div><!-- fragment --><p> Then set this group on the layout element sides: </p><div class="fragment"><div class="line">customPlot-&gt;axisRect(0)-&gt;setMarginGroup(<a class="code" href="namespace_q_c_p.html#a7e487e3e2ccb62ab7771065bab7cae54a9500c8bfcc9e80b9dff0a8e00e867f07">QCP::msLeft</a>|<a class="code" href="namespace_q_c_p.html#a7e487e3e2ccb62ab7771065bab7cae54a93c719593bb2b94ed244d52c86d83b65">QCP::msRight</a>, group);</div>
  159. <div class="line">customPlot-&gt;axisRect(1)-&gt;setMarginGroup(<a class="code" href="namespace_q_c_p.html#a7e487e3e2ccb62ab7771065bab7cae54a9500c8bfcc9e80b9dff0a8e00e867f07">QCP::msLeft</a>|<a class="code" href="namespace_q_c_p.html#a7e487e3e2ccb62ab7771065bab7cae54a93c719593bb2b94ed244d52c86d83b65">QCP::msRight</a>, group);</div>
  160. </div><!-- fragment --><p> Here, we've used the first two axis rects of the plot and synchronized their left margins with each other and their right margins with each other. </p>
  161. </div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
  162. <a class="anchor" id="ac481c20678ec5b305d6df330715f4b7b"></a>
  163. <div class="memitem">
  164. <div class="memproto">
  165. <table class="memname">
  166. <tr>
  167. <td class="memname">QCPMarginGroup::QCPMarginGroup </td>
  168. <td>(</td>
  169. <td class="paramtype"><a class="el" href="class_q_custom_plot.html">QCustomPlot</a> *&#160;</td>
  170. <td class="paramname"><em>parentPlot</em></td><td>)</td>
  171. <td></td>
  172. </tr>
  173. </table>
  174. </div><div class="memdoc">
  175. <p>Creates a new <a class="el" href="class_q_c_p_margin_group.html" title="A margin group allows synchronization of margin sides if working with multiple layout elements...">QCPMarginGroup</a> instance in <em>parentPlot</em>. </p>
  176. </div>
  177. </div>
  178. <h2 class="groupheader">Member Function Documentation</h2>
  179. <a class="anchor" id="a144b67f216e4e86c3a3a309e850285fe"></a>
  180. <div class="memitem">
  181. <div class="memproto">
  182. <table class="memname">
  183. <tr>
  184. <td class="memname">void QCPMarginGroup::clear </td>
  185. <td>(</td>
  186. <td class="paramname"></td><td>)</td>
  187. <td></td>
  188. </tr>
  189. </table>
  190. </div><div class="memdoc">
  191. <p>Clears this margin group. The synchronization of the margin sides that use this margin group is lifted and they will use their individual margin sizes again. </p>
  192. </div>
  193. </div>
  194. <a class="anchor" id="a2f39e319c9ece34e0392c2ca350f1069"></a>
  195. <div class="memitem">
  196. <div class="memproto">
  197. <table class="mlabels">
  198. <tr>
  199. <td class="mlabels-left">
  200. <table class="memname">
  201. <tr>
  202. <td class="memname">QList&lt; <a class="el" href="class_q_c_p_layout_element.html">QCPLayoutElement</a> * &gt; QCPMarginGroup::elements </td>
  203. <td>(</td>
  204. <td class="paramtype"><a class="el" href="namespace_q_c_p.html#a7e487e3e2ccb62ab7771065bab7cae54">QCP::MarginSide</a>&#160;</td>
  205. <td class="paramname"><em>side</em></td><td>)</td>
  206. <td> const</td>
  207. </tr>
  208. </table>
  209. </td>
  210. <td class="mlabels-right">
  211. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  212. </tr>
  213. </table>
  214. </div><div class="memdoc">
  215. <p>Returns a list of all layout elements that have their margin <em>side</em> associated with this margin group. </p>
  216. </div>
  217. </div>
  218. <a class="anchor" id="a28c8e87a0b87c01bd28c693faabddd7b"></a>
  219. <div class="memitem">
  220. <div class="memproto">
  221. <table class="memname">
  222. <tr>
  223. <td class="memname">bool QCPMarginGroup::isEmpty </td>
  224. <td>(</td>
  225. <td class="paramname"></td><td>)</td>
  226. <td> const</td>
  227. </tr>
  228. </table>
  229. </div><div class="memdoc">
  230. <p>Returns whether this margin group is empty. If this function returns true, no layout elements use this margin group to synchronize margin sides. </p>
  231. </div>
  232. </div>
  233. <hr/>The documentation for this class was generated from the following files:<ul>
  234. <li><a class="el" href="qcustomplot_8h_source.html">qcustomplot.h</a></li>
  235. <li><a class="el" href="qcustomplot_8cpp.html">qcustomplot.cpp</a></li>
  236. </ul>
  237. </div><!-- contents -->
  238. <!-- start footer part -->
  239. <hr class="footer"/><address class="footer"><small>
  240. Generated on Tue Aug 11 2015 13:04:53 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
  241. <img class="footer" src="doxygen.png" alt="doxygen"/>
  242. </a> 1.8.9.1
  243. </small></address>
  244. </body>
  245. </html>