Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 0e77bba279395d1c9e1f98c452d3b010 > files > 64

edje-devel-1.0.0-2.fc15.i686.rpm

<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">&quot;icon_green&quot;</span>;
      parts {
         part { <a class="code" href="edje__data_8c.html#a8f8f80d37794cde9472343e4487ba3eb">name</a>: <span class="stringliteral">&quot;icon_green&quot;</span>;
            <a name="a1"></a><a class="code" href="edje__data_8c.html#a0dae2edc8bfd2bedabfa38415c35f3ec">type</a>: RECT;
            description { state: <span class="stringliteral">&quot;default&quot;</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">&quot;icon_red&quot;</span>;
      parts {
         part { <a class="code" href="edje__data_8c.html#a8f8f80d37794cde9472343e4487ba3eb">name</a>: <span class="stringliteral">&quot;icon_red&quot;</span>;
            <a class="code" href="edje__data_8c.html#a0dae2edc8bfd2bedabfa38415c35f3ec">type</a>: RECT;
            description { state: <span class="stringliteral">&quot;default&quot;</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">&quot;main&quot;</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">&quot;elm&quot;</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">&quot;bg&quot;</span>;
            <a class="code" href="edje__data_8c.html#a0dae2edc8bfd2bedabfa38415c35f3ec">type</a>: RECT;
            description { state: <span class="stringliteral">&quot;default&quot;</span> 0.0;
               color: 255 255 255 255;
            }
         }

         part { <a class="code" href="edje__data_8c.html#a8f8f80d37794cde9472343e4487ba3eb">name</a>: <span class="stringliteral">&quot;title&quot;</span>;
            <a class="code" href="edje__data_8c.html#a0dae2edc8bfd2bedabfa38415c35f3ec">type</a>: TEXT;
            effect: SOFT_SHADOW;
            description { state: <span class="stringliteral">&quot;default&quot;</span> 0.0;
               color: 255 255 255 255;
               color3: 70 70 70 70;
               text {
                  text: <span class="stringliteral">&quot;Elementary buttons&quot;</span>;
                  font: <span class="stringliteral">&quot;Sans&quot;</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">&quot;label&quot;</span>;
            <a class="code" href="edje__data_8c.html#a0dae2edc8bfd2bedabfa38415c35f3ec">type</a>: TEXT;
            description { state: <span class="stringliteral">&quot;default&quot;</span> 0.0;
               color: 0 0 0 255;
               text {
                  text: <span class="stringliteral">&quot;try every buttons&quot;</span>;
                  font: <span class="stringliteral">&quot;Sans&quot;</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">&quot;bt1&quot;</span>;
            <a class="code" href="edje__data_8c.html#a0dae2edc8bfd2bedabfa38415c35f3ec">type</a>: EXTERNAL;
            source: <span class="stringliteral">&quot;elm/button&quot;</span>;
            description { state: <span class="stringliteral">&quot;default&quot;</span> 0;
               rel1 {
                  offset: 5 35;
               }
               rel2 {
                  relative: 1.0 0.0;
                  offset: -6 60;
               }
               params {
                  <span class="keywordtype">string</span>: <span class="stringliteral">&quot;label&quot;</span> <span class="stringliteral">&quot;Label only&quot;</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">&quot;bt2&quot;</span>;
            <a class="code" href="edje__data_8c.html#a0dae2edc8bfd2bedabfa38415c35f3ec">type</a>: EXTERNAL;
            source: <span class="stringliteral">&quot;elm/button&quot;</span>;
            description { state: <span class="stringliteral">&quot;default&quot;</span> 0;
               rel1 {
                  to: <span class="stringliteral">&quot;bt1&quot;</span>;
                  relative: 0.0 1.0;
                  offset: 0 5;
               }
               rel2 {
                  to: <span class="stringliteral">&quot;bt1&quot;</span>;
                  relative: 1.0 2.0;
                  offset: -1 5;
               }
               params {
                  <span class="keywordtype">string</span>: <span class="stringliteral">&quot;label&quot;</span> <span class="stringliteral">&quot;Label + standard icon&quot;</span>;
                  <span class="keywordtype">string</span>: <span class="stringliteral">&quot;icon&quot;</span> <span class="stringliteral">&quot;home&quot;</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">&quot;bt3&quot;</span>;
            <a class="code" href="edje__data_8c.html#a0dae2edc8bfd2bedabfa38415c35f3ec">type</a>: EXTERNAL;
            source: <span class="stringliteral">&quot;elm/button&quot;</span>;
            description { state: <span class="stringliteral">&quot;default&quot;</span> 0;
               rel1 {
                  to: <span class="stringliteral">&quot;bt2&quot;</span>;
                  relative: 0.0 1.0;
                  offset: 0 5;
               }
               rel2 {
                  to: <span class="stringliteral">&quot;bt2&quot;</span>;
                  relative: 1.0 2.0;
                  offset: -1 5;
               }
               params {
                  <span class="keywordtype">string</span>: <span class="stringliteral">&quot;label&quot;</span> <span class="stringliteral">&quot;Label + custom icon&quot;</span>;
                  <span class="keywordtype">string</span>: <span class="stringliteral">&quot;icon&quot;</span> <span class="stringliteral">&quot;icon_green&quot;</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">&quot;bt4&quot;</span>;
            <a class="code" href="edje__data_8c.html#a0dae2edc8bfd2bedabfa38415c35f3ec">type</a>: EXTERNAL;
            source: <span class="stringliteral">&quot;elm/button&quot;</span>;
            description { state: <span class="stringliteral">&quot;default&quot;</span> 0;
               rel1 {
                  to: <span class="stringliteral">&quot;bt3&quot;</span>;
                  relative: 0.0 1.0;
                  offset: 0 5;
               }
               rel2 {
                  to: <span class="stringliteral">&quot;bt3&quot;</span>;
                  relative: 0.5 2.0;
                  offset: -6 5;
               }
               params {
                  <span class="keywordtype">string</span>: <span class="stringliteral">&quot;icon&quot;</span> <span class="stringliteral">&quot;folder&quot;</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">&quot;bt5&quot;</span>;
            <a class="code" href="edje__data_8c.html#a0dae2edc8bfd2bedabfa38415c35f3ec">type</a>: EXTERNAL;
            source: <span class="stringliteral">&quot;elm/button&quot;</span>;
            description { state: <span class="stringliteral">&quot;default&quot;</span> 0;
               rel1 {
                  to: <span class="stringliteral">&quot;bt3&quot;</span>;
                  relative: 0.5 1.0;
                  offset: 5 5;
               }
               rel2 {
                  to: <span class="stringliteral">&quot;bt3&quot;</span>;
                  relative: 1.0 2.0;
                  offset: 0 5;
               }
               params {
                  <span class="keywordtype">string</span>: <span class="stringliteral">&quot;icon&quot;</span> <span class="stringliteral">&quot;icon_green&quot;</span>;
               }
            }
         }
      }

      programs {
         <span class="comment">/* bt1 clicked, change it&#39;s label and count the clicks */</span>
         program { <a class="code" href="edje__data_8c.html#a8f8f80d37794cde9472343e4487ba3eb">name</a>: <span class="stringliteral">&quot;bt1_click&quot;</span>;
            signal: <span class="stringliteral">&quot;clicked&quot;</span>;
            source: <span class="stringliteral">&quot;bt1&quot;</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">&quot;Clicked %d times&quot;</span>, get_int(counter));
               external_param_set_str(PART:<span class="stringliteral">&quot;bt1&quot;</span>, <span class="stringliteral">&quot;label&quot;</span>, buf);
               <span class="comment">/* set the bottom label */</span>
               set_text(PART:<span class="stringliteral">&quot;label&quot;</span>, <span class="stringliteral">&quot;button 1 clicked: set label&quot;</span>);
            }
         }

         <span class="comment">/* bt2 clicked, toggle it&#39;s standard icon */</span>
         program { <a class="code" href="edje__data_8c.html#a8f8f80d37794cde9472343e4487ba3eb">name</a>: <span class="stringliteral">&quot;bt2_click&quot;</span>;
            signal: <span class="stringliteral">&quot;clicked&quot;</span>;
            source: <span class="stringliteral">&quot;bt2&quot;</span>;
            script {
               <span class="keywordflow">if</span> (get_int(toggle1) == 0) {
                  external_param_set_str(PART:<span class="stringliteral">&quot;bt2&quot;</span>, <span class="stringliteral">&quot;icon&quot;</span>, <span class="stringliteral">&quot;home&quot;</span>);
                  set_int(toggle1, 1);
               }
               <span class="keywordflow">else</span> {
                  external_param_set_str(PART:<span class="stringliteral">&quot;bt2&quot;</span>, <span class="stringliteral">&quot;icon&quot;</span>, <span class="stringliteral">&quot;folder&quot;</span>);
                  set_int(toggle1, 0);
               }
               set_text(PART:<span class="stringliteral">&quot;label&quot;</span>, <span class="stringliteral">&quot;button 2 clicked: toggle icon&quot;</span>);
            }
         }

         <span class="comment">/* bt3 clicked, toggle it&#39;s custom icon */</span>
         program { <a class="code" href="edje__data_8c.html#a8f8f80d37794cde9472343e4487ba3eb">name</a>: <span class="stringliteral">&quot;bt3_click&quot;</span>;
            signal: <span class="stringliteral">&quot;clicked&quot;</span>;
            source: <span class="stringliteral">&quot;bt3&quot;</span>;
            script {
               <span class="keywordflow">if</span> (get_int(toggle2) == 0) {
                  external_param_set_str(PART:<span class="stringliteral">&quot;bt3&quot;</span>, <span class="stringliteral">&quot;icon&quot;</span>, <span class="stringliteral">&quot;icon_red&quot;</span>);
                  set_int(toggle2, 1);
               }
               <span class="keywordflow">else</span> {
                  external_param_set_str(PART:<span class="stringliteral">&quot;bt3&quot;</span>, <span class="stringliteral">&quot;icon&quot;</span>, <span class="stringliteral">&quot;icon_green&quot;</span>);
                  set_int(toggle2, 0);
               }
               set_text(PART:<span class="stringliteral">&quot;label&quot;</span>, <span class="stringliteral">&quot;button 3 clicked: toggle icon&quot;</span>);
            }
         }

         <span class="comment">/* bt4 clicked, toggle it&#39;s icon */</span>
         program { <a class="code" href="edje__data_8c.html#a8f8f80d37794cde9472343e4487ba3eb">name</a>: <span class="stringliteral">&quot;bt4_click&quot;</span>;
            signal: <span class="stringliteral">&quot;clicked&quot;</span>;
            source: <span class="stringliteral">&quot;bt4&quot;</span>;
            script {
               <span class="keywordflow">if</span> (get_int(toggle3) == 0) {
                  external_param_set_str(PART:<span class="stringliteral">&quot;bt4&quot;</span>, <span class="stringliteral">&quot;icon&quot;</span>, <span class="stringliteral">&quot;home&quot;</span>);
                  set_int(toggle3, 1);
               }
               <span class="keywordflow">else</span> {
                  external_param_set_str(PART:<span class="stringliteral">&quot;bt4&quot;</span>, <span class="stringliteral">&quot;icon&quot;</span>, <span class="stringliteral">&quot;folder&quot;</span>);
                  set_int(toggle3, 0);
               }
               set_text(PART:<span class="stringliteral">&quot;label&quot;</span>, <span class="stringliteral">&quot;button 4 clicked: toggle icon&quot;</span>);
            }
         }

         <span class="comment">/* bt5 clicked, toggle it&#39;s icon */</span>
         program { <a class="code" href="edje__data_8c.html#a8f8f80d37794cde9472343e4487ba3eb">name</a>: <span class="stringliteral">&quot;bt5_click&quot;</span>;
            signal: <span class="stringliteral">&quot;clicked&quot;</span>;
            source: <span class="stringliteral">&quot;bt5&quot;</span>;
            script {
               <span class="keywordflow">if</span> (get_int(toggle4) == 0) {
                  external_param_set_str(PART:<span class="stringliteral">&quot;bt5&quot;</span>, <span class="stringliteral">&quot;icon&quot;</span>, <span class="stringliteral">&quot;icon_red&quot;</span>);
                  set_int(toggle4, 1);
               }
               <span class="keywordflow">else</span> {
                  external_param_set_str(PART:<span class="stringliteral">&quot;bt5&quot;</span>, <span class="stringliteral">&quot;icon&quot;</span>, <span class="stringliteral">&quot;icon_green&quot;</span>);
                  set_int(toggle4, 0);
               }
               set_text(PART:<span class="stringliteral">&quot;label&quot;</span>, <span class="stringliteral">&quot;button 5 clicked: toggle icon&quot;</span>);
            }
         }
      }
   }
}
</pre></div> </div>
</div>
 
 <div id="push"></div>
 </div> <!-- #content -->
  </div> <!-- .layout -->
 
 </div> <!-- #container -->
 
 
  <div id="footer">
    <table><tr>
      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
      <td class="generated">Docs generated Tue Feb 8 2011 17:28:42</td>
    </tr></table>
  </div>


</body>
</html>