[SAMPEL APP]Wearable 7 samples description
authornamki.lee <namki.lee@samsung.com>
Thu, 21 Jan 2016 08:14:44 +0000 (17:14 +0900)
committernamki.lee <namki.lee@samsung.com>
Thu, 21 Jan 2016 08:15:23 +0000 (17:15 +0900)
Change-Id: I0b1de58a615d64a36bd30ea32277ecad2ca72891
Signed-off-by: namki.lee <namki.lee@samsung.com>
27 files changed:
org.tizen.sampledescriptions/html/images/alarm_structure_wearable_sd.png [new file with mode: 0644]
org.tizen.sampledescriptions/html/images/alarm_wearable_sd.png [new file with mode: 0644]
org.tizen.sampledescriptions/html/images/music_structure_wearable_sd.png [new file with mode: 0644]
org.tizen.sampledescriptions/html/images/music_wearable_sd.png [new file with mode: 0644]
org.tizen.sampledescriptions/html/images/new_briefing_structure_wearable_sd.png [new file with mode: 0644]
org.tizen.sampledescriptions/html/images/new_briefing_wearable_sd.png [new file with mode: 0644]
org.tizen.sampledescriptions/html/images/scheduler_structure_wearable_sd.png [new file with mode: 0644]
org.tizen.sampledescriptions/html/images/scheduler_wearable_sd.png [new file with mode: 0644]
org.tizen.sampledescriptions/html/images/settings_wearable_sd.png [new file with mode: 0644]
org.tizen.sampledescriptions/html/images/taskmanager_bottom_btn_wearable_sd.png [new file with mode: 0644]
org.tizen.sampledescriptions/html/images/taskmanager_index_wearable_sd.png [new file with mode: 0644]
org.tizen.sampledescriptions/html/images/taskmanager_item_layout_wearable_sd.png [new file with mode: 0644]
org.tizen.sampledescriptions/html/images/taskmanager_layout_wearable_sd.png [new file with mode: 0644]
org.tizen.sampledescriptions/html/images/taskmanager_noapps_wearable_sd.png [new file with mode: 0644]
org.tizen.sampledescriptions/html/images/taskmanager_scrollerbox_wearable_sd.png [new file with mode: 0644]
org.tizen.sampledescriptions/html/images/taskmanager_scrollerboxitem_wearable_sd.png [new file with mode: 0644]
org.tizen.sampledescriptions/html/images/taskmanager_view_wearable_sd.png [new file with mode: 0644]
org.tizen.sampledescriptions/html/images/taskmanager_wearable_sd.png [new file with mode: 0644]
org.tizen.sampledescriptions/html/images/worldclock_structure_wearable_sd.png [new file with mode: 0644]
org.tizen.sampledescriptions/html/images/worldclock_wearable_sd.png [new file with mode: 0644]
org.tizen.sampledescriptions/html/wearable_n/alarm_widget_sd_wn.htm [new file with mode: 0644]
org.tizen.sampledescriptions/html/wearable_n/music_sd_wn.htm [new file with mode: 0644]
org.tizen.sampledescriptions/html/wearable_n/new_briefing_widget_sd_wn.htm [new file with mode: 0644]
org.tizen.sampledescriptions/html/wearable_n/scheduler_widget_sd_wn.htm [new file with mode: 0644]
org.tizen.sampledescriptions/html/wearable_n/settings_sd_wn.htm [new file with mode: 0644]
org.tizen.sampledescriptions/html/wearable_n/taskmanager_sd_wn.htm [new file with mode: 0644]
org.tizen.sampledescriptions/html/wearable_n/worldclock_widget_sd_wn.htm [new file with mode: 0644]

diff --git a/org.tizen.sampledescriptions/html/images/alarm_structure_wearable_sd.png b/org.tizen.sampledescriptions/html/images/alarm_structure_wearable_sd.png
new file mode 100644 (file)
index 0000000..b3f71e7
Binary files /dev/null and b/org.tizen.sampledescriptions/html/images/alarm_structure_wearable_sd.png differ
diff --git a/org.tizen.sampledescriptions/html/images/alarm_wearable_sd.png b/org.tizen.sampledescriptions/html/images/alarm_wearable_sd.png
new file mode 100644 (file)
index 0000000..12a65de
Binary files /dev/null and b/org.tizen.sampledescriptions/html/images/alarm_wearable_sd.png differ
diff --git a/org.tizen.sampledescriptions/html/images/music_structure_wearable_sd.png b/org.tizen.sampledescriptions/html/images/music_structure_wearable_sd.png
new file mode 100644 (file)
index 0000000..606adac
Binary files /dev/null and b/org.tizen.sampledescriptions/html/images/music_structure_wearable_sd.png differ
diff --git a/org.tizen.sampledescriptions/html/images/music_wearable_sd.png b/org.tizen.sampledescriptions/html/images/music_wearable_sd.png
new file mode 100644 (file)
index 0000000..a106321
Binary files /dev/null and b/org.tizen.sampledescriptions/html/images/music_wearable_sd.png differ
diff --git a/org.tizen.sampledescriptions/html/images/new_briefing_structure_wearable_sd.png b/org.tizen.sampledescriptions/html/images/new_briefing_structure_wearable_sd.png
new file mode 100644 (file)
index 0000000..9c042ab
Binary files /dev/null and b/org.tizen.sampledescriptions/html/images/new_briefing_structure_wearable_sd.png differ
diff --git a/org.tizen.sampledescriptions/html/images/new_briefing_wearable_sd.png b/org.tizen.sampledescriptions/html/images/new_briefing_wearable_sd.png
new file mode 100644 (file)
index 0000000..bd93265
Binary files /dev/null and b/org.tizen.sampledescriptions/html/images/new_briefing_wearable_sd.png differ
diff --git a/org.tizen.sampledescriptions/html/images/scheduler_structure_wearable_sd.png b/org.tizen.sampledescriptions/html/images/scheduler_structure_wearable_sd.png
new file mode 100644 (file)
index 0000000..c3eb9fc
Binary files /dev/null and b/org.tizen.sampledescriptions/html/images/scheduler_structure_wearable_sd.png differ
diff --git a/org.tizen.sampledescriptions/html/images/scheduler_wearable_sd.png b/org.tizen.sampledescriptions/html/images/scheduler_wearable_sd.png
new file mode 100644 (file)
index 0000000..9defe26
Binary files /dev/null and b/org.tizen.sampledescriptions/html/images/scheduler_wearable_sd.png differ
diff --git a/org.tizen.sampledescriptions/html/images/settings_wearable_sd.png b/org.tizen.sampledescriptions/html/images/settings_wearable_sd.png
new file mode 100644 (file)
index 0000000..690598d
Binary files /dev/null and b/org.tizen.sampledescriptions/html/images/settings_wearable_sd.png differ
diff --git a/org.tizen.sampledescriptions/html/images/taskmanager_bottom_btn_wearable_sd.png b/org.tizen.sampledescriptions/html/images/taskmanager_bottom_btn_wearable_sd.png
new file mode 100644 (file)
index 0000000..2089fc1
Binary files /dev/null and b/org.tizen.sampledescriptions/html/images/taskmanager_bottom_btn_wearable_sd.png differ
diff --git a/org.tizen.sampledescriptions/html/images/taskmanager_index_wearable_sd.png b/org.tizen.sampledescriptions/html/images/taskmanager_index_wearable_sd.png
new file mode 100644 (file)
index 0000000..695e37b
Binary files /dev/null and b/org.tizen.sampledescriptions/html/images/taskmanager_index_wearable_sd.png differ
diff --git a/org.tizen.sampledescriptions/html/images/taskmanager_item_layout_wearable_sd.png b/org.tizen.sampledescriptions/html/images/taskmanager_item_layout_wearable_sd.png
new file mode 100644 (file)
index 0000000..410d3b4
Binary files /dev/null and b/org.tizen.sampledescriptions/html/images/taskmanager_item_layout_wearable_sd.png differ
diff --git a/org.tizen.sampledescriptions/html/images/taskmanager_layout_wearable_sd.png b/org.tizen.sampledescriptions/html/images/taskmanager_layout_wearable_sd.png
new file mode 100644 (file)
index 0000000..5022f94
Binary files /dev/null and b/org.tizen.sampledescriptions/html/images/taskmanager_layout_wearable_sd.png differ
diff --git a/org.tizen.sampledescriptions/html/images/taskmanager_noapps_wearable_sd.png b/org.tizen.sampledescriptions/html/images/taskmanager_noapps_wearable_sd.png
new file mode 100644 (file)
index 0000000..9bb02c6
Binary files /dev/null and b/org.tizen.sampledescriptions/html/images/taskmanager_noapps_wearable_sd.png differ
diff --git a/org.tizen.sampledescriptions/html/images/taskmanager_scrollerbox_wearable_sd.png b/org.tizen.sampledescriptions/html/images/taskmanager_scrollerbox_wearable_sd.png
new file mode 100644 (file)
index 0000000..b25c451
Binary files /dev/null and b/org.tizen.sampledescriptions/html/images/taskmanager_scrollerbox_wearable_sd.png differ
diff --git a/org.tizen.sampledescriptions/html/images/taskmanager_scrollerboxitem_wearable_sd.png b/org.tizen.sampledescriptions/html/images/taskmanager_scrollerboxitem_wearable_sd.png
new file mode 100644 (file)
index 0000000..9fdbe17
Binary files /dev/null and b/org.tizen.sampledescriptions/html/images/taskmanager_scrollerboxitem_wearable_sd.png differ
diff --git a/org.tizen.sampledescriptions/html/images/taskmanager_view_wearable_sd.png b/org.tizen.sampledescriptions/html/images/taskmanager_view_wearable_sd.png
new file mode 100644 (file)
index 0000000..e995bb6
Binary files /dev/null and b/org.tizen.sampledescriptions/html/images/taskmanager_view_wearable_sd.png differ
diff --git a/org.tizen.sampledescriptions/html/images/taskmanager_wearable_sd.png b/org.tizen.sampledescriptions/html/images/taskmanager_wearable_sd.png
new file mode 100644 (file)
index 0000000..36adb9d
Binary files /dev/null and b/org.tizen.sampledescriptions/html/images/taskmanager_wearable_sd.png differ
diff --git a/org.tizen.sampledescriptions/html/images/worldclock_structure_wearable_sd.png b/org.tizen.sampledescriptions/html/images/worldclock_structure_wearable_sd.png
new file mode 100644 (file)
index 0000000..84e4cc5
Binary files /dev/null and b/org.tizen.sampledescriptions/html/images/worldclock_structure_wearable_sd.png differ
diff --git a/org.tizen.sampledescriptions/html/images/worldclock_wearable_sd.png b/org.tizen.sampledescriptions/html/images/worldclock_wearable_sd.png
new file mode 100644 (file)
index 0000000..e20b5f3
Binary files /dev/null and b/org.tizen.sampledescriptions/html/images/worldclock_wearable_sd.png differ
diff --git a/org.tizen.sampledescriptions/html/wearable_n/alarm_widget_sd_wn.htm b/org.tizen.sampledescriptions/html/wearable_n/alarm_widget_sd_wn.htm
new file mode 100644 (file)
index 0000000..941daab
--- /dev/null
@@ -0,0 +1,100 @@
+<!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" xml:lang="en" lang="en">
+<head>
+       <meta http-equiv="content-type" content="text/html; charset=utf-8" />
+       <meta http-equiv="X-UA-Compatible" content="IE=9" />
+       <link rel="stylesheet" type="text/css" href="../css/styles.css" />
+       <link rel="stylesheet" type="text/css" href="../css/snippet.css" />
+       <script type="text/javascript" src="../scripts/snippet.js"></script>    
+       <script type="text/javascript" src="../scripts/jquery.util.js" charset="utf-8"></script>
+       <script type="text/javascript" src="../scripts/common.js" charset="utf-8"></script>
+       <script type="text/javascript" src="../scripts/core.js" charset="utf-8"></script>
+       <script type="text/javascript" src="../scripts/search.js" charset="utf-8"></script>
+
+       <title>Alarm Widget Sample Overview</title>  
+</head>
+
+<body class="no-toc" onload="prettyPrint()" style="overflow: auto;">
+
+<div id="toc-navigation">
+
+<div id="container"><div id="contents"><div class="content">
+
+       <div id="profile">
+               <p><img alt="Wearable native" src="../images/wearable_s_n.png"/></p>
+       </div>
+       
+</div> 
+
+
+<h1>Alarm Widget Sample Overview</h1> 
+
+<p>The Alarm widget sample demonstrates how to manage text objects and image objects to create a complete widget view.</p>
+<p>The following figure illustrates the main screen of the Alarm widget.</p>
+<p class="figure">Figure: Alarm main view</p>
+<p align="center"><img src="../images/alarm_wearable_sd.png" alt="Alarm main view" /></p>
+
+<p>This sample consists of the view and main operation parts.</p> 
+
+<h2>View</h2> 
+
+<p>The <span style="font-family: Courier New,Courier,monospace">view_create()</span> function creates the widget view frame that consists of the window, text parts, and image parts.</p>
+<pre class="prettyprint">
+view_create(context, w, h);
+</pre>
+<p>The following figure illustrates the view frame.</p>
+<p class="figure">Figure: Alarm view frame</p>
+<p align="center"><img src="../images/alarm_structure_wearable_sd.png" alt="Alarm view frame" /></p>
+
+<p>To fill out text parts with the part name and the text, use the <span style="font-family: Courier New,Courier,monospace">view_set_text()</span> function.</p>
+
+<p>Implement the <span style="font-family: Courier New,Courier,monospace">data_get_text()</span> function to create the text you want to use. In this function, you can also choose the part name which you want to fill out. Then, call the <span style="font-family: Courier New,Courier,monospace">view_set_text()</span> function with the part name and text you obtained.</p>
+<p>In this example, the text to use is <span style="font-family: Courier New,Courier,monospace">time_txt</span> and the part name to fill out is <span style="font-family: Courier New,Courier,monospace">widget.time</span>.</p>
+<pre class="prettyprint">
+time_txt = data_get_text(&quot;widget.time&quot;);
+view_set_text(wid, &quot;widget.time&quot;, time_txt);
+</pre>
+
+<h2>Main Operation</h2>
+
+<p>The <span style="font-family: Courier New,Courier,monospace">view_set_event_callback()</span> function controls the widget main operation that launches the application.</p>
+<p>The launch options are:</p>
+<ul>
+<li><span style="font-family: Courier New,Courier,monospace">WIDGET_EVENT_PRESSED</span> for launch on a touch press event</li>
+<li><span style="font-family: Courier New,Courier,monospace">WIDGET_EVENT_RELEASED</span> for launch on a touch release event </li>
+<li><span style="font-family: Courier New,Courier,monospace">WIDGET_EVENT_CLICKED</span>for launch on a click event</li>
+</ul>
+<p>In this example, the application is launched when you click the widget.</p>
+<pre class="prettyprint">
+view_set_event_callback(wid, &quot;widget.event&quot;, WIDGET_EVENT_CLICKED, clicked_cb);
+</pre>
+
+
+
+
+
+
+<script type="text/javascript" src="../scripts/jquery.zclip.min.js"></script>
+<script type="text/javascript" src="../scripts/showhide.js"></script>
+</div></div></div>
+
+<a class="top sms" href="#"><img src="../images/btn_top.gif" alt="Go to top" /></a>
+
+<div id="footer">
+<p class="footer">Except as noted, this content - excluding the Code Examples - is licensed under <a href="http://creativecommons.org/licenses/by/3.0/legalcode" target="_blank">Creative Commons Attribution 3.0</a> and all of the Code Examples contained herein are licensed under <a href="https://www.tizen.org/bsd-3-clause-license" target="_blank">BSD-3-Clause</a>.<br/>For details, see the <a href="https://www.tizen.org/content-license" target="_blank">Content License</a>.</p>
+</div>
+
+<script type="text/javascript">
+var _gaq = _gaq || [];
+_gaq.push(['_setAccount', 'UA-25976949-1']);
+_gaq.push(['_trackPageview']);
+(function() {
+var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+})();
+</script>
+
+</body>
+</html>
+
diff --git a/org.tizen.sampledescriptions/html/wearable_n/music_sd_wn.htm b/org.tizen.sampledescriptions/html/wearable_n/music_sd_wn.htm
new file mode 100644 (file)
index 0000000..12e08d0
--- /dev/null
@@ -0,0 +1,371 @@
+<!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" xml:lang="en" lang="en">
+<head>
+       <meta http-equiv="content-type" content="text/html; charset=utf-8" />
+       <meta http-equiv="X-UA-Compatible" content="IE=9" />
+       <link rel="stylesheet" type="text/css" href="../css/styles.css" />
+       <link rel="stylesheet" type="text/css" href="../css/snippet.css" />
+       <script type="text/javascript" src="../scripts/snippet.js"></script>    
+       <script type="text/javascript" src="../scripts/jquery.util.js" charset="utf-8"></script>
+       <script type="text/javascript" src="../scripts/common.js" charset="utf-8"></script>
+       <script type="text/javascript" src="../scripts/core.js" charset="utf-8"></script>
+       <script type="text/javascript" src="../scripts/search.js" charset="utf-8"></script>
+
+       <title>(Circle) Music Sample Overview</title>  
+</head>
+
+<body class="no-toc" onload="prettyPrint()" style="overflow: auto;">
+
+<div id="toc-navigation">
+
+<div id="container"><div id="contents"><div class="content">
+
+       <div id="profile">
+               <p><img alt="Wearable native" src="../images/wearable_s_n.png"/></p>
+       </div>
+       
+</div> 
+
+
+<h1>(Circle) Music Sample Overview</h1> 
+
+<p>The Music sample appliction shows you how to create a music application. Especially, it demonstrates how to draw the UI for a music player.</p>
+<p>The following figure illustrates the main screen of the Music sample application.</p>
+<p class="figure">Figure: (Circle) Music main views</p>
+<p align="center"><img src="../images/music_wearable_sd.png" alt="Music main view" /></p>
+
+<p>This sample consists of the view and main operation parts.</p> 
+
+<h2>View</h2> 
+
+<p>The <span style="font-family: Courier New,Courier,monospace">view_create()</span> function creates the widget view frame consisting of window, text parts, image parts, and so on.</p>
+<pre class="prettyprint">
+view_create(context, w, h);
+</pre>
+<p>The following figure illustrates the view frame.</p>
+<p class="figure">Figure: Music view frame</p>
+<p align="center"><img src="../images/music_structure_wearable_sd.png" alt="Music view frame" /></p>
+
+<p>To create the parts:</p>
+
+<ul>
+<li>Text
+<p>You can fill out text parts with the part name and the text using the <span style="font-family: Courier New,Courier,monospace">view_set_text()</span> function.</p>
+<p>Implement the <span style="font-family: Courier New,Courier,monospace">data_get_music_title()</span> function to create the text to use. Then, call the <span style="font-family: Courier New,Courier,monospace">view_set_text()</span> function with the part name and text you obtained.</p>
+<p>In this example, the text to use is <span style="font-family: Courier New,Courier,monospace">txt</span> and the part name to fill out is <span style="font-family: Courier New,Courier,monospace">txt.title</span>.</p>
+<pre class="prettyprint">
+txt = data_get_music_title(0);
+view_set_text(wid, &quot;txt.title&quot;, txt);
+</pre>
+</li>
+<li>Image
+<p>You can create an image object using the <span style="font-family: Courier New,Courier,monospace">view_set_image()</span> function. Pass the part name which you want to draw and the name of image file including its directory path.</p>
+<p>In this example, the part name is <span style="font-family: Courier New,Courier,monospace">sw.icon.device</span> and the icon contains the path of an image file in the <span style="font-family: Courier New,Courier,monospace">images</span> directory.</p>
+<pre class="prettyprint">
+icon = data_get_image(&quot;sw.icon.device&quot;);
+view_set_image(ad-&gt;content, &quot;sw.icon.device&quot;, icon);
+</pre>
+</li>
+<li>Button
+<p>You can create buttons using the <span style="font-family: Courier New,Courier,monospace">view_set_button()</span> function.</p>
+<p>Call the function with the part name, image path, button text, callback function, and user data.</p>
+<p>In this example, the part name is <span style="font-family: Courier New,Courier,monospace">sw.icon.next</span> and the icon contains the path of an image file in the <span style="font-family: Courier New,Courier,monospace">images</span> directory.</p>
+<pre class="prettyprint">
+view_set_button(ad-&gt;content, &quot;sw.icon.next&quot;, icon, NULL, _next_clicked_cb, ad);
+</pre>
+<p>The callback function registered is called when the button is clicked.</p>
+</li>
+<li>Progress bar
+<p>You can create a progress bar using the <span style="font-family: Courier New,Courier,monospace">view_set_prgressbar()</span> function. Pass the part name as a parameter.</p>
+<p>In this example, the part name is <span style="font-family: Courier New,Courier,monospace">sw.progressbar</span>.</p>
+<pre class="prettyprint">
+view_set_prgressbar(ad-&gt;content, &quot;sw.progressbar&quot;);
+</pre> 
+
+<p>You can change value of progressbar using the <span style="font-family: Courier New,Courier,monospace">view_set_progressbar_val()</span> function.</p>
+<p>In this example, the part name is <span style="font-family: Courier New,Courier,monospace">sw.progressbar</span> and the value you want to set.</p>
+<pre class="prettyprint">
+view_set_progressbar_val(ad-&gt;content, &quot;sw.progressbar&quot;, 70);
+</pre>
+</li>
+<li>More button
+<p>You can create a more button using the <span style="font-family: Courier New,Courier,monospace">view_set_more_button()</span> function. Pass the part name as a parameter.</p>
+<pre class="prettyprint">
+view_set_more_button(ad-&gt;content, &quot;sw.more&quot;);
+</pre>
+<p>You can add add items to more button. In this example, the part name is <span style="font-family: Courier New,Courier,monospace">sw.more</span>, and <span style="font-family: Courier New,Courier,monospace">main_txt</span> and <span style="font-family: Courier New,Courier,monospace">sub_txt</span> are displayed when item is selected. The <span style="font-family: Courier New,Courier,monospace">img_path</span> contains the path of image file in the <span style="font-family: Courier New,Courier,monospace">images</span> directory.</p>
+<p>You can also register a callback function and user data.</p>
+<pre class="prettyprint">
+view_add_more_button_item(ad-&gt;content, &quot;sw.more&quot;, main_txt, sub_txt, img_path, _item_clicked_cb, ad);
+</pre>
+</li>
+</ul>
+
+<h2>Main Operation</h2> 
+
+<p>To create the music application:</p>
+<ol>
+<li>Create the music application UI.
+<p>The application starts with the <span style="font-family: Courier New,Courier,monospace">main()</span> function, where the life-cycle callbacks are registered. The <span style="font-family: Courier New,Courier,monospace">app_create()</span> callback function is called first. After that, the <span style="font-family: Courier New,Courier,monospace">view_create()</span> function creates the base UI of the application.</p>
+<pre class="prettyprint">
+static bool
+app_create(void *data)
+{
+&nbsp;&nbsp;&nbsp;// Hook to take necessary actions before main event loop starts
+&nbsp;&nbsp;&nbsp;// Initialize UI resources and application data
+&nbsp;&nbsp;&nbsp;// If this function returns true, the main loop of application starts
+&nbsp;&nbsp;&nbsp;// If this function returns false, the application is terminated
+&nbsp;&nbsp;&nbsp;appdata_s *ad = data;
+&nbsp;&nbsp;&nbsp;char *bg = NULL;
+&nbsp;&nbsp;&nbsp;char *icon = NULL;
+&nbsp;&nbsp;&nbsp;char *txt = NULL;
+&nbsp;&nbsp;&nbsp;int i = 0;
+
+&nbsp;&nbsp;&nbsp;view_create(ad);
+
+&nbsp;&nbsp;&nbsp;bg = data_get_image(&quot;sw.bg&quot;);
+&nbsp;&nbsp;&nbsp;view_set_image(ad-&gt;content, &quot;sw.bg&quot;, bg);
+&nbsp;&nbsp;&nbsp;free(bg);
+
+&nbsp;&nbsp;&nbsp;icon = data_get_image(&quot;sw.icon.vol&quot;);
+&nbsp;&nbsp;&nbsp;view_set_button(ad-&gt;content, &quot;sw.icon.vol&quot;, icon, NULL, _clicked_cb, &quot;volume&quot;);
+&nbsp;&nbsp;&nbsp;view_set_color(ad-&gt;content, &quot;sw.icon.vol&quot;, 250, 250, 250, 255);
+&nbsp;&nbsp;&nbsp;free(icon);
+
+&nbsp;&nbsp;&nbsp;icon = data_get_image(&quot;sw.progressbar.bg&quot;);
+&nbsp;&nbsp;&nbsp;view_set_image(ad-&gt;content, &quot;sw.progressbar.bg&quot;, icon);
+&nbsp;&nbsp;&nbsp;view_set_color(ad-&gt;content, &quot;sw.progressbar.bg&quot;, 0, 87, 107, 255);
+&nbsp;&nbsp;&nbsp;free(icon);
+
+&nbsp;&nbsp;&nbsp;icon = data_get_image(&quot;sw.icon.play&quot;);
+&nbsp;&nbsp;&nbsp;view_set_button(ad-&gt;content, &quot;sw.icon.play&quot;, icon, NULL, _clicked_cb, &quot;play&quot;);
+&nbsp;&nbsp;&nbsp;view_set_color(ad-&gt;content, &quot;sw.icon.play&quot;, 250, 250, 250, 255);
+&nbsp;&nbsp;&nbsp;free(icon);
+
+&nbsp;&nbsp;&nbsp;icon = data_get_image(&quot;sw.icon.prev&quot;);
+&nbsp;&nbsp;&nbsp;view_set_button(ad-&gt;content, &quot;sw.icon.prev&quot;, icon, NULL, _prev_clicked_cb, ad);
+&nbsp;&nbsp;&nbsp;view_set_color(ad-&gt;content, &quot;sw.icon.prev&quot;, 250, 250, 250, 255);
+&nbsp;&nbsp;&nbsp;free(icon);
+
+&nbsp;&nbsp;&nbsp;icon = data_get_image(&quot;sw.icon.next&quot;);
+&nbsp;&nbsp;&nbsp;view_set_button(ad-&gt;content, &quot;sw.icon.next&quot;, icon, NULL, _next_clicked_cb, ad);
+&nbsp;&nbsp;&nbsp;view_set_color(ad-&gt;content, &quot;sw.icon.next&quot;, 250, 250, 250, 255);
+&nbsp;&nbsp;&nbsp;free(icon);
+
+&nbsp;&nbsp;&nbsp;icon = data_get_image(&quot;sw.icon.device&quot;);
+&nbsp;&nbsp;&nbsp;view_set_image(ad-&gt;content, &quot;sw.icon.device&quot;, icon);
+&nbsp;&nbsp;&nbsp;view_set_color(ad-&gt;content, &quot;sw.icon.device&quot;, 250, 250, 250, 255);
+&nbsp;&nbsp;&nbsp;free(icon);
+
+&nbsp;&nbsp;&nbsp;txt = data_get_music_title(0);
+&nbsp;&nbsp;&nbsp;view_set_text(ad-&gt;content, &quot;txt.title&quot;, txt);
+&nbsp;&nbsp;&nbsp;free(txt);
+
+&nbsp;&nbsp;&nbsp;txt = data_get_music_artist(0);
+&nbsp;&nbsp;&nbsp;view_set_text(ad-&gt;content, &quot;txt.artist&quot;, txt);
+&nbsp;&nbsp;&nbsp;free(txt);
+
+&nbsp;&nbsp;&nbsp;evas_object_data_set(ad-&gt;content, &quot;__ALBUM_ORDER__&quot;, (void *)0);
+
+&nbsp;&nbsp;&nbsp;view_set_prgressbar(ad-&gt;content, &quot;sw.progressbar&quot;);
+&nbsp;&nbsp;&nbsp;view_set_color(ad-&gt;content, &quot;sw.progressbar&quot;, 0, 192, 235, 255);
+&nbsp;&nbsp;&nbsp;view_set_progressbar_val(ad-&gt;content, &quot;sw.progressbar&quot;, 70);
+
+&nbsp;&nbsp;&nbsp;view_set_more_button(ad-&gt;content, &quot;sw.more&quot;);
+&nbsp;&nbsp;&nbsp;for ( i = 0; i &lt; 6; i++) 
+&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;view_add_more_button_item(ad-&gt;content,
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;sw.more&quot;,
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;more_btn_item[i].main_txt,
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;more_btn_item[i].sub_txt,
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;more_btn_item[i].img_path,
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_more_btn_item_clicked_cb,
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ad);
+&nbsp;&nbsp;&nbsp;}
+
+&nbsp;&nbsp;&nbsp;return true;
+}
+</pre>
+<p>The <span style="font-family: Courier New,Courier,monospace">view_create()</span> function creates base UI that is composed of window, conformant, and layout components.</p>
+<p>The wearable profile does not support the indicator function, so use a conformant that does not set the indicator mode.</p>
+<pre class="prettyprint">
+void 
+view_create(appdata_s *ad)
+{
+&nbsp;&nbsp;&nbsp;ad-&gt;win = view_create_win();
+&nbsp;&nbsp;&nbsp;if (ad-&gt;win == NULL) 
+&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dlog_print(DLOG_ERROR, LOG_TAG, &quot;window is NULL.&quot;);
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;
+&nbsp;&nbsp;&nbsp;}
+
+&nbsp;&nbsp;&nbsp;ad-&gt;conform = view_create_conformant(ad-&gt;win);
+&nbsp;&nbsp;&nbsp;if (ad-&gt;conform == NULL) 
+&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dlog_print(DLOG_ERROR, LOG_TAG, &quot;failed to create a conformant&quot;);
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;
+&nbsp;&nbsp;&nbsp;}
+
+&nbsp;&nbsp;&nbsp;ad-&gt;content = view_create_layout_for_conformant(ad-&gt;win, ad-&gt;conform, EDJ_FILE, GRP_MAIN, ad);
+&nbsp;&nbsp;&nbsp;if (ad-&gt;content == NULL) 
+&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;evas_object_del(ad-&gt;win);
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dlog_print(DLOG_ERROR, LOG_TAG, &quot;failed to create a content.&quot;);
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;
+&nbsp;&nbsp;&nbsp;}
+
+&nbsp;&nbsp;&nbsp;// Show the window after the base GUI is set up
+&nbsp;&nbsp;&nbsp;evas_object_show(ad-&gt;win);
+}
+</pre>
+<p>When it comes to layout, there are 2 methods to create a layout component. One of them involves creating an edc file that you can customize, and the other uses a premade edc file. This layout is created using a customized edc file.</p>
+
+<pre class="prettyprint">
+Evas_Object*
+view_create_layout_for_conformant(Evas_Object *parent, Evas_Object *conformant, 
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const char *file_name, const char *group_name, 
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void *user_data)
+{
+&nbsp;&nbsp;&nbsp;Evas_Object *layout = NULL;
+
+&nbsp;&nbsp;&nbsp;layout = view_create_layout(parent, file_name, group_name, user_data);
+&nbsp;&nbsp;&nbsp;if (layout == NULL) 
+&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dlog_print(DLOG_ERROR, LOG_TAG, &quot;parent is NULL.&quot;);
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return NULL;
+&nbsp;&nbsp;&nbsp;}
+
+&nbsp;&nbsp;&nbsp;elm_object_content_set(conformant, layout);
+
+&nbsp;&nbsp;&nbsp;return layout;
+}
+</pre>
+</li>
+<li>Create a more button component with the <span style="font-family: Courier New,Courier,monospace">view_create_more_button()</span> function.
+<pre class="prettyprint">
+void 
+view_set_more_button(Evas_Object *parent, const char *part)
+{
+&nbsp;&nbsp;&nbsp;Evas_Object *more_btn = NULL;
+
+&nbsp;&nbsp;&nbsp;if (parent == NULL) 
+&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dlog_print(DLOG_ERROR, LOG_TAG, &quot;parent is NULL.&quot;);
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;
+&nbsp;&nbsp;&nbsp;}
+
+&nbsp;&nbsp;&nbsp;more_btn = eext_more_option_add(parent);
+&nbsp;&nbsp;&nbsp;if (more_btn == NULL) 
+&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dlog_print(DLOG_ERROR, LOG_TAG, &quot;more option is NULL.&quot;);
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;
+&nbsp;&nbsp;&nbsp;}
+
+&nbsp;&nbsp;&nbsp;// Add the smart callbacks
+&nbsp;&nbsp;&nbsp;evas_object_smart_callback_add(more_btn, &quot;more,option,opened&quot;, _more_option_opened, NULL);
+&nbsp;&nbsp;&nbsp;evas_object_smart_callback_add(more_btn, &quot;more,option,closed&quot;, _more_option_closed, NULL);
+&nbsp;&nbsp;&nbsp;evas_object_smart_callback_add(more_btn, &quot;item,selected&quot;, _item_selected, NULL);
+
+&nbsp;&nbsp;&nbsp;elm_object_part_content_set(parent, part, more_btn);
+}
+</pre>
+<p>You can add items to the more button component using the <span style="font-family: Courier New,Courier,monospace">view_add_more_button_item()</span> function.</p>
+<pre class="prettyprint">
+void 
+view_add_more_button_item(Evas_Object *parent, const char *part, const char *main_txt, 
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const char *sub_txt, const char *img_path, 
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void (clicked_cb)(void *data, Evas_Object *obj, 
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void *event_info), void *user_data)
+{
+&nbsp;&nbsp;&nbsp;Evas_Object *img = NULL;
+&nbsp;&nbsp;&nbsp;Evas_Object *more_btn = NULL;
+&nbsp;&nbsp;&nbsp;char full_path[PATH_MAX] = {0,};
+
+&nbsp;&nbsp;&nbsp;more_btn = elm_object_part_content_get(parent, part);
+&nbsp;&nbsp;&nbsp;if (more_btn == NULL) 
+&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;
+&nbsp;&nbsp;&nbsp;}
+
+&nbsp;&nbsp;&nbsp;// Create the new item
+&nbsp;&nbsp;&nbsp;Eext_Object_Item *item  = eext_more_option_item_append(more_btn);
+
+&nbsp;&nbsp;&nbsp;// Set the text in item text part
+&nbsp;&nbsp;&nbsp;eext_more_option_item_part_text_set(item, &quot;selector,main_text&quot;, main_txt);
+&nbsp;&nbsp;&nbsp;eext_more_option_item_part_text_set(item, &quot;selector,sub_text&quot;, sub_txt);
+
+&nbsp;&nbsp;&nbsp;img = elm_image_add(more_btn);
+&nbsp;&nbsp;&nbsp;_get_resource(img_path, full_path, sizeof(full_path));
+&nbsp;&nbsp;&nbsp;elm_image_file_set(img, full_path, NULL);
+
+&nbsp;&nbsp;&nbsp;// Set the content in item content part
+&nbsp;&nbsp;&nbsp;eext_more_option_item_part_content_set(item, &quot;item,icon&quot;, img);
+
+&nbsp;&nbsp;&nbsp;evas_object_smart_callback_add(more_btn, &quot;item,clicked&quot;, clicked_cb, user_data);
+}
+</pre>
+</li>
+<li>Click the next or previous button. 
+<p>If you click the next or previous button, you can change the music information with the <span style="font-family: Courier New,Courier,monospace">_next_clicked_cb()</span> and <span style="font-family: Courier New,Courier,monospace">_prev_clicked_cb()</span> callbacks.</p>
+<pre class="prettyprint">
+static void 
+_next_clicked_cb(void *data, Evas_Object *obj, void *event_info)
+{
+&nbsp;&nbsp;&nbsp;appdata_s *ad = data;
+&nbsp;&nbsp;&nbsp;char *bg = NULL;
+&nbsp;&nbsp;&nbsp;char *title = NULL;
+&nbsp;&nbsp;&nbsp;char *artist = NULL;
+&nbsp;&nbsp;&nbsp;int index = 0;
+
+&nbsp;&nbsp;&nbsp;index = (int)evas_object_data_get(ad-&gt;content, &quot;__ALBUM_ORDER__&quot;);
+&nbsp;&nbsp;&nbsp;index = (index + 1) % 2;
+&nbsp;&nbsp;&nbsp;evas_object_data_set(ad-&gt;content, &quot;__ALBUM_ORDER__&quot;, (void *)index);
+
+&nbsp;&nbsp;&nbsp;dlog_print(DLOG_DEBUG, LOG_TAG, &quot;next button is clicked(%d)&quot;, index);
+
+&nbsp;&nbsp;&nbsp;bg = data_get_music_album_art(index);
+&nbsp;&nbsp;&nbsp;view_set_image(ad-&gt;content, &quot;sw.bg&quot;, bg);
+&nbsp;&nbsp;&nbsp;free(bg);
+
+&nbsp;&nbsp;&nbsp;title = data_get_music_title(index);
+&nbsp;&nbsp;&nbsp;view_set_text(ad-&gt;content, &quot;txt.title&quot;, title);
+&nbsp;&nbsp;&nbsp;free(title);
+
+&nbsp;&nbsp;&nbsp;artist = data_get_music_artist(index);
+&nbsp;&nbsp;&nbsp;view_set_text(ad-&gt;content, &quot;txt.artist&quot;, artist);
+&nbsp;&nbsp;&nbsp;free(artist);
+}
+</pre>
+</li>
+</ol>
+
+<script type="text/javascript" src="../scripts/jquery.zclip.min.js"></script>
+<script type="text/javascript" src="../scripts/showhide.js"></script>
+</div></div></div>
+
+<a class="top sms" href="#"><img src="../images/btn_top.gif" alt="Go to top" /></a>
+
+<div id="footer">
+<p class="footer">Except as noted, this content - excluding the Code Examples - is licensed under <a href="http://creativecommons.org/licenses/by/3.0/legalcode" target="_blank">Creative Commons Attribution 3.0</a> and all of the Code Examples contained herein are licensed under <a href="https://www.tizen.org/bsd-3-clause-license" target="_blank">BSD-3-Clause</a>.<br/>For details, see the <a href="https://www.tizen.org/content-license" target="_blank">Content License</a>.</p>
+</div>
+
+<script type="text/javascript">
+var _gaq = _gaq || [];
+_gaq.push(['_setAccount', 'UA-25976949-1']);
+_gaq.push(['_trackPageview']);
+(function() {
+var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+})();
+</script>
+
+</body>
+</html>
+
diff --git a/org.tizen.sampledescriptions/html/wearable_n/new_briefing_widget_sd_wn.htm b/org.tizen.sampledescriptions/html/wearable_n/new_briefing_widget_sd_wn.htm
new file mode 100644 (file)
index 0000000..df32496
--- /dev/null
@@ -0,0 +1,112 @@
+<!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" xml:lang="en" lang="en">
+<head>
+       <meta http-equiv="content-type" content="text/html; charset=utf-8" />
+       <meta http-equiv="X-UA-Compatible" content="IE=9" />
+       <link rel="stylesheet" type="text/css" href="../css/styles.css" />
+       <link rel="stylesheet" type="text/css" href="../css/snippet.css" />
+       <script type="text/javascript" src="../scripts/snippet.js"></script>    
+       <script type="text/javascript" src="../scripts/jquery.util.js" charset="utf-8"></script>
+       <script type="text/javascript" src="../scripts/common.js" charset="utf-8"></script>
+       <script type="text/javascript" src="../scripts/core.js" charset="utf-8"></script>
+       <script type="text/javascript" src="../scripts/search.js" charset="utf-8"></script>
+
+       <title>New Briefing Widget Sample Overview</title>  
+</head>
+
+<body class="no-toc" onload="prettyPrint()" style="overflow: auto;">
+
+<div id="toc-navigation">
+
+<div id="container"><div id="contents"><div class="content">
+
+       <div id="profile">
+               <p><img alt="Wearable native" src="../images/wearable_s_n.png"/></p>
+       </div>
+       
+</div> 
+
+
+<h1>New Briefing Widget Sample Overview</h1> 
+
+<p>The New Briefing widget sample demonstrates how to manage text objects and image objects to create a complete widget view.</p>
+<p>The following figure illustrates the main screen of the New Briefing widget.</p>
+<p class="figure">Figure: New Briefing main view</p>
+<p align="center"><img src="../images/new_briefing_wearable_sd.png" alt="New Briefing main view" /></p>
+
+<p>This sample consists of the view and main operation parts.</p> 
+
+<h2>View</h2> 
+
+<p>The <span style="font-family: Courier New,Courier,monospace">view_create()</span> function creates the widget view frame that consists of the window, text parts, and image parts.</p>
+<pre class="prettyprint">
+view_create(context, w, h);
+</pre>
+<p>The following figure illustrates the view frame.</p>
+<p class="figure">Figure: New Briefing view frame</p>
+<p align="center"><img src="../images/new_briefing_structure_wearable_sd.png" alt="New Briefing view frame" /></p>
+
+<p>To create the parts:</p>
+<ul>
+<li>Text
+<p>You can fill out the text parts with the part name and the text using the <span style="font-family: Courier New,Courier,monospace">view_set_text()</span> function.</p>
+
+<p>Implement the <span style="font-family: Courier New,Courier,monospace">data_get_text()</span> function to create the text you want to use. In this function, you can also choose the part name which you want to fill out. Then, call the <span style="font-family: Courier New,Courier,monospace">view_set_text()</span> function with the part name and text you obtained.</p>
+<p>In this example, the text to use is <span style="font-family: Courier New,Courier,monospace">news_txt</span> and the part name to fill out is <span style="font-family: Courier New,Courier,monospace">widget.text</span>.</p>
+<pre class="prettyprint">
+news_txt = data_get_text(&quot;widget.text&quot;);
+view_set_text(wid, &quot;widget.text&quot;, news_txt);
+</pre>
+</li>
+<li>Image
+<p>You can create a widget with image files using the <span style="font-family: Courier New,Courier,monospace">view_set_image()</span> function. Pass the part name which you want to draw and the name of image file including its directory path.</p>
+<p>In this example, the part name is <span style="font-family: Courier New,Courier,monospace">widget.bg</span> and the name of image file is <span style="font-family: Courier New,Courier,monospace">bg.png</span> in the <span style="font-family: Courier New,Courier,monospace">images</span> directory.</p>
+<pre class="prettyprint">
+view_set_image(wid, &quot;widget.bg&quot;, &quot;images/bg.png&quot;);
+</pre>
+</li>
+</ul>
+
+<h2>Main Operation</h2>
+
+<p>The <span style="font-family: Courier New,Courier,monospace">view_set_event_callback()</span> function controls the widget main operation that launches the application.</p>
+<p>The launch options are:</p>
+<ul>
+<li><span style="font-family: Courier New,Courier,monospace">WIDGET_EVENT_PRESSED</span> for launch on a touch press event</li>
+<li><span style="font-family: Courier New,Courier,monospace">WIDGET_EVENT_RELEASED</span> for launch on a touch release event</li>
+<li><span style="font-family: Courier New,Courier,monospace">WIDGET_EVENT_CLICKED</span> for launch on a click event</li>
+</ul>
+<p>In this example, the application is launched when you click the widget.</p>
+<pre class="prettyprint">
+view_set_event_callback(wid, &quot;widget.event&quot;, WIDGET_EVENT_CLICKED, clicked_cb);
+</pre>
+
+
+
+
+
+
+<script type="text/javascript" src="../scripts/jquery.zclip.min.js"></script>
+<script type="text/javascript" src="../scripts/showhide.js"></script>
+</div></div></div>
+
+<a class="top sms" href="#"><img src="../images/btn_top.gif" alt="Go to top" /></a>
+
+<div id="footer">
+<p class="footer">Except as noted, this content - excluding the Code Examples - is licensed under <a href="http://creativecommons.org/licenses/by/3.0/legalcode" target="_blank">Creative Commons Attribution 3.0</a> and all of the Code Examples contained herein are licensed under <a href="https://www.tizen.org/bsd-3-clause-license" target="_blank">BSD-3-Clause</a>.<br/>For details, see the <a href="https://www.tizen.org/content-license" target="_blank">Content License</a>.</p>
+</div>
+
+<script type="text/javascript">
+var _gaq = _gaq || [];
+_gaq.push(['_setAccount', 'UA-25976949-1']);
+_gaq.push(['_trackPageview']);
+(function() {
+var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+})();
+</script>
+
+</body>
+</html>
+
diff --git a/org.tizen.sampledescriptions/html/wearable_n/scheduler_widget_sd_wn.htm b/org.tizen.sampledescriptions/html/wearable_n/scheduler_widget_sd_wn.htm
new file mode 100644 (file)
index 0000000..8f9a586
--- /dev/null
@@ -0,0 +1,100 @@
+<!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" xml:lang="en" lang="en">
+<head>
+       <meta http-equiv="content-type" content="text/html; charset=utf-8" />
+       <meta http-equiv="X-UA-Compatible" content="IE=9" />
+       <link rel="stylesheet" type="text/css" href="../css/styles.css" />
+       <link rel="stylesheet" type="text/css" href="../css/snippet.css" />
+       <script type="text/javascript" src="../scripts/snippet.js"></script>    
+       <script type="text/javascript" src="../scripts/jquery.util.js" charset="utf-8"></script>
+       <script type="text/javascript" src="../scripts/common.js" charset="utf-8"></script>
+       <script type="text/javascript" src="../scripts/core.js" charset="utf-8"></script>
+       <script type="text/javascript" src="../scripts/search.js" charset="utf-8"></script>
+
+       <title>Scheduler Widget Sample Overview</title>  
+</head>
+
+<body class="no-toc" onload="prettyPrint()" style="overflow: auto;">
+
+<div id="toc-navigation">
+
+<div id="container"><div id="contents"><div class="content">
+
+       <div id="profile">
+               <p><img alt="Wearable native" src="../images/wearable_s_n.png"/></p>
+       </div>
+       
+</div> 
+
+
+<h1>Scheduler Widget Sample Overview</h1> 
+
+<p>The Scheduler widget sample demonstrates how to manage text objects and image objects to create a complete widget view.</p>
+<p>The following figure illustrates the main screen of the Scheduler widget.</p>
+<p class="figure">Figure: Scheduler main view</p>
+<p align="center"><img src="../images/scheduler_wearable_sd.png" alt="Scheduler main view" /></p>
+
+<p>This sample consists of the view and main operation parts.</p> 
+
+<h2>View</h2> 
+
+<p>The <span style="font-family: Courier New,Courier,monospace">view_create()</span> function creates the widget view frame that consists of the window, text parts, and image parts.</p>
+<pre class="prettyprint">
+view_create(context, w, h);
+</pre>
+<p>The following figure illustrates the view frame.</p>
+<p class="figure">Figure: Scheduler view frame</p>
+<p align="center"><img src="../images/scheduler_structure_wearable_sd.png" alt="Scheduler view frame" /></p>
+
+<p>To fill out text parts with the part name and the text, use the <span style="font-family: Courier New,Courier,monospace">view_set_text()</span> function.</p>
+
+<p>Implement the <span style="font-family: Courier New,Courier,monospace">data_get_text()</span> function to create the text you want to use. In this function, you can also choose the part name which you want to fill out. Then, call the <span style="font-family: Courier New,Courier,monospace">view_set_text()</span> function with the part name and text you obtained.</p>
+<p>In this example, the text to use is <span style="font-family: Courier New,Courier,monospace">txt_day</span> and the part name to fill out is <span style="font-family: Courier New,Courier,monospace">widget.day</span>.</p>
+<pre class="prettyprint">
+txt_day = data_get_text(&quot;widget.day&quot;);
+view_set_text(wid, &quot;widget.day&quot;, txt_day);
+</pre>
+
+<h2>Main Operation</h2>
+
+<p>The <span style="font-family: Courier New,Courier,monospace">view_set_event_callback()</span> function controls the widget main operation that launches the application.</p>
+<p>The launch options are:</p>
+<ul>
+<li><span style="font-family: Courier New,Courier,monospace">WIDGET_EVENT_PRESSED</span> for launch on a touch press event</li>
+<li><span style="font-family: Courier New,Courier,monospace">WIDGET_EVENT_RELEASED</span> for launch on a touch release event </li>
+<li><span style="font-family: Courier New,Courier,monospace">WIDGET_EVENT_CLICKED</span>for launch on a click event</li>
+</ul>
+<p>In this example, the application is launched when you click the widget.</p>
+<pre class="prettyprint">
+view_set_event_callback(wid, &quot;widget.event&quot;, WIDGET_EVENT_CLICKED, clicked_cb);
+</pre>
+
+
+
+
+
+
+<script type="text/javascript" src="../scripts/jquery.zclip.min.js"></script>
+<script type="text/javascript" src="../scripts/showhide.js"></script>
+</div></div></div>
+
+<a class="top sms" href="#"><img src="../images/btn_top.gif" alt="Go to top" /></a>
+
+<div id="footer">
+<p class="footer">Except as noted, this content - excluding the Code Examples - is licensed under <a href="http://creativecommons.org/licenses/by/3.0/legalcode" target="_blank">Creative Commons Attribution 3.0</a> and all of the Code Examples contained herein are licensed under <a href="https://www.tizen.org/bsd-3-clause-license" target="_blank">BSD-3-Clause</a>.<br/>For details, see the <a href="https://www.tizen.org/content-license" target="_blank">Content License</a>.</p>
+</div>
+
+<script type="text/javascript">
+var _gaq = _gaq || [];
+_gaq.push(['_setAccount', 'UA-25976949-1']);
+_gaq.push(['_trackPageview']);
+(function() {
+var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+})();
+</script>
+
+</body>
+</html>
+
diff --git a/org.tizen.sampledescriptions/html/wearable_n/settings_sd_wn.htm b/org.tizen.sampledescriptions/html/wearable_n/settings_sd_wn.htm
new file mode 100644 (file)
index 0000000..d5d53f5
--- /dev/null
@@ -0,0 +1,320 @@
+<!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" xml:lang="en" lang="en">
+<head>
+       <meta http-equiv="content-type" content="text/html; charset=utf-8" />
+       <meta http-equiv="X-UA-Compatible" content="IE=9" />
+       <link rel="stylesheet" type="text/css" href="../css/styles.css" />
+       <link rel="stylesheet" type="text/css" href="../css/snippet.css" />
+       <script type="text/javascript" src="../scripts/snippet.js"></script>    
+       <script type="text/javascript" src="../scripts/jquery.util.js" charset="utf-8"></script>
+       <script type="text/javascript" src="../scripts/common.js" charset="utf-8"></script>
+       <script type="text/javascript" src="../scripts/core.js" charset="utf-8"></script>
+       <script type="text/javascript" src="../scripts/search.js" charset="utf-8"></script>
+
+       <title>(Circle) Settings Sample Overview</title>  
+</head>
+
+<body class="no-toc" onload="prettyPrint()" style="overflow: auto;">
+
+<div id="toc-navigation">
+
+<div id="container"><div id="contents"><div class="content">
+
+       <div id="profile">
+               <p><img alt="Wearable native" src="../images/wearable_s_n.png"/></p>
+       </div>
+       
+</div> 
+
+
+<h1>(Circle) Settings Sample Overview</h1> 
+
+<p>The Settings sample application shows you how you can create a settings application. Especially, it demonstrates how to manage the naviframe and genlist components to create a complete view of settings application.</p>
+<p>The following figure illustrates the main screen of the Settings application.</p>
+<p class="figure">Figure: Settings main view</p>
+<p align="center"><img src="../images/settings_wearable_sd.png" alt="Settings main view" /></p>
+
+
+
+<h2>Implementation</h2> 
+
+<p>To create the settings application:</p>
+<ol>
+<li>Create the Settings UI.
+<p>The application starts with the <span style="font-family: Courier New,Courier,monospace;">main()</span> function, where the life-cycle callbacks are registered. The <span style="font-family: Courier New,Courier,monospace;">app_create()</span> callback function is called first. After that, the <span style="font-family: Courier New,Courier,monospace;">view_create()</span> function creates the base UI of the application.</p>
+<pre class="prettyprint">
+static bool
+app_create(void *data)
+{
+&nbsp;&nbsp;&nbsp;// Hook to take necessary actions before main event loop starts
+&nbsp;&nbsp;&nbsp;// Initialize UI resources and application data
+&nbsp;&nbsp;&nbsp;// If this function returns true, the main loop of application starts
+&nbsp;&nbsp;&nbsp;// If this function returns false, the application is terminated
+&nbsp;&nbsp;&nbsp;appdata_s *ad = data;
+
+&nbsp;&nbsp;&nbsp;int i = 0;
+
+&nbsp;&nbsp;&nbsp;view_create(ad);
+
+&nbsp;&nbsp;&nbsp;ad-&gt;genlist = view_create_circle_genlist(ad-&gt;nf, ad-&gt;circle_surface);
+
+&nbsp;&nbsp;&nbsp;view_append_item_to_genlist(ad-&gt;genlist, &quot;menu.title&quot;, NULL, NULL, NULL);
+
+&nbsp;&nbsp;&nbsp;for (i = 0; menu_its[i]; i++) 
+&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;view_append_item_to_genlist(ad-&gt;genlist, &quot;1text.1icon&quot;, (void *)i, _create_sub_list, (void *)i);
+&nbsp;&nbsp;&nbsp;}
+&nbsp;&nbsp;&nbsp;evas_object_data_set(ad-&gt;genlist, &quot;appdata&quot;, ad);
+
+&nbsp;&nbsp;&nbsp;view_append_item_to_genlist(ad-&gt;genlist, &quot;padding&quot;, NULL, NULL, NULL);
+
+&nbsp;&nbsp;&nbsp;view_push_item_to_naviframe(ad-&gt;nf, ad-&gt;genlist, _naviframe_pop_cb, NULL);
+
+&nbsp;&nbsp;&nbsp;return true;
+}
+</pre>
+<p>The <span style="font-family: Courier New,Courier,monospace;">view_create()</span> function creates the base UI that is composed of window, conformant, layout, and naviframe components.</p>
+<p>The wearable profile does not support the indicator function, so use a conformant that does not set the indicator mode. After that, create a <span style="font-family: Courier New,Courier,monospace;">circle_surface</span> to display a circular genlist.</p>
+<pre class="prettyprint">
+void 
+view_create(appdata_s *ad)
+{
+&nbsp;&nbsp;&nbsp;ad-&gt;win = view_create_win(PACKAGE);
+&nbsp;&nbsp;&nbsp;if (ad-&gt;win == NULL) 
+&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dlog_print(DLOG_ERROR, LOG_TAG, &quot;failed to create a window.&quot;);
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;
+&nbsp;&nbsp;&nbsp;}
+
+&nbsp;&nbsp;&nbsp;ad-&gt;conform = view_create_conformant_without_indicator(ad-&gt;win);
+&nbsp;&nbsp;&nbsp;if (ad-&gt;conform == NULL) 
+&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dlog_print(DLOG_ERROR, LOG_TAG, &quot;failed to create a conformant&quot;);
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;evas_object_del(ad-&gt;win);
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;
+&nbsp;&nbsp;&nbsp;}
+
+&nbsp;&nbsp;&nbsp;// Create the Eext Circle Surface
+&nbsp;&nbsp;&nbsp;ad-&gt;circle_surface = eext_circle_surface_conformant_add(ad-&gt;conform);
+
+&nbsp;&nbsp;&nbsp;ad-&gt;layout = view_create_layout_for_conformant(ad-&gt;conform, NULL, NULL);
+
+&nbsp;&nbsp;&nbsp;ad-&gt;nf = view_create_naviframe(ad-&gt;layout);
+&nbsp;&nbsp;&nbsp;if (ad-&gt;nf == NULL) 
+&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dlog_print(DLOG_ERROR, LOG_TAG, &quot;failed to create a naviframe.&quot;);
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;evas_object_del(ad-&gt;win);
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;
+&nbsp;&nbsp;&nbsp;}
+
+&nbsp;&nbsp;&nbsp;// Show the window after the base GUI is set up
+&nbsp;&nbsp;&nbsp;evas_object_show(ad-&gt;win);
+}
+</pre>
+<p>When it comes to layout, there are 2 methods to create layout component. One of them involves creating an edje file that you can customize, and the other uses a premade edje file. This layout is created using the premade edje file. The style can be changed with the <span style="font-family: Courier New,Courier,monospace;">elm_layout_theme_set()</span> function.</p>
+<pre class="prettyprint">
+Evas_Object* 
+view_create_layout_by_theme(Evas_Object *parent, const char *file_name, const char *group_name)
+{
+&nbsp;&nbsp;&nbsp;Evas_Object *layout = NULL;
+
+&nbsp;&nbsp;&nbsp;if (parent == NULL) 
+&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dlog_print(DLOG_ERROR, LOG_TAG, &quot;parent is NULL.&quot;);
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return NULL;
+&nbsp;&nbsp;&nbsp;}
+
+&nbsp;&nbsp;&nbsp;layout = elm_layout_add(parent);
+&nbsp;&nbsp;&nbsp;elm_layout_theme_set(layout, &quot;layout&quot;, &quot;application&quot;, &quot;default&quot;);
+&nbsp;&nbsp;&nbsp;evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+
+&nbsp;&nbsp;&nbsp;evas_object_show(layout);
+
+&nbsp;&nbsp;&nbsp;return layout;
+}
+</pre>
+</li>
+<li>Create the genlist. 
+<p>The <span style="font-family: Courier New,Courier,monospace;">view_create_circle_genlist()</span> function creates the  genlist component. The genlist component sets the list mode with the <span style="font-family: Courier New,Courier,monospace;">elm_genlist_mode_set()</span> function. To display a circular genlist, create circular genlist component supported by EFL Extension. The <span style="font-family: Courier New,Courier,monospace;">eext_circle_object_genlist_scroller_policy_set()</span> function sets the scrollbar visibility policy.</p>
+<pre class="prettyprint">
+Evas_Object*
+view_create_circle_genlist(Evas_Object *parent, Eext_Circle_Surface *circle_surface)
+{
+&nbsp;&nbsp;&nbsp;Evas_Object *genlist = NULL;
+&nbsp;&nbsp;&nbsp;Evas_Object *circle_genlist = NULL;
+
+&nbsp;&nbsp;&nbsp;if (parent == NULL) 
+&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dlog_print(DLOG_ERROR, LOG_TAG, &quot;parent is NULL.&quot;);
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return NULL;
+&nbsp;&nbsp;&nbsp;}
+
+&nbsp;&nbsp;&nbsp;if (circle_surface == NULL) 
+&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dlog_print(DLOG_ERROR, LOG_TAG, &quot;circle surface is NULL.&quot;);
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return NULL;
+&nbsp;&nbsp;&nbsp;}
+
+&nbsp;&nbsp;&nbsp;genlist = elm_genlist_add(parent);
+&nbsp;&nbsp;&nbsp;elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
+&nbsp;&nbsp;&nbsp;evas_object_smart_callback_add(genlist, &quot;selected&quot;, _gl_selected_cb, NULL);
+
+&nbsp;&nbsp;&nbsp;circle_genlist = eext_circle_object_genlist_add(genlist, circle_surface);
+&nbsp;&nbsp;&nbsp;eext_circle_object_genlist_scroller_policy_set(circle_genlist, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO);
+&nbsp;&nbsp;&nbsp;eext_rotary_object_event_activated_set(circle_genlist, EINA_TRUE);
+
+&nbsp;&nbsp;&nbsp;evas_object_show(genlist);
+
+&nbsp;&nbsp;&nbsp;return genlist;
+}
+</pre>
+</li>
+<li>Insert an item to the genlist.
+<p>An item is inserted into genlist using the <span style="font-family: Courier New,Courier,monospace;">view_append_item_to_genlist()</span> function.</p>
+<pre class="prettyprint">
+void 
+view_append_item_to_genlist(Evas_Object *genlist, const char *style,
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const void *data, Evas_Smart_Cb _clicked_cb, const void *cb_data)
+{
+&nbsp;&nbsp;&nbsp;Elm_Genlist_Item_Class *item_class = NULL;
+
+&nbsp;&nbsp;&nbsp;if (genlist == NULL) 
+&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dlog_print(DLOG_ERROR, LOG_TAG, &quot;genlist is NULL.&quot;);
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;
+&nbsp;&nbsp;&nbsp;}
+
+&nbsp;&nbsp;&nbsp;if (style == NULL) 
+&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dlog_print(DLOG_ERROR, LOG_TAG, &quot;item style is NULL.&quot;);
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;
+&nbsp;&nbsp;&nbsp;}
+
+&nbsp;&nbsp;&nbsp;item_class = _set_genlist_item_class(style);
+
+&nbsp;&nbsp;&nbsp;elm_genlist_item_append(genlist, item_class, data, NULL, ELM_GENLIST_ITEM_NONE, _clicked_cb, cb_data);
+
+&nbsp;&nbsp;&nbsp;elm_genlist_item_class_free(item_class);
+}
+</pre>
+<p>Before the item is inserted into genlist, the item class must be set. The <span style="font-family: Courier New,Courier,monospace;">_set_genlist_item_class()</span> function sets the class for each item and registers the functions to get the text and contents. These functions are called when the <span style="font-family: Courier New,Courier,monospace;">elm_genlist_item_append()</span> function runs, and they receive data as a parameter.</p>
+<pre class="prettyprint">
+static Elm_Genlist_Item_Class* 
+_set_genlist_item_class(const char *style)
+{
+&nbsp;&nbsp;&nbsp;Elm_Genlist_Item_Class *item_class = NULL;
+
+&nbsp;&nbsp;&nbsp;if (style == NULL) 
+&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dlog_print(DLOG_ERROR, LOG_TAG, &quot;style is NULL.&quot;);
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return NULL;
+&nbsp;&nbsp;&nbsp;}
+
+&nbsp;&nbsp;&nbsp;item_class = elm_genlist_item_class_new();
+
+&nbsp;&nbsp;&nbsp;if (!strcmp(style, &quot;menu.title&quot;)) 
+&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;item_class-&gt;item_style = &quot;title&quot;;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;item_class-&gt;func.text_get = data_get_menu_title_text;
+&nbsp;&nbsp;&nbsp;} 
+&nbsp;&nbsp;&nbsp;else if (!strcmp(style, &quot;display.title&quot;)) 
+&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;item_class-&gt;item_style = &quot;title&quot;;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;item_class-&gt;func.text_get = data_get_display_title_text;
+&nbsp;&nbsp;&nbsp;} 
+&nbsp;&nbsp;&nbsp;else if (!strcmp(style, &quot;1text&quot;)) 
+&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;item_class-&gt;item_style = &quot;1text&quot;;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;item_class-&gt;func.text_get = data_get_display_text;
+&nbsp;&nbsp;&nbsp;} 
+&nbsp;&nbsp;&nbsp;else if (!strcmp(style, &quot;1text.1icon&quot;)) 
+&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;item_class-&gt;item_style = &quot;1text.1icon&quot;;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;item_class-&gt;func.text_get = data_get_menu_text;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;item_class-&gt;func.content_get = _get_menu_icon;
+&nbsp;&nbsp;&nbsp;} 
+&nbsp;&nbsp;&nbsp;else if (!strcmp(style, &quot;1text.1icon.1&quot;)) 
+&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;item_class-&gt;item_style = &quot;1text.1icon.1&quot;;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;item_class-&gt;func.text_get = data_get_display_text;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;item_class-&gt;func.content_get = _get_display_icon;
+&nbsp;&nbsp;&nbsp;} 
+&nbsp;&nbsp;&nbsp;else if (!strcmp(style, &quot;2text&quot;)) 
+&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;item_class-&gt;item_style = &quot;2text&quot;;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;item_class-&gt;func.text_get = data_get_display_text;
+&nbsp;&nbsp;&nbsp;} 
+&nbsp;&nbsp;&nbsp;else if (!strcmp(style, &quot;padding&quot;))
+&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// @note
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// &quot;padding&quot; style does nothing
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// But it makes genlist item placed in the middle of the screen
+&nbsp;&nbsp;&nbsp;}
+
+&nbsp;&nbsp;&nbsp;return item_class;
+}
+</pre>
+</li>
+<li>Insert the genlist into the naviframe.
+<p>The genlist component is inserted into the naviframe component to be shown on the screen. </p>
+<pre class="prettyprint">
+void 
+view_push_item_to_naviframe(Evas_Object *nf, Evas_Object *item, Elm_Naviframe_Item_Pop_Cb _pop_cb, void *cb_data)
+{
+&nbsp;&nbsp;&nbsp;Elm_Object_Item* nf_it = NULL;
+
+&nbsp;&nbsp;&nbsp;if (nf == NULL) 
+&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dlog_print(DLOG_ERROR, LOG_TAG, &quot;naviframe is NULL.&quot;);
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;
+&nbsp;&nbsp;&nbsp;}
+
+&nbsp;&nbsp;&nbsp;if (item == NULL) 
+&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dlog_print(DLOG_ERROR, LOG_TAG, &quot;item is NULL.&quot;);
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;
+&nbsp;&nbsp;&nbsp;}
+
+&nbsp;&nbsp;&nbsp;nf_it = elm_naviframe_item_push(nf, NULL, NULL, NULL, item, &quot;empty&quot;);
+&nbsp;&nbsp;&nbsp;elm_naviframe_item_pop_cb_set(nf_it, _pop_cb, cb_data);
+}
+</pre>
+</li>
+</ol>
+
+
+<script type="text/javascript" src="../scripts/jquery.zclip.min.js"></script>
+<script type="text/javascript" src="../scripts/showhide.js"></script>
+</div></div></div>
+
+<a class="top sms" href="#"><img src="../images/btn_top.gif" alt="Go to top" /></a>
+
+<div id="footer">
+<p class="footer">Except as noted, this content - excluding the Code Examples - is licensed under <a href="http://creativecommons.org/licenses/by/3.0/legalcode" target="_blank">Creative Commons Attribution 3.0</a> and all of the Code Examples contained herein are licensed under <a href="https://www.tizen.org/bsd-3-clause-license" target="_blank">BSD-3-Clause</a>.<br/>For details, see the <a href="https://www.tizen.org/content-license" target="_blank">Content License</a>.</p>
+</div>
+
+<script type="text/javascript">
+var _gaq = _gaq || [];
+_gaq.push(['_setAccount', 'UA-25976949-1']);
+_gaq.push(['_trackPageview']);
+(function() {
+var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+})();
+</script>
+
+</body>
+</html>
+
diff --git a/org.tizen.sampledescriptions/html/wearable_n/taskmanager_sd_wn.htm b/org.tizen.sampledescriptions/html/wearable_n/taskmanager_sd_wn.htm
new file mode 100644 (file)
index 0000000..62cd7f7
--- /dev/null
@@ -0,0 +1,368 @@
+<!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" xml:lang="en" lang="en">
+<head>
+       <meta http-equiv="content-type" content="text/html; charset=utf-8" />
+       <meta http-equiv="X-UA-Compatible" content="IE=9" />
+       <link rel="stylesheet" type="text/css" href="../css/styles.css" />
+       <link rel="stylesheet" type="text/css" href="../css/snippet.css" />
+       <script type="text/javascript" src="../scripts/snippet.js"></script>    
+       <script type="text/javascript" src="../scripts/jquery.util.js" charset="utf-8"></script>
+       <script type="text/javascript" src="../scripts/common.js" charset="utf-8"></script>
+       <script type="text/javascript" src="../scripts/core.js" charset="utf-8"></script>
+       <script type="text/javascript" src="../scripts/search.js" charset="utf-8"></script>
+
+       <title>Task-manager Sample Overview</title>  
+</head>
+
+<body class="no-toc" onload="prettyPrint()" style="overflow: auto;">
+
+<div id="toc-navigation">
+
+<div id="container"><div id="contents"><div class="content">
+
+       <div id="profile">
+               <p><img alt="Wearable native" src="../images/wearable_s_n.png"/></p>
+       </div>
+       
+</div> 
+
+
+<h1>Task-manager Sample Overview</h1> 
+
+<p>The Task-manager sample application demonstrates how you can see the recently used items and delete them. By controlling the scroller, box, list, and index, you can learn to manage several items and pages on Tizen.</p>
+<p>The following figure illustrates the main screens of the Task-manager.</p>
+<p class="figure">Figure: Task-manager views</p>
+<p align="center"><img src="../images/taskmanager_wearable_sd.png" alt="Task-manager main view" /></p>
+
+<p>This sample consists of the following:</p> 
+<ul>
+<li>View
+<p class="figure">Figure: Task-manager view structure</p>
+<p align="center"><img src="../images/taskmanager_view_wearable_sd.png" alt="Task-manager view structure" /></p>
+</li>
+<li>Main operation 
+<ul>
+<li>Delete item</li>
+<li>Show the index according to the current page</li>
+<li>Close all items</li>
+</ul>
+</li>
+</ul>
+
+<h2>View</h2> 
+
+<p>The <span style="font-family: Courier New,Courier,monospace">view_create()</span> function creates the window, conformant, and layout frame as illustrated in the following figure.</p>
+<p class="figure">Figure: Task-manager frame structure</p>
+<p align="center"><img src="../images/taskmanager_layout_wearable_sd.png" alt="Task-manager frame structure" /></p>
+
+<p>To create the parts:</p>
+<ul>
+<li><span style="font-family: Courier New,Courier,monospace">task.item.list</span>
+<p>This part is for items, and consists of scroller, box, and items.</p>
+<ol>
+<li>Create the components and the layout.
+<p>To manage several items, the scroller and box components are required.</p>
+<p>The scroller makes this application scrollable, and the box allows this application to show several items through packaging and arrangement.</p>
+<p>The following example creates a horizontal scroller and a box which packs the items horizontally.</p>
+<pre class="prettyprint">
+ad-&gt;scroller = view_create_horizontal_scroller(ad);
+ad-&gt;box = view_create_horizontal_box(ad);
+</pre>
+
+<p>The following figure illustrates the structure of the scroller and the box.</p>
+<p class="figure">Figure: Scroller and box</p>
+<p align="center"><img src="../images/taskmanager_scrollerbox_wearable_sd.png" alt="Scroller and box" /></p>
+<p>The following function creates the layout frame for the item. It consists of text and image.</p>
+<pre class="prettyprint">
+item_layout = view_create_layout(ad-&gt;layout, edj_path, GRP_ITEM);
+</pre>
+<p>The following figure illustrates the item layout.</p>
+<p class="figure">Figure: Item layout</p>
+<p align="center"><img src="../images/taskmanager_item_layout_wearable_sd.png" alt="Item layout" /></p>
+</li>
+<li>Set the name and icon for the item.
+<p>The following functions set the name and icon for the item. You can pass the item name and the image file as a second parameter.</p>
+<pre class="prettyprint">
+view_set_text(item_layout, &quot;recent.item.name&quot;, name);
+view_set_image(item_layout, &quot;recent.item.image&quot;, image_file);
+</pre>
+
+<p>The part named <span style="font-family: Courier New,Courier,monospace">recent.item.del</span> is attached as an IMAGE part. You can find this in the edj file and change the image file and the position.</p>
+<p>After creating the item, put the item in the box using the following function.</p>
+<pre class="prettyprint">
+elm_box_pack_start(ad-&gt;box, item_layout);
+</pre>
+</li>
+<li>Customize the position of the items using the following function:
+<pre class="prettyprint">
+elm_box_layout_set(box, _box_layout_cb, ad, NULL);
+</pre>
+<p>Whenever the size of box is changed because of deleting or adding an item, the <span style="font-family: Courier New,Courier,monospace">_box_layout_cb()</span> function is called. You can specify the location of the item wherever you want.</p>
+</li>
+</ol>
+<p>You can create a scroller, a box, and an item at once by calling the following function.</p>
+<pre class="prettyprint">
+Evas_Object *view_create_1text_1image_delbutton_item(appdata_s *ad, char *name, char *image_file);
+</pre>
+<p>The following figure illustrates the scroller, box, and item together.</p>
+<p class="figure">Figure: Scroller, box, and item</p>
+<p align="center"><img src="../images/taskmanager_scrollerboxitem_wearable_sd.png" alt="Scroller, box, and item" /></p>
+</li>
+<li><span style="font-family: Courier New,Courier,monospace">no.apps.page</span>
+<p>The <span style="font-family: Courier New,Courier,monospace">no.apps.page</span> is an empty page that is displayed when all items are deleted.</p>
+<p>This part is made of 2 text parts and 1 image part.</p>
+<p>The following figure illustrates the layout.</p>
+<p class="figure">Figure: Empty page layout</p>
+<p align="center"><img src="../images/taskmanager_noapps_wearable_sd.png" alt="Empty page layout" /></p>
+
+<p>To fill out all these parts, call the following function.</p>
+<pre class="prettyprint">
+no_apps_page = view_create_layout_for_part(parent, edj_path, GRP_NOAPPS_PAGE, &quot;no.apps.page&quot;);
+</pre>
+
+<p>Because all the parts are attached as an image and a text in the edj file, only the edj file name is required.</p>
+<p>In the edj file, you can find a group named <span style="font-family: Courier New,Courier,monospace">GRP_NOAPPS_PAGE</span>. To customize the shape, adjust the <span style="font-family: Courier New,Courier,monospace">GRP_NOAPPS_PAGE</span> in the edj file.</p>
+</li>
+<li><span style="font-family: Courier New,Courier,monospace">task.item.index</span>
+<p>This part is the index. The circle index occupies the full screen area, but it is displayed only in the top area of the screen.</p>
+<p>The following figure illustrates the index.</p>
+<p class="figure">Figure: Index</p>
+<p align="center"><img src="../images/taskmanager_index_wearable_sd.png" alt="Index" /></p>
+
+<p>The following function creates the index.</p>
+<pre class="prettyprint">
+Evas_Object *view_create_circular_index(appdata_s *ad);
+</pre>
+<p>After creating the index, call the following function to show it.</p>
+<pre class="prettyprint">
+void view_add_circular_index(appdata_s *ad, int idx);
+</pre>
+</li>
+<li><span style="font-family: Courier New,Courier,monospace">task.del.all.btn</span>
+<p>This part creates a button that deletes all items at once.</p>
+<p>The style of the button is provided, and you can customize the word displayed in the button.</p>
+<p>The following figure illustrates the button.</p>
+<p class="figure">Figure: Bottom button</p>
+<p align="center"><img src="../images/taskmanager_bottom_btn_wearable_sd.png" alt="Bottom button" /></p>
+<p>The following function creates the button.</p>
+<pre class="prettyprint">
+Evas_Object *view_create_bottom_button(appdata_s *ad);
+</pre>
+</li>
+</ul>
+
+<h2>Main Operation</h2>
+
+<p>The Task-manager sample carries out several operations.</p>
+<ul>
+<li>Deleting items
+<p>To delete an item, the application exhanges signals caused by a part in the edj file.</p>
+<p>Set the program in the edj file to trigger a click event to delete the button named <span style="font-family: Courier New,Courier,monospace">delete.item.del</span>.</p>
+<pre class="prettyprint">
+part
+{
+&nbsp;&nbsp;&nbsp;name: &quot;recent.item.del&quot;;
+&nbsp;&nbsp;&nbsp;type: IMAGE;
+&nbsp;&nbsp;&nbsp;description
+&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;state: &quot;default&quot; 0.0;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rel1 {relative: (216-63)/216 0; to: &quot;recent.item.image&quot;;} 
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rel2 {relative: 216/216 63/216; to: &quot;recent.item.image&quot;;}
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;image.normal: &quot;b_recent_widget_del_icon.png&quot;;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;color: 184 46 46 255;
+&nbsp;&nbsp;&nbsp;}
+&nbsp;&nbsp;&nbsp;description 
+&nbsp;&nbsp;&nbsp;{ 
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;state: &quot;pressed&quot; 0.0;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inherit: &quot;default&quot; 0.0;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;color: 184 46 46 127;
+&nbsp;&nbsp;&nbsp;}
+&nbsp;&nbsp;&nbsp;description 
+&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;state: &quot;closeall&quot; 0.0;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inherit: &quot;default&quot; 0.0; 
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;min: 40 40;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;max: 40 40;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;color: 255 255 255 0;
+&nbsp;&nbsp;&nbsp;}
+}
+
+programs
+{
+&nbsp;&nbsp;&nbsp;program
+&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name: &quot;delete.clicked&quot;;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;signal: &quot;mouse,clicked,1&quot;;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;source: &quot;recent.item.del&quot;;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;action: SIGNAL_EMIT &quot;delete_button,clicked&quot; &quot;clicked&quot;;
+&nbsp;&nbsp;&nbsp;}
+}
+</pre>
+<p>If the <span style="font-family: Courier New,Courier,monospace">mouse,clicked</span> event is detected from the <span style="font-family: Courier New,Courier,monospace">recent.item.del</span> part, send the <span style="font-family: Courier New,Courier,monospace">delete_button,clicked</span> signal with source named <span style="font-family: Courier New,Courier,monospace">clicked</span>.</p>
+<p>To receive this signal, register a callback function to the item which is called when the signal is detected.</p>
+<p>In this example, if the <span style="font-family: Courier New,Courier,monospace">delete_button,clicked</span> signal is detected with the <span style="font-family: Courier New,Courier,monospace">clicked</span> source, the <span style="font-family: Courier New,Courier,monospace">_delete_btn_clicked_cb()</span> callback is called.</p>
+<pre class="prettyprint">
+elm_object_signal_callback_add(item_layout, &quot;delete_button,clicked&quot; &quot;clicked&quot;, _delete_btn_clicked_cb, ad);
+</pre>
+
+</li>
+<li>Showing the index according to the items and the current page
+<p>In both situation that the items are deleted or added and the page is moved, the index must be changed according to the items and pages.</p>
+<ol type="a">
+<li>Delete the item.
+<pre class="prettyprint">
+static void
+_delete_btn_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+&nbsp;&nbsp;&nbsp;int cur_page = -1;
+&nbsp;&nbsp;&nbsp;appdata_s *ad = data;
+&nbsp;&nbsp;&nbsp;Evas_Object *cur_item = NULL;
+
+&nbsp;&nbsp;&nbsp;Eina_List *list = elm_box_children_get(ad-&gt;box);
+
+&nbsp;&nbsp;&nbsp;elm_scroller_current_page_get(ad-&gt;scroller, &amp;cur_page, NULL);
+&nbsp;&nbsp;&nbsp;cur_item = eina_list_nth(list, cur_page);
+
+&nbsp;&nbsp;&nbsp;elm_box_unpack(ad-&gt;box, cur_item);
+&nbsp;&nbsp;&nbsp;evas_object_del(cur_item);
+
+&nbsp;&nbsp;&nbsp;update_index(ad);
+}
+</pre>
+
+<p>The following functions are called:</p>
+<pre class="prettyprint">
+// Delete the index, and count the items that exist
+void update_index(appdata_s *ad);
+// Create an index according to the number of items 
+void view_add_circular_index(appdata_s *ad, int idx);
+// Check what number is the item showing and highlight the index of the same number
+void view_sync_index_with_item(appdata_s *ad);
+</pre>
+</li>
+<li>Move the page.
+<p>By calling the following functions, the application is able to synchronize the index properly.</p>
+<pre class="prettyprint">
+static void
+_scroller_scrolled_cb(void *data, Evas_Object *scroller, void *event_info)
+{
+&nbsp;&nbsp;&nbsp;appdata_s *ad = data;
+&nbsp;&nbsp;&nbsp;view_sync_index_with_item(ad);
+}
+
+void view_sync_index_with_item(appdata_s *ad); // Check what number is the item showing and highlight the index of the same number
+</pre>
+</li>
+</ol>
+</li>
+<li>Closing all items.
+<p>You can close all items by 1 click only using an edj signal.</p>
+<p>The callback function registered on creation is called when the <span style="font-family: Courier New,Courier,monospace">bottom_button</span> is clicked.</p>
+<pre class="prettyprint">
+evas_object_smart_callback_add(del_all_btn, &quot;clicked&quot;, _del_all_btn_clicked_cb, ad-&gt;layout);
+</pre>
+<p>In the <span style="font-family: Courier New,Courier,monospace">_del_all_btn_clicked_cb()</span> callback, send a signal named <span style="font-family: Courier New,Courier,monospace">del.all.item</span> with source <span style="font-family: Courier New,Courier,monospace">item.list</span> and signal named <span style="font-family: Courier New,Courier,monospace">noapps</span> with source <span style="font-family: Courier New,Courier,monospace">show,noapps</span> to edj.</p> 
+<pre class="prettyprint">
+static void 
+_del_all_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info)
+{
+&nbsp;&nbsp;&nbsp;Evas_Object *layout = data 
+
+&nbsp;&nbsp;&nbsp;elm_object_signal_elmit(layout, &quot;del.all.item&quot;, &quot;item.list&quot;);
+&nbsp;&nbsp;&nbsp;bottom_button_disabled_set(layout, EINA_TRUE);
+&nbsp;&nbsp;&nbsp;elm_object_signal_emit(layout, &quot;noapps&quot;, &quot;show,noapps&quot;);
+}
+</pre>
+
+<p>In the edj, you must register programs to receive these signals.</p>
+<pre class="prettyprint">
+programs
+{
+&nbsp;&nbsp;&nbsp;program
+&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name: &quot;show,noapps&quot;;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;signal: &quot;noapps&quot;;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;source: &quot;show,noapps&quot;;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;action: STATE_SET &quot;noapps&quot; 0.0;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;target: &quot;bg&quot;;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;target: &quot;no.apps.page&quot;;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;target: &quot;task.item.index&quot;;
+&nbsp;&nbsp;&nbsp;}
+&nbsp;&nbsp;&nbsp;program
+&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name: &quot;hide.all.item&quot;;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;signal: &quot;del.all.item&quot;;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;source: &quot;item.list&quot;;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;action: STATE_SET &quot;hide&quot; 0.0;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;target: &quot;task.item.list&quot;;
+&nbsp;&nbsp;&nbsp;}
+}
+</pre>
+
+<p>This means that if these signals are detected with the sources, target changes their state to <span style="font-family: Courier New,Courier,monospace">noapps</span> and <span style="font-family: Courier New,Courier,monospace">hide</span>.</p>
+<pre class="prettyprint">
+part 
+{
+&nbsp;&nbsp;&nbsp;name: &quot;task.item.list&quot;;
+&nbsp;&nbsp;&nbsp;type: SWALLOW;
+&nbsp;&nbsp;&nbsp;description 
+&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;state: &quot;default&quot; 0.0;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rel1 {relative: 0.0 0.0; to: &quot;bg&quot;;}
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rel2 {relative: 1.0 1.0; to: &quot;bg&quot;;}
+&nbsp;&nbsp;&nbsp;}
+&nbsp;&nbsp;&nbsp;description
+&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;state: &quot;hide&quot; 0.0;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inherit: &quot;default&quot; 0.0;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;visible: 0;
+&nbsp;&nbsp;&nbsp;}
+}
+part 
+{
+&nbsp;&nbsp;&nbsp;name: &quot;no.apps.page&quot;;
+&nbsp;&nbsp;&nbsp;type: SWALLOW;
+&nbsp;&nbsp;&nbsp;description: 
+&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;state: &quot;default&quot; 0.0; 
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;visible: 0;
+&nbsp;&nbsp;&nbsp;}
+&nbsp;&nbsp;&nbsp;description
+&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;state: &quot;noapps&quot; 0.0; 
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rel1 {relative: 0.0 0.0; to: &quot;bg&quot;;}
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rel2 {relative: 1.0 1.0; to &quot;bg&quot;;}
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;visible: 1; 
+&nbsp;&nbsp;&nbsp;}
+}
+</pre>
+<p>To customise this application, see the functions in the <span style="font-family: Courier New,Courier,monospace">view.h</span> header file. This application is easy to customize with different variables and parameters.</p>
+</li>
+</ul>
+
+
+<script type="text/javascript" src="../scripts/jquery.zclip.min.js"></script>
+<script type="text/javascript" src="../scripts/showhide.js"></script>
+</div></div></div>
+
+<a class="top sms" href="#"><img src="../images/btn_top.gif" alt="Go to top" /></a>
+
+<div id="footer">
+<p class="footer">Except as noted, this content - excluding the Code Examples - is licensed under <a href="http://creativecommons.org/licenses/by/3.0/legalcode" target="_blank">Creative Commons Attribution 3.0</a> and all of the Code Examples contained herein are licensed under <a href="https://www.tizen.org/bsd-3-clause-license" target="_blank">BSD-3-Clause</a>.<br/>For details, see the <a href="https://www.tizen.org/content-license" target="_blank">Content License</a>.</p>
+</div>
+
+<script type="text/javascript">
+var _gaq = _gaq || [];
+_gaq.push(['_setAccount', 'UA-25976949-1']);
+_gaq.push(['_trackPageview']);
+(function() {
+var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+})();
+</script>
+
+</body>
+</html>
+
diff --git a/org.tizen.sampledescriptions/html/wearable_n/worldclock_widget_sd_wn.htm b/org.tizen.sampledescriptions/html/wearable_n/worldclock_widget_sd_wn.htm
new file mode 100644 (file)
index 0000000..30b56be
--- /dev/null
@@ -0,0 +1,111 @@
+<!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" xml:lang="en" lang="en">
+<head>
+       <meta http-equiv="content-type" content="text/html; charset=utf-8" />
+       <meta http-equiv="X-UA-Compatible" content="IE=9" />
+       <link rel="stylesheet" type="text/css" href="../css/styles.css" />
+       <link rel="stylesheet" type="text/css" href="../css/snippet.css" />
+       <script type="text/javascript" src="../scripts/snippet.js"></script>    
+       <script type="text/javascript" src="../scripts/jquery.util.js" charset="utf-8"></script>
+       <script type="text/javascript" src="../scripts/common.js" charset="utf-8"></script>
+       <script type="text/javascript" src="../scripts/core.js" charset="utf-8"></script>
+       <script type="text/javascript" src="../scripts/search.js" charset="utf-8"></script>
+
+       <title>World Clock Widget Sample Overview</title>  
+</head>
+
+<body class="no-toc" onload="prettyPrint()" style="overflow: auto;">
+
+<div id="toc-navigation">
+
+<div id="container"><div id="contents"><div class="content">
+
+       <div id="profile">
+               <p><img alt="Wearable native" src="../images/wearable_s_n.png"/></p>
+       </div>
+       
+</div> 
+
+
+<h1>World Clock Widget Sample Overview</h1> 
+
+<p>The World Clock widget sample demonstrates how to manage text objects and image objects to create a complete widget view.</p>
+<p>The following figure illustrates the main screen of the World Clock widget.</p>
+<p class="figure">Figure: World Clock main view</p>
+<p align="center"><img src="../images/worldclock_wearable_sd.png" alt="World Clock main view" /></p>
+
+<p>This sample consists of the view and main operation parts.</p> 
+
+<h2>View</h2> 
+
+<p>The <span style="font-family: Courier New,Courier,monospace">view_create()</span> function creates the widget view frame that consists of the window, text parts, and image parts.</p>
+<pre class="prettyprint">
+view_create(context, w, h);
+</pre>
+<p>The following figure illustrates the view frame.</p>
+<p class="figure">Figure: World Clock view frame</p>
+<p align="center"><img src="../images/worldclock_structure_wearable_sd.png" alt="World Clock view frame" /></p>
+
+<p>To create the parts:</p>
+<ul>
+<li>Text
+<p>You can fill out the text parts with the part name and the text using the <span style="font-family: Courier New,Courier,monospace">view_set_text()</span> function.</p>
+<p>Implement the <span style="font-family: Courier New,Courier,monospace">data_get_text()</span> function to create the text you want to use. In this function, you can also choose the part name which you want to fill out. Then, call the <span style="font-family: Courier New,Courier,monospace">view_set_text()</span> function with the part name and text you obtained.</p>
+<p>In this example, the text to use is <span style="font-family: Courier New,Courier,monospace">region_txt</span> and the part name to fill out is <span style="font-family: Courier New,Courier,monospace">widget.region</span>.</p>
+<pre class="prettyprint">
+region_txt = data_get_text(&quot;widget.region&quot;);
+view_set_text(wid, &quot;widget.region&quot;, region_txt);
+</pre>
+</li>
+<li>Image
+<p>You can create the widget with image files using the <span style="font-family: Courier New,Courier,monospace">view_set_image()</span> function. Pass the part name which you want to draw and the name of image file including its directory path.</p>
+<p>In this example, the part name is <span style="font-family: Courier New,Courier,monospace">widget.bg</span> and the name of image file is <span style="font-family: Courier New,Courier,monospace">bg.png</span> in the <span style="font-family: Courier New,Courier,monospace">images</span> directory.</p>
+<pre class="prettyprint">
+view_set_image(wid, &quot;widget.bg&quot;, &quot;images/bg.png&quot;);
+</pre>
+</li>
+</ul>
+
+<h2>Main Operation</h2>
+
+<p>The <span style="font-family: Courier New,Courier,monospace">view_set_event_callback()</span> function controls the widget main operation that launches the application.</p>
+<p>The launch options are:</p>
+<ul>
+<li><span style="font-family: Courier New,Courier,monospace">WIDGET_EVENT_PRESSED</span> for launch on a touch press event</li>
+<li><span style="font-family: Courier New,Courier,monospace">WIDGET_EVENT_RELEASED</span> for launch on a touch release event </li>
+<li><span style="font-family: Courier New,Courier,monospace">WIDGET_EVENT_CLICKED</span>for launch on a click event</li>
+</ul>
+<p>In this example, the application is launched when you click the widget.</p>
+<pre class="prettyprint">
+view_set_event_callback(wid, &quot;widget.event&quot;, WIDGET_EVENT_CLICKED, clicked_cb);
+</pre>
+
+
+
+
+
+
+<script type="text/javascript" src="../scripts/jquery.zclip.min.js"></script>
+<script type="text/javascript" src="../scripts/showhide.js"></script>
+</div></div></div>
+
+<a class="top sms" href="#"><img src="../images/btn_top.gif" alt="Go to top" /></a>
+
+<div id="footer">
+<p class="footer">Except as noted, this content - excluding the Code Examples - is licensed under <a href="http://creativecommons.org/licenses/by/3.0/legalcode" target="_blank">Creative Commons Attribution 3.0</a> and all of the Code Examples contained herein are licensed under <a href="https://www.tizen.org/bsd-3-clause-license" target="_blank">BSD-3-Clause</a>.<br/>For details, see the <a href="https://www.tizen.org/content-license" target="_blank">Content License</a>.</p>
+</div>
+
+<script type="text/javascript">
+var _gaq = _gaq || [];
+_gaq.push(['_setAccount', 'UA-25976949-1']);
+_gaq.push(['_trackPageview']);
+(function() {
+var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+})();
+</script>
+
+</body>
+</html>
+