No Description

class_q_c_p_layout.tex 18KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262
  1. \hypertarget{class_q_c_p_layout}{}\section{Q\+C\+P\+Layout Class Reference}
  2. \label{class_q_c_p_layout}\index{Q\+C\+P\+Layout@{Q\+C\+P\+Layout}}
  3. The abstract base class for layouts.
  4. Inheritance diagram for Q\+C\+P\+Layout\+:\begin{figure}[H]
  5. \begin{center}
  6. \leavevmode
  7. \includegraphics[height=6.000000cm]{class_q_c_p_layout}
  8. \end{center}
  9. \end{figure}
  10. \subsection*{Public Member Functions}
  11. \begin{DoxyCompactItemize}
  12. \item
  13. \hyperlink{class_q_c_p_layout_a04222e6e1361fd802d48f1a25b7020d4}{Q\+C\+P\+Layout} ()
  14. \item
  15. virtual void \hyperlink{class_q_c_p_layout_a91321049c2e37e372abd118095f65b87}{update} ()
  16. \item
  17. virtual Q\+List$<$ \hyperlink{class_q_c_p_layout_element}{Q\+C\+P\+Layout\+Element} $\ast$ $>$ \hyperlink{class_q_c_p_layout_a51fe2675b53e829130b229bc1f7b0f99}{elements} (bool recursive) const
  18. \item
  19. virtual int \hyperlink{class_q_c_p_layout_a39d3e9ef5d9b82ab1885ba1cb9597e56}{element\+Count} () const =0
  20. \item
  21. virtual \hyperlink{class_q_c_p_layout_element}{Q\+C\+P\+Layout\+Element} $\ast$ \hyperlink{class_q_c_p_layout_afa73ca7d859f8a3ee5c73c9b353d2a56}{element\+At} (int index) const =0
  22. \item
  23. virtual \hyperlink{class_q_c_p_layout_element}{Q\+C\+P\+Layout\+Element} $\ast$ \hyperlink{class_q_c_p_layout_a5a79621fa0a6eabb8b520cfc04fb601a}{take\+At} (int index)=0
  24. \item
  25. virtual bool \hyperlink{class_q_c_p_layout_ada26cd17e56472b0b4d7fbbc96873e4c}{take} (\hyperlink{class_q_c_p_layout_element}{Q\+C\+P\+Layout\+Element} $\ast$element)=0
  26. \item
  27. virtual void \hyperlink{class_q_c_p_layout_a41e6ac049143866e8f8b4964efab01b2}{simplify} ()
  28. \item
  29. bool \hyperlink{class_q_c_p_layout_a2403f684fee3ce47132faaeed00bb066}{remove\+At} (int index)
  30. \item
  31. bool \hyperlink{class_q_c_p_layout_a6c58f537d8086f352576ab7c5b15d0bc}{remove} (\hyperlink{class_q_c_p_layout_element}{Q\+C\+P\+Layout\+Element} $\ast$element)
  32. \item
  33. void \hyperlink{class_q_c_p_layout_a02883bdf2769b5b227f0232dba1ac4ee}{clear} ()
  34. \end{DoxyCompactItemize}
  35. \subsection*{Protected Member Functions}
  36. \begin{DoxyCompactItemize}
  37. \item
  38. \hypertarget{class_q_c_p_layout_a165c77f6287ac92e8d03017ad913378b}{}virtual void {\bfseries update\+Layout} ()\label{class_q_c_p_layout_a165c77f6287ac92e8d03017ad913378b}
  39. \item
  40. void \hyperlink{class_q_c_p_layout_a6218cd7e5c0e30077c1aeaffe55b6145}{size\+Constraints\+Changed} () const
  41. \item
  42. \hypertarget{class_q_c_p_layout_af6dbbc24156a808da29cd1ec031729a3}{}void {\bfseries adopt\+Element} (\hyperlink{class_q_c_p_layout_element}{Q\+C\+P\+Layout\+Element} $\ast$el)\label{class_q_c_p_layout_af6dbbc24156a808da29cd1ec031729a3}
  43. \item
  44. \hypertarget{class_q_c_p_layout_a4afbb4bef0071f72f91afdac4433a18e}{}void {\bfseries release\+Element} (\hyperlink{class_q_c_p_layout_element}{Q\+C\+P\+Layout\+Element} $\ast$el)\label{class_q_c_p_layout_a4afbb4bef0071f72f91afdac4433a18e}
  45. \item
  46. \hypertarget{class_q_c_p_layout_a92d9dcd95e9510b323706ef7fc4ff62e}{}Q\+Vector$<$ int $>$ {\bfseries get\+Section\+Sizes} (Q\+Vector$<$ int $>$ max\+Sizes, Q\+Vector$<$ int $>$ min\+Sizes, Q\+Vector$<$ double $>$ stretch\+Factors, int total\+Size) const \label{class_q_c_p_layout_a92d9dcd95e9510b323706ef7fc4ff62e}
  47. \end{DoxyCompactItemize}
  48. \subsection*{Friends}
  49. \begin{DoxyCompactItemize}
  50. \item
  51. \hypertarget{class_q_c_p_layout_a0790750c7e7f14fdbd960d172655b42b}{}class {\bfseries Q\+C\+P\+Layout\+Element}\label{class_q_c_p_layout_a0790750c7e7f14fdbd960d172655b42b}
  52. \end{DoxyCompactItemize}
  53. \subsection*{Additional Inherited Members}
  54. \subsection{Detailed Description}
  55. The abstract base class for layouts.
  56. This is an abstract base class for layout elements whose main purpose is to define the position and size of other child layout elements. In most cases, layouts don\textquotesingle{}t draw anything themselves (but there are exceptions to this, e.\+g. \hyperlink{class_q_c_p_legend}{Q\+C\+P\+Legend}).
  57. \hyperlink{class_q_c_p_layout}{Q\+C\+P\+Layout} derives from \hyperlink{class_q_c_p_layout_element}{Q\+C\+P\+Layout\+Element}, and thus can itself be nested in other layouts.
  58. \hyperlink{class_q_c_p_layout}{Q\+C\+P\+Layout} introduces a common interface for accessing and manipulating the child elements. Those functions are most notably \hyperlink{class_q_c_p_layout_a39d3e9ef5d9b82ab1885ba1cb9597e56}{element\+Count}, \hyperlink{class_q_c_p_layout_afa73ca7d859f8a3ee5c73c9b353d2a56}{element\+At}, \hyperlink{class_q_c_p_layout_a5a79621fa0a6eabb8b520cfc04fb601a}{take\+At}, \hyperlink{class_q_c_p_layout_ada26cd17e56472b0b4d7fbbc96873e4c}{take}, \hyperlink{class_q_c_p_layout_a41e6ac049143866e8f8b4964efab01b2}{simplify}, \hyperlink{class_q_c_p_layout_a2403f684fee3ce47132faaeed00bb066}{remove\+At}, \hyperlink{class_q_c_p_layout_a6c58f537d8086f352576ab7c5b15d0bc}{remove} and \hyperlink{class_q_c_p_layout_a02883bdf2769b5b227f0232dba1ac4ee}{clear}. Individual subclasses may add more functions to this interface which are more specialized to the form of the layout. For example, \hyperlink{class_q_c_p_layout_grid}{Q\+C\+P\+Layout\+Grid} adds functions that take row and column indices to access cells of the layout grid more conveniently.
  59. Since this is an abstract base class, you can\textquotesingle{}t instantiate it directly. Rather use one of its subclasses like \hyperlink{class_q_c_p_layout_grid}{Q\+C\+P\+Layout\+Grid} or \hyperlink{class_q_c_p_layout_inset}{Q\+C\+P\+Layout\+Inset}.
  60. For a general introduction to the layout system, see the dedicated documentation page \hyperlink{thelayoutsystem}{The Layout System}.
  61. \subsection{Constructor \& Destructor Documentation}
  62. \hypertarget{class_q_c_p_layout_a04222e6e1361fd802d48f1a25b7020d4}{}\index{Q\+C\+P\+Layout@{Q\+C\+P\+Layout}!Q\+C\+P\+Layout@{Q\+C\+P\+Layout}}
  63. \index{Q\+C\+P\+Layout@{Q\+C\+P\+Layout}!Q\+C\+P\+Layout@{Q\+C\+P\+Layout}}
  64. \subsubsection[{Q\+C\+P\+Layout}]{\setlength{\rightskip}{0pt plus 5cm}Q\+C\+P\+Layout\+::\+Q\+C\+P\+Layout (
  65. \begin{DoxyParamCaption}
  66. {}
  67. \end{DoxyParamCaption}
  68. )\hspace{0.3cm}{\ttfamily [explicit]}}\label{class_q_c_p_layout_a04222e6e1361fd802d48f1a25b7020d4}
  69. Creates an instance of \hyperlink{class_q_c_p_layout_element}{Q\+C\+P\+Layout\+Element} and sets default values. Note that since \hyperlink{class_q_c_p_layout_element}{Q\+C\+P\+Layout\+Element} is an abstract base class, it can\textquotesingle{}t be instantiated directly.
  70. \subsection{Member Function Documentation}
  71. \hypertarget{class_q_c_p_layout_a02883bdf2769b5b227f0232dba1ac4ee}{}\index{Q\+C\+P\+Layout@{Q\+C\+P\+Layout}!clear@{clear}}
  72. \index{clear@{clear}!Q\+C\+P\+Layout@{Q\+C\+P\+Layout}}
  73. \subsubsection[{clear}]{\setlength{\rightskip}{0pt plus 5cm}void Q\+C\+P\+Layout\+::clear (
  74. \begin{DoxyParamCaption}
  75. {}
  76. \end{DoxyParamCaption}
  77. )}\label{class_q_c_p_layout_a02883bdf2769b5b227f0232dba1ac4ee}
  78. Removes and deletes all layout elements in this layout.
  79. \begin{DoxySeeAlso}{See also}
  80. \hyperlink{class_q_c_p_layout_a6c58f537d8086f352576ab7c5b15d0bc}{remove}, \hyperlink{class_q_c_p_layout_a2403f684fee3ce47132faaeed00bb066}{remove\+At}
  81. \end{DoxySeeAlso}
  82. \hypertarget{class_q_c_p_layout_afa73ca7d859f8a3ee5c73c9b353d2a56}{}\index{Q\+C\+P\+Layout@{Q\+C\+P\+Layout}!element\+At@{element\+At}}
  83. \index{element\+At@{element\+At}!Q\+C\+P\+Layout@{Q\+C\+P\+Layout}}
  84. \subsubsection[{element\+At}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Q\+C\+P\+Layout\+Element} $\ast$ Q\+C\+P\+Layout\+::element\+At (
  85. \begin{DoxyParamCaption}
  86. \item[{int}]{index}
  87. \end{DoxyParamCaption}
  88. ) const\hspace{0.3cm}{\ttfamily [pure virtual]}}\label{class_q_c_p_layout_afa73ca7d859f8a3ee5c73c9b353d2a56}
  89. Returns the element in the cell with the given {\itshape index}. If {\itshape index} is invalid, returns 0.
  90. Note that even if {\itshape index} is valid, the respective cell may be empty in some layouts (e.\+g. \hyperlink{class_q_c_p_layout_grid}{Q\+C\+P\+Layout\+Grid}), so this function may return 0 in those cases. You may use this function to check whether a cell is empty or not.
  91. \begin{DoxySeeAlso}{See also}
  92. \hyperlink{class_q_c_p_layout_a51fe2675b53e829130b229bc1f7b0f99}{elements}, \hyperlink{class_q_c_p_layout_a39d3e9ef5d9b82ab1885ba1cb9597e56}{element\+Count}, \hyperlink{class_q_c_p_layout_a5a79621fa0a6eabb8b520cfc04fb601a}{take\+At}
  93. \end{DoxySeeAlso}
  94. Implemented in \hyperlink{class_q_c_p_layout_inset_ab096d07b08f9b5455647f3ba7ff60e27}{Q\+C\+P\+Layout\+Inset}, and \hyperlink{class_q_c_p_layout_grid_a26849ee5c47b4c940e8d65e8462f1065}{Q\+C\+P\+Layout\+Grid}.
  95. \hypertarget{class_q_c_p_layout_a39d3e9ef5d9b82ab1885ba1cb9597e56}{}\index{Q\+C\+P\+Layout@{Q\+C\+P\+Layout}!element\+Count@{element\+Count}}
  96. \index{element\+Count@{element\+Count}!Q\+C\+P\+Layout@{Q\+C\+P\+Layout}}
  97. \subsubsection[{element\+Count}]{\setlength{\rightskip}{0pt plus 5cm}int Q\+C\+P\+Layout\+::element\+Count (
  98. \begin{DoxyParamCaption}
  99. {}
  100. \end{DoxyParamCaption}
  101. ) const\hspace{0.3cm}{\ttfamily [pure virtual]}}\label{class_q_c_p_layout_a39d3e9ef5d9b82ab1885ba1cb9597e56}
  102. Returns the number of elements/cells in the layout.
  103. \begin{DoxySeeAlso}{See also}
  104. \hyperlink{class_q_c_p_layout_a51fe2675b53e829130b229bc1f7b0f99}{elements}, \hyperlink{class_q_c_p_layout_afa73ca7d859f8a3ee5c73c9b353d2a56}{element\+At}
  105. \end{DoxySeeAlso}
  106. Implemented in \hyperlink{class_q_c_p_layout_inset_a2087b97b9266fd9e0f571a8d3cf709f9}{Q\+C\+P\+Layout\+Inset}, and \hyperlink{class_q_c_p_layout_grid_aa682b1d36660478f665bab3c64e956a9}{Q\+C\+P\+Layout\+Grid}.
  107. \hypertarget{class_q_c_p_layout_a51fe2675b53e829130b229bc1f7b0f99}{}\index{Q\+C\+P\+Layout@{Q\+C\+P\+Layout}!elements@{elements}}
  108. \index{elements@{elements}!Q\+C\+P\+Layout@{Q\+C\+P\+Layout}}
  109. \subsubsection[{elements}]{\setlength{\rightskip}{0pt plus 5cm}Q\+List$<$ {\bf Q\+C\+P\+Layout\+Element} $\ast$ $>$ Q\+C\+P\+Layout\+::elements (
  110. \begin{DoxyParamCaption}
  111. \item[{bool}]{recursive}
  112. \end{DoxyParamCaption}
  113. ) const\hspace{0.3cm}{\ttfamily [virtual]}}\label{class_q_c_p_layout_a51fe2675b53e829130b229bc1f7b0f99}
  114. Returns a list of all child elements in this layout element. If {\itshape recursive} is true, all sub-\/child elements are included in the list, too.
  115. Note that there may be entries with value 0 in the returned list. (For example, \hyperlink{class_q_c_p_layout_grid}{Q\+C\+P\+Layout\+Grid} may have empty cells which yield 0 at the respective index.)
  116. Reimplemented from \hyperlink{class_q_c_p_layout_element_a311d60d78e62ef8eaaedb1b6ceb9e788}{Q\+C\+P\+Layout\+Element}.
  117. Reimplemented in \hyperlink{class_q_c_p_layout_grid_ae9e24e01552f6667b6d05b12a54a4caa}{Q\+C\+P\+Layout\+Grid}.
  118. \hypertarget{class_q_c_p_layout_a6c58f537d8086f352576ab7c5b15d0bc}{}\index{Q\+C\+P\+Layout@{Q\+C\+P\+Layout}!remove@{remove}}
  119. \index{remove@{remove}!Q\+C\+P\+Layout@{Q\+C\+P\+Layout}}
  120. \subsubsection[{remove}]{\setlength{\rightskip}{0pt plus 5cm}bool Q\+C\+P\+Layout\+::remove (
  121. \begin{DoxyParamCaption}
  122. \item[{{\bf Q\+C\+P\+Layout\+Element} $\ast$}]{element}
  123. \end{DoxyParamCaption}
  124. )}\label{class_q_c_p_layout_a6c58f537d8086f352576ab7c5b15d0bc}
  125. Removes and deletes the provided {\itshape element}. Returns true on success. If {\itshape element} is not in the layout, returns false.
  126. This function internally uses \hyperlink{class_q_c_p_layout_a5a79621fa0a6eabb8b520cfc04fb601a}{take\+At} to remove the element from the layout and then deletes the element.
  127. \begin{DoxySeeAlso}{See also}
  128. \hyperlink{class_q_c_p_layout_a2403f684fee3ce47132faaeed00bb066}{remove\+At}, \hyperlink{class_q_c_p_layout_ada26cd17e56472b0b4d7fbbc96873e4c}{take}
  129. \end{DoxySeeAlso}
  130. \hypertarget{class_q_c_p_layout_a2403f684fee3ce47132faaeed00bb066}{}\index{Q\+C\+P\+Layout@{Q\+C\+P\+Layout}!remove\+At@{remove\+At}}
  131. \index{remove\+At@{remove\+At}!Q\+C\+P\+Layout@{Q\+C\+P\+Layout}}
  132. \subsubsection[{remove\+At}]{\setlength{\rightskip}{0pt plus 5cm}bool Q\+C\+P\+Layout\+::remove\+At (
  133. \begin{DoxyParamCaption}
  134. \item[{int}]{index}
  135. \end{DoxyParamCaption}
  136. )}\label{class_q_c_p_layout_a2403f684fee3ce47132faaeed00bb066}
  137. Removes and deletes the element at the provided {\itshape index}. Returns true on success. If {\itshape index} is invalid or points to an empty cell, returns false.
  138. This function internally uses \hyperlink{class_q_c_p_layout_a5a79621fa0a6eabb8b520cfc04fb601a}{take\+At} to remove the element from the layout and then deletes the returned element.
  139. \begin{DoxySeeAlso}{See also}
  140. \hyperlink{class_q_c_p_layout_a6c58f537d8086f352576ab7c5b15d0bc}{remove}, \hyperlink{class_q_c_p_layout_a5a79621fa0a6eabb8b520cfc04fb601a}{take\+At}
  141. \end{DoxySeeAlso}
  142. \hypertarget{class_q_c_p_layout_a41e6ac049143866e8f8b4964efab01b2}{}\index{Q\+C\+P\+Layout@{Q\+C\+P\+Layout}!simplify@{simplify}}
  143. \index{simplify@{simplify}!Q\+C\+P\+Layout@{Q\+C\+P\+Layout}}
  144. \subsubsection[{simplify}]{\setlength{\rightskip}{0pt plus 5cm}void Q\+C\+P\+Layout\+::simplify (
  145. \begin{DoxyParamCaption}
  146. {}
  147. \end{DoxyParamCaption}
  148. )\hspace{0.3cm}{\ttfamily [virtual]}}\label{class_q_c_p_layout_a41e6ac049143866e8f8b4964efab01b2}
  149. Simplifies the layout by collapsing empty cells. The exact behavior depends on subclasses, the default implementation does nothing.
  150. Not all layouts need simplification. For example, \hyperlink{class_q_c_p_layout_inset}{Q\+C\+P\+Layout\+Inset} doesn\textquotesingle{}t use explicit simplification while \hyperlink{class_q_c_p_layout_grid}{Q\+C\+P\+Layout\+Grid} does.
  151. Reimplemented in \hyperlink{class_q_c_p_layout_inset_abb9eb23bf2d7c587a8abe02d065eae0a}{Q\+C\+P\+Layout\+Inset}, and \hyperlink{class_q_c_p_layout_grid_a08bba60e4acd20165526a8fd7f986b58}{Q\+C\+P\+Layout\+Grid}.
  152. \hypertarget{class_q_c_p_layout_a6218cd7e5c0e30077c1aeaffe55b6145}{}\index{Q\+C\+P\+Layout@{Q\+C\+P\+Layout}!size\+Constraints\+Changed@{size\+Constraints\+Changed}}
  153. \index{size\+Constraints\+Changed@{size\+Constraints\+Changed}!Q\+C\+P\+Layout@{Q\+C\+P\+Layout}}
  154. \subsubsection[{size\+Constraints\+Changed}]{\setlength{\rightskip}{0pt plus 5cm}void Q\+C\+P\+Layout\+::size\+Constraints\+Changed (
  155. \begin{DoxyParamCaption}
  156. {}
  157. \end{DoxyParamCaption}
  158. ) const\hspace{0.3cm}{\ttfamily [protected]}}\label{class_q_c_p_layout_a6218cd7e5c0e30077c1aeaffe55b6145}
  159. Subclasses call this method to report changed (minimum/maximum) size constraints.
  160. If the parent of this layout is again a \hyperlink{class_q_c_p_layout}{Q\+C\+P\+Layout}, forwards the call to the parent\textquotesingle{}s \hyperlink{class_q_c_p_layout_a6218cd7e5c0e30077c1aeaffe55b6145}{size\+Constraints\+Changed}. If the parent is a Q\+Widget (i.\+e. is the \hyperlink{class_q_custom_plot_afd280d4d621ae64a106543a545c508d7}{Q\+Custom\+Plot\+::plot\+Layout} of \hyperlink{class_q_custom_plot}{Q\+Custom\+Plot}), calls Q\+Widget\+::update\+Geometry, so if the \hyperlink{class_q_custom_plot}{Q\+Custom\+Plot} widget is inside a Qt Q\+Layout, it may update itself and resize cells accordingly. \hypertarget{class_q_c_p_layout_ada26cd17e56472b0b4d7fbbc96873e4c}{}\index{Q\+C\+P\+Layout@{Q\+C\+P\+Layout}!take@{take}}
  161. \index{take@{take}!Q\+C\+P\+Layout@{Q\+C\+P\+Layout}}
  162. \subsubsection[{take}]{\setlength{\rightskip}{0pt plus 5cm}bool Q\+C\+P\+Layout\+::take (
  163. \begin{DoxyParamCaption}
  164. \item[{{\bf Q\+C\+P\+Layout\+Element} $\ast$}]{element}
  165. \end{DoxyParamCaption}
  166. )\hspace{0.3cm}{\ttfamily [pure virtual]}}\label{class_q_c_p_layout_ada26cd17e56472b0b4d7fbbc96873e4c}
  167. Removes the specified {\itshape element} from the layout and returns true on success.
  168. If the {\itshape element} isn\textquotesingle{}t in this layout, returns false.
  169. Note that some layouts don\textquotesingle{}t remove the respective cell right away but leave an empty cell after successful removal of the layout element. To collapse empty cells, use \hyperlink{class_q_c_p_layout_a41e6ac049143866e8f8b4964efab01b2}{simplify}.
  170. \begin{DoxySeeAlso}{See also}
  171. \hyperlink{class_q_c_p_layout_a5a79621fa0a6eabb8b520cfc04fb601a}{take\+At}
  172. \end{DoxySeeAlso}
  173. Implemented in \hyperlink{class_q_c_p_layout_inset_a9ac707ccff650633b97f52dd5cddcf49}{Q\+C\+P\+Layout\+Inset}, and \hyperlink{class_q_c_p_layout_grid_a666a9fe9e92054436f9b66eba25cca0c}{Q\+C\+P\+Layout\+Grid}.
  174. \hypertarget{class_q_c_p_layout_a5a79621fa0a6eabb8b520cfc04fb601a}{}\index{Q\+C\+P\+Layout@{Q\+C\+P\+Layout}!take\+At@{take\+At}}
  175. \index{take\+At@{take\+At}!Q\+C\+P\+Layout@{Q\+C\+P\+Layout}}
  176. \subsubsection[{take\+At}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Q\+C\+P\+Layout\+Element} $\ast$ Q\+C\+P\+Layout\+::take\+At (
  177. \begin{DoxyParamCaption}
  178. \item[{int}]{index}
  179. \end{DoxyParamCaption}
  180. )\hspace{0.3cm}{\ttfamily [pure virtual]}}\label{class_q_c_p_layout_a5a79621fa0a6eabb8b520cfc04fb601a}
  181. Removes the element with the given {\itshape index} from the layout and returns it.
  182. If the {\itshape index} is invalid or the cell with that index is empty, returns 0.
  183. Note that some layouts don\textquotesingle{}t remove the respective cell right away but leave an empty cell after successful removal of the layout element. To collapse empty cells, use \hyperlink{class_q_c_p_layout_a41e6ac049143866e8f8b4964efab01b2}{simplify}.
  184. \begin{DoxySeeAlso}{See also}
  185. \hyperlink{class_q_c_p_layout_afa73ca7d859f8a3ee5c73c9b353d2a56}{element\+At}, \hyperlink{class_q_c_p_layout_ada26cd17e56472b0b4d7fbbc96873e4c}{take}
  186. \end{DoxySeeAlso}
  187. Implemented in \hyperlink{class_q_c_p_layout_inset_ad6756a3b507e20496aaf7f5ca16c47d1}{Q\+C\+P\+Layout\+Inset}, and \hyperlink{class_q_c_p_layout_grid_acc1277394ff8a6432e111ff9463e6375}{Q\+C\+P\+Layout\+Grid}.
  188. \hypertarget{class_q_c_p_layout_a91321049c2e37e372abd118095f65b87}{}\index{Q\+C\+P\+Layout@{Q\+C\+P\+Layout}!update@{update}}
  189. \index{update@{update}!Q\+C\+P\+Layout@{Q\+C\+P\+Layout}}
  190. \subsubsection[{update}]{\setlength{\rightskip}{0pt plus 5cm}void Q\+C\+P\+Layout\+::update (
  191. \begin{DoxyParamCaption}
  192. {}
  193. \end{DoxyParamCaption}
  194. )\hspace{0.3cm}{\ttfamily [virtual]}}\label{class_q_c_p_layout_a91321049c2e37e372abd118095f65b87}
  195. First calls the \hyperlink{class_q_c_p_layout_element_a46d52cb1f07ba05564920321f4ada184}{Q\+C\+P\+Layout\+Element\+::update} base class implementation to update the margins on this layout.
  196. Then calls update\+Layout which subclasses reimplement to reposition and resize their cells.
  197. Finally, \hyperlink{class_q_c_p_layout_a91321049c2e37e372abd118095f65b87}{update} is called on all child elements.
  198. Reimplemented from \hyperlink{class_q_c_p_layout_element_a46d52cb1f07ba05564920321f4ada184}{Q\+C\+P\+Layout\+Element}.
  199. The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
  200. \item
  201. \hyperlink{qcustomplot_8h}{qcustomplot.\+h}\item
  202. \hyperlink{qcustomplot_8cpp}{qcustomplot.\+cpp}\end{DoxyCompactItemize}