<!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: application.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_a58dfd42f88c935731f32d659aed32ec.html">gcu</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="headertitle"> <div class="title">gcu/application.h</div> </div> </div><!--header--> <div class="contents"> <a href="gcu_2application_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"> * Gnome Chemistry Utils</span></div> <div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * gcu/application.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) 2005-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 GCU_APPLICATION_H</span></div> <div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor"></span><span class="preprocessor">#define GCU_APPLICATION_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="dialog-owner_8h.html">dialog-owner.h</a>"</span></div> <div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#include "<a class="code" href="gcu_2structs_8h.html">structs.h</a>"</span></div> <div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include "<a class="code" href="object_8h.html">object.h</a>"</span></div> <div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include <list></span></div> <div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <map></span></div> <div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include <set></span></div> <div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include <string></span></div> <div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <<a class="code" href="macros_8h.html">gcu/macros.h</a>></span></div> <div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div> <div class="line"><a name="l00038"></a><span class="lineno"><a class="code" href="namespacegcu.html"> 38</a></span> <span class="keyword">namespace </span>gcu {</div> <div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div> <div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="keyword">class </span><a class="code" href="classgcu_1_1Document.html">Document</a>;</div> <div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="keyword">class </span><a class="code" href="classgcu_1_1Dialog.html">Dialog</a>;</div> <div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="keyword">struct </span>option_data;</div> <div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="keyword">class </span>TypeDesc;</div> <div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="keyword">class </span><a class="code" href="classgcu_1_1CmdContext.html" title="error output channel.">CmdContext</a>;</div> <div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keyword">class </span><a class="code" href="classgcu_1_1UIManager.html" title="base class for a user interface manager">UIManager</a>;</div> <div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div> <div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>{</div> <div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  std::string name;</div> <div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  std::string uri;</div> <div class="line"><a name="l00050"></a><span class="lineno"> 50</span> } Database;</div> <div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div> <div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor">#define GCU_CONF_DIR "gchemutils"</span></div> <div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00057"></a><span class="lineno"><a class="code" href="classgcu_1_1Application.html"> 57</a></span> <span class="keyword">class </span><a class="code" href="classgcu_1_1Application.html">Application</a>: <span class="keyword">virtual</span> <span class="keyword">public</span> <a class="code" href="classgcu_1_1DialogOwner.html">DialogOwner</a></div> <div class="line"><a name="l00058"></a><span class="lineno"> 58</span> {</div> <div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classgcu_1_1Document.html">Document</a>;</div> <div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classgcu_1_1Dialog.html">Dialog</a>;</div> <div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keyword">public</span>:</div> <div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <a class="code" href="classgcu_1_1Application.html#ad038baab7aaf39342b3c5d6650f3794f">Application</a> (std::string name, std::string datadir = DATADIR, <span class="keywordtype">char</span> <span class="keyword">const</span> *help_name = NULL, <span class="keywordtype">char</span> <span class="keyword">const</span> *icon_name = NULL, <a class="code" href="classgcu_1_1CmdContext.html" title="error output channel.">CmdContext</a> *cc = NULL);</div> <div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keyword">virtual</span> <a class="code" href="classgcu_1_1Application.html#ae4390c5821167149797507741abf21cf">~Application</a> ();</div> <div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div> <div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keywordtype">void</span> <a class="code" href="classgcu_1_1Application.html#a9e75345f3bbcac050ecbffe2a0e54adb">OnHelp</a> (std::string s = <span class="stringliteral">""</span>);</div> <div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keywordtype">bool</span> <a class="code" href="classgcu_1_1Application.html#af63f52a24c853027a7bb6854d1b2f917">HasHelp</a> ();</div> <div class="line"><a name="l00097"></a><span class="lineno"><a class="code" href="classgcu_1_1Application.html#afff7a39ad3e9b322bfc6ecd87e1a33f2"> 97</a></span>  std::string <span class="keyword">const</span> &<a class="code" href="classgcu_1_1Application.html#afff7a39ad3e9b322bfc6ecd87e1a33f2">GetName</a> ()<span class="keyword"> const </span>{<span class="keywordflow">return</span> Name;}</div> <div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div> <div class="line"><a name="l00102"></a><span class="lineno"><a class="code" href="classgcu_1_1Application.html#a94cfeb904903c664b617287293d43644"> 102</a></span>  <span class="keyword">virtual</span> GtkWindow * <a class="code" href="classgcu_1_1Application.html#a94cfeb904903c664b617287293d43644">GetWindow</a> () {<span class="keywordflow">return</span> NULL;}</div> <div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div> <div class="line"><a name="l00117"></a><span class="lineno"><a class="code" href="classgcu_1_1Application.html#ad4936e8c6ba6b972702aea28067104dd"> 117</a></span>  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classgcu_1_1Application.html#ad4936e8c6ba6b972702aea28067104dd">FileProcess</a> (G_GNUC_UNUSED <span class="keyword">const</span> gchar* filename, G_GNUC_UNUSED <span class="keyword">const</span> gchar* mime_type, G_GNUC_UNUSED <span class="keywordtype">bool</span> bSave, G_GNUC_UNUSED GtkWindow *window, G_GNUC_UNUSED <a class="code" href="classgcu_1_1Document.html">Document</a> *pDoc = NULL)</div> <div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  {<span class="keywordflow">return</span> <span class="keyword">false</span>;}</div> <div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div> <div class="line"><a name="l00123"></a><span class="lineno"><a class="code" href="classgcu_1_1Application.html#a328711708b5418ae39ef72f98712732e"> 123</a></span>  <span class="keywordtype">char</span> <span class="keyword">const</span>* <a class="code" href="classgcu_1_1Application.html#a328711708b5418ae39ef72f98712732e">GetCurDir</a> () {<span class="keywordflow">return</span> CurDir.c_str ();}</div> <div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div> <div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <span class="keywordtype">void</span> <a class="code" href="classgcu_1_1Application.html#a8ea5f1ed424c387a847b8baca1e5c91d">SetCurDir</a> (<span class="keywordtype">char</span> <span class="keyword">const</span>* dir);</div> <div class="line"><a name="l00129"></a><span class="lineno"> 129</span> </div> <div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <span class="keywordtype">void</span> <a class="code" href="classgcu_1_1Application.html#a8ea5f1ed424c387a847b8baca1e5c91d">SetCurDir</a> (std::string <span class="keyword">const</span> &dir);</div> <div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div> <div class="line"><a name="l00138"></a><span class="lineno"><a class="code" href="classgcu_1_1Application.html#a4466ff140726d27a2772744f8e473605"> 138</a></span>  std::map<std::string, GdkPixbufFormat*> &<a class="code" href="classgcu_1_1Application.html#a4466ff140726d27a2772744f8e473605">GetSupportedPixbufFormats</a> () {<span class="keywordflow">return</span> <a class="code" href="classgcu_1_1Application.html#a01d7fc252bf235a517dc6d7ae5afdce7">m_SupportedPixbufFormats</a>;}</div> <div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div> <div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keywordtype">char</span> <span class="keyword">const</span> *<a class="code" href="classgcu_1_1Application.html#a64669c8089f80219832a737b591d5e37">GetPixbufTypeName</a> (std::string& filename, <span class="keywordtype">char</span> <span class="keyword">const</span> *mime_type);</div> <div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div> <div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <a class="code" href="namespacegcu.html#a662cb06e31132a49034b70b48a5f2b8f">ContentType</a> <a class="code" href="classgcu_1_1Application.html#a46902f2b431c2fa67e4020f0834e920f">Load</a> (std::string <span class="keyword">const</span> &uri, <span class="keyword">const</span> <span class="keywordtype">char</span> *mime_type, <a class="code" href="classgcu_1_1Document.html">Document</a>* Doc, <span class="keyword">const</span> <span class="keywordtype">char</span> *options = NULL);</div> <div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div> <div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <a class="code" href="namespacegcu.html#a662cb06e31132a49034b70b48a5f2b8f">ContentType</a> <a class="code" href="classgcu_1_1Application.html#a46902f2b431c2fa67e4020f0834e920f">Load</a> (GsfInput *input, <span class="keyword">const</span> <span class="keywordtype">char</span> *mime_type, <a class="code" href="classgcu_1_1Document.html">Document</a>* Doc, <span class="keyword">const</span> <span class="keywordtype">char</span> *options = NULL);</div> <div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div> <div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  <span class="keywordtype">bool</span> <a class="code" href="classgcu_1_1Application.html#a7bc68fcaa2f1261e16c0ef3afa6f5379">Save</a> (std::string <span class="keyword">const</span> &uri, <span class="keyword">const</span> <span class="keywordtype">char</span> *mime_type, <a class="code" href="classgcu_1_1Object.html">Object</a> <span class="keyword">const</span> *Obj, <a class="code" href="namespacegcu.html#a662cb06e31132a49034b70b48a5f2b8f">ContentType</a> type, <span class="keyword">const</span> <span class="keywordtype">char</span> *options = NULL);</div> <div class="line"><a name="l00190"></a><span class="lineno"> 190</span> </div> <div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <span class="keywordtype">bool</span> <a class="code" href="classgcu_1_1Application.html#a7bc68fcaa2f1261e16c0ef3afa6f5379">Save</a> (GsfOutput *output, <span class="keyword">const</span> <span class="keywordtype">char</span> *mime_type, <a class="code" href="classgcu_1_1Object.html">Object</a> <span class="keyword">const</span> *Obj, <a class="code" href="namespacegcu.html#a662cb06e31132a49034b70b48a5f2b8f">ContentType</a> type, <span class="keyword">const</span> <span class="keywordtype">char</span> *options = NULL);</div> <div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div> <div class="line"><a name="l00209"></a><span class="lineno"><a class="code" href="classgcu_1_1Application.html#a1fb2e62ce60effbb096f87de8656753b"> 209</a></span>  <span class="keyword">virtual</span> <a class="code" href="classgcu_1_1Document.html">Document</a> *<a class="code" href="classgcu_1_1Application.html#a1fb2e62ce60effbb096f87de8656753b">CreateNewDocument</a> () {<span class="keywordflow">return</span> NULL;}</div> <div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div> <div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <span class="keyword">static</span> GOConfNode *<a class="code" href="classgcu_1_1Application.html#ac1b0ea2d434414d559ed634d09ebc609">GetConfDir</a> ();</div> <div class="line"><a name="l00216"></a><span class="lineno"> 216</span> </div> <div class="line"><a name="l00221"></a><span class="lineno"><a class="code" href="classgcu_1_1Application.html#ad8c700b6ed5300faf9f79e56cfa53ab5"> 221</a></span>  std::string <span class="keyword">const</span> &<a class="code" href="classgcu_1_1Application.html#ad8c700b6ed5300faf9f79e56cfa53ab5">GetIconName</a> () {<span class="keywordflow">return</span> IconName;}</div> <div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div> <div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  <span class="keywordtype">void</span> <a class="code" href="classgcu_1_1Application.html#a90de97570dd956b2f6caa84c12ef143f">RegisterOptions</a> (GOptionEntry <span class="keyword">const</span> *entries, <span class="keywordtype">char</span> <span class="keyword">const</span> *translation_domain = GETTEXT_PACKAGE);</div> <div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div> <div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <span class="keywordtype">void</span> <a class="code" href="classgcu_1_1Application.html#a3e2b7ecc95e6989f8e434708d21f8b35">AddOptions</a> (GOptionContext *context);</div> <div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div> <div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  <span class="keyword">static</span> <a class="code" href="classgcu_1_1Application.html">Application</a> *<a class="code" href="classgcu_1_1Application.html#acca3ba629ab46a89e4c936df0f89655d">GetDefaultApplication</a> ();</div> <div class="line"><a name="l00245"></a><span class="lineno"> 245</span> </div> <div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  <span class="keyword">static</span> <a class="code" href="classgcu_1_1Application.html">Application</a> *<a class="code" href="classgcu_1_1Application.html#a9a7af3e602670630f2bed62b5984253e">GetApplication</a> (<span class="keywordtype">char</span> <span class="keyword">const</span> *name);</div> <div class="line"><a name="l00252"></a><span class="lineno"> 252</span> </div> <div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  <span class="keyword">static</span> <a class="code" href="classgcu_1_1Application.html">Application</a> *<a class="code" href="classgcu_1_1Application.html#a9a7af3e602670630f2bed62b5984253e">GetApplication</a> (std::string &name);</div> <div class="line"><a name="l00259"></a><span class="lineno"> 259</span> </div> <div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  <span class="comment">// Object creation related methods</span></div> <div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="comment"></span> <a class="code" href="namespacegcu.html#a4a6abffbefdd6abf047dca4e63b0bac5">TypeId</a> <a class="code" href="classgcu_1_1Application.html#a91568fc2517bf5a02e22e45dfefc89f6">AddType</a> (std::string TypeName, <a class="code" href="classgcu_1_1Object.html">Object</a>* (*CreateFunc) (), <a class="code" href="namespacegcu.html#a4a6abffbefdd6abf047dca4e63b0bac5">TypeId</a> <span class="keywordtype">id</span> = OtherType);</div> <div class="line"><a name="l00271"></a><span class="lineno"> 271</span> </div> <div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  <a class="code" href="classgcu_1_1Object.html">Object</a>* <a class="code" href="classgcu_1_1Application.html#a4cc3a4beb3af643e369a4021bc865593">CreateObject</a> (<span class="keyword">const</span> std::string& TypeName, <a class="code" href="classgcu_1_1Object.html">Object</a>* parent = NULL);</div> <div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  <span class="keywordtype">void</span> <a class="code" href="classgcu_1_1Application.html#a4f19d260b0d7414eff1f33bbfc4805e5">AddRule</a> (<a class="code" href="namespacegcu.html#a4a6abffbefdd6abf047dca4e63b0bac5">TypeId</a> type1, <a class="code" href="namespacegcu.html#a19c49d12e7c0a96ae2be6c6c33c44b47">RuleId</a> rule, <a class="code" href="namespacegcu.html#a4a6abffbefdd6abf047dca4e63b0bac5">TypeId</a> type2);</div> <div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  <span class="keywordtype">void</span> <a class="code" href="classgcu_1_1Application.html#a4f19d260b0d7414eff1f33bbfc4805e5">AddRule</a> (<span class="keyword">const</span> std::string& type1, <a class="code" href="namespacegcu.html#a19c49d12e7c0a96ae2be6c6c33c44b47">RuleId</a> rule, <span class="keyword">const</span> std::string& type2);</div> <div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <span class="keyword">const</span> std::set<TypeId>& <a class="code" href="classgcu_1_1Application.html#afe97221b52b1e729e776805a33e77b0e">GetRules</a> (<a class="code" href="namespacegcu.html#a4a6abffbefdd6abf047dca4e63b0bac5">TypeId</a> type, <a class="code" href="namespacegcu.html#a19c49d12e7c0a96ae2be6c6c33c44b47">RuleId</a> rule);</div> <div class="line"><a name="l00306"></a><span class="lineno"> 306</span> </div> <div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  <span class="keyword">const</span> std::set<TypeId>& <a class="code" href="classgcu_1_1Application.html#afe97221b52b1e729e776805a33e77b0e">GetRules</a> (<span class="keyword">const</span> std::string& type, <a class="code" href="namespacegcu.html#a19c49d12e7c0a96ae2be6c6c33c44b47">RuleId</a> rule);</div> <div class="line"><a name="l00314"></a><span class="lineno"> 314</span> </div> <div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  <span class="keywordtype">void</span> <a class="code" href="classgcu_1_1Application.html#a6cdb4f8fd6a36768da6b5c790a15afcf">SetCreationLabel</a> (<a class="code" href="namespacegcu.html#a4a6abffbefdd6abf047dca4e63b0bac5">TypeId</a> Id, std::string Label);</div> <div class="line"><a name="l00323"></a><span class="lineno"> 323</span> </div> <div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  <span class="keyword">const</span> std::string& <a class="code" href="classgcu_1_1Application.html#adac54fe6104d344a8215f2a66aec8f94">GetCreationLabel</a> (<a class="code" href="namespacegcu.html#a4a6abffbefdd6abf047dca4e63b0bac5">TypeId</a> Id);</div> <div class="line"><a name="l00330"></a><span class="lineno"> 330</span> </div> <div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  <span class="keywordtype">bool</span> <a class="code" href="classgcu_1_1Application.html#a77daef6686ed45783d38785551dee702">BuildObjectContextualMenu</a> (<a class="code" href="classgcu_1_1Object.html">Object</a> *target, <a class="code" href="classgcu_1_1UIManager.html" title="base class for a user interface manager">UIManager</a> *uim, <a class="code" href="classgcu_1_1Object.html">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="l00343"></a><span class="lineno"> 343</span> </div> <div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  <span class="keywordtype">void</span> <a class="code" href="classgcu_1_1Application.html#aa32d7fff8aac324622728bd5baaaaef6">AddMenuCallback</a> (<a class="code" href="namespacegcu.html#a4a6abffbefdd6abf047dca4e63b0bac5">TypeId</a> Id, <a class="code" href="namespacegcu.html#aea85ee1e0ab66342f28448b2e7a9174d">BuildMenuCb</a> cb);</div> <div class="line"><a name="l00351"></a><span class="lineno"> 351</span> </div> <div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  <span class="keyword">const</span> std::string& <a class="code" href="classgcu_1_1Application.html#adac54fe6104d344a8215f2a66aec8f94">GetCreationLabel</a> (<span class="keyword">const</span> std::string& TypeName);</div> <div class="line"><a name="l00358"></a><span class="lineno"> 358</span> </div> <div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  TypeDesc <span class="keyword">const</span> *GetTypeDescription (<a class="code" href="namespacegcu.html#a4a6abffbefdd6abf047dca4e63b0bac5">TypeId</a> Id);</div> <div class="line"><a name="l00360"></a><span class="lineno"> 360</span> </div> <div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  <a class="code" href="classgcu_1_1CmdContext.html" title="error output channel.">CmdContext</a> *<a class="code" href="classgcu_1_1Application.html#a1917c69cc2328bcaac7e8408dc67fd09">GetCmdContext</a> ();</div> <div class="line"><a name="l00365"></a><span class="lineno"> 365</span> </div> <div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  <span class="keywordtype">char</span>* <a class="code" href="classgcu_1_1Application.html#a171fbd22b6e26ebca12e34c61d3efe12">ConvertToCML</a> (std::string <span class="keyword">const</span> &uri, <span class="keyword">const</span> <span class="keywordtype">char</span> *mime_type, <span class="keyword">const</span> <span class="keywordtype">char</span> *options = NULL);</div> <div class="line"><a name="l00375"></a><span class="lineno"> 375</span> </div> <div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  <span class="keywordtype">char</span>* <a class="code" href="classgcu_1_1Application.html#a171fbd22b6e26ebca12e34c61d3efe12">ConvertToCML</a> (GsfInput *input, <span class="keyword">const</span> <span class="keywordtype">char</span> *mime_type, <span class="keyword">const</span> <span class="keywordtype">char</span> *options = NULL);</div> <div class="line"><a name="l00385"></a><span class="lineno"> 385</span> </div> <div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  <span class="keywordtype">void</span> <a class="code" href="classgcu_1_1Application.html#ace147caa238e551718517e8f4a778555">ConvertFromCML</a> (<span class="keyword">const</span> <span class="keywordtype">char</span> *cml, std::string <span class="keyword">const</span> &uri, <span class="keyword">const</span> <span class="keywordtype">char</span> *mime_type, <span class="keyword">const</span> <span class="keywordtype">char</span> *options = NULL);</div> <div class="line"><a name="l00395"></a><span class="lineno"> 395</span> </div> <div class="line"><a name="l00404"></a><span class="lineno"> 404</span>  <span class="keywordtype">void</span> <a class="code" href="classgcu_1_1Application.html#ace147caa238e551718517e8f4a778555">ConvertFromCML</a> (<span class="keyword">const</span> <span class="keywordtype">char</span> *cml, GsfOutput *output, <span class="keyword">const</span> <span class="keywordtype">char</span> *mime_type, <span class="keyword">const</span> <span class="keywordtype">char</span> *options = NULL);</div> <div class="line"><a name="l00405"></a><span class="lineno"> 405</span> </div> <div class="line"><a name="l00410"></a><span class="lineno"><a class="code" href="classgcu_1_1Application.html#ab00f052e9aabf7a7c55153bc90035a60"> 410</a></span>  std::list < Database > <span class="keyword">const</span> &<a class="code" href="classgcu_1_1Application.html#ab00f052e9aabf7a7c55153bc90035a60">GetDatabases</a> (<span class="keywordtype">char</span> <span class="keyword">const</span> *classname) {<span class="keywordflow">return</span> m_Databases[classname];}</div> <div class="line"><a name="l00411"></a><span class="lineno"> 411</span> </div> <div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <span class="keyword">protected</span>:</div> <div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  <span class="keywordtype">void</span> <a class="code" href="classgcu_1_1Application.html#adfe318025ea67cc8df6f14c47d5e518b">RegisterBabelType</a> (<span class="keyword">const</span> <span class="keywordtype">char</span> *mime_type, <span class="keyword">const</span> <span class="keywordtype">char</span> *type);</div> <div class="line"><a name="l00421"></a><span class="lineno"> 421</span> </div> <div class="line"><a name="l00426"></a><span class="lineno"><a class="code" href="classgcu_1_1Application.html#a7c6c67382076a03aebc47817d388c78c"> 426</a></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classgcu_1_1Application.html#a7c6c67382076a03aebc47817d388c78c">CreateDefaultCmdContext</a> () {}</div> <div class="line"><a name="l00427"></a><span class="lineno"> 427</span> </div> <div class="line"><a name="l00432"></a><span class="lineno"><a class="code" href="classgcu_1_1Application.html#a59ab13a0e9acd7942cffb3a3c6f6cadc"> 432</a></span>  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classgcu_1_1Application.html#a59ab13a0e9acd7942cffb3a3c6f6cadc">LoopRunning</a> () {<span class="keywordflow">return</span> <span class="keyword">false</span>;}</div> <div class="line"><a name="l00433"></a><span class="lineno"> 433</span> </div> <div class="line"><a name="l00439"></a><span class="lineno"><a class="code" href="classgcu_1_1Application.html#acdab90d019b9919895cef1906a8ebd04"> 439</a></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classgcu_1_1Application.html#acdab90d019b9919895cef1906a8ebd04">NoMoreDocsEvent</a> () {}</div> <div class="line"><a name="l00443"></a><span class="lineno"><a class="code" href="classgcu_1_1Application.html#a01d7fc252bf235a517dc6d7ae5afdce7"> 443</a></span>  std::map<std::string, GdkPixbufFormat*> <a class="code" href="classgcu_1_1Application.html#a01d7fc252bf235a517dc6d7ae5afdce7">m_SupportedPixbufFormats</a>;</div> <div class="line"><a name="l00444"></a><span class="lineno"> 444</span> </div> <div class="line"><a name="l00448"></a><span class="lineno"><a class="code" href="classgcu_1_1Application.html#ab6939eb5bd335e6ea102090874ecf6f9"> 448</a></span>  <a class="code" href="classgcu_1_1CmdContext.html" title="error output channel.">CmdContext</a> *<a class="code" href="classgcu_1_1Application.html#ab6939eb5bd335e6ea102090874ecf6f9">m_CmdContext</a>;</div> <div class="line"><a name="l00449"></a><span class="lineno"> 449</span> </div> <div class="line"><a name="l00450"></a><span class="lineno"> 450</span> <span class="keyword">private</span>:</div> <div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  <span class="keywordtype">void</span> AddDocument (<a class="code" href="classgcu_1_1Document.html">Document</a> *Doc) {<a class="code" href="classgcu_1_1Application.html#a717758f12d971b3ca6fbc4d84c92727a">m_Docs</a>.insert (Doc);}</div> <div class="line"><a name="l00452"></a><span class="lineno"> 452</span>  <span class="keywordtype">void</span> RemoveDocument (<a class="code" href="classgcu_1_1Document.html">Document</a> *Doc);</div> <div class="line"><a name="l00453"></a><span class="lineno"> 453</span>  <span class="keywordtype">int</span> OpenBabelSocket ();</div> <div class="line"><a name="l00454"></a><span class="lineno"> 454</span>  <span class="keywordtype">char</span> <span class="keyword">const</span> *MimeToBabelType (<span class="keywordtype">char</span> <span class="keyword">const</span> *mime_type);</div> <div class="line"><a name="l00455"></a><span class="lineno"> 455</span> </div> <div class="line"><a name="l00456"></a><span class="lineno"> 456</span> <span class="keyword">private</span>:</div> <div class="line"><a name="l00457"></a><span class="lineno"> 457</span>  std::string Name;</div> <div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  std::string HelpName;</div> <div class="line"><a name="l00459"></a><span class="lineno"> 459</span>  std::string HelpBrowser;</div> <div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  std::string HelpFilename;</div> <div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  std::string CurDir;</div> <div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  std::string IconName;</div> <div class="line"><a name="l00463"></a><span class="lineno"> 463</span>  <span class="keyword">static</span> GOConfNode *m_ConfDir;</div> <div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  std::list <option_data> m_Options;</div> <div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  std::map <TypeId, TypeDesc> m_Types;</div> <div class="line"><a name="l00466"></a><span class="lineno"> 466</span>  std::map <std::string, std::string> m_BabelTypes;</div> <div class="line"><a name="l00467"></a><span class="lineno"> 467</span>  std::map < std::string, std::list <Database> >m_Databases;</div> <div class="line"><a name="l00468"></a><span class="lineno"> 468</span> </div> <div class="line"><a name="l00475"></a><span class="lineno"><a class="code" href="classgcu_1_1Application.html#a717758f12d971b3ca6fbc4d84c92727a"> 475</a></span> <a class="code" href="macros_8h.html#ac63298328b07e40af4fe4a5e8d1b8b7c">GCU_PROT_PROP</a> (std::set <Document*>, Docs)</div> <div class="line"><a name="l00479"></a><span class="lineno"><a class="code" href="classgcu_1_1Application.html#a67599fd5161b7ed78e4d14cf4d232d51"> 479</a></span> <a class="code" href="macros_8h.html#ac63298328b07e40af4fe4a5e8d1b8b7c">GCU_PROT_PROP</a> (<span class="keywordtype">unsigned</span>, ScreenResolution)</div> <div class="line"><a name="l00493"></a><span class="lineno"><a class="code" href="classgcu_1_1Application.html#ab3f4b702038b8bfc20b7f066caea7248"> 493</a></span> <a class="code" href="macros_8h.html#a2e6e8322502a538f4583d41206cea297">GCU_PROP</a> (<span class="keywordtype">unsigned</span>, ImageResolution)</div> <div class="line"><a name="l00507"></a><span class="lineno"><a class="code" href="classgcu_1_1Application.html#ad7904eea8f6f35f1c6d82d520994489d"> 507</a></span> <a class="code" href="macros_8h.html#a2e6e8322502a538f4583d41206cea297">GCU_PROP</a> (<span class="keywordtype">unsigned</span>, ImageWidth)</div> <div class="line"><a name="l00521"></a><span class="lineno"><a class="code" href="classgcu_1_1Application.html#ade281be77ea51423ef3456af1f3835a0"> 521</a></span> <a class="code" href="macros_8h.html#a2e6e8322502a538f4583d41206cea297">GCU_PROP</a> (<span class="keywordtype">unsigned</span>, ImageHeight)</div> <div class="line"><a name="l00533"></a><span class="lineno"><a class="code" href="classgcu_1_1Application.html#a7ad287d45993f84ade510eb4a9bf0667"> 533</a></span> <a class="code" href="macros_8h.html#a2e6e8322502a538f4583d41206cea297">GCU_PROP</a> (<span class="keywordtype">bool</span>, TransparentBackground)</div> <div class="line"><a name="l00534"></a><span class="lineno"> 534</span> };</div> <div class="line"><a name="l00535"></a><span class="lineno"> 535</span> </div> <div class="line"><a name="l00536"></a><span class="lineno"> 536</span> } <span class="comment">// namespace gcu</span></div> <div class="line"><a name="l00537"></a><span class="lineno"> 537</span> </div> <div class="line"><a name="l00538"></a><span class="lineno"> 538</span> <span class="preprocessor">#endif // GCU_APPLICATION_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>