<html> <head> <title>Edje: external_elm_button.edc</title> <meta http-equiv="content-type" content="text/html;charset=UTF-8"> <meta name="author" content="Andres Blanc" > <link rel="icon" href="img/favicon.png" type="image/x-icon"> <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon"> <link rel="icon" href="img/favicon.png" type="image/ico"> <link rel="shortcut icon" href="img/favicon.png" type="image/ico"> <link rel="stylesheet" type="text/css" href="e.css"> <link rel="stylesheet" type="text/css" href="edoxy.css"> </head> <body> <div id="container"> <div id="header"> <div class="layout"> <h1><span>Enlightenment</span></h1> <h2><span>Beauty at your fingertips</span></h2> <table cellspacing="0" cellpadding="0" width="100%"><tr> <td id="header_logo"> <a href="http://www.enlightenment.org"></a> </td> <td id="header_menu"> <table cellspacing="0" cellpadding="0" align="right"><tr> <td class="nav_passive"><a class="nav_passive" href="http://www.enlightenment.org/p.php?p=home">Home</a></td> <td class="nav_passive"><a class="nav_passive" href="http://www.enlightenment.org/p.php?p=news">News</a></td> <td class="nav_passive"><a class="nav_passive" href="http://www.enlightenment.org/p.php?p=about">About</a></td> <td class="nav_passive"><a class="nav_passive" href="http://www.enlightenment.org/p.php?p=download">Download</a></td> <td class="nav_passive"><a class="nav_passive" href="http://www.enlightenment.org/p.php?p=support">Support</a></td> <td class="nav_passive"><a class="nav_passive" href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></td> <td class="nav_passive"><a class="nav_passive" href="http://www.enlightenment.org/p.php?p=contact">Contact</a></td> <td class="nav_passive"><a class="nav_passive" href="http://trac.enlightenment.org/e">Tracker</a></td> <td class="nav_passive"><a class="nav_passive" href="http://www.enlightenment.org/p.php?p=docs">Docs</a></td> </tr></table> </td> <td id="header_last"></td> </tr></table> <div class="doxytitle"> Edje Documentation <small>at Tue Feb 8 2011</small> </div> <div class="menu-container"> <div class="submenu"> <ul class="current"> <li><a href="files.html">Files</a></li> <li><a href="Edje__Edit_8h.html">Edje Edit API</a></li> <li><a href="examples.html">Examples</a></li> <li><a href="luaref.html">LUA scripting</a></li> <li><a href="Edje_8h.html">Edje API</a></li> <li><a href="edcref.html">EDC Reference</a></li> <li class="current"><a href="index.html">Main Page</a></li> </ul> </div> </div> <div class="clear"></div> </div> </div> <div id="content"> <div class="layout"> <!-- Generated by Doxygen 1.7.3 --> </div> <div class="header"> <div class="headertitle"> <h1>external_elm_button.edc</h1> </div> </div> <div class="contents"> <p>This example create some elementary buttons and do some actions on user click.</p> <div class="fragment"><pre class="fragment">collections { <span class="comment">/* those 2 groups are used as custom icons for the buttons */</span> group { <a name="a0"></a><a class="code" href="edje__data_8c.html#a8f8f80d37794cde9472343e4487ba3eb">name</a>: <span class="stringliteral">"icon_green"</span>; parts { part { <a class="code" href="edje__data_8c.html#a8f8f80d37794cde9472343e4487ba3eb">name</a>: <span class="stringliteral">"icon_green"</span>; <a name="a1"></a><a class="code" href="edje__data_8c.html#a0dae2edc8bfd2bedabfa38415c35f3ec">type</a>: RECT; description { state: <span class="stringliteral">"default"</span> 0.0; color: 0 255 0 255; aspect: 1 1; aspect_preference: VERTICAL; } } } } group { <a class="code" href="edje__data_8c.html#a8f8f80d37794cde9472343e4487ba3eb">name</a>: <span class="stringliteral">"icon_red"</span>; parts { part { <a class="code" href="edje__data_8c.html#a8f8f80d37794cde9472343e4487ba3eb">name</a>: <span class="stringliteral">"icon_red"</span>; <a class="code" href="edje__data_8c.html#a0dae2edc8bfd2bedabfa38415c35f3ec">type</a>: RECT; description { state: <span class="stringliteral">"default"</span> 0.0; color: 255 0 0 255; aspect: 1 1; aspect_preference: VERTICAL; } } } } group { <a class="code" href="edje__data_8c.html#a8f8f80d37794cde9472343e4487ba3eb">name</a>: <span class="stringliteral">"main"</span>; <span class="comment">/* set a min window size */</span> min: 250 250; <span class="comment">/* tell edje that we are going to use elementary external parts */</span> externals { external: <span class="stringliteral">"elm"</span>; } <span class="comment">/* define global variables */</span> script { <span class="keyword">public</span> counter, toggle1, toggle2, toggle3, toggle4; } parts { part { <a class="code" href="edje__data_8c.html#a8f8f80d37794cde9472343e4487ba3eb">name</a>: <span class="stringliteral">"bg"</span>; <a class="code" href="edje__data_8c.html#a0dae2edc8bfd2bedabfa38415c35f3ec">type</a>: RECT; description { state: <span class="stringliteral">"default"</span> 0.0; color: 255 255 255 255; } } part { <a class="code" href="edje__data_8c.html#a8f8f80d37794cde9472343e4487ba3eb">name</a>: <span class="stringliteral">"title"</span>; <a class="code" href="edje__data_8c.html#a0dae2edc8bfd2bedabfa38415c35f3ec">type</a>: TEXT; effect: SOFT_SHADOW; description { state: <span class="stringliteral">"default"</span> 0.0; color: 255 255 255 255; color3: 70 70 70 70; text { text: <span class="stringliteral">"Elementary buttons"</span>; font: <span class="stringliteral">"Sans"</span>; size: 16; align: 0.5 0.0; } } } <span class="comment">/* bottom label used for reporting */</span> part { <a class="code" href="edje__data_8c.html#a8f8f80d37794cde9472343e4487ba3eb">name</a>: <span class="stringliteral">"label"</span>; <a class="code" href="edje__data_8c.html#a0dae2edc8bfd2bedabfa38415c35f3ec">type</a>: TEXT; description { state: <span class="stringliteral">"default"</span> 0.0; color: 0 0 0 255; text { text: <span class="stringliteral">"try every buttons"</span>; font: <span class="stringliteral">"Sans"</span>; size: 12; align: 0.5 1.0; } } } <span class="comment">/* EXTERNAL elementary button with a label */</span> part { <a class="code" href="edje__data_8c.html#a8f8f80d37794cde9472343e4487ba3eb">name</a>: <span class="stringliteral">"bt1"</span>; <a class="code" href="edje__data_8c.html#a0dae2edc8bfd2bedabfa38415c35f3ec">type</a>: EXTERNAL; source: <span class="stringliteral">"elm/button"</span>; description { state: <span class="stringliteral">"default"</span> 0; rel1 { offset: 5 35; } rel2 { relative: 1.0 0.0; offset: -6 60; } params { <span class="keywordtype">string</span>: <span class="stringliteral">"label"</span> <span class="stringliteral">"Label only"</span>; } } } <span class="comment">/* EXTERNAL elementary button with label + standard icon */</span> part { <a class="code" href="edje__data_8c.html#a8f8f80d37794cde9472343e4487ba3eb">name</a>: <span class="stringliteral">"bt2"</span>; <a class="code" href="edje__data_8c.html#a0dae2edc8bfd2bedabfa38415c35f3ec">type</a>: EXTERNAL; source: <span class="stringliteral">"elm/button"</span>; description { state: <span class="stringliteral">"default"</span> 0; rel1 { to: <span class="stringliteral">"bt1"</span>; relative: 0.0 1.0; offset: 0 5; } rel2 { to: <span class="stringliteral">"bt1"</span>; relative: 1.0 2.0; offset: -1 5; } params { <span class="keywordtype">string</span>: <span class="stringliteral">"label"</span> <span class="stringliteral">"Label + standard icon"</span>; <span class="keywordtype">string</span>: <span class="stringliteral">"icon"</span> <span class="stringliteral">"home"</span>; } } } <span class="comment">/* EXTERNAL elementary button with a label and a custom icon */</span> part { <a class="code" href="edje__data_8c.html#a8f8f80d37794cde9472343e4487ba3eb">name</a>: <span class="stringliteral">"bt3"</span>; <a class="code" href="edje__data_8c.html#a0dae2edc8bfd2bedabfa38415c35f3ec">type</a>: EXTERNAL; source: <span class="stringliteral">"elm/button"</span>; description { state: <span class="stringliteral">"default"</span> 0; rel1 { to: <span class="stringliteral">"bt2"</span>; relative: 0.0 1.0; offset: 0 5; } rel2 { to: <span class="stringliteral">"bt2"</span>; relative: 1.0 2.0; offset: -1 5; } params { <span class="keywordtype">string</span>: <span class="stringliteral">"label"</span> <span class="stringliteral">"Label + custom icon"</span>; <span class="keywordtype">string</span>: <span class="stringliteral">"icon"</span> <span class="stringliteral">"icon_green"</span>; } } } <span class="comment">/* EXTERNAL elementary button with just a standard icon */</span> part { <a class="code" href="edje__data_8c.html#a8f8f80d37794cde9472343e4487ba3eb">name</a>: <span class="stringliteral">"bt4"</span>; <a class="code" href="edje__data_8c.html#a0dae2edc8bfd2bedabfa38415c35f3ec">type</a>: EXTERNAL; source: <span class="stringliteral">"elm/button"</span>; description { state: <span class="stringliteral">"default"</span> 0; rel1 { to: <span class="stringliteral">"bt3"</span>; relative: 0.0 1.0; offset: 0 5; } rel2 { to: <span class="stringliteral">"bt3"</span>; relative: 0.5 2.0; offset: -6 5; } params { <span class="keywordtype">string</span>: <span class="stringliteral">"icon"</span> <span class="stringliteral">"folder"</span>; } } } <span class="comment">/* EXTERNAL elementary button with just a custom icon */</span> part { <a class="code" href="edje__data_8c.html#a8f8f80d37794cde9472343e4487ba3eb">name</a>: <span class="stringliteral">"bt5"</span>; <a class="code" href="edje__data_8c.html#a0dae2edc8bfd2bedabfa38415c35f3ec">type</a>: EXTERNAL; source: <span class="stringliteral">"elm/button"</span>; description { state: <span class="stringliteral">"default"</span> 0; rel1 { to: <span class="stringliteral">"bt3"</span>; relative: 0.5 1.0; offset: 5 5; } rel2 { to: <span class="stringliteral">"bt3"</span>; relative: 1.0 2.0; offset: 0 5; } params { <span class="keywordtype">string</span>: <span class="stringliteral">"icon"</span> <span class="stringliteral">"icon_green"</span>; } } } } programs { <span class="comment">/* bt1 clicked, change it's label and count the clicks */</span> program { <a class="code" href="edje__data_8c.html#a8f8f80d37794cde9472343e4487ba3eb">name</a>: <span class="stringliteral">"bt1_click"</span>; signal: <span class="stringliteral">"clicked"</span>; source: <span class="stringliteral">"bt1"</span>; script { <span class="keyword">new</span> buf[32]; <span class="comment">/* increment the global counter*/</span> set_int(counter, get_int(counter) + 1); <span class="comment">/* set the button label */</span> snprintf(buf, <span class="keyword">sizeof</span>(buf), <span class="stringliteral">"Clicked %d times"</span>, get_int(counter)); external_param_set_str(PART:<span class="stringliteral">"bt1"</span>, <span class="stringliteral">"label"</span>, buf); <span class="comment">/* set the bottom label */</span> set_text(PART:<span class="stringliteral">"label"</span>, <span class="stringliteral">"button 1 clicked: set label"</span>); } } <span class="comment">/* bt2 clicked, toggle it's standard icon */</span> program { <a class="code" href="edje__data_8c.html#a8f8f80d37794cde9472343e4487ba3eb">name</a>: <span class="stringliteral">"bt2_click"</span>; signal: <span class="stringliteral">"clicked"</span>; source: <span class="stringliteral">"bt2"</span>; script { <span class="keywordflow">if</span> (get_int(toggle1) == 0) { external_param_set_str(PART:<span class="stringliteral">"bt2"</span>, <span class="stringliteral">"icon"</span>, <span class="stringliteral">"home"</span>); set_int(toggle1, 1); } <span class="keywordflow">else</span> { external_param_set_str(PART:<span class="stringliteral">"bt2"</span>, <span class="stringliteral">"icon"</span>, <span class="stringliteral">"folder"</span>); set_int(toggle1, 0); } set_text(PART:<span class="stringliteral">"label"</span>, <span class="stringliteral">"button 2 clicked: toggle icon"</span>); } } <span class="comment">/* bt3 clicked, toggle it's custom icon */</span> program { <a class="code" href="edje__data_8c.html#a8f8f80d37794cde9472343e4487ba3eb">name</a>: <span class="stringliteral">"bt3_click"</span>; signal: <span class="stringliteral">"clicked"</span>; source: <span class="stringliteral">"bt3"</span>; script { <span class="keywordflow">if</span> (get_int(toggle2) == 0) { external_param_set_str(PART:<span class="stringliteral">"bt3"</span>, <span class="stringliteral">"icon"</span>, <span class="stringliteral">"icon_red"</span>); set_int(toggle2, 1); } <span class="keywordflow">else</span> { external_param_set_str(PART:<span class="stringliteral">"bt3"</span>, <span class="stringliteral">"icon"</span>, <span class="stringliteral">"icon_green"</span>); set_int(toggle2, 0); } set_text(PART:<span class="stringliteral">"label"</span>, <span class="stringliteral">"button 3 clicked: toggle icon"</span>); } } <span class="comment">/* bt4 clicked, toggle it's icon */</span> program { <a class="code" href="edje__data_8c.html#a8f8f80d37794cde9472343e4487ba3eb">name</a>: <span class="stringliteral">"bt4_click"</span>; signal: <span class="stringliteral">"clicked"</span>; source: <span class="stringliteral">"bt4"</span>; script { <span class="keywordflow">if</span> (get_int(toggle3) == 0) { external_param_set_str(PART:<span class="stringliteral">"bt4"</span>, <span class="stringliteral">"icon"</span>, <span class="stringliteral">"home"</span>); set_int(toggle3, 1); } <span class="keywordflow">else</span> { external_param_set_str(PART:<span class="stringliteral">"bt4"</span>, <span class="stringliteral">"icon"</span>, <span class="stringliteral">"folder"</span>); set_int(toggle3, 0); } set_text(PART:<span class="stringliteral">"label"</span>, <span class="stringliteral">"button 4 clicked: toggle icon"</span>); } } <span class="comment">/* bt5 clicked, toggle it's icon */</span> program { <a class="code" href="edje__data_8c.html#a8f8f80d37794cde9472343e4487ba3eb">name</a>: <span class="stringliteral">"bt5_click"</span>; signal: <span class="stringliteral">"clicked"</span>; source: <span class="stringliteral">"bt5"</span>; script { <span class="keywordflow">if</span> (get_int(toggle4) == 0) { external_param_set_str(PART:<span class="stringliteral">"bt5"</span>, <span class="stringliteral">"icon"</span>, <span class="stringliteral">"icon_red"</span>); set_int(toggle4, 1); } <span class="keywordflow">else</span> { external_param_set_str(PART:<span class="stringliteral">"bt5"</span>, <span class="stringliteral">"icon"</span>, <span class="stringliteral">"icon_green"</span>); set_int(toggle4, 0); } set_text(PART:<span class="stringliteral">"label"</span>, <span class="stringliteral">"button 5 clicked: toggle icon"</span>); } } } } } </pre></div> </div> </div> <div id="push"></div> </div> <!-- #content --> </div> <!-- .layout --> </div> <!-- #container --> <div id="footer"> <table><tr> <td class="copyright">Copyright ©2011 Enlightenment</td> <td class="generated">Docs generated Tue Feb 8 2011 17:28:42</td> </tr></table> </div> </body> </html>