<!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>edelib: ThemeLoader Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">edelib  <span id="projectnumber">2.0.0</span> </div> </td> </tr> </tbody> </table> </div> <!-- Generated by Doxygen 1.7.6.1 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="namespaceedelib.html">edelib</a> </li> <li class="navelem"><a class="el" href="classedelib_1_1ThemeLoader.html">ThemeLoader</a> </li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#pub-methods">Public Member Functions</a> </div> <div class="headertitle"> <div class="title">ThemeLoader Class Reference<div class="ingroups"><a class="el" href="group__widgets.html">FLTK widgets and functions</a></div></div> </div> </div><!--header--> <div class="contents"> <!-- doxytag: class="edelib::ThemeLoader" --> <p>Themes loader. <a href="classedelib_1_1ThemeLoader.html#details">More...</a></p> <p><code>#include <<a class="el" href="ThemeLoader_8h_source.html">edelib/ThemeLoader.h</a>></code></p> <p><a href="classedelib_1_1ThemeLoader-members.html">List of all members.</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1ThemeLoader.html#a052a7e5841e28cf97445ed658ed8a3c0">ThemeLoader</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1ThemeLoader.html#a9c36ebe2f8e831620040b98166750933">~ThemeLoader</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1ThemeLoader.html#a8798ab51483228f545aa51067f407248">load</a> (const char *name="default", const char *prefix="ede")</td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1ThemeLoader.html#a2951086c197477ae4434608db464ab89">load_with_path</a> (const char *path)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1ThemeLoader.html#a8fe756c9335291007325f1dbee73f7b6">load_xsettings</a> (void)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classedelib_1_1Theme.html">Theme</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1ThemeLoader.html#a3ff84d1630816e82ef60474a34bf5bad">theme</a> (void)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classedelib_1_1XSettingsClient.html">XSettingsClient</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1ThemeLoader.html#aacf5a0ca08325029ead93e8bb9818464">xsettings</a> (void)</td></tr> </table> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <div class="textblock"><p>Themes loader. </p> <p><a class="el" href="classedelib_1_1ThemeLoader.html" title="Themes loader.">ThemeLoader</a> is a class for loading themes and applying theme content on currently available FLTK tree. It will search for themes in <em>$XDG_DATA_DIRS/prefix/theme-name</em> and try to load <em>main.ewt</em> as the entry point and interpret it via <a class="el" href="classedelib_1_1Theme.html" title="Theming engine for widgets.">Theme</a> engine class.</p> <p>For more details see <a class="el" href="themedoc.html">Themes and theming details</a>.</p> <p>Also, <a class="el" href="classedelib_1_1ThemeLoader.html" title="Themes loader.">ThemeLoader</a> will load client for XSETTINGS protocol (via <a class="el" href="classedelib_1_1XSettingsClient.html" title="Client part of XSETTINGS protocol.">XSettingsClient</a>), giving the single place for accessing common visual elements either using theme files or XSETTINGS protocol. </p> </div><hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="a052a7e5841e28cf97445ed658ed8a3c0"></a><!-- doxytag: member="edelib::ThemeLoader::ThemeLoader" ref="a052a7e5841e28cf97445ed658ed8a3c0" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classedelib_1_1ThemeLoader.html">ThemeLoader</a> </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Constructor. </p> </div> </div> <a class="anchor" id="a9c36ebe2f8e831620040b98166750933"></a><!-- doxytag: member="edelib::ThemeLoader::~ThemeLoader" ref="a9c36ebe2f8e831620040b98166750933" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">~<a class="el" href="classedelib_1_1ThemeLoader.html">ThemeLoader</a> </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Destructor. Cleans initialized data. </p> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="a8798ab51483228f545aa51067f407248"></a><!-- doxytag: member="edelib::ThemeLoader::load" ref="a8798ab51483228f545aa51067f407248" args="(const char *name="default", const char *prefix="ede")" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool <a class="el" href="classedelib_1_1ThemeLoader.html#a8798ab51483228f545aa51067f407248">load</a> </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>name</em> = <code>"default"</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>prefix</em> = <code>"ede"</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Loads theme using XDG_DATA_DIRS location. The final location is constructed adding prefix and default theme name, which by default looks as <em>$XDG_DATA_DIRS/ede/default</em>.</p> <p>As theme name is at the same time also a directory with theming files, loader will try first to look for <em>main.ewt</em> file in this directory. If it is unable to find it nor to interpret it correctly, it will return false. </p> </div> </div> <a class="anchor" id="a2951086c197477ae4434608db464ab89"></a><!-- doxytag: member="edelib::ThemeLoader::load_with_path" ref="a2951086c197477ae4434608db464ab89" args="(const char *path)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool <a class="el" href="classedelib_1_1ThemeLoader.html#a2951086c197477ae4434608db464ab89">load_with_path</a> </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>path</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Load theme using given path. </p> </div> </div> <a class="anchor" id="a8fe756c9335291007325f1dbee73f7b6"></a><!-- doxytag: member="edelib::ThemeLoader::load_xsettings" ref="a8fe756c9335291007325f1dbee73f7b6" args="(void)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool <a class="el" href="classedelib_1_1ThemeLoader.html#a8fe756c9335291007325f1dbee73f7b6">load_xsettings</a> </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Loads XSETTINGS client code. It is assumed how display was opened (by using <em>fl_open_display()</em>) before or it will return false. Also, it will return false if XSETTINGS client code fails to load. </p> </div> </div> <a class="anchor" id="a3ff84d1630816e82ef60474a34bf5bad"></a><!-- doxytag: member="edelib::ThemeLoader::theme" ref="a3ff84d1630816e82ef60474a34bf5bad" args="(void)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classedelib_1_1Theme.html">Theme</a>* <a class="el" href="classedelib_1_1ThemeLoader.html#a3ff84d1630816e82ef60474a34bf5bad">theme</a> </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Returns currently loaded theme. If theme wasn't loaded successfully, it will return NULL. </p> </div> </div> <a class="anchor" id="aacf5a0ca08325029ead93e8bb9818464"></a><!-- doxytag: member="edelib::ThemeLoader::xsettings" ref="aacf5a0ca08325029ead93e8bb9818464" args="(void)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classedelib_1_1XSettingsClient.html">XSettingsClient</a>* <a class="el" href="classedelib_1_1ThemeLoader.html#aacf5a0ca08325029ead93e8bb9818464">xsettings</a> </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Returns <a class="el" href="classedelib_1_1XSettingsClient.html" title="Client part of XSETTINGS protocol.">XSettingsClient</a> object. If wasn't loaded successfully with <a class="el" href="classedelib_1_1ThemeLoader.html#a8fe756c9335291007325f1dbee73f7b6">load_xsettings()</a>, it will return NULL. </p> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li>edelib/<a class="el" href="ThemeLoader_8h_source.html">ThemeLoader.h</a></li> </ul> </div><!-- contents --> <hr class="footer"/><address class="footer"><small> Generated on Tue Jun 5 2012 17:49:03 for edelib by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.7.6.1 </small></address> </body> </html>