summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKartik Tidke <kr.tidke@samsung.com>2018-06-14 21:25:21 +0530
committerKartik Tidke <kr.tidke@samsung.com>2018-06-21 22:04:54 +0530
commitc0d2812e697915ff8192c61019a315988b12d3f2 (patch)
tree7bc8f408d2894747b0cf6219152208f3259ea3ad
parent489e2a44513b2adc5c12258f2803b46f4aa6e590 (diff)
downloadwatch-face-editor-c0d2812e697915ff8192c61019a315988b12d3f2.tar.gz
watch-face-editor-c0d2812e697915ff8192c61019a315988b12d3f2.tar.bz2
watch-face-editor-c0d2812e697915ff8192c61019a315988b12d3f2.zip
Change-Id: I333e135a02a29e24f2472565303f9a94d1653a4d Signed-off-by: Kartik Tidke <kr.tidke@samsung.com>
-rwxr-xr-x.cproject661
-rwxr-xr-x.exportMap5
-rwxr-xr-x.project46
-rwxr-xr-x.tproject12
-rw-r--r--inc/app-log.h31
-rw-r--r--inc/defines.h29
-rw-r--r--inc/utils.h29
-rw-r--r--inc/view.h53
-rw-r--r--inc/watch-face-editor.h40
-rw-r--r--project_def.prop56
-rw-r--r--res/edje/color_classes.edc823
-rw-r--r--res/edje/main.edc620
-rw-r--r--res/edje/no-content-layout.edc222
-rw-r--r--res/images/battery_icon_green.pngbin0 -> 2031 bytes
-rw-r--r--res/images/default_analog_bg.pngbin0 -> 10461 bytes
-rw-r--r--res/images/default_analog_hands_hr.pngbin0 -> 2122 bytes
-rw-r--r--res/images/default_analog_hands_min.pngbin0 -> 2736 bytes
-rw-r--r--res/images/default_analog_hands_sec.pngbin0 -> 2165 bytes
-rw-r--r--res/images/focus_c01_hands.pngbin0 -> 6136 bytes
-rw-r--r--res/images/focus_dial_01.pngbin0 -> 15511 bytes
-rw-r--r--res/images/green_indicator.pngbin0 -> 1774 bytes
-rw-r--r--res/images/indicator_page.pngbin0 -> 256 bytes
-rw-r--r--res/images/recent_no_item_bg.pngbin0 -> 95220 bytes
-rw-r--r--res/images/tw_bottom_btn_bg.pngbin0 -> 3246 bytes
-rw-r--r--res/images/tw_recent_label_bg.pngbin0 -> 2281 bytes
-rw-r--r--shared/res/watch-face-editor.pngbin0 -> 4605 bytes
-rw-r--r--src/main.c167
-rw-r--r--src/utils.c43
-rw-r--r--src/view.c481
-rw-r--r--tizen-manifest.xml12
30 files changed, 3330 insertions, 0 deletions
diff --git a/.cproject b/.cproject
new file mode 100755
index 0000000..53852a7
--- /dev/null
+++ b/.cproject
@@ -0,0 +1,661 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+ <storageModule moduleId="org.eclipse.cdt.core.settings">
+ <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.app.debug.1126548959">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.app.debug.1126548959" moduleId="org.eclipse.cdt.core.settings" name="Debug">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.tizen.nativecore.NativeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactName="editor" buildArtefactType="org.tizen.nativecore.buildArtefactType.app" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.app,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.app.debug.1126548959" name="Debug" parent="org.tizen.nativecore.config.sbi.gcc45.app.debug">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.app.debug.1126548959." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.app.debug.329841160" name="Tizen Native Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.app.debug">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.1149186293" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder autoBuildTarget="all" buildPath="${workspace_loc:/watch-editor}/Debug" enableAutoBuild="true" id="org.tizen.nativecore.target.sbi.gnu.builder.1404390696" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+ <tool command="i586-linux-gnueabi-ar.exe" id="org.tizen.nativecore.tool.sbi.gnu.archiver.205644753" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="clang++.exe" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.667843209" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.1326291575" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
+ <option defaultValue="gnu.cpp.compiler.debugging.level.max" id="sbi.gnu.cpp.compiler.option.debugging.level.core.2128752567" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core" useByScannerDiscovery="false" valueType="enumerated"/>
+ <option defaultValue="false" id="sbi.gnu.cpp.compiler.option.misc.pic.core.686484252" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" useByScannerDiscovery="false" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.compiler.option.1737275064" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" useByScannerDiscovery="false" valueType="userObjs">
+ <listOptionValue builtIn="false" value="wearable-5.0-emulator.core.private.20180612_2_llvm40.i386"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.189461659" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" useByScannerDiscovery="false" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore/&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-watch&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/asp/&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/aul/&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/call-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/chromium-ewk&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-service/wearable/&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/csr&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dali&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dali-toolkit&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/device&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/device-certificate-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-buffer-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-con-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-file-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-imf-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-imf-evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-input-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-input-evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-ipc-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ector-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/emile-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eom&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-client-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/feedback&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/harfbuzz&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/iotcon&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/maps&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/metadata-editor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/nsd/&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/phonenumber-utils&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/pkgmgr&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/privacy-privilege-manager/&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/rpc-port&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/rua/&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/screen_connector_watcher_evas&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/SDL2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/tef&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/tzsh&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/unicode&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vulkan&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/watch-control&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/watchface-common&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/watchface-complication&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/watchface-complication-provider&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/watchface-editor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_viewer_dali&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_viewer_evas&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/yaca&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.1138399751" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" useByScannerDiscovery="false" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.2107772245" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.core.1364719165" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" useByScannerDiscovery="false" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.preprocessor.def.deprecation.28558126" name="Defined symbols (-D)" superClass="sbi.gnu.cpp.compiler.option.preprocessor.def.deprecation" useByScannerDiscovery="false" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="TIZEN_DEPRECATION"/>
+ <listOptionValue builtIn="false" value="DEPRECATION_WARNING"/>
+ <listOptionValue builtIn="false" value="_DEBUG"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.289312203" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool command="clang.exe" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.261182864" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.2091146271" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" useByScannerDiscovery="false" valueType="enumerated"/>
+ <option defaultValue="gnu.c.debugging.level.max" id="sbi.gnu.c.compiler.option.debugging.level.core.1247582175" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core" useByScannerDiscovery="false" valueType="enumerated"/>
+ <option defaultValue="false" id="sbi.gnu.c.compiler.option.misc.pic.core.600464131" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" useByScannerDiscovery="false" valueType="boolean"/>
+ <option id="sbi.gnu.c.compiler.option.931847772" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" useByScannerDiscovery="false" valueType="userObjs">
+ <listOptionValue builtIn="false" value="wearable-5.0-emulator.core.private.20180612_2_llvm40.i386"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.1202768365" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" useByScannerDiscovery="false" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore/&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-watch&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/asp/&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/aul/&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/call-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/chromium-ewk&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-service/wearable/&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/csr&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dali&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dali-toolkit&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/device&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/device-certificate-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-buffer-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-con-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-file-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-imf-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-imf-evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-input-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-input-evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-ipc-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ector-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/emile-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eom&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-client-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/feedback&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/harfbuzz&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/iotcon&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/maps&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/metadata-editor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/nsd/&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/phonenumber-utils&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/pkgmgr&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/privacy-privilege-manager/&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/rpc-port&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/rua/&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/screen_connector_watcher_evas&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/SDL2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/tef&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/tzsh&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/unicode&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vulkan&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/watch-control&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/watchface-common&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/watchface-complication&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/watchface-complication-provider&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/watchface-editor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_viewer_dali&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_viewer_evas&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/yaca&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.1112427125" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" useByScannerDiscovery="false" valueType="stringList">
+ <listOptionValue builtIn="false" value="$(TC_COMPILER_MISC)"/>
+ <listOptionValue builtIn="false" value="$(RS_COMPILER_MISC)"/>
+ <listOptionValue builtIn="false" value=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;$(SBI_SYSROOT)&quot;"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.1796643441" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.547269063" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" useByScannerDiscovery="false" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.preprocessor.def.symbols.deprecation.443750313" name="Defined symbols (-D)" superClass="sbi.gnu.c.compiler.option.preprocessor.def.symbols.deprecation" useByScannerDiscovery="false" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="TIZEN_DEPRECATION"/>
+ <listOptionValue builtIn="false" value="DEPRECATION_WARNING"/>
+ <listOptionValue builtIn="false" value="_DEBUG"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.645904702" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.582045090" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="clang++.exe" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.800204739" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+ <option defaultValue="false" id="sbi.gnu.cpp.link.option.strip.2019764874" name="Omit all symbol information (-s)" superClass="sbi.gnu.cpp.link.option.strip" useByScannerDiscovery="false" valueType="boolean"/>
+ <option defaultValue="false" id="sbi.gnu.cpp.linker.option.shared_flag.core.745945748" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" useByScannerDiscovery="false" valueType="boolean"/>
+ <option defaultValue="false" id="sbi.gnu.cpp.linker.option.noundefined.core.921401640" name="Report unresolved symbol references (-Wl,--no-undefined)" superClass="sbi.gnu.cpp.linker.option.noundefined.core" useByScannerDiscovery="false" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.1408449277" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" useByScannerDiscovery="false" valueType="stringList">
+ <listOptionValue builtIn="false" value="$(TC_LINKER_MISC)"/>
+ <listOptionValue builtIn="false" value="$(RS_LINKER_MISC)"/>
+ <listOptionValue builtIn="false" value="-pie -lpthread "/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;$(SBI_SYSROOT)&quot;"/>
+ <listOptionValue builtIn="false" value="-Xlinker --version-script=&quot;$(PROJ_PATH)/.exportMap&quot;"/>
+ <listOptionValue builtIn="false" value="-L&quot;$(SBI_SYSROOT)/usr/lib&quot;"/>
+ <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.1669072750" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" useByScannerDiscovery="false" valueType="libPaths">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lib}&quot;"/>
+ </option>
+ <option id="gnu.cpp.link.option.libs.485140775" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" useByScannerDiscovery="false" valueType="libs">
+ <listOptionValue builtIn="false" value="watchface-editor"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.738354801" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="#{PLATFORM_DEFAULT_GCC_PREFIX}as.exe" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.1294522251" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.44715938" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.492738977" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.1845996021" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+ <tool id="org.tizen.nativecore.tool.ast.1446585009" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.145848464" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib.1490078614" name="Archive Generator" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib"/>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.527210270" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.1407865384" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler">
+ <option id="sbi.gnu.edc.compiler.option.misc.id.412970848" superClass="sbi.gnu.edc.compiler.option.misc.id" useByScannerDiscovery="false" valueType="stringList">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/res/images&quot;"/>
+ </option>
+ </tool>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="res"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="shared"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.app.release.2072914542">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.app.release.2072914542" moduleId="org.eclipse.cdt.core.settings" name="Release">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.tizen.nativecore.NativeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactName="watch-editor" buildArtefactType="org.tizen.nativecore.buildArtefactType.app" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.app,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.app.release.2072914542" name="Release" parent="org.tizen.nativecore.config.sbi.gcc45.app.release">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.app.release.2072914542." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.app.release.563098109" name="Tizen Native Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.app.release">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.426866958" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder buildPath="${workspace_loc:/watch-editor}/Release" id="org.tizen.nativecore.target.sbi.gnu.builder.469651696" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+ <tool command="i586-linux-gnueabi-ar.exe" id="org.tizen.nativecore.tool.sbi.gnu.archiver.1829839417" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="clang++.exe" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1000811524" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.1841471161" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
+ <option defaultValue="gnu.cpp.compiler.debugging.level.none" id="sbi.gnu.cpp.compiler.option.debugging.level.core.645849157" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core" valueType="enumerated"/>
+ <option defaultValue="false" id="sbi.gnu.cpp.compiler.option.misc.pic.core.170477681" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.compiler.option.1710663883" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="wearable-5.0-emulator.core.private.20180522_1_llvm40.i386"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.818110408" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore/&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-watch&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/asp/&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/aul/&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/call-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/chromium-ewk&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-service/wearable/&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/csr&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dali&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dali-toolkit&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/device&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/device-certificate-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-buffer-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-con-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-file-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-imf-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-imf-evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-input-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-input-evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-ipc-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ector-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/emile-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eom&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-client-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/feedback&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/harfbuzz&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/iotcon&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/maps&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/metadata-editor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/nsd/&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/phonenumber-utils&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/pkgmgr&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/privacy-privilege-manager/&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/rpc-port&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/rua/&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/SDL2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/tef&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/tzsh&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/unicode&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vulkan&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/watchface-common&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/watchface-complication&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/watchface-complication-provider&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_viewer_dali&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_viewer_evas&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/yaca&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.579823452" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.71578479" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.core.456106734" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1857454032" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool command="clang.exe" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1426718858" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.option.optimization.level.1833215261" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option defaultValue="gnu.c.debugging.level.none" id="sbi.gnu.c.compiler.option.debugging.level.core.2096515552" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core" valueType="enumerated"/>
+ <option defaultValue="false" id="sbi.gnu.c.compiler.option.misc.pic.core.238552548" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.c.compiler.option.187741562" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="wearable-5.0-emulator.core.private.20180522_1_llvm40.i386"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.1389045752" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore/&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-watch&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/asp/&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/aul/&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/call-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/chromium-ewk&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-service/wearable/&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/csr&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dali&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dali-toolkit&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/device&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/device-certificate-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-buffer-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-con-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-file-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-imf-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-imf-evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-input-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-input-evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-ipc-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ector-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/emile-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eom&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-client-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/feedback&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/harfbuzz&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/iotcon&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/maps&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/metadata-editor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/nsd/&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/phonenumber-utils&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/pkgmgr&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/privacy-privilege-manager/&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/rpc-port&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/rua/&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/SDL2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/tef&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/tzsh&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/unicode&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vulkan&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/watchface-common&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/watchface-complication&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/watchface-complication-provider&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_viewer_dali&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_viewer_evas&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/yaca&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.564700100" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.352776484" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.1934691950" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1673181866" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.703481498" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="clang++.exe" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.596080271" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+ <option defaultValue="true" id="sbi.gnu.cpp.link.option.strip.167885021" name="Omit all symbol information (-s)" superClass="sbi.gnu.cpp.link.option.strip" valueType="boolean"/>
+ <option defaultValue="false" id="sbi.gnu.cpp.linker.option.shared_flag.core.1645437799" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
+ <option defaultValue="false" id="sbi.gnu.cpp.linker.option.noundefined.core.1545094966" name="Report unresolved symbol references (-Wl,--no-undefined)" superClass="sbi.gnu.cpp.linker.option.noundefined.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.2090623210" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_LINKER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_LINKER_MISC}"/>
+ <listOptionValue builtIn="false" value="-pie -lpthread "/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-Xlinker --version-script=&quot;${PROJ_PATH}/.exportMap&quot;"/>
+ <listOptionValue builtIn="false" value="-L&quot;${SBI_SYSROOT}/usr/lib&quot;"/>
+ <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.720971362" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lib}&quot;"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1626434307" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="#{PLATFORM_DEFAULT_GCC_PREFIX}as.exe" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.946400933" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1644529785" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.2143850825" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.122565608" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+ <tool id="org.tizen.nativecore.tool.ast.1143501998" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.1903228998" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib.1498605428" name="Archive Generator" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib"/>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.1761234956" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.1811726873" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="res"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="shared"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <project id="watch-editor.org.tizen.nativecore.target.sbi.gcc45.app.2129623071" name="Tizen Native Application" projectType="org.tizen.nativecore.target.sbi.gcc45.app"/>
+ </storageModule>
+ <storageModule moduleId="scannerConfiguration">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.app.release.2072914542">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ </scannerConfigBuildInfo>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.app.debug.1126548959">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ </scannerConfigBuildInfo>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
+ <storageModule moduleId="refreshScope"/>
+ <storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
+</cproject>
diff --git a/.exportMap b/.exportMap
new file mode 100755
index 0000000..de30516
--- /dev/null
+++ b/.exportMap
@@ -0,0 +1,5 @@
+{
+ global: main;
+ _IO_*;
+ local: *;
+};
diff --git a/.project b/.project
new file mode 100755
index 0000000..20f5499
--- /dev/null
+++ b/.project
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>watch-editor</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.cdt.core.cnature</nature>
+ <nature>org.eclipse.cdt.core.ccnature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+ </natures>
+ <filteredResources>
+ <filter>
+ <id>1527740953423</id>
+ <name></name>
+ <type>26</type>
+ <matcher>
+ <id>org.eclipse.ui.ide.multiFilter</id>
+ <arguments>1.0-projectRelativePath-matches-false-false-*/.tpk</arguments>
+ </matcher>
+ </filter>
+ <filter>
+ <id>1527740953433</id>
+ <name></name>
+ <type>6</type>
+ <matcher>
+ <id>org.eclipse.ui.ide.multiFilter</id>
+ <arguments>1.0-name-matches-false-false-project_def.prop</arguments>
+ </matcher>
+ </filter>
+ </filteredResources>
+</projectDescription>
diff --git a/.tproject b/.tproject
new file mode 100755
index 0000000..ccab492
--- /dev/null
+++ b/.tproject
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<tproject xmlns="http://www.tizen.org/tproject">
+ <platforms>
+ <platform>
+ <name>wearable-5.0</name>
+ </platform>
+ </platforms>
+ <package>
+ <blacklist/>
+ <resFallback autoGen="true"/>
+ </package>
+</tproject>
diff --git a/inc/app-log.h b/inc/app-log.h
new file mode 100644
index 0000000..545b9f6
--- /dev/null
+++ b/inc/app-log.h
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2018 Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _APP_LOG_H_
+#define _APP_LOG_H_
+
+#include <watch-face-editor.h>
+
+/* Debug Log */
+#define __D(format, arg...) dlog_print(DLOG_DEBUG, LOG_TAG, format, ##arg)
+
+/* Info Log */
+#define __I(format, arg...) dlog_print(DLOG_INFO, LOG_TAG, format, ##arg)
+
+/* Error Log */
+#define __E(format, arg...) dlog_print(DLOG_ERROR, LOG_TAG, format, ##arg)
+
+#endif /* _APP_LOG_H_ */
diff --git a/inc/defines.h b/inc/defines.h
new file mode 100644
index 0000000..719ba56
--- /dev/null
+++ b/inc/defines.h
@@ -0,0 +1,29 @@
+/*
+ * Copyright (c) 2018 Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _DEFINES_H_
+#define _DEFINES_H_
+
+#define SIGNAL_OK_CLICKED "signal,btn_ok,clicked"
+#define HOME_WATCH_APPID "org.tizen.analog-watch"
+
+#define MSG_ID_PAGE_COUNT 1
+#define MSG_ID_PAGE_SET 2
+#define MSG_ID_CANDIDATE_SELECTED_SET 3
+
+#define APPS_SWIPE_MIN_DISTANCE 100
+
+#endif /* _DEFINES_H_ */
diff --git a/inc/utils.h b/inc/utils.h
new file mode 100644
index 0000000..2c73c63
--- /dev/null
+++ b/inc/utils.h
@@ -0,0 +1,29 @@
+/*
+ * Copyright (c) 2018 Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _UTILS_H_
+#define _UTILS_H_
+
+#include <watch-face-editor.h>
+
+/*
+ * @brief Creates path to the given resource file by concatenation of the basic resource path and the given file_name.
+ * @param[in] file_name File name or path relative to the resource directory.
+ * @return: The absolute path to the resource with given file_name is returned.
+ */
+char *util_create_resource_path(const char *file_name);
+
+#endif /* _UTILS_H_ */
diff --git a/inc/view.h b/inc/view.h
new file mode 100644
index 0000000..56d5443
--- /dev/null
+++ b/inc/view.h
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2018 Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _VIEW_H_
+#define _VIEW_H_
+
+#include <watch-face-editor.h>
+
+#define MAIN_EDJ "edje/main.edj"
+#define NO_CONTENT_EDJ "edje/no-content-layout.edj"
+#define MAIN_GRP "main"
+#define NO_CONTENT_GRP "no_content"
+
+/*
+ * @brief Makes and sets a layout to the part
+ * @param[parent]: Object to which you want to set this layout
+ * @param[file_path]: File path of EDJ will be used
+ * @param[group_name]: Group name in EDJ that you want to set to layout
+ * @param[part_name]: Part name to which you want to set this layout
+ */
+Evas_Object *view_create_layout_for_part(Evas_Object *parent, char *file_path, char *group_name, char *part_name);
+
+/*
+ * @brief Destroys window and frees its resources.
+ */
+void view_destroy(void);
+
+/**
+ * @brief Creates main view
+ * @param[in] pkg_name Application ID of watch app
+ */
+Eina_Bool view_create(char *watch_appid);
+
+/**
+ * @brief Creats window at very bottom layer
+ * @param[in] pkg_name Application ID of editor App
+ */
+Evas_Object *view_create_win(const char *pkg_name);
+
+#endif /* _VIEW_H_ */
diff --git a/inc/watch-face-editor.h b/inc/watch-face-editor.h
new file mode 100644
index 0000000..7c2222e
--- /dev/null
+++ b/inc/watch-face-editor.h
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) 2018 Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __watch_face_editor_H__
+#define __watch_face_editor_H__
+
+#include <app.h>
+#include <Elementary.h>
+#include <system_settings.h>
+#include <efl_extension.h>
+#include <dlog.h>
+#include <watchface-editor.h>
+#include <watchface-editable.h>
+#include <watchface-complication.h>
+
+#ifdef LOG_TAG
+#undef LOG_TAG
+#endif /* LOG_TAG */
+
+#define LOG_TAG "watch-face-editor"
+
+#if !defined(PACKAGE)
+#define PACKAGE "org.tizen.watch-face-editor"
+#endif /* PACKAGE */
+
+#endif /* __watch_face_editor_H__ */
+
diff --git a/project_def.prop b/project_def.prop
new file mode 100644
index 0000000..847d058
--- /dev/null
+++ b/project_def.prop
@@ -0,0 +1,56 @@
+# Project Name
+APPNAME = watch-face-editor
+
+# Project Type
+type = app
+
+# Project Profile
+profile = wearable-5.0
+
+# C/CPP Sources
+USER_SRCS = src/main.c src/utils.c src/view.c
+
+# EDC Sources
+USER_EDCS =
+
+# User Defines
+USER_DEFS = TIZEN_DEPRECATION DEPRECATION_WARNING
+USER_CPP_DEFS =
+
+# User Undefines
+USER_UNDEFS =
+USER_CPP_UNDEFS =
+
+
+# User Libraries
+USER_LIBS =
+
+# User Objects
+USER_OBJS =
+
+
+# User Includes
+## C Compiler
+USER_C_INC_DIRS = inc
+USER_INC_FILES =
+## C++ Compiler
+USER_CPP_INC_DIRS =
+USER_CPP_INC_FILES =
+
+USER_INC_DIRS = $(USER_C_INC_DIRS) $(USER_CPP_INC_DIRS)
+
+# User Library Path
+USER_LIB_DIRS =
+
+# EDC Resource Path
+USER_EDCS_IMAGE_DIRS = ${OUTPUT_DIR} res/images
+
+# EDC Flags
+USER_EXT_EDC_KEYS = EDC0
+
+USER_EXT_EDC0_EDCS = res/edje/main.edc res/edje/color_classes.edc res/edje/no-content-layout.edc
+USER_EXT_EDC0_EDCS_IMAGE_DIRS = ${OUTPUT_DIR} res/images
+
+# Resource Filter
+USER_RES_INCLUDE =
+USER_RES_EXCLUDE = \ No newline at end of file
diff --git a/res/edje/color_classes.edc b/res/edje/color_classes.edc
new file mode 100644
index 0000000..d0db146
--- /dev/null
+++ b/res/edje/color_classes.edc
@@ -0,0 +1,823 @@
+/*
+ * Samsung API
+ * Copyright (c) 2018 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Flora License, Version 1.1 (the License);
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+color_classes {
+ color_class {
+ name: "AO0011D";
+ color: 250 250 250 77;
+ }
+ color_class {
+ name: "AO0011";
+ color: 250 250 250 255;
+ }
+ color_class {
+ name: "AO0014";
+ color: 0 0 0 255;
+ }
+ color_class {
+ name: "AO0012";
+ color: 0 0 0 255;
+ }
+ color_class {
+ name: "AO0012S";
+ color: 0 0 0 255;
+ }
+ color_class {
+ name: "AO0021";
+ color: 250 250 250 77;
+ }
+ color_class {
+ name: "AO0021S";
+ color: 250 250 250 255;
+ }
+ color_class {
+ name: "AO0111";
+ color: 0 0 0 102;
+ }
+ color_class {
+ name: "AO0112";
+ color: 0 0 0 165;
+ }
+ color_class {
+ name: "AO0113";
+ color: 10 10 10 255;
+ }
+ color_class {
+ name: "AO0121L1";
+ color: 21 191 52 255;
+ }
+ color_class {
+ name: "AO0121L1P";
+ color: 21 191 52 127;
+ }
+ color_class {
+ name: "AO0121L2";
+ color: 8 181 224 255;
+ }
+ color_class {
+ name: "AO0121L2P";
+ color: 8 181 224 127;
+ }
+ color_class {
+ name: "AO0121L3";
+ color: 23 144 237 255;
+ }
+ color_class {
+ name: "AO0121L3P";
+ color: 23 144 237 127;
+ }
+ color_class {
+ name: "AO0121L4";
+ color: 255 161 0 255;
+ }
+ color_class {
+ name: "AO0121L4P";
+ color: 255 161 0 127;
+ }
+ color_class {
+ name: "AO0121L5";
+ color: 255 114 0 255;
+ }
+ color_class {
+ name: "AO0121L5P";
+ color: 255 114 0 127;
+ }
+ color_class {
+ name: "AO0121L6";
+ color: 255 59 0 255;
+ }
+ color_class {
+ name: "AO0121L6P";
+ color: 255 59 0 127;
+ }
+ color_class {
+ name: "AO0121L7";
+ color: 160 91 239 255;
+ }
+ color_class {
+ name: "AO0121L7P";
+ color: 160 91 239 127;
+ }
+ color_class {
+ name: "AO0121L8";
+ color: 0 0 0 255;
+ }
+ color_class {
+ name: "AO0121L8P";
+ color: 0 0 0 127;
+ }
+ color_class {
+ name: "AO0122L1";
+ color: 255 255 255 255;
+ }
+ color_class {
+ name: "AO0122L2";
+ color: 61 61 61 255;
+ }
+ color_class {
+ name: "AO0123L1";
+ color: 51 51 51 255;
+ }
+ color_class {
+ name: "AO0123L2";
+ color: 160 160 160 255;
+ }
+ color_class {
+ name: "AO013L1";
+ color: 255 106 0 255;
+ }
+ color_class {
+ name: "AO013L2";
+ color: 0 0 0 255;
+ }
+ color_class {
+ name: "AO014";
+ color: 0 0 0 255;
+ }
+ color_class {
+ name: "AO14P";
+ color: 0 0 0 127;
+ }
+ color_class {
+ name: "AO014P";
+ color: 249 249 249 127;
+ }
+ color_class {
+ name: "AO0151";
+ color: 0 0 0 102;
+ }
+ color_class {
+ name: "AO0151P";
+ color: 0 0 0 165;
+ }
+ color_class {
+ name: "AO0151D";
+ color: 0 0 0 51;
+ }
+ color_class {
+ name: "AO0152";
+ color: 0 0 0 76;
+ }
+ color_class {
+ name: "AO0152P";
+ color: 0 0 0 38;
+ }
+ color_class {
+ name: "AO0152D";
+ color: 0 0 0 25;
+ }
+ color_class {
+ name: "AO0161";
+ color: 0 0 0 102;
+ }
+ color_class {
+ name: "AO0161P";
+ color: 0 0 0 165;
+ }
+ color_class {
+ name: "AO0161D";
+ color: 0 0 0 51;
+ }
+ color_class {
+ name: "AO0162";
+ color: 212 213 214 76;
+ }
+ color_class {
+ name: "AO0162P";
+ color: 212 213 214 76;
+ }
+ color_class {
+ name: "AO0162D";
+ color: 212 213 214 76;
+ }
+ color_class {
+ name: "AO021";
+ color: 127 127 127 255;
+ }
+ color_class {
+ name: "AO021S";
+ color: 165 63 56 255;
+ }
+ color_class {
+ name: "AO022";
+ color: 0 105 147 255;
+ }
+ color_class {
+ name: "AO023";
+ color: 0 0 0 102;
+ }
+ color_class {
+ name: "AO024";
+ color: 0 0 0 255;
+ }
+ color_class {
+ name: "AO024P";
+ color: 0 0 0 127;
+ }
+ color_class {
+ name: "AO0251L1";
+ color: 255 255 255 255;
+ }
+ color_class {
+ name: "AO0251L2";
+ color: 61 61 61 255;
+ }
+ color_class {
+ name: "AO0252L1";
+ color: 51 51 51 255;
+ }
+ color_class {
+ name: "AO0252L2";
+ color: 160 160 160 255;
+ }
+ color_class {
+ name: "AO031";
+ color: 0 0 0 127;
+ }
+ color_class {
+ name: "AO032";
+ color: 0 0 0 127;
+ }
+ color_class {
+ name: "AO0321";
+ color: 0 0 0 255;
+ }
+ color_class {
+ name: "AO032S";
+ color: 0 0 0 127;
+ }
+ color_class {
+ name: "AO033";
+ color: 0 0 0 51;
+ }
+ color_class {
+ name: "AO033P";
+ color: 0 0 0 51;
+ }
+ color_class {
+ name: "AO034";
+ color: 250 250 250 255;
+ }
+ color_class {
+ name: "AO034P";
+ color: 250 250 250 127;
+ }
+ color_class {
+ name: "AO035";
+ color: 201 221 220 255;
+ }
+ color_class {
+ name: "AO035P";
+ color: 201 221 220 127;
+ }
+ color_class {
+ name: "AO0401";
+ color: 0 166 255 255;
+ }
+ color_class {
+ name: "AO0401A";
+ color: 70 124 191 255;
+ }
+ color_class {
+ name: "AO0402";
+ color: 0 184 235 255;
+ }
+ color_class {
+ name: "AO0402A";
+ color: 0 150 191 255;
+ }
+ color_class {
+ name: "AO0403";
+ color: 0 235 215 255;
+ }
+ color_class {
+ name: "AO0403A";
+ color: 0 179 164 255;
+ }
+ color_class {
+ name: "AO0404";
+ color: 168 250 80 255;
+ }
+ color_class {
+ name: "AO0404A";
+ color: 120 179 57 255;
+ }
+ color_class {
+ name: "AO0405";
+ color: 196 240 0 255;
+ }
+ color_class {
+ name: "AO0405A";
+ color: 146 179 0 255;
+ }
+ color_class {
+ name: "AO0406";
+ color: 255 248 56 255;
+ }
+ color_class {
+ name: "AO0406A";
+ color: 191 186 42 255;
+ }
+ color_class {
+ name: "AO0407";
+ color: 255 161 20 255;
+ }
+ color_class {
+ name: "AO0407A";
+ color: 204 129 16 255;
+ }
+ color_class {
+ name: "AO0408";
+ color: 255 102 0 255;
+ }
+ color_class {
+ name: "AO0408A";
+ color: 191 77 0 255;
+ }
+ color_class {
+ name: "AO0409";
+ color: 255 52 41 255;
+ }
+ color_class {
+ name: "AO0409A";
+ color: 191 39 31 255;
+ }
+ color_class {
+ name: "AO0410";
+ color: 230 62 188 255;
+ }
+ color_class {
+ name: "AO0410A";
+ color: 179 48 146 255;
+ }
+ color_class {
+ name: "AO0411";
+ color: 150 77 240 255;
+ }
+ color_class {
+ name: "AO0411A";
+ color: 104 53 166 255;
+ }
+ color_class {
+ name: "AO0412";
+ color: 255 255 255 255;
+ }
+ color_class {
+ name: "AO0412A";
+ color: 179 179 179 255;
+ }
+ color_class {
+ name: "AO041";
+ color: 0 0 0 127;
+ }
+ color_class {
+ name: "AO042";
+ color: 0 0 0 255;
+ }
+ color_class {
+ name: "AO043";
+ color: 0 0 0 255;
+ }
+ color_class {
+ name: "AO044L1";
+ color: 250 250 250 255;
+ }
+ color_class {
+ name: "AO044L2";
+ color: 0 0 0 255;
+ }
+ color_class {
+ name: "AO044L3";
+ color: 184 46 46 255;
+ }
+ color_class {
+ name: "AO044L4";
+ color: 0 0 0 90;
+ }
+ color_class {
+ name: "AO045";
+ color: 0 0 0 127;
+ }
+ color_class {
+ name: "AO046";
+ color: 0 0 0 127;
+ }
+ color_class {
+ name: "AO047";
+ color: 0 0 0 127;
+ }
+ color_class {
+ name: "AO0481";
+ color: 0 0 0 51;
+ }
+ color_class {
+ name: "AO0482";
+ color: 0 0 0 25;
+ }
+ color_class {
+ name: "AO0491";
+ color: 250 250 250 26;
+ }
+ color_class {
+ name: "AO0493";
+ color: 0 0 0 100;
+ }
+ color_class {
+ name: "AO051S";
+ color: 155 234 18 229;
+ }
+ color_class {
+ name: "AO051";
+ color: 0 0 0 229;
+ }
+ color_class {
+ name: "AO051D";
+ color: 155 234 18 127;
+ }
+ color_class {
+ name: "AO052L1S";
+ color: 0 0 0 255;
+ }
+ color_class {
+ name: "AO052L1";
+ color: 0 0 0 255;
+ }
+ color_class {
+ name: "AO052L1D";
+ color: 0 0 0 255;
+ }
+ color_class {
+ name: "AO052L2S";
+ color: 160 141 56 255;
+ }
+ color_class {
+ name: "AO052L2";
+ color: 45 45 45 255;
+ }
+ color_class {
+ name: "AO052L2D";
+ color: 160 141 56 127;
+ }
+ color_class {
+ name: "AO053";
+ color: 0 0 0 255;
+ }
+ color_class {
+ name: "AO0531";
+ color: 54 77 84 255;
+ }
+ color_class {
+ name: "AO054L1S";
+ color: 0 20 28 255;
+ }
+ color_class {
+ name: "AO054L1";
+ color: 0 20 28 255;
+ }
+ color_class {
+ name: "AO054L1D";
+ color: 0 20 28 127;
+ }
+ color_class {
+ name: "AO054L2S";
+ color: 172 234 0 229;
+ }
+ color_class {
+ name: "AO054L2";
+ color: 255 255 255 255;
+ }
+ color_class {
+ name: "AO054L2D";
+ color: 255 255 255 127;
+ }
+ color_class {
+ name: "AO056L1";
+ color: 25 25 25 255;
+ }
+ color_class {
+ name: "AO056L1P";
+ color: 25 25 25 127;
+ }
+ color_class {
+ name: "AO056L2";
+ color: 76 76 76 255;
+ }
+ color_class {
+ name: "AO056L2P";
+ color: 76 76 76 127;
+ }
+ color_class {
+ name: "AO056L3";
+ color: 186 255 0 255;
+ }
+ color_class {
+ name: "AO056L3P";
+ color: 186 255 0 127;
+ }
+ color_class {
+ name: "AO056L4";
+ color: 0 0 0 127;
+ }
+ color_class {
+ name: "AO056L4P";
+ color: 0 0 0 63;
+ }
+ color_class {
+ name: "AO056L5";
+ color: 0 0 0 255;
+ }
+ color_class {
+ name: "AO056L5P";
+ color: 0 0 0 127;
+ }
+ color_class {
+ name: "AO057";
+ color: 56 56 56 255;
+ }
+ color_class {
+ name: "AO058";
+ color: 0 0 0 255;
+ }
+ color_class {
+ name: "AO058P";
+ color: 0 0 0 127;
+ }
+ color_class {
+ name: "AO058D";
+ color: 0 0 0 38;
+ }
+ color_class {
+ name: "AO061";
+ color: 0 0 0 102;
+ }
+ color_class {
+ name: "AO062";
+ color: 0 0 0 63;
+ }
+ color_class {
+ name: "AO062P";
+ color: 0 0 0 127;
+ }
+ color_class {
+ name: "AO063";
+ color: 0 0 0 127;
+ }
+ color_class {
+ name: "AO064";
+ color: 0 0 0 255;
+ }
+ color_class {
+ name: "AO064P";
+ color: 0 0 0 127;
+ }
+ color_class {
+ name: "AO065";
+ color: 0 0 0 63;
+ }
+ color_class {
+ name: "AO0661";
+ color: 0 0 0 25;
+ }
+ color_class {
+ name: "AO0662";
+ color: 0 0 0 127;
+ }
+ color_class {
+ name: "AO0663";
+ color: 0 0 0 63;
+ }
+ color_class {
+ name: "AO0664";
+ color: 255 255 255 127;
+ }
+ color_class {
+ name: "AO081S";
+ color: 178 255 0 76;
+ }
+ color_class {
+ name: "AO081";
+ color: 212 213 214 76;
+ }
+ color_class {
+ name: "AO081D";
+ color: 212 213 214 38;
+ }
+ color_class {
+ name: "AO082";
+ color: 0 0 0 178;
+ }
+ color_class {
+ name: "AO082P";
+ color: 0 0 0 255;
+ }
+ color_class {
+ name: "AO082D";
+ color: 0 0 0 51;
+ }
+ color_class {
+ name: "AO083L1";
+ color: 0 0 0 102;
+ }
+ color_class {
+ name: "AO083L1P";
+ color: 0 0 0 102;
+ }
+ color_class {
+ name: "AO083L2";
+ color: 186 255 0 255;
+ }
+ color_class {
+ name: "AO083L2P";
+ color: 186 255 0 127;
+ }
+ color_class {
+ name: "AO084L1";
+ color: 0 0 0 102;
+ }
+ color_class {
+ name: "AO084L1P";
+ color: 0 0 0 102;
+ }
+ color_class {
+ name: "AO084L2";
+ color: 158 158 158 178;
+ }
+ color_class {
+ name: "AO084L2P";
+ color: 158 158 158 89;
+ }
+ color_class {
+ name: "AO085L1";
+ color: 0 0 0 102;
+ }
+ color_class {
+ name: "AO085L2";
+ color: 0 0 0 51;
+ }
+ color_class {
+ name: "AO086L1";
+ color: 0 0 0 102;
+ }
+ color_class {
+ name: "AO086L1P";
+ color: 0 0 0 102;
+ }
+ color_class {
+ name: "AO086L2";
+ color: 0 0 0 178;
+ }
+ color_class {
+ name: "AO086L2P";
+ color: 0 0 0 89;
+ }
+ color_class {
+ name: "AT0111";
+ color: 0 0 0 255;
+ }
+ color_class {
+ name: "AT0112";
+ color: 0 0 0 255;
+ }
+ color_class {
+ name: "AT0121";
+ color: 0 0 0 255;
+ }
+ color_class {
+ name: "AT0121P";
+ color: 0 0 0 127;
+ }
+ color_class {
+ name: "AT0122";
+ color: 0 0 0 255;
+ }
+ color_class {
+ name: "AT0122P";
+ color: 0 0 0 127;
+ }
+ color_class {
+ name: "AT0131";
+ color: 0 0 0 255;
+ }
+ color_class {
+ name: "AT0132";
+ color: 0 0 0 255;
+ }
+ color_class {
+ name: "AT0133";
+ color: 0 0 0 255;
+ }
+ color_class {
+ name: "AT0134";
+ color: 0 0 0 255;
+ }
+ color_class {
+ name: "AT014";
+ color: 0 0 0 255;
+ }
+ color_class {
+ name: "AT014P";
+ color: 0 0 0 127;
+ }
+ color_class {
+ name: "AT014D";
+ color: 0 0 0 51;
+ }
+ color_class {
+ name: "AT021";
+ color: 249 249 249 255;
+ }
+ color_class {
+ name: "AT0311";
+ color: 0 0 0 255;
+ }
+ color_class {
+ name: "AT0312";
+ color: 255 255 255 127;
+ }
+ color_class {
+ name: "AT041S";
+ color: 178 255 0 255;
+ }
+ color_class {
+ name: "AT041";
+ color: 0 0 0 153;
+ }
+ color_class {
+ name: "AT041D";
+ color: 0 0 0 63;
+ }
+ color_class {
+ name: "AT043";
+ color: 0 0 0 255;
+ }
+ color_class {
+ name: "AT043P";
+ color: 0 0 0 127;
+ }
+ color_class {
+ name: "AT043D";
+ color: 0 0 0 38;
+ }
+ color_class {
+ name: "AT045";
+ color: 0 0 0 255;
+ }
+ color_class {
+ name: "AT045P";
+ color: 0 0 0 255;
+ }
+ color_class {
+ name: "AT054";
+ color: 0 0 0 127;
+ }
+ color_class {
+ name: "AT054P";
+ color: 0 0 0 63;
+ }
+ color_class {
+ name: "AT054D";
+ color: 0 0 0 20;
+ }
+ color_class {
+ name: "AT055";
+ color: 186 255 0 255;
+ }
+ color_class {
+ name: "AT055P";
+ color: 186 255 0 127;
+ }
+ color_class {
+ name: "AT056";
+ color: 0 0 0 127;
+ }
+ color_class {
+ name: "AT056P";
+ color: 0 0 0 63;
+ }
+ color_class {
+ name: "AT057";
+ color: 0 0 0 63;
+ }
+ color_class {
+ name: "B018E";
+ color: 165 63 56 178;
+ }
+ color_class {
+ name: "B019";
+ color: 165 63 56 255;
+ }
+}
diff --git a/res/edje/main.edc b/res/edje/main.edc
new file mode 100644
index 0000000..9cfa06c
--- /dev/null
+++ b/res/edje/main.edc
@@ -0,0 +1,620 @@
+/*
+ * Copyright (c) 2018 Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "color_classes.edc"
+
+#define IMAGE_BG "default_analog_bg.png"
+#define IMAGE_FOCUS_DIAL "focus_dial_01.png"
+#define IMAGE_HANDS_HR "default_analog_hands_hr.png"
+#define IMAGE_HANDS_MIN "default_analog_hands_min.png"
+#define IMAGE_HANDS_SEC "default_analog_hands_sec.png"
+#define IMAGE_FOCUS_HANDS_SEC "focus_c01_hands.png"
+#define IMAGE_BOTTOM_BTN_BG "tw_bottom_btn_bg.png"
+#define IMAGE_INDICATOR_PAGE "indicator_page.png"
+#define IMAGE_PAGE_TITLE_BG "tw_recent_label_bg.png"
+#define IMAGE_BATTERY_ICON "battery_icon_green.png"
+#define IMAGE_BATTERY_INDICATOR "green_indicator.png"
+#define IMAGE_NO_ITEM_BG "recent_no_item_bg.png"
+
+#define BASE_WIDTH 360
+#define BASE_HEIGHT 360
+#define HANDS_SEC_WIDTH 40
+#define HANDS_SEC_HEIGHT 360
+#define HANDS_MIN_WIDTH 40
+#define HANDS_MIN_HEIGHT 360
+#define HANDS_HOUR_WIDTH 40
+#define HANDS_HOUR_HEIGHT 360
+#define FONT_TITLE_SIZE 24
+#define PADDING_SEC_HAND 1
+#define FONT_TITLE_TYPE "BreezeSans:style=medium"
+#define SIGNAL_OK_CLICKED "signal,btn_ok,clicked"
+
+#define COLOR_PAGE_SELECTED_R 0
+#define COLOR_PAGE_SELECTED_G 160
+#define COLOR_PAGE_SELECTED_B 255
+#define COLOR_PAGE_SELECTED_A 255
+
+#define COLOR_PAGE_UNSELECTED_R 255
+#define COLOR_PAGE_UNSELECTED_G 255
+#define COLOR_PAGE_UNSELECTED_B 255
+#define COLOR_PAGE_UNSELECTED_A 255
+
+#define STATE_DEFAULT "default"
+#define STATE_CUSTOM "custom"
+#define STATE_PART_VISIBLE "visible"
+#define STATE_SELECTED "selected"
+#define STATE_HIDDEN "hidden"
+#define STATE_DISABLED "disabled"
+
+#define PART_INDICATOR_NAME "indicator_"
+#define MAX_PART_NAME_LEN 255
+#define PAGE_INDICATOR_DOT_COUNT 5
+
+#define MSG_ID_DEBUG 25
+#define MSG_ID_PAGE_COUNT 1
+#define MSG_ID_PAGE_SET 2
+#define MSG_ID_CANDIDATE_SELECTED_SET 3
+#define MSG_ID_STYLE_SET 7
+#define MSG_ID_ICON_VISIBILITY 4
+#define MSG_ID_CANDIDATE_BG_HIDE 5
+#define MSG_ID_CANDIDATE_BG_SHOW 6
+#define MSG_ID_STYLE_SET 7
+
+#define MSG_ID_DEBUG 25
+#define MSG_ID_PAGE_COUNT 1
+#define MSG_ID_PAGE_SET 2
+#define MSG_ID_CANDIDATE_SELECTED_SET 3
+#define MSG_ID_ICON_VISIBILITY 4
+#define MSG_ID_CANDIDATE_BG_HIDE 5
+#define MSG_ID_CANDIDATE_BG_SHOW 6
+#define MSG_ID_STYLE_SET 7
+
+#define MAIN_GRP "main"
+#define STATE_DEFAULT "default"
+
+#define PART_BG "bg"
+#define PART_FOCUS_BG "preview_focus__bg"
+#define PART_PREVIEW_BG "preview_bg"
+#define PART_RIGHT_COMP "right.complication.module"
+#define PART_ICON_BATTERY "image.battery.icon"
+#define PART_INDICATOR_BATTERY "img.battery.indicator"
+#define PART_PREVIEW_HAND_HR "preview_hand_hr"
+#define PART_PREVIEW_HAND_SEC "preview_hand_sec"
+#define PART_PREVIEW_HAND_MIN "preview_hand_min"
+#define PART_FOCUS_HAND_SEC "focus_hand_sec"
+#define PART_SIZE_SETTER "size_setter"
+#define PART_BOTTOM_BUTTON_BG "bottom_btn_bg"
+#define PART_COMP "comp"
+#define PART_VALUE_BATTERY "txt.battery.value"
+#define PART_NO_CONTENT_BG "no_content_bg"
+#define PART_NO_CONTENT_BG_IMAGE "no_content_bg_image"
+#define PART_NO_CONTENT_TEXT "elm.text"
+
+#define LABEL_BOTTOM_BUTTON "bottom_btn_label"
+#define STATE_PRESSED "pressed"
+#define PART_PAGE_TITLE_BG "page_title_bg"
+#define TEXT_PAGE_TITLE "page_title"
+
+#define PART_PAGE_INDICATOR(num) \
+part { \
+ name: PART_INDICATOR_NAME##num; \
+ type: IMAGE; \
+ description { \
+ state: STATE_DEFAULT 0.0; \
+ image { \
+ normal: IMAGE_INDICATOR_PAGE; \
+ } \
+ color: COLOR_PAGE_UNSELECTED_R COLOR_PAGE_UNSELECTED_G COLOR_PAGE_UNSELECTED_B COLOR_PAGE_UNSELECTED_A; \
+ } \
+ description { \
+ state: STATE_SELECTED 0.0; \
+ inherit: STATE_DEFAULT; \
+ color: COLOR_PAGE_SELECTED_R COLOR_PAGE_SELECTED_G COLOR_PAGE_SELECTED_B COLOR_PAGE_SELECTED_A; \
+ } \
+}
+
+images {
+ image:IMAGE_BG COMP;
+ image:IMAGE_FOCUS_DIAL COMP;
+ image:IMAGE_HANDS_HR COMP;
+ image:IMAGE_HANDS_MIN COMP;
+ image:IMAGE_HANDS_SEC COMP;
+ image:IMAGE_FOCUS_HANDS_SEC COMP;
+ image:IMAGE_BOTTOM_BTN_BG COMP;
+ image:IMAGE_INDICATOR_PAGE COMP;
+ image:IMAGE_PAGE_TITLE_BG COMP;
+ image:IMAGE_BATTERY_ICON COMP;
+ image:IMAGE_BATTERY_INDICATOR COMP;
+ image:IMAGE_NO_ITEM_BG COMP;
+}
+
+collections {
+ styles {
+ style { name: "nocontent_title_style";
+ base: "font=Tizen:weight=Bold:width=Condensed font_size=30 align=center color=#74C3FCFF text_class=tizen ellipsis=1.0";
+ tag: "match" "+ color=#0e76b2ff";
+ }
+ style { name: "nocontent_style";
+ base: "font=Tizen:weight=Light:width=Condense font_size=22 align=center color=#fafafa text_class=label wrap=mixed ";
+ }
+ }
+ group { name: MAIN_GRP;
+ parts {
+ rect { PART_BG;
+ scale: 1;
+ desc { "default";
+ color: 30 30 30 255;
+ min: BASE_WIDTH BASE_HEIGHT;
+ rel1.relative: 0.5 0.5;
+ rel2.relative: 0.5 0.5;
+ fixed: 1 1;
+ }
+ }
+ image { PART_FOCUS_BG;
+ scale: 1;
+ desc { STATE_DEFAULT;
+ image.normal: IMAGE_FOCUS_DIAL;
+ rel1.relative: (43.0/360.0) (43.0/360.0);
+ rel2.relative: (317.0/360.0) (317.0/360.0);
+ fixed: 1 1;
+ color_class: "AO0401";
+ }
+ }
+ image { PART_PREVIEW_BG;
+ scale: 1;
+ desc { STATE_DEFAULT;
+ image.normal: IMAGE_BG;
+ rel1.relative: (45.0/360.0) (45.0/360.0);
+ rel2.relative: (315.0/360.0) (315.0/360.0);
+ fixed: 1 1;
+ }
+ }
+ swallow { PART_RIGHT_COMP;
+ scale: 1;
+ desc{
+ rel1.to: PART_PREVIEW_BG;
+ rel2.to: PART_PREVIEW_BG;
+ rel1.relative: 210/360.0 136/360.0;
+ rel2.relative: (210 + 88)/360.0 (136 + 88)/360.0;
+ align: 0.5 0.5;
+ //min: 88 88;
+ }
+ }
+ image { PART_ICON_BATTERY;
+ scale: 1;
+ desc { STATE_DEFAULT;
+ rel1.to: PART_RIGHT_COMP;
+ rel2.to: PART_RIGHT_COMP;
+ image.normal: IMAGE_BATTERY_ICON;
+ align: 0.5 0.5;
+ //min: 73 73;
+ }
+ desc { STATE_HIDDEN;
+ inherit: STATE_DEFAULT;
+ visible: 0;
+ }
+ }
+ image { PART_INDICATOR_BATTERY;
+ scale: 1;
+ desc { STATE_DEFAULT;
+ rel1.to: PART_RIGHT_COMP;
+ rel2.to: PART_RIGHT_COMP;
+ image.normal: IMAGE_BATTERY_INDICATOR;
+ align: 0.5 0.5;
+ //min: 73 73;
+ }
+ desc { STATE_HIDDEN;
+ inherit: STATE_DEFAULT;
+ visible: 0;
+ }
+ }
+ text { PART_VALUE_BATTERY;
+ scale : 1;
+ desc { STATE_DEFAULT;
+ rel1.to: PART_RIGHT_COMP;
+ rel1.relative: 0.0 0.0;
+ rel2.to: PART_RIGHT_COMP;
+ rel2.relative: 1.0 1.0;
+ text{
+ font: "Tizen:style= Bold";
+ size: 16;
+ text: "75%";
+ }
+ color: 0 255 0 255;
+ align: 0.5 0.5;
+ }
+ desc {STATE_HIDDEN;
+ inherit: STATE_DEFAULT;
+ visible: 0;
+ }
+ }
+ image { PART_PREVIEW_HAND_HR;
+ scale: 1;
+ nomouse;
+ desc { STATE_DEFAULT;
+ rel1.to: PART_PREVIEW_BG;
+ rel2.to: PART_PREVIEW_BG;
+ rel1.relative: (((BASE_WIDTH)/2 - (HANDS_HOUR_WIDTH)/2)/BASE_WIDTH) 0;
+ rel2.relative: (((BASE_WIDTH)/2 + (HANDS_HOUR_WIDTH)/2)/BASE_WIDTH) 1;
+ image.normal: IMAGE_HANDS_HR;
+ map.on: 1;
+ map.rotation.z: 305;
+ }
+ }
+ image { PART_PREVIEW_HAND_MIN;
+ scale: 1;
+ nomouse;
+ desc { STATE_DEFAULT;
+ rel1.to: PART_PREVIEW_BG;
+ rel2.to: PART_PREVIEW_BG;
+ rel1.relative: (((BASE_WIDTH)/2 - (HANDS_MIN_WIDTH)/2)/BASE_WIDTH) 0;
+ rel2.relative: (((BASE_WIDTH)/2 + (HANDS_MIN_WIDTH)/2)/BASE_WIDTH) 1;
+ image.normal: IMAGE_HANDS_MIN;
+ map.on: 1;
+ map.rotation.z: 48;
+ }
+ }
+ image { PART_PREVIEW_HAND_SEC;
+ scale: 1;
+ nomouse;
+ desc { STATE_DEFAULT;
+ rel1.to: PART_PREVIEW_BG;
+ rel2.to: PART_PREVIEW_BG;
+ rel1.relative: (((BASE_WIDTH)/2 - (HANDS_SEC_WIDTH)/2 + PADDING_SEC_HAND)/BASE_WIDTH) 0;
+ rel2.relative: (((BASE_WIDTH)/2 + (HANDS_SEC_WIDTH)/2 + PADDING_SEC_HAND)/BASE_WIDTH) 1;
+ image.normal: IMAGE_HANDS_SEC;
+ map.on: 1;
+ map.rotation.z: 192;
+ }
+ }
+ image { PART_FOCUS_HAND_SEC;
+ scale: 1;
+ nomouse;
+ desc { STATE_DEFAULT;
+ rel1.to: PART_PREVIEW_BG;
+ rel2.to: PART_PREVIEW_BG;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 1.0 1.0;
+ image.normal: IMAGE_FOCUS_HANDS_SEC;
+ color_class: "AO0401";
+ map.on: 1;
+ map.rotation.z: 0;
+ }
+ desc { STATE_HIDDEN;
+ inherit: STATE_DEFAULT;
+ visible: 0;
+ }
+ }
+ swallow { PART_SIZE_SETTER
+ scale: 1;
+ desc{ STATE_DEFAULT;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 1.0 1.0;
+ }
+ }
+ text { LABEL_BOTTOM_BUTTON;
+ scale: 1;
+ desc { "default";
+ rel1.relative: (65.0/360.0) ((360.0 - 80.0)/360.0);
+ rel2.relative: ((65.0 + 230.0)/360.0) (360.0/360.0);
+ text {
+ size: FONT_TITLE_SIZE;
+ font: FONT_TITLE_TYPE;
+ text: "OK";
+ }
+ }
+ }
+ image { PART_BOTTOM_BUTTON_BG;
+ scale: 1;
+ desc { STATE_DEFAULT;
+ rel1.relative: 0.0 (360.0 - 75.0)/360.0;
+ rel2.relative: 1.0 1.0;
+ image.normal: IMAGE_BOTTOM_BTN_BG;
+ color: 0 100 200 150;
+ }
+ desc { STATE_PRESSED;
+ inherit: STATE_DEFAULT;
+ color: 0 100 200 100;
+ }
+ }
+ image { PART_PAGE_TITLE_BG;
+ scale: 1;
+ desc { STATE_DEFAULT;
+ rel1.relative: (110.0/360.0) ((38.0)/360.0);
+ rel2.relative: ((250.0)/360.0) (65.0/360.0);
+ align: 0.5 0.5;
+ image {
+ normal: IMAGE_PAGE_TITLE_BG;
+ }
+ }
+ }
+ text { TEXT_PAGE_TITLE
+ scale: 1;
+ desc{ STATE_DEFAULT
+ rel1.relative: (0.0/360.0) ((38.0)/360.0);
+ rel2.relative: ((360.0)/360.0) (65.0/360.0);
+ align: 0.5 0.5;
+ text {
+ size: 20;
+ font: FONT_UNINSTALL_TYPE;
+ text: "DIAL";
+ }
+ }
+ desc{ PART_COMP
+ inherit: STATE_DEFAULT;
+ text.text: "BATTERY";
+ }
+ }
+ PART_PAGE_INDICATOR("0")
+ PART_PAGE_INDICATOR("1")
+ PART_PAGE_INDICATOR("2")
+ PART_PAGE_INDICATOR("3")
+ PART_PAGE_INDICATOR("4")
+ rect { PART_NO_CONTENT_BG;
+ scale: 1;
+ desc { STATE_DEFAULT;
+ color: 7 7 7 255;
+ }
+ desc {STATE_HIDDEN;
+ inherit: STATE_DEFAULT;
+ visible: 0;
+ }
+ }
+ image { PART_NO_CONTENT_BG_IMAGE;
+ scale: 1;
+ desc { STATE_DEFAULT;
+ image.normal : IMAGE_NO_ITEM_BG;
+ color: 94 94 94 51;
+ }
+ desc {STATE_HIDDEN;
+ inherit: STATE_DEFAULT;
+ visible: 0;
+ }
+ }
+ text { PART_NO_CONTENT_TEXT;
+ scale : 1;
+ desc { STATE_DEFAULT;
+ rel1.relative: 0.1 0.2;
+ rel2.relative: 0.9 0.8;
+ text{
+ font: "Tizen:style= Bold";
+ size: 16;
+ text: "Failed to init complications";
+ }
+ color: 255 255 255 255;
+ align: 0.0 0.0;
+ }
+ desc {STATE_HIDDEN;
+ inherit: STATE_DEFAULT;
+ visible: 0;
+ }
+ }
+ }
+ script {
+ public g_page_count;
+ public g_current_dot;
+
+ public _get_dot(val) {
+ new dst[MAX_PART_NAME_LEN];
+ snprintf(dst, MAX_PART_NAME_LEN, "%s%d", PART_INDICATOR_NAME, val);
+ new dot = get_part_id(dst);
+ return dot;
+ }
+
+ public _set_dot_state(dot, Float:rel_x, Float:rel_y) {
+ set_state_val(dot, STATE_REL1, rel_x-(5.0/360.0), rel_y-(5.0/360.0));
+ set_state_val(dot, STATE_REL2, rel_x+(5.0/360.0), rel_y+(5.0/360.0));
+ set_state_val(dot, STATE_VISIBLE, 1);
+ }
+ public _set_selected_dot(num) {
+ set_int(g_current_dot, num);
+ new dot = _get_dot(get_int(g_current_dot));
+
+ custom_state(dot, STATE_CUSTOM, 0.0);
+ set_state_val(dot, STATE_COLOR, COLOR_PAGE_SELECTED_R, COLOR_PAGE_SELECTED_G,
+ COLOR_PAGE_SELECTED_B, COLOR_PAGE_SELECTED_A);
+ set_state(dot, STATE_CUSTOM, 0);
+ new title = get_part_id(TEXT_PAGE_TITLE);
+ new battery_icon = get_part_id(PART_ICON_BATTERY);
+ new battery_indicator = get_part_id(PART_INDICATOR_BATTERY);
+ new battery_value = get_part_id(PART_VALUE_BATTERY);
+ new focus_hand_sec = get_part_id(PART_FOCUS_HAND_SEC);
+ if(num == 0) {
+ set_state(title, STATE_DEFAULT, 0);
+ set_state(focus_hand_sec, STATE_DEFAULT, 0);
+ set_state(battery_icon, STATE_HIDDEN, 0);
+ set_state(battery_indicator, STATE_HIDDEN, 0);
+ set_state(battery_value, STATE_HIDDEN, 0);
+ }
+ else if(num == 1) {
+ set_state(title, PART_COMP, 0);
+ set_state(battery_icon, STATE_DEFAULT, 0);
+ set_state(battery_indicator, STATE_DEFAULT, 0);
+ set_state(battery_value, STATE_DEFAULT, 0);
+ set_state(focus_hand_sec, STATE_HIDDEN, 0);
+ }
+ }
+ public _unset_current_dot() {
+ new dot = _get_dot(get_int(g_current_dot));
+ custom_state(dot, STATE_CUSTOM, 0.0);
+ set_state_val(dot, STATE_COLOR, COLOR_PAGE_UNSELECTED_R,
+ COLOR_PAGE_UNSELECTED_G, COLOR_PAGE_UNSELECTED_B, COLOR_PAGE_UNSELECTED_A);
+ set_state(dot, STATE_CUSTOM, 0);
+ }
+ public _set_displayed_dots() {
+ new Float:dot_x[5];
+ new page_count = get_int(g_page_count);
+ new dot;
+
+ if(page_count > 0) {
+ new no_content_bg = get_part_id(PART_NO_CONTENT_BG);
+ new no_content_bg_image = get_part_id(PART_NO_CONTENT_BG_IMAGE);
+ new no_content_text = get_part_id(PART_NO_CONTENT_TEXT);
+ set_state(no_content_bg, STATE_HIDDEN, 0);
+ set_state(no_content_bg_image, STATE_HIDDEN, 0);
+ set_state(no_content_text, STATE_HIDDEN, 0);
+ }
+
+ switch (page_count) {
+ case 1: {
+ dot_x[0] = (180.0/360.0);
+ dot_x[1] = (0.0/360.0);
+ dot_x[2] = (0.0/360.0);
+ dot_x[3] = (0.0/360.0);
+ dot_x[4] = (0.0/360.0);
+ }
+ case 2: {
+ dot_x[0] = (171.0/360.0);
+ dot_x[1] = (189.0/360.0);
+ dot_x[2] = (0.0/360.0);
+ dot_x[3] = (0.0/360.0);
+ dot_x[4] = (0.0/360.0);
+ }
+ case 3: {
+ dot_x[0] = (165.0/360.0);
+ dot_x[1] = (180.0/360.0);
+ dot_x[2] = (195.0/360.0);
+ dot_x[3] = (0.0/360.0);
+ dot_x[4] = (0.0/360.0);
+ }
+ case 4: {
+ dot_x[0] = (158.0/360.0);
+ dot_x[1] = (173.0/360.0);
+ dot_x[2] = (187.0/360.0);
+ dot_x[3] = (202.0/360.0);
+ dot_x[4] = (0.0/360.0);
+ }
+ default: {
+ dot_x[0] = (151.0/360.0);
+ dot_x[1] = (165.0/360.0);
+ dot_x[2] = (180.0/360.0);
+ dot_x[3] = (195.0/360.0);
+ dot_x[4] = (209.0/360.0);
+ }
+ }
+
+ for (new i = 0; i < PAGE_INDICATOR_DOT_COUNT; ++i) {
+ dot = _get_dot(i);
+ custom_state(dot, STATE_DEFAULT, 0.0);
+
+ if(i < page_count)
+ _set_dot_state(dot, dot_x[i], (30.0/360.0));
+ else
+ set_state_val(dot, STATE_VISIBLE, 0);
+
+ set_state(dot, STATE_CUSTOM, 0);
+ }
+ }
+ public _set_current_style(num) {
+ new dst[MAX_PART_NAME_LEN];
+ new current_dot = get_int(g_current_dot);
+ if(current_dot == 0)
+ {
+ num++;
+ new sec_hand = get_part_id(PART_PREVIEW_HAND_SEC);
+
+ custom_state(sec_hand, STATE_DEFAULT, 0.0);
+
+ if(num <= 9)
+ snprintf(dst, MAX_PART_NAME_LEN, "%s%d", "AO040", num);
+ else if(num > 9 && num <= 12)
+ snprintf(dst, MAX_PART_NAME_LEN, "%s%d", "AO04", num);
+ else
+ snprintf(dst, MAX_PART_NAME_LEN, "AO0401");
+
+ set_state_val(sec_hand, STATE_COLOR_CLASS, dst);
+ set_state(sec_hand, STATE_CUSTOM, 0);
+ }
+ else if(current_dot == 1) {
+ new battery_icon = get_part_id(PART_ICON_BATTERY);
+ new battery_indicator = get_part_id(PART_INDICATOR_BATTERY);
+ new battery_value = get_part_id(PART_VALUE_BATTERY);
+
+ switch (num) {
+ case 0: {
+ set_state(battery_icon, STATE_HIDDEN, 0);
+ set_state(battery_indicator, STATE_HIDDEN, 0);
+ set_state(battery_value, STATE_HIDDEN, 0);
+ }
+ case 1: {
+ set_state(battery_icon, STATE_HIDDEN, 0);
+ set_state(battery_indicator, STATE_DEFAULT, 0);
+ set_state(battery_value, STATE_DEFAULT, 0);
+ }
+ case 2: {
+ set_state(battery_icon, STATE_DEFAULT, 0);
+ set_state(battery_indicator, STATE_HIDDEN, 0);
+ set_state(battery_value, STATE_HIDDEN, 0);
+ }
+ case 3: {
+ set_state(battery_icon, STATE_DEFAULT, 0);
+ set_state(battery_indicator, STATE_DEFAULT, 0);
+ set_state(battery_value, STATE_HIDDEN, 0);
+ }
+ default: {
+ set_state(battery_icon, STATE_HIDDEN, 0);
+ set_state(battery_indicator, STATE_HIDDEN, 0);
+ set_state(battery_value, STATE_HIDDEN, 0);
+ }
+ }
+ }
+ }
+
+ public message(Msg_Type:type, id, ...) {
+ new val = getarg(2);
+ if (type == MSG_INT) {
+ switch (id) {
+ case MSG_ID_PAGE_COUNT: {
+ set_int(g_page_count, val);
+ _set_displayed_dots();
+ }
+ case MSG_ID_PAGE_SET: {
+ _unset_current_dot();
+ _set_selected_dot(val);
+ }
+ case MSG_ID_CANDIDATE_SELECTED_SET: {
+ _set_current_style(val);
+ }
+ default: {
+ }
+ }
+ }
+ }
+ }
+ programs {
+ program {
+ name: "ok_pressed, down";
+ signal: "mouse,down,1";
+ source: "bottom_btn_bg";
+ action: STATE_SET "pressed";
+ target: "bottom_btn_bg";
+ }
+ program {
+ name: "ok_pressed, up";
+ signal: "mouse,up,1";
+ source: "bottom_btn_bg";
+ action: STATE_SET "default";
+ target: "bottom_btn_bg";
+ }
+ program {
+ name: "btn_ok,clicked";
+ signal: "mouse,clicked,1";
+ source: "bottom_btn_bg";
+ action: SIGNAL_EMIT SIGNAL_OK_CLICKED "";
+ }
+ }
+ }
+}
diff --git a/res/edje/no-content-layout.edc b/res/edje/no-content-layout.edc
new file mode 100644
index 0000000..4c5eeba
--- /dev/null
+++ b/res/edje/no-content-layout.edc
@@ -0,0 +1,222 @@
+/*
+ * Copyright (c) 2018 Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#define BASE_WIDTH 360
+#define BASE_HEIGHT 360
+#define NO_CONTENT_LAYOUT "no_content"
+#define PART_BG "bg"
+#define PART_BG_IMAGE "bg_image"
+
+#define NOITEM_TEXT_SIZE_INC 32
+#define NOITEM_TEXT_LR_PADDING_SIZE_INC 40
+#define NOITEM_IMAGE_SIZE_INC 98
+#define NOITEM_IMAGE_PADDING_HEIGHT_INC 37
+#define NOITEM_TITLE_TEXT_WIDTH_INC 232
+#define NOITEM_TITLE_TEXT_HEIGHT_INC 39
+#define NOITEM_TITLE_LR_PADDING_SIZE_INC 64
+#define NOITEM_TITLE_TOP_PADDING_SIZE_INC 51
+#define NOITEM_TITLE_BOTTOM_PADDING_SIZE_INC 41
+
+#define STATE_DEFAULT "default"
+
+#define IMAGE_NO_ITEM_BG "recent_no_item_bg.png"
+
+collections {
+ styles {
+ style { name: "nocontent_title_style";
+ base: "font=Tizen:weight=Bold:width=Condensed font_size=30 align=center color=#74C3FCFF text_class=tizen ellipsis=1.0";
+ tag: "match" "+ color=#0e76b2ff";
+ }
+ style { name: "nocontent_style";
+ base: "font=Tizen:weight=Light:width=Condense font_size=22 align=center color=#fafafa text_class=label wrap=mixed ";
+ }
+ }
+ group { name: "no_content";
+ images {
+ image: IMAGE_NO_ITEM_BG COMP;
+ }
+ parts {
+ part {
+ name: PART_BG;
+ type: RECT;
+ scale: 1;
+ description {
+ state: STATE_DEFAULT 0.0;
+ color: 7 7 7 255;
+ }
+ }
+ part {
+ name: PART_BG_IMAGE;
+ type: IMAGE;
+ scale: 1;
+ description {
+ state: STATE_DEFAULT 0.0;
+ image.normal : IMAGE_NO_ITEM_BG;
+ color: 94 94 94 51;
+ }
+ }
+ part { name: "title_top_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 NOITEM_TITLE_TOP_PADDING_SIZE_INC;
+ max: -1 NOITEM_TITLE_TOP_PADDING_SIZE_INC;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ rel1 { relative: 0.0 0.0; to: "bg"; }
+ rel2 { relative: 1.0 0.0; to: "bg"; }
+ }
+ }
+ part { name: "title_left_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: NOITEM_TITLE_LR_PADDING_SIZE_INC 0;
+ max: NOITEM_TITLE_LR_PADDING_SIZE_INC -1;
+ fixed: 1 1;
+ align: 0.0 0.0;
+ rel1 { relative: 0.0 0.0; to: "bg"; }
+ rel2 { relative: 0.0 0.0; to: "bg"; }
+ }
+ }
+ part { name: "title_right_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: NOITEM_TITLE_LR_PADDING_SIZE_INC 0;
+ max: NOITEM_TITLE_LR_PADDING_SIZE_INC -1;
+ fixed: 1 1;
+ align: 1.0 0.0;
+ rel1 { relative: 1.0 0.0; to: "bg"; }
+ rel2 { relative: 1.0 0.0; to: "bg"; }
+ }
+ }
+ part { name: "title_bottom_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 NOITEM_TITLE_BOTTOM_PADDING_SIZE_INC;
+ max: -1 NOITEM_TITLE_BOTTOM_PADDING_SIZE_INC;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ rel1 {relative: 0.0 1.0; to: "elm.text.title"; }
+ rel2 {relative: 1.0 1.0; to: "elm.text.title"; }
+ }
+ }
+ part { name: "elm.text.title";
+ type: TEXTBLOCK;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 NOITEM_TITLE_TEXT_HEIGHT_INC;
+ max: -1 NOITEM_TITLE_TEXT_HEIGHT_INC;
+ fixed: 1 1;
+ text {
+ min: 0 1;
+ align: 0.5 0.5;
+ style: "nocontent_title_style";
+ text: "Error!";
+ }
+ align: 0.0 0.0;
+ rel1 { relative: 1.0 1.0; to_x: "left_padding"; to_y: "title_top_padding"; }
+ rel2 { relative: 0.0 1.0; to_x: "right_padding"; to_y: "title_top_padding"; }
+ }
+ }
+ part {
+ name: "left_padding";
+ type: SPACER;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: NOITEM_TEXT_LR_PADDING_SIZE_INC 0;
+ max: NOITEM_TEXT_LR_PADDING_SIZE_INC -1;
+ fixed: 1 1;
+ align: 0.0 0.0;
+ rel1 {
+ to: "bg";
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ to: "bg";
+ relative: 0.0 0.0;
+ }
+ }
+ }
+ part {
+ name: "right_padding";
+ type: SPACER;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: NOITEM_TEXT_LR_PADDING_SIZE_INC 0;
+ max: NOITEM_TEXT_LR_PADDING_SIZE_INC -1;
+ fixed: 1 1;
+ align: 1.0 0.0;
+ rel1 {
+ to: "bg";
+ relative: 1.0 0.0;
+ }
+ rel2 {
+ to: "bg";
+ relative: 1.0 0.0;
+ }
+ }
+ }
+ part { name: "text_bottom_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 NOITEM_IMAGE_PADDING_HEIGHT_INC;
+ max: -1 NOITEM_IMAGE_PADDING_HEIGHT_INC;
+ rel1 {
+ to: "elm.text.title";
+ relative: 0.0 1.0;
+ }
+ rel2 {
+ to: "elm.text.title";
+ relative: 1.0 1.0;
+ }
+ fixed: 0 1;
+ align: 0.5 0.0;
+ }
+ }
+ part { name: "elm.text";
+ type: TEXTBLOCK;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ min: 0 NOITEM_TEXT_SIZE_INC;
+ max: -1 NOITEM_TEXT_SIZE_INC;
+ rel1 {
+ to_x: "left_padding";
+ to_y: "text_bottom_padding";
+ relative: 1.0 1.0;
+ }
+ rel2 {
+ to_x: "right_padding";
+ to_y: "text_bottom_padding";
+ relative: 0.0 1.0;
+ }
+ align: 0.5 0.0;
+ text {
+ style: "nocontent_style";
+ min: 0 1;
+ max: 0 1;
+ text: "Home clock must be analog-watch";
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/res/images/battery_icon_green.png b/res/images/battery_icon_green.png
new file mode 100644
index 0000000..24a674e
--- /dev/null
+++ b/res/images/battery_icon_green.png
Binary files differ
diff --git a/res/images/default_analog_bg.png b/res/images/default_analog_bg.png
new file mode 100644
index 0000000..f72b4a5
--- /dev/null
+++ b/res/images/default_analog_bg.png
Binary files differ
diff --git a/res/images/default_analog_hands_hr.png b/res/images/default_analog_hands_hr.png
new file mode 100644
index 0000000..ab39036
--- /dev/null
+++ b/res/images/default_analog_hands_hr.png
Binary files differ
diff --git a/res/images/default_analog_hands_min.png b/res/images/default_analog_hands_min.png
new file mode 100644
index 0000000..0ece325
--- /dev/null
+++ b/res/images/default_analog_hands_min.png
Binary files differ
diff --git a/res/images/default_analog_hands_sec.png b/res/images/default_analog_hands_sec.png
new file mode 100644
index 0000000..5595fd5
--- /dev/null
+++ b/res/images/default_analog_hands_sec.png
Binary files differ
diff --git a/res/images/focus_c01_hands.png b/res/images/focus_c01_hands.png
new file mode 100644
index 0000000..8c23137
--- /dev/null
+++ b/res/images/focus_c01_hands.png
Binary files differ
diff --git a/res/images/focus_dial_01.png b/res/images/focus_dial_01.png
new file mode 100644
index 0000000..11a784d
--- /dev/null
+++ b/res/images/focus_dial_01.png
Binary files differ
diff --git a/res/images/green_indicator.png b/res/images/green_indicator.png
new file mode 100644
index 0000000..ac166b0
--- /dev/null
+++ b/res/images/green_indicator.png
Binary files differ
diff --git a/res/images/indicator_page.png b/res/images/indicator_page.png
new file mode 100644
index 0000000..81e3946
--- /dev/null
+++ b/res/images/indicator_page.png
Binary files differ
diff --git a/res/images/recent_no_item_bg.png b/res/images/recent_no_item_bg.png
new file mode 100644
index 0000000..d4f4b1f
--- /dev/null
+++ b/res/images/recent_no_item_bg.png
Binary files differ
diff --git a/res/images/tw_bottom_btn_bg.png b/res/images/tw_bottom_btn_bg.png
new file mode 100644
index 0000000..d924082
--- /dev/null
+++ b/res/images/tw_bottom_btn_bg.png
Binary files differ
diff --git a/res/images/tw_recent_label_bg.png b/res/images/tw_recent_label_bg.png
new file mode 100644
index 0000000..9d7eb1c
--- /dev/null
+++ b/res/images/tw_recent_label_bg.png
Binary files differ
diff --git a/shared/res/watch-face-editor.png b/shared/res/watch-face-editor.png
new file mode 100644
index 0000000..8e479c4
--- /dev/null
+++ b/shared/res/watch-face-editor.png
Binary files differ
diff --git a/src/main.c b/src/main.c
new file mode 100644
index 0000000..c3af58c
--- /dev/null
+++ b/src/main.c
@@ -0,0 +1,167 @@
+/*
+ * Copyright (c) 2018 Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <app-log.h>
+#include <defines.h>
+#include <view.h>
+#include <vconf.h>
+#include <watch-face-editor.h>
+
+static struct main_info {
+ app_event_handler_h handlers[5];
+} s_info = {
+ .handlers = {NULL, },
+};
+
+static void
+_notify_edit_ready(char *watch_appid)
+{
+ watchface_editor_notify_edit_ready(watch_appid);
+ __I("notify edit %s", watch_appid);
+}
+
+static bool
+app_create(void *data)
+{
+ __I("%s", __func__);
+ return true;
+}
+
+static void
+app_control(app_control_h app_control, void *data)
+{
+ //TODO
+ /* Handle the launch request. */
+ //for launching editor from watch
+ //char *watch_appid;
+ //app_control_get_extra_data(app_control, APP_CONTROL_DATA_SELECTED, &watch_appid);
+
+ char *home_watch = NULL;
+ _notify_edit_ready(HOME_WATCH_APPID);
+ home_watch = vconf_get_str(VCONFKEY_WMS_CLOCKS_SET_IDLE);
+ __I("Home watch: %s", home_watch);
+ view_create(home_watch);
+}
+
+static void
+app_pause(void *data)
+{
+ __I("%s", __func__);
+ ui_app_exit();
+ /* Take necessary actions when application becomes invisible. */
+}
+
+static void
+app_resume(void *data)
+{
+ __I("%s", __func__);
+ /* Take necessary actions when application becomes visible. */
+}
+
+static void
+app_terminate(void *data)
+{
+ /* Release all resources. */
+ __I("%s", __func__);
+ view_destroy();
+}
+
+static void
+ui_app_lang_changed(app_event_info_h event_info, void *user_data)
+{
+ /*APP_EVENT_LANGUAGE_CHANGED*/
+ char *locale = NULL;
+ system_settings_get_value_string(SYSTEM_SETTINGS_KEY_LOCALE_LANGUAGE, &locale);
+ elm_language_set(locale);
+ free(locale);
+}
+
+static void
+ui_app_orient_changed(app_event_info_h event_info, void *user_data)
+{
+ /*APP_EVENT_DEVICE_ORIENTATION_CHANGED*/
+ __I("%s", __func__);
+}
+
+static void
+ui_app_region_changed(app_event_info_h event_info, void *user_data)
+{
+ /*APP_EVENT_REGION_FORMAT_CHANGED*/
+ __I("%s", __func__);
+}
+
+static void
+ui_app_low_battery(app_event_info_h event_info, void *user_data)
+{
+ /*APP_EVENT_LOW_BATTERY*/
+ __I("%s", __func__);
+}
+
+static void
+ui_app_low_memory(app_event_info_h event_info, void *user_data)
+{
+ /*APP_EVENT_LOW_MEMORY*/
+ __I("%s", __func__);
+}
+
+static void
+_add_event_handlers()
+{
+ ui_app_add_event_handler(&s_info.handlers[APP_EVENT_LOW_BATTERY], APP_EVENT_LOW_BATTERY,
+ ui_app_low_battery, NULL);
+ ui_app_add_event_handler(&s_info.handlers[APP_EVENT_LOW_MEMORY], APP_EVENT_LOW_MEMORY,
+ ui_app_low_memory, NULL);
+ ui_app_add_event_handler(&s_info.handlers[APP_EVENT_DEVICE_ORIENTATION_CHANGED], APP_EVENT_DEVICE_ORIENTATION_CHANGED,
+ ui_app_orient_changed, NULL);
+ ui_app_add_event_handler(&s_info.handlers[APP_EVENT_LANGUAGE_CHANGED], APP_EVENT_LANGUAGE_CHANGED,
+ ui_app_lang_changed, NULL);
+ ui_app_add_event_handler(&s_info.handlers[APP_EVENT_REGION_FORMAT_CHANGED], APP_EVENT_REGION_FORMAT_CHANGED,
+ ui_app_region_changed, NULL);
+}
+
+static void
+_remove_event_handlers()
+{
+ ui_app_remove_event_handler(s_info.handlers[APP_EVENT_LOW_BATTERY]);
+ ui_app_remove_event_handler(s_info.handlers[APP_EVENT_LOW_MEMORY]);
+ ui_app_remove_event_handler(s_info.handlers[APP_EVENT_DEVICE_ORIENTATION_CHANGED]);
+ ui_app_remove_event_handler(s_info.handlers[APP_EVENT_LANGUAGE_CHANGED]);
+ ui_app_remove_event_handler(s_info.handlers[APP_EVENT_REGION_FORMAT_CHANGED]);
+}
+
+int
+main(int argc, char *argv[])
+{
+ int ret = 0;
+
+ ui_app_lifecycle_callback_s event_callback = {0,};
+
+ event_callback.create = app_create;
+ event_callback.terminate = app_terminate;
+ event_callback.pause = app_pause;
+ event_callback.resume = app_resume;
+ event_callback.app_control = app_control;
+
+ _add_event_handlers();
+
+ ret = ui_app_main(argc, argv, &event_callback, NULL);
+ if (ret != APP_ERROR_NONE) {
+ __E("app_main() is failed. err = %d", ret);
+ }
+ _remove_event_handlers();
+
+ return ret;
+}
diff --git a/src/utils.c b/src/utils.c
new file mode 100644
index 0000000..749be9b
--- /dev/null
+++ b/src/utils.c
@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) 2018 Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <app-log.h>
+#include <watch-face-editor.h>
+#include <utils.h>
+
+/*
+ * @brief Creates path to the given resource file by concatenation of the basic resource path and the given file_name.
+ * @param[in] file_name File name or path relative to the resource directory.
+ * @return: The absolute path to the resource with given file_name is returned.
+ */
+char *util_create_resource_path(const char *file_name)
+{
+ static char res_path_buff[PATH_MAX] = {0,};
+ char *res_path = NULL;
+
+ res_path = app_get_resource_path();
+ if (res_path == NULL) {
+ __E("failed to get resource path.");
+ return NULL;
+ }
+
+ snprintf(res_path_buff, PATH_MAX, "%s%s", res_path, file_name);
+ free(res_path);
+
+ return &res_path_buff[0];
+}
+
+
diff --git a/src/view.c b/src/view.c
new file mode 100644
index 0000000..eeff44c
--- /dev/null
+++ b/src/view.c
@@ -0,0 +1,481 @@
+/*
+ * Copyright (c) 2018 Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <app-log.h>
+#include <math.h>
+#include <watch-face-editor.h>
+#include <defines.h>
+#include <view.h>
+#include <utils.h>
+
+static struct view_info {
+ Evas_Object *win;
+ Evas_Object *layout;
+ Evas_Object *no_content_layout;
+ int w;
+ int h;
+ int candidate_selected[5];
+ int total_candidates[5];
+ int current_page;
+ Evas_Object *conform;
+ editable_list_h list_h;
+ int ed_list_size;
+ Evas_Point down;
+ Evas_Point up;
+ Eina_Bool flag_rotary;
+} s_info = {
+ .win = NULL,
+ .layout = NULL,
+ .no_content_layout = NULL,
+ .w = 0,
+ .h = 0,
+ .candidate_selected[0] = 0,
+ .total_candidates[0] = 0,
+ .current_page = 0,
+ .conform = NULL,
+ .list_h = NULL,
+ .ed_list_size = 0,
+ .down = { -1, -1 },
+ .up = { -1, -1 },
+ .flag_rotary = 0,
+};
+
+typedef struct selected_data {
+ int ed_idx;
+} selected_data_s;
+
+typedef struct candidate_data {
+ char *text;
+ bundle *item_data;
+} candidate_data_s;
+
+static Eina_Bool _rotary_handler_cb(void *data, Eext_Rotary_Event_Info *ev);
+static void _foreach_make_text(const char *key, const int type,
+ const bundle_keyval_t *kv, void *data);
+static void _set_page_indicator();
+static void _get_ed_comp_data(const char *appid);
+static void _on_request_edit(const char *appid, editable_list_h list_h,
+ void *user_data);
+static void _back_key_request_cb(void *data, Evas_Object *obj, void *event_info);
+static void _page_swipe_right();
+static void _page_swipe_left();
+static void _drag_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
+static void _drag_up_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
+static void _create_no_content_layout();
+static void _create_home_watch_layout();
+
+/**
+ * @brief Callback invoked when the rotary is used
+ * @param data User data
+ * @param ev event info
+ * @return Check the 'eext_rotary_event_handler_add()' description.
+ */
+static Eina_Bool
+_rotary_handler_cb(void *data, Eext_Rotary_Event_Info *ev)
+{
+ __D("_rotary_handler_cb");
+
+ s_info.flag_rotary = !s_info.flag_rotary;
+ if (s_info.flag_rotary)
+ return EINA_TRUE;
+
+ Edje_Message_Int msg = {0,};
+ if (s_info.candidate_selected[s_info.current_page] < s_info.total_candidates[s_info.current_page] - 1)
+ s_info.candidate_selected[s_info.current_page]++;
+ else
+ s_info.candidate_selected[s_info.current_page] = 0;
+ msg.val = s_info.candidate_selected[s_info.current_page];
+ edje_object_message_send(elm_layout_edje_get(s_info.layout), EDJE_MESSAGE_INT, MSG_ID_CANDIDATE_SELECTED_SET, &msg);
+
+ watchface_editable_h ed;
+ watchface_editor_editable_list_get_nth(s_info.list_h,
+ s_info.current_page, &ed);
+ watchface_editor_edit_preview(ed, s_info.candidate_selected[s_info.current_page]);
+ __I("select candidate(%d)",
+ s_info.candidate_selected[s_info.current_page]);
+ return EINA_TRUE;
+}
+
+static void
+_foreach_make_text(const char *key, const int type,
+ const bundle_keyval_t *kv, void *data)
+{
+ candidate_data_s *candidate = (candidate_data_s *)data;
+ char *value = NULL;
+ char *provider_id = NULL;
+ size_t value_len = 0;
+
+ bundle_keyval_get_basic_val((bundle_keyval_t *)kv, (void **)&value, &value_len);
+ __I("text %s", value);
+
+ if (watchface_editor_get_complication_provider_id(candidate->item_data, &provider_id) == 0
+ && strcmp(provider_id, value) == 0) {
+ // TODO for complications
+ } else if (watchface_editor_get_complication_provider_id(candidate->item_data, &provider_id) != 0) {
+ candidate->text = value;
+ }
+}
+
+/**
+ * @brief Sets the Page indicator dots
+ */
+static void
+_set_page_indicator()
+{
+ Edje_Message_Int msg = {0,};
+ msg.val = s_info.ed_list_size;
+ edje_object_message_send(elm_layout_edje_get(s_info.layout), EDJE_MESSAGE_INT, MSG_ID_PAGE_COUNT, &msg);
+
+ msg.val = s_info.current_page;
+ edje_object_message_send(elm_layout_edje_get(s_info.layout), EDJE_MESSAGE_INT, MSG_ID_PAGE_SET, &msg);
+
+ msg.val = s_info.candidate_selected[s_info.current_page];
+ edje_object_message_send(elm_layout_edje_get(s_info.layout), EDJE_MESSAGE_INT, MSG_ID_CANDIDATE_SELECTED_SET, &msg);
+}
+
+/**
+ * @brief Gets editables and complications details
+ * @param appid Application ID
+ */
+static void
+_get_ed_comp_data(const char *appid)
+{
+ char buf[100];
+ int ed_id;
+ char *ed_name;
+ int list_size = 0;
+ int cur_candidate_idx = 0;
+ watchface_editable_geo_h geo;
+ int x, y, w, h;
+ watchface_editor_editable_list_get_size(s_info.list_h, &list_size);
+
+ s_info.current_page = 0;
+ s_info.ed_list_size = list_size;
+ __E("list size : %d", list_size);
+
+ for (int i = 0; i < list_size; i++) {
+ watchface_editable_h ed;
+ watchface_editor_editable_list_get_nth(s_info.list_h, i, &ed);
+
+ watchface_editable_get_editable_id(ed, &ed_id);
+ watchface_editable_get_editable_name(ed, &ed_name);
+ watchface_editable_get_geometry(ed, &geo);
+ watchface_editable_geometry_get(geo, &x, &y, &w, &h);
+ snprintf(buf, 100, "%s", ed_name);
+ __I("Editable name: %s, geo [%d, %d, %d, %d]", buf, x, y, w, h);
+
+ watchface_editable_get_current_data_idx(ed, &cur_candidate_idx);
+ s_info.candidate_selected[i] = cur_candidate_idx;
+ watchface_editor_editable_candidate_list_get_size(ed, &s_info.total_candidates[i]);
+ __I("cur candidate idx %d / Total Candidates %d",
+ s_info.candidate_selected[i], s_info.total_candidates[i]);
+ for (int j = 0; j < s_info.total_candidates[i]; j++) {
+ bundle *item;
+ watchface_editor_editable_candidate_list_get_nth(ed, j, &item);
+ if (item) {
+ candidate_data_s candidate;
+ candidate.item_data = item;
+ bundle_foreach(item, _foreach_make_text, &candidate);
+ __I("%s", candidate.text);
+ bundle_free(candidate.item_data);
+ }
+ }
+ }
+ _set_page_indicator();
+}
+
+/**
+ * @brief Called when an edit request occurs.
+ * @param appid Application ID
+ * @param list List of editable
+ * @param user_data The user data passed from the callback function
+ */
+static void
+_on_request_edit(const char *appid, editable_list_h list_h,
+ void *user_data)
+{
+ __E("request edit %s", appid);
+ if (s_info.list_h != NULL) {
+ __E("%s: list not null", __func__);
+ watchface_editor_editable_list_destroy(s_info.list_h);
+ }
+ watchface_editor_editable_list_dup(list_h, &s_info.list_h);
+ _get_ed_comp_data(appid);
+}
+
+/*
+ * @brief Makes and sets a layout to the part
+ * @param[parent]: Object to which you want to set this layout
+ * @param[file_path]: File path of EDJ will be used
+ * @param[group_name]: Group name in EDJ that you want to set to layout
+ * @param[part_name]: Part name to which you want to set this layout
+ */
+Evas_Object
+*view_create_layout_for_part(Evas_Object *parent, char *file_path, char *group_name, char *part_name)
+{
+ Evas_Object *layout = NULL;
+
+ if (parent == NULL) {
+ __E("parent is NULL.");
+ return NULL;
+ }
+
+ layout = elm_layout_add(parent);
+ elm_win_resize_object_add(parent, layout);
+ elm_layout_file_set(layout, file_path, group_name);
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_show(layout);
+
+ return layout;
+}
+
+/*
+ * @brief Destroys window and frees its resources.
+ */
+void
+view_destroy(void)
+{
+ __I("%s", __func__);
+ if (s_info.win == NULL)
+ return;
+ eext_rotary_event_handler_del(_rotary_handler_cb);
+}
+
+/**
+ * @brief event callback function when back key is pressed.
+ * @param[in] data user data
+ * @param[in] obj target object
+ * @param[in] event_info event information (if the event passes an additional in formation.)
+ */
+static void
+_back_key_request_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ __I("%s", __func__);
+ ui_app_exit();
+}
+
+/**
+ * @brief Occurs when OK button is pressed
+ */
+static void
+_ok_pressed_cb()
+{
+ __I("%s", __func__);
+ watchface_editor_edit_complete();
+ __E("Complete editing !!");
+ //vconf_set_str(VCONFKEY_WMS_CLOCKS_SET_IDLE, s_info.cur_watch_appid);
+ ui_app_exit();
+}
+
+/**
+ * @brief Creats window at very bottom layer
+ * @param[in] pkg_name Application ID of editor App
+ */
+Evas_Object
+*view_create_win(const char *pkg_name)
+{
+ Evas_Object *win = NULL;
+
+ win = elm_win_util_standard_add(pkg_name, pkg_name);
+ elm_win_conformant_set(win, EINA_TRUE);
+ elm_win_autodel_set(win, EINA_TRUE);
+
+ /* Rotation setting */
+ if (elm_win_wm_rotation_supported_get(win)) {
+ int rots[4] = { 0, 90, 180, 270 };
+ elm_win_wm_rotation_available_rotations_set(win, (const int *)(&rots), 4);
+ }
+
+ return win;
+}
+
+/**
+ * @brief Called when swipe page to right request occurs
+ */
+static void
+_page_swipe_right()
+{
+ if (s_info.current_page > 0) {
+ Edje_Message_Int msg = {0,};
+
+ s_info.current_page--;
+ msg.val = s_info.current_page;
+ edje_object_message_send(elm_layout_edje_get(s_info.layout), EDJE_MESSAGE_INT, MSG_ID_PAGE_SET, &msg);
+
+ msg.val = s_info.candidate_selected[s_info.current_page];
+ edje_object_message_send(elm_layout_edje_get(s_info.layout), EDJE_MESSAGE_INT, MSG_ID_CANDIDATE_SELECTED_SET, &msg);
+ }
+}
+
+/**
+ * @brief Called when swipe page to left request occurs
+ */
+static void
+_page_swipe_left()
+{
+ if (s_info.current_page < s_info.ed_list_size - 1) {
+ Edje_Message_Int msg = {0,};
+
+ s_info.current_page++;
+ msg.val = s_info.current_page;
+ edje_object_message_send(elm_layout_edje_get(s_info.layout), EDJE_MESSAGE_INT, MSG_ID_PAGE_SET, &msg);
+ if (s_info.candidate_selected[s_info.current_page] < 0)
+ s_info.candidate_selected[s_info.current_page] = 0;
+
+ msg.val = s_info.candidate_selected[s_info.current_page];
+ edje_object_message_send(elm_layout_edje_get(s_info.layout), EDJE_MESSAGE_INT, MSG_ID_CANDIDATE_SELECTED_SET, &msg);
+ }
+}
+
+/**
+ * @brief This event is triggered by a mouse button being pressed while the mouse pointer is over an object
+ * @param[in] event_info is a pointer to an Evas_Event_Mouse_Down struct
+ */
+static void
+_drag_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+ Evas_Event_Mouse_Down *ev = event_info;
+ __E("down(%d, %d)", ev->output.x, ev->output.y);
+
+ s_info.down.x = ev->output.x;
+ s_info.down.y = ev->output.y;
+}
+
+/**
+ * @brief This event is triggered by a mouse button being released while
+ * the mouse pointer is over an object's area (or when passively
+ * grabbed to an object)
+ * @param[in] event_info is a pointer to an Evas_Event_Mouse_Down struct
+ */
+static void
+_drag_up_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+ Evas_Event_Mouse_Down *ev = event_info;
+
+ __E("up(%d, %d)", ev->output.x, ev->output.y);
+
+ s_info.up.x = ev->output.x;
+ s_info.up.y = ev->output.y;
+
+ if (s_info.up.x - s_info.down.x > APPS_SWIPE_MIN_DISTANCE) {
+ __E("page swipe right request");
+ _page_swipe_right();
+ } else if (s_info.down.x - s_info.up.x > APPS_SWIPE_MIN_DISTANCE) {
+ __E("page swipe left request");
+ _page_swipe_left();
+ }
+}
+
+/**
+ * @brief Creates main view
+ * @param[in] pkg_name Application ID of watch app
+ */
+Eina_Bool
+view_create(char *watch_appid)
+{
+ __I("%s", __func__);
+ /* Create window */
+ s_info.win = view_create_win(PACKAGE);
+ if (s_info.win == NULL) {
+ __E("failed to create a window.");
+ return EINA_FALSE;
+ }
+ eext_object_event_callback_add(s_info.win, EEXT_CALLBACK_BACK, _back_key_request_cb, NULL);
+ elm_win_screen_size_get(s_info.win, NULL, NULL, &s_info.w, &s_info.h);
+ evas_object_show(s_info.win);
+
+ /* Conformant */
+ s_info.conform = elm_conformant_add(s_info.win);
+ evas_object_size_hint_weight_set(s_info.conform, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_win_resize_object_add(s_info.win, s_info.conform);
+ evas_object_show(s_info.conform);
+
+ /* Indicator */
+ elm_win_indicator_mode_set(s_info.win, ELM_WIN_INDICATOR_SHOW);
+ elm_win_indicator_opacity_set(s_info.win, ELM_WIN_INDICATOR_TRANSPARENT);
+
+ __D("%s", watch_appid);
+ if (strcmp(watch_appid, HOME_WATCH_APPID) == 0) {
+ _create_home_watch_layout();
+ } else {
+ _create_no_content_layout();
+ return EINA_FALSE;
+ }
+
+ return EINA_TRUE;
+}
+
+/**
+ * @brief Creates Error Message layout when home watch is not org.tizen.analog-watch
+*/
+static void
+_create_no_content_layout()
+{
+ /* No content layout */
+ char *edj_path = NULL;
+ edj_path = util_create_resource_path(NO_CONTENT_EDJ);
+ s_info.no_content_layout = view_create_layout_for_part(s_info.win, edj_path, NO_CONTENT_GRP, "default");
+ if (!s_info.no_content_layout) {
+ __E("failed to create no content layout.");
+ return;
+ }
+
+ evas_object_size_hint_align_set(s_info.no_content_layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_size_hint_min_set(s_info.no_content_layout, s_info.w, s_info.h);
+ evas_object_size_hint_weight_set(s_info.no_content_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+}
+
+/**
+ * @brief Creates watch editor layout when home watch is org.tizen.analog-watch
+*/
+static void
+_create_home_watch_layout()
+{
+ /* Base Layout */
+ char *edj_path = NULL;
+ edj_path = util_create_resource_path(MAIN_EDJ);
+ s_info.layout = view_create_layout_for_part(s_info.win, edj_path, MAIN_GRP, "default");
+ if (!s_info.layout) {
+ __E("failed to create view layout.");
+ return;
+ }
+ evas_object_size_hint_align_set(s_info.layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_size_hint_min_set(s_info.layout, s_info.w, s_info.h);
+ evas_object_size_hint_weight_set(s_info.layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_layout_signal_callback_add(s_info.layout, SIGNAL_OK_CLICKED, "", _ok_pressed_cb, NULL);
+
+ eext_rotary_event_handler_add(_rotary_handler_cb, NULL);
+
+ /* Show window after main view is set up */
+ watchface_editor_add_request_edit_cb(_on_request_edit, NULL);
+
+ /////////////////////////// Drag /////////////////////////////////
+
+ Evas_Object *size_setter = NULL;
+ size_setter = evas_object_rectangle_add(evas_object_evas_get(s_info.layout));
+ if (size_setter == NULL) {
+ __E("Failed to create size setter");
+ return;
+ }
+ evas_object_size_hint_min_set(size_setter, s_info.w, s_info.h);
+ evas_object_size_hint_weight_set(size_setter, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(size_setter, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_color_set(size_setter, 0, 0, 0, 0);
+ elm_object_part_content_set(s_info.layout, "size_setter", size_setter);
+
+ evas_object_event_callback_add(size_setter, EVAS_CALLBACK_MOUSE_DOWN, _drag_down_cb, NULL);
+ evas_object_event_callback_add(size_setter, EVAS_CALLBACK_MOUSE_UP, _drag_up_cb, NULL);
+}
diff --git a/tizen-manifest.xml b/tizen-manifest.xml
new file mode 100644
index 0000000..adecdde
--- /dev/null
+++ b/tizen-manifest.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<manifest xmlns="http://tizen.org/ns/packages" api-version="5.0" package="org.tizen.watch-face-editor" version="1.0.0">
+ <profile name="wearable"/>
+ <ui-application appid="org.tizen.watch-face-editor" exec="watch-face-editor" multiple="false" nodisplay="false" taskmanage="true" type="capp">
+ <label>Editor</label>
+ <icon>watch-face-editor.png</icon>
+ </ui-application>
+ <privileges>
+ <privilege>http://tizen.org/privilege/appmanager.launch</privilege>
+ <privilege>http://tizen.org/privilege/datasharing</privilege>
+ </privileges>
+</manifest>