<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <title>The Gnome Chemistry Utils: brackets.h Source File</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">The Gnome Chemistry Utils  <span id="projectnumber">0.14.2</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.1.2 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li><a href="annotated.html"><span>Classes</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>File Members</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_6719ab1f1f7655efc2fa43f7eb574fd1.html">libs</a></li><li class="navelem"><a class="el" href="dir_69c622b84a81aca1ad0f892f4a5e46bf.html">gcp</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="headertitle"> <div class="title">gcp/brackets.h</div> </div> </div><!--header--> <div class="contents"> <a href="gcp_2brackets_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">// -*- C++ -*-</span></div> <div class="line"><a name="l00002"></a><span class="lineno"> 2</span> </div> <div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">/*</span></div> <div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * GChemPaint library</span></div> <div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * brackets.h</span></div> <div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> *</span></div> <div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * Copyright (C) 2010-2012 Jean Bréfort <jean.brefort@normalesup.org></span></div> <div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> *</span></div> <div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * This program is free software; you can redistribute it and/or</span></div> <div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * modify it under the terms of the GNU General Public License as</span></div> <div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * published by the Free Software Foundation; either version 3 of the</span></div> <div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * License, or (at your option) any later version.</span></div> <div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> *</span></div> <div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div> <div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div> <div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div> <div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * GNU General Public License for more details.</span></div> <div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> *</span></div> <div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div> <div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div> <div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301</span></div> <div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * USA</span></div> <div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> */</span></div> <div class="line"><a name="l00024"></a><span class="lineno"> 24</span> </div> <div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#ifndef GCHEMPAINT_BRACKETS_H</span></div> <div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor"></span><span class="preprocessor">#define GCHEMPAINT_BRACKETS_H</span></div> <div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#include <<a class="code" href="object_8h.html">gcu/object.h</a>></span></div> <div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#include <<a class="code" href="item-client_8h.html">gccv/item-client.h</a>></span></div> <div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include <gccv/brackets.h></span></div> <div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include <set></span></div> <div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div> <div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="keyword">namespace </span>gcp {</div> <div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div> <div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="keyword">extern</span> <a class="code" href="namespacegcu.html#a4a6abffbefdd6abf047dca4e63b0bac5">gcu::TypeId</a> BracketsType;</div> <div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div> <div class="line"><a name="l00044"></a><span class="lineno"><a class="code" href="namespacegcp.html#ae1b775628301deaf7f5e6531aa975efb"> 44</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span> {</div> <div class="line"><a name="l00048"></a><span class="lineno"><a class="code" href="namespacegcp.html#ae1b775628301deaf7f5e6531aa975efbac9f2f26eba8f8242e8e1010aa2385ab4"> 48</a></span>  <a class="code" href="namespacegcp.html#ae1b775628301deaf7f5e6531aa975efbac9f2f26eba8f8242e8e1010aa2385ab4">BracketContentInvalid</a>,</div> <div class="line"><a name="l00052"></a><span class="lineno"><a class="code" href="namespacegcp.html#ae1b775628301deaf7f5e6531aa975efba6743736ae08771b17d5a8b056606eabc"> 52</a></span>  <a class="code" href="namespacegcp.html#ae1b775628301deaf7f5e6531aa975efba6743736ae08771b17d5a8b056606eabc">BracketContentFragment</a>,</div> <div class="line"><a name="l00056"></a><span class="lineno"><a class="code" href="namespacegcp.html#ae1b775628301deaf7f5e6531aa975efbac4fac27149b22dc3469e5274f2b3959d"> 56</a></span>  <a class="code" href="namespacegcp.html#ae1b775628301deaf7f5e6531aa975efbac4fac27149b22dc3469e5274f2b3959d">BracketContentMolecule</a>,</div> <div class="line"><a name="l00060"></a><span class="lineno"><a class="code" href="namespacegcp.html#ae1b775628301deaf7f5e6531aa975efba315439147c3873b92225e42d1f8a1fbe"> 60</a></span>  <a class="code" href="namespacegcp.html#ae1b775628301deaf7f5e6531aa975efba315439147c3873b92225e42d1f8a1fbe">BracketContentGroup</a></div> <div class="line"><a name="l00061"></a><span class="lineno"> 61</span> } <a class="code" href="namespacegcp.html#ae1b775628301deaf7f5e6531aa975efb" title="The contents on a pair of brackets.">BracketContent</a>;</div> <div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div> <div class="line"><a name="l00069"></a><span class="lineno"><a class="code" href="namespacegcp.html#a0b783f0c31ff2205b3b317b19e9ea38a"> 69</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span> {</div> <div class="line"><a name="l00073"></a><span class="lineno"><a class="code" href="namespacegcp.html#a0b783f0c31ff2205b3b317b19e9ea38aa884161f4cbe7c5ee1a0e975f90fb1206"> 73</a></span>  <a class="code" href="namespacegcp.html#a0b783f0c31ff2205b3b317b19e9ea38aa884161f4cbe7c5ee1a0e975f90fb1206">BracketDecorationNone</a> = 0,</div> <div class="line"><a name="l00077"></a><span class="lineno"><a class="code" href="namespacegcp.html#a0b783f0c31ff2205b3b317b19e9ea38aada05f92edbc912196baf5ebf705bd886"> 77</a></span>  <a class="code" href="namespacegcp.html#a0b783f0c31ff2205b3b317b19e9ea38aada05f92edbc912196baf5ebf705bd886">BracketSubscript</a> = 1,</div> <div class="line"><a name="l00081"></a><span class="lineno"><a class="code" href="namespacegcp.html#a0b783f0c31ff2205b3b317b19e9ea38aa44ae1a651cf918db66a96fe15bb95ff6"> 81</a></span>  <a class="code" href="namespacegcp.html#a0b783f0c31ff2205b3b317b19e9ea38aa44ae1a651cf918db66a96fe15bb95ff6">BracketSuperscript</a> = 2</div> <div class="line"><a name="l00082"></a><span class="lineno"> 82</span> } <a class="code" href="namespacegcp.html#a0b783f0c31ff2205b3b317b19e9ea38a" title="Describes the objects that can be attached to the brackets.">BracketsDecorations</a>;</div> <div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div> <div class="line"><a name="l00090"></a><span class="lineno"><a class="code" href="classgcp_1_1Brackets.html"> 90</a></span> <span class="keyword">class </span><a class="code" href="classgcp_1_1Brackets.html" title="Brackets class.">Brackets</a>: <span class="keyword">public</span> <a class="code" href="classgcu_1_1Object.html">gcu::Object</a>, <span class="keyword">public</span> <a class="code" href="classgccv_1_1ItemClient.html" title="the base class for objects associated with a canvas item.">gccv::ItemClient</a></div> <div class="line"><a name="l00091"></a><span class="lineno"> 91</span> {</div> <div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keyword">public</span>:</div> <div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <a class="code" href="classgcp_1_1Brackets.html#a66a45ece5254427a47788cadc7f58cb0">Brackets</a> (<a class="code" href="namespacegccv.html#abab84e97f079b0b3d22def85e9dcdd23">gccv::BracketsTypes</a> type = <a class="code" href="namespacegccv.html#abab84e97f079b0b3d22def85e9dcdd23a3e09d2d71176839482b1b0cc18c95066">gccv::BracketsTypeNormal</a>);</div> <div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="keyword">virtual</span> <a class="code" href="classgcp_1_1Brackets.html#ab4169eece7f5834dd0c081e705028533">~Brackets</a>();</div> <div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div> <div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div> <div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keywordtype">void</span> <a class="code" href="classgcp_1_1Brackets.html#a7c823c1687d4998d92fe7e0eb356a5d9">AddItem</a> ();</div> <div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div> <div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="keywordtype">bool</span> <a class="code" href="classgcp_1_1Brackets.html#a7eee55300bd8a12511c61b8a07fca793">Load</a> (xmlNodePtr node);</div> <div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  xmlNodePtr <a class="code" href="classgcp_1_1Brackets.html#a8713ca533aaf2a4c3544ac6929f25acc">Save</a> (xmlDocPtr xml) <span class="keyword">const</span>;</div> <div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <span class="keywordtype">void</span> <a class="code" href="classgcp_1_1Brackets.html#ab8fce54613f19e20935e693445db2419">SetSelected</a> (<span class="keywordtype">int</span> state);</div> <div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="keywordtype">void</span> <a class="code" href="classgcp_1_1Brackets.html#aa91ce05033ab1c8963ad46cf83a060c6">OnLoaded</a> ();</div> <div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div> <div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="keywordtype">void</span> <a class="code" href="classgcp_1_1Brackets.html#aa6f9edfe532b4b6dab5744f982708e04">OnUnlink</a> (<a class="code" href="classgcu_1_1Object.html#a6f15e766fdfb066008bd4b0779574549">Object</a> *<span class="keywordtype">object</span>);</div> <div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <span class="keywordtype">bool</span> <a class="code" href="classgcp_1_1Brackets.html#a4ca1b55dda7535e700e81c2f2caf6319">BuildContextualMenu</a> (<a class="code" href="classgcu_1_1UIManager.html" title="base class for a user interface manager">gcu::UIManager</a> *UIManager, <a class="code" href="classgcu_1_1Object.html#a6f15e766fdfb066008bd4b0779574549">Object</a> *<span class="keywordtype">object</span>, <span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y);</div> <div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div> <div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <span class="keywordtype">void</span> <a class="code" href="classgcp_1_1Brackets.html#a7f8a3d1c3dd57e76b0e9fb36de9f032f">SetEmbeddedObjects</a> (std::set < gcu::Object * > objects);</div> <div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div> <div class="line"><a name="l00164"></a><span class="lineno"><a class="code" href="classgcp_1_1Brackets.html#add68c333dd1175363c213fd70e3bfc7f"> 164</a></span>  std::set < gcu::Object * > <span class="keyword">const</span> &<a class="code" href="classgcp_1_1Brackets.html#add68c333dd1175363c213fd70e3bfc7f">GetEmbeddedObjects</a> () {<span class="keywordflow">return</span> m_EmbeddedObjects;}</div> <div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div> <div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classgcp_1_1Brackets.html#a4bd3c697b6c902dbc104af4640523498">ConnectedAtoms</a> (std::set < gcu::Object * > <span class="keyword">const</span> &objects);</div> <div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <span class="keywordtype">void</span> <a class="code" href="classgcp_1_1Brackets.html#afe5cbe63b8f786d6966c3c62527ddfd0">Transform2D</a> (<a class="code" href="classgcu_1_1Matrix2D.html">gcu::Matrix2D</a>& m, <span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y);</div> <div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div> <div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="keyword">private</span>:</div> <div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  std::set < gcu::Object * > m_EmbeddedObjects;</div> <div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  <span class="keywordtype">bool</span> m_Valid;</div> <div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <a class="code" href="namespacegcp.html#ae1b775628301deaf7f5e6531aa975efb" title="The contents on a pair of brackets.">BracketContent</a> m_Content;</div> <div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div> <div class="line"><a name="l00199"></a><span class="lineno"><a class="code" href="classgcp_1_1Brackets.html#a179d798a371e4727dc006960bdb81353"> 199</a></span> <a class="code" href="macros_8h.html#a2e6e8322502a538f4583d41206cea297">GCU_PROP</a> (<a class="code" href="namespacegccv.html#abab84e97f079b0b3d22def85e9dcdd23">gccv::BracketsTypes</a>, Type)</div> <div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div> <div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div> <div class="line"><a name="l00212"></a><span class="lineno"><a class="code" href="classgcp_1_1Brackets.html#a5e486e9109767baf2e38e83451599c15"> 212</a></span> <a class="code" href="macros_8h.html#a2e6e8322502a538f4583d41206cea297">GCU_PROP</a> (gccv::BracketsUses, Used)</div> <div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div> <div class="line"><a name="l00218"></a><span class="lineno"><a class="code" href="classgcp_1_1Brackets.html#afe1b0a1e82aa7d7625eb7032aec42a17"> 218</a></span> <a class="code" href="macros_8h.html#ae59df402113b58e8e28a7898e09a19a2">GCU_RO_PROP</a> (<span class="keywordtype">unsigned</span>, Decorations)</div> <div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div> <div class="line"><a name="l00231"></a><span class="lineno"><a class="code" href="classgcp_1_1Brackets.html#ac264fb6875dc02b01853ce240a282122"> 231</a></span> <a class="code" href="macros_8h.html#a2e6e8322502a538f4583d41206cea297">GCU_PROP</a> (std::<span class="keywordtype">string</span>, FontDesc)</div> <div class="line"><a name="l00232"></a><span class="lineno"> 232</span> };</div> <div class="line"><a name="l00233"></a><span class="lineno"> 233</span> </div> <div class="line"><a name="l00234"></a><span class="lineno"> 234</span> } <span class="comment">// namespace gcp</span></div> <div class="line"><a name="l00235"></a><span class="lineno"> 235</span> </div> <div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="preprocessor">#endif //GCHEMPAINT_BRACKETS_H</span></div> </div><!-- fragment --></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated on Thu Mar 14 2013 17:34:28 for The Gnome Chemistry Utils by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.1.2 </small></address> </body> </html>