it causes many kinds of license issues.
Even though I copied sample code from efl, it requires declaration of their licences.
So I removed it from this repository.
it will be managed by separated git for privately.
[model] Redwood,Kiran,B3(Wearable)
[binary_type] AP
[customer] Docomo/Orange/ATT/Open
[issue#] N/A
[problem]
[cause]
[solution]
[team] HomeTF
[request]
[horizontal_expansion]
Change-Id: I1ff3d7aa06b21eb5fcc0a6d9ebb87c363297323d
+++ /dev/null
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-PROJECT(w-add-viewer C)
-
-SET(PACKAGE ${PROJECT_NAME})
-SET(VENDOR "samsung")
-SET(PKGNAME "com.${VENDOR}.${PACKAGE}")
-SET(PREFIX "/usr/apps/${PKGNAME}")
-SET(BINDIR "${PREFIX}/bin")
-SET(RESDIR "${PREFIX}/res")
-SET(USRDATADIR "/usr/apps/com.${VENDOR}.${PACKAGE}/data")
-SET(DATADIR "/opt/usr/apps/com.${VENDOR}.${PACKAGE}/data")
-SET(LOCALEDIR "${RESDIR}/locale")
-#SET(ICONDIR "/usr/share/icons/default/small")
-SET(IMAGEDIR "${RESDIR}/images/${PACKAGE}")
-SET(SOUNDDIR "${RESDIR}/sound/${PACKAGE}")
-SET(EDJDIR "${RESDIR}/edje")
-SET(LIBEXECDIR "${PREFIX}/libexec")
-
-ADD_DEFINITIONS("-DRESDIR=\"${RESDIR}\"")
-ADD_DEFINITIONS("-DNDEBUG")
-ADD_DEFINITIONS("-DPATH_MAX=256")
-
-FIND_PROGRAM(UNAME NAMES uname)
-EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
-
-IF("${ARCH}" STREQUAL "arm")
- ADD_DEFINITIONS("-DTARGET")
- MESSAGE("add -DTARGET")
-ENDIF("${ARCH}" STREQUAL "arm")
-
-ADD_SUBDIRECTORY(dbox.calendar)
-ADD_SUBDIRECTORY(viewer)
-ADD_SUBDIRECTORY(dbox.app)
-ADD_SUBDIRECTORY(dbox.video)
-ADD_SUBDIRECTORY(dbox.scroller)
-ADD_SUBDIRECTORY(dbox.app-dbox.only)
-ADD_SUBDIRECTORY(dbox.text)
-ADD_SUBDIRECTORY(dbox.transit)
-ADD_SUBDIRECTORY(dbox.image)
-ADD_SUBDIRECTORY(dbox.simple)
-ADD_SUBDIRECTORY(dbox.win)
-#ADD_SUBDIRECTORY(dbox.app-template)
-
-INSTALL(FILES ${CMAKE_SOURCE_DIR}/LICENSE DESTINATION /usr/share/license RENAME ${PKGNAME})
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${PKGNAME}.xml DESTINATION /usr/share/packages)
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${PKGNAME}.rule DESTINATION /etc/smack/accesses2.d)
-
+++ /dev/null
-Flora License
-
-Version 1.1, April, 2013
-
-http://floralicense.org/license/
-
-TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-1. Definitions.
-
-"License" shall mean the terms and conditions for use, reproduction,
-and distribution as defined by Sections 1 through 9 of this document.
-
-"Licensor" shall mean the copyright owner or entity authorized by
-the copyright owner that is granting the License.
-
-"Legal Entity" shall mean the union of the acting entity and
-all other entities that control, are controlled by, or are
-under common control with that entity. For the purposes of
-this definition, "control" means (i) the power, direct or indirect,
-to cause the direction or management of such entity,
-whether by contract or otherwise, or (ii) ownership of fifty percent (50%)
-or more of the outstanding shares, or (iii) beneficial ownership of
-such entity.
-
-"You" (or "Your") shall mean an individual or Legal Entity
-exercising permissions granted by this License.
-
-"Source" form shall mean the preferred form for making modifications,
-including but not limited to software source code, documentation source,
-and configuration files.
-
-"Object" form shall mean any form resulting from mechanical
-transformation or translation of a Source form, including but
-not limited to compiled object code, generated documentation,
-and conversions to other media types.
-
-"Work" shall mean the work of authorship, whether in Source or Object form,
-made available under the License, as indicated by a copyright notice
-that is included in or attached to the work (an example is provided
-in the Appendix below).
-
-"Derivative Works" shall mean any work, whether in Source or Object form,
-that is based on (or derived from) the Work and for which the editorial
-revisions, annotations, elaborations, or other modifications represent,
-as a whole, an original work of authorship. For the purposes of this License,
-Derivative Works shall not include works that remain separable from,
-or merely link (or bind by name) to the interfaces of, the Work and
-Derivative Works thereof.
-
-"Contribution" shall mean any work of authorship, including the original
-version of the Work and any modifications or additions to that Work or
-Derivative Works thereof, that is intentionally submitted to Licensor
-for inclusion in the Work by the copyright owner or by an individual or
-Legal Entity authorized to submit on behalf of the copyright owner.
-For the purposes of this definition, "submitted" means any form of
-electronic, verbal, or written communication sent to the Licensor or
-its representatives, including but not limited to communication on
-electronic mailing lists, source code control systems, and issue
-tracking systems that are managed by, or on behalf of, the Licensor
-for the purpose of discussing and improving the Work, but excluding
-communication that is conspicuously marked or otherwise designated
-in writing by the copyright owner as "Not a Contribution."
-
-"Contributor" shall mean Licensor and any individual or Legal Entity
-on behalf of whom a Contribution has been received by Licensor and
-subsequently incorporated within the Work.
-
-"Tizen Certified Platform" shall mean a software platform that complies
-with the standards set forth in the Tizen Compliance Specification
-and passes the Tizen Compliance Tests as defined from time to time
-by the Tizen Technical Steering Group and certified by the Tizen
-Association or its designated agent.
-
-2. Grant of Copyright License. Subject to the terms and conditions of
-this License, each Contributor hereby grants to You a perpetual,
-worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-copyright license to reproduce, prepare Derivative Works of,
-publicly display, publicly perform, sublicense, and distribute the
-Work and such Derivative Works in Source or Object form.
-
-3. Grant of Patent License. Subject to the terms and conditions of
-this License, each Contributor hereby grants to You a perpetual,
-worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-(except as stated in this section) patent license to make, have made,
-use, offer to sell, sell, import, and otherwise transfer the Work
-solely as incorporated into a Tizen Certified Platform, where such
-license applies only to those patent claims licensable by such
-Contributor that are necessarily infringed by their Contribution(s)
-alone or by combination of their Contribution(s) with the Work solely
-as incorporated into a Tizen Certified Platform to which such
-Contribution(s) was submitted. If You institute patent litigation
-against any entity (including a cross-claim or counterclaim
-in a lawsuit) alleging that the Work or a Contribution incorporated
-within the Work constitutes direct or contributory patent infringement,
-then any patent licenses granted to You under this License for that
-Work shall terminate as of the date such litigation is filed.
-
-4. Redistribution. You may reproduce and distribute copies of the
-Work or Derivative Works thereof pursuant to the copyright license
-above, in any medium, with or without modifications, and in Source or
-Object form, provided that You meet the following conditions:
-
- 1. You must give any other recipients of the Work or Derivative Works
- a copy of this License; and
- 2. You must cause any modified files to carry prominent notices stating
- that You changed the files; and
- 3. You must retain, in the Source form of any Derivative Works that
- You distribute, all copyright, patent, trademark, and attribution
- notices from the Source form of the Work, excluding those notices
- that do not pertain to any part of the Derivative Works; and
- 4. If the Work includes a "NOTICE" text file as part of its distribution,
- then any Derivative Works that You distribute must include a readable
- copy of the attribution notices contained within such NOTICE file,
- excluding those notices that do not pertain to any part of
- the Derivative Works, in at least one of the following places:
- within a NOTICE text file distributed as part of the Derivative Works;
- within the Source form or documentation, if provided along with the
- Derivative Works; or, within a display generated by the Derivative Works,
- if and wherever such third-party notices normally appear.
- The contents of the NOTICE file are for informational purposes only
- and do not modify the License. You may add Your own attribution notices
- within Derivative Works that You distribute, alongside or as an addendum
- to the NOTICE text from the Work, provided that such additional attribution
- notices cannot be construed as modifying the License. You may add Your own
- copyright statement to Your modifications and may provide additional or
- different license terms and conditions for use, reproduction, or
- distribution of Your modifications, or for any such Derivative Works
- as a whole, provided Your use, reproduction, and distribution of
- the Work otherwise complies with the conditions stated in this License
- and your own copyright statement or terms and conditions do not conflict
- the conditions stated in the License including section 3.
-
-5. Submission of Contributions. Unless You explicitly state otherwise,
-any Contribution intentionally submitted for inclusion in the Work
-by You to the Licensor shall be under the terms and conditions of
-this License, without any additional terms or conditions.
-Notwithstanding the above, nothing herein shall supersede or modify
-the terms of any separate license agreement you may have executed
-with Licensor regarding such Contributions.
-
-6. Trademarks. This License does not grant permission to use the trade
-names, trademarks, service marks, or product names of the Licensor,
-except as required for reasonable and customary use in describing the
-origin of the Work and reproducing the content of the NOTICE file.
-
-7. Disclaimer of Warranty. Unless required by applicable law or
-agreed to in writing, Licensor provides the Work (and each
-Contributor provides its Contributions) on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-implied, including, without limitation, any warranties or conditions
-of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-PARTICULAR PURPOSE. You are solely responsible for determining the
-appropriateness of using or redistributing the Work and assume any
-risks associated with Your exercise of permissions under this License.
-
-8. Limitation of Liability. In no event and under no legal theory,
-whether in tort (including negligence), contract, or otherwise,
-unless required by applicable law (such as deliberate and grossly
-negligent acts) or agreed to in writing, shall any Contributor be
-liable to You for damages, including any direct, indirect, special,
-incidental, or consequential damages of any character arising as a
-result of this License or out of the use or inability to use the
-Work (including but not limited to damages for loss of goodwill,
-work stoppage, computer failure or malfunction, or any and all
-other commercial damages or losses), even if such Contributor
-has been advised of the possibility of such damages.
-
-9. Accepting Warranty or Additional Liability. While redistributing
-the Work or Derivative Works thereof, You may choose to offer,
-and charge a fee for, acceptance of support, warranty, indemnity,
-or other liability obligations and/or rights consistent with this
-License. However, in accepting such obligations, You may act only
-on Your own behalf and on Your sole responsibility, not on behalf
-of any other Contributor, and only if You agree to indemnify,
-defend, and hold each Contributor harmless for any liability
-incurred by, or claims asserted against, such Contributor by reason
-of your accepting any such warranty or additional liability.
-
-END OF TERMS AND CONDITIONS
-
-APPENDIX: How to apply the Flora License to your work
-
-To apply the Flora License to your work, attach the following
-boilerplate notice, with the fields enclosed by brackets "[]"
-replaced with your own identifying information. (Don't include
-the brackets!) The text should be enclosed in the appropriate
-comment syntax for the file format. We also recommend that a
-file or class name and description of purpose be included on the
-same "printed page" as the copyright notice for easier
-identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- 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.
-
+++ /dev/null
-Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
-
+++ /dev/null
-#subject
-com.samsung.w-add-viewer device::app_logging w
-com.samsung.w-add-viewer system::use_internet r
-com.samsung.w-add-viewer net-config r
-com.samsung.w-add-viewer xorg rw
-com.samsung.w-add-viewer isf rwx
-com.samsung.w-add-viewer sound_server rw
-com.samsung.w-add-viewer syspopup::db rw
-com.samsung.w-add-viewer dbus rwx
-com.samsung.w-add-viewer pulseaudio rwxat
-com.samsung.w-add-viewer ail::db rw
-com.samsung.w-add-viewer connman r
-com.samsung.w-add-viewer system rwx
-com.samsung.w-add-viewer immvibed rw
-com.samsung.w-add-viewer svi-data rx
-com.samsung.w-add-viewer com.samsung.clocksetting rwx
-com.samsung.w-add-viewer com.samsung.clocksetting::default-resources rx
-com.samsung.w-add-viewer e17 rx
-com.samsung.w-add-viewer system::vconf rwx
-com.samsung.w-add-viewer system::vconf_setting rw
-com.samsung.w-add-viewer system::vconf_inhouse rw
-com.samsung.w-add-viewer system::vconf_multimedia rw
-com.samsung.w-add-viewer deviced rwx
-com.samsung.w-add-viewer deviced::display rw
-com.samsung.w-add-viewer data-provider-master::data x
-com.samsung.w-add-viewer testmode::vconf r
-com.samsung.w-add-viewer data-provider-master::db rw
-com.samsung.w-add-viewer data-provider-master::share rwxat
-com.samsung.w-add-viewer data-provider-master::data rx
-com.samsung.w-add-viewer data-provider-master rw
-
-com.samsung.w-add-viewer pkgmgr::db rwx
-com.samsung.w-add-viewer efreet rwx
-com.samsung.w-add-viewer litewhome rwx
-
-com.samsung.w-add-viewer aul::launch x
-com.samsung.w-add-viewer aul::terminate x
-
-#object
-aul com.samsung.w-add-viewer rx
-dbus com.samsung.w-add-viewer rwx
-system com.samsung.w-add-viewer w
-com.samsung.data-provider-slave com.samsung.w-add-viewer rwx
-
-#ug include
-com.samsung.w-add-viewer app.default include
-
-com.samsung.w-add-viewer.app app.default include
-com.samsung.w-add-viewer.app device::app_logging w
-com.samsung.w-add-viewer.app system::use_internet r
-com.samsung.w-add-viewer.app net-config r
-com.samsung.w-add-viewer.app xorg rw
-com.samsung.w-add-viewer.app isf rwx
-com.samsung.w-add-viewer.app sound_server rw
-com.samsung.w-add-viewer.app syspopup::db rw
-com.samsung.w-add-viewer.app dbus rwx
-com.samsung.w-add-viewer.app pulseaudio rwxat
-com.samsung.w-add-viewer.app ail::db rw
-com.samsung.w-add-viewer.app connman r
-com.samsung.w-add-viewer.app system rwx
-com.samsung.w-add-viewer.app immvibed rw
-com.samsung.w-add-viewer.app svi-data rx
-com.samsung.w-add-viewer.app com.samsung.clocksetting rwx
-com.samsung.w-add-viewer.app com.samsung.clocksetting::default-resources rx
-com.samsung.w-add-viewer.app e17 rx
-com.samsung.w-add-viewer.app system::vconf rwx
-com.samsung.w-add-viewer.app system::vconf_setting rw
-com.samsung.w-add-viewer.app system::vconf_inhouse rw
-com.samsung.w-add-viewer.app system::vconf_multimedia rw
-com.samsung.w-add-viewer.app deviced rwx
-com.samsung.w-add-viewer.app deviced::display rw
-com.samsung.w-add-viewer.app data-provider-master::data x
-com.samsung.w-add-viewer.app testmode::vconf r
-com.samsung.w-add-viewer.app data-provider-master::db rw
-com.samsung.w-add-viewer.app data-provider-master::share rwxat
-com.samsung.w-add-viewer.app data-provider-master::data rx
-com.samsung.w-add-viewer.app data-provider-master rw
-
-com.samsung.w-add-viewer.app pkgmgr::db rwx
-com.samsung.w-add-viewer.app efreet rwx
-com.samsung.w-add-viewer.app litewhome rwx
-
-com.samsung.w-add-viewer.app aul::launch x
-com.samsung.w-add-viewer.app aul::terminate x
-
-#object
-aul com.samsung.w-add-viewer.app rx
-dbus com.samsung.w-add-viewer.app rwx
-system com.samsung.w-add-viewer.app w
-com.samsung.data-provider-slave com.samsung.w-add-viewer.app rwx
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns="http://tizen.org/ns/packages" package="com.samsung.w-add-viewer" version="0.1.5" install-location="internal-only">
- <label>Add Viewer</label>
- <author email="gildong.hong@samsung.com" href="www.samsung.com">GilDong Hong</author>
- <description>w-add-viewer Application</description>
-
- <!-- This should be comes first to detected by WMS as a clock app -->
- <ui-application appid="com.samsung.w-add-viewer.dbox.clock" exec="/usr/apps/com.samsung.w-add-viewer/bin/provider.dbox.app" nodisplay="true" multiple="false" type="capp" taskmanage="false">
- <category name="com.samsung.wmanager.WATCH_CLOCK"></category>
- <label>DBox Clock Sample</label>
- <icon>com.samsung.w-add-viewer.dbox.clock</icon>
- </ui-application>
-
- <ui-application appid="com.samsung.w-add-viewer.app" exec="/usr/apps/com.samsung.w-add-viewer/bin/provider.dbox.app" nodisplay="true" multiple="false" type="capp" taskmanage="false">
- <label>DBox Sample App</label>
- <icon>com.samsung.w-add-viewer.dbox.app</icon>
- </ui-application>
-
- <!-- Main application -->
- <ui-application appid="com.samsung.w-add-viewer" exec="/usr/apps/com.samsung.w-add-viewer/bin/w-add-viewer" nodisplay="false" multiple="false" type="capp" taskmanage="true">
- <label>Add Viewer</label>
- <icon>com.samsung.w-add-viewer</icon>
- </ui-application>
-
- <dynamicbox appid="com.samsung.calendar.icon" primary="false" network="false" timeout="60" period="60" libexec="/usr/apps/com.samsung.w-add-viewer/libexec/libcom.samsung.w-add-viewer.dbox.calendar.so" nodisplay="false" script="edje" pinup="false" secured="false" abi="c">
- <label>Calendar DBox</label>
- <label xml:lang="ko-kr">캘린더</label>
- <content>This is a default calendar data</content>
- <icon>/usr/share/icons/default/small/com.samsung.calendar.icon.png</icon>
- <category name="http://tizen.org/dynamicbox/default"></category>
- <box type="image" mouse_event="false" touch_effect="false">
- <!-- Please update this. Update the supported size list for your box -->
- <size preview="REPLACE_THIS_WITH_PREVIEW_IMAGE_FILE">4x4</size>
- </box>
- </dynamicbox>
- <dynamicbox appid="com.samsung.w-add-viewer.dbox" primary="false" network="false" timeout="60" period="0" libexec="/usr/apps/com.samsung.w-add-viewer/libexec/libcom.samsung.w-add-viewer.dbox.so" nodisplay="false" script="edje" pinup="false" secured="false" abi="c">
- <label>Buffer DBox</label>
- <label xml:lang="ko-kr">REPLACE_THIS_WITH_YOUR_LIVEBOX_APPNAME_IN_KR</label>
- <icon>/usr/share/icons/default/small/com.samsung.w-add-viewer.dbox.png</icon>
- <category name="http://tizen.org/dynamicbox/default"></category>
- <box type="buffer" mouse_event="true" touch_effect="false">
- <!-- Please update this. Update the supported size list for your box -->
- <size preview="REPLACE_THIS_WITH_PREVIEW_IMAGE_FILE">4x4</size>
- </box>
- </dynamicbox>
- <dynamicbox appid="com.samsung.w-add-viewer.img" primary="false" network="false" timeout="60" period="5" libexec="/usr/apps/com.samsung.w-add-viewer/libexec/libcom.samsung.w-add-viewer.dbox.img.so" nodisplay="false" script="edje" pinup="false" secured="false" abi="c">
- <label>Image DBox</label>
- <label xml:lang="ko-kr">이미지샘플</label>
- <icon>/usr/share/icons/default/small/com.samsung.w-add-viewer.img.png</icon>
- <category name="http://tizen.org/dynamicbox/default"></category>
- <box type="image" mouse_event="true" touch_effect="false">
- <!-- Please update this. Update the supported size list for your box -->
- <size preview="REPLACE_THIS_WITH_PREVIEW_IMAGE_FILE">4x4</size>
- </box>
- </dynamicbox>
- <dynamicbox appid="com.samsung.w-add-viewer.video" primary="false" network="false" timeout="60" period="0" libexec="/usr/apps/com.samsung.w-add-viewer/libexec/libcom.samsung.w-add-viewer.dbox.video.so" nodisplay="false" script="edje" pinup="false" secured="false" abi="c">
- <label>Video DBox</label>
- <label xml:lang="ko-kr">비디오샘플</label>
- <icon>/usr/share/icons/default/small/com.samsung.w-add-viewer.video.png</icon>
- <category name="http://tizen.org/dynamicbox/default"></category>
- <box type="buffer" mouse_event="true" touch_effect="false">
- <!-- Please update this. Update the supported size list for your box -->
- <size preview="REPLACE_THIS_WITH_PREVIEW_IMAGE_FILE">4x4</size>
- </box>
- </dynamicbox>
- <dynamicbox appid="com.samsung.w-add-viewer.scroller" primary="false" network="false" timeout="60" period="0" libexec="/usr/apps/com.samsung.w-add-viewer/libexec/libcom.samsung.w-add-viewer.dbox.scroller.so" nodisplay="false" script="edje" pinup="false" secured="false" abi="c">
- <label>Winset DBox</label>
- <label xml:lang="ko-kr">윈셋샘플</label>
- <icon>/usr/share/icons/default/small/com.samsung.w-add-viewer.scroller.png</icon>
- <category name="http://tizen.org/dynamicbox/default"></category>
- <box type="buffer" mouse_event="true" touch_effect="false">
- <!-- Please update this. Update the supported size list for your box -->
- <size preview="REPLACE_THIS_WITH_PREVIEW_IMAGE_FILE">4x4</size>
- </box>
- </dynamicbox>
- <dynamicbox appid="com.samsung.w-add-viewer.simple" primary="false" network="false" timeout="60" period="0" libexec="/usr/apps/com.samsung.w-add-viewer/libexec/libcom.samsung.w-add-viewer.dbox.simple.so" nodisplay="false" script="edje" pinup="false" secured="false" abi="c">
- <label>Simple DBox</label>
- <label xml:lang="ko-kr">심플박스</label>
- <icon>/usr/share/icons/default/small/com.samsung.w-add-viewer.simple.png</icon>
- <category name="http://tizen.org/dynamicbox/default"></category>
- <box type="buffer" mouse_event="true" touch_effect="false">
- <!-- Please update this. Update the supported size list for your box -->
- <size preview="REPLACE_THIS_WITH_PREVIEW_IMAGE_FILE">4x4</size>
- </box>
- </dynamicbox>
- <dynamicbox appid="com.samsung.w-add-viewer.transit" primary="false" network="false" timeout="60" period="0" libexec="/usr/apps/com.samsung.w-add-viewer/libexec/libcom.samsung.w-add-viewer.dbox.transit.so" nodisplay="false" script="edje" pinup="false" secured="false" abi="c">
- <label>Transit DBox</label>
- <label xml:lang="ko-kr">트랜지션샘플</label>
- <icon>/usr/share/icons/default/small/com.samsung.w-add-viewer.transit.png</icon>
- <category name="http://tizen.org/dynamicbox/default"></category>
- <box type="buffer" mouse_event="true" touch_effect="false">
- <!-- Please update this. Update the supported size list for your box -->
- <size preview="REPLACE_THIS_WITH_PREVIEW_IMAGE_FILE">4x4</size>
- </box>
- </dynamicbox>
- <dynamicbox appid="com.samsung.w-add-viewer.app" primary="false" network="false" timeout="60" period="0" nodisplay="false" script="edje" pinup="false" secured="false" abi="app">
- <label>Standalone DBox</label>
- <label xml:lang="ko-kr">앱DBox</label>
- <icon>/usr/share/icons/default/small/com.samsung.w-add-viewer.app.png</icon>
- <category name="http://tizen.org/dynamicbox/default"></category>
- <box type="buffer" mouse_event="true" touch_effect="false">
- <!-- Please update this. Update the supported size list for your box -->
- <size preview="/usr/share/icons/default/small/com.samsung.w-add-viewer.dbox.app.png">4x4</size>
- </box>
- </dynamicbox>
- <dynamicbox appid="com.samsung.w-add-viewer.clock" primary="true" network="false" timeout="60" period="0" nodisplay="true" script="edje" pinup="false" secured="false" abi="app">
- <label>Clock DBox</label>
- <category name="com.samsung.wmanager.WATCH_CLOCK"></category>
- <label xml:lang="ko-kr">샘플시계</label>
- <icon>/usr/share/icons/default/small/com.samsung.w-add-viewer.clock.png</icon>
- <box type="buffer" mouse_event="true" touch_effect="false">
- <!-- Please update this. Update the supported size list for your box -->
- <size preview="/usr/share/icons/default/small/com.samsung.w-add-viewer.dbox.clock.png">4x4</size>
- </box>
- </dynamicbox>
- <dynamicbox appid="com.samsung.w-add-viewer.text" primary="false" network="false" timeout="60" period="10" libexec="/usr/apps/com.samsung.w-add-viewer/libexec/libcom.samsung.w-add-viewer.dbox.text.so" nodisplay="false" script="dali" pinup="false" secured="false" abi="c">
- <label>Text(script) DBox</label>
- <label xml:lang="ko-kr">텍스트박스</label>
- <icon>/usr/share/icons/default/small/com.samsung.w-add-viewer.text.png</icon>
- <category name="http://tizen.org/dynamicbox/default"></category>
- <box type="text" mouse_event="true" touch_effect="false">
- <!-- Please update this. Update the supported size list for your box -->
- <size preview="REPLACE_THIS_WITH_PREVIEW_IMAGE_FILE">4x4</size>
- <script src="/usr/apps/com.samsung.w-add-viewer/shared/script/text.dali" group="default" />
- </box>
- </dynamicbox>
-</manifest>
+++ /dev/null
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-PROJECT(provider.dbox.app-dbox C)
-
-SET(SRCS
- src/main.c
-)
-
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR})
-
-INCLUDE(FindPkgConfig)
-pkg_check_modules(dbox_pkgs REQUIRED
- capi-appfw-application
- elementary
- dlog
- dynamicbox_service
- dynamicbox_provider
- dynamicbox_provider_app
- dynamicbox
- vconf
-)
-
-FOREACH(flag ${dbox_pkgs_CFLAGS})
- SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
- SET(EXTRA_CXXFLAGS "${EXTRA_CXXFLAGS} ${flag}")
-ENDFOREACH(flag)
-
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -Wall")
-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CXXFLAGS} -Wall")
-SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -Wall")
-SET(CMAKE_C_FLAGS_RELEASE "-O2 -Wall")
-
-INCLUDE_DIRECTORIES("${CMAKE_CURRENT_SOURCE_DIR}/include")
-
-ADD_DEFINITIONS("-DLOG_TAG=\"DBOX_APP_ONLY\"")
-SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
-
-ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${dbox_pkgs_LDFLAGS} "-lm")
-
-INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${BINDIR})
-
-#install application HOME directory
-ADD_SUBDIRECTORY(data)
+++ /dev/null
-struct instance;
-
-extern struct instance *instance_create(const char *id, const char *content, int w, int h);
-extern int instance_destroy(struct instance *inst);
-
-extern struct instance *instance_find(const char *id);
-
-extern int instance_set_size_by_id(const char *id, int w, int h);
-extern int instance_set_size_by_handle(struct instance *handle, int w, int h);
-
-extern int instance_get_size_by_id(const char *id, int *w, int *h);
-extern int instance_get_size_by_handle(struct instance *handle, int *w, int *h);
-
-extern int instance_set_data(struct instance *inst, void *data);
-extern void *instance_data(struct instance *inst);
-
-extern int instance_crawling(int (*cb)(struct instance *inst, void *data), void *data);
-/* End of a file */
+++ /dev/null
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-
-#include <Eina.h>
-
-#include <dynamicbox_service.h>
-#include <dynamicbox_errno.h>
-
-#include "instance.h"
-
-struct instance {
- char *id;
- char *content;
- int w;
- int h;
- void *data;
-};
-
-static struct info {
- Eina_List *inst_list;
-} s_info = {
- .inst_list = NULL,
-};
-
-struct instance *instance_create(const char *id, const char *content, int w, int h)
-{
- struct instance *inst;
-
- inst = calloc(1, sizeof(*inst));
- if (!inst) {
- return NULL;
- }
-
- inst->id = strdup(id);
- if (!inst->id) {
- free(inst);
- return NULL;
- }
-
- inst->w = w;
- inst->h = h;
-
- s_info.inst_list = eina_list_append(s_info.inst_list, inst);
-
- return inst;
-}
-
-int instance_destroy(struct instance *inst)
-{
- s_info.inst_list = eina_list_remove(s_info.inst_list, inst);
- free(inst->id);
- free(inst);
- return DBOX_STATUS_ERROR_NONE;
-}
-
-struct instance *instance_find(const char *id)
-{
- Eina_List *l;
- struct instance *inst;
-
- if (!id) {
- return NULL;
- }
-
- EINA_LIST_FOREACH(s_info.inst_list, l, inst) {
- if (!strcmp(inst->id, id)) {
- return inst;
- }
- }
-
- return NULL;
-}
-
-int instance_set_size_by_id(const char *id, int w, int h)
-{
- struct instance *inst;
-
- inst = instance_find(id);
- if (!inst) {
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
- }
-
- return instance_set_size_by_handle(inst, w, h);
-}
-
-int instance_set_size_by_handle(struct instance *inst, int w, int h)
-{
- inst->w = w;
- inst->h = h;
-
- return DBOX_STATUS_ERROR_NONE;
-}
-
-int instance_get_size_by_id(const char *id, int *w, int *h)
-{
- struct instance *inst;
-
- inst = instance_find(id);
- if (!inst) {
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
- }
-
- return instance_get_size_by_handle(inst, w, h);
-}
-
-int instance_get_size_by_handle(struct instance *inst, int *w, int *h)
-{
- *w = inst->w;
- *h = inst->h;
-
- return DBOX_STATUS_ERROR_NONE;
-}
-
-int instance_set_data(struct instance *inst, void *data)
-{
- inst->data = data;
- return DBOX_STATUS_ERROR_NONE;
-}
-
-void *instance_data(struct instance *inst)
-{
- return inst->data;
-}
-
-int instance_crawling(int (*cb)(struct instance *inst, void *data), void *data)
-{
- Eina_List *l;
- Eina_List *n;
- struct instance *inst;
- int cnt = 0;
-
- EINA_LIST_FOREACH_SAFE(s_info.inst_list, l, n, inst) {
- if (cb(inst, data) < 0) {
- break;
- }
- cnt++;
- }
-
- return cnt;
-}
-
-/* End of a file */
+++ /dev/null
-#include <Elementary.h>
-
-#include <app.h>
-#include <dlog.h>
-#include <vconf.h>
-
-#include <dynamicbox.h>
-#include <dynamicbox_errno.h>
-#include <dynamicbox_service.h>
-
-#include <dynamicbox_provider_app.h>
-
-struct dynamicbox_data {
- Evas_Object *win;
- Evas_Object *bg;
-};
-
-static int dbox_create(const char *id, const char *content, int w, int h, void *data)
-{
- struct dynamicbox_data *dbox_data;
- Evas_Object *tmp_parent;
-
- dbox_data = calloc(1, sizeof(*dbox_data));
- if (!dbox_data) {
- return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
- }
-
- tmp_parent = dynamicbox_get_evas_object(id, 0);
- if (!tmp_parent) {
- free(dbox_data);
- return DBOX_STATUS_ERROR_FAULT;
- }
-
- dbox_data->win = elm_win_add(tmp_parent, "DBox Window", ELM_WIN_DYNAMIC_BOX);
- evas_object_del(tmp_parent);
- if (!dbox_data->win) {
- free(dbox_data);
- return DBOX_STATUS_ERROR_FAULT;
- }
-
- dynamicbox_provider_app_set_data(id, dbox_data);
- evas_object_resize(dbox_data->win, w, h);
- evas_object_show(dbox_data->win);
-
- dbox_data->bg = elm_bg_add(dbox_data->win);
- elm_win_resize_object_add(dbox_data->win, dbox_data->bg);
- evas_object_resize(dbox_data->bg, w, h);
- elm_bg_color_set(dbox_data->bg, 255, 0, 0);
- evas_object_show(dbox_data->bg);
-
- return DBOX_STATUS_ERROR_NONE;
-}
-
-static int dbox_resize(const char *id, int w, int h, void *data)
-{
- struct dynamicbox_data *dbox_data;
-
- dbox_data = dynamicbox_provider_app_data(id);
- if (!dbox_data) {
- return DBOX_STATUS_ERROR_FAULT;
- }
-
- evas_object_resize(dbox_data->win, w, h);
-
- /**
- * @TODO:
- */
- return 0;
-}
-
-static int dbox_destroy(const char *id, dynamicbox_destroy_type_e reason, void *data)
-{
- struct dynamicbox_data *dbox_data;
-
- dbox_data = dynamicbox_provider_app_data(id);
- if (!dbox_data) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- evas_object_del(dbox_data->win);
- free(dbox_data);
-
- dynamicbox_provider_app_set_data(id, NULL);
- /**
- * @TODO:
- */
- return 0;
-}
-
-static int gbar_create(const char *id, int w, int h, double x, double y, void *data)
-{
- struct dynamicbox_data *dbox_data;
-
- dbox_data = dynamicbox_provider_app_data(id);
- if (!dbox_data) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- /**
- * @TODO:
- */
- return DBOX_STATUS_ERROR_NOT_IMPLEMENTED;
-}
-
-static int gbar_resize_move(const char *id, int w, int h, double x, double y, void *data)
-{
- struct dynamicbox_data *dbox_data;
-
- dbox_data = dynamicbox_provider_app_data(id);
- if (!dbox_data) {
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
- }
-
- /**
- * @TODO:
- */
- return DBOX_STATUS_ERROR_NOT_IMPLEMENTED;
-}
-
-static int gbar_destroy(const char *id, int reason, void *data)
-{
- struct dynamicbox_data *dbox_data;
-
- dbox_data = dynamicbox_provider_app_data(id);
- if (!dbox_data) {
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
- }
-
- /**
- * @TODO:
- */
- return DBOX_STATUS_ERROR_NOT_IMPLEMENTED;
-}
-
-static int dbox_update(const char *id, const char *content, int force, void *data)
-{
- struct dynamicbox_data *dbox_data;
-
- dbox_data = dynamicbox_provider_app_data(id);
- if (!dbox_data) {
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
- }
-
- /**
- * @TODO:
- */
- return DBOX_STATUS_ERROR_NOT_IMPLEMENTED;
-}
-
-static int dbox_script_event(const char *id, const char *emission, const char *source, dynamicbox_event_info_t info, void *data)
-{
- struct dynamicbox_data *dbox_data;
-
- dbox_data = dynamicbox_provider_app_data(id);
- if (!dbox_data) {
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
- }
-
- /**
- * @TODO:
- */
- return DBOX_STATUS_ERROR_NOT_IMPLEMENTED;
-}
-
-static int dbox_pause(const char *id, void *data)
-{
- struct dynamicbox_data *dbox_data;
-
- dbox_data = dynamicbox_provider_app_data(id);
- if (!dbox_data) {
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
- }
-
- /**
- * @TODO:
- */
- return DBOX_STATUS_ERROR_NOT_IMPLEMENTED;
-}
-
-static int dbox_resume(const char *id, void *data)
-{
- struct dynamicbox_data *dbox_data;
-
- dbox_data = dynamicbox_provider_app_data(id);
- if (!dbox_data) {
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
- }
-
- /**
- * @TODO:
- */
- return DBOX_STATUS_ERROR_NOT_IMPLEMENTED;
-}
-
-static bool app_create(void *data)
-{
- /**
- * @TODO:
- */
- return true;
-}
-
-static void app_terminate(void *data)
-{
- /**
- * @TODO:
- */
-}
-
-static void app_pause(void *data)
-{
- /**
- * @TODO:
- */
-}
-
-static void app_resume(void *data)
-{
- /**
- * @TODO:
- */
-}
-
-static int update_all_cb(struct dynamicbox_data *dbox_data, void *data)
-{
- int r = 0;
- int g = 0;
- int b = 0;
-
- if (!strcasecmp(data, "red")) {
- r = 255;
- } else if (!strcasecmp(data, "blue")) {
- b = 255;
- } else if (!strcasecmp(data, "green")) {
- g = 255;
- }
-
- if (dbox_data && dbox_data->bg) {
- elm_bg_color_set(dbox_data->bg, r, g, b);
- }
-
- return 0;
-}
-
-static void _app_control(app_control_h service, void *data)
-{
- int ret;
- char *value = NULL;
-
- ret = app_control_get_extra_data(service, "color", &value);
- if (ret == APP_CONTROL_ERROR_NONE && value) {
- Eina_List *list;
- struct dynamicbox_data *dbox_data;
-
- LOGD("Color: [%s]\n", value);
- list = dynamicbox_provider_app_data_list();
- EINA_LIST_FREE(list, dbox_data) {
- update_all_cb(dbox_data, value);
- }
- free(value);
- } else {
- if (dynamicbox_provider_app_init(service, data) < 0) {
- LOGE("Failed to initialize the provider_app\n");
- }
- }
- /**
- * @TODO:
- */
-}
-
-static void app_language_changed(void *data)
-{
- /**
- * @TODO:
- */
-}
-
-int main(int argc, char *argv[])
-{
- struct dynamicbox_provider_event_callback table = {
- .dbox = {
- .create = dbox_create,
- .resize = dbox_resize,
- .destroy = dbox_destroy,
- },
-
- .gbar = {
- .create = gbar_create,
- .resize_move = gbar_resize_move,
- .destroy = gbar_destroy,
- },
-
- .update = dbox_update,
- .script_event = dbox_script_event,
- .clicked = NULL,
-
- .pause = dbox_pause,
- .resume = dbox_resume,
-
- .connected = NULL,
- .disconnected = NULL,
-
- .data = NULL,
- };
-
- app_event_callback_s app_callback = {
- .create = app_create,
- .terminate = app_terminate,
- .pause = app_pause,
- .resume = app_resume,
- .app_control = _app_control,
- .language_changed = app_language_changed,
- .low_memory = NULL,
- .low_battery = NULL,
- .device_orientation = NULL,
- .region_format_changed = NULL,
- };
-
- return app_efl_main(&argc, &argv, &app_callback, &table);
-}
-
-/* End of a file */
+++ /dev/null
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-PROJECT(provider.dbox.app C)
-
-SET(SRCS
- src/main.c
-)
-
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR})
-
-INCLUDE(FindPkgConfig)
-pkg_check_modules(pkgs REQUIRED
- capi-appfw-application
- elementary
- dlog
- dynamicbox_service
- dynamicbox_provider_app
- dynamicbox_provider
- dynamicbox
-)
-
-FOREACH(flag ${pkgs_CFLAGS})
- SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
- SET(EXTRA_CXXFLAGS "${EXTRA_CXXFLAGS} ${flag}")
-ENDFOREACH(flag)
-
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -Wall")
-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CXXFLAGS} -Wall")
-SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -Wall")
-SET(CMAKE_C_FLAGS_RELEASE "-O2 -Wall")
-
-INCLUDE_DIRECTORIES("${CMAKE_CURRENT_SOURCE_DIR}/include")
-
-SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
-
-ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} "-lm")
-
-INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${BINDIR})
-
-#install application HOME directory
-INSTALL(DIRECTORY DESTINATION ${DATADIR})
-ADD_SUBDIRECTORY(data)
+++ /dev/null
-#include <Elementary.h>
-
-#include <app.h>
-#include <dlog.h>
-#include <vconf.h>
-
-#include <dynamicbox_errno.h>
-#include <dynamicbox_service.h>
-#include <dynamicbox_provider.h>
-#include <dynamicbox_provider_app.h>
-
-static int dbox_create(const char *id, const char *content, int w, int h, void *data)
-{
- /*!
- * \TODO:
- */
- return 0;
-}
-
-static int dbox_resize(const char *id, int w, int h, void *data)
-{
- /*!
- * \TODO:
- */
- return 0;
-}
-
-static int dbox_destroy(const char *id, int reason, void *data)
-{
- /*!
- * \TODO:
- */
- return 0;
-}
-
-static int gbar_create(const char *id, int w, int h, double x, double y, void *data)
-{
- /*!
- * \TODO:
- */
- return 0;
-}
-
-static int gbar_resize_move(const char *id, int w, int h, double x, double y, void *data)
-{
- /*!
- * \TODO:
- */
- return 0;
-}
-
-static int gbar_destroy(const char *id, int reason, void *data)
-{
- /*!
- * \TODO:
- */
- return 0;
-}
-
-static int dbox_update(const char *id, const char *content, int force, void *data)
-{
- /*!
- * \TODO:
- */
- return 0;
-}
-
-static int dbox_script_event(const char *id, const char *emission, const char *source, dynamicbox_event_info_t info, void *data)
-{
- /*!
- * \TODO:
- */
- return 0;
-}
-
-static int dbox_pause(const char *id, void *data)
-{
- /*!
- * \TODO:
- */
- return 0;
-}
-
-static int dbox_resume(const char *id, void *data)
-{
- /*!
- * \TODO:
- */
- return 0;
-}
-
-static bool app_create(void *data)
-{
- /*!
- * \TODO:
- */
- return true;
-}
-
-static void app_terminate(void *data)
-{
- /*!
- * \TODO:
- */
-}
-
-static void app_pause(void *data)
-{
- /*!
- * \TODO:
- */
-}
-
-static void app_resume(void *data)
-{
- /*!
- * \TODO:
- */
-}
-
-static void app_service(app_control_h service, void *data)
-{
- if (dynamicbox_provider_app_init(service, data) < 0) {
- LOGE("Failed to initialize the provider_app\n");
- }
- /*!
- * \TODO:
- */
-}
-
-static void app_language_changed(void *data)
-{
- /*!
- * \TODO:
- */
-}
-
-int main(int argc, char *argv[])
-{
- app_event_callback_s app_callback = {
- .create = app_create,
- .terminate = app_terminate,
- .pause = app_pause,
- .resume = app_resume,
- .app_control = app_service,
- .language_changed = app_language_changed,
- .low_memory = NULL,
- .low_battery = NULL,
- .device_orientation = NULL,
- .region_format_changed = NULL,
- };
-
- struct dynamicbox_provider_event_callback table = {
- .dbox = {
- .create = dbox_create,
- .resize = dbox_resize,
- .destroy = dbox_destroy,
- },
-
- .gbar = {
- .create = gbar_create,
- .resize_move = gbar_resize_move,
- .destroy = gbar_destroy,
- },
-
- .update = dbox_update,
- .script_event = dbox_script_event,
-
- .pause = dbox_pause,
- .resume = dbox_resume,
- .data = NULL,
- };
-
- return app_efl_main(&argc, &argv, &app_callback, &table);
-}
-
-/* End of a file */
+++ /dev/null
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-PROJECT(provider.dbox.app C)
-
-SET(SRCS
- src/main.c
- src/instance.c
-# src/entry.c
- src/util.c
- src/window.c
- src/htt.c
-)
-
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR})
-
-INCLUDE(FindPkgConfig)
-pkg_check_modules(app_pkgs REQUIRED
- capi-appfw-application
- vconf
- elementary
- ecore-x
- dlog
- dynamicbox_service
- dynamicbox_provider_app
- dynamicbox_provider
- dynamicbox
-)
-
-FOREACH(flag ${app_pkgs_CFLAGS})
- SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
- SET(EXTRA_CXXFLAGS "${EXTRA_CXXFLAGS} ${flag}")
-ENDFOREACH(flag)
-
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -Wall")
-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CXXFLAGS} -Wall")
-SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -Wall")
-SET(CMAKE_C_FLAGS_RELEASE "-O2 -Wall")
-
-FIND_PROGRAM(UNAME NAMES uname)
-EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
-IF("${ARCH}" STREQUAL "arm")
- ADD_DEFINITIONS("-DTARGET")
- MESSAGE("add -DTARGET")
-ENDIF("${ARCH}" STREQUAL "arm")
-
-ADD_DEFINITIONS("-DLOG_TAG=\"DBOX_APP\"")
-INCLUDE_DIRECTORIES("${CMAKE_CURRENT_SOURCE_DIR}/include")
-
-SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
-
-ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${app_pkgs_LDFLAGS} "-lm")
-
-INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${BINDIR})
-
-#install application HOME directory
-INSTALL(DIRECTORY DESTINATION ${DATADIR})
-#ADD_SUBDIRECTORY(data)
-ADD_SUBDIRECTORY(res)
+++ /dev/null
-Name=Elm Demo TIZEN
-Type=Application
-Exec=/opt/usr/apps/com.samsung.elm-demo-tizen/bin/elm_demo_tizen
-Icon=com.samsung.elm-demo-tizen.png
-Comment=Elementary Demo TIZEN Utility
+++ /dev/null
-[ProcessSetting]
-BG_SCHEDULE=true
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.
- *
- */
-
-// Use this
-/*
-#define FONT_BLD "HelveticaNeueBld"
-#define FONT_MED "HelveticaNeueMed"
-#define FONT_ROM "HelveticaNeueRom"
-#define FONT_LIG "HelveticaNeueLig"
-*/
-
-#define FONT_BLD "Tizen:style=Bold"
-#define FONT_MED "Tizen:style=Medium"
-#define FONT_ROM "Tizen:style=Roman"
-#define FONT_LIG "Tizen:style=Roman"
-
-collections {
-#include "groups/access.edc"
-#include "groups/button.edc"
-#include "groups/multibuttonentry.edc"
-#include "groups/gengrid_customized_theme.edc"
-#include "groups/genlist.edc"
-#include "groups/genlist_progress_style.edc"
-#include "groups/genlist_variable_size.edc"
-#include "groups/genlist_color.edc"
-#include "groups/genlist_externals.edc"
-#include "groups/genlist_swipe.edc"
-#include "groups/index.edc"
-#include "groups/label.edc"
-#include "groups/controlbar.edc"
-#include "groups/fonttest.edc"
-#include "groups/fonteffecttest.edc"
-#include "groups/entry.edc"
-#include "groups/progressbar_default.edc"
-#include "groups/progressbar_custom.edc"
-#include "groups/check.edc"
-#include "groups/radio.edc"
-#include "groups/radio_custom.edc"
-#include "groups/transit.edc"
-#include "groups/slider_default.edc"
-#include "groups/slider_volume.edc"
-#include "groups/slider_custom.edc"
-#include "groups/dayselector.edc"
-#include "groups/popup_custom.edc"
-#include "groups/style_button.edc"
-#include "groups/style_popup.edc"
-#include "groups/style_ctxpopup_imageeditor.edc"
-#include "groups/style_ctxpopup_camera.edc"
-#include "groups/nocontents.edc"
-#include "groups/ctxpopup.edc"
-#include "groups/colorselector.edc"
-#include "groups/colorpalette.edc"
-#include "groups/calendar.edc"
-#include "groups/autoscroll.edc"
-#include "groups/multitouch.edc"
-#include "groups/segmentcontrol.edc"
-#include "groups/style_navibar.edc"
-#include "groups/datefield.edc"
-#include "groups/video.edc"
-#include "groups/naviframe.edc"
-#include "groups/tickernoti.edc"
-#include "groups/vi.edc"
-#include "groups/floating.edc"
-#include "groups/colorplane.edc"
-#include "groups/dnd.edc"
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.
- *
- */
-
-group {
- name: "scroll_test";
- parts {
- part { name: "base";
- type: RECT;
- mouse_events: 0;
- scale: 1;
- description {
- min: 0 3000;
- state: "default" 0.0;
- color: 64 64 64 255;
- }
- }
- part { name: "edje_button";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1.relative: 0.1 0.05;
- rel2.relative: 0.4 0.10;
- color: 0 0 255 255;
- }
- }
- part { name: "edje_button2";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1.relative: 0.6 0.07;
- rel2.relative: 0.9 0.12;
- color: 0 0 255 255;
- }
- }
- part { name: "edje_button3";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1.relative: 0.2 0.14;
- rel2.relative: 0.8 0.17;
- color: 0 0 255 255;
- }
- }
- part { name: "edje_button4";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1.relative: 0.1 0.24;
- rel2.relative: 0.5 0.32;
- color: 0 0 255 255;
- }
- }
- part { name: "edje_button5";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1.relative: 0.7 0.22;
- rel2.relative: 0.9 0.25;
- color: 0 0 255 255;
- }
- }
- part { name: "edje_button6";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1.relative: 0.7 0.26;
- rel2.relative: 0.9 0.28;
- color: 0 0 255 255;
- }
- }
- part { name: "edje_button7";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1.relative: 0.7 0.31;
- rel2.relative: 0.9 0.34;
- color: 0 0 255 255;
- }
- }
- part { name: "elm.swallow.content";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- rel1.relative: 0.1 0.38;
- rel2.relative: 0.4 0.42;
- }
- }
- part { name: "elm.swallow.content2";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- rel1.relative: 0.7 0.38;
- rel2.relative: 0.9 0.42;
- }
- }
- part { name: "elm.swallow.content3";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- rel1.relative: 0.1 0.45;
- rel2.relative: 0.3 0.47;
- }
- }
- part { name: "elm.swallow.content4";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- rel1.relative: 0.4 0.46;
- rel2.relative: 0.9 0.49;
- }
- }
- part { name: "elm.swallow.genlist";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- rel1.relative: 0.1 0.5;
- rel2.relative: 0.9 0.9;
- }
- }
- part { name: "elm.swallow.toolbar";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- rel1.relative: 0.0 0.95;
- rel2.relative: 1.0 1.0;
- }
- }
- }
-}
-
-group { name: "overlap_test";
- parts {
- part {
- name: "red";
- type: RECT;
- scale: 1;
- description {
- color: 125 0 0 125;
- rel1 { relative: 0.1 0.1; }
- rel2 { relative: 0.9 0.9; }
- }
- }
- part {
- name: "green";
- type: RECT;
- scale: 1;
- description {
- color: 0 125 0 125;
- rel1 { relative: 0.25 0.25; }
- rel2 { relative: 0.75 0.75; }
- }
- }
- part {
- name: "blue";
- type: RECT;
- scale: 1;
- description {
- color: 0 0 125 125;
- rel1 { relative: 0.4 0.4; }
- rel2 { relative: 0.6 0.6; }
- }
- }
- }
-}
-
-group { name: "activate_test";
- parts {
- part {
- name: "elm.swallow.label";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- rel1 { relative: 0.05 0.05; }
- rel2 { relative: 0.95 0.15; }
- }
- }
- part {
- name: "elm.swallow.entry";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- rel1 { relative: 0.05 0.15; }
- rel2 { relative: 0.95 0.25; }
- }
- }
- }
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.
- *
- */
-
-group {
- name: "autoscroll_conform";
- parts{
- part {
- name: "bg";
- type: RECT;
- mouse_events: 1;
- scale:1;
- description {
- state: "default" 0.0;
- color: 0 0 0 0;
- rel1.relative: 0.0 0.0;
- rel2.relative: 1.0 1.0;
- }
- }
- part{
- name: "top_padding";
- type: RECT;
- scale: 1; //allow scaling
- description {
- state: "default" 0.0;
- visible: 0;
- min : 0 1; //minimum size for gap filler
- fixed: 0 1;
- rel1 {
- relative: 0.0 0.0;
- to:bg;
- }
- rel2 {
- relative: 1.0 0.0;
- to:bg;
- }
- }
- }
- part {
- name: "left_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- visible: 0;
- min : 0 0; //minimum size for gap filler
- fixed: 1 0;
- rel1 {
- relative: 0.0 0.0;
- to: "bg";
- }
- rel2 {
- relative: 0.0 1.0;
- to: "bg";
- }
- align: 0.0 0.0;
- }
- }
- part {
- name: "bg_conform";
- type: RECT;
- mouse_events: 0;
- scale:1;
- description {
- state: "default" 0.0;
- visible: 0;
- rel1 {
- relative: 0.0 1.0;
- to_y:top_padding;
- }
- align: 0.0 0.0;
- }
- }
- part {
- name: "conform_part";
- type: SWALLOW;
- mouse_events: 1;
- scale:1;
- description {
- fixed: 1 1;
- state: "default" 0.0;
- rel1 {
- relative: 1.0 0.0;
- to_x:left_padding;
- to_y:bg_conform;
- }
- align: 0.0 0.0;
- }
- }
- }
- }
-
- group {
- name: "ui_entryfields";
-#define EN_MIN_WIDTH 460.0
-#define EN_MAX_WIDTH 1280.0
-#define EN_HEIGHT 100.0
-#define EN_GAP 30.0
- parts{
- part {
- name: "left_top_padding";
- type: RECT;
- scale: 1; //allow scaling
- description {
- state: "default" 0.0;
- visible: 0;
- min : EN_GAP EN_GAP; //minimum size for gap filler
- fixed: 1 1;
- rel2.relative: 0.0 0.0;
- align: 0.0 0.0;
- }
- }
- part {
- name: "right_padding";
- type: RECT;
- scale: 1; //allow scaling
- description {
- state: "default" 0.0;
- visible: 0;
- min : EN_GAP 0; //minimum size for gap filler
- fixed: 1 0;
- rel1.relative: 1.0 0.0;
- align: 1.0 0.5;
- }
- }
- part {
- name: "en_rect1";
- type: RECT;
- scale: 1;
- description {
- min: EN_MIN_WIDTH 50;
- max: EN_MAX_WIDTH 50;
- state: "default" 0.0;
- align: 0.0 0.0;
- rel1 {
- relative: 1.0 1.0;
- to: "left_top_padding";
- }
- rel2 {
- relative: 0.0 1.0;
- to_x: "right_padding";
- }
- align: 0.5 0.0;
- color: 168 168 168 50;
- }
- }
- part {
- name: "en_part1";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- align: 0 0;
- rel1.to: "en_rect1";
- rel2.to: "en_rect1";
- }
- }
- part {
- name: "en_part1_bottom_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- visible: 0;
- min : EN_MIN_WIDTH EN_GAP;
- fixed: 0 1;
- rel1 {
- relative: 0.0 1.0;
- to_y: "en_part1";
- }
- rel2 {
- relative: 1.0 1.0;
- to_y: "en_part1";
- }
- align: 0.0 0.0;
- }
- }
- part {
- name: "en_rect2";
- type: RECT;
- scale: 1;
- description {
- min: EN_MIN_WIDTH 100;
- max: EN_MAX_WIDTH 100;
- state: "default" 0.0;
- rel1 {
- relative: 1.0 1.0;
- to_x: "left_top_padding";
- to_y: "en_part1_bottom_padding";
- }
- rel2 {
- relative: 0.0 1.0;
- to_x: "right_padding";
- }
- align: 0.5 0.0;
- color: 168 168 168 50;
- }
- }
- part {
- name: "en_part2";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- align: 0.0 0.0;
- rel1.to: "en_rect2";
- rel2.to: "en_rect2";
- }
- }
- part {
- name: "en_part2_bottom_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- visible: 0;
- min : 0 EN_GAP;
- fixed: 0 1;
- rel1 {
- relative: 0.0 1.0;
- to_y: "en_part2";
- }
- rel2 {
- relative: 1.0 1.0;
- to_y: "en_part2";
- }
- align: 0.0 0.0;
- }
- }
- part {
- name: "en_rect3";
- type: RECT;
- scale: 1;
- description {
- min: EN_MIN_WIDTH 150;
- max: EN_MAX_WIDTH 150;
- state: "default" 0.0;
- rel1 {
- relative: 1.0 1.0;
- to_x: "left_top_padding";
- to_y: "en_part2_bottom_padding";
- }
- rel2 {
- relative: 0.0 1.0;
- to_x: "right_padding";
- }
- align: 0.5 0.0;
- color: 168 168 168 50;
- }
- }
- part {
- name: "en_part3";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1.to: "en_rect3";
- rel2.to: "en_rect3";
- align: 0.0 0.0;
- }
- }
- part {
- name: "en_part3_bottom_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- visible: 0;
- min : 0 EN_GAP;
- fixed: 0 1;
- rel1 {
- relative: 0.0 1.0;
- to_y: "en_part3";
- }
- rel2 {
- relative: 1.0 1.0;
- to_y: "en_part3";
- }
- align: 0.0 0.0;
- }
- }
- part {
- name: "en_rect4";
- type: RECT;
- scale: 1;
- description {
- min: EN_MIN_WIDTH 200;
- max: EN_MAX_WIDTH 200;
- state: "default" 0.0;
- rel1 {
- relative: 1.0 1.0;
- to_x: "left_top_padding";
- to_y: "en_part3_bottom_padding";
- }
- rel2 {
- relative: 0.0 1.0;
- to_x: "right_padding";
- }
- align: 0.5 0.0;
- color: 168 168 168 50;
- }
- }
- part {
- name: "en_part4";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1.to: "en_rect4";
- rel2.to: "en_rect4";
- align: 0.0 0.0;
- }
- }
- part {
- name: "en_part4_bottom_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- visible: 0;
- min : 0 EN_GAP;
- fixed: 0 1;
- rel1 {
- relative: 0.0 1.0;
- to_y: "en_part4";
- }
- rel2 {
- relative: 1.0 1.0;
- to_y: "en_part4";
- }
- align: 0.0 0.0;
- }
- }
- part {
- name: "en_rect5";
- type: RECT;
- scale: 1;
- description {
- min: EN_MIN_WIDTH 250;
- max: EN_MAX_WIDTH 250;
- state: "default" 0.0;
- rel1 {
- relative: 1.0 1.0;
- to_x: "left_top_padding";
- to_y: "en_part4_bottom_padding";
- }
- rel2 {
- relative: 0.0 1.0;
- to_x: "right_padding";
- }
- align: 0.5 0.0;
- color: 168 168 168 50;
- }
- }
- part {
- name: "en_part5";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1.to: "en_rect5";
- rel2.to: "en_rect5";
- align: 0.0 0.0;
- }
- }
- part {
- name: "en_part5_bottom_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- visible: 0;
- min : 0 EN_GAP;
- fixed: 0 1;
- rel1 {
- relative: 0.0 1.0;
- to_y: "en_part5";
- }
- rel2 {
- relative: 0.0 1.0;
- to_y: "en_part5";
- }
- align: 0.0 0.0;
- }
- }
- part {
- name: "en_rect6";
- type: RECT;
- scale: 1;
- description {
- min: EN_MIN_WIDTH 300;
- max: EN_MAX_WIDTH 300;
- state: "default" 0.0;
- rel1 {
- relative: 1.0 1.0;
- to_x: "left_top_padding";
- to_y: "en_part5_bottom_padding";
- }
- rel2 {
- relative: 0.0 1.0;
- to_x: "right_padding";
- }
- align: 0.5 0.0;
- color: 168 168 168 50;
- }
- }
- part {
- name: "en_part6";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 0 0;
- rel1.to: "en_rect6";
- rel2.to: "en_rect6";
- align: 0.0 0.0;
- }
- }
- part {
- name: "bottom_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- visible: 0;
- fixed: 0 1;
- min : EN_MIN_WIDTH 100;
- rel1 {
- relative: 0.0 1.0;
- to_y: "en_part6";
- }
- align: 1.0 1.0;
- }
- }
- }//end parts
-}
-
- group {
- name: "ui_entryfields1";
-#define EN_HEIGHT1 450.0
- parts{
- part {
- name: "left_top_padding";
- type: RECT;
- scale: 1; //allow scaling
- description {
- state: "default" 0.0;
- visible: 0;
- min : EN_GAP EN_GAP; //minimum size for gap filler
- fixed: 1 1;
- rel2.relative: 0.0 0.0;
- align: 0.0 0.0;
- }
- }
- part {
- name: "right_padding";
- type: RECT;
- scale: 1; //allow scaling
- description {
- state: "default" 0.0;
- visible: 0;
- min : EN_GAP EN_GAP; //minimum size for gap filler
- fixed: 1 1;
- rel1.relative: 1.0 0.0;
- rel2.relative: 1.0 0.0;
- align: 1.0 0.5;
- }
- }
- part {
- name: "en_rect1";
- type: RECT;
- scale: 1;
- description {
- min: EN_MIN_WIDTH EN_HEIGHT1;
- max: EN_MAX_WIDTH EN_HEIGHT1;
- state: "default" 0.0;
- rel1 {
- relative: 1.0 1.0;
- to: "left_top_padding";
- }
- rel2 {
- relative: 0.0 1.0;
- to_x: "right_padding";
- }
- align: 0.5 0.0;
- color: 168 168 168 50;
- }
- }
- part {
- name: "en_part1";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- align: 0 0;
- rel1.to: "en_rect1";
- rel2.to: "en_rect1";
- }
- }
- part {
- name: "en_part1_bottom_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- visible: 0;
- min : EN_MIN_WIDTH EN_GAP;
- fixed: 0 1;
- rel1 {
- relative: 0.0 1.0;
- to_y: "en_part1";
- }
- rel2 {
- relative: 1.0 1.0;
- to_y: "en_part1";
- }
- align: 0.0 0.0;
- }
- }
- part {
- name: "en_rect2";
- type: RECT;
- scale: 1;
- description {
- min: EN_MIN_WIDTH 300;
- max: EN_MAX_WIDTH 300;
- state: "default" 0.0;
- rel1 {
- relative: 1.0 1.0;
- to_x: "left_top_padding";
- to_y: "en_part1_bottom_padding";
- }
- rel2 {
- relative: 0.0 1.0;
- to_x: "right_padding";
- }
- align: 0.5 0.0;
- color: 168 168 168 50;
- }
- }
- part {
- name: "en_part2";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- align: 0 0;
- rel1.to: "en_rect2";
- rel2.to: "en_rect2";
- }
- }
- part {
- name: "en_part2_bottom_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- visible: 0;
- min : 0 EN_GAP;
- fixed: 0 1;
- rel1 {
- relative: 0.0 1.0;
- to_y: "en_part2";
- }
- rel2 {
- relative: 1.0 1.0;
- to_y: "en_part2";
- }
- align: 0.0 0.0;
- }
- }
- part {
- name: "en_rect3";
- type: RECT;
- scale: 1;
- description {
- min: EN_MIN_WIDTH 100;
- max: EN_MAX_WIDTH 100;
- state: "default" 0.0;
- rel1 {
- relative: 1.0 1.0;
- to_x: "left_top_padding";
- to_y: "en_part2_bottom_padding";
- }
- rel2 {
- relative: 0.0 1.0;
- to_x: "right_padding";
- }
- align: 0.5 0.0;
- color: 168 168 168 50;
- }
- }
- part {
- name: "en_part3";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1.to: "en_rect3";
- rel2.to: "en_rect3";
- align: 0.0 0.0;
- }
- }
- part {
- name: "bottom_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- visible: 0;
- min : 0 EN_GAP;
- fixed: 0 1;
- rel1 {
- relative: 0.0 1.0;
- to_y: "en_part3";
- }
- align: 0.0 0.0;
- }
- }
- }//end parts
-#undef EN_MIN_WIDTH
-#undef EN_MAX_WIDTH
-#undef EN_HEIGHT
-#undef EN_HEIGHT1
-#undef EN_GAP
- }
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 BUTTON_PADDING_WIDTH 170.0
-#define BUTTON_PADDING_HEIGHT 22.0
- group { name: "elmdemo-test/button";
- parts {
- part { name: "top_padding";
- type: RECT;
- scale: 1; //allow scaling
- description { state: "default" 0.0;
- min : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT; //minimum size for gap filler
- fixed: 0 1;
- rel2.relative: 1.0 0.0;
- color: 0 0 0 0;
- align: 0 0;
- }
- }
- part { name: "btn_reveal";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- rel1 {
- relative: 0.5 1.0;
- to_y: "top_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "top_padding";
- }
- align: 0.5 0;
- }
- }
- part { name: "btn_reveal_bottom_padding";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- max : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- fixed: 1 1;
- align: 0.5 0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "btn_reveal";
- }
- rel2.to_y: "btn_reveal";
- color: 0 0 0 0;
- }
- }
- part { name: "btn_expand";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- rel1 {
- relative: 0.5 1.0;
- to_y: "btn_reveal_bottom_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "btn_reveal_bottom_padding";
- }
- align: 0.5 0;
- }
- }
- part { name: "btn_expand_bottom_padding";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- max : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- fixed: 1 1;
- align: 0.5 0;
- rel1 {
- relative: 0 1.0;
- to_y: "btn_expand";
- }
- rel2.to_y: "btn_expand";
- color: 0 0 0 0;
- }
- }
- part { name: "btn_info";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- rel1 {
- relative: 0.5 1.0;
- to_y: "btn_expand_bottom_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "btn_expand_bottom_padding";
- }
- align: 0.5 0;
- }
- }
- part { name: "btn_info_bottom_padding";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- max : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- fixed: 1 1;
- align: 0.5 0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "btn_info";
- }
- rel2.to_y: "btn_info";
- color: 0 0 0 0;
- }
- }
- part { name: "btn_rename";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- rel1 {
- relative: 0.5 1.0;
- to_y: "btn_info_bottom_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "btn_info_bottom_padding";
- }
- align: 0.5 0;
- }
- }
- part { name: "btn_rename_bottom_padding";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- max : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- fixed: 1 1;
- align: 0.5 0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "btn_rename";
- }
- rel2.to_y: "btn_rename";
- color: 0 0 0 0;
- }
- }
- part { name: "btn_call";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- rel1 {
- relative: 0.5 1.0;
- to_y: "btn_rename_bottom_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "btn_rename_bottom_padding";
- }
- align: 0.5 0;
- }
- }
- part { name: "btn_call_bottom_padding";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- max : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- fixed: 1 1;
- align: 0.5 0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "btn_call";
- }
- rel2.to_y: "btn_call";
- color: 0 0 0 0;
- }
- }
- part { name: "btn_warning";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- rel1 {
- relative: 0.5 1.0;
- to_y: "btn_call_bottom_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "btn_call_bottom_padding";
- }
- align: 0.5 0;
- }
- }
- part { name: "btn_warning_bottom_padding";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- max : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- fixed: 1 1;
- align: 0.5 0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "btn_warning";
- }
- rel2.to_y: "btn_warning";
- color: 0 0 0 0;
- }
- }
- part { name: "btn_plus";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- rel1 {
- relative: 0.5 1.0;
- to_y: "btn_warning_bottom_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "btn_warning_bottom_padding";
- }
- align: 0.5 0;
- }
- }
- part { name: "btn_plus_bottom_padding";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- max : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- fixed: 1 1;
- align: 0.5 0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "btn_plus";
- }
- rel2.to_y: "btn_plus";
- color: 0 0 0 0;
- }
- }
- part { name: "btn_minus";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- rel1 {
- relative: 0.5 1.0;
- to_y: "btn_plus_bottom_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "btn_plus_bottom_padding";
- }
- align: 0.5 0;
- }
- }
- part { name: "btn_minus_bottom_padding";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- max : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- fixed: 1 1;
- align: 0.5 0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "btn_minus";
- }
- rel2.to_y: "btn_minus";
- color: 0 0 0 0;
- }
- }
- part { name: "btn_cancel";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- rel1 {
- relative: 0.5 1.0;
- to_y: "btn_minus_bottom_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "btn_minus_bottom_padding";
- }
- align: 0.5 0;
- }
- }
- part { name: "btn_cancel_bottom_padding";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- max : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- fixed: 1 1;
- align: 0.5 0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "btn_cancel";
- }
- rel2.to_y: "btn_cancel";
- color: 0 0 0 0;
- }
- }
- part { name: "btn_send";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- rel1 {
- relative: 0.5 1.0;
- to_y: "btn_cancel_bottom_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "btn_cancel_bottom_padding";
- }
- align: 0.5 0;
- }
- }
- part { name: "btn_send_bottom_padding";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- max : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- fixed: 1 1;
- align: 0.5 0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "btn_send";
- }
- rel2.to_y: "btn_send";
- color: 0 0 0 0;
- }
- }
- part { name: "btn_contact";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- rel1 {
- relative: 0.5 1.0;
- to_y: "btn_send_bottom_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "btn_send_bottom_padding";
- }
- align: 0.5 0;
- }
- }
- part { name: "btn_contact_bottom_padding";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- max : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- fixed: 1 1;
- align: 0.5 0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "btn_contact";
- }
- rel2.to_y: "btn_contact";
- color: 0 0 0 0;
- }
- }
- part { name: "btn_circle";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- rel1 {
- relative: 0.5 1.0;
- to_y: "btn_contact_bottom_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "btn_contact_bottom_padding";
- }
- align: 0.5 0;
- }
- }
- part { name: "btn_circle_bottom_padding";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- max : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- fixed: 1 1;
- align: 0.5 0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "btn_circle";
- }
- rel2.to_y: "btn_circle";
- color: 0 0 0 0;
- }
- }
- part { name: "btn_icon_plus";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- rel1 {
- relative: 0.5 1.0;
- to_y: "btn_circle_bottom_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "btn_circle_bottom_padding";
- }
- align: 0.5 0;
- }
- }
- part { name: "btn_icon_plus_bottom_padding";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- max : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- fixed: 1 1;
- align: 0.5 0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "btn_icon_plus";
- }
- rel2.to_y: "btn_icon_plus";
- color: 0 0 0 0;
- }
- }
- part { name: "btn_icon_minus";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- rel1 {
- relative: 0.5 1.0;
- to_y: "btn_icon_plus_bottom_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "btn_icon_plus_bottom_padding";
- }
- align: 0.5 0;
- }
- }
- part { name: "btn_icon_minus_bottom_padding";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- max : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- fixed: 1 1;
- align: 0.5 0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "btn_icon_minus";
- }
- rel2.to_y: "btn_icon_minus";
- color: 0 0 0 0;
- }
- }
- part { name: "btn_icon_expand";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- rel1 {
- relative: 0.5 1.0;
- to_y: "btn_icon_minus_bottom_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "btn_icon_minus_bottom_padding";
- }
- align: 0.5 0;
- }
- }
- part { name: "btn_icon_expand_bottom_padding";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- max : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- fixed: 1 1;
- align: 0.5 0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "btn_icon_expand";
- }
- rel2.to_y: "btn_icon_expand";
- color: 0 0 0 0;
- }
- }
- part { name: "btn_style1";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- align: 0.5 0;
- rel1 {
- relative: 0.5 1.0;
- to_y: "btn_icon_expand_bottom_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "btn_icon_expand_bottom_padding";
- }
- align: 0.5 0;
- }
- }
- part { name: "btn_style1_bottom_padding";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- max : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- fixed: 1 1;
- align: 0.5 0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "btn_style1";
- }
- rel2.to_y: "btn_style1";
- color: 0 0 0 0;
- }
- }
- part { name: "btn_expandable_number";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- align: 0.5 0;
- rel1 {
- relative: 0.5 1.0;
- to_y: "btn_style1_bottom_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "btn_style1_bottom_padding";
- }
- align: 0.5 0;
- }
- }
- part { name: "btn_expandable_number_bottom_padding";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- max : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- fixed: 1 1;
- align: 0.5 0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "btn_expandable_number";
- }
- rel2.to_y: "btn_expandable_number";
- color: 0 0 0 0;
- }
- }
- part { name: "btn_sweep";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- state: "default" 0.0;
- rel1 {
- relative: 0.5 1.0;
- to_y: "btn_expandable_number_bottom_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "btn_expandable_number_bottom_padding";
- }
- align: 0.5 0;
- }
- }
- part { name: "btn_sweep_bottom_padding";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- max : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- fixed: 1 1;
- align: 0.5 0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "btn_sweep";
- }
- rel2.to_y: "btn_sweep";
- color: 0 0 0 0;
- }
- }
- part { name: "btn_multibuttonentry";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- state: "default" 0.0;
- rel1 {
- relative: 0.5 1.0;
- to_y: "btn_sweep_bottom_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "btn_sweep_bottom_padding";
- }
- align: 0.5 0;
- }
- }
- part { name: "btn_multibuttonentry_bottom_padding";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- max : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- fixed: 1 1;
- align: 0.5 0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "btn_multibuttonentry";
- }
- rel2.to_y: "btn_multibuttonentry";
- color: 0 0 0 0;
- }
- }
- part { name: "btn_naviframe_title_text";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- state: "default" 0.0;
- rel1 {
- relative: 0.5 1.0;
- to_y: "btn_multibuttonentry_bottom_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "btn_multibuttonentry_bottom_padding";
- }
- align: 0.5 0;
- }
- }
- part { name: "bottom_padding";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min : 0 BUTTON_PADDING_HEIGHT;
- rel1 {
- relative: 0.0 1.0;
- to_y: "btn_naviframe_title_text";
- }
- color: 0 0 0 0;
- align: 0.5 1.0;
- }
- }
- } //end parts
- } //end group
-
- group { name: "elmdemo-test/button-extended";
- parts {
- part { name: "top_padding";
- type: RECT;
- scale: 1; //allow scaling
- description { state: "default" 0.0;
- min : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT; //minimum size for gap filler
- fixed: 0 1;
- rel2.relative: 1.0 0.0;
- color: 0 0 0 0;
- align: 0 0;
- }
- }
- part { name: "btn_reveal";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- rel1 {
- relative: 0.5 1.0;
- to_y: "top_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "top_padding";
- }
- align: 0.5 0;
- }
- }
- part { name: "btn_reveal_bottom_padding";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- max : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- fixed: 1 1;
- align: 0.5 0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "btn_reveal";
- }
- rel2.to_y: "btn_reveal";
- color: 0 0 0 0;
- }
- }
- part { name: "btn_expand";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- rel1 {
- relative: 0.5 1.0;
- to_y: "btn_reveal_bottom_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "btn_reveal_bottom_padding";
- }
- align: 0.5 0;
- }
- }
- part { name: "btn_expand_bottom_padding";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- max : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- fixed: 1 1;
- align: 0.5 0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "btn_expand";
- }
- rel2.to_y: "btn_expand";
- color: 0 0 0 0;
- }
- }
- part { name: "btn_info";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- rel1 {
- relative: 0.5 1.0;
- to_y: "btn_expand_bottom_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "btn_expand_bottom_padding";
- }
- align: 0.5 0;
- }
- }
- part { name: "btn_info_bottom_padding";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- max : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- fixed: 1 1;
- align: 0.5 0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "btn_info";
- }
- rel2.to_y: "btn_info";
- color: 0 0 0 0;
- }
- }
- part { name: "btn_rename";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- rel1 {
- relative: 0.5 1.0;
- to_y: "btn_info_bottom_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "btn_info_bottom_padding";
- }
- align: 0.5 0;
- }
- }
- part { name: "btn_rename_bottom_padding";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- max : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- fixed: 1 1;
- align: 0.5 0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "btn_rename";
- }
- rel2.to_y: "btn_rename";
- color: 0 0 0 0;
- }
- }
- part { name: "btn_call";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- rel1 {
- relative: 0.5 1.0;
- to_y: "btn_rename_bottom_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "btn_rename_bottom_padding";
- }
- align: 0.5 0;
- }
- }
- part { name: "btn_call_bottom_padding";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- max : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- fixed: 1 1;
- align: 0.5 0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "btn_call";
- }
- rel2.to_y: "btn_call";
- color: 0 0 0 0;
- }
- }
- part { name: "btn_warning";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- rel1 {
- relative: 0.5 1.0;
- to_y: "btn_call_bottom_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "btn_call_bottom_padding";
- }
- align: 0.5 0;
- }
- }
- part { name: "btn_warning_bottom_padding";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- max : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- fixed: 1 1;
- align: 0.5 0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "btn_warning";
- }
- rel2.to_y: "btn_warning";
- color: 0 0 0 0;
- }
- }
- part { name: "btn_plus";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- rel1 {
- relative: 0.5 1.0;
- to_y: "btn_warning_bottom_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "btn_warning_bottom_padding";
- }
- align: 0.5 0;
- }
- }
- part { name: "btn_plus_bottom_padding";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- max : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- fixed: 1 1;
- align: 0.5 0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "btn_plus";
- }
- rel2.to_y: "btn_plus";
- color: 0 0 0 0;
- }
- }
- part { name: "btn_minus";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- rel1 {
- relative: 0.5 1.0;
- to_y: "btn_plus_bottom_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "btn_plus_bottom_padding";
- }
- align: 0.5 0;
- }
- }
- part { name: "btn_minus_bottom_padding";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- max : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- fixed: 1 1;
- align: 0.5 0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "btn_minus";
- }
- rel2.to_y: "btn_minus";
- color: 0 0 0 0;
- }
- }
- part { name: "btn_cancel";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- rel1 {
- relative: 0.5 1.0;
- to_y: "btn_minus_bottom_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "btn_minus_bottom_padding";
- }
- align: 0.5 0;
- }
- }
- part { name: "btn_cancel_bottom_padding";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- max : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- fixed: 1 1;
- align: 0.5 0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "btn_cancel";
- }
- rel2.to_y: "btn_cancel";
- color: 0 0 0 0;
- }
- }
- part { name: "btn_send";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- rel1 {
- relative: 0.5 1.0;
- to_y: "btn_cancel_bottom_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "btn_cancel_bottom_padding";
- }
- align: 0.5 0;
- }
- }
- part { name: "btn_send_bottom_padding";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- max : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- fixed: 1 1;
- align: 0.5 0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "btn_send";
- }
- rel2.to_y: "btn_send";
- color: 0 0 0 0;
- }
- }
- part { name: "btn_icon_plus";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- rel1 {
- relative: 0.5 1.0;
- to_y: "btn_send_bottom_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "btn_send_bottom_padding";
- }
- align: 0.5 0;
- }
- }
- part { name: "btn_icon_plus_bottom_padding";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- max : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT;
- fixed: 1 1;
- align: 0.5 0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "btn_icon_plus";
- }
- rel2.to_y: "btn_icon_plus";
- color: 0 0 0 0;
- }
- }
- part { name: "btn_icon_minus";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- rel1 {
- relative: 0.5 1.0;
- to_y: "btn_icon_plus_bottom_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "btn_icon_plus_bottom_padding";
- }
- align: 0.5 0;
- }
- }
- part { name: "bottom_padding";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min : 0 BUTTON_PADDING_HEIGHT;
- rel1 {
- relative: 0.0 1.0;
- to_y: "btn_icon_minus";
- }
- color: 0 0 0 0;
- align: 0.5 1.0;
- }
- }
- } //end parts
- } //end group
-
-#undef BUTTON_PADDING_WIDTH
-#undef BUTTON_HEIGHT
-#undef BUTTON_PADDING_HEIGHT
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 CAL_PADDING_H 20
-#define CAL_SHOW_H 335
-
- group {
- name: "elmdemo-test/calendar";
- parts{
- part { name: "base";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- rel1 { relative: 0 0; }
- rel2 { relative: 1 1; }
- color: 0 0 0 0;
- }
- }
- part { name: "top_padding";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min : 0 CAL_PADDING_H;
- fixed: 0 1;
- rel1 { relative: 0 0; to: "base"; }
- rel2 { relative: 1 0; to: "base"; }
- align: 0.0 0.0;
- color: 0 0 0 0;
- }
- }
- part { name: "swallow.calendar";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- min : 0 CAL_SHOW_H;
- fixed: 0 1;
- rel1 { relative: 0.0 1.0; to: "top_padding"; }
- rel2 { relative: 1.0 1.0; to: "top_padding"; }
- align: 0.0 0.0;
- color: 0 0 0 0;
- }
- }
- }
-} //end group
-
-#undef CAL_PADDING_H
-#undef CAL_SHOW_H
-
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 CHECK_PADDING_WIDTH 170.0
-#define CHECK_PADDING_HEIGHT 22.0
- group {
- name: "elmdemo-test/check";
- parts {
- part {
- name: "top_padding";
- type: RECT;
- scale: 1; //allow scaling
- description {
- state: "default" 0.0;
- min : CHECK_PADDING_WIDTH 30; //minimum size for gap filler
- fixed: 0 1;
- visible: 0;
- rel2.relative: 1 0;
- align: 0 0;
- }
- }
- part {
- name: "check1";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- rel1 {
- relative: 0.5 1.0;
- to_y: "top_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "top_padding";
- }
- align: 0.5 0;
- }
- }
- part {
- name: "check1_bottom_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min : CHECK_PADDING_WIDTH CHECK_PADDING_HEIGHT;
- max : CHECK_PADDING_WIDTH CHECK_PADDING_HEIGHT;
- fixed: 1 1;
- visible: 0;
- align: 0.5 0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "check1";
- }
- rel2.to_y: "check1";
- }
- }
- part {
- name: "check2";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- rel1 {
- relative: 0.5 1.0;
- to_y: "check1_bottom_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "check1_bottom_padding";
- }
- align: 0.5 0.0;
- }
- }
- part {
- name: "check2_bottom_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min : CHECK_PADDING_WIDTH CHECK_PADDING_HEIGHT;
- max : CHECK_PADDING_WIDTH CHECK_PADDING_HEIGHT;
- fixed: 1 1;
- visible: 0;
- align: 0.5 0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "check2";
- }
- rel2.to_y: "check2";
- }
- }
- part {
- name: "check3";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- rel1 {
- relative: 0.5 1.0;
- to_y: "check2_bottom_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "check2_bottom_padding";
- }
- align: 0.5 0.0;
- }
- }
- part {
- name: "check3_bottom_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min : CHECK_PADDING_WIDTH CHECK_PADDING_HEIGHT;
- max : CHECK_PADDING_WIDTH CHECK_PADDING_HEIGHT;
- fixed: 1 1;
- visible: 0;
- align: 0.5 0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "check3";
- }
- rel2.to_y: "check3";
- }
- }
- part {
- name: "check4";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- rel1 {
- relative: 0.5 1.0;
- to_y: "check3_bottom_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "check3_bottom_padding";
- }
- align: 0.5 0.0;
- }
- }
- part {
- name: "bottom_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min : 0 CHECK_PADDING_HEIGHT;
- visible: 0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "check4";
- }
- align: 0.5 1;
- }
- }
- } //end parts
- } //end group
-
- group {
- name: "elmdemo-test/check-extended";
- parts {
- part {
- name: "top_padding";
- type: RECT;
- scale: 1; //allow scaling
- description {
- state: "default" 0.0;
- min : CHECK_PADDING_WIDTH 30; //minimum size for gap filler
- fixed: 0 1;
- rel2.relative: 1 0;
- color: 0 0 0 0;
- align: 0 0;
- }
- }
- part {
- name: "check1";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- rel1 {
- relative: 0.5 1.0;
- to_y: "top_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "top_padding";
- }
- align: 0.5 0;
- }
- }
- part {
- name: "check1_bottom_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min : CHECK_PADDING_WIDTH CHECK_PADDING_HEIGHT;
- max : CHECK_PADDING_WIDTH CHECK_PADDING_HEIGHT;
- fixed: 1 1;
- align: 0.5 0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "check1";
- }
- rel2.to_y: "check1";
- color: 0 255 0 0;
- }
- }
- part {
- name: "check2";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- rel1 {
- relative: 0.5 1.0;
- to_y: "check1_bottom_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "check1_bottom_padding";
- }
- align: 0.5 0.0;
- }
- }
- part {
- name: "bottom_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min : 0 CHECK_PADDING_HEIGHT;
- rel1 {
- relative: 0.0 1.0;
- to_y: "check2";
- }
- color: 0 0 0 0;
- align: 0.5 1.0;
- }
- }
- } //end parts
- } //end group
-#undef CHECK_PADDING_WIDTH
-#undef CHECK_PADDING_HEIGHT
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.
- *
- */
-
-group {
- name: "colorpalette/rect";
- parts{
- part {
- name: "bg";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- visible: 0;
- min: 0 233;
- max: -1 233;
- }
- }
- part {
- name: "top_padding";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 33;
- fixed: 0 1;
- rel1.to: "bg";
- rel2 {
- relative: 1.0 0.0;
- to: "bg";
- }
- align: 0.0 0.0;
- }
- }
- part {
- name: "rect";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 168;
- fixed: 0 1;
- rel1 {
- relative: 0.2 1.0;
- to_x: "bg";
- to_y: "top_padding";
- }
- rel2 {
- relative: 0.8 1.0;
- to_x: "bg";
- to_y: "top_padding";
- }
- align: 0.0 0.0;
- }
- }
- part {
- name: "bottom_padding";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 33;
- fixed: 0 1;
- rel1 {
- relative: 0.0 1.0;
- to_x: "bg";
- to_y: "rect";
- }
- rel2 {
- to_x: "bg";
- to_y: "rect";
- }
- align: 0.0 0.0;
- }
- }
- }//end parts
-} //end group
-
-group {
- name: "colorpalette";
- parts{
- part {
- name: "bg";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 274;
- max: -1 274;
- }
- description {
- state: "landscape" 0.0;
- inherit: "default" 0.0;
- min: 0 162;
- max: -1 162;
- }
- }
- part {
- name: "top_left_padding";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 8 32;
- fixed: 1 1;
- rel1.to: "bg";
- rel2 {
- to: "bg";
- relative: 0.0 0.0;
- }
- align: 0.0 0.0;
- }
- }
- part {
- name: "colorpalette";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 0 1;
- rel1 {
- relative: 1.0 1.0;
- to: "top_left_padding";
- }
- align: 0.0 0.0;
- }
- }
- part {
- name: "bottom_padding";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 44;
- fixed: 0 1;
- rel1 {
- relative: 0.0 1.0;
- to_x: "bg";
- to_y: "colorpalette";
- }
- rel2 {
- to_x: "bg";
- to_y: "colorpalette";
- }
- align: 1.0 1.0;
- }
- }
- }//end parts
- programs {
- program {
- name: "landscape";
- signal: "landscape";
- source: "";
- action: STATE_SET "landscape" 0.0;
- target: "bg";
- }
- program {
- name: "portrait";
- signal: "portrait";
- source: "";
- action: STATE_SET "default" 0.0;
- target: "bg";
- }
- }
-} //end group
-
-group {
- name: "item/colorpalette";
- images {
- image: "00_color_picker_palette_bg.png" COMP;
- }
- parts {
- part {
- name: "color_rect";
- type: IMAGE;
- scale: 1;
- description{
- state: "default" 0.0;
- image.normal: "00_color_picker_palette_bg.png";
- image.border: 13 13 13 13;
- image.border_scale: 1;
- }
- }
- }
-}
+++ /dev/null
-/*
- * Copyright (c) 2013 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.
- *
- */
-
-group {
- name: "colorplane/rect";
- parts{
- part {
- name: "bg";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 200;
- max: 578 200;
- }
- }
- part {
- name: "rect";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 134;
- max: -1 134;
- fixed: 0 1;
- rel1.to: "bg";
- rel2.to: "bg";
- }
- }
- }//end parts
-}//end group
-
-group {
- name: "colorplane_popup";
- parts {
- part {
- name: "bg";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 578 342;
- max: 578 342;
- }
- }
- part {
- name: "top_padding";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 20;
- fixed: 0 1;
- rel1.to: "bg";
- rel2 {
- to: "bg";
- relative: 1.0 0.0;
- }
- align: 0.0 0.0;
- }
- }
- part {
- name: "colorpalette";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 0 1;
- rel1 {
- relative: 0.0 1.0;
- to_y: "top_padding";
- to_x: "bg";
- }
- rel2 {
- to_y: "top_padding";
- to_x: "bg";
- }
- align: 0.0 0.0;
- }
- }
- part {
- name: "colorpalette_bottom_padding";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 12;
- fixed: 0 1;
- rel1 {
- relative: 0.0 1.0;
- to_y: "colorpalette";
- to_x: "bg";
- }
- rel2 {
- to_x: "bg";
- to_y: "colorpalette";
- }
- align: 0.0 0.0;
- }
- }
- }//end parts
-} //end group
-
-
-group {
- name: "colorplane";
- parts{
- part {
- name: "bg";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 578 344;
- max: 578 344;
- }
- }
- part {
- name: "top_padding";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 21;
- fixed: 0 1;
- rel1.to: "bg";
- rel2 {
- to: "bg";
- relative: 1.0 0.0;
- }
- align: 0.0 0.0;
- }
- }
- part {
- name: "colorpalette";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 0 1;
- rel1 {
- relative: 0.0 1.0;
- to_y: "top_padding";
- to_x: "bg";
- }
- rel2 {
- to_y: "top_padding";
- to_x: "bg";
- }
- align: 0.0 0.0;
- }
- }
- part {
- name: "colorpalette_bottom_padding";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 12;
- fixed: 0 1;
- rel1 {
- relative: 0.0 1.0;
- to_y: "colorpalette";
- to_x: "bg";
- }
- rel2 {
- to_x: "bg";
- to_y: "colorpalette";
- }
- align: 0.0 0.0;
- }
- }
- }//end parts
-} //end group
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.
- *
- */
-
-group {
- name: "colorselector";
- parts{
- part {
- name: "bg";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- visible: 0;
- }
- }
- part {
- name: "top_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- visible: 0;
- min: 0 43;
- fixed: 0 1;
- rel1.relative: 0.0 0.0;
- rel2.relative: 1.0 0.0;
- rel1.to_y: "bg";
- rel2.to_y: "bg";
- align: 0.0 0.0;
- }
- }
- part {
- name: "rect";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 1 134;
- fixed: 0 1;
- rel1.relative: 0.2 1.0;
- rel1.to_x: "bg";
- rel1.to_y: "top_padding";
- rel2.relative: 0.8 1.0;
- rel2.to_x: "bg";
- rel2.to_y: "top_padding";
- align: 0.0 0.0;
- }
- }
- part {
- name: "bottom_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- visible: 0;
- min: 0 43;
- fixed: 0 1;
- rel1.relative: 0.0 1.0;
- rel1.to: "rect";
- rel2.relative: 1.0 1.0;
- rel2.to: "rect";
- align: 0.0 0.0;
- }
- }
- part {
- name: "colorselector";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 0 1;
- rel1.relative: 0.0 1.0;
- rel1.to_x: "bg";
- rel1.to_y: "bottom_padding";
- rel2.relative: 1.0 1.0;
- rel2.to_x: "bg";
- rel2.to_y: "bottom_padding";
- align: 0.0 0.0;
- }
- }
- part {
- name: "bottom_padding1";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- visible: 0;
- min: 0 10;
- rel1.relative: 0.0 1.0;
- rel1.to_y: "colorselector";
- rel2.relative: 1.0 1.0;
- align: 0.0 1.0;
- }
- }
- }//end parts
-} //end group
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.
- *
- */
-
- group {
- name: "elmdemo-test/controlbar";
- images{
- image: "00_winset_softkey_bg.png" COMP;
- }
-
- parts {
- part { name: "bg";
- mouse_events: 0;
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- visible: 1;
- rel1 { relative: 0.0 0.0;}
- rel2 { relative: 1.0 1.0;}
- color: 0 0 0 0;
- }
- }
- part {
- name: "elm.swallow.view1";
- type: SWALLOW;
- scale: 1;
- mouse_events: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0;}
- rel2 { relative: 1.0 0.0; to: "elm.swallow.toolbar1";}
- }
- description {
- state: "hide" 0.0;
- inherit: "default" 0.0;
- visible: 0;
- }
- }
- part {
- name: "elm.swallow.view2";
- type: SWALLOW;
- scale: 1;
- mouse_events: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0;}
- rel2 { relative: 1.0 0.0; to: "elm.swallow.toolbar2";}
- }
- description {
- state: "hide" 0.0;
- inherit: "default" 0.0;
- visible: 0;
- }
- }
- part {
- name: "elm.swallow.view3";
- type: SWALLOW;
- scale: 1;
- mouse_events: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0;}
- rel2 { relative: 1.0 0.0; to_y:"elm.swallow.slider";}
- }
- description {
- state: "hide" 0.0;
- inherit: "default" 0.0;
- visible: 0;
- }
- }
- part {
- name: "elm.swallow.view4";
- type: SWALLOW;
- scale: 1;
- mouse_events: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0;}
- rel2 { relative: 1.0 1.0;}
- }
- description {
- state: "hide" 0.0;
- inherit: "default" 0.0;
- visible: 0;
- }
- }
- part {
- name: "elm.swallow.tabbar";
- type: SWALLOW;
- scale: 1;
- mouse_events: 1;
- description {
- state: "default" 0.0;
- }
- }
- part{
- name: "bg_image";
- type: IMAGE;
- scale: 1;
- mouse_events:0;
- description{
- state: "default" 0.0;
- visible: 0;
- rel1 {relative: 0.0 0.0; offset: 0 0; to:"elm.swallow.slider";}
- rel2 {relative: 1.0 1.0; offset: -1 -1; to:"elm.swallow.toolbar2";}
- image.normal: "00_winset_softkey_bg.png";
- color: 255 255 255 217;
- }
- description{
- state: "show" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- }
- part {
- name: "elm.swallow.slider";
- type: SWALLOW;
- scale: 1;
- mouse_events: 1;
- description {
- state: "default" 0.0;
- min: 0 50;
- fixed: 0 1;
- align: 0.5 1.0;
- rel1 { relative: 0.0 0.0; offset: 0 -1; to_y: "elm.swallow.toolbar2";}
- rel2 { relative: 1.0 0.0; offset: 0 -1; to_y: "elm.swallow.toolbar2";}
- }
- }
- part {
- name: "elm.swallow.toolbar1";
- type: SWALLOW;
- scale: 1;
- mouse_events: 1;
- description {
- state: "default" 0.0;
- min: 0 104;
- fixed: 0 1;
- align: 0.5 1.0;
- rel1 { relative: 0.0 1.0;}
- rel2 { relative: 1.0 1.0;}
- }
- }
- part {
- name: "elm.swallow.toolbar2";
- type: SWALLOW;
- scale: 1;
- mouse_events: 1;
- description {
- state: "default" 0.0;
- min: 0 124;
- fixed: 0 1;
- align: 0.5 1.0;
- rel1 { relative: 0.0 1.0; }
- rel2 { relative: 1.0 1.0; offset: -1 -1;}
- }
- }
- part {
- name: "elm.swallow.vertical_left";
- type: SWALLOW;
- scale: 1;
- mouse_events: 1;
- description {
- state: "default" 0.0;
- min: 124 0;
- fixed: 1 0;
- align: 0.0 0.5;
- rel1 { relative: 0.0 0.0; }
- rel2 { relative: 0.0 1.0; offset: -1 -1;}
- }
- }
- part {
- name: "elm.swallow.vertical_right";
- type: SWALLOW;
- scale: 1;
- mouse_events: 1;
- description {
- state: "default" 0.0;
- min: 124 0;
- fixed: 1 0;
- align: 1.0 0.5;
- rel1 { relative: 1.0 0.0; }
- rel2 { relative: 1.0 1.0; offset: -1 -1;}
- }
- }
- }
-
- programs{
- program{
- name: "default";
- signal: "elm,state,slider,default";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "bg_image";
- }
- program{
- name: "show";
- signal: "elm,state,slider,show";
- source: "elm";
- action: STATE_SET "show" 0.0;
- target: "bg_image";
- }
- program{
- name: "all_view_show";
- signal: "elm,state,all_view_show";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "elm.swallow.view1";
- target: "elm.swallow.view2";
- target: "elm.swallow.view3";
- target: "elm.swallow.view4";
- }
- program{
- name: "all_view_hide";
- signal: "elm,state,all_view_hide";
- source: "elm";
- action: STATE_SET "hide" 0.0;
- target: "elm.swallow.view1";
- target: "elm.swallow.view2";
- target: "elm.swallow.view3";
- target: "elm.swallow.view4";
- }
- }
- }
- group { name: "elmdemo-test/cbar-seg";
- parts{
- part{ name:"segment";
- type: SWALLOW;
- scale : 1;
- description { state: "default" 0.0;
- min: 0 50;
- fixed: 0 1;
- rel1 {
- relative: 0.0 0.5;
- }
- rel2 {
- relative: 1.0 0.5;
- }
- }
- }
- }
- }
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.
- *
- */
-
-//Ctxpopup Layout
-group { name: "ctxpopup_layout";
- parts {
- part {
- name: "btn1";
- type: SWALLOW;
- scale: 1;
- description {
- rel1 { relative: 0.05 0.025; }
- rel2 { relative: 0.5 0.15; }
- }
- }
- part {
- name: "btn2";
- type: SWALLOW;
- scale: 1;
- description {
- rel1 { relative: 0.55 0.175; }
- rel2 { relative: 0.95 0.3; }
- }
- }
- part {
- name: "btn3";
- type: SWALLOW;
- scale: 1;
- description {
- rel1 { relative: 0.05 0.175; }
- rel2 { relative: 0.5 0.3; }
- }
- }
- part {
- name: "btn4";
- type: SWALLOW;
- scale: 1;
- description {
- rel1 { relative: 0.55 0.025; }
- rel2 { relative: 0.95 0.15; }
- }
- }
- part {
- name: "btn5";
- type: SWALLOW;
- scale: 1;
- description {
- rel1 { relative: 0.05 0.325; }
- rel2 { relative: 0.5 0.45; }
- }
- }
- part {
- name: "btn6";
- type: SWALLOW;
- scale: 1;
- description {
- rel1 { relative: 0.55 0.325; }
- rel2 { relative: 0.95 0.45; }
- }
- }
- part {
- name: "btn7";
- type: SWALLOW;
- scale: 1;
- description {
- rel1 { relative: 0.05 0.475; }
- rel2 { relative: 0.5 0.6; }
- }
- }
- part {
- name: "btn8";
- type: SWALLOW;
- scale: 1;
- description {
- rel1 { relative: 0.55 0.475; }
- rel2 { relative: 0.95 0.6; }
- }
- }
- part {
- name: "btn9";
- type: SWALLOW;
- scale: 1;
- description {
- rel1 { relative: 0.05 0.625; }
- rel2 { relative: 0.5 0.75; }
- }
- }
- part {
- name: "btn10";
- type: SWALLOW;
- scale: 1;
- description {
- rel1 { relative: 0.55 0.625; }
- rel2 { relative: 0.95 0.75; }
- }
- }
- part {
- name: "btn11";
- type: SWALLOW;
- scale: 1;
- description {
- rel1 { relative: 0.05 0.775; }
- rel2 { relative: 0.5 0.9; }
- }
- }
- part {
- name: "btn12";
- type: SWALLOW;
- scale: 1;
- description {
- rel1 { relative: 0.55 0.775; }
- rel2 { relative: 0.95 0.9; }
- }
- }
- }
-}
-
-//Buttons Content Layout for Nbeat
-group { name: "ctxpopup_buttons_nbeat";
- parts {
- part {
- name: "left_top_padding";
- type: RECT;
- mouse_events: 0;
- scale: 1;
- description {
- min: 10 12;
- max: 10 12;
- fixed: 1 1;
- align : 0 0;
- visible: 0;
- }
- }
- part {
- name:"right_bottom_padding";
- type: RECT;
- mouse_events: 0;
- scale: 1;
- description {
- min: 10 12;
- max: 10 12;
- fixed: 1 1;
- align : 1 1;
- visible: 0;
- }
- }
- part {
- name: "elm.swallow.table";
- type: SWALLOW;
- scale: 1;
- description {
- rel1 { to: "left_top_padding"; relative: 1 1; }
- rel2 { to: "right_bottom_padding"; relative: 0 0; }
- }
- }
- }
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 DATETIME_PADDING_HEIGHT 50
-#define DATETIME_TOP_PADDING_HEIGHT 30
-#define DATETIME_PICKER_PADDING_HEIGHT 100
-#define DATETIME_BUTTON_WIDTH 550
-#define DATETIME_TEXT_HEIGHT 60
-#define DATETIME_TEXT_COLOR 173 170 165 255
-#define DATETIME_TEXT_SIZE 24
-
-#define DATETIME_PICKER(_pos, _after, str)\
- part {\
- name: "picker"#_pos;\
- type: SWALLOW;\
- scale: 1;\
- description {\
- state: "default" 0.0;\
- align: 0.5 0.0;\
- fixed: 1 1;\
- rel1 { relative: 0 1; to: "text"#_pos; }\
- rel2 { relative: 1 1; to: "text"#_pos; }\
- }\
- }\
- part {\
- name: "text"#_pos;\
- type: TEXT;\
- scale: 1;\
- description {\
- state: "default" 0.0;\
- align: 0.5 0.0;\
- fixed: 0 1;\
- min: 0 DATETIME_PADDING_HEIGHT;\
- rel1 { relative: 0 1; to: "padding"#_after; }\
- rel2 { relative: 1 1; to: "padding"#_after; }\
- color: DATETIME_TEXT_COLOR;\
- text {\
- font: "Tizen:style=Roman";\
- size: DATETIME_TEXT_SIZE;\
- min: 1 0;\
- align: 0.0 0.0;\
- text: str;\
- }\
- }\
- }\
- part {\
- name: "padding"#_pos;\
- type: SPACER;\
- scale: 1;\
- description {\
- state: "default" 0.0;\
- min: 0 DATETIME_PADDING_HEIGHT;\
- fixed: 0 1;\
- align: 0.5 0.0;\
- rel1 { relative: 0.0 1.0; to_x: "padding"#_after; to_y: "picker"#_pos; }\
- rel2 { relative: 1.0 1.0; to_x: "padding"#_after; to_y: "picker"#_pos; }\
- }\
- }
-
- group {
- name: "elmdemo-test/datetime_styles";
- parts {
- part {
- name: "padding0";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 DATETIME_TOP_PADDING_HEIGHT;
- fixed: 0 1;
- align: 0.5 0.0;
- rel1.relative: 0 0;
- rel2.relative: 1 0;
- }
- }
- DATETIME_PICKER(1, 0, " Date Time (12hr) :")
- DATETIME_PICKER(2, 1, " Date Time (24hr) :")
- DATETIME_PICKER(3, 2, " Time Date (12hr) :")
- DATETIME_PICKER(4, 3, " Time Date (24hr) :")
- DATETIME_PICKER(5, 4, " User format changed as per System's Region format :")
- DATETIME_PICKER(6, 5, " Datetime widget with field limits :")
- part {
- name: "bottom.padding";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 DATETIME_TOP_PADDING_HEIGHT;
- align: 0.5 1.0;
- rel1 { to: "padding6"; relative: 0 1; }
- }
- }
- }
- }
-
- group {
- name: "elmdemo-test/datepicker_styles";
- parts {
- part {
- name: "padding0";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 DATETIME_TOP_PADDING_HEIGHT;
- fixed: 0 1;
- align: 0.5 0.0;
- rel1.relative: 0 0;
- rel2.relative: 1 0;
- }
- }
- DATETIME_PICKER(1, 0, " DD/MM/YY :")
- DATETIME_PICKER(2, 1, " MM/DD/YY :")
- DATETIME_PICKER(3, 2, " YY/DD/MM :")
- DATETIME_PICKER(4, 3, " DD,MM,YY :")
- DATETIME_PICKER(5, 4, " DD-MM-YY :")
- DATETIME_PICKER(6, 5, " DD MM YY :")
- part {
- name: "bottom.padding";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 DATETIME_TOP_PADDING_HEIGHT;
- align: 0.5 1.0;
- rel1 { to: "padding6"; relative: 0 1; }
- }
- }
- }
- }
-
- group {
- name: "elmdemo-test/timepicker_styles";
- parts {
- part {
- name: "padding0";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 DATETIME_TOP_PADDING_HEIGHT;
- fixed: 0 1;
- align: 0.5 0.0;
- rel2.relative: 1 0;
- }
- }
- DATETIME_PICKER(1, 0, " Time (12hr) :")
- DATETIME_PICKER(2, 1, " Time (24hr) :")
- DATETIME_PICKER(3, 2, " Time with AM/PM :")
- part {
- name: "bottom.padding";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 DATETIME_TOP_PADDING_HEIGHT;
- align: 0.5 1.0;
- rel1 { to: "padding3"; relative: 0 1; }
- }
- }
- }
- }
-
- group {
- name: "elmdemo-test/datetime_pickerpopup_styles";
- parts {
- part {
- name: "padding1";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 DATETIME_PICKER_PADDING_HEIGHT;
- fixed: 0 1;
- align: 0.5 0.0;
- rel2.relative: 1 0;
- }
- }
- part {
- name: "picker1";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: DATETIME_BUTTON_WIDTH DATETIME_PICKER_PADDING_HEIGHT;
- max: DATETIME_BUTTON_WIDTH DATETIME_PICKER_PADDING_HEIGHT;
- fixed: 0 1;
- align: 0.5 0.0;
- rel1 { relative: 0.0 1.0; to_y: "padding1"; }
- rel2 { relative: 1.0 1.0; to_y: "padding1"; }
- }
- }
- part {
- name: "padding2";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 DATETIME_PADDING_HEIGHT;
- fixed: 0 1;
- align: 0.5 0.0;
- rel1 { relative: 0.0 1.0; to_y: "picker1"; }
- rel2 { relative: 1.0 1.0; to_y: "picker1"; }
- }
- }
- part {
- name: "picker2";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: DATETIME_BUTTON_WIDTH DATETIME_PICKER_PADDING_HEIGHT;
- max: DATETIME_BUTTON_WIDTH DATETIME_PICKER_PADDING_HEIGHT;
- fixed: 0 1;
- align: 0.5 0.0;
- rel1 { relative: 0.0 1.0; to_y: "padding2"; }
- rel2 { relative: 1.0 1.0; to_y: "padding2"; }
- }
- }
- part {
- name: "padding3";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 DATETIME_PADDING_HEIGHT;
- fixed: 0 1;
- align: 0.5 0.0;
- rel1 { relative: 0.0 1.0; to_y: "picker2"; }
- rel2 { relative: 1.0 1.0; to_y: "picker2"; }
- }
- }
- part {
- name: "picker3";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: DATETIME_BUTTON_WIDTH DATETIME_PICKER_PADDING_HEIGHT;
- max: DATETIME_BUTTON_WIDTH DATETIME_PICKER_PADDING_HEIGHT;
- fixed: 0 1;
- align: 0.5 0.0;
- rel1 { relative: 0.0 1.0; to_y: "padding3"; }
- rel2 { relative: 1.0 1.0; to_y: "padding3"; }
- }
- }
- part {
- name: "padding4";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 DATETIME_PICKER_PADDING_HEIGHT;
- align: 0.5 1.0;
- rel1 { relative: 0.0 1.0; to_y: "padding3"; }
- }
- }
- }
- }
-
- group {
- name: "elmdemo-test/datetime_custom_pickerpopup_styles";
- parts {
- part {
- name: "padding1";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 DATETIME_PICKER_PADDING_HEIGHT;
- fixed: 0 1;
- align: 0.5 0.0;
- rel2.relative: 1 0;
- }
- }
- part {
- name: "picker1";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: DATETIME_BUTTON_WIDTH DATETIME_PICKER_PADDING_HEIGHT;
- max: DATETIME_BUTTON_WIDTH DATETIME_PICKER_PADDING_HEIGHT;
- fixed: 0 1;
- align: 0.5 0.0;
- rel1 { relative: 0.0 1.0; to_y: "padding1"; }
- rel2 { relative: 1.0 1.0; to_y: "padding1"; }
- }
- }
- part {
- name: "padding2";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 DATETIME_PADDING_HEIGHT;
- fixed: 0 1;
- align: 0.5 0.0;
- rel1 { relative: 0.0 1.0; to_y: "picker1"; }
- rel2 { relative: 1.0 1.0; to_y: "picker1"; }
- }
- }
- part {
- name: "picker2";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: DATETIME_BUTTON_WIDTH DATETIME_PICKER_PADDING_HEIGHT;
- max: DATETIME_BUTTON_WIDTH DATETIME_PICKER_PADDING_HEIGHT;
- fixed: 0 1;
- align: 0.5 0.0;
- rel1 { relative: 0.0 1.0; to_y: "padding2"; }
- rel2 { relative: 1.0 1.0; to_y: "padding2"; }
- }
- }
- part {
- name: "padding3";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 DATETIME_PADDING_HEIGHT;
- fixed: 0 1;
- align: 0.5 0.0;
- rel1 { relative: 0.0 1.0; to_y: "picker2"; }
- rel2 { relative: 1.0 1.0; to_y: "picker2"; }
- }
- }
- part {
- name: "picker3";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: DATETIME_BUTTON_WIDTH DATETIME_PICKER_PADDING_HEIGHT;
- max: DATETIME_BUTTON_WIDTH DATETIME_PICKER_PADDING_HEIGHT;
- fixed: 0 1;
- align: 0.5 0.0;
- rel1 { relative: 0.0 1.0; to_y: "padding3"; }
- rel2 { relative: 1.0 1.0; to_y: "padding3"; }
- }
- }
- part {
- name: "padding4";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 DATETIME_PICKER_PADDING_HEIGHT;
- align: 0.5 1.0;
- rel1 { relative: 0.0 1.0; to_y: "padding3"; }
- }
- }
- }
- }
-
- group {
- name: "elmdemo-test/datetime_custom_pickerpopup_layout";
- parts {
- part {
- name: "bg";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 684 700;
- max: 684 700;
- }
- }
- part {
- name: "datepicker";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 684 350;
- max: 684 350;
- fixed: 1 1;
- align: 0.0 0.0;
- rel1.to: "bg";
- rel2.to: "bg";
- }
- }
- part {
- name: "timepicker";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 684 350;
- max: 684 350;
- fixed: 1 1;
- align: 1.0 1.0;
- rel1 { relative: 0.0 1.0; to: "datepicker"; }
- rel2 { relative: 1.0 1.0; }
- }
- }
- }
- }
-
- group {
- name: "elmdemo-test/datetime_custom_layout";
- parts {
- part {
- name: "bg";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 684 700; //Size of the datetime picker layout
- max: 684 700;
- }
- }
- part {
- name: "scroller";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- rel1.to: "bg";
- rel2.to: "bg";
- }
- }
- }
- }
-
- group {
- name: "elmdemo-test/datetime_custom_layout_landscape";
- parts {
- part {
- name: "bg";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 684 350;
- max: 684 350;
- }
- }
- part {
- name: "scroller";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- rel1.to: "bg";
- rel2.to: "bg";
- }
- }
- }
- }
-
-
-#undef DATETIME_PICKER
-#undef DATETIME_PADDING_HEIGHT
-#undef DATETIME_PICKER_PADDING_HEIGHT
-#undef DATETIME_BUTTON_WIDTH
-#undef DATETIME_TOP_PADDING_HEIGHT
-#undef DATETIME_TEXT_HEIGHT
-#undef DATETIME_TEXT_COLOR
-#undef DATETIME_TEXT_SIZE
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.
- *
- */
-
-group { name: "elmdemo-test/dayselector";
- parts {
- part {
- name:"left_top_padding";
- scale: 1;
- mouse_events: 0;
- description {
- min: 5 5;
- max: 5 5;
- fixed: 1 1;
- align : 0 0;
- visible: 0;
- }
- }
- part {
- name:"right_bottom_padding";
- scale: 1;
- mouse_events: 0;
- description {
- min: 5 5;
- max: 5 5;
- fixed: 1 1;
- align : 1 1;
- visible: 0;
- }
- }
- part {
- name: "dayselector";
- type: SWALLOW;
- scale: 1;
- description {
- rel1 { to: "left_top_padding"; relative: 1 1; }
- rel2 { to: "right_bottom_padding"; relative: 0 0; }
- }
- }
- }
-}
-
-group { name: "elmdemo-test/dayselector_outerlayout";
- parts {
- part {
- name: "elm.swallow.content";
- type: SWALLOW;
- scale: 1;
- description {
- rel1 { relative: 0 0; }
- rel2 { relative: 1 1; }
- }
- }
- }
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.
- *
- */
-
-group { name: "dnd_layout";
- styles {
- style { name: "dnd_layout_textblock_style";
- base: "font=Tizen:style=Roman font_size=20 color=#ffffff wrap=mixed";
- }
- }
- parts{
- part {
- name: "entry1.swallow";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 0 1;
- min: 0 100;
- rel1.relative: 0.0 0.0;
- rel2.relative: 1.0 0.0;
- align: 0.5 0.0;
- }
- }
- part {
- name: "center_padding1";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed : 0 1;
- min: 0 15;
- rel1.relative: 0.0 1.0;
- rel1.to_y: "entry1.swallow";
- rel2.relative: 1.0 1.0;
- rel2.to_y: "entry1.swallow";
- align: 0.5 0.0;
- color: 255 0 0 128;
- }
- }
- part {
- name: "entry2.swallow";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 0 1;
- min: 0 100;
- rel1.relative: 0.0 1.0;
- rel1.to_y: "center_padding1";
- rel2.relative: 1.0 1.0;
- rel2.to_y: "center_padding1";
- align: 0.5 0.0;
- }
- }
- part {
- name: "center_padding2";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed : 0 1;
- min: 0 3;
- rel1.relative: 0.0 1.0;
- rel1.to_y: "entry2.swallow";
- rel2.relative: 1.0 1.0;
- rel2.to_y: "entry2.swallow";
- align: 0.5 0.0;
- color: 255 0 0 128;
- }
- }
- part {
- name: "bg_rect";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1.relative: 0.0 1.0;
- rel1.to_y: "center_padding2";
- rel2.relative: 1.0 0.0;
- rel2.to_y: "bottom_padding";
- color: 50 50 50 200;
- }
- }
- part {
- name: "file.text";
- type: TEXTBLOCK;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1.relative: 0.0 0.0;
- rel1.to_y: "bg_rect";
- rel2.relative: 1.0 1.0;
- rel2.to_y: "bg_rect";
- fixed: 1 1;
- text {
- style: "dnd_layout_textblock_style";
- min: 0 0;
- align: 0 0;
- }
- }
- }
- part {
- name: "bottom_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed : 0 1;
- min: 0 15;
- rel1.relative: 0.0 1.0;
- rel2.relative: 1.0 1.0;
- align: 0.5 1.0;
- color: 255 255 0 128;
- }
- }
- }//end parts
-} //end group
-
-group { name: "dnd/box_layout";
- parts {
- part {
- name: "bg_for_dnd";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- visible: 1;
- color: 0 255 255 50;
- min: 4*150 150;
- }
- }
- part {
- name: "box_swallow";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 {
- relative: 0.0 0.0;
- offset: 0 0;
- }
- rel2 {
- relative: 1.0 1.0;
- offset: 0 0;
- }
- }
- }
- } //end parts
-} //end group
+++ /dev/null
-/*\r
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved\r
- *\r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- *\r
- */\r
-\r
- group { \r
- name: "entry_test"; \r
- parts{ \r
- part { \r
- name: "bg";\r
- type: RECT;\r
- mouse_events: 1; \r
- scale:1;\r
-\r
- description { \r
- state: "default" 0.0; \r
- color: 0 0 0 0;\r
- rel1.relative: 0.0 0.0;\r
- rel2.relative: 1.0 1.0;\r
- } \r
- }\r
- part{\r
- name: "top_padding";\r
- type: RECT;\r
- scale: 1; //allow scaling\r
-\r
- description {\r
- state: "default" 0.0;\r
- min : 0 24; //minimum size for gap filler\r
- fixed: 0 1;\r
- rel1 { relative: 0 0;to:bg; }\r
- rel2 { relative: 1 0;to:bg; }\r
- color: 0 0 0 0;\r
- }\r
- } \r
- part { \r
- name: "left_padding"; \r
- type: RECT;\r
- scale: 1;\r
-\r
- description {\r
- state: "default" 0.0;\r
- min : 10 0; //minimum size for gap filler \r
- fixed: 1 0;\r
- rel1 { relative: 0 0; to: "bg"; }\r
- rel2 { relative: 0 1; to: "bg"; }\r
- color: 0 0 0 0;\r
- align: 0 0;\r
- }\r
- } \r
- part { \r
- name: "bg_entry"; \r
- type: RECT;\r
- mouse_events: 0;\r
- scale:1; \r
-\r
- description { \r
- state: "default" 0.0; \r
- min: 0 75;\r
- max: 480 75;\r
- fixed:1 1;\r
- rel1 { relative: 0.0 1.0;to_y:top_padding;} \r
- color: 0 0 0 0;\r
- align: 0 0;\r
- } \r
- } \r
-\r
- part { \r
- name: "entry_part"; \r
- type: SWALLOW;\r
- mouse_events: 1;\r
- scale:1;\r
- \r
- description { \r
- min : 0 75; //minimum size for gap filler\r
- max: 5000 75;\r
- fixed: 1 1;\r
- state: "default" 0.0; \r
- rel1 { relative: 1.0 0.0;to_x:left_padding;to_y:bg_entry;} \r
- align: 0 0;\r
- } \r
- } \r
- part {\r
- name: "padding";\r
- type: RECT;\r
- scale: 1;\r
- description { state: "default" 0.0;\r
- min : 0 30;\r
- align: 0 1;\r
- rel1 { relative: 0 1.0; to_y: "entry_part"; }\r
- rel2 { relative: 1 1.0; }\r
- color: 0 0 0 0;\r
- }\r
- }\r
- }\r
- } \r
-\r
-group {\r
- name: "entry_test_multi";\r
- parts{\r
- part{\r
- name: "top_padding";\r
- type: RECT;\r
- scale: 1; //allow scaling\r
- description {\r
- state: "default" 0.0;\r
- min : 0 24; //minimum size for gap filler\r
- fixed: 0 1;\r
- rel1.relative: 0 0;\r
- rel2.relative: 1 0;\r
- color: 0 0 0 0;\r
- }\r
- }\r
- part {\r
- name: "left_padding";\r
- type: RECT;\r
- scale: 1;\r
- description {\r
- state: "default" 0.0;\r
- min : 10 0; //minimum size for gap filler\r
- fixed: 1 0;\r
- rel1.relative: 0 0;\r
- rel2.relative: 0 1;\r
- color: 0 0 0 0;\r
- align: 0 0;\r
- }\r
- }\r
- part {\r
- name: "entry_part";\r
- type: SWALLOW;\r
- mouse_events: 1;\r
- scale:1;\r
- description {\r
- state: "default" 0.0;\r
- rel1 {\r
- relative: 1.0 0.0;\r
- to_x:left_padding;\r
- }\r
- align: 0 0;\r
- }\r
- }\r
- }\r
-}\r
-\r
-group {\r
- name: "entry_test_change_text_size";\r
- parts{\r
- part{ name: "bg";\r
- type: RECT;\r
- mouse_events: 0;\r
- scale: 1;\r
- description{\r
- state: "default" 0.0;\r
- color: 0 0 0 0;\r
- rel1.relative: 0 0;\r
- rel2.relative: 1 1;\r
- }\r
- }\r
- part{ name: "top_padding";\r
- type: RECT;\r
- scale: 1;\r
- description {\r
- state: "default" 0.0;\r
- min: 0 24;\r
- fixed: 0 1;\r
- rel1 {relative: 0 0; to: "bg";}\r
- rel2 {relative: 1 0; to: "bg";}\r
- color: 0 0 0 0;\r
- }\r
- }\r
- part { name: "left_padding";\r
- type: RECT;\r
- scale: 1;\r
- description {\r
- state: "default" 0.0;\r
- min: 10 0;\r
- fixed: 1 0;\r
- rel1{ relative: 0 0; to: "bg"; }\r
- rel2{ relative: 0 1; to: "bg"; }\r
- color: 0 0 0 0;\r
- align: 0 0;\r
- }\r
- }\r
- part { name: "box1";\r
- type: RECT;\r
- scale: 1;\r
- description {\r
- state: "default" 0.0;\r
- min: 0 80;\r
- fixed: 0 1;\r
- rel1 { relative: 1.0 1.0; to_x: "left_padding"; to_y: "top_padding";}\r
- rel2 { relative: 1.0 1.0; to: "bg"; to_y: "top_padding";}\r
- color: 0 0 0 0;\r
- align: 0 0;\r
- }\r
- }\r
- part { name: "label";\r
- type: SWALLOW;\r
- mouse_events: 1;\r
- scale: 1;\r
- description {\r
- state: "default" 0.0;\r
- min: 180 80;\r
- max: 180 80;\r
- fixed: 1 1;\r
- rel1 { relative: 0.0 0.0; to: "box1";}\r
- rel2 { relative: 1.0 1.0; to: "box1";}\r
- align: 0 0.5;\r
- }\r
- }\r
- part { name: "entry_size";\r
- type: SWALLOW;\r
- mouse_events: 1;\r
- scale: 1;\r
- description {\r
- state: "default" 0.0;\r
- min: 100 80;\r
- max: 100 80;\r
- fixed: 1 1;\r
- rel1 { relative: 1.0 0.0; to: "label";}\r
- rel2 { relative: 1.0 1.0; to: "box1";}\r
- align: 0 0.5;\r
- }\r
- }\r
- part { name: "button";\r
- type: SWALLOW;\r
- mouse_events: 1;\r
- scale: 1;\r
- description {\r
- state: "default" 0.0;\r
- rel1 { relative: 1.0 0.0; to: "entry_size"; offset: 10 0;}\r
- rel2 { relative: 1.0 1.0; to: "box1";}\r
- align: 0 0.5;\r
- }\r
- }\r
- part {\r
- name: "entry_part1";\r
- type: SWALLOW;\r
- mouse_events: 1;\r
- scale: 1;\r
- description {\r
- state: "default" 0.0;\r
- min: 0 80;\r
- max: 999999 250;\r
- fixed: 0 0;\r
- rel1 { relative: 0.0 1.0; to: "box1";}\r
- align: 0 0;\r
- }\r
- }\r
- part {\r
- name: "middle_padding";\r
- type: RECT;\r
- mouse_events: 0;\r
- description {\r
- state: "default" 0.0;\r
- color: 0 0 0 0;\r
- min: 1 20;\r
- max: 9999999 20;\r
- rel1 { relative: 0.0 1.0; to: "entry_part1";}\r
- align: 0 0;\r
- }\r
- }\r
- part { name: "entry_part2";\r
- type: SWALLOW;\r
- mouse_events: 1;\r
- scale: 1;\r
- description {\r
- state: "default" 0.0;\r
- min: 0 80;\r
- fixed: 0 0;\r
- rel1 { relative: 0.0 1.0; to: "middle_padding";}\r
- align: 0 0;\r
- }\r
- }\r
- }\r
-}\r
-\r
-group { name: "entry_test_translate";\r
- parts {\r
- part { name: "check_part";\r
- type: SWALLOW;\r
- mouse_events: 1;\r
- scale: 1;\r
- description {\r
- state: "default" 0.0;\r
- min: 1 120;\r
- max: 999999 120;\r
- align: 0 0;\r
- }\r
- }\r
- part { name: "padding";\r
- type: RECT;\r
- mouse_events: 0;\r
- scale: 1;\r
- description {\r
- state: "default" 0.0;\r
- min: 1 40;\r
- max: 999999 40;\r
- rel1 { relative: 0.0 1.0; to: "check_part"; }\r
- align: 0 0;\r
- color: 0 0 0 0;\r
- }\r
- }\r
- part { name: "entry_part";\r
- type: SWALLOW;\r
- mouse_events: 1;\r
- scale: 1;\r
- description {\r
- state: "default" 0.0;\r
- min: 0 100;\r
- fixed: 0 0;\r
- rel1 { relative: 0.0 1.0; to: "padding";}\r
- align: 0 0;\r
- }\r
- }\r
- }\r
-}\r
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 BUTTON_PADDING_WIDTH 170.0
-#define BUTTON_PADDING_HEIGHT 22.0
-#define BUTTON_MIN_WIDTH 350
-#define BUTTON_MIN_HEIGHT 64
- group { name: "elmdemo-test/floating";
- parts {
- part { name: "top_padding";
- type: RECT;
- scale: 1; //allow scaling
- description { state: "default" 0.0;
- min : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT; //minimum size for gap filler
- fixed: 0 1;
- rel2.relative: 1.0 0.0;
- color: 0 0 0 0;
- align: 0 0;
- }
- }
- part { name: "btn_default";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- min: BUTTON_MIN_WIDTH BUTTON_MIN_HEIGHT;
- rel1 {
- relative: 0.5 1.0;
- to_y: "top_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "top_padding";
- }
- align: 0.5 0;
- }
- }
- part { name: "middle_padding";
- type: RECT;
- scale: 1; //allow scaling
- description { state: "default" 0.0;
- fixed: 1 1;
- min : BUTTON_PADDING_WIDTH BUTTON_PADDING_HEIGHT; //minimum size for gap filler
- color: 0 0 0 0;
- rel1 {
- relative: 0.5 1.0;
- to_y: "btn_default";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "btn_default";
- }
- align: 0.5 0;
- }
- }
- part { name: "btn_default2";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- min: BUTTON_MIN_WIDTH BUTTON_MIN_HEIGHT;
- rel1 {
- relative: 0.5 1.0;
- to_y: "middle_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "middle_padding";
- }
- align: 0.5 0;
- }
- }
- } //end parts
- } //end group
-
-#undef BUTTON_PADDING_WIDTH
-#undef BUTTON_PADDING_HEIGHT
-#undef BUTTON_MIN_WIDTH
-#undef BUTTON_MIN_HEIGHT
-
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.
- *
- */
-
-group {
- styles
- {
- style { name: "textblock_effect_test";
- //base: "font=Tizen:style=Regular font_size=28 align=left color=#000000 wrap=char";
- //base: "font=Tizen:style=Medium font_size=30 align=left color=#000000 wrap=char";
- //base: "font=Tizen:style=Medium font_size=25 align=left color=#000000 wrap=char";
- //base: "font=Tizen:style=Medium,Italic font_size=25 align=left color=#000000 wrap=char";
- base: "font=Arial:style=Italic font_size=25 align=left color=#000000 wrap=char text_class=tizen";
- tag: "br" "\n";
- tag: "hilight" "+ font=Tizen:style=Bold";
- tag: "b" "+ font=Tizen:style=Bold";
- tag: "tab" "\t";
- }
- style { name: "textblock_effect_test2";
- //base: "font=Tizen:style=Regular,Italic font_size=28 align=left color=#000000 wrap=char";
- //base: "font=Tizen:style=Medium,Italic font_size=30 align=left color=#000000 wrap=char";
- //base: "font=Tizen:style=Regular,Italic font_size=30 align=left color=#000000 wrap=char";
- base: "font=Georgia:style=Italic font_size=30 align=left color=#000000 wrap=char text_class=tizen";
- tag: "br" "\n";
- tag: "hilight" "+ font=Tizen:style=Bold";
- tag: "b" "+ font=Tizen:style=Bold";
- tag: "tab" "\t";
- }
- style { name: "textblock_effect_test3";
- //base: "font=Tizen:style=Regular font_size=28 align=left color=#000000 wrap=char";
- //base: "font=Tizen:style=Medium font_size=30 align=left color=#000000 wrap=char";
- //base: "font=Tizen:style=Medium font_size=35 align=left color=#000000 wrap=char";
- //base: "font=Tizen:style=Regular,Italic font_size=35 align=left color=#000000 wrap=char";
- base: "font=Tizen:style=Bold,Italic font_size=35 align=left color=#000000 wrap=char text_class=tizen";
- tag: "br" "\n";
- tag: "hilight" "+ font=Tizen:style=Bold";
- tag: "b" "+ font=Tizen:style=Bold";
- tag: "tab" "\t";
- }
- style { name: "textblock_effect_test4";
- //base: "font=Tizen:style=Regular,Italic font_size=28 align=left color=#000000 wrap=char";
- //base: "font=Tizen:style=Medium,Italic font_size=30 align=left color=#000000 wrap=char";
- //base: "font=Tizen:style=Medium,Italic font_size=40 align=left color=#000000 wrap=char";
- //base: "font=Tizen:style=Medium font_size=40 align=left color=#000000 wrap=char";
- base: "font=Times:style=Italic font_size=40 align=left color=#000000 wrap=char text_class=tizen";
- tag: "br" "\n";
- tag: "hilight" "+ font=Tizen:style=Bold";
- tag: "b" "+ font=Tizen:style=Bold";
- tag: "tab" "\t";
- }
- style { name: "strike_textblock_effect";
- base: "font=Tizen:style=Roman,Italic font_size=35 align=left color=#000000 wrap=char text_class=tizen";
- tag: "br" "\n";
- tag: "hilight" "+ font=Tizen:style=Bold";
- tag: "b" "+ font=Tizen:style=Bold";
- tag: "tab" "\t";
- tag: "strike" "+ strikethrough=on strikethrough_color=#FF0000";
- }
- }
-
- name: "group_fonteffecttest";
- parts {
- part { name: "background";
- type: RECT;
- mouse_events: 0;
- description { state: "default" 0.0;
- }
- }
- // 1st item
- part { name: "text1";
- type: TEXT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 60;
- fixed: 0 1;
- align: 0.5 0;
- rel1 { relative: 0.05 0.0; }
- rel2 { relative: 1.0 0.0; }
- text {
- //font: "Tizen:style=Regular,Italic";
- //font: "Tizen:style=Medium,Italic";
- font: "Arial:style=Italic";
- //size: 28;
- size: 30;
- min: 1 1;
- align: 0 0.5;
- text_class: "tizen";
- }
- color: 0 0 0 255;
- }
- }
- // 2nd item
- part { name: "text2";
- type: TEXT;
- scale: 1;
- description { state: "default" 0.0;
- min: 0 60;
- fixed: 0 1;
- align: 0.5 0;
- rel1 { relative: 0.05 1.0; to_y: "text1"; }
- rel2 { relative: 1.0 1.0; to_y: "text1"; }
- text {
- //font: "Tizen:style=Regular";
- //font: "Tizen:style=Medium";
- //font: "Tizen:style=Regular,Italic";
- font: "Georgia:style=Italic";
- //size: 28;
- //size: 30;
- size: 35;
- min: 1 1;
- align: 0 0.5;
- text_class: "tizen";
- }
- color: 0 0 0 255;
- }
- }
- // 3rd item
- part { name: "text3";
- type: TEXT;
- scale: 1;
- description { state: "default" 0.0;
- min: 0 60;
- fixed: 0 1;
- align: 0.5 0;
- rel1 { relative: 0.05 1.0; to_y: "text2"; }
- rel2 { relative: 1.0 1.0; to_y: "text2"; }
- text {
- //font: "Tizen:style=Medium,Italic";
- font: "Tizen:style=Bold,Italic";
- //font: "Tizen:style=Regular,Italic";
- //size: 28;
- //size: 30;
- size: 40;
- min: 1 1;
- align: 0 0.5;
- text_class: "tizen";
- }
- color: 0 0 0 255;
- }
- }
- // 1st textblock item
- part { name: "textblock1";
- type: TEXTBLOCK;
- scale: 1;
- description { state: "default" 0.0;
- min: 0 30;
- fixed: 0 1;
- align: 0.5 0;
- rel1 { relative: 0.05 1.0; to_y: "text3"; }
- rel2 { relative: 1.0 1.0; to_y: "text3"; }
- text {
- style: textblock_effect_test;
- min: 1 1;
- }
- }
- }
- // 2nd textblock item
- part { name: "textblock2";
- type: TEXTBLOCK;
- scale: 1;
- description { state: "default" 0.0;
- min: 0 30;
- fixed: 0 1;
- align: 0.5 0;
- rel1 { relative: 0.05 1.0; to_y: "textblock1"; }
- rel2 { relative: 1.0 1.0; to_y: "textblock1"; }
- text {
- style: textblock_effect_test2;
- min: 1 1;
- }
- }
- }
- // 3rd textblock item
- part { name: "textblock3";
- type: TEXTBLOCK;
- // scale: 1;
- description { state: "default" 0.0;
- min: 0 30;
- fixed: 0 1;
- align: 0.5 0;
- rel1 { relative: 0.05 1.0; to_y: "textblock2"; }
- rel2 { relative: 1.0 1.0; to_y: "textblock2"; }
- text {
- style: textblock_effect_test3;
- min: 1 1;
- }
- }
- }
- // 4th textblock item
- part { name: "textblock4";
- type: TEXTBLOCK;
-// scale: 1;
- description { state: "default" 0.0;
- min: 0 30;
- fixed: 0 1;
- align: 0.5 0;
- rel1 { relative: 0.05 1.0; to_y: "textblock3"; }
- rel2 { relative: 1.0 1.0; to_y: "textblock3"; }
- text {
- style: textblock_effect_test4;
- min: 1 1;
- }
- }
- }
- // 1st strike
- part { name: "strike1";
- type: TEXTBLOCK;
- scale: 1;
- description { state: "default" 0.0;
- min: 0 30;
- fixed: 0 1;
- align: 0.5 0;
- rel1 { relative: 0.05 1.0; to_y: "textblock4"; }
- rel2 { relative: 1.0 1.0; to_y: "textblock4"; }
- text {
- style: strike_textblock_effect;
- min: 1 1;
- }
- }
- }
- // 2nd strike
- part { name: "strike2";
- type: TEXTBLOCK;
- scale: 1;
- description { state: "default" 0.0;
- min: 0 30;
- fixed: 0 1;
- align: 0.5 0;
- rel1 { relative: 0.05 1.0; to_y: "strike1"; }
- rel2 { relative: 1.0 1.0; to_y: "strike1"; }
- text {
- style: strike_textblock_effect;
- min: 1 1;
- }
- }
- }
-
- part { name: "bottom_padding";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min: 0 30;
- visible: 0;
- rel1 { relative: 0 1; to_y: "strike2"; }
- align: 0.5 1.0;
- }
- }
- }
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.
- *
- */
-
-group {
- styles
- {
- style { name: "textblock_style_test";
- base: "font=Tizen:style=Bold font_size=35 align=left color=#000000 wrap=char text_class=tizen";
- tag: "br" "\n";
- tag: "hilight" "+ font=Tizen:style=Bold";
- tag: "b" "+ font=Tizen:style=Bold";
- tag: "tab" "\t";
- }
- style { name: "textblock_style_test2";
- base: "font=Tizen:style=Roman font_size=35 align=left color=#000000 wrap=char text_class=tizen";
- tag: "br" "\n";
- tag: "hilight" "+ font=Tizen:style=Bold";
- tag: "b" "+ font=Tizen:style=Bold";
- tag: "tab" "\t";
- }
- style { name: "strike_textblock_style";
- base: "font=Tizen:style=Roman font_size=35 align=left color=#000000 wrap=char text_class=tizen";
- tag: "br" "\n";
- tag: "hilight" "+ font=Tizen:style=Bold";
- tag: "b" "+ font=Tizen:style=Bold";
- tag: "tab" "\t";
- tag: "strike" "+ strikethrough=on strikethrough_color=#FF0000";
- }
- }
-
- name: "group_fonttest";
- parts {
- part { name: "background";
- type: RECT;
- mouse_events: 0;
- description { state: "default" 0.0;
- }
- }
- // 1st item
- part { name: "text1";
- type: TEXT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 60;
- fixed: 0 1;
- align: 0.5 0;
- rel1 { relative: 0.05 0.0; }
- rel2 { relative: 1.0 0.0; }
- text {
- font: "Tizen:style=Bold";
- size: 35;
- min: 1 1;
- align: 0 0.5;
- text_class: "tizen";
- }
- color: 0 0 0 255;
- }
- }
- // 2nd item
- part { name: "text2";
- type: TEXT;
- scale: 1;
- description { state: "default" 0.0;
- min: 0 60;
- fixed: 0 1;
- align: 0.5 0;
- rel1 { relative: 0.05 1.0; to_y: "text1"; }
- rel2 { relative: 1.0 1.0; to_y: "text1"; }
- text {
- font: "Tizen:style=Roman";
- size: 35;
- min: 1 1;
- align: 0 0.5;
- text_class: "tizen";
- }
- color: 0 0 0 255;
- }
- }
- // 3rd item
- part { name: "text3";
- type: TEXT;
- scale: 1;
- description { state: "default" 0.0;
- min: 0 60;
- fixed: 0 1;
- align: 0.5 0;
- rel1 { relative: 0.05 1.0; to_y: "text2"; }
- rel2 { relative: 1.0 1.0; to_y: "text2"; }
- text {
- font: "Tizen:style=Medium";
- size: 35;
- min: 1 1;
- align: 0 0.5;
- text_class: "tizen";
- }
- color: 0 0 0 255;
- }
- }
- // 1st textblock item
- part { name: "textblock1";
- type: TEXTBLOCK;
- scale: 1;
- description { state: "default" 0.0;
- min: 0 30;
- fixed: 0 1;
- align: 0.5 0;
- rel1 { relative: 0.05 1.0; to_y: "text3"; }
- rel2 { relative: 1.0 1.0; to_y: "text3"; }
- text {
- style: textblock_style_test;
- min: 1 1;
- }
- }
- }
- // 2nd textblock item
- part { name: "textblock2";
- type: TEXTBLOCK;
- scale: 1;
- description { state: "default" 0.0;
- min: 0 30;
- fixed: 0 1;
- align: 0.5 0;
- rel1 { relative: 0.05 1.0; to_y: "textblock1"; }
- rel2 { relative: 1.0 1.0; to_y: "textblock1"; }
- text {
- style: textblock_style_test2;
- min: 1 1;
- }
- }
- }
- // 3rd textblock item
- part { name: "textblock3";
- type: TEXTBLOCK;
- // scale: 1;
- description { state: "default" 0.0;
- min: 0 30;
- fixed: 0 1;
- align: 0.5 0;
- rel1 { relative: 0.05 1.0; to_y: "textblock2"; }
- rel2 { relative: 1.0 1.0; to_y: "textblock2"; }
- text {
- style: textblock_style_test2;
- min: 1 1;
- }
- }
- }
- // 4th textblock item
- part { name: "textblock4";
- type: TEXTBLOCK;
-// scale: 1;
- description { state: "default" 0.0;
- min: 0 30;
- fixed: 0 1;
- align: 0.5 0;
- rel1 { relative: 0.05 1.0; to_y: "textblock3"; }
- rel2 { relative: 1.0 1.0; to_y: "textblock3"; }
- text {
- style: textblock_style_test2;
- min: 1 1;
- }
- }
- }
- // 1st strike
- part { name: "strike1";
- type: TEXTBLOCK;
- scale: 1;
- description { state: "default" 0.0;
- min: 0 30;
- fixed: 0 1;
- align: 0.5 0;
- rel1 { relative: 0.05 1.0; to_y: "textblock4"; }
- rel2 { relative: 1.0 1.0; to_y: "textblock4"; }
- text {
- style: strike_textblock_style;
- min: 1 1;
- }
- }
- }
- // 2nd strike
- part { name: "strike2";
- type: TEXTBLOCK;
- scale: 1;
- description { state: "default" 0.0;
- min: 0 30;
- fixed: 0 1;
- align: 0.5 0;
- rel1 { relative: 0.05 1.0; to_y: "strike1"; }
- rel2 { relative: 1.0 1.0; to_y: "strike1"; }
- text {
- style: strike_textblock_style;
- min: 1 1;
- }
- }
- }
-
- part { name: "bottom_padding";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min: 0 30;
- visible: 0;
- rel1 { relative: 0 1; to_y: "strike2"; }
- align: 0.5 1.0;
- }
- }
- }
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.
- *
- */
-
-/****************Gengrid Textblock Styles******************/
-
- styles {
- style { name: "gengrid_textblock_style";
- base: "font=Tizen:style=Bold font_size=26 color=#FAFAFAFF align=center wrap=mixed ellipsis=1.0 text_class=tizen";
- tag: "br" "\n";
- tag: "ps" "ps";
- tag: "tab" "\t";
- tag: "b" "+ font_weight=Bold";
- }
- }
-
-/****************Gengrid Macros******************/
-
- #define GENGRID_ITEM_SELECT_VI_EFFECT \
- } \
- description { state: "pressed" 0.0; \
- inherit: "default" 0.0; \
- map { \
- on: 1; \
- perspective: "persp1"; \
- smooth: 0; \
- } \
- } \
- description { state: "selected" 0.0; \
- inherit: "default" 0.0; \
- map { \
- on: 1; \
- perspective: "persp"; \
- smooth: 1; \
- }
-
- #define GENGRID_PART_CHECK(PART) \
- part { name: "check_top_left_padding"; \
- type: RECT; \
- mouse_events: 0; \
- scale: 1; \
- description { state: "default" 0.0; \
- visible: 0; \
- min: 6 6; \
- align: 0.0 0.0; \
- fixed: 1 1; \
- rel1 { \
- relative: 0.0 0.0; \
- to: PART; \
- } \
- rel2 { \
- relative: 0.0 0.0; \
- to: PART; \
- } \
- } \
- } \
- part { name: "check_bg_clip"; \
- type: RECT; \
- mouse_events: 0; \
- description { state: "default" 0.0; \
- visible: 0; \
- } \
- description { state: "visible" 0.0; \
- visible: 1; \
- } \
- } \
- part { name: "elm.check.bg"; \
- type: IMAGE; \
- mouse_events: 0; \
- scale: 1; \
- clip_to: "check_bg_clip"; \
- description { state: "default" 0.0; \
- min: 63 63; \
- align: 0.0 0.0; \
- fixed: 1 1; \
- rel1 { \
- relative: 1.0 1.0; \
- to: "check_top_left_padding"; \
- } \
- rel2 { \
- relative: 1.0 1.0; \
- to: "check_top_left_padding"; \
- } \
- image.normal: "00_check_bg.png"; \
- fill.smooth : 0; \
- } \
- description { state: "pressed" 0.0; \
- inherit: "default" 0.0; \
- map { \
- on: 1; \
- perspective: "persp1"; \
- smooth: 0; \
- } \
- } \
- description { state: "selected" 0.0; \
- inherit: "default" 0.0; \
- image.normal: "00_check_press_bg.png"; \
- map { \
- on: 1; \
- perspective: "persp"; \
- smooth: 0; \
- } \
- } \
- description { state: "disabled" 0.0; \
- inherit: "default" 0.0; \
- image.normal: "00_check_dim_bg.png"; \
- } \
- } \
- part { name: "elm.check.bg2"; \
- type: IMAGE; \
- mouse_events: 0; \
- scale: 1; \
- clip_to: "check_bg_clip"; \
- description { state: "default" 0.0; \
- rel1.to: "elm.check.bg"; \
- rel2.to: "elm.check.bg"; \
- image.normal: "00_check_inactivated.png"; \
- } \
- description { state: "pressed" 0.0; \
- inherit: "default" 0.0; \
- map { \
- on: 1; \
- perspective: "persp1"; \
- smooth: 0; \
- } \
- } \
- description { state: "selected" 0.0; \
- inherit: "default" 0.0; \
- image.normal: "00_check_inactivated_press.png"; \
- map { \
- on: 1; \
- perspective: "persp"; \
- smooth: 0; \
- } \
- } \
- description { state: "disabled" 0.0; \
- inherit: "default" 0.0; \
- image.normal: "00_check_inactivated_dim.png"; \
- } \
- } \
- part { name: "check_clip"; \
- type: RECT; \
- mouse_events: 0; \
- description { state: "default" 0.0; \
- visible: 0; \
- rel1.to: "elm.check.bg"; \
- rel2.to: "elm.check.bg"; \
- rel2.relative: 0.0 1.0; \
- color: 255 255 255 255; \
- } \
- description { state: "visible" 0.0; \
- inherit: "default" 0.0; \
- visible: 1; \
- } \
- description { state: "checked" 0.0; \
- inherit: "visible" 0.0; \
- rel2.relative: 1.0 1.0; \
- } \
- } \
- part { name: "elm.check"; \
- mouse_events: 0; \
- scale: 1; \
- clip_to: "check_clip"; \
- description { state: "default" 0.0; \
- rel1.to: "elm.check.bg"; \
- rel2.to: "elm.check.bg"; \
- image.normal: "00_check_activated.png"; \
- } \
- description { state: "pressed" 0.0; \
- inherit: "default" 0.0; \
- map { \
- on: 1; \
- perspective: "persp1"; \
- smooth: 0; \
- } \
- } \
- description { state: "selected" 0.0; \
- inherit: "default" 0.0; \
- image.normal: "00_check_activated_press.png"; \
- map { \
- on: 1; \
- perspective: "persp"; \
- smooth: 0; \
- } \
- } \
- description { state: "disabled" 0.0; \
- inherit: "default" 0.0; \
- image.normal: "00_check_activated_dim.png"; \
- } \
- }
-
- #define GENGRID_PROGRAM_ITEM_SELECT_VI_EFFECT( TARGET ) \
- program { name: "vi_pressed"; \
- action: STATE_SET "pressed" 0.0; \
- TARGET \
- after: "vi_zoom_in"; \
- } \
- program { name: "vi_zoom_in"; \
- action: STATE_SET "selected" 0.0; \
- TARGET \
- transition: SIN_FAC 0.167 1.1; \
- } \
- program { name: "vi_zoom_out"; \
- action: STATE_SET "pressed" 0.0; \
- TARGET \
- transition: SIN_FAC 0.167 1.1; \
- after: "vi_default"; \
- } \
- program { name: "vi_default"; \
- action: STATE_SET "default" 0.0; \
- TARGET \
- }
-
- #define GENGRID_PROGRAM_DEFAULT( TARGET ) \
- program { name: "default"; \
- signal: "elm,state,default"; \
- source: "elm"; \
- action: STATE_SET "default" 0.0; \
- target: "focus_bg"; \
- TARGET \
- } \
-
- #define GENGRID_PROGRAM_CHECK \
- program { name: "check_show"; \
- signal: "check,state,show"; \
- source: ""; \
- script { \
- set_int(check_mode, 1); \
- set_state(PART:"check_bg_clip", "visible", 0.0); \
- } \
- } \
- program { name: "check_hide"; \
- signal: "check,state,hide"; \
- source: ""; \
- script { \
- set_int(check_mode, 0); \
- set_state(PART:"check_bg_clip", "default", 0.0); \
- } \
- } \
- program { name: "check_on_no_effect"; \
- signal: "check,state,on,no_effect"; \
- source: ""; \
- script { \
- if (get_int(check_mode)) { \
- set_state(PART:"check_clip", "checked", 0.0); \
- } \
- } \
- } \
- program { name: "check_off"; \
- signal: "check,state,off"; \
- source: ""; \
- action: STATE_SET "default" 0.0; \
- target: "check_clip"; \
- } \
- program { name: "check_on"; \
- signal: "check,state,on"; \
- source: ""; \
- script { \
- if (get_int(check_mode)) { \
- set_state(PART:"check_clip", "visible", 0.0); \
- run_program(PROGRAM:"check_on_transit"); \
- } \
- } \
- } \
- program { name: "check_on_transit"; \
- action: STATE_SET "checked" 0.0; \
- transition: LINEAR 0.267; \
- target: "check_clip"; \
- } \
- program { name: "check_disabled"; \
- signal: "check,state,disabled"; \
- source: ""; \
- action: STATE_SET "disabled" 0.0; \
- target: "elm.check.bg"; \
- target: "elm.check.bg2"; \
- target: "elm.check"; \
- }
-
- group { name: "elm/gengrid/item/elm_demo_tizen/customized_default_style/default";
- data.item: "contents" "elm.swallow.icon elm.swallow.end";
- parts {
- part { name: "bg";
- scale: 1;
- type: RECT;
- description { state: "default" 0.0;
- color: 0 0 0 0;
- }
- }
- part { name: "left_top_padding";
- type: RECT;
- description { state: "default" 0.0;
- min: 10 24;
- align: 0.0 0.0;
- visible: 0;
- rel1.to: "bg";
- rel2 {
- relative: 0.0 0.0;
- to: "bg";
- }
- }
- }
- part { name: "right_bottom_padding";
- type: RECT;
- description { state: "default" 0.0;
- min: 10 0;
- align: 1.0 1.0;
- visible: 0;
- rel1 {
- relative: 1.0 1.0;
- to: "bg";
- }
- rel2.to: "bg";
- }
- }
- part { name: "elm.swallow.icon";
- type: SWALLOW;
- description { state: "default" 0.0;
- rel1 {
- relative: 1.0 1.0;
- to: "left_top_padding";
- }
- rel2 {
- relative: 0.0 0.0;
- to: "right_bottom_padding";
- }
- }
- }
- part { name: "elm.swallow.end";
- type: SWALLOW;
- description { state: "default" 0.0;
- rel1.to: "elm.swallow.icon";
- rel2.to: "elm.swallow.icon";
- }
- }
- part { name: "reorder_bg";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- color: 0 0 0 128;
- visible: 0;
- rel1.to: "elm.swallow.icon";
- rel2.to: "elm.swallow.icon";
- }
- description { state: "enabled" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- }
- }
- programs {
- program { name: "go_reorder_disabled";
- signal: "elm,state,reorder,disabled";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "reorder_bg";
- transition: ACCELERATE 0.3;
- }
- program { name: "go_reorder_enabled";
- signal: "elm,state,reorder,enabled";
- source: "elm";
- action: STATE_SET "enabled" 0.0;
- target: "reorder_bg";
- transition: ACCELERATE 0.3;
- }
- }
- }
-
- group { name: "elm/gengrid/item/elm_demo_tizen/customized_photo_style/default";
- data.item: "contents" "elm.swallow.icon elm.swallow.end";
- parts {
- part { name: "bg";
- scale: 1;
- type: RECT;
- description { state: "default" 0.0;
- color: 0 0 0 0;
- }
- }
- part { name: "left_top_padding";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min: 10 24;
- align: 0.0 0.0;
- visible: 0;
- rel1.to: "bg";
- rel2 {
- relative: 0.0 0.0;
- to: "bg";
- }
- }
- }
- part { name: "right_bottom_padding";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min: 10 0;
- align: 1.0 1.0;
- visible: 0;
- rel1 {
- relative: 1.0 1.0;
- to: "bg";
- }
- rel2.to: "bg";
- }
- }
- part { name: "item_bg";
- type: RECT;
- description { state: "default" 0.0;
- color: 0 0 0 0;
- rel1 {
- relative: 1.0 1.0;
- to: "left_top_padding";
- }
- rel2 {
- relative: 0.0 0.0;
- to: "right_bottom_padding";
- }
- }
- }
- part { name: "photo_frame";
- type: RECT;
- description { state: "default" 0.0;
- color: 255 255 255 255;
- rel1 {
- relative: 0.0 0.0;
- to: "elm.swallow.icon";
- offset: -2 -2;
- }
- rel2 {
- relative: 1.0 1.0;
- to: "elm.swallow.icon";
- offset: 1 1;
- }
- }
- }
- part { name: "elm.swallow.icon";
- type: SWALLOW;
- description { state: "default" 0.0;
- fixed: 1 1;
- rel1.to_x: "right_bottom_padding";
- rel1 {
- relative: 0.5 0.5;
- to: "item_bg";
- }
- rel2 {
- relative: 0.5 0.5;
- to: "item_bg";
- }
- align: 0.5 0.5;
- }
- }
- part { name: "elm.swallow.end";
- type: SWALLOW;
- description { state: "default" 0.0;
- rel1.to: "item_bg";
- rel2.to: "item_bg";
- }
- }
- part { name: "reorder_bg";
- type: RECT;
- description { state: "default" 0.0;
- color: 0 0 0 128;
- visible: 0;
- rel1.to: "elm.swallow.icon";
- rel2.to: "elm.swallow.icon";
- }
- description { state: "enabled" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- }
- }
- programs {
- program { name: "go_reorder_disabled";
- signal: "elm,state,reorder,disabled";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "reorder_bg";
- transition: ACCELERATE 0.3;
- }
- program { name: "go_reorder_enabled";
- signal: "elm,state,reorder,enabled";
- source: "elm";
- action: STATE_SET "enabled" 0.0;
- target: "reorder_bg";
- transition: ACCELERATE 0.3;
- }
- }
- }
-
- group { name: "elm/gengrid/item/elm_demo_tizen/customized_incheck_style/default";
- data.item: "focus_highlight" "on";
- data.item: "texts" "elm.text";
- data.item: "contents" "elm.swallow.icon elm.swallow.block";
-
- images {
- image : "00_focus_01.png" COMP;
- image : "00_sub_depth_thumbs_bg.png" COMP;
- image: "00_check_bg.png" COMP;
- image: "00_check_dim_bg.png" COMP;
- image: "00_check_activated_press.png" COMP;
- image: "00_check_activated_dim.png" COMP;
- image: "00_check_activated.png" COMP;
- image: "00_check_inactivated_press.png" COMP;
- image: "00_check_inactivated_dim.png" COMP;
- image: "00_check_inactivated.png" COMP;
- image: "00_check_press_bg.png" COMP;
- }
-
- script {
- public check_mode = 0;
- public selected = 0;
- }
- parts {
- part { name: "persp";
- type: RECT;
- description { state: "default" 0.0;
- min: 32 32;
- max: 32 32;
- fixed: 1 1;
- align: 0.5 0.5;
- color: 0 0 0 0;
- visible: 1;
- perspective {
- zplane: -70;
- focal: 1000;
- }
- }
- }
- part { name: "persp1";
- type: RECT;
- description { state: "default" 0.0;
- min: 32 32;
- max: 32 32;
- fixed: 1 1;
- align: 0.5 0.5;
- color: 0 0 0 0;
- visible: 1;
- perspective {
- zplane: 0;
- focal: 1000;
- }
- }
- }
- part { name: "bg";
- type: RECT;
- description { state: "default" 0.0;
- color: 0 0 0 0;
- }
- }
- part { name: "left_top_padding";
- type: SPACER;
- scale : 1;
- description { state: "default" 0.0;
- min: 6 6;
- align: 0.0 0.0;
- fixed: 1 1;
- rel1.to: "bg";
- rel2 {
- relative: 0.0 0.0;
- to: "bg";
- }
- }
- }
- part { name: "right_bottom_padding";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: 6 6;
- align: 1.0 1.0;
- fixed: 1 1;
- rel1 {
- relative: 1.0 1.0;
- to: "bg";
- }
- rel2.to: "bg";
- }
- }
- part { name: "item_bg";
- type: IMAGE;
- description { state: "default" 0.0;
- visible: 1;
- rel1 {
- relative: 1.0 1.0;
- to: "left_top_padding";
- }
- rel2 {
- relative: 0.0 0.0;
- to: "right_bottom_padding";
- }
- image.normal: "00_sub_depth_thumbs_bg.png";
- image.border: 13 12 12 13;
- GENGRID_ITEM_SELECT_VI_EFFECT
- }
- }
- part { name: "item_bg_left_top_padding";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: 1 1;
- align: 0.0 0.0;
- fixed: 1 1;
- rel1.to: "item_bg";
- rel2 {
- relative: 0.0 0.0;
- to: "item_bg";
- }
- }
- }
- part { name: "item_bg_right_bottom_padding";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: 1 1;
- align: 1.0 1.0;
- fixed: 1 1;
- rel1 {
- relative: 1.0 1.0;
- to: "item_bg";
- }
- rel2.to: "item_bg";
- }
- }
- part { name: "item_real_bg";
- type: RECT;
- description { state: "default" 0.0;
- visible: 0;
- rel1 {
- relative: 1.0 1.0;
- to: "item_bg_left_top_padding";
- }
- rel2 {
- relative: 0.0 0.0;
- to: "item_bg_right_bottom_padding";
- }
- GENGRID_ITEM_SELECT_VI_EFFECT
- }
- }
- part { name: "item_real_bg_left_top_padding";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: 0 0;
- align: 0.0 0.0;
- fixed: 1 1;
- rel1.to: "item_real_bg";
- rel2 {
- relative: 0.0 0.0;
- to: "item_real_bg";
- }
- }
- }
- part { name: "item_real_bg_right_bottom_padding";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: 0 0;
- align: 1.0 1.0;
- fixed: 1 1;
- rel1 {
- relative: 1.0 1.0;
- to: "item_real_bg";
- }
- rel2.to: "item_real_bg";
- }
- }
- part { name: "elm.swallow.icon";
- type: SWALLOW;
- description { state: "default" 0.0;
- rel1 {
- relative: 1.0 1.0;
- to: "item_real_bg_left_top_padding";
- }
- rel2 {
- relative: 0.0 0.0;
- to: "item_real_bg_right_bottom_padding";
- }
- GENGRID_ITEM_SELECT_VI_EFFECT
- }
- }
- part { name: "text_left_padding";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: 6 0;
- align: 0.0 0.5;
- rel1 {
- relative: 0.0 0.0;
- to: "item_bg";
- }
- rel2 {
- relative: 0.0 1.0;
- to: "item_bg";
- }
- }
- }
- part { name: "text_right_padding";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: 6 0;
- align: 1.0 0.5;
- rel1 {
- relative: 1.0 0.0;
- to: "item_bg";
- }
- rel2 {
- relative: 1.0 1.0;
- to: "item_bg";
- }
- }
- }
- part { name: "text_bottom_padding";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: 0 10;
- align: 0.5 1.0;
- rel1 {
- relative: 0.0 1.0;
- to: "elm.swallow.icon";
- }
- rel2 {
- relative: 1.0 1.0;
- to: "elm.swallow.icon";
- }
- }
- }
- part { name: "elm.text";
- type: TEXTBLOCK;
- mouse_events: 0;
- scale: 1;
- description { state: "default" 0.0;
- min: 0 26;
- align: 0.5 1.0;
- rel1 {
- relative: 1.0 0.0;
- to_x: "text_left_padding";
- to_y: "text_bottom_padding";
- }
- rel2 {
- relative: 0.0 0.0;
- to_x: "text_right_padding";
- to_y: "text_bottom_padding";
- }
- text {
- style: "gengrid_textblock_style";
- min: 0 1;
- align: 0.5 1.0;
- }
- GENGRID_ITEM_SELECT_VI_EFFECT
- }
- }
- part { name: "elm.swallow.block";
- type: SWALLOW;
- mouse_events: 0;
- description { state: "default" 0.0;
- rel1.to : "elm.text";
- rel2.to : "elm.text";
- GENGRID_ITEM_SELECT_VI_EFFECT
- }
- }
- GENGRID_PART_CHECK("item_bg");
-
- part { name: "reorder_bg";
- type: RECT;
- repeat_events: 1;
- mouse_events: 0;
- description { state: "default" 0.0;
- rel1.to: "item_bg";
- rel2.to: "item_bg";
- color: 0 0 0 0;
- }
- }
- part { name: "focus_bg";
- type: IMAGE;
- mouse_events: 0;
- description { state: "default" 0.0;
- visible: 0;
- rel1 {
- relative: 0.0 0.0;
- to: "elm.swallow.icon";
- }
- rel2 {
- relative: 1.0 1.0;
- to: "elm.swallow.icon";
- }
- image.normal: "00_focus_01.png";
- image.border: 8 8 8 8;
- }
- description { state: "enabled" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- }
- }
- programs {
- program { name: "selected";
- signal: "elm,state,selected";
- source: "elm";
- script {
- if (!get_int(selected)) {
- set_int(selected, 1);
- run_program(PROGRAM:"vi_pressed");
- }
- }
- }
- program { name: "unselected";
- signal: "elm,state,unselected";
- source: "elm";
- script {
- if (get_int(selected)) {
- set_int(selected, 0);
- run_program(PROGRAM:"vi_zoom_out");
- }
- }
- }
- GENGRID_PROGRAM_ITEM_SELECT_VI_EFFECT(
- target: "item_bg";
- target: "item_real_bg";
- target: "elm.swallow.icon";
- target: "elm.text";
- target: "elm.swallow.block";
- target: "elm.check";
- target: "elm.check.bg";
- target: "elm.check.bg2";
- )
- program { name: "touch_snd";
- signal: "mouse,clicked,1";
- source: "item_bg";
- script {
- new st[31];
- new Float:vl;
- get_state(PART:"item_bg", st, 30, vl);
- if (!strcmp(st, "selected") ||
- !strcmp(st, "pressed"))
- play_sample("touch_sound", 1.0);
- }
- }
- program { name: "action_focus";
- signal: "elm,action,focus_highlight,show";
- source: "elm";
- action: STATE_SET "enabled" 0.0;
- target: "focus_bg";
- }
- program { name: "action_unfocus";
- signal: "elm,action,focus_highlight,hide";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "focus_bg";
- }
- GENGRID_PROGRAM_DEFAULT(
- target: "item_bg";
- target: "item_real_bg";
- target: "elm.swallow.icon";
- target: "elm.text";
- target: "elm.swallow.block";
- target: "elm.check";
- target: "elm.check.bg";
- target: "elm.check.bg2";
- target: "check_bg_clip";
- target: "check_clip";
- )
- GENGRID_PROGRAM_CHECK
- }
- }
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.
- *
- */
-
- group {
- name: "genlist_swallow_style";
- data.item: "contents" "icon1 icon2 icon3";
- images {
- image: "01_indicator_emn.png" COMP;
- image: "01_indicator_CS_3G_active.png" COMP;
- image: "01_indicator_im_online.png" LOSSY 60;
- }
- parts {
- part {
- name: "bg";
- type: RECT;
- scale:1;
-
- description {
- state: "default" 0.0;
- min : 96 32; //minimum size for gap filler
- fixed: 0 1;
- rel1 { relative: 0.0 0.0; }
- rel2 { relative: 1.0 1.0; }
- color: 0 0 0 0;
- }
- }
-
- part {
- name: "icon1";
- type: IMAGE;
- scale:1;
-
- description {
- min: 31 31;
- max: 31 31;
- fixed: 1 1;
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; }
- rel2 { relative: 1.0 1.0; to:bg;}
- image {
- normal, "01_indicator_emn.png";
- }
- align: 0 0;
- }
- }
-
- part{
- name: "icon2";
- type: IMAGE;
- scale:1;
-
- description {
- state: "default" 0.0;
- min: 31 31;
- max: 31 31;
- fixed: 1 1;
- rel1 { relative: 1.0 0.0; to:icon1; }
- rel2 { relative: 1.0 1.0; to:icon1; }
- image {
- normal, "01_indicator_im_online.png";
- }
- align: 0 0;
- }
- }
- part {
- name: "icon3";
- type: IMAGE;
- scale:1;
-
- description {
- state: "default" 0.0;
- min: 31 31;
- max: 31 31;
- fixed: 1 1;
- rel1 { relative: 1.0 0.0; to:icon2; }
- rel2 { relative: 1.0 1.0; to:icon2; }
- image {
- normal, "01_indicator_CS_3G_active.png";
- }
- align: 0 0;
- }
- }
- }
- }
-
- group {
- name: "check_genlist_swallow_style";
- data.item: "contents" "check_box";
- parts {
- part {
- name: "check_box";
- type: SWALLOW;
- scale:1;
-
- description {
- state: "default" 0.0;
- min : 50 32; //minimum size for gap filler
- fixed: 0 1;
- rel1 { relative: 0.0 0.0; }
- rel2 { relative: 1.0 1.0; }
- align: 0.5 0.5;
- }
- }
- }
- }
-
- /*********************************************/
- /* elm_layout -> Horz-handler */
- /*********************************************/
- group {
- name: "elmdemo-test/horz_handler";
- parts {
- part {
- name: "bg";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- color: 0 0 0 0;
- }
- }
- part {
- name: "scroller";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 {relative: 0.0 0.1; to: "bg";}
- rel2 {relative: 1.0 1.0; to: "bg";}
- align: 0.5 0.5;
- }
- }
- }//end parts
-} //end group
-
- /*********************************************/
- /* elm_layout -> fastscroll */
- /*********************************************/
- group {
- name: "fastscroll";
- parts {
- /* for transparency */
- part {
- name: "base";
- type: RECT;
- mouse_events: 0;
- repeat_events: 1;
- description {
- state: "default" 0.0;
- color: 0 0 0 0;
- }
- }
- part {
- name: "elm.swallow.content.genlist";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0;}
- rel2 { relative: 1.0 1.0;}
- }
- }
-
- part {
- name: "elm.swallow.content.index";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- rel1 { to: "elm.swallow.content.genlist"; }
- rel2 { to: "elm.swallow.content.genlist"; }
- }
- }
- }
- }
-
- group { name: "elmdemo-test/genlist_add";
- parts{
- part {
- name: "top_padding";
- type: RECT;
- scale: 1;
-
- description {
- state: "default" 0.0;
- min : 20 20;
- fixed: 1 1;
- rel1 { relative: 0 0; }
- rel2 { relative: 1 0; }
- color: 0 0 0 0;
- align: 0 0;
- }
- }
- part {
- name: "Label";
- type: SWALLOW;
- scale: 1;
-
- description {
- state: "default" 0.0;
- fixed: 1 1;
- min: 300 100;
- max: 300 100;
- rel1 { relative: 0 1.0; to_y: "top_padding"; }
- align: 0.5 0;
- }
- }
-
-
- part {
- name: "Button";
- type: SWALLOW;
- scale: 1;
-
- description {
- state: "default" 0.0;
- fixed: 0 1;
- min: 100 35;
- max: 100 35;
- rel1 {
- relative: 0.0 1.0;
- to: "Label";
- }
- rel2 {
- relative: 1.0 1.0;
- to: "Label";
- }
- align: 0.5 0.0;
- }
- }
- }
- }
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "genlist_macro.edc"
-
-group { name: "elm/genlist/item/elm_demo_tizen/dynamic_text_style_change/default";
-
- data.item: "selectraise" "on";
- data.item: "texts" "elm.text elm.text.sub";
- data.item: "contents" "elm.thumbnail elm.swallow.color.bg elm.swallow.end";
- images {
- image: "00_list_bar_press_1x80.png" COMP;
- image: "00_list_thumbnail_bg.png" COMP;
- }
- script {
- public g_text_color_changed_state = 0;
- }
- parts {
- GENLIST_PART_BASE
- GENLIST_PART_BG_NORMAL
- GENLIST_PART_BOTTOM_LINE
- GENLIST_PART_PADDING_LEFT
- GENLIST_PART_PADDING_RIGHT
- GENLIST_PART_PADDING_TOP
- GENLIST_PART_PADDING_BOTTOM
-
- part { name: "elm.swallow.color.bg";
- type: SWALLOW;
- description { state: "default" 0.0;
- }
- }
-
- part { name: "elm.swallow.end";
- type: SWALLOW;
- scale: 1;
- description { state: "defualt" 0.0;
- min: 190 0;
- fixed: 1 0;
- align: 1.0 0.5;
- aspect: 1.0 1.0;
- aspect_preference: VERTICAL;
- rel1 {
- relative: 0.0 0.5;
- to_x : "elm.padding.right";
- to_y : "base";
- }
- rel2 {
- relative: 0.0 0.5;
- to_x : "elm.padding.right";
- to_y: "base";
- }
- }
- }
- part { name: "elm.thumbnail";
- type: SWALLOW;
- description { state: "default" 0.0;
- rel1.to: "elm.thumbnail.bg";
- rel2.to: "elm.thumbnail.bg";
- }
- }
- part { name: "elm.thumbnail.bg";
- scale: 1;
- description { state: "default" 0.0;
- min: 100 100;
- fixed: 1 0;
- align: 0.0 0.5;
- rel1 {
- relative: 1.0 1.0;
- to_x: "elm.padding.left";
- to_y: "elm.padding.top";
- }
- rel2 {
- relative: 1.0 0.0;
- to_x: "elm.padding.left";
- to_y: "elm.padding.bottom";
- }
- image {
- normal: "00_list_thumbnail_bg.png";
- border: 1 1 1 1;
- border_scale: 1;
- middle: NONE;
- }
- }
- }
- part { name: "elm.padding.thumbnail.right";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min: 15 0;
- fixed: 1 0;
- visible: 0;
- rel1 {
- relative: 1.0 1.0;
- to_x: "elm.thumbnail";
- to_y: "elm.padding.top";
- }
- rel2 {
- relative: 1.0 0.0;
- to_x: "elm.thumbnail";
- to_y: "elm.padding.bottom";
- }
- align: 0.0 0.5;
- }
- }
- part { name: "elm.text";
- type: TEXT;
- mouse_events: 0;
- scale: 1;
- description { state: "default" 0.0;
- min: 0 40;
- fixed: 0 1;
- align: 0 0;
- rel1 {
- relative: 1.0 1.0;
- to_x: "elm.padding.thumbnail.right";
- to_y: "elm.padding.top";
- }
- rel2 {
- relative: 0.0 1.0;
- to_x: "elm.swallow.end";
- to_y: "elm.padding.top";
- }
- color: 0 0 0 255;
- text {
- font: "Tizen:style=Roman";
- size: 32;
- min: 0 1;
- align: 0.0 0.5;
- }
- }
- description { state: "selected" 0.0;
- inherit: "default" 0.0;
- color: 255 255 255 255;
- }
- description { state: "color_changed" 0.0;
- inherit: "default" 0.0;
- text {
- font: "Tizen:style=Bold";
- }
- color: 0 0 255 255;
- }
- }
- part { name: "elm.text.sub";
- type: TEXT;
- mouse_events: 0;
- scale: 1;
- description { state: "default" 0.0;
- min: 0 30;
- fixed: 0 1;
- align: 0.0 0.0;
- rel1 {
- relative: 1.0 1.0;
- to_x: "elm.padding.thumbnail.right";
- to_y: "elm.text";
- }
- rel2 {
- relative: 0.0 1.0;
- offset: 0 0;
- to_x: "elm.swallow.end";
- to_y: "elm.text";
- }
- color: 0 0 0 255;
- text {
- font: "Tizen:style=Medium";
- size: 22;
- min: 0 1;
- align: 0.0 0.5;
- }
- }
- description { state: "selected" 0.0;
- inherit: "default" 0.0;
- color: 255 255 255 255;
- }
- description { state: "color_changed" 0.0;
- inherit: "default" 0.0;
- text {
- font: "Tizen:style=Bold";
- }
- color: 255 0 0 255;
- }
- }
- }
- programs {
- program { name: "go_active";
- signal: "elm,state,selected";
- source: "elm";
- action: STATE_SET "selected" 0.0;
- target: "bg";
- target: "elm.text";
- target: "elm.text.sub";
- }
- program { name: "go_passive";
- signal: "elm,state,unselected";
- source: "elm";
- script {
- if (get_int(g_text_color_changed_state) == 1) {
- set_state(PART:"bg", "default", 0.0);
- set_state(PART:"elm.text", "color_changed", 0.0);
- set_state(PART:"elm.text.sub", "color_changed", 0.0);
- }
- else {
- set_state(PART:"bg", "default", 0.0);
- set_state(PART:"elm.text", "default", 0.0);
- set_state(PART:"elm.text.sub", "default", 0.0);
- }
- }
- transition: LINEAR 0.1;
- }
- program { name: "change_label_color";
- signal: "elm,state,change_label_color";
- source: "elm";
- script {
- set_int (g_text_color_changed_state, 1);
- set_state(PART:"elm.text", "color_changed", 0.0);
- set_state(PART:"elm.text.sub", "color_changed", 0.0);
- }
-
- }
- program { name: "change_label_color_default";
- signal: "elm,state,change_label_color_default";
- source: "elm";
- script {
- set_int (g_text_color_changed_state, 0);
- set_state(PART:"bg", "default", 0.0);
- set_state(PART:"elm.text", "default", 0.0);
- set_state(PART:"elm.text.sub", "default", 0.0);
- }
- }
- }
-}
-
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.
- *
- */
-
- group { name: "elm_demo_tizen/layout/genlist_externals";
- parts {
- part { name: "bg";
- type: RECT;
- description { state: "default" 0.0;
- }
- }
- part { name: "top_buttons";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min: 0 100;
- fixed: 0 1;
- color: 0 0 0 0;
- rel1.to : "bg";
- rel2 {
- relative: 1.0 0.0;
- to: "bg";
- }
- }
- }
- part { name: "genlist";
- type: EXTERNAL;
- source: "elm/genlist";
- description { state: "default" 0.0;
- rel1 {
- relative: 0.0 1.0;
- to: "top_buttons";
- }
- rel2.to: "bg";
- params {
- bool: "multi select" 0;
- bool: "always select" 0;
- bool: "no select" 0;
- bool: "compress" 0;
- bool: "height bounce" 0;
- bool: "widget bounce" 1;
- bool: "homogeneous" 0;
- bool: "pinch zoom mode" 0;
- }
- }
- }
- }
- }
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "tizen-dark-inc.edc"
-
-sounds {
- sample {
- name: "touch_sound" RAW;
- source: "Tizen_Touch.wav";
- }
-}
-
-//****************************************************************************//
-// ******************************* Default size macro **********************//
-//**************************************************************************//
-// if size is different for each theme, split it into each theme inc.
-
-#define GENLIST_HEIGHT_1LINE 104 // (114 - top/bottom padding)
-#define GENLIST_HEIGHT_2LINE_MAIN 57
-#define GENLIST_HEIGHT_2LINE_SUB 45
-#define GENLIST_HEIGHT_MULTILINE_SUB 38
-#define GENLIST_PART_LIST_LINE_HEIGHT 1
-#define GENLIST_HEIGHT_GROUPTITLE 46
-
-#define GENLIST_PADDING_SIZE_DEFAULT 16
-#define GENLIST_PADDING_SIZE_LEFT 26
-#define GENLIST_PADDING_SIZE_RIGHT 26
-// Dialogue group image has bottom padding (2piexl), Giant font can overlapped bottom line of image.
-#define GENLIST_PADDING_SIZE_TOP 5
-#define GENLIST_PADDING_SIZE_BOTTOM 5
-// -----------------------------------------------------
-#define GENLIST_PADDING_SIZE_TOP_2LINE 19
-#define GENLIST_PADDING_SIZE_BOTTOM_2LINE 19
-#define GENLIST_PADDING_SIZE_TOP_3LINE 17
-#define GENLIST_PADDING_SIZE_BOTTOM_3LINE 17
-#define GENLIST_PADDING_SIZE_NDEPTH 26
-
-#define DIALOGUE_PADDING_SIZE_LEFT 16+20
-#define DIALOGUE_PADDING_SIZE_RIGHT 16+20
-#define DIALOGUE_EDITFIELD_PADDING_SIZE_LEFT 16+10
-#define DIALOGUE_EDITFIELD_PADDING_SIZE_RIGHT 16+10
-
-#define GENLIST_ICON_SMALL_SIZE 45
-#define GENLIST_ICON_STAR_SIZE 45
-#define GENLIST_ICON_MEDIUM_SIZE 81
-#define GENLIST_ICON_LARGE_SIZE 99
-#define GENLIST_ICON_THUMBNAIL_SIZE 99
-
-#define GENLIST_BTN_01_HEIGHT 74
-#define GENLIST_BTN_02_SIZE 72
-#define GENLIST_ICON_ONOFF_WIDTH 135
-#define GENLIST_ICON_ONOFF_HEIGHT 63
-#define GENLIST_ICON_CHECK_RADIO_SIZE 64
-#define GENLIST_ICON_COLORBAR_SIZE 7
-#define GENLIST_ICON_PASSWORD_SIZE 82
-// 26(left padding)+2*74(Button Min width)+16(centre padding)+26(right padding)
-#define GENLIST_MIN_SLIDE2_BASE_WIDTH 216
-// 26(left padding)+3*74(Button Min width)+2*16(centre padding)+26(right padding)
-#define GENLIST_MIN_SLIDE3_BASE_WIDTH 306
-// 26(left padding)+4*74(Button Min width)+3*16(centre padding)+26(right padding)
-#define GENLIST_MIN_SLIDE4_BASE_WIDTH 396
-
-#define GENLIST_ICON_ENTRY_SIZE 54
-
-#define GENLIST_TREESIZE_DEFAULT 26
-
-//#define GENLIST_DIALOGUE_SEPARATOR_DEFAULT_HEIGHT 40
-
-//****************************************************************************//
-// ***************** EDJE description have 24 patterns **********************//
- //**************************************************************************//
-// ------------------
-// | PART == HERE |
-// ------------------
- #define GENLIST_DESCRIPTION_ENVELOP( PART, PARAM ) \
- description { state: "default" 0.0;\
- rel1 { \
- relative: 0 0; \
- to: PART; \
- }\
- rel2 {\
- relative: 1 1;\
- to: PART; \
- }\
- PARAM\
- }
-
-// | top |
-// ---------------------
-// left | HERE | right
-// ---------------------
-// | bottom |
-#define GENLIST_DESCRIPTION( left, right, top, bottom, param ) \
- description { state: "default" 0.0;\
- rel1 { \
- relative: 1 1; \
- to_x: left; \
- to_y: top; \
- }\
- rel2 {\
- relative: 0 0;\
- to_x: right;\
- to_y: bottom;\
- }\
- param\
- }
-
-// ---------------------
-// left |--> HERE
-// ---------------------
-#define GENLIST_DESCRIPTION_L( left, param ) \
- description { state: "default" 0.0;\
- align: 0 0.5; \
- fixed: 1 0; \
- rel1 { \
- relative: 1 0; \
- to_x: left; \
- to_y: "base"; \
- }\
- rel2 { \
- relative: 1 1;\
- to_x: left; \
- to_y: "base"; \
- }\
- param\
- }
-
-// ---------------------
-// HERE <--| right
-// ---------------------
-#define GENLIST_DESCRIPTION_R( right, param ) \
- description { state: "default" 0.0;\
- align: 1 0.5; \
- fixed: 1 0; \
- rel1 { \
- relative: 0 0; \
- to_x: right; \
- to_y: "base"; \
- }\
- rel2 {\
- relative: 0 1;\
- to_x: right; \
- to_y: "base"; \
- }\
- param\
- }
-
-// --------------------------
-// left |--> HERE <--| right
-// --------------------------
-#define GENLIST_DESCRIPTION_LR( left, right, param ) \
- description { state: "default" 0.0;\
- rel1 { \
- relative: 1 0; \
- to_x: left; \
- to_y: "base"; \
- }\
- rel2 {\
- relative: 0 1;\
- to_x: right;\
- to_y: "base"; \
- }\
- param\
- }
-
-// | top |
-// -----------------
-// | HERE <--| right
-// -----------------
-// | bottom |
-#define GENLIST_DESCRIPTION_RTB( right, top, bottom, param ) \
- description { state: "default" 0.0;\
- align: 1 0.5;\
- rel1 { \
- relative: 0 1; \
- to_x: right; \
- to_y: top; \
- }\
- rel2 {\
- relative: 0 0;\
- to_x: right;\
- to_y: bottom;\
- }\
- param\
- }
-
-// left | HERE | right
-// ---------------------
-// | bottom |
-#define GENLIST_DESCRIPTION_LRB( left, right, bottom, param ) \
- description { state: "default" 0.0;\
- align: 0.5 1;\
- rel1 { \
- relative: 1 0; \
- to_x: left; \
- to_y: bottom; \
- }\
- rel2 {\
- relative: 0 0;\
- to_x: right;\
- to_y: bottom;\
- }\
- param\
- }
-
-// | top |
-// ---------------------
-// left | HERE | right
-#define GENLIST_DESCRIPTION_LRT( left, right, top, param ) \
- description { state: "default" 0.0;\
- align: 0.5 0;\
- rel1 { \
- relative: 1 1; \
- to_x: left; \
- to_y: top; \
- }\
- rel2 {\
- relative: 0 1;\
- to_x: right;\
- to_y: top;\
- }\
- param\
- }
-
-// | top |
-// ---------------------
-// left | --> HERE |
-#define GENLIST_DESCRIPTION_LT( left, top, param ) \
- description { state: "default" 0.0;\
- align: 0 0;\
- rel1 { \
- relative: 1 1; \
- to_x: left; \
- to_y: top; \
- }\
- rel2 {\
- relative: 1 1;\
- to_x: left;\
- to_y: top;\
- }\
- param\
- }
-
-// left | --> HERE |
-// ---------------------
-// | bottom |
-#define GENLIST_DESCRIPTION_LB( left, bottom, param ) \
- description { state: "default" 0.0;\
- align: 0 1;\
- rel1 { \
- relative: 1 0; \
- to_x: left; \
- to_y: bottom; \
- }\
- rel2 {\
- relative: 1 0;\
- to_x: left;\
- to_y: bottom;\
- }\
- param\
- }
-
-// | top |
-// ---------------------
-// left |--> HERE |
-// ---------------------
-// | bottom |
-#define GENLIST_DESCRIPTION_LTB( left, top, bottom, param ) \
- description { state: "default" 0.0;\
- align: 0 0.5;\
- rel1 { \
- relative: 1 1; \
- to_x: left; \
- to_y: top; \
- }\
- rel2 {\
- relative: 1 0;\
- to_x: left;\
- to_y: bottom;\
- }\
- param\
- }
-
-// | top |
-// ---------------------
-// | HERE <--| right
-#define GENLIST_DESCRIPTION_RT( right, top, param ) \
- description { state: "default" 0.0;\
- align: 1 0;\
- rel1 { \
- relative: 0 1; \
- to_x: right; \
- to_y: top; \
- }\
- rel2 {\
- relative: 0 1;\
- to_x: right;\
- to_y: top;\
- }\
- param\
- }
-
-// | HERE <-- | right
-// ---------------------
-// | bottom |
-#define GENLIST_DESCRIPTION_RB( right, bottom, param ) \
- description { state: "default" 0.0;\
- align: 1 1;\
- rel1 { \
- relative: 0 0; \
- to_x: right; \
- to_y: bottom; \
- }\
- rel2 {\
- relative: 0 0;\
- to_x: right;\
- to_y: bottom;\
- }\
- param\
- }
-
-// | top |
-// ----------
-// | HERE |
-// ----------
-// | bottom |
-#define GENLIST_DESCRIPTION_TB( top, bottom, param ) \
- description { state: "default" 0.0;\
- align: 0.5 0.5;\
- rel1 { \
- relative: 0 1; \
- to_y: top; \
- }\
- rel2 {\
- relative: 1 0;\
- to_y: bottom;\
- }\
- param\
- }
-
-#define GENLIST_PROLOG \
- data.item: "selectraise" "on"; \
- data.item: "treesize" 0;
-
-#define GENLIST_PROLOG_NORMAL \
- GENLIST_PROLOG \
- data.item: "treesize" GENLIST_TREESIZE_DEFAULT; \
- data.item: "flips" "elm.flip.icon elm.flip.content"; \
- images { \
- image : "00_list_group_bg.png" COMP; \
- image : "00_list_group_bg_press.png" COMP; \
- }
-
-#define GENLIST_PROLOG_DIALOGUE \
- GENLIST_PROLOG \
- data.item: "flips" "elm.flip.icon elm.flip.content"; \
- images { \
- image : "00_list_group_bg.png" COMP; \
- image : "00_list_group_bg_press.png" COMP; \
- image : "00_list_group_bg_top.png" COMP; \
- image : "00_list_group_bg_top_press.png" COMP; \
- image : "00_list_group_bg_center.png" COMP; \
- image : "00_list_group_bg_center_press.png" COMP; \
- image : "00_list_group_bg_bottom.png" COMP; \
- image : "00_list_group_bg_bottom_press.png" COMP; \
- image : "00_list_group_bg_top_focus.png" COMP; \
- image : "00_list_group_bg_center_focus.png" COMP; \
- image : "00_list_group_bg_bottom_focus.png" COMP; \
- image : "00_expandable_bg.png" COMP; \
- image : "00_expandable_bg_top.png" COMP; \
- image : "00_expandable_bg_center.png" COMP; \
- image : "00_expandable_bg_bottom.png" COMP; \
- }
-
-
-#define GENLIST_NAME(NAME) \
- name: "elm/genlist/item/"NAME;
-
-/*****************************************************************************/
-/******************************* Dialogue group ******************************/
-/*****************************************************************************/
-#define GENLIST_DIALOGUE_INHERIT_BODY( _PARTS ) \
- data.item: "treesize" 0; \
- parts { \
- GENLIST_PART_BG_NORMAL_OFF \
- GENLIST_PART_BOTTOM_LINE_OFF \
- GENLIST_PART_BG_DIALOGUE \
- GENLIST_PART_PADDING_LEFT_SIZE( DIALOGUE_PADDING_SIZE_LEFT ) \
- GENLIST_PART_PADDING_RIGHT_EDIT \
- _PARTS \
- GENLIST_PART_FLIP \
- GENLIST_PART_FOCUS_DIALOGUE \
- }
-
-#define GENLIST_DIALOGUE_EDITFIELD_INHERIT_BODY( _PARTS ) \
- data.item: "treesize" 0; \
- parts { \
- GENLIST_PART_BG_NORMAL_OFF \
- GENLIST_PART_BOTTOM_LINE_OFF \
- GENLIST_PART_BG_DIALOGUE \
- GENLIST_PART_PADDING_LEFT_SIZE( DIALOGUE_EDITFIELD_PADDING_SIZE_LEFT ) \
- GENLIST_PART_PADDING_RIGHT_EDIT_SIZE( DIALOGUE_EDITFIELD_PADDING_SIZE_RIGHT ) \
- _PARTS \
- GENLIST_PART_FLIP \
- GENLIST_PART_FOCUS_DIALOGUE \
- }
-
-
-#define GENLIST_INHERIT_THUMB_CIRCLE(SIZE, PARENT) \
- images { \
- image: "Content_views/00_list_circle_thumbnail_bg.png" COMP; \
- image: "Content_views/00_list_circle_thumbnail_bg_press.png" COMP; \
- image: "Content_views/00_dialogue_circle_thumbnail_bg.png" COMP; \
- image: "Content_views/00_dialogue_circle_thumbnail_bg_press.png" COMP; \
- } \
- parts { \
- GENLIST_PART_RECT("elm.thumb.clip", \
- description { state: "default"; \
- } \
- description { state: "flipped"; \
- color: 0 0 0 0; \
- } \
- ) \
- GENLIST_PART_IMAGE("elm.thumb", \
- insert_before: "focus_part"; \
- clip_to: "elm.thumb.clip"; \
- mouse_events: 0; \
- GENLIST_DESCRIPTION_ENVELOP(PARENT, \
- image.normal: "Content_views/00_list_circle_thumbnail_bg.png"; \
- min: SIZE SIZE; \
- max: SIZE SIZE; \
- fixed:1 1; \
- ) \
- description { state: "selected" 0.0; \
- inherit: "default" 0.0; \
- image.normal: "Content_views/00_list_circle_thumbnail_bg_press.png"; \
- } \
- description { state: "reorder" 0.0; \
- inherit: "default" 0.0; \
- image.normal: "Content_views/00_dialogue_circle_thumbnail_bg.png"; \
- } \
- description { state: "reorder_selected" 0.0; \
- inherit: "default" 0.0; \
- image.normal: "Content_views/00_dialogue_circle_thumbnail_bg_press.png"; \
- } \
- description { state: "decorate" 0.0; \
- inherit: "default" 0.0; \
- } \
- description { state: "decorate_reorder" 0.0; \
- inherit: "reorder" 0.0; \
- } \
- ) \
- }
-
-#define GENLIST_INHERIT_THUMB_SQUARE(SIZE, PARENT) \
- images { \
- image: "Content_views/00_square_thumbnail_bg.png" COMP; \
- image: "Content_views/00_square_thumbnail_bg_press.png" COMP; \
- image: "Content_views/00_square_thumbnail_bg.png" COMP; \
- image: "Content_views/00_square_thumbnail_bg_press.png" COMP; \
- } \
- parts { \
- GENLIST_PART_RECT("elm.thumb.clip", \
- description { state: "default"; \
- } \
- description { state: "flipped"; \
- color: 0 0 0 0; \
- } \
- ) \
- GENLIST_PART_IMAGE("elm.thumb", \
- insert_before: "focus_part"; \
- clip_to: "elm.thumb.clip"; \
- mouse_events: 0; \
- GENLIST_DESCRIPTION_ENVELOP(PARENT, \
- image.normal: "Content_views/00_square_thumbnail_bg.png"; \
- min: SIZE SIZE; \
- max: SIZE SIZE; \
- fixed:1 1; \
- ) \
- description { state: "selected" 0.0; \
- inherit: "default" 0.0; \
- image.normal: "Content_views/00_square_thumbnail_bg_press.png"; \
- } \
- description { state: "reorder" 0.0; \
- inherit: "default" 0.0; \
- image.normal: "Content_views/00_square_thumbnail_bg.png"; \
- } \
- description { state: "reorder_selected" 0.0; \
- inherit: "default" 0.0; \
- image.normal: "Content_views/00_square_thumbnail_bg_press.png"; \
- } \
- description { state: "decorate" 0.0; \
- inherit: "default" 0.0; \
- } \
- description { state: "decorate_reorder" 0.0; \
- inherit: "reorder" 0.0; \
- } \
- ) \
- }
-
-
-#define GENLIST_INHERIT_THUMB_CIRCLE_DIALOGUE(SIZE, PARENT) \
- images { \
- image: "Content_views/00_dialogue_circle_thumbnail_bg.png" COMP; \
- image: "Content_views/00_dialogue_circle_thumbnail_bg_press.png" COMP; \
- } \
- parts { \
- GENLIST_PART_RECT("elm.thumb.clip", \
- description { state: "default"; \
- } \
- description { state: "flipped"; \
- color: 0 0 0 0; \
- } \
- ) \
- GENLIST_PART_IMAGE("elm.thumb", \
- insert_before: "focus_part_dialogue"; \
- clip_to: "elm.thumb.clip"; \
- mouse_events: 0; \
- GENLIST_DESCRIPTION_ENVELOP(PARENT, \
- image.normal: "Content_views/00_dialogue_circle_thumbnail_bg.png"; \
- min: SIZE SIZE; \
- max: SIZE SIZE; \
- fixed:1 1; \
- ) \
- description { state: "selected" 0.0; \
- inherit: "default" 0.0; \
- image.normal: "Content_views/00_dialogue_circle_thumbnail_bg_press.png"; \
- } \
- description { state: "reorder" 0.0; \
- inherit: "default" 0.0; \
- image.normal: "Content_views/00_dialogue_circle_thumbnail_bg.png"; \
- } \
- description { state: "reorder_selected" 0.0; \
- inherit: "default" 0.0; \
- image.normal: "Content_views/00_dialogue_circle_thumbnail_bg_press.png"; \
- } \
- description { state: "decorate" 0.0; \
- inherit: "default" 0.0; \
- } \
- description { state: "decorate_reorder" 0.0; \
- inherit: "reorder" 0.0; \
- } \
- ) \
- }
-
-#define GENLIST_INHERIT_THUMB_SQUARE_DIALOGUE(SIZE, PARENT) \
- images { \
- image: "Content_views/00_square_thumbnail_bg_normal.png" COMP; \
- image: "Content_views/00_square_thumbnail_bg_press.png" COMP; \
- } \
- parts { \
- GENLIST_PART_RECT("elm.thumb.clip", \
- description { state: "default"; \
- } \
- description { state: "flipped"; \
- color: 0 0 0 0; \
- } \
- ) \
- GENLIST_PART_IMAGE("elm.thumb", \
- insert_before: "focus_part_dialogue"; \
- clip_to: "elm.thumb.clip"; \
- mouse_events: 0; \
- GENLIST_DESCRIPTION_ENVELOP(PARENT, \
- image.normal: "Content_views/00_square_thumbnail_bg.png"; \
- min: SIZE SIZE; \
- max: SIZE SIZE; \
- fixed:1 1; \
- ) \
- description { state: "selected" 0.0; \
- inherit: "default" 0.0; \
- image.normal: "Content_views/00_square_thumbnail_bg_press.png"; \
- } \
- description { state: "reorder" 0.0; \
- inherit: "default" 0.0; \
- image.normal: "Content_views/00_square_thumbnail_bg.png"; \
- } \
- description { state: "reorder_selected" 0.0; \
- inherit: "default" 0.0; \
- image.normal: "Content_views/00_square_thumbnail_bg_press.png"; \
- } \
- description { state: "decorate" 0.0; \
- inherit: "default" 0.0; \
- } \
- description { state: "decorate_reorder" 0.0; \
- inherit: "reorder" 0.0; \
- } \
- ) \
- }
-
-#define GENLIST_INHERIT_THUMB_POPUP(SIZE, PARENT) \
- images { \
- image: "Popup/00_popup_thumbnail_bg.png" COMP; \
- image: "Popup/00_popup_thumbnail_bg_press.png" COMP; \
- image: "Popup/00_popup_thumbnail_bg.png" COMP; \
- image: "Popup/00_popup_thumbnail_bg_press.png" COMP; \
- } \
- parts { \
- GENLIST_PART_RECT("elm.thumb.clip", \
- description { state: "default"; \
- } \
- description { state: "flipped"; \
- color: 0 0 0 0; \
- } \
- ) \
- GENLIST_PART_IMAGE("elm.thumb", \
- insert_before: "focus_part"; \
- clip_to: "elm.thumb.clip"; \
- mouse_events: 0; \
- GENLIST_DESCRIPTION_ENVELOP(PARENT, \
- image.normal: "Popup/00_popup_thumbnail_bg.png"; \
- min: SIZE SIZE; \
- max: SIZE SIZE; \
- fixed:1 1; \
- ) \
- description { state: "selected" 0.0; \
- inherit: "default" 0.0; \
- image.normal: "Popup/00_popup_thumbnail_bg_press.png"; \
- } \
- description { state: "reorder" 0.0; \
- inherit: "default" 0.0; \
- image.normal: "Popup/00_popup_thumbnail_bg.png"; \
- } \
- description { state: "reorder_selected" 0.0; \
- inherit: "default" 0.0; \
- image.normal: "Popup/00_popup_thumbnail_bg_press.png"; \
- } \
- description { state: "decorate" 0.0; \
- inherit: "default" 0.0; \
- } \
- description { state: "decorate_reorder" 0.0; \
- inherit: "reorder" 0.0; \
- } \
- ) \
- }
-
-//****************************************************************************//
-// ****************************** BG Image **********************************//
-//****************************************************************************//
-
-#define GENLIST_PART_BG_NORMAL \
- GENLIST_PART_RECT("bg_clip", \
- mouse_events: 0; \
- description { state: "default" 0.0; \
- visible: 1; \
- color: 255 255 255 255; \
- } \
- description { state: "decorate" 0.0; \
- inherit: "default" 0.0; \
- visible: 0; \
- } \
- description { state: "reorder" 0.0; \
- inherit: "default" 0.0; \
- visible: 0; \
- } \
- description { state: "decorate_reorder" 0.0; \
- inherit: "default" 0.0; \
- visible: 0; \
- } \
- ) \
- GENLIST_PART_RECT("bg_reorder_clip", \
- mouse_events: 0; \
- description { state: "default" 0.0; \
- visible: 0; \
- } \
- description { state: "reorder" 0.0; \
- inherit: "default" 0.0; \
- visible: 1; \
- color: 255 255 255 255; \
- } \
- description { state: "decorate_reorder" 0.0; \
- inherit: "default" 0.0; \
- visible: 0; \
- } \
- description { state: "decorate" 0.0; \
- inherit: "default" 0.0; \
- visible: 0; \
- } \
- description { state: "reorder_flip" 0.0; \
- inherit: "default" 0.0; \
- visible: 0; \
- } \
- ) \
- GENLIST_PART_RECT("bg", \
- clip_to: "bg_clip"; \
- description { state: "default" 0.0; \
- color: GENLIST_LIST_BG_COLOR; \
- } \
- description { state: "selected" 0.0; \
- inherit: "default" 0.0; \
- color: GENLIST_LIST_PRESS_COLOR; \
- } \
- description { state: "disabled" 0.0; \
- inherit: "default" 0.0; \
- color: GENLIST_LIST_DIM_COLOR; \
- } \
- ) \
- GENLIST_PART_SPACER("bg_reorder_left", \
- description { state: "default" 0.0; \
- min: 16 0; \
- max: 16 -1; \
- fixed: 1 0; \
- align: 0 0.5; \
- rel2.relative: 0 1; \
- } \
- ) \
- GENLIST_PART_SPACER("bg_reorder_right", \
- description { state: "default" 0.0; \
- min: 16 0; \
- max: 16 -1; \
- fixed: 1 0; \
- align: 1.0 0.5; \
- rel1.relative: 1 0; \
- } \
- ) \
- GENLIST_PART_SPACER("bg_reorder_top", \
- description { state: "default" 0.0; \
- min: 0 2; \
- max: -1 2; \
- fixed: 0 1; \
- align: 0.5 0; \
- rel2.relative: 1 0; \
- } \
- ) \
- GENLIST_PART_SPACER("bg_reorder_bottom", \
- description { state: "default" 0.0; \
- min: 0 2; \
- max: -1 2; \
- fixed: 0 1; \
- align: 0.5 1.0; \
- rel1.relative: 0 1; \
- } \
- ) \
- GENLIST_PART_IMAGE("bg_reorder", \
- clip_to: "bg_reorder_clip"; \
- description { state: "default" 0.0; \
- rel1 { \
- relative: 1 1; \
- to_x: "bg_reorder_left"; \
- to_y: "bg_reorder_top"; \
- } \
- rel2 { \
- relative: 0 0; \
- to_x: "bg_reorder_right"; \
- to_y: "bg_reorder_bottom"; \
- } \
- image { \
- normal: "00_list_group_bg.png"; \
- border: 17 17 8 8; \
- border_scale: 1; \
- } \
- } \
- description { state: "selected" 0.0; \
- inherit: "default"; \
- image { \
- normal: "00_list_group_bg_press.png"; \
- border: 17 17 8 8; \
- border_scale: 1; \
- } \
- } \
- description { state: "flipped" 0.0; \
- inherit: "default"; \
- visible: 0; \
- } \
- ) \
- GENLIST_PART_RECT("sound", \
- repeat_events: 1; /*for play_sound to check selected state*/ \
- description { state: "default" 0.0; \
- color: 0 0 0 0; \
- } \
- ) \
-
-#define GENLIST_PART_BG_NORMAL_OFF \
- GENLIST_PART_RECT("bg_clip", \
- mouse_events: 0; \
- description { state: "default" 0.0; \
- visible: 0; \
- } \
- description { state: "decorate" 0.0; \
- inherit: "default" 0.0; \
- visible: 0; \
- } \
- description { state: "reorder" 0.0; \
- inherit: "default" 0.0; \
- visible: 0; \
- } \
- description { state: "decorate_reorder" 0.0; \
- inherit: "default" 0.0; \
- visible: 0; \
- } \
- ) \
- GENLIST_PART_RECT("bg", \
- mouse_events: 0; \
- description { state: "default" 0.0; \
- visible: 0; \
- } \
- description { state: "selected" 0.0; \
- visible: 0; \
- } \
- description { state: "disabled" 0.0; \
- visible: 0; \
- } \
- ) \
- GENLIST_PART_RECT("bg_reorder_clip", \
- mouse_events: 0; \
- description { state: "default" 0.0; \
- visible: 0; \
- } \
- description { state: "reorder" 0.0; \
- visible: 0; \
- } \
- description { state: "decorate_reorder" 0.0; \
- visible: 0; \
- } \
- description { state: "decorate" 0.0; \
- visible: 0; \
- } \
- description { state: "reorder_flip" 0.0; \
- visible: 0; \
- } \
- ) \
- GENLIST_PART_IMAGE("bg_reorder", \
- mouse_events: 0; \
- description {state: "default" 0.0;\
- visible: 0;\
- }\
- description { state: "selected" 0.0; {\
- visible: 0; \
- } \
- description { state: "flipped" 0.0; {\
- visible: 0; \
- } \
- )
-
-#define GENLIST_PART_BG_DIALOGUE \
- GENLIST_PART_RECT("2depth", \
- description { state: "default" 0.0; \
- visible: 0;\
- } \
- description { state: "2depth" 0.0; \
- visible: 0; \
- } \
- ) \
- GENLIST_PART_SPACER("bg_dialogue_left", \
- description { state: "default" 0.0; \
- min: 16 0; \
- max: 16 -1; \
- fixed: 1 0; \
- align: 0 0.5; \
- rel2.relative: 0 1; \
- } \
- ) \
- GENLIST_PART_SPACER("bg_dialogue_right", \
- description { state: "default" 0.0; \
- min: 16 0; \
- max: 16 -1; \
- fixed: 1 0; \
- align: 1.0 0.5; \
- rel1.relative: 1 0; \
- } \
- description { state: "editmode" 0.0; \
- inherit: "default" 0.0; \
- min: (GENLIST_PADDING_SIZE_DEFAULT*2+GENLIST_BTN_02_SIZE) 0; \
- max: (GENLIST_PADDING_SIZE_DEFAULT*2+GENLIST_BTN_02_SIZE) 0; \
- } \
- ) \
- GENLIST_PART_IMAGE("bg_dialogue", \
- insert_after: "base"; \
- GENLIST_DESCRIPTION_LR("bg_dialogue_left", "bg_dialogue_right", \
- image { \
- normal: "00_list_group_bg.png"; \
- border: 17 17 8 8; \
- border_scale: 1; \
- } \
- ) \
- description { state: "selected" 0.0; \
- inherit: "default" 0.0; \
- image { \
- normal: "00_list_group_bg_press.png"; \
- border: 17 17 8 8; \
- border_scale: 1; \
- } \
- } \
- description { state: "top" 0.0; \
- inherit: "default" 0.0; \
- image { \
- normal: "00_list_group_bg_top.png"; \
- border: 17 17 8 8; \
- border_scale: 1; \
- } \
- } \
- description { state: "top_selected" 0.0; \
- inherit: "default" 0.0; \
- image { \
- normal: "00_list_group_bg_top_press.png"; \
- border: 17 17 8 8; \
- border_scale: 1; \
- } \
- } \
- description { state: "center" 0.0; \
- inherit: "default" 0.0; \
- image { \
- normal: "00_list_group_bg_center.png"; \
- border: 17 17 8 8; \
- border_scale: 1; \
- } \
- } \
- description { state: "center_selected" 0.0; \
- inherit: "default" 0.0; \
- image { \
- normal: "00_list_group_bg_center_press.png"; \
- border: 17 17 8 8; \
- border_scale: 1; \
- } \
- } \
- description { state: "bottom" 0.0; \
- inherit: "default" 0.0; \
- image { \
- normal: "00_list_group_bg_bottom.png"; \
- border: 17 17 8 8; \
- border_scale: 1; \
- } \
- } \
- description { state: "bottom_selected" 0.0; \
- inherit: "default" 0.0; \
- image { \
- normal: "00_list_group_bg_bottom_press.png"; \
- border: 17 17 8 8; \
- border_scale: 1; \
- } \
- } \
- description { state: "2depth" 0.0; \
- inherit: "default" 0.0; \
- image { \
- normal: "00_expandable_bg.png"; \
- border: 17 17 8 8; \
- border_scale: 1; \
- } \
- } \
- description { state: "2depth_top" 0.0; \
- inherit: "default" 0.0; \
- image { \
- normal: "00_expandable_bg_top.png"; \
- border: 17 17 8 8; \
- border_scale: 1; \
- } \
- } \
- description { state: "2depth_center" 0.0; \
- inherit: "default" 0.0; \
- image { \
- normal: "00_expandable_bg_center.png"; \
- border: 17 17 8 8; \
- border_scale: 1; \
- } \
- } \
- description { state: "2depth_bottom" 0.0; \
- inherit: "default" 0.0; \
- image { \
- normal: "00_expandable_bg_bottom.png"; \
- border: 17 17 8 8; \
- border_scale: 1; \
- } \
- } \
- ) \
- GENLIST_PART_RECT("sound", \
- repeat_events: 1; /*for play_sound to check selected state*/ \
- description { state: "default" 0.0; \
- color: 0 0 0 0; \
- } \
- ) \
-
-//****************************************************************************//
-// ****************************** BASE ********************************//
-//****************************************************************************//
-#define GENLIST_PART_BASE_SIZE(HEIGHT) \
- part { name: "base"; \
- type: RECT; \
- mouse_events: 0; \
- scale: 1; \
- description { state: "default" 0.0; \
- color: 0 0 0 0; \
- min: 0 HEIGHT; \
- } \
- } \
- part { name: "state"; \
- type: RECT; \
- mouse_events: 0; \
- scale: 1; \
- description { state: "default" 0.0; \
- color: 0 0 0 0; \
- } \
- description { state: "decorate" 0.0; \
- inherit: "default"; \
- } \
- description { state: "reorder" 0.0; \
- inherit: "default"; \
- } \
- description { state: "decorate_reorder" 0.0; \
- inherit: "default"; \
- } \
- }
-
-#define GENLIST_PART_BASE \
- GENLIST_PART_BASE_SIZE(0)
-
-#define GENLIST_PART_FOCUS \
- GENLIST_PART_IMAGE("focus_part", \
- mouse_events: 0; \
- description { state: "default" 0.0; \
- visible: 0; \
- image { \
- normal: "00_focus.png"; \
- border: 6 6 6 6; \
- border_scale: 1; \
- } \
- } \
- description { state: "focused" 0.0; \
- inherit: "default" 0.0; \
- visible: 1; \
- } \
- ) \
- GENLIST_PART_ICON("elm.icon.focus", \
- repeat_events: 1; \
- GENLIST_DESCRIPTION_ENVELOP("focus_part", \
- fixed: 1 1; \
- ) \
- )
-
-#define GENLIST_PART_FOCUS_REORDER \
- GENLIST_PART_IMAGE("focus_part_reorder", \
- mouse_events: 0; \
- description { state: "default" 0.0; \
- rel1 { \
- relative: 1 1; \
- to_x: "bg_reorder_left"; \
- to_y: "bg_reorder_top"; \
- } \
- rel2 { \
- relative: 0 0; \
- to_x: "bg_reorder_right"; \
- to_y: "bg_reorder_bottom"; \
- } \
- visible: 0; \
- image { \
- normal: "00_focus.png"; \
- border: 6 6 6 6; \
- border_scale: 1; \
- } \
- } \
- description { state: "focused" 0.0; \
- inherit: "default" 0.0; \
- visible: 1; \
- } \
- )
-
-#define GENLIST_PART_FOCUS_NORMAL \
- GENLIST_PART_FOCUS \
- GENLIST_PART_FOCUS_REORDER
-
-
-#define GENLIST_PART_FOCUS_DIALOGUE \
- GENLIST_PART_IMAGE("focus_part_dialogue", \
- mouse_events: 0; \
- GENLIST_DESCRIPTION_LR("bg_dialogue_left", "bg_dialogue_right", \
- visible: 0; \
- image { \
- normal: "00_focus.png"; \
- border: 6 6 6 6; \
- border_scale: 1; \
- } \
- ) \
- description { state: "focused" 0.0; \
- inherit: "default" 0.0; \
- visible: 1; \
- } \
- description { state: "top_focused" 0.0; \
- inherit: "default" 0.0; \
- visible: 1; \
- image { \
- normal: "00_list_group_bg_top_focus.png"; \
- border: 7 7 7 7; \
- } \
- } \
- description { state: "center_focused" 0.0; \
- inherit: "default" 0.0; \
- visible: 1; \
- image { \
- normal: "00_list_group_bg_center_focus.png"; \
- border: 7 7 7 7; \
- } \
- } \
- description { state: "bottom_focused" 0.0; \
- inherit: "default" 0.0; \
- visible: 1; \
- image { \
- normal: "00_list_group_bg_bottom_focus.png"; \
- border: 7 7 7 7; \
- } \
- } \
- ) \
- GENLIST_PART_ICON("elm.icon.focus", \
- repeat_events: 1; \
- GENLIST_DESCRIPTION_ENVELOP("focus_part_dialogue", \
- fixed: 1 1; \
- ) \
- )
-
-//****************************************************************************//
-// ****************************** LINE ********************************//
-//****************************************************************************//
-#define GENLIST_PART_BOTTOM_LINE \
- GENLIST_PART_RECT("bottom_line_clip", \
- description { state: "default" 0.0; \
- color: 255 255 255 255; \
- } \
- description { state: "decorate" 0.0; \
- inherit: "default" 0.0; \
- color: 0 0 0 0; \
- } \
- description { state: "reorder" 0.0; \
- inherit: "default" 0.0; \
- color: 0 0 0 0; \
- } \
- description { state: "decorate_reorder" 0.0; \
- inherit: "default" 0.0; \
- color: 0 0 0 0; \
- } \
- ) \
- GENLIST_PART_RECT("bottom_line", \
- mouse_events: 0; \
- clip_to: "bottom_line_clip"; \
- description { state: "default" 0.0; \
- min: 0 GENLIST_PART_LIST_LINE_HEIGHT; \
- max: -1 GENLIST_PART_LIST_LINE_HEIGHT; \
- fixed: 0 1; \
- align: 0.5 1; \
- color: GENLIST_LIST_LINE1_COLOR; \
- rel1.to: "bottom_line2"; \
- rel2.to: "bottom_line2"; \
- rel2.relative: 1 0; \
- rel1.offset: -1 -1; \
- } \
- description { state: "flipped" 0.0; \
- inherit: "default" 0.0; \
- visible: 0; \
- } \
- ) \
- GENLIST_PART_RECT("bottom_line2", \
- mouse_events: 0; \
- clip_to: "bottom_line_clip"; \
- description { state: "default" 0.0; \
- min: 0 GENLIST_PART_LIST_LINE_HEIGHT; \
- max: -1 GENLIST_PART_LIST_LINE_HEIGHT; \
- fixed: 0 1; \
- align: 0.5 1; \
- color: GENLIST_LIST_LINE2_COLOR; \
- rel1.to_x: "base"; \
- rel1.relative: 0 0; \
- rel2.to_x: "base"; \
- rel2.relative: 1 1; \
- rel1.offset: -1 -1; \
- } \
- description { state: "flipped" 0.0; \
- inherit: "default" 0.0; \
- visible: 0; \
- } \
- )
-
-#define GENLIST_PART_BOTTOM_LINE_OFF \
- GENLIST_PART_RECT("bottom_line", \
- mouse_events: 0; \
- description { state: "default" 0.0; \
- color: 0 0 0 0; \
- } \
- ) \
- GENLIST_PART_RECT("bottom_line2", \
- mouse_events: 0; \
- description { state: "default" 0.0; \
- color: 0 0 0 0; \
- } \
- )
-
-#define GENLIST_PART_DIVIDER_PADDING \
- GENLIST_PART_SPACER("elm.padding.divider.top", \
- description { state: "default" 0.0; \
- align: 0.5 0; \
- min: 0 30; \
- max: -1 30; \
- fixed: 0 1; \
- rel2.relative: 1 0; \
- } \
- ) \
- GENLIST_PART_SPACER("elm.padding.divider.bottom", \
- description { state: "default" 0.0; \
- align: 0.5 1; \
- min: 0 30; \
- max: -1 30; \
- fixed: 0 1; \
- rel1.relative: 0 1; \
- } \
- )
-
-#define GENLIST_PART_DIVIDER_L(LEFT) \
- GENLIST_PART_DIVIDER_PADDING \
- GENLIST_PART_RECT("elm.divider1", \
- mouse_events: 0; \
- GENLIST_DESCRIPTION_LTB(LEFT, "elm.padding.divider.top", "elm.padding.divider.bottom", \
- align: 0 0.5; \
- min: 1 0; \
- max: 1 -1; \
- fixed: 1 0; \
- rel2.offset: 0 0; \
- color: GENLIST_LIST_DIVIDER1_COLOR; \
- ) \
- ) \
- GENLIST_PART_RECT("elm.divider2", \
- mouse_events: 0; \
- GENLIST_DESCRIPTION_LTB("elm.divider1", "elm.padding.divider.top", "elm.padding.divider.bottom", \
- align: 0 0.5; \
- min: 1 0; \
- max: 1 -1; \
- fixed: 1 0; \
- rel2.offset: 0 0; \
- color: GENLIST_LIST_DIVIDER2_COLOR; \
- ) \
- )
-
-#define GENLIST_PART_DIVIDER_R(RIGHT) \
- GENLIST_PART_DIVIDER_PADDING \
- GENLIST_PART_RECT("elm.divider1", \
- mouse_events: 0; \
- GENLIST_DESCRIPTION_RTB("elm.divider2", "elm.padding.divider.top", "elm.padding.divider.bottom", \
- min: 1 0; \
- max: 1 -1; \
- fixed: 1 0; \
- rel1.offset: -1 0;\
- color: GENLIST_LIST_DIVIDER1_COLOR; \
- ) \
- ) \
- GENLIST_PART_RECT("elm.divider2", \
- mouse_events: 0; \
- GENLIST_DESCRIPTION_RTB(RIGHT, "elm.padding.divider.top", "elm.padding.divider.bottom", \
- min: 1 0; \
- max: 1 -1; \
- fixed: 1 0; \
- rel1.offset: -1 0;\
- color: GENLIST_LIST_DIVIDER2_COLOR; \
- ) \
- )
-
-#define GENLIST_PART_MULTILINE_DIVIDER_L(LEFT) \
- GENLIST_PART_DIVIDER_PADDING \
- GENLIST_PART_RECT("elm.divider1", \
- mouse_events: 0; \
- GENLIST_DESCRIPTION_LTB(LEFT, "elm.padding.divider.top", "elm.padding.divider.bottom", \
- align: 0 0.5; \
- min: 1 0; \
- max: 1 -1; \
- fixed: 1 0; \
- rel2.offset: 0 0; \
- color: GENLIST_MULTILINE_DIVIDER1_COLOR; \
- ) \
- ) \
- GENLIST_PART_RECT("elm.divider2", \
- mouse_events: 0; \
- GENLIST_DESCRIPTION_LTB("elm.divider1", "elm.padding.divider.top", "elm.padding.divider.bottom", \
- align: 0 0.5; \
- min: 1 0; \
- max: 1 -1; \
- fixed: 1 0; \
- rel2.offset: 0 0; \
- color: GENLIST_MULTILINE_DIVIDER2_COLOR; \
- ) \
- )
-
-#define GENLIST_PART_MULTILINE_DIVIDER_R(RIGHT) \
- GENLIST_PART_DIVIDER_PADDING \
- GENLIST_PART_RECT("elm.divider1", \
- mouse_events: 0; \
- GENLIST_DESCRIPTION_RTB("elm.divider2", "elm.padding.divider.top", "elm.padding.divider.bottom", \
- min: 1 0; \
- max: 1 -1; \
- fixed: 1 0; \
- rel1.offset: -1 0;\
- color: GENLIST_MULTILINE_DIVIDER1_COLOR; \
- ) \
- ) \
- GENLIST_PART_RECT("elm.divider2", \
- mouse_events: 0; \
- GENLIST_DESCRIPTION_RTB(RIGHT, "elm.padding.divider.top", "elm.padding.divider.bottom", \
- min: 1 0; \
- max: 1 -1; \
- fixed: 1 0; \
- rel1.offset: -1 0;\
- color: GENLIST_MULTILINE_DIVIDER2_COLOR; \
- ) \
- )
-
-#define GENLIST_PART_DIALOGUE_GROUP_DIVIDER_L(LEFT) \
- GENLIST_PART_DIVIDER_PADDING \
- GENLIST_PART_RECT("elm.divider1", \
- mouse_events: 0; \
- GENLIST_DESCRIPTION_LTB(LEFT, "elm.padding.divider.top", "elm.padding.divider.bottom", \
- align: 0 0.5; \
- min: 1 0; \
- max: 1 -1; \
- fixed: 1 0; \
- rel2.offset: 0 0; \
- color: GENLIST_DIALOGUE_GROUP_DIVIDER1_COLOR; \
- ) \
- ) \
- GENLIST_PART_RECT("elm.divider2", \
- mouse_events: 0; \
- GENLIST_DESCRIPTION_LTB("elm.divider1", "elm.padding.divider.top", "elm.padding.divider.bottom", \
- align: 0 0.5; \
- min: 1 0; \
- max: 1 -1; \
- fixed: 1 0; \
- rel2.offset: 0 0; \
- color: GENLIST_DIALOGUE_GROUP_DIVIDER2_COLOR; \
- ) \
- )
-
-#define GENLIST_PART_DIALOGUE_GROUP_DIVIDER_R(RIGHT) \
- GENLIST_PART_DIVIDER_PADDING \
- GENLIST_PART_RECT("elm.divider1", \
- mouse_events: 0; \
- GENLIST_DESCRIPTION_RTB("elm.divider2", "elm.padding.divider.top", "elm.padding.divider.bottom", \
- min: 1 0; \
- max: 1 -1; \
- fixed: 1 0; \
- rel1.offset: -1 0;\
- color: GENLIST_DIALOGUE_GROUP_DIVIDER1_COLOR; \
- ) \
- ) \
- GENLIST_PART_RECT("elm.divider2", \
- mouse_events: 0; \
- GENLIST_DESCRIPTION_RTB(RIGHT, "elm.padding.divider.top", "elm.padding.divider.bottom", \
- min: 1 0; \
- max: 1 -1; \
- fixed: 1 0; \
- rel1.offset: -1 0;\
- color: GENLIST_DIALOGUE_GROUP_DIVIDER2_COLOR; \
- ) \
- )
-#define GENLIST_PART_CENTER_LINE_LRT(LEFT, RIGHT, TOP) \
- GENLIST_PART_RECT("center_line", \
- mouse_events: 0; \
- GENLIST_DESCRIPTION_LRT(LEFT, RIGHT, TOP, \
- min: 0 1; \
- max: -1 1; \
- fixed: 0 1; \
- color: GENLIST_MULTILINE_DIVIDER1_COLOR; \
- rel2.relative: 1 1; \
- ) \
- ) \
- GENLIST_PART_RECT("center_line2", \
- GENLIST_DESCRIPTION_LRT(LEFT, RIGHT, "center_line", \
- min: 0 1; \
- max: -1 1; \
- fixed: 0 1; \
- color: GENLIST_MULTILINE_DIVIDER2_COLOR; \
- rel2.relative: 1 1; \
- ) \
- )
-
-#define GENLIST_PART_COLORBAR \
- GENLIST_PART_SPACER("elm.padding.colorbar.top", \
- GENLIST_DESCRIPTION_ENVELOP("base", \
- align: 0.5 0; \
- fixed: 0 1; \
- min: 0 4; \
- max: -1 4; \
- rel2.relative: 1 0; \
- ) \
- ) \
- GENLIST_PART_SPACER("elm.padding.colorbar.bottom", \
- GENLIST_DESCRIPTION_ENVELOP("base", \
- align: 0.5 1; \
- fixed: 0 1; \
- min: 0 4; \
- max: -1 4; \
- rel1.relative: 0 1; \
- ) \
- ) \
- GENLIST_PART_ICON("elm.swallow.colorbar", \
- GENLIST_DESCRIPTION_TB("elm.padding.colorbar.top", "elm.padding.colorbar.bottom", \
- min: GENLIST_ICON_COLORBAR_SIZE 0; \
- max: GENLIST_ICON_COLORBAR_SIZE -1; \
- fixed: 1 0; \
- align: 0 0.5; \
- rel1.relative: 0 1; \
- rel2.relative: 0 0; \
- ) \
- )
-
-#define GENLIST_PART_COLORBAR_DIALOGUE \
- GENLIST_PART_SPACER("elm.padding.colorbar.top", \
- GENLIST_DESCRIPTION_ENVELOP("base", \
- align: 0.5 0; \
- fixed: 0 1; \
- min: 0 4; \
- max: -1 4; \
- rel2.relative: 1 0; \
- ) \
- ) \
- GENLIST_PART_SPACER("elm.padding.colorbar.bottom", \
- GENLIST_DESCRIPTION_ENVELOP("base", \
- align: 0.5 1; \
- fixed: 0 1; \
- min: 0 4; \
- max: -1 4; \
- rel1.relative: 0 1; \
- ) \
- ) \
- GENLIST_PART_SPACER("elm.padding.colorbar.left", \
- description{ state: "default" 0.0; \
- min: 19 0; \
- max: 19 -1; \
- fixed: 1 0; \
- align: 0 0.5; \
- rel1.to: "base"; \
- rel2.to: "base"; \
- rel2.relative: 0 1; \
- } \
- ) \
- GENLIST_PART_ICON("elm.swallow.colorbar", \
- GENLIST_DESCRIPTION_LTB("elm.padding.colorbar.left","elm.padding.colorbar.top", "elm.padding.colorbar.bottom", \
- min: GENLIST_ICON_COLORBAR_SIZE 0; \
- max: GENLIST_ICON_COLORBAR_SIZE -1; \
- fixed: 1 0; \
- ) \
- )
-
-//****************************************************************************//
-//********************************* PADDING **********************************//
-//****************************************************************************//
-#define GENLIST_PART_EXPANDED_PAD \
- part { name: "elm.swallow.pad"; \
- type: SWALLOW; \
- scale: 1; \
- mouse_events: 0; \
- description { state: "default" 0.0; \
- visible: 0; \
- min: 0 0; \
- fixed: 1 0; \
- align: 0.0 0.5; \
- rel1.to: "base"; \
- rel2.to: "base"; \
- rel2.relative: 0.0 1.0; \
- } \
- } \
-
-#define GENLIST_PART_PADDING( NAME, SIZE, REL1, REL2 ) \
- GENLIST_PART_SPACER(NAME, \
- description { state: "default" 0.0; \
- min: SIZE 0; \
- max: SIZE -1; \
- fixed: 1 0; \
- align: 0.5 0.5; \
- rel1 { \
- relative: REL1; \
- to: "base"; \
- } \
- rel2 { \
- relative: REL2; \
- to: "base"; \
- } \
- } \
- )
-
-#define GENLIST_DESCRIPTION_DECORATE_PADDING \
- description { state: "decorate" 0.0; \
- inherit: "default" 0.0; \
- min: 0 0; \
- max: 0 0; \
- }
-
-#define GENLIST_DESCRIPTION_DECORATE_REORDER_PADDING \
- description { state: "decorate_reorder" 0.0; \
- inherit: "default" 0.0; \
- min: 0 0; \
- max: 0 0; \
- }
-
-#define GENLIST_DESCRIPTION_REORDER_PADDING \
- description { state: "reorder" 0.0; \
- inherit: "default" 0.0; \
- min: 32 0; \
- max: 32 -1; \
- }
-
-#define GENLIST_PART_PADDING_LEFT \
- GENLIST_PART_EXPANDED_PAD \
- GENLIST_PART_SPACER("elm.padding.left", \
- GENLIST_DESCRIPTION_L("elm.swallow.pad", \
- min: GENLIST_PADDING_SIZE_LEFT 0; \
- max: GENLIST_PADDING_SIZE_LEFT -1; \
- fixed: 1 0; \
- ) \
- GENLIST_DESCRIPTION_DECORATE_PADDING \
- GENLIST_DESCRIPTION_REORDER_PADDING \
- GENLIST_DESCRIPTION_DECORATE_REORDER_PADDING \
- )
-
-#define GENLIST_PART_PADDING_LEFT_SIZE( SIZE ) \
- GENLIST_PART_EXPANDED_PAD \
- GENLIST_PART_SPACER("elm.padding.left", \
- GENLIST_DESCRIPTION_L("elm.swallow.pad", \
- min: SIZE 0; \
- max: SIZE -1; \
- fixed: 1 0; \
- ) \
- GENLIST_DESCRIPTION_DECORATE_PADDING \
- GENLIST_DESCRIPTION_REORDER_PADDING \
- GENLIST_DESCRIPTION_DECORATE_REORDER_PADDING \
- )
-
-#define GENLIST_PART_EDITBTN \
- GENLIST_PART_SPACER("elm.padding.edit.right", \
- description { state: "default" 0.0; \
- fixed: 1 0; \
- align: 1.0 0.5; \
- rel1.relative: 1 0; \
- min: GENLIST_PADDING_SIZE_DEFAULT 0; \
- max: GENLIST_PADDING_SIZE_DEFAULT -1; \
- } \
- ) \
- GENLIST_PART_ICON("elm.icon.edit", \
- GENLIST_DESCRIPTION_R("elm.padding.edit.right", \
- visible: 0; \
- ) \
- description { state: "editmode" 0.0; \
- inherit: "default" 0.0; \
- visible: 1; \
- fixed: 1 1; \
- min: GENLIST_BTN_02_SIZE GENLIST_BTN_02_SIZE; \
- max: GENLIST_BTN_02_SIZE GENLIST_BTN_02_SIZE; \
- } \
- )
-
-#define GENLIST_PART_PADDING_RIGHT \
- GENLIST_PART_SPACER("elm.padding.right", \
- description { state: "default" 0.0; \
- min: GENLIST_PADDING_SIZE_RIGHT 0; \
- max: GENLIST_PADDING_SIZE_RIGHT -1; \
- fixed: 1 0; \
- align: 1.0 0.5; \
- rel1.to: "base"; \
- rel2.to: "base"; \
- rel1.relative: 1 0; \
- } \
- GENLIST_DESCRIPTION_DECORATE_PADDING \
- GENLIST_DESCRIPTION_REORDER_PADDING \
- GENLIST_DESCRIPTION_DECORATE_REORDER_PADDING \
- )
-
-#define GENLIST_PART_PADDING_RIGHT_SIZE( SIZE ) \
- GENLIST_PART_SPACER("elm.padding.right", \
- description { state: "default" 0.0; \
- min: SIZE 0; \
- max: SIZE -1; \
- fixed: 1 0; \
- align: 1.0 0.5; \
- rel1.to: "base"; \
- rel2.to: "base"; \
- rel1.relative: 1 0; \
- } \
- GENLIST_DESCRIPTION_DECORATE_PADDING \
- GENLIST_DESCRIPTION_REORDER_PADDING \
- GENLIST_DESCRIPTION_DECORATE_REORDER_PADDING \
- )
-
-// FIXME: Use RECT instead of SPACER if this group is used on layout
-// for blocking events
-#define GENLIST_PART_PADDING_RIGHT_EDIT \
- GENLIST_PART_SPACER("elm.padding.right", \
- GENLIST_DESCRIPTION_R("elm.padding.right.edit", \
- min: DIALOGUE_PADDING_SIZE_RIGHT 0; \
- max: DIALOGUE_PADDING_SIZE_RIGHT -1; \
- fixed: 1 0; \
- ) \
- GENLIST_DESCRIPTION_DECORATE_PADDING \
- GENLIST_DESCRIPTION_REORDER_PADDING \
- GENLIST_DESCRIPTION_DECORATE_REORDER_PADDING \
- ) \
- GENLIST_PART_SPACER("elm.padding.right.edit", \
- description { state: "default" 0.0; \
- min:0 0; \
- max: 0 -1; \
- fixed: 1 0; \
- align: 1.0 0.5; \
- rel1.relative: 1 0; \
- } \
- description { state: "editmode" 0.0; \
- inherit: "default" 0.0; \
- min: (GENLIST_PADDING_SIZE_DEFAULT+GENLIST_BTN_02_SIZE) 0; \
- max: (GENLIST_PADDING_SIZE_DEFAULT+GENLIST_BTN_02_SIZE) -1; \
- } \
- ) \
- GENLIST_PART_EDITBTN
-
-// FIXME: Use RECT instead of SPACER if this group is used on layout
-// for blocking events
-#define GENLIST_PART_PADDING_RIGHT_EDIT_SIZE( SIZE ) \
- GENLIST_PART_SPACER("elm.padding.right", \
- GENLIST_DESCRIPTION_R("elm.padding.right.edit", \
- min: SIZE 0; \
- max: SIZE -1; \
- fixed: 1 0; \
- ) \
- GENLIST_DESCRIPTION_DECORATE_PADDING \
- GENLIST_DESCRIPTION_REORDER_PADDING \
- GENLIST_DESCRIPTION_DECORATE_REORDER_PADDING \
- ) \
- GENLIST_PART_SPACER("elm.padding.right.edit", \
- description { state: "default" 0.0; \
- min:0 0; \
- max: 0 -1; \
- fixed: 1 0; \
- align: 1.0 0.5; \
- rel1.relative: 1 0; \
- } \
- description { state: "editmode" 0.0; \
- inherit: "default" 0.0; \
- min: (GENLIST_PADDING_SIZE_DEFAULT+GENLIST_BTN_02_SIZE) 0; \
- max: (GENLIST_PADDING_SIZE_DEFAULT+GENLIST_BTN_02_SIZE) -1; \
- } \
- ) \
- GENLIST_PART_EDITBTN
-
-#define GENLIST_PART_PADDING_TOP \
- GENLIST_PART_SPACER("elm.padding.top", \
- description { \
- state: "default" 0.0; \
- min: 0 GENLIST_PADDING_SIZE_TOP; \
- max: -1 GENLIST_PADDING_SIZE_TOP; \
- fixed: 0 1; \
- rel1.to: "base"; \
- rel2.to: "base"; \
- rel2.relative: 1.0 0.0; \
- align: 0.5 0.0; \
- } \
- description { state: "reorder" 0.0; \
- inherit: "default" 0.0; \
- min: 0 (GENLIST_PADDING_SIZE_TOP+2); \
- max: -1 (GENLIST_PADDING_SIZE_TOP+2); \
- } \
- )
-
-#define GENLIST_PART_PADDING_TOP_2LINE \
- GENLIST_PART_SPACER("elm.padding.top", \
- description { \
- state: "default" 0.0; \
- min: 0 GENLIST_PADDING_SIZE_TOP_2LINE; \
- max: -1 GENLIST_PADDING_SIZE_TOP_2LINE; \
- fixed: 0 1; \
- rel1.to: "base"; \
- rel2.to: "base"; \
- rel2.relative: 1.0 0.0; \
- align: 0.5 0.0; \
- } \
- description { state: "reorder" 0.0; \
- inherit: "default" 0.0; \
- min: 0 (GENLIST_PADDING_SIZE_TOP_2LINE+2); \
- max: -1 (GENLIST_PADDING_SIZE_TOP_2LINE+2); \
- } \
- )
-
-#define GENLIST_PART_PADDING_TOP_SIZE( SIZE ) \
- GENLIST_PART_SPACER("elm.padding.top", \
- description { \
- state: "default" 0.0; \
- min: 0 SIZE; \
- max: -1 SIZE; \
- fixed: 0 1; \
- rel1.to: "base"; \
- rel2.to: "base"; \
- rel2.relative: 1.0 0.0; \
- align: 0.5 0.0; \
- } \
- description { state: "reorder" 0.0; \
- inherit: "default" 0.0; \
- min: 0 (SIZE+2); \
- max: -1 (SIZE+2); \
- } \
- )
-
-#define GENLIST_PART_PADDING_BOTTOM \
- GENLIST_PART_SPACER("elm.padding.bottom", \
- description { state: "default" 0.0; \
- min: 0 GENLIST_PADDING_SIZE_BOTTOM; \
- max: -1 GENLIST_PADDING_SIZE_BOTTOM; \
- fixed: 0 1; \
- rel1.to: "base"; \
- rel2.to: "base"; \
- rel1.relative: 0.0 1.0; \
- align: 0.5 1.0; \
- } \
- description { state: "reorder" 0.0; \
- inherit: "default" 0.0; \
- min: 0 (GENLIST_PADDING_SIZE_BOTTOM+2); \
- max: -1 (GENLIST_PADDING_SIZE_BOTTOM+2); \
- } \
- )
-
-#define GENLIST_PART_PADDING_BOTTOM_2LINE \
- GENLIST_PART_SPACER("elm.padding.bottom", \
- description { state: "default" 0.0; \
- min: 0 GENLIST_PADDING_SIZE_BOTTOM_2LINE; \
- max: -1 GENLIST_PADDING_SIZE_BOTTOM_2LINE; \
- fixed: 0 1; \
- rel1.to: "base"; \
- rel2.to: "base"; \
- rel1.relative: 0.0 1.0; \
- align: 0.5 1.0; \
- } \
- description { state: "reorder" 0.0; \
- inherit: "default" 0.0; \
- min: 0 (GENLIST_PADDING_SIZE_BOTTOM_2LINE+2); \
- max: -1 (GENLIST_PADDING_SIZE_BOTTOM_2LINE+2); \
- } \
- )
-
-#define GENLIST_PART_PADDING_BOTTOM_SIZE( SIZE ) \
- GENLIST_PART_SPACER("elm.padding.bottom", \
- description { state: "default" 0.0; \
- min: 0 SIZE; \
- max: -1 SIZE; \
- fixed: 0 1; \
- rel1.to: "base"; \
- rel2.to: "base"; \
- rel1.relative: 0.0 1.0; \
- align: 0.5 1.0; \
- } \
- description { state: "reorder" 0.0; \
- inherit: "default" 0.0; \
- min: 0 (SIZE+2); \
- max: -1 (SIZE+2); \
- } \
- )
-
-#define GENLIST_PART_PADDING_R( NAME, RIGHT ) \
- GENLIST_PART_SPACER(NAME, \
- description { state: "default" 0.0; \
- fixed: 1 0; \
- min: GENLIST_PADDING_SIZE_DEFAULT 0; \
- max: GENLIST_PADDING_SIZE_DEFAULT -1; \
- align: 1 0.5; \
- rel1 { \
- relative: 0 0; \
- to_x: RIGHT; \
- } \
- rel2 { \
- relative: 0 1; \
- to_x: RIGHT; \
- } \
- } \
- )
-
-#define GENLIST_PART_PADDING_R_SIZE( NAME, RIGHT, SIZE ) \
- GENLIST_PART_SPACER(NAME, \
- description { state: "default" 0.0; \
- fixed: 1 0; \
- min: SIZE 0; \
- max: SIZE -1; \
- align: 1 0.5; \
- rel1 { \
- relative: 0 0; \
- to_x: RIGHT; \
- } \
- rel2 { \
- relative: 0 1; \
- to_x: RIGHT; \
- } \
- } \
- )
-
-#define GENLIST_PART_PADDING_L( NAME, LEFT ) \
- GENLIST_PART_SPACER(NAME, \
- description { state: "default" 0.0; \
- fixed: 1 0; \
- min: GENLIST_PADDING_SIZE_DEFAULT 0; \
- max: GENLIST_PADDING_SIZE_DEFAULT -1; \
- align: 0 0.5; \
- rel1 { \
- relative: 1 0; \
- to_x: LEFT; \
- } \
- rel2 { \
- relative: 1 1; \
- to_x: LEFT; \
- } \
- } \
- )
-
-#define GENLIST_PART_PADDING_L_SIZE( NAME, LEFT, SIZE ) \
- GENLIST_PART_SPACER(NAME, \
- description { state: "default" 0.0; \
- fixed: 1 0; \
- min: SIZE 0; \
- max: SIZE -1; \
- align: 0 0.5; \
- rel1 { \
- relative: 1 0; \
- to_x: LEFT; \
- } \
- rel2 { \
- relative: 1 1; \
- to_x: LEFT; \
- } \
- } \
- )
-
-
-#define GENLIST_PART_PADDING_T_SIZE( NAME, TOP, SIZE ) \
- GENLIST_PART_SPACER(NAME, \
- description { state: "default" 0.0; \
- min: 0 SIZE; \
- max: -1 SIZE; \
- fixed: 0 1; \
- align: 0.5 0; \
- rel1 { \
- relative: 0 1; \
- to: TOP; \
- } \
- rel2 { \
- relative: 1 1; \
- to: TOP; \
- } \
- } \
- )
-
-#define GENLIST_PART_PADDING_B_SIZE( NAME, BOTTOM, SIZE ) \
- GENLIST_PART_SPACER(NAME, \
- description { state: "default" 0.0; \
- min: 0 SIZE; \
- max: -1 SIZE; \
- fixed: 0 1; \
- align: 0.5 1; \
- rel1 { \
- relative: 0.5 0; \
- to: BOTTOM; \
- } \
- rel2 { \
- relative: 0.5 0; \
- to: BOTTOM; \
- } \
- } \
- )
-
-#define GENLIST_PROGRAM_EXPAND_ROOT( TARGET ) \
- program { \
- name: "go_expanded"; \
- signal: "elm,state,expanded"; \
- source: "elm"; \
- action: STATE_SET "expand_opened" 0.0; \
- TARGET \
- } \
- program { \
- name: "go_contracted"; \
- signal: "elm,state,contracted"; \
- source: "elm"; \
- action: STATE_SET "default" 0.0; \
- TARGET \
- } \
-
-// 2.2.7 Genlist_Edit mode (Rename)
-// FIXME: padding is not needed when swallow content is NULL.
-// But how can edje know existence of swallow content?
-#define GENLIST_PART_FLIP \
- GENLIST_PART_RECT("elm.flip.bg", \
- mouse_events: 0; \
- description { state: "default" 0.0;\
- color: 0 0 0 0;\
- } \
- description { state: "flipped" 0.0; \
- inherit: "default" 0.0; \
- rel2.offset: 0 -3; \
- color: GENLIST_LIST_BG_COLOR;\
- }\
- ) \
- GENLIST_PART_SPACER("elm.flip.padding.right", \
- description { state: "default" 0.0; \
- min: 26 0; \
- max: 26 -1; \
- fixed: 1 0; \
- align: 1 0.5; \
- rel1.relative: 1 0; \
- } \
- ) \
- GENLIST_PART_ICON("elm.flip.content", \
- GENLIST_DESCRIPTION("elm.padding.left", "elm.flip.padding.icon.left", \
- "elm.padding.top", "elm.padding.bottom", \
- visible: 1; \
- min: 0 96; \
- ) \
- description { state: "flipped" 0.0; \
- inherit: "default" 0.0; \
- visible: 1; \
- } \
- ) \
- GENLIST_PART_PADDING_R("elm.flip.padding.icon.left", "elm.flip.icon") \
- GENLIST_PART_ICON( "elm.flip.icon", \
- GENLIST_DESCRIPTION_RTB("elm.flip.padding.right", \
- "elm.padding.top", "elm.padding.bottom", \
- visible: 0; \
- aspect: 1 1; \
- align: 1 0.5; \
- max: 158 74; \
- ) \
- description { state: "flipped" 0.0; \
- inherit: "default" 0.0; \
- visible: 1; \
- } \
- )
-
-//****************************************************************************//
-// ******************************* Programs ********************************//
-//**************************************************************************//
-// signal: elm,state,%s,active
-// a "check" item named %s went active
-// signal: elm,state,%s,passive
-// a "check" item named %s went passive
-// default is passive
-#define GENLIST_PROGRAM_DEFAULT( TARGET ) \
- program { name: "default"; \
- signal: "elm,state,default"; \
- source: "elm"; \
- action: STATE_SET "default" 0.0; \
- TARGET \
- } \
-
-#define GENLIST_PROGRAM_DISABLED( TARGET ) \
- program { name: "enabled"; \
- signal: "elm,state,enabled"; \
- source: "elm"; \
- action: STATE_SET "default" 0.0; \
- TARGET \
- } \
- program { name: "disabled"; \
- signal: "elm,state,disabled"; \
- source: "elm"; \
- action: STATE_SET "disabled" 0.0; \
- TARGET \
- }
-
-#define GENLIST_PROGRAM_FOCUS \
- program { name: "focused"; \
- signal: "elm,state,focused"; \
- source: "elm"; \
- action: STATE_SET "focused" 0.0; \
- target: "focus_part"; \
- } \
- program { name: "unfocused"; \
- signal: "elm,state,unfocused"; \
- source: "elm"; \
- action: STATE_SET "default" 0.0; \
- target: "focus_part"; \
- }
-
-#define GENLIST_PROGRAM_FOCUS_NORMAL \
- program { name: "focused"; \
- signal: "elm,state,focused"; \
- source: "elm"; \
- script { \
- new st[31]; \
- new Float:vl; \
- get_state(PART:"bg_reorder_clip", st, 30, vl); \
- if (!strcmp(st, "reorder") || !strcmp(st, "decorate_reorder")) \
- set_state(PART:"focus_part_reorder", "focused", 0.0); \
- else \
- set_state(PART:"focus_part", "focused", 0.0); \
- } \
- } \
- program { name: "unfocused"; \
- signal: "elm,state,unfocused"; \
- source: "elm"; \
- action: STATE_SET "default" 0.0; \
- target: "focus_part_reorder"; \
- target: "focus_part"; \
- }
-
-#define GENLIST_PROGRAM_FOCUS_DIALOGUE \
- program { name: "focused"; \
- signal: "elm,state,focused"; \
- source: "elm"; \
- script { \
- new st[31]; \
- new Float:vl; \
- get_state(PART:"bg_dialogue", st, 30, vl); \
- if (!strcmp(st, "top") || !strcmp(st, "top_selected") || !strcmp(st, "2depth_top")) \
- set_state(PART:"focus_part_dialogue", "top_focused", 0.0); \
- else if (!strcmp(st, "center") || !strcmp(st, "center_selected") || !strcmp(st, "2depth_center")) \
- set_state(PART:"focus_part_dialogue", "center_focused", 0.0); \
- else if (!strcmp(st, "bottom") || !strcmp(st, "bottom_selected") || !strcmp(st, "2depth_bottom")) \
- set_state(PART:"focus_part_dialogue", "bottom_focused", 0.0); \
- else if (!strcmp(st, "default") || !strcmp(st, "selected") || !strcmp(st, "2depth")) \
- set_state(PART:"focus_part_dialogue", "focused", 0.0); \
- } \
- } \
- program { name: "unfocused"; \
- signal: "elm,state,unfocused"; \
- source: "elm"; \
- action: STATE_SET "default" 0.0; \
- target: "focus_part_dialogue"; \
- }
-
-#define GENLIST_PROGRAM_SOUND( SRC ) \
- program { name: "play_sound"SRC; \
- signal: "mouse,clicked,1"; \
- source: SRC; \
- script { \
- new st[31]; \
- new Float:vl; \
- get_state(PART:SRC, st, 30, vl); \
- if (!strcmp(st, "selected") || \
- !strcmp(st, "top_selected") || \
- !strcmp(st, "center_selected") || \
- !strcmp(st, "bottom_selected")) \
- play_sample("touch_sound", 1.0); \
- } \
- }
-
-#define GENLIST_PROGRAM_SELECT( TARGET ) \
- program { name: "selected"; \
- signal: "elm,state,selected"; \
- source: "elm"; \
- action: STATE_SET "selected" 0.0; \
- TARGET \
- } \
- program { name: "unselected"; \
- signal: "elm,state,unselected"; \
- source: "elm"; \
- action: STATE_SET "default" 0.0; \
- TARGET \
- }
-
-#define GENLIST_PROGRAM_BG_DIALOGUE \
- program { name: "bg_top"; \
- signal: "elm,state,top"; \
- source: "*"; \
- script { \
- new st[31]; \
- new Float:vl; \
- new st2[31]; \
- new Float:vl2; \
- get_state(PART:"2depth", st, 30, vl); \
- get_state(PART:"bg_dialogue", st2, 30, vl2); \
- if (!strcmp(st2, "selected") || \
- !strcmp(st2, "top_selected") || \
- !strcmp(st2, "center_selected") || \
- !strcmp(st2, "bottom_selected")) \
- set_state(PART:"bg_dialogue", "top_selected", 0.0); \
- else if (!strcmp(st, "2depth")) \
- set_state(PART:"bg_dialogue", "2depth_top", 0.0); \
- else \
- set_state(PART:"bg_dialogue", "top", 0.0); \
- } \
- } \
- program { name: "bg_center"; \
- signal: "elm,state,center"; \
- source: "*"; \
- script { \
- new st[31]; \
- new Float:vl; \
- new st2[31]; \
- new Float:vl2; \
- get_state(PART:"2depth", st, 30, vl); \
- get_state(PART:"bg_dialogue", st2, 30, vl2); \
- if (!strcmp(st2, "selected") || \
- !strcmp(st2, "top_selected") || \
- !strcmp(st2, "center_selected") || \
- !strcmp(st2, "bottom_selected")) \
- set_state(PART:"bg_dialogue", "center_selected", 0.0); \
- else if (!strcmp(st, "2depth")) \
- set_state(PART:"bg_dialogue", "2depth_center", 0.0); \
- else \
- set_state(PART:"bg_dialogue", "center", 0.0); \
- } \
- } \
- program { name: "bg_bottom"; \
- signal: "elm,state,bottom"; \
- source: "*"; \
- script { \
- new st[31]; \
- new Float:vl; \
- new st2[31]; \
- new Float:vl2; \
- get_state(PART:"2depth", st, 30, vl); \
- get_state(PART:"bg_dialogue", st2, 30, vl2); \
- if (!strcmp(st2, "selected") || \
- !strcmp(st2, "top_selected") || \
- !strcmp(st2, "center_selected") || \
- !strcmp(st2, "bottom_selected")) \
- set_state(PART:"bg_dialogue", "bottom_selected", 0.0); \
- else if (!strcmp(st, "2depth")) \
- set_state(PART:"bg_dialogue", "2depth_bottom", 0.0); \
- else \
- set_state(PART:"bg_dialogue", "bottom", 0.0); \
- } \
- } \
- program { name: "bg_normal"; \
- signal: "elm,state,normal"; \
- source: "*"; \
- script { \
- new st[31]; \
- new Float:vl; \
- new st2[31]; \
- new Float:vl2; \
- get_state(PART:"2depth", st, 30, vl); \
- get_state(PART:"bg_dialogue", st2, 30, vl2); \
- if (!strcmp(st2, "selected") || \
- !strcmp(st2, "top_selected") || \
- !strcmp(st2, "center_selected") || \
- !strcmp(st2, "bottom_selected")) \
- set_state(PART:"bg_dialogue", "selected", 0.0); \
- else if (!strcmp(st, "2depth")) \
- set_state(PART:"bg_dialogue", "2depth", 0.0); \
- else \
- set_state(PART:"bg_dialogue", "default", 0.0); \
- } \
- }
-
-#define GENLIST_PROGRAM_SELECT_DIALOGUE( TARGET ) \
- program { name: "selected"; \
- signal: "elm,state,selected"; \
- source: "elm"; \
- script { \
- new st[31]; \
- new Float:vl; \
- get_state(PART:"bg_dialogue", st, 30, vl); \
- if (!strcmp(st, "top") || !strcmp(st, "2depth_top")) \
- set_state(PART:"bg_dialogue", "top_selected", 0.0); \
- else if (!strcmp(st, "center") || !strcmp(st, "2depth_center")) \
- set_state(PART:"bg_dialogue", "center_selected", 0.0); \
- else if (!strcmp(st, "bottom") || !strcmp(st, "2depth_bottom")) \
- set_state(PART:"bg_dialogue", "bottom_selected", 0.0); \
- else if (!strcmp(st, "default") || !strcmp(st, "2depth")) \
- set_state(PART:"bg_dialogue", "selected", 0.0); \
- run_program(PROGRAM:"target_selected"); \
- } \
- } \
- program { name: "unselected"; \
- signal: "elm,state,unselected"; \
- source: "elm"; \
- script { \
- new st[31]; \
- new Float:vl; \
- get_state(PART:"2depth", st, 30, vl); \
- if (!strcmp(st, "2depth")) { \
- get_state(PART:"bg_dialogue", st, 30, vl); \
- if (!strcmp(st, "top_selected")) \
- set_state(PART:"bg_dialogue", "2depth_top", 0.0); \
- else if (!strcmp(st, "center_selected")) \
- set_state(PART:"bg_dialogue", "2depth_center", 0.0); \
- else if (!strcmp(st, "bottom_selected")) \
- set_state(PART:"bg_dialogue", "2depth_bottom", 0.0); \
- else if (!strcmp(st, "selected")) \
- set_state(PART:"bg_dialogue", "2depth", 0.0); \
- } else { \
- get_state(PART:"bg_dialogue", st, 30, vl); \
- if (!strcmp(st, "top_selected")) \
- set_state(PART:"bg_dialogue", "top", 0.0); \
- else if (!strcmp(st, "center_selected")) \
- set_state(PART:"bg_dialogue", "center", 0.0); \
- else if (!strcmp(st, "bottom_selected")) \
- set_state(PART:"bg_dialogue", "bottom", 0.0); \
- else if (!strcmp(st, "selected")) \
- set_state(PART:"bg_dialogue", "default", 0.0); \
- } \
- run_program(PROGRAM:"target_unselected"); \
- } \
- } \
- program { name: "target_selected"; \
- action: STATE_SET "selected" 0.0; \
- TARGET \
- }\
- program { name: "target_unselected"; \
- action: STATE_SET "default" 0.0; \
- TARGET \
- } \
- GENLIST_PROGRAM_BG_DIALOGUE
-
-
-#define GENLIST_PROGRAM_SELECT_ARROW \
- program { name: "selected_arrow"; \
- signal: "elm,state,selected"; \
- source: "elm"; \
- script { \
- new st[31]; \
- new Float:vl; \
- get_state(PART:"arrow", st, 30, vl); \
- if (!strcmp(st, "default")) { \
- set_state(PART:"arrow", "default_press", 0.0); \
- set_state(PART:"arrow_clip", "default_press", 0.0); \
- } \
- else if (!strcmp(st, "expand_opened")) { \
- set_state(PART:"arrow", "expand_opened_press", 0.0); \
- set_state(PART:"arrow_clip", "expand_opened_press", 0.0); \
- } \
- } \
- } \
- program { name: "unselected_arrow"; \
- signal: "elm,state,unselected"; \
- source: "elm"; \
- script { \
- new st[31]; \
- new Float:vl; \
- get_state(PART:"arrow", st, 30, vl); \
- if (!strcmp(st, "default_press")) { \
- set_state(PART:"arrow", "default", 0.0); \
- set_state(PART:"arrow_clip", "default", 0.0); \
- } \
- else if (!strcmp(st, "expand_opened_press")) { \
- set_state(PART:"arrow", "expand_opened", 0.0); \
- set_state(PART:"arrow_clip", "expand_opened", 0.0); \
- } \
- } \
- } \
- program { name: "selected_arrow_shadow"; \
- signal: "elm,state,selected"; \
- source: "elm"; \
- script { \
- new st[31]; \
- new Float:vl; \
- get_state(PART:"arrow_shadow_clip", st, 30, vl); \
- if (!strcmp(st, "default")) { \
- set_state(PART:"arrow_shadow_clip", "default_press", 0.0); \
- } \
- else if (!strcmp(st, "expand_opened")) { \
- set_state(PART:"arrow_shadow_clip", "expand_opened_press", 0.0); \
- } \
- } \
- } \
- program { name: "unselected_arrow_shadow"; \
- signal: "elm,state,unselected"; \
- source: "elm"; \
- script { \
- new st[31]; \
- new Float:vl; \
- get_state(PART:"arrow_shadow_clip", st, 30, vl); \
- if (!strcmp(st, "default_press")) { \
- set_state(PART:"arrow_shadow_clip", "default", 0.0); \
- } \
- else if (!strcmp(st, "expand_opened_press")) { \
- set_state(PART:"arrow_shadow_clip", "expand_opened", 0.0); \
- } \
- } \
- }
-
-#define GENLIST_PROGRAM_REORDER( TARGET ) \
- program { name: "reorder_enabled"; \
- signal: "elm,state,reorder,mode_set"; \
- source: "elm"; \
- action: STATE_SET "reorder" 0.0; \
- TARGET \
- } \
- program { name: "reorder_disabled"; \
- signal: "elm,state,reorder,mode_unset"; \
- source: "elm"; \
- action: STATE_SET "default" 0.0; \
- TARGET \
- }
-
-#define GENLIST_PROGRAM_DECORATE_REORDER( NAME, TARGET ) \
- program { name: "reorder_enabled"NAME; \
- signal: "elm,state,reorder,mode_set"; \
- source: "elm"; \
- script { \
- new st[31]; \
- new Float:vl; \
- get_state(PART:"state", st, 30, vl); \
- if (!strcmp(st, "decorate") || !strcmp(st, "decorate_reorder")) { \
- run_program(PROGRAM:"decorate_reorder_set"NAME); \
- } else { \
- run_program(PROGRAM:"reorder_set"NAME); \
- } \
- } \
- } \
- program { name: "reorder_disabled"NAME; \
- signal: "elm,state,reorder,mode_unset"; \
- source: "elm"; \
- script { \
- new st[31]; \
- new Float:vl; \
- get_state(PART:"state", st, 30, vl); \
- if (!strcmp(st, "decorate") || !strcmp(st, "decorate_reorder")) { \
- run_program(PROGRAM:"decorate_set"NAME); \
- } else { \
- run_program(PROGRAM:"default_set"NAME); \
- } \
- } \
- } \
- program { name: "decorate_enabled_effect"NAME; \
- signal: "elm,state,decorate,enabled,effect";\
- source: "elm";\
- script { \
- new st[31]; \
- new Float:vl; \
- get_state(PART:"state", st, 30, vl); \
- if (!strcmp(st, "reorder") || !strcmp(st, "decorate_reorder")) { \
- run_program(PROGRAM:"decorate_reorder_set"NAME); \
- } else { \
- run_program(PROGRAM:"decorate_set"NAME); \
- } \
- } \
- }\
- program { name: "decorate_disabled_effect"NAME;\
- signal: "elm,state,decorate,disabled,effect";\
- source: "elm";\
- script { \
- new st[31]; \
- new Float:vl; \
- get_state(PART:"state", st, 30, vl); \
- if (!strcmp(st, "reorder") || !strcmp(st, "decorate_reorder")) { \
- run_program(PROGRAM:"reorder_set"NAME); \
- } else { \
- run_program(PROGRAM:"default_set"NAME); \
- } \
- } \
- }\
- program { name: "decorate_enabled"NAME;\
- signal: "elm,state,decorate,enabled";\
- source: "elm";\
- script { \
- new st[31]; \
- new Float:vl; \
- get_state(PART:"state", st, 30, vl); \
- if (!strcmp(st, "reorder") || !strcmp(st, "decorate_reorder")) { \
- run_program(PROGRAM:"decorate_reorder_set"NAME); \
- } else { \
- run_program(PROGRAM:"decorate_set"NAME); \
- } \
- } \
- }\
- program { name: "decorate_disabled"NAME;\
- signal: "elm,state,decorate,disabled";\
- source: "elm";\
- script { \
- new st[31]; \
- new Float:vl; \
- get_state(PART:"state", st, 30, vl); \
- if (!strcmp(st, "reorder") || !strcmp(st, "decorate_reorder")) { \
- run_program(PROGRAM:"reorder_set"NAME); \
- } else { \
- run_program(PROGRAM:"default_set"NAME); \
- } \
- } \
- } \
- program { name: "default_set"NAME; \
- action: STATE_SET "default" 0.0;\
- target: "state"; \
- TARGET \
- } \
- program { name: "decorate_set"NAME; \
- action: STATE_SET "decorate" 0.0;\
- target: "state"; \
- TARGET \
- } \
- program { name: "reorder_set"NAME; \
- action: STATE_SET "reorder" 0.0;\
- target: "state"; \
- TARGET \
- } \
- program { name: "decorate_reorder_set"NAME; \
- action: STATE_SET "decorate_reorder" 0.0;\
- target: "state"; \
- TARGET \
- }
-
-#define GENLIST_PROGRAM_FLIP \
- program { name: "flip_enabled"; \
- signal: "elm,state,flip,enabled"; \
- source: "elm"; \
- transition: DECELERATE 0.5; \
- action: STATE_SET "flipped" 0.0; \
- target: "elm.flip.content"; \
- target: "elm.flip.icon"; \
- } \
- program { name: "flip_disabled"; \
- signal: "elm,state,flip,disabled"; \
- source: "elm"; \
- transition: DECELERATE 0.5; \
- action: STATE_SET "default" 0.0; \
- target: "elm.flip.content"; \
- target: "elm.flip.icon"; \
- } \
- program { name: "flip_enabled_bg"; \
- signal: "elm,state,flip,enabled"; \
- source: "elm"; \
- action: STATE_SET "flipped" 0.0; \
- target: "elm.flip.bg"; \
- } \
- program { name: "flip_disabled_bg"; \
- signal: "elm,state,flip,disabled"; \
- source: "elm"; \
- action: STATE_SET "default" 0.0; \
- target: "elm.flip.bg"; \
- }
-
-#define GENLIST_PROGRAM_FLIP_TARGET( TARGET ) \
- program { name: "flip_enabled_target"; \
- signal: "elm,state,flip,enabled"; \
- source: "elm"; \
- action: STATE_SET "flipped" 0.0; \
- TARGET \
- } \
- program { name: "flip_disabled_target"; \
- signal: "elm,state,flip,disabled"; \
- source: "elm"; \
- action: STATE_SET "default" 0.0; \
- TARGET \
- }
-
-#define GENLIST_PROGRAM_EDITMODE \
- program { name: "edit_enabled"; \
- signal: "elm,state,edit,enabled"; \
- source: "*"; \
- action: STATE_SET "editmode" 0.0; \
- target: "elm.padding.right.edit"; \
- target: "elm.icon.edit"; \
- target: "bg_dialogue_right"; \
- } \
- program { name: "edit_disabled"; \
- signal: "elm,state,edit,disabled"; \
- source: "*"; \
- action: STATE_SET "default" 0.0; \
- target: "elm.padding.right.edit"; \
- target: "elm.icon.edit"; \
- target: "bg_dialogue_right"; \
- }
-
-/***************************************************************************/
-/***************************************************************************/
-
-#define GENLIST_PROGRAMS_NORMAL( TARGET ) \
- programs { \
- GENLIST_PROGRAM_DEFAULT( TARGET \
- target: "bg"; \
- target: "bg_clip"; \
- target: "bottom_line"; \
- target: "bottom_line2"; \
- target: "bottom_line_clip"; \
- target: "bg_reorder"; \
- target: "bg_reorder_clip"; \
- target: "elm.padding.left"; \
- target: "elm.padding.right"; \
- target: "elm.padding.top"; \
- target: "elm.padding.bottom"; \
- ) \
- GENLIST_PROGRAM_DISABLED( TARGET \
- target: "bg"; \
- target: "bg_reorder"; \
- ) \
- GENLIST_PROGRAM_FOCUS_NORMAL \
- GENLIST_PROGRAM_SELECT( TARGET \
- target: "bg"; \
- target: "bg_reorder"; \
- ) \
- GENLIST_PROGRAM_SOUND("bg") \
- GENLIST_PROGRAM_SOUND("bg_reorder") \
- GENLIST_PROGRAM_DECORATE_REORDER("normal", TARGET \
- target: "bg_clip"; \
- target: "bg_reorder_clip"; \
- target: "bottom_line_clip"; \
- target: "elm.padding.left"; \
- target: "elm.padding.right"; \
- target: "elm.padding.top"; \
- target: "elm.padding.bottom"; \
- ) \
- GENLIST_PROGRAM_FLIP \
- }
-
-#define GENLIST_PROGRAMS_DIALOGUE( TARGET ) \
- programs { \
- GENLIST_PROGRAM_DEFAULT( TARGET \
- target: "bg_dialogue"; \
- target: "elm.padding.left"; \
- target: "elm.padding.right"; \
- target: "elm.padding.right.edit"; \
- target: "elm.icon.edit"; \
- target: "bg_dialogue_right"; \
- ) \
- GENLIST_PROGRAM_DISABLED( TARGET ) \
- GENLIST_PROGRAM_FOCUS_DIALOGUE \
- GENLIST_PROGRAM_SELECT_DIALOGUE( TARGET ) \
- program { name: "bg_color_change"; \
- signal: "bg_color_change"; \
- source: "elm"; \
- action: STATE_SET "2depth" 0.0; \
- target: "2depth"; \
- } \
- GENLIST_PROGRAM_SOUND("bg_dialogue") \
- GENLIST_PROGRAM_DECORATE_REORDER( "normal", TARGET \
- target: "elm.padding.left"; \
- target: "elm.padding.right"; \
- ) \
- GENLIST_PROGRAM_FLIP \
- GENLIST_PROGRAM_EDITMODE \
- }
-
-#define GENLIST_PROGRAMS_DECORATE_EFFECT( TARGET ) \
- program { name: "decorate_enabled_effect_ef"; \
- signal: "elm,state,decorate,enabled,effect";\
- source: "elm";\
- transition: DECELERATE 0.5;\
- action: STATE_SET "decorate" 0.0;\
- TARGET \
- }\
- program { name: "decorate_disabled_effect_ef";\
- signal: "elm,state,decorate,disabled,effect";\
- source: "elm";\
- transition: ACCELERATE 0.5;\
- action: STATE_SET "default" 0.0;\
- TARGET \
- } \
- program { name: "decorate_enabled_ef";\
- signal: "elm,state,decorate,enabled";\
- source: "elm";\
- action: STATE_SET "decorate" 0.0;\
- TARGET \
- }\
- program { name: "decorate_disabled_ef";\
- signal: "elm,state,decorate,disabled";\
- source: "elm";\
- action: STATE_SET "default" 0.0;\
- TARGET \
- }
-
-#define GENLIST_PROGRAMS_ENTRY( TARGET ) \
- GENLIST_PROGRAM_DEFAULT( TARGET \
- target: "bg"; \
- target: "bg_clip"; \
- target: "bottom_line"; \
- target: "bottom_line2"; \
- target: "bottom_line_clip"; \
- target: "bg_reorder"; \
- target: "elm.padding.left"; \
- target: "elm.padding.right"; \
- ) \
- GENLIST_PROGRAM_DISABLED( TARGET ) \
- GENLIST_PROGRAM_FOCUS_NORMAL \
- GENLIST_PROGRAM_DECORATE_REORDER("editfield", TARGET \
- target: "bg_clip"; \
- target: "bg_reorder_clip"; \
- target: "bottom_line_clip"; \
- target: "elm.padding.left"; \
- target: "elm.padding.right"; \
- )
-
-#define GENLIST_PROGRAMS_DIALOGUE_ENTRY( TARGET ) \
- GENLIST_PROGRAM_DEFAULT( TARGET \
- target: "bg_dialogue"; \
- target: "elm.padding.left"; \
- target: "elm.padding.right"; \
- ) \
- GENLIST_PROGRAM_DISABLED( TARGET ) \
- GENLIST_PROGRAM_FOCUS_DIALOGUE \
- program { name: "bg_color_change"; \
- signal: "bg_color_change"; \
- source: "elm"; \
- action: STATE_SET "2depth" 0.0; \
- target: "2depth"; \
- } \
- GENLIST_PROGRAM_BG_DIALOGUE \
- GENLIST_PROGRAM_DECORATE_REORDER( "normal", TARGET \
- target: "elm.padding.left"; \
- target: "elm.padding.right"; \
- ) \
- GENLIST_PROGRAM_FLIP \
- GENLIST_PROGRAM_EDITMODE
-
-
-#define GENLIST_PROGRAMS_THUMB \
- GENLIST_PROGRAM_DECORATE_REORDER( "thumb", target: "elm.thumb"; ) \
- GENLIST_PROGRAM_FLIP_TARGET( target: "elm.thumb.clip"; ) \
- program { name: "enabled_thumb"; \
- signal: "elm,state,enabled"; \
- source: "elm"; \
- action: STATE_SET "default" 0.0; \
- target: "elm.thumb"; \
- } \
- program { name: "disabled_thumb"; \
- signal: "elm,state,disabled"; \
- source: "elm"; \
- action: STATE_SET "disabled" 0.0; \
- target: "elm.thumb"; \
- } \
- program { name: "selected_thumb"; \
- signal: "elm,state,selected"; \
- source: "elm"; \
- script { \
- new st[31]; \
- new Float:vl; \
- get_state(PART:"elm.thumb", st, 30, vl); \
- if (!strcmp(st, "reorder") || !strcmp(st, "decorate_reorder")) \
- set_state(PART:"elm.thumb", "reorder_selected", 0.0); \
- else \
- set_state(PART:"elm.thumb", "selected", 0.0); \
- } \
- } \
- program { name: "unselected_thumb"; \
- signal: "elm,state,unselected"; \
- source: "elm"; \
- script { \
- new st[31]; \
- new Float:vl; \
- get_state(PART:"elm.thumb", st, 30, vl); \
- if (!strcmp(st, "reorder_selected")) \
- set_state(PART:"elm.thumb", "reorder", 0.0); \
- else \
- set_state(PART:"elm.thumb", "default", 0.0); \
- } \
- }
-
-//****************************************************************************//
-// ******************************* Icon Part ******************************//
-//***************************************************************************//
-#define GENLIST_PART_ICON(NAME, DESCRIPION) \
- part { name: NAME; \
- scale: 1; \
- type: SWALLOW; \
- DESCRIPION \
- }
-
-#define GENLIST_PARAM_ICON_LARGE \
- min: GENLIST_ICON_LARGE_SIZE GENLIST_ICON_LARGE_SIZE; \
- max: GENLIST_ICON_LARGE_SIZE GENLIST_ICON_LARGE_SIZE;
-
-#define GENLIST_PARAM_ICON_MEDIUM \
- min: GENLIST_ICON_MEDIUM_SIZE GENLIST_ICON_MEDIUM_SIZE; \
- max: GENLIST_ICON_MEDIUM_SIZE GENLIST_ICON_MEDIUM_SIZE;
-
-#define GENLIST_PARAM_ICON_SMALL \
- min: GENLIST_ICON_SMALL_SIZE GENLIST_ICON_SMALL_SIZE; \
- max: GENLIST_ICON_SMALL_SIZE GENLIST_ICON_SMALL_SIZE;
-
-#define GENLIST_PARAM_ICON_BTN_01 \
- min: 0 GENLIST_BTN_01_HEIGHT; \
- max: -1 GENLIST_BTN_01_HEIGHT;
-
-#define GENLIST_PARAM_ICON_BTN_02 \
- min: GENLIST_BTN_02_SIZE GENLIST_BTN_02_SIZE; \
- max: GENLIST_BTN_02_SIZE GENLIST_BTN_02_SIZE;
-
-#define GENLIST_PARAM_ICON_ONOFF_WIDTH \
- min: GENLIST_ICON_ONOFF_WIDTH GENLIST_ICON_ONOFF_HEIGHT; \
- max: GENLIST_ICON_ONOFF_WIDTH GENLIST_ICON_ONOFF_HEIGHT;
-
-#define GENLIST_PARAM_ICON_CHECK_RADIO \
- min: GENLIST_ICON_CHECK_RADIO_SIZE GENLIST_ICON_CHECK_RADIO_SIZE; \
- max: GENLIST_ICON_CHECK_RADIO_SIZE GENLIST_ICON_CHECK_RADIO_SIZE;
-
-#define GENLIST_PARAM_ICON_STAR \
- min: GENLIST_ICON_STAR_SIZE GENLIST_ICON_STAR_SIZE; \
- max: GENLIST_ICON_STAR_SIZE GENLIST_ICON_STAR_SIZE; \
-
-#define GENLIST_PART_ICON_LARGE_R(NAME, RIGHT) \
- GENLIST_PART_ICON(NAME, \
- GENLIST_DESCRIPTION_RTB(RIGHT, "elm.padding.top", "elm.padding.bottom", \
- GENLIST_PARAM_ICON_LARGE \
- fixed: 1 1; \
- ) \
- )
-
-#define GENLIST_PART_ICON_LARGE_L(NAME, LEFT) \
- GENLIST_PART_ICON(NAME, \
- GENLIST_DESCRIPTION_LTB(LEFT, "elm.padding.top", "elm.padding.bottom", \
- GENLIST_PARAM_ICON_LARGE \
- fixed: 1 1; \
- ) \
- )
-
-#define GENLIST_PART_ICON_MEDIUM_R(NAME, RIGHT) \
- GENLIST_PART_ICON(NAME, \
- GENLIST_DESCRIPTION_RTB(RIGHT, "elm.padding.top", "elm.padding.bottom", \
- fixed: 1 1; \
- GENLIST_PARAM_ICON_MEDIUM \
- ) \
- )
-
-#define GENLIST_PART_ICON_MEDIUM_L(NAME, LEFT) \
- GENLIST_PART_ICON(NAME, \
- GENLIST_DESCRIPTION_LTB(LEFT, "elm.padding.top", "elm.padding.bottom", \
- GENLIST_PARAM_ICON_MEDIUM \
- fixed: 1 1; \
- ) \
- )
-
-#define GENLIST_PART_ICON_SMALL_L(NAME, LEFT) \
- GENLIST_PART_ICON(NAME, \
- GENLIST_DESCRIPTION_LTB(LEFT, "elm.padding.top", "elm.padding.bottom", \
- GENLIST_PARAM_ICON_SMALL \
- fixed: 1 1; \
- ) \
- )
-
-#define GENLIST_PART_ICON_SMALL_LB(NAME, LEFT, BOTTOM) \
- GENLIST_PART_ICON(NAME, \
- GENLIST_DESCRIPTION_LB(LEFT, BOTTOM, \
- GENLIST_PARAM_ICON_SMALL \
- fixed: 1 1; \
- ) \
- )
-
-#define GENLIST_PART_ICON_SMALL_LTB(NAME, LEFT, TOP, BOTTOM) \
- GENLIST_PART_ICON(NAME, \
- GENLIST_DESCRIPTION_LTB(LEFT, TOP, BOTTOM, \
- GENLIST_PARAM_ICON_SMALL \
- fixed: 1 1; \
- ) \
- )
-
-#define GENLIST_PART_ICON_SMALL_RT(NAME, RIGHT, TOP) \
- GENLIST_PART_ICON(NAME, \
- GENLIST_DESCRIPTION_RT(RIGHT, TOP, \
- GENLIST_PARAM_ICON_SMALL \
- fixed: 1 1; \
- ) \
- )
-
-#define GENLIST_PART_ICON_SMALL_RTB(NAME, RIGHT, TOP, BOTTOM) \
- GENLIST_PART_ICON(NAME, \
- GENLIST_DESCRIPTION_RTB(RIGHT, TOP, BOTTOM, \
- GENLIST_PARAM_ICON_SMALL \
- fixed: 1 1; \
- ) \
- )
-
-#define GENLIST_PART_ICON_BTN_01_RTB(NAME, RIGHT, TOP, BOTTOM) \
- GENLIST_PART_ICON(NAME, \
- GENLIST_DESCRIPTION_RTB(RIGHT, TOP, BOTTOM,\
- GENLIST_PARAM_ICON_BTN_01 \
- fixed: 1 1; \
- ) \
- )
-
-#define GENLIST_PART_ICON_BTN_02_RTB(NAME, RIGHT, TOP, BOTTOM) \
- GENLIST_PART_ICON(NAME, \
- GENLIST_DESCRIPTION_RTB(RIGHT, TOP, BOTTOM,\
- GENLIST_PARAM_ICON_BTN_02 \
- fixed: 1 1; \
- ) \
- )
-
-#define GENLIST_PART_ICON_BTN_ONOFF_R(NAME, RIGHT) \
- GENLIST_PART_ICON(NAME, \
- GENLIST_DESCRIPTION_RTB(RIGHT, "elm.padding.top", "elm.padding.bottom", \
- GENLIST_PARAM_ICON_ONOFF_WIDTH \
- fixed: 1 1; \
- ) \
- )
-
-#define GENLIST_PART_ICON_BTN_ONOFF_L(NAME, LEFT) \
- GENLIST_PART_ICON(NAME, \
- GENLIST_DESCRIPTION_LTB(LEFT, "elm.padding.top", "elm.padding.bottom", \
- GENLIST_PARAM_ICON_ONOFF_WIDTH \
- fixed: 1 1; \
- ) \
- )
-
-#define GENLIST_PART_ICON_CHECK_RADIO_L(NAME, LEFT) \
- GENLIST_PART_ICON(NAME, \
- GENLIST_DESCRIPTION_LTB(LEFT, "elm.padding.top", "elm.padding.bottom", \
- GENLIST_PARAM_ICON_CHECK_RADIO \
- fixed: 1 1; \
- ) \
- )
-
-#define GENLIST_PART_ICON_STAR_RTB(NAME, RIGHT, TOP, BOTTOM) \
- GENLIST_PART_ICON(NAME, \
- GENLIST_DESCRIPTION_RTB(RIGHT, TOP, BOTTOM, \
- GENLIST_PARAM_ICON_STAR \
- fixed: 1 1; \
- ) \
- )
-
-/*****************************************************************************/
-/******************************* Genlist IMAGE ********************************/
-/*****************************************************************************/
-#define GENLIST_PART_IMAGE(NAME, DESCRIPION) \
- part { name: NAME; \
- scale: 1; \
- type: IMAGE; \
- DESCRIPION \
- }
-
-#define GENLIST_PARAM_PASSWORD_IMAGE \
- min: GENLIST_ICON_PASSWORD_SIZE GENLIST_ICON_PASSWORD_SIZE; \
- max: GENLIST_ICON_PASSWORD_SIZE GENLIST_ICON_PASSWORD_SIZE; \
- image.normal: "00_search_edit_field_bg.png"; \
- image.border: 12 13 12 13; \
- image.border_scale: 1;
-
-/*****************************************************************************/
-/******************************* Genlist Proxy ********************************/
-/*****************************************************************************/
-#define GENLIST_PART_PROXY(NAME, DESCRIPION) \
- part { name: NAME; \
- scale: 1; \
- type: PROXY; \
- DESCRIPION \
- }
-
-/*****************************************************************************/
-/******************************* Genlist Bubble ********************************/
-/*****************************************************************************/
-#define GENLIST_IMAGES_EXPANDABLE_BTN \
- images { \
- image: "00_list_button_expand_closed.png" COMP; \
- image: "00_list_button_expand_opened.png" COMP; \
- }
-
-#define GENLIST_PART_EXPANDABLE_ARROW \
- GENLIST_PART_ICON("touch_arrow", \
- ignore_flags: ON_HOLD; \
- GENLIST_DESCRIPTION_ENVELOP("arrow", ) \
- ) \
- GENLIST_PART_RECT("arrow_clip", \
- GENLIST_DESCRIPTION_ENVELOP("arrow", \
- color: GENLIST_EXPANDABLE_ARROW_NORMAL_COLOR; \
- ) \
- description { state: "disabled" 0.0; \
- color: GENLIST_EXPANDABLE_ARROW_DIM_COLOR; \
- } \
- description { state: "expand_opened_press" 0.0; \
- color: GENLIST_EXPANDABLE_ARROW_PRESS_COLOR; \
- } \
- description { state: "default_press" 0.0; \
- color: GENLIST_EXPANDABLE_ARROW_PRESS_COLOR; \
- } \
- ) \
- GENLIST_PART_RECT("arrow_shadow_clip", \
- GENLIST_DESCRIPTION_ENVELOP("arrow_shadow", \
- color: GENLIST_EXPANDABLE_ARROW_SHADOW_NORMAL_COLOR; \
- ) \
- description { state: "disabled" 0.0; \
- color: GENLIST_EXPANDABLE_ARROW_SHADOW_DIM_COLOR; \
- } \
- description { state: "expand_opened_press" 0.0; \
- color: GENLIST_EXPANDABLE_ARROW_SHADOW_PRESS_COLOR; \
- visible: 0; \
- } \
- description { state: "default_press" 0.0; \
- color: GENLIST_EXPANDABLE_ARROW_SHADOW_PRESS_COLOR; \
- visible: 0; \
- } \
- ) \
- GENLIST_PART_PROXY("arrow_shadow", \
- clip_to: "arrow_shadow_clip"; \
- ignore_flags: ON_HOLD; \
- mouse_events: 0; \
- description { state : "default" 0.0; \
- source: "arrow"; \
- rel1.to: "arrow"; \
- rel1.offset: 0 2; \
- rel2.to: "arrow"; \
- rel2.offset: 0 2; \
- } \
- ) \
- GENLIST_PART_IMAGE("arrow", \
- clip_to: "arrow_clip"; \
- ignore_flags: ON_HOLD; \
- mouse_events: 0; \
- GENLIST_DESCRIPTION_R("elm.padding.right", \
- fixed: 1 1; \
- min: GENLIST_BTN_02_SIZE GENLIST_BTN_02_SIZE; \
- max: GENLIST_BTN_02_SIZE GENLIST_BTN_02_SIZE; \
- image.normal: "00_list_button_expand_closed.png"; \
- ) \
- description { state: "default_press" 0.0; \
- inherit: "default" 0.0; \
- } \
- description { state: "expand_opened" 0.0; \
- inherit: "default" 0.0; \
- image.normal: "00_list_button_expand_opened.png"; \
- } \
- description { state: "expand_opened_press" 0.0; \
- inherit: "expand_opened" 0.0; \
- } \
- )
-
-/*****************************************************************************/
-/******************************* Genlist RECT ********************************/
-/*****************************************************************************/
-#define GENLIST_PART_SPACER(NAME, DESCRIPION) \
- part { name: NAME; \
- scale: 1; \
- mouse_events: 0; \
- type: SPACER; \
- DESCRIPION \
- }
-
-#define GENLIST_PART_RECT(NAME, DESCRIPION) \
- part { name: NAME; \
- scale: 1; \
- type: RECT; \
- DESCRIPION \
- }
-
-/*****************************************************************************/
-/******************************* Genlist TEXT ********************************/
-/*****************************************************************************/
-// FIXME: because, when naviframe item is pushed,
-// naviframe freeze all events so text events cannot be repeated. :-(
-// So all texts should have it's own sound program, not repeat to BG
-#define GENLIST_PART_TEXT(NAME, DESCRIPION) \
- part { name: NAME; \
- scale: 1; \
- type: TEXT; \
- repeat_events: 1; \
- DESCRIPION \
- }
-
-#define GENLIST_PART_TEXTBLOCK(NAME, DESCRIPION) \
- part { name: NAME; \
- scale: 1; \
- type: TEXTBLOCK; \
- repeat_events: 1; \
- DESCRIPION \
- }
-
-/*************************** parameters **********************************/
-#define GENLIST_PARAM_TEXT_LIMIT_RB \
- rel1.to_x: "base"; /* This limits text growing. */\
- rel1.relative: 0.65 0; /* This limits text growing. */\
- text.max: 1 0; /* This limits text growing. */
-
-#define GENLIST_PARAM_TEXT_LIMIT_RT \
- rel1.to_x: "base"; /* This limits text growing. */\
- rel1.relative: 0.65 1; /* This limits text growing. */\
- text.max: 1 0; /* This limits text growing. */
-
-#define GENLIST_PARAM_TEXT_LIMIT_RT_( LIMIT ) \
- rel1.to_x: "base"; /* This limits text growing. */\
- rel1.relative: LIMIT 1; /* This limits text growing. */\
- text.max: 1 0; /* This limits text growing. */
-
-// Group Title
-#define GENLIST_PARAM_DIALOGUE_GROUP_TITLE \
- color: GENLIST_DIALOGUE_GROUP_TITLE_COLOR; \
- text { \
- align: 0.0 0.5; \
- font: "Tizen:style=Bold"; \
- min: 0 1; \
- size: GENLIST_DIALOGUE_GROUP_TITLE_SIZE; \
- text_class: "list_item"; \
- }
-
-// Password style
-#define GENLIST_PARAM_PASSWORD_TITLE \
- color: DIALOGUE_PASSWORD_TITLE_COLOR; \
- text { \
- font: "Tizen:style=Bold"; \
- size: DIALOGUE_PASSWORD_TITLE_SIZE; \
- min: 0 1; \
- align: 0 0.5; \
- text_class: "list_item"; \
- }
-
-// Progress main text
-#define GENLIST_PARAM_PROGRESS_MAIN \
- color: GENLIST_LIST_MAIN_TEXT_UNREAD_COLOR; \
- text { \
- align: 0 0.5; \
- min: 0 1; \
- font: "Tizen:style=Regular"; \
- size: GENLIST_PROGRESS_MAIN_TEXT_SIZE; \
- text_class: "list_item"; \
- }
-
-// list main text
-#define GENLIST_PARAM_LISTITEM \
- color: GENLIST_LIST_MAIN_TEXT_UNREAD_COLOR; \
- text { \
- align: 0 0.5; \
- min: 0 1; \
- font: "Tizen:style=Regular"; \
- size: GENLIST_LIST_MAIN_TEXT_SIZE; \
- text_class: "list_item"; \
- }
-
-#define GENLIST_PARAM_LISTITEM_TB \
- text { \
- min: 0 1; \
- style: "genlist_style_list_main_text_unread"; \
- }
-
-#define GENLIST_PARAM_LISTITEM_TB_WRAP \
- text { \
- min: 0 1; \
- style: "genlist_style_list_main_text_unread_wrap"; \
- }
-
-// list subtext
-#define GENLIST_PARAM_SUBITEM_DEFAULT \
- color: GENLIST_LIST_SUB_TEXT_DEFAULT_COLOR; \
- text { \
- align: 0 0.5; \
- min: 0 1; \
- font: "Tizen:style=Bold"; \
- size: GENLIST_LIST_SUB_TEXT_SIZE; \
- text_class: "tizen"; \
- }
-
-#define GENLIST_PARAM_SUBITEM_SETTINGS \
- color: GENLIST_LIST_SUB_TEXT_SETTINGS_COLOR; \
- text { \
- align: 0 0.5; \
- min: 0 1; \
- font: "Tizen:style=Bold"; \
- size: GENLIST_LIST_SUB_TEXT_SIZE; \
- text_class: "tizen"; \
- }
-
-#define GENLIST_PARAM_SUBITEM_DEFAULT_TB \
- text { \
- min: 0 1; \
- style: "genlist_style_list_sub_text_default"; \
- }
-
-#define GENLIST_PARAM_SUBITEM_DEFAULT_TB_WRAP \
- text { \
- min: 0 1; \
- style: "genlist_style_list_sub_text_default_wrap"; \
- }
-
-#define GENLIST_PARAM_SUBITEM_SETTINGS_TB \
- text { \
- min: 0 1; \
- style: "genlist_style_list_sub_text_settings"; \
- }
-
-// list subtext 02
-#define GENLIST_PARAM_SUBITEM_02 \
- color: GENLIST_LIST_SUB_TEXT_02_COLOR; \
- text { \
- align: 0 0.5; \
- min: 0 1; \
- font: "Tizen:style=Bold"; \
- size: GENLIST_LIST_SUB_TEXT_02_SIZE; \
- text_class: "tizen"; \
- }
-
-// Dialogue group - Apps
-#define GENLIST_PARAM_APPS_NAME\
- color: GENLIST_APPS_NAME_COLOR; \
- text { \
- align: 0 0.5; \
- min: 0 1; \
- font: "Tizen:style=Bold"; \
- size: GENLIST_APPS_NAME_SIZE; \
- text_class: "list_item"; \
- }
-
-#define GENLIST_PARAM_APPS_INC\
- color: GENLIST_APPS_INC_COLOR; \
- text { \
- align: 0 0.5; \
- min: 0 1; \
- font: "Tizen:style=Bold"; \
- size: GENLIST_APPS_INC_SIZE; \
- text_class: "list_item"; \
- }
-
-#define GENLIST_PARAM_APPS_RATING\
- color: GENLIST_APPS_RATING_COLOR; \
- text { \
- align: 0 0.5; \
- min: 0 1; \
- font: "Tizen:style=Bold"; \
- size: GENLIST_APPS_RATING_SIZE; \
- text_class: "list_item"; \
- }
-
-#define GENLIST_PARAM_APPS_PRICE\
- color: GENLIST_APPS_PRICE_ORIGINAL_COLOR; \
- text { \
- align: 0 0.5; \
- min: 0 1; \
- font: "Tizen:style=Bold"; \
- size: GENLIST_APPS_PRICE_SIZE; \
- text_class: "list_item"; \
- }
-
-#define GENLIST_PARAM_APPS_PRICE_SALE\
- color: GENLIST_APPS_PRICE_SALE_COLOR; \
- text { \
- align: 0 0.5; \
- min: 0 1; \
- font: "Tizen:style=Bold"; \
- size: GENLIST_APPS_PRICE_SIZE; \
- text_class: "list_item"; \
- }
-
-#define GENLIST_PARAM_CONTENTS_TEXT \
- color: GENLIST_CONTENTS_TEXT_COLOR; \
- text { \
- align: 0 0.5; \
- min: 0 1; \
- font: "Tizen:style=Regular"; \
- size: GENLIST_CONTENTS_TEXT_SIZE; \
- text_class: "tizen"; \
- }
-
-/*************************** Descriptions **********************************/
-// list main text
-#define GENLIST_DESCRIPTION_LISTITEM_OTHERS \
- description { state: "disabled" 0.0; \
- inherit: "default" 0.0; \
- color: GENLIST_LIST_MAIN_TEXT_UNREAD_DIM_COLOR; \
- } \
- description { state: "read" 0.0; \
- inherit: "default" 0.0; \
- color: GENLIST_LIST_MAIN_TEXT_READ_COLOR; \
- } \
- description { state: "read,disabled" 0.0; \
- inherit: "default" 0.0; \
- color: GENLIST_LIST_MAIN_TEXT_READ_DIM_COLOR; \
- } \
- description { state: "selected" 0.0; \
- inherit: "default" 0.0; \
- color: GENLIST_LIST_TEXT_FOCUS_COLOR; \
- }
-
-#define GENLIST_DESCRIPTION_LISTITEM_OTHERS_TB \
- description { state: "disabled" 0.0; \
- inherit: "default" 0.0; \
- text.style: "genlist_style_list_main_text_unread_dim"; \
- } \
- description { state: "read" 0.0; \
- inherit: "default" 0.0; \
- text.style: "genlist_style_list_main_text_read"; \
- } \
- description { state: "read,disabled" 0.0; \
- inherit: "default" 0.0; \
- text.style: "genlist_style_list_main_text_read_dim"; \
- } \
- description { state: "selected" 0.0; \
- inherit: "default" 0.0; \
- text.style: "genlist_style_list_main_text_focus"; \
- }
-
-// list sub text
-#define GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS \
- description { state: "disabled" 0.0; \
- inherit: "default" 0.0; \
- color: GENLIST_LIST_SUB_TEXT_DEFAULT_DIM_COLOR; \
- } \
- description { state: "selected" 0.0; \
- inherit: "default" 0.0; \
- color: GENLIST_LIST_TEXT_FOCUS_COLOR; \
- }
-
-#define GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS_TB \
- description { state: "disabled" 0.0; \
- inherit: "default" 0.0; \
- text.style: "genlist_style_list_sub_text_default_dim"; \
- } \
- description { state: "selected" 0.0; \
- inherit: "default" 0.0; \
- text.style: "genlist_style_list_sub_text_focus"; \
- }
-
-#define GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS_TB_WRAP \
- description { state: "disabled" 0.0; \
- inherit: "default" 0.0; \
- text.style: "genlist_style_list_sub_text_default_dim_wrap"; \
- } \
- description { state: "selected" 0.0; \
- inherit: "default" 0.0; \
- text.style: "genlist_style_list_sub_text_focus_wrap"; \
- }
-
-#define GENLIST_DESCRIPTION_SUBITEM_SETTINGS_OTHERS \
- description { state: "disabled" 0.0; \
- inherit: "default" 0.0; \
- color: GENLIST_LIST_SUB_TEXT_SETTINGS_DIM_COLOR; \
- } \
- description { state: "selected" 0.0; \
- inherit: "default" 0.0; \
- color: GENLIST_LIST_TEXT_FOCUS_COLOR; \
- }
-
-#define GENLIST_DESCRIPTION_SUBITEM_SETTINGS_OTHERS_TB \
- description { state: "disabled" 0.0; \
- inherit: "default" 0.0; \
- text.style: "genlist_style_list_sub_text_settings_dim"; \
- } \
- description { state: "selected" 0.0; \
- inherit: "default" 0.0; \
- text.style: "genlist_style_list_sub_text_focus"; \
- }
-
-// list main text multiline
-#define GENLIST_DESCRIPTION_LISTITEM_OTHERS_TB_WRAP \
- description { state: "disabled" 0.0; \
- inherit: "default" 0.0; \
- text.style: "genlist_style_list_main_text_unread_dim_wrap"; \
- } \
- description { state: "selected" 0.0; \
- inherit: "default" 0.0; \
- text.style: "genlist_style_list_main_text_focus_wrap"; \
- }
-
-/*************************** Parts **********************************/
-#define GENLIST_PART_DIALOGUE_GROUP_HELP_TEXT(NAME, LEFT, RIGHT, TOP, BOTTOM, PARAM) \
- GENLIST_PART_TEXTBLOCK(NAME, \
- GENLIST_DESCRIPTION(LEFT, RIGHT, TOP, BOTTOM, \
- text { \
- min: 0 1; \
- style: "genlist_style_dialogue_group_help_text"; \
- } \
- PARAM) \
- )
-
-#define GENLIST_PART_LISTITEM(NAME, DESCRIPTION) \
- GENLIST_PART_TEXT(NAME, \
- DESCRIPTION \
- GENLIST_DESCRIPTION_LISTITEM_OTHERS \
- )
-
-#define GENLIST_PART_LISTITEM_TB(NAME, DESCRIPTION) \
- GENLIST_PART_TEXTBLOCK(NAME, \
- DESCRIPTION \
- GENLIST_DESCRIPTION_LISTITEM_OTHERS_TB \
- )
-
-#define GENLIST_PART_LISTITEM_(NAME, HEIGHT, LEFT, RIGHT, TOP, BOTTOM, PARAM) \
- GENLIST_PART_TEXT(NAME, \
- GENLIST_DESCRIPTION(LEFT, RIGHT, TOP, BOTTOM, \
- min: 0 HEIGHT; \
- GENLIST_PARAM_LISTITEM \
- PARAM \
- ) \
- GENLIST_DESCRIPTION_LISTITEM_OTHERS \
- )
-
-#define GENLIST_PART_LISTITEM_TB_(NAME, HEIGHT, LEFT, RIGHT, TOP, BOTTOM, PARAM) \
- GENLIST_PART_TEXTBLOCK(NAME, \
- GENLIST_DESCRIPTION(LEFT, RIGHT, TOP, BOTTOM, \
- min: 0 HEIGHT; \
- fixed: 1 0; \
- GENLIST_PARAM_LISTITEM_TB \
- PARAM \
- ) \
- GENLIST_DESCRIPTION_LISTITEM_OTHERS_TB \
- )
-
-#define GENLIST_PART_LISTITEM_LR(NAME, HEIGHT, LEFT, RIGHT, PARAM) \
- GENLIST_PART_TEXT(NAME, \
- GENLIST_DESCRIPTION(LEFT, RIGHT, "elm.padding.top", "elm.padding.bottom", \
- min: 0 HEIGHT; \
- GENLIST_PARAM_LISTITEM \
- PARAM \
- ) \
- GENLIST_DESCRIPTION_LISTITEM_OTHERS \
- )
-
-#define GENLIST_PART_LISTITEM_LRT(NAME, HEIGHT, LEFT, RIGHT, TOP, PARAM) \
- GENLIST_PART_TEXT(NAME, \
- GENLIST_DESCRIPTION_LRT(LEFT, RIGHT, TOP, \
- min: 0 HEIGHT; \
- fixed: 0 1; \
- GENLIST_PARAM_LISTITEM \
- PARAM \
- ) \
- GENLIST_DESCRIPTION_LISTITEM_OTHERS \
- )
-
-#define GENLIST_PART_LISTITEM_LRT_TB(NAME, HEIGHT, LEFT, RIGHT, TOP, PARAM) \
- GENLIST_PART_TEXTBLOCK(NAME, \
- GENLIST_DESCRIPTION_LRT(LEFT, RIGHT, TOP, \
- min: 0 HEIGHT; \
- fixed: 0 1; \
- GENLIST_PARAM_LISTITEM_TB \
- PARAM \
- ) \
- GENLIST_DESCRIPTION_LISTITEM_OTHERS_TB \
- )
-
-#define GENLIST_PART_LISTITEM_LR_TB(NAME, HEIGHT, LEFT, RIGHT, PARAM) \
- GENLIST_PART_TEXTBLOCK(NAME, \
- GENLIST_DESCRIPTION(LEFT, RIGHT, "elm.padding.top", "elm.padding.bottom", \
- min: 0 HEIGHT; \
- fixed: 1 0; \
- GENLIST_PARAM_LISTITEM_TB \
- PARAM \
- ) \
- GENLIST_DESCRIPTION_LISTITEM_OTHERS_TB \
- )
-
-#define GENLIST_PART_SUBITEM_(NAME, HEIGHT, LEFT, RIGHT, TOP, BOTTOM, PARAM) \
- GENLIST_PART_TEXT(NAME, \
- GENLIST_DESCRIPTION(LEFT, RIGHT, TOP, BOTTOM, \
- min: 0 HEIGHT; \
- GENLIST_PARAM_SUBITEM_DEFAULT \
- PARAM \
- ) \
- GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS \
- )
-
-#define GENLIST_PART_SUBITEM(NAME, DESCRIPTION) \
- GENLIST_PART_TEXT(NAME, \
- DESCRIPTION \
- GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS \
- )
-
-#define GENLIST_PART_SUBITEM_TB(NAME, DESCRIPTION) \
- GENLIST_PART_TEXTBLOCK(NAME, \
- DESCRIPTION \
- GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS_TB \
- )
-
-#define GENLIST_PART_SUBITEM_R(NAME, HEIGHT, RIGHT) \
- GENLIST_PART_TEXT(NAME, \
- GENLIST_DESCRIPTION_RTB(RIGHT, "elm.padding.top", "elm.padding.bottom", \
- min: 0 HEIGHT; \
- fixed: 1 0; \
- GENLIST_PARAM_TEXT_LIMIT_RB \
- GENLIST_PARAM_SUBITEM_DEFAULT \
- ) \
- GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS \
- )
-
-#define GENLIST_PART_SUBITEM_R_TB(NAME, HEIGHT, RIGHT) \
- GENLIST_PART_TEXTBLOCK(NAME, \
- GENLIST_DESCRIPTION_RTB(RIGHT, "elm.padding.top", "elm.padding.bottom", \
- min: 0 HEIGHT; \
- fixed: 1 0; \
- GENLIST_PARAM_TEXT_LIMIT_RB \
- GENLIST_PARAM_SUBITEM_DEFAULT_TB \
- ) \
- GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS_TB \
- )
-
-#define GENLIST_PART_SUBITEM_RB(NAME, HEIGHT, RIGHT, BOTTOM) \
- GENLIST_PART_TEXT(NAME, \
- GENLIST_DESCRIPTION_RB(RIGHT, BOTTOM, \
- min: 0 HEIGHT; \
- fixed: 1 1; \
- GENLIST_PARAM_TEXT_LIMIT_RB \
- GENLIST_PARAM_SUBITEM_DEFAULT \
- ) \
- GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS \
- )
-
-#define GENLIST_PART_SUBITEM_RB_TB(NAME, HEIGHT, RIGHT, BOTTOM) \
- GENLIST_PART_TEXTBLOCK(NAME, \
- GENLIST_DESCRIPTION_RB(RIGHT, BOTTOM, \
- min: 0 HEIGHT; \
- GENLIST_PARAM_TEXT_LIMIT_RB \
- fixed: 1 1; \
- GENLIST_PARAM_SUBITEM_DEFAULT_TB \
- ) \
- GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS_TB \
- )
-
-#define GENLIST_PART_SUBITEM_TB_(NAME, HEIGHT, LEFT, RIGHT, TOP, BOTTOM) \
- GENLIST_PART_TEXTBLOCK(NAME, \
- GENLIST_DESCRIPTION(LEFT, RIGHT, TOP, BOTTOM, \
- min: 0 HEIGHT; \
- GENLIST_PARAM_SUBITEM_DEFAULT_TB \
- ) \
- GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS_TB \
- )
-
-#define GENLIST_PART_SUBITEM_R_FIXED(NAME, WIDTH, HEIGHT, RIGHT) \
- GENLIST_PART_TEXT(NAME, \
- GENLIST_DESCRIPTION_RTB(RIGHT, "elm.padding.top", "elm.padding.bottom", \
- min: WIDTH HEIGHT; \
- fixed: 1 1; \
- GENLIST_PARAM_SUBITEM_DEFAULT \
- ) \
- GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS \
- )
-
-#define GENLIST_PART_SUBITEM_R_FIXED_TB(NAME, WIDTH, HEIGHT, RIGHT) \
- GENLIST_PART_TEXTBLOCK(NAME, \
- GENLIST_DESCRIPTION_R(RIGHT, \
- min: WIDTH HEIGHT; \
- fixed: 1 0; \
- GENLIST_PARAM_SUBITEM_DEFAULT_TB \
- ) \
- GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS_TB \
- )
-
-#define GENLIST_PART_SUBITEM_L_FIXED(NAME, WIDTH, HEIGHT, LEFT) \
- GENLIST_PART_TEXT(NAME, \
- GENLIST_DESCRIPTION_LTB(LEFT, "elm.padding.top", "elm.padding.bottom", \
- min: WIDTH HEIGHT; \
- fixed: 1 1; \
- GENLIST_PARAM_SUBITEM_DEFAULT \
- ) \
- GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS \
- )
-
-#define GENLIST_PART_SUBITEM_LR(NAME, HEIGHT, LEFT, RIGHT, PARAM) \
- GENLIST_PART_TEXT(NAME, \
- GENLIST_DESCRIPTION(LEFT, RIGHT, "elm.padding.top", "elm.padding.bottom", \
- min: 0 HEIGHT; \
- GENLIST_PARAM_SUBITEM_DEFAULT \
- PARAM \
- ) \
- GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS \
- )
-
-#define GENLIST_PART_SUBITEM_LR_TB(NAME, HEIGHT, LEFT, RIGHT) \
- GENLIST_PART_TEXTBLOCK(NAME, \
- GENLIST_DESCRIPTION_LR(LEFT, RIGHT, \
- min: 0 HEIGHT; \
- GENLIST_PARAM_SUBITEM_DEFAULT_TB \
- ) \
- GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS_TB \
- )
-
-#define GENLIST_PART_SUBITEM_LB(NAME, HEIGHT, LEFT, RIGHT) \
- GENLIST_PART_TEXT(NAME, \
- GENLIST_DESCRIPTION_LB(LEFT, BOTTOM, \
- min: 0 HEIGHT; \
- GENLIST_PARAM_SUBITEM_DEFAULT_TB \
- ) \
- GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS_TB \
- )
-
-#define GENLIST_PART_SUBITEM_LRB(NAME, HEIGHT, LEFT, RIGHT, BOTTOM) \
- GENLIST_PART_TEXT(NAME, \
- GENLIST_DESCRIPTION_LRB(LEFT, RIGHT, BOTTOM, \
- min: 0 HEIGHT; \
- GENLIST_PARAM_SUBITEM_DEFAULT \
- fixed: 0 1; \
- ) \
- GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS \
- )
-
-#define GENLIST_PART_SUBITEM_SETTINGS_LRB(NAME, HEIGHT, LEFT, RIGHT, BOTTOM, PARAM) \
- GENLIST_PART_TEXT(NAME, \
- GENLIST_DESCRIPTION_LRB(LEFT, RIGHT, BOTTOM, \
- min: 0 HEIGHT; \
- fixed: 1 1; /*FIXME: why text need this, but textblock doesn't */ \
- GENLIST_PARAM_SUBITEM_SETTINGS\
- PARAM; \
- ) \
- GENLIST_DESCRIPTION_SUBITEM_SETTINGS_OTHERS \
- )
-
-#define GENLIST_PART_SUBITEM_LRB_TB(NAME, HEIGHT, LEFT, RIGHT, BOTTOM) \
- GENLIST_PART_TEXTBLOCK(NAME, \
- GENLIST_DESCRIPTION_LRB(LEFT, RIGHT, BOTTOM, \
- min: 0 HEIGHT; \
- GENLIST_PARAM_SUBITEM_DEFAULT_TB \
- fixed: 0 1; \
- ) \
- GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS_TB \
- )
-
-#define GENLIST_PART_SUBITEM_SETTINGS_LRB_TB(NAME, HEIGHT, LEFT, RIGHT, BOTTOM) \
- GENLIST_PART_TEXTBLOCK(NAME, \
- GENLIST_DESCRIPTION_LRB(LEFT, RIGHT, BOTTOM, \
- min: 0 HEIGHT; \
- GENLIST_PARAM_SUBITEM_SETTINGS_TB \
- fixed: 0 1; \
- ) \
- GENLIST_DESCRIPTION_SUBITEM_SETTINGS_OTHERS_TB \
- )
-
-#define GENLIST_PART_SUBITEM_LRT(NAME, HEIGHT, LEFT, RIGHT, TOP) \
- GENLIST_PART_TEXT(NAME, \
- GENLIST_DESCRIPTION_LRT(LEFT, RIGHT, TOP, \
- min: 0 HEIGHT; \
- fixed: 0 1; \
- GENLIST_PARAM_SUBITEM_DEFAULT \
- ) \
- GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS \
- )
-
-#define GENLIST_PART_SUBITEM_SETTINGS_LRT(NAME, HEIGHT, LEFT, RIGHT, TOP) \
- GENLIST_PART_TEXT(NAME, \
- GENLIST_DESCRIPTION_LRT(LEFT, RIGHT, TOP, \
- min: 0 HEIGHT; \
- fixed: 0 1; \
- GENLIST_PARAM_SUBITEM_SETTINGS \
- ) \
- GENLIST_DESCRIPTION_SUBITEM_SETTINGS_OTHERS \
- )
-
-#define GENLIST_PART_SUBITEM_LTB(NAME, HEIGHT, LEFT, TOP, BOTTOM) \
- GENLIST_PART_TEXT(NAME, \
- GENLIST_DESCRIPTION_LTB(LEFT, TOP, BOTTOM, \
- min: 0 HEIGHT; \
- fixed: 1 1; /*FIXME: why text need this, but textblock doesn't */ \
- GENLIST_PARAM_SUBITEM_DEFAULT \
- ) \
- GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS \
- )
-
-#define GENLIST_PART_SUBITEM_RTB_LIMIT(NAME, HEIGHT, RIGHT, TOP, BOTTOM, LIMIT) \
- GENLIST_PART_TEXT(NAME, \
- GENLIST_DESCRIPTION_RTB(RIGHT, TOP, BOTTOM, \
- min: 0 HEIGHT; \
- GENLIST_PARAM_TEXT_LIMIT_RT_(LIMIT) \
- GENLIST_PARAM_SUBITEM_DEFAULT \
- fixed: 1 0; \
- ) \
- GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS \
- )
-
-#define GENLIST_PART_SUBITEM_RTB_LIMIT_TB(NAME, HEIGHT, RIGHT, TOP, BOTTOM, LIMIT) \
- GENLIST_PART_TEXTBLOCK(NAME, \
- GENLIST_DESCRIPTION_RTB(RIGHT, TOP, BOTTOM, \
- min: 0 HEIGHT; \
- GENLIST_PARAM_TEXT_LIMIT_RT_(LIMIT) \
- GENLIST_PARAM_SUBITEM_DEFAULT_TB \
- fixed: 1 0; \
- ) \
- GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS_TB \
- )
-
-#define GENLIST_PART_SUBITEM_RTB(NAME, HEIGHT, RIGHT, TOP, BOTTOM) \
- GENLIST_PART_TEXT(NAME, \
- GENLIST_DESCRIPTION_RTB(RIGHT, TOP, BOTTOM, \
- min: 0 HEIGHT; \
- GENLIST_PARAM_TEXT_LIMIT_RT \
- GENLIST_PARAM_SUBITEM_DEFAULT \
- fixed: 1 0; \
- ) \
- GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS \
- )
-
-#define GENLIST_PART_SUBITEM_RTB_TB(NAME, HEIGHT, RIGHT, TOP, BOTTOM) \
- GENLIST_PART_TEXTBLOCK(NAME, \
- GENLIST_DESCRIPTION_RTB(RIGHT, TOP, BOTTOM, \
- min: 0 HEIGHT; \
- GENLIST_PARAM_TEXT_LIMIT_RT \
- GENLIST_PARAM_SUBITEM_DEFAULT_TB \
- fixed: 1 0; \
- ) \
- GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS_TB \
- )
-
-#define GENLIST_PART_SUBITEM_02_RTB(NAME, HEIGHT, RIGHT, TOP, BOTTOM) \
- GENLIST_PART_TEXT(NAME, \
- GENLIST_DESCRIPTION_RTB(RIGHT, TOP, BOTTOM, \
- min: 0 HEIGHT; \
- GENLIST_PARAM_TEXT_LIMIT_RT \
- GENLIST_PARAM_SUBITEM_02 \
- fixed: 1 0; \
- ) \
- GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS \
- )
-
-#define GENLIST_PARAM_LIST_BUBBLE_TEXT \
- color: GENLIST_LIST_BUBBLE_TEXT_COLOR; \
- text { \
- align: 1 0.5; \
- min: 0 1; \
- font: "Tizen:style=Bold"; \
- size: GENLIST_LIST_BUBBLE_TEXT_SIZE; \
- text_class: "tizen"; \
- }
-
-// FIXME: Need to find why rel2.offset: 9 -1 will not fix the alignment of bubble text ?
-#define GENLIST_PART_LIST_BUBBLE_TEXT_RTB(NAME, HEIGHT, RIGHT, TOP, BOTTOM) \
- GENLIST_PART_IMAGE("elm.bubble", \
- mouse_events: 0; \
- GENLIST_DESCRIPTION_ENVELOP(NAME, \
- image { \
- normal: "00_list_bubble_bg.png"; \
- border: 8 8 0 0; \
- } \
- rel1.offset: -10 0; \
- rel2.offset: 8 -1; \
- min: 48 38; \
- max: -1 38; \
- fixed: 0 1; \
- color: GENLIST_LIST_BUBBLE_COLOR; \
- ) \
- description { state: "selected" 0.0; \
- inherit: "default" 0.0; \
- color: GENLIST_LIST_BUBBLE_PRESS_COLOR; \
- } \
- ) \
- GENLIST_PART_TEXT(NAME, \
- GENLIST_DESCRIPTION_RTB(RIGHT, TOP, BOTTOM, \
- min: 0 HEIGHT; \
- GENLIST_PARAM_TEXT_LIMIT_RT \
- rel2.offset: -10 -1; /* This maintain the text alignment with bubble text. */\
- GENLIST_PARAM_LIST_BUBBLE_TEXT \
- ) \
- description { state: "selected" 0.0; \
- inherit: "default" 0.0; \
- color: GENLIST_LIST_BUBBLE_TEXT_FOCUS_COLOR; \
- } \
- )
-
-#define GENLIST_POPUP_STYLE(NAME) \
- group { GENLIST_NAME(NAME"/popup/default") \
- inherit: "elm/genlist/item/"NAME"/default"; \
- images { \
- image: "00_popup_list_press.png" COMP; \
- } \
- parts { \
- GENLIST_PART_SPACER("bg_left_top_padding", \
- description { state: "default" 0.0; \
- min: 4 4; \
- fixed: 1 1; \
- align: 0 0; \
- rel2.relative: 0 0; \
- } \
- ) \
- GENLIST_PART_SPACER("bg_right_bottom_padding", \
- description { state: "default" 0.0; \
- min: 4 5; \
- fixed: 1 1; \
- align: 1 1; \
- rel1.relative: 1 1; \
- } \
- ) \
- GENLIST_PART_IMAGE("bg", \
- description { state: "default" 0.0; \
- image { \
- normal: "00_popup_list_press.png"; \
- border: 8 8 8 8; \
- border_scale: 1; \
- } \
- rel1 { \
- relative: 1 1; \
- to_x: "bg_left_top_padding"; \
- to_y: "bg_left_top_padding"; \
- } \
- rel2 { \
- relative: 0 0; \
- to_x: "bg_right_bottom_padding"; \
- to_y: "bg_right_bottom_padding"; \
- } \
- color: GENLIST_LIST_BG_POPUP_COLOR; \
- } \
- description { state: "disabled" 0.0; \
- inherit: "default" 0.0; \
- color: GENLIST_LIST_BG_POPUP_COLOR; \
- } \
- description { state: "selected" 0.0; \
- inherit: "default" 0.0; \
- color: GENLIST_LIST_BG_POPUP_PRESS_COLOR; \
- } \
- ) \
- GENLIST_PART_RECT("bottom_line", \
- description { state: "default" 0.0; \
- color: GENLIST_LIST_LINE1_POPUP_COLOR; \
- rel1.to: "bottom_line2"; \
- rel2.to: "bottom_line2"; \
- rel2.relative: 1 0; \
- } \
- description { state: "disabled" 0.0; \
- inherit: "default" 0.0; \
- visible: 0; \
- } \
- ) \
- GENLIST_PART_RECT("bottom_line2", \
- description { state: "default" 0.0; \
- color: GENLIST_LIST_LINE2_POPUP_COLOR; \
- rel1.to_x: "bg"; \
- rel2.to_x: "bg"; \
- rel1.offset: 1 0; \
- rel2.offset: -2 -1; \
- } \
- description { state: "disabled" 0.0; \
- inherit: "default" 0.0; \
- visible: 0; \
- } \
- ) \
- GENLIST_PART_RECT("sound", \
- repeat_events: 1; /*for play_sound to check selected state*/ \
- description { state: "default" 0.0; \
- color: 0 0 0 0; \
- } \
- ) \
- } \
- programs { \
- program { name : "hide_bottomline"; \
- signal: "elm,state,bottomline,hide"; \
- source: ""; \
- action: STATE_SET "disabled" 0.0; \
- target: "bottom_line"; \
- target: "bottom_line2"; \
- } \
- program { name : "show_bottomline"; \
- signal: "elm,state,bottomline,show"; \
- source: ""; \
- action: STATE_SET "default" 0.0; \
- target: "bottom_line"; \
- target: "bottom_line2"; \
- } \
- } \
- }
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.
- *
- */
-
- group { name: "elm/progressbar/horizontal/music_player/list_progressive";
- images {
- image: "genlist/01_processing_list_bg.png" COMP;
- image: "genlist/01_processing_list_processing_bg_left.png" COMP;
- image: "genlist/01_processing_list_processing_light.png" COMP;
- }
- parts {
- part { name: "elm.background.progressbar";
- mouse_events: 0;
- scale: 1;
- type: RECT;
- description {
- state: "default" 0.0;
- rel1 {
- relative: 0.0 0.0;
- offset: 0 0;
- }
- rel2 {
- relative: 1.0 1.0;
- }
- }
- }
- part { name: "elm.swallow.bar";
- mouse_events: 0;
- scale: 1;
- type: SWALLOW;
- description {
- min: 0 92;
- max: 99999 92;
- state: "default" 0.0;
- rel1 {
- to_y: "elm.background.progressbar";
- relative: 0.0 0.0;
- }
- rel2 {
- to: "elm.background.progressbar";
- relative: 1.0 1.0;
- }
- }
- }
- part { name: "elm.swallow.content";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- visible: 0;
- align: 0.0 0.5;
- rel1 {
- offset: 0 0;
- to_y: "elm.background.progressbar";
- }
- rel2 {
- offset: 0 -1;
- relative: 0.0 1.0;
- to_y: "elm.background.progressbar";
- }
- }
- description { state: "visible" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- aspect: 1.0 1.0;
- aspect_preference: VERTICAL;
- rel2.offset: 0 -1;//4 -1;
- }
- }
- part { name: "background";
- mouse_events: 0;
- scale: 1;
- clip_to: "elm.background.progressbar";
- description {
- state: "default" 0.0;
- rel1 {
- to: "elm.swallow.bar";
- relative: 0.0 0.0;
- }
- rel2 {
- to: "elm.swallow.bar";
- relative: 1.0 1.0;
- offset: -1 -1;
- }
- image {
- normal: "genlist/01_processing_list_bg.png";
- border: 0 0 0 0;
- }
- }
- }
- part { name: "elm.text.status";
- type: TEXT;
- scale: 1;
- mouse_events: 0;
- description { state: "default" 0.0;
- fixed: 1 1;
- visible: 0;
- rel1 {
- to: "background";
- relative: 0.5 0.5;
- }
- rel2 {
- to: "background";
- relative: 0.5 0.5;
- }
- text {
- font: "GP45_ArabCJK_TouchWiz";
- size: 25;
- min: 0 0;
- align: 0.5 0.0;
- }
- color: 255 255 255 255;
- }
- description { state: "show" 0.0;
- inherit: "default" 0.0;
- visible: 0;
- text.min: 1 1;
- }
- }
-
- part { name: "elm.progress.progressbar";
- mouse_events: 0;
- scale: 1;
- clip_to: "elm.background.progressbar";
- description {
- state: "default" 0.0;
- min: 0 0;
- fixed: 1 0;
- rel1 {
- to: "elm.swallow.bar";
- relative: 0.0 0.0;
- }
- rel2 {
- to_y: "elm.swallow.bar";
- to_x: "elm.cur.progressbar";
- offset: -1 -1;
- }
- image {
- normal: "genlist/01_processing_list_processing_bg_left.png";
- border: 0 0 2 2;
- }
- }
- description {
- state: "invert" 0.0;
- inherit: "default" 0.0;
- rel1 {
- to_y: "elm.swallow.bar";
- to_x: "elm.cur.progressbar";
- }
- rel2 {
- to: "elm.swallow.bar";
- relative: 1.0 1.0;
- }
- }
- description {
- state: "state_begin" 0.0;
- inherit: "default" 0.0;
- rel1 {
- to: "elm.swallow.bar";
- relative: 0.0 0.0;
- }
- rel2 {
- to: "elm.swallow.bar";
- relative: 0.1 1.0;
- }
- }
- description {
- state: "state_end" 0.0;
- inherit: "default" 0.0;
- rel1 {
- to: "elm.swallow.bar";
- relative: 0.9 0.0;
- }
- rel2 {
- to: "elm.swallow.bar";
- relative: 1.0 1.0;
- }
- }
- }
- part { name: "elm.progress.tail";
- mouse_events: 0;
- scale: 1;
- clip_to: "elm.background.progressbar";
- description {
- state: "default" 0.0;
- rel1 {
- to: "elm.progress.progressbar";
- relative: 1.0 0.0;
- }
- rel2 {
- to: "elm.progress.progressbar";
- offset: 64 -1;
- }
- image.normal: "genlist/01_processing_list_processing_light.png";
- }
- }
- part { name: "text-bar";
- type: TEXT;
- mouse_events: 0;
- scale: 1;
- clip_to: "progress-rect";
- effect: SOFT_SHADOW;
- scale: 1;
- description { state: "default" 0.0;
- align: 0.0 0.0;
- fixed: 1 1;
- visible: 0;
- rel1.to: "elm.text.status";
- rel1.offset: -1 -1;
- rel2.to: "elm.text.status";
- text {
- text_source: "elm.text.status";
- font: "GP45_ArabCJK_TouchWiz";
- size: 10;
- min: 0 0;
- align: 0.0 0.0;
- }
- color: 224 224 224 255;
- color3: 0 0 0 64;
- }
- description { state: "show" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- text.min: 1 1;
- }
- }
- part { name: "elm.cur.progressbar";
- mouse_events: 0;
- scale: 1;
- dragable {
- confine: "background";
- x: 1 1 1;
- y: 0 0 0;
- }
- description { state: "default" 0.0;
- min: 0 28;
- fixed: 1 1;
- visible: 0;
- rel1 {
- to: "background";
- relative: 0 0;
- }
- rel2.to: "background";
- }
- }
- part { name: "progress-rect";
- mouse_events: 0;
- scale: 1;
- type: RECT;
- description {
- state: "default" 0.0;
- rel1.to: "elm.progress.progressbar";
- rel2.to: "elm.progress.progressbar";
- }
- }
-
- part { name: "elm.padding.left";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 20 0;
- fixed: 1 0;
- rel1 {
- relative: 0.0 0.0;
- offset: 0 0;
- }
- rel2 {
- relative: 0.0 1.0;
- offset: 0 0;
- }
- color: 0 0 0 0;
- align: 0.0 0.0;
- }
- }
-
- part { name: "elm.text";
- type: TEXT;
- mouse_events: 0;
- scale: 1;
- description { state: "default" 0.0;
- visible: 0;
- fixed: 1 1;
- align: 0.0 0.5;
- rel1 {
- to_x: "elm.padding.left";
- relative: 1.0 0.0;
- offset: 0 0;
- }
- rel2 {
- relative: 1.0 1.0;
- offset: 0 0;
- }
- color: 255 255 255 255;
- text {
- font: "GP45_ArabCJK_TouchWiz";
- size: 34;
- min: 0 0;
- align: 0.0 0.5;
- }
- }
- description { state: "visible" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- text.min: 1 1;
- }
- }
- }
- programs {
- program { name: "label_show";
- signal: "elm,state,text,visible";
- source: "elm";
- action: STATE_SET "visible" 0.0;
- target: "elm.text";
- }
- program { name: "label_hide";
- signal: "elm,state,text,hidden";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "elm.text";
- }
- program { name: "icon_show";
- signal: "elm,state,icon,visible";
- source: "elm";
- action: STATE_SET "visible" 0.0;
- target: "elm.swallow.content";
- }
- program { name: "icon_hide";
- signal: "elm,state,icon,hidden";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "elm.swallow.content";
- }
- program { name: "units_show";
- signal: "elm,state,units,visible";
- source: "elm";
- action: STATE_SET "show" 0.0;
- target: "text-bar";
- target: "elm.text.status";
- }
- program { name: "units_hide";
- signal: "elm,state,units,hidden";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "text-bar";
- target: "elm.text.status";
- }
- program { name: "slide_to_end";
- action: STATE_SET "state_end" 0.0;
- transition: LINEAR 0.5;
- target: "elm.progress.progressbar";
- after: "slide_to_begin";
- }
- program { name: "slide_to_begin";
- signal: "elm,state,slide,begin";
- action: STATE_SET "state_begin" 0.0;
- target: "elm.progress.progressbar";
- transition: LINEAR 0.5;
- after: "slide_to_end";
- }
- program { name: "start_pulse";
- signal: "elm,state,pulse,start";
- source: "elm";
- after: "slide_to_end";
- }
- program { name: "stop_pulse";
- signal: "elm,state,pulse,stop";
- source: "elm";
- action: ACTION_STOP;
- target: "slide_to_begin";
- target: "slide_to_end";
- target: "start_pulse";
- after: "state_pulse";
- }
- program { name: "state_pulse";
- signal: "elm,state,pulse";
- source: "elm";
- action: STATE_SET "state_begin" 0.0;
- target: "elm.progress.progressbar";
- after: "units_hide";
- }
- program { name: "state_fraction";
- signal: "elm,state,fraction";
- source: "elm";
- action: ACTION_STOP;
- target: "slide_to_begin";
- target: "slide_to_end";
- target: "start_pulse";
- action: STATE_SET "default" 0.0;
- target: "elm.progress.progressbar";
- }
- program { name: "set_invert_on";
- signal: "elm,state,inverted,on";
- source: "elm";
- action: STATE_SET "invert" 0.0;
- target: "elm.progress.progressbar";
- }
- program { name: "set_invert_off";
- signal: "elm,state,inverted,off";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "elm.progress.progressbar";
- }
- }
- }
-
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 SWIPE_TRANSIT SIN_FAC 0.667 0.8
-
-#define SWIPE_THRESH_X 120
-#define SWIPE_THRESH_Y 30
-
-#define SWIPE_OVERLAP_SIZE 216
-#define SWIPE_BORDER_SIZE 215
-
-#define SWIPE_COLOR_OTHER "B041P"
-#define SWIPE_COLOR_CALL "B0232"
-#define SWIPE_COLOR_MESSAGE "B0233"
-
-// state: normal(0)->start,right( 1)->rollback,right ( 3), swipe,right ( 2)-> normal(0)
-// ->start,left (-1)->rollback,right (-3), swipe,right (-2)->
-#define GENLIST_SWIPE_SCRIPTS \
- script { \
- public _state; \
- public x1, y1; \
- public cleanup() { \
- set_int(_state, 0); \
- set_int(x1, 0); \
- set_int(y1, 0); \
- set_drag(PART:"drag_part", 0, 0); \
- set_state(PART:"drag_part", "default", 0.0); \
- set_state(PART:"drag_part_left", "default", 0.0); \
- set_state(PART:"drag_part_right", "default", 0.0); \
- set_state(PART:"elm.text.swipe.left", "default", 0.0); \
- set_state(PART:"elm.text.swipe.right", "default", 0.0); \
- set_state(PART:"elm.image.swipe.left", "default", 0.0); \
- set_state(PART:"elm.image.swipe.right", "default", 0.0); \
- set_state(PART:"swipe_temp_disabler", "default", 0.0); \
- } \
- }
-
-#define GENLIST_SWIPE_IMAGES \
- image : "00_icon_call.png" COMP; \
- image : "00_icon_message.png" COMP; \
- image : "00_list_swipe_right.#.png" COMP; \
- image : "00_list_swipe_left.#.png" COMP;
-
-#define GENLIST_SWIPE_PARTS \
- part { name: "drag_part"; \
- type: RECT; \
- scale: 1; \
- repeat_events: 1; \
- dragable { \
- x: 1 1 0; \
- y: 0 0 0; \
- } \
- description { state: "default" 0.0; \
- color: 0 0 0 0; \
- rel1.offset: -SWIPE_OVERLAP_SIZE 0; \
- rel2.offset: SWIPE_OVERLAP_SIZE 0; \
- } \
- description { state: "disable" 0.0; \
- inherit: "default" 0.0; \
- visible: 0; \
- } \
- description { state: "start_right" 0.0; \
- inherit: "default" 0.0; \
- color: 255 255 255 255; \
- color_class: SWIPE_COLOR_OTHER; \
- } \
- description { state: "right_end" 0.0; \
- inherit: "start_right"; \
- rel1.relative: 1 0; \
- } \
- description { state: "right_rollback" 0.0; \
- inherit: "start_right" 0.0; \
- rel1.relative: -1 0; \
- color: 0 0 0 0; \
- } \
- description { state: "start_left" 0.0; \
- inherit: "default" 0.0; \
- color: 255 255 255 255; \
- color_class: SWIPE_COLOR_OTHER; \
- } \
- description { state: "left_end" 0.0; \
- inherit: "start_left" 0.0; \
- rel2.relative: 0 1; \
- } \
- description { state: "left_rollback" 0.0; \
- inherit: "start_left" 0.0; \
- rel2.relative: 2 1; \
- color: 0 0 0 0; \
- } \
- } \
- part { name: "drag_part_left"; \
- type: IMAGE; \
- scale: 1; \
- mouse_events: 0; \
- description { state: "default" 0.0; \
- color: 0 0 0 0; \
- rel1 { \
- relative: -999 0; \
- } \
- rel2 { \
- to_x: "drag_part"; \
- relative: 0 1; \
- offset: SWIPE_OVERLAP_SIZE 0; \
- } \
- image { \
- normal: "00_list_swipe_left.#.png"; \
- border: 0 SWIPE_BORDER_SIZE 53 53; \
- border_scale: 1; \
- } \
- } \
- description { state: "start_right" 0.0; \
- inherit: "default"; \
- color: 255 255 255 255; \
- color_class: SWIPE_COLOR_CALL; \
- } \
- description { state: "start_left" 0.0; \
- inherit: "default"; \
- color: 255 255 255 255; \
- color_class: SWIPE_COLOR_CALL; \
- } \
- } \
- part { name: "drag_part_right"; \
- type: IMAGE; \
- scale: 1; \
- mouse_events: 0; \
- description { state: "default" 0.0; \
- color: 0 0 0 0; \
- rel1 { \
- to_x: "drag_part"; \
- relative: 1 0; \
- offset: -SWIPE_OVERLAP_SIZE 0; \
- } \
- rel2 { \
- relative: 999 1; \
- } \
- image { \
- normal: "00_list_swipe_right.#.png"; \
- border: SWIPE_BORDER_SIZE 0 53 53; \
- border_scale: 1; \
- } \
- } \
- description { state: "start_right" 0.0; \
- inherit: "default"; \
- color: 255 255 255 255; \
- color_class: SWIPE_COLOR_MESSAGE; \
- } \
- description { state: "start_left" 0.0; \
- inherit: "default"; \
- color: 255 255 255 255; \
- color_class: SWIPE_COLOR_MESSAGE; \
- } \
- } \
- part { name: "swipe_temp_disabler"; \
- type: RECT; \
- scale:1; \
- repeat_events: 0; \
- description { state: "default" 0.0; \
- visible: 0; \
- color: 0 0 0 0; \
- } \
- description { state: "enable" 0.0; \
- inherit: "default"; \
- visible: 1; \
- } \
- } \
- part { name: "elm.image.swipe.left"; \
- type: IMAGE; \
- scale: 1; \
- mouse_events: 0; \
- description { state: "default" 0.0; \
- visible: 0; \
- color_class: "F011L1P"; \
- image.normal: "00_icon_message.png"; \
- rel1 { \
- to_x: "elm.padding.left"; \
- relative: 1 0; \
- } \
- rel2 { \
- to_x: "elm.padding.right"; \
- relative: 1 1; \
- } \
- align: 0 0.5; \
- fixed: 1 1; \
- min: 81 81; \
- max: 81 81; \
- } \
- description { state: "start_left" 0.0; \
- inherit: "default" 0.0; \
- visible: 1; \
- color: 255 255 255 255; \
- } \
- description { state: "start_right" 0.0; \
- inherit: "default" 0.0; \
- } \
- description { state: "right_rollback" 0.0; \
- inherit: "default" 0.0; \
- color: 0 0 0 0; \
- } \
- description { state: "left_rollback" 0.0; \
- inherit: "default" 0.0; \
- color: 0 0 0 0; \
- } \
- } \
- part { name: "elm.image.swipe.right"; \
- type: IMAGE; \
- scale: 1; \
- mouse_events: 0; \
- description { state: "default" 0.0; \
- image.normal: "00_icon_call.png"; \
- color_class: "F011L1P"; \
- visible: 0; \
- rel1 { \
- to_x: "elm.padding.right"; \
- relative: 0 0; \
- } \
- rel2 { \
- to_x: "elm.padding.right"; \
- relative: 0 1; \
- } \
- align: 1 0.5; \
- fixed: 1 1; \
- min: 81 81; \
- max: 81 81; \
- } \
- description { state: "start_right" 0.0; \
- inherit: "default" 0.0; \
- visible: 1; \
- color: 255 255 255 255; \
- } \
- description { state: "start_left" 0.0; \
- inherit: "default" 0.0; \
- } \
- description { state: "right_rollback" 0.0; \
- inherit: "default" 0.0; \
- color: 0 0 0 0; \
- } \
- description { state: "left_rollback" 0.0; \
- inherit: "default" 0.0; \
- color: 0 0 0 0; \
- } \
- } \
- part { name: "elm.text.swipe.left"; \
- type: TEXT; \
- scale: 1; \
- mouse_events: 0; \
- description { state: "default" 0.0; \
- rel1 { \
- relative: 1 0; \
- to_x: "elm.image.swipe.left"; \
- } \
- visible: 0; \
- } \
- description { state: "start_left" 0.0; \
- inherit: "default"; \
- visible: 1; \
- align: 0.5 0.5; \
- color_class: "T023"; \
- text { \
- align: 0.5 0.5; \
- min: 0 1; \
- font: "Tizen:style=Regular"; \
- size: 44; \
- text_class: "T023"; \
- } \
- } \
- description { state: "start_right" 0.0; \
- inherit: "default" 0.0; \
- } \
- } \
- part { name: "elm.text.swipe.right"; \
- type: TEXT; \
- scale: 1; \
- mouse_events: 0; \
- description { state: "default" 0.0; \
- rel2 { \
- relative: 0 1; \
- to_x: "elm.image.swipe.right"; \
- } \
- visible: 0; \
- } \
- description { state: "start_right" 0.0; \
- inherit: "default" 0.0; \
- visible: 1; \
- align: 0.5 0.5; \
- color_class: "T023"; \
- text { \
- align: 0.5 0.5; \
- min: 0 1; \
- font: "Tizen:style=Regular"; \
- size: 44; \
- text_class: "T023"; \
- text: "Call"; \
- } \
- } \
- description { state: "start_left" 0.0; \
- inherit: "default" 0.0; \
- } \
- }
-
-#define GENLIST_SWIPE_PROGRAMS \
- program { name: "drag_up"; \
- signal: "mouse,up,1"; \
- source: "drag_part"; \
- script { \
- new x, y, w, h, ww, hh; \
- get_geometry(PART:"base", x, y, ww, hh); \
- get_geometry(PART:"drag_part", x, y, w, h); \
- x = x + SWIPE_OVERLAP_SIZE; \
- if (get_int(_state) == 1) { \
- if (x >= (ww/2)) { \
- set_int(_state, 3); \
- set_state(PART:"swipe_temp_disabler", "enable", 0.0); \
- run_program(PROGRAM:"end_move_right"); \
- } else { \
- set_int(_state, 2); \
- set_state(PART:"swipe_temp_disabler", "enable", 0.0); \
- set_state(PART:"elm.text.swipe.right", "default", 0.0); \
- set_state(PART:"elm.text.swipe.left", "default", 0.0); \
- run_program(PROGRAM:"end_rollback_right"); \
- } \
- } else if (get_int(_state) == -1) { \
- if (-x >= (ww/2)) { \
- set_int(_state, -3); \
- set_state(PART:"swipe_temp_disabler", "enable", 0.0); \
- run_program(PROGRAM:"end_move_left"); \
- } else { \
- set_int(_state, -2); \
- set_state(PART:"swipe_temp_disabler", "enable", 0.0); \
- set_state(PART:"elm.text.swipe.right", "default", 0.0); \
- set_state(PART:"elm.text.swipe.left", "default", 0.0); \
- run_program(PROGRAM:"end_rollback_left"); \
- } \
- } else cleanup(); \
- } \
- } \
- program { name: "drag_down"; \
- signal: "mouse,down,1"; \
- source: "drag_part"; \
- script { \
- new x, y; \
- get_mouse(x, y); \
- set_int(_state, 0); \
- set_int(x1, x); \
- set_int(y1, y); \
- } \
- } \
- program { name: "drag"; \
- signal: "drag"; \
- source: "drag_part"; \
- script { \
- new x2, y2; \
- get_mouse(x2, y2); \
- if (((y2 - get_int(y1)) >= SWIPE_THRESH_Y) || \
- ((y2 - get_int(y1)) <= -SWIPE_THRESH_Y)) \
- return; \
- if (get_int(_state) == 0) { \
- if ((x2 - get_int(x1)) >= SWIPE_THRESH_X) { \
- emit("elm,swipe,start", ""); \
- set_int(_state, 1); \
- run_program(PROGRAM:"start_right"); \
- } else if ((x2 - get_int(x1)) <= -SWIPE_THRESH_X) { \
- emit("elm,swipe,start", ""); \
- set_int(_state, -1); \
- run_program(PROGRAM:"start_left"); \
- } \
- } else if (get_int(_state) == -1) { \
- if (x2 > get_int(x1)) { \
- set_int(_state, 1); \
- run_program(PROGRAM:"start_right"); \
- }\
- } else if (get_int(_state) == 1) { \
- if (x2 < get_int(x1)) { \
- set_int(_state, -1); \
- run_program(PROGRAM:"start_left"); \
- } \
- } \
- } \
- } \
- program { name: "start_right"; \
- action: STATE_SET "start_right" 0.0; \
- target: "elm.image.swipe.right"; \
- target: "elm.image.swipe.left"; \
- target: "elm.text.swipe.right"; \
- target: "elm.text.swipe.left"; \
- target: "drag_part"; \
- target: "drag_part_left"; \
- target: "drag_part_right"; \
- } \
- program { name: "start_left"; \
- action: STATE_SET "start_left" 0.0; \
- target: "elm.image.swipe.right"; \
- target: "elm.image.swipe.left"; \
- target: "elm.text.swipe.right"; \
- target: "elm.text.swipe.left"; \
- target: "drag_part"; \
- target: "drag_part_left"; \
- target: "drag_part_right"; \
- } \
- program { name: "end_move_right"; \
- transition: SWIPE_TRANSIT; \
- action: STATE_SET "right_end" 0.0; \
- target: "drag_part"; \
- after: "right_ender"; \
- } \
- program { name: "end_move_left"; \
- transition: SWIPE_TRANSIT; \
- action: STATE_SET "left_end" 0.0; \
- target: "drag_part"; \
- after: "left_ender"; \
- } \
- program { name: "end_rollback_right"; \
- transition: SWIPE_TRANSIT; \
- action: STATE_SET "right_rollback" 0.0; \
- target: "elm.image.swipe.right"; \
- target: "elm.image.swipe.left"; \
- target: "drag_part"; \
- after: "rollback_ender"; \
- } \
- program { name: "end_rollback_left"; \
- transition: SWIPE_TRANSIT; \
- action: STATE_SET "left_rollback" 0.0; \
- target: "elm.image.swipe.right"; \
- target: "elm.image.swipe.left"; \
- target: "drag_part"; \
- after: "rollback_ender"; \
- } \
- program { name: "right_ender"; \
- script { \
- emit("elm,swipe,stop,right", ""); \
- cleanup(); \
- } \
- } \
- program { name: "left_ender"; \
- script { \
- emit("elm,swipe,stop,left", ""); \
- cleanup(); \
- } \
- } \
- program { name: "rollback_ender"; \
- source: ""; \
- script { \
- emit("elm,swipe,stop", ""); \
- cleanup(); \
- } \
- } \
- program { name: "swipe_revert"; \
- signal: "elm,swipe,revert"; \
- source: ""; \
- script { \
- if (get_int(_state) != 0) { \
- emit("elm,swipe,stop", ""); \
- }\
- cleanup(); \
- } \
- } \
- program { name: "swipe_disable"; \
- signal: "elm,swipe,disabled"; \
- source: ""; \
- script { \
- if (get_int(_state) != 0) { \
- emit("elm,swipe,stop", ""); \
- cleanup(); \
- }\
- set_state(PART:"drag_part", "disable", 0.0); \
- } \
- } \
- program { name: "swipe_enable"; \
- signal: "elm,swipe,enabled"; \
- source: ""; \
- script { \
- if (get_int(_state) != 0) { \
- emit("elm,swipe,stop", ""); \
- cleanup(); \
- }\
- set_state(PART:"drag_part", "default", 0.0); \
- } \
- } \
- program { name: "swipe_default"; \
- signal: "elm,state,default"; \
- source: "elm"; \
- script { \
- run_program(PROGRAM:"swipe_enable"); \
- } \
- } \
- program { name: "swipe_disable_state"; \
- signal: "elm,state,disabled"; \
- source: "elm"; \
- script { \
- run_program(PROGRAM:"swipe_disable"); \
- } \
- } \
-
-group { GENLIST_NAME("1text/swipe/default")
- GENLIST_PROLOG_NORMAL
- images {
- image : "00_focus.png" COMP;
- }
- GENLIST_SWIPE_SCRIPTS
- GENLIST_SWIPE_IMAGES
-
- data.item: "texts" "elm.text elm.text.swipe.left elm.text.swipe.right";
- data.item: "contents" "elm.icon";
- data.item: "bg" "bg";
-
- parts {
- GENLIST_PART_BASE
- GENLIST_PART_BG_NORMAL
- GENLIST_PART_BOTTOM_LINE
- GENLIST_PART_PADDING_LEFT
- GENLIST_PART_PADDING_RIGHT
- GENLIST_PART_PADDING_TOP
- GENLIST_PART_PADDING_BOTTOM
-
- GENLIST_PART_LISTITEM_("elm.text", GENLIST_HEIGHT_1LINE,
- "elm.icon", "elm.padding.right",
- "elm.padding.top", "elm.padding.bottom",
- )
- GENLIST_PART_ICON_MEDIUM_L("elm.icon", "elm.padding.left")
- GENLIST_PART_FLIP
- GENLIST_PART_FOCUS_NORMAL
- GENLIST_SWIPE_PARTS
- }
- GENLIST_PROGRAMS_NORMAL( target: "elm.text"; )
- GENLIST_SWIPE_PROGRAMS
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "genlist_macro.edc"
-
- styles {
- style { name: "textblock_style_variable_height";
- base: "font=Tizen:style=Bold font_size=35 align=left color=#00FF00FF ellipsis=1.0 text_class=tizen";
- tag: "br" "\n";
- tag: "hilight" "+ font=Tizen:style=Bold";
- tag: "b" "+ font=Tizen:style=Bold";
- tag: "tab" "\t";
- }
- }
-
- group { name: "elm/genlist/item/variable_height/default/default";
-
- data.item: "texts" "elm.text";
- data.item: "contents" "elm.icon";
- data.item: "treesize" 0;
-
- parts {
- GENLIST_PART_BASE
- GENLIST_PART_BG_NORMAL
- GENLIST_PART_BOTTOM_LINE
- GENLIST_PART_PADDING_LEFT
- GENLIST_PART_PADDING_RIGHT
- GENLIST_PART_PADDING_TOP
- GENLIST_PART_PADDING_BOTTOM
-
- part { name: "elm.text";
- type: TEXTBLOCK;
- mouse_events: 0;
- scale: 1;
- description { state: "default" 0.0;
- align: 0.5 0.5;
- rel1 {
- relative: 1 1;
- to_x: "elm.padding.left";
- to_y: "elm.padding.top";
- }
- rel2 {
- relative: 0 0;
- to_x: "elm.padding.right";
- to_y: "elm.padding.bottom";
- }
- text {
- style: textblock_style_variable_height;
- min: 1 1;
- align: 0.5 0.5;
- }
- }
- }
- part { name: "elm.icon";
- type: SWALLOW;
- mouse_events: 1;
- scale: 1;
- description { state: "default" 0.0;
- align: 0.5 0.5;
- rel1 {
- relative: 1 1;
- to_x: "elm.padding.left";
- to_y: "elm.padding.top";
- }
- rel2 {
- relative: 0 0;
- to_x: "elm.padding.right";
- to_y: "elm.padding.bottom";
- }
- }
- }
- }
- }
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.
- *
- */
-
-group {
- name: "elmdemo-test/index";
- parts {
- part {
- name: "bg";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- color: 0 0 0 255;
- }
- }
- part {
- name: "scroller";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 {relative: 0.0 0.0; to: "bg";}
- rel2 {relative: 1.0 1.0; to: "bg";}
- align: 0.5 0.5;
- }
- }
- part {
- name: "controller";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 52;
- fixed: 0 1;
- align: 0.5 0.0;
- rel1 {relative: 0.0 0.0; }
- rel2 {relative: 1.0 0.0; }
- }
- }
- }
-}
-
-group {
- name: "elmdemo-test/pagecontrol/page";
- parts {
- part {
- name: "page";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- }
- }
- part {
- name: "text";
- type: TEXT;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- rel1.relative: 0.5 0.5;
- rel2.relative: 0.5 0.5;
- text {
- min: 1 1;
- size: 50;
- }
- color: 255 255 255 255;
- }
- }
- }
-}
-
-group {
- name: "elmdemo-test/index_slider";
- parts {
- part {
- name: "bg";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- }
- }
- part {
- name: "scroller";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 {relative: 0.0 0.0; to: "bg";}
- rel2 {relative: 1.0 1.0; to: "bg";}
- align: 0.5 0.5;
- }
- }
- part {
- name: "controller";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 272 56;
- max: 272 56;
- fixed: 1 1;
- align: 0.5 1.0;
- rel1 {relative: 0.0 0.0; to: "padding_bottom";}
- rel2 {relative: 0.0 1.0; to: "padding_bottom";}
- }
- }
- part {
- name: "controller_rect";
- type: SWALLOW;
- scale: 1;
- repeat_events: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- rel1.to: "controller";
- rel2.to: "controller";
- }
- }
- part {
- name: "padding_bottom";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 13 13;
- max: 13 13;
- fixed: 1 1;
- align: 0.5 1.0;
- rel1 {relative: 0.0 1.0; to: "bg";}
- rel2 {relative: 1.0 1.0; to: "bg";}
- }
- }
- }
-}
-
-group {
- name: "elmdemo-test/index_slider_popup";
- images {
- image : "B08_fast_scroll_number_bg.png" COMP;
- }
- parts {
- part { name: "text_bg";
- type: IMAGE;
- scale: 1;
- mouse_events: 0;
- description {
- state: "default" 0.0;
- min: 133 133;
- max: 133 133;
- fixed: 1 1;
- image.normal: "B08_fast_scroll_number_bg.png";
- }
- }
- part { name: "page_no";
- type: TEXT;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;;
- rel1.to: "text_bg";
- rel2.to: "text_bg";
- color: 250 250 250 255;
- text {
- font: FONT_BLD;
- size: 96;
- min: 1 1;
- align: 0.5 0.5;
- }
- }
- }
- }
-}
\ No newline at end of file
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 LABEL_WIDTH 350.0
-#define LABEL_HEIGHT 40.0
-#define LABEL_GAP 100.0
-
-group {
- name: "elmdemo-test/label";
- parts{
- part {
- name: "top_padding";
- type: RECT;
- scale: 1; //allow scaling
- description {
- state: "default" 0.0;
- min : LABEL_WIDTH 50; //minimum size for gap filler
- fixed: 0 1;
- rel1 { relative: 0 0; }
- rel2 { relative: 1 0; }
- align: 0 0;
- visible: 0;
- }
- }
- part {
- name: "label1_bg";
- type: RECT;
- description {
- color: 200 200 200 127;
- rel1.to:"label1";
- rel2.to:"label1";
- }
- }
- part {
- name: "label1";
- type: SWALLOW;
- scale: 1;
- description {
- fixed: 1 1;
- min: LABEL_WIDTH LABEL_HEIGHT;
- max: LABEL_WIDTH LABEL_HEIGHT;
- state: "default" 0.0;
- rel1 { relative: 0 1.0; to_y: "top_padding"; }
- align: 0.5 0;
- }
- }
- part {
- name: "label1_bottom_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min : LABEL_WIDTH LABEL_GAP;
- fixed: 0 1;
- rel1 { relative: 0 1.0; to_y: "label1"; }
- rel2 { relative: 1 1.0; to_y: "label1"; }
- visible: 0;
- }
- }
- part {
- name: "label2_bg";
- type: RECT;
- description {
- color: 200 200 200 127;
- rel1.to:"label2";
- rel2.to:"label2";
- }
- }
- part {
- name: "label2";
- type: SWALLOW;
- scale: 1;
- description {
- fixed: 1 0;
- min: LABEL_WIDTH LABEL_HEIGHT;
- max: LABEL_WIDTH LABEL_HEIGHT;
- state: "default" 0.0;
- rel1 { relative: 0 1.0; to_y: "label1_bottom_padding"; }
- align: 0.5 0;
- }
- }
- part {
- name: "label2_bottom_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min : 0 LABEL_GAP;
- fixed: 0 1;
- rel1 { relative: 0 1.0; to_y: "label2"; }
- rel2 { relative: 1 1.0; to_y: "label2"; }
- visible: 0;
- }
- }
- part {
- name: "label3_bg";
- type: RECT;
- description {
- color: 200 200 200 127;
- rel1.to:"label3";
- rel2.to:"label3";
- }
- }
- part {
- name: "label3";
- type: SWALLOW;
- scale: 1;
- description {
- fixed: 1 1;
- min: LABEL_WIDTH LABEL_HEIGHT;
- max: LABEL_WIDTH LABEL_HEIGHT;
- state: "default" 0.0;
- rel1 { relative: 0 1.0; to_y: "label2_bottom_padding"; }
- align: 0.5 0;
- }
- }
- part {
- name: "label3_bottom_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min : 0 LABEL_GAP;
- fixed: 0 1;
- rel1 { relative: 0 1.0; to_y: "label3"; }
- rel2 { relative: 1 1.0; to_y: "label3"; }
- visible: 0;
- }
- }
- part {
- name: "label4_bg";
- type: RECT;
- description {
- color: 200 200 200 127;
- rel1.to:"label4";
- rel2.to:"label4";
- }
- }
- part {
- name: "label4";
- type: SWALLOW;
- scale: 1;
- description {
- fixed: 1 1;
- min: LABEL_WIDTH LABEL_HEIGHT;
- max: LABEL_WIDTH LABEL_HEIGHT;
- state: "default" 0.0;
- rel1 { relative: 0 1.0; to_y: "label3_bottom_padding"; }
- align: 0.5 0;
- }
- }
- part {
- name: "label4_bottom_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min : 0 LABEL_GAP;
- fixed: 0 1;
- rel1 { relative: 0 1.0; to_y: "label4"; }
- rel2 { relative: 1 1.0; to_y: "label4"; }
- visible: 0;
- }
- }
- part {
- name: "label5_bg";
- type: RECT;
- description {
- color: 200 200 200 127;
- rel1.to:"label5";
- rel2.to:"label5";
- }
- }
- part {
- name: "label5";
- type: SWALLOW;
- scale: 1;
- description {
- fixed: 1 1;
- min: LABEL_WIDTH LABEL_HEIGHT;
- max: LABEL_WIDTH LABEL_HEIGHT;
- state: "default" 0.0;
- rel1 { relative: 0 1.0; to_y: "label4_bottom_padding"; }
- align: 0.5 0;
- }
- }
- part {
- name: "label5_bottom_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min : 0 30;
- rel1 { relative: 0 1.0; to_y: "label5"; }
- rel2 { relative: 1 1.0; }
- visible: 0;
- align: 0.5 1.0;
- }
- }
- }//end parts
-#undef LABEL_WIDTH
-#undef LABEL_HEIGHT
-#undef LABEL_GAP
-} //end group
-
- styles
- {
- style { name: "textblock_style";
- base: "font=Tizen:style=Medium font_size=30 color=#FF0000 wrap=word text_class=tizen";
- tag: "br" "\n";
- tag: "ps" "ps";
- tag: "hilight" "+ font=Tizen:style=Bold";
- tag: "b" "+ font=Tizen:style=Bold";
- tag: "tab" "\t";
- }
- }
-
- styles
- {
- style { name: "textblock_charwrap_style";
- base: "font=Tizen:style=Medium font_size=30 color=#FF0000 wrap=char text_class=tizen";
- tag: "br" "\n";
- tag: "ps" "ps";
- tag: "hilight" "+ font=Tizen:style=Bold";
- tag: "b" "+ font=Tizen:style=Bold";
- tag: "tab" "\t";
- }
- }
-
- group { name: "elm/label/base/extended/label_ellipsis";
- data.item: "default_font_size" "30";
- data.item: "min_font_size" "30";
- data.item: "max_font_size" "30";
- parts {
- part { name: "label.swallow.background";
- type: SWALLOW;
- description { state: "default" 0.0;
- visible: 1;
- rel1 { relative: 0 0; to: "elm.text"; }
- rel2 { relative: 1 1; to: "elm.text"; }
- }
- }
- part { name: "elm.text";
- type: TEXTBLOCK;
- mouse_events: 0;
- scale: 1;
- description { state: "default" 0.0;
- text {
- style: "textblock_style";
- min: 1 1;
- }
- }
- }
- }
- }
-
- group { name: "elm/label/base_wrap_ellipsis/extended/wrap_ellipsis";
- data.item: "default_font_size" "30";
- data.item: "min_font_size" "30";
- data.item: "max_font_size" "30";
- parts {
- part { name: "label.swallow.background";
- type: SWALLOW;
- description { state: "default" 0.0;
- visible: 1;
- rel1 { relative: 0 0; to: "elm.text"; }
- rel2 { relative: 1 1; to: "elm.text"; }
- }
- }
- part { name: "elm.text";
- type: TEXTBLOCK;
- mouse_events: 0;
- scale: 1;
- multiline: 1;
- description { state: "default" 0.0;
- // FIXME : fixed for multiline ellipsis.
- // does it need to make another ellipsis style?
- fixed: 0 1;
- text {
- style: "textblock_style";
- min: 0 1;
- }
- }
- description { state: "charwrap_mode" 0.0;
- // FIXME : fixed for multiline ellipsis.
- // does it need to make another ellipsis style?
- fixed: 0 1;
- text {
- style: "textblock_charwrap_style";
- min: 0 1;
- }
- }
- }
- }
- programs {
- program { name: "default_on";
- signal: "elm,state,default";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "elm.text";
- }
- program { name: "charwrap_on";
- signal: "elm,state,charwrap";
- source: "elm";
- action: STATE_SET "charwrap_mode" 0.0;
- target: "elm.text";
- }
- } // end programs
- } // end group
-
- group {
- name, "elmdemo-test/label_slide";
- parts {
- part { name, "background";
- type: RECT;
- description {
- state: "default" 0.0;
- min : 0 100;
- fixed: 0 1;
- align: 0 0;
- rel1 { relative: 0 0; }
- rel2 { relative: 1 0; }
- visible: 0;
- }
- }
- part {
- name: "top_padding";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min : 0 80;
- fixed: 0 1;
- align: 0 0;
- rel1 { relative: 0.15 0.0; to_y: "background"; }
- rel2 { relative: 0.85 0.0; to_y: "background"; }
- visible: 0;
- }
- }
- part { name: "slide_long_text";
- type: TEXT;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 0 1;
- rel1 { relative: 0.0 0.35; to: "top_padding";}
- rel2 { relative: 1.0 1.0; to: "top_padding";}
- text {
- font: "Tizen:style=Roman";
- size: 24;
- text:"slide_long";
- min: 1 1 ;
- align: 0.0 0.0;
- }
- align: 0.5 0;
- color: 173 170 165 255;
- }
- }
- part { name: "swallow_label_1_bg";
- type: RECT;
- description { state: "default" 0.0;
- color: 200 200 200 127;
- rel1.to: "swallow_label_1";
- rel2.to: "swallow_label_1";
- }
- }
- part { name: "swallow_label_1";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- min : 330 40;
- fixed: 0 1;
- rel1 { relative: 0.15 1.0; to_y: "top_padding"; }
- rel2 { relative: 0.85 1.0; to_y: "top_padding"; }
- align: 0.0 0.0;
- visible: 1;
- }
- }
- part {
- name: "padding1";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min : 0 80;
- fixed: 0 1;
- align: 0 0;
- rel1 { relative: 0 1.0; to: "swallow_label_1"; }
- rel2 { relative: 1 1.0; to: "swallow_label_1"; }
- visible: 0;
- }
- }
- part { name: "slide_long1_text";
- type: TEXT;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 0 1;
- rel1 { relative: 0.0 0.35; to: "padding1";}
- rel2 { relative: 1.0 1.0; to: "padding1";}
- text {
- font: "Tizen:style=Roman";
- size: 24;
- text: "slide_long";
- min: 1 1 ;
- align: 0.0 0.0;
- }
- color: 173 170 165 255;
- align: 0.5 0;
- }
- }
- part { name: "swallow_label_2_bg";
- type: RECT;
- description { state: "default" 0.0;
- color: 200 200 200 127;
- rel1.to: "swallow_label_2";
- rel2.to: "swallow_label_2";
- }
- }
- part { name: "swallow_label_2";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- min : 330 40;
- fixed: 0 1;
- rel1 { relative: 0.15 1.0; to_y: "padding1"; }
- rel2 { relative: 0.85 1.0; to_y: "padding1"; }
- align: 0.0 0.0;
- visible: 1;
- }
- }
- part {
- name: "padding2";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min : 0 80;
- fixed: 0 1;
- align: 0 0;
- rel1 { relative: 0 1.0; to: "swallow_label_2"; }
- rel2 { relative: 1 1.0; to: "swallow_label_2"; }
- visible: 0;
- }
- }
- part { name: "slide_short_text";
- type: TEXT;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 0 1;
- rel1 { relative: 0.0 0.35; to: "padding2";}
- rel2 { relative: 1.0 1.0; to: "padding2";}
- text {
- font: "Tizen:style=Roman";
- size: 24;
- text: "slide_short";
- min: 1 1 ;
- align: 0.0 0.0;
- }
- color: 173 170 165 255;
- align: 0.5 0;
- }
- }
- part { name: "swallow_label_3_bg";
- type: RECT;
- description { state: "default" 0.0;
- color: 200 200 200 127;
- rel1.to: "swallow_label_3";
- rel2.to: "swallow_label_3";
- }
- }
- part { name: "swallow_label_3";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- min : 330 40;
- fixed: 0 1;
- rel1 { relative: 0.15 1.0; to_y: "padding2"; }
- rel2 { relative: 0.85 1.0; to_y: "padding2"; }
- align: 0.0 0.0;
- visible: 1;
- }
- }
- part {
- name: "padding3";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min : 0 80;
- fixed: 0 1;
- align: 0 0;
- rel1 { relative: 0 1.0; to: "swallow_label_3"; }
- rel2 { relative: 1 1.0; to: "swallow_label_3"; }
- visible: 0;
- }
- }
- part { name: "slide_bounce_text";
- type: TEXT;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 0 1;
- rel1 { relative: 0.0 0.35; to: "padding3";}
- rel2 { relative: 1.0 1.0; to: "padding3";}
- text {
- font: "Tizen:style=Roman";
- size: 24;
- text: "slide_bounce";
- min: 1 1 ;
- align: 0.0 0.0;
- }
- color: 173 170 165 255;
- align: 0.5 0;
- }
- }
- part { name: "swallow_label_4_bg";
- type: RECT;
- description { state: "default" 0.0;
- color: 200 200 200 127;
- rel1.to: "swallow_label_4";
- rel2.to: "swallow_label_4";
- }
- }
- part { name: "swallow_label_4";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- min : 330 40;
- fixed: 0 1;
- rel1 { relative: 0.15 1.0; to_y: "padding3"; }
- rel2 { relative: 0.85 1.0; to_y: "padding3"; }
- align: 0.0 0.0;
- visible: 1;
- }
- }
- part {
- name: "padding4";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min : 0 80;
- fixed: 0 1;
- align: 0 0;
- rel1 { relative: 0 1.0; to: "swallow_label_4"; }
- rel2 { relative: 1 1.0; to: "swallow_label_4"; }
- visible: 0;
- }
- }
- part { name: "slide_roll_text";
- type: TEXT;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 0 1;
- rel1 { relative: 0.0 0.35; to: "padding4";}
- rel2 { relative: 1.0 1.0; to: "padding4";}
- text {
- font: "Tizen:style=Roman";
- size: 24;
- text: "slide_roll";
- min: 1 1 ;
- align: 0.0 0.0;
- }
- color: 173 170 165 255;
- align: 0.5 0;
- }
- }
- part { name: "swallow_label_5_bg";
- type: RECT;
- description { state: "default" 0.0;
- color: 200 200 200 127;
- rel1.to: "swallow_label_5";
- rel2.to: "swallow_label_5";
- }
- }
- part { name: "swallow_label_5";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- min : 330 40;
- fixed: 0 1;
- rel1 { relative: 0.15 1.0; to_y: "padding4"; }
- rel2 { relative: 0.85 1.0; to_y: "padding4"; }
- align: 0.0 0.0;
- visible: 1;
- }
- }
- part {
- name: "padding5";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min : 0 80;
- fixed: 0 1;
- align: 0 0;
- rel1 { relative: 0 1.0; to: "swallow_label_5"; }
- rel2 { relative: 1 1.0; to: "swallow_label_5"; }
- visible: 0;
- }
- }
- part { name: "slide_roll1_text";
- type: TEXT;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 0 1;
- rel1 { relative: 0.0 0.35; to: "padding5";}
- rel2 { relative: 1.0 1.0; to: "padding5";}
- text {
- font: "Tizen:style=Roman";
- size: 24;
- text: "slide_roll";
- min: 1 1 ;
- align: 0.0 0.0;
- }
- color: 173 170 165 255;
- align: 0.5 0;
- }
- }
- part { name: "swallow_label_6_bg";
- type: RECT;
- description { state: "default" 0.0;
- color: 200 200 200 127;
- rel1.to: "swallow_label_6";
- rel2.to: "swallow_label_6";
- }
- }
- part { name: "swallow_label_6";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- min : 330 40;
- fixed: 0 1;
- rel1 { relative: 0.15 1.0; to_y: "padding5"; }
- rel2 { relative: 0.85 1.0; to_y: "padding5"; }
- align: 0.0 0.0;
- visible: 1;
- }
- }
- part {
- name: "padding6";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min : 0 80;
- fixed: 0 1;
- align: 0 0;
- rel1 { relative: 0 1.0; to: "swallow_label_6"; }
- rel2 { relative: 1 1.0; to: "swallow_label_6"; }
- visible: 0;
- }
- }
- part { name: "swallow_btn";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- min : 330 40;
- fixed: 0 1;
- rel1 { relative: 0 1.0; to: "padding6"; }
- rel2 { relative: 1 1.0; to: "padding6"; }
- align: 0.0 0.0;
- visible: 1;
- }
- }
- part {
- name: "padding7";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min : 0 30;
- align: 0 1;
- rel1 { relative: 0 1.0; to: "swallow_btn"; }
- rel2 { relative: 1 1.0; }
- visible: 0;
- }
- }
- }
- }
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.
- *
- */
-
-group {
- name: "multibuttonentry_test";
-
- parts{
- part {
- name: "check_box";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- rel2.relative: 1.0 0.0;
- align: 0.5 0.0;
- }
- }
- part {
- name: "button_box";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- rel1.relative: 0.0 1.0;
- rel1.to_y: "check_box";
- rel2.relative: 1.0 1.0;
- rel2.to_y: "check_box";
- align: 0.5 0.0;
- }
- }
- part {
- name: "btn1";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- rel1.relative: 0.0 1.0;
- rel1.to_y: "button_box";
- rel2.relative: 0.5 1.0;
- rel2.to_y: "button_box";
- align: 0.0 0.0;
- }
- }
- part {
- name: "btn2";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- rel1.relative: 0.5 1.0;
- rel1.to_y: "button_box";
- rel2.relative: 1.0 1.0;
- rel2.to_y: "button_box";
- align: 0.0 0.0;
- }
- }
- part {
- name: "multibuttonentry";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- rel1.relative: 0.0 1.0;
- rel1.to_y: "btn1";
- }
- }
- }
-}
-
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 MAIN_W 480
-#define MAIN_H 800
-
-#define BG_COLOR 255 255 255 255
-//#define BG_COLOR 38 60 79 255;
-
-#define DESC_HIDE( param_state_value, param_position_rel ) \
-description { state: "hide" param_state_value; \
- inherit: "default" 0.0; \
- rel1 { relative: 0.0-param_position_rel 1.0; to: test1; } \
- rel2 { relative: 1.0-param_position_rel 1.0; to: test1; } \
-}
-
-#define PROG_HIDE( param_name_current, param_name_next, param_state ) \
-program { \
- name: param_name_current; \
- action: STATE_SET "hide" param_state; \
- target: "test2"; \
- transition: LINEAR 0.25; \
- after: param_name_next; \
-}
-
-
-#define PROG_ON( param_num ) \
-program{ name: #param_num"_on"; \
- source: "elm"; \
- signal: #param_num",on"; \
- action: STATE_SET "selected" 0.0; \
- target: "touch"#param_num; \
-}
-
-#define PROG_ALL_OFF \
-program{ name: "all_off"; \
- source: "elm"; \
- signal: "all,off"; \
- action: STATE_SET "default" 0.0; \
- target: "touch01"; \
- target: "touch02"; \
- target: "touch03"; \
- target: "touch04"; \
- target: "touch05"; \
- target: "touch06"; \
-}
-
-
-#define PART_IMAGE( param_num, param_pos_x, param_pos_y, param_align_x, param_align_y ) \
- part { name: "touch"#param_num; \
- mouse_events: 1; \
- description { state: "default" 0.0; \
- align: param_align_x param_align_y; \
- min: 120 90; \
- fixed: 1 1; \
- rel1 { relative: param_pos_x param_pos_y; offset: 0 0; } \
- rel2 { relative: param_pos_x param_pos_y; offset: -1 -1; } \
- image { normal: "touch_"#param_num"_normal.png"; } \
- image.middle: SOLID; \
- fill.smooth: 0; \
- } \
- description { state: "selected" 0.0; \
- inherit: "default" 0.0; \
- image { normal: "touch_"#param_num"_selected.png"; } \
- } \
- }
-
- group {
- images {
- image: "touch_bg.png" COMP;
- image: "touch_01_normal.png" COMP;
- image: "touch_01_selected.png" COMP;
- image: "touch_02_normal.png" COMP;
- image: "touch_02_selected.png" COMP;
- image: "touch_03_normal.png" COMP;
- image: "touch_03_selected.png" COMP;
- image: "touch_04_normal.png" COMP;
- image: "touch_04_selected.png" COMP;
- image: "touch_05_normal.png" COMP;
- image: "touch_05_selected.png" COMP;
- image: "touch_06_normal.png" COMP;
- image: "touch_06_selected.png" COMP;
- }
-
- name: "elmdemo-test/multi-touch";
-// min: MAIN_W MAIN_H;
-
- parts {
- part { name: "background";
- type: RECT;
- mouse_events: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; offset: 0 0; }
- rel2 { relative: 1.0 1.0; offset: -1 -1; }
- color: BG_COLOR;
- }
- }
-
- /* winset part */
- part { name: "paint_contents_top";
- type: RECT;
- mouse_events: 0;
- description {
- visible: 1;
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; to: contents_top; }
- rel2 { relative: 1.0 1.0; to: contents_top; }
- align: 0.0 0.0;
- color: BG_COLOR;
- }
- }
-
- /* winset part */
- part { name: "paint_contents_bottom";
- type: RECT;
- mouse_events: 0;
- description {
- visible: 1;
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; to: contents_bottom; }
- rel2 { relative: 1.0 1.0; to: contents_bottom; }
- align: 0.0 0.0;
- color: BG_COLOR;
- //color: 255 100 0 100;
- }
- }
- /* winset part */
- part { name: "contents_top";
- type: SWALLOW;
- mouse_events: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.1; to: background; }
- rel2 { relative: 1.0 0.9; to: background; }
- align: 0.0 0.0;
- }
- }
-
- /* winset part */
- part { name: "contents_bottom";
- type: SWALLOW;
- mouse_events: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.4; to: background; }
- rel2 { relative: 1.0 1.0; to: background; }
- align: 0.0 1.0;
- visible: 1;
- }
- }
-
- part { name: "touch_bg";
- mouse_events: 0;
- description {
- state: "default" 0.0;
- visible: 1;
- rel1 { relative: 0.05 0.4; offset: 0 0; }
- rel2 { relative: 0.95 0.95; offset: -1 -1; }
- image {
- normal: "touch_bg.png";
- border: 15 15 15 15;
- }
- image.middle: SOLID;
- fill.smooth: 0;
- }
- }
- part { name: "touch_text";
- type: TEXT;
- scale: 1;
- mouse_events: 0;
- description { state: "default" 0.0;
- rel1 { to:"touch_bg"; }
- rel2 { to:"touch_bg"; }
- text {
- font: FONT_CONTENT;
- size: 40;
- align: 0.5 0.5;
- text: "Touch Area";
- }
- align: 0.0 0.0;
- color: 209 189 140 255;
- visible: 1;
- }
- }
-
- PART_IMAGE( 01, 0.05, 0.05, 0.0, 0.0 )
- PART_IMAGE( 02, 0.5, 0.05, 0.5, 0.0 )
- PART_IMAGE( 03, 0.95, 0.05, 1.0, 0.0 )
- PART_IMAGE( 04, 0.05, 0.28, 0.0, 0.5 )
- PART_IMAGE( 05, 0.5, 0.28, 0.5, 0.5 )
- PART_IMAGE( 06, 0.95, 0.28, 1.0, 0.5 )
- }
-
- programs {
- PROG_ON( 01 )
- PROG_ON( 02 )
- PROG_ON( 03 )
- PROG_ON( 04 )
- PROG_ON( 05 )
- PROG_ON( 06 )
- PROG_ALL_OFF
- }
- }
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.
- *
- */
-
-group {
- name: "custom_naviframe_title";
- parts {
- part { name: "title_bg";
- type: RECT;
- mouse_events: 0;
- scale: 0;
- description {
- state: "default" 0.0;
- min: 0 160;
- align: 0.0 0.0;
- visible: 0;
- }
- }
- part { name: "top_left_padding";
- type: RECT;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 10 10;
- fixed: 1 1;
- align: 0.0 0.0;
- rel1 { relative: 0.0 0.0; to: "title_bg"; }
- rel2 { relative: 0.0 0.0; to: "title_bg"; }
- visible: 0;
- }
- }
- part { name: "title1";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 50;
- max: 9999 50;
- fixed: 0 1;
- align: 0.0 0.0;
- rel1 { relative: 1.0 1.0; to: "top_left_padding"; }
- rel2 { relative: 0.0 1.0; to_x: "bottom_right_padding"; to_y: "top_left_padding"; }
- }
- }
- part { name: "bottom_right_padding";
- type: RECT;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 10 10;
- fixed: 1 1;
- align: 1.0 1.0;
- rel1 { relative: 1.0 1.0; to: "title_bg"; }
- rel2 { relative: 1.0 1.0; to: "title_bg"; }
- visible: 0;
- }
- }
- part { name: "title2";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 50;
- max: 9999 50;
- fixed: 0 1;
- align: 0.0 1.0;
- rel1 { relative: 1.0 1.0; to_x: "top_left_padding"; to_y: "title1"; }
- rel2 { relative: 0.0 0.0; to: "bottom_right_padding"; }
- }
- }
- }
-}
-
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.
- *
- */
-
- group {
- name: "elmdemo-test/nocontents/search_google";
- parts {
- part {
- name: "buttons";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- align: 0.5 0.0;
- rel1.relative: 0.3 0.0;
- rel2.relative: 0.7 0.16;
- }
- }
- }
- }
- group {
- name: "elmdemo-test/nocontents/search";
- parts {
- part { name: "bg";
- mouse_events: 0;
- type: RECT;
- description { state: "default" 0.0;
- visible: 0;
- rel1 {
- relative: 0.0 0.0;
- }
- rel2 {
- relative: 1.0 1.0;
- }
- }
- }
- part {
- name: "searchbar";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- align: 0.5 0.0;
- fixed: 0 1;
- rel2.relative: 1.0 0.0;
- }
- }
- part {
- name: "list";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- align: 0.5 1.0;
- rel1 {
- relative: 0.0 1.0;
- to: "searchbar";
- }
- }
- }
- }
- }
- group {
- name: "elmdemo-test/nocontents/full";
- parts {
- part {
- name: "contents";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- }
- }
- part {
- name: "access";
- type: RECT;
- repeat_events: 1;
- description {
- state: "default" 0.0;
- rel1.to: "contents";
- rel2.to: "contents";
- color: 0 0 0 0;
- }
- }
- }
- }
- group {
- name: "elmdemo-test/nocontents_helptext/full";
- parts {
- part {
- name: "contents";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- }
- }
- part {
- name: "access";
- type: RECT;
- repeat_events: 1;
- description {
- state: "default" 0.0;
- rel1.to: "contents";
- rel2.to: "contents";
- color: 0 0 0 0;
- }
- }
- }
- }
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.
- *
- */
-
-group { name: "elm/popup/content/btnstyle";
- alias: "elm/popup/content/btnstyle_transparent";
- parts {
- part{ name:"elm.swallow.content";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- align: 0.5 0.5;
- }
- }
- }
-}
-
-group {
- name: "nbpopup_3button_view";
-#define BUTTON_WIDTH 394
-#define BUTTON_HEIGHT 74
-#define BUTTON_GAP 24
- parts{
- part { name: "top_padding";
- type: SPACER;
- scale: 1; //allow scaling
- description { state: "default" 0.0;
- min: 0 32; //minimum size for gap filler
- fixed: 0 1;
- rel1 { relative: 0.0 0.0; }
- rel2 { relative: 1.0 0.0; }
- align: 0 0;
- }
- }
- part {
- name: "left_padding";
- type: SPACER;
- scale:1;
- description {
- state: "default" 0.0;
- min: 47 0;
- fixed: 1 0;
- rel1 { relative: 0.0 0.0; }
- rel2 { relative: 0.0 1.0; }
- align: 0 0;
- }
- }
- part {
- name: "right_padding";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 47 0;
- fixed: 1 0;
- rel1 { relative: 1.0 0.0; }
- rel2 { relative: 1.0 1.0; }
- align: 1.0 0;
- }
- }
- part {
- name: "text_rect";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- min: 0 38;
- rel1 { relative: 1.0 1.0; to_x: "left_padding"; to_y: "top_padding"; }
- rel2 { relative: 0.0 1.0; to_x: "right_padding"; to_y: "top_padding"; }
- align: 0.0 0.0;
- }
- }
- part {
- name: "contact_label";
- type: TEXT;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- text {
- min: 0 0;
- align: 0.5 0.5;
- text_class: "T123";
- }
- color_class: "T123";
- rel1 { relative: 0.0 0.0; to: "text_rect"; }
- rel2 { relative: 1.0 1.0; to: "text_rect"; }
- align: 0.5 0.5;
- }
- }
- part { name: "btn_top_padding";
- type: SPACER;
- scale: 1; //allow scaling
- description { state: "default" 0.0;
- min: 0 24; //minimum size for gap filler
- fixed: 0 1;
- rel1 { relative: 0.0 1.0; to: "text_rect";}
- rel2 { relative: 1.0 1.0; to: "text_rect";}
- align: 0 0;
- }
- }
- part { name: "btn_default";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- align: 0.5 0;
- min: BUTTON_WIDTH BUTTON_HEIGHT;
- max: BUTTON_WIDTH BUTTON_HEIGHT;
- rel1 { relative: 0 1.0; to_y: "btn_top_padding"; }
- }
- }
- part { name: "btn_default_bottom_padding";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: BUTTON_WIDTH BUTTON_GAP;
- max: BUTTON_WIDTH BUTTON_GAP;
- fixed: 1 1;
- align: 0.5 0;
- rel1 { relative: 0 1.0; to_y: "btn_default"; }
- rel2 { relative: 1 1.0; to_y: "btn_default"; }
- }
- }
- part { name: "btn_center";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- align: 0.5 0;
- min: BUTTON_WIDTH BUTTON_HEIGHT;
- max: BUTTON_WIDTH BUTTON_HEIGHT;
- rel1 { relative: 0 1.0; to_y: "btn_default_bottom_padding"; }
- }
- }
- part { name: "btn_center_bottom_padding";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: BUTTON_WIDTH BUTTON_GAP;
- max: BUTTON_WIDTH BUTTON_GAP;
- fixed: 1 1;
- align: 0.5 0;
- rel1 { relative: 0 1.0; to_y: "btn_center"; }
- rel2 { relative: 1 1.0; to_y: "btn_center"; }
- }
- }
- part { name: "btn_text_only_style1";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- min: BUTTON_WIDTH BUTTON_HEIGHT;
- max: BUTTON_WIDTH BUTTON_HEIGHT;
- align: 0.5 0;
- rel1 { relative: 0 1.0; to_y: "btn_center_bottom_padding"; }
- }
- }
- part { name: "bottom_padding";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: 0 32;
- max: 0 32;
- rel1 { relative: 0 1.0; to_y: "btn_text_only_style1"; }
- rel2 { relative: 1 1.0;}
- align: 0.5 1.0;
- }
- }
- }//end parts
-#undef BUTTON_WIDTH
-#undef BUTTON_HEIGHT
-#undef BUTTON_GAP
-} //end group
-
-group {
- name: "nbpopup_2button_view";
-#define BUTTON_WIDTH 304
-#define BUTTON_HEIGHT 76
-#define BUTTON_GAP 24
- parts{
- part { name: "top_padding";
- type: SPACER;
- scale: 1; //allow scaling
- description { state: "default" 0.0;
- min: 0 32; //minimum size for gap filler
- fixed: 0 1;
- rel2 { relative: 1.0 0.0; }
- align: 0 0;
- }
- }
- part {
- name: "left_padding";
- type: SPACER;
- scale:1;
- description {
- state: "default" 0.0;
- min: 47 0;
- fixed: 1 0;
- rel2 { relative: 0.0 1.0; }
- align: 0 0;
- }
- }
- part {
- name: "right_padding";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 47 0;
- fixed: 1 0;
- rel1 { relative: 1.0 0.0; }
- align: 1.0 0;
- }
- }
- part {
- name: "text_rect";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- min: 0 40;
- rel1 { relative: 1.0 1.0; to_x: "left_padding"; to_y: "top_padding"; }
- rel2 { relative: 0.0 1.0; to_x: "right_padding"; to_y: "top_padding"; }
- align: 0.0 0.0;
- }
- }
- part {
- name: "contact_label";
- type: TEXT;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- text {
- min: 0 0;
- align: 0.5 0.5;
- text_class: "T123";
- }
- color_class: "T123";
- rel1 { relative: 0.0 0.0; to: "text_rect"; }
- rel2 { relative: 1.0 1.0; to: "text_rect"; }
- align: 0.5 0.5;
- }
- }
- part { name: "btn_top_padding";
- type: SPACER;
- scale: 1; //allow scaling
- description { state: "default" 0.0;
- min: 0 24; //minimum size for gap filler
- fixed: 0 1;
- rel1 { relative: 0.0 1.0; to: "text_rect";}
- rel2 { relative: 1.0 1.0; to: "text_rect";}
- align: 0 0;
- }
- }
- part { name: "btn_default";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- align: 0.5 0;
- min: BUTTON_WIDTH BUTTON_HEIGHT;
- max: BUTTON_WIDTH BUTTON_HEIGHT;
- rel1 { relative: 0 1.0; to_y: "btn_top_padding"; }
- }
- }
- part { name: "btn_default_bottom_padding";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: BUTTON_WIDTH BUTTON_GAP;
- max: BUTTON_WIDTH BUTTON_GAP;
- fixed: 1 1;
- align: 0.5 0;
- rel1 { relative: 0 1.0; to_y: "btn_default"; }
- rel2 { relative: 1 1.0; to_y: "btn_default"; }
- }
- }
- part { name: "btn_center";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- align: 0.5 0;
- min: BUTTON_WIDTH BUTTON_HEIGHT;
- max: BUTTON_WIDTH BUTTON_HEIGHT;
- rel1 { relative: 0 1.0; to_y: "btn_default_bottom_padding"; }
- }
- }
- part { name: "bottom_padding";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: 0 32;
- max: 0 32;
- rel1 { relative: 0 1.0; to_y: "btn_center"; }
- rel2 { relative: 1 1.0;}
- align: 0.5 1.0;
- }
- }
- }//end parts
-#undef BUTTON_WIDTH
-#undef BUTTON_HEIGHT
-#undef BUTTON_GAP
-} //end group
-
-group { name: "popup_entryview";
- parts {
- part { name: "pad_t";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- align: 0.5 0.0;
- min: 0 32;
- fixed: 0 1;
- rel1 {
- relative: 1.0 0.0;to_x: "pad_l";
- }
- rel2 {
- relative: 0.0 0.0;to_x: "pad_r";
- }
- }
- }
- part { name: "pad_l";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: 65 0;
- max: 65 0;
- fixed: 1 0;
- rel1 {
- relative: 0.0 0.0;
- }
- rel2 {
- relative: 0.0 1.0;
- }
- align: 0.0 0.0;
- }
- }
- part { name: "pad_r";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: 65 0;
- max: 65 0;
- fixed: 1 0;
- rel1 {
- relative: 1.0 0.0;
- }
- rel2 {
- relative: 1.0 1.0;
- }
- align: 1.0 0.0;
- }
- }
- part { name: "pad_b";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- align: 0.0 1.0;
- min: 0 32;
- fixed: 0 1;
- rel1 {
- relative: 1.0 1.0;
- to_x: "pad_l";
- }
- rel2 {
- relative: 0.0 1.0;
- to_x: "pad_r";
- }
- }
- }
- part { name:"elm.swallow.content";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- min: 0 100;
- fixed: 1 0;
- rel1 {
- relative: 1.0 1.0;
- to_x: "pad_l";
- to_y: "pad_t";
- }
- rel2 {
- relative: 0.0 0.0;
- to_x: "pad_r";
- to_y: "pad_b";
- }
- }
- }
- }
-}
-
-group { name: "label_layout";
- parts {
- part { name: "elm.swallow.content";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 0;
- min: 0 700;
- }
- }
- }
-}
-
-group { name: "label_layout_landscape";
- parts {
- part { name: "elm.swallow.content";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 0;
- min: 0 380;
- }
- }
- }
-}
-
-group { name: "popup_checkview";
- parts {
- part { name: "pad_t";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- align: 0.5 0.0;
- min: 0 20;
- fixed: 0 1;
- rel1 {
- relative: 1.0 0.0;to_x: "pad_l";
- }
- rel2 {
- relative: 0.0 0.0;to_x: "pad_r";
- }
- }
- }
- part { name: "pad_l";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: 47 0;
- max: 47 0;
- fixed: 1 0;
- rel1 {
- relative: 0.0 0.0;
- }
- rel2 {
- relative: 0.0 1.0;
- }
- align: 0.0 0.0;
- }
- }
- part { name: "pad_r";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: 47 0;
- max: 47 0;
- fixed: 1 0;
- rel1 {
- relative: 1.0 0.0;
- }
- rel2 {
- relative: 1.0 1.0;
- }
- align: 1.0 0.0;
- }
- }
- part { name: "elm.swallow.content";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 0;
- rel1 {
- relative: 1.0 1.0;
- to_x: "pad_l";
- to_y: "pad_t";
- }
- rel2 {
- relative: 0.0 0.0;
- to_x: "pad_r";
- to_y: "pad_b";
- }
- }
- }
- part { name: "bottom_pad";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- align: 0.0 1.0;
- min: 0 32;
- fixed: 0 1;
- rel1 {
- relative: 1.0 1.0;
- to_x: "pad_l";
- }
- rel2 {
- relative: 0.0 1.0;
- to_x: "pad_r";
- }
- }
- }
- part { name: "pad_b";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- align: 0.0 1.0;
- min: 0 121;
- fixed: 0 1;
- rel1 {
- relative: 0.0 0.0;
- to: "bottom_pad";
- }
- rel2 {
- relative: 1.0 0.0;
- to: "bottom_pad";
- }
- }
- }
- part { name: "end_field";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- align: 0.0 1.0;
- min: 0 100;
- fixed: 0 1;
- rel1 {
- relative: 0.0 1.0;
- to: "pad_b";
- }
- rel2 {
- relative: 1.0 1.0;
- to: "pad_b";
- }
- }
- }
- part { name: "elm.swallow.end";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- align: 0.0 0.5;
- rel1.to: "end_field";
- rel2.to: "end_field";
- }
- }
- }
-}
-
-group { name: "popup_checkview_image";
- inherit: "popup_checkview";
- parts {
- part { name:"elm.swallow.content";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 0;
- rel1 {
- relative: 1.0 1.0;
- to_x: "pad_l";
- to_y: "pad_t";
- }
- rel2 {
- relative: 0.0 0.0;
- to_x: "pad_r";
- to_y: "elm.swallow.icon.bg";
- }
- }
- }
- part { name: "elm.swallow.icon.bg";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- align: 0.5 1.0;
- fixed: 1 1;
- min: 360 164;
- rel1 {
- relative: 0.5 0.0;
- to: "pad_b";
- }
- rel2 {
- relative: 0.5 0.0;
- to: "pad_b";
- }
- }
- }
- part { name: "elm.swallow.icon";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- align: 0.5 0.5;
- fixed: 0 1;
- min: 360 120;
- rel1 {
- relative: 0.0 0.5;
- to: "elm.swallow.icon.bg";
- }
- rel2 {
- relative: 1.0 0.5;
- to: "elm.swallow.icon.bg";
- }
- }
- }
- }
-}
-
-group { name: "popup_smartstay1_internal";
- parts {
- part { name: "elm.swallow.content1";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- align: 0.0 0.0;
- rel2.relative: 1.0 0.0;
- fixed: 0 1;
- }
- }
- part { name: "elm.content.bg";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: 0 443;
- fixed: 0 1;
- align: 0.0 0.0;
- rel1 {
- relative: 0.0 1.0;
- to: "elm.swallow.content1";
- }
- rel2.to: "elm.swallow.content1";
- }
- }
- part { name: "elm.swallow.content2";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- min: 390 390;
- max: 390 390;
- fixed: 1 1;
- aspect: 1.0 1.0;
- aspect_preference: VERTICAL;
- rel1.to: "elm.content.bg";
- rel2.to: "elm.content.bg";
- }
- }
- part { name: "elm.swallow.content3";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- align: 0.0 1.0;
- rel1 {
- relative: 0.0 1.0;
- to: "elm.content.bg";
- }
- }
- }
- }
-}
-
-group { name: "popup_smartstay1";
- parts {
- part { name: "pad_t";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- align: 0.5 0.0;
- min: 0 20;
- fixed: 0 1;
- rel1 {
- relative: 1.0 0.0;to_x: "pad_l";
- }
- rel2 {
- relative: 0.0 0.0;to_x: "pad_r";
- }
- }
- }
- part { name: "pad_l";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: 47 0;
- max: 47 0;
- fixed: 1 0;
- rel1 {
- relative: 0.0 0.0;
- }
- rel2 {
- relative: 0.0 1.0;
- }
- align: 0.0 0.0;
- }
- }
- part { name: "pad_r";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: 47 0;
- max: 47 0;
- fixed: 1 0;
- rel1 {
- relative: 1.0 0.0;
- }
- rel2 {
- relative: 1.0 1.0;
- }
- align: 1.0 0.0;
- }
- }
- part { name:"elm.swallow.layout";
- type: SWALLOW;
- scale: 1;
- mouse_events: 1;
- repeat_events: 1;
- description { state: "default" 0.0;
- min: 0 700;
- align: 0.5 1.0;
- fixed: 1 0;
- rel1 {
- relative: 1.0 1.0;
- to_x: "pad_l";
- to_y: "pad_t";
- }
- rel2 {
- relative: 0.0 0.0;
- to_x: "pad_r";
- to_y: "pad_b";
- }
- }
- }
- part { name: "bottom_pad";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- align: 0.0 1.0;
- min: 0 32;
- fixed: 0 1;
- rel1 {
- relative: 1.0 1.0;
- to_x: "pad_l";
- }
- rel2 {
- relative: 0.0 1.0;
- to_x: "pad_r";
- }
- }
- }
- part { name: "pad_b";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- align: 0.5 1.0;
- min: 0 66;
- fixed: 0 1;
- rel1 {
- relative: 0.0 0.0;
- to: "bottom_pad";
- }
- rel2 {
- relative: 1.0 0.0;
- to: "bottom_pad";
- }
- }
- }
- part { name: "end_field";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- align: 0.0 1.0;
- min: 0 63;
- fixed: 0 1;
- rel1 {
- relative: 0.0 1.0;
- to: "pad_b";
- }
- rel2 {
- relative: 1.0 1.0;
- to: "pad_b";
- }
- }
- }
- part { name: "elm.swallow.end";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- align: 0.0 0.5;
- rel1.to: "end_field";
- rel2.to: "end_field";
- }
- }
- }
-}
-
-group { name: "popup_smartstay1_landscape";
- inherit: "popup_smartstay1";
- parts {
- part { name:"elm.swallow.layout";
- type: SWALLOW;
- scale: 1;
- mouse_events: 1;
- repeat_events: 1;
- description { state: "default" 0.0;
- min: 0 332;
- align: 0.5 1.0;
- fixed: 1 0;
- rel1 {
- relative: 0.0 1.0;
- to: "pad_t";
- }
- rel2 {
- relative: 1.0 0.0;
- to: "pad_b";
- }
- }
- }
- }
-}
-
-group { name: "popup_center_image";
- parts {
- part {
- name: "base";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: 310 310;
- }
- }
- part { name: "elm.swallow.content";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- align: 0.5 0.5;
- fixed: 1 1;
- min: 176 176;
- rel1.relative: 0.5 0.5;
- rel2.relative: 0.5 0.5;
- }
- }
- }
-}
-
-group { name: "popup_volumebar";
-#define DEMO_POPUP_VOLUMEBAR_WIDTH_HEIGHT_MIN 568 134
-#define DEMO_POPUP_VOLUMEBAR_CONTENT_MIN 476 134
- images {
- image: "00_divider_line.png" COMP;
- }
- parts {
- part { name:"bg";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: DEMO_POPUP_VOLUMEBAR_WIDTH_HEIGHT_MIN;
- fixed: 1 0;
- }
- }
- part { name: "pad_l";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: 65 0;
- max: 65 0;
- fixed: 1 1;
- rel1.to: "bg";
- rel2.to: "bg";
- align: 0.0 0.0;
- }
- }
- part { name: "pad_r";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: 65 0;
- max: 65 0;
- fixed: 1 1;
- rel1.to: "bg";
- rel2.to: "bg";
- align: 1.0 1.0;
- }
- }
- part { name: "elm.swallow.content";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- min: DEMO_POPUP_VOLUMEBAR_CONTENT_MIN;
- fixed: 1 1;
- rel1 {
- relative: 1.0 0.5;
- to_x: "pad_l";
- to_y: "bg";
- }
- rel2 {
- relative: 0.0 0.5;
- to_x: "pad_after_content";
- to_y: "bg";
- }
- align: 0.5 0.5;
- }
- }
- part { name: "pad_after_content";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: 12 0;
- max: 12 0;
- fixed: 1 0;
- rel1 {
- relative: 0.0 0.5;
- to_x: "divider";
- to_y: "bg";
- }
- rel2 {
- relative: 0.0 0.5;
- to_x: "divider";
- to_y: "bg";
- }
- align: 1.0 0.5;
- }
- }
- part { name: "divider";
- scale: 1;
- description { state: "default" 0.0;
- min: 2 52;
- max: 2 52;
- fixed: 1 1;
- rel1 {
- relative: 0.0 1.0;
- to_x: "pad_after_divider";
- to_y: "pad_l";
- }
- rel2 {
- relative: 0.0 0.0;
- to_x: "pad_after_divider";
- to_y: "pad_r";
- }
- image.normal: "00_divider_line.png";
- align: 1.0 0.5;
- }
- }
- part { name: "pad_after_divider";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: 12 0;
- max: 12 0;
- fixed: 1 1;
- rel1 {
- relative: 0.0 0.5;
- to_x: "elm.swallow.icon";
- to_y: "bg";
- }
- rel2 {
- relative: 0.0 0.5;
- to_x: "elm.swallow.icon";
- to_y: "bg";
- }
- align: 1.0 0.5;
- }
- }
- part { name: "elm.swallow.icon";
- type: SWALLOW;
- scale: 1;
- clip_to: "icon_clip";
- description { state: "default" 0.0;
- min: 63 63;
- max: 63 63;
- fixed: 1 1;
- rel1 {
- relative: 0.0 0.5;
- to_x: "pad_r";
- to_y: "bg";
- }
- rel2 {
- relative: 0.0 0.5;
- to_x: "pad_r";
- to_y: "bg";
- }
- align: 1.0 0.5;
- }
- }
- part { name: "icon_clip";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- rel1.to: "elm.swallow.icon";
- rel2.to: "elm.swallow.icon";
- color_class: "B063L7";
- }
- }
- }
-#undef DEMO_POPUP_VOLUMEBAR_WIDTH_HEIGHT_MIN
-#undef DEMO_POPUP_VOLUMEBAR_CONTENT_MIN
-}
-
-group { name: "popup_volumestyle";
-#define DEMO_POPUP_VOLUMEBAR_BG_MIN 590 134
- parts {
- part { name: "base";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: DEMO_POPUP_VOLUMEBAR_BG_MIN;
- max: 776 134;
- fixed: 1 0;
- }
- }
- part { name: "pad_t";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: 0 32;
- fixed: 0 1;
- align: 0.0 0.0;
- rel1 {
- relative: 1.0 0.0;
- to_x: "pad_l";
- }
- rel2 {
- relative: 0.0 0.0;
- to_x: "pad_r";
- }
- }
- }
- part { name: "pad_l";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: 47 0;
- fixed: 1 0;
- align: 0.0 0.0;
- rel1 {
- to: "base";
- relative: 0.0 0.0;
- }
- rel2 {
- to: "base";
- relative: 0.0 1.0;
- }
- }
- }
- part { name: "pad_r";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: 47 0;
- fixed: 1 0;
- align: 1.0 0.0;
- rel1 {
- to: "base";
- relative: 1.0 0.0;
- }
- rel2 {
- to: "base";
- relative: 1.0 1.0;
- }
- }
- }
- part { name: "pad_b";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: 0 32;
- fixed: 0 1;
- align: 0.0 1.0;
- rel1 {
- relative: 1.0 1.0;
- to_x: "pad_l";
- }
- rel2 {
- relative: 0.0 1.0;
- to_x: "pad_r";
- }
- }
- }
- part { name: "elm.swallow.content";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- min: 590 70;
- max: 776 70;
- fixed: 1 1;
- align: 0.5 0.0;
- rel1 {
- relative: 0.0 1.0;
- to: "pad_t";
- }
- rel2.to: "pad_t";
- }
- }
- }
-#undef DEMO_POPUP_VOLUMEBAR_BG_MIN
-}
-
-group { name: "popup_volumebar_text";
-#define DEMO_POPUP_VOLUMEBAR_TEXT_BG_MIN 568 300
-#define DEMO_POPUP_VOLUMEBAR_TEXT_MIN 568 100
-#define DEMO_POPUP_VOLUMEBAR_TEXT_CONTENT_WEIGHT_MIN 568
-#define DEMO_POPUP_VOLUMEBAR_TEXT_CONTENT_HEIGHT_MIN_MAX 134
- styles {
- style { name: "popup_volume_text_style";
- base: "font=Tizen:style=Bold font_size=36 align=left color=#FFFFFF color_class=T123 wrap=mixed text_class=T123";
- tag: "br" "\n";
- tag: "tab" "\t";
- }
- }
- parts {
- part { name:"bg";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: DEMO_POPUP_VOLUMEBAR_TEXT_BG_MIN;
- fixed: 1 0;
- }
- }
- part { name: "pad_l";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: 47 0;
- fixed: 1 0;
- align: 0.0 0.0;
- rel1 {
- to: "bg";
- relative: 0.0 0.0;
- }
- rel2 {
- to: "bg";
- relative: 0.0 1.0;
- }
- }
- }
- part { name: "pad_r";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: 47 0;
- fixed: 1 0;
- align: 1.0 0.0;
- rel1 {
- to: "bg";
- relative: 1.0 0.0;
- }
- rel2 {
- to: "bg";
- relative: 1.0 1.0;
- }
- }
- }
- part { name: "elm.swallow.content1";
- scale: 1;
- type: SWALLOW;
- description { state: "default" 0.0;
- min: DEMO_POPUP_VOLUMEBAR_TEXT_CONTENT_WEIGHT_MIN DEMO_POPUP_VOLUMEBAR_TEXT_CONTENT_HEIGHT_MIN_MAX;
- max: -1 DEMO_POPUP_VOLUMEBAR_TEXT_CONTENT_HEIGHT_MIN_MAX;
- fixed: 1 1;
- align: 0.5 0.0;
- rel1.to: "bg";
- rel2.to: "bg";
- }
- }
- part { name: "elm.swallow.text";
- scale: 1;
- type: TEXTBLOCK;
- description { state: "default" 0.0;
- min: DEMO_POPUP_VOLUMEBAR_TEXT_MIN;
- fixed: 1 1;
- rel1 {
- relative: 1.0 1.0;
- to_y: "elm.swallow.content1";
- to_x: "pad_l";
- }
- rel2 {
- relative: 0.0 1.0;
- to_x: "pad_r";
- to_y: "bg";
- }
- align: 0.5 0.0;
- text {
- style: "popup_volume_text_style";
- min: 0 1;
- max: 0 1;
- }
- }
- }
- }
-#undef DEMO_POPUP_VOLUMEBAR_TEXT_BG_MIN
-#undef DEMO_POPUP_VOLUMEBAR_TEXT_MIN
-#undef DEMO_POPUP_VOLUMEBAR_TEXT_CONTENT_WEIGHT_MIN
-#undef DEMO_POPUP_VOLUMEBAR_TEXT_CONTENT_HEIGHT_MIN_MAX
-}
-
-group { name: "popup_processingview";
-#define DEMO_POPUP_PROCESSINGVIEW_CONTENT_MIN 568 288
- parts {
- part { name: "base";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: DEMO_POPUP_PROCESSINGVIEW_CONTENT_MIN;
- fixed: 1 0;
- }
- }
- part { name:"pad_t";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: 0 34;
- fixed: 0 1;
- align: 0 0;
- rel1.to: "base";
- rel2 {
- relative: 1.0 0.0;
- to: "base";
- }
- }
- }
- part { name: "pad_l";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: 63 0;
- max: 63 0;
- fixed: 1 1;
- rel1.to: "base";
- rel2.to: "base";
- align: 0.0 0.0;
- }
- }
- part { name: "pad_r";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: 63 0;
- max: 63 0;
- fixed: 1 1;
- rel1.to: "base";
- rel2.to: "base";
- align: 1.0 1.0;
- }
- }
- part { name:"elm.swallow.content";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- min: 0 63;
- align: 0.0 0.0;
- fixed: 1 1;
- rel1 {
- relative: 1.0 1.0;
- to_x: "pad_l";
- to_y: "pad_t";
- }
- rel2 {
- relative: 0.0 1.0;
- to_x: "pad_r";
- to_y: "pad_t";
- }
- }
- }
- part { name:"pad_after_content";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: 0 10;
- fixed: 0 1;
- rel1 {
- relative: 0.0 1.0;
- to: "elm.swallow.content";
- }
- rel2 {
- relative: 1.0 1.0;
- to: "elm.swallow.content";
- }
- }
- }
- part { name:"elm.swallow.text";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- min: 0 150;
- align: 0.0 0.0;
- fixed: 1 1;
- rel1 {
- relative: 1.0 1.0;
- to_x: "pad_l";
- to_y: "pad_after_content";
- }
- rel2 {
- relative: 0.0 0.0;
- to_x: "pad_r";
- to_y: "pad_b";
- }
- }
- }
- part { name:"pad_b";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: 0 20;
- fixed: 0 1;
- align: 1 1;
- rel1 {
- relative: 0.0 1.0;
- to: "base";
- }
- rel2.to: "base";
- }
- }
- }
-#undef DEMO_POPUP_PROCESSINGVIEW_CONTENT_MIN
-}
-
-group { name: "popup_processingview_1button";
-#define DEMO_POPUP_PROCESSINGVIEW1BUTTON_CONTENT_MIN 568 132
- styles {
- style { name: "popup_processing_text_style";
- base: "font=Tizen:style=Bold font_size=36 align=left color=#FFFFFF color_class=T123 wrap=none ellipsis=1.0 text_class=T123";
- tag: "br" "\n";
- tag: "tab" "\t";
- }
- }
- parts {
- part { name: "base";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: DEMO_POPUP_PROCESSINGVIEW1BUTTON_CONTENT_MIN;
- fixed: 1 0;
- }
- }
- part { name: "pad_t";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- align: 0.5 0.0;
- min: 0 32;
- fixed: 0 1;
- rel1 {
- relative: 1.0 0.0;to_x: "pad_l";
- }
- rel2 {
- relative: 0.0 0.0;to_x: "pad_r";
- }
- }
- }
- part { name: "pad_l";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: 47 0;
- max: 47 0;
- fixed: 1 0;
- rel1 {
- relative: 0.0 0.0;
- to: "base";
- }
- rel2 {
- relative: 0.0 1.0;
- to: "base";
- }
- align: 0.0 0.0;
- }
- }
- part { name: "pad_r";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: 47 0;
- max: 47 0;
- fixed: 1 0;
- rel1 {
- relative: 1.0 0.0;
- to: "base";
- }
- rel2 {
- relative: 1.0 1.0;
- to: "base";
- }
- align: 1.0 0.0;
- }
- }
- part { name: "pad_b";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- align: 0.0 1.0;
- min: 0 32;
- fixed: 0 1;
- rel1 {
- relative: 1.0 1.0;
- to_x: "pad_l";
- }
- rel2 {
- relative: 0.0 1.0;
- to_x: "pad_r";
- }
- }
- }
- part {
- name: "spacing";
- scale: 1;
- type: SPACER;
- description { state: "default" 0.0;
- align: 0.0 0.5;
- min: 79 79;
- max: 79 79;
- fixed: 1 1;
- rel1 {
- relative: 0.0 1.0;
- to: "pad_t";
- }
- rel2 {
- relative: 1.0 0.0;
- to: "pad_b";
- }
- }
- }
- part { name: "elm.text";
- type: TEXTBLOCK;
- scale : 1;
- description { state: "default" 0.0;
- align: 0.5 0.5;
- fixed: 1 1;
- text {
- style: "popup_processing_text_style";
- min: 0 1;
- max: 1 1;
- }
- rel1 {
- relative: 1.0 1.0;
- to_x: "spacing";
- to_y: "pad_t";
- }
- rel2 {
- relative: 0.0 0.0;
- to_x: "pad_r";
- to_y: "pad_b";
- }
- }
- }
- part { name:"pad_before_text";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: 16 132;
- max: 16 132;
- fixed: 1 1;
- align: 1.0 0.0;
- rel1 {
- relative: 0.0 0.0;
- to: "elm.text";
- }
- rel2 {
- relative: 0.0 0.0;
- to: "elm.text";
- }
- }
- }
- part { name:"elm.swallow.content";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- min: 63 63;
- max: 63 63;
- fixed: 1 1;
- align: 1.0 0.0;
- rel1 {
- relative: 0.0 0.0;
- to: "pad_before_text";
- }
- rel2 {
- relative: 0.0 0.0;
- to: "pad_before_text";
- }
- }
- }
- }
-#undef DEMO_POPUP_PROCESSINGVIEW1BUTTON_CONTENT_MIN
-}
-
-group { name: "popup_center_progressview";
-#define DEMO_POPUP_PROGRESSVIEW_CONTENT_MIN 568 191
-#define DEMO_POPUP_PROGRESSVIEW_TITLE_MIN 568 50
-#define DEMO_POPUP_PROGRESSVIEW_TEXT_LEFT_RIGHT_MAX 324 50
- parts {
- part { name: "pad_t";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- align: 0.5 0.0;
- min: 0 32;
- fixed: 0 1;
- rel1 {
- relative: 1.0 0.0;to_x: "pad_l";
- }
- rel2 {
- relative: 0.0 0.0;to_x: "pad_r";
- }
- }
- }
- part { name: "pad_l";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: 47 0;
- max: 47 0;
- fixed: 1 0;
- rel1 {
- relative: 0.0 0.0;
- }
- rel2 {
- relative: 0.0 1.0;
- }
- align: 0.0 0.0;
- }
- }
- part { name: "pad_r";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: 47 0;
- max: 47 0;
- fixed: 1 0;
- rel1 {
- relative: 1.0 0.0;
- }
- rel2 {
- relative: 1.0 1.0;
- }
- align: 1.0 0.0;
- }
- }
- part { name: "pad_b";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- align: 0.0 1.0;
- min: 0 32;
- fixed: 0 1;
- rel1 {
- relative: 1.0 1.0;
- to_x: "pad_l";
- }
- rel2 {
- relative: 0.0 1.0;
- to_x: "pad_r";
- }
- }
- }
- part { name: "elm.title";
- type: TEXT;
- scale: 1;
- description { state: "default" 0.0;
- min: DEMO_POPUP_PROGRESSVIEW_TITLE_MIN;
- fixed: 1 1;
- text {
- min: 0 0;
- align: 0.0 0.0;
- text_class: "T123";
- }
- color_class: "T123";
- align: 0.5 0.0;
- rel1 {
- relative: 0.0 0.0;
- to: "elm.swallow.content";
- }
- rel2 {
- relative: 1.0 0.0;
- to: "elm.swallow.content";
- }
- }
- }
- part{ name:"elm.swallow.content";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- min: DEMO_POPUP_PROGRESSVIEW_CONTENT_MIN;
- align: 0.5 0.5;
- fixed: 1 0;
- rel1 {
- relative: 1.0 1.0;
- to_x: "pad_l";
- to_y: "pad_t";
- }
- rel2 {
- relative: 0.0 0.0;
- to_x: "pad_r";
- to_y: "pad_b";
- }
- }
- }
- part { name: "elm.text.left";
- type: TEXT;
- scale: 1;
- description { state: "default" 0.0;
- max: DEMO_POPUP_PROGRESSVIEW_TEXT_LEFT_RIGHT_MAX;
- text {
- min: 0 0;
- align: 0.0 1.0;
- text_class: "T123";
- }
- color_class: "T123";
- align: 0.0 1.0;
- rel1 {
- relative: 0.0 0.0;
- to: "elm.swallow.content";
- }
- rel2 {
- relative: 0.5 1.0;
- to: "elm.swallow.content";
- }
- }
- }
- part { name: "elm.text.right";
- type: TEXT;
- scale: 1;
- description { state: "default" 0.0;
- max: DEMO_POPUP_PROGRESSVIEW_TEXT_LEFT_RIGHT_MAX;
- text {
- min: 0 0;
- align: 1.0 1.0;
- text_class: "T123";
- }
- color_class: "T123";
- align: 1.0 1.0;
- rel1 {
- relative: 0.5 0.0;
- to: "elm.swallow.content";
- }
- rel2 {
- relative: 1.0 1.0;
- to: "elm.swallow.content";
- }
- }
- }
- }
-#undef DEMO_POPUP_PROGRESSVIEW_CONTENT_MIN
-#undef DEMO_POPUP_PROGRESSVIEW_TITLE_MIN
-#undef DEMO_POPUP_PROGRESSVIEW_TEXT_LEFT_RIGHT_MAX
-}
-
-group { name: "elm/label/base/popup/progressview";
- alias: "elm/label/base/popup/progressview_transparent";
- styles {
- style { name: "popup_desc_progressview_style";
- base: "font=Tizen:style=Bold font_size=38 align=left color=#FFFFFF color_class=T123 linesize=50 text_class=T123";
- tag: "br" "\n";
- tag: "ps" "ps";
- tag: "whitecolor" "+ color=#ffffff";
- tag: "tab" "\t";
- }
- }
- parts {
- part { name: "elm.text";
- type: TEXTBLOCK;
- mouse_events: 0;
- scale: 1;
- description { state: "default" 0.0;
- text {
- style: "popup_desc_progressview_style";
- min: 0 1;
- max: 0 1;
- }
- }
- }
- }
-}
-
-group { name: "popup_center_text_progressview";
-#define DEMO_POPUP_CENTER_PROGRESSVIEW_CONTENT_MIN 590 0
-#define DEMO_POPUP_CENTER_PROGRESSVIEW_CONTENT_END_MIN 568 45
-#define DEMO_POPUP_CENTER_PROGRESSVIEW_PAD_BOTTOM 0 86
- parts {
- part { name: "pad_t";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- align: 0.5 0.0;
- min: 0 32;
- fixed: 0 1;
- rel1 {
- relative: 1.0 0.0;
- to_x: "pad_l";
- }
- rel2 {
- relative: 0.0 0.0;
- to_x: "pad_r";
- }
- }
- }
- part { name: "pad_l";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: 47 0;
- max: 47 0;
- fixed: 1 0;
- rel1 {
- relative: 0.0 0.0;
- }
- rel2 {
- relative: 0.0 1.0;
- }
- align: 0.0 0.0;
- }
- }
- part { name: "pad_r";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: 47 0;
- max: 47 0;
- fixed: 1 0;
- rel1 {
- relative: 1.0 0.0;
- }
- rel2 {
- relative: 1.0 1.0;
- }
- align: 1.0 0.0;
- }
- }
- part { name:"elm.swallow.content";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- min: DEMO_POPUP_CENTER_PROGRESSVIEW_CONTENT_MIN;
- align: 0.5 0.5;
- fixed: 1 0;
- rel1 {
- relative: 1.0 1.0;
- to_x: "pad_l";
- to_y: "pad_t";
- }
- rel2 {
- relative: 0.0 0.0;
- to_x: "pad_r";
- to_y: "pad_b";
- }
- }
- }
- part { name: "pad_b";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- align: 0.5 1.0;
- min: 0 32;
- fixed: 0 1;
- rel1 {
- relative: 1.0 0.0;
- to_x: "pad_l";
- to_y: "pad_bm";
- }
- rel2 {
- relative: 0.0 0.0;
- to_x: "pad_r";
- to_y: "pad_bm";
- }
- }
- }
- part { name: "elm.swallow.end";
- type: SWALLOW;
- scale: 1;
- mouse_events: 1;
- repeat_events: 1;
- description { state: "default" 0.0;
- align: 0.5 0.5;
- min: DEMO_POPUP_CENTER_PROGRESSVIEW_CONTENT_END_MIN;
- fixed: 1 1;
- rel1 {
- relative: 0.0 0.0;
- to: "pad_b";
- }
- rel2 {
- relative: 1.0 1.0;
- to: "pad_b";
- }
- }
- }
- part { name: "pad_bm";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- align: 0.5 1.0;
- min: DEMO_POPUP_CENTER_PROGRESSVIEW_PAD_BOTTOM;
- fixed: 1 1;
- rel1 {
- relative: 1.0 1.0;
- to_x: "pad_l";
- }
- rel2 {
- relative: 0.0 1.0;
- to_x: "pad_r";
- }
- }
- }
- part { name: "elm.text.subtext1";
- type: TEXT;
- scale: 1;
- description { state: "default" 0.0;
- text {
- min: 0 0;
- align: 0.0 0.5;
- text_class: "T123";
- }
- color_class: "T123";
- align: 0.0 0.5;
- rel1 {
- relative: 0.0 0.0;
- to: "pad_bm";
- }
- rel2 {
- relative: 1.0 1.0;
- to: "pad_bm";
- }
- }
- }
- part { name: "elm.text.subtext2";
- type: TEXT;
- scale: 1;
- description { state: "default" 0.0;
- text {
- min: 0 0;
- align: 1.0 0.5;
- text_class: "T123";
- }
- color_class: "T123";
- align: 1.0 0.5;
- rel1 {
- relative: 0.0 0.0;
- to: "pad_bm";
- }
- rel2 {
- relative: 1.0 1.0;
- to: "pad_bm";
- }
- }
- }
- }
-#undef DEMO_POPUP_CENTER_PROGRESSVIEW_CONTENT_MIN
-#undef DEMO_POPUP_CENTER_PROGRESSVIEW_CONTENT_END_MIN
-#undef DEMO_POPUP_CENTER_PROGRESSVIEW_PAD_BOTTOM
-}
-
-group { name: "popup_gengrid_custom_1line";
- parts {
- part { name: "elm.swallow.content";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- min: 594 276; // (190 + (4*2))*3 (150+37+37) + 26 + 26
- align: 0.5 0.5;
- }
- }
- }
-}
-
-group { name: "popup_gengrid_custom_rotate_1line";
- parts {
- part { name: "elm.swallow.content";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- min: 792 276; // (190 + (4*2))*4 (150+37+37) + 26 + 26
- align: 0.5 0.5;
- }
- }
- }
-}
-
-group { name: "popup_gengrid_custom_2line";
- parts {
- part { name: "elm.swallow.content";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- min: 594 500; // (190 + (4*2))*3 (150+37+37)*2 + 26 + 26
- align: 0.5 0.5;
- }
- }
- }
-}
-
-group { name: "popup_gengrid_custom_rotate_2line";
- parts {
- part { name: "elm.swallow.content";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- min: 792 500; // (190 + (4*2))*4 (150+37+37)*2 + 26 + 26
- align: 0.5 0.5;
- }
- }
- }
-}
-
-group { name: "popup_gengrid_custom_3line";
- parts {
- part { name: "elm.swallow.content";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- min: 594 724; // (190 + (4*2))*3 (150+37+37)*3 + 26 + 26
- align: 0.5 0.5;
- }
- }
- }
-}
-
-group { name: "popup_gengrid_custom_rotate_3line";
- parts {
- part { name: "elm.swallow.content";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- min: 792 500; // (190 + (4*2))*4 (150+37+37)*2 + 26 + 26
- align: 0.5 0.5;
- }
- }
- }
-}
+++ /dev/null
-#include "progressbar_macro.edc"
-
-group {
- name: "pingpongs";
- parts {
- BACKGROUND_PART("bg")
- TOP_PADDING_PART("top_padding")
- LEFT_PADDING_PART("left_padding")
- RIGHT_PADDING_PART("right_padding")
- PART_LABEL("pingpong_bounces_text", "top_padding", "Pingpong_bounces progress mode")
- PART_ELEMENT_CONTAINER("pingpong_bounces_progress", "pingpong_bounces_text")
- PART_PADDING("top_padding1", "pingpong_bounces_progress")
- PART_LABEL("pingpong_bounces_pulse_text", "top_padding1", "Pingpong_bounces pulse mode")
- PART_ELEMENT_CONTAINER("pingpong_bounces_pulse", "pingpong_bounces_pulse_text")
- PART_PADDING("top_padding2", "pingpong_bounces_pulse")
- PART_LABEL("pingpong_text", "top_padding2", "Pingpong progress mode")
- PART_ELEMENT_CONTAINER("pingpong_progress", "pingpong_text")
- BOTTOM_PADDING_PART("bottom_padding", "pingpong_progress")
- }
-}
-
-#define PROGRESSBAR_SIZE 300 300
-#define BALL_SIZE 50 50
-#define TEXT_MARK_SIZE 30
-
-#define LEFT_POSITION_1 0.0 0.4
-#define TOP_POSITION_1 0.4 0.0
-#define RIGHT_POSITION_2 1.0 0.6
-#define RIGHT_HORIZONTAL_POSITION_2 1.0 0.6
-#define BOTTOM_POSITION_2 0.6 1.0
-
-#define LEFT_MARK_POSITION_1 0.0 0.3
-#define TOP_MARK_POSITION_1 0.55 0.0
-#define RIGHT_MARK_POSITION_2 1.0 0.7
-#define RIGHT_HORIZONTAL_MARK_POSITION_2 1.0 0.45
-#define BOTTOM_MARK_POSITION_2 0.45 1.0
-
-#define INVISIBLE_COLOR 255 255 255 0
-#define VISIBLE_COLOR 255 255 255 255
-#define STATE_INVISIBLE "default"
-#define STATE_VISIBLE "visible"
-
-#define BOUNCE_BALL_MOTION BOUNCE 2 2 4
-#define LINEAR_BALL_MOTION LIN 0.6
-
-#define ALIGN_LEFT_TOP 0.0 0.0
-#define ALIGN_RIGHT_BOTTOM 1.0 1.0
-
-#define TEXT_MARK_PART_PINGPONG(part_name, align_type, relative_params) \
- part { \
- name: part_name; \
- type: TEXT; \
- scale: 1; \
- description { \
- state: "default" 0.0; \
- align: align_type; \
- color: INVISIBLE_COLOR; \
- text { \
- font: "Sans:bold"; \
- align: align_type; \
- size: TEXT_MARK_SIZE; \
- text_source: "elm.text.status"; \
- } \
- relative_params \
- } \
- description { \
- state: "visible" 0.0; \
- inherit: "default" 0.0; \
- color: VISIBLE_COLOR; \
- } \
- }
-
-#define MOTION_PROGRAM(prog_name, prog_after, to_mark, next_part, transit) \
- program { \
- name: prog_name; \
- action: STATE_SET to_mark 0.0; \
- transition: transit; \
- target: "ball"; \
- after: prog_after; \
- after: "shine."next_part; \
- after: "dim."to_mark; \
- }
-
-#define MOTION_PROGRAM_PULSE(prog_name, prog_after, to_mark) \
- program { \
- name: prog_name; \
- action: STATE_SET to_mark 0.0; \
- transition: LINEAR_BALL_MOTION; \
- target: "ball"; \
- after: prog_after; \
- }
-#define VISIBILITY_PROGRAM(prog_name, part_name, state) \
- program { \
- name: prog_name; \
- action: STATE_SET state 0.0; \
- transition: ACCEL 0.5; \
- target: part_name; \
- }
-
-#define NEW_PINGPONG_PROGRESSBAR_GROUP(group_name, ball_transition_style) \
-group { \
- name: group_name; \
- images { \
- image: "background.png" COMP; \
- image: "ball.png" COMP; \
- } \
- parts { \
- part { \
- name: "background"; \
- type: IMAGE; \
- scale: 1; \
- description { \
- state: "default"; \
- min: PROGRESSBAR_SIZE; \
- max: PROGRESSBAR_SIZE; \
- image { \
- normal: "background.png"; \
- border: 10 10 10 10; \
- } \
- } \
- } \
- part { \
- name: "elm.text.status"; \
- type: TEXT; \
- description { \
- state: "default" 0.0; \
- visible: 0; \
- } \
- } \
- TEXT_MARK_PART_PINGPONG("text.mark.1", ALIGN_LEFT_TOP, \
- rel1 { \
- relative: LEFT_MARK_POSITION_1; \
- to: "background"; \
- } \
- rel2.to: "background";) \
- TEXT_MARK_PART_PINGPONG("text.mark.2", ALIGN_LEFT_TOP, \
- rel1 { \
- relative: TOP_MARK_POSITION_1; \
- to: "background"; \
- } \
- rel2.to: "background";) \
- TEXT_MARK_PART_PINGPONG("text.mark.3", ALIGN_RIGHT_BOTTOM, \
- rel1.to: "background"; \
- rel2 { \
- relative: RIGHT_MARK_POSITION_2; \
- to: "background"; \
- }) \
- TEXT_MARK_PART_PINGPONG("text.mark.3.horizontal", ALIGN_RIGHT_BOTTOM, \
- rel1.to: "background"; \
- rel2 { \
- to: "background"; \
- relative: RIGHT_HORIZONTAL_MARK_POSITION_2; \
- }) \
- TEXT_MARK_PART_PINGPONG("text.mark.4", ALIGN_RIGHT_BOTTOM, \
- rel1.to: "background"; \
- rel2 { \
- relative: BOTTOM_MARK_POSITION_2; \
- to: "background"; \
- }) \
- part { \
- name: "ball"; \
- type: IMAGE; \
- scale: 1; \
- description { \
- state: "default" 0.0; \
- min: BALL_SIZE; \
- max: BALL_SIZE; \
- align: ALIGN_LEFT_TOP; \
- image.normal: "ball.png"; \
- rel1 { \
- relative: LEFT_POSITION_1; \
- to: "background"; \
- } \
- rel2.to: "background"; \
- } \
- description { \
- state: "top" 0.0; \
- inherit: "default" 0.0; \
- rel1.relative: TOP_POSITION_1; \
- } \
- description { \
- state: "right" 0.0; \
- inherit: "default" 0.0; \
- align: ALIGN_RIGHT_BOTTOM; \
- rel2.relative: RIGHT_POSITION_2; \
- } \
- description { \
- state: "right.horizontal" 0.0; \
- inherit: "default" 0.0; \
- align: ALIGN_RIGHT_BOTTOM; \
- rel2.relative: RIGHT_HORIZONTAL_POSITION_2; \
- } \
- description { \
- state: "bottom" 0.0; \
- inherit: "default" 0.0; \
- align: ALIGN_RIGHT_BOTTOM; \
- rel2.relative: BOTTOM_POSITION_2; \
- } \
- description { \
- state: "left" 0.0; \
- inherit: "default" 0.0; \
- } \
- } \
- } \
- programs { \
- program { \
- name: "on_start"; \
- signal: "load"; \
- source: ""; \
- after: "progress.1"; \
- after: "shine.right.horizontal"; \
- after: "dim.left"; \
- } \
- program { \
- name: "on_pulse"; \
- signal: "elm,state,pulse,start"; \
- source: "elm"; \
- action: STATE_SET STATE_INVISIBLE 0.0; \
- target: "text.mark.1"; \
- target: "text.mark.2"; \
- target: "text.mark.3"; \
- target: "text.mark.3.horizontal"; \
- target: "text.mark.4"; \
- after: "pulse"; \
- } \
- program { \
- name: "pulse"; \
- action: STATE_SET "default" 0.0; \
- target: "ball"; \
- after: "pulse.1"; \
- } \
- MOTION_PROGRAM("progress.1", "progress.2", "right.horizontal", "bottom", \
- ball_transition_style) \
- MOTION_PROGRAM("progress.2", "progress.3", "bottom", "left", \
- ball_transition_style) \
- MOTION_PROGRAM("progress.3", "progress.4", "left", "top", \
- ball_transition_style) \
- MOTION_PROGRAM("progress.4", "progress.5", "top", "right", \
- ball_transition_style) \
- MOTION_PROGRAM("progress.5", "progress.6", "right", "bottom", \
- ball_transition_style) \
- MOTION_PROGRAM("progress.6", "progress.7", "bottom", "left", \
- ball_transition_style) \
- MOTION_PROGRAM("progress.7", "progress.1", "left", "right.horizontal", \
- ball_transition_style) \
- MOTION_PROGRAM_PULSE("pulse.1", "pulse.2", "right") \
- MOTION_PROGRAM_PULSE("pulse.2", "pulse.3", "bottom") \
- MOTION_PROGRAM_PULSE("pulse.3", "pulse.4", "left") \
- MOTION_PROGRAM_PULSE("pulse.4", "pulse.5", "top") \
- MOTION_PROGRAM_PULSE("pulse.5", "pulse.6", "right") \
- MOTION_PROGRAM_PULSE("pulse.6", "pulse.7", "bottom") \
- MOTION_PROGRAM_PULSE("pulse.7", "pulse.1", "left") \
- VISIBILITY_PROGRAM("shine.left", "text.mark.1", STATE_VISIBLE) \
- VISIBILITY_PROGRAM("shine.top", "text.mark.2", STATE_VISIBLE) \
- VISIBILITY_PROGRAM("shine.right", "text.mark.3", STATE_VISIBLE) \
- VISIBILITY_PROGRAM("shine.right.horizontal", "text.mark.3.horizontal", \
- STATE_VISIBLE) \
- VISIBILITY_PROGRAM("shine.bottom", "text.mark.4", STATE_VISIBLE) \
- VISIBILITY_PROGRAM("dim.left", "text.mark.1", STATE_INVISIBLE) \
- VISIBILITY_PROGRAM("dim.top", "text.mark.2", STATE_INVISIBLE) \
- VISIBILITY_PROGRAM("dim.right", "text.mark.3", STATE_INVISIBLE) \
- VISIBILITY_PROGRAM("dim.right.horizontal", "text.mark.3.horizontal", \
- STATE_INVISIBLE) \
- VISIBILITY_PROGRAM("dim.bottom", "text.mark.4", STATE_INVISIBLE) \
- } \
-}
-
-NEW_PINGPONG_PROGRESSBAR_GROUP("elm/progressbar/horizontal/pingpong_bounces",
- BOUNCE_BALL_MOTION)
-
-NEW_PINGPONG_PROGRESSBAR_GROUP("elm/progressbar/horizontal/pingpong",
- LINEAR_BALL_MOTION)
-
-#undef PROGRESSBAR_SIZE
-#undef BALL_SIZE
-#undef TEXT_MARK_SIZE
-#undef LEFT_POSITION_1
-#undef TOP_POSITION_1
-#undef RIGHT_POSITION_2
-#undef RIGHT_HORIZONTAL_POSITION_2
-#undef BOTTOM_POSITION_2
-#undef LEFT_MARK_POSITION_1
-#undef TOP_MARK_POSITION_1
-#undef RIGHT_MARK_POSITION_2
-#undef RIGHT_HORIZONTAL_MARK_POSITION_2
-#undef BOTTOM_MARK_POSITION_2
-#undef INVISIBLE_COLOR
-#undef VISIBLE_COLOR
-#undef STATE_INVISIBLE
-#undef STATE_VISIBLE
-#undef BOUNCE_BALL_MOTION
-#undef LINEAR_BALL_MOTION
-#undef ALIGN_LEFT_TOP
-#undef ALIGN_RIGHT_BOTTOM
-#undef TEXT_MARK_PART_PINGPONG
-#undef MOTION_PROGRAM
-#undef MOTION_PROGRAM_PULSE
-#undef VISIBILITY_PROGRAM
-#undef NEW_PINGPONG_PROGRESSBAR_GROUP
\ No newline at end of file
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "progressbar_macro.edc"
-
-group {
- name: "progessbar";
- parts {
- BACKGROUND_PART("bg")
- TOP_PADDING_PART("top_padding")
- LEFT_PADDING_PART("left_padding")
- RIGHT_PADDING_PART("right_padding")
- PART_LABEL("list_progress_text", "top_padding", "Progress List")
- PART_ELEMENT_CONTAINER("list_progress", "list_progress_text")
- PART_PADDING("top_padding1", "list_progress")
- PART_LABEL("progress_list_text_text", "top_padding1", "Progress List Text")
- PART_ELEMENT_CONTAINER("progress_list_text", "progress_list_text_text")
- PART_PADDING("top_padding2", "progress_list_text")
- PART_LABEL("pending_list_text", "top_padding2", "Pending List")
- PART_ELEMENT_CONTAINER("pending_list", "pending_list_text")
- PART_PADDING("top_padding3", "pending_list")
- PART_LABEL("progress_circle_text", "top_padding3", "Progress circle")
- PART_ELEMENT_CONTAINER("progress_circle", "progress_circle_text")
- PART_PADDING("top_padding4", "progress_circle")
- PART_LABEL("process_Xlarge_text", "top_padding4", "Process Xlarge")
- PART_ELEMENT_CONTAINER("process_Xlarge", "process_Xlarge_text")
- PART_PADDING("top_padding5", "process_Xlarge")
- PART_LABEL("process_large_text", "top_padding5", "process large")
- PART_ELEMENT_CONTAINER("process_large", "process_large_text")
- PART_PADDING("top_padding6", "process_large")
- PART_LABEL("process_medium_text", "top_padding6", "process medium")
- PART_ELEMENT_CONTAINER("process_medium", "process_medium_text")
- PART_PADDING("top_padding7", "process_medium")
- PART_LABEL("process_small_text", "top_padding7", "Process small")
- PART_ELEMENT_CONTAINER("process_small", "process_small_text")
- BOTTOM_PADDING_PART("bottom_padding", "process_small")
- }
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 TEXT_COLOR 173 170 165 255
-#define BLACK_COLOR 0 0 0 255
-#define SIDE_PAD_SIZE 10 0
-#define PAD_SIZE 10 30
-
-#define BACKGROUND_PART(part_name)\
-part {\
- name: part_name;\
- type: RECT;\
- scale: 1;\
- description {\
- state: "default" 0.0;\
- visible: 0;\
- min: 1 1;\
- }\
-}
-
-#define TOP_PADDING_PART(part_name)\
-part {\
- name: part_name;\
- type: SPACER;\
- scale: 1;\
- description {\
- state: "default" 0.0;\
- min: PAD_SIZE;\
- max: PAD_SIZE;\
- fixed: 1 1;\
- align: 0.5 0.0;\
- rel1 {\
- relative: 0.5 0.0;\
- to_y:"bg";\
- }\
- rel2 {\
- relative: 0.5 0.0;\
- to_y:"bg";\
- }\
- }\
-}
-
-#define LEFT_PADDING_PART(part_name)\
-part {\
- name: part_name;\
- type: SPACER;\
- scale: 1;\
- description {\
- state: "default" 0.0;\
- min: SIDE_PAD_SIZE;\
- fixed: 1 0;\
- align: 0.0 0.5;\
- rel1.to_x: "bg";\
- rel2.relative: 0.0 1.0;\
- }\
-}
-
-#define RIGHT_PADDING_PART(part_name)\
-part {\
- name: part_name;\
- type: SPACER;\
- scale: 1;\
- description {\
- state: "default" 0.0;\
- min: SIDE_PAD_SIZE;\
- fixed: 1 0;\
- align : 1.0 0.5;\
- rel1.relative: 1.0 0.0;\
- rel2.to_x: "bg";\
- }\
-}
-
-#define BOTTOM_PADDING_PART(part_name,rel_to_y_name)\
-part {\
- name: part_name;\
- type: SPACER;\
- scale: 1;\
- description {\
- state: "default" 0.0;\
- min: PAD_SIZE;\
- align: 0.5 1.0;\
- rel1 {\
- relative: 0.0 1.0;\
- to_y: rel_to_y_name;\
- }\
- }\
-}
-
-#define PART_LABEL(part_name, to_y_name, part_text)\
-part {\
- name: part_name;\
- type: TEXT;\
- scale: 1;\
- description {\
- state: "default" 0.0;\
- fixed: 0 1;\
- align: 0.5 0.0;\
- color: TEXT_COLOR;\
- text {\
- font: "Tizen:style=Roman";\
- size: 24;\
- text: part_text;\
- min: 1 1;\
- align: 0.0 0.0;\
- }\
- rel1 {\
- relative: 1.0 1.0;\
- to_y: to_y_name;\
- to_x: "left_padding";\
- }\
- rel2 {\
- relative: 0.0 1.0;\
- to_y: to_y_name;\
- to_x: "right_padding";\
- }\
- }\
-}
-
-#define PART_ELEMENT_CONTAINER(part_name, to_y_name)\
-part {\
- name: part_name;\
- type: SWALLOW;\
- scale: 1;\
- description {\
- state: "default" 0.0;\
- fixed: 0 1;\
- align: 0.5 0.0;\
- rel1 {\
- relative: 1.0 1.0;\
- to_y: to_y_name;\
- to_x: "left_padding";\
- }\
- rel2 {\
- relative: 0.0 1.0;\
- to_y: to_y_name;\
- to_x: "right_padding";\
- }\
- }\
-}
-
-#define PART_PADDING(part_name, to_y_name)\
-part {\
- name: part_name;\
- type: SPACER;\
- scale: 1;\
- description {\
- state: "default" 0.0;\
- min: PAD_SIZE;\
- max: PAD_SIZE;\
- fixed: 1 1;\
- align: 0.5 0.0;\
- rel1 {\
- relative: 0.5 1.0;\
- to_y: to_y_name;\
- }\
- rel2 {\
- relative: 0.5 1.0;\
- to_y: to_y_name;\
- }\
- }\
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 RADIO_WIDTH 170.0
-#define RADIO_HEIGHT 44.0
-#define RADIO_GAP 30.0
-
-group {
- name: "elmdemo-test/radio";
- parts {
- part {
- name: "top_padding";
- type: SPACER;
- scale: 1; //allow scaling
- description {
- state: "default" 0.0;
- min : RADIO_WIDTH RADIO_GAP; //minimum size for gap filler
- fixed: 0 1;
- align: 0 0;
- rel1.relative: 0.0 0.0;
- rel2.relative: 1.0 0.0;
- }
- }
- part {
- name: "radio1";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- align: 0.5 0.0;
- rel1 {
- relative: 0.5 1.0;
- to_y: "top_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "top_padding";
- }
- }
- }
- part {
- name: "radio1_bottom_padding";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min : RADIO_WIDTH RADIO_GAP;
- max : RADIO_WIDTH RADIO_GAP;
- fixed: 1 1;
- align: 0.5 0.0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "radio1";
- }
- rel2.to_y: "radio1";
- }
- }
- part {
- name: "radio2";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- align: 0.5 0.0;
- rel1 {
- relative: 0.5 1.0;
- to_y: "radio1_bottom_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "radio1_bottom_padding";
- }
- }
- }
- part {
- name: "radio2_bottom_padding";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min : RADIO_WIDTH RADIO_GAP;
- max : RADIO_WIDTH RADIO_GAP;
- fixed: 1 1;
- align: 0.5 0.0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "radio2";
- }
- rel2.to_y: "radio2";
- }
- }
- part {
- name: "radio3";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- align: 0.5 0.0;
- rel1 {
- relative: 0.5 1.0;
- to_y: "radio2_bottom_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "radio2_bottom_padding";
- }
- }
- }
- part {
- name: "radio3_bottom_padding";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min : RADIO_WIDTH RADIO_GAP;
- max : RADIO_WIDTH RADIO_GAP;
- fixed: 1 1;
- align: 0.5 0.0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "radio3";
- }
- rel2.to_y: "radio3";
- }
- }
- part {
- name: "radio4";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- align: 0.5 0.0;
- rel1 {
- relative: 0.5 1.0;
- to_y: "radio3_bottom_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "radio3_bottom_padding";
- }
- }
- }
- part {
- name: "bottom_padding";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min : RADIO_WIDTH RADIO_GAP;
- align: 0.5 1.0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "radio4";
- }
- }
- }
- } //end parts
-} //end group
-
-group {
- name: "elmdemo-test/radio-custom";
- parts {
- part {
- name: "top_padding";
- type: SPACER;
- scale: 1; //allow scaling
- description {
- state: "default" 0.0;
- min : RADIO_WIDTH RADIO_GAP; //minimum size for gap filler
- fixed: 0 1;
- align: 0.0 0.0;
- rel2.relative: 1.0 0.0;
- }
- }
- part {
- name: "radio1";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- align: 0.5 0.0;
- rel1 {
- relative: 0.5 1.0;
- to_y: "top_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "top_padding";
- }
- }
- }
- part {
- name: "radio1_bottom_padding";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min : RADIO_WIDTH RADIO_GAP;
- max : RADIO_WIDTH RADIO_GAP;
- fixed: 1 1;
- align: 0.5 0.0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "radio1";
- }
- rel2.to_y: "radio1";
- }
- }
- part {
- name: "radio2";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- align: 0.5 0.0;
- rel1 {
- relative: 0.5 1.0;
- to_y: "radio1_bottom_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "radio1_bottom_padding";
- }
- }
- }
- part {
- name: "radio2_bottom_padding";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min : RADIO_WIDTH RADIO_GAP;
- max : RADIO_WIDTH RADIO_GAP;
- fixed: 1 1;
- align: 0.5 0.0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "radio2";
- }
- rel2.to_y: "radio2";
- }
- }
- part {
- name: "radio3";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- align: 0.5 0.0;
- rel1 {
- relative: 0.5 1.0;
- to_y: "radio2_bottom_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "radio2_bottom_padding";
- }
- }
- }
- part {
- name: "bottom_padding";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min : RADIO_WIDTH RADIO_GAP;
- align: 0.5 1.0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "radio3";
- }
- }
- }
- } //end parts
-} //end group
-
-#undef RADIO_WIDTH
-#undef RADIO_HEIGHT
-#undef RADIO_GAP
-
+++ /dev/null
-/*
- * Copyright (c) 2010 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * PROPRIETARY/CONFIDENTIAL
- *
- * This software is the confidential and proprietary information of SAMSUNG
- * ELECTRONICS ("Confidential Information"). You agree and acknowledge that this
- * software is owned by Samsung and you shall not disclose such Confidential
- * Information and shall use it only in accordance with the terms of the license
- * agreement you entered into with SAMSUNG ELECTRONICS. SAMSUNG make no
- * representations or warranties about the suitability of the software, either
- * express or implied, including but not limited to the implied warranties of
- * merchantability, fitness for a particular purpose, or non-infringement.
- * SAMSUNG shall not be liable for any damages suffered by licensee arising out
- * of or releated to this software.
- *
- */
-
-#define RADIO_STATE_DEFAULT 0
-#define RADIO_STATE_VISIBLE 1
-#define RADIO_STATE_DISABLED_VISIBLE 2
-#define RADIO_STATE_DISABLED 3
-
-group {
- name: "elm/radio/base/water";
- images {
- image: "radio_bg.png" COMP;
- image: "change_bg.png" COMP;
- image: "radio_bg_in.png" COMP;
- }
- parts {
- part {
- name: "radio_bg";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- visible: 0;
- }
- }
- part {
- name: "water_effect";
- type: IMAGE;
- scale: 1;
- clip_to: "clipper";
- description {
- state: "default" 0.0;
- align: 0.0 0.75;
- max: 36 4;
- rel1.to: "bg_image";
- rel2.to: "bg_image";
- image.normal: "change_bg.png";
- }
- description {
- state: "visible" 0.0;
- inherit: "default" 0.0;
- align: 1.0 0.25;
- }
- }
- part {
- name: "radio";
- clip_to: "sequence_clip";
- scale: 1;
- mouse_events: 1;
- description {
- state: "default" 0.0;
- rel1.to: "bg_image";
- rel2.to: "bg_image";
- image.normal: "radio_bg_in.png";
- }
- }
- part {
- name: "radio_choose";
- scale: 1;
- description {
- state: "default" 0.0;
- align: 0.5 0.5;
- visible: 0;
- rel1.to: "bg_image";
- rel2.to: "bg_image";
- image.normal: "radio_bg_in.png";
- }
- description {
- state: "visible" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- }
- part {
- name: "bg_image";
- scale: 1;
- description {
- state: "default" 0.0;
- align: 0.0 0.5;
- min: 64 64;
- max: 64 64;
- rel1.to: "radio_bg";
- rel2.to: "radio_bg";
- image.normal: "radio_bg.png";
- }
- }
- part {
- name: "sequence_clip";
- type: RECT;
- description {
- state: "default" 0.0;
- rel1 {
- to_y: "water_effect";
- relative: 0.0 1.0;
- }
- rel2.to: "bg_image";
- }
- }
- part {
- name: "clipper";
- type: RECT;
- scale: 1;
- mouse_events: 1;
- description {
- state: "default" 0.0;
- min: 24 24;
- max: 24 24;
- rel1.to: "radio";
- rel2.to: "radio";
- }
- }
- part {
- name: "elm.swallow.content";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 0;
- visible: 0;
- align: 1.0 0.5;
- rel1 {
- to_x: "bg_image";
- relative: 1.0 0.0;
- }
- rel2.to_x: "bg_image";
- }
- description {
- state: "visible" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- aspect: 1.0 1.0;
- min: 64 64;
- }
- description {
- state: "disabled" 0.0;
- inherit: "default" 0.0;
- color: 255 255 255 128;
- }
- description {
- state: "disabled_visible" 0.0;
- inherit: "default" 0.0;
- color: 255 255 255 128;
- visible: 1;
- aspect: 1.0 1.0;
- }
- }
- part {
- name: "elm.text";
- type: TEXT;
- scale: 1;
- description {
- state: "default" 0.0;
- visible: 0;
- fixed: 1 1;
- rel1 {
- to_x: "elm.swallow.content";
- relative: 1.0 0.0;
- }
- color: 0 0 0 255;
- text {
- text: "Radio";
- font: "Tizen:style=Regular";
- size: 24;
- min: 1 1;
- align: 1.0 0.5;
- text_class: "tizen";
- }
- }
- description {
- state: "visible" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- text.min: 1 1;
- }
- description {
- state: "disabled" 0.0;
- inherit: "default" 0.0;
- color: 0 0 0 128;
- color3: 0 0 0 0;
- }
- description {
- state: "disabled_visible" 0.0;
- inherit: "default" 0.0;
- color: 0 0 0 128;
- color3: 0 0 0 0;
- visible: 1;
- text.min: 1 1;
- }
- }
- part {
- name: "disabler";
- type: RECT;
- ignore_flags: ON_HOLD;
- description {
- state: "default" 0.0;
- color: 0 0 0 0;
- visible: 0;
- }
- description {
- state: "disabled" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- }
- }
- programs {
- program {
- name: "click";
- signal: "mouse,clicked,1";
- source: "*";
- action: SIGNAL_EMIT "elm,action,radio,toggle" "";
- }
- program {
- name: "begin";
- signal: "elm,state,radio,begin";
- source: "";
- action: ACTION_STOP;
- target: "radio_on";
- after: "full_without_action";
- }
- program {
- name: "full_without_action";
- action: STATE_SET "visible" 0.0;
- target: "radio_choose";
- }
- program {
- name: "end";
- signal: "elm,state,radio,off";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "radio_choose";
- after: "radio_off";
- }
- program {
- name: "radio_on";
- signal: "elm,state,radio,on";
- source: "elm";
- action: STATE_SET "visible" 0.0;
- target: "water_effect";
- transition: LINEAR 0.9;
- }
- program {
- name: "radio_off";
- action: STATE_SET "default" 0.0;
- target: "water_effect";
- transition: LINEAR 0.9;
- }
- program {
- name: "text_show";
- signal: "elm,state,text,visible";
- source: "elm";
- action: STATE_SET "visible" 0.0;
- target: "elm.text";
- }
- program {
- name: "text_hide";
- signal: "elm,state,text,hidden";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "elm.text";
- }
- program {
- name: "icon_show";
- signal: "elm,state,icon,visible";
- source: "elm";
- action: STATE_SET "visible" 0.0;
- target: "elm.swallow.content";
- }
- program {
- name: "icon_hide";
- signal: "elm,state,icon,hidden";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "elm.swallow.content";
- }
- program {
- name: "disable";
- signal: "elm,state,disabled";
- source: "elm";
- action: STATE_SET "disabled" 0.0;
- target: "disabler";
- after: "disable_text";
- }
- program {
- name: "disable_text";
- script {
- new st[31];
- new Float:vl;
- get_state(PART:"elm.text", st, 30, vl);
- if (!strcmp(st, "visible"))
- {
- set_state(PART:"elm.text", "disabled_visible", 0.0);
- }
- else set_state(PART:"elm.text", "disabled", 0.0);
-
- get_state(PART:"elm.swallow.content", st, 30, vl);
- if (!strcmp(st, "visible"))
- {
- set_state(PART:"elm.swallow.content", "disabled_visible", 0.0);
- }
- else set_state(PART:"elm.swallow.content", "disabled", 0.0);
- }
- }
- program {
- name: "enable";
- signal: "elm,state,enabled";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "disabler";
- after: "enable_text";
- }
- program {
- name: "enable_text";
- script {
- new st[31];
- new Float:vl;
- get_state(PART:"elm.text", st, 30, vl);
- if (!strcmp(st, "disabled_visible"))
- {
- set_state(PART:"elm.text", "visible", 0.0);
- }
- else set_state(PART:"elm.text", "default", 0.0);
-
- get_state(PART:"elm.swallow.content", st, 30, vl);
- if (!strcmp(st, "visible"))
- {
- set_state(PART:"elm.swallow.content", "visible", 0.0);
- }
- else set_state(PART:"elm.swallow.content", "default", 0.0);
- }
- }
- }
-}
-
-#undef RADIO_STATE_DEFAULT
-#undef RADIO_STATE_VISIBLE
-#undef RADIO_STATE_DISABLED_VISIBLE
-#undef RADIO_STATE_DISABLED
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.
- *
- */
-
- group {
- name: "elmdemo-test/segment";
-#define BUTTON_WIDTH 250.0
-#define BUTTON_HEIGHT 44.0
-#define BUTTON_GAP 20.0
- parts {
- part {
- name: "bg";
- type: RECT;
- scale: 1; //allow scaling
- description {
- state: "default" 0.0;
- color: 128 128 128 50;
- }
- }
- part {
- name: "top_padding";
- type: RECT;
- scale: 1; //allow scaling
- description {
- state: "default" 0.0;
- visible: 0;
- min : BUTTON_WIDTH 30; //minimum size for gap filler
- fixed: 0 1;
- rel1 {
- relative: 0.0 0.0;
- }
- rel2 {
- relative: 1.0 0.0;
- }
- align: 0.0 0.0;
- }
- }
- part {
- name: "left_padding";
- type: RECT;
- scale: 1; //allow scaling
- description {
- state: "default" 0.0;
- visible: 0;
- min: 10 0; //minimum size for gap filler
- fixed: 1 0;
- rel1 {
- relative: 0.0 0.0;
- }
- rel2 {
- relative: 0.0 1.0;
- }
- align: 0.0 0.5;
- }
- }
- part {
- name: "right_padding";
- type: RECT;
- scale: 1; //allow scaling
- description {
- state: "default" 0.0;
- visible: 0;
- min : 10 0; //minimum size for gap filler
- fixed: 1 0;
- rel1 {
- relative: 1.0 0.0;
- }
- rel2 {
- relative: 1.0 1.0;
- }
- align: 1.0 0.5;
- }
- }
- part {
- name: "segment1";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 0 1;
- min: 460 70;
- max: 780 70;
- rel1 {
- relative: 1.0 1.0;
- to_y: "top_padding";
- to_x: "left_padding";
- }
- rel2 {
- relative: 0.0 1.0;
- to_x: "right_padding";
- }
- align: 0.5 0.0;
- }
- }
- part {
- name: "middle_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- visible: 0;
- min : BUTTON_WIDTH BUTTON_GAP;
- max : BUTTON_WIDTH BUTTON_GAP;
- fixed: 1 1;
- align: 0.5 0.0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "segment1";
- }
- rel2 {
- relative: 1.0 1.0;
- to_y: "segment1";
- }
- }
- }
- part {
- name: "segment2";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 0 1;
- min: 460 90;
- max: 780 90;
- rel1 {
- relative: 1.0 1.0;
- to_y: "middle_padding";
- to_x: "left_padding";
- }
- rel2 {
- relative: 0.0 1.0;
- to_x: "right_padding";
- }
- align: 0.5 0.0;
- }
- }
- part {
- name: "pad_after_segment2";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- visible: 0;
- min : BUTTON_WIDTH BUTTON_GAP;
- max : BUTTON_WIDTH BUTTON_GAP;
- fixed: 1 1;
- align: 0.5 0.0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "segment2";
- }
- rel2 {
- relative: 1.0 1.0;
- to_y: "segment2";
- }
- }
- }
- part {
- name: "disabled_seg1";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 0 1;
- min: 460 90;
- max: 780 90;
- rel1 {
- relative: 1.0 1.0;
- to_y: "pad_after_segment2";
- to_x: "left_padding";
- }
- rel2 {
- relative: 0.0 1.0;
- to_x: "right_padding";
- }
- align: 0.5 0.0;
- }
- }
- part {
- name: "pad_after_segment3";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- visible: 0;
- min : BUTTON_WIDTH BUTTON_GAP;
- max : BUTTON_WIDTH BUTTON_GAP;
- fixed: 1 1;
- align: 0.5 0.0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "disabled_seg1";
- }
- rel2 {
- relative: 1.0 1.0;
- to_y: "disabled_seg1";
- }
- }
- }
- part {
- name: "segment4";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 0 1;
- min: 460 90;
- max: 780 90;
- rel1 {
- relative: 1.0 1.0;
- to_y: "pad_after_segment3";
- to_x: "left_padding";
- }
- rel2 {
- relative: 0.0 1.0;
- to_x: "right_padding";
- }
- align: 0.5 0.0;
- }
- }
- part {
- name: "pad_after_segment4";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- visible: 0;
- min : BUTTON_WIDTH BUTTON_GAP;
- max : BUTTON_WIDTH BUTTON_GAP;
- fixed: 1 1;
- align: 0.5 0.0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "segment4";
- }
- rel2 {
- relative: 1.0 1.0;
- to_y: "segment4";
- }
- }
- }
- part {
- name: "disabled_seg2";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 0 1;
- min: 460 50;
- max: 780 50;
- rel1 {
- relative: 1.0 1.0;
- to_y: "pad_after_segment4";
- to_x: "left_padding";
- }
- rel2 {
- relative: 0.0 1.0;
- to_x: "right_padding";
- }
- align: 0.5 0.0;
- }
- }
- part {
- name: "btn_insert_bottom_padding";
- type: RECT;
- scale: 1;
-
- description {
- state: "default" 0.0;
- visible: 0;
- min : BUTTON_WIDTH 15;
- max : BUTTON_WIDTH 15;
- fixed: 1 1;
- align: 0.5 0.0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "disabled_seg2";
- }
- rel2 {
- relative: 1.0 1.0;
- to_y: "disabled_seg2";
- }
- }
- }
- part {
- name: "add";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- align: 0.5 0.0;
- min: BUTTON_WIDTH BUTTON_HEIGHT;
- max: BUTTON_WIDTH BUTTON_HEIGHT;
- rel1 {
- relative: 0.0 1.0;
- to_y: "btn_insert_bottom_padding";
- }
- align: 0.5 0.0;
- }
- }
- part {
- name: "btn_add_bottom_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- visible: 0;
- min : BUTTON_WIDTH BUTTON_GAP;
- max : BUTTON_WIDTH BUTTON_GAP;
- fixed: 1 1;
- align: 0.5 0.0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "add";
- }
- rel2 {
- relative: 1.0 1.0;
- to_y: "add";
- }
- }
- }
- part {
- name: "del";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- min: BUTTON_WIDTH BUTTON_HEIGHT;
- max: BUTTON_WIDTH BUTTON_HEIGHT;
- align: 0.5 0.0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "btn_add_bottom_padding";
- }
- align: 0.5 0.0;
- }
- }
- part {
- name: "btn_del_bottom_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- visible: 0;
- min : BUTTON_WIDTH BUTTON_GAP;
- max : BUTTON_WIDTH BUTTON_GAP;
- fixed: 1 1;
- align: 0.5 0.0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "del";
- }
- rel2 {
- relative: 1.0 1.0;
- to_y: "del";
- }
- }
- }
- part {
- name: "insert";
- type: SWALLOW;
- scale: 1;
- description {
- fixed: 1 1;
- min: BUTTON_WIDTH BUTTON_HEIGHT;
- max: BUTTON_WIDTH BUTTON_HEIGHT;
- state: "default" 0.0;
- rel1 {
- relative: 0.0 1.0;
- to_y: "btn_del_bottom_padding";
- }
- align: 0.5 0.0;
- }
- }
- part {
- name: "btn_yellow_bottom_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- visible: 0;
- min : 0 BUTTON_GAP;
- rel1 {
- relative: 0 1.0;
- to_y: "insert";
- }
- rel2 {
- relative: 1 1.0;
- }
- align: 0.5 1.0;
- }
- }
- }//end parts
-#undef BUTTON_WIDTH
-#undef BUTTON_HEIGHT
-#undef BUTTON_GAP
-} //end group
-
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.
- *
- */
-
-group {
- name: "slider_popup";
- images {
- image : "00_ebook_popup_bg.png" COMP;
- image : "00_ebook_popup_title_bg.png" COMP;
- }
- parts {
- part { name: "bg";
- type: IMAGE;
- scale: 1;
- mouse_events: 0;
- description {
- state: "default" 0.0;
- min: 438 96;
- fixed: 1 1;
- image.normal: "00_ebook_popup_bg.png";
- image.border: 16 16 26 28;
- }
- }
- part { name: "top_padding";
- type: RECT;
- scale: 1;
- mouse_events: 0;
- description {
- state: "default" 0.0;
- visible: 0;
- min: 0 2;
- fixed: 0 1;
- align: 0 0;
- rel1.relative: 0.5 0.0;
- rel2.relative: 0.5 0.0;
- }
- }
- part { name: "title_top_padding";
- type: RECT;
- scale: 1;
- mouse_events: 0;
- description {
- state: "default" 0.0;
- visible: 0;
- min: 0 10;
- fixed: 0 1;
- align: 0 0;
- rel1.relative: 0.5 0.0;
- rel2.relative: 0.5 0.0;
- }
- }
- part { name: "page_top_padding";
- type: RECT;
- scale: 1;
- mouse_events: 0;
- description {
- state: "default" 0.0;
- visible: 0;
- min: 0 45;
- fixed: 0 1;
- align: 0 0;
- rel1.relative: 0.5 0.0;
- rel2.relative: 0.5 0.0;
- }
- }
-
- part { name: "left_padding";
- type: RECT;
- scale: 1;
- mouse_events: 0;
- description {
- state: "default" 0.0;
- visible: 0;
- min: 2 0;
- fixed: 1 0;
- align: 0 0;
- rel1.relative: 0.0 0.0;
- rel2.relative: 0.0 1.0;
- }
- }
- part { name: "right_padding";
- type: RECT;
- scale: 1;
- mouse_events: 0;
- description {
- state: "default" 0.0;
- visible: 0;
- min: 9 0;
- fixed: 1 0;
- align: 1 0;
- rel1.relative: 1.0 0.0;
- rel2.relative: 1.0 1.0;
- }
- }
- part { name: "bg_title_image";
- type: IMAGE;
- scale: 1;
- mouse_events: 0;
- description {
- state: "default" 0.0;
- min: 0 36;
- fixed: 0 1;
- align: 0.5 0.0;
- rel1.relative: 1.0 1.0;
- rel1.to_x: "left_padding";
- rel1.to_y: "top_padding";
- rel2.relative: 0.0 1.0;
- rel2.to_x: "right_padding";
- rel2.to_y: "top_padding";
- image.normal: "00_ebook_popup_title_bg.png";
- image.border: 10 11 10 10;
- }
- }
- part { name: "title";
- type: TEXT;
- scale: 1;
- description {
- state: "default" 0.0;
- align: 0.5 0.0;
- fixed: 1 1;
- rel1.relative: 0.5 1.0;
- rel1.to_y: "title_top_padding";
- rel2.relative: 0.5 1.0;
- rel2.to_y: "title_top_padding";
- color: 255 255 255 255;
- text {
- font: FONT_ROM;
- size: 18;
- min: 1 1;
- align: 0.5 0.5;
- }
- }
- }
- part { name: "page";
- type: TEXT;
- scale: 1;
- description {
- state: "default" 0.0;
- align: 0.5 0.0;
- fixed: 1 1;
- rel1.relative: 0.5 1.0;
- rel1.to_y: "page_top_padding";
- rel2.relative: 0.5 1.0;
- rel2.to_y: "page_top_padding";
- color: 0 0 0 255;
- text {
- font: FONT_ROM;
- size: 30;
- min: 1 1;
- align: 0.5 0.5;
- }
- }
- }
-
- } //end parts
-} //end group
+++ /dev/null
-/*
- * Copyright (c) 2013 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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_DESCRIPTION(image_name) \
- description { state: "default" 0.0; \
- min: 375 34; \
- max: 99999 34; \
- rel1 { \
- to: "bg"; \
- offset: 1 0; \
- } \
- rel2 { \
- to: "bg"; \
- offset: -5 -1; \
- } \
- image.normal: image_name; \
- image.border: 17 17 17 17; \
- image.border_scale: 1; \
- }
-
-group { name: "elm/slider/horizontal/bubble";
- images {
- image: "slider_grey_dots.png" COMP;
- image: "slider_blue_dots.png" COMP;
- }
- parts {
- part { name: "base";
- mouse_events: 0;
- clip_to: "level";
- scale: 1;
- BASE_DESCRIPTION("slider_grey_dots.png");
- }
- part { name: "base_bg";
- mouse_events: 0;
- scale: 1;
- BASE_DESCRIPTION("slider_grey_dots.png");
- }
- part { name: "level.image";
- clip_to: "clipper.image";
- mouse_events: 0;
- scale: 1;
- BASE_DESCRIPTION("slider_blue_dots.png");
- }
- part { name: "clipper.image";
- type: RECT;
- mouse_events: 0;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- rel1 {
- to_x: "bar_image_left_padding";
- to_y: "base";
- relative: 1.0 0.0;
- }
- rel2 {
- to_y: "base";
- to_x: "elm.dragable.slider";
- offset: -5 -1;
- relative: 0.5 1.0;
- }
- }
- }
- part {
- name: "bar_image_left_padding";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 0;
- max: 0 0;
- fixed: 1 0;
- rel1.to: "base";
- rel2 {
- relative: 0.0 1.0;
- to: "base";
- }
- align: 0.0 0.5;
- }
- }
- part {
- name: "bar_image_right_padding";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 0;
- max: 0 0;
- fixed: 1 0;
- rel1 {
- relative: 1.0 0.0;
- to: "base";
- }
- rel2.to: "base";
- align: 1.0 0.5;
- }
- }
- part { name: "level";
- clip_to: "clipper";
- type: RECT;
- mouse_events: 0;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- rel1 {
- to_x: "bar_image_left_padding";
- to_y: "base";
- relative: 1.0 0.0;
- }
- rel2 {
- to_y: "base";
- to_x: "elm.dragable.slider";
- offset: -5 -1;
- relative: 0.5 1.0;
- }
- }
- description { state: "inverted" 0.0;
- inherit: "default" 0.0;
- visible: 0;
- }
- description { state: "pressed" 0.0;
- inherit: "default" 0.0;
- }
- }
- part { name: "level2";
- mouse_events: 0;
- scale: 1;
- type: RECT;
- clip_to: "clipper";
- description { state: "default" 0.0;
- color: 0 0 0 0;
- }
- description { state: "inverted" 0.0;
- inherit: "default" 0.0;
- }
- description { state: "pressed" 0.0;
- inherit: "default" 0.0;
- }
- }
- part { name: "bg";
- type: RECT;
- mouse_events: 0;
- scale: 1;
- description { state: "default" 0.0;
- visible: 0;
- rel1.to: "elm.swallow.bar";
- rel2{
- to: "elm.swallow.bar";
- offset: 0 0;
- }
- color: 0 0 0 0;
- }
- }
- part { name: "elm.swallow.bar";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- min: 72 74;
- max: 99999 74;
- align: 1.0 0.5;
- rel1 {
- to_x: "bar_left_padding";
- relative: 1.0 0.0;
- }
- rel2 {
- to_x: "bar_right_padding";
- relative: 0.0 1.0;
- }
- }
- }
- part {
- name: "bar_left_padding";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- visible: 0;
- min: 10 0;
- fixed: 1 1;
- rel1 {
- relative: 1.0 0.5;
- to_x: "elm.text";
- }
- rel2 {
- relative: 1.0 0.5;
- to_x: "elm.text";
- }
- align: 0.0 0.5;
- }
- }
- part {
- name: "bar_right_padding";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- visible: 0;
- min: 10 0;
- fixed: 1 1;
- rel1 {
- relative: 0.0 0.5;
- to_x: "elm.units";
- }
- rel2 {
- relative: 0.0 0.5;
- to_x: "elm.units";
- }
- align: 1.0 0.5;
- }
- }
- part { name: "elm.swallow.icon";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- visible: 0;
- align: 0.0 0.5;
- rel1.to_y: "elm.swallow.bar";
- rel2 {
- relative: 0.0 1.0;
- to_y: "elm.swallow.bar";
- }
- }
- description { state: "visible" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- aspect: 1.0 1.0;
- aspect_preference: VERTICAL;
- }
- }
- part { name: "elm.text";
- type: TEXT;
- mouse_events: 0;
- scale: 1;
- description { state: "default" 0.0;
- visible: 0;
- fixed: 1 1;
- align: 0.0 0.5;
- rel1{
- to_x: "elm.swallow.icon";
- relative: 1.0 0.0;
- offset: -1 4;
- }
- rel2{
- to_x: "elm.swallow.icon";
- relative: 1.0 1.0;
- offset: -1 -5;
- }
- color: 0 0 0 255;
- text {
- font: "Tizen:style=Medium";
- size: 30;
- min: 0 0;
- align: 0.0 0.5;
- text_class: "tizen";
- }
- }
- description { state: "visible" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- text.min: 1 1;
- rel1.offset: 0 4;
- rel2.offset: 0 -5;
- }
- }
- part { name: "elm.swallow.end";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- visible: 0;
- align: 1.0 0.5;
- rel1 {
- relative: 1.0 0.0;
- to_y: "elm.swallow.bar";
- }
- rel2 {
- relative: 1.0 1.0;
- to_y: "elm.swallow.bar";
- }
- }
- description { state: "visible" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- aspect: 1.0 1.0;
- aspect_preference: VERTICAL;
- }
- }
- part { name: "units";
- mouse_events: 0;
- scale: 1;
- type: RECT;
- description { state: "default" 0.0;
- visible: 0;
- rel1 {
- to_x: "elm.units";
- offset: 0 5;
- }
- color: 0 0 0 0;
- }
- description { state: "visible" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- }
- part { name: "elm.units";
- type: TEXT;
- mouse_events: 0;
- scale: 1;
- description { state: "default" 0.0;
- visible: 0;
- fixed: 1 1;
- align: 1.0 0.5;
- rel1{
- relative: 0.0 0.0;
- offset: 0 8;
- to_x: "elm.swallow.end";
- }
- rel2{
- relative: 0.0 1.0;
- offset: 0 -9;
- to_x: "elm.swallow.end";
- }
- color: 0 0 0 25;
- text {
- font: "Tizen:style=Bold";
- size: 30;
- min: 0 0;
- align: 0.0 0.5;
- text_class: "tizen";
- }
- }
- description { state: "visible" 0.0;
- inherit: "default" 0.0;
- fixed: 1 1;
- visible: 1;
- text.min: 1 1;
- rel1.offset: -5 0;
- rel2.offset: -5 -1;
- }
- }
- part { name: "elm.dragable.slider";
- type: RECT;
- mouse_events: 1;
- scale: 1;
- dragable {
- x: 1 1 0;
- y: 0 0 0;
- confine: "bg";
- }
- description { state: "default" 0.0;
- min: 0 0;
- max: 0 0;
- fixed: 1 1;
- rel1 {
- relative: 0.5 0.0;
- to_x: "bg";
- }
- rel2 {
- relative: 0.5 1.0;
- to_x: "bg";
- }
- color: 0 0 0 0;
- }
- }
- part { name: "disabler";
- type: RECT;
- mouse_events: 1;
- repeat_events: 0;
- scale: 1;
- description { state: "default" 0.0;
- visible: 0;
- min: 1 1;
- color: 0 0 0 0;
- }
- description { state: "disabled" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- }
- part { name: "clipper";
- type: RECT;
- description { state: "default" 0.0;
- color: 255 255 255 255;
- }
- description { state: "disabled" 0.0;
- color: 255 255 255 102;
- }
- }
- }
- programs {
- program { name: "text_show";
- signal: "elm,state,text,visible";
- source: "elm";
- action: STATE_SET "visible" 0.0;
- target: "elm.text";
- }
- program { name: "text_hide";
- signal: "elm,state,text,hidden";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "elm.text";
- }
- program { name: "icon_show";
- signal: "elm,state,icon,visible";
- source: "elm";
- action: STATE_SET "visible" 0.0;
- target: "elm.swallow.icon";
- }
- program { name: "icon_hide";
- signal: "elm,state,icon,hidden";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "elm.swallow.icon";
- }
- program { name: "end_show";
- signal: "elm,state,end,visible";
- source: "elm";
- action: STATE_SET "visible" 0.0;
- target: "elm.swallow.end";
- }
- program { name: "end_hide";
- signal: "elm,state,end,hidden";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "elm.swallow.end";
- }
- program { name: "units_show";
- signal: "elm,state,units,visible";
- source: "elm";
- action: STATE_SET "visible" 0.0;
- target: "elm.units";
- target: "units";
- }
- program { name: "units_hide";
- signal: "elm,state,units,hidden";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "elm.units";
- target: "units";
- }
- program { name: "slider_disable";
- signal: "elm,state,disabled";
- source: "elm";
- action: STATE_SET "disabled" 0.0;
- target: "disabler";
- target: "clipper";
- }
- program { name: "slider_enable";
- signal: "elm,state,enabled";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "disabler";
- target: "clipper";
- }
- }
-}
-
-group { name: "elm/slider/horizontal/bubble_sent";
- inherit: "elm/slider/horizontal/bubble";
- parts {
- part { name: "elm.dragable.slider";
- type: GROUP;
- source: "elm/slider/horizontal/indicator/bubble_sent";
- mouse_events: 1;
- scale: 1;
- dragable {
- x: 1 1 0;
- y: 0 0 0;
- confine: "bg";
- }
- description { state: "default" 0.0;
- min: 0 120;
- max: 0 120;
- fixed: 1 1;
- rel1 {
- relative: 0.5 0.0;
- to_x: "bg";
- }
- rel2 {
- relative: 0.5 1.0;
- to_x: "bg";
- }
- color: 0 0 0 0;
- }
- }
- }
-}
-
-group { name: "elm/slider/horizontal/indicator/bubble_sent";
- images {
- image: "indicator_bubble.png" COMP;
- }
- parts {
- part { name: "button_events";
- type: RECT;
- mouse_events: 1;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- min: 0 120;
- aspect: 1.0 1.0;
- aspect_preference: VERTICAL;
- color: 0 0 0 0;
- }
- description { state: "disabled" 0.0;
- inherit: "default" 0.0;
- visible: 0;
- }
- }
- part { name: "button0";
- mouse_events: 0;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- min: 20 20;
- max: 20 20;
- rel1 {
- to: "elm.indicator";
- offset: -10 0;
- }
- rel2.to: "elm.indicator";
- image {
- normal: "indicator_bubble.png";
- border: 3 3 3 3;
- border_scale: 1;
- }
- }
- description { state: "pressed" 0.0;
- inherit: "default" 0.0;
- image.normal: "indicator_bubble.png";
- }
- description { state: "disabled" 0.0;
- inherit: "default" 0.0;
- image.normal: "indicator_bubble.png";
- }
- }
- part { name: "elm.indicator";
- type: TEXT;
- mouse_events: 0;
- scale: 1;
- description { state: "default" 0.0;
- visible: 1;
- color: 59 115 182 255;
- text {
- font: "Tizen:style=Medium";
- size: 40;
- min: 1 1;
- align: 0.5 0.5;
- text_class: "tizen";
- }
- }
- description { state: "hide" 0.0;
- inherit: "default" 0.0;
- visible: 0;
- }
- description { state: "pressed" 0.0;
- inherit: "default" 0.0;
- color: 255 255 255 255;
- }
- }
- }
- programs {
- program { name: "set_val_show";
- signal: "elm,state,val,show";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "elm.indicator";
- }
- program { name: "set_val_hide";
- signal: "elm,state,val,hide";
- source: "elm";
- action: STATE_SET "hide" 0.0;
- target: "elm.indicator";
- }
- program { name: "slider_disable";
- signal: "elm,state,disabled";
- source: "elm";
- action: STATE_SET "disabled" 0.0;
- target: "button0";
- target: "button_events";
- }
- program { name: "slider_enable";
- signal: "elm,state,enabled";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "button0";
- target: "button_events";
- }
- program { name: "mouse_down";
- signal: "mouse,down,*";
- source: "button_events";
- action: STATE_SET "pressed" 0.0;
- target: "button0";
- after: "text_pressed";
- }
- program { name: "mouse_up";
- signal: "mouse,up,*";
- source: "button_events";
- action: STATE_SET "default" 0.0;
- target: "button0";
- after: "text_unpressed";
- }
- program { name: "text_pressed";
- script {
- new st[31];
- new Float:vl;
- get_state(PART:"elm.indicator", st, 30, vl);
- if (!strcmp(st, "default"))
- set_state(PART:"elm.indicator", "pressed", 0.0);
- }
- }
- program { name: "text_unpressed";
- script {
- new st[31];
- new Float:vl;
- get_state(PART:"elm.indicator", st, 30, vl);
- if (!strcmp(st, "pressed"))
- set_state(PART:"elm.indicator", "default", 0.0);
- }
- }
- }
-}
-
-group { name: "elm/slider/horizontal/indicator/wave";
- images {
- image: "slider_blue_arc_72x72.png" COMP;
- image: "slider_green_arc_72x72.png" COMP;
- }
- parts {
- part { name: "button_events";
- type: RECT;
- mouse_events: 1;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- min: 2*72 1.5*72;
- aspect: 1.0 1.0;
- aspect_preference: VERTICAL;
- color: 0 0 0 0;
- }
- description { state: "disabled" 0.0;
- inherit: "default" 0.0;
- visible: 0;
- }
- }
- part { name: "button0";
- mouse_events: 0;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- min: 72 72;
- max: 72 36;
- rel1.to: "elm.indicator";
- rel2.to: "elm.indicator";
- image {
- normal: "slider_blue_arc_72x72.png";
- border: 22 22 10 43;
- border_scale: 1;
- }
- }
- description { state: "pressed" 0.0;
- inherit: "default" 0.0;
- image.normal: "slider_green_arc_72x72.png";
- }
- description { state: "disabled" 0.0;
- inherit: "default" 0.0;
- image.normal: "slider_green_arc_72x72.png";
- }
- }
- part { name: "elm.indicator";
- type: TEXT;
- mouse_events: 0;
- scale: 1;
- description { state: "default" 0.0;
- visible: 1;
- color: 0 0 0 0;
- text {
- font: "Tizen:style=Medium";
- size: 40;
- min: 1 1;
- align: 0.5 0.5;
- text_class: "tizen";
- }
- }
- description { state: "hide" 0.0;
- inherit: "default" 0.0;
- visible: 0;
- }
- description { state: "pressed" 0.0;
- inherit: "default" 0.0;
- color: 0 0 0 0;
- }
- }
- }
- programs {
- program { name: "set_val_show";
- signal: "elm,state,val,show";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "elm.indicator";
- }
- program { name: "set_val_hide";
- signal: "elm,state,val,hide";
- source: "elm";
- action: STATE_SET "hide" 0.0;
- target: "elm.indicator";
- }
- program { name: "slider_disable";
- signal: "elm,state,disabled";
- source: "elm";
- action: STATE_SET "disabled" 0.0;
- target: "button0";
- target: "button_events";
- }
- program { name: "slider_enable";
- signal: "elm,state,enabled";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "button0";
- target: "button_events";
- }
- program { name: "mouse_down";
- signal: "mouse,down,*";
- source: "button_events";
- action: STATE_SET "pressed" 0.0;
- target: "button0";
- after: "text_pressed";
- }
- program { name: "mouse_up";
- signal: "mouse,up,*";
- source: "button_events";
- action: STATE_SET "default" 0.0;
- target: "button0";
- after: "text_unpressed";
- }
- program { name: "text_pressed";
- script {
- new st[31];
- new Float:vl;
- get_state(PART:"elm.indicator", st, 30, vl);
- if (!strcmp(st, "default"))
- set_state(PART:"elm.indicator", "pressed", 0.0);
- }
- }
- program { name: "text_unpressed";
- script {
- new st[31];
- new Float:vl;
- get_state(PART:"elm.indicator", st, 30, vl);
- if (!strcmp(st, "pressed"))
- set_state(PART:"elm.indicator", "default", 0.0);
- }
- }
- }
-}
-
-group { name: "elm/slider/horizontal/wave";
- images {
- image: "slider_arc__line_blue.png" COMP;
- image: "slider_arc__line_green.png" COMP;
- }
- script {
- public invert_on = 0;
- public set_invert_on() {
- set_state(PART:"level", "inverted", 0.0);
- set_state(PART:"level2", "inverted", 0.0);
- set_state(PART:"level_right", "inverted", 0.0);
- set_state(PART:"level2_right", "inverted", 0.0);
- set_int(invert_on, 1);
- }
- public set_invert_off() {
- set_state(PART:"level", "default", 0.0);
- set_state(PART:"level2", "default", 0.0);
- set_state(PART:"level_right", "default", 0.0);
- set_state(PART:"level2_right", "default", 0.0);
- set_int(invert_on, 0);
- }
- public thumb_down() {
- if(get_int(invert_on) == 0) {
- set_state(PART:"level", "pressed", 0.0);
- set_state(PART:"level_right", "pressed", 0.0);
- }
- else if(get_int(invert_on) == 1) {
- set_state(PART:"level2", "pressed", 0.0);
- set_state(PART:"level2_right", "pressed", 0.0);
- }
- }
- public thumb_up() {
- if(get_int(invert_on) == 0) {
- set_state(PART:"level", "default", 0.0);
- set_state(PART:"level_right", "default", 0.0);
- }
- else if(get_int(invert_on) == 1) {
- set_state(PART:"level2", "inverted", 0.0);
- set_state(PART:"level2_right", "inverted", 0.0);
- }
- }
- }
- parts {
- part { name: "base";
- mouse_events: 0;
- scale: 1;
- description { state: "default" 0.0;
- visible: 0;
- min: 438 6;
- max: 99999 6;
- rel1.to: "bg";
- rel2.to: "bg";
- image{
- normal: "slider_arc__line_blue.png";
- border: 1 1 2 2;
- border_scale: 1;
- }
- }
- }
- part {
- name: "bar_image_left_padding";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 0;
- max: 0 0;
- fixed: 1 0;
- rel1.to: "base";
- rel2 {
- relative: 0.0 1.0;
- to: "base";
- }
- align: 0.0 0.5;
- }
- }
- part {
- name: "bar_image_right_padding";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 0;
- max: 0 0;
- fixed: 1 0;
- rel1 {
- relative: 1.0 0.0;
- to: "base";
- }
- rel2.to: "base";
- align: 1.0 0.5;
- }
- }
- part { name: "level";
- mouse_events: 0;
- scale: 1;
- clip_to: "clipper";
- description { state: "default" 0.0;
- fixed: 1 1;
- rel1 {
- to_x: "bar_image_left_padding";
- to_y: "base";
- relative: 1.0 0.0;
- }
- rel2 {
- to_y: "base";
- to_x: "elm.dragable.slider";
- relative: 0.0 1.0;
- }
- image{
- normal: "slider_arc__line_blue.png";
- border: 1 1 2 2;
- border_scale: 1;
- }
- }
- description { state: "inverted" 0.0;
- inherit: "default" 0.0;
- visible: 0;
- }
- description { state: "pressed" 0.0;
- inherit: "default" 0.0;
- image.normal: "slider_arc__line_green.png";
- }
- }
- part { name: "level2";
- mouse_events: 0;
- scale: 1;
- clip_to: "clipper";
- description { state: "default" 0.0;
- fixed: 1 1;
- visible: 0;
- rel1 {
- to_y: "base";
- to_x: "elm.dragable.slider";
- relative: 0.0 0.0;
- }
- rel2 {
- to_y: "base";
- to_x: "bar_image_left_padding";
- relative: 1.0 1.0;
- }
- image{
- normal: "slider_arc__line_green.png";
- border: 1 1 2 2;
- border_scale: 1;
- }
- }
- description { state: "inverted" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- description { state: "pressed" 0.0;
- inherit: "default" 0.0;
- image.normal: "slider_arc__line_green.png";
- visible: 1;
- }
- }
- part { name: "level_right";
- mouse_events: 0;
- scale: 1;
- clip_to: "clipper";
- description { state: "default" 0.0;
- fixed: 1 1;
- rel1 {
- to_y: "base";
- to_x: "elm.dragable.slider";
- relative: 1.0 0.0;
- }
- rel2 {
- to_x: "bar_image_right_padding";
- to_y: "base";
- relative: 0.0 1.0;
- }
- image {
- normal: "slider_arc__line_blue.png";
- border: 1 1 2 2;
- border_scale: 1;
- }
- }
- description { state: "inverted" 0.0;
- inherit: "default" 0.0;
- visible: 0;
- }
- description { state: "pressed" 0.0;
- inherit: "default" 0.0;
- image.normal: "slider_arc__line_green.png";
- }
- }
- part { name: "level2_right";
- mouse_events: 0;
- scale: 1;
- clip_to: "clipper";
- description { state: "default" 0.0;
- fixed: 1 1;
- visible: 0;
- rel1 {
- to_y: "base";
- to_x: "bar_image_right_padding";
- relative: 0.0 0.0;
- }
- rel2 {
- to_y: "base";
- to_x: "elm.dragable.slider";
- relative: 1.0 1.0;
- }
- image{
- normal: "slider_arc__line_blue.png";
- border: 1 1 2 2;
- border_scale: 1;
- }
- }
- description { state: "inverted" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- description { state: "pressed" 0.0;
- inherit: "default" 0.0;
- image.normal: "slider_arc__line_green.png";
- visible: 1;
- }
- }
- part { name: "bg";
- type: RECT;
- mouse_events: 0;
- scale: 1;
- description { state: "default" 0.0;
- visible: 0;
- rel1.to: "elm.swallow.bar";
- rel2.to: "elm.swallow.bar";
- }
- }
- part { name: "elm.swallow.bar";
- type: SWALLOW;
- mouse_events: 0;
- scale: 1;
- description { state: "default" 0.0;
- min: 72 74;
- max: 99999 74;
- align: 1.0 0.5;
- rel1 {
- to_x: "bar_left_padding";
- relative: 1.0 0.0;
- }
- rel2 {
- to_x: "bar_right_padding";
- relative: 0.0 1.0;
- }
- }
- }
- part {
- name: "bar_left_padding";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 16 0;
- fixed: 1 1;
- rel1 {
- relative: 1.0 0.5;
- to_x: "elm.text";
- }
- rel2 {
- relative: 1.0 0.5;
- to_x: "elm.text";
- }
- align: 0.0 0.5;
- }
- }
- part {
- name: "bar_right_padding";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 16 0;
- fixed: 1 1;
- rel1 {
- relative: 0.0 0.5;
- to_x: "elm.units";
- }
- rel2 {
- relative: 0.0 0.5;
- to_x: "elm.units";
- }
- align: 1.0 0.5;
- }
- }
- part { name: "elm.swallow.icon";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- visible: 0;
- align: 0.0 0.5;
- rel1 {
- to_y: "elm.swallow.bar";
- }
- rel2 {
- relative: 0.0 1.0;
- to_y: "elm.swallow.bar";
- }
- }
- description { state: "visible" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- aspect: 1.0 1.0;
- aspect_preference: VERTICAL;
- }
- }
- part { name: "elm.text";
- type: TEXT;
- mouse_events: 0;
- scale: 1;
- description { state: "default" 0.0;
- visible: 0;
- fixed: 1 1;
- align: 0.0 0.5;
- rel1{
- to_x: "elm.swallow.icon";
- relative: 1.0 0.0;
- }
- rel2.to_x: "elm.swallow.icon";
- color: 0 0 0 0;
- text {
- font: "Tizen:style=Medium";
- size: 10;
- min: 0 0;
- align: 0.0 0.5;
- text_class: "tizen";
- }
- }
- description { state: "visible" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- text.min: 1 1;
- }
- }
- part { name: "elm.swallow.end";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- visible: 0;
- align: 1.0 0.5;
- rel1 {
- relative: 1.0 0.0;
- to_y: "elm.swallow.bar";
- }
- rel2 {
- relative: 1.0 1.0;
- to_y: "elm.swallow.bar";
- }
- }
- description { state: "visible" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- aspect: 1.0 1.0;
- aspect_preference: VERTICAL;
- }
- }
- part { name: "units";
- mouse_events: 0;
- scale: 1;
- type: RECT;
- description { state: "default" 0.0;
- visible: 0;
- rel1.to_x: "elm.units";
- color: 0 0 0 0;
- }
- description { state: "visible" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- }
- part { name: "elm.units";
- type: TEXT;
- mouse_events: 0;
- scale: 1;
- description { state: "default" 0.0;
- visible: 0;
- fixed: 1 1;
- align: 1.0 0.5;
- rel1.to_x: "elm.swallow.end";
- rel2{
- relative: 0.0 1.0;
- to_x: "elm.swallow.end";
- }
- color: 0 0 0 0;
- text {
- font: "Tizen:style=Bold";
- size: 10;
- min: 0 0;
- align: 0.0 0.5;
- text_class: "tizen";
- }
- }
- description { state: "visible" 0.0;
- inherit: "default" 0.0;
- fixed: 1 1;
- visible: 1;
- text.min: 1 1;
- }
- }
- part { name: "elm.dragable.slider";
- type: GROUP;
- source: "elm/slider/horizontal/indicator/wave";
- mouse_events: 1;
- scale: 1;
- dragable {
- x: 1 1 0;
- y: 0 0 0;
- confine: "bg";
- }
- description { state: "default" 0.0;
- min: 72 72;
- fixed: 1 1;
- align: 0.5 0.5;
- color: 0 0 0 0;
- }
- }
- part { name: "disabler";
- type: RECT;
- mouse_events: 1;
- repeat_events: 0;
- scale: 1;
- description { state: "default" 0.0;
- visible: 0;
- color: 0 0 0 0;
- }
- description { state: "disabled" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- }
- part { name: "clipper";
- type: RECT;
- description { state: "default" 0.0;
- color: 255 255 255 255;
- }
- description { state: "disabled" 0.0;
- color: 255 255 255 102;
- }
- }
- }
- programs {
- program { name: "text_show";
- signal: "elm,state,text,visible";
- source: "elm";
- action: STATE_SET "visible" 0.0;
- target: "elm.text";
- }
- program { name: "text_hide";
- signal: "elm,state,text,hidden";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "elm.text";
- }
- program { name: "icon_show";
- signal: "elm,state,icon,visible";
- source: "elm";
- action: STATE_SET "visible" 0.0;
- target: "elm.swallow.icon";
- }
- program { name: "icon_hide";
- signal: "elm,state,icon,hidden";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "elm.swallow.icon";
- }
- program { name: "end_show";
- signal: "elm,state,end,visible";
- source: "elm";
- action: STATE_SET "visible" 0.0;
- target: "elm.swallow.end";
- }
- program { name: "end_hide";
- signal: "elm,state,end,hidden";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "elm.swallow.end";
- }
- program { name: "units_show";
- signal: "elm,state,units,visible";
- source: "elm";
- action: STATE_SET "visible" 0.0;
- target: "elm.units";
- target: "units";
- }
- program { name: "units_hide";
- signal: "elm,state,units,hidden";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "elm.units";
- target: "units";
- }
- program { name: "invert_on";
- signal: "elm,state,inverted,on";
- source: "elm";
- script {
- set_invert_on();
- }
- }
- program { name: "invert_off";
- signal: "elm,state,inverted,off";
- source: "elm";
- script {
- set_invert_off();
- }
- }
- program { name: "val_show";
- signal: "mouse,down,*";
- source: "elm.dragable.slider";
- script {
- thumb_down();
- }
- }
- program { name: "val_hide";
- signal: "mouse,up,*";
- source: "elm.dragable.slider";
- script {
- thumb_up();
- }
- }
- program { name: "slider_disable";
- signal: "elm,state,disabled";
- source: "elm";
- action: STATE_SET "disabled" 0.0;
- target: "disabler";
- target: "clipper";
- }
- program { name: "slider_enable";
- signal: "elm,state,enabled";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "disabler";
- target: "clipper";
- }
- }
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.
- *
- */
-
-group {
- name: "slider_popup";
- images {
- image : "00_ebook_popup_bg.png" COMP;
- image : "00_ebook_popup_title_bg.png" COMP;
- }
- parts {
- part { name: "bg";
- type: IMAGE;
- scale: 1;
- mouse_events: 0;
- description {
- state: "default" 0.0;
- min: 438 96;
- fixed: 1 1;
- image.normal: "00_ebook_popup_bg.png";
- image.border: 16 16 26 28;
- }
- }
- part { name: "top_padding";
- type: RECT;
- scale: 1;
- mouse_events: 0;
- description {
- state: "default" 0.0;
- visible: 0;
- min: 0 2;
- fixed: 0 1;
- align: 0 0;
- rel1.relative: 0.5 0.0;
- rel2.relative: 0.5 0.0;
- }
- }
- part { name: "title_top_padding";
- type: RECT;
- scale: 1;
- mouse_events: 0;
- description {
- state: "default" 0.0;
- visible: 0;
- min: 0 10;
- fixed: 0 1;
- align: 0 0;
- rel1.relative: 0.5 0.0;
- rel2.relative: 0.5 0.0;
- }
- }
- part { name: "page_top_padding";
- type: RECT;
- scale: 1;
- mouse_events: 0;
- description {
- state: "default" 0.0;
- visible: 0;
- min: 0 45;
- fixed: 0 1;
- align: 0 0;
- rel1.relative: 0.5 0.0;
- rel2.relative: 0.5 0.0;
- }
- }
-
- part { name: "left_padding";
- type: RECT;
- scale: 1;
- mouse_events: 0;
- description {
- state: "default" 0.0;
- visible: 0;
- min: 2 0;
- fixed: 1 0;
- align: 0 0;
- rel1.relative: 0.0 0.0;
- rel2.relative: 0.0 1.0;
- }
- }
- part { name: "right_padding";
- type: RECT;
- scale: 1;
- mouse_events: 0;
- description {
- state: "default" 0.0;
- visible: 0;
- min: 9 0;
- fixed: 1 0;
- align: 1 0;
- rel1.relative: 1.0 0.0;
- rel2.relative: 1.0 1.0;
- }
- }
- part { name: "bg_title_image";
- type: IMAGE;
- scale: 1;
- mouse_events: 0;
- description {
- state: "default" 0.0;
- min: 0 36;
- fixed: 0 1;
- align: 0.5 0.0;
- rel1.relative: 1.0 1.0;
- rel1.to_x: "left_padding";
- rel1.to_y: "top_padding";
- rel2.relative: 0.0 1.0;
- rel2.to_x: "right_padding";
- rel2.to_y: "top_padding";
- image.normal: "00_ebook_popup_title_bg.png";
- image.border: 10 11 10 10;
- }
- }
- part { name: "title";
- type: TEXT;
- scale: 1;
- description {
- state: "default" 0.0;
- align: 0.5 0.0;
- fixed: 1 1;
- rel1.relative: 0.5 1.0;
- rel1.to_y: "title_top_padding";
- rel2.relative: 0.5 1.0;
- rel2.to_y: "title_top_padding";
- color: 255 255 255 255;
- text {
- font: FONT_MED;
- size: 18;
- min: 1 1;
- align: 0.5 0.5;
- }
- }
- }
- part { name: "page";
- type: TEXT;
- scale: 1;
- description {
- state: "default" 0.0;
- align: 0.5 0.0;
- fixed: 1 1;
- rel1.relative: 0.5 1.0;
- rel1.to_y: "page_top_padding";
- rel2.relative: 0.5 1.0;
- rel2.to_y: "page_top_padding";
- color: 0 0 0 255;
- text {
- font: FONT_MED;
- size: 30;
- min: 1 1;
- align: 0.5 0.5;
- }
- }
- }
-
- } //end parts
-} //end group
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.
- *
- */
-
-
- group {
- name: "slider_volume_layout";
- parts{
- part {
- name: "top_padding";
- type: RECT;
- scale: 1;
- description {
- state : "default" 0.0;
- visible : 0;
- min : 0 5;
- fixed : 0 1;
- rel1.relative : 0.5 0;
- rel2.relative : 0.5 0;
- align : 0.5 0.0;
- }
- }
- part {
- name: "bottom_padding";
- type: RECT;
- scale: 1;
- description {
- state : "default" 0.0;
- visible : 0;
- align : 0.5 0.0;
- min : 0 5;
- fixed : 0 1;
- rel1.relative : 0.5 1.0;
- rel1.to_y : "volume_button";
- rel2.relative : 0.5 1.0;
- align : 0.5 0;
- rel2.to_y : "volume_button";
- }
- }
- part {
- name: "bg";
- type: RECT;
- scale: 1;
- description {
- state : "default" 0.0;
- rel2.to_y : "bottom_padding";
- color : 100 100 100 255;
- }
- }
-
- part{
- name: "left_padding";
- type: RECT;
- scale: 1;
- description {
- state : "default" 0.0;
- visible : 0;
- min : 10 0;
- fixed : 1 0;
- rel1.relative : 0.0 0.5;
- rel2.relative : 0.0 0.5;
- align : 0.0 0.5;
- }
- }
- part{
- name: "right_padding";
- type: RECT;
- scale: 1;
- description {
- state : "default" 0.0;
- visible : 0;
- min : 30 0;
- fixed : 1 0;
- rel1.relative : 1.0 0.5;
- rel2.relative : 1.0 0.5;
- align : 1.0 0.5;
- }
- }
- part {
- name: "text";
- type: TEXT;
- scale: 1;
- description {
- state: "default" 0.0;
- align: 0.0 0.5;
- fixed: 1 1;
- rel1.relative: 1.0 0.0;
- rel1.to_x: "left_padding";
- rel1.to_y: "volume_button";
- rel2.relative: 1.0 1.0;
- rel2.to_x: "left_padding";
- rel2.to_y: "volume_button";
- color: 240 240 240 255;
- text {
- font: FONT_MED;
- size: 30;
- min: 1 1;
- align: 0.5 0.5;
- }
- }
- }
- part {
- name: "volume_button";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- align: 1.0 0.0;
- min: 60 60;
- fixed: 1 1;
- rel1.relative: 0.0 1.0;
- rel1.to_x: "right_padding";
- rel1.to_y: "top_padding";
- rel2.relative: 0.0 1.0;
- rel2.to_x: "right_padding";
- rel2.to_y: "top_padding";
- }
- }
- }//end parts
-} //end group
-
-group {
- name: "slider_volume_popup";
- images {
- image : "00_volume_popup_bg.png" COMP;
- image : "00_volume_icon.png" COMP;
- }
- parts {
- part { name: "bg";
- type: IMAGE;
- scale: 1;
- mouse_events: 0;
- description {
- state: "default" 0.0;
- min: 330 424;
- fixed: 1 1;
- image.normal: "00_volume_popup_bg.png";
- image.border: 11 11 15 19;
- }
- }
- part { name: "top_padding";
- type: RECT;
- scale: 1;
- mouse_events: 0;
- description {
- state: "default" 0.0;
- visible: 0;
- min: 0 50;
- fixed: 0 1;
- align: 0.5 0.0;
- rel1.relative: 0.5 0.0;
- rel2.relative: 0.5 0.0;
- }
- }
- part { name: "text_top_padding";
- type: RECT;
- scale: 1;
- mouse_events: 0;
- description {
- state: "default" 0.0;
- visible: 0;
- min: 0 20;
- fixed: 0 1;
- align: 0.5 0.0;
- rel1.relative: 0.5 0.0;
- rel2.relative: 0.5 0.0;
- }
- }
- part { name: "slider_top_padding";
- type: RECT;
- scale: 1;
- mouse_events: 0;
- description {
- state: "default" 0.0;
- visible: 0;
- min: 0 140;
- fixed: 0 1;
- align: 0.5 0.0;
- rel1.relative: 0.5 0.0;
- rel2.relative: 0.5 0.0;
- }
- }
- part { name: "slider_bottom_padding";
- type: RECT;
- scale: 1;
- mouse_events: 0;
- description {
- state: "default" 0.0;
- visible: 0;
- min: 0 14;
- fixed: 0 1;
- align: 0.5 1.0;
- rel1.relative: 0.5 1.0;
- rel2.relative: 0.5 1.0;
- }
- }
- part { name: "title_text";
- type: TEXT;
- scale: 1;
- description {
- state: "default" 0.0;
- align: 0.5 0.0;
- fixed: 1 1;
- rel1.relative: 0.5 1.0;
- rel1.to_y: "text_top_padding";
- rel2.relative: 0.5 1.0;
- rel2.to_y: "text_top_padding";
- color: 255 255 255 255;
- text {
- font: FONT_MED;
- size: 15;
- min: 1 1;
- align: 0.5 0.5;
- }
- }
- }
- part {
- name: "volume_hor";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- align: 0.5 0.0;
- min: 320 100;
- fixed: 1 1;
- rel1.relative: 0.5 1.0;
- rel1.to_y: "top_padding";
- rel2.relative: 0.5 1.0;
- rel2.to_y: "top_padding";
- }
- }
- part {
- name: "volume_ver";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- align: 0.5 0.0;
- min: 320 100;
- fixed: 1 1;
- rel1.relative: 0.5 1.0;
- rel1.to_y: "slider_top_padding";
- rel2.relative: 0.5 0.0;
- rel2.to_y: "slider_bottom_padding";
- }
- }
- } //end parts
-} //end group
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.
- *
- */
-
- group {
- name: "elmdemo-test/style";
-#define BUTTON1_WIDTH 170.0
-#define BUTTON1_HEIGHT 44.0
-#define BUTTON2_WIDTH 170.0
-#define BUTTON2_HEIGHT 80.0
- parts{
- part {
- name: "top_padding";
- type: RECT;
- scale: 1; //allow scaling
-
- description {
- state: "default" 0.0;
- visible: 0;
- min : 0 30;
- fixed: 0 1;
- rel1 { relative: 0.5 0; }
- rel2 { relative: 0.5 0; }
- align: 0.5 0;
- }
- }
- part {
- name: "button1";
- type: SWALLOW;
- scale: 1;
-
- description {
- state: "default" 0.0;
- fixed: 1 1;
- min: BUTTON1_WIDTH BUTTON1_HEIGHT;
- rel1 { relative: 0.5 1.0; to_y: "top_padding"; }
- rel2 { relative: 0.5 1.0; to_y: "top_padding"; }
- align: 0.5 0;
- }
- }
- part {
- name: "button2_top_padding";
- type: RECT;
- scale: 1;
-
- description {
- state: "default" 0.0;
- visible: 0;
- min : 0 30;
- fixed: 0 1;
- align: 0.5 0;
- rel1 { relative: 0.5 1.0; to_y: "button1"; }
- rel2 { relative: 0.5 1.0; to_y: "button1"; }
- }
- }
- part {
- name: "button2";
- type: SWALLOW;
- scale: 1;
-
- description {
- state: "default" 0.0;
- fixed: 1 1;
- min: BUTTON2_WIDTH BUTTON2_HEIGHT;
- rel1 { relative: 0.5 1.0; to_y: "button2_top_padding"; }
- rel2 { relative: 0.5 1.0; to_y: "button2_top_padding"; }
- align: 0.5 0;
- }
- }
- }//end parts
-#undef BUTTON_WIDTH
-#undef BUTTON_HEIGHT
-} //end group
-
-
- group { name: "elm/button/base/elm_demo_tizen/text_with_icon";
- images {
- image: "00_button_03_normal.png" COMP;
- image: "00_button_03_press.png" COMP;
- image: "00_button_03_focus.png" COMP;
- }
- parts {
- part { name: "button_image";
- mouse_events: 1;
- scale: 1;
- description { state: "default" 0.0;
- min: 1 1;
- image {
- normal: "00_button_03_normal.png";
- border: 8 8 8 8;
- }
- image.middle: SOLID;
- }
- description { state: "clicked" 0.0;
- inherit: "default" 0.0;
- image.normal: "00_button_03_press.png";
- image.middle: SOLID;
- }
- description { state: "disabled" 0.0;
- inherit: "default" 0.0;
- }
- description { state: "focused" 0.0;
- inherit: "default" 0.0;
- image.normal: "00_button_03_focus.png";
- }
- }
- part { name: "elm.swallow.content";
- type: SWALLOW;
- description { state: "default" 0.0;
- fixed: 0 0;
- visible: 1;
- align: 0.5 0.5;
- aspect: 1.0 1.0;
- rel2.relative: 1.0 0.5;
- aspect_preference: VERTICAL;
- }
- description { state: "visible" 0.0;
- inherit: "default" 0.0;
- fixed: 1 0;
- visible: 1;
- aspect: 1.0 1.0;
- aspect_preference: VERTICAL;
- }
- description { state: "icononly" 0.0;
- inherit: "default" 0.0;
- fixed: 0 0;
- visible: 1;
- align: 0.5 0.5;
- aspect: 1.0 1.0;
- rel2.relative: 1.0 1.0;
- aspect_preference: VERTICAL;
- }
- }
- part { name: "elm.text";
- type: TEXT;
- effect: SOFT_SHADOW;
- mouse_events: 0;
- scale: 1;
- description { state: "default" 0.0;
- visible: 0;
- rel1.to_y: "elm.swallow.content";
- rel1.relative: 0.5 1.0;
- rel2.relative: 0.5 1.0;
- color: 90 73 40 255;
- color2: 255 255 255 255;
- color3: 255 255 255 255;
- text {
- font: FONT_ROM;
- size: 24;
- min: 1 1;
- align: 0.5 0.5;
- }
- }
- description { state: "visible" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- description { state: "clicked" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- min: 1 1;
- color: 255 255 255 255;
- color2: 0 0 0 102;
- color3: 0 0 0 255;
- }
- description { state: "disabled" 0.0;
- inherit: "default" 0.0;
- color: 0 0 0 128;
- color3: 0 0 0 0;
- }
- description { state: "disabled_visible" 0.0;
- inherit: "default" 0.0;
- color: 0 0 0 128;
- color3: 0 0 0 0;
- visible: 1;
- }
- description { state: "focused" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- min: 1 1;
- color: 255 255 255 255;
- color2: 0 0 0 102;
- color3: 0 0 0 255;
- }
- }
- part { name: "over2";
- type: RECT;
- mouse_events: 1;
- repeat_events: 1;
- ignore_flags: ON_HOLD;
- description { state: "default" 0.0;
- color: 0 0 0 0;
- }
- description { state: "disabled" 0.0;
- inherit: "default" 0.0;
- visible: 0;
- }
- }
- part { name: "over3";
- type: RECT;
- mouse_events: 1;
- repeat_events: 1;
- description { state: "default" 0.0;
- color: 0 0 0 0;
- }
- description { state: "clicked" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- }
- part { name: "disabler";
- type: RECT;
- description { state: "default" 0.0;
- visible: 0;
- }
- description { state: "disabled" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- }
- }
- programs {
- program { name: "button_click";
- signal: "mouse,down,1";
- source: "over2";
- action: SIGNAL_EMIT "elm,action,press" "";
- after: "button_click_anim";
- }
- program { name: "button_click_anim";
- action: STATE_SET "clicked" 0.0;
- target: "button_image";
- target: "elm.text";
- }
- program { name: "button_unclick";
- signal: "mouse,up,1";
- source: "over2";
- action: SIGNAL_EMIT "elm,action,unpress" "";
- after: "button_unclick_anim";
- }
- program { name: "button_unclick_anim";
- action: STATE_SET "default" 0.0;
- target: "button_image";
- action: STATE_SET "visible" 0.0;
- target: "elm.text";
- }
- program { name: "button_mouseout_clicked";
- signal: "mouse,out";
- source: "over2";
- script {
- new st[31];
- new Float:vl;
- get_state(PART:"elm.text", st, 30, vl);
- if (!strcmp(st, "clicked"))
- {
- set_state(PART:"elm.text", "visible", 0.0);
- set_state(PART:"button_image", "visible", 0.0);
- }
- }
- }
- program { name: "button_click2";
- signal: "mouse,down,1";
- source: "over3";
- action: STATE_SET "clicked" 0.0;
- target: "over3";
- }
- program { name: "button_unclick2";
- signal: "mouse,up,1";
- source: "over3";
- action: STATE_SET "default" 0.0;
- target: "over3";
- }
- program { name: "button_unclick3";
- signal: "mouse,up,1";
- source: "over2";
- action: SIGNAL_EMIT "elm,action,click" "";
- }
- program { name: "text_show";
- signal: "elm,state,text,visible";
- source: "elm";
- script {
- new st[31];
- new Float:vl;
- get_state(PART:"elm.swallow.content", st, 30, vl);
- if (!strcmp(st, "icononly"))
- set_state(PART:"elm.swallow.content", "visible", 0.0);
- set_state(PART:"elm.text", "visible", 0.0);
- }
- }
- program { name: "text_hide";
- signal: "elm,state,text,hidden";
- source: "elm";
- script {
- new st[31];
- new Float:vl;
- get_state(PART:"elm.swallow.content", st, 30, vl);
- if (!strcmp(st, "visible"))
- set_state(PART:"elm.swallow.content", "icononly", 0.0);
- set_state(PART:"elm.text", "default", 0.0);
- }
- }
- program { name: "icon_show";
- signal: "elm,state,icon,visible";
- source: "elm";
- script {
- new st[31];
- new Float:vl;
- get_state(PART:"elm.text", st, 30, vl);
- if (!strcmp(st, "visible"))
- set_state(PART:"elm.swallow.content", "visible", 0.0);
- else
- set_state(PART:"elm.swallow.content", "icononly", 0.0);
- }
- }
- program { name: "icon_hide";
- signal: "elm,state,icon,hidden";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "elm.swallow.content";
- }
- program { name: "disable";
- signal: "elm,state,disabled";
- source: "elm";
- action: STATE_SET "disabled" 0.0;
- target: "button_image";
- target: "over2";
- target: "disabler";
- after: "disable_text";
- }
- program { name: "disable_text";
- script {
- new st[31];
- new Float:vl;
- get_state(PART:"elm.text", st, 30, vl);
- if (!strcmp(st, "visible"))
- set_state(PART:"elm.text", "disabled_visible", 0.0);
- else
- set_state(PART:"elm.text", "disabled", 0.0);
- }
- }
- program { name: "enable";
- signal: "elm,state,enabled";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "button_image";
- target: "over2";
- target: "disabler";
- after: "enable_text";
- }
- program { name: "enable_text";
- script {
- new st[31];
- new Float:vl;
- get_state(PART:"elm.text", st, 30, vl);
- if (!strcmp(st, "disabled_visible"))
- set_state(PART:"elm.text", "visible", 0.0);
- else
- set_state(PART:"elm.text", "default", 0.0);
- }
- }
- program { name: "focused";
- signal: "elm,action,focus";
- source: "elm";
- action: STATE_SET "focused" 0.0;
- target: "button_image";
- target: "elm.text";
- }
- program { name: "unfocused";
- signal: "elm,action,unfocus";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "button_image";
- action: STATE_SET "visible" 0.0;
- target: "elm.text";
- }
- }
- }
-
-
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.
- *
- */
-
-group {
- name: "elmdemo-test/style";
-#define BUTTON1_WIDTH 170.0
-#define BUTTON1_HEIGHT 44.0
-#define BUTTON2_WIDTH 700.0
-#define BUTTON2_HEIGHT 80.0
-#define BUTTON2_TEXT_WIDTH 600.0
-#define BUTTON3_WIDTH 170.0
-#define BUTTON3_HEIGHT 80.0
- parts {
- part {
- name: "top_padding";
- type: RECT;
- scale: 1; //allow scaling
- description {
- state: "default" 0.0;
- visible: 0;
- min: 0 30;
- fixed: 0 1;
- align: 0.5 0.0;
- rel1.relative: 0.5 0.0;
- rel2.relative: 0.5 0.0;
- }
- }
- part {
- name: "button1";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- min: BUTTON1_WIDTH BUTTON1_HEIGHT;
- align: 0.5 0.0;
- rel1 {
- relative: 0.5 1.0;
- to_y: "top_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "top_padding";
- }
- }
- }
- part {
- name: "button2_top_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- visible: 0;
- min: 0 30;
- fixed: 0 1;
- align: 0.5 0.0;
- rel1 {
- relative: 0.5 1.0;
- to_y: "button1";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "button1";
- }
- }
- }
- part {
- name: "button2";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- max: BUTTON2_WIDTH BUTTON2_HEIGHT;
- align: 0.5 0.0;
- rel1 {
- relative: 0.5 1.0;
- to_y: "button2_top_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "button2_top_padding";
- }
- }
- }
- part {
- name: "button3_top_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- visible: 0;
- min: 0 30;
- fixed: 0 1;
- align: 0.5 0.0;
- rel1 {
- relative: 0.5 1.0;
- to_y: "button2";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "button2";
- }
- }
- }
- part {
- name: "button3";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- min: BUTTON3_WIDTH BUTTON3_HEIGHT;
- align: 0.5 0.0;
- rel1 {
- relative: 0.5 1.0;
- to_y: "button3_top_padding";
- }
- rel2 {
- relative: 0.5 1.0;
- to_y: "button3_top_padding";
- }
- }
- }
- }//end parts
-#undef BUTTON_WIDTH
-#undef BUTTON_HEIGHT
-} //end group
-
-
-group {
- name: "elm/button/base/elm_demo_tizen/text_with_icon";
- images {
- image: "00_button_03_normal.png" COMP;
- image: "00_button_03_press.png" COMP;
- image: "00_button_03_focus.png" COMP;
- }
- parts {
- part { name: "button_bg";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- max: BUTTON2_WIDTH -1;
- }
- }
- part { name: "left_padding";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: 16 0;
- max: 16 -1;
- fixed: 1 0;
- align: 0.0 0.5;
- rel1 { relative: 0.0 0.0; to: "button_bg"; }
- rel2 { relative: 0.0 1.0; to: "button_bg"; }
- }
- }
- part { name: "right_padding";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
- min: 16 0;
- max: 16 -1;
- fixed: 1 0;
- align: 1.0 0.5;
- rel1 { relative: 1.0 0.0; to: "button_bg"; }
- rel2 { relative: 1.0 1.0; to: "button_bg"; }
- }
- }
- part {
- name: "button_image";
- mouse_events: 1;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1.to: "button_bg";
- rel2.to: "button_bg";
- image {
- normal: "00_button_03_normal.png";
- border: 8 8 8 8;
- }
- }
- description {
- state: "clicked" 0.0;
- inherit: "default" 0.0;
- image.normal: "00_button_03_press.png";
- image.middle: SOLID;
- }
- description {
- state: "disabled" 0.0;
- inherit: "default" 0.0;
- }
- description {
- state: "focused" 0.0;
- inherit: "default" 0.0;
- image.normal: "00_button_03_focus.png";
- }
- }
- part {
- name: "elm.swallow.content";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- visible: 1; //// modified for icon alignment
- align: 0.0 0.5;
- aspect: 1.0 1.0;
- rel1 { relative: 0.0 0.0; to: "left_padding"; }
- rel2 { relative: 0.0 1.0; to: "left_padding"; }
- aspect_preference: VERTICAL;
- }
- description {
- state: "visible" 0.0;
- inherit: "default" 0.0;
- fixed: 1 0;
- visible: 1;
- aspect: 1.0 1.0;
- aspect_preference: VERTICAL;
- }
- description {
- state: "icononly" 0.0;
- inherit: "default" 0.0;
- fixed: 0 0;
- visible: 1;
- align: 0.5 0.5;
- aspect: 1.0 1.0;
- rel2.relative: 1.0 1.0;
- aspect_preference: VERTICAL;
- }
- }
- part {
- name: "elm.text";
- type: TEXT;
- effect: FAR_SHADOW BOTTOM;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- max: BUTTON2_TEXT_WIDTH -1;
- visible: 0; ///// modified for text alignment
- rel1 { relative: 1.0 0.0; to: "elm.swallow.content"; }
- rel2 { relative: 0.0 1.0; to: "right_padding"; }
- color: 90 73 40 255;
- color2: 255 255 255 255;
- color3: 255 255 255 255;
- text {
- font: FONT_MED;
- size: 24;
- min: 1 1;
- text_class: "tizen";
- }
- }
- description {
- state: "visible" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- description {
- state: "clicked" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- min: 1 1;
- color: 255 255 255 255;
- color2: 0 0 0 102;
- color3: 0 0 0 255;
- }
- description {
- state: "disabled" 0.0;
- inherit: "default" 0.0;
- color: 0 0 0 128;
- color3: 0 0 0 0;
- }
- description {
- state: "disabled_visible" 0.0;
- inherit: "default" 0.0;
- color: 0 0 0 128;
- color3: 0 0 0 0;
- visible: 1;
- }
- description {
- state: "focused" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- min: 1 1;
- color: 255 255 255 255;
- color2: 0 0 0 102;
- color3: 0 0 0 255;
- }
- }
- part {
- name: "over2";
- type: RECT;
- mouse_events: 1;
- repeat_events: 1;
- ignore_flags: ON_HOLD;
- description {
- state: "default" 0.0;
- color: 0 0 0 0;
- }
- description {
- state: "disabled" 0.0;
- inherit: "default" 0.0;
- visible: 0;
- }
- }
- part {
- name: "over3";
- type: RECT;
- mouse_events: 1;
- repeat_events: 1;
- description { state: "default" 0.0;
- color: 0 0 0 0;
- }
- description {
- state: "clicked" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- }
- part {
- name: "disabler";
- type: RECT;
- description {
- state: "default" 0.0;
- visible: 0;
- }
- description {
- state: "disabled" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- }
- }
- programs {
- program {
- name: "button_click";
- signal: "mouse,down,1";
- source: "over2";
- action: SIGNAL_EMIT "elm,action,press" "";
- after: "button_click_anim";
- }
- program {
- name: "button_click_anim";
- action: STATE_SET "clicked" 0.0;
- target: "button_image";
- after: "text_clicked";
- }
- program {
- name: "text_clicked";
- script {
- new st[31];
- new Float:vl;
- get_state(PART:"elm.text", st, 30, vl);
- if (!strcmp(st, "visible"))
- set_state(PART:"elm.text", "clicked", 0.0);
- }
- }
- program {
- name: "button_unpress";
- action: SIGNAL_EMIT "elm,action,unpress" "";
- }
- program {
- name: "button_mouseout_clicked";
- signal: "mouse,up,1";
- source: "over3";
- script {
- new st[31];
- new Float:vl;
- get_state(PART:"elm.swallow.content", st, 30, vl);
- if (strcmp(st, "icononly"))
- {
- emit("elm,action,default,text,set", "");
- set_state(PART:"elm.text", "visible", 0.0);
- }
- set_state(PART:"button_image", "default", 0.0);
- }
- after: button_unpress;
- }
- program {
- name: "button_click2";
- signal: "mouse,down,1";
- source: "over3";
- action: STATE_SET "clicked" 0.0;
- target: "over3";
- }
- program {
- name: "button_unclick2";
- signal: "mouse,clicked,1";
- source: "over3";
- action: STATE_SET "default" 0.0;
- target: "over3";
- }
- program {
- name: "button_unclick3";
- signal: "mouse,clicked,1";
- source: "over2";
- action: SIGNAL_EMIT "elm,action,click" "";
- }
- program {
- name: "text_show";
- signal: "elm,state,text,visible";
- source: "elm";
- script {
- new st[31];
- new Float:vl;
- get_state(PART:"elm.swallow.content", st, 30, vl);
- if (!strcmp(st, "icononly"))
- {
- set_state(PART:"elm.swallow.content", "visible", 0.0);
- }
- set_state(PART:"elm.text", "visible", 0.0);
- }
- }
- program {
- name: "text_hide";
- signal: "elm,state,text,hidden";
- source: "elm";
- script {
- new st[31];
- new Float:vl;
- get_state(PART:"elm.swallow.content", st, 30, vl);
- if (!strcmp(st, "visible"))
- {
- set_state(PART:"elm.swallow.content", "icononly", 0.0);
- }
- set_state(PART:"elm.text", "default", 0.0);
- }
- }
- program {
- name: "icon_show";
- signal: "elm,state,icon,visible";
- source: "elm";
- script {
- new st[31];
- new Float:vl;
- get_state(PART:"elm.text", st, 30, vl);
- if (!strcmp(st, "visible"))
- {
- set_state(PART:"elm.swallow.content", "visible", 0.0);
- }
- else
- {
- set_state(PART:"elm.swallow.content", "icononly", 0.0);
- }
- }
- }
- program {
- name: "icon_hide";
- signal: "elm,state,icon,hidden";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "elm.swallow.content";
- }
- program {
- name: "disable";
- signal: "elm,state,disabled";
- source: "elm";
- action: STATE_SET "disabled" 0.0;
- target: "button_image";
- target: "over2";
- target: "disabler";
- after: "disable_text";
- }
- program {
- name: "disable_text";
- script {
- new st[31];
- new Float:vl;
- get_state(PART:"elm.text", st, 30, vl);
- if (!strcmp(st, "visible"))
- set_state(PART:"elm.text", "disabled_visible", 0.0);
- else
- set_state(PART:"elm.text", "disabled", 0.0);
- }
- }
- program {
- name: "enable";
- signal: "elm,state,enabled";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "button_image";
- target: "over2";
- target: "disabler";
- after: "enable_text";
- }
- program {
- name: "enable_text";
- script {
- new st[31];
- new Float:vl;
- get_state(PART:"elm.text", st, 30, vl);
- if (!strcmp(st, "disabled_visible"))
- set_state(PART:"elm.text", "visible", 0.0);
- else
- set_state(PART:"elm.text", "default", 0.0);
- }
- }
- program {
- name: "focused";
- //signal: "elm,action,focus";
- //source: "elm";
- action: STATE_SET "focused" 0.0;
- target: "button_image";
- target: "elm.text";
- }
- program {
- name: "unfocused";
- //signal: "elm,action,unfocus";
- //source: "elm";
- action: STATE_SET "default" 0.0;
- target: "button_image";
- after: "unfocus_text";
- }
- program {
- name: "unfocus_text";
- action: STATE_SET "visible" 0.0;
- target: "elm.text";
- }
- program {
- name: "button_pressed";
- signal: "elm,action,pressed";
- source: "elm";
- script {
- new st[31];
- new Float:vl;
- set_state(PART:"button_image", "clicked", 0.0);
- get_state(PART:"elm.text", st, 30, vl);
- if (!strcmp(st, "visible"))
- set_state(PART:"elm.text", "clicked", 0.0);
- }
- }
- program {
- name: "button_unpressed";
- signal: "elm,action,unpressed";
- source: "elm";
- script {
- new st[31];
- new Float:vl;
- set_state(PART:"button_image", "default", 0.0);
- get_state(PART:"elm.text", st, 30, vl);
- if (!strcmp(st, "clicked"))
- set_state(PART:"elm.text", "visible", 0.0);
- }
- }
- }
-}
-
-/*new Button Custom Style*/
-group {
- name: "elm/button/base/elm_demo_tizen/anim_up_down";
- images {
- image: "button_fill_2.png" COMP;
- image: "button_fill_1.png" COMP;
- image: "button_frame.png" COMP;
- }
- parts {
- part {
- name: "bg";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- color: 255 255 255 255;
- rel1 {
- to_x: "padding.left";
- to_y: "elm.text";
- }
- rel2 {
- to_x: "padding.right";
- to_y: "elm.text";
- }
- }
- }
- part {
- name: "bg_image";
- scale: 1;
- description {
- state: "default" 0.0;
- rel1.to: "bg";
- rel2.to: "bg";
- image {
- normal: "button_fill_2.png";
- border: 12 12 12 12;
- }
- }
- }
- part {
- name: "bg_image_HIDE";
- scale: 1;
- clip_to: "bg";
- description {
- state: "default" 0.0;
- rel1.to: "bg";
- rel2.to: "bg";
- image {
- normal: "button_fill_1.png";
- border: 12 12 12 12;
- }
- }
- description {
- state: "up-state" 1.0;
- inherit: "default" 0.0;
- rel1.relative: 0.0 -1.0;
- rel2.relative: 1.0 0.0;
- }
- }
- part {
- name: "elm.text";
- type: TEXT;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- color: 241 239 241 255;
- text {
- text: "Tap";
- font: "Tizen:style=Regular";
- size: 32;
- min: 1 1;
- align: 0.5 0.5;
- text_class: "tizen";
- }
- }
- }
- part {
- name: "text_HIDE";
- type: TEXT;
- clip_to: "bg";
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- color: 0 0 0 255;
- rel1.to: "bg_image_HIDE";
- rel2.to: "bg_image_HIDE";
- text {
- text_source: "elm.text";
- font: "Tizen:style=Regular";
- size: 32;
- min: 1 1;
- text_class: "tizen";
- }
- }
- }
- part {
- name: "bg_frame";
- scale: 1;
- description {
- state: "default" 0.0;
- rel1.to: "bg";
- rel2.to: "bg";
- image {
- normal: "button_frame.png";
- border: 12 12 12 12;
- }
- }
- }
- part {
- name: "padding.right";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 12 0;
- fixed: 1 0;
- align: 0.0 0.0;
- rel1 {
- relative: 1.0 0.0;
- to_x: "elm.text";
- }
- }
- }
- part {
- name: "padding.left";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 12 0;
- fixed: 1 0;
- align: 1.0 0.0;
- rel2 {
- relative: 0.0 1.0;
- to_x: "elm.text";
- }
- }
- }
- }
- programs {
- program {
- name: "start_open";
- signal: "mouse,down,1";
- source: "*";
- after: "stop_close";
- after: "open";
- }
- program {
- name: "open";
- signal: "start,open";
- source: "";
- action: STATE_SET "up-state" 1.0;
- target: "bg_image_HIDE";
- transition: LINEAR 0.5;
- }
- program {
- name: "start_close";
- signal: "mouse,up,1";
- source: "*";
- after: "stop_open";
- after: "close";
- }
- program {
- name: "close";
- signal: "start,close";
- source: "";
- action: STATE_SET "default" 0.0;
- target: "bg_image_HIDE";
- transition: BOUNCE 1.5 3.5 3.0;
- }
- program {
- name: "stop_open";
- signal: "stop,open";
- source: "";
- action: ACTION_STOP;
- target: "open";
- }
- program {
- name: "stop_close";
- signal: "stop,close";
- source: "";
- action: ACTION_STOP;
- target: "close";
- }
- program {
- name: "button_pressed";
- signal: "elm,action,pressed";
- source: "elm";
- after: "start_open";
- }
- program {
- name: "button_unpressed";
- signal: "elm,action,unpressed";
- source: "elm";
- after: "start_close";
- }
- }
-}
-
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.
- *
- */
-
-//Ctxpopup Camera Shooting mode
-
-//Content Layout
-group {
- name:"camera/layout";
- parts {
- part {
- name: "layout_bg";
- type: RECT;
- mouse_events: 0;
- description {
- color: 0 0 0 120;
- rel2 { to: "elm.text"; }
- }
- }
- part {
- name: "elm.text";
- type: TEXT;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 1 54;
- max: 999999 54;
- fixed: 0 1;
- align: 0.5 0;
- text {
- font: FONT_ROM;
- size: 28;
- align: 0.5 0.5;
- min: 1 1;
- text: "Shooting mode";
- }
- }
- }
- part {
- name: "elm.swallow.box";
- type: SWALLOW;
- description {
- rel1 { to: "elm.text"; relative: 0 1; }
- }
- }
- }
-}
-
-//Item Layout
-group {
- name: "camera/radio_icon_text_item";
- script {
- public disabled_v;
- }
- parts {
- part {
- name: "seprator";
- type: RECT;
- mouse_events: 0;
- scale: 1;
- description {
- min: 1 1;
- max: 999999 1;
- fixed: 0 1;
- color: 120 120 120 255;
- align: 0.5 0;
- rel1 { offset: 1 0; }
- rel2 { offset: -2 -1; }
- }
- }
- part {
- name: "item_bg";
- type: RECT;
- description {
- state: "default" 0.0;
- color: 0 0 0 0;
- }
- description {
- state: "clicked" 0.0;
- color: 0 0 0 120;
- }
- }
- part {
- name: "event_blocker";
- type: RECT;
- mouse_events: 1;
- description {
- state: "default" 0.0;
- visible: 0;
- }
- }
- part {
- name: "check_left_padding";
- type: SPACER;
- scale: 1;
- mouse_events: 0;
- description {
- state: "default" 0.0;
- min: 15 75;
- max: 15 75;
- align: 0 0;
- fixed: 1 1;
- }
- }
- part {
- name: "elm.swallow.radio";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 39 39;
- max: 39 39;
- fixed: 1 1;
- align: 0 0.5;
- rel1 { to:"check_left_padding"; relative: 1 0; }
- }
- }
- part {
- name: "icon_left_padding";
- type: SPACER;
- scale: 1;
- mouse_events: 0;
- description {
- state: "default" 0.0;
- min: 1 75;
- max: 1 75;
- align: 0 0;
- fixed: 1 1;
- rel1 { to_x: "elm.swallow.radio"; relative: 1 0; }
- }
- }
- part {
- name: "elm.swallow.icon";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 60 60;
- max: 60 60;
- align: 0 0.5;
- aspect: 1.0 1.0;
- rel1 { to:"icon_left_padding"; relative: 1 0; }
- }
- }
- part {
- name: "icon_right_padding";
- type: SPACER;
- scale: 1;
- mouse_events: 0;
- description {
- state: "default" 0.0;
- min: 20 75;
- max: 20 75;
- align: 0 0.5;
- fixed: 1 1;
- rel1 { to:"elm.swallow.icon"; relative: 1 0; }
- }
- }
- part {
- name: "elm.text";
- type: TEXT;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 1 75;
- max: 999999 75;
- fixed: 0 1;
- align: 0.5 0.5;
- rel1 {relative: 1.0 0.0; to_x: "icon_right_padding";}
- rel2 {relative: 1.0 1.0; }
- color: 255 255 255 255;
- text {
- font: FONT_ROM;
- size: 30;
- align: 0.0 0.5;
- min: 1 1;
- }
- }
- description {
- state: "clicked" 0.0;
- inherit: "default" 0.0;
- color: 255 255 255 255;
- }
- }
- part {
- name: "over1";
- type: RECT;
- mouse_events: 1;
- repeat_events: 1;
- ignore_flags: ON_HOLD;
- description {
- state: "default" 0.0;
- color: 0 0 0 0;
- }
- description {
- state: "disabled" 0.0;
- inherit: "default" 0.0;
- visible: 0;
- }
- }
- part {
- name: "over2";
- type: RECT;
- mouse_events: 1;
- repeat_events: 1;
- description {
- state: "default" 0.0;
- color: 255 255 255 0;
- }
- description {
- state: "clicked" 0.0;
- color: 255 255 255 255;
- }
- }
- }
- programs {
- program {
- name: "item_unclick3";
- signal: "mouse,up,1";
- source: "over1";
- action: SIGNAL_EMIT "elm,action,click" "";
- }
- program {
- name: "disable";
- signal: "elm,state,disabled";
- source: "elm";
- after: "disable_text";
- }
- program {
- name: "disable_text";
- script {
- set_state(PART:"elm.text", "disabled", 0.0);
- set_int( disabled_v, 1 );
- }
- }
- program {
- name: "enable";
- signal: "elm,state,enabled";
- source: "elm";
- after: "enable_text";
- }
- program {
- name: "enable_text";
- script {
- set_state(PART:"elm.text", "enabled", 0.0);
- set_int( disabled_v, 0 );
- }
- }
- program {
- name: "button_click";
- signal: "mouse,down,1";
- source: "over2";
- script {
- if(!get_int( disabled_v)) {
- set_state(PART:"elm.text", "clicked", 0.0);
- set_state(PART:"item_bg", "clicked", 0.0);
- }
- }
- }
- }
- program {
- name: "button_unclick";
- signal: "mouse,up,1";
- source: "over2";
- script {
- if(!get_int(disabled_v)) {
- set_state(PART:"elm.text", "default", 0.0);
- set_state(PART:"item_bg", "default", 0.0);
- }
- }
- }
-}
-
-//Radio Button Style
-styles {
- style {
- name: "radio_label_textblock_style";
- base: "font=Tizen:style=Medium font_size=21 align=left color=#ffffff wrap=char";
- tag: "br" "\n";
- tag: "hilight" "+ font=Tizen:style=Bold";
- tag: "b" "+ font=Tizen:style=Bold";
- tag: "whitecolor" "+ color=#ffffff";
- tag: "tab" "\t";
- }
- style {
- name: "radio_label_textblock_disabled_style";
- base: "font=Tizen:style=Medium font_size=21 align=left color=#888888 color3=#000000 wrap=char";
- tag: "br" "\n";
- tag: "hilight" "+ font=Tizen:style=Bold";
- tag: "b" "+ font=Tizen:style=Bold";
- tag: "whitecolor" "+ color=#ffffff";
- tag: "tab" "\t";
- }
-}
-
-group {
- name: "elm/radio/base/elm_demo_tizen/camera";
- images {
- image: "11_camera_menu_popup_radio_button_off.png" COMP;
- image: "11_camera_menu_popup_radio_button_on.png" COMP;
- image: "00_button_radio_focus.png" COMP;
- image: "00_button_radio_dim.png" COMP;
- }
- parts {
- part { name: "bg";
- mouse_events: 0;
- scale: 1;
- type: RECT;
- description {
- state: "default" 0.0;
- rel1.offset: 0 0;
- rel2.relative: 0.0 1.0;
- rel2.offset: 0 0;
- fixed: 1 0;
- align: 0.0 0.5;
- min: 39 39;
- max: 39 39;
- color: 0 0 0 0;
- }
- }
- part {
- name: "radio";
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 {
- to: "bg";
- offset: 0 0;
- }
- rel2 {
- to: "bg";
- offset: 0 0;
- }
- visible: 1;
- color: 255 255 255 255;
- image.normal: "11_camera_menu_popup_radio_button_off.png";
- }
- description {
- state: "visible" 0.0;
- inherit: "default" 0.0;
- image.normal: "11_camera_menu_popup_radio_button_on.png";
- }
- description {
- state: "pressed" 0.0;
- inherit: "default" 0.0;
- image.normal: "11_camera_menu_popup_radio_button_on.png";
- }
- description {
- state: "disabled" 0.0;
- inherit: "default" 0.0;
- image.normal: "00_button_radio_dim.png";
- }
- description {
- state: "disabled_visible" 0.0;
- inherit: "default" 0.0;
- image.normal: "00_button_radio_dim.png";
- }
- }
- part {
- name: "elm.swallow.content";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- fixed: 1 0;
- visible: 0;
- color: 255 255 255 255;
- align: 0.0 0.5;
- rel1.to_x: "bg";
- rel1.relative: 1.0 0.0;
- rel1.offset: 1 1;
- rel2.to_x: "bg";
- rel2.relative: 1.0 1.0;
- rel2.offset: 2 -2;
- }
- description {
- state: "visible" 0.0;
- inherit: "default" 0.0;
- fixed: 1 1;
- visible: 1;
- aspect: 1.0 1.0;
- aspect_preference: VERTICAL;
- }
- description {
- state: "disabled" 0.0;
- inherit: "default" 0.0;
- color: 128 128 128 128;
- }
- description {
- state: "disabled_visible" 0.0;
- inherit: "default" 0.0;
- color: 128 128 128 128;
- fixed: 1 1;
- visible: 1;
- aspect: 1.0 1.0;
- }
- }
- part {
- name: "elm.text";
- type: TEXTBLOCK;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- visible: 0;
- fixed: 0 1;
- rel1 { relative: 1.0 0.5; offset: 1 1; to_x: "elm.swallow.content"; }
- rel2 { relative: 1.0 0.5; offset: -2 -2; }
- color: 255 255 255 255;
- align: 0.0 0.5;
- text {
- style: "radio_label_textblock_style";
- min: 0 0;
- }
- }
- description {
- state: "visible" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- text.min: 1 1;
- }
- description {
- state: "disabled" 0.0;
- inherit: "default" 0.0;
- }
- description {
- state: "disabled_visible" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- text {
- style: "radio_label_textblock_disabled_style";
- min: 1 1;
- }
- }
- }
- part {
- name: "events";
- type: RECT;
- ignore_flags: ON_HOLD;
- description {
- state: "default" 0.0;
- color: 0 0 0 0;
- }
- }
- part {
- name: "disabler";
- type: RECT;
- description {
- state: "default" 0.0;
- color: 0 0 0 0;
- visible: 0;
- }
- description {
- state: "disabled" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- color: 0 0 0 0;
- }
- }
- }
- programs {
- program {
- name: "click";
- signal: "mouse,up,1";
- source: "events";
- action: SIGNAL_EMIT "elm,action,radio,toggle" "";
- }
- program {
- name: "bg_normal";
- script {
- set_state(PART:"bg", "default", 0.0);
- }
- }
- program {
- name: "mouseout";
- signal: "mouse,out";
- source: "events";
- after: "bg_radio_normal";
- }
- program {
- name: "bg_radio_normal";
- script {
- new st[31];
- new Float:vl;
- get_state(PART:"radio", st, 30, vl);
- if (!strcmp(st, "pressed"))
- set_state(PART:"radio", "default", 0.0);
- set_state(PART:"bg", "default", 0.0);
- }
- }
- program {
- name: "pressed";
- signal: "mouse,down,1";
- source: "events";
- script {
- new st[31];
- new Float:vl;
- get_state(PART:"radio", st, 30, vl);
- if (!strcmp(st, "default"))
- set_state(PART:"radio", "pressed", 0.0);
- }
- }
- program {
- name: "radio_on";
- signal: "elm,state,radio,on";
- source: "elm";
- action: STATE_SET "visible" 0.0;
- target: "radio";
- }
- program {
- name: "radio_off";
- signal: "elm,state,radio,off";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "radio";
- }
- program {
- name: "text_show";
- signal: "elm,state,text,visible";
- source: "elm";
- action: STATE_SET "visible" 0.0;
- target: "elm.text";
- }
- program {
- name: "text_hide";
- signal: "elm,state,text,hidden";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "elm.text";
- }
- program {
- name: "icon_show";
- signal: "elm,state,icon,visible";
- source: "elm";
- action: STATE_SET "visible" 0.0;
- target: "elm.swallow.content";
- }
- program {
- name: "icon_hide";
- signal: "elm,state,icon,hidden";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "elm.swallow.content";
- }
- program {
- name: "disable";
- signal: "elm,state,disabled";
- source: "elm";
- action: STATE_SET "disabled" 0.0;
- target: "disabler";
- after: "disable_text";
- }
- program {
- name: "disable_text";
- script {
- new st[31];
- new Float:vl;
- get_state(PART:"elm.text", st, 30, vl);
- if (!strcmp(st, "visible"))
- set_state(PART:"elm.text", "disabled_visible", 0.0);
- else
- set_state(PART:"elm.text", "disabled", 0.0);
-
- get_state(PART:"elm.swallow.content", st, 30, vl);
- if (!strcmp(st, "visible"))
- set_state(PART:"elm.swallow.content", "disabled_visible", 0.0);
- else
- set_state(PART:"elm.swallow.content", "disabled", 0.0);
-
- get_state(PART:"radio", st, 30, vl);
- if (!strcmp(st, "visible"))
- set_state(PART:"radio", "disabled_visible", 0.0);
- else
- set_state(PART:"radio", "disabled", 0.0);
- }
- }
- program {
- name: "enable";
- signal: "elm,state,enabled";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "disabler";
- after: "enable_text";
- }
- program {
- name: "enable_text";
- script {
- new st[31];
- new Float:vl;
- get_state(PART:"elm.text", st, 30, vl);
- if (!strcmp(st, "disabled_visible"))
- set_state(PART:"elm.text", "visible", 0.0);
- else
- set_state(PART:"elm.text", "default", 0.0);
-
- get_state(PART:"elm.swallow.content", st, 30, vl);
- if (!strcmp(st, "disabled_visible"))
- set_state(PART:"elm.swallow.content", "visible", 0.0);
- else
- set_state(PART:"elm.swallow.content", "default", 0.0);
-
- get_state(PART:"radio", st, 30, vl);
- if (!strcmp(st, "disabled_visible"))
- set_state(PART:"radio", "visible", 0.0);
- else
- set_state(PART:"elm.swallow.content", "default", 0.0);
- }
- }
- }
-}
-
-//Ctxpopup Style
-#define CTXPOPUP_CAMERA_ARROW_SIZE 26 26
-///////////////////////////////////////////////////////////////////////////////
-group {
- name: "elm/ctxpopup/base/elm_demo_tizen/camera";
- images {
- image: "imageeditor_border_left_top.png" COMP;
- image: "imageeditor_border_right_top.png" COMP;
- image: "imageeditor_border_left_bottom.png" COMP;
- image: "imageeditor_border_right_bottom.png" COMP;
- }
- parts {
- part {
- name: "ctxpopup_frame_left_top";
- type: SPACER;
- scale: 1;
- description {
- align: 0 0;
- min: CTXPOPUP_FRAME_CORNER_SIZE;
- max: CTXPOPUP_FRAME_CORNER_SIZE;
- }
- }
-
- part {
- name: "ctxpopup_frame_right_top";
- type: SPACER;
- scale: 1;
- description {
- align: 1 0;
- min: CTXPOPUP_FRAME_CORNER_SIZE;
- max: CTXPOPUP_FRAME_CORNER_SIZE;
- }
- }
-
- part {
- name: "ctxpopup_frame_left_bottom";
- type: SPACER;
- scale: 1;
- description {
- align: 0 1;
- min: CTXPOPUP_FRAME_CORNER_SIZE;
- max: CTXPOPUP_FRAME_CORNER_SIZE;
- }
- }
-
- part {
- name: "ctxpopup_frame_right_bottom";
- type: SPACER;
- scale: 1;
- description {
- align: 1 1;
- min: CTXPOPUP_FRAME_CORNER_SIZE;
- max: CTXPOPUP_FRAME_CORNER_SIZE;
- }
- }
-
- part { name: "arrow_area_left";
- type: SPACER;
- mouse_events: 0;
- scale: 1;
- description { state: "default" 0.0;
- min: 27 27;
- fixed: 1 1;
- align: 1 0.5;
- rel1 {
- relative: 0 1;
- to_y: "ctxpopup_frame_left_top";
- }
- rel2 {
- relative:0 0;
- to:"ctxpopup_frame_left_bottom";
- }
- }
- }
- part { name: "arrow_area_right";
- type: SPACER;
- mouse_events: 0;
- scale: 1;
- description { state: "default" 0.0;
- min: 27 27;
- fixed: 1 1;
- align: 0 0.5;
- rel1 {
- relative: 1 1;
- to:"ctxpopup_frame_right_top";
- }
- rel2 {
- relative: 1 0;
- to_y: "ctxpopup_frame_right_bottom";
- }
- }
- }
- part { name: "arrow_area_up";
- type: SPACER;
- mouse_events: 0;
- scale: 1;
- description { state: "default" 0.0;
- min: 27 27;
- fixed: 1 1;
- align: 0.5 1;
- rel1 {
- relative: 1 0;
- to_x: "ctxpopup_frame_left_top";
- }
- rel2 {
- relative: 0 0;
- to:"ctxpopup_frame_right_top";
- }
- }
- }
- part { name: "arrow_area_down";
- type: SPACER;
- mouse_events: 0;
- scale: 1;
- description { state: "default" 0.0;
- min: 27 27;
- fixed: 1 1;
- align: 0.5 0;
- rel1 {
- relative: 1 1;
- to:"ctxpopup_frame_left_bottom";
- }
- rel2 {
- relative: 0 1;
- to_x: "ctxpopup_frame_right_bottom";
- }
- }
- }
-
- part { name: "elm.swallow.arrow_up";
- type: SWALLOW;
- mouse_events: 0;
- scale: 1;
- dragable {
- x: 1 1 0;
- y: 1 1 0;
- confine: "arrow_area_up";
- }
- description {
- state: "default" 0.0;
- min: 27 27;
- fixed: 1 1;
- visible: 1;
- }
- }
- part { name: "elm.swallow.arrow_down";
- type: SWALLOW;
- mouse_events: 0;
- scale: 1;
- dragable {
- x: 1 1 0;
- y: 1 1 0;
- confine: "arrow_area_down";
- }
- description {
- state: "default" 0.0;
- min: 27 27;
- fixed: 1 1;
- visible: 1;
- }
- }
- part { name: "elm.swallow.arrow_left";
- type: SWALLOW;
- mouse_events: 0;
- scale: 1;
- dragable {
- x: 1 1 0;
- y: 1 1 0;
- confine: "arrow_area_left";
- }
- description {
- state: "default" 0.0;
- min: 27 27;
- fixed: 1 1;
- visible: 1;
- }
- }
- part { name: "elm.swallow.arrow_right";
- type: SWALLOW;
- mouse_events: 0;
- scale: 1;
- dragable {
- x: 1 1 0;
- y: 1 1 0;
- confine: "arrow_area_right";
- }
- description {
- state: "default" 0.0;
- min: 27 27;
- fixed: 1 1;
- visible: 1;
- }
- }
-
- part {
- name: "ctxpopup_frame";
- type: RECT;
- scale: 1;
- description {
- align: 1 1;
- color: 0 0 0 85;
- rel1 {to: "ctxpopup_frame_left_top"; relative: 0.5 0.5;}
- rel2 {to: "ctxpopup_frame_right_bottom"; relative: 0.5 0.5;}
- }
- }
-
- part {
- name: "elm.swallow.content";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- rel1 {to: "ctxpopup_frame_left_top"; relative: 0.5 0.5;}
- rel2 {to: "ctxpopup_frame_right_bottom"; relative: 0.5 0.5;}
- }
- }
-
- part {
- name: "ctxpopup_border_left_top";
- type: IMAGE;
- scale: 1;
- description {
- align: 0 0;
- min: CTXPOPUP_BORDER_CORNER_SIZE;
- max: CTXPOPUP_BORDER_CORNER_SIZE;
- image {
- normal: "imageeditor_border_left_top.png";
- }
- }
- }
-
- part {
- name: "ctxpopup_border_right_top";
- type: IMAGE;
- scale: 1;
- description {
- align: 1 0;
- min: CTXPOPUP_BORDER_CORNER_SIZE;
- max: CTXPOPUP_BORDER_CORNER_SIZE;
- image {
- normal: "imageeditor_border_right_top.png";
- }
- }
- }
-
- part {
- name: "ctxpopup_border_left_bottom";
- type: IMAGE;
- scale: 1;
- description {
- align: 0 1;
- min: CTXPOPUP_BORDER_CORNER_SIZE;
- max: CTXPOPUP_BORDER_CORNER_SIZE;
- image {
- normal: "imageeditor_border_left_bottom.png";
- }
- }
- }
-
- part {
- name: "ctxpopup_border_right_bottom";
- type: IMAGE;
- scale: 1;
- description {
- align: 1 1;
- min: CTXPOPUP_BORDER_CORNER_SIZE;
- max: CTXPOPUP_BORDER_CORNER_SIZE;
- image {
- normal: "imageeditor_border_right_bottom.png";
- }
- }
- }
-
- part {
- name: "ctxpopup_border_top";
- type: RECT;
- scale: 1;
- description {
- align: 0 0;
- color: 222 222 222 255;
- rel1 {to:"ctxpopup_frame_left_top"; relative: 1 0;}
- rel2 {to:"ctxpopup_frame_right_top"; relative: 0 0.5;}
- }
- }
-
- part {
- name: "ctxpopup_border_bottom";
- type: RECT;
- scale: 1;
- description {
- align: 0 0;
- color: 222 222 222 255;
- rel1 {to:"ctxpopup_frame_left_bottom"; relative: 1 0.5;}
- rel2 {to:"ctxpopup_frame_right_bottom"; relative: 0 1;}
- }
- }
-
- part {
- name: "ctxpopup_border_left";
- type: RECT;
- scale: 1;
- description {
- align: 0 0;
- color: 222 222 222 255;
- rel1 {to:"ctxpopup_frame_left_top"; relative: 0 1;}
- rel2 {to:"ctxpopup_frame_left_bottom"; relative: 0.5 0;}
- }
- }
-
- part {
- name: "ctxpopup_border_right";
- type: RECT;
- scale: 1;
- description {
- align: 0 0;
- color: 222 222 222 255;
- rel1 {to:"ctxpopup_frame_right_top"; relative: 0.5 1;}
- rel2 {to:"ctxpopup_frame_right_bottom"; relative: 1 0;}
- }
- }
- part { name: "access.outline";
- type: RECT;
- repeat_events: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- rel1.to: "ctxpopup_frame_left_top";
- rel2.to: "ctxpopup_frame_right_bottom";
- color: 0 0 0 0;
- }
- }
- }
-}
-///////////////////////////////////////////////////////////////////////////////
-group { name: "elm/ctxpopup/arrow/elm_demo_tizen/camera";
- images {
- image: "imageeditor_left_arrow.png" COMP;
- image: "imageeditor_right_arrow.png" COMP;
- image: "imageeditor_top_arrow.png" COMP;
- image: "imageeditor_bottom_arrow.png" COMP;
- }
- parts {
- part {
- name: "ctxpopup_arrow";
- type: IMAGE;
- scale: 1;
- description {
- state: "default" 0.0;
- min: CTXPOPUP_CAMERA_ARROW_SIZE;
- max: CTXPOPUP_CAMERA_ARROW_SIZE;
- fixed: 1 1;
- visible: 0;
- align: 0.5 0.5;
- }
- description {
- state: "left" 0.0;
- min: CTXPOPUP_CAMERA_ARROW_SIZE;
- max: CTXPOPUP_CAMERA_ARROW_SIZE;
- fixed: 1 1;
- align: 0.0 0.5;
- image {
- normal: "imageeditor_left_arrow.png";
- }
- }
- description {
- state: "right" 0.0;
- min: CTXPOPUP_CAMERA_ARROW_SIZE;
- max: CTXPOPUP_CAMERA_ARROW_SIZE;
- fixed: 1 1;
- align: 1.0 0.5;
- image {
- normal: "imageeditor_right_arrow.png";
- }
- }
- description {
- state: "top" 0.0;
- min: CTXPOPUP_CAMERA_ARROW_SIZE;
- max: CTXPOPUP_CAMERA_ARROW_SIZE;
- fixed: 1 1;
- align: 0.5 0.0;
- image {
- normal: "imageeditor_top_arrow.png";
- }
- }
- description {
- state: "bottom" 0.0;
- min: CTXPOPUP_CAMERA_ARROW_SIZE;
- max: CTXPOPUP_CAMERA_ARROW_SIZE;
- fixed: 1 1;
- align: 0.5 1.0;
- image {
- normal: "imageeditor_bottom_arrow.png";
- }
- }
- }
- }
- programs {
- program {
- name: "enable_left_arrow";
- signal: "elm,state,left";
- source: "elm";
- action: STATE_SET "left" 0.0;
- target: "ctxpopup_arrow";
- }
- program {
- name: "enable_right_arrow";
- signal: "elm,state,right";
- source: "elm";
- action: STATE_SET "right" 0.0;
- target: "ctxpopup_arrow";
- }
- program {
- name: "enable_top_arrow";
- signal: "elm,state,top";
- source: "elm";
- action: STATE_SET "top" 0.0;
- target: "ctxpopup_arrow";
- }
- program {
- name: "enable_bottom_arrow";
- signal: "elm,state,bottom";
- source: "elm";
- action: STATE_SET "bottom" 0.0;
- target: "ctxpopup_arrow";
- }
- }
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 CTXPOPUP_FRAME_CORNER_SIZE 6 6
-#define CTXPOPUP_BORDER_CORNER_SIZE 9 9
-#define CTXPOPUP_IE_CONTENT_WIDTH_MAX 720
-#define CTXPOPUP_IE_ARROW_SIZE 26 26
-#define CTXPOPUP_IE_ITEM_PADDING 22
-#define CTXPOPUP_IE_ITEM_HEIGHT 70
-#define CTXPOPUP_IE_FONT_COLOR 255 255 255 255
-#define CTXPOPUP_IE_CLICKED_FONT_COLOR 255 255 255 255
-#define CTXPOPUP_IE_SEPARATOR_COLOR 120 120 120 255
-#define CTXPOPUP_IE_ITEM_DISABLED_COLOR 0 0 0 120
-#define CTXPOPUP_IE_ITEM_DISABLED_COLOR_2 0 0 0 0
-///////////////////////////////////////////////////////////////////////////////
-group {
- name: "elm/ctxpopup/base/elm_demo_tizen/imageeditor";
- images {
- image: "imageeditor_bg.png" COMP;
- image: "imageeditor_border_left_top.png" COMP;
- image: "imageeditor_border_right_top.png" COMP;
- image: "imageeditor_border_left_bottom.png" COMP;
- image: "imageeditor_border_right_bottom.png" COMP;
- }
- parts {
- part {
- name: "ctxpopup_frame_left_top";
- type: SPACER;
- scale: 1;
- description {
- align: 0 0;
- min: CTXPOPUP_FRAME_CORNER_SIZE;
- max: CTXPOPUP_FRAME_CORNER_SIZE;
- }
- }
-
- part {
- name: "ctxpopup_frame_right_top";
- type: SPACER;
- scale: 1;
- description {
- align: 1 0;
- min: CTXPOPUP_FRAME_CORNER_SIZE;
- max: CTXPOPUP_FRAME_CORNER_SIZE;
- }
- }
-
- part {
- name: "ctxpopup_frame_left_bottom";
- type: SPACER;
- scale: 1;
- description {
- align: 0 1;
- min: CTXPOPUP_FRAME_CORNER_SIZE;
- max: CTXPOPUP_FRAME_CORNER_SIZE;
- }
- }
-
- part {
- name: "ctxpopup_frame_right_bottom";
- type: SPACER;
- scale: 1;
- description {
- align: 1 1;
- min: CTXPOPUP_FRAME_CORNER_SIZE;
- max: CTXPOPUP_FRAME_CORNER_SIZE;
- }
- }
-
- part { name: "arrow_area_left";
- type: SPACER;
- mouse_events: 0;
- scale: 1;
- description { state: "default" 0.0;
- min: 27 27;
- fixed: 1 1;
- align: 1 0.5;
- rel1 {
- relative: 0 1;
- to_y: "ctxpopup_frame_left_top";
- }
- rel2 {
- relative:0 0;
- to:"ctxpopup_frame_left_bottom";
- }
- }
- }
- part { name: "arrow_area_right";
- type: SPACER;
- mouse_events: 0;
- scale: 1;
- description { state: "default" 0.0;
- min: 27 27;
- fixed: 1 1;
- align: 0 0.5;
- rel1 {
- relative: 1 1;
- to:"ctxpopup_frame_right_top";
- }
- rel2 {
- relative: 1 0;
- to_y: "ctxpopup_frame_right_bottom";
- }
- }
- }
- part { name: "arrow_area_up";
- type: SPACER;
- mouse_events: 0;
- scale: 1;
- description { state: "default" 0.0;
- min: 27 27;
- fixed: 1 1;
- align: 0.5 1;
- rel1 {
- relative: 1 0;
- to_x: "ctxpopup_frame_left_top";
- }
- rel2 {
- relative: 0 0;
- to:"ctxpopup_frame_right_top";
- }
- }
- }
- part { name: "arrow_area_down";
- type: SPACER;
- mouse_events: 0;
- scale: 1;
- description { state: "default" 0.0;
- min: 27 27;
- fixed: 1 1;
- align: 0.5 0;
- rel1 {
- relative: 1 1;
- to:"ctxpopup_frame_left_bottom";
- }
- rel2 {
- relative: 0 1;
- to_x: "ctxpopup_frame_right_bottom";
- }
- }
- }
-
- part { name: "elm.swallow.arrow_up";
- type: SWALLOW;
- mouse_events: 0;
- scale: 1;
- dragable {
- x: 1 1 0;
- y: 1 1 0;
- confine: "arrow_area_up";
- }
- description {
- state: "default" 0.0;
- min: 27 27;
- fixed: 1 1;
- visible: 1;
- }
- }
- part { name: "elm.swallow.arrow_down";
- type: SWALLOW;
- mouse_events: 0;
- scale: 1;
- dragable {
- x: 1 1 0;
- y: 1 1 0;
- confine: "arrow_area_down";
- }
- description {
- state: "default" 0.0;
- min: 27 27;
- fixed: 1 1;
- visible: 1;
- }
- }
- part { name: "elm.swallow.arrow_left";
- type: SWALLOW;
- mouse_events: 0;
- scale: 1;
- dragable {
- x: 1 1 0;
- y: 1 1 0;
- confine: "arrow_area_left";
- }
- description {
- state: "default" 0.0;
- min: 27 27;
- fixed: 1 1;
- visible: 1;
- }
- }
- part { name: "elm.swallow.arrow_right";
- type: SWALLOW;
- mouse_events: 0;
- scale: 1;
- dragable {
- x: 1 1 0;
- y: 1 1 0;
- confine: "arrow_area_right";
- }
- description {
- state: "default" 0.0;
- min: 27 27;
- fixed: 1 1;
- visible: 1;
- }
- }
- part {
- name: "ctxpopup_frame";
- type: RECT;
- scale: 1;
- description {
- align: 1 1;
- color: 0 0 0 85;
- rel1 {to: "ctxpopup_frame_left_top"; relative: 0.5 0.5;}
- rel2 {to: "ctxpopup_frame_right_bottom"; relative: 0.5 0.5;}
- }
- }
-
- part {
- name: "elm.swallow.content";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- rel1 {to: "ctxpopup_frame_left_top"; relative: 0.5 0.5;}
- rel2 {to: "ctxpopup_frame_right_bottom"; relative: 0.5 0.5;}
- }
- }
-
- part {
- name: "ctxpopup_border_left_top";
- type: IMAGE;
- scale: 1;
- description {
- align: 0 0;
- min: CTXPOPUP_BORDER_CORNER_SIZE;
- max: CTXPOPUP_BORDER_CORNER_SIZE;
- image {
- normal: "imageeditor_border_left_top.png";
- }
- }
- }
-
- part {
- name: "ctxpopup_border_right_top";
- type: IMAGE;
- scale: 1;
- description {
- align: 1 0;
- min: CTXPOPUP_BORDER_CORNER_SIZE;
- max: CTXPOPUP_BORDER_CORNER_SIZE;
- image {
- normal: "imageeditor_border_right_top.png";
- }
- }
- }
-
- part {
- name: "ctxpopup_border_left_bottom";
- type: IMAGE;
- scale: 1;
- description {
- align: 0 1;
- min: CTXPOPUP_BORDER_CORNER_SIZE;
- max: CTXPOPUP_BORDER_CORNER_SIZE;
- image {
- normal: "imageeditor_border_left_bottom.png";
- }
- }
- }
-
- part {
- name: "ctxpopup_border_right_bottom";
- type: IMAGE;
- scale: 1;
- description {
- align: 1 1;
- min: CTXPOPUP_BORDER_CORNER_SIZE;
- max: CTXPOPUP_BORDER_CORNER_SIZE;
- image {
- normal: "imageeditor_border_right_bottom.png";
- }
- }
- }
-
- part {
- name: "ctxpopup_border_top";
- type: RECT;
- scale: 1;
- description {
- align: 0 0;
- color: 222 222 222 255;
- rel1 {to:"ctxpopup_frame_left_top"; relative: 1 0;}
- rel2 {to:"ctxpopup_frame_right_top"; relative: 0 0.5;}
- }
- }
-
- part {
- name: "ctxpopup_border_bottom";
- type: RECT;
- scale: 1;
- description {
- align: 0 0;
- color: 222 222 222 255;
- rel1 {to:"ctxpopup_frame_left_bottom"; relative: 1 0.5;}
- rel2 {to:"ctxpopup_frame_right_bottom"; relative: 0 1;}
- }
- }
-
- part {
- name: "ctxpopup_border_left";
- type: RECT;
- scale: 1;
- description {
- align: 0 0;
- color: 222 222 222 255;
- rel1 {to:"ctxpopup_frame_left_top"; relative: 0 1;}
- rel2 {to:"ctxpopup_frame_left_bottom"; relative: 0.5 0;}
- }
- }
-
- part {
- name: "ctxpopup_border_right";
- type: RECT;
- scale: 1;
- description {
- align: 0 0;
- color: 222 222 222 255;
- rel1 {to:"ctxpopup_frame_right_top"; relative: 0.5 1;}
- rel2 {to:"ctxpopup_frame_right_bottom"; relative: 1 0;}
- }
- }
- }//parts
-}
-///////////////////////////////////////////////////////////////////////////////
-group { name: "elm/ctxpopup/arrow/elm_demo_tizen/imageeditor";
- images {
- image: "imageeditor_left_arrow.png" COMP;
- image: "imageeditor_right_arrow.png" COMP;
- image: "imageeditor_top_arrow.png" COMP;
- image: "imageeditor_bottom_arrow.png" COMP;
- }
- parts {
- part {
- name: "ctxpopup_arrow";
- type: IMAGE;
- scale: 1;
- description {
- state: "default" 0.0;
- min: CTXPOPUP_IE_ARROW_SIZE;
- max: CTXPOPUP_IE_ARROW_SIZE;
- fixed: 1 1;
- visible: 0;
- align: 0.5 0.5;
- }
- description {
- state: "left" 0.0;
- min: CTXPOPUP_IE_ARROW_SIZE;
- max: CTXPOPUP_IE_ARROW_SIZE;
- fixed: 1 1;
- align: 0.0 0.5;
- image {
- normal: "imageeditor_left_arrow.png";
- }
- }
- description {
- state: "right" 0.0;
- min: CTXPOPUP_IE_ARROW_SIZE;
- max: CTXPOPUP_IE_ARROW_SIZE;
- fixed: 1 1;
- align: 1.0 0.5;
- image {
- normal: "imageeditor_right_arrow.png";
- }
- }
- description {
- state: "top" 0.0;
- min: CTXPOPUP_IE_ARROW_SIZE;
- max: CTXPOPUP_IE_ARROW_SIZE;
- fixed: 1 1;
- align: 0.5 0.0;
- image {
- normal: "imageeditor_top_arrow.png";
- }
- }
- description {
- state: "bottom" 0.0;
- min: CTXPOPUP_IE_ARROW_SIZE;
- max: CTXPOPUP_IE_ARROW_SIZE;
- fixed: 1 1;
- align: 0.5 1.0;
- image {
- normal: "imageeditor_bottom_arrow.png";
- }
- }
- }
- }
- programs {
- program {
- name: "enable_left_arrow";
- signal: "elm,state,left";
- source: "elm";
- action: STATE_SET "left" 0.0;
- target: "ctxpopup_arrow";
- }
- program {
- name: "enable_right_arrow";
- signal: "elm,state,right";
- source: "elm";
- action: STATE_SET "right" 0.0;
- target: "ctxpopup_arrow";
- }
- program {
- name: "enable_top_arrow";
- signal: "elm,state,top";
- source: "elm";
- action: STATE_SET "top" 0.0;
- target: "ctxpopup_arrow";
- }
- program {
- name: "enable_bottom_arrow";
- signal: "elm,state,bottom";
- source: "elm";
- action: STATE_SET "bottom" 0.0;
- target: "ctxpopup_arrow";
- }
- }
-}
-///////////////////////////////////////////////////////////////////////////////
- group {
- name: "elm/ctxpopup/text_style_item/elm_demo_tizen/imageeditor";
- parts {
- part {
- name: "event_blocker";
- type: RECT;
- mouse_events: 1;
- description {
- state: "default" 0.0;
- color: 0 0 0 0;
- }
- }
- part {
- name: "bg";
- mouse_events: 0;
- type: RECT;
- description {
- state: "default" 0.0;
- visible: 0;
- }
- description {
- state: "clicked" 0.0;
- visible: 1;
- color: 0 0 0 125;
- }
- }
- part {
- name: "separator";
- mouse_events: 0;
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- color: CTXPOPUP_IE_SEPARATOR_COLOR;
- align: 0.5 0;
- min: 1 0;
- max: 1 999999;
- visible: 0;
- }
- description {
- state: "horizontal" 0.0;
- color: CTXPOPUP_IE_SEPARATOR_COLOR;
- align: 0 0.5;
- min: 1 0;
- max: 1 999999;
- visible: 1;
- }
- description {
- state: "vertical" 0.0;
- color: CTXPOPUP_IE_SEPARATOR_COLOR;
- align: 0.5 0;
- min: 0 1;
- max: 999999 1;
- visible: 1;
- }
- }
- part {
- name: "left_padding";
- type: SPACER;
- scale: 1;
- mouse_events: 0;
- description {
- state: "default" 0.0;
- min: 10 CTXPOPUP_IE_ITEM_HEIGHT;
- max: 10 CTXPOPUP_IE_ITEM_HEIGHT;
- align: 0 0.5;
- fixed: 1 1;
- }
- }
- part {
- name: "disclip";
- type: RECT;
- description {
- state: "default" 0.0;
- visible: 0;
- }
- description {
- state: "disabled" 0.0;
- visible: 1;
- color: CTXPOPUP_IE_ITEM_DISABLED_COLOR;
- }
- }
- part {
- name: "elm.text";
- type: TEXT;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 1 CTXPOPUP_IE_ITEM_HEIGHT;
- max: (CTXPOPUP_IE_CONTENT_WIDTH_MAX-2*CTXPOPUP_IE_ITEM_PADDING) CTXPOPUP_IE_ITEM_HEIGHT;
- fixed: 0 1;
- align: 0.5 0.5;
- rel1 {relative: 1.0 0.0; to: "left_padding";}
- rel2 {relative: 0.0 1.0; to: "right_padding";}
- color: CTXPOPUP_IE_FONT_COLOR;
- text {
- font: "Tizen:style=Roman";
- size: 36;
- align: 0.0 0.5;
- min: 1 1;
- }
- }
- description {
- state: "clicked" 0.0;
- inherit: "default" 0.0;
- color: CTXPOPUP_IE_CLICKED_FONT_COLOR;
- }
- }
- part {
- name: "right_padding";
- type: SPACER;
- scale: 1;
- mouse_events: 0;
- description {
- state: "default" 0.0;
- min: 10 CTXPOPUP_IE_ITEM_HEIGHT;
- max: 10 CTXPOPUP_IE_ITEM_HEIGHT;
- fixed: 1 0;
- align: 1.0 0.5;
- }
- }
- part {
- name: "over1";
- type: RECT;
- mouse_events: 1;
- repeat_events: 1;
- ignore_flags: ON_HOLD;
- description {
- state: "default" 0.0;
- color: 0 0 0 0;
- }
- }
- part {
- name: "over2";
- type: RECT;
- mouse_events: 1;
- repeat_events: 1;
- description {
- state: "default" 0.0;
- color: 0 0 0 0;
- }
- }
- part {
- name: "disclip_2";
- type: RECT;
- description {
- state: "default" 0.0;
- visible: 0;
- }
- description {
- state: "disabled" 0.0;
- visible: 1;
- color: CTXPOPUP_IE_ITEM_DISABLED_COLOR_2;
- }
- }
- }
- programs {
- program {
- name: "item_unclick";
- signal: "mouse,up,1";
- source: "over1";
- action: SIGNAL_EMIT "elm,action,click" "";
- }
- program {
- name: "disable";
- signal: "elm,state,disabled";
- source: "elm";
- action: STATE_SET "disabled" 0.0;
- target: "disclip";
- target: "disclip_2";
- }
- program {
- name: "enable";
- signal: "elm,state,enabled";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "disclip";
- }
- program {
- name: "default";
- signal: "elm,state,default";
- source: "elm";
- script {
- set_state(PART:"separator", "default", 0.0);
- }
- }
- program {
- name: "vertical";
- signal: "elm,state,vertical";
- source: "elm";
- script {
- set_state(PART:"separator", "vertical", 0.0);
- }
- }
- program {
- name: "horizontal";
- signal: "elm,state,horizontal";
- source: "elm";
- script {
- set_state(PART:"separator", "horizontal", 0.0);
- }
- }
- program {
- name: "item_click2";
- signal: "mouse,down,1";
- source: "over2";
- script {
- set_state(PART:"elm.text", "clicked", 0.0);
- set_state(PART:"bg", "clicked", 0.0);
- }
- }
- program {
- name: "item_unclick2";
- signal: "mouse,up,1";
- source: "over2";
- script {
- set_state(PART:"elm.text", "default", 0.0);
- set_state(PART:"bg", "default", 0.0);
- }
- }
- }
- }
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 PADDING 5
-#define ITEM_HEIGHT 50
-#define ITEM_WIDTH 120
-#define MAX_ITEM_WIDTH 200
-#define NAVI_BAR_EXTENDED_HEIGHT 93
-#define NAVI_BAR_EXTENDED_FNBTN_TOP_HEIGHT 110
-#define NAVI_BAR_H 67
-
-#define BUTTON_WIDTH 170.0
-#define BUTTON_HEIGHT 44.0
-#define BUTTON_GAP 22.0
-
-group {
- name: "elmdemo-test/btn-ext2";
- parts{
- part {
- name: "bg";
- type: RECT;
- description {
- color: 246 245 237 255;
- }
- }
- part {
- name: "top_padding";
- type: RECT;
- scale: 1; //allow scaling
- description {
- state: "default" 0.0;
- min : BUTTON_WIDTH BUTTON_GAP; //minimum size for gap filler
- fixed: 0 1;
- rel1 { relative: 0 0; }
- rel2 { relative: 1 0; }
- color: 0 0 0 0;
- align: 0 0;
- }
- }
- part {
- name: "btn_reveal";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- rel1 { relative: 0.5 1.0; to_y: "top_padding"; }
- rel2 { relative: 0.5 1.0; to_y: "top_padding"; }
- align: 0.5 0;
- }
- }
- part {
- name: "btn_reveal_bottom_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min : BUTTON_WIDTH BUTTON_GAP;
- max : BUTTON_WIDTH BUTTON_GAP;
- fixed: 1 1;
- align: 0.5 0;
- rel1 { relative: 0 1.0; to_y: "btn_reveal"; }
- rel2 { relative: 1 1.0; to_y: "btn_reveal"; }
- color: 0 0 0 0;
- }
- }
- part {
- name: "btn_add";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- rel1 { relative: 0.5 1.0; to_y: "btn_reveal_bottom_padding"; }
- rel2 { relative: 0.5 1.0; to_y: "btn_reveal_bottom_padding"; }
- align: 0.5 0;
- }
- }
- part {
- name: "btn_add_bottom_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min : BUTTON_WIDTH BUTTON_GAP;
- max : BUTTON_WIDTH BUTTON_GAP;
- fixed: 1 1;
- align: 0.5 0;
- rel1 { relative: 0 1.0; to_y: "btn_add"; }
- rel2 { relative: 1 1.0; to_y: "btn_add"; }
- color: 0 0 0 0;
- }
- }
- part {
- name: "btn_remove";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- rel1 { relative: 0.5 1.0; to_y: "btn_add_bottom_padding"; }
- rel2 { relative: 0.5 1.0; to_y: "btn_add_bottom_padding"; }
- align: 0.5 0;
- }
- }
- part {
- name: "btn_remove_bottom_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min : BUTTON_WIDTH BUTTON_GAP;
- max : BUTTON_WIDTH BUTTON_GAP;
- fixed: 1 1;
- align: 0.5 0;
- rel1 { relative: 0 1.0; to_y: "btn_remove"; }
- rel2 { relative: 1 1.0; to_y: "btn_remove"; }
- color: 0 0 0 0;
- }
- }
- part {
- name: "btn_warning";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- rel1 { relative: 0.5 1.0; to_y: "btn_remove_bottom_padding"; }
- rel2 { relative: 0.5 1.0; to_y: "btn_remove_bottom_padding"; }
- align: 0.5 0;
- }
- }
- part {
- name: "btn_warning_bottom_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min : BUTTON_WIDTH BUTTON_GAP;
- max : BUTTON_WIDTH BUTTON_GAP;
- fixed: 1 1;
- align: 0.5 0;
- rel1 { relative: 0 1.0; to_y: "btn_warning"; }
- rel2 { relative: 1 1.0; to_y: "btn_warning"; }
- color: 0 0 0 0;
- }
- }
- part {
- name: "btn_info";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- rel1 { relative: 0.5 1.0; to_y: "btn_warning_bottom_padding"; }
- rel2 { relative: 0.5 1.0; to_y: "btn_warning_bottom_padding"; }
- align: 0.5 0;
- }
- }
- part {
- name: "btn_info_bottom_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min : BUTTON_WIDTH BUTTON_GAP;
- max : BUTTON_WIDTH BUTTON_GAP;
- fixed: 1 1;
- align: 0.5 0;
- rel1 { relative: 0 1.0; to_y: "btn_info"; }
- rel2 { relative: 1 1.0; to_y: "btn_info"; }
- color: 0 0 0 0;
- }
- }
- part {
- name: "btn_icon_only";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- rel1 { relative: 0.5 1.0; to_y: "btn_info_bottom_padding"; }
- rel2 { relative: 0.5 1.0; to_y: "btn_info_bottom_padding"; }
- align: 0.5 0;
- }
- }
- part {
- name: "btn_icon_only_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min : BUTTON_WIDTH BUTTON_GAP;
- max : BUTTON_WIDTH BUTTON_GAP;
- fixed: 1 1;
- align: 0.5 0;
- rel1 { relative: 0 1.0; to_y: "btn_icon_only"; }
- rel2 { relative: 1 1.0; to_y: "btn_icon_only"; }
- color: 0 0 0 0;
- }
- }
- part {
- name: "btn_dark";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- rel1 { relative: 0.5 1.0; to_y: "btn_icon_only_padding"; }
- rel2 { relative: 0.5 1.0; to_y: "btn_icon_only_padding"; }
- align: 0.5 0;
- }
- }
- part {
- name: "btn_dark_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min : BUTTON_WIDTH BUTTON_GAP;
- max : BUTTON_WIDTH BUTTON_GAP;
- fixed: 1 1;
- align: 0.5 0;
- rel1 { relative: 0 1.0; to_y: "btn_dark"; }
- rel2 { relative: 1 1.0; to_y: "btn_dark"; }
- color: 0 0 0 0;
- }
- }
- part {
- name: "btn_default";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- align: 0.5 0;
- rel1 { relative: 0.5 1.0; to_y: "btn_dark_padding"; }
- rel2 { relative: 0.5 1.0; to_y: "btn_dark_padding"; }
- align: 0.5 0;
- }
- }
- part {
- name: "btn_default_bottom_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min : BUTTON_WIDTH BUTTON_GAP;
- max : BUTTON_WIDTH BUTTON_GAP;
- fixed: 1 1;
- align: 0.5 0;
- rel1 { relative: 0 1.0; to_y: "btn_default"; }
- rel2 { relative: 1 1.0; to_y: "btn_default"; }
- color: 0 0 0 0;
- }
- }
- part {
- name: "btn_center";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- align: 0.5 0;
- max: 300 BUTTON_HEIGHT;
- rel1 { relative: 0.0 1.0; to_y: "btn_default_bottom_padding"; }
- align: 0.5 0;
- }
- }
- part {
- name: "btn_center_bottom_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min : BUTTON_WIDTH BUTTON_GAP;
- max : BUTTON_WIDTH BUTTON_GAP;
- fixed: 1 1;
- align: 0.5 0;
- rel1 { relative: 0 1.0; to_y: "btn_center"; }
- rel2 { relative: 1 1.0; to_y: "btn_center"; }
- color: 0 0 0 0;
- }
- }
- part {
- name: "btn_text_only_style1";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- align: 0.5 0;
- rel1 { relative: 0.5 1.0; to_y: "btn_center_bottom_padding"; }
- rel2 { relative: 0.5 1.0; to_y: "btn_center_bottom_padding"; }
- align: 0.5 0;
- }
- }
- part {
- name: "btn_text_only_style1_bottom_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min : BUTTON_WIDTH BUTTON_GAP;
- max : BUTTON_WIDTH BUTTON_GAP;
- fixed: 1 1;
- align: 0.5 0;
- rel1 { relative: 0 1.0; to_y: "btn_text_only_style1"; }
- rel2 { relative: 1 1.0; to_y: "btn_text_only_style1"; }
- color: 0 0 0 0;
- }
- }
- part {
- name: "btn_text_only_style2";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- state: "default" 0.0;
- rel1 { relative: 0.5 1.0; to_y: "btn_text_only_style1_bottom_padding"; }
- rel2 { relative: 0.5 1.0; to_y: "btn_text_only_style1_bottom_padding"; }
- align: 0.5 0;
- }
- }
- part {
- name: "btn_text_only_style2_bottom_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min : BUTTON_WIDTH BUTTON_GAP;
- max : BUTTON_WIDTH BUTTON_GAP;
- fixed: 1 1;
- align: 0.5 0;
- rel1 { relative: 0 1.0; to_y: "btn_text_only_style2"; }
- rel2 { relative: 1 1.0; to_y: "btn_text_only_style2"; }
- color: 0 0 0 0;
- }
- }
- part {
- name: "btn_text_only_style3";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- state: "default" 0.0;
- rel1 { relative: 0.5 1.0; to_y: "btn_text_only_style2_bottom_padding"; }
- rel2 { relative: 0.5 1.0; to_y: "btn_text_only_style2_bottom_padding"; }
- align: 0.5 0;
- }
- }
- part {
- name: "btn_text_only_style3_bottom_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min : BUTTON_WIDTH BUTTON_GAP;
- max : BUTTON_WIDTH BUTTON_GAP;
- fixed: 1 1;
- align: 0.5 0;
- rel1 { relative: 0 1.0; to_y: "btn_text_only_style3"; }
- rel2 { relative: 1 1.0; to_y: "btn_text_only_style3"; }
- color: 0 0 0 0;
- }
- }
- part {
- name: "btn_text_only_sweep";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- state: "default" 0.0;
- rel1 { relative: 0.5 1.0; to_y: "btn_text_only_style3_bottom_padding"; }
- rel2 { relative: 0.5 1.0; to_y: "btn_text_only_style3_bottom_padding"; }
- align: 0.5 0;
- }
- }
- part {
- name: "btn_text_only_sweep_bottom_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min : BUTTON_WIDTH BUTTON_GAP;
- max : BUTTON_WIDTH BUTTON_GAP;
- fixed: 1 1;
- align: 0.5 0;
- rel1 { relative: 0 1.0; to_y: "btn_text_only_sweep"; }
- rel2 { relative: 1 1.0; to_y: "btn_text_only_sweep"; }
- color: 0 0 0 0;
- }
- }
- part {
- name: "btn_text_only_title";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- state: "default" 0.0;
- rel1 { relative: 0.5 1.0; to_y: "btn_text_only_sweep_bottom_padding"; }
- rel2 { relative: 0.5 1.0; to_y: "btn_text_only_sweep_bottom_padding"; }
- align: 0.5 0;
- }
- }
- part {
- name: "btn_text_only_title_bottom_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min : BUTTON_WIDTH BUTTON_GAP;
- max : BUTTON_WIDTH BUTTON_GAP;
- fixed: 1 1;
- align: 0.5 0;
- rel1 { relative: 0 1.0; to_y: "btn_text_only_title"; }
- rel2 { relative: 1 1.0; to_y: "btn_text_only_title"; }
- color: 0 0 0 0;
- }
- }
- part {
- name: "btn_text_only_contact";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- state: "default" 0.0;
- rel1 { relative: 0.5 1.0; to_y: "btn_text_only_title_bottom_padding"; }
- rel2 { relative: 0.5 1.0; to_y: "btn_text_only_title_bottom_padding"; }
- align: 0.5 0;
- }
- }
- part {
- name: "btn_text_only_contact_bottom_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min : BUTTON_WIDTH BUTTON_GAP;
- max : BUTTON_WIDTH BUTTON_GAP;
- fixed: 1 1;
- align: 0.5 0;
- rel1 { relative: 0 1.0; to_y: "btn_text_only_contact"; }
- rel2 { relative: 1 1.0; to_y: "btn_text_only_contact"; }
- color: 0 0 0 0;
- }
- }
- part {
- name: "btn_text_only_more";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- state: "default" 0.0;
- rel1 { relative: 0.5 1.0; to_y: "btn_text_only_contact_bottom_padding"; }
- rel2 { relative: 0.5 1.0; to_y: "btn_text_only_contact_bottom_padding"; }
- align: 0.5 0;
- }
- }
- part {
- name: "btn_text_only_more_bottom_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min : BUTTON_WIDTH BUTTON_GAP;
- max : BUTTON_WIDTH BUTTON_GAP;
- fixed: 1 1;
- align: 0.5 0;
- rel1 { relative: 0 1.0; to_y: "btn_text_only_more"; }
- rel2 { relative: 1 1.0; to_y: "btn_text_only_more"; }
- color: 0 0 0 0;
- }
- }
- part {
- name: "btn_text_only_multiline";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- min: BUTTON_WIDTH 60;
- max: BUTTON_WIDTH 60;
- state: "default" 0.0;
- rel1 { relative: 0 1.0; to_y: "btn_text_only_more_bottom_padding"; }
- align: 0.5 0;
- }
- }
- part {
- name: "bottom_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min : 0 BUTTON_GAP;
- rel1 { relative: 0 1.0; to_y: "btn_text_only_multiline"; }
- rel2 { relative: 1 1.0;}
- color: 0 0 0 0;
- align: 0.5 1.0;
- }
- }
- }//end parts
-#undef BUTTON_WIDTH
-#undef BUTTON_HEIGHT
-#undef BUTTON_GAP
-} //end group
-
-
-group { name: "navibar_effect_layout";
- parts {
- part {
- name: "bg";
- type: RECT;
- description {
- color: 246 245 237 255;
- }
- }
- part {
- name: "elm.swallow.content";
- type: SWALLOW;
- scale: 1;
- description {
- }
- }
- }
-}
-
-
-#define GENLIST_PART_BG_COLOR_INC 246 245 237 255
-#define GENLIST_PART_TEXT_COLOR_INC 0 0 0 255
-#define GENLIST_PART_TEXT_SELECTED_COLOR_INC 225 225 225 255
-#define GENLIST_PART_SUB_TEXT_COLOR_INC 0 0 0 255
-#define GENLIST_PART_BOTTOM_LINE_INC 212 212 212 255
-#define GENLIST_GROUP_PART_TEXT_COLOR_INC 50 50 50 255
-
-#define BEAT_GENLIST_PART_LIST_PICKER_BOTTOM_LINE \
- part { name: "bottom_line"; \
- type: RECT; \
- clip_to: "disclip"; \
- mouse_events: 0; \
- description { state: "default" 0.0; \
- min: 0 1; \
- fixed: 0 1; \
- visible: 1; \
- color: 104 97 92 255; \
- rel1 { \
- relative: 0.0 1.0; \
- offset: 0 -1; \
- } \
- } \
- }
-
-
-#define BEAT_GENLIST_PART_PADDING_LEFT( param_padding_size ) \
- part { name: "elm.padding.left"; \
- type: RECT; \
- scale: 1; \
- description { state: "default" 0.0; \
- min: param_padding_size 0; \
- fixed: 1 0; \
- visible: 0; \
- rel2.relative: 0.0 1.0; \
- align: 0.0 0.0; \
- } \
- }
-
-
-#define BEAT_GENLIST_PART_BASE( param_item_height ) \
- part { name: "base"; \
- type: RECT; \
- repeat_events: 1; \
- scale: 1; \
- description { state: "default" 0.0; \
- min: 0 param_item_height; \
- color: GENLIST_PART_BG_COLOR_INC; \
- } \
- }
-
-
-#define BEAT_GENLIST_PART_PADDING_RIGHT( param_padding_size ) \
- part { name: "elm.padding.right"; \
- type: RECT; \
- scale: 1; \
- description { state: "default" 0.0; \
- min: param_padding_size 0; \
- fixed: 1 0; \
- visible: 0; \
- rel1.relative: 1.0 0.0; \
- align: 1.0 0.0; \
- } \
- }
\ No newline at end of file
+++ /dev/null
-/*\r
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved\r
- *\r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- *\r
- */\r
-\r
-#define DEMO_POPUP_CONTENT_MINSTYLE_CONTENT_DEFAULT_MIN_INC 0 0\r
-#define DEMO_POPUP_CONTENT_LISTSTYLE_CONTENT_DEFAULT_MIN_INC 0 408\r
-#define DEMO_POPUP_ENTRYPASSWORDVIEW_CONTENT_WIDTH_MIN 532\r
-#define DEMO_POPUP_ENTRYPASSWORDVIEW_2BUTTON_BG_MIN 0 223\r
-#define DEMO_POPUP_ENTRYPASSWORDVIEW_2BUTTON_TITLE_HEIGHT_MIN_MAX 62\r
-#define DEMO_POPUP_ENTRYPASSWORDVIEW_2BUTTON_FIELD_MIN_MAX 0 66\r
-\r
-group { name: "elm/button/base/popup_button/app_style";\r
- images {\r
- image: "00_button_01_normal.png" COMP;\r
- image: "00_button_01_press.png" COMP;\r
- image: "00_button_01_focus.png" COMP;\r
- }\r
- parts {\r
- part { name: "button_image";\r
- mouse_events: 1;\r
- scale: 1;\r
- description { state: "default" 0.0;\r
- min: 16 70;\r
- image {\r
- normal: "00_button_01_normal.png";\r
- border: 7 7 7 7;\r
- }\r
- image.middle: SOLID;\r
- }\r
- description { state: "clicked" 0.0;\r
- inherit: "default" 0.0;\r
- image.normal: "00_button_01_press.png";\r
- image.middle: SOLID;\r
- }\r
- description { state: "disabled" 0.0;\r
- inherit: "default" 0.0;\r
- }\r
- description { state: "focused" 0.0;\r
- inherit: "default" 0.0;\r
- image.normal: "00_button_01_focus.png";\r
- }\r
- }\r
- part {\r
- name: "padding_left";\r
- type: RECT;\r
- scale: 1;\r
- mouse_events: 0;\r
- description { state: "default" 0.0;\r
- align: 0.0 0.0;\r
- rel1.relative: 0.0 0.0;\r
- rel2.relative: 0.0 1.0;\r
- min: 5 5;\r
- fixed: 1 0;\r
- color: 0 0 0 0;\r
- }\r
- }\r
- part {\r
- name: "padding_right";\r
- type: RECT;\r
- scale: 1;\r
- mouse_events: 0;\r
- description { state: "default" 0.0;\r
- align: 1.0 0.0;\r
- rel1.relative: 1.0 0.0;\r
- rel2.relative: 1.0 1.0;\r
- min: 5 5;\r
- fixed: 1 0;\r
- color: 0 0 0 0;\r
- }\r
- }\r
- part {\r
- name: "padding_top";\r
- type: RECT;\r
- scale: 1;\r
- mouse_events: 0;\r
- description { state: "default" 0.0;\r
- align: 0.0 0.0;\r
- rel1.relative: 0.0 0.0;\r
- rel2.relative: 1.0 0.0;\r
- min: 5 5;\r
- fixed: 0 1;\r
- color: 0 0 0 0;\r
- }\r
- }\r
- part {\r
- name: "padding_bottom";\r
- type: RECT;\r
- scale: 1;\r
- mouse_events: 0;\r
- description { state: "default" 0.0;\r
- align: 1.0 1.0;\r
- rel1.relative: 0.0 1.0;\r
- rel2.relative: 1.0 1.0;\r
- min: 5 5;\r
- fixed: 0 1;\r
- color: 0 0 0 0;\r
- }\r
- }\r
- part {\r
- name: "icon_rect";\r
- type: RECT;\r
- scale: 1;\r
- mouse_events: 0;\r
- description { state: "default" 0.0;\r
- visible: 1;\r
- min: 0 40;\r
- fixed: 1 0;\r
- rel1 {relative: 0.0 1.0; to_x: "elm.swallow.content"; to_y: "padding_top"; }\r
- rel2 {relative: 1.0 0.0; to_x: "elm.swallow.content"; to_y: "padding_bottom"; }\r
- align: 0.0 0.5;\r
- color: 0 0 0 0;\r
- }\r
- }\r
- part {\r
- name: "padding_icon_text";\r
- type: RECT;\r
- scale: 1;\r
- mouse_events: 0;\r
- description { state: "default" 0.0; //when only icon or no icon is there\r
- align: 0.0 0.0;\r
- rel1 { relative: 1.0 0.0; to: "icon_rect"; }\r
- rel2 { relative: 1.0 1.0; to: "icon_rect"; }\r
- fixed: 1 0;\r
- min: 0 0;\r
- color: 0 0 0 0;\r
- }\r
- description { state: "icononly" 0.0;\r
- inherit: "default" 0.0;\r
- }\r
- description { state: "visible" 0.0; //when icon is visible\r
- align: 0.0 0.0;\r
- rel1 { relative: 1.0 0.0; to: "icon_rect"; }\r
- rel2 { relative: 1.0 1.0; to: "icon_rect"; }\r
- fixed: 1 0;\r
- min: 5 0;\r
- color: 0 0 0 0;\r
- }\r
- }\r
- part { name: "elm.swallow.content";\r
- type: SWALLOW;\r
- scale: 1;\r
- description { state: "default" 0.0;\r
- visible: 0;\r
- align: 0.0 0.5;\r
- rel1 {relative: 1.0 1.0; to_x: "padding_left"; to_y: "padding_top"; }\r
- rel2 {relative: 1.0 0.0; to_x: "padding_left"; to_y: "padding_bottom"; }\r
- fixed: 1 0;\r
- }\r
- description { state: "visible" 0.0;\r
- fixed: 1 0;\r
- visible: 1;\r
- align: 0.0 0.5;\r
- rel1 {relative: 1.0 1.0; to_x: "padding_left"; to_y: "padding_top"; }\r
- rel2 {relative: 1.0 0.0; to_x: "padding_left"; to_y: "padding_bottom"; }\r
- aspect: 1.0 1.0;\r
- aspect_preference: VERTICAL;\r
- }\r
- description { state: "icononly" 0.0;;\r
- visible: 1;\r
- min: 60 60;\r
- rel1 {relative: 1.0 1.0; to_x: "padding_left"; to_y: "padding_top"; }\r
- rel2 {relative: 0.0 0.0; to_x: "padding_right"; to_y: "padding_bottom"; }\r
- align: 0.5 0.5;\r
- aspect: 1.0 1.0;\r
- aspect_preference: VERTICAL;\r
- }\r
- }\r
- part { name: "elm.text";\r
- type: TEXT;\r
- effect: SOFT_SHADOW;\r
- mouse_events: 0;\r
- scale: 1;\r
- description { state: "default" 0.0;\r
- visible: 0;\r
- rel1 { relative: 1.0 1.0; to_x: "padding_icon_text"; to_y: "padding_top"; }\r
- rel2 { relative: 0.0 0.0; to_x: "padding_right"; to_y:"padding_bottom"; }\r
- align: 0.5 0.5;\r
- color: 27 26 24 255;\r
- color2: 255 255 255 255;\r
- color3: 255 255 255 255;\r
- text {\r
- font: FONT_MED;\r
- size: 34;\r
- min: 0 0;\r
- align: 0.5 0.5;\r
- max: 1 0;\r
- }\r
- }\r
- description { state: "visible" 0.0;\r
- inherit: "default" 0.0;\r
- visible: 1;\r
- min: 90 60;\r
- }\r
- description { state: "clicked" 0.0;\r
- inherit: "default" 0.0;\r
- visible: 1;\r
- min: 0 0;\r
- color: 255 255 255 255;\r
- color2: 0 0 0 102;\r
- color3: 0 0 0 255;\r
- }\r
- description { state: "disabled" 0.0;\r
- inherit: "default" 0.0;\r
- color: 0 0 0 128;\r
- color3: 0 0 0 0;\r
- }\r
- description { state: "disabled_visible" 0.0;\r
- inherit: "default" 0.0;\r
- color: 0 0 0 128;\r
- color3: 0 0 0 0;\r
- visible: 1;\r
- }\r
- description { state: "focused" 0.0;\r
- inherit: "default" 0.0;\r
- visible: 1;\r
- min: 0 0;\r
- color: 255 255 255 255;\r
- color2: 0 0 0 102;\r
- color3: 0 0 0 255;\r
- }\r
- }\r
- part { name: "over2";\r
- type: RECT;\r
- mouse_events: 1;\r
- repeat_events: 1;\r
- ignore_flags: ON_HOLD;\r
- description { state: "default" 0.0;\r
- color: 0 0 0 0;\r
- }\r
- description { state: "disabled" 0.0;\r
- inherit: "default" 0.0;\r
- visible: 0;\r
- }\r
- }\r
- part { name: "over3";\r
- type: RECT;\r
- mouse_events: 1;\r
- repeat_events: 1;\r
- description { state: "default" 0.0;\r
- color: 0 0 0 0;\r
- }\r
- description { state: "clicked" 0.0;\r
- inherit: "default" 0.0;\r
- visible: 1;\r
- }\r
- }\r
- part { name: "disabler";\r
- type: RECT;\r
- description { state: "default" 0.0;\r
- color: 0 0 0 0;\r
- visible: 0;\r
- }\r
- description { state: "disabled" 0.0;\r
- inherit: "default" 0.0;\r
- visible: 1;\r
- }\r
- }\r
- }\r
- programs {\r
- program { name: "button_click";\r
- signal: "mouse,down,1";\r
- source: "over2";\r
- action: SIGNAL_EMIT "elm,action,press" "";\r
- after: "button_click_anim";\r
- }\r
- program { name: "button_click_anim";\r
- action: STATE_SET "clicked" 0.0;\r
- target: "button_image";\r
- after: "text_clicked";\r
- }\r
- program { name: "text_clicked";\r
- script {\r
- new st[31];\r
- new Float:vl;\r
- get_state(PART:"elm.text", st, 30, vl);\r
- if (!strcmp(st, "visible"))\r
- set_state(PART:"elm.text", "clicked", 0.0);\r
- }\r
- }\r
- program { name: "button_unclick";\r
- signal: "mouse,up,1";\r
- source: "over2";\r
- action: SIGNAL_EMIT "elm,action,unpress" "";\r
- after: "button_unclick_anim";\r
- }\r
- program { name: "button_unclick_anim";\r
- action: STATE_SET "default" 0.0;\r
- target: "button_image";\r
- after: "text_unclicked";\r
- }\r
- program { name: "text_unclicked";\r
- script {\r
- new st[31];\r
- new Float:vl;\r
- new st1[31];\r
- new Float:vl1;\r
- get_state(PART:"elm.text", st, 30, vl);\r
- get_state(PART:"elm.swallow.content", st1, 30, vl1);\r
- get_state(PART:"elm.text", st, 30, vl);\r
- if (((!strcmp(st, "focused"))||(!strcmp(st, "clicked")) ) && (strcmp(st1, "icononly")))\r
- set_state(PART:"elm.text", "visible", 0.0);\r
- }\r
- }\r
- program { name: "button_mouseout_clicked";\r
- signal: "mouse,out";\r
- source: "over2";\r
- script {\r
- new st[31];\r
- new Float:vl;\r
- get_state(PART:"elm.text", st, 30, vl);\r
- if (!strcmp(st, "clicked"))\r
- set_state(PART:"elm.text", "visible", 0.0);\r
- set_state(PART:"button_image", "default", 0.0);\r
- }\r
- }\r
- program { name: "button_click2";\r
- signal: "mouse,down,1";\r
- source: "over3";\r
- action: STATE_SET "clicked" 0.0;\r
- target: "over3";\r
- }\r
- program { name: "button_unclick2";\r
- signal: "mouse,up,1";\r
- source: "over3";\r
- action: STATE_SET "default" 0.0;\r
- target: "over3";\r
- }\r
- program { name: "button_unclick3";\r
- signal: "mouse,up,1";\r
- source: "over2";\r
- action: SIGNAL_EMIT "elm,action,click" "";\r
- }\r
- program { name: "text_show";\r
- signal: "elm,state,text,visible";\r
- source: "elm";\r
- script {\r
- new st[31];\r
- new Float:vl;\r
- get_state(PART:"elm.swallow.content", st, 30, vl);\r
- if (!strcmp(st, "icononly"))\r
- {\r
- set_state(PART:"elm.swallow.content", "visible", 0.0);\r
- set_state(PART:"padding_icon_text", "visible", 0.0);\r
- }\r
- set_state(PART:"elm.text", "visible", 0.0);\r
- }\r
- }\r
- program { name: "text_hide";\r
- signal: "elm,state,text,hidden";\r
- source: "elm";\r
- script {\r
- new st[31];\r
- new Float:vl;\r
- get_state(PART:"elm.swallow.content", st, 30, vl);\r
- if (!strcmp(st, "visible"))\r
- {\r
- set_state(PART:"elm.swallow.content", "icononly", 0.0);\r
- set_state(PART:"padding_icon_text", "icononly", 0.0);\r
- }\r
- set_state(PART:"elm.text", "default", 0.0);\r
- }\r
- }\r
- program { name: "icon_show";\r
- signal: "elm,state,icon,visible";\r
- source: "elm";\r
- script {\r
- new st[31];\r
- new Float:vl;\r
- get_state(PART:"elm.text", st, 30, vl);\r
- if (!strcmp(st, "visible"))\r
- {\r
- set_state(PART:"elm.swallow.content", "visible", 0.0);\r
- set_state(PART:"padding_icon_text", "visible", 0.0);\r
- }\r
- else\r
- {\r
- set_state(PART:"elm.swallow.content", "icononly", 0.0);\r
- set_state(PART:"padding_icon_text", "icononly", 0.0);\r
- }\r
- }\r
- }\r
- program { name: "icon_hide";\r
- signal: "elm,state,icon,hidden";\r
- source: "elm";\r
- action: STATE_SET "default" 0.0;\r
- target: "elm.swallow.content";\r
- }\r
- program { name: "disable";\r
- signal: "elm,state,disabled";\r
- source: "elm";\r
- action: STATE_SET "disabled" 0.0;\r
- target: "button_image";\r
- target: "over2";\r
- target: "disabler";\r
- after: "disable_text";\r
- }\r
- program { name: "disable_text";\r
- script {\r
- new st[31];\r
- new Float:vl;\r
- get_state(PART:"elm.text", st, 30, vl);\r
- if (!strcmp(st, "visible"))\r
- set_state(PART:"elm.text", "disabled_visible", 0.0);\r
- else\r
- set_state(PART:"elm.text", "disabled", 0.0);\r
- }\r
- }\r
- program { name: "enable";\r
- signal: "elm,state,enabled";\r
- source: "elm";\r
- action: STATE_SET "default" 0.0;\r
- target: "button_image";\r
- target: "over2";\r
- target: "disabler";\r
- after: "enable_text";\r
- }\r
- program { name: "enable_text";\r
- script {\r
- new st[31];\r
- new Float:vl;\r
- get_state(PART:"elm.text", st, 30, vl);\r
- if (!strcmp(st, "disabled_visible"))\r
- set_state(PART:"elm.text", "visible", 0.0);\r
- else\r
- set_state(PART:"elm.text", "default", 0.0);\r
- }\r
- }\r
- program { name: "focused";\r
- signal: "elm,action,focus";\r
- source: "elm";\r
- action: STATE_SET "focused" 0.0;\r
- target: "button_image";\r
- target: "elm.text";\r
- }\r
- program { name: "unfocused";\r
- signal: "elm,action,unfocus";\r
- source: "elm";\r
- action: STATE_SET "default" 0.0;\r
- target: "button_image";\r
- after: "unfocus_text";\r
- }\r
- program { name: "unfocus_text";\r
- action: STATE_SET "visible" 0.0;\r
- target: "elm.text";\r
- }\r
- }\r
- }\r
-\r
-group { name: "elm/label/base/popup_description/app_style";\r
- styles\r
- {\r
- style { name: "popup_desc_style_char_wrap";\r
- base: "font="FONT_ROM" font_size=32 align=center color=#ffffff wrap=word";\r
- tag: "br" "\n";\r
- tag: "hilight" "+ font="FONT_ROM":style=Bold";\r
- tag: "b" "+ font="FONT_ROM":style=Bold";\r
- tag: "whitecolor" "+ color=#ffffff";\r
- tag: "tab" "\t";\r
- }\r
- }\r
- parts {\r
- part { name: "left_padding";\r
- type: RECT;\r
- scale: 1;\r
- description { state: "default" 0.0;\r
- fixed: 1 0;\r
- visible: 0;\r
- align: 0.0 0.5;\r
- min: 10 0;\r
- rel1 {\r
- relative: 0.0 0.0;\r
- }\r
- rel2 {\r
- relative: 0.0 1.0;\r
- }\r
- }\r
- }\r
- part { name: "elm.text";\r
- type: TEXTBLOCK;\r
- mouse_events: 0;\r
- effect: SHADOW;\r
- scale : 1;\r
- description { state: "default" 0.0;\r
- align: 0.0 0.0;\r
- fixed: 1 0;\r
- text {\r
- style: "popup_desc_style";\r
- min: 1 1;\r
- }\r
- rel1 {\r
- relative: 1.0 0.0;\r
- to: left_padding;\r
- }\r
- rel2 {\r
- relative: 1.0 1.0;\r
- to: left_padding;\r
- }\r
- }\r
- }\r
- }\r
-}\r
-\r
-group { name: "elm/label/base_wrap/popup_description/app_style";\r
- parts {\r
- part { name: "left_padding";\r
- type: RECT;\r
- scale: 1;\r
- description { state: "default" 0.0;\r
- fixed: 1 0;\r
- visible: 0;\r
- align: 0.0 0.5;\r
- min: 10 0;\r
- rel1 {\r
- relative: 0 0;\r
- }\r
- rel2 {\r
- relative: 0 1;\r
- }\r
- }\r
- }\r
- part { name: "elm.text";\r
- type: TEXTBLOCK;\r
- mouse_events: 0;\r
- effect: SHADOW;\r
- scale : 1;\r
- description { state: "default" 0.0;\r
- align: 0.0 0.0;\r
- text {\r
- style: "popup_desc_style_char_wrap";\r
- min: 0 1;\r
- }\r
- rel1 {\r
- relative: 1.0 0.0;\r
- to: left_padding;\r
- }\r
- }\r
- }\r
- }\r
-}\r
-\r
-group { name: "elm/popup/base/app_style";\r
- parts {\r
- images {\r
- image: "00_popup_title_bg.png" COMP;\r
- image: "00_popup_bottom_bg.png" COMP;\r
- image: "00_popup_bg.png" COMP;\r
- }\r
- styles\r
- {\r
- style { name: "popup_title_style";\r
- base: "font="FONT_MED" font_size=34 align=center color=#ffffff wrap=word";\r
- tag: "br" "\n";\r
- tag: "hilight" "+ font="FONT_MED":style=Bold";\r
- tag: "b" "+ font="FONT_MED":style=Bold";\r
- tag: "whitecolor" "+ color=#ffffff";\r
- tag: "tab" "\t";\r
- }\r
- }\r
- part { name: "base";\r
- type: RECT;\r
- scale : 1;\r
- mouse_events: 0;\r
- repeat_events: 1;\r
- description { state: "default" 0.0;\r
- min: 448 0;\r
- max: 448 730;\r
- color: 0 0 0 0;\r
- rel1.relative: 0.0 0.0;\r
- rel2.relative: 1.0 1.0;\r
- align: 0.0 0.0;\r
- }\r
- }\r
- part { name: "background";\r
- scale : 1;\r
- mouse_events: 0;\r
- description { state: "default" 0.0;\r
- rel1.to: "base";\r
- rel2.to: "base";\r
- image {\r
- normal: "00_popup_bg.png";\r
- border: 16 16 15 29;\r
- middle: DEFAULT;\r
- border_scale: 0;\r
- }\r
- }\r
- }\r
- part { name: "elm.rect.title";\r
- type: IMAGE;\r
- scale : 1;\r
- description { state: "default" 0.0;\r
- min: 434 70;\r
- fixed : 1 1;\r
- align: 0.5 0.0;\r
- visible: 0;\r
- image.normal: "00_popup_title_bg.png";\r
- image.border: 9 9 9 0;\r
- rel1 {\r
- relative: 0.5 0.0;\r
- to: "base";offset: 1 1;\r
- }\r
- rel2 {\r
- relative: 0.5 0.0;\r
- to: "base";offset: -2 -2;\r
- }\r
- }\r
- description { state: "show_title" 0.0;\r
- inherit: "default" 0.0;\r
- visible: 1;\r
- }\r
- }\r
- part { name: "elm.swallow.title.icon";\r
- type: SWALLOW;\r
- scale: 1;\r
- description { state: "default" 0.0;\r
- min: 48 48;\r
- max: 48 48;\r
- fixed: 1 1;\r
- align: 0 0.5;\r
- rel1 {\r
- to: "elm.rect.title";\r
- relative: 0.0 0.5;\r
- }\r
- rel2 {\r
- to: "elm.rect.title";\r
- relative: 1.0 0.5;\r
- }\r
- visible: 0;\r
- }\r
- description { state: "show_title_icon" 0.0;\r
- inherit: "default" 0.0;\r
- visible: 1;\r
- }\r
- }\r
- part {\r
- name: "elm.swallow.title";\r
- type: TEXTBLOCK;\r
- effect: SHADOW;\r
- scale:1;\r
- description {\r
- state: "default" 0.0;\r
- text\r
- {\r
- style: "popup_title_style";\r
- min: 0 0;\r
- max: 0 1;\r
- }\r
- visible:0;\r
- color2: 0 0 0 255;\r
- rel1 { relative: 0.0 0.0; to: "elm.rect.title"; }\r
- rel2 { relative: 1.0 1.0; to: "elm.rect.title"; }\r
- align: 0.5 0.5;\r
- }\r
- description { state: "show_title" 0.0;\r
- inherit: "default" 0.0;\r
- visible: 1;\r
- }\r
- description { state: "show_title_icon" 0.0;\r
- inherit: "default" 0.0;\r
- rel1 {\r
- to: "elm.rect.title";\r
- relative: 0.5 0.5;\r
- }\r
- visible: 1;\r
- }\r
- }\r
- part { name: "elm.swallow.content";\r
- type: SWALLOW;\r
- scale : 1;\r
- description { state: "default" 0.0;\r
- min: 426 0;\r
- align: 0.5 0.5;\r
- fixed: 1 0;\r
- rel1 {\r
- relative: 0.5 0.0;\r
- to: "base";\r
- }\r
- rel2 {\r
- relative: 0.5 0.0;\r
- to: "pad_b_button";\r
- }\r
- }\r
- description { state: "show_title" 0.0;\r
- inherit: "default" 0.0;\r
- rel1 {\r
- relative: 0.5 1.0;\r
- to: "elm.rect.title";\r
- }\r
- }\r
- description { state: "show_button_area" 0.0;\r
- inherit: "default" 0.0;\r
- rel2 {\r
- relative: 0.5 0.0;\r
- to: "elm.swallow.buttonArea.Background";\r
- }\r
- }\r
- description { state: "show_button_title_area" 0.0;\r
- inherit: "default" 0.0;\r
- rel1 {\r
- relative: 0.5 1.0;\r
- to: "elm.rect.title";\r
- }\r
- rel2 {\r
- relative: 0.5 0.0;\r
- to: "elm.swallow.buttonArea.Background";\r
- }\r
- }\r
- }\r
- part { name: "elm.swallow.buttonArea.Background";\r
- type: IMAGE;\r
- scale : 1;\r
- description { state: "default" 0.0;\r
- min: 440 90;\r
- fixed : 1 1;\r
- align: 0.5 1.0;\r
- visible: 0;\r
- image.normal: "00_popup_bottom_bg.png";\r
- image.border: 9 9 7 10;\r
- rel1 {\r
- relative: 0.5 0.0;\r
- to: "pad_b_button";\r
- }\r
- rel2 {\r
- relative: 0.5 0.0;\r
- to: "pad_b_button";\r
- }\r
- }\r
- description { state: "show_button_area" 0.0;\r
- inherit: "default" 0.0;\r
- visible: 1;\r
- }\r
- }\r
- part { name: "elm.swallow.buttonArea";\r
- type: SWALLOW;\r
- scale : 1;\r
- description { state: "default" 0.0;\r
- min: 224 70;\r
- max: 444 70;\r
- fixed : 1 1;\r
- align: 0.5 0.5;\r
- visible: 0;\r
- rel1 {\r
- relative: 0.0 0.0;\r
- to: "elm.swallow.buttonArea.Background";\r
- }\r
- rel2 {\r
- relative: 1.0 1.0;\r
- to: "elm.swallow.buttonArea.Background";\r
- }\r
- }\r
- description { state: "show_button_area" 0.0;\r
- inherit: "default" 0.0;\r
- visible: 1;\r
- }\r
- }\r
- part { name: "pad_b_button";\r
- type: RECT;\r
- scale : 1;\r
- mouse_events: 0;\r
- repeat_events: 1;\r
- description { state: "default" 0.0;\r
- align: 0.5 1.0;\r
- min: 0 15;\r
- fixed: 0 1;\r
- color: 0 0 0 0;\r
- rel1 {\r
- relative: 0.0 1.0;\r
- to: "base";\r
- }\r
- rel2 {\r
- relative: 1.0 1.0;\r
- to: "base";\r
- }\r
- }\r
- }\r
- }\r
- programs {\r
- program { name: show_title;\r
- signal: "elm,state,title,visible";\r
- source: "elm";\r
- action: STATE_SET "show_title" 0.0;\r
- target: "elm.swallow.title";\r
- target: "elm.rect.title";\r
- target: "elm.swallow.content";\r
- target: "base";\r
- }\r
- program { name: hide_title;\r
- signal: "elm,state,title,hidden";\r
- source: "elm";\r
- action: STATE_SET "default" 0.0;\r
- target: "elm.swallow.title";\r
- target: "elm.rect.title";\r
- target: "elm.swallow.content";\r
- target: "base";\r
- }\r
- program { name: show_title_icon;\r
- signal: "elm,state,title,icon,visible";\r
- source: "elm";\r
- action: STATE_SET "show_title_icon" 0.0;\r
- target: "elm.swallow.title";\r
- target: "elm.swallow.title.icon";\r
- }\r
- program { name: hide_title_icon;\r
- signal: "elm,state,title,icon,hidden";\r
- source: "elm";\r
- action: STATE_SET "default" 0.0;\r
- target: "elm.swallow.title";\r
- target: "elm.swallow.title.icon";\r
- }\r
- program { name: show_button_area;\r
- signal: "elm,state,button,visible";\r
- source: "elm";\r
- action: STATE_SET "show_button_area" 0.0;\r
- target: "elm.swallow.buttonArea";\r
- target: "elm.swallow.content";\r
- target: "elm.swallow.buttonArea.Background";\r
- target: "base";\r
- }\r
- program { name: hide_button_area;\r
- signal: "elm,state,button,hidden";\r
- source: "elm";\r
- action: STATE_SET "default" 0.0;\r
- target: "elm.swallow.buttonArea";\r
- target: "elm.swallow.content";\r
- target: "elm.swallow.buttonArea.Background";\r
- target: "base";\r
- }\r
- program { name: show_button_title_area;\r
- signal: "elm,state,button,title,visible";\r
- source: "elm";\r
- action: STATE_SET "show_button_title_area" 0.0;\r
- target: "elm.swallow.content";\r
- target: "base";\r
- }\r
- program { name: hide_button_title_area;\r
- signal: "elm,state,button,title,hidden";\r
- source: "elm";\r
- action: STATE_SET "default" 0.0;\r
- target: "elm.swallow.content";\r
- target: "base";\r
- }\r
- } /* end of programs */\r
-}\r
-\r
-group { name: "elm/popup/content/app_style";\r
- parts{\r
- part { name: "pad_t";\r
- type: RECT;\r
- scale : 1;\r
- mouse_events: 0;\r
- repeat_events: 1;\r
- description { state: "default" 0.0;\r
- align: 0.5 0.0;\r
- min: 0 60;\r
- fixed: 0 1;\r
- color: 0 0 0 0;\r
- rel1 {\r
- relative: 1.0 0.0;to_x: "pad_l";\r
- }\r
- rel2 {\r
- relative: 0.0 0.0;to_x: "pad_r";\r
- }\r
- }\r
- }\r
- part { name: "pad_l";\r
- type: RECT;\r
- scale: 1;\r
- description { state: "default" 0.0;\r
- min : 20 0;\r
- fixed: 1 0;\r
- rel1 {\r
- relative: 0.0 0.0;\r
- }\r
- rel2 {\r
- relative: 0.0 1.0;\r
- }\r
- color: 0 0 0 0;\r
- align: 0.0 0.0;\r
- }\r
- }\r
- part { name: "pad_r";\r
- type: RECT;\r
- scale: 1;\r
- description { state: "default" 0.0;\r
- min : 20 0;\r
- fixed: 1 0;\r
- rel1 {\r
- relative: 1.0 0.0;\r
- }\r
- rel2 {\r
- relative: 1.0 1.0;\r
- }\r
- color: 0 0 0 0;\r
- align: 1.0 0.0;\r
- }\r
- }\r
- part{ name:"elm.swallow.content";\r
- type: SWALLOW;\r
- scale : 1;\r
- description { state: "default" 0.0;\r
- min: 400 0;\r
- align: 0.5 0.5;\r
- fixed: 1 0;\r
- rel1 {\r
- relative: 0.5 1.0;\r
- to: "pad_t";\r
- }\r
- rel2 {\r
- relative: 0.5 0.0;\r
- to: "pad_b";\r
- }\r
- }\r
- }\r
- part { name: "pad_b";\r
- type: RECT;\r
- scale : 1;\r
- mouse_events: 0;\r
- repeat_events: 1;\r
- description { state: "default" 0.0;\r
- align: 0.5 1.0;\r
- min: 0 60;\r
- fixed: 0 1;\r
- color: 0 0 0 0;\r
- rel1 {\r
- relative: 0.0 1.0;to_x: "pad_l";\r
- }\r
- rel2 {\r
- relative: 1.0 1.0;to_x: "pad_r";\r
- }\r
- }\r
- }\r
- }\r
-}\r
-\r
-group { name: "elm/layout/popup/entrypasswordview_2button";\r
- parts {\r
- part { name: "base";\r
- type: SPACER;\r
- scale: 1;\r
- description { state: "default" 0.0;\r
- min: DEMO_POPUP_ENTRYPASSWORDVIEW_2BUTTON_BG_MIN;\r
- fixed: 1 0;\r
- }\r
- }\r
- part { name: "content_top_padding";\r
- type: SPACER;\r
- scale: 1;\r
- description { state: "default" 0.0;\r
- min: 0 42;\r
- fixed: 0 1;\r
- align: 0.0 0.0;\r
- rel1 {\r
- relative: 1.0 0.0;\r
- to_x: "content_left_padding";\r
- }\r
- rel2 {\r
- relative: 0.0 0.0;\r
- to_x: "content_right_padding";\r
- }\r
- }\r
- }\r
- part { name: "content_left_padding";\r
- type: SPACER;\r
- scale: 1;\r
- description { state: "default" 0.0;\r
- min: 47 0;\r
- fixed: 1 0;\r
- align: 0.0 0.0;\r
- rel1 {\r
- to: "base";\r
- relative: 0.0 0.0;\r
- }\r
- rel2 {\r
- to: "base";\r
- relative: 0.0 1.0;\r
- }\r
- }\r
- }\r
- part { name: "content_right_padding";\r
- type: SPACER;\r
- scale: 1;\r
- description { state: "default" 0.0;\r
- min: 47 0;\r
- fixed: 1 0;\r
- align: 1.0 0.0;\r
- rel1 {\r
- to: "base";\r
- relative: 1.0 0.0;\r
- }\r
- rel2 {\r
- to: "base";\r
- relative: 1.0 1.0;\r
- }\r
- }\r
- }\r
- part { name: "content_bottom_padding";\r
- type: SPACER;\r
- scale: 1;\r
- description { state: "default" 0.0;\r
- min: 0 42;\r
- fixed: 0 1;\r
- align: 0.0 1.0;\r
- rel1 {\r
- relative: 1.0 1.0;\r
- to_x: "content_left_padding";\r
- }\r
- rel2 {\r
- relative: 0.0 1.0;\r
- to_x: "content_right_padding";\r
- }\r
- }\r
- }\r
- part { name: "content_field";\r
- type: SPACER;\r
- scale: 1;\r
- description { state: "default" 0.0;\r
- min: 0 66;\r
- fixed: 0 1;\r
- align: 0.5 0.0;\r
- rel1 {\r
- relative: 0.0 1.0;\r
- to: "content_top_padding";\r
- }\r
- rel2.to: "content_top_padding";\r
- }\r
- }\r
- part { name: "elm.swallow.content";\r
- type: SWALLOW;\r
- scale: 1;\r
- description { state: "default" 0.0;\r
- min: 0 66;\r
- fixed: 1 1;\r
- align: 0.5 0.5;\r
- rel1.to: "content_field";\r
- rel2.to: "content_field";\r
- }\r
- }\r
- part { name: "end_top_padding";\r
- type: SPACER;\r
- scale: 1;\r
- description { state: "default" 0.0;\r
- min: 0 10;\r
- fixed: 0 1;\r
- align: 0.0 0.0;\r
- rel1 {\r
- to: "content_field";\r
- relative: 0.0 1.0;\r
- }\r
- rel2.to: "content_field";\r
- }\r
- }\r
- part { name: "end_field";\r
- type: SPACER;\r
- scale: 1;\r
- description { state: "default" 0.0;\r
- min: 0 63;\r
- fixed: 0 1;\r
- align: 0.0 0.0;\r
- rel1 {\r
- to: "end_top_padding";\r
- relative: 0.0 1.0;\r
- }\r
- rel2.to: "end_top_padding";\r
- }\r
- }\r
- part { name: "elm.swallow.end";\r
- type: SWALLOW;\r
- scale: 1;\r
- description { state: "default" 0.0;\r
- fixed: 1 1;\r
- align: 0.0 0.5;\r
- rel1.to: "end_field";\r
- rel2.to: "end_field";\r
- }\r
- }\r
- }\r
-}\r
-\r
-group { name: "elm/layout/popup/entryview_2button";\r
- parts {\r
- part { name: "base";\r
- type: SPACER;\r
- scale: 1;\r
- description { state: "default" 0.0;\r
- min: 0 150;\r
- fixed: 1 0;\r
- }\r
- }\r
- part { name: "content_top_padding";\r
- type: SPACER;\r
- scale: 1;\r
- description { state: "default" 0.0;\r
- min: 0 42;\r
- fixed: 0 1;\r
- align: 0.0 0.0;\r
- rel1 {\r
- relative: 1.0 0.0;\r
- to_x: "content_left_padding";\r
- }\r
- rel2 {\r
- relative: 0.0 0.0;\r
- to_x: "content_right_padding";\r
- }\r
- }\r
- }\r
- part { name: "content_left_padding";\r
- type: SPACER;\r
- scale: 1;\r
- description { state: "default" 0.0;\r
- min: 65 0;\r
- fixed: 1 0;\r
- align: 0.0 0.0;\r
- rel1 {\r
- to: "base";\r
- relative: 0.0 0.0;\r
- }\r
- rel2 {\r
- to: "base";\r
- relative: 0.0 1.0;\r
- }\r
- }\r
- }\r
- part { name: "content_right_padding";\r
- type: SPACER;\r
- scale: 1;\r
- description { state: "default" 0.0;\r
- min: 65 0;\r
- fixed: 1 0;\r
- align: 1.0 0.0;\r
- rel1 {\r
- to: "base";\r
- relative: 1.0 0.0;\r
- }\r
- rel2 {\r
- to: "base";\r
- relative: 1.0 1.0;\r
- }\r
- }\r
- }\r
- part { name: "content_bottom_padding";\r
- type: SPACER;\r
- scale: 1;\r
- description { state: "default" 0.0;\r
- min: 0 42;\r
- fixed: 0 1;\r
- align: 0.0 1.0;\r
- rel1 {\r
- relative: 1.0 1.0;\r
- to_x: "content_left_padding";\r
- }\r
- rel2 {\r
- relative: 0.0 1.0;\r
- to_x: "content_right_padding";\r
- }\r
- }\r
- }\r
- part { name: "content_field";\r
- type: SPACER;\r
- scale: 1;\r
- description { state: "default" 0.0;\r
- min: 0 66;\r
- fixed: 0 1;\r
- align: 0.5 0.0;\r
- rel1 {\r
- relative: 0.0 1.0;\r
- to: "content_top_padding";\r
- }\r
- rel2.to: "content_top_padding";\r
- }\r
- }\r
- part { name: "elm.swallow.content";\r
- type: SWALLOW;\r
- scale: 1;\r
- description { state: "default" 0.0;\r
- fixed: 1 1;\r
- align: 0.5 0.5;\r
- rel1.to: "content_field";\r
- rel2.to: "content_field";\r
- }\r
- }\r
- }\r
-}\r
-\r
-group { name: "elm/layout/popup/entrypasswordview";\r
- images {\r
- image : "00_search_edit_field_bg.#.png" COMP;\r
- image : "00_search_edit_field_selected.#.png" COMP;\r
- }\r
- parts {\r
- part { name: "base";\r
- type: SPACER;\r
- scale: 1;\r
- description { state: "default" 0.0;\r
- min: DEMO_POPUP_ENTRYPASSWORDVIEW_CONTENT_WIDTH_MIN 194;\r
- max: DEMO_POPUP_ENTRYPASSWORDVIEW_CONTENT_WIDTH_MIN 194;\r
- align: 0.5 0.5;\r
- fixed: 1 0;\r
- }\r
- }\r
- part { name: "pad_bottom";\r
- type: SPACER;\r
- scale: 1;\r
- description { state: "default" 0.0;\r
- min: DEMO_POPUP_ENTRYPASSWORDVIEW_CONTENT_WIDTH_MIN 40;\r
- max: DEMO_POPUP_ENTRYPASSWORDVIEW_CONTENT_WIDTH_MIN 40;\r
- fixed: 0 1;\r
- rel1 {\r
- relative: 0.0 1.0;\r
- to: "base";\r
- }\r
- rel2 {\r
- relative: 1.0 1.0;\r
- to: "base";\r
- }\r
- align: 0.5 1.0;\r
- }\r
- }\r
- part { name: "elm.password.text";\r
- type: TEXT;\r
- scale: 1;\r
- description { state: "default" 0.0;\r
- min: 0 0;\r
- max: 0 0;\r
- fixed: 1 1;\r
- align: 0.5 0.0;\r
- rel1.to: "base";\r
- rel2 {\r
- relative: 1.0 0.0;\r
- to: "base";\r
- }\r
- text {\r
- align: 0.5 0.5;\r
- min: 0 1;\r
- text_class: "T1231";\r
- }\r
- color_class: "T1231";\r
- }\r
- }\r
- part { name: "padding_after_text";\r
- type: SPACER;\r
- scale: 1;\r
- description { state: "default" 0.0;\r
- min: DEMO_POPUP_ENTRYPASSWORDVIEW_CONTENT_WIDTH_MIN 40;\r
- max: DEMO_POPUP_ENTRYPASSWORDVIEW_CONTENT_WIDTH_MIN 40;\r
- fixed: 1 1;\r
- align: 0.5 0.0;\r
- rel1 {\r
- relative: 0.0 1.0;\r
- to_x: "base";\r
- to_y: "elm.password.text";\r
- }\r
- rel2 {\r
- relative: 1.0 1.0;\r
- to_x: "base";\r
- to_y: "elm.password.text";\r
- }\r
- }\r
- }\r
- part { name: "elm.image1";\r
- type: IMAGE;\r
- scale: 1;\r
- description { state: "default" 0.0;\r
- min: 118 114;\r
- max: 118 114;\r
- fixed: 1 1;\r
- align: 0.0 0.5;\r
- rel1 {\r
- relative: 0.0 1.0;\r
- to: "padding_after_text";\r
- }\r
- rel2 {\r
- relative: 1.0 0.0;\r
- to: "pad_bottom";\r
- }\r
- image.normal: "00_search_edit_field_bg.#.png";\r
- color_class: "W031L1";\r
- }\r
- }\r
- part { name: "elm.image1.outline";\r
- type: IMAGE;\r
- scale: 1;\r
- description { state: "default" 0.0;\r
- rel1.to: "elm.image1";\r
- rel2.to: "elm.image1";\r
- image.normal: "00_search_edit_field_selected.#.png";\r
- color_class: "W031L2";\r
- }\r
- }\r
- part { name: "elm.entry1";\r
- type: SWALLOW;\r
- scale: 1;\r
- description { state: "default" 0.0;\r
- fixed: 1 1;\r
- rel1.to: "elm.image1";\r
- rel2.to: "elm.image1";\r
- }\r
- }\r
- part { name: "pad_n";\r
- type: SPACER;\r
- scale: 1;\r
- description { state: "default" 0.0;\r
- min: 20 0;\r
- max: 20 9999;\r
- fixed: 1 0;\r
- rel1 {\r
- relative: 1.0 1.0;\r
- to_x: "elm.image1";\r
- to_y: "padding_after_text";\r
- }\r
- rel2 {\r
- relative: 1.0 0.0;\r
- to: "pad_bottom";\r
- }\r
- align: 0.0 0.0;\r
- }\r
- }\r
- part { name: "elm.image2";\r
- type: IMAGE;\r
- scale: 1;\r
- description { state: "default" 0.0;\r
- min: 118 114;\r
- max: 118 114;\r
- fixed: 1 1;\r
- align: 0.0 0.5;\r
- rel1 {\r
- relative: 1.0 1.0;\r
- to_x: "pad_n";\r
- to_y: "padding_after_text";\r
- }\r
- rel2 {\r
- relative: 1.0 0.0;\r
- to: "pad_bottom";\r
- }\r
- image.normal: "00_search_edit_field_bg.#.png";\r
- color_class: "W031L1";\r
- }\r
- }\r
- part { name: "elm.image2.outline";\r
- type: IMAGE;\r
- scale: 1;\r
- description { state: "default" 0.0;\r
- rel1.to: "elm.image2";\r
- rel2.to: "elm.image2";\r
- image.normal: "00_search_edit_field_selected.#.png";\r
- color_class: "W031L2";\r
- }\r
- }\r
- part { name: "elm.entry2";\r
- type: SWALLOW;\r
- scale: 1;\r
- description { state: "default" 0.0;\r
- fixed: 1 1;\r
- rel1.to: "elm.image2";\r
- rel2.to: "elm.image2";\r
- }\r
- }\r
- part { name: "pad_n2";\r
- type: SPACER;\r
- scale: 1;\r
- description { state: "default" 0.0;\r
- min: 20 0;\r
- max: 20 9999;\r
- fixed: 1 0;\r
- rel1 {\r
- relative: 1.0 1.0;\r
- to_x: "elm.image2";\r
- to_y: "padding_after_text";\r
- }\r
- rel2 {\r
- relative: 1.0 0.0;\r
- to: "pad_bottom";\r
- }\r
- align: 0.0 0.0;\r
- }\r
- }\r
- part { name: "elm.image3";\r
- type: IMAGE;\r
- scale: 1;\r
- description { state: "default" 0.0;\r
- min: 118 114;\r
- max: 118 114;\r
- fixed: 1 1;\r
- align: 0.0 0.5;\r
- rel1 {\r
- relative: 1.0 1.0;\r
- to_x: "pad_n2";\r
- to_y: "padding_after_text";\r
- }\r
- rel2 {\r
- relative: 1.0 0.0;\r
- to: "pad_bottom";\r
- }\r
- image.normal: "00_search_edit_field_bg.#.png";\r
- color_class: "W031L1";\r
- }\r
- }\r
- part { name: "elm.image3.outline";\r
- type: IMAGE;\r
- scale: 1;\r
- description { state: "default" 0.0;\r
- rel1.to: "elm.image3";\r
- rel2.to: "elm.image3";\r
- image.normal: "00_search_edit_field_selected.#.png";\r
- color_class: "W031L2";\r
- }\r
- }\r
- part { name: "elm.entry3";\r
- type: SWALLOW;\r
- scale: 1;\r
- description { state: "default" 0.0;\r
- fixed: 1 1;\r
- rel1.to: "elm.image3";\r
- rel2.to: "elm.image3";\r
- }\r
- }\r
- part { name: "pad_n3";\r
- type: SPACER;\r
- scale: 1;\r
- description { state: "default" 0.0;\r
- min: 20 0;\r
- max: 20 9999;\r
- fixed: 1 0;\r
- rel1 {\r
- relative: 1.0 1.0;\r
- to_x: "elm.image3";\r
- to_y: "padding_after_text";\r
- }\r
- rel2 {\r
- relative: 1.0 0.0;\r
- to: "pad_bottom";\r
- }\r
- align: 0.0 0.0;\r
- }\r
- }\r
- part { name: "elm.image4";\r
- type: IMAGE;\r
- scale: 1;\r
- description { state: "default" 0.0;\r
- min: 118 114;\r
- max: 118 114;\r
- fixed: 1 1;\r
- align: 0.0 0.5;\r
- rel1 { relative: 1.0 1.0;\r
- to_x: "pad_n3";\r
- to_y: "padding_after_text";\r
- }\r
- rel2 {\r
- relative: 1.0 0.0;\r
- to: "pad_bottom";\r
- }\r
- image.normal: "00_search_edit_field_bg.#.png";\r
- color_class: "W031L1";\r
- }\r
- }\r
- part { name: "elm.image4.outline";\r
- type: IMAGE;\r
- scale: 1;\r
- description { state: "default" 0.0;\r
- rel1.to: "elm.image4";\r
- rel2.to: "elm.image4";\r
- image.normal: "00_search_edit_field_selected.#.png";\r
- color_class: "W031L2";\r
- }\r
- }\r
- part { name: "elm.entry4";\r
- type: SWALLOW;\r
- scale: 1;\r
- description { state: "default" 0.0;\r
- fixed: 1 1;\r
- rel1.to: "elm.image4";\r
- rel2.to: "elm.image4";\r
- }\r
- }\r
- }\r
-}\r
-\r
-group { name: "elm/layout/content/menustyle";\r
- parts{\r
- part{ name:"elm.swallow.content";\r
- type: SWALLOW;\r
- scale: 1;\r
- description { state: "default" 0.0;\r
- min: DEMO_POPUP_CONTENT_LISTSTYLE_CONTENT_DEFAULT_MIN_INC;\r
- align: 0.5 0.5;\r
- fixed: 1 0;\r
- }\r
- }\r
- }\r
-}\r
-\r
-group { name: "elm/layout/content/liststyle";\r
- parts{\r
- part{ name:"elm.swallow.content";\r
- type: SWALLOW;\r
- scale: 1;\r
- description { state: "default" 0.0;\r
- min: DEMO_POPUP_CONTENT_LISTSTYLE_CONTENT_DEFAULT_MIN_INC;\r
- align: 0.5 0.5;\r
- fixed: 1 0;\r
- }\r
- }\r
- }\r
-}\r
-\r
-group { name: "elm/layout/content/min_liststyle";\r
- parts{\r
- part{ name:"elm.swallow.content";\r
- type: SWALLOW;\r
- scale: 1;\r
- description { state: "default" 0.0;\r
- min: DEMO_POPUP_CONTENT_MINSTYLE_CONTENT_DEFAULT_MIN_INC;\r
- align: 0.5 0.5;\r
- fixed: 1 0;\r
- }\r
- }\r
- }\r
-}\r
-\r
-#undef DEMO_POPUP_CONTENT_MINSTYLE_CONTENT_DEFAULT_MIN_INC\r
-#undef DEMO_POPUP_CONTENT_LISTSTYLE_CONTENT_DEFAULT_MIN_INC\r
-#undef DEMO_POPUP_ENTRYPASSWORDVIEW_CONTENT_WIDTH_MIN\r
-#undef DEMO_POPUP_ENTRYPASSWORDVIEW_2BUTTON_BG_MIN\r
-#undef DEMO_POPUP_ENTRYPASSWORDVIEW_2BUTTON_TITLE_HEIGHT_MIN_MAX\r
-#undef DEMO_POPUP_ENTRYPASSWORDVIEW_2BUTTON_FIELD_MIN_MAX\r
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.
- *
- */
-
- group {
- name: "elmdemo-test/tickernoti";
- parts {
- part { name: "bg";
- mouse_events: 0;
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- visible: 1;
- rel1 { relative: 0.0 0.0;}
- rel2 { relative: 1.0 1.0;}
- color: 0 0 0 0;
- }
- }
-
- part { name: "top_padding";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min: 0 50;
- fixed: 0 1;
- rel1 { relative: 0.0 0.0; to: "bg";}
- rel2 { relative: 1.0 0.0; to: "bg";}
- color: 0 0 0 0;
- align: 0.0 0.0;
- }
- }
-
- part {
- name: "btn_tickernoti_show";
- type: SWALLOW;
- mouse_events: 1;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- min: 250 80;
- max: 250 80;
- rel1 { relative: 0.0 1.0; to: "top_padding"; }
- rel2 { relative: 1.0 1.0; to: "top_padding"; }
- align: 0.5 0.0;
- }
- }
-
-
- part { name: "top_padding_2";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min: 0 50;
- fixed: 0 1;
- rel1 { relative: 0.0 1.0; to: "btn_tickernoti_show";}
- rel2 { relative: 1.0 1.0; to: "btn_tickernoti_show";}
- color: 0 0 0 0;
- align: 0.0 0.0;
- }
- }
-
- part {
- name: "btn_tickernoti_show2";
- type: SWALLOW;
- mouse_events: 1;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- min: 250 80;
- max: 250 80;
- rel1 { relative: 0.0 1.0; to: "top_padding_2"; }
- rel2 { relative: 1.0 1.0; to: "top_padding_2"; }
- align: 0.5 0.0;
- }
- }
- }
- }
-
- group { name: "tickernoti_layout";
- parts {
- part {
- name: "bg";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- rel1.relative: 0.0 0.0;
- rel2.relative: 1.0 1.0;
- color: 0 0 0 0;
- }
- }
- part { name: "top_padding";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min: 50 50;
- fixed: 0 1;
- rel1 { relative: 0.0 0.0; to: "bg";}
- rel2 { relative: 1.0 0.0; to: "bg";}
- color: 0 0 0 0;
- align: 0.0 0.0;
- }
- }
- part {
- name: "btn1";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- min: 550 80;
- max: 550 80;
- rel1 { relative: 0.0 1.0; to: "top_padding"; }
- rel2 { relative: 1.0 1.0; to: "top_padding"; }
- align: 0.5 0.0;
- }
- }
- part { name: "top_padding_2";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- min: 50 50;
- fixed: 0 1;
- rel1 { relative: 0.0 1.0; to: "btn1";}
- rel2 { relative: 1.0 1.0; to: "btn1";}
- color: 0 0 0 0;
- align: 0.0 0.0;
- }
- }
- part {
- name: "btn2";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- fixed: 1 1;
- min: 550 80;
- max: 550 80;
- rel1 { relative: 0.0 1.0; to: "top_padding_2"; }
- rel2 { relative: 1.0 1.0; to: "top_padding_2"; }
- align: 0.5 0.0;
- }
- }
- }
- }
\ No newline at end of file
+++ /dev/null
-/*
- * Copyright (c) 2010 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * PROPRIETARY/CONFIDENTIAL
- *
- * This software is the confidential and proprietary information of SAMSUNG
- * ELECTRONICS ("Confidential Information"). You agree and acknowledge that this
- * software is owned by Samsung and you shall not disclose such Confidential
- * Information and shall use it only in accordance with the terms of the license
- * agreement you entered into with SAMSUNG ELECTRONICS. SAMSUNG make no
- * representations or warranties about the suitability of the software, either
- * express or implied, including but not limited to the implied warranties of
- * merchantability, fitness for a particular purpose, or non-infringement.
- * SAMSUNG shall not be liable for any damages suffered by licensee arising out
- * of or releated to this software.
- *
- */
-
-#define BG_DEFAULT_COLOR_INC 0 0 0 255
-#define BG_EDIT_MODE_COLOR_INC 0 0 0 255
-#define BG_GROUP_LIST_COLOR_INC 0 0 0 255
-#define BG_TRANSPARENT_COLOR_INC 0 0 0 0
-
-#define LAYOUT_BG_COLOR_INC 0 0 0 255
-#define LAYOUT_EDIT_MODE_BG_COLOR_INC 0 0 0 255
-#define LAYOUT_GROUP_LIST_BG_COLOR_INC 0 0 0 255
-#define LAYOUT_INDICATOR_HEIGHT_INC 60
-#define LAYOUT_INDICATOR_COLOR_INC 0 0 0 255
-
-#define NAVIFRAME_TITLE_TEXT_BG_H_INC 88
-#define NAVIFRAME_LANDSCAPE_TITLE_TEXT_BG_H_INC 76
-#define NAVIFRAME_TITLE_BG_IMAGE_BORDER_INC 8 8 2 2
-#define NAVIFRAME_TITLE_H_INC 96
-#define NAVIFRAME_LANDSCAPE_TITLE_H_INC 91
-#define NAVIFRAME_TAB_TITLE_H_INC 165
-#define NAVIFRAME_LANDSCAPE_TAB_TITLE_H_INC 145
-#define NAVIFRAME_TAB_TITLE_H2_INC 126
-#define NAVIFRAME_TOOLBAR_HEIGHT_INC 98
-#define NAVIFRAME_LANDSCAPE_TOOLBAR_HEIGHT_INC 85
-#define NAVIFRAME_TITLE_FUNC_BTN_SIZE_INC 183 96
-#define NAVIFRAME_LANDSCAPE_TITLE_FUNC_BTN_SIZE_INC 183 91
-#define NAVIFRAME_PREV_FUNC_BTN_SIZE_INC 85 98
-#define NAVIFRAME_LANDSCAPE_PREV_FUNC_BTN_SIZE_INC 85 85
-#define NAVIFRAME_TITLE_TAB_H_INC 75
-#define NAVIFRAME_TITLE_TAB_FONT_SIZE_INC 44
-#define NAVIFRAME_LANDSCAPE_TITLE_TAB_FONT_SIZE_INC 38
-#define NAVIFRAME_TITLE_TAB_TEXT_H_INC 90
-#define NAVIFRAME_LANDSCAPE_TITLE_TAB_TEXT_H_INC 70
-#define NAVIFRAME_TITLE_FONT_SIZE_INC 50
-#define NAVIFRAME_TITLE_FONT_MIN_SIZE_INC 46
-#define NAVIFRAME_LANDSCAPE_TITLE_FONT_SIZE_INC 50
-#define NAVIFRAME_TITLE_SMALL_FONT_SIZE_INC 42
-#define NAVIFRAME_LANDSCAPE_TITLE_SMALL_FONT_SIZE_INC 38
-#define NAVIFRAME_ICON_SIZE_INC 45 45
-#define NAVIFRAME_PADDING_INC 26 0
-#define NAVIFRAME_PADDING2_INC 16 0
-#define NAVIFRAME_BADGE_PADDING_INC 92 0
-#define NAVIFRAME_BADGE_LEFT_PADDING_INC 8 0
-#define NAVIFRAME_BADGE_TOP_PADDING_INC 0 10
-#define NAVIFRAME_BADGE_TEXT_LEFT_PADDING_INC 12 54
-#define NAVIFRAME_BADGE_TEXT_H_INC 34
-#define NAVIFRAME_BADGE_TEXT_MIN_W_INC 30
-#define NAVIFRAME_BADGE_TEXT_MAX_W_INC 60
-#define NAVIFRAME_BADGE_BG_IMAGE_SIZE_INC 54 54
-#define NAVIFRAME_BADGE_BG_IMAGE_BORDER_INC 26 26 0 0
-#define NAVIFRAME_TOOLBAR_BUTTON_BG_PADDING_INC 112 0
-#define NAVIFRAME_ICON_PADDING_INC 77 0
-#define NAVIFRAME_TITLE_TEXT_COLOR_INC 250 250 250 255
-#define NAVIFRAME_TITLE_STYLE_COLOR_INC "#FAFAFA"
-#define NAVIFRAME_TITLE_TEXT_SHADOW_COLOR_INC 0 0 0 255
-#define NAVIFRAME_TITLE_STYLE_SHADOW_COLOR_INC "#000000"
-#define NAVIFRAME_SUBTITLE_TEXT_COLOR_INC 250 250 250 255
-#define NAVIFRAME_SUBTITLE_TEXT_SHADOW_COLOR_INC 0 0 0 255
-#define NAVIFRAME_SUBTITLE_FONT_SIZE_INC 30
-#define NAVIFRAME_LANDSCAPE_SUBTITLE_FONT_SIZE_INC 28
-#define NAVIFRAME_SUBTITLE_H_INC 37
-#define NAVIFRAME_LANDSCAPE_SUBTITLE_H_INC 30
-#define NAVIFRAME_SUBTITLE_TOP_PADDING_H_INC 2
-#define NAVIFRAME_LANDSCAPE_SUBTITLE_TOP_PADDING_H_INC 4
-#define NAVIFRAME_BADGE_TEXT_COLOR_INC 250 250 250 255;
-#define NAVIFRAME_TITLE_BUTTON_DIVIDER_COLOR_INC 255 255 255 82
-#define NAVIFRAME_TITLE_TEXT_SLIDE_EFFECT_IMAGE_SIZE_INC 63 27
-#define NAVIFRAME_TITLE_TEXT_SLIDE_EFFECT_IMAGE_BORDER_INC 0 0 13 12
-
-#define PROGRESSBAR_TITLE_FONT_SIZE_INC 28
-#define PROGRESSBAR_STATUS_TEXT_FONT_SIZE_INC 20
-
-#define CTXPOPUP_WIDTH_MIN_INC 386
-#define CTXPOPUP_WIDTH_MAX_INC 692
-#define CTXPOPUP_TEXT_MAX_INC 652
-#define CTXPOPUP_ICON_TEXT_MAX_INC 595
-#define CTXPOPUP_MORE_TEXT_MAX_INC 599
-#define CTXPOPUP_BUBBLE_BG_IMAGE_BORDER 26 26 26 26
-#define CTXPOPUP_BUBBLE_MORE_BG_IMAGE_BORDER 26 26 25 0
-#define CTXPOPUP_BUBBLE_BG_PRESSED_IMAGE_BORDER 8 8 8 8
-#define CTXPOPUP_SHADOW_LEFT_PADDING 14
-#define CTXPOPUP_SHADOW_RIGHT_PADDING 14
-#define CTXPOPUP_SHADOW_TOP_PADDING 14
-#define CTXPOPUP_SHADOW_BOTTOM_PADDING 14
-#define CTXPOPUP_CONTENT_PADDING_WIDTH 1
-#define CTXPOPUP_CONTENT_PADDING_HEIGHT 1
-#define CTXPOPUP_PRESS_PADDING 4
-#define CTXPOPUP_PRESS_PADDING2 3
-#define CTXPOPUP_ARROW_PADDING 1
-#define CTXPOPUP_SCROLLER_PADDING 8
-#define CTXPOPUP_SCROLLER_HORIZONTAL_PADDING 16
-#define CTXPOPUP_SCROLLER_VERTICAL_PADDING 16
-#define CTXPOPUP_SCROLLER_TOP_PADDING 8
-#define CTXPOPUP_SCROLLER_BOTTOM_PADDING 8
-#define CTXPOPUP_SCROLLER_LEFT_PADDING 8
-#define CTXPOPUP_SCROLLER_RIGHT_PADDING 8
-#define CTXPOPUP_SCROLLER_V_MIN_SIZE_INC 9 18
-#define CTXPOPUP_SCROLLER_H_MIN_SIZE_INC 18 9
-#define CTXPOPUP_FRAME_CORNER_ARROW_PADDING 18
-#define CTXPOPUP_ICON_CLIP_DEFAULT_COLOR_INC 255 255 255 255
-#define CTXPOPUP_ICON_CLIP_DIM_COLOR_INC 162 165 174 255
-#define CTXPOPUP_MAIN_TEXT_COLOR_INC 255 255 255 255
-#define CTXPOPUP_MAIN_TEXT_DIM_COLOR_INC 162 165 174 255
-#define CTXPOPUP_MAIN_TEXT_PRESS_COLOR_INC 255 255 255 255
-#define CTXPOPUP_LIST_MAIN_TEXT_COLOR_INC 255 255 255 255
-#define CTXPOPUP_LIST_MAIN_TEXT_DIM_COLOR_INC 162 165 174 255
-#define CTXPOPUP_LIST_MAIN_TEXT_PRESS_COLOR_INC 255 255 255 255
-#define CTXPOPUP_SEPARATOR_PXLINE_SIZE_INC 1
-#define CTXPOPUP_SEPARATOR_PADDING_INC 20
-#define CTXPOPUP_SEPARATOR_COLOR_INC 29 38 60 255
-#define CTXPOPUP_SEPARATOR2_COLOR_INC 86 92 109 255
-#define CTXPOPUP_HORIZONTAL_SEPARATOR_1_COLOR_INC 29 38 60 255
-#define CTXPOPUP_HORIZONTAL_SEPARATOR_2_COLOR_INC 98 102 117 255
-#define CTXPOPUP_HORIZONTAL_SEPARATOR_MIN_SIZE_INC 1 96
-#define CTXPOPUP_HORIZONTAL_SEPARATOR_MAX_SIZE_INC 1 96
-#define CTXPOPUP_ITEM_DISABLED_COLOR 0 0 0 0
-#define CTXPOPUP_LIST_MAIN_TEXT_SIZE_INC 40
-#define CTXPOPUP_LIST_MAIN_TEXT_MAX_SIZE_INC (CTXPOPUP_LIST_MAIN_TEXT_SIZE_INC * 2)
-#define CTXPOPUP_MAIN_TEXT_SIZE_INC 32
-#define CTXPOPUP_ITEM_HEIGHT_MIN_INC 110
-#define CTXPOPUP_ITEM_HEIGHT_MAX_INC 130
-#define CTXPOPUP_TEXT_ITEM_HORIZONTAL_WIDTH_INC 128
-#define CTXPOPUP_ICON_ITEM_HORIZONTAL_WIDTH_INC 112
-#define CTXPOPUP_ITEM_HORIZONTAL_HEIGHT_INC 96
-#define CTXPOPUP_ICON_WIDTH_INC 45
-#define CTXPOPUP_ICON_HEIGHT_INC 45
-#define CTXPOPUP_ICON_HORIZONTAL_WIDTH_INC 45
-#define CTXPOPUP_ICON_HORIZONTAL_HEIGHT_INC 45
-#define CTXPOPUP_ARROW_SIZE_INC 36 36
-#define CTXPOPUP_ITEM_TEXT_PADDING_INC 20
-#define CTXPOPUP_ITEM_ICON_PADDING_INC 16
-#define CTXPOPUP_TP_BG_IMAGE_BORDER 8 8 8 8
-#define CTXPOPUP_TP_ARROW_SIZE_INC 27 18
-#define CTXPOPUP_TP_HEIGHT_INC 102
-#define CTXPOPUP_MORE_WIDTH_MIN_INC 412
-#define CTXPOPUP_MORE_WIDTH_MAX_INC 720
-#define CTXPOPUP_MORE_ITEM_PADDING_INC 16
-#define CTXPOPUP_MORE_ITEM_HEIGHT_MIN_INC 110
-#define CTXPOPUP_MORE_ITEM_HEIGHT_MAX_INC 130
-#define CTXPOPUP_MORE_ICON_WIDTH_INC 45
-#define CTXPOPUP_MORE_ICON_HEIGHT_INC 45
-#define CTXPOPUP_MORE_ITEM_TEXT_SIZE_INC 40
-#define CTXPOPUP_MOVE_PAD_INC 40
-#define CTXPOPUP_TOOLBAR_SEGMENTEDCONTROL_WIDTH_MIN_INC 334
-#define CTXPOPUP_TOOLBAR_SEGMENTEDCONTROL_WIDTH_MAX_INC 720
-#define CTXPOPUP_TOOLBAR_SEGMENTEDCONTROL_HEIGHT_MIN_INC 90
-#define CTXPOPUP_TOOLBAR_SEGMENTEDCONTROL_HEIGHT_MAX_INC 130
-#define CTXPOPUP_COPYPASTE_TEXT_COLOR_INC 255 255 255 255
-#define CTXPOPUP_COPYPASTE_TEXT_DIM_COLOR_INC 255 255 255 30
-#define CTXPOPUP_COPYPASTE_TEXT_PRESS_COLOR_INC 255 255 255 255
-#define CTXPOPUP_COPYPASTE_TEXT_SIZE_INC 26
-#define CTXPOPUP_COPYPASTE_TEXT_MAX_SIZE_INC (CTXPOPUP_COPYPASTE_TEXT_SIZE_INC * 2)
-#define CTXPOPUP_COPYPASTE_WIDTH_MAX_INC 1252
-#define CTXPOPUP_COPYPASTE_ITEM_HEIGHT_MIN_INC 126
-#define CTXPOPUP_COPYPASTE_ICON_WIDTH_INC 45
-#define CTXPOPUP_COPYPASTE_ICON_HEIGHT_INC 45
-#define CTXPOPUP_COPYPASTE_ITEM_ICON_TOP_PADDING_INC 24
-#define CTXPOPUP_COPYPASTE_SEPARATOR_MIN_SIZE_INC 1 CTXPOPUP_COPYPASTE_ITEM_HEIGHT_MIN_INC
-#define CTXPOPUP_COPYPASTE_SEPARATOR_MAX_SIZE_INC 1 -1
-
-#define DISKSELECTOR_DF_FONT_COLOR_INC 255 255 255 178
-#define DISKSELECTOR_DF_FONT_MOUSE_DOWN_COLOR_INC 255 255 255 255
-#define DISKSELECTOR_DF_ITEM_MIN_SIZE_INC 70 106;
-#define DISKSELECTOR_DF_FONT_SIZE_INC 48
-#define DISKSELECTOR_DF_DATA_MIN_HEIGHT_INC "106"
-
-#define LABEL_TEXT_BLOCK_STYLE_COLOR_INC "#FAFAFA"
-#define LABEL_FONT_SIZE_INC 36
-
-#define GENGRID_FONT_STYLE_INC "26"
-#define GENGRID_FONT_STYLE_APPLICATION_INC "26"
-#define GENGRID_FONT_STYLE_24_INC "24"
-#define GENGRID_PART_BG_COLOR_INC 0 0 0 0
-#define GENGRID_PART_REORDER_DEFAULT_BG_COLOR_INC 0 0 0 77
-#define GENGRID_PART_REORDER_BG_COLOR_INC 0 0 0 77
-#define GENGRID_PART_TEXTBLOCK_STYLE_COLOR_INC "#FAFAFAFF"
-#define GENGRID_PART_TEXTBLOCK_STYLE_SHADOW_COLOR_INC "#00000000"
-#define GENGRID_PART_BACKGROUND_COLOR_INC 0 0 0 0
-#define GENGRID_EDIT_MODE_CHECK_TOP_RIGHT_INC 6 6
-#define GENGRID_EDIT_MODE_CHECK_SIZE_INC 63 63
-#define GENGRID_ITEM_CHECK_TOP_RIGHT_PADDING_INC 6 6
-
-#define GENGRID_DEFAULT_LEFT_TOP_PADDING_INC 2 2
-#define GENGRID_DEFAULT_RIGHT_BOTTOM_PADDING_INC 2 2
-#define GENGRID_DEFAULT_ITEM_BG_LEFT_TOP_PADDING_INC 1 1
-#define GENGRID_DEFAULT_ITEM_BG_RIGHT_BOTTOM_PADDING_INC 1 1
-#define GENGRID_DEFAULT_ITEM_REAL_BG_RIGHT_PADDING_INC 0 0
-#define GENGRID_DEFAULT_LEFT_TOP_FOCUS_PADDING_INC 2 2
-#define GENGRID_DEFAULT_RIGHT_BOTTOM_FOCUS_PADDING_INC 2 2
-
-#define GENGRID_GALLERY_LEFT_TOP_PADDING_INC 6 0
-#define GENGRID_GALLERY_RIGHT_BOTTOM_PADDING_INC 0 6
-#define GENGRID_GALLERY_ITEM_BG_LEFT_TOP_PADDING_INC 1 1
-#define GENGRID_GALLERY_ITEM_BG_RIGHT_BOTTOM_PADDING_INC 1 1
-#define GENGRID_GALLERY_ITEM_REAL_BG_RIGHT_PADDING_INC 0 0
-#define GENGRID_GALLERY_LEFT_TOP_FOCUS_PADDING_INC 1 1
-#define GENGRID_GALLERY_RIGHT_BOTTOM_FOCUS_PADDING_INC 1 1
-
-#define GENGRID_MYFILE_LEFT_TOP_PADDING_INC 6 6
-#define GENGRID_MYFILE_RIGHT_BOTTOM_PADDING_INC 6 6
-#define GENGRID_MYFILE_ITEM_BG_LEFT_TOP_PADDING_INC 0 0
-#define GENGRID_MYFILE_ITEM_BG_RIGHT_BOTTOM_PADDING_INC 0 0
-#define GENGRID_MYFILE_ITEM_REAL_BG_RIGHT_PADDING_INC 0 0
-#define GENGRID_MYFILE_LEFT_TOP_FOCUS_PADDING_INC 4 4
-#define GENGRID_MYFILE_RIGHT_BOTTOM_FOCUS_PADDING_INC 4 4
-
-#define GENGRID_GRID_TEXT_LEFT_TOP_PADDING_INC 6 6
-#define GENGRID_GRID_TEXT_RIGHT_BOTTOM_PADDING_INC 6 64
-#define GENGRID_GRID_TEXT_ITEM_BG_LEFT_TOP_PADDING_INC 1 1
-#define GENGRID_GRID_TEXT_ITEM_BG_RIGHT_BOTTOM_PADDING_INC 1 1
-#define GENGRID_GRID_TEXT_ITEM_REAL_BG_RIGHT_PADDING_INC 0 0
-#define GENGRID_GRID_TEXT_LEFT_TOP_FOCUS_PADDING_INC 2 2
-#define GENGRID_GRID_TEXT_RIGHT_BOTTOM_FOCUS_PADDING_INC 2 62
-
-#define GENGRID_GRID_TEXT2_LEFT_TOP_PADDING_INC 6 6
-#define GENGRID_GRID_TEXT2_RIGHT_BOTTOM_PADDING_INC 6 6
-#define GENGRID_GRID_TEXT2_ITEM_BG_LEFT_TOP_PADDING_INC 1 1
-#define GENGRID_GRID_TEXT2_ITEM_BG_RIGHT_BOTTOM_PADDING_INC 1 1
-#define GENGRID_GRID_TEXT2_ITEM_REAL_BG_RIGHT_PADDING_INC 0 0
-#define GENGRID_GRID_TEXT2_LEFT_TOP_FOCUS_PADDING_INC 2 2
-#define GENGRID_GRID_TEXT2_RIGHT_BOTTOM_FOCUS_PADDING_INC 2 2
-
-#define GENGRID_VIDEO_TEXT_BG_COLOR 0 0 0 153
-
-#define GENGRID_POPUP_CONTENT_TOP_PADDING 26
-#define GENGRID_POPUP_CONTENT_BOTTOM_PADDING 26
-#define GENGRID_POPUP_BG_COLOR 0 0 0 0
-#define GENGRID_POPUP_TEXT_LEFT_TOP_PADDING_INC 24 0
-#define GENGRID_POPUP_TEXT_RIGHT_BOTTOM_PADDING_INC 24 64
-#define GENGRID_POPUP_TEXT_LEFT_TOP_FOCUS_PADDING_INC 24 0
-#define GENGRID_POPUP_TEXT_RIGHT_BOTTOM_FOCUS_PADDING_INC 24 64
-#define GENGRID_POPUP_ITEM_REAL_BG_LEFT_PADDING_INC ((150-117)/2) ((150-117)/2)
-#define GENGRID_POPUP_ITEM_REAL_BG_RIGHT_PADDING_INC ((150-117)/2) ((150-117)/2)
-
-// Please do not use these !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-#define GENLIST_PADDING_5_INC 5
-#define GENLIST_PADDING_24_INC 24
-#define GENLIST_PADDING_64_INC 64
-#define GENLIST_PADDING_88_INC 88
-#define GENLIST_PADDING_34_INC 34
-#define GENLIST_PADDING_32_INC 32
-#define GENLIST_PADDING_16_INC 16
-#define GENLIST_SIZE_80_INC 80
-
-#define BUBBLE_DISCLIP_COLOR 255 255 255 102 // opacity 40%
-
-// List bg color
-#define GENLIST_LIST_BG_POPUP_COLOR 29 38 60 255
-#define GENLIST_LIST_LINE1_POPUP_COLOR 29 38 60 255
-#define GENLIST_LIST_LINE2_POPUP_COLOR 86 92 109 255
-#define GENLIST_LIST_BG_COLOR 0 0 0 255
-#define GENLIST_LIST_PRESS_COLOR 33 49 99 255
-#define GENLIST_LIST_DIM_COLOR 0 0 0 255
-#define GENLIST_LIST_LINE1_COLOR 64 64 64 255
-#define GENLIST_LIST_LINE2_COLOR 0 0 0 255
-#define GENLIST_LIST_DIVIDER1_COLOR 64 64 64 255
-#define GENLIST_LIST_DIVIDER2_COLOR 64 64 64 255
-#define GENLIST_MULTILINE_DIVIDER1_COLOR 65 66 73 255
-#define GENLIST_MULTILINE_DIVIDER2_COLOR 65 66 73 255
-#define GENLIST_SELECT_ALL_BG_COLOR 34 44 71 255
-#define GENLIST_SWEEP_BG_COLOR 28 30 40 255
-
-// Group Index
-#define GENLIST_GROUPINDEX_LIST_SIZE 32
-#define GENLIST_GROUPINDEX_LIST_COLOR 66 87 144 255
-#define GENLIST_GROUPINDEX_LIST_FOCUS_COLOR 250 250 250 255
-#define GENLIST_GROUPINDEX_LIST_COLOR_STYLE "#425790FF"
-#define GENLIST_GROUPINDEX_LIST_FOCUS_COLOR_STYLE "#FAFAFAFF"
-
-#define GENLIST_GROUPINDEX_LIST_BG_COLOR 0 0 0 255
-#define GENLIST_GROUPINDEX_LIST_PRESS_COLOR 33 49 99 255
-#define GENLIST_GROUPINDEX_LINE_COLOR 66 87 144 255
-#define GENLIST_GROUPINDEX_LINE_FOCUS_COLOR 250 250 250 255
-
-// Genlist Text
-#define GENLIST_LIST_MAIN_TEXT_SIZE 44
-#define GENLIST_LIST_MAIN_TEXT_UNREAD_COLOR 250 250 250 255
-#define GENLIST_LIST_MAIN_TEXT_UNREAD_COLOR_STYLE "#FAFAFAFF"
-#define GENLIST_LIST_MAIN_TEXT_UNREAD_DIM_COLOR 150 150 150 255
-#define GENLIST_LIST_MAIN_TEXT_UNREAD_DIM_COLOR_STYLE "#969696FF"
-#define GENLIST_LIST_MAIN_TEXT_READ_COLOR 110 111 118 255
-#define GENLIST_LIST_MAIN_TEXT_READ_DIM_COLOR 67 67 67 255
-#define GENLIST_LIST_TEXT_FOCUS_COLOR 250 250 250 255
-#define GENLIST_LIST_TEXT_FOCUS_COLOR_STYLE "#FAFAFAFF"
-
-#define GENLIST_LIST_SUB_TEXT_SIZE 32
-#define GENLIST_LIST_SUB_TEXT_DEFAULT_COLOR 110 111 118 255
-#define GENLIST_LIST_SUB_TEXT_DEFAULT_COLOR_STYLE "#6E6F76FF"
-#define GENLIST_LIST_SUB_TEXT_DEFAULT_DIM_COLOR 67 67 67 255
-#define GENLIST_LIST_SUB_TEXT_DEFAULT_DIM_COLOR_STYLE "#434343FF"
-#define GENLIST_LIST_SUB_TEXT_SETTINGS_COLOR 104 144 255 255
-#define GENLIST_LIST_SUB_TEXT_SETTINGS_COLOR_STYLE "#6890FFFF"
-#define GENLIST_LIST_SUB_TEXT_SETTINGS_DIM_COLOR 62 86 153 255
-#define GENLIST_LIST_SUB_TEXT_SETTINGS_DIM_COLOR_STYLE "#3E5699FF"
-
-#define GENLIST_LIST_SUB_TEXT_02_SIZE 24
-#define GENLIST_LIST_SUB_TEXT_02_COLOR 209 0 0 255
-
-#define GENLIST_CONTENTS_TEXT_SIZE 28
-#define GENLIST_CONTENTS_TEXT_COLOR 128 128 128 255
-#define GENLIST_CONTENTS_TEXT_COLOR_STYLE "#808080FF"
-
-#define GENLIST_LIST_BUBBLE_TEXT_SIZE 32
-#define GENLIST_LIST_BUBBLE_TEXT_COLOR 249 249 249 255
-#define GENLIST_LIST_BUBBLE_TEXT_FOCUS_COLOR 33 49 99 255
-#define GENLIST_LIST_BUBBLE_COLOR 33 49 99 255
-#define GENLIST_LIST_BUBBLE_PRESS_COLOR 250 250 250 255
-
-#define GENLIST_PROGRESS_MAIN_TEXT_SIZE 32
-
-// Dialogue group
-#define GENLIST_DIALOGUE_GROUP_TITLE_SIZE 32
-#define GENLIST_DIALOGUE_GROUP_TITLE_COLOR 93 131 255 255
-#define GENLIST_DIALOGUE_GROUP_DIVIDER1_COLOR 82 82 82 255
-#define GENLIST_DIALOGUE_GROUP_DIVIDER2_COLOR 82 82 82 255
-
-#define GENLIST_APPS_NAME_SIZE 30
-#define GENLIST_APPS_NAME_COLOR 110 111 118 255
-#define GENLIST_APPS_INC_SIZE 30
-#define GENLIST_APPS_INC_COLOR 249 249 249 255
-#define GENLIST_APPS_RATING_SIZE 24
-#define GENLIST_APPS_RATING_COLOR 110 111 118 255
-#define GENLIST_APPS_PRICE_SIZE 24
-#define GENLIST_APPS_PRICE_ORIGINAL_COLOR 93 131 255 255
-#define GENLIST_APPS_PRICE_SALE_COLOR 209 0 0 255
-#define GENLIST_APPS_PRICE_FREE_COLOR 93 131 255 255
-
-#define DIALOGUE_PASSWORD_TITLE_SIZE 32
-#define DIALOGUE_PASSWORD_TITLE_COLOR 249 249 249 255
-
-#define GENLIST_DIALOGUE_GROUP_HELP_TEXT_SIZE 32
-#define GENLIST_DIALOGUE_GROUP_HELP_TEXT_COLOR_STYLE "#6E6F76FF"
-#define GENLIST_PART_MATCH_TAG_COLOR "+ color=#1382FF"
-
-#define GENLIST_EXPANDABLE_ARROW_NORMAL_COLOR 250 250 250 255
-#define GENLIST_EXPANDABLE_ARROW_DIM_COLOR 157 158 161 255
-#define GENLIST_EXPANDABLE_ARROW_PRESS_COLOR 250 250 250 255
-
-#define GENLIST_EXPANDABLE_ARROW_SHADOW_NORMAL_COLOR 0 0 0 0
-#define GENLIST_EXPANDABLE_ARROW_SHADOW_DIM_COLOR 0 0 0 0
-#define GENLIST_EXPANDABLE_ARROW_SHADOW_PRESS_COLOR 0 0 0 0
-
-#define GENLIST_EMAIL_TEXT_FOCUS_COLOR 250 250 250 255
-#define GENLIST_EMAIL_TEXT_FOCUS_COLOR_STYLE "#FAFAFAFF"
-
-#define GENLIST_EMAIL_MAIN_TEXT_UNREAD_COLOR_STYLE "#FAFAFAFF"
-#define GENLIST_EMAIL_MAIN_TEXT_UNREAD_DIM_COLOR_STYLE "#969696FF"
-#define GENLIST_EMAIL_MAIN_TEXT_READ_COLOR_STYLE "#6E6F76FF"
-#define GENLIST_EMAIL_MAIN_TEXT_READ_DIM_COLOR_STYLE "#4D4E5399"
-
-#define GENLIST_EMAIL_SUB_TEXT_UNREAD_COLOR_STYLE "#6E6F76FF"
-#define GENLIST_EMAIL_SUB_TEXT_READ_COLOR_STYLE "#6E6F76FF"
-
-#define GENLIST_EMAIL_COUNT_TEXT_UNREAD_COLOR 104 144 255 255
-#define GENLIST_EMAIL_COUNT_TEXT_UNREAD_COLOR_STYLE "#6890FFFF"
-#define GENLIST_EMAIL_COUNT_TEXT_READ_COLOR 110 111 118 255
-#define GENLIST_EMAIL_COUNT_TEXT_READ_COLOR_STYLE "#6E6F76FF"
-
-#define GENLIST_EMAIL_CONTENTS_TEXT_COLOR_STYLE "#6E6F76FF"
-
-#define GENLIST_EMAIL_MATCH_TAG_COLOR "+ color=#1382FF"
-
-#define GENLIST_EMAIL_READ_BG_COLOR 1 1 1 255
-#define GENLIST_EMAIL_UNREAD_BG_COLOR 0 0 0 255
-
-#define BUTTON_TEXT_SHADOW_TEXTBLOCK_NORMAL_COLOR_INC "#000000FF"
-#define BUTTON_TEXT_SHADOW_TEXTBLOCK_PRESSED_COLOR_INC "#000000FF"
-#define BUTTON_TEXT_SHADOW_TEXTBLOCK_DIM_COLOR_INC "#151619FF"
-
-#define BUTTON_TEXT_SHADOW_TEXTBLOCK_DELETE_NORMAL_COLOR_INC "#000000FF"
-#define BUTTON_TEXT_SHADOW_TEXTBLOCK_DELETE_PRESSED_COLOR_INC "#000000FF"
-#define BUTTON_TEXT_SHADOW_TEXTBLOCK_DELETE_DIM_COLOR_INC "#6D0000FF"
-
-#define BUTTON_NUMBER_TEXTBLOCK_NORMAL_COLOR_INC "#FAFAFAFF"
-#define BUTTON_NUMBER_TEXTBLOCK_PRESSED_COLOR_INC "#FAFAFAFF"
-#define BUTTON_NUMBER_TEXTBLOCK_FOCUSED_COLOR_INC "#FAFAFAFF"
-#define BUTTON_NUMBER_TEXTBLOCK_DISABLE_VISIBLE_COLOR_INC "#B2B2B5FF"
-
-#define BUTTON_NUMBER_SHADOW_TEXTBLOCK_NORMAL_COLOR_INC "#000000FF"
-#define BUTTON_NUMBER_SHADOW_TEXTBLOCK_PRESSED_COLOR_INC "#000000FF"
-#define BUTTON_NUMBER_SHADOW_TEXTBLOCK_DIM_COLOR_INC "#242529FF"
-
-#define BUTTON_NUMBER_ICON_NORMAL_COLOR_INC 250 250 250 255
-#define BUTTON_NUMBER_ICON_PRESSED_COLOR_INC 250 250 250 255
-#define BUTTON_NUMBER_ICON_DISABLED_COLOR_INC 166 167 169 255
-
-#define BUTTON_SEARCH_BUTTON_TEXTBLOCK_NORMAL_COLOR_INC "#FAFAFAFF"
-#define BUTTON_SEARCH_BUTTON_TEXTBLOCK_PRESSED_COLOR_INC "#FAFAFAFF"
-#define BUTTON_SEARCH_BUTTON_TEXTBLOCK_FOCUSED_COLOR_INC "#FAFAFAFF"
-#define BUTTON_SEARCH_BUTTON_TEXTBLOCK_DISABLED_COLOR_INC "#B2B2B5FF"
-
-#define BUTTON_SEARCH_BUTTON_TEXTBLOCK_SHADOW_NORMAL_COLOR_INC "#000000FF"
-#define BUTTON_SEARCH_BUTTON_TEXTBLOCK_SHADOW_PRESSED_COLOR_INC "#000000FF"
-#define BUTTON_SEARCH_BUTTON_TEXTBLOCK_SHADOW_DIM_COLOR_INC "#242529FF"
-
-#define BUTTON_SEARCH_BUTTON_SEND_TEXTBLOCK_NORMAL_COLOR_INC "#FAFAFAFF"
-#define BUTTON_SEARCH_BUTTON_SEND_TEXTBLOCK_PRESSED_COLOR_INC "#FAFAFAFF"
-#define BUTTON_SEARCH_BUTTON_SEND_TEXTBLOCK_FOCUSED_COLOR_INC "#FAFAFAFF"
-#define BUTTON_SEARCH_BUTTON_SEND_TEXTBLOCK_DISABLED_COLOR_INC "#96B882FF"
-
-#define BUTTON_SEARCH_BUTTON_SEND_TEXTBLOCK_SHADOW_NORMAL_COLOR_INC "#000000FF"
-#define BUTTON_SEARCH_BUTTON_SEND_TEXTBLOCK_SHADOW_PRESSED_COLOR_INC "#000000FF"
-#define BUTTON_SEARCH_BUTTON_SEND_TEXTBLOCK_SHADOW_DIM_COLOR_INC "#002E6CFF"
-
-#define BUTTON_SEARCH_BUTTON_CANCEL_TEXTBLOCK_NORMAL_COLOR_INC "#FAFAFAFF"
-#define BUTTON_SEARCH_BUTTON_CANCEL_TEXTBLOCK_PRESSED_COLOR_INC "#FAFAFAFF"
-#define BUTTON_SEARCH_BUTTON_CANCEL_TEXTBLOCK_FOCUSED_COLOR_INC "#FAFAFAFF"
-#define BUTTON_SEARCH_BUTTON_CANCEL_TEXTBLOCK_DISABLED_COLOR_INC "#E89696FF"
-
-#define BUTTON_SEARCH_BUTTON_CANCEL_TEXTBLOCK_SHADOW_NORMAL_COLOR_INC "#000000FF"
-#define BUTTON_SEARCH_BUTTON_CANCEL_TEXTBLOCK_SHADOW_PRESSED_COLOR_INC "#000000FF"
-#define BUTTON_SEARCH_BUTTON_CANCEL_TEXTBLOCK_SHADOW_DIM_COLOR_INC "#6D0000FF"
-
-#define BUTTON_TEXT_STYLE1_TEXTBLOCK_NORMAL_COLOR_INC "#FAFAFAFF"
-#define BUTTON_TEXT_STYLE1_TEXTBLOCK_PRESSED_COLOR_INC "#FAFAFAFF"
-#define BUTTON_TEXT_STYLE1_TEXTBLOCK_FOCUSED_COLOR_INC "#FAFAFAFF"
-#define BUTTON_TEXT_STYLE1_TEXTBLOCK_DISABLED_COLOR_INC "#A6A7A9FF"
-
-#define BUTTON_TEXT_STYLE1_DELETE_TEXTBLOCK_NORMAL_COLOR_INC "#FAFAFAFF"
-#define BUTTON_TEXT_STYLE1_DELETE_TEXTBLOCK_PRESSED_COLOR_INC "#FAFAFAFF"
-#define BUTTON_TEXT_STYLE1_DELETE_TEXTBLOCK_FOCUSED_COLOR_INC "#FAFAFAFF"
-#define BUTTON_TEXT_STYLE1_DELETE_TEXTBLOCK_DISABLED_COLOR_INC "#E89696FF"
-
-#define BUTTON_SWEEP_BUTTON_SHADOW_TEXTBLOCK_NORMAL_COLOR_INC "#000000FF"
-#define BUTTON_SWEEP_BUTTON_SHADOW_TEXTBLOCK_PRESSED_COLOR_INC "#000000FF"
-#define BUTTON_SWEEP_BUTTON_SHADOW_TEXTBLOCK_DIM_COLOR_INC "#151619FF"
-
-#define BUTTON_SWEEP_BUTTON_DELETE_SHADOW_TEXTBLOCK_NORMAL_COLOR_INC "#000000FF"
-#define BUTTON_SWEEP_BUTTON_DELETE_SHADOW_TEXTBLOCK_PRESSED_COLOR_INC "#000000FF"
-#define BUTTON_SWEEP_BUTTON_DELETE_SHADOW_TEXTBLOCK_DIM_COLOR_INC "#6D0000FF"
-
-#define BUTTON_POPUP_BUTTON_TEXTBLOCK_NORMAL_COLOR_INC "#000000FF"
-#define BUTTON_POPUP_BUTTON_TEXTBLOCK_PRESSED_COLOR_INC "#FAFAFAFF"
-#define BUTTON_POPUP_BUTTON_TEXTBLOCK_FOCUSED_COLOR_INC "#FAFAFAFF"
-#define BUTTON_POPUP_BUTTON_TEXTBLOCK_DISABLED_COLOR_INC "#6F6F70FF"
-
-#define BUTTON_POPUP_BUTTON_SHADOW_TEXTBLOCK_NORMAL_COLOR_INC "#FAFAFAFF"
-#define BUTTON_POPUP_BUTTON_SHADOW_TEXTBLOCK_PRESSED_COLOR_INC "#000000FF"
-#define BUTTON_POPUP_BUTTON_SHADOW_TEXTBLOCK_DIM_COLOR_INC "#E8E8E9FF"
-
-#define BUTTON_DEFAULT_STYLE_BUTTON_TEXTBLOCK_NORMAL_COLOR_INC "#FAFAFAFF"
-#define BUTTON_DEFAULT_STYLE_BUTTON_TEXTBLOCK_PRESSED_COLOR_INC "#FAFAFAFF"
-#define BUTTON_DEFAULT_STYLE_BUTTON_TEXTBLOCK_FOCUSED_COLOR_INC "#FAFAFAFF"
-#define BUTTON_DEFAULT_STYLE_BUTTON_TEXTBLOCK_DISABLED_COLOR_INC "#FAFAFA99"
-
-#define BUTTON_CONTACT_BUTTON_TEXTBLOCK_NORMAL_COLOR_INC "#FAFAFAFF"
-#define BUTTON_CONTACT_BUTTON_TEXTBLOCK_PRESSED_COLOR_INC "#FAFAFAFF"
-#define BUTTON_CONTACT_BUTTON_TEXTBLOCK_FOCUSED_COLOR_INC "#FAFAFAFF"
-#define BUTTON_CONTACT_BUTTON_TEXTBLOCK_DISABLED_COLOR_INC "#7A7C81FF"
-
-#define BUTTON_NAVIFRAME_TITLE_ICON_CLIPPER_DEFAULT_COLOR_INC 250 250 250 255
-#define BUTTON_NAVIFRAME_TITLE_ICON_CLIPPER_PRESSED_COLOR_INC 250 250 250 255
-#define BUTTON_NAVIFRAME_TITLE_ICON_CLIPPER_DISABLED_COLOR_INC 129 138 161 255
-
-#define BUTTON_NAVIFRAME_TITLE_ICON_CLIPPER_DEFAULT_SHADOW_COLOR_INC 0 0 0 255
-#define BUTTON_NAVIFRAME_TITLE_ICON_CLIPPER_PRESSED_SHADOW_COLOR_INC 0 0 0 255
-#define BUTTON_NAVIFRAME_TITLE_ICON_CLIPPER_DISABLED_SHADOW_COLOR_INC 34 44 72 255
-
-#define BUTTON_CIRCLE_STYLE_NORMAL_COLOR_INC 250 250 250 255
-#define BUTTON_CIRCLE_STYLE_PRESSED_COLOR_INC 250 250 250 255
-#define BUTTON_CIRCLE_STYLE_DISABLED_COLOR_INC 166 167 169 255
-
-#define BUTTON_CIRCLE_STYLE_CLIPPER_DEFAULT_COLOR_INC 0 0 0 255
-#define BUTTON_CIRCLE_STYLE_ICON_CLIPPER_PRESSED_COLOR_INC 0 0 0 255
-#define BUTTON_CIRCLE_STYLE_ICON_CLIPPER_DISABLED_COLOR_INC 21 22 25 255
-
-#define BUTTON_CIRCLE_STYLE_NORMAL_TOP_OFFSET_INC 0 2
-#define BUTTON_CIRCLE_STYLE_NORMAL_BOTTOM_OFFSET_INC -1 1
-#define BUTTON_CIRCLE_STYLE_PRESSED_TOP_OFFSET_INC 0 -2
-#define BUTTON_CIRCLE_STYLE_PRESSED_BOTTOM_OFFSET_INC -1 -3
-
-#define BUTTON_WARNING_STYLE_NORMAL_COLOR_INC 250 250 250 255
-#define BUTTON_WARNING_STYLE_PRESSED_COLOR_INC 250 250 250 255
-#define BUTTON_WARNING_STYLE_DISABLED_COLOR_INC 166 167 169 255
-
-#define BUTTON_WARNING_STYLE_CLIPPER_NORMAL_COLOR_INC 0 0 0 0
-#define BUTTON_WARNING_STYLE_CLIPPER_PRESSED_COLOR_INC 0 0 0 0
-#define BUTTON_WARNING_STYLE_CLIPPER_DISABLED_COLOR_INC 0 0 0 0
-
-#define BUTTON_WARNING_STYLE_NORMAL_TOP_OFFSET_INC 0 1
-#define BUTTON_WARNING_STYLE_NORMAL_BOTTOM_OFFSET_INC -1 -1
-#define BUTTON_WARNING_STYLE_PRESSED_TOP_OFFSET_INC 0 0
-#define BUTTON_WARNING_STYLE_PRESSED_BOTTOM_OFFSET_INC -1 -1
-
-#define BUTTON_EDIT_STYLE_NORMAL_COLOR_INC 250 250 250 255
-#define BUTTON_EDIT_STYLE_PRESSED_COLOR_INC 250 250 250 255
-#define BUTTON_EDIT_STYLE_DISABLED_COLOR_INC 166 167 169 255
-
-#define BUTTON_EDIT_STYLE_CLIPPER_DEFAULT_COLOR_INC 0 0 0 255
-#define BUTTON_EDIT_STYLE_ICON_CLIPPER_PRESSED_COLOR_INC 0 0 0 255
-#define BUTTON_EDIT_STYLE_ICON_CLIPPER_DISABLED_COLOR_INC 21 22 25 255
-
-#define BUTTON_EDIT_STYLE_NORMAL_TOP_OFFSET_INC 0 2
-#define BUTTON_EDIT_STYLE_NORMAL_BOTTOM_OFFSET_INC -1 1
-#define BUTTON_EDIT_STYLE_PRESSED_TOP_OFFSET_INC 0 -2
-#define BUTTON_EDIT_STYLE_PRESSED_BOTTOM_OFFSET_INC -1 -3
-
-#define BUTTON_CIRCLE_STYLE_MINUS_SHADOW_NORMAL_COLOR_INC 0 0 0 0
-#define BUTTON_CIRCLE_STYLE_MINUS_SHADOW_PRESSED_COLOR_INC 0 0 0 0
-#define BUTTON_CIRCLE_STYLE_MINUS_SHADOW_DISABLED_COLOR_INC 0 0 0 0
-
-#define BUTTON_CIRCLE_STYLE_MINUS_NORMAL_TOP_OFFSET_INC 0 0
-#define BUTTON_CIRCLE_STYLE_MINUS_NORMAL_BOTTOM_OFFSET_INC -1 -1
-#define BUTTON_CIRCLE_STYLE_MINUS_PRESSED_TOP_OFFSET_INC 0 0
-#define BUTTON_CIRCLE_STYLE_MINUS_PRESSED_BOTTOM_OFFSET_INC -1 -1
-
-#define BUTTON_CIRCLE_STYLE_MINUS_NORMAL_COLOR_INC 250 250 250 255
-#define BUTTON_CIRCLE_STYLE_MINUS_PRESSED_COLOR_INC 250 250 250 255
-#define BUTTON_CIRCLE_STYLE_MINUS_DISABLED_COLOR_INC 166 167 169 255
-
-#define BUTTON_COLORSELECTOR_NORMAL_COLOR_INC 250 250 250 255
-#define BUTTON_COLORSELECTOR_PRESSED_COLOR_INC 250 250 250 255
-#define BUTTON_COLORSELECTOR_DISABLED_COLOR_INC 166 167 169 255
-
-#define BUTTON_COLORSELECTOR_SHADOW_NORMAL_COLOR_INC 0 0 0 255
-#define BUTTON_COLORSELECTOR_SHADOW_PRESSED_COLOR_INC 0 0 0 255
-#define BUTTON_COLORSELECTOR_SHADOW_DISABLED_COLOR_INC 21 22 25 255
-
-#define BUTTON_COLORSELECTOR_NORMAL_TOP_OFFSET_INC 0 2
-#define BUTTON_COLORSELECTOR_NORMAL_BOTTOM_OFFSET_INC -1 1
-#define BUTTON_COLORSELECTOR_PRESSED_TOP_OFFSET_INC 0 -2
-#define BUTTON_COLORSELECTOR_PRESSED_BOTTOM_OFFSET_INC -1 -3
-
-#define BUTTON_DATETIME_AMPM_BG_MIN_INC 95 60
-#define BUTTON_DATETIME_AMPM_TEXT_FONT_SIZE_INC 34
-
-#define BUTTON_SEARCH_BUTTON_BG_BORDER_INC 13 13 13 13
-#define BUTTON_SEARCH_BUTTON_BG_MIN_INC 100 66
-#define BUTTON_SEARCH_BUTTON_VISIBLE_BG_MIN_INC 148 66
-#define BUTTON_SEARCH_BUTTON_ICONONLY_BG_MIN_INC 66 66
-#define BUTTON_SEARCH_BUTTON_TEXT_FONT_SIZE_INC 30
-
-#define BUTTON_STYLE1_NORMAL_TOP_OFFSET_INC 0 2
-#define BUTTON_STYLE1_NORMAL_BOTTOM_OFFSET_INC -1 1
-#define BUTTON_STYLE1_PRESSED_TOP_OFFSET_INC 0 -2
-#define BUTTON_STYLE1_PRESSED_BOTTOM_OFFSET_INC -1 -3
-
-#define BUTTON_STYLE1_SHADOW_NORMAL_COLOR_INC 0 0 0 255
-#define BUTTON_STYLE1_SHADOW_PRESSED_COLOR_INC 0 0 0 255
-#define BUTTON_STYLE1_SHADOW_DISABLED_COLOR_INC 21 22 25 255
-
-#define BUTTON_STYLE1_ICON_NORMAL_COLOR_INC 250 250 250 255
-#define BUTTON_STYLE1_ICON_PRESSED_COLOR_INC 250 250 250 255
-#define BUTTON_STYLE1_ICON_DISABLED_COLOR_INC 166 167 169 255
-
-#define BUTTON_TEXT_STYLE1_BG_MIN_INC 100 74
-#define BUTTON_TEXT_STYLE1_VISIBLE_BG_MIN_INC 148 74
-#define BUTTON_TEXT_STYLE1_ICONONLY_BG_MIN_INC 74 74
-#define BUTTON_TEXT_STYLE1_BG_BORDER_INC 13 13 15 15
-#define BUTTON_TEXT_STYLE1_PADDING_MIN_INC 12 0
-#define BUTTON_TEXT_STYLE1_VISIBLE_ICON_RECT_MIN_MAX_INC 45 45
-#define BUTTON_TEXT_STYLE1_VISIBLE_PADDING_ICON_TEXT_MIN_INC 4 0
-#define BUTTON_TEXT_STYLE1_VISIBLE_ICON_MIN_MAX_INC 45 45
-#define BUTTON_TEXT_STYLE1_ICONONLY_ICON_MIN_MAX_INC 45 45
-#define BUTTON_TEXT_STYLE1_FONT_SIZE_INC 36
-
-#define BUTTON_CIRCLE_STYLE_BG_MIN_MAX_INC 72 72
-#define BUTTON_CIRCLE_STYLE_IMAGE_MIN_MAX_INC 45 45
-#define BUTTON_CIRCLE_STYLE_CONTENT_MIN_MAX_INC 45 45
-#define BUTTON_CIRCLE_STYLE_LEFT_PADDING_MIN_MAX_INC 13 13
-#define BUTTON_CIRCLE_STYLE_RIGHT_PADDING_MIN_MAX_INC 14 14
-
-#define BUTTON_CIRCLE_NORMAL_MIN_WIDTH_INC 72
-#define BUTTON_CIRCLE_NORMAL_MIN_HEIGHT_INC 72
-#define BUTTON_CIRCLE_EXTENEDED_MIN_WIDTH_INC 110
-#define BUTTON_CIRCLE_EXTENEDED_MIN_HEIGHT_INC 110
-
-#define BUTTON_POPUP_NORMAL_TOP_OFFSET_INC 0 2
-#define BUTTON_POPUP_NORMAL_BOTTOM_OFFSET_INC -1 1
-#define BUTTON_POPUP_PRESSED_TOP_OFFSET_INC 0 -2
-#define BUTTON_POPUP_PRESSED_BOTTOM_OFFSET_INC -1 -3
-
-#define BUTTON_POPUP_SHADOW_NORMAL_COLOR_INC 250 250 250 255
-#define BUTTON_POPUP_SHADOW_PRESSED_COLOR_INC 0 0 0 255
-#define BUTTON_POPUP_SHADOW_DISABLED_COLOR_INC 231 232 232 255
-
-#define BUTTON_POPUP_ICON_NORMAL_COLOR_INC 0 0 0 255
-#define BUTTON_POPUP_ICON_PRESSED_COLOR_INC 250 250 250 255
-#define BUTTON_POPUP_ICON_DISABLED_COLOR_INC 81 82 82 255
-
-#define BUTTON_POPUP_BG_NORMAL_MIN_INC 30 76
-#define BUTTON_POPUP_BG_BORDER_INC 13 13 9 9
-#define BUTTON_POPUP_PADDING_MIN_INC 12 3
-#define BUTTON_POPUP_PADDING_ICON_TEXT_VISIBLE_MIN_INC 8 0
-#define BUTTON_POPUP_ICON_ICONONLY_MIN_INC 45 45
-#define BUTTON_POPUP_TEXT_FONT_SIZE_INC 36
-
-#define BUTTON_EDIT_STYLE_BG_NORMAL_MIN_MAX_INC 72 72
-#define BUTTON_EDIT_STYLE_IMAGE_NORMAL_MIN_MAX_INC 45 45
-
-#define BUTTON_EDIT_NORMAL_MIN_WIDTH_INC 72
-#define BUTTON_EDIT_NORMAL_MIN_HEIGHT_INC 72
-#define BUTTON_EDIT_EXTENDED_MIN_WIDTH_INC 90
-#define BUTTON_EDIT_EXTENDED_MIN_HEIGHT_INC 90
-
-#define BUTTON_EXPAND_BUTTON_TEXT_SIZE_INC 30
-
-#define BUTTON_EXPANDABLE_NORMAL_TOP_OFFSET_INC 0 2
-#define BUTTON_EXPANDABLE_NORMAL_BOTTOM_OFFSET_INC -1 1
-#define BUTTON_EXPANDABLE_PRESSED_TOP_OFFSET_INC 0 -2
-#define BUTTON_EXPANDABLE_PRESSED_BOTTOM_OFFSET_INC -1 -3
-
-#define BUTTON_EXPANDABLE_SHADOW_NORMAL_COLOR_INC 0 0 0 255
-#define BUTTON_EXPANDABLE_SHADOW_PRESSED_COLOR_INC 0 0 0 255
-#define BUTTON_EXPANDABLE_SHADOW_DISABLED_COLOR_INC 21 22 25 255
-
-#define BUTTON_EXPANDABLE_NUMBER_BG_NORMAL_MIN_MAX_INC 92 45
-#define BUTTON_EXPANDABLE_NUMBER_BG_BORDER_INC 13 13 15 15
-#define BUTTON_EXPANDABLE_NUMBER_PADDING_MIN_INC 12 1
-#define BUTTON_EXPANDABLE_NUMBER_ICON_RECT_EXPAND_MIN_MAX_INC 18 45
-#define BUTTON_EXPANDABLE_NUMBER_TEXT_MIN_MAX_INC 50 45
-#define BUTTON_EXPANDABLE_NUMBER_FONT_SIZE_INC 28
-
-#define BUTTON_CONTACT_BG_MIN_INC 18 66
-#define BUTTON_CONTACT_BG_BORDER_INC 8 8 8 8
-#define BUTTON_CONTACT_LEFT_PADDING_MIN_INC 12 0
-#define BUTTON_CONTACT_RIGHT_PADDING_MIN_INC 12 0
-#define BUTTON_CONTACT_FONT_SIZE_INC 32
-
-#define BUTTON_NAVIFRAME_BACK_BUTTON_BG_MIN_MAX_INC 85 98
-#define BUTTON_NAVIFRAME_LANDSCAPE_BACK_BUTTON_BG_MIN_MAX_INC 85 85
-#define BUTTON_NAVIFRAME_BACK_BUTTON_MIN_MAX_INC 63 63
-
-#define BUTTON_NAVIFRAME_DEFAULT_TEXT_COLOR_INC 250 250 250 255
-#define BUTTON_NAVIFRAME_FOCUSED_TEXT_COLOR_INC 250 250 250 255
-
-#define BUTTON_NAVIFRAME_TITLE_ICON_BG_MIN_MAX_INC 115 96
-#define BUTTON_NAVIFRAME_LANDSCAPE_TITLE_ICON_BG_MIN_MAX_INC 115 91
-#define BUTTON_NAVIFRAME_TITLE_ICON_IMAGE_MIN_MAX_INC 63 63
-
-#define BUTTON_NAVIFRAME_TITLE_TEXT_BG_MIN_INC 0 96
-#define BUTTON_NAVIFRAME_TITLE_TEXT_BG_MAX_INC 183 96
-#define BUTTON_NAVIFRAME_LANDSCAPE_TITLE_TEXT_BG_MIN_INC 0 91
-#define BUTTON_NAVIFRAME_LANDSCAPE_TITLE_TEXT_BG_MAX_INC 183 91
-#define BUTTON_NAVIFRAME_TITLE_TEXT_LEFT_PADDING_INC 16
-#define BUTTON_NAVIFRAME_TITLE_TEXT_TEXTBLOCK_MIN_INC 0 96
-#define BUTTON_NAVIFRAME_TITLE_TEXT_TEXTBLOCK_MAX_INC 151 96
-#define BUTTON_NAVIFRAME_LANDSCAPE_TITLE_TEXT_TEXTBLOCK_MIN_INC 0 91
-#define BUTTON_NAVIFRAME_LANDSCAPE_TITLE_TEXT_TEXTBLOCK_MAX_INC 151 91
-#define BUTTON_NAVIFRAME_TITLE_TEXT_BG_PRESSED_BORDER_INC 8 8 8 8
-#define BUTTON_NAVIFRAME_TITLE_TEXT_FONT_SIZE_INC 32
-#define BUTTON_NAVIFRAME_TITLE_TEXT_MIN_FONT_SIZE_INC 32
-#define BUTTON_NAVIFRAME_TITLE_TEXT_NORMAL_COLOR_INC "#FAFAFAFF"
-#define BUTTON_NAVIFRAME_TITLE_TEXT_SHADOW_NORMAL_COLOR_INC "#000000FF"
-#define BUTTON_NAVIFRAME_TITLE_TEXT_DISABLED_COLOR_INC "#818AA1FF"
-#define BUTTON_NAVIFRAME_TITLE_TEXT_SHADOW_DISABLED_COLOR_INC "#222C48FF"
-#define BUTTON_NAVIFRAME_TITLE_TEXT_PRESSED_COLOR_INC "#FAFAFAFF"
-#define BUTTON_NAVIFRAME_TITLE_TEXT_SHADOW_PRESSED_COLOR_INC "#000000FF"
-
-#define BUTTON_NAVIFRAME_MORE_BG_MIN_MAX_INC 85 98
-#define BUTTON_NAVIFRAME_LANDSCAPE_MORE_BG_MIN_MAX_INC 85 85
-#define BUTTON_NAVIFRAME_MORE_DEFAULT_IMAGE_MIN_MAX_INC 63 63
-#define BUTTON_NAVIFRAME_MORE_BOTTOM_PADDING_INC 0 17
-
-#define BUTTON_COLORSELECTOR_BG_DEFAULT_MIN_INC 74 74
-#define BUTTON_COLORSELECTOR_BG_BORDER_INC 13 13 15 15
-#define BUTTON_COLORSELECTOR_IMAGE_MIN_MAX_INC 45 45
-
-#define BUTTON_DEFAULT_STYLE_BG_MIN_INC 100 74
-#define BUTTON_DEFAULT_STYLE_BG_BORDER_INC 13 13 15 15
-#define BUTTON_DEFAULT_STYLE_PADDING_MIN_INC 12 5
-#define BUTTON_DEFAULT_STYLE_PADDING_ICON_TEXT_VISIBLE_MIN_INC 8 0
-#define BUTTON_DEFAULT_STYLE_ICONONLY_ICON_MIN_INC 45 45
-#define BUTTON_DEFAULT_STYLE_TEXT_MIN_INC 144 36
-#define BUTTON_DEFAULT_STYLE_FONT_SIZE_INC 36
-
-#define BUTTON_EDITFIELD_CLEAR_BUTTON_MIN_MAX_INC 60 60
-#define BUTTON_EDITFIELD_CLEAR_BUTTON_IMAGE_MIN_MAX_INC 54 54
-#define BUTTON_EDITFIELD_CLEAR_BUTTON_CLIPPER_DEFAULT_COLOR_INC 72 93 147 255
-#define BUTTON_EDITFIELD_CLEAR_BUTTON_CLIPPER_PRESSED_COLOR_INC 250 250 250 255
-#define BUTTON_EDITFIELD_CLEAR_BUTTON_CLIPPER_DISABLED_COLOR_INC 56 70 108 255
-
-#define BUTTON_SEARCH_CLEAR_BUTTON_MIN_MAX_INC 60 60
-#define BUTTON_SEARCH_CLEAR_BUTTON_IMAGE_MIN_MAX_INC 45 45
-#define BUTTON_SEARCH_CLEAR_BUTTON_CLIPPER_DEFAULT_COLOR_INC 93 97 118 255
-#define BUTTON_SEARCH_CLEAR_BUTTON_CLIPPER_PRESSED_COLOR_INC 250 250 250 255
-#define BUTTON_SEARCH_CLEAR_BUTTON_CLIPPER_DISABLED_COLOR_INC 56 58 71 153
-
-#define BUTTON_JUMP_SHADOW_NORMAL_COLOR_INC 0 0 0 255
-#define BUTTON_JUMP_SHADOW_PRESSED_COLOR_INC 0 0 0 255
-#define BUTTON_JUMP_SHADOW_DISABLED_COLOR_INC 21 22 25 255
-
-#define BUTTON_JUMP_NORMAL_COLOR_INC 250 250 250 255
-#define BUTTON_JUMP_PRESSED_COLOR_INC 250 250 250 255
-#define BUTTON_JUMP_DISABLED_COLOR_INC 166 167 169 255
-
-#define BUTTON_JUMP_STYLE_BG_MIN_INC 74 74
-#define BUTTON_JUMP_TO_NORMAL_TOP_OFFSET_INC 0 2
-#define BUTTON_JUMP_TO_NORMAL_BOTTOM_OFFSET_INC -1 1
-#define BUTTON_JUMP_TO_PRESSED_TOP_OFFSET_INC 0 -2
-#define BUTTON_JUMP_TO_PRESSED_BOTTOM_OFFSET_INC -1 -3
-#define BUTTON_JUMP_TOP_PADDING_TO_SCROLLER_MIN_MAX_INC 26 18
-#define BUTTON_JUMP_LEFT_PADDING_TO_SCROLLER_MIN_MAX_INC 26 18
-
-#define BUTTON_FOCUS_DIALOGUE_LEFT_PADDING_INC 16 0
-#define BUTTON_FOCUS_DIALOGUE_RIGHT_PADDING_INC 16 0
-
-#define CHECK_DEFAULT_TEXT_FONT_SIZE_INC 36
-
-#define CHECK_ONOFF_BG_NORMAL_MIN_MAX_INC 135 63
-#define CHECK_ONOFF_ON_FONT_SIZE_INC 24
-#define CHECK_ONOFF_OFF_FONT_SIZE_INC 24
-#define CHECK_ONOFF_HANDLER_MIN_MAX_INC 81 63
-
-#define CHECK_STYLE_FAVORITE_SMALL_DEFAULT_BG_IMAGE_MIN_WIDTH_INC 45
-#define CHECK_STYLE_FAVORITE_SMALL_DEFAULT_BG_IMAGE_MIN_HEIGHT_INC 45
-
-#define CHECK_STYLE_FAVORITE_DEFAULT_BG_IMAGE_MIN_WIDTH_INC 72
-#define CHECK_STYLE_FAVORITE_DEFAULT_BG_IMAGE_MIN_HEIGHT_INC 72
-#define CHECK_STYLE_FAVORITE_EXTENDED_BG_IMAGE_MIN_WIDTH_INC 100
-#define CHECK_STYLE_FAVORITE_EXTENDED_BG_IMAGE_MIN_HEIGHT_INC 100
-#define CHECK_STYLE_FAVORITE_BG_NORMAL_MIN_MAX_INC 72 72
-
-#define CHECK_STYLE_DEFAULT_DEFAULT_BG_IMAGE_MIN_WIDTH_INC 63
-#define CHECK_STYLE_DEFAULT_DEFAULT_BG_IMAGE_MIN_HEIGHT_INC 63
-#define CHECK_STYLE_DEFAULT_EXTENDED_BG_IMAGE_MIN_WIDTH_INC 75
-#define CHECK_STYLE_DEFAULT_EXTENDED_BG_IMAGE_MIN_HEIGHT_INC 91
-#define CHECK_STYLE_DEFAULT_BG_NORMAL_MIN_MAX_INC 63 63
-
-#define INDEX_BG_NINEPATCH_INC 8 8 8 8
-#define INDEX_ITEM_WIDTH_INC 52
-#define INDEX_ITEM_HEIGHT_INC 33
-#define INDEX_POPUP_BG_NINEPATCH_INC 22 22 22 22
-#define INDEX_POPUP_TEXT_COLOR_INC 250 250 250 255
-#define INDEX_POPUP_TEXT_SIZE_INC 136
-#define INDEX_ROLLOVER_TEXT_SIZE_INC 26
-#define INDEX_ROLLOVER_TEXT_COLOR_INC 160 159 154 255
-#define INDEX_ROLLOVER_ACTIVE_TEXT_COLOR_INC 93 131 255 255
-#define INDEX_DIVIDER_COLOR_INC 64 64 64 255
-#define INDEX_DIVIDER_WIDTH_INC 1
-#define INDEX_SCROLL_BG_LINE_COLOR_INC 64 64 64 255
-#define INDEX_SCROLL_BG_LINE_ACTIVE_COLOR_INC 79 102 197 255
-#define INDEX_SCROLL_BG_LINE_WIDTH_INC 3
-#define INDEX_POPUP_TOP_PADDING_SIZE_INC 10
-#define INDEX_POPUP_BOTTOM_PADDING_SIZE_INC 10
-#define INDEX_POPUP_LEFT_PADDING_SIZE_INC 34
-#define INDEX_POPUP_RIGHT_PADDING_SIZE_INC 34
-#define INDEX_POPUP_TEXT_WIDTH_INC 128
-#define INDEX_POPUP_TEXT_HEIGHT_INC 180
-#define INDEX_PADDING_SIZE_INC 3
-#define INDEX_ITEM_PADDING_SIZE_INC 2
-#define INDEX_SCROLL_BG_COLOR_INC 33 36 40 255
-
-#define INDEX_PAGECONTROL_IND_INC 52 9
-#define INDEX_PAGECONTROL_IND_MIN_INC 10 9
-#define INDEX_PAGECONTROL_FONT_SIZE_INC 28
-#define INDEX_PAGECONTROL_FONT_COLOR_INC 120 120 120
-
-#define RADIO_STYLE_DEFAULT_BG_IMAGE_MIN_WIDTH_INC 63
-#define RADIO_STYLE_DEFAULT_BG_IMAGE_MIN_HEIGHT_INC 63
-#define RADIO_STYLE_DEFAULT_EXTENDED_BG_IMAGE_MIN_WIDTH_INC 76
-#define RADIO_STYLE_DEFAULT_EXTENDED_BG_IMAGE_MIN_WIDTH_INC 76
-#define RADIO_STYLE_DEFAULT_BG_MIN_MAX_INC 63 63
-#define RADIO_STYLE_DEFAULT_FONT_SIZE_INC 36
-
-#define PANES_STYLE_DEFAULT_MOVABLE_SIZE_INC 65
-#define PANES_STYLE_DEFAULT_PADDING_LEFT_SIZE_INC 26
-#define PANES_STYLE_DEFAULT_PADDING_RIGHT_SIZE_INC 26
-#define PANES_STYLE_DEFAULT_MIDDLE_SIZE_INC 26
-#define PANES_STYLE_DEFAULT_FIXED_SIZE_INC 57
-
-#define SEGMENT_CONTROL_DEFAULT_ITEM_TEXT_COLOR_NORMAL_INC 153 153 153 255
-#define SEGMENT_CONTROL_ITEM_TITLE_TEXT_COLOR_PRESSED_INC 59 115 182 255
-#define SEGMENT_CONTROL_ITEM_TITLE_TEXT_COLOR_SELECTED_INC 59 115 182 255
-#define SEGMENT_CONTROL_ITEM_TITLE_TEXT_COLOR_DISABLED_INC 153 153 153 255
-
-#define SEGMENT_CONTROL_MULTILINE_TEXT_SIZE_INC 30
-#define SEGMENT_CONTROL_TEXT_SIZE_RANGE_MIN_INC 12
-#define SEGMENT_CONTROL_TEXT_SIZE_RANGE_MAX_INC 28
-#define SEGMENT_CONTROL_DIVIDER_LINE_MIN_SIZE_INC 4 32
-#define SEGMENT_CONTROL_DIVIDER_LEFT_COLOR_INC 211 209 203 255
-#define SEGMENT_CONTROL_DIVIDER_RIGHT_COLOR_INC 255 255 255 255
-#define SEGMENT_CONTROL_TEXT_PADDING_MIN_SIZE_INC 18 0
-#define SEGMENT_CONTROL_VISIBLE_ICON_RECT_MIN_MAX_INC 40 40
-#define SEGMENT_CONTROL_BADGE_TEXT_LEFT_PADDING_MIN_INC 22 45
-#define SEGMENT_CONTROL_BADGE_TEXT_RIGHT_PADDING_MIN_INC 18 47
-#define SEGMENT_CONTROL_BADGE_TEXT_COLOR_INC 10 100 208 255;
-#define SEGMENT_CONTROL_BADGE_TEXT_FONT_SIZE_INC 26;
-
-#define EDITFIELD_TITLE_SIZE_INC 32
-#define EDITFIELD_TITLE_COLOR_INC 110 111 118 255
-#define EDITFIELD_GUIDE_TEXT_COLOR_INC 121 131 138 255
-#define EDITFIELD_DEFAULT_ERASER_MINW_INC 48
-#define EDITFIELD_DEFAULT_ERASER_MINH_INC 48
-#define EDITFIELD_DEFAULT_ERASER_EVENT_MINW_INC 48
-#define EDITFIELD_DEFAULT_ERASER_EVENT_MINH_INC 70
-#define EDITFIELD_DEFAULT_MINH_INC 112
-#define EDITFIELD_TITLE_MINH_INC 128
-#define EDITFIELD_DEFAULT_TOP1_SINGLE_INC 27
-#define EDITFIELD_DEFAULT_TOP1_MULTI_INC 56
-#define EDITFIELD_DEFAULT_TOP2_INC 8
-#define EDITFIELD_DEFAULT_LEFT1_INC 0
-#define EDITFIELD_DEFAULT_LEFT2_INC 0
-#define EDITFIELD_DEFAULT_RIGHT1_ERASER_SHOW_INC 56
-#define EDITFIELD_DEFAULT_RIGHT2_INC 0
-#define EDITFIELD_DEFAULT_BOTTOM1_SINGLE_INC 25
-#define EDITFIELD_DEFAULT_BOTTOM1_MULTI_INC 8
-#define EDITFIELD_DEFAULT_BOTTOM2_MULTI_INC 12
-#define EDITFIELD_ERASER_DEFAULT_COLOR_INC 79 93 147 255
-#define EDITFIELD_ERASER_PRESSED_COLOR_INC 250 250 250 255
-
-#define BUTTON_TICKERNOTI_NORMAL_COLOR_INC 225 215 215 255
-#define BUTTON_TICKERNOTI_PRESSED_COLOR_INC 255 255 255 255
-#define BUTTON_TICKERNOTI_DISABLED_COLOR_INC 225 215 215 76
-
-#define BUTTON_DISCLIP_NORMAL_COLOR_INC 255 255 255 255
-#define BUTTON_DISCLIP_DISABLED_COLOR_INC 255 255 255 153
-
-#define CHECK_DEFAULT_TEXT_NORMAL_COLOR_INC "#FFFFFFFF"
-#define CHECK_DEFAULT_TEXT_DISABLED_COLOR_INC "#FFFFFF80"
-#define CHECK_DISCLIP_NORMAL_COLOR_INC 255 255 255 255
-#define CHECK_DISCLIP_DISABLED_COLOR_INC 255 255 255 128
-
-#define RADIO_DEFAULT_TEXT_NORMAL_COLOR_INC "#FFFFFFFF"
-#define RADIO_DEFAULT_TEXT_DISABLED_COLOR_INC "#FFFFFF80"
-#define RADIO_DISCLIP_NORMAL_COLOR_INC 255 255 255 255
-#define RADIO_DISCLIP_DISABLED_COLOR_INC 255 255 255 128
-
-#define CONTROLBAR_LARGE_HEIGHT_INC 122
-
-#define MULTIBUTTONENTRY_BG_COLOR_INC 29 38 60 255
-#define MULTIBUTTONENTRY_WIDTH_PAD_INC 26
-#define MULTIBUTTONENTRY_HEIGHT_PAD_INC 16
-#define MULTIBUTTONENTRY_BOX_HORIZONTAL_PAD_INC 8
-#define MULTIBUTTONENTRY_BOX_VERTICAL_PAD_INC 16
-#define MULTIBUTTONENTRY_LABEL_HEIGHT_INC 66 // same as button
-#define MULTIBUTTONENTRY_LABEL_PAD_INC 8
-#define MULTIBUTTONENTRY_LABEL_TEXT_SIZE_INC 36
-#define MULTIBUTTONENTRY_LABEL_TEXT_COLOR_INC "#FAFAFA"
-#define MULTIBUTTONENTRY_LABEL_TEXT_SHADOW_COLOR_INC "#000000"
-#define MULTIBUTTONENTRY_GUIDE_HEIGHT_INC 66 // same as button
-#define MULTIBUTTONENTRY_GUIDE_TEXT_SIZE_INC 36
-#define MULTIBUTTONENTRY_GUIDE_TEXT_COLOR_INC "#485D93" //same as editfield
-#define MULTIBUTTONENTRY_BUTTON_HEIGHT_INC 66
-#define MULTIBUTTONENTRY_BUTTON_PAD_INC 12
-#define MULTIBUTTONENTRY_BUTTON_NINEPATCH_INC 8 8 17 17
-#define MULTIBUTTONENTRY_BUTTON_TEXT_SIZE_INC 32
-#define MULTIBUTTONENTRY_BUTTON_TEXT_COLOR_INC "#FAFAFA"
-#define MULTIBUTTONENTRY_BUTTON_TEXT_DIM_COLOR_INC "#7A7C81"
-#define MULTIBUTTONENTRY_NUMBER_TEXT_SIZE_INC 32
-#define MULTIBUTTONENTRY_NUMBER_TEXT_COLOR_INC 250 250 250 255 // same as multibuttonentry label
-#define MULTIBUTTONENTRY_NUMBER_TEXT_SHADOW_COLOR_INC 0 0 0 255 // same as multibuttonentry label
-#define MULTIBUTTONENTRY_CLOSEDBUTTON_SIZE_INC 64
-
-#define SEARCHBAR_CANCEL_BUTTON_W_INC 136
-#define SEARCHBAR_CANCEL_BUTTON_WITH_DOUBLE_PADDING_W_INC 166
-#define SEARCHBAR_CANCEL_BUTTON_LEFT_PADDING_INC 10
-#define SEARCHBAR_TOP_PADDING_INC 17
-#define SEARCHBAR_BOTTOM_PADDING_INC 16
-#define SEARCHBAR_BASE_HEIGHT_INC 99
-#define SEARCHBAR_HEIGHT_INC 66
-#define SEARCHBAR_WIDTH_INC 120
-#define SEARCHBAR_LEFT_PADDING_INC 16
-#define SEARCHBAR_RIGHT_PADDING_INC 16
-#define SEARCHBAR_H_INC 99
-
-#define SELECTION_INFO_BACKGROUND_COLOR_INC 43 58 175 255
-#define SELECTION_INFO_TEXT_COLOR_INC 250 250 250 255
-#define SELECTION_INFO_MIN_VER_W_INC 720
-#define SELECTION_INFO_MIN_HORZ_W_INC 1280
-#define SELECTION_INFO_VER_PADDING_INC 48
-#define SELECTION_INFO_LEFT_PADDING_INC 16
-#define SELECTION_INFO_TEXT_FONT_SIZE_INC 32
-#define SELECTION_INFO_SHADOW_VER_W_INC 720
-#define SELECTION_INFO_SHADOW_VER_H_INC 9
-#define SELECTION_INFO_SHADOW_HORZ_W_INC 1280
-#define SELECTION_INFO_SHADOW_HORZ_H_INC 9
-#define SELECTION_INFO_MIN_VER_BOTTOM_64_H_INC 150
-#define SELECTION_INFO_MIN_VER_BOTTOM_86_H_INC 186
-
-#define POPUP_ITEM_BG_DEFAULT_MIN_INC 614 112
-#define POPUP_ITEM_LEFT_MIN_PADDING_INC 24 0
-#define POPUP_ITEM_RIGHT_MIN_PADDING_INC 24 0
-#define POPUP_ITEM_ICON_TEXT_PADDING_INC 16 0
-#define POPUP_ITEM_TEXT_DISABLED_COLOR_INC 250 250 250 153
-#define POPUP_ITEM_TEXT_DISABLED_VISIBLE_COLOR_INC 250 250 250 153
-
-#define POPUP_ITEM_BG_LANDCAPE_MIN_INC 794 112
-
-#define POPUP_DEFAULT_TITLE_TEXT_COLOR_INC "#FAFAFA"
-#define POPUP_DEFAULT_TITLE_TEXT_SHADOW_COLOR "#000000"
-#define POPUP_DEFAULT_TITLE_TEXT_SHADOW_STYLE "far_shadow,bottom"
-#define POPUP_DEFAULT_DESCRIPTION_TEXT_COLOR_INC "#FFFFFF"
-#define POPUP_DIM_BG_DEFAULT_COLOR_INC 0 0 0 0
-#define POPUP_DIM_BG_COLOR_INC 0 0 0 128
-#define POPUP_DIM_BG_CLICKED_COLOR_INC 0 0 0 128
-#define POPUP_DIM_BG_TRANS_COLOR_INC 0 0 0 0
-#define POPUP_DIM_BG_CLICKED_TRANS_COLOR_INC 0 0 0 50
-
-#define POPUP_BASE_DEFAULT_TEXT_MIN_FONT_SIZE_INC 42
-#define POPUP_BASE_DEFAULT_TEXT_FONT_SIZE_INC 50
-#define POPUP_DESCRIPTION_DEFAULT_TEXT_FONT_SIZE_INC 38
-
-#define POPUP_BASE_DEFAULT_BASE_DEFAULT_MIN_INC 652 0
-#define POPUP_BASE_DEFAULT_BASE_DEFAULT_MAX_INC 652 1280
-#define POPUP_BASE_DEFAULT_BASE_LANDSCAPE_MIN_INC 832 0
-#define POPUP_BASE_DEFAULT_BASE_LANDSCAPE_MAX_INC 832 720
-#define POPUP_BASE_DEFAULT_BG_DEFAULT_IMAGE_BORDER_INC 26 26 32 47
-#define POPUP_BASE_DEFAULT_TITLE_DEFAULT_IMAGE_BORDER_INC 12 13 30 31
-#define POPUP_BASE_DEFAULT_BUTTON_BG_IMAGE_BORDER_INC 12 13 30 31
-#define POPUP_BASE_DEFAULT_TITLE_DEFAULT_MIN_INC 620 78
-#define POPUP_BASE_DEFAULT_TITLE_LANDSCAPE_MIN_INC 800 78
-#define POPUP_BASE_DEFAULT_PADDING_MIN_MAX_INC 26 0
-#define POPUP_BASE_DEFAULT_TITLE_ICON_DEFAULT_MIN_MAX_INC 64 64
-#define POPUP_BASE_DEFAULT_CONTENT_DEFAULT_MIN_MAX_INC 630 0
-#define POPUP_BASE_DEFAULT_CONTENT_LANDSCAPE_MIN_MAX_INC 810 0
-#define POPUP_BASE_DEFAULT_BUTTON_BG_DEFAULT_MIN_INC 596 96
-
-#define POPUP_DESC_LEFT_PADDING 16
-#define POPUP_DESC_RIGHT_PADDING 16
-#define POPUP_DESC_TOP_PADDING 14
-#define POPUP_DESC_BOTTOM_PADDING 16
-#define POPUP_LABEL_DESC_TOP_PADDING 32
-#define POPUP_LABEL_DESC_BOTTOM_PADDING 32
-#define POPUP_ACTION_DESC_TOP_PADDING 2
-#define POPUP_TITLE_LEFT_PADDING 26
-#define POPUP_TITLE_RIGHT_PADDING 26
-#define POPUP_TITLE_TOP_PADDING 0
-#define POPUP_TITLE_BOTTOM_PADDING 0
-#define POPUP_TITLE_ICON_TEXT_PADDING_INC 16 10
-
-#define POPUP_CONTENT_DEFAULT_PADDING_TOP_MIN_INC 32
-#define POPUP_CONTENT_DEFAULT_PADDING_LEFT_MIN_INC 40
-#define POPUP_CONTENT_DEFAULT_PADDING_RIGHT_MIN_INC 40
-#define POPUP_CONTENT_DEFAULT_PADDING_BOTTOM_MIN_INC 32
-#define POPUP_CONTENT_DEFAULT_CONTENT_DEFAULT_MIN_INC 630 0
-#define POPUP_CONTENT_DEFAULT_CONTENT_LANDSCAPE_MIN_INC 810 0
-
-#define POPUP_BASE_CONTENT_EXPAND_BG_DEFAULT_MIN_INC 0 96
-#define POPUP_BASE_CONTENT_EXPAND_TITLE_DEFAULT_MIN_INC 0 78
-
-#define POPUP_BASE_VERTICAL_BUTTON_BUTTONAREA_DEFAULT_MIN_INC 596 296
-
-#define POPUP_BUTTON3_VERTICAL_BUTTON_PADDING_TOP_MIN_INC 0 10
-#define POPUP_BUTTON3_VERTICAL_ACTION_AREA_HEIGHT "296"
-#define POPUP_BUTTON3_VERTICAL_BUTTON_BUTTON_MIN_MAX_INC 394 76
-#define POPUP_BUTTON3_VERTICAL_BUTTON_PADDING_BUTTON_MIN_INC 0 24
-#define POPUP_BUTTON3_VERTICAL_BUTTON_PADDING_BUTTON_MAX_INC 9999 24
-
-#define POPUP_CONTENT_LISTSTYLE_PADDING_TOP_MIN_MAX_INC 0 20
-#define POPUP_CONTENT_LISTSTYLE_CONTENT_DEFAULT_MIN_INC 568 408
-#define POPUP_CONTENT_LISTSTYLE_PADDING_RIGHT_MIN_INC 0 0
-
-#define POPUP_CONTENT_MINSTYLE_LEFT_PADDING_MIN_INC 17
-#define POPUP_CONTENT_MINSTYLE_RIGHT_PADDING_MIN_INC 17
-#define POPUP_CONTENT_MINSTYLE_CONTENT_DEFAULT_MIN_INC 568 0
-#define POPUP_CONTENT_MINSTYLE_CONTENT_LANDSCAPE_MIN_INC 866 0
-#define POPUP_CONTENT_VOLUMEBAR_STYLE_CONTENT_DEFAULT_MIN_INC 596 134
-#define POPUP_CONTENT_VOLUMEBAR_TEXT_STYLE_CONTENT_DEFAULT_MIN_INC 596 250
-#define POPUP_BASE_VOLUMEBAR_STYLE_BUTTONAREA_BG_DEFAULT_MIN_INC 648 134
-
-#define POPUP_BUTTON_DEFAULT_ACTION_AREA_HEIGHT "96"
-#define POPUP_BUTTON1_DEFAULT_BUTTON1_DEFAULT_MIN_INC 394 76
-#define POPUP_BUTTON1_DEFAULT_BUTTON1_DEFAULT_MAX_INC 596 76
-#define POPUP_BUTTON2_DEFAULT_HEIGHT_INC 76
-#define POPUP_BUTTON2_DEFAULT_BUTTON_DEFAULT_MIN_MAX_INC 314 76
-#define POPUP_BUTTON2_DEFAULT_PADDING_BUTTON_MIN_MAX_INC 16 76
-#define POPUP_BUTTON2_DEFAULT_PADDING_LEFT_RIGHT_WIDTH_INC 28
-#define POPUP_BUTTON3_DEFAULT_HEIGHT_INC 76
-#define POPUP_BUTTON3_DEFAULT_PADDING_BUTTON_MIN_MAX_INC 10 76
-#define POPUP_BUTTON3_DEFAULT_PADDING_LEFT_RIGHT_WIDTH_INC 28
-
-#define PROGRESSBAR_LIST_PROGRESS_STYLE_TEXT_COLOR_INC 110 111 118 255
-#define PROGRESSBAR_LIST_PROGRESS_STYLE_STATUS_TEXT_COLOR_INC 110 111 118 255
-#define PROGRESSBAR_LIST_PROGRESS_HEIGHT_INC 27
-#define PROGRESSBAR_LIST_PENDING_HEIGHT_INC 27
-#define PROGRESSBAR_PROGRESS_CIRCLE_BG_SIZE_INC 126 126
-#define PROGRESS_BG_IMAGE_BORDER_INC 17 17 0 0
-#define PROGRESS_BAR_IMAGE_BORDER_INC 8 8 0 0
-#define PROGRESS_BAR_IMAGE_PADDING_SIZE_INC 6 0
-
-#define NOCONTENT_TEXT_BLOCK_STYLE_COLOR_INC "#FAFAFA"
-#define NOCONTENT_TEXT_BLOCK_STYLE_COLOR_DIM_INC "#A2A5AE"
-#define NOCONTENT_HELP_TEXT_BLOCK_STYLE_COLOR_INC "#6E6F76"
-#define NOCONTENT_TEXT_BLOCK_TEXT_SIZE_INC 36
-#define NOCONTENT_HELP_TEXT_BLOCK_TEXT_SIZE_INC 32
-#define NOCONTENT_IMAGE_WIDTH_HEIGHT_INC 252 252
-#define NOCONTENT_BG_COLOR_INC 0 0 0 0
-#define NOCONTENT_TEXT_STYLE_BG_MIN_INC 0 68
-#define NOCONTENT_BASE_SEARCH_PADDING_INC 40
-#define NOCONTENT_PORTRAIT_HELP_TEXT_STYLE_BG_MIN_INC 0 152
-#define NOCONTENT_LANDSCAPE_HELP_TEXT_STYLE_BG_MIN_INC 0 78
-#define NOCONTENT_IMAGE_COLOR_INC 250 250 250 255
-#define NOCONTENT_SWALLOW_AREA_MIN_INC 0 74
-#define NOCONTENT_PORTRAIT_AFTER_HELP_TEXT_PADDING_INC 70 94
-#define NOCONTENT_LANDSCAPE_AFTER_HELP_TEXT_PADDING_INC 180 18
-#define NOCONTENT_PORTRAIT_AFTER_TEXT_PADDING_INC 70 96
-#define NOCONTENT_LANDSCAPE_AFTER_TEXT_PADDING_INC 180 16
-#define NOCONTENT_BASE_PORTRAIT_MIN_WIDTH_HEIGHT_INC 0 320
-#define NOCONTENT_BASE_LANDS_MIN_WIDTH_HEIGHT_INC 0 320
-#define NOCONTENT_BASE_PORTRAIT_MIN_WIDTH_HEIGHT_WITH_TEXT 0 736
-#define NOCONTENT_BASE_LANDS_MIN_WIDTH_HEIGHT_WITH_TEXT 0 504
-
-#define ENTRY_TEXT_SIZE_INC 44
-#define ENTRY_TEXT_COLOR_INC "#FAFAFA"
-#define ENTRY_DISABLED_TEXT_COLOR_INC "#FAFAFA99"
-#define ENTRY_GUIDE_TEXT_COLOR_INC "#5D6176"
-#define ENTRY_CURSOR_COLOR_INC 58 114 255 255
-#define ENTRY_PREEDIT_BACKGROUND_COLOR_INC "#FAFAFA"
-#define ENTRY_PREEDIT_TEXT_COLOR_INC "#000000"
-#define ENTRY_PREEDIT_UNDERLINE_COLOR_INC "#FAFAFA"
-#define ENTRY_PREEDIT_SUB1_COLOR_INC "#2EA8E1"
-#define ENTRY_PREEDIT_SUB2_COLOR_INC "#9962C3"
-#define ENTRY_PREEDIT_SUB3_COLOR_INC "#76DE37"
-#define ENTRY_PREEDIT_SUB4_COLOR_INC "#999999"
-#define ENTRY_SELECTION_BG_COLOR 19 106 144 255
-#define ENTRY_SELECTION_BLOCK_HANDLE_MIN_SIZE 51 79
-#define ENTRY_SELECTION_EDGE_COLOR 59 115 182 255
-#define ENTRY_SELECTION_BLOCK_HANDLE_EDGE_WIDTH 4
-#define ENTRY_TOP_BOTTOM_PADDING_HEIGHT 3
-#define MAGNIFIER_HEIGHT_FILL 182
-#define MAGNIFIER_HEIGHT_FIXED 164
-#define MAGNIFIER_WIDTH_FIXED 325
-
-#define ENTRY_EDITFIELD_TEXT_SIZE_INC 44
-#define ENTRY_EDITFIELD_TEXT_COLOR_INC "#FAFAFA"
-#define ENTRY_EDITFIELD_DISABLED_TEXT_COLOR_INC "#FAFAFA99"
-#define ENTRY_EDITFIELD_GUIDE_TEXT_COLOR_INC "#485D93"
-
-#define ENTRY_EDITFIELD_SEARCHBAR_TEXT_SIZE_INC 36
-#define ENTRY_EDITFIELD_SEARCHBAR_TEXT_COLOR_INC "#FAFAFA"
-#define ENTRY_EDITFIELD_SEARCHBAR_DISABLED_TEXT_COLOR_INC "#969696"
-#define ENTRY_EDITFIELD_SEARCHBAR_GUIDE_TEXT_COLOR_INC "#5D6176"
-#define ENTRY_EDITFIELD_SEARCHBAR_DISABLED_GUIDE_TEXT_COLOR_INC "#969696"
-
-#define ENTRY_FONT_COLOR_BLACK_TEXT_COLOR_INC "#000000"
-#define ENTRY_FONT_COLOR_BLACK_DISABLED_TEXT_COLOR_INC "#00000080"
-#define ENTRY_FONT_COLOR_BLACK_GUIDE_TEXT_COLOR_INC "#90A9C7"
-
-#define BUBBLE_LAYOUT_SELECT_PAD 10
-#define BUBBLE_LAYOUT_BOTTOM_PAD 20
-
-#define ENTRY_BUBBLE_CALLERID_PAD 115
-#define ENTRY_BUBBLE_CALLERID_ICON_PAD 16
-#define ENTRY_BUBBLE_CALLERID_WIDTH 99
-#define ENTRY_BUBBLE_CALLERID_HEIGHT 99
-#define ENTRY_BUBBLE_GROUPCHAT_PAD 42
-#define ENTRY_BUBBLE_GROUPCHAT_TEXT_PAD 38
-#define ENTRY_BUBBLE_STATUS_PAD 140
-#define ENTRY_BUBBLE_READ_LEFTTOP_PAD 58 14
-#define ENTRY_BUBBLE_READ_RIGHTTOP_PAD 20 14
-#define ENTRY_BUBBLE_READ_RIGHTBOTTOM_PAD 20 14
-#define ENTRY_BUBBLE_SENT_LEFTTOP_PAD 20 14
-#define ENTRY_BUBBLE_SENT_RIGHTTOP_PAD 58 14
-#define ENTRY_BUBBLE_SENT_LEFTBOTTOM_PAD 20 14
-#define ENTRY_BUBBLE_MIDDLE_PAD 14
-#define ENTRY_BUBBLE_STATUS_TEXT_ICON_PAD 10 14
-#define ENTRY_BUBBLE_STATUS_TIME_SIZE 100 30
-#define ENTRY_BUBBLE_ICON_TOP_PAD 12
-#define ENTRY_BUBBLE_ICON_PAD 10
-#define ENTRY_BUBBLE_TEXT_MIN 82 50
-#define ENTRY_BUBBLE_TEXT_SIZE 38
-#define ENTRY_BUBBLE_SENT_TEXT_COLOR "#000000"
-#define ENTRY_BUBBLE_SENT_TEXT_SHADOW_STYLE "shadow,bottom"
-#define ENTRY_BUBBLE_SENT_TEXT_SHADOW_COLOR "#ffffff7f"
-#define ENTRY_BUBBLE_RECEV_TEXT_COLOR "#000000"
-#define ENTRY_BUBBLE_RECEV_TEXT_SHADOW_STYLE "shadow,bottom"
-#define ENTRY_BUBBLE_RECEV_TEXT_SHADOW_COLOR "#ffffff7f"
-#define ENTRY_BUBBLE_RECEV_BG_BORDER_INC 55 24 55 15
-#define ENTRY_BUBBLE_SENT_BG_BORDER_INC 24 55 55 15
-#define ENTRY_BUBBLE_STATUS_TIME_TEXT_SIZE_INC 22
-#define ENTRY_BUBBLE_SENT_STATUS_TIME_COLOR_INC 110 111 118 255
-#define ENTRY_BUBBLE_READ_STATUS_TIME_COLOR_INC 110 111 118 255
-#define ENTRY_BUBBLE_GROUPCHAT_SIZE_INC 30
-#define ENTRY_BUBBLE_GROUPCHAT_COLOR_INC 110 111 118 255
-
-/* not used in elm/entry/base-noedit/{read,sent}message */
-#define ENTRY_BUBBLE_EX_PAD 58
-#define ENTRY_BUBBLE_EX_CALLERID_PAD 178
-#define ENTRY_BUBBLE_IX_PAD 20
-#define ENTRY_BUBBLE_Y_PAD 15
-#define ENTRY_BUBBLE_DATE_AREA_TEXT_SIZE_INC 26
-#define ENTRY_BUBBLE_CALLERID_RELATIVE_INC 0.0 0.0
-#define ENTRY_BUBBLE_RECEV_CALLERID_REL_INC 1.0 0.0
-#define ENTRY_BUBBLE_TEXT_CALLID_REL2_X_INC "elm.rect.right.pad"
-#define ENTRY_BUBBLE_READ_TEXT_CALLID_REL1_X_INC "elm.rect.left.pad"
-#define ENTRY_BUBBLE_TEXT_CALLID_REL2_Y_INC "elm.rect.groupchat.text.pad"
-#define ENTRY_BUBBLE_STATUS_TIME_PAD_MIN_H_INC 14
-#define ENTRY_BUBBLE_STATUS_TIME_PAD_REL_INC 0.0 1.0
-#define ENTRY_BUBBLE_READ_STATUS_TIME_PAD_REL_INC 1.0 1.0
-#define ENTRY_BUBBLE_GROUPCHART_ENABLE_INC 1
-#define ENTRY_BUBBLE_GROUPCHART_PAD 36 30
-#define ENTRY_BUBBLE_GROUPCHART_WITH_CALLERID_PAD 158 30
-#define ENTRY_BUBBLE_READ_STATUS_REL_INC 1.0 0.0
-#define ENTRY_BUBBLE_READ_TIME_REL_INC 1.0 1.0
-
-#define ENTRY_SEARCH_ICON_MIN_MAX_INC 45 45
-#define ENTRY_SEARCH_ICON_CLIPPER_DEFAULT_COLOR_INC 93 97 118 255
-#define ENTRY_SEARCH_ICON_CLIPPER_DISABLED_COLOR_INC 56 58 71 255
-#define ENTRY_SEARCH_ICON_LEFT_PADDING_MIN_MAX_INC 6 0
-#define ENTRY_SEARCH_ICON_RIGHT_PADDING_MIN_MAX_INC 16 0
-
-#define SLIDER_INDICATOR_TEXT_COLOR_INC "#FAFAFAFF"
-#define SLIDER_INDICATOR_TEXT_PRESSED_COLOR_INC "#FAFAFAFF"
-#define SLIDER_INDICATOR_TEXT_DIM_COLOR_INC "#AAAAACFF"
-#define SLIDER_INDICATOR_TEXT_SHADOW_TEXTBLOCK_NORMAL_COLOR_INC "#000000FF"
-#define SLIDER_INDICATOR_TEXT_SHADOW_TEXTBLOCK_PRESSED_COLOR_INC "#000000FF"
-#define SLIDER_INDICATOR_TEXT_SHADOW_TEXTBLOCK_DIM_COLOR_INC "#212226FF"
-#define SLIDER_UNITS_TEXT_COLOR_INC 250 250 250 158
-#define SLIDER_UNITS_TEXT_SIZE_INC 30
-#define SLIDER_INDICATOR_TEXT_SIZE_INC 42
-#define SLIDER_BASE_HEIGHT_INC 34
-#define SLIDER_BASE_MIN_WIDTH_INC 375
-#define SLIDER_SWALLOW_BAR_MIN_WIDTH_INC 72
-#define SLIDER_SWALLOW_BAR_HEIGHT_INC 74
-#define SLIDER_INDICATOR_IMAGE_BORDER_INC 32 32 32 32
-#define SLIDER_INDICATOR_IMAGE_PADDING_SIZE_INC 12 0
-#define SLIDER_INDICATOR_MAX_WIDTH_INC 90
-#define SLIDER_INDICATOR_WIDTH_INC 48
-#define SLIDER_INDICATOR_HEIGHT_INC 72
-#define SLIDER_ICON_CLIPPER_COLOR_INC 250 250 250 153
-#define SLIDER_ICON_DISABLED_COLOR_INC 150 150 150 153
-#define SLIDER_CENTER_POINT_PADDING_SIZE_INC 0 9
-#define SLIDER_UNITS_TEXT_NUM_SIZE_INC 48
-#define SLIDER_UNITS_TEXTSTYLE_SIZE_INC 28
-
-#define SLIDER_INDICATOR_POPUP_TEXT_COLOR_INC 76 81 88 255
-#define SLIDER_INDICATOR_POPUP_TEXT_SIZE_INC 72
-#define SLIDER_INDICATOR_POPUP_HEIGHT_INC 99
-#define SLIDER_INDICATOR_POPUP_MIN_WIDTH_INC 90
-#define SLIDER_INDICATOR_POPUP_BG_IMAGE_WIDTH_INC 35
-#define SLIDER_INDICATOR_POPUP_BG_CENTER_IMAGE_SIZE_INC 18 99
-#define SLIDER_INDICATOR_POPUP_PADDING_MIN_SIZE_INC 12 0
-#define SLIDER_INDICATOR_POPUP_LEFT_BG_BORDER_INC 16 0 0 0
-#define SLIDER_INDICATOR_POPUP_RIGHT_BG_BORDER_INC 0 16 0 0
-#define SLIDER_CENTER_POINT_MIN_SIZE_INC 18 27
-#define SLIDER_CENTER_POINT_MAX_SIZE_INC 18 27
-#define SLIDER_BAR_RIGHT_PADDING_SIZE_INC 16 0
-
-#define TICKER_NOTI_DEFAULT_TEXT_COLOR_INC "#FAFAFA"
-#define TICKER_NOTI_DEFAULT_TEXT2_COLOR_INC "#FFFFFF"
-
-#define DATETIME_WIDGET_HEIGHT 74
-#define DATETIME_FIELD_LEFT_PADDING_SIZE_INC 5 74
-#define DATETIME_FIELD_RIGHT_PADDING_SIZE_INC 5 74
-#define DATETIME_FIELD_PICKER_PADDING_SIZE_INC 40 74
-#define DATETIME_FIELD_MIN_SIZE_INC 0 74
-#define DATETIME_SEPARATOR_MIN_SIZE_INC 10 74
-#define DATETIME_WIDGET_PADDING_SIZE_INC 36 74
-#define DATETIME_TEXT_FONT_SIZE_INC 44
-#define DATETIME_SEPARATOR_TEXT_FONT_SIZE_INC 44
-#define DATETIME_TEXT_NORMAL_COLOR_INC 250 250 250 255
-#define DATETIME_SEPARATOR_TEXT_COLOR_INC 250 250 250 255
-#define DATETIME_TEXT_SELECTED_COLOR_INC 255 255 255 255
-#define DATETIME_BG_IMAGE_BORDER_INC 13 13 15 15
-#define DATETIME_LEFT_PADDING_SIZE_INC 27 112
-#define DATETIME_PICKER_BG_PADDING_SIZE_INC 12 0
-
-#define DATETIME_LABEL_TEXT_BLOCK_STYLE_COLOR_INC 250 250 250 255
-#define DATETIME_LABEL_TEXT_BLOCK_STYLE_SELECTED_COLOR_INC 250 250 250 255
-#define DATETIME_LABEL_DATE_FIELD_BG_IMAGE_BORDER_INC 8 8 21 22
-#define DATETIME_LABEL_DATE_FIELD_MIN_WIDTH_INC 104
-#define DATETIME_LABEL_TIME_FIELD_MIN_WIDTH_INC 69
-#define DATETIME_LABEL_DATE_FIELD_HEIGHT_INC 48
-
-#define DATETIME_POPUP_CONTENT_SIZE_INC 652 216
-#define DATETIME_POPUP_CONTENT_LEFT_PADDING_WIDTH_INC 62
-#define DATETIME_POPUP_CONTENT_RIGHT_PADDING_WIDTH_INC 62
-#define DATETIME_POPUP_CONTENT_CENTER_PADDING_WIDTH_INC 24
-#define DATETIME_POPUP_CONTENT_FIELD_WIDTH_INC 160
-#define DATETIME_POPUP_CONTENT_TIME_24HR_FIELD_WIDTH_INC 252
-#define DATETIME_POPUP_CONTENT_FIELD_TEXT_SIZE_INC 64
-#define DATETIME_POPUP_CONTENT_FIELD_TEXT_COLOR_INC 250 250 250 255
-
-#define DATETIME_POPUP_ENTRY_HEIGHT_INC 100
-#define DATETIME_POPUP_ENTRY_MIN_WIDTH_INC 84
-#define DATETIME_POPUP_ENTRY_TEXT_SIZE_INC 64
-#define DATETIME_POPUP_ENTRY_TEXT_COLOR_INC 250 250 250 255;
-
-#define SPINNER_UP_DOWN_IMAGE_SIZE_INC 84 58
-#define SPINNER_UP_DOWN_IMAGE_BORDER_SIZE_INC 13 13 15 15
-#define SPINNER_UP_DOWN_ARROW_IMAGE_SIZE_INC 54 54
-#define SPINNER_TEXT_HEIGHT_INC 100
-#define SPINNER_ENTRY_TEXT_SIZE_INC 64
-#define SPINNER_ENTRY_TEXT_COLOR_INC 250 250 250 255
-#define SPINNER_UP_DOWN_ARROW_DEFAULT_TOP_OFFSET_INC 0 2
-#define SPINNER_UP_DOWN_ARROW_DEFAULT_BOTTOM_OFFSET_INC -1 1
-#define SPINNER_UP_DOWN_ARROW_PRESSED_TOP_OFFSET_INC 0 -2
-#define SPINNER_UP_DOWN_ARROW_PRESSED_BOTTOM_OFFSET_INC -1 -3
-#define SPINNER_UP_DOWN_ARROW_SHADOW_DEFAULT_COLOR_INC 0 0 0 255
-#define SPINNER_UP_DOWN_ARROW_SHADOW_PRESSED_COLOR_INC 0 0 0 255
-#define SPINNER_UP_DOWN_ARROW_DEFAULT_COLOR_INC 250 250 250 255
-#define SPINNER_UP_DOWN_ARROW_PRESSED_COLOR_INC 250 250 250 255
-
-#define ENTRY_DATETIME_POPUP_TEXT_SIZE_INC 64
-
-#define COLORSELECTOR_MIN_W_INC 688
-#define COLORSELECTOR_MIN_H_INC 336
-#define COLORSELECTOR_MAX_W_INC 1014
-#define COLORSELECTOR_COLORBAR_HEIGHT 112
-#define COLORSELECTOR_COLORBAR_LEFT_PADDING 122
-#define COLORSELECTOR_COLORBAR_RIGHT_PADDING 122
-#define COLORSELECTOR_BUTTON_TOP_PADDING 19
-#define COLORSELECTOR_ARROW_BG_LEFT_PADDING 120
-#define COLORSELECTOR_ARROW_BG_RIGHT_PADDING 120
-#define COLORSELECTOR_ARROW_MIN_WIDTH 27
-#define COLORSELECTOR_ARROW_MIN_HEIGHT 72
-#define COLORSELECTOR_ARROW_REL1_OFFSET 0 4
-#define COLORSELECTOR_ARROW_REL2_OFFSET 0 3
-#define COLORSELECTOR_DRAGGABLE_EVENT_AREA 80 80
-#define COLORSELECTOR_BUTTON_LEFT_PADDING 32
-#define COLORSELECTOR_BUTTON_RIGHT_PADDING 32
-#define COLORSELECTOR_BUTTON_WIDTH 74
-#define COLORSELECTOR_BUTTON_HEIGHT 74
-#define COLORSELECTOR_BUTTON_BORDER 6 6 6 6
-#define COLORSELECTOR_PADDING_COLOR_TOP_INC 39 40 43 255
-#define COLORSELECTOR_PADDING_COLOR_BOTTOM_INC 17 19 27 255
-
-#define COLORSELECTOR_PALETTE_COLORBG_MIN_WIDTH_INC 86
-#define COLORSELECTOR_PALETTE_COLORBG_MIN_HEIGHT_INC 86
-#define COLORSELECTOR_PALETTE_COLORBG_FOCUS_MIN_WIDTH_INC 84
-#define COLORSELECTOR_PALETTE_COLORBG_FOCUS_MIN_HEIGHT_INC 84
-#define COLORSELECTOR_PORTRAIT_HOR_PAD_INC "50"
-#define COLORSELECTOR_PORTRAIT_VER_PAD_INC "20"
-#define COLORSELECTOR_LANDSCAPE_HOR_PAD_INC "36"
-#define COLORSELECTOR_LANDSCAPE_VER_PAD_INC "0"
-#define COLORSELECTOR_PALETTE_BORDER_INC 13 13 13 13
-#define COLORSELECTOR_PORTRAIT_HOR_PAD_COLORPLANE_INC "6"
-#define COLORSELECTOR_PORTRAIT_VER_PAD_COLORPLANE_INC "12"
-#define COLORSELECTOR_PALETTE_COLORBG_MIN_COLORPLANE_INC 67 67
-#define COLORSELECTOR_PALETTE_COLORPLANE_BORDER_INC 8 8 8 8
-#define COLORSELECTOR_COLORPLANE_PADDING_OUTER 35 0
-#define COLORSELECTOR_COLORPLANE_PADDING_COLORPLANE_BG 35 0
-#define COLORSELECTOR_COLORPLANE_CONTROL_SIZE 16 16
-#define COLORPLANE_MIN_HEIGHT 144
-
-#define TICKERNOTI_TEXT_COLOR_INC 250 250 250 255
-#define TICKERNOTI_DEFAULT_BG_MIN_HEIGHT_INC 100
-#define TICKERNOTI_DEFAULT_BG_TOTAL_MIN_HEIGHT_INC 100
-#define TICKERNOTI_DEFAULT_BG_BORDER_INC 8 8 8 8
-#define TICKERNOTI_DEFAULT_BG_PADDING_LEFT_TOP_INC 16 12
-#define TICKERNOTI_DEFAULT_BG_PADDING_RIGHT_BOTTOM_INC 16 12
-#define TICKERNOTI_DEFAULT_PADDING_AFTER_ICON_INC 16 0
-#define TICKERNOTI_DEFAULT_TEXT_MIN_INC 0 60
-#define TICKERNOTI_DEFAULT_BUTTON_MIN_INC 154 74
-#define TICKERNOTI_DEFAULT_BUTTON_MAX_INC 154 74
-#define TICKERNOTI_DEFAULT_ICON_MIN_INC 66 66
-#define TICKERNOTI_DEFAULT_PADDING_BEFORE_BUTTON_INC 16 0
-#define TICKERNOTI_DEFAULT_TEXT_FONT_SIZE_INC 30
-#define TICKERNOTI_DEFAULT_TEXT2_FONT_SIZE_INC 24
-#define TICKERNOTI_TEXTONLY_BG_MIN_HEIGHT_INC 60
-
-#define SCROLLER_DEFAULT_SCROLLBAR_VBAR_IMAGE "00_scroll_bar_v.png"
-#define SCROLLER_DEFAULT_SCROLLBAR_HBAR_IMAGE "00_scroll_bar_h.png"
-#define SCROLLER_DEFAULT_SCROLLBAR_VBAR_IMAGE_BORDER 0 0 12 14
-#define SCROLLER_DEFAULT_SCROLLBAR_HBAR_IMAGE_BORDER 12 14 0 0
-#define SCROLLER_DEFAULT_SCROLLBAR_VBAR_MIN_SIZE_INC 18 72
-#define SCROLLER_DEFAULT_SCROLLBAR_VBAR_MAX_SIZE_INC 18 99999
-#define SCROLLER_DEFAULT_SCROLLBAR_HBAR_MIN_SIZE_INC 72 18
-#define SCROLLER_DEFAULT_SCROLLBAR_HBAR_MAX_SIZE_INC 99999 18
-#define SCROLLER_DEFAULT_SCROLLBAR_VBAR_PADDING_SIZE 6
-#define SCROLLER_DEFAULT_SCROLLBAR_HBAR_PADDING_SIZE 6
-#define SCROLLER_MATCHLIST_SCROLLBAR_VBAR_IMAGE "00_scroll_bar_v.png"
-#define SCROLLER_MATCHLIST_SCROLLBAR_HBAR_IMAGE "00_scroll_bar_h.png"
-#define SCROLLER_MATCHLIST_SCROLLBAR_BG_IMAGE_BORDER 13 13 10 15
-#define SCROLLER_MATCHLIST_SCROLLBAR_VBAR_PADDING_SIZE 6
-#define SCROLLER_MATCHLIST_SCROLLBAR_HBAR_PADDING_SIZE 16
-#define SCROLLER_MATCHLIST_SCROLLBAR_VBAR_MIN_SIZE_INC 16 238
-#define SCROLLER_MATCHLIST_SCROLLBAR_VBAR_MAX_SIZE_INC 16 99999
-#define SCROLLER_MATCHLIST_SCROLLBAR_HBAR_MIN_SIZE_INC 180 16
-#define SCROLLER_MATCHLIST_SCROLLBAR_HBAR_MAX_SIZE_INC 99999 16
-#define SCROLLER_MATCHLIST_SCROLLBAR_VBAR_RUNNER_BORDER 0 0 4 4
-#define SCROLLER_MATCHLIST_SCROLLBAR_HBAR_RUNNER_BORDER 4 4 0 0
-#define SCROLLER_MATCHLIST_SCROLLBAR_VBAR_IMAGE_BORDER 0 0 12 14
-#define SCROLLER_MATCHLIST_SCROLLBAR_HBAR_IMAGE_BORDER 12 14 0 0
-#define SCROLLER_MATCHLIST_SCROLLBAR_VBAR_OVER1 6 6 6 0
-#define SCROLLER_MATCHLIST_SCROLLBAR_VBAR_OVER2 6 6 6 0
-#define SCROLLER_MATCHLIST_SCROLLBAR_HBAR_OVER1 6 6 6 0
-#define SCROLLER_MATCHLIST_SCROLLBAR_HBAR_OVER2 6 6 6 0
-#define SCROLLER_PHOTOCAM_SCROLLBAR_VBAR_IMAGE "00_scroll_bar_v.png"
-#define SCROLLER_PHOTOCAM_SCROLLBAR_HBAR_IMAGE "00_scroll_bar_h.png"
-#define SCROLLER_PHOTOCAM_SCROLLBAR_VBAR_PADDING_SIZE 6
-#define SCROLLER_PHOTOCAM_SCROLLBAR_HBAR_PADDING_SIZE 16
-#define SCROLLER_PHOTOCAM_SCROLLBAR_VBAR_MIN_SIZE_INC 16 238
-#define SCROLLER_PHOTOCAM_SCROLLBAR_VBAR_MAX_SIZE_INC 16 99999
-#define SCROLLER_PHOTOCAM_SCROLLBAR_HBAR_MIN_SIZE_INC 180 16
-#define SCROLLER_PHOTOCAM_SCROLLBAR_HBAR_MAX_SIZE_INC 99999 16
-#define SCROLLER_PHOTOCAM_SCROLLBAR_VBAR_RUNNER_BORDER 0 0 4 4
-#define SCROLLER_PHOTOCAM_SCROLLBAR_HBAR_RUNNER_BORDER 4 4 0 0
-#define SCROLLER_PHOTOCAM_SCROLLBAR_VBAR_IMAGE_BORDER 0 0 12 14
-#define SCROLLER_PHOTOCAM_SCROLLBAR_HBAR_IMAGE_BORDER 12 14 0 0
-#define SCROLLER_PHOTOCAM_SCROLLBAR_VBAR_OVER1 6 6 6 0
-#define SCROLLER_PHOTOCAM_SCROLLBAR_VBAR_OVER2 6 6 6 0
-#define SCROLLER_PHOTOCAM_SCROLLBAR_HBAR_OVER1 6 6 6 0
-#define SCROLLER_PHOTOCAM_SCROLLBAR_HBAR_OVER2 6 6 6 0
-#define SCROLLER_HANDLER_SCROLLBAR_VBAR_MIN_SIZE_INC 36 234
-#define SCROLLER_HANDLER_SCROLLBAR_HBAR_MIN_SIZE_INC 234 36
-#define SCROLLER_HANDLER_SCROLLBAR_VBAR_MIDDLE_MIN_SIZE_INC 36 37
-#define SCROLLER_HANDLER_SCROLLBAR_HBAR_MIDDLE_MIN_SIZE_INC 37 36
-#define SCROLLER_HANDLER_SCROLLBAR_VBAR_BOTTOM_BORDER 10 10 0 10
-#define SCROLLER_HANDLER_SCROLLBAR_VBAR_RIGHT_BORDER 0 10 10 10
-
-#define TOOLBAR_ITEM_BG_DEFAULT_BORDER_INC 8 8 2 0
-#define TOOLBAR_ITEM_BG_PRESSED_BORDER_INC 8 8 2 0
-#define TOOLBAR_ITEM_TAB_FOCUS_BORDER_INC 8 8 8 8
-#define TOOLBAR_ITEM_TEXTBLOCK_COLOR_INC "#FAFAFA"
-#define TOOLBAR_ITEM_PRESSED_TEXTBLOCK_COLOR_INC "#FAFAFA"
-#define TOOLBAR_ITEM_DISABLED_TEXTBLOCK_COLOR_INC "#8E929C"
-#define TOOLBAR_ITEM_TEXTBLOCK_SHADOW_COLOR_INC "#000000"
-#define TOOLBAR_ITEM_PRESSED_TEXTBLOCK_SHADOW_COLOR_INC "#000000"
-#define TOOLBAR_ITEM_DISABLED_TEXTBLOCK_SHADOW_COLOR_INC "#313542"
-#define TOOLBAR_ITEM_DEFAULT_ICON_COLOR_INC 255 255 255 255
-#define TOOLBAR_ITEM_ICON_COLOR_INC 250 250 250 255
-#define TOOLBAR_ITEM_PRESSED_ICON_COLOR_INC 250 250 250 255
-#define TOOLBAR_ITEM_DISABLED_ICON_COLOR_INC 158 160 167 255
-#define TOOLBAR_ITEM_ICON_SHADOW_COLOR_INC 0 0 0 255
-#define TOOLBAR_ITEM_PRESSED_ICON_SHADOW_COLOR_INC 0 0 0 255
-#define TOOLBAR_ITEM_DISABLED_ICON_SHADOW_COLOR_INC 53 57 71 255
-#define TOOLBAR_ITEM_ONE_ITEM_PADDING_SIZE 60
-#define TOOLBAR_ITEM_TWO_ITEMS_PADDING_SIZE 40
-#define TOOLBAR_ITEM_THREE_ITEMS_PADDING_SIZE 20
-#define TOOLBAR_ITEM_DIVIDER_SIZE 2 78
-#define TOOLBAR_ITEM_DIVIDER_LEFT_COLOR_INC 107 116 126 255
-#define TOOLBAR_ITEM_DIVIDER_RIGHT_COLOR_INC 107 116 126 255
-
-#define TABBAR_ITEM_TAB_SELECT_BAR_BORDER_INC 1 1 1 1
-#define TABBAR_ITEM_TAB_PRESS_BORDER_INC 8 8 4 0
-#define TABBAR_ITEM_TAB_FOCUS_BORDER_INC 8 8 8 8
-#define TABBAR_ITEM_TEXTBLOCK_COLOR_INC "#D2D2D2"
-#define TABBAR_ITEM_SELECTED_TEXTBLOCK_COLOR_INC "#FAFAFA"
-#define TABBAR_ITEM_PRESSED_TEXTBLOCK_COLOR_INC "#FAFAFA"
-#define TABBAR_ITEM_DISABLED_TEXTBLOCK_COLOR_INC "#717A91"
-#define TABBAR_ITEM_TEXTBLOCK_SHADOW_COLOR_INC "#000000"
-#define TABBAR_ITEM_PRESSED_TEXTBLOCK_SHADOW_COLOR_INC "#000000"
-#define TABBAR_ITEM_DISABLED_TEXTBLOCK_SHADOW_COLOR_INC "#1D263D"
-#define TABBAR_ITEM_DEFAULT_ICON_COLOR_INC 255 255 255 255
-#define TABBAR_ITEM_ICON_COLOR_INC 210 210 210 255
-#define TABBAR_ITEM_SELECTED_ICON_COLOR_INC 250 250 250 255
-#define TABBAR_ITEM_PRESSED_ICON_COLOR_INC 250 250 250 255
-#define TABBAR_ITEM_DISABLED_ICON_COLOR_INC 113 122 145 255
-#define TABBAR_ITEM_ICON_SHADOW_COLOR_INC 0 0 0 255
-#define TABBAR_ITEM_PRESSED_ICON_SHADOW_COLOR_INC 0 0 0 255
-#define TABBAR_ITEM_DISABLED_ICON_SHADOW_COLOR_INC 29 38 61 255
-#define TABBAR_ITEM_BG_DEFAULT_BORDER_INC 8 8 35 35
-#define TABBAR_ITEM_BG_DEFAULT_VISIBLE_INC 0
-#define TABBAR_DEFAULT_HEIGHT_INC 126
-#define TABBAR_ICON_TEXT_HEIGHT_INC 126
-#define TABBAR_HORIZONTAL_HEIGHT_INC 75
-#define TABBAR_HORIZONTAL_ICON_TEXT_HEIGHT_INC 75
-#define TABBAR_ITEM_ICON_SIZE_INC 63 63
-#define TABBAR_BADGE_TEXT_COLOR_INC 250 250 250 255
-#define TABBAR_BADGE_BG_IMAGE_BORDER_INC 26 26 0 0
-#define TABBAR_BADGE_ONE_ITEM_PADDING_SIZE 10 10
-#define TABBAR_BADGE_TWO_ITEMS_PADDING_SIZE 6 10
-#define TABBAR_BADGE_THREE_ITEMS_PADDING_SIZE 4 10
-#define TABBAR_ITEM_DIVIDER_SIZE 2 88
-#define TABBAR_ITEM_WITH_TITLE_DIVIDER_SIZE 2 48
-#define TABBAR_ITEM_DIVIDER_LEFT_COLOR_INC 131 140 163 255
-#define TABBAR_ITEM_DIVIDER_RIGHT_COLOR_INC 131 140 163 255
-#define TABBAR_ITEM_WITH_TITLE_DIVIDER_LEFT_COLOR_INC 78 86 108 255
-#define TABBAR_ITEM_WITH_TITLE_DIVIDER_RIGHT_COLOR_INC 78 86 108 255
-
-#define CONFORMANT_INDICATOR_BG_DEFAULT_COLOR_INC 30 30 30 255
-#define CONFORMANT_INDICATOR_BG_TRANSLUCENT_COLOR_INC 0 0 0 0
-#define CONFORMANT_INDICATOR_BG_TRANSPARENT_COLOR_INC 0 0 0 0
-
-#define TTS_FOCUS_BORDER 9 9 9 9
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.
- *
- */
-
- group { name:"group_imageanimation";
- parts {
- part { name: "background";
- type: RECT;
- mouse_events: 0;
-
- description { state: "default" 0.0;
- visible: 0;
- }
- }
- part { name: "top_padding";
- type: RECT;
- scale: 1;
-
- description { state: "default" 0.0;
- fixed: 0 1;
- visible: 0;
- min: 0 50;
- align: 0.5 0;
- rel2 { relative: 1.0 0.0; }
- }
- }
- part { name: "center_padding";
- type: RECT;
- mouse_events: 0;
- scale: 1;
-
- description { state: "default" 0.0;
- fixed: 1 1;
- visible: 0;
- min: 100 50;
- align: 0.5 0;
- rel1 { relative: 0.5 1.0; to_y: "top_padding"; }
- rel2 { relative: 0.5 1.0; to_y: "top_padding"; }
- }
- }
- part { name: "calendar_icon";
- type: SWALLOW;
- scale: 1;
-
- description { state: "default" 0.0;
- fixed: 1 1;
- min: 119 148;
- align: 1 0;
- rel1 { relative: 0 1; to_x: "center_padding"; to_y: "top_padding"; }
- rel2 { relative: 0 1; to_x: "center_padding"; to_y: "top_padding"; }
- }
- }
- part { name: "message_icon";
- type: SWALLOW;
- scale: 1;
-
- description { state: "default" 0.0;
- fixed: 1 1;
- min: 119 148;
- align: 0 0;
- rel1 { relative: 1 1; to_x: "center_padding"; to_y: "top_padding"; }
- rel2 { relative: 1 1; to_x: "center_padding"; to_y: "top_padding"; }
- }
- }
- part { name: "middle_padding";
- type: RECT;
- scale: 1;
-
- description { state: "default" 0.0;
- fixed: 0 1;
- visible: 0;
- min: 0 30;
- align: 0.5 0;
- rel1 { relative: 0 1; to_y: "message_icon"; }
- rel2 { relative: 0 1; to_y: "message_icon"; }
- }
- }
- }
- }
+++ /dev/null
-/*\r
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved\r
- *\r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- *\r
- */\r
-\r
-///////////////////////////////////////////////////////////////////////////////////////////////\r
-// Interpolation\r
-///////////////////////////////////////////////////////////////////////////////////////////////\r
-group {\r
- name: "vi/interpolation";\r
- parts {\r
- /***** 1. sine i 33 *****/\r
- part {\r
- name: "image1";\r
- type: SWALLOW;\r
- scale: 1;\r
- description {\r
- min: 70 70;\r
- max: 70 70;\r
- rel1.relative: 0.05 0.025;\r
- rel2.relative: 0.1 0.1;\r
- fixed: 1 1;\r
- }\r
- }\r
- part {\r
- name: "rect1";\r
- type: RECT;\r
- scale: 1;\r
- description {\r
- min: 450 40;\r
- max: 450 40;\r
- rel1.relative: 0.15 0.025;\r
- rel2.relative: 0.8 0.1;\r
- color: 0 0 0 0;\r
- align: 0.5 0.5;\r
- }\r
- }\r
- part {\r
- name: "mover1";\r
- type: SWALLOW;\r
- description {\r
- state: "default" 0.0;\r
- color: 178 178 178 255;\r
- rel1.to: "rect1";\r
- rel2 { to: "rect1"; relative: 0.1 1.0; }\r
- }\r
- description {\r
- state: "show" 0.0;\r
- color: 178 178 178 255;\r
- rel1 { to: "rect1"; relative: 0.9 0.0;}\r
- rel2.to: "rect1";\r
- }\r
- }\r
- part {\r
- name: "btn1";\r
- type: SWALLOW;\r
- scale: 1;\r
- description {\r
- min: 68 68;\r
- max: 68 68;\r
- rel1.relative: 0.85 0.025;\r
- rel2.relative: 0.95 0.1;\r
- fixed: 1 1;\r
- }\r
- }\r
- /***** 2. sine o 33 *****/\r
- part {\r
- name: "image2";\r
- type: SWALLOW;\r
- scale: 1;\r
- description {\r
- min: 70 70;\r
- max: 70 70;\r
- rel1.relative: 0.05 0.125;\r
- rel2.relative: 0.1 0.2;\r
- fixed: 1 1;\r
- }\r
- }\r
- part {\r
- name: "rect2";\r
- type: RECT;\r
- scale: 1;\r
- description {\r
- min: 450 40;\r
- max: 450 40;\r
- rel1.relative: 0.15 0.125;\r
- rel2.relative: 0.8 0.2;\r
- color: 0 0 0 0;\r
- align: 0.5 0.5;\r
- }\r
- }\r
- part {\r
- name: "mover2";\r
- type: SWALLOW;\r
- description {\r
- state: "default" 0.0;\r
- color: 178 178 178 255;\r
- rel1.to: "rect2";\r
- rel2 { to: "rect2"; relative: 0.1 1.0; }\r
- }\r
- description {\r
- state: "show" 0.0;\r
- color: 178 178 178 255;\r
- rel1 { to: "rect2"; relative: 0.9 0.0;}\r
- rel2.to: "rect2";\r
- }\r
- }\r
- part {\r
- name: "btn2";\r
- type: SWALLOW;\r
- scale: 1;\r
- description {\r
- min: 68 68;\r
- max: 68 68;\r
- rel1.relative: 0.85 0.125;\r
- rel2.relative: 0.95 0.2;\r
- fixed: 1 1;\r
- }\r
- }\r
- /***** 3. sine io 33 *****/\r
- part {\r
- name: "image3";\r
- type: SWALLOW;\r
- scale: 1;\r
- description {\r
- min: 70 70;\r
- max: 70 70;\r
- rel1.relative: 0.05 0.225;\r
- rel2.relative: 0.1 0.3;\r
- fixed: 1 1;\r
- }\r
- }\r
- part {\r
- name: "rect3";\r
- type: RECT;\r
- scale: 1;\r
- description {\r
- min: 450 40;\r
- max: 450 40;\r
- rel1.relative: 0.15 0.225;\r
- rel2.relative: 0.8 0.3;\r
- color: 0 0 0 0;\r
- align: 0.5 0.5;\r
- }\r
- }\r
- part {\r
- name: "mover3";\r
- type: SWALLOW;\r
- description {\r
- state: "default" 0.0;\r
- color: 178 178 178 255;\r
- rel1.to: "rect3";\r
- rel2 { to: "rect3"; relative: 0.1 1.0; }\r
- }\r
- description {\r
- state: "show" 0.0;\r
- color: 178 178 178 255;\r
- rel1 { to: "rect3"; relative: 0.9 0.0;}\r
- rel2.to: "rect3";\r
- }\r
- }\r
- part {\r
- name: "btn3";\r
- type: SWALLOW;\r
- scale: 1;\r
- description {\r
- min: 68 68;\r
- max: 68 68;\r
- rel1.relative: 0.85 0.225;\r
- rel2.relative: 0.95 0.3;\r
- fixed: 1 1;\r
- }\r
- }\r
- /***** 4. sine io 50 *****/\r
- part {\r
- name: "image4";\r
- type: SWALLOW;\r
- scale: 1;\r
- description {\r
- min: 70 70;\r
- max: 70 70;\r
- rel1.relative: 0.05 0.325;\r
- rel2.relative: 0.1 0.4;\r
- fixed: 1 1;\r
- }\r
- }\r
- part {\r
- name: "rect4";\r
- type: RECT;\r
- scale: 1;\r
- description {\r
- min: 450 40;\r
- max: 450 40;\r
- rel1.relative: 0.15 0.325;\r
- rel2.relative: 0.8 0.4;\r
- color: 0 0 0 0;\r
- align: 0.5 0.5;\r
- }\r
- }\r
- part {\r
- name: "mover4";\r
- type: SWALLOW;\r
- description {\r
- state: "default" 0.0;\r
- color: 178 178 178 255;\r
- rel1.to: "rect4";\r
- rel2 { to: "rect4"; relative: 0.1 1.0; }\r
- }\r
- description {\r
- state: "show" 0.0;\r
- color: 178 178 178 255;\r
- rel1 { to: "rect4"; relative: 0.9 0.0;}\r
- rel2.to: "rect4";\r
- }\r
- }\r
- part {\r
- name: "btn4";\r
- type: SWALLOW;\r
- scale: 1;\r
- description {\r
- min: 68 68;\r
- max: 68 68;\r
- rel1.relative: 0.85 0.325;\r
- rel2.relative: 0.95 0.4;\r
- fixed: 1 1;\r
- }\r
- }\r
- /***** 5. sine io 60 *****/\r
- part {\r
- name: "image5";\r
- type: SWALLOW;\r
- scale: 1;\r
- description {\r
- min: 70 70;\r
- max: 70 70;\r
- rel1.relative: 0.05 0.425;\r
- rel2.relative: 0.1 0.5;\r
- fixed: 1 1;\r
- }\r
- }\r
- part {\r
- name: "rect5";\r
- type: RECT;\r
- scale: 1;\r
- description {\r
- min: 450 40;\r
- max: 450 40;\r
- rel1.relative: 0.15 0.425;\r
- rel2.relative: 0.8 0.5;\r
- color: 0 0 0 0;\r
- align: 0.5 0.5;\r
- }\r
- }\r
- part {\r
- name: "mover5";\r
- type: SWALLOW;\r
- description {\r
- state: "default" 0.0;\r
- color: 178 178 178 255;\r
- rel1.to: "rect5";\r
- rel2 { to: "rect5"; relative: 0.1 1.0; }\r
- }\r
- description {\r
- state: "show" 0.0;\r
- color: 178 178 178 255;\r
- rel1 { to: "rect5"; relative: 0.9 0.0;}\r
- rel2.to: "rect5";\r
- }\r
- }\r
- part {\r
- name: "btn5";\r
- type: SWALLOW;\r
- scale: 1;\r
- description {\r
- min: 68 68;\r
- max: 68 68;\r
- rel1.relative: 0.85 0.425;\r
- rel2.relative: 0.95 0.5;\r
- fixed: 1 1;\r
- }\r
- }\r
- /***** 6. sine io 70 *****/\r
- part {\r
- name: "image6";\r
- type: SWALLOW;\r
- scale: 1;\r
- description {\r
- min: 70 70;\r
- max: 70 70;\r
- rel1.relative: 0.05 0.525;\r
- rel2.relative: 0.1 0.6;\r
- fixed: 1 1;\r
- }\r
- }\r
- part {\r
- name: "rect6";\r
- type: RECT;\r
- scale: 1;\r
- description {\r
- min: 450 40;\r
- max: 450 40;\r
- rel1.relative: 0.15 0.525;\r
- rel2.relative: 0.8 0.6;\r
- color: 0 0 0 0;\r
- align: 0.5 0.5;\r
- }\r
- }\r
- part {\r
- name: "mover6";\r
- type: SWALLOW;\r
- description {\r
- state: "default" 0.0;\r
- color: 178 178 178 255;\r
- rel1.to: "rect6";\r
- rel2 { to: "rect6"; relative: 0.1 1.0; }\r
- }\r
- description {\r
- state: "show" 0.0;\r
- color: 178 178 178 255;\r
- rel1 { to: "rect6"; relative: 0.9 0.0;}\r
- rel2.to: "rect6";\r
- }\r
- }\r
- part {\r
- name: "btn6";\r
- type: SWALLOW;\r
- scale: 1;\r
- description {\r
- min: 68 68;\r
- max: 68 68;\r
- rel1.relative: 0.85 0.525;\r
- rel2.relative: 0.95 0.6;\r
- fixed: 1 1;\r
- }\r
- }\r
- /***** 7. sine io 80 *****/\r
- part {\r
- name: "image7";\r
- type: SWALLOW;\r
- scale: 1;\r
- description {\r
- min: 70 70;\r
- max: 70 70;\r
- rel1.relative: 0.05 0.625;\r
- rel2.relative: 0.1 0.7;\r
- fixed: 1 1;\r
- }\r
- }\r
- part {\r
- name: "rect7";\r
- type: RECT;\r
- scale: 1;\r
- description {\r
- min: 450 40;\r
- max: 450 40;\r
- rel1.relative: 0.15 0.625;\r
- rel2.relative: 0.8 0.7;\r
- color: 0 0 0 0;\r
- align: 0.5 0.5;\r
- }\r
- }\r
- part {\r
- name: "mover7";\r
- type: SWALLOW;\r
- description {\r
- state: "default" 0.0;\r
- color: 178 178 178 255;\r
- rel1.to: "rect7";\r
- rel2 { to: "rect7"; relative: 0.1 1.0; }\r
- }\r
- description {\r
- state: "show" 0.0;\r
- color: 178 178 178 255;\r
- rel1 { to: "rect7"; relative: 0.9 0.0;}\r
- rel2.to: "rect7";\r
- }\r
- }\r
- part {\r
- name: "btn7";\r
- type: SWALLOW;\r
- scale: 1;\r
- description {\r
- min: 68 68;\r
- max: 68 68;\r
- rel1.relative: 0.85 0.625;\r
- rel2.relative: 0.95 0.7;\r
- fixed: 1 1;\r
- }\r
- }\r
- /***** 8. sine io 90 *****/\r
- part {\r
- name: "image8";\r
- type: SWALLOW;\r
- scale: 1;\r
- description {\r
- min: 70 70;\r
- max: 70 70;\r
- rel1.relative: 0.05 0.725;\r
- rel2.relative: 0.1 0.8;\r
- fixed: 1 1;\r
- }\r
- }\r
- part {\r
- name: "rect8";\r
- type: RECT;\r
- scale: 1;\r
- description {\r
- min: 450 40;\r
- max: 450 40;\r
- rel1.relative: 0.15 0.725;\r
- rel2.relative: 0.8 0.8;\r
- color: 0 0 0 0;\r
- align: 0.5 0.5;\r
- }\r
- }\r
- part {\r
- name: "mover8";\r
- type: SWALLOW;\r
- description {\r
- state: "default" 0.0;\r
- color: 178 178 178 255;\r
- rel1.to: "rect8";\r
- rel2 { to: "rect8"; relative: 0.1 1.0; }\r
- }\r
- description {\r
- state: "show" 0.0;\r
- color: 178 178 178 255;\r
- rel1 { to: "rect8"; relative: 0.9 0.0;}\r
- rel2.to: "rect8";\r
- }\r
- }\r
- part {\r
- name: "btn8";\r
- type: SWALLOW;\r
- scale: 1;\r
- description {\r
- min: 68 68;\r
- max: 68 68;\r
- rel1.relative: 0.85 0.725;\r
- rel2.relative: 0.95 0.8;\r
- fixed: 1 1;\r
- }\r
- }\r
- /***** 9. quint io 50 *****/\r
- part {\r
- name: "image9";\r
- type: SWALLOW;\r
- scale: 1;\r
- description {\r
- min: 70 70;\r
- max: 70 70;\r
- rel1.relative: 0.05 0.825;\r
- rel2.relative: 0.1 0.9;\r
- fixed: 1 1;\r
- }\r
- }\r
- part {\r
- name: "rect9";\r
- type: RECT;\r
- scale: 1;\r
- description {\r
- min: 450 40;\r
- max: 450 40;\r
- rel1.relative: 0.15 0.825;\r
- rel2.relative: 0.8 0.9;\r
- color: 0 0 0 0;\r
- align: 0.5 0.5;\r
- }\r
- }\r
- part {\r
- name: "mover9";\r
- type: SWALLOW;\r
- description {\r
- state: "default" 0.0;\r
- color: 178 178 178 255;\r
- rel1.to: "rect9";\r
- rel2 { to: "rect9"; relative: 0.1 1.0; }\r
- }\r
- description {\r
- state: "show" 0.0;\r
- color: 178 178 178 255;\r
- rel1 { to: "rect9"; relative: 0.9 0.0;}\r
- rel2.to: "rect9";\r
- }\r
- }\r
- part {\r
- name: "btn9";\r
- type: SWALLOW;\r
- scale: 1;\r
- description {\r
- min: 68 68;\r
- max: 68 68;\r
- rel1.relative: 0.85 0.825;\r
- rel2.relative: 0.95 0.9;\r
- fixed: 1 1;\r
- }\r
- }\r
- /***** 10. quint io 80 *****/\r
- part {\r
- name: "image10";\r
- type: SWALLOW;\r
- scale: 1;\r
- description {\r
- min: 70 70;\r
- max: 70 70;\r
- rel1.relative: 0.05 0.925;\r
- rel2.relative: 0.1 1.0;\r
- fixed: 1 1;\r
- }\r
- }\r
- part {\r
- name: "rect10";\r
- type: RECT;\r
- scale: 1;\r
- description {\r
- min: 450 40;\r
- max: 450 40;\r
- rel1.relative: 0.15 0.925;\r
- rel2.relative: 0.8 1;\r
- color: 0 0 0 0;\r
- align: 0.5 0.5;\r
- }\r
- }\r
- part {\r
- name: "mover10";\r
- type: SWALLOW;\r
- description {\r
- state: "default" 0.0;\r
- color: 178 178 178 255;\r
- rel1.to: "rect10";\r
- rel2 { to: "rect10"; relative: 0.1 1.0; }\r
- }\r
- description {\r
- state: "show" 0.0;\r
- color: 178 178 178 255;\r
- rel1 { to: "rect10"; relative: 0.9 0.0;}\r
- rel2.to: "rect10";\r
- }\r
- }\r
- part {\r
- name: "btn10";\r
- type: SWALLOW;\r
- scale: 1;\r
- description {\r
- min: 68 68;\r
- max: 68 68;\r
- rel1.relative: 0.85 0.925;\r
- rel2.relative: 0.95 1.0;\r
- fixed: 1 1;\r
- }\r
- }\r
- }\r
- programs {\r
- program {\r
- name: "reset";\r
- signal: "elm,state,reset";\r
- source: "elm";\r
- action: STATE_SET "default" 0.0;\r
- target: "mover1";\r
- target: "mover2";\r
- target: "mover3";\r
- target: "mover4";\r
- target: "mover5";\r
- target: "mover6";\r
- target: "mover7";\r
- target: "mover8";\r
- target: "mover9";\r
- target: "mover10";\r
- }\r
- program {\r
- name: "show1";\r
- signal: "elm,state,show1";\r
- source: "elm";\r
- action: STATE_SET "show" 0.0;\r
- transition: DECEL_FAC 1 0.33;\r
- target: "mover1";\r
- }\r
- program {\r
- name: "show2";\r
- signal: "elm,state,show2";\r
- source: "elm";\r
- action: STATE_SET "show" 0.0;\r
- transition: ACCEL_FAC 1 0.33;\r
- target: "mover2";\r
- }\r
- program {\r
- name: "show3";\r
- signal: "elm,state,show3";\r
- source: "elm";\r
- action: STATE_SET "show" 0.0;\r
- transition: SIN_FAC 1 0.5;\r
- target: "mover3";\r
- }\r
- program {\r
- name: "show4";\r
- signal: "elm,state,show4";\r
- source: "elm";\r
- action: STATE_SET "show" 0.0;\r
- transition: SIN_FAC 1 0.8;\r
- target: "mover4";\r
- }\r
- program {\r
- name: "show5";\r
- signal: "elm,state,show5";\r
- source: "elm";\r
- action: STATE_SET "show" 0.0;\r
- transition: SIN_FAC 1 1.1;\r
- target: "mover5";\r
- }\r
- program {\r
- name: "show6";\r
- signal: "elm,state,show6";\r
- source: "elm";\r
- action: STATE_SET "show" 0.0;\r
- transition: SIN_FAC 1 1.4;\r
- target: "mover6";\r
- }\r
- program {\r
- name: "show7";\r
- signal: "elm,state,show7";\r
- source: "elm";\r
- action: STATE_SET "show" 0.0;\r
- transition: SIN_FAC 1 1.7;\r
- target: "mover7";\r
- }\r
- program {\r
- name: "show8";\r
- signal: "elm,state,show8";\r
- source: "elm";\r
- action: STATE_SET "show" 0.0;\r
- transition: SIN_FAC 1 2.0;\r
- target: "mover8";\r
- }\r
- program {\r
- name: "show9";\r
- signal: "elm,state,show9";\r
- source: "elm";\r
- action: STATE_SET "show" 0.0;\r
- transition: DIVIS 1 1.7 2;\r
- target: "mover9";\r
- }\r
- program {\r
- name: "show10";\r
- signal: "elm,state,show10";\r
- source: "elm";\r
- action: STATE_SET "show" 0.0;\r
- transition: DECEL_FAC 1 0.8;\r
- target: "mover10";\r
- }\r
- }\r
-}\r
-\r
-///////////////////////////////////////////////////////////////////////////////////////////////\r
-// Fade In/Out\r
-///////////////////////////////////////////////////////////////////////////////////////////////\r
-group {\r
- name: "vi/fade";\r
- parts {\r
- part {\r
- name: "elm.swallow.content";\r
- type: SWALLOW;\r
- clip_to: "clipper";\r
- description {\r
- rel1.relative: 0.4 0.4;\r
- rel2.relative: 0.6 0.6;\r
- }\r
- }\r
- part {\r
- name: "clipper";\r
- type: RECT;\r
- description {\r
- state: "default" 0.0;\r
- color: 255 255 255 100;\r
- rel1.to: "elm.swallow.content";\r
- rel2.to: "elm.swallow.content";\r
- }\r
- description {\r
- state: "fade_in" 0.0;\r
- inherit: "default";\r
- color: 255 255 255 255;\r
- }\r
- description {\r
- state: "fade_out" 0.0;\r
- inherit: "default";\r
- color: 255 255 255 0;\r
- }\r
- }\r
- }\r
- programs {\r
- program {\r
- name: "reset";\r
- signal: "elm,action,reset";\r
- source: "elm";\r
- action: STATE_SET "default" 0.0;\r
- transition: LINEAR 0.5;\r
- target: "clipper";\r
- }\r
- program {\r
- name: "show_fade_in";\r
- signal: "elm,action,in";\r
- source: "elm";\r
- action: STATE_SET "fade_in" 0.0;\r
- transition: LINEAR 0.5;\r
- target: "clipper";\r
- }\r
- program {\r
- name: "show_fade_out";\r
- signal: "elm,action,out";\r
- source: "elm";\r
- action: STATE_SET "fade_out" 0.0;\r
- transition: LINEAR 0.5;\r
- target: "clipper";\r
- }\r
- }\r
-}\r
-\r
-///////////////////////////////////////////////////////////////////////////////////////////////\r
-// Zoom In/Out\r
-///////////////////////////////////////////////////////////////////////////////////////////////\r
-group {\r
- name: "vi/zoom";\r
- parts {\r
- part {\r
- name: "base";\r
- type: RECT;\r
- description {\r
- state: "default" 0.0;\r
- color: 0 0 0 0;\r
- perspective {\r
- zplane: 0;\r
- }\r
- }\r
- }\r
- part {\r
- name: "zoom_*1/4";\r
- type: RECT;\r
- description {\r
- state: "default" 0.0;\r
- color: 0 0 0 0;\r
- perspective {\r
- zplane: -1400;\r
- }\r
- }\r
- }\r
- part {\r
- name: "zoom_*1/2";\r
- type: RECT;\r
- description {\r
- state: "default" 0.0;\r
- color: 0 0 0 0;\r
- perspective {\r
- zplane: -700;\r
- }\r
- }\r
- }\r
- part {\r
- name: "zoom_*2";\r
- type: RECT;\r
- description {\r
- state: "default" 0.0;\r
- color: 0 0 0 0;\r
- perspective {\r
- zplane: 500;\r
- }\r
- }\r
- }\r
- part {\r
- name: "zoom_*4";\r
- type: RECT;\r
- description {\r
- state: "default" 0.0;\r
- color: 0 0 0 0;\r
- perspective {\r
- zplane: 700;\r
- }\r
- }\r
- }\r
- part {\r
- name: "elm.swallow.content";\r
- type: SWALLOW;\r
- description {\r
- state: "default" 0.0;\r
- rel1 { relative: 0.4 0.4; }\r
- rel2 { relative: 0.6 0.6; }\r
- map {\r
- on: 1;\r
- perspective: "base";\r
- }\r
- }\r
- description {\r
- state: "zoom_1/4" 0.0;\r
- inherit: "default";\r
- map {\r
- perspective: "zoom_*1/4";\r
- }\r
- }\r
- description {\r
- state: "zoom_1/2" 0.0;\r
- inherit: "default";\r
- map {\r
- perspective: "zoom_*1/2";\r
- }\r
- }\r
- description {\r
- state: "zoom_2" 0.0;\r
- inherit: "default";\r
- map {\r
- perspective: "zoom_*2";\r
- }\r
- }\r
- description {\r
- state: "zoom_4" 0.0;\r
- inherit: "default";\r
- map {\r
- perspective: "zoom_*4";\r
- }\r
- }\r
- }\r
- part {\r
- name: "btn1";\r
- type: SWALLOW;\r
- description {\r
- rel1.relative: 0.0 0.9;\r
- rel2.relative: 0.25 1.0;\r
- align: 0.5 0.5;\r
- }\r
- }\r
- part {\r
- name: "btn2";\r
- type: SWALLOW;\r
- description {\r
- rel1.relative: 0.25 0.9;\r
- rel2.relative: 0.5 1.0;\r
- align: 0.5 0.5;\r
- }\r
- }\r
- part {\r
- name: "btn3";\r
- type: SWALLOW;\r
- description {\r
- rel1.relative: 0.5 0.9;\r
- rel2.relative: 0.75 1.0;\r
- align: 0.5 0.5;\r
- }\r
- }\r
- part {\r
- name: "btn4";\r
- type: SWALLOW;\r
- description {\r
- rel1.relative: 0.75 0.9;\r
- rel2.relative: 1.0 1.0;\r
- align: 0.5 0.5;\r
- }\r
- }\r
- }\r
- programs {\r
- program {\r
- name: "show_zoom_1";\r
- signal: "elm,action,zoom_1";\r
- source: "elm";\r
- action: STATE_SET "zoom_1/4" 0.0;\r
- transition: ACCEL_FAC 0.5 0.8;\r
- target: "elm.swallow.content";\r
- }\r
- program {\r
- name: "show_zoom_2";\r
- signal: "elm,action,zoom_2";\r
- source: "elm";\r
- action: STATE_SET "zoom_1/2" 0.0;\r
- transition: ACCEL_FAC 0.5 0.8;\r
- target: "elm.swallow.content";\r
- }\r
- program {\r
- name: "show_zoom_3";\r
- signal: "elm,action,zoom_3";\r
- source: "elm";\r
- action: STATE_SET "zoom_2" 0.0;\r
- transition: ACCEL_FAC 0.5 0.8;\r
- target: "elm.swallow.content";\r
- }\r
- program {\r
- name: "show_zoom_4";\r
- signal: "elm,action,zoom_4";\r
- source: "elm";\r
- action: STATE_SET "zoom_4" 0.0;\r
- transition: ACCEL_FAC 0.5 0.8;\r
- target: "elm.swallow.content";\r
- }\r
- program {\r
- name: "reset";\r
- signal: "elm,action,reset";\r
- source: "elm";\r
- action: STATE_SET "default" 0.0;\r
- transition: ACCEL_FAC 0.5 0.8;\r
- target: "elm.swallow.content";\r
- }\r
- }\r
-}\r
-///////////////////////////////////////////////////////////////////////////////////////////////\r
-// Rotate\r
-///////////////////////////////////////////////////////////////////////////////////////////////\r
-group {\r
- name: "vi/rotate";\r
- parts {\r
- part {\r
- name: "content";\r
- type: SWALLOW;\r
- description {\r
- state: "default" 0.0;\r
- rel1 { relative: 0.4 0.3;}\r
- rel2 { relative: 0.6 0.5;}\r
- align: 0.5 0.5;\r
- map {\r
- on: 1;\r
- perspective_on: 1;\r
- }\r
- }\r
- description {\r
- state: "degree_90" 0.0;\r
- inherit: "default";\r
- map {\r
- rotation {\r
- x: 0.0;\r
- y: 0.0;\r
- z: 90.0;\r
- }\r
- }\r
- }\r
- description {\r
- state: "degree_180" 0.0;\r
- inherit: "default";\r
- map {\r
- rotation {\r
- x: 0.0;\r
- y: 0.0;\r
- z: 180.0;\r
- }\r
- }\r
- }\r
- description {\r
- state: "degree_270" 0.0;\r
- inherit: "default";\r
- map {\r
- rotation {\r
- x: 0.0;\r
- y: 0.0;\r
- z: 270.0;\r
- }\r
- }\r
- }\r
- description {\r
- state: "degree_360" 0.0;\r
- inherit: "default";\r
- map {\r
- rotation {\r
- x: 0.0;\r
- y: 0.0;\r
- z: 360.0;\r
- }\r
- }\r
- }\r
- }\r
- part {\r
- name: "btn1";\r
- type: SWALLOW;\r
- description {\r
- rel1.relative: 0.0 0.9;\r
- rel2.relative: 0.25 1.0;\r
- align: 0.5 0.5;\r
- }\r
- }\r
- part {\r
- name: "btn2";\r
- type: SWALLOW;\r
- description {\r
- rel1.relative: 0.25 0.9;\r
- rel2.relative: 0.5 1.0;\r
- align: 0.5 0.5;\r
- }\r
- }\r
- part {\r
- name: "btn3";\r
- type: SWALLOW;\r
- description {\r
- rel1.relative: 0.5 0.9;\r
- rel2.relative: 0.75 1.0;\r
- align: 0.5 0.5;\r
- }\r
- }\r
- part {\r
- name: "btn4";\r
- type: SWALLOW;\r
- description {\r
- rel1.relative: 0.75 0.9;\r
- rel2.relative: 1.0 1.0;\r
- align: 0.5 0.5;\r
- }\r
- }\r
- }\r
- programs {\r
- program {\r
- name: "reset";\r
- signal: "elm,action,reset";\r
- source: "elm";\r
- action: STATE_SET "default" 0.0;\r
- transition: LINEAR 0.5;\r
- target: "content";\r
- }\r
- program {\r
- name: "rotate90";\r
- signal: "elm,action,90";\r
- source: "elm";\r
- action: STATE_SET "degree_90" 0.0;\r
- transition: LINEAR 0.5;\r
- target: "content";\r
- }\r
- program {\r
- name: "rotate180";\r
- signal: "elm,action,180";\r
- source: "elm";\r
- action: STATE_SET "degree_180" 0.0;\r
- transition: LINEAR 0.5;\r
- target: "content";\r
- }\r
- program {\r
- name: "rotate270";\r
- signal: "elm,action,270";\r
- source: "elm";\r
- action: STATE_SET "degree_270" 0.0;\r
- transition: LINEAR 0.5;\r
- target: "content";\r
- }\r
- program {\r
- name: "rotate360";\r
- signal: "elm,action,360";\r
- source: "elm";\r
- action: STATE_SET "degree_360" 0.0;\r
- transition: LINEAR 0.5;\r
- target: "content";\r
- }\r
- }\r
-}\r
-\r
-///////////////////////////////////////////////////////////////////////////////////////////////\r
-// WIPE\r
-///////////////////////////////////////////////////////////////////////////////////////////////\r
-group {\r
- name: "vi/wipe";\r
- parts {\r
- part {\r
- name: "bottom2top";\r
- type: SWALLOW;\r
- scale: 1;\r
- clip_to: "clip1";\r
- description {\r
- min: 360 200;\r
- max: 360 200;\r
- rel1 { relative: 0.0 0.0; }\r
- rel2 { relative: 0.5 0.25; }\r
- align: 0.5 0.0;\r
- }\r
- }\r
- part {\r
- name: "text1";\r
- type: TEXT;\r
- description {\r
- rel1 { to: "bottom2top"; relative: 0.0 0.95; }\r
- rel2 { to: "bottom2top"; relative: 1.0 1.0; }\r
- color: 0 0 0 255;\r
- text {\r
- font: "Tizen:style=Medium";\r
- text: "B to T";\r
- size: 40;\r
- align: 0.5 0.0;\r
- }\r
- }\r
- }\r
- part {\r
- name: "top2bottom";\r
- type: SWALLOW;\r
- scale: 1;\r
- clip_to: "clip2";\r
- description {\r
- min: 360 200;\r
- max: 360 200;\r
- rel1 { relative: 0.5 0.0; }\r
- rel2 { relative: 1.0 0.25; }\r
- align: 0.5 0.0;\r
- }\r
- }\r
- part {\r
- name: "text2";\r
- type: TEXT;\r
- description {\r
- rel1 { to: "top2bottom"; relative: 0.0 0.95; }\r
- rel2 { to: "top2bottom"; relative: 1.0 1.0; }\r
- color: 0 0 0 255;\r
- text {\r
- font: "Tizen:style=Medium";\r
- text: "T to B";\r
- size: 40;\r
- align: 0.5 0.0;\r
- }\r
- }\r
- }\r
- part {\r
- name: "left2right";\r
- type: SWALLOW;\r
- scale: 1;\r
- clip_to: "clip3";\r
- description {\r
- min: 360 200;\r
- max: 360 200;\r
- rel1 { relative: 0.0 0.25; }\r
- rel2 { relative: 0.5 0.5; }\r
- align: 0.5 0.0;\r
- }\r
- }\r
- part {\r
- name: "text3";\r
- type: TEXT;\r
- description {\r
- rel1 { to: "left2right"; relative: 0.0 0.95; }\r
- rel2 { to: "left2right"; relative: 1.0 1.0; }\r
- color: 0 0 0 255;\r
- text {\r
- font: "Tizen:style=Medium";\r
- text: "L to R";\r
- size: 40;\r
- align: 0.5 0.0;\r
- }\r
- }\r
- }\r
- part {\r
- name: "right2left";\r
- type: SWALLOW;\r
- scale: 1;\r
- clip_to: "clip4";\r
- description {\r
- min: 360 200;\r
- max: 360 200;\r
- rel1 { relative: 0.5 0.25; }\r
- rel2 { relative: 1.0 0.5; }\r
- align: 0.5 0.0;\r
- }\r
- }\r
- part {\r
- name: "text4";\r
- type: TEXT;\r
- description {\r
- rel1 { to: "right2left"; relative: 0.0 0.95; }\r
- rel2 { to: "right2left"; relative: 1.0 1.0; }\r
- color: 0 0 0 255;\r
- text {\r
- font: "Tizen:style=Medium";\r
- text: "R to L";\r
- size: 40;\r
- align: 0.5 0.0;\r
- }\r
- }\r
- }\r
- part {\r
- name: "leftbottom2righttop";\r
- type: SWALLOW;\r
- scale: 1;\r
- clip_to: "clip5";\r
- description {\r
- min: 360 200;\r
- max: 360 200;\r
- rel1 { relative: 0.0 0.5; }\r
- rel2 { relative: 0.5 0.75; }\r
- align: 0.5 0.0;\r
- }\r
- }\r
- part {\r
- name: "text5";\r
- type: TEXT;\r
- description {\r
- rel1 { to: "leftbottom2righttop"; relative: 0.0 0.95; }\r
- rel2 { to: "leftbottom2righttop"; relative: 1.0 1.0; }\r
- color: 0 0 0 255;\r
- text {\r
- font: "Tizen:style=Medium";\r
- text: "LB to RT";\r
- size: 40;\r
- align: 0.5 0.0;\r
- }\r
- }\r
- }\r
- part {\r
- name: "rightbottom2lefttop";\r
- type: SWALLOW;\r
- scale: 1;\r
- clip_to: "clip6";\r
- description {\r
- min: 360 200;\r
- max: 360 200;\r
- rel1 { relative: 0.5 0.5; }\r
- rel2 { relative: 1.0 0.75; }\r
- align: 0.5 0.0;\r
- }\r
- }\r
- part {\r
- name: "text6";\r
- type: TEXT;\r
- description {\r
- rel1 { to: "rightbottom2lefttop"; relative: 0.0 0.95; }\r
- rel2 { to: "rightbottom2lefttop"; relative: 1.0 1.0; }\r
- color: 0 0 0 255;\r
- text {\r
- font: "Tizen:style=Medium";\r
- text: "RB to LT";\r
- size: 40;\r
- align: 0.5 0.0;\r
- }\r
- }\r
- }\r
- part {\r
- name: "lefttop2rightbottom";\r
- type: SWALLOW;\r
- scale: 1;\r
- clip_to: "clip7";\r
- description {\r
- min: 360 200;\r
- max: 360 200;\r
- rel1 { relative: 0.0 0.75; }\r
- rel2 { relative: 0.5 1.0; }\r
- align: 0.5 0.0;\r
- }\r
- }\r
- part {\r
- name: "text7";\r
- type: TEXT;\r
- description {\r
- rel1 { to: "lefttop2rightbottom"; relative: 0.0 0.95; }\r
- rel2 { to: "lefttop2rightbottom"; relative: 1.0 1.0; }\r
- color: 0 0 0 255;\r
- text {\r
- font: "Tizen:style=Medium";\r
- text: "LT to RB";\r
- size: 40;\r
- align: 0.5 0.0;\r
- }\r
- }\r
- }\r
- part {\r
- name: "righttop2leftbottom";\r
- type: SWALLOW;\r
- scale: 1;\r
- clip_to: "clip8";\r
- description {\r
- min: 360 200;\r
- max: 360 200;\r
- rel1 { relative: 0.5 0.75; }\r
- rel2 { relative: 1.0 1.0; }\r
- align: 0.5 0.0;\r
- }\r
- }\r
- part {\r
- name: "text8";\r
- type: TEXT;\r
- description {\r
- rel1 { to: "righttop2leftbottom"; relative: 0.0 0.95; }\r
- rel2 { to: "righttop2leftbottom"; relative: 1.0 1.0; }\r
- color: 0 0 0 255;\r
- text {\r
- font: "Tizen:style=Medium";\r
- text: "RT to LB";\r
- size: 40;\r
- align: 0.5 0.0;\r
- }\r
- }\r
- }\r
- }\r
- parts {\r
- part {\r
- name: "clip1";\r
- type: RECT;\r
- description {\r
- state: "default" 0.0;\r
- color: 255 255 255 255;\r
- rel1 { to: "bottom2top"; relative: 0.0 1.0; }\r
- rel2 { to: "bottom2top"; relative: 1.0 1.0; }\r
- }\r
- description {\r
- state: "show" 0.0;\r
- color: 255 255 255 255;\r
- rel1.to: "bottom2top";\r
- rel2.to: "bottom2top";\r
- }\r
- }\r
- part {\r
- name: "clip2";\r
- type: RECT;\r
- description{\r
- state: "default" 0.0;\r
- color: 255 255 255 255;\r
- rel1 { to: "top2bottom"; relative: 0.0 0.0; }\r
- rel2 { to: "top2bottom"; relative: 1.0 0.0; }\r
- }\r
- description {\r
- state: "show" 0.0;\r
- color: 255 255 255 255;\r
- rel1.to: "top2bottom";\r
- rel2.to: "top2bottom";\r
- }\r
- }\r
- part {\r
- name: "clip3";\r
- type: RECT;\r
- description {\r
- state: "default" 0.0;\r
- color: 255 255 255 255;\r
- rel1 { to: "left2right"; relative: 0.0 0.0; }\r
- rel2 { to: "left2right"; relative: 0.0 1.0; }\r
- }\r
- description {\r
- state: "show" 0.0;\r
- color: 255 255 255 255;\r
- rel1.to: "left2right";\r
- rel2.to: "left2right";\r
- }\r
- }\r
- part {\r
- name: "clip4";\r
- type: RECT;\r
- description {\r
- state: "default" 0.0;\r
- color: 255 255 255 255;\r
- rel1 { to: "right2left"; relative : 1.0 0.0; }\r
- rel2 { to: "right2left"; relative : 1.0 1.0; }\r
- }\r
- description {\r
- state: "show" 0.0;\r
- color: 255 255 255 255;\r
- rel1.to: "right2left";\r
- rel2.to: "right2left";\r
- }\r
- }\r
- part {\r
- name: "clip5";\r
- type: RECT;\r
- description {\r
- state: "default" 0.0;\r
- color: 255 255 255 255;\r
- rel1 { to: "leftbottom2righttop"; relative : 0.0 1.0; }\r
- rel2 { to: "leftbottom2righttop"; relative : 0.0 1.0; }\r
- }\r
- description {\r
- state: "show" 0.0;\r
- color: 255 255 255 255;\r
- rel1.to: "leftbottom2righttop";\r
- rel2.to: "leftbottom2righttop";\r
- }\r
- }\r
- part {\r
- name: "clip6";\r
- type: RECT;\r
- description {\r
- state: "default" 0.0;\r
- color: 255 255 255 255;\r
- rel1 { to: "rightbottom2lefttop"; relative : 1.0 1.0; }\r
- rel2 { to: "rightbottom2lefttop"; relative : 1.0 1.0; }\r
- }\r
- description {\r
- state: "show" 0.0;\r
- color: 255 255 255 255;\r
- rel1.to: "rightbottom2lefttop";\r
- rel2.to: "rightbottom2lefttop";\r
- }\r
- }\r
- part {\r
- name: "clip7";\r
- type: RECT;\r
- description {\r
- state: "default" 0.0;\r
- color: 255 255 255 255;\r
- rel1 { to: "lefttop2rightbottom"; relative : 0.0 0.0; }\r
- rel2 { to: "lefttop2rightbottom"; relative : 0.0 0.0; }\r
- }\r
- description {\r
- state: "show" 0.0;\r
- color: 255 255 255 255;\r
- rel1.to: "lefttop2rightbottom";\r
- rel2.to: "lefttop2rightbottom";\r
- }\r
- }\r
- part {\r
- name: "clip8";\r
- type: RECT;\r
- description {\r
- state: "default" 0.0;\r
- color: 255 255 255 255;\r
- rel1 { to: "righttop2leftbottom"; relative : 1.0 0.0; }\r
- rel2 { to: "righttop2leftbottom"; relative : 1.0 0.0; }\r
- }\r
- description {\r
- state: "show" 0.0;\r
- color: 255 255 255 255;\r
- rel1.to: "righttop2leftbottom";\r
- rel2.to: "righttop2leftbottom";\r
- }\r
- }\r
- }\r
- programs {\r
- program {\r
- name: "reset";\r
- signal: "elm,state,reset";\r
- source: "elm";\r
- action: STATE_SET "default" 0.0;\r
- transition: LINEAR 1;\r
- target: "clip1";\r
- target: "clip2";\r
- target: "clip3";\r
- target: "clip4";\r
- target: "clip5";\r
- target: "clip6";\r
- target: "clip7";\r
- target: "clip8";\r
- }\r
- program {\r
- name: "show1";\r
- signal: "elm,state,show";\r
- source: "elm";\r
- action: STATE_SET "show" 0.0;\r
- transition: LINEAR 1;\r
- target: "clip1";\r
- }\r
- program {\r
- name: "show2";\r
- signal: "elm,state,show";\r
- source: "elm";\r
- action: STATE_SET "show" 0.0;\r
- transition: LINEAR 1;\r
- target: "clip2";\r
- }\r
- program {\r
- name: "show3";\r
- signal: "elm,state,show";\r
- source: "elm";\r
- action: STATE_SET "show" 0.0;\r
- transition: LINEAR 1;\r
- target: "clip3";\r
- }\r
- program {\r
- name: "show4";\r
- signal: "elm,state,show";\r
- source: "elm";\r
- action: STATE_SET "show" 0.0;\r
- transition: LINEAR 1;\r
- target: "clip4";\r
- }\r
- program {\r
- name: "show5";\r
- signal: "elm,state,show";\r
- source: "elm";\r
- action: STATE_SET "show" 0.0;\r
- transition: LINEAR 1;\r
- target: "clip5";\r
- }\r
- program {\r
- name: "show6";\r
- signal: "elm,state,show";\r
- source: "elm";\r
- action: STATE_SET "show" 0.0;\r
- transition: LINEAR 1;\r
- target: "clip6";\r
- }\r
- program {\r
- name: "show7";\r
- signal: "elm,state,show";\r
- source: "elm";\r
- action: STATE_SET "show" 0.0;\r
- transition: LINEAR 1;\r
- target: "clip7";\r
- }\r
- program {\r
- name: "show8";\r
- signal: "elm,state,show";\r
- source: "elm";\r
- action: STATE_SET "show" 0.0;\r
- transition: LINEAR 1;\r
- target: "clip8";\r
- }\r
- }\r
-}\r
-\r
-///////////////////////////////////////////////////////////////////////////////////////////////\r
-// FLIP\r
-///////////////////////////////////////////////////////////////////////////////////////////////\r
-group {\r
- name: "vi/flip";\r
- parts {\r
- part {\r
- name: "content";\r
- type: SWALLOW;\r
- description {\r
- state: "default" 0.0;\r
- rel1.relative: 0.2 0.2;\r
- rel2.relative: 0.8 0.7;\r
- map {\r
- on: 1;\r
- perspective_on: 1;\r
- }\r
- }\r
- description {\r
- state: "flip_x" 0.0;\r
- inherit: "default";\r
- map {\r
- rotation {\r
- x: 180.0;\r
- y: 0.0;\r
- z: 0.0;\r
- }\r
- }\r
- }\r
- description {\r
- state: "flip_y" 0.0;\r
- inherit: "default";\r
- map {\r
- rotation {\r
- x: 0.0;\r
- y: 180.0;\r
- z: 0.0;\r
- }\r
- }\r
- }\r
- }\r
- part {\r
- name: "btn1";\r
- type: SWALLOW;\r
- description {\r
- rel1.relative: 0.1 0.9;\r
- rel2.relative: 0.35 1.0;\r
- }\r
- }\r
- part {\r
- name: "btn2";\r
- type: SWALLOW;\r
- description {\r
- rel1.relative: 0.4 0.9;\r
- rel2.relative: 0.65 1.0;\r
- }\r
- }\r
- part {\r
- name: "btn3";\r
- type: SWALLOW;\r
- scale: 1;\r
- description {\r
- rel1.relative: 0.7 0.9;\r
- rel2.relative: 0.95 1.0;\r
- }\r
- }\r
- }\r
- programs {\r
- program {\r
- name: "reset";\r
- signal: "elm,state,reset";\r
- source: "elm";\r
- action: STATE_SET "default" 0.0;\r
- transition: LINEAR 1;\r
- target: "content";\r
- }\r
- program {\r
- name: "flip_by_x";\r
- signal: "elm,state,flipx";\r
- source: "elm";\r
- action: STATE_SET "flip_x" 0.0;\r
- transition: LINEAR 1;\r
- target: "content";\r
- }\r
- program {\r
- name: "flip_by_y";\r
- signal: "elm,state,flipy";\r
- source: "elm";\r
- action: STATE_SET "flip_y" 0.0;\r
- transition: LINEAR 1;\r
- target: "content";\r
- }\r
- }\r
-}\r
-\r
-///////////////////////////////////////////////////////////////////////////////////////////////\r
-// CUSTOM\r
-///////////////////////////////////////////////////////////////////////////////////////////////\r
-group {\r
- name: "vi/custom";\r
- parts {\r
- part {\r
- name: "in";\r
- type: RECT;\r
- description {\r
- state: "default" 0.0;\r
- rel1.to: "elm.swallow.content";\r
- rel2.to: "elm.swallow.content";\r
- color: 0 0 0 0;\r
- perspective {\r
- zplane: 300;\r
- }\r
- }\r
- }\r
- part {\r
- name: "base";\r
- type: RECT;\r
- description {\r
- state: "default" 0.0;\r
- rel1.to: "elm.swallow.content";\r
- rel2.to: "elm.swallow.content";\r
- color: 0 0 0 0;\r
- perspective {\r
- zplane: 0;\r
- }\r
- }\r
- }\r
- part {\r
- name: "out";\r
- type: RECT;\r
- description {\r
- state: "default" 0.0;\r
- rel1.to: "elm.swallow.content";\r
- rel2.to: "elm.swallow.content";\r
- color: 0 0 0 0;\r
- perspective {\r
- zplane: -1400;\r
- }\r
- }\r
- }\r
- part {\r
- name: "elm.swallow.content";\r
- type: SWALLOW;\r
- scale: 1;\r
- clip_to: "clipper";\r
- description {\r
- state: "default" 0.0;\r
- rel1.relative: 0.4 0.4;\r
- rel2.relative: 0.6 0.6;\r
- map {\r
- on: 1;\r
- perspective: "base";\r
- }\r
- }\r
- description {\r
- state: "zoom_in" 0.0;\r
- inherit: "default";\r
- rel1.relative: 0.7 0.7;\r
- rel2.relative: 0.9 0.9;\r
- map {\r
- perspective: "in";\r
- }\r
- }\r
- description {\r
- state: "zoom_out" 0.0;\r
- inherit: "default";\r
- rel1.relative: 0.1 0.1;\r
- rel2.relative: 0.3 0.3;\r
- map {\r
- perspective: "out";\r
- }\r
- }\r
- description {\r
- state: "move1";\r
- inherit: "zoom_in";\r
- }\r
- description {\r
- state: "move2";\r
- inherit: "zoom_out";\r
- }\r
- }\r
- part {\r
- name: "clipper";\r
- type: RECT;\r
- description {\r
- state: "default" 0.0;\r
- color: 255 255 255 100;\r
- }\r
- description {\r
- state: "fade_in" 0.0;\r
- color: 255 255 255 255;\r
- }\r
- description {\r
- state: "fade_out" 0.0;\r
- color: 255 255 255 30;\r
- }\r
- }\r
- }\r
- programs {\r
- program {\r
- name: "reset";\r
- signal: "elm,action,reset";\r
- source: "elm";\r
- action: STATE_SET "default" 0.0;\r
- transition: LINEAR 0.5;\r
- target: "clipper";\r
- target: "elm.swallow.content";\r
- }\r
- program {\r
- name: "show_fade_in";\r
- signal: "elm,action,_fade_in";\r
- source: "elm";\r
- action: STATE_SET "fade_in" 0.0;\r
- transition: LINEAR 0.5;\r
- target: "clipper";\r
- }\r
- program {\r
- name: "show_fade_out";\r
- signal: "elm,action,_fade_out";\r
- source: "elm";\r
- action: STATE_SET "fade_out" 0.0;\r
- transition: LINEAR 0.5;\r
- target: "clipper";\r
- }\r
- program {\r
- name: "show_zoom_in";\r
- signal: "elm,action,_zoom_in";\r
- source: "elm";\r
- action: STATE_SET "zoom_in" 0.0;\r
- transition: LINEAR 0.5;\r
- target: "elm.swallow.content";\r
- after: "show_move1";\r
- }\r
- program {\r
- name: "show_zoom_out";\r
- signal: "elm,action,_zoom_out";\r
- source: "elm";\r
- action: STATE_SET "zoom_out" 0.0;\r
- transition: LINEAR 0.5;\r
- target: "elm.swallow.content";\r
- after: "show_move2";\r
- }\r
- program {\r
- name: "show_move1";\r
- action: STATE_SET "move1" 0.0;\r
- transition: LINEAR 0.5;\r
- target: "elm.swallow.content";\r
- }\r
- program {\r
- name: "show_move2";\r
- action: STATE_SET "move2" 0.0;\r
- transition: LINEAR 0.5;\r
- target: "elm.swallow.content";\r
- }\r
- }\r
-}\r
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.
- *
- */
-
- styles
- {
- style { name: "info_style";
- base: "font=Tizen:style=Roman font_size=30 align=center color=#FFFFFF wrap=char text_class=tizen";
- tag: "br" "\n";
- }
- }
-
- group {
- name: "elmdemo-test/player";
-
- parts {
- part {
- name: "info";
- type: TEXTBLOCK;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.05; }
- rel2 { relative: 1.0 0.2; }
- text {
- style: info_style;
- }
- }
- }
- part {
- name: "video";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.25; }
- rel2 { relative: 1.0 0.75; }
- }
- }
- part {
- name: "player";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- align: 0.5 0.0;
- fixed: 1 1;
- rel1 { relative: 0.5 0.8; }
- rel2 { relative: 0.5 0.8; }
- }
- }
- }
- }
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_access_H_
-#define __DEF_test_access_H_
-
-#include <Elementary.h>
-
-void access_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_contextpopup_H__ */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_AutoScroll_H_
-#define __DEF_test_AutoScroll_H_
-
-#include <Elementary.h>
-
-void autoscroll_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_DialogueField_H__ */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_bubble_H_
-#define __DEF_test_bubble_H_
-
-#include <Elementary.h>
-
-void bubble_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_bubble_H__ */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_button_H_
-#define __DEF_test_button_H_
-
-#include <Elementary.h>
-
-void button_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_button_H__ */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_center_popup_H_
-#define __DEF_test_center_popup_H_
-
-#include <Elementary.h>
-
-void center_popup_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_center_popup_H__ */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_check_H_
-#define __DEF_test_check_H_
-
-#include <Elementary.h>
-
-void check_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_check_H__ */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_colorclass_H_
-#define __DEF_test_colorclass_H_
-
-#include <Elementary.h>
-
-void colorclass_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_colorclass_H__ */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_colorselector_H_
-#define __DEF_test_colorselector_H_
-
-#include <Elementary.h>
-
-void colorselector_cb(void *data, Evas_Object *obj, void *event_info);
-void colorselector_components_cb(void *data, Evas_Object *obj, void *event_info);
-void colorselector_palette_cb(void *data, Evas_Object *obj, void *event_info);
-void colorselector_plane_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_colorselector_H__ */
-
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_config_H_
-#define __DEF_test_config_H_
-
-#include <Elementary.h>
-
-void config_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_config_H__ */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_config_abort_H_
-#define __DEF_test_config_abort_H_
-
-#include <Elementary.h>
-
-void config_abort_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_config_abort_H_ */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_config_mirror_H_
-#define __DEF_test_config_mirror_H_
-
-#include <Elementary.h>
-
-void config_mirror_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_config_mirror_H_ */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_config_scrolling_H_
-#define __DEF_test_config_scrolling_H_
-
-#include <Elementary.h>
-
-void config_scrolling_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_config_H__ */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_controlbar_animation_H_
-#define __DEF_test_controlbar_animation_H_
-
-#include <Elementary.h>
-
-void controlbar_animation_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_controlbar_animation_H__ */
-
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_controlbar_vertical_H_
-#define __DEF_test_controlbar_vertical_H_
-
-#include <Elementary.h>
-
-void controlbar_vertical_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_controlbar_vertical_H__ */
-
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_contextpopup_H_
-#define __DEF_test_contextpopup_H_
-
-#include <Elementary.h>
-
-void ctxpopup_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_contextpopup_H__ */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_datetime_H_
-#define __DEF_test_datetime_H_
-
-#include <Elementary.h>
-
-void datetime_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_datetime_H_ */
+++ /dev/null
-/*
- * Copyright 2013 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.
- */
-
-#if !defined(FLOG)
-#define DbgPrint(format, arg...) SECURE_LOGD(format, ##arg)
-#define ErrPrint(format, arg...) SECURE_LOGE(format, ##arg)
-#define WarnPrint(format, arg...) SECURE_LOGW(format, ##arg)
-#else
-extern FILE *__file_log_fp;
-#define DbgPrint(format, arg...) do { fprintf(__file_log_fp, "[LOG] [\e[32m%s/%s\e[0m:%d] " format, util_basename(__FILE__), __func__, __LINE__, ##arg); fflush(__file_log_fp); } while (0)
-#define ErrPrint(format, arg...) do { fprintf(__file_log_fp, "[ERR] [\e[32m%s/%s\e[0m:%d] " format, util_basename(__FILE__), __func__, __LINE__, ##arg); fflush(__file_log_fp); } while (0)
-#define WarnPrint(format, arg...) do { fprintf(__file_log_fp, "[WRN] [\e[32m%s/%s\e[0m:%d] " format, util_basename(__FILE__), __func__, __LINE__, ##arg); fflush(__file_log_fp); } while (0)
-#endif
-
-// DbgPrint("FREE\n");
-#define DbgFree(a) do { \
- free(a); \
-} while (0)
-
-#define DbgXFree(a) do { \
- DbgPrint("XFree\n"); \
- XFree(a); \
-} while (0)
-
-
-#if defined(_ENABLE_PERF)
-#define PERF_INIT() \
- struct timeval __stv; \
- struct timeval __etv; \
- struct timeval __rtv
-
-#define PERF_BEGIN() do { \
- if (gettimeofday(&__stv, NULL) < 0) { \
- ErrPrint("gettimeofday: %s\n", strerror(errno)); \
- } \
-} while (0)
-
-#define PERF_MARK(tag) do { \
- if (gettimeofday(&__etv, NULL) < 0) { \
- ErrPrint("gettimeofday: %s\n", strerror(errno)); \
- } \
- timersub(&__etv, &__stv, &__rtv); \
- DbgPrint("[%s] %u.%06u\n", tag, __rtv.tv_sec, __rtv.tv_usec); \
-} while (0)
-#else
-#define PERF_INIT()
-#define PERF_BEGIN()
-#define PERF_MARK(tag)
-#endif
-
-/* End of a file */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_dialoguegroup_H_
-#define __DEF_test_dialoguegroup_H_
-
-#include <Elementary.h>
-
-void dialoguegroup_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_dialoguegroup_H__ */
-
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_dnd_H_
-#define __DEF_test_dnd_H_
-
-#include <Elementary.h>
-
-void dnd_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_dnd_H__ */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_dnd_gengrid_box_H
-#define __DEF_test_dnd_gengrid_box_H
-
-#include <Elementary.h>
-
-void dnd_gengrid_box_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_dnd_gengrid_box_H */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_dnd_genlist_gengrid_H_
-#define __DEF_test_dnd_genlist_gengrid_H_
-
-#include <Elementary.h>
-
-void dnd_genlist_gengrid_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_dnd_genlist_gengrid_H__ */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_dnd_layout_genlist_H_
-#define __DEF_test_dnd_layout_genlist_H_
-
-#include <Elementary.h>
-
-void dnd_layout_genlist_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_dnd_layout_genlist_H__ */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_drawer_H_
-#define __DEF_test_drawer_H_
-
-#include <Elementary.h>
-#include <libintl.h>
-#include <string.h>
-
-void drawer_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_drawer_H__ */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_elm_demo_H_
-#define __DEF_elm_demo_H_
-
-#include <Elementary.h>
-
-#define _EDJ(x) elm_layout_edje_get(x)
-
-typedef enum _MOVING_TYPE
-{
- NONE,
- FLICK_L2R,
- FLICK_R2L,
-} MOVING_TYPE;
-
-struct _Touch_Info
-{
- Evas_Coord cur_x, cur_y, cur_mx, cur_my;
- Evas_Coord prev_x, prev_y, prev_mx, prev_my;
-
- Eina_Bool multitouch_detected : 1;
- Eina_Bool touchtype_detected : 1;
-
- int moving_type;
- int magic_num;
-};
-typedef struct _Touch_Info Touch_Info;
-
-struct appdata
-{
- Evas_Coord root_w;
- Evas_Coord root_h;
-
- Evas *evas;
- Evas_Object *win_main;
- Evas_Object *bg;
- Evas_Object *conform;
- Evas_Object *layout_main;
- Evas_Object *nf;
-
- Touch_Info ti;
-};
-
-struct _menu_item {
- char *name;
- void (*func)(void *data, Evas_Object *obj, void *event_info);
-};
-
-struct _group_menu_item {
- Eina_Bool is_group;
- char *name;
- void (*func)(void *data, Evas_Object *obj, void *event_info);
-};
-
-
-int init_elm_demo(struct appdata *ad);
-
-#endif /* __DEF_elm_demo_H__ */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __ELMDEMO_UTIL_H__
-#define __ELMDEMO_UTIL_H_
-
-#include <Elementary.h>
-#include <syslog.h>
-#include <stdio.h>
-#include <efl_assist.h>
-
-#ifdef DESKTOP
- #include "fake-tizen.h"
-#else
- #include <vconf.h>
-#endif
-
-#ifdef _cplusplus
-extern "C" {
-#endif
-
-#ifndef S_
-# define S_(str) dgettext("sys_string", str)
-#endif
-
-#define UNCLIPPED_CONTENT "unclipped"
-#define BOTTOM_PADDING_CONTENT_SIGNAL "elm,layout,content,bottom_padding"
-#define DEFAULT_CONTENT_SIGNAL "elm,layout,content,default"
-#define BOTTOM_PADDING_CONTENT_SOURCE "layout"
-
-void change_config_owner();
-void set_portrait_mode(Eina_Bool on);
-Eina_Bool is_portrait_mode();
-int get_rotation_degree();
-void set_rotation_degree(int degree);
-void set_rotation_mode(Eina_Bool rot_mode);
-Eina_Bool get_rotation_mode();
-
-
-#ifdef _cplusplus
-}
-#endif
-
-#endif // end of ELMDEMO_UTIL_H
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_ElmGLViewGears_H_
-#define __DEF_test_ElmGLViewGears_H_
-
-
-#include <Elementary.h>
-#include <Evas_GL.h>
-
-#ifndef M_PI
-#define M_PI 3.14159265
-#endif
-
-typedef struct _Gear {
- GLfloat *vertices;
- GLuint vbo;
- int count;
- int vertices_amount;
-} Gear;
-
-// GL related data here..
-typedef struct _GLData
-{
- Evas_GL_API *glapi;
- GLuint program;
- GLuint vtx_shader;
- GLuint fgmt_shader;
- int initialized : 1;
- int mouse_down : 1;
-
- // Gear Stuff
- GLfloat view_rotx;
- GLfloat view_roty;
- GLfloat view_rotz;
-
- Gear *gears[50];
-
- GLfloat angle;
-
- GLuint proj_location;
- GLuint light_location;
- GLuint color_location;
-
- GLfloat proj[16];
- GLfloat light[3];
-
- GLfloat gears_color[50][4];
- GLfloat gears_x_position[50];
- GLfloat gears_y_position[50];
- GLfloat gears_z_position[50];
-
-
-} GLData;
-
-Evas_Object* fps_label;
-
-void elmgears_cb(void *data, Evas_Object *obj, void *event_info);
-
-Evas_Object *glview[4], *box;
-
-#endif
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_entry_H_
-#define __DEF_test_entry_H_
-
-#include <Elementary.h>
-
-void entry_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_entry_H__ */
+++ /dev/null
-#ifndef __APPCORE_EFL_FAKE_H_
-#define __APPCORE_EFL_FAKE_H_
-
-#include <Ecore_Input.h>
-#include <Ecore.h>
-
-//#define PREFIX "./"
-//#define ELM_DEMO_EDJ "./elm_demo_tizen.edj"
-#define _(A) A
-#define N_(A) A
-#define KEY_END "15"
-#define VCONFKEY_LANGSET NULL
-
-typedef struct _bundle
-{
- void *data;
-} bundle;
-
-struct appcore_ops
-{
- int (*create)(void *data);
- int (*terminate)(void *data);
- int (*pause)(void *data);
- int (*resume)(void *data);
- int (*reset)(bundle *b, void *data);
- void *data;
-};
-
-#define APPCORE_EVENT_LANG_CHANGE 0
-
-enum appcore_rm {
- APPCORE_RM_UNKNOWN,
- /**< Unknown mode */
- APPCORE_RM_PORTRAIT_NORMAL,
- /**< Portrait mode */
- APPCORE_RM_PORTRAIT_REVERSE,
- /**< Portrait upside down mode */
- APPCORE_RM_LANDSCAPE_NORMAL,
- /**< Left handed landscape mode */
- APPCORE_RM_LANDSCAPE_REVERSE,
- /**< Right handed landscape mode */
-};
-
-int appcore_measure_time();
-void appcore_measure_start();
-int appcore_measure_time_from(const char *str);
-void appcore_set_rotation_cb(int (*_rotation_cb)(enum appcore_rm mode, void *data), void *data);
-void appcore_set_i18n(const char *pkg, const char* locale);
-int appcore_efl_main(const char *pkg, int *argc, char **argv, struct appcore_ops *ops);
-typedef int (*FakeCb)(void *);
-void appcore_set_event_callback(int event, FakeCb fake_cb, void *data);
-
-// vconf
-char *vconf_get_str(const char *in_key);
-void vconf_get_int(const char *key, int *value);
-#define VCONFKEY_SETAPPL_ACCESSIBILITY_FONT_SIZE 1
-
-#endif
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_fastscroll_H_
-#define __DEF_test_fastscroll_H_
-
-#include <Elementary.h>
-#include <libintl.h>
-#include <string.h>
-
-void fastscroll_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_button_H__ */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_floating_H_
-#define __DEF_test_floating_H_
-
-#include <Elementary.h>
-
-void floating_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_floating_H_ */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_FONTEFFECTTEST_H__
-#define __DEF_FONTEFFECTTEST_H__
-
-#include <Elementary.h>
-
-void fonteffecttest_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_FONTEFFECTTEST_H__ */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_FONTTEST_H__
-#define __DEF_FONTTEST_H__
-
-#include <Elementary.h>
-
-void fonttest_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_FONTTEST_H__ */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_gengrid_H_
-#define __DEF_test_gengrid_H_
-
-#include <Elementary.h>
-
-void gengrid_cb(void *data, Evas_Object *obj, void *event_info);
-void gengrid_gallerygrid_cb(void *data, Evas_Object *obj, void *event_info);
-void gengrid_myfilegrid_cb(void *data, Evas_Object *obj, void *event_info);
-void gengrid_myfilegridtext_cb(void *data, Evas_Object *obj, void *event_info);
-void gengrid_theme_cb(void *data, Evas_Object *obj, void *event_info);
-void gengrid_incheck_cb(void *data, Evas_Object *obj, void *event_info);
-void gengrid_groupindex_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_gengrid_H__ */
-
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_GENLIST_H__
-#define __DEF_GENLIST_H__
-
-#include <Elementary.h>
-
-void genlist_cb(void *data, Evas_Object *obj, void *event_info);
-void genlist_check_cb(void *data, Evas_Object *obj, void *event_info);
-void genlist_edit_mode_cb(void *data, Evas_Object *obj, void *event_info);
-void genlist_externals_cb(void *data, Evas_Object *obj, void *event_info);
-void genlist_fastscroll_cb(void *data, Evas_Object *obj, void *event_info);
-void genlist_index_fastscroll_cb(void *data, Evas_Object *obj, void *event_info);
-void genlist_index_expandable_fastscroll_cb(void *data, Evas_Object *obj, void *event_info);
-void genlist_music_player_style_cb(void *data, Evas_Object *obj, void *event_info);
-void genlist_pinchzoom_cb(void *data, Evas_Object *obj, void *event_info);
-void genlist_radio_cb(void *data, Evas_Object *obj, void *event_info);
-void genlist_scroll_jump_cb(void *data, Evas_Object *obj, void *event_info);
-void genlist_normal_cb(void *data, Evas_Object *obj, void *event_info);
-void genlist_swipe_cb(void *data, Evas_Object *obj, void *event_info);
-void genlist_variable_height_cb(void *data, Evas_Object *obj, void *event_info);
-void genlist_variable_width_cb(void *data, Evas_Object *obj, void *event_info);
-void genlist_color_cb(void *data, Evas_Object *obj, void *event_info);
-void genlist_separator_cb(void *data, Evas_Object *obj, void *event_info);
-
-void genlist_dialogue_cb(void *data, Evas_Object *obj, void *event_info);
-void genlist_dialogue_item_cb(void *data, Evas_Object *obj, void *event_info);
-void genlist_dialogue_appitem_cb(void *data, Evas_Object *obj, void *event_info);
-void genlist_editfield_cb(void *data, Evas_Object *obj, void *event_info);
-void genlist_collection_cb(void *data, Evas_Object *obj, void *event_info);
-
-void genlist_dialogue_edit_cb(void *data, Evas_Object *obj, void *event_info);
-void genlist_dialogue_contact_edit_cb(void *data, Evas_Object *obj, void *event_info);
-void genlist_expandable_cb(void *data, Evas_Object *obj, void *event_info);
-void genlist_ndepth_expandable_cb(void *data, Evas_Object *obj, void *event_info);
-
-void genlist_theme_default_cb(void *data, Evas_Object *obj, void *event_info);
-void genlist_theme_no_effect_cb(void *data, Evas_Object *obj, void *event_info);
-
-void genlist_homogenous_cb(void *data, Evas_Object *obj, void *event_info);
-void genlist_animator_cb(void *data, Evas_Object *obj, void *event_info);
-
-void list_cb(void *data, Evas_Object *obj, void *event_info);
-
-char** genlist_get_demo_names(void);
-char** genlist_get_demo_country_names(void);
-
-#define NUM_OF_GENLIST_DEMO_NAMES 100
-#define NUM_OF_GENLIST_DEMO_COUNTRY_NAMES 50
-#define NUM_OF_GENLIST_LONG_TEXTS 50
-#define NUM_OF_GENLIST_TIMES 10
-
-#endif /* __DEF_GENLIST_H__ */
-
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_HANDLER_H__
-#define __DEF_HANDLER_H__
-
-#include <Elementary.h>
-
-void handler_cb(void *data, Evas_Object * obj, void *event_info);
-
-#endif /* __DEF_HANDLER_H__ */
-
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_IMAGESLIDER_H__
-#define __DEF_IMAGESLIDER_H__
-
-#include <Elementary.h>
-
-void imageslider_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_IMAGESLIDER_H__ */
-
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_index_H_
-#define __DEF_test_index_H_
-
-#include <Elementary.h>
-
-void index_cb(void *data, Evas_Object *obj, void *event_info);
-void horizontal_cb(void *data, Evas_Object *obj, void *event_info);
-void horizontal_loop_cb(void *data, Evas_Object *obj, void *event_info);
-void vertical_cb(void *data, Evas_Object *obj, void *event_info);
-void vertical_loop_cb(void *data, Evas_Object *obj, void *event_info);
-void index_4way_cb(void *data, Evas_Object *obj, void *event_info);
-void index_slider_cb(void *data, Evas_Object *obj, void *event_info);
-#endif /* __DEF_test_index_H__ */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_indicator_H_
-#define __DEF_test_indicator_H_
-
-#include <Elementary.h>
-
-void indicator_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_indicator_H__ */
+++ /dev/null
-struct instance;
-
-extern struct instance *instance_create(const char *id, const char *content, int w, int h);
-extern int instance_destroy(struct instance *inst);
-
-extern struct instance *instance_find(const char *id);
-
-extern int instance_set_size_by_id(const char *id, int w, int h);
-extern int instance_set_size_by_handle(struct instance *handle, int w, int h);
-
-extern int instance_get_size_by_id(const char *id, int *w, int *h);
-extern int instance_get_size_by_handle(struct instance *handle, int *w, int *h);
-
-extern int instance_set_data(struct instance *inst, void *data);
-extern void *instance_data(struct instance *inst);
-
-extern int instance_crawling(int (*cb)(struct instance *inst, void *data), void *data);
-/* End of a file */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_label_H_
-#define __DEF_test_label_H_
-
-#include <Elementary.h>
-
-void label_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_label_H__ */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_label_colorstyles_H_
-#define __DEF_test_label_colorstyles_H_
-
-#include <Elementary.h>
-
-void label_color_styles_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_label_colorstyles_H__ */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_label_ellipsis_H_
-#define __DEF_test_label_ellipsis_H_
-
-#include <Elementary.h>
-
-void label_ellipsis_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_label_ellipsis_H__ */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_label_linebreakmodes_H_
-#define __DEF_test_label_linebreakmodes_H_
-
-#include <Elementary.h>
-
-void label_linebreak_modes_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_label_linebreakmodes_H__ */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_label_slide_H_
-#define __DEF_test_label_slide_H_
-
-#include <Elementary.h>
-
-void label_slide_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_label_slide_H__ */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_label_textstyles_H_
-#define __DEF_test_label_textstyles_H_
-
-#include <Elementary.h>
-
-void label_text_styles_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_label_textstyles_H__ */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_layout_H_
-#define __DEF_test_layout_H_
-
-#include <Elementary.h>
-
-void layout_cb(void *data, Evas_Object *obj, void *event_info);
-void layout_nocontent_styles_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_layout_H__ */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_map_H_
-#define __DEF_test_map_H_
-
-#include <Elementary.h>
-
-void map_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_map_H__ */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_multibuttonentry_H_
-#define __DEF_test_multibuttonentry_H_
-
-#include <Elementary.h>
-
-void multibuttonentry_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_multibuttonentry_H__ */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_naviframe_H_
-#define __DEF_test_naviframe_H_
-
-#include <Elementary.h>
-
-void naviframe_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_naviframe_H_ */
-
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_panes_H_
-#define __DEF_test_panes_H_
-
-#include <Elementary.h>
-
-void panes_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_panes_H__ */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_popup_H_
-#define __DEF_test_popup_H_
-
-#include <Elementary.h>
-
-void popup_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_popup_H__ */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_TEST_PROGRESSBAR_H_
-#define __DEF_TEST_PROGRESSBAR_H_
-
-#include <Elementary.h>
-#include <Evas.h>
-
-typedef Evas_Object*(*PROGRESSBAR_CREATE)(Evas_Object *parent);
-
-Ecore_Timer *pb_timer_1;
-Ecore_Timer *pb_timer_2;
-Ecore_Timer *pb_timer_3;
-
-void progressbar_cb(void *data, Evas_Object *obj, void *event_info);
-void progressbar_add(char *style_name, char *container_name,
- Evas_Object *layout, Ecore_Timer *timer);
-void progressbar_pulse_add(char *style_name, char *container_name,
- Evas_Object *layout);
-void progressbars_create(void *data, Evas_Object *obj, void *event_info,
- char *page_name, PROGRESSBAR_CREATE _progressbar_create);
-Evas_Object *scroller_create(Evas_Object *parent);
-Eina_Bool fn_pb_timer(void *data);
-
-#endif /* __DEF_TEST_PROGRESSBAR_H_ */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_TEST_PROGRESSBAR_CUSTOM_H_
-#define __DEF_TEST_PROGRESSBAR_CUSTOM_H_
-
-#include <Elementary.h>
-
-void progressbar_default_cb(void *data, Evas_Object *obj, void *event_info);
-void progressbar_custom_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_TEST_PROGRESSBAR_CUSTOM_H_ */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_radio_H_
-#define __DEF_test_radio_H_
-
-#include <Elementary.h>
-
-void radio_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_button_H__ */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_TEST_SEARCHBAR_H__
-#define __DEF_TEST_SEARCHBAR_H__
-
-#include <Elementary.h>
-
-
-void searchbar_cb(void *data, Evas_Object *obj, void *event_info);
-void searchbar_normal_cb(void *data, Evas_Object *obj, void *event_info);
-void searchbar_external_cb(void *data, Evas_Object *obj, void *event_info);
-void searchbar_no_search_icon_cb(void *data, Evas_Object *obj, void *event_info);
-void searchbar_vi_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_TEST_SEARCHBAR_H__ */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_segmented_control_H_
-#define __DEF_test_segmented_control_H_
-
-#include <Elementary.h>
-
-void segmented_control_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_segmented_control_H__ */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_selectioninfo_H_
-#define __DEF_test_selectioninfo_H_
-
-#include <Elementary.h>
-
-void selectioninfo_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_selectioninfo_H__ */
-
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_UISlider_H_
-#define __DEF_test_UISlider_H_
-
-#include <Elementary.h>
-
-void slider_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_UISlider_H__ */
+++ /dev/null
-/*
- * Copyright (c) 2013 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_slider_custom_H_
-#define __DEF_slider_custom_H_
-
-#include <Elementary.h>
-
-void slider_custom_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_slider_custom_H_ */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_slider_default_H_
-#define __DEF_test_slider_default_H_
-
-#include <Elementary.h>
-
-void slider_default_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_slider_default_H__ */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_slider_volume_H_
-#define __DEF_test_slider_volume_H_
-
-#include <Elementary.h>
-
-void slider_volume_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_slider_volume_H__ */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_style_button_H_
-#define __DEF_test_style_button_H_
-
-#include <Elementary.h>
-
-void style_button_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_style_buttonH__ */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_fontchange_H_
-#define __DEF_test_fontchange_H_
-
-#include <Elementary.h>
-
-void test_fontchange_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_fontchange_H_ */
-
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_GENLIST_H__
-#define __DEF_GENLIST_H__
-
-#include <Elementary.h>
-
-void genlist_sweep_v01_cb(void *data, Evas_Object *obj, void *event_info);
-void genlist_sweep_v02_cb(void *data, Evas_Object *obj, void *event_info);
-void genlist_sweep_v03_cb(void *data, Evas_Object *obj, void *event_info);
-void genlist_test_all_styles_cb(void *data, Evas_Object *obj, void *event_info);
-void genlist_test_sweep_edit_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_GENLIST_H__ */
-
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_mode_H_
-#define __DEF_test_mode_H_
-
-#include <Elementary.h>
-
-void testmode_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_mode_H__ */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_theme_H_
-#define __DEF_test_theme_H_
-
-#include <Elementary.h>
-
-void theme_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_theme_H__ */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_tickernoti_H_
-#define __DEF_test_tickernoti_H_
-
-#include <Elementary.h>
-
-void tickernoti_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_tickernoti_H__ */
-
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_controlbar_H_
-#define __DEF_test_controlbar_H_
-
-#include <Elementary.h>
-
-void toolbar_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_controlbar_H__ */
-
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_controlbar_mixbar_H_
-#define __DEF_test_controlbar_mixbar_H_
-
-#include <Elementary.h>
-
-void mix_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_controlbar_mixbar_H__ */
-
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_controlbar_tabbar_H_
-#define __DEF_test_controlbar_tabbar_H_
-
-#include <Elementary.h>
-
-void tab_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_controlbar_tabbar_H__ */
-
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_controlbar_toolbar_H_
-#define __DEF_test_controlbar_toolbar_H_
-
-#include <Elementary.h>
-
-void tool_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_controlbar_toolbar_H__ */
-
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_effect_H_
-#define __DEF_test_effect_H_
-
-#include <Elementary.h>
-
-void effect_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_effect_H__ */
+++ /dev/null
-extern int util_win_list_get(int (*win_cb)(int pid, Ecore_X_Window win, const char *cmd, void *data), void *data);
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_vi_H_
-#define __DEF_test_vi_H_
-
-#include <Elementary.h>
-
-void vi_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_vi_H__ */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_video_H_
-#define __DEF_test_video_H_
-
-#include <Elementary.h>
-
-void video_cb(void *data, Evas_Object *obj, void *event_info);
-void video_player_cb(void *data, Evas_Object *obj, void *event_info);
-void video_gesture_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_video_H__ */
+++ /dev/null
-/*
- * Copyright (c) 2014 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __DEF_test_wallpaper_H_
-#define __DEF_test_wallpaper_H_
-
-#include <Elementary.h>
-
-void wallpaper_theme_cb(void *data, Evas_Object *obj, void *event_info);
-
-#endif /* __DEF_test_wallpaper_H__ */
+++ /dev/null
-extern int window_list_create(Evas_Object *win);
-extern int window_list_update(Evas_Object *win);
-extern int window_list_destroy(void);
-
-/* End of a file */
+++ /dev/null
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/brick.png DESTINATION ${RESDIR})
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/entry.png DESTINATION ${RESDIR})
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/ocean.png DESTINATION ${RESDIR})
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/app.png DESTINATION "/usr/share/icons/default/small" RENAME "com.samsung.w-add-viewer.clock.png")
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/app.png DESTINATION "/usr/share/icons/default/small" RENAME "com.samsung.w-add-viewer.app.png")
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "access.h"
-#include "genlist.h"
-
-#define AFTER_MIGRATION 1
-#include <Ecore_X.h>
-/*********************************************************
- access
- ********************************************************/
-#define NUM_OF_ITEMS 100
-
-extern char *genlist_demo_names[];
-
-typedef struct _Item_Data
-{
- int index;
- Elm_Object_Item *item;
-} Item_Data;
-
-static char *_access_info_cb(void *data, Evas_Object *obj)
-{
- return strdup(_("edje button"));
-}
-
-static void _highlighted_cb(void *data, Evas_Object * obj, void *event_info)
-{
- printf("Highlight\n");
-}
-
-static void _unhighlighted_cb(void *data, Evas_Object * obj, void *event_info)
-{
- printf("Unhighlight\n");
-}
-
-static void _read_start_cb(void *data, Evas_Object * obj, void *event_info)
-{
- printf("Read start\n");
-}
-
-static void _read_stop_cb(void *data, Evas_Object * obj, void *event_info)
-{
- printf("Read stop\n");
-}
-
-static void _activated_cb(void *data, Evas_Object * obj, void *event_info)
-{
- printf("Activated\n");
-}
-
-static void _clicked_cb(void *data, Evas_Object * obj, void *event_info)
-{
- printf("Button Clicked\n");
-}
-
-static Evas_Object *_create_toolbar(Evas_Object *parent)
-{
- Evas_Object *obj;
- Elm_Object_Item *item[10];
-
- /* create toolbar */
- obj = elm_toolbar_add(parent);
- if(obj == NULL) return NULL;
- elm_object_style_set(obj, "default");
- elm_toolbar_shrink_mode_set(obj, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_transverse_expanded_set(obj, EINA_TRUE);
- elm_toolbar_select_mode_set(obj, ELM_OBJECT_SELECT_MODE_NONE);
-
- item[0] = elm_toolbar_item_append(obj, NULL, "Main", NULL, NULL);
- item[1] = elm_toolbar_item_append(obj, NULL, "Playlist", NULL, NULL);
- item[2] = elm_toolbar_item_append(obj, NULL, "Artists list", NULL, NULL);
- return obj;
-}
-
-static char *
-_gli_text_get(void *data, Evas_Object *obj, const char *part)
-{
- char buf[1024];
- Item_Data *id = data;
- int index = id->index;
-
- if (!strcmp(part, "elm.text.2")) index++;
-
- snprintf(buf, 1023, "%s:%s", part, genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
- return strdup(buf);
-}
-
-static Evas_Object *
-_gli_content_get(void *data, Evas_Object *obj, const char *part)
-{
- return NULL;
-}
-
-static void
-_gli_sel(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *item;
-
- item = (Elm_Object_Item *) event_info;
- if (!item) return;
-
- elm_genlist_item_selected_set(item, EINA_FALSE);
-}
-
-static Evas_Object *
-_create_inner_genlist(Evas_Object *parent)
-{
- Evas_Object * genlist;
- int index;
- Elm_Object_Item *item;
-
- // Create genlist
- genlist = elm_genlist_add(parent);
-
- // Set genlist item class
- Elm_Genlist_Item_Class *itc = elm_genlist_item_class_new();
- itc->item_style = "1text.1icon";
- itc->func.text_get = _gli_text_get;
- itc->func.content_get = _gli_content_get;
- itc->func.state_get = NULL;
- itc->func.del = NULL;
-
- // Append items
- for (index = 0; index < NUM_OF_ITEMS; index++) {
- Item_Data *id = calloc(sizeof(Item_Data), 1);
- id->index = index;
- item = elm_genlist_item_append(
- genlist, // genlist object
- itc, // item class
- id, // data
- NULL,
- ELM_GENLIST_ITEM_NONE,
- _gli_sel,
- NULL);
- id->item = item;
- elm_object_item_data_set(item,id);
- }
- elm_genlist_item_class_free(itc);
-
- return genlist;
-}
-
-static char *
-_gl_text_get(void *data, Evas_Object *obj, const char *part)
-{
- int index = (int)data;
-
- if (!part) return NULL;
- if (index == 1 && !strcmp(part, "elm.text")) return strdup("Screen reader (TTS)");
- if (index == 2 && !strcmp(part, "elm.text")) return strdup("Scroll Test");
- if (index == 3 && !strcmp(part, "elm.text")) return strdup("Overlap Test");
- if (index == 4 && !strcmp(part, "elm.text")) return strdup("Access Changed Test");
- if (index == 5 && !strcmp(part, "elm.text")) return strdup("Access Activate Test");
- return NULL;
-}
-
-static Evas_Object *
-_gl_content_get(void *data, Evas_Object *obj, const char *part)
-{
- int enable = 0;
- Evas_Object *icon;
- int index = (int)data;
-
- if (!part) return NULL;
- if (index != 1) return NULL;
- if (!strcmp(part, "elm.icon") || !strcmp(part, "elm.swallow.icon")) {
- icon = elm_check_add(obj);
-
-#ifdef DESKTOP
- enable = elm_config_access_get();
-#else
- if (0 != vconf_get_bool(VCONFKEY_SETAPPL_ACCESSIBILITY_TTS, &enable))
- printf("Failed to get vconf value\n");
-#endif
- elm_check_state_set(icon, enable);
-
- elm_object_style_set(icon, "on&off");
- evas_object_pass_events_set(icon, 1);
- evas_object_propagate_events_set(icon, 0);
- return icon;
- }
-
- return NULL;
-}
-
-static void
-_gl_sel(void *data, Evas_Object *obj, void *event_info)
-{
- int enable;
- Elm_Object_Item *item;
- Evas_Object *icon;
-
- item = (Elm_Object_Item *) event_info;
- if (!item) return;
-
- elm_genlist_item_selected_set(item, EINA_FALSE);
-
- icon = elm_object_item_part_content_get(item, "elm.icon");
- if (!icon) return;
-
- enable = (int) !elm_check_state_get(icon);
-#ifdef DESKTOP
- elm_config_access_set(enable);
- _elm_access_mouse_event_enabled_set(EINA_TRUE);
-#else
- if (0 != vconf_set_bool(VCONFKEY_SETAPPL_ACCESSIBILITY_TTS, enable)) {
- printf("Faile to set vconf value\n");
- return;
- }
-#endif
- elm_check_state_set(icon, enable);
-}
-
-static void
-_gl_second_sel(void *data, Evas_Object *obj, void * event_info)
-{
- Evas_Object *navi, *layout, *scroller, *toolbar, *genlist, *btn, *ao;
-
- Elm_Object_Item *item;
-
- item = (Elm_Object_Item *) event_info;
- if (!item) return;
-
- elm_genlist_item_selected_set(item, EINA_FALSE);
-
- navi = (Evas_Object *)data;
-
- scroller = elm_scroller_add(navi);
-
- layout = elm_layout_add(scroller);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "scroll_test");
-
- ao = elm_object_part_access_register(layout, "edje_button");
- elm_access_info_cb_set(ao, ELM_ACCESS_INFO, _access_info_cb, layout);
- elm_object_focus_custom_chain_append(layout, ao, NULL);
-
- ao = elm_object_part_access_register(layout, "edje_button2");
- elm_access_info_cb_set(ao, ELM_ACCESS_INFO, _access_info_cb, layout);
- elm_object_focus_custom_chain_append(layout, ao, NULL);
-
- ao = elm_object_part_access_register(layout, "edje_button3");
- elm_access_info_cb_set(ao, ELM_ACCESS_INFO, _access_info_cb, layout);
- elm_object_focus_custom_chain_append(layout, ao, NULL);
-
- ao = elm_object_part_access_register(layout, "edje_button4");
- elm_access_info_cb_set(ao, ELM_ACCESS_INFO, _access_info_cb, layout);
- elm_object_focus_custom_chain_append(layout, ao, NULL);
-
- ao = elm_object_part_access_register(layout, "edje_button5");
- elm_access_info_cb_set(ao, ELM_ACCESS_INFO, _access_info_cb, layout);
- elm_object_focus_custom_chain_append(layout, ao, NULL);
-
- ao = elm_object_part_access_register(layout, "edje_button6");
- elm_access_info_cb_set(ao, ELM_ACCESS_INFO, _access_info_cb, layout);
- elm_object_focus_custom_chain_append(layout, ao, NULL);
-
- ao = elm_object_part_access_register(layout, "edje_button7");
- elm_access_info_cb_set(ao, ELM_ACCESS_INFO, _access_info_cb, layout);
- elm_object_focus_custom_chain_append(layout, ao, NULL);
-
- btn = elm_button_add(layout);
- elm_object_text_set(btn, "Play");
- elm_object_part_content_set(layout, "elm.swallow.content", btn);
- elm_object_focus_custom_chain_append(layout, btn, NULL);
- evas_object_smart_callback_add(btn, "access,highlighted", _highlighted_cb, btn);
- evas_object_smart_callback_add(btn, "access,unhighlighted", _unhighlighted_cb, btn);
- evas_object_smart_callback_add(btn, "access,read,start", _read_start_cb, btn);
- evas_object_smart_callback_add(btn, "access,read,stop", _read_stop_cb, btn);
- evas_object_smart_callback_add(btn, "access,activated", _activated_cb, btn);
- evas_object_smart_callback_add(btn, "clicked", _clicked_cb, btn);
-
- btn = elm_button_add(layout);
- elm_object_text_set(btn, "button");
- elm_object_part_content_set(layout, "elm.swallow.content2", btn);
- elm_object_focus_custom_chain_append(layout, btn, NULL);
-
- btn = elm_button_add(layout);
- elm_object_text_set(btn, "button");
- elm_object_part_content_set(layout, "elm.swallow.content3", btn);
- elm_object_focus_custom_chain_append(layout, btn, NULL);
-
- btn = elm_button_add(layout);
- elm_object_text_set(btn, "button");
- elm_object_part_content_set(layout, "elm.swallow.content4", btn);
- elm_object_focus_custom_chain_append(layout, btn, NULL);
-
- genlist = _create_inner_genlist(layout);
- elm_object_part_content_set(layout, "elm.swallow.genlist", genlist);
- elm_object_focus_custom_chain_append(layout, genlist, NULL);
-
- toolbar = _create_toolbar(layout);
- elm_object_part_content_set(layout, "elm.swallow.toolbar", toolbar);
- elm_object_focus_custom_chain_append(layout, toolbar, NULL);
-
- elm_object_content_set(scroller, layout);
-
- elm_naviframe_item_push(navi, _("Scroll Test"), NULL, NULL, scroller, NULL);
-}
-
-static char *
-_overlap_test_access_info_cb(void *data, Evas_Object *obj)
-{
- if (data) return strdup(data);
- return NULL;
-}
-
-static void _access_activate_cb(void *data, Evas_Object *part_obj, Elm_Object_Item *item)
-{
- Eina_Strbuf *strbuf;
- char *txt = (char *)data;
-
- strbuf = eina_strbuf_new();
- eina_strbuf_append_printf(strbuf, "%s rectangle is activated", txt);
-
- elm_access_say(eina_strbuf_string_get(strbuf));
- eina_strbuf_free(strbuf);
-}
-
-static Evas_Object *
-_create_layout(Evas_Object *parent)
-{
- Evas_Object *layout;
- Evas_Object *to;
- Evas_Object *red_ao, *green_ao, *blue_ao;
- Eina_List *custom_chain = NULL;
-
- // Create layout
- layout = elm_layout_add(parent);
-
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "overlap_test");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- to = (Evas_Object *)edje_object_part_object_get(elm_layout_edje_get(layout), "red");
- red_ao = elm_access_object_register(to, layout);
- elm_access_info_cb_set(red_ao, ELM_ACCESS_INFO, _overlap_test_access_info_cb, "red");
-
- to = (Evas_Object *)edje_object_part_object_get(elm_layout_edje_get(layout), "green");
- green_ao = elm_access_object_register(to, layout);
- elm_access_info_cb_set(green_ao, ELM_ACCESS_INFO, _overlap_test_access_info_cb, "green");
-
- to = (Evas_Object *)edje_object_part_object_get(elm_layout_edje_get(layout), "blue");
- blue_ao = elm_access_object_register(to, layout);
- elm_access_info_cb_set(blue_ao, ELM_ACCESS_INFO, _overlap_test_access_info_cb, "blue");
-
- custom_chain = eina_list_append(custom_chain, red_ao);
- custom_chain = eina_list_append(custom_chain, green_ao);
- custom_chain = eina_list_append(custom_chain, blue_ao);
-
- elm_access_activate_cb_set(red_ao, _access_activate_cb, "red");
- elm_access_activate_cb_set(green_ao, _access_activate_cb, "green");
- elm_access_activate_cb_set(blue_ao, _access_activate_cb, "blue");
-
- elm_object_focus_custom_chain_set(layout, custom_chain);
-
- return layout;
-}
-
-static Evas_Object *
-_create_fourth_layout(Evas_Object *parent)
-{
- Evas_Object *layout;
- Evas_Object *to;
- Evas_Object *red_ao, *green_ao, *blue_ao;
-
- // Create layout
- layout = elm_layout_add(parent);
-
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "overlap_test");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- to = (Evas_Object *)edje_object_part_object_get(elm_layout_edje_get(layout), "red");
- red_ao = elm_access_object_register(to, layout);
- elm_access_info_cb_set(red_ao, ELM_ACCESS_INFO, _overlap_test_access_info_cb, "red");
-
- to = (Evas_Object *)edje_object_part_object_get(elm_layout_edje_get(layout), "green");
- green_ao = elm_access_object_register(to, layout);
- elm_access_info_cb_set(green_ao, ELM_ACCESS_INFO, _overlap_test_access_info_cb, "green");
-
- to = (Evas_Object *)edje_object_part_object_get(elm_layout_edje_get(layout), "blue");
- blue_ao = elm_access_object_register(to, layout);
- elm_access_info_cb_set(blue_ao, ELM_ACCESS_INFO, _overlap_test_access_info_cb, "blue");
-
- elm_access_activate_cb_set(red_ao, _access_activate_cb, "red");
- elm_access_activate_cb_set(green_ao, _access_activate_cb, "green");
- elm_access_activate_cb_set(blue_ao, _access_activate_cb, "blue");
-
- return layout;
-}
-
-static void
-_gl_third_sel(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *item;
-
- item = (Elm_Object_Item *) event_info;
- if (!item) return;
-
- elm_genlist_item_selected_set(item, EINA_FALSE);
-
- Evas_Object *layout;
-
- layout = _create_layout(data);
-
- elm_naviframe_item_push(data, _("Overlap Test"), NULL, NULL, layout, NULL);
-}
-
-static void _activate_cb(void *data, Evas_Object * obj, void *event_info)
-{
- Evas_Object *entry;
-
- if (data) entry = data;
- else entry = obj;
-
- elm_entry_input_panel_show(entry);
-}
-
-static Evas_Object *
-_create_fifth_layout(Evas_Object *parent)
-{
- Evas_Object *layout, *en, *label;
-
- // Create layout
- layout = elm_layout_add(parent);
-
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "activate_test");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- label = elm_label_add(parent);
- elm_object_text_set(label, "Open input panel by 1 finger double tap.");
- elm_object_part_content_set(layout, "elm.swallow.label", label);
-
- en = elm_entry_add(parent);
- ea_entry_selection_back_event_allow_set(en, EINA_TRUE);
- elm_entry_input_panel_enabled_set(en, EINA_FALSE);
- elm_object_part_content_set(layout, "elm.swallow.entry", en);
-
- evas_object_smart_callback_add(label, "access,activate", _activate_cb, en);
- evas_object_smart_callback_add(en, "access,activate", _activate_cb, NULL);
-
- return layout;
-}
-
-static void _access_highlight_chain_set(Elm_Object_Item *it)
-{
- Evas_Object *content;
- Evas_Object *it_ao;
- Evas_Object *to, *red_ao, *green_ao, *blue_ao;
-
- content = elm_object_item_content_get(it);
-
- it_ao = elm_object_item_access_object_get(it);
-
- to = (Evas_Object *)edje_object_part_object_get(elm_layout_edje_get(content), "blue");
- blue_ao = elm_access_object_get(to);
-
- to = (Evas_Object *)edje_object_part_object_get(elm_layout_edje_get(content), "green");
- green_ao = elm_access_object_get(to);
-
- to = (Evas_Object *)edje_object_part_object_get(elm_layout_edje_get(content), "red");
- red_ao = elm_access_object_get(to);
-
- elm_access_highlight_next_set(it_ao, ELM_HIGHLIGHT_DIR_NEXT, blue_ao);
- elm_access_highlight_next_set(blue_ao, ELM_HIGHLIGHT_DIR_NEXT, green_ao);
- elm_access_highlight_next_set(green_ao, ELM_HIGHLIGHT_DIR_NEXT, red_ao);
- elm_access_highlight_next_set(red_ao, ELM_HIGHLIGHT_DIR_NEXT, it_ao);
-}
-
-static void _access_changed_cb(void *data, Evas_Object * obj, void *event_info)
-{
- Eina_List *items, *l = NULL;
- Elm_Object_Item *it;
-
- if (!elm_config_access_get()) return;
-
- items = elm_naviframe_items_get(obj);
- EINA_LIST_FOREACH(items, l, it) {
- if (it == data) _access_highlight_chain_set(it);
- }
-}
-
-static void
-_gl_fourth_sel(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *item;
-
- item = (Elm_Object_Item *) event_info;
- if (!item) return;
-
- elm_genlist_item_selected_set(item, EINA_FALSE);
-
- Evas_Object *layout;
-
- layout = _create_fourth_layout(data);
-
- item = elm_naviframe_item_push(data, _("Access Changed"), NULL, NULL, layout, NULL);
- _access_highlight_chain_set(item);
-
- evas_object_smart_callback_add(data, "access,changed", _access_changed_cb, item);
-}
-
-static void
-_gl_fifth_sel(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *item;
-
- item = (Elm_Object_Item *) event_info;
- if (!item) return;
-
- elm_genlist_item_selected_set(item, EINA_FALSE);
-
- Evas_Object *layout;
-
- layout = _create_fifth_layout(data);
-
- elm_naviframe_item_push(data, _("Access Activate"), NULL, NULL, layout, NULL);
-}
-
-static Evas_Object *
-_create_genlist(Evas_Object *parent)
-{
- Evas_Object * genlist;
-
- // Create genlist
- genlist = elm_genlist_add(parent);
-
- // Set genlist item class
- Elm_Genlist_Item_Class *itc = elm_genlist_item_class_new();
- itc->item_style = "1text.1icon";
- itc->func.text_get = _gl_text_get;
- itc->func.content_get = _gl_content_get;
- itc->func.state_get = NULL;
- itc->func.del = NULL;
-
- // Append items
- elm_genlist_item_append(genlist, itc, (void *)1, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, NULL);
- elm_genlist_item_append(genlist, itc, (void *)2, NULL, ELM_GENLIST_ITEM_NONE, _gl_second_sel, parent);
- elm_genlist_item_append(genlist, itc, (void *)3, NULL, ELM_GENLIST_ITEM_NONE, _gl_third_sel, parent);
- elm_genlist_item_append(genlist, itc, (void *)4, NULL, ELM_GENLIST_ITEM_NONE, _gl_fourth_sel, parent);
- elm_genlist_item_append(genlist, itc, (void *)5, NULL, ELM_GENLIST_ITEM_NONE, _gl_fifth_sel, parent);
-
- elm_genlist_item_class_free(itc);
-
- return genlist;
-}
-
-void access_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad = (struct appdata *) data;
- Evas_Object *genlist;
-
- genlist = _create_genlist(ad->nf);
-
- elm_naviframe_item_push(ad->nf, _("Accessibility"), NULL, NULL, genlist, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "dialoguegroup.h"
-#include <Ecore_X.h>
-
-/*********************************************************
- AutoScroll
- ********************************************************/
-
-typedef struct _Autoscroll_Data Autoscroll_Data;
-struct _Autoscroll_Data
-{
- Evas_Object *outer_box;
-};
-
-/* a sample text string */
-static const char entry_input_text[] = {
- "Enlightenment is the flagship and original name bearer "
- "for this project. Once it was just a humble window manager "
- "for X11 that wanted to do things differently. To do them "
- "better, but it has expanded. This can be confusing so when"
- " we refer to Enlightenment, we may mean the project as a "
- "whole or just the window manager proper. The libraries "
- "behind Enlightenment are referred to as EFL collectively,"
- " each with a specific name and purpose. The window manager "
- "is a lean, fast, modular and very extensible window manager "
- "for X11 and Linux. It is classed as a desktop shell providing"
- " the things you need to operate your desktop (or laptop), but"
- "is not a whole application suite. This covered launching "
- "applications, managing their windows and doing other system "
- "tasks like suspending, reboots, managing files etc. "
-};
-
-/* function to create a scroller object */
-static Evas_Object* _create_scroller(Evas_Object* parent)
-{
- Evas_Object* scroller = elm_scroller_add(parent);
- elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE);
- elm_scroller_policy_set(scroller,ELM_SCROLLER_POLICY_OFF,ELM_SCROLLER_POLICY_AUTO);
- evas_object_show(scroller);
-
- return scroller;
-}
-
-static Evas_Object* _create_mutli_scroll_layout(Evas_Object* parent)
-{
- Evas_Object *en;
-
- //Layout for Entries.
- Evas_Object* layout = elm_layout_add(parent);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "ui_entryfields");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
-
- en = elm_entry_add(layout);
- ea_entry_selection_back_event_allow_set(en, EINA_TRUE);
- elm_object_part_content_set(layout, "en_part1", en);
- elm_entry_entry_set(en, "Enlightenment Foundation Lib (EFL).");
- elm_entry_scrollable_set(en, EINA_TRUE);
- elm_scroller_policy_set(en, ELM_SCROLLER_POLICY_OFF,ELM_SCROLLER_POLICY_AUTO);
-
- en = elm_entry_add(layout);
- ea_entry_selection_back_event_allow_set(en, EINA_TRUE);
- elm_object_part_content_set(layout, "en_part2", en);
- elm_entry_entry_set(en, "Elementary is a VERY SIMPLE toolkit. It is not meant for "
- "writing extensive desktop applications");
- elm_entry_scrollable_set(en, EINA_TRUE);
- elm_scroller_policy_set(en, ELM_SCROLLER_POLICY_OFF,ELM_SCROLLER_POLICY_AUTO);
-
- en = elm_entry_add(layout);
- ea_entry_selection_back_event_allow_set(en, EINA_TRUE);
- elm_object_part_content_set(layout, "en_part3", en);
- elm_entry_entry_set(en, "Elementary is meant to make the programmers work almost "
- "brainless but give them lots of flexibility.");
- elm_entry_scrollable_set(en, EINA_TRUE);
- elm_scroller_policy_set(en, ELM_SCROLLER_POLICY_OFF,ELM_SCROLLER_POLICY_AUTO);
-
- en = elm_entry_add(layout);
- ea_entry_selection_back_event_allow_set(en, EINA_TRUE);
- elm_object_part_content_set(layout, "en_part4", en);
- elm_entry_entry_set(en, "Enlightenment, the window manager is built on top of "
- "building blocks known as EFL (the Enlightenment Foundation Libraries).");
- elm_entry_scrollable_set(en, EINA_TRUE);
- elm_scroller_policy_set(en, ELM_SCROLLER_POLICY_OFF,ELM_SCROLLER_POLICY_AUTO);
-
- en = elm_entry_add(layout);
- ea_entry_selection_back_event_allow_set(en, EINA_TRUE);
- elm_object_part_content_set(layout, "en_part5", en);
- elm_entry_entry_set(en, "Enlightenment covers uses from small mobile devices like phones all the "
- "way to powerful multi-core desktops (which are the primary "
- "development environment).");
- elm_entry_scrollable_set(en, EINA_TRUE);
- elm_scroller_policy_set(en, ELM_SCROLLER_POLICY_OFF,ELM_SCROLLER_POLICY_AUTO);
-
- en = elm_entry_add(layout);
- ea_entry_selection_back_event_allow_set(en, EINA_TRUE);
- elm_object_part_content_set(layout, "en_part6", en);
- elm_entry_entry_set(en, "Enlightenment is not just a window manager for Linux/X11 and "
- "others, but also a whole suite of libraries to help you create"
- " beautiful user interfaces with much less work than doing it "
- "the old fashioned way and fighting with traditional toolkits, "
- "not to mention a traditional window manager.");
- elm_entry_scrollable_set(en, EINA_TRUE);
- elm_scroller_policy_set(en, ELM_SCROLLER_POLICY_OFF,ELM_SCROLLER_POLICY_AUTO);
-
- return layout;
-}
-
-static Evas_Object* _create_mutli_scroll2_layout(Evas_Object* parent)
-{
- Evas_Object *en;
-
- //Layout for Entries.
- Evas_Object* layout = elm_layout_add(parent);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "ui_entryfields1");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- en = elm_entry_add(layout);
- ea_entry_selection_back_event_allow_set(en, EINA_TRUE);
- elm_object_part_content_set(layout, "en_part1", en);
- elm_entry_scrollable_set(en, EINA_TRUE);
- elm_entry_entry_set(en,
- "Enlightenment is the flagship and original name bearer "
- "for this project. Once it was just a humble window manager "
- "for X11 that wanted to do things differently. To do them "
- "better, but it has expanded. This can be confusing so when"
- " we refer to Enlightenment, we may mean the project as a"
- " whole or just the window manager proper. The libraries "
- "behind Enlightenment are referred to as EFL collectively,"
- " each with a specific name and purpose. "
- );
-
- en = elm_entry_add(layout);
- ea_entry_selection_back_event_allow_set(en, EINA_TRUE);
- elm_object_part_content_set(layout, "en_part2", en);
- elm_entry_entry_set(en, "Enlightenment covers uses from small mobile devices like phones all the "
- "way to powerful multi-core desktops (which are the primary "
- "development environment).");
- elm_entry_scrollable_set(en, EINA_TRUE);
- elm_scroller_policy_set(en, ELM_SCROLLER_POLICY_OFF,ELM_SCROLLER_POLICY_AUTO);
-
- en = elm_entry_add(layout);
- ea_entry_selection_back_event_allow_set(en, EINA_TRUE);
- elm_object_part_content_set(layout, "en_part3", en);
- elm_entry_entry_set(en, "Enlightenment Foundation Libraries (EFL).");
- elm_entry_scrollable_set(en, EINA_TRUE);
- elm_scroller_policy_set(en, ELM_SCROLLER_POLICY_OFF,ELM_SCROLLER_POLICY_AUTO);
-
- return layout;
-
-}
-
-static Evas_Object* _create_scroll_entry_layout(Evas_Object* parent)
-{
- Evas_Object *en;
- Evas_Object *bx;
-
- bx = elm_box_add(parent);
- evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- en = elm_entry_add(parent);
- ea_entry_selection_back_event_allow_set(en, EINA_TRUE);
- elm_entry_entry_set(en,entry_input_text);
-
- evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(en, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- evas_object_show(en);
- elm_box_pack_end(bx, en);
-
- evas_object_show(bx);
-
- return bx;
-}
-
-/*
-Function :
-Create an outer layout
-Create a conformant widget
-Create a scroller widget
-Add a inner layout to scroller
-Add scroller to conformant widget
-Add conformant widget to outer layout
-*/
-static void add_layout_to_conformant(void *data, Evas_Object *lay_in, const char *title)
-{
- Evas_Object *scroller;
- Evas_Object *outer_layout;
- struct appdata *ad;
-
- ad = (struct appdata *) data;
- if(ad == NULL) return;
-
- /* creating a sample outer layout. Applicaitons have to use their own
- way of creating outer layout */
- outer_layout = elm_layout_add(ad->nf);
- evas_object_size_hint_weight_set(outer_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_layout_file_set(outer_layout, ELM_DEMO_EDJ, "autoscroll_conform");
-
- scroller = _create_scroller(ad->nf);
- elm_object_content_set(scroller, lay_in);
- elm_object_part_content_set(outer_layout, "conform_part", scroller);
- elm_naviframe_item_push(ad->nf, title, NULL, NULL, outer_layout, NULL);
-}
-
-/*
- Test use case : Adding a scroller with editifields to another scroller
- and finally added to elm conformant widget for autoscrolling
-*/
-static void _use_case_multi_scroller_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Evas_Object *lay_in;
-
- ad = (struct appdata *) data;
- if(ad == NULL) return;
-
- lay_in = _create_mutli_scroll_layout(ad->nf);
- add_layout_to_conformant(data, lay_in, _("Scroller"));
-}
-
-/*
- Test use case : Adding a scroller with editifields (with a different size to
- view inner scroller) to another outer scroller
- and finally added to elm conformant widget for autoscrolling
-*/
-static void _use_case_multi_scroller2_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Evas_Object *lay_in;
-
- ad = (struct appdata *) data;
- if(ad == NULL) return;
-
- lay_in = _create_mutli_scroll2_layout(ad->nf);
- add_layout_to_conformant(data, lay_in, _("Scroller in Scroller"));
-}
-
-/*
- Test use case : Adding scrolled entry to elm conformant widget for auto-scrolling
-*/
-static void _use_case_scroll_entry_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *lay_in;
- struct appdata *ad;
-
- ad = (struct appdata *) data;
- if(ad == NULL) return;
-
- lay_in = _create_scroll_entry_layout(ad->nf);
- add_layout_to_conformant(data, lay_in, _("ScrolledEntry"));
-}
-
-static void _list_click(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *it = (Elm_Object_Item *) elm_list_selected_item_get(obj);
- if(it == NULL)
- {
- printf("list item is NULL\n");
- return;
- }
-
- elm_list_item_selected_set(it, EINA_FALSE);
-}
-
-void autoscroll_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad = (struct appdata *) data;
- if(ad == NULL) return;
-
- Evas_Object *list;
-
- ecore_imf_init();
-
- list = elm_list_add(ad->nf);
- elm_list_mode_set(list, ELM_LIST_COMPRESS);
- evas_object_smart_callback_add(list, "selected", _list_click, NULL);
-
- elm_list_item_append(list, "ScrolledEntry", NULL, NULL,
- _use_case_scroll_entry_cb, ad);
- elm_list_item_append(list, "Scroller", NULL, NULL,
- _use_case_multi_scroller_cb, ad);
- elm_list_item_append(list, "Scroller in Scroller", NULL, NULL,
- _use_case_multi_scroller2_cb, ad);
- elm_list_go(list);
-
- elm_naviframe_item_push(ad->nf, _("Autoscroll"), NULL, NULL, list, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "bubble.h"
-
-/*********************************************************
- bubble
-********************************************************/
-
-static char *g_messages[] = {
- "Good morning, Princess?",
- "It's you again. How do you do this?",
- "This is the princess who fell from the sky into my arms.",
- "Yes. We keep meeting like this. You just suddenly show up.",
- "We could make plans to meet.",
- "No, it's nicer this way. I hope we meet again suddenly.",
- "Don't you know that it takes so little to make me happy?",
- "Good morning, Princess! ",
- "This is incredible. You owe me an explanation.",
- "No, you're the one who owes me an explanation. You've really got a crush on me. Where shall we go, Princess?",
- NULL
-};
-
-static char *g_urls[] = {
- NULL,
- ICON_DIR"/Albums_Item/Albums_Item1.jpg",
- ICON_DIR"/Albums_Item/Albums_Item2.jpg", NULL, NULL, NULL,
- ICON_DIR"/Albums_Item/Albums_Item3.jpg", NULL,
- ICON_DIR"/Albums_Item/Albums_Item4.jpg", NULL
-};
-
-static char *g_times[] = {
- "10:00 AM", "10:01 AM", "10:02 AM", "10:03 AM", "10:04 AM", "10:05 AM",
- "3:50 PM", "3:51 PM", "3:52 PM", "3:53 PM", NULL
-};
-
-static Ecore_Animator *g_ani = NULL;
-static int g_msgcnt = 0;
-static Evas_Object *g_scroller = NULL;
-
-static Evas_Object *_create_scroller(Evas_Object *parent);
-
-static Eina_Strbuf *_bubble_message_get(int index)
-{
- Eina_Strbuf *buf = eina_strbuf_new();
-
- // message
- if (g_messages[index])
- eina_strbuf_append(buf, g_messages[index]);
-
- if (g_urls[index]) {
- // padding between text and item
- eina_strbuf_append(buf, "<br><font_size=6><br></font_size>");
- eina_strbuf_append(buf, "<item size=150x150 vsize=full href=file://");
- eina_strbuf_append(buf, g_urls[index]);
- eina_strbuf_append(buf, "></item></align>");
- }
-
- switch (index)
- {
- case 6:
- eina_strbuf_append(buf, "<br><font_size=6><br></font_size>");
- eina_strbuf_append(buf, "File01.jpg(20KB)");
- break;
- case 8:
- eina_strbuf_append(buf, "<br><font_size=6><br></font_size>");
- eina_strbuf_append(buf, "File02.jpg(30KB)");
- break;
- default:
- break;
- }
-
- return buf;
-}
-
-
-static Eina_Bool _bubble_add(void *data)
-{
- Evas_Object *box, *layout, *entry;
- Evas_Object *cicon, *check, *btn1, *pgbar;
- Eina_Strbuf *buf;
-
- if (!g_messages[g_msgcnt]) {
- g_msgcnt = 0;
- g_ani = NULL;
- return ECORE_CALLBACK_CANCEL;
- }
- box = data;
-
- /* Create Layout */
- layout = elm_layout_add(box);
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(layout);
-
- if (g_msgcnt % 2)
- elm_layout_theme_set(layout, "layout", "bubble", "sentmessage/default");
- else
- elm_layout_theme_set(layout, "layout", "bubble", "readmessage/default");
-
- /* Create Entry */
- entry = elm_entry_add(box);
- ea_entry_selection_back_event_allow_set(entry, EINA_TRUE);
- if (g_msgcnt % 2)
- elm_object_style_set(entry, "sentmessage");
- else
- elm_object_style_set(entry, "readmessage");
-
- elm_entry_input_panel_enabled_set(entry, EINA_FALSE);
- elm_entry_editable_set(entry, EINA_FALSE);
- buf = _bubble_message_get(g_msgcnt);
- elm_entry_entry_set(entry, eina_strbuf_string_get(buf));
- eina_strbuf_free(buf);
- elm_object_part_text_set(entry, "elm.text.time", g_times[g_msgcnt]);
- evas_object_show(entry);
-
- switch (g_msgcnt % 9)
- {
- case 1:
- /* group chat name */
- elm_object_signal_emit(entry, "elm,state,groupchat,enabled", "elm");
- elm_object_part_text_set(entry, "elm.text.groupchat", "Josh");
- break;
- case 2:
- /* caller ID */
- cicon = elm_image_add(box);
- elm_image_file_set(cicon, ICON_DIR"/genlist/iu.jpg", NULL);
- elm_object_signal_emit(entry, "elm,state,callerid,enabled", "elm");
- elm_object_part_content_set(entry, "elm.swallow.callerid", cicon);
-
- /* status text*/
- elm_object_part_text_set(entry, "elm.text.status", "Unread");
-
- /* icon */
- elm_object_signal_emit(entry, "elm,state,contents,enabled", "elm");
- btn1 = elm_button_add(entry);
- elm_object_style_set(btn1, "reveal");
- elm_object_part_content_set(entry, "elm.swallow.icon1", btn1);
- break;
- case 3:
- /* group chat name */
- elm_object_signal_emit(entry, "elm,state,groupchat,enabled", "elm");
- elm_object_part_text_set(entry, "elm.text.groupchat", "Josh");
-
- /* caller ID */
- cicon = elm_image_add(box);
- elm_image_file_set(cicon, ICON_DIR"/genlist/top.jpg", NULL);
- elm_object_signal_emit(entry, "elm,state,callerid,enabled", "elm");
- elm_object_part_content_set(entry, "elm.swallow.callerid", cicon);
-
- /* status icon*/
- elm_object_signal_emit(entry, "elm,state,content,status,enabled", "elm");
- pgbar = elm_progressbar_add(box);
- elm_object_style_set(pgbar, "list_process_small");
- evas_object_size_hint_align_set(pgbar, EVAS_HINT_FILL, 0.5);
- evas_object_size_hint_weight_set(pgbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_progressbar_pulse(pgbar, EINA_TRUE);
- elm_object_part_content_set(entry, "elm.swallow.status", pgbar);
- break;
- case 4:
- /* group chat name */
- elm_object_signal_emit(entry, "elm,state,groupchat,enabled", "elm");
- elm_object_part_text_set(entry, "elm.text.groupchat", "Ellie");
-
- /* status text*/
- elm_object_part_text_set(entry, "elm.text.status", "Unread");
- break;
- case 5:
- /* caller ID */
- cicon = elm_image_add(box);
- elm_image_file_set(cicon, ICON_DIR"/genlist/top.jpg", NULL);
- elm_object_signal_emit(entry, "elm,state,callerid,enabled", "elm");
- elm_object_part_content_set(entry, "elm.swallow.callerid", cicon);
-
- /* status text*/
- elm_object_part_text_set(entry, "elm.text.status", "Sent");
- break;
- case 6:
- /* group chat name */
- elm_object_signal_emit(entry, "elm,state,groupchat,enabled", "elm");
- elm_object_part_text_set(entry, "elm.text.groupchat", "Ellie");
-
- /* caller ID */
- cicon = elm_image_add(box);
- elm_image_file_set(cicon, ICON_DIR"/genlist/iu.jpg", NULL);
- elm_object_signal_emit(entry, "elm,state,callerid,enabled", "elm");
- elm_object_part_content_set(entry, "elm.swallow.callerid", cicon);
- break;
- case 7:
- /* icon */
- elm_object_signal_emit(entry, "elm,state,contents,enabled", "elm");
- btn1 = elm_button_add(entry);
- elm_object_style_set(btn1, "cancel");
- elm_object_part_content_set(entry, "elm.swallow.icon1", btn1);
- break;
- case 8:
- /* select icon */
- check = elm_check_add(box);
- elm_check_state_set(check, EINA_TRUE);
- elm_layout_signal_emit(layout, "elm,state,select,enable", "elm");
- elm_object_part_content_set(layout, "elm.swallow.select_icon", check);
- break;
- default:
- break;
- }
-
- elm_object_part_content_set(layout, "elm.icon", entry);
- elm_box_pack_end(box, layout);
-
- g_msgcnt++;
- return ECORE_CALLBACK_RENEW;
-}
-
-static Evas_Object *
-_create_bubbles(Evas_Object *parent)
-{
- Evas_Object *box, *rect;
-
- box = elm_box_add(parent);
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, 0.0);
- evas_object_show(box);
-
- /* Add top padding */
- rect = evas_object_rectangle_add(evas_object_evas_get(box));
- evas_object_size_hint_min_set(rect, 0, 30*elm_config_scale_get());
- evas_object_show(rect);
- elm_box_pack_end(box, rect);
-
- g_ani = ecore_animator_add(_bubble_add, box);
-
- return box;
-}
-
-static Evas_Object *
-_create_scroller(Evas_Object *parent)
-{
- Evas_Object *scroller = elm_scroller_add(parent);
-
- elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE);
- elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO);
- evas_object_show(scroller);
-
- return scroller;
-}
-
-static Eina_Bool
-_pop_cb(void *data, Elm_Object_Item *it)
-{
- if (g_ani) ecore_animator_del(g_ani);
- g_ani = NULL;
- return EINA_TRUE;
-}
-
-void
-bubble_cb(void *data, Evas_Object * obj, void *event_info)
-{
- struct appdata *ad;
- Elm_Object_Item *navi_it;
-
- ad = (struct appdata *)data;
- if (ad == NULL) return;
-
- Evas_Object *scroller, *layout_inner;
-
- scroller = _create_scroller(ad->nf);
- navi_it = elm_naviframe_item_push(ad->nf, _("Bubble"), NULL, NULL, scroller, NULL);
- elm_naviframe_item_pop_cb_set(navi_it, _pop_cb, NULL);
- g_scroller = scroller;
-
- layout_inner = _create_bubbles(ad->nf);
- elm_object_content_set(scroller, layout_inner);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "button.h"
-#include "style_button.h"
-
-/*********************************************************
- button
- ********************************************************/
-static Evas_Object *_create_scroller(Evas_Object * parent);
-static Evas_Object *_create_buttons(Evas_Object * parent);
-static void _style_normal_cb(void *data, Evas_Object * obj, void *event_info);
-static void _style_extended_cb(void *data, Evas_Object * obj, void *event_info);
-
-static struct _menu_item _menu_its[] = {
- {"Normal Styles", _style_normal_cb},
- {"Extended Styles", _style_extended_cb},
- {"Custom Style", style_button_cb},
- /* do not delete below */
- {NULL, NULL}
-};
-
-enum {
- EXPAND_OPENED_STYLE = 1001, /* Normal Expand styles */
- EXPAND_CLOSED_STYLE = 1002,
- EXPAND_OPENED_EXTEND_STYLE = 1003, /* Extended Expand styles */
- EXPAND_CLOSED_EXTEND_STYLE = 1004,
- EXPAND_ICON_OPENED_STYLE = 1005,
- EXPAND_ICON_CLOSED_STYLE = 1006,
- EXPAND_ICON_OPENED_EXTEND_STYLE = 1007,
- EXPAND_ICON_CLOSED_EXTEND_STYLE = 1008
-}expand_styles;
-
-static int toggle = 0;
-static int toggle1 = 0;
-
-static void _list_click(void *data, Evas_Object * obj, void *event_info)
-{
- Elm_Object_Item *it = (Elm_Object_Item *) elm_list_selected_item_get(obj);
-
- if (!it) {
- fprintf(stderr, "list item is NULL\n");
- return;
- }
-
- elm_list_item_selected_set(it, EINA_FALSE);
-}
-
-static void _go_button_clicked_cb(void *data, Evas_Object * obj, void *event_info)
-{
- int param = (int)(long)(data);
- char buf[PATH_MAX];
- Evas_Object *btn = obj;
-
- switch (param) {
- case EXPAND_OPENED_STYLE:
- case EXPAND_OPENED_EXTEND_STYLE:
- if (toggle == 0) {
- /* expand button closed style */
- if (param == EXPAND_OPENED_STYLE) snprintf(buf, sizeof(buf), "expand/closed");
- /* expand button closed extended style */
- else if (param == EXPAND_OPENED_EXTEND_STYLE) snprintf(buf, sizeof(buf), "expand/closed/extended");
-
- toggle = 1;
- } else {
- /* expand button opened style */
- if (param == EXPAND_OPENED_STYLE) snprintf(buf, sizeof(buf), "expand/opened");
- /* expand button opened extended style */
- else if (param == EXPAND_OPENED_EXTEND_STYLE) snprintf(buf, sizeof(buf), "expand/opened/extended");
-
- toggle = 0;
- }
- elm_object_style_set(btn, buf);
- printf("clicked event on Button:%d\n", param);
- break;
- case EXPAND_ICON_OPENED_STYLE:
- case EXPAND_ICON_OPENED_EXTEND_STYLE:
- if (toggle1 == 0) {
- /* icon button closed style*/
- if (param == EXPAND_ICON_OPENED_STYLE) snprintf(buf, sizeof(buf), "icon_expand_opened");
- /* icon button closed extended style*/
- else if (param == EXPAND_ICON_OPENED_EXTEND_STYLE) snprintf(buf, sizeof(buf), "icon_expand_opened/extended");
-
- toggle1 = 1;
- } else {
- /* icon button opened style*/
- if (param == EXPAND_ICON_OPENED_STYLE) snprintf(buf, sizeof(buf), "icon_expand_closed");
- /* icon button opened extended style*/
- else if (param == EXPAND_ICON_OPENED_EXTEND_STYLE) snprintf(buf, sizeof(buf), "icon_expand_closed/extended");
-
- toggle1 = 0;
- }
- elm_object_style_set(btn, buf);
- printf("clicked event on Button:%d\n", param);
- break;
- default:
- printf("clicked event on Button:%d\n", param);
- break;
- }
-}
-
-static void _go_button_unpressed_cb(void *data, Evas_Object * obj, void *event_info)
-{
- int param = (int)(long)(data);
-
- printf("unpressed event on Button:%d\n", param);
-}
-
-static char *_access_info_cb(void *data, Evas_Object *obj)
-{
- char *ret;
- int param = (int)(long)(data);
- Eina_Strbuf *buf;
-
- buf = eina_strbuf_new();
- switch (param) {
- case EXPAND_OPENED_STYLE:
- case EXPAND_OPENED_EXTEND_STYLE:
- eina_strbuf_append_printf(buf, "expand style for %d", param);
- break;
- case EXPAND_ICON_OPENED_STYLE:
- case EXPAND_ICON_OPENED_EXTEND_STYLE:
- eina_strbuf_append_printf(buf, "expand icon style for %d", param);
- break;
- default:
- eina_strbuf_append_printf(buf, "there is no text to read on %d", param);
- break;
- }
-
- ret = eina_strbuf_string_steal(buf);
- eina_strbuf_free(buf);
- return ret;
-}
-static Evas_Object *_create_list_winset(struct appdata *ad)
-{
- Evas_Object *li;
- struct _menu_item *menu_its;
- int idx = 0;
-
- if (!ad) return NULL;
-
- li = elm_list_add(ad->nf);
- elm_list_mode_set(li, ELM_LIST_COMPRESS);
- evas_object_smart_callback_add(li, "selected", _list_click, NULL);
-
- menu_its = _menu_its;
- while (menu_its[idx].name != NULL) {
- elm_list_item_append(li, menu_its[idx].name, NULL, NULL, menu_its[idx].func, ad);
- ++idx;
- }
- elm_list_go(li);
-
- return li;
-}
-
-static Evas_Object *_create_buttons(Evas_Object * parent)
-{
- Evas_Object *btn;
- Evas_Object *layout;
- Evas_Object *ic;
- char buf[PATH_MAX];
- toggle = 0;
- toggle1 = 0;
-
- layout = elm_layout_add(parent);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "elmdemo-test/button");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- btn = elm_button_add(layout);
- elm_object_part_content_set(layout, "btn_reveal", btn);
- elm_object_style_set(btn, "reveal");
- evas_object_smart_callback_add(btn, "clicked", _go_button_clicked_cb, (void *)1);
- evas_object_smart_callback_add(btn, "unpressed", _go_button_unpressed_cb, (void *)1);
- elm_access_info_cb_set(btn, ELM_ACCESS_INFO, _access_info_cb, (void *)1);
-
- btn = elm_button_add(layout);
- elm_object_part_content_set(layout, "btn_expand", btn);
- elm_object_style_set(btn, "expand/opened");
- evas_object_smart_callback_add(btn, "clicked", _go_button_clicked_cb, (void *)EXPAND_OPENED_STYLE);
- evas_object_smart_callback_add(btn, "unpressed", _go_button_unpressed_cb, (void *)EXPAND_OPENED_STYLE);
- elm_access_info_cb_set(btn, ELM_ACCESS_INFO, _access_info_cb, (void *)EXPAND_OPENED_STYLE);
-
- btn = elm_button_add(layout);
- elm_object_part_content_set(layout, "btn_info", btn);
- elm_object_style_set(btn, "info");
- evas_object_smart_callback_add(btn, "clicked", _go_button_clicked_cb, (void *)3);
- evas_object_smart_callback_add(btn, "unpressed", _go_button_unpressed_cb, (void *)3);
- elm_access_info_cb_set(btn, ELM_ACCESS_INFO, _access_info_cb, (void *)3);
-
- btn = elm_button_add(layout);
- elm_object_part_content_set(layout, "btn_rename", btn);
- elm_object_style_set(btn, "rename");
- evas_object_smart_callback_add(btn, "clicked", _go_button_clicked_cb, (void *)4);
- evas_object_smart_callback_add(btn, "unpressed", _go_button_unpressed_cb, (void *)4);
- elm_access_info_cb_set(btn, ELM_ACCESS_INFO, _access_info_cb, (void *)4);
-
- btn = elm_button_add(layout);
- elm_object_part_content_set(layout, "btn_call", btn);
- elm_object_style_set(btn, "call");
- evas_object_smart_callback_add(btn, "clicked", _go_button_clicked_cb, (void *)5);
- evas_object_smart_callback_add(btn, "unpressed", _go_button_unpressed_cb, (void *)5);
- elm_access_info_cb_set(btn, ELM_ACCESS_INFO, _access_info_cb, (void *)5);
-
- btn = elm_button_add(layout);
- elm_object_part_content_set(layout, "btn_warning", btn);
- elm_object_style_set(btn, "warning");
- evas_object_smart_callback_add(btn, "clicked", _go_button_clicked_cb, (void *)6);
- evas_object_smart_callback_add(btn, "unpressed", _go_button_unpressed_cb, (void *)6);
- elm_access_info_cb_set(btn, ELM_ACCESS_INFO, _access_info_cb, (void *)6);
-
- btn = elm_button_add(layout);
- elm_object_part_content_set(layout, "btn_plus", btn);
- elm_object_style_set(btn, "plus");
- evas_object_smart_callback_add(btn, "clicked", _go_button_clicked_cb, (void *)7);
- evas_object_smart_callback_add(btn, "unpressed", _go_button_unpressed_cb, (void *)7);
- elm_access_info_cb_set(btn, ELM_ACCESS_INFO, _access_info_cb, (void *)7);
-
- btn = elm_button_add(layout);
- elm_object_part_content_set(layout, "btn_minus", btn);
- elm_object_style_set(btn, "minus");
- evas_object_smart_callback_add(btn, "clicked", _go_button_clicked_cb, (void *)8);
- evas_object_smart_callback_add(btn, "unpressed", _go_button_unpressed_cb, (void *)8);
- elm_access_info_cb_set(btn, ELM_ACCESS_INFO, _access_info_cb, (void *)8);
-
- btn = elm_button_add(layout);
- elm_object_part_content_set(layout, "btn_cancel", btn);
- elm_object_style_set(btn, "cancel");
- evas_object_smart_callback_add(btn, "clicked", _go_button_clicked_cb, (void *)9);
- evas_object_smart_callback_add(btn, "unpressed", _go_button_unpressed_cb, (void *)9);
- elm_access_info_cb_set(btn, ELM_ACCESS_INFO, _access_info_cb, (void *)9);
-
- btn = elm_button_add(layout);
- elm_object_part_content_set(layout, "btn_send", btn);
- elm_object_style_set(btn, "send");
- evas_object_smart_callback_add(btn, "clicked", _go_button_clicked_cb, (void *)10);
- evas_object_smart_callback_add(btn, "unpressed", _go_button_unpressed_cb, (void *)10);
- elm_access_info_cb_set(btn, ELM_ACCESS_INFO, _access_info_cb, (void *)10);
-
- btn = elm_button_add(layout);
- elm_object_part_content_set(layout, "btn_contact", btn);
- elm_object_style_set(btn, "contact");
- evas_object_smart_callback_add(btn, "clicked", _go_button_clicked_cb, (void *)11);
- evas_object_smart_callback_add(btn, "unpressed", _go_button_unpressed_cb, (void *)11);
- elm_access_info_cb_set(btn, ELM_ACCESS_INFO, _access_info_cb, (void *)11);
-
- btn = elm_button_add(layout);
- elm_object_part_content_set(layout, "btn_circle", btn);
- ic = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/00_controlbar_icon_logs.png", ICON_DIR);
- elm_image_file_set(ic, buf, NULL);
- elm_image_resizable_set(ic, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(btn, "icon", ic);
- elm_object_style_set(btn, "circle/empty");
- evas_object_smart_callback_add(btn, "clicked", _go_button_clicked_cb, (void *)12);
- evas_object_smart_callback_add(btn, "unpressed", _go_button_unpressed_cb, (void *)12);
- elm_access_info_cb_set(btn, ELM_ACCESS_INFO, _access_info_cb, (void *)12);
-
- btn = elm_button_add(layout);
- elm_object_part_content_set(layout, "btn_icon_plus", btn);
- elm_object_style_set(btn, "icon_plus");
- evas_object_smart_callback_add(btn, "clicked", _go_button_clicked_cb, (void *)13);
- evas_object_smart_callback_add(btn, "unpressed", _go_button_unpressed_cb, (void *)13);
- elm_access_info_cb_set(btn, ELM_ACCESS_INFO, _access_info_cb, (void *)13);
-
- btn = elm_button_add(layout);
- elm_object_part_content_set(layout, "btn_icon_minus", btn);
- elm_object_style_set(btn, "icon_minus");
- evas_object_smart_callback_add(btn, "clicked", _go_button_clicked_cb, (void *)14);
- evas_object_smart_callback_add(btn, "unpressed", _go_button_unpressed_cb, (void *)14);
- elm_access_info_cb_set(btn, ELM_ACCESS_INFO, _access_info_cb, (void *)14);
-
- btn = elm_button_add(layout);
- elm_object_part_content_set(layout, "btn_icon_expand", btn);
- elm_object_style_set(btn, "icon_expand_closed");
- evas_object_smart_callback_add(btn, "clicked", _go_button_clicked_cb, (void *)EXPAND_ICON_OPENED_STYLE);
- evas_object_smart_callback_add(btn, "unpressed", _go_button_unpressed_cb, (void *)EXPAND_ICON_OPENED_STYLE);
- elm_access_info_cb_set(btn, ELM_ACCESS_INFO, _access_info_cb, (void *)EXPAND_ICON_OPENED_STYLE);
-
- btn = elm_button_add(layout);
- elm_object_part_content_set(layout, "btn_style1", btn);
- elm_object_style_set(btn, "style1");
- ic = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/00_button_call.png", ICON_DIR);
- elm_image_file_set(ic, buf, NULL);
- evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(ic, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(btn, "icon", ic);
- elm_object_text_set(btn, _("style1"));
- evas_object_smart_callback_add(btn, "clicked", _go_button_clicked_cb, (void *)15);
- evas_object_smart_callback_add(btn, "unpressed", _go_button_unpressed_cb, (void *)15);
- elm_access_info_cb_set(btn, ELM_ACCESS_INFO, _access_info_cb, (void *)15);
-
- btn = elm_button_add(layout);
- elm_object_part_content_set(layout, "btn_expandable_number", btn);
- elm_object_style_set(btn, "expandable_number");
- elm_object_text_set(btn, _("1"));
- evas_object_smart_callback_add(btn, "clicked", _go_button_clicked_cb, (void *)16);
- evas_object_smart_callback_add(btn, "unpressed", _go_button_unpressed_cb, (void *)16);
- elm_access_info_cb_set(btn, ELM_ACCESS_INFO, _access_info_cb, (void *)16);
-
- btn = elm_button_add(layout);
- elm_object_part_content_set(layout, "btn_sweep", btn);
- elm_object_style_set(btn, "sweep");
- elm_object_text_set(btn, _("sweep"));
- evas_object_smart_callback_add(btn, "clicked", _go_button_clicked_cb, (void *)17);
- evas_object_smart_callback_add(btn, "unpressed", _go_button_unpressed_cb, (void *)17);
- elm_access_info_cb_set(btn, ELM_ACCESS_INFO, _access_info_cb, (void *)17);
-
- btn = elm_button_add(layout);
- elm_object_part_content_set(layout, "btn_multibuttonentry", btn);
- elm_object_style_set(btn, "multibuttonentry");
- elm_object_text_set(btn, _("MBE"));
- evas_object_smart_callback_add(btn, "clicked", _go_button_clicked_cb, (void *)18);
- evas_object_smart_callback_add(btn, "unpressed", _go_button_unpressed_cb, (void *)18);
- elm_access_info_cb_set(btn, ELM_ACCESS_INFO, _access_info_cb, (void *)18);
-
- btn = elm_button_add(layout);
- elm_object_part_content_set(layout, "btn_naviframe_title_text", btn);
- elm_object_style_set(btn, "naviframe/title_text");
- elm_object_text_set(btn, _("Create"));
- evas_object_smart_callback_add(btn, "clicked", _go_button_clicked_cb, (void *)19);
- evas_object_smart_callback_add(btn, "unpressed", _go_button_unpressed_cb, (void *)19);
- elm_access_info_cb_set(btn, ELM_ACCESS_INFO, _access_info_cb, (void *)19);
-
- return layout;
-}
-
-static Evas_Object *_create_extended_style_buttons(Evas_Object * parent)
-{
- Evas_Object *btn;
- Evas_Object *layout;
- toggle = 0;
- toggle1 = 0;
-
- layout = elm_layout_add(parent);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "elmdemo-test/button-extended");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- btn = elm_button_add(layout);
- elm_object_part_content_set(layout, "btn_reveal", btn);
- elm_object_style_set(btn, "reveal/extended");
- evas_object_smart_callback_add(btn, "clicked", _go_button_clicked_cb, (void *)1);
- evas_object_smart_callback_add(btn, "unpressed", _go_button_unpressed_cb, (void *)1);
-
- btn = elm_button_add(layout);
- elm_object_part_content_set(layout, "btn_expand", btn);
- elm_object_style_set(btn, "expand/opened/extended");
- evas_object_smart_callback_add(btn, "clicked", _go_button_clicked_cb, (void *)EXPAND_OPENED_EXTEND_STYLE);
- evas_object_smart_callback_add(btn, "unpressed", _go_button_unpressed_cb, (void *)EXPAND_OPENED_EXTEND_STYLE);
-
- btn = elm_button_add(layout);
- elm_object_part_content_set(layout, "btn_info", btn);
- elm_object_style_set(btn, "info/extended");
- evas_object_smart_callback_add(btn, "clicked", _go_button_clicked_cb, (void *)3);
- evas_object_smart_callback_add(btn, "unpressed", _go_button_unpressed_cb, (void *)3);
-
- btn = elm_button_add(layout);
- elm_object_part_content_set(layout, "btn_rename", btn);
- elm_object_style_set(btn, "rename/extended");
- evas_object_smart_callback_add(btn, "clicked", _go_button_clicked_cb, (void *)4);
- evas_object_smart_callback_add(btn, "unpressed", _go_button_unpressed_cb, (void *)4);
-
- btn = elm_button_add(layout);
- elm_object_part_content_set(layout, "btn_call", btn);
- elm_object_style_set(btn, "call/extended");
- evas_object_smart_callback_add(btn, "clicked", _go_button_clicked_cb, (void *)5);
- evas_object_smart_callback_add(btn, "unpressed", _go_button_unpressed_cb, (void *)5);
-
- btn = elm_button_add(layout);
- elm_object_part_content_set(layout, "btn_warning", btn);
- elm_object_style_set(btn, "warning/extended");
- evas_object_smart_callback_add(btn, "clicked", _go_button_clicked_cb, (void *)6);
- evas_object_smart_callback_add(btn, "unpressed", _go_button_unpressed_cb, (void *)6);
-
- btn = elm_button_add(layout);
- elm_object_part_content_set(layout, "btn_plus", btn);
- elm_object_style_set(btn, "plus/extended");
- evas_object_smart_callback_add(btn, "clicked", _go_button_clicked_cb, (void *)7);
- evas_object_smart_callback_add(btn, "unpressed", _go_button_unpressed_cb, (void *)7);
-
- btn = elm_button_add(layout);
- elm_object_part_content_set(layout, "btn_minus", btn);
- elm_object_style_set(btn, "minus/extended");
- evas_object_smart_callback_add(btn, "clicked", _go_button_clicked_cb, (void *)8);
- evas_object_smart_callback_add(btn, "unpressed", _go_button_unpressed_cb, (void *)8);
-
- btn = elm_button_add(layout);
- elm_object_part_content_set(layout, "btn_cancel", btn);
- elm_object_style_set(btn, "cancel/extended");
- evas_object_smart_callback_add(btn, "clicked", _go_button_clicked_cb, (void *)9);
- evas_object_smart_callback_add(btn, "unpressed", _go_button_unpressed_cb, (void *)9);
-
- btn = elm_button_add(layout);
- elm_object_part_content_set(layout, "btn_send", btn);
- elm_object_style_set(btn, "send/extended");
- evas_object_smart_callback_add(btn, "clicked", _go_button_clicked_cb, (void *)10);
- evas_object_smart_callback_add(btn, "unpressed", _go_button_unpressed_cb, (void *)10);
-
- btn = elm_button_add(layout);
- elm_object_part_content_set(layout, "btn_icon_plus", btn);
- elm_object_style_set(btn, "icon_plus/extended");
- evas_object_smart_callback_add(btn, "clicked", _go_button_clicked_cb, (void *)11);
- evas_object_smart_callback_add(btn, "unpressed", _go_button_unpressed_cb, (void *)11);
-
- btn = elm_button_add(layout);
- elm_object_part_content_set(layout, "btn_icon_minus", btn);
- elm_object_style_set(btn, "icon_minus/extended");
- evas_object_smart_callback_add(btn, "clicked", _go_button_clicked_cb, (void *)12);
- evas_object_smart_callback_add(btn, "unpressed", _go_button_unpressed_cb, (void *)12);
-
- return layout;
-}
-
-static Evas_Object *_create_scroller(Evas_Object * parent)
-{
- Evas_Object *scroller = elm_scroller_add(parent);
-
- elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE);
- elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO);
- evas_object_show(scroller);
-
- return scroller;
-}
-
-static void _style_normal_cb(void *data, Evas_Object * obj, void *event_info)
-{
- Evas_Object *scroller, *layout_inner;
-
- struct appdata *ad = (struct appdata *)data;
-
- if (!ad) return;
-
- scroller = _create_scroller(ad->nf);
- elm_naviframe_item_push(ad->nf, _("Normal Styles"), NULL, NULL, scroller, NULL);
-
- layout_inner = _create_buttons(ad->nf);
- elm_object_content_set(scroller, layout_inner);
-}
-
-static void _style_extended_cb(void *data, Evas_Object * obj, void *event_info)
-{
- Evas_Object *scroller, *layout_inner;
-
- struct appdata *ad = (struct appdata *)data;
-
- if (!ad) return;
-
- scroller = _create_scroller(ad->nf);
- elm_naviframe_item_push(ad->nf, _("Extended Styles"), NULL, NULL, scroller, NULL);
-
- layout_inner = _create_extended_style_buttons(ad->nf);
- elm_object_content_set(scroller, layout_inner);
-}
-
-void button_cb(void *data, Evas_Object * obj, void *event_info)
-{
- struct appdata *ad;
-
- Evas_Object *list;
-
- ad = (struct appdata *)data;
- if (!ad) return;
-
- list = _create_list_winset(ad);
- elm_naviframe_item_push(ad->nf, _("Button"), NULL, NULL, list, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "center_popup.h"
-
-/*********************************************************
- popup
- ********************************************************/
-static Evas_Object *popup_global = NULL;
-static Evas_Object *popup_global_2 = NULL;
-static Elm_Genlist_Item_Class itc;
-static Ecore_Timer *pb_timer = NULL;
-static Ecore_Timer *del_timer = NULL;
-static Evas_Object *list = NULL;
-static Eina_Bool rotcb_set = EINA_FALSE;
-static Eina_Bool rotation_cb = EINA_FALSE;
-static int state_index = 0; //selected radio index
-static Evas_Object *gen_popup = NULL;
-
-#define IMAGE_MAX 20
-
-typedef struct _Item_Data
-{
- int index;
- Evas_Object *genlist;
- Elm_Object_Item *item;
-} Item_Data;
-
-static void _on_rotation_changed(void *data, Evas_Object *obj, void *event_info );
-static void _on_rotation_gengrid_1line_change(void *data, Evas_Object *obj, void *event_info );
-static void _on_rotation_gengrid_2line_change(void *data, Evas_Object *obj, void *event_info );
-static void _on_rotation_gengrid_3line_change(void *data, Evas_Object *obj, void *event_info );
-static void _text_rotation_changed(void *data, Evas_Object *obj, void *event_info );
-
-typedef struct _Colorplane_Data Colorplane_Data;
-struct _Colorplane_Data
-{
- Evas_Object *layout;
- Evas_Object *colorselector;
- Elm_Object_Item *it_last;
- Elm_Object_Item *sel_it;
- struct appdata *ad;
- Eina_Bool changed;
- int r, g, b, a;
-};
-
-typedef struct _Testitem
-{
- Elm_Object_Item *item;
- const char *text;
- const char *path;
-} Testitem;
-
-typedef struct _grid_data
-{
- Elm_Object_Item *selected_item;
- Eina_Bool selected;
-} grid_data;
-
-static char *Items[] = {
- "Benny Benassi", "Main Item 2", "Main Item 3",
- "Main Item 4", "Main Item 5", "Main Item 6",
- "Main Item 7", "Main Item 8"
-};
-static char *Sub_Items[] = {
- "08282828282", "Sub Item 2", "Sub Item 3",
- "Sub Item 4", "Sub Item 5", "Sub Item 6",
- "Sub Item 7", "Sub Item 8"
-};
-
-static void _popup_del_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
-{
- if (elm_object_scroll_freeze_get(list)) elm_object_scroll_freeze_pop(list);
-}
-static Eina_Bool _pop_cb(void *data, Elm_Object_Item *it)
-{
- if (pb_timer) {
- ecore_timer_del(pb_timer);
- pb_timer = NULL;
- }
- if (del_timer) {
- ecore_timer_del(del_timer);
- del_timer = NULL;
- }
- if (popup_global) {
- evas_object_del(popup_global);
- popup_global = NULL;
- }
- elm_theme_extension_del(NULL, ELM_DEMO_EDJ);
-
- return EINA_TRUE;
-}
-
-static void _genlist_click(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *it = (Elm_Object_Item *) elm_genlist_selected_item_get(obj);
- if (it == NULL) {
- fprintf(stderr, "list item is NULL\n");
- return;
- }
-
- elm_genlist_item_selected_set(it, EINA_FALSE);
-}
-
-static void _list_click(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *it = (Elm_Object_Item *) elm_list_selected_item_get(obj);
- if (!it) return;
- elm_list_item_selected_set(it, EINA_FALSE);
-}
-
-static void _block_clicked_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (del_timer) {
- ecore_timer_del(del_timer);
- del_timer = NULL;
- }
- if (rotation_cb) {
- evas_object_smart_callback_del(elm_object_top_widget_get(obj), "rotation,changed", _text_rotation_changed);
- rotation_cb = EINA_FALSE;
- }
- evas_object_del(obj);
-}
-
-static void _timeout_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (del_timer) {
- ecore_timer_del(del_timer);
- del_timer = NULL;
- }
- evas_object_del(obj);
-}
-
-static void _response_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup = data;
- if (pb_timer) {
- ecore_timer_del(pb_timer);
- pb_timer = NULL;
- }
- if (del_timer) {
- ecore_timer_del(del_timer);
- del_timer = NULL;
- }
-
- if (rotcb_set) {
- evas_object_smart_callback_del(elm_object_top_widget_get(popup), "rotation,changed", _on_rotation_changed);
- rotcb_set = EINA_FALSE;
- }
-
- evas_object_del(data);
-}
-
-static void _password_changed_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (elm_object_part_content_get(obj, "elm.swallow.clear")) {
- if (elm_object_focus_get(obj)) {
- if (elm_entry_is_empty(obj))
- elm_object_signal_emit(obj, "elm,state,clear,hidden", "");
- else
- elm_object_signal_emit(obj, "elm,state,clear,visible", "");
- }
- }
-}
-
-static void _password_focused_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (elm_object_part_content_get(obj, "elm.swallow.clear")) {
- if (!elm_entry_is_empty(obj))
- elm_object_signal_emit(obj, "elm,state,clear,visible", "");
- else
- elm_object_signal_emit(obj, "elm,state,clear,hidden", "");
- }
- elm_object_signal_emit(obj, "elm,state,focus,on", "");
-}
-
-static void _password_unfocused_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (elm_object_part_content_get(obj, "elm.swallow.clear"))
- elm_object_signal_emit(obj, "elm,state,clear,hidden", "");
- elm_object_signal_emit(obj, "elm,state,focus,off", "");
-}
-
-static void _eraser_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info)
-{
- elm_entry_entry_set(data, "");
-}
-
-static void _password_check_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *layout = data;
- Evas_Object *entry = elm_object_part_content_get(layout, "elm.swallow.content");
- Eina_Bool state;
- state = elm_check_state_get(obj);
-
- if (state)
- elm_entry_password_set(entry, EINA_FALSE);
- else
- elm_entry_password_set(entry, EINA_TRUE);
-}
-
-static void _response_global_cb(void *data, Evas_Object *obj, void *event_info)
-{
- elm_object_scroll_freeze_pop(list);
- if (pb_timer) {
- ecore_timer_del(pb_timer);
- pb_timer = NULL;
- }
- if (del_timer) {
- ecore_timer_del(del_timer);
- del_timer = NULL;
- }
- evas_object_hide(data);
-}
-
-static void _list_item_click(Evas_Object *obj, int index)
-{
- printf("Index of the list=%d\n", index);
- evas_object_del(obj);
-}
-
-static void _test(void *data, Evas_Object *obj, void *event_info)
-{
- if (!data) return;
- Evas_Object *e_n = (Evas_Object *)data;
- if (!elm_entry_is_empty(obj) && elm_entry_is_empty(e_n)) {
- elm_object_focus_set(e_n, EINA_TRUE);
- elm_entry_cursor_end_set(e_n);
- }
-}
-
-static Eina_Bool _timer_cb(void *data)
-{
- Evas_Object *popup = (Evas_Object *)data;
- _timeout_cb(NULL, popup, NULL);
- del_timer = NULL;
- return ECORE_CALLBACK_CANCEL;
-}
-
-static void _item_selected(void *data, Evas_Object *obj, void *event_info)
-{
- printf("item selected: %p\n", event_info);
-}
-
-static char * grid_text_get(void *data, Evas_Object *obj, const char *part)
-{
- Testitem *ti = (Testitem *)data;
-
- if (!strcmp(part, "elm.text"))
- return strdup(ti->text);
-
- return NULL;
-}
-
-static Evas_Object * grid_content_get(void *data, Evas_Object *obj, const char *part)
-{
- Testitem *ti = (Testitem *)data;
-
- if(!strcmp(part, "elm.swallow.icon")) {
- Evas_Object *icon = elm_image_add(obj);
- elm_image_file_set(icon, ti->path, NULL);
- elm_image_aspect_fixed_set(icon, EINA_FALSE);
- elm_image_preload_disabled_set(icon, EINA_FALSE);
- evas_object_show(icon);
- return icon;
- }
-
- return NULL;
-}
-
-static void
-_gengrid_sel(void *data, Evas_Object *obj, void *ei)
-{
- evas_object_smart_callback_del(elm_object_top_widget_get(data), "rotation,changed", _on_rotation_gengrid_1line_change);
- evas_object_smart_callback_del(elm_object_top_widget_get(data), "rotation,changed", _on_rotation_gengrid_2line_change);
- evas_object_smart_callback_del(elm_object_top_widget_get(data), "rotation,changed", _on_rotation_gengrid_3line_change);
- evas_object_del(data);
-}
-
-static void
-_gengrid_sel_mode(void *data, Evas_Object *obj, void *ei)
-{
- grid_data *gd = data;
- elm_gengrid_item_selected_set(ei, EINA_FALSE);
- printf("sel | item:%p, sel_it:%p, sel:%d\n",ei, gd->selected_item, gd->selected);
- if(gd->selected && gd->selected_item == ei){
- gd->selected = EINA_FALSE;
- gd->selected_item = NULL;
- }
- else{
- elm_object_item_signal_emit(ei, "elm,select,enabled", "");
- gd->selected = EINA_TRUE;
- gd->selected_item = ei;
- }
-}
-
-static void
-_gengrid_unsel_mode(void *data, Evas_Object *obj, void *ei)
-{
- grid_data *gd = data;
- printf("unsel | item:%p, sel_it:%p, sel:%d\n",ei, gd->selected_item, gd->selected);
- if(gd->selected_item)
- elm_object_item_signal_emit(gd->selected_item, "elm,select,disabled", "");
-}
-
-static Evas_Object *
-_create_gengrid(void *data, Evas_Object *popup, int row, int col, void *gdata)
-{
- Evas_Object *parent = (Evas_Object *)data;
- Evas_Object *gengrid;
- Elm_Gengrid_Item_Class *gic;
- int i, j, n, w, h;
- char buf[PATH_MAX];
- static Testitem ti[IMAGE_MAX];
- grid_data *gd = gdata;
-
- gengrid = elm_gengrid_add(parent);
- elm_object_style_set(gengrid, "popup");
- evas_object_size_hint_weight_set(gengrid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_gengrid_align_set(gengrid, 0.5, 0.5);
-
- double scale = elm_config_scale_get();
- w = (int)((190 + (4 * 2)) * scale); // Gengrid item width (image area width + left/right padding) from Winset UX Guide
- h = (int)((150 + (37 * 2)) * scale); // Gengrid item height (image area height + top/bottom padding) from Winset UX Guide
-
- elm_gengrid_item_size_set(gengrid, w, h);
- if (gd) {
- gd->selected = EINA_FALSE;
- gd->selected_item = NULL;
- evas_object_smart_callback_add(gengrid, "selected", _gengrid_sel_mode, gd);
- evas_object_smart_callback_add(gengrid, "unselected", _gengrid_unsel_mode, gd);
- } else evas_object_smart_callback_add(gengrid, "selected", _gengrid_sel, popup);
-
- gic = elm_gengrid_item_class_new();
- gic->item_style = "default";
- gic->func.text_get = grid_text_get;
- gic->func.content_get = grid_content_get;
- gic->func.state_get = NULL;
- gic->func.del = NULL;
-
- for (j = 0; j < row; j++) {
- for (i = 0; i < col; i++) {
- n = i + (j * IMAGE_MAX);
- snprintf(buf, sizeof(buf), "%s/grid_image/%d_raw.jpg", ICON_DIR, i + 1);
- ti[n].path = eina_stringshare_add(buf);
-
- ti[n].item = elm_gengrid_item_append(gengrid, gic, &(ti[n]), _item_selected,
- &(ti[i]));
- if (n % 4 == 0)
- ti[n].text = strdup("yyyjjjyyyABCDEFG");
- else if (n % 4 == 1)
- ti[n].text = strdup("ABCDEFGBiiijjjhhk");
- else if (n % 4 == 2)
- ti[n].text = strdup("LMNOPLKDKlkixjjjii");
- else
- ti[n].text = strdup("I have long name.jpg");
- }
- }
- elm_gengrid_item_class_free(gic);
-
- elm_scroller_policy_set(gengrid, ELM_SCROLLER_POLICY_OFF,ELM_SCROLLER_POLICY_OFF);
- evas_object_show(gengrid);
- return gengrid;
-}
-
-static void _back_text_popup_cb(void *data, Evas_Object *obj, void *event_info )
-{
- if (rotation_cb) {
- evas_object_smart_callback_del(elm_object_top_widget_get(obj), "rotation,changed", _text_rotation_changed);
- rotation_cb = EINA_FALSE;
- }
-}
-
-
-static void _popup_label_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- Evas_Object *scroller;
- struct appdata *ad;
- Evas_Object *layout;
- Evas_Object *label;
- int rotation;
- char str[1000]= {'\0'};
-
- ad = (struct appdata *) data;
- popup = ea_center_popup_add(ad->nf);
- elm_object_scroll_freeze_push(list);
-
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, _back_text_popup_cb, NULL);
-
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- strcpy(str, "This popup has only text which can be set by two ways, "
- "if text is small set is via description text. If text is more than a "
- "limit,create a layout in popup, this layout will have a scroller which "
- "minimum value will be decided by application from layout and then "
- "label will have text.Add this label to scroller and scroller is added "
- "to layout, then set layout as content of popup.This way to be used when "
- " application has text will does not fit in screen and popup needs to "
- " be restricted in size after a limit. ");
-
- if (strlen(str) < 500) {
- elm_object_text_set(popup, str);
- }
- else {
- layout = elm_layout_add(popup);
- rotation = elm_win_rotation_get(ad->win_main);
- if (rotation == 90 || rotation == 270)
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "label_layout_landscape");
- else
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "label_layout");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- label = elm_label_add(popup);
- elm_object_style_set(label, "popup/default");
- elm_label_line_wrap_set(label, ELM_WRAP_MIXED);
- elm_object_text_set(label, str);
- evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(label, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(label);
-
- scroller = elm_scroller_add(layout);
- elm_scroller_bounce_set(scroller, EINA_TRUE, EINA_TRUE);
- elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO);
- evas_object_show(scroller);
- elm_object_content_set(scroller, label);
-
- elm_object_part_content_set(layout, "elm.swallow.content", scroller);
-
- elm_object_content_set(popup, layout);
- evas_object_smart_callback_add(elm_object_top_widget_get(popup), "rotation,changed", _text_rotation_changed, layout);
- rotation_cb = EINA_TRUE;
- }
-
- evas_object_smart_callback_add(popup, "block,clicked", _block_clicked_cb,
- NULL);
- evas_object_show(popup);
-}
-
-static void _popup_center_info_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- struct appdata *ad;
-
- ad = (struct appdata *) data;
- popup = ea_center_popup_add(ad->nf);
- elm_object_scroll_freeze_push(list);
-
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, _back_text_popup_cb, NULL);
-
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_text_set(popup, "This popup has only text which is set via desc set"
- " function, (This popup gets hidden when user "
- " clicks outside) here timeout of 3 sec is set.");
- evas_object_smart_callback_add(popup, "block,clicked", _block_clicked_cb,
- NULL);
- if (!elm_config_access_get())
- {
- elm_popup_timeout_set(popup, 3.0);
- evas_object_smart_callback_add(popup, "timeout", _timeout_cb, NULL);
- }
- else
- {
- evas_object_smart_callback_add(popup, "access,read,stop", _timeout_cb, NULL);
- }
- evas_object_show(popup);
-
-}
-
-static void _popup_center_title_info_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- struct appdata *ad;
-
- ad = (struct appdata *) data;
- popup = ea_center_popup_add(ad->nf);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
-
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_part_text_set(popup, "title,text", "Title");
- evas_object_smart_callback_add(popup, "block,clicked", _block_clicked_cb,
- NULL);
- elm_popup_timeout_set(popup, 3.0);
- elm_object_text_set(popup,"This Popup has title area and description area "
- "testing wrapping ABCDE-FGHIJ-KLMNO-PQRST-UVWXYZ (This popup gets "
- "hidden when user clicks outside and has a timeout of 3 seconds)");
- evas_object_smart_callback_add(popup, "timeout", _timeout_cb, NULL);
- evas_object_show(popup);
-}
-
-static void _popup_center_basic_2button_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- Evas_Object *popup;
- struct appdata *ad;
- Evas_Object *btn1;
- Evas_Object *btn2;
-
- ad = (struct appdata *) data;
- popup = ea_center_popup_add(ad->nf);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_text_set(popup,"This Popup has content area and "
- "action area, action area has two buttons OK and Cancel.");
- btn1 = elm_button_add(popup);
- elm_object_style_set(btn1, "popup");
- elm_object_text_set(btn1, "OK");
- elm_object_part_content_set(popup, "button1", btn1);
- evas_object_smart_callback_add(btn1, "clicked", _response_cb, popup);
- btn2 = elm_button_add(popup);
- elm_object_style_set(btn2, "popup");
- elm_object_text_set(btn2, "Cancel");
- elm_object_part_content_set(popup, "button2", btn2);
- evas_object_smart_callback_add(btn2, "clicked", _response_cb, popup);
- evas_object_show(popup);
-}
-
-static void _popup_center_basic_3button_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- Evas_Object *popup;
- struct appdata *ad;
- Evas_Object *btn1;
- Evas_Object *btn2;
- Evas_Object *btn3;
-
- ad = (struct appdata *) data;
- popup = ea_center_popup_add(ad->nf);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
-
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_text_set(popup,"This Popup has content area and "
- "action area, action area has two buttons OK, Cancel and Close.");
- btn1 = elm_button_add(popup);
- elm_object_style_set(btn1, "popup");
- elm_object_text_set(btn1, "OK");
- elm_object_part_content_set(popup, "button1", btn1);
- evas_object_smart_callback_add(btn1, "clicked", _response_cb, popup);
- btn2 = elm_button_add(popup);
- elm_object_style_set(btn2, "popup");
- elm_object_text_set(btn2, "Cancel");
- elm_object_part_content_set(popup, "button2", btn2);
- evas_object_smart_callback_add(btn2, "clicked", _response_cb, popup);
- btn3 = elm_button_add(popup);
- elm_object_style_set(btn3, "popup");
- elm_object_text_set(btn3, "Close");
- elm_object_part_content_set(popup, "button3", btn3);
- evas_object_smart_callback_add(btn3, "clicked", _response_cb, popup);
- evas_object_show(popup);
-}
-
-static void _popup_center_vertical_2button_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- struct appdata *ad;
- Evas_Object *btn1;
- Evas_Object *btn2;
-
- ad = (struct appdata *) data;
- popup = ea_center_popup_add(ad->nf);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
- elm_object_style_set(popup, "verticalbuttonstyle");
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_text_set(popup,"This popup has content area and two buttons,"
- " aligned vertically.");
- elm_layout_signal_emit(popup, "elm,state,2button", "elm");
- btn1 = elm_button_add(popup);
- elm_object_style_set(btn1, "popup");
- elm_object_text_set(btn1, "OK");
- elm_object_part_content_set(popup, "button1", btn1);
- evas_object_smart_callback_add(btn1, "clicked", _response_cb, popup);
- btn2 = elm_button_add(popup);
- elm_object_style_set(btn2, "popup");
- elm_object_text_set(btn2, "Cancel");
- elm_object_part_content_set(popup, "button2", btn2);
- evas_object_smart_callback_add(btn2, "clicked", _response_cb, popup);
- evas_object_show(popup);
-}
-
-static void _popup_center_vertical_3button_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- struct appdata *ad;
- Evas_Object *btn1;
- Evas_Object *btn2;
- Evas_Object *btn3;
-
- ad = (struct appdata *) data;
- popup = ea_center_popup_add(ad->nf);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
- elm_object_style_set(popup, "verticalbuttonstyle");
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_text_set(popup,"This popup has content area and three buttons,"
- " aligned vertically.");
- btn1 = elm_button_add(popup);
- elm_object_style_set(btn1, "popup");
- elm_object_text_set(btn1, "OK");
- elm_object_part_content_set(popup, "button1", btn1);
- evas_object_smart_callback_add(btn1, "clicked", _response_cb, popup);
- btn2 = elm_button_add(popup);
- elm_object_style_set(btn2, "popup");
- elm_object_text_set(btn2, "Cancel");
- elm_object_part_content_set(popup, "button2", btn2);
- evas_object_smart_callback_add(btn2, "clicked", _response_cb, popup);
- btn3 = elm_button_add(popup);
- elm_object_style_set(btn3, "popup");
- elm_object_text_set(btn3, "Close");
- elm_object_part_content_set(popup, "button3", btn3);
- evas_object_smart_callback_add(btn3, "clicked", _response_cb, popup);
- evas_object_show(popup);
-}
-
-static void _popup_center_title_2button_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- Evas_Object *btn1;
- Evas_Object *btn2;
- struct appdata *ad = (struct appdata *) data;
-
- popup = ea_center_popup_add(ad->nf);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_text_set(popup,"This Popup has title area, content area and action"
- " area set, action area has two buttons OK and Cancel.");
- elm_object_part_text_set(popup, "title,text", "Title");
- btn1 = elm_button_add(popup);
- elm_object_style_set(btn1, "popup");
- elm_object_text_set(btn1, "OK");
- elm_object_part_content_set(popup, "button1", btn1);
- evas_object_smart_callback_add(btn1, "clicked", _response_cb, popup);
- btn2 = elm_button_add(popup);
- elm_object_style_set(btn2, "popup");
- elm_object_text_set(btn2, "Cancel");
- elm_object_part_content_set(popup, "button2", btn2);
- evas_object_smart_callback_add(btn2, "clicked", _response_cb, popup);
- evas_object_show(popup);
-}
-
-static void _popup_center_basic_1button_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- Evas_Object *btn1;
- struct appdata *ad = (struct appdata *) data;
-
- popup = ea_center_popup_add(ad->nf);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_text_set(popup,"This Popup has content area and "
- "action area, action area has one button OK.");
- btn1 = elm_button_add(popup);
- elm_object_style_set(btn1, "popup");
- elm_object_text_set(btn1, "OK");
- elm_object_part_content_set(popup, "button1", btn1);
- evas_object_smart_callback_add(btn1, "clicked", _response_cb, popup);
- evas_object_show(popup);
-}
-
-static void _popup_center_title_1_button_back_cb(void *data, Evas_Object *obj, void *event_info)
-{
- evas_object_del(obj);
- popup_global = NULL;
-}
-
-static void _popup_center_title_1button_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *btn1;
- struct appdata *ad = (struct appdata *) data;
-
- elm_object_scroll_freeze_push(list);
- if (popup_global) {
- evas_object_show(popup_global);
- } else {
- popup_global = ea_center_popup_add(ad->nf);
- evas_object_event_callback_add
- (popup_global, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup_global, EA_CALLBACK_BACK,
- _popup_center_title_1_button_back_cb, NULL);
-
- elm_object_part_text_set(popup_global, "title,text", "Title");
- elm_object_text_set(popup_global, "This Popup has title area,"
- " content area and action area,"
- " action area has one button OK");
- btn1 = elm_button_add(popup_global);
- elm_object_style_set(btn1, "popup");
- elm_object_text_set(btn1, "OK");
- elm_object_part_content_set(popup_global, "button1", btn1);
- evas_object_smart_callback_add(btn1, "clicked", _response_global_cb, popup_global);
- evas_object_show(popup_global);
- }
-}
-
-static Eina_Bool _fn_pb_timer(void *data)
-{
- double value=0.0;
- Evas_Object *progressbar = (Evas_Object*) data;
-
- value = elm_progressbar_value_get(progressbar);
- if (value == 1.0) {
- _timeout_cb(NULL, popup_global_2, NULL);
- pb_timer = NULL;
- return ECORE_CALLBACK_CANCEL;
- }
- value = value + 0.01;
- elm_progressbar_value_set(progressbar, value);
-
- return ECORE_CALLBACK_RENEW;
-}
-
-static void _popup_center_processing_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- Evas_Object *progressbar;
- struct appdata *ad;
- Evas_Object *layout;
- Evas_Object *label;
-
- ad = (struct appdata *) data;
- popup = ea_center_popup_add(ad->nf);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
- label = elm_label_add(popup);
- elm_label_line_wrap_set(label, ELM_WRAP_MIXED);
- elm_object_text_set(label, "pop-up dialog box, a child window that blocks user interact to the parent");
- evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(label, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(label);
-
- layout = elm_layout_add(popup);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_processingview");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- progressbar = elm_progressbar_add(popup);
- elm_progressbar_pulse(progressbar, EINA_TRUE);
- elm_object_style_set(progressbar, "process_large");
- elm_progressbar_horizontal_set(progressbar, EINA_TRUE);
- evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_show(progressbar);
-
- elm_object_part_content_set(layout, "elm.swallow.content", progressbar);
- elm_object_part_content_set(layout, "elm.swallow.text", label);
-
- elm_object_content_set(popup, layout);
- elm_popup_timeout_set(popup, 3.0);
- evas_object_smart_callback_add(popup, "timeout", _timeout_cb, NULL);
- popup_global_2 = popup;
- evas_object_show(popup);
-}
-
-static void _popup_center_processing_1button_back_cb(void *data, Evas_Object *obj, void *event_info)
-{
- evas_object_del(obj);
- popup_global_2 = NULL;
-}
-
-static void _popup_center_processing_1button_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- Evas_Object *progressbar;
- struct appdata *ad;
- Evas_Object *layout;
- Evas_Object *btn1;
-
- ad = (struct appdata *) data;
- popup = ea_center_popup_add(ad->nf);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, _popup_center_processing_1button_back_cb, NULL);
-
- layout = elm_layout_add(popup);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_processingview_1button");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- progressbar = elm_progressbar_add(popup);
- elm_progressbar_pulse(progressbar, EINA_TRUE);
- elm_object_style_set(progressbar, "process_large");
- elm_progressbar_horizontal_set(progressbar, EINA_TRUE);
- evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_show(progressbar);
-
- elm_object_part_content_set(layout, "elm.swallow.content", progressbar);
- elm_object_part_text_set(layout, "elm.text", "processing ");
-
- elm_object_content_set(popup, layout);
- btn1 = elm_button_add(popup);
- elm_object_style_set(btn1, "popup");
- elm_object_text_set(btn1, "Cancel");
- elm_object_part_content_set(popup, "button1", btn1);
- evas_object_smart_callback_add(btn1, "clicked", _response_cb, popup);
- popup_global_2 = popup;
- evas_object_show(popup);
-}
-
-static void _popup_center_progressbar_back_cb(void *data, Evas_Object *obj, void *event_info)
-{
- evas_object_del(obj);
- popup_global_2 = NULL;
-
- if (pb_timer) {
- ecore_timer_del(pb_timer);
- pb_timer = NULL;
- }
-}
-
-static void _popup_center_progressbar_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- Evas_Object *progressbar;
- struct appdata *ad;
- Evas_Object *layout;
- Evas_Object *btn1;
- Evas_Object *btn2;
- Evas_Object *btn3;
-
- ad = (struct appdata *) data;
- popup = ea_center_popup_add(ad->nf);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, _popup_center_progressbar_back_cb, NULL);
-
- layout = elm_layout_add(popup);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_center_progressview");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- progressbar = elm_progressbar_add(popup);
- elm_object_style_set(progressbar, "list_progress");
- elm_progressbar_horizontal_set(progressbar, EINA_TRUE);
- evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_progressbar_value_set(progressbar, 0.0);
- pb_timer = ecore_timer_add(0.1, _fn_pb_timer, progressbar);
- evas_object_show(progressbar);
-
- elm_object_part_content_set(layout, "elm.swallow.content", progressbar);
- elm_object_part_text_set(layout, "elm.title", "Text Text");
- elm_object_part_text_set(layout, "elm.text.left", "Text");
- elm_object_part_text_set(layout, "elm.text.right", "TextTextTextText");
-
- elm_object_content_set(popup, layout);
- btn1 = elm_button_add(popup);
- elm_object_style_set(btn1, "popup");
- elm_object_text_set(btn1, "Ok");
- elm_object_part_content_set(popup, "button1", btn1);
- evas_object_smart_callback_add(btn1, "clicked", _response_cb, popup);
- btn2 = elm_button_add(popup);
- elm_object_style_set(btn2, "popup");
- elm_object_text_set(btn2, "Cancel");
- elm_object_part_content_set(popup, "button2", btn2);
- evas_object_smart_callback_add(btn2, "clicked", _response_cb, popup);
- btn3 = elm_button_add(popup);
- elm_object_style_set(btn3, "popup");
- elm_object_text_set(btn3, "Cancel");
- elm_object_part_content_set(popup, "button3", btn3);
- evas_object_smart_callback_add(btn3, "clicked", _response_cb, popup);
-
- popup_global_2 = popup;
- evas_object_show(popup);
-}
-
-static void _popup_center_text_progressbar_back_cb(void *data, Evas_Object *obj, void *event_info)
-{
- evas_object_del(obj);
- popup_global_2 = NULL;
-
- if (pb_timer) {
- ecore_timer_del(pb_timer);
- pb_timer = NULL;
- }
-}
-
-static void _popup_center_text_progressbar_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup,*progressbar;
- struct appdata *ad;
- Evas_Object *layout, *label;
- Evas_Object *btn1;
- Evas_Object *btn2;
- Evas_Object *btn3;
-
- ad = (struct appdata *) data;
- popup = ea_center_popup_add(ad->nf);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, _popup_center_text_progressbar_back_cb, NULL);
-
- label = elm_label_add(popup);
- elm_object_style_set(label, "popup/progressview");
- elm_label_line_wrap_set(label, ELM_WRAP_MIXED);
- elm_object_text_set(label, "Push the WPS button on your wireless access point");
- evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(label, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(label);
-
- layout = elm_layout_add(popup);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_center_text_progressview");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- progressbar = elm_progressbar_add(popup);
- elm_object_style_set(progressbar, "list_progress");
- elm_progressbar_horizontal_set(progressbar, EINA_TRUE);
- evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_progressbar_value_set(progressbar, 0.0);
- pb_timer = ecore_timer_add(0.1, _fn_pb_timer, progressbar);
- evas_object_show(progressbar);
-
- elm_object_part_content_set(layout, "elm.swallow.content", label);
- elm_object_part_content_set(layout, "elm.swallow.end", progressbar);
- elm_object_part_text_set(layout, "elm.text.subtext1", "Left-Text");
- elm_object_part_text_set(layout, "elm.text.subtext2", "Right-Text");
-
- evas_object_show(layout);
- elm_object_content_set(popup, layout);
- btn1 = elm_button_add(popup);
- elm_object_style_set(btn1, "popup");
- elm_object_text_set(btn1, "Ok");
- elm_object_part_content_set(popup, "button1", btn1);
- evas_object_smart_callback_add(btn1, "clicked", _response_cb, popup);
- btn2 = elm_button_add(popup);
- elm_object_style_set(btn2, "popup");
- elm_object_text_set(btn2, "Cancel");
- elm_object_part_content_set(popup, "button2", btn2);
- evas_object_smart_callback_add(btn2, "clicked", _response_cb, popup);
- btn3 = elm_button_add(popup);
- elm_object_style_set(btn3, "popup");
- elm_object_text_set(btn3, "Cancel");
- elm_object_part_content_set(popup, "button3", btn3);
- evas_object_smart_callback_add(btn3, "clicked", _response_cb, popup);
- popup_global_2 = popup;
- evas_object_show(popup);
-}
-
-static void _popup_center_check_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- Evas_Object *check;
- Evas_Object *layout;
- Evas_Object *label;
- Evas_Object *btn1;
- Evas_Object *btn2;
- struct appdata *ad;
-
- ad = (struct appdata *) data;
- popup = ea_center_popup_add(ad->nf);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
-
- label = elm_label_add(popup);
- elm_label_line_wrap_set(label, ELM_WRAP_MIXED);
- elm_object_text_set(label, "Use packet data must be enabled to access data service. change settings?");
- evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(label, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(label);
-
- layout = elm_layout_add(popup);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_checkview");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- check = elm_check_add(popup);
- elm_object_style_set(check, "multiline");
- elm_object_text_set(check, "Don't ask again Don't ask again Don't ask again Don't ask again Don't ask again Don't ask again ");
- evas_object_size_hint_align_set(check, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_show(check);
-
- elm_object_part_content_set(layout, "elm.swallow.content", label);
- elm_object_part_content_set(layout, "elm.swallow.end", check);
-
- evas_object_show(layout);
- elm_object_content_set(popup, layout);
- btn1 = elm_button_add(popup);
- elm_object_style_set(btn1, "popup");
- elm_object_text_set(btn1, "OK");
- elm_object_part_content_set(popup, "button1", btn1);
- evas_object_smart_callback_add(btn1, "clicked", _response_cb, popup);
- btn2 = elm_button_add(popup);
- elm_object_style_set(btn2, "popup");
- elm_object_text_set(btn2, "Cancel");
- elm_object_part_content_set(popup, "button2", btn2);
- evas_object_smart_callback_add(btn2, "clicked", _response_cb, popup);
- evas_object_show(popup);
-}
-
-static char *_access_info_cb(void *data, Evas_Object *obj)
-{
- char * text = (char *)data;
- return strdup(text);
-}
-
-static void _popup_center_check_image_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- Evas_Object *check;
- Evas_Object *layout;
- Evas_Object *btn1;
- Evas_Object *btn2;
- Evas_Object *label;
- Evas_Object *icon;
- struct appdata *ad;
- char *text = NULL;
- char buf[1024];
-
- ad = (struct appdata *) data;
- popup = ea_center_popup_add(ad->nf);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
- elm_object_part_text_set(popup, "title,text", "Title");
- label = elm_label_add(popup);
- elm_label_line_wrap_set(label, ELM_WRAP_MIXED);
- elm_object_text_set(label, "Use packet data must be enabled to access data service. change settings?");
- evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(label, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(label);
-
- text = (char*)elm_object_text_get(label);
-
- layout = elm_layout_add(popup);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_checkview_image");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- check = elm_check_add(popup);
- elm_object_text_set(check, "Don't ask again");
- evas_object_size_hint_align_set(check, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_show(check);
-
- icon = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/wood_01.jpg", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_image_aspect_fixed_set(icon, EINA_FALSE);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(layout, "elm.swallow.content", label);
- elm_object_part_content_set(layout, "elm.swallow.icon", icon);
- elm_object_part_content_set(layout, "elm.swallow.end", check);
-
- elm_access_object_unregister(label);
-
- Evas_Object * body = (Evas_Object*)edje_object_part_object_get(_EDJ(popup), "access.body");
- Evas_Object *ao = elm_access_object_register(body, popup);
- elm_access_info_cb_set(ao, ELM_ACCESS_INFO, _access_info_cb, text);
-
- evas_object_show(layout);
- elm_object_content_set(popup, layout);
- btn1 = elm_button_add(popup);
- elm_object_style_set(btn1, "popup");
- elm_object_text_set(btn1, "OK");
- elm_object_part_content_set(popup, "button1", btn1);
- evas_object_smart_callback_add(btn1, "clicked", _response_cb, popup);
- btn2 = elm_button_add(popup);
- elm_object_style_set(btn2, "popup");
- elm_object_text_set(btn2, "Cancel");
- elm_object_part_content_set(popup, "button2", btn2);
- evas_object_smart_callback_add(btn2, "clicked", _response_cb, popup);
- evas_object_show(popup);
-}
-
-static Evas_Object * item_provider(void *images, Evas_Object *en, const char *item)
-{
- Evas_Object *obj = NULL;
- char buf[1024];
-
- if (!strcmp(item, "itemprovider"))
- {
- snprintf(buf, sizeof(buf), "%s/00_button_radio_press1.png", ICON_DIR);
- obj = evas_object_image_filled_add(evas_object_evas_get(en));
- evas_object_image_file_set(obj, buf, NULL);
- }
-
- return obj;
-}
-
-static void _text_rotation_changed(void *data, Evas_Object *obj, void *event_info )
-{
- int rot = -1;
- Evas_Object *win = obj;
- Evas_Object *layout = data;
-
- rot = elm_win_rotation_get(win);
- if (rot == 90 || rot == 270)
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "label_layout_landscape");
- else
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "label_layout");
-}
-
-static void _on_rotation_changed(void *data, Evas_Object *obj, void *event_info )
-{
- int rot = -1;
- Evas_Object *win = obj;
- Evas_Object *layout = data;
-
- rot = elm_win_rotation_get(win);
- if (rot == 90 || rot == 270)
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_smartstay1_landscape");
- else
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_smartstay1");
-}
-
-static void _popup_center_check_text_image_back_cb(void *data, Evas_Object *obj, void *event_info)
-{
- evas_object_del(obj);
-
- if (rotcb_set) {
- evas_object_smart_callback_del(elm_object_top_widget_get(obj), "rotation,changed", _on_rotation_changed);
- rotcb_set = EINA_FALSE;
- }
-}
-
-static void _popup_center_check_text_image_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- Evas_Object *check;
- Evas_Object *layout;
- Evas_Object *inner_layout;
- Evas_Object *scroller;
- Evas_Object *label1;
- Evas_Object *label2;
- Evas_Object *btn;
- Evas_Object *icon;
- struct appdata *ad;
- char buf[1024];
- int rotation;
-
- ad = (struct appdata *) data;
- popup = ea_center_popup_add(ad->nf);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, _popup_center_check_text_image_back_cb, NULL);
-
- elm_object_part_text_set(popup, "title,text", "Smart stay");
-
- label1 = elm_entry_add(popup);
- ea_entry_selection_back_event_allow_set(label1, EINA_TRUE);
- elm_entry_editable_set(label1, EINA_FALSE);
- elm_object_text_set(label1, "<align=left>Smart stay disables screen timeout if device detects that your face is watching the screen.</align>");
- evas_object_size_hint_weight_set(label1, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(label1, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(label1);
-
- label2 = elm_entry_add(popup);
- ea_entry_selection_back_event_allow_set(label2, EINA_TRUE);
- elm_entry_editable_set(label2, EINA_FALSE);
- elm_entry_item_provider_append(label2, item_provider, NULL);
- elm_object_text_set(label2, "<align=left>Smart stay may not work in these situations.<br>"
- "<item size=42x42 vsize=full href=itemprovider></item> when front camera fails to detect face.<br>"
- "<item size=42x42 vsize=full href=itemprovider></item> when using device in the dark.<br>"
- "<item size=42x42 vsize=full href=itemprovider></item> when front camera is used for the application.</align>");
- evas_object_size_hint_weight_set(label2, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(label2, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(label2);
-
- layout = elm_layout_add(popup);
- rotation = elm_win_rotation_get(ad->win_main);
- if (rotation == 90 || rotation == 270)
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_smartstay1_landscape");
- else
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_smartstay1");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- inner_layout = elm_layout_add(popup);
- elm_layout_file_set(inner_layout, ELM_DEMO_EDJ, "popup_smartstay1_internal");
- evas_object_size_hint_weight_set(inner_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- scroller = elm_scroller_add(layout);
- elm_scroller_bounce_set(scroller, EINA_TRUE, EINA_TRUE);
- elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO);
- evas_object_show(scroller);
- elm_object_content_set(scroller, inner_layout);
-
- icon = elm_image_add(inner_layout);
- snprintf(buf, sizeof(buf), "%s/00_img_smart_stay.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_image_aspect_fixed_set(icon, EINA_FALSE);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
-
- elm_object_part_content_set(inner_layout, "elm.swallow.content1", label1);
- elm_object_part_content_set(inner_layout, "elm.swallow.content3", label2);
- elm_object_part_content_set(inner_layout, "elm.swallow.content2", icon);
-
- elm_object_part_content_set(layout, "elm.swallow.layout", scroller);
-
- check = elm_check_add(popup);
- elm_object_text_set(check, "Don't ask again");
- evas_object_size_hint_align_set(check, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- elm_object_part_content_set(layout, "elm.swallow.end", check);
-
- elm_object_content_set(popup, layout);
- btn = elm_button_add(popup);
- elm_object_style_set(btn, "popup");
- elm_object_text_set(btn, "OK");
- elm_object_part_content_set(popup, "button1", btn);
- evas_object_smart_callback_add(btn, "clicked", _response_cb, popup);
-
- evas_object_show(popup);
- evas_object_smart_callback_add(elm_object_top_widget_get(popup), "rotation,changed", _on_rotation_changed, layout);
- rotcb_set = EINA_TRUE;
-}
-
-static void _popup_center_image_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- struct appdata *ad;
- Evas_Object *layout;
- Evas_Object *icon;
- char buf[4096];
-
- ad = (struct appdata *) data;
- popup = ea_center_popup_add(ad->nf);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
-
- elm_object_style_set(popup, "content_expand");
-
- elm_object_part_text_set(popup, "title,text", "Title");
- layout = elm_layout_add(popup);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_center_image");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- icon = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/00_popup_icon_video call.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(layout, "elm.swallow.content", icon);
-
- evas_object_show(layout);
- elm_object_content_set(popup, layout);
- evas_object_smart_callback_add(popup, "block,clicked", _response_cb, popup);
- evas_object_show(popup);
-}
-
-static void _popup_entry_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Evas_Object *popup;
- Evas_Object *layout;
- Evas_Object *entry;
- Evas_Object *btn1;
-
- ad = (struct appdata *) data;
-
- popup = ea_center_popup_add(ad->nf);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
-
- layout = elm_layout_add(popup);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_entryview");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- entry = elm_entry_add(popup);
- ea_entry_selection_back_event_allow_set(entry, EINA_TRUE);
- elm_object_text_set(entry, "This is a scrolled entry hence has a default size");
- elm_object_part_content_set(layout, "elm.swallow.content", entry);
-
- elm_object_content_set(popup, layout);
- btn1 = elm_button_add(popup);
- elm_object_style_set(btn1, "popup");
- elm_object_text_set(btn1, "OK");
- elm_object_part_content_set(popup, "button1", btn1);
- evas_object_smart_callback_add(btn1, "clicked", _response_cb, popup);
- evas_object_show(popup);
-}
-
-static void _popup_entry_password_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Evas_Object *popup;
- Evas_Object *layout;
- Evas_Object *entry;
- Evas_Object *entry2;
- Evas_Object *entry3;
- Evas_Object *entry4;
- static Elm_Entry_Filter_Limit_Size limit_filter_data;
-
- ad = (struct appdata *) data;
- popup = ea_center_popup_add(ad->nf);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
-
- elm_object_part_text_set(popup, "title,text", "Title");
-
- layout = elm_layout_add(popup);
- elm_layout_theme_set(layout, "layout", "popup", "entrypasswordview");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- entry = elm_entry_add(layout);
- ea_entry_selection_back_event_allow_set(entry, EINA_TRUE);
- elm_entry_password_set(entry, EINA_TRUE);
- limit_filter_data.max_byte_count = 0;
- limit_filter_data.max_char_count = 1;
- elm_entry_markup_filter_append(entry, elm_entry_filter_limit_size, &limit_filter_data);
- elm_object_style_set(entry, "popup");
- elm_object_part_content_set(layout, "elm.entry1", entry);
-
- entry2 = elm_entry_add(layout);
- ea_entry_selection_back_event_allow_set(entry2, EINA_TRUE);
- elm_entry_password_set(entry2, EINA_TRUE);
- elm_entry_markup_filter_append(entry2, elm_entry_filter_limit_size, &limit_filter_data);
- elm_object_style_set(entry2, "popup");
- elm_object_part_content_set(layout, "elm.entry2", entry2);
-
- entry3 = elm_entry_add(layout);
- ea_entry_selection_back_event_allow_set(entry3, EINA_TRUE);
- elm_entry_password_set(entry3, EINA_TRUE);
- elm_entry_markup_filter_append(entry3, elm_entry_filter_limit_size,
- &limit_filter_data);
- elm_object_style_set(entry3, "popup");
- elm_object_part_content_set(layout, "elm.entry3", entry3);
-
- entry4 = elm_entry_add(layout);
- ea_entry_selection_back_event_allow_set(entry4, EINA_TRUE);
- elm_entry_password_set(entry4, EINA_TRUE);
- elm_entry_markup_filter_append(entry4, elm_entry_filter_limit_size,
- &limit_filter_data);
- elm_object_style_set(entry4, "popup");
- elm_object_part_content_set(layout, "elm.entry4", entry4);
-
- elm_object_content_set(popup, layout);
- evas_object_smart_callback_add(popup, "block,clicked", _block_clicked_cb,
- NULL);
- evas_object_smart_callback_add(entry, "changed", _test, entry2);
- evas_object_smart_callback_add(entry2, "changed", _test, entry3);
- evas_object_smart_callback_add(entry3, "changed", _test, entry4);
- evas_object_smart_callback_add(entry4, "changed", _test, NULL);
- evas_object_show(popup);
-}
-
-static void _popup_entry_password_2button_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- Evas_Object *layout;
- Evas_Object *entry;
- Evas_Object *check;
- Evas_Object *button;
- struct appdata *ad;
-
- ad = (struct appdata *) data;
- popup = ea_center_popup_add(ad->nf);
-
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
-
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- layout = elm_layout_add(popup);
- elm_layout_theme_set(layout, "layout", "popup", "entrypasswordview_2button");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_part_text_set(popup, "title,text", "Enter password");
-
- entry = elm_entry_add(layout);
- ea_entry_selection_back_event_allow_set(entry, EINA_TRUE);
- elm_object_style_set(entry, "editfield/password/popup");
- elm_entry_single_line_set(entry, EINA_TRUE);
- elm_entry_password_set(entry, EINA_TRUE);
- elm_entry_scrollable_set(entry, EINA_TRUE);
- elm_object_signal_emit(entry, "elm,action,hide,search_icon", "");
- elm_object_part_text_set(entry, "elm.guide", "editfield/password/popup");
- evas_object_smart_callback_add(entry, "changed", _password_changed_cb, NULL);
- evas_object_smart_callback_add(entry, "preedit,changed", _password_changed_cb, NULL);
- evas_object_smart_callback_add(entry, "focused", _password_focused_cb, NULL);
- evas_object_smart_callback_add(entry, "unfocused", _password_unfocused_cb, NULL);
- elm_object_part_content_set(layout, "elm.swallow.content", entry);
-
- button = elm_button_add(layout);
- elm_object_style_set(button, "search_clear");
- elm_object_focus_allow_set(button, EINA_FALSE);
- elm_object_part_content_set(entry, "elm.swallow.clear", button);
- evas_object_smart_callback_add(button, "clicked", _eraser_btn_clicked_cb, entry);
-
- check = elm_check_add(popup);
- elm_object_text_set(check, "Show Password");
- elm_object_focus_allow_set(check, EINA_FALSE);
- evas_object_smart_callback_add(check, "changed", _password_check_cb, layout);
- elm_object_part_content_set(layout, "elm.swallow.end", check);
-
- elm_object_content_set(popup, layout);
-
- button = elm_button_add(popup);
- elm_object_style_set(button, "popup");
- elm_object_text_set(button, "OK");
- elm_object_part_content_set(popup, "button1", button);
- evas_object_smart_callback_add(button, "clicked", _response_cb, popup);
-
- button = elm_button_add(popup);
- elm_object_style_set(button, "popup");
- elm_object_text_set(button, "Cancel");
- elm_object_part_content_set(popup, "button2", button);
- evas_object_smart_callback_add(button, "clicked", _response_cb, popup);
-
- evas_object_show(popup);
-}
-
-static void _popup_entry_2button_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- Evas_Object *layout;
- Evas_Object *entry;
- Evas_Object *check;
- Evas_Object *button;
- struct appdata *ad;
-
- ad = (struct appdata *) data;
- popup = ea_center_popup_add(ad->nf);
- elm_object_signal_emit(popup, "elm,action,center_popup,entry", "");
-
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
-
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- layout = elm_layout_add(popup);
- elm_layout_theme_set(layout, "layout", "popup", "entryview_2button");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_part_text_set(popup, "title,text", "Enter password");
-
- entry = ea_editfield_add(layout, EA_EDITFIELD_SEARCHBAR);
- ea_entry_selection_back_event_allow_set(entry, EINA_TRUE);
- elm_entry_single_line_set(entry, EINA_TRUE);
- elm_entry_scrollable_set(entry, EINA_TRUE);
- elm_object_signal_emit(entry, "elm,action,hide,search_icon", "");
- elm_object_part_text_set(entry, "elm.guide", "editfield/popup");
- evas_object_smart_callback_add(entry, "changed", _password_changed_cb, NULL);
- evas_object_smart_callback_add(entry, "preedit,changed", _password_changed_cb, NULL);
- evas_object_smart_callback_add(entry, "focused", _password_focused_cb, NULL);
- evas_object_smart_callback_add(entry, "unfocused", _password_unfocused_cb, NULL);
- elm_object_part_content_set(layout, "elm.swallow.content", entry);
-
- button = elm_button_add(layout);
- elm_object_style_set(button, "search_clear");
- elm_object_focus_allow_set(button, EINA_FALSE);
- elm_object_part_content_set(entry, "elm.swallow.clear", button);
- evas_object_smart_callback_add(button, "clicked", _eraser_btn_clicked_cb, entry);
-
- check = elm_check_add(popup);
- elm_object_text_set(check, "Show Password");
- elm_object_focus_allow_set(check, EINA_FALSE);
- evas_object_smart_callback_add(check, "changed", _password_check_cb, layout);
- elm_object_part_content_set(layout, "elm.swallow.end", check);
-
- elm_object_content_set(popup, layout);
-
- button = elm_button_add(popup);
- elm_object_style_set(button, "popup");
- elm_object_text_set(button, "OK");
- elm_object_part_content_set(popup, "button1", button);
- evas_object_smart_callback_add(button, "clicked", _response_cb, popup);
-
- button = elm_button_add(popup);
- elm_object_style_set(button, "popup");
- elm_object_text_set(button, "Cancel");
- elm_object_part_content_set(popup, "button2", button);
- evas_object_smart_callback_add(button, "clicked", _response_cb, popup);
-
- evas_object_show(popup);
-}
-
-static void _volume_ver_change_cb(void *data, Evas_Object *obj, void *event_info)
-{
- double value;
- Evas_Object *icon;
- char buf[4096];
- static double old_value = 10.0;
-
- icon = elm_object_part_content_get(obj, "icon");
- value = elm_slider_value_get(obj);
-
- if (value < 1.0 && old_value >= 1.0) {
- snprintf(buf, sizeof(buf), "%s/00_volume_icon_mute.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- }
- else if (value >= 1.0 && old_value < 1.0){
- snprintf(buf, sizeof(buf), "%s/00_volume_icon.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- }
- old_value = value;
- if (del_timer) {
- ecore_timer_del(del_timer);
- del_timer = NULL;
- }
- del_timer = ecore_timer_add(3.0, _timer_cb, data);
-}
-
-static void _popup_volumepopup1_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- Evas_Object *vbar;
- Evas_Object *icon;
- Evas_Object *layout;
- Evas_Object *setting_icon;
- Evas_Object *ao;
- Eina_List *l = NULL;
- char buf[4096];
- char buf1[4096];
-
- popup = ea_center_popup_add(list);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
-
- evas_object_smart_callback_add(popup, "block,clicked", _block_clicked_cb, NULL);
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- layout = elm_layout_add(popup);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_volumebar");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- vbar = elm_slider_add(popup);
- elm_slider_min_max_set(vbar, 0.0, 15.0);
- elm_slider_value_set(vbar, 10.0);
- icon = elm_image_add(popup);
- snprintf(buf, sizeof(buf), "%s/00_volume_icon.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_FALSE, EINA_FALSE);
- elm_object_part_content_set(vbar, "icon", icon);
-
- setting_icon = elm_image_add(layout);
- snprintf(buf1, sizeof(buf1), "%s/00_volume_icon_settings.png", ICON_DIR);
- elm_image_file_set(setting_icon, buf1, NULL);
- elm_image_resizable_set(setting_icon, EINA_TRUE, EINA_TRUE);
-
- elm_object_part_content_set(layout, "elm.swallow.content", vbar);
- elm_object_part_content_set(layout, "elm.swallow.icon", setting_icon);
-
- ao = elm_access_object_register(setting_icon, layout);
- elm_access_info_set(ao, ELM_ACCESS_INFO, "sound setting");
-
- l = eina_list_append(l, vbar);
- l = eina_list_append(l, ao);
-
- elm_object_focus_custom_chain_set(layout, l);
-
- elm_object_content_set(popup, layout);
- evas_object_show(popup);
-}
-
-static void _popup_volumepopup1_text_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- Evas_Object *vbar;
- Evas_Object *setting_icon;
- Evas_Object *icon;
- Evas_Object *layout;
- Evas_Object *layout1;
- char buf[4096];
- char buf1[4096];
-
- popup = ea_center_popup_add(list);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
-
- evas_object_smart_callback_add(popup, "block,clicked", _block_clicked_cb, NULL);
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- layout = elm_layout_add(popup);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_volumebar_text");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- layout1 = elm_layout_add(popup);
- elm_layout_file_set(layout1, ELM_DEMO_EDJ, "popup_volumebar");
- evas_object_size_hint_weight_set(layout1, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- vbar = elm_slider_add(layout1);
- elm_slider_min_max_set(vbar, 0.0, 15.0);
- elm_slider_value_set(vbar, 10.0);
- icon = elm_image_add(layout1);
- snprintf(buf, sizeof(buf), "%s/00_volume_icon.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_FALSE, EINA_FALSE);
- elm_object_part_content_set(vbar, "icon", icon);
-
- setting_icon = elm_image_add(layout1);
- snprintf(buf1, sizeof(buf1), "%s/00_volume_icon_settings.png", ICON_DIR);
- elm_image_file_set(setting_icon, buf1, NULL);
- elm_image_resizable_set(setting_icon, EINA_TRUE, EINA_TRUE);
-
- elm_object_part_content_set(layout1, "elm.swallow.content", vbar);
- elm_object_part_content_set(layout1, "elm.swallow.icon", setting_icon);
- elm_object_part_content_set(layout, "elm.swallow.content1", layout1);
- elm_object_part_text_set(layout, "elm.swallow.text", "High volumes may harm your hearing if you listen for a long time");
-
- evas_object_show(layout1);
- evas_object_show(layout);
- elm_object_content_set(popup, layout);
- evas_object_smart_callback_add(vbar, "changed", _volume_ver_change_cb,popup);
- del_timer = ecore_timer_add(3.0, _timer_cb, popup);
- evas_object_show(popup);
-}
-
-static void _popup_volumepopup_back_cb(void *data, Evas_Object *obj, void *event_info)
-{
- evas_object_del(obj);
- if (del_timer) {
- ecore_timer_del(del_timer);
- del_timer = NULL;
- }
-}
-
-static void _popup_volumepopup_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- Evas_Object *vbar;
- Evas_Object *icon;
- Evas_Object *layout;
- char buf[4096];
-
- popup = ea_center_popup_add(list);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, _popup_volumepopup_back_cb, NULL);
-
- evas_object_smart_callback_add(popup, "block,clicked", _block_clicked_cb, NULL);
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- layout = elm_layout_add(popup);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_volumestyle");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- vbar = elm_slider_add(popup);
- elm_slider_min_max_set(vbar, 0.0, 15.0);
- elm_slider_value_set(vbar, 10.0);
- icon = elm_image_add(popup);
- snprintf(buf, sizeof(buf), "%s/00_volume_icon.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_FALSE, EINA_FALSE);
- elm_object_part_content_set(vbar, "icon", icon);
-
- elm_object_part_content_set(layout, "elm.swallow.content", vbar);
- elm_object_content_set(popup, layout);
- evas_object_smart_callback_add(vbar, "changed", _volume_ver_change_cb,popup);
- del_timer = ecore_timer_add(3.0, _timer_cb, popup);
- evas_object_show(popup);
-}
-
-static void _popup_center_title_3button_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- Evas_Object *btn1;
- Evas_Object *btn2;
- Evas_Object *btn3;
- struct appdata *ad = data;
-
- popup = ea_center_popup_add(ad->nf);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
-
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_text_set(popup,"This Popup has title area, content area and "
- "action area set, action area has three buttons OK, Cancel and "
- "Close.");
- elm_object_part_text_set(popup, "title,text", "Title");
- btn1 = elm_button_add(popup);
- elm_object_style_set(btn1, "popup");
- elm_object_text_set(btn1, "OK");
- elm_object_part_content_set(popup, "button1", btn1);
- evas_object_smart_callback_add(btn1, "clicked", _response_cb, popup);
- btn2 = elm_button_add(popup);
- elm_object_style_set(btn2, "popup");
- elm_object_text_set(btn2, "Cancel");
- elm_object_part_content_set(popup, "button2", btn2);
- evas_object_smart_callback_add(btn2, "clicked", _response_cb, popup);
- btn3 = elm_button_add(popup);
- elm_object_style_set(btn3, "popup");
- elm_object_text_set(btn3, "Close");
- elm_object_part_content_set(popup, "button3", btn3);
- evas_object_smart_callback_add(btn3, "clicked", _response_cb, popup);
- evas_object_show(popup);
-}
-
-static void _gl_sel(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup = data;
- int index = 0;
- Elm_Object_Item *item = (Elm_Object_Item *)event_info;
- if (item) {
- index = (int)elm_object_item_data_get(item);
- fprintf(stdout, "selected text %s\n",Items[index]);
- }
- _list_item_click(popup, index);
-}
-
-static void _gl_radio_sel(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *item = (Elm_Object_Item *) event_info;
-
- if (item) {
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- Evas_Object *radio = elm_object_item_part_content_get(item, "elm.icon");
- state_index = index;
- if (elm_radio_value_get(radio) == index) {
- elm_genlist_item_selected_set(item, EINA_FALSE);
- }
- elm_radio_value_set(radio, state_index);
- }
-}
-
-static void
-_radio_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
- evas_object_del(gen_popup);
-}
-
-static Evas_Object *
-_gl_radio_content_get(void *data, Evas_Object *obj, const char *part)
-{
-
- Item_Data *id = data;
- int index = id->index;
- Evas_Object *radio;
- Evas_Object *radio_main = evas_object_data_get(obj, "radio_main");
-
- if (!strcmp(part, "elm.icon")) {
- radio = elm_radio_add(obj);
- elm_radio_group_add(radio, radio_main);
- elm_radio_state_value_set(radio, index);
- if (index == state_index) elm_radio_value_set(radio, state_index);
- evas_object_size_hint_weight_set(radio, EVAS_HINT_EXPAND,EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(radio, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_propagate_events_set(radio, EINA_FALSE);
- elm_object_signal_callback_add(radio, "elm,action,show,finished", "elm",
- _radio_cb, NULL);
- return radio;
- }
- return NULL;
-}
-
-static char *_gl_radio_text_get(void *data, Evas_Object *obj, const char *part)
-{
- Item_Data *id = (Item_Data *) data;
-
- if (!strcmp(part, "elm.text.sub"))
- return strdup(Sub_Items[id->index]);
- else
- return strdup(Items[id->index]);
-}
-
-static char *_gl_text_get(void *data, Evas_Object *obj, const char *part)
-{
- int index = (int) data;
-
- if (!strcmp(part, "elm.text.sub"))
- return strdup(Sub_Items[index]);
- else
- return strdup(Items[index]);
-}
-
-static Evas_Object *_gl_content_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon;
- if (!strcmp(part, "elm.icon")) {
- icon = elm_image_add(obj);
- elm_image_file_set(icon, ICON_DIR"/genlist/00_brightness_right.png", NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- return icon;
- }
- else {
- return NULL;
- }
-}
-
-static void _gl_realized(void *data, Evas_Object *obj, void *event_info)
-{
- if (!event_info) return;
- int index = (int) elm_object_item_data_get(event_info);
-
- if (index == 7) {
- elm_object_item_signal_emit(event_info, "elm,state,bottomline,hide", "");
- }
-}
-
-static void _popup_center_liststyle_1button_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- int index;
- Evas_Object *genlist;
- Evas_Object *btn1;
- Evas_Object *box;
- struct appdata *ad = data;
-
- popup = ea_center_popup_add(ad->nf);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
-
- elm_object_part_text_set(popup, "title,text", "Title");
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- btn1 = elm_button_add(popup);
- elm_object_style_set(btn1, "popup");
- elm_object_text_set(btn1, "OK");
- elm_object_part_content_set(popup, "button1", btn1);
- evas_object_smart_callback_add(btn1, "clicked", _response_cb, popup);
-
- itc.item_style = "1text/popup";
- itc.func.text_get = _gl_text_get;
- itc.func.content_get = NULL;
- itc.func.state_get = NULL;
- itc.func.del = NULL;
- box = elm_box_add(popup);
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- genlist = elm_genlist_add(box);
- evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_smart_callback_add(genlist, "realized", _gl_realized, NULL);
- for (index = 0; index < 8; index++) {
- elm_genlist_item_append(genlist, &itc, (void *) index, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, popup);
- }
- elm_box_pack_end(box, genlist);
- evas_object_show(genlist);
- /* The height of popup being adjusted by application here based on app requirement */
- evas_object_size_hint_min_set(box, 618, 436);
- evas_object_show(box);
-
- elm_object_content_set(popup, box);
- evas_object_show(popup);
-}
-
-static void _popup_center_liststyle_3button_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- int index;
- Evas_Object *lst;
- Evas_Object *layout;
- Evas_Object *btn1;
- Evas_Object *btn2;
- Evas_Object *btn3;
- struct appdata *ad = data;
-
- popup = ea_center_popup_add(ad->nf);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
-
- elm_object_part_text_set(popup, "title,text", "Title");
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- layout = elm_layout_add(popup);
- elm_layout_theme_set(layout, "layout", "content", "menustyle");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- btn1 = elm_button_add(popup);
- elm_object_style_set(btn1, "popup");
- elm_object_text_set(btn1, "OK");
- elm_object_part_content_set(popup, "button1", btn1);
- evas_object_smart_callback_add(btn1, "clicked", _response_cb, popup);
- btn2 = elm_button_add(popup);
- elm_object_style_set(btn2, "popup");
- elm_object_text_set(btn2, "Cancel");
- elm_object_part_content_set(popup, "button2", btn2);
- evas_object_smart_callback_add(btn2, "clicked", _response_cb, popup);
- btn3 = elm_button_add(popup);
- elm_object_style_set(btn3, "popup");
- elm_object_text_set(btn3, "Close");
- elm_object_part_content_set(popup, "button3", btn3);
- evas_object_smart_callback_add(btn3, "clicked", _response_cb, popup);
-
- lst = elm_list_add(layout);
- elm_object_style_set(lst, "popup");
- evas_object_size_hint_weight_set(lst, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(lst, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_smart_callback_add(lst, "realized", _gl_realized, NULL);
- for (index = 0; index < 8; index++) {
- elm_list_item_append(lst, Items[index], NULL, NULL, _gl_sel, data);
- }
- elm_object_part_content_set(layout, "elm.swallow.content" , lst);
- elm_object_content_set(popup, layout);
- evas_object_show(popup);
-}
-
-static void _popup_1linetext_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- int index;
- Evas_Object *genlist;
- Evas_Object *layout;
- struct appdata *ad = data;
-
- popup = ea_center_popup_add(ad->nf);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
-
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- layout = elm_layout_add(popup);
- elm_layout_theme_set(layout, "layout", "content", "liststyle");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- itc.item_style = "1text/popup";
- itc.func.text_get = _gl_text_get;
- itc.func.content_get = NULL;
- itc.func.state_get = NULL;
- itc.func.del = NULL;
- genlist = elm_genlist_add(layout);
- evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_smart_callback_add(genlist, "realized", _gl_realized, NULL);
- for (index = 0; index < 8; index++) {
- elm_genlist_item_append(genlist, &itc, (void *) index, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, popup);
- }
-
- elm_object_part_content_set(layout, "elm.swallow.content" , genlist);
- elm_object_content_set(popup, layout);
-
- Evas_Object *base = (Evas_Object*)edje_object_part_object_get(_EDJ(popup), "access.base");
- elm_access_object_unregister(base);
-
- evas_object_show(popup);
-}
-
-static void _popup_2linetext_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- int index;
- Evas_Object *genlist;
- Evas_Object *layout;
- struct appdata *ad = data;
-
- popup = ea_center_popup_add(ad->nf);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
-
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- layout = elm_layout_add(popup);
- elm_layout_theme_set(layout, "layout", "content", "liststyle");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- itc.item_style = "2text.2/popup";
- itc.func.text_get = _gl_text_get;
- itc.func.content_get = NULL;
- itc.func.state_get = NULL;
- itc.func.del = NULL;
- genlist = elm_genlist_add(layout);
- evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
- for (index = 0; index < 8; index++) {
- elm_genlist_item_append(genlist, &itc, (void *) index, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, popup);
- }
- evas_object_smart_callback_add(genlist, "realized", _gl_realized, NULL);
-
- elm_object_part_content_set(layout, "elm.swallow.content" , genlist);
- elm_object_content_set(popup, layout);
- evas_object_show(popup);
-}
-
-static void _popup_radio_cb(void *data, Evas_Object *obj, void *event_info)
-{
- int index;
- Evas_Object *genlist, *radio_main;
- Evas_Object *layout;
- struct appdata *ad = data;
- gen_popup = ea_center_popup_add(ad->win_main);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (gen_popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(gen_popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
- evas_object_size_hint_weight_set(gen_popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- layout = elm_layout_add(gen_popup);
- elm_layout_theme_set(layout, "layout", "content", "liststyle");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- genlist = elm_genlist_add(layout);
- evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- radio_main = elm_radio_add(genlist);
- elm_radio_state_value_set(radio_main, 0);
- elm_radio_value_set(radio_main, 0);
- evas_object_data_set(genlist, "radio_main", radio_main);
-
- itc.item_style = "1text.1icon.3/popup";
- itc.func.text_get = _gl_radio_text_get;
- itc.func.content_get = _gl_radio_content_get;
- itc.func.state_get = NULL;
- itc.func.del = NULL;
-
- for (index = 0; index < 4; index++) {
- Item_Data *id = calloc(sizeof(Item_Data), 1);
- id->index = index;
- Elm_Object_Item *item = elm_genlist_item_append(genlist, &itc, id, NULL,
- ELM_GENLIST_ITEM_NONE, _gl_radio_sel, NULL);
- id->item = item;
- id->genlist = genlist;
- }
-
- elm_object_part_content_set(layout, "elm.swallow.content" , genlist);
- elm_object_content_set(gen_popup, layout);
- evas_object_show(gen_popup);
-}
-
-static void _item_selected_cb(void *data, Evas_Object *obj, void *event_info)
-{
- printf(" \n popup item selected: %s\n", elm_object_item_text_get(event_info));
-}
-
-static void _popup_itemlist_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- unsigned int index;
- Elm_Object_Item *item;
- char buf[4096];
- struct appdata *ad = data;
-
- popup = ea_center_popup_add(ad->nf);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
-
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- for (index = 0; index < 7; index++) {
- snprintf(buf, sizeof(buf), "Item%u", index+1);
- item = elm_popup_item_append(popup, buf, NULL, _item_selected_cb, NULL);
- if (index == 1)
- elm_object_item_disabled_set(item ,EINA_TRUE);
- if (index == 6)
- elm_object_item_signal_emit(item, "elm,state,bottomline,hide", "");
- }
- evas_object_smart_callback_add(popup, "block,clicked", _block_clicked_cb, NULL);
- evas_object_show(popup);
-}
-
-static void _popup_center_liststyle_2button_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- int index;
- Evas_Object *genlist;
- Evas_Object *layout;
- Evas_Object *btn1;
- Evas_Object *btn2;
- struct appdata *ad = data;
-
- popup = ea_center_popup_add(ad->nf);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
-
- elm_object_part_text_set(popup, "title,text", "Title");
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- layout = elm_layout_add(popup);
- elm_layout_theme_set(layout, "layout", "content", "menustyle");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- btn1 = elm_button_add(popup);
- elm_object_style_set(btn1, "popup");
- elm_object_text_set(btn1, "OK");
- elm_object_part_content_set(popup, "button1", btn1);
- evas_object_smart_callback_add(btn1, "clicked", _response_cb, popup);
- btn2 = elm_button_add(popup);
- elm_object_style_set(btn2, "popup");
- elm_object_text_set(btn2, "Cancel");
- elm_object_part_content_set(popup, "button2", btn2);
- evas_object_smart_callback_add(btn2, "clicked", _response_cb, popup);
-
- itc.item_style = "1text.1icon.2/popup";
- itc.func.text_get = _gl_text_get;
- itc.func.content_get = _gl_content_get;
- itc.func.state_get = NULL;
- itc.func.del = NULL;
- genlist = elm_genlist_add(layout);
- evas_object_smart_callback_add(genlist, "selected", _genlist_click, genlist);
- evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_smart_callback_add(genlist, "realized", _gl_realized, NULL);
- for (index = 0; index < 8; index++) {
- elm_genlist_item_append(genlist, &itc, (void *) index, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, popup);
- }
-
- elm_object_part_content_set(layout, "elm.swallow.content" , genlist);
- elm_object_content_set(popup, layout);
- evas_object_show(popup);
-}
-
-static void _popup_center_buttonstyle_3button_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- Evas_Object *btn;
- Evas_Object *ic;
- Evas_Object *btn1;
- Evas_Object *layout;
- char buf[4096];
- struct appdata *ad = data;
-
- popup = ea_center_popup_add(ad->nf);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
-
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- btn1 = elm_button_add(popup);
- elm_object_style_set(btn1, "popup");
- elm_object_text_set(btn1, "OK");
- elm_object_part_content_set(popup, "button1", btn1);
- evas_object_smart_callback_add(btn1, "clicked", _response_cb, popup);
-
- layout = elm_layout_add(popup);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "nbpopup_3button_view");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- elm_object_part_text_set(layout, "contact_label", "Text Text Text Text Text");
-
- btn = elm_button_add(layout);
- elm_object_style_set(btn, _("popup"));
- elm_object_part_content_set(layout, "btn_default", btn);
- ic = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/00_popup_icon_call.png", ICON_DIR);
- elm_image_file_set(ic, buf, NULL);
- evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(ic, EINA_TRUE, EINA_TRUE);
- elm_object_content_set(btn, ic);
- elm_object_text_set(btn, _("Call"));
-
- btn = elm_button_add(layout);
- elm_object_style_set(btn, _("popup"));
- elm_object_part_content_set(layout, "btn_center", btn);
- ic = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/00_popup_icon_message.png", ICON_DIR);
- elm_image_file_set(ic, buf, NULL);
- evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(ic, EINA_TRUE, EINA_TRUE);
- elm_object_content_set(btn, ic);
- elm_object_text_set(btn, _("Message"));
-
- btn = elm_button_add(layout);
- elm_object_style_set(btn, _("popup"));
- elm_object_part_content_set(layout, "btn_text_only_style1", btn);
- ic = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/00_popup_icon_video call.png", ICON_DIR);
- elm_image_file_set(ic, buf, NULL);
- evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(ic, EINA_TRUE, EINA_TRUE);
- elm_object_content_set(btn, ic);
- elm_object_text_set(btn, _("Video call"));
-
- elm_object_content_set(popup, layout);
- evas_object_show(popup);
-}
-
-static void _popup_center_buttonstyle_2button_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- Evas_Object *layout;
- Evas_Object *btn1;
- struct appdata *ad = data;
-
- popup = ea_center_popup_add(ad->nf);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
-
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- layout = elm_layout_add(popup);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "nbpopup_2button_view");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- elm_object_part_text_set(layout, "contact_label", "Text Text Text Text Text");
-
- btn1 = elm_button_add(popup);
- elm_object_style_set(btn1, "popup");
- elm_object_text_set(btn1, "OK");
- elm_object_part_content_set(popup, "button1", btn1);
- evas_object_smart_callback_add(btn1, "clicked", _response_cb, popup);
-
- Evas_Object *btn = elm_button_add(layout);
- elm_object_style_set(btn,"popup");
- elm_object_part_content_set(layout, "btn_default", btn);
- elm_object_text_set(btn, _("Call"));
-
- btn = elm_button_add(layout);
- elm_object_style_set(btn,"popup");
- elm_object_part_content_set(layout, "btn_center", btn);
- elm_object_text_set(btn, _("Message"));
-
- elm_object_content_set(popup, layout);
- evas_object_show(popup);
-}
-
-static void _popup_colorpalette_cb(void *data, Evas_Object *obj, void *event_info)
-{
- int r = 0, g = 0, b = 0 ,a = 0;
- Colorplane_Data *cp = (Colorplane_Data *)data;
- Elm_Object_Item *color_it = (Elm_Object_Item *) event_info;
- cp->sel_it = color_it;
- elm_colorselector_palette_item_color_get(color_it, &r, &g, &b, &a);
- elm_colorselector_color_set(cp->colorselector, r, g, b, a);
-}
-
-
-static void _popup_colorplane_cb(void *data, Evas_Object *obj, void *event_info)
-{
- int r, g, b, a;
- Colorplane_Data *cp = (Colorplane_Data*)data;
- if (!cp->changed) {
- elm_object_item_signal_emit(cp->it_last, "elm,state,custom,hide", "");
- cp->changed = EINA_TRUE;
- }
- elm_colorselector_color_get(cp->colorselector, &r, &g, &b, &a);
- cp->r = r;
- cp->g = g;
- cp->b = b;
- cp->a = a;
- elm_colorselector_palette_item_color_set(cp->it_last, r, g, b, a);
- if (cp->sel_it != cp->it_last)
- elm_object_item_signal_emit(cp->it_last, "elm,state,selected", "elm");
-}
-
-static void _popup_colorpalette(Evas_Object *layout, Colorplane_Data *cp)
-{
- /* add color palette widget */
- Eina_List *color_list, *last_list;
-
- cp->colorselector = elm_colorselector_add(layout);
- elm_object_style_set(cp->colorselector, "colorplane");
- elm_colorselector_mode_set(cp->colorselector, ELM_COLORSELECTOR_PALETTE_PLANE);
- evas_object_size_hint_fill_set(cp->colorselector, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(cp->colorselector, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_part_content_set(layout, "colorpalette", cp->colorselector);
- evas_object_smart_callback_add(cp->colorselector, "color,item,selected", _popup_colorpalette_cb, cp);
-
- color_list = elm_colorselector_palette_items_get(cp->colorselector);
- last_list = eina_list_last(color_list);
- cp->it_last = eina_list_data_get(last_list);
- elm_object_item_signal_emit(cp->it_last, "elm,state,custom,show", "");
- cp->changed = EINA_FALSE;
- evas_object_smart_callback_add(cp->colorselector, "changed", _popup_colorplane_cb, cp);
- cp->sel_it = eina_list_nth(color_list, 3);
- elm_object_item_signal_emit(cp->sel_it, "elm,state,selected", "elm");
-}
-
-static Evas_Object *_popup_create_colorplane(Evas_Object *parent, Colorplane_Data *cp)
-{
- cp->layout = elm_layout_add(parent);
- elm_layout_file_set(cp->layout, ELM_DEMO_EDJ, "colorplane_popup");
- evas_object_size_hint_weight_set(cp->layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(cp->layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(cp->layout);
- _popup_colorpalette(cp->layout, cp);
- return cp->layout;
-}
-
-static void _popup_colorpicker_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *content,*popup,*btn1,*btn2;
- static Colorplane_Data cp;
- if (data == NULL) return;
- struct appdata *ad = data;
- cp.ad = data;
-
- popup = ea_center_popup_add(ad->nf);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
-
- content = _popup_create_colorplane(popup, &cp);
- elm_object_content_set(popup, content);
-
- btn1 = elm_button_add(popup);
- elm_object_style_set(btn1, "popup");
- elm_object_text_set(btn1, "Ok");
- elm_object_part_content_set(popup, "button1", btn1);
- evas_object_smart_callback_add(btn1, "clicked", _response_cb, popup);
-
- btn2 = elm_button_add(popup);
- elm_object_style_set(btn2, "popup");
- elm_object_text_set(btn2, "Cancel");
- elm_object_part_content_set(popup, "button2", btn2);
- evas_object_smart_callback_add(btn2, "clicked", _response_cb, popup);
-
- evas_object_show(popup);
-}
-
-static void _back_rotate_gengrid_cb(void *data, Evas_Object *obj, void *event_info)
-{
- grid_data *gd = NULL;
- if (data) gd = data;
- if (gd) free(gd);
- evas_object_smart_callback_del(elm_object_top_widget_get(obj), "rotation,changed", _on_rotation_gengrid_1line_change);
- evas_object_smart_callback_del(elm_object_top_widget_get(obj), "rotation,changed", _on_rotation_gengrid_2line_change);
- evas_object_smart_callback_del(elm_object_top_widget_get(obj), "rotation,changed", _on_rotation_gengrid_3line_change);
- evas_object_del(obj);
-}
-
-static void _on_rotation_gengrid_1line_change(void *data, Evas_Object *obj, void *event_info )
-{
- int rot = -1;
- Evas_Object *win = obj;
- Evas_Object *layout = data;
-
- rot = elm_win_rotation_get(win);
- if (rot == 90 || rot == 270)
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_gengrid_custom_rotate_1line");
- else
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_gengrid_custom_1line");
-}
-
-static void _popup_gengrid_1line_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- Evas_Object *layout;
- Evas_Object *gengrid;
- int rot = -1;
- struct appdata *ad = data;
-
- popup = ea_center_popup_add(ad->nf);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, _back_rotate_gengrid_cb, NULL);
-
- elm_object_part_text_set(popup, "title,text", "Title");
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- layout = elm_layout_add(popup);
- rot = elm_win_rotation_get(ad->win_main);
- if (rot == 90 || rot == 270)
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_gengrid_custom_rotate_1line");
- else
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_gengrid_custom_1line");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- gengrid = _create_gengrid(layout, popup, 1, 3, NULL);
-
- elm_gengrid_item_show(elm_gengrid_first_item_get(gengrid), ELM_GENGRID_ITEM_SCROLLTO_TOP);
- elm_object_part_content_set(layout, "elm.swallow.content" , gengrid);
- elm_object_content_set(popup, layout);
-
- evas_object_smart_callback_add(elm_object_top_widget_get(popup), "rotation,changed", _on_rotation_gengrid_1line_change, layout);
- evas_object_smart_callback_add(popup, "block,clicked", _block_clicked_cb, NULL);
- evas_object_show(popup);
-}
-
-static void _popup_gengrid_1line_select_mode_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- Evas_Object *layout;
- Evas_Object *gengrid;
- int rot = -1;
- struct appdata *ad = data;
- grid_data *gd;
- gd = calloc(1, sizeof(grid_data));
-
- popup = ea_center_popup_add(ad->nf);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, _back_rotate_gengrid_cb, gd);
-
- elm_object_part_text_set(popup, "title,text", "Title");
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- layout = elm_layout_add(popup);
- rot = elm_win_rotation_get(ad->win_main);
- if (rot == 90 || rot == 270)
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_gengrid_custom_rotate_1line");
- else
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_gengrid_custom_1line");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- gengrid = _create_gengrid(layout, popup, 1, 3, gd);
-
- elm_gengrid_item_show(elm_gengrid_first_item_get(gengrid), ELM_GENGRID_ITEM_SCROLLTO_TOP);
- elm_object_part_content_set(layout, "elm.swallow.content" , gengrid);
- elm_object_content_set(popup, layout);
-
- evas_object_smart_callback_add(elm_object_top_widget_get(popup), "rotation,changed", _on_rotation_gengrid_1line_change, layout);
- evas_object_smart_callback_add(popup, "block,clicked", _block_clicked_cb, NULL);
- evas_object_show(popup);
-}
-static void _on_rotation_gengrid_2line_change(void *data, Evas_Object *obj, void *event_info )
-{
- int rot = -1;
- Evas_Object *win = obj;
- Evas_Object *layout = data;
-
- rot = elm_win_rotation_get(win);
- if (rot == 90 || rot == 270)
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_gengrid_custom_rotate_2line");
- else
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_gengrid_custom_2line");
-}
-
-static void _popup_gengrid_2line_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- Evas_Object *layout;
- Evas_Object *gengrid;
- int rot = -1;
- struct appdata *ad = data;
-
- popup = ea_center_popup_add(ad->nf);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, _back_rotate_gengrid_cb, NULL);
-
- elm_object_part_text_set(popup, "title,text", "Title");
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- layout = elm_layout_add(popup);
- rot = elm_win_rotation_get(ad->win_main);
- if (rot == 90 || rot == 270)
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_gengrid_custom_rotate_2line");
- else
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_gengrid_custom_2line");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- gengrid = _create_gengrid(layout, popup, 2, 3, NULL);
-
- elm_gengrid_item_show(elm_gengrid_first_item_get(gengrid), ELM_GENGRID_ITEM_SCROLLTO_TOP);
- elm_object_part_content_set(layout, "elm.swallow.content" , gengrid);
- elm_object_content_set(popup, layout);
-
- evas_object_smart_callback_add(elm_object_top_widget_get(popup), "rotation,changed", _on_rotation_gengrid_2line_change, layout);
- evas_object_smart_callback_add(popup, "block,clicked", _block_clicked_cb, NULL);
- evas_object_show(popup);
-}
-
-static void _on_rotation_gengrid_3line_change(void *data, Evas_Object *obj, void *event_info )
-{
- int rot = -1;
- Evas_Object *win = obj;
- Evas_Object *layout = data;
-
- rot = elm_win_rotation_get(win);
- if (rot == 90 || rot == 270)
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_gengrid_custom_rotate_3line");
- else
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_gengrid_custom_3line");
-}
-
-static void _popup_gengrid_3line_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- Evas_Object *layout;
- Evas_Object *gengrid;
- int rot = -1;
- struct appdata *ad = data;
-
- popup = ea_center_popup_add(ad->nf);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, _back_rotate_gengrid_cb, NULL);
-
- elm_object_part_text_set(popup, "title,text", "Title");
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- layout = elm_layout_add(popup);
- rot = elm_win_rotation_get(ad->win_main);
- if (rot == 90 || rot == 270)
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_gengrid_custom_rotate_3line");
- else
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_gengrid_custom_3line");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- gengrid = _create_gengrid(layout, popup, 3, 3, NULL);
-
- elm_object_part_content_set(layout, "elm.swallow.content" , gengrid);
- elm_object_content_set(popup, layout);
-
- evas_object_smart_callback_add(elm_object_top_widget_get(popup), "rotation,changed", _on_rotation_gengrid_3line_change, layout);
- evas_object_smart_callback_add(popup, "block,clicked", _block_clicked_cb, NULL);
- evas_object_show(popup);
-}
-
-static void _popup_gengrid_3line_scroll_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- Evas_Object *layout;
- Evas_Object *gengrid;
- int rot = -1;
- struct appdata *ad = data;
-
-
- popup = ea_center_popup_add(ad->nf);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, _back_rotate_gengrid_cb, NULL);
-
- elm_object_part_text_set(popup, "title,text", "Title");
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- layout = elm_layout_add(popup);
- rot = elm_win_rotation_get(ad->win_main);
- if (rot == 90 || rot == 270)
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_gengrid_custom_rotate_3line");
- else
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_gengrid_custom_3line");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- gengrid = _create_gengrid(layout, popup, 6, 3, NULL);
-
- elm_object_part_content_set(layout, "elm.swallow.content" , gengrid);
- elm_object_content_set(popup, layout);
-
- evas_object_smart_callback_add(elm_object_top_widget_get(popup), "rotation,changed", _on_rotation_gengrid_3line_change, layout);
- evas_object_smart_callback_add(popup, "block,clicked", _block_clicked_cb, NULL);
- evas_object_show(popup);
-}
-
-void center_popup_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *it;
- struct appdata *ad = data;
- if (ad == NULL) return;
-
- elm_theme_extension_add(NULL, ELM_DEMO_EDJ);
-
- list = elm_list_add(ad->nf);
- elm_list_mode_set(list, ELM_LIST_COMPRESS);
- evas_object_smart_callback_add(list, "selected", _list_click, NULL);
- it = elm_naviframe_item_push(ad->nf, _("Popup"), NULL, NULL, list, NULL);
- elm_naviframe_item_pop_cb_set(it, _pop_cb, NULL);
- elm_list_item_append(list, "popup- text", NULL, NULL,
- _popup_center_info_cb, ad);
- elm_list_item_append(list, "popup- text+1 button", NULL, NULL,
- _popup_center_basic_1button_cb, ad);
- elm_list_item_append(list, "popup- text+2 buttons", NULL, NULL,
- _popup_center_basic_2button_cb, ad);
- elm_list_item_append(list, "popup- text+3 buttons", NULL, NULL,
- _popup_center_basic_3button_cb, ad);
- elm_list_item_append(list, "popup- title+text", NULL, NULL,
- _popup_center_title_info_cb, ad);
- elm_list_item_append(list, "popup- title+text+1 button", NULL, NULL,
- _popup_center_title_1button_cb, ad);
- elm_list_item_append(list, "popup- title+text+2 buttons", NULL, NULL,
- _popup_center_title_2button_cb, ad);
- elm_list_item_append(list, "popup- title+text+3 buttons", NULL, NULL,
- _popup_center_title_3button_cb, ad);
- elm_list_item_append(list, "popup- text+2 vertical buttons", NULL, NULL,
- _popup_center_vertical_2button_cb, ad);
- elm_list_item_append(list, "popup- text+3 vertical buttons", NULL, NULL,
- _popup_center_vertical_3button_cb, ad);
- elm_list_item_append(list, "popup- text+check", NULL, NULL,
- _popup_center_check_cb, ad);
- elm_list_item_append(list, "popup- text+check+image", NULL, NULL,
- _popup_center_check_image_cb, ad);
- elm_list_item_append(list, "popup- text+image+text+check", NULL, NULL,
- _popup_center_check_text_image_cb, ad);
- elm_list_item_append(list, "popup- big-icon", NULL, NULL,
- _popup_center_image_cb, ad);
- elm_list_item_append(list, "popup-list -1btn", NULL, NULL,
- _popup_center_liststyle_1button_cb, ad);
- elm_list_item_append(list, "popup-list -2btns", NULL, NULL,
- _popup_center_liststyle_2button_cb, ad);
- elm_list_item_append(list, "popup-list -3btns", NULL, NULL,
- _popup_center_liststyle_3button_cb, ad);
- elm_list_item_append(list, "popup-buttonstyle-3btns", NULL, NULL,
- _popup_center_buttonstyle_3button_cb, ad);
- elm_list_item_append(list, "popup-buttonstyle-2btns", NULL, NULL,
- _popup_center_buttonstyle_2button_cb, ad);
- elm_list_item_append(list, "popup-volumebar", NULL, NULL,
- _popup_volumepopup_cb, ad);
- elm_list_item_append(list, "popup-volumebar1", NULL, NULL,
- _popup_volumepopup1_cb, ad);
- elm_list_item_append(list, "popup-volumebar1_text", NULL, NULL,
- _popup_volumepopup1_text_cb, ad);
- elm_list_item_append(list, "popup-center-progressbar", NULL, NULL,
- _popup_center_progressbar_cb, ad);
- elm_list_item_append(list, "popup-center-processing", NULL, NULL,
- _popup_center_processing_cb, ad);
- elm_list_item_append(list, "popup-center-processing_1button", NULL, NULL,
- _popup_center_processing_1button_cb, ad);
- elm_list_item_append(list, "popup-entry", NULL, NULL,
- _popup_entry_cb, ad);
- elm_list_item_append(list, "popup-entry-password", NULL, NULL,
- _popup_entry_password_cb, ad);
- elm_list_item_append(list, "popup-entry-password-2-button", NULL, NULL,
- _popup_entry_password_2button_cb, ad);
- elm_list_item_append(list, "popup-entry-2-button", NULL, NULL,
- _popup_entry_2button_cb, ad);
- elm_list_item_append(list, "popup-center_text-progressbar", NULL, NULL,
- _popup_center_text_progressbar_cb, ad);
- elm_list_item_append(list, "popup-1 line", NULL, NULL,
- _popup_1linetext_cb, ad);
- elm_list_item_append(list, "popup-2 line", NULL, NULL,
- _popup_2linetext_cb, ad);
- elm_list_item_append(list, "popup-radio", NULL, NULL,
- _popup_radio_cb, ad);
- elm_list_item_append(list, "popup-item list", NULL, NULL,
- _popup_itemlist_cb, ad);
- elm_list_item_append(list, "popup-color picker", NULL, NULL,
- _popup_colorpicker_cb, ad);
- elm_list_item_append(list, "popup-item 1line grid", NULL, NULL,
- _popup_gengrid_1line_cb, ad);
- elm_list_item_append(list, "popup-item 2line grid", NULL, NULL,
- _popup_gengrid_2line_cb, ad);
- elm_list_item_append(list, "popup-item 3line grid", NULL, NULL,
- _popup_gengrid_3line_cb, ad);
- elm_list_item_append(list, "popup-item 3line scroll grid", NULL, NULL,
- _popup_gengrid_3line_scroll_cb, ad);
- elm_list_item_append(list, "popup-item 1line grid select mode", NULL, NULL,
- _popup_gengrid_1line_select_mode_cb, ad);
- elm_list_item_append(list, "popup- label+scroller", NULL, NULL,
- _popup_label_cb, ad);
- elm_list_go(list);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "check.h"
-
-/*********************************************************
- check
- ********************************************************/
-static Evas_Object *_create_scroller(Evas_Object *parent);
-static Evas_Object *_create_checks(Evas_Object *parent);
-static Evas_Object *_create_extended_style_checks(Evas_Object *parent);
-static void _style_check_cb(void *data, Evas_Object * obj, void *event_info);
-static void _extended_style_check_cb(void *data, Evas_Object * obj, void *event_info);
-
-
-static struct _menu_item _menu_its[] = {
- {"Normal Styles", _style_check_cb},
- {"Extended Styles", _extended_style_check_cb},
- /* do not delete below */
- {NULL, NULL}
-};
-
-static void _list_click(void *data, Evas_Object * obj, void *event_info)
-{
- Elm_Object_Item *it = (Elm_Object_Item *) elm_list_selected_item_get(obj);
-
- if (it == NULL) {
- fprintf(stderr, "list item is NULL\n");
- return;
- }
-
- elm_list_item_selected_set(it, EINA_FALSE);
-}
-
-static void _go_check_clicked_cb(void *data, Evas_Object *obj, void *event_info)
-{
- int param = (int)(long)(data);
-
- Eina_Bool state = elm_check_state_get(obj);
-
- printf("Check %d:%d\n", param, state);
-}
-
-static Evas_Object *_create_extended_style_checks(Evas_Object *parent)
-{
- Evas_Object *check;
-
- Evas_Object *layout;
-
- layout = elm_layout_add(parent);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "elmdemo-test/check-extended");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- check = elm_check_add(layout);
- elm_check_state_set(check, EINA_TRUE);
- elm_object_part_content_set(layout, "check1", check);
- elm_object_style_set(check, "default/extended");
- evas_object_smart_callback_add(check, "changed", _go_check_clicked_cb, (void *)1);
-
- check = elm_check_add(layout);
- elm_check_state_set(check, EINA_FALSE);
- elm_object_part_content_set(layout, "check2", check);
- elm_object_style_set(check, "favorite/extended");
- evas_object_smart_callback_add(check, "changed", _go_check_clicked_cb, (void *)2);
-
- return layout;
-}
-
-static Evas_Object *_create_checks(Evas_Object *parent)
-{
- Evas_Object *check;
-
- Evas_Object *layout;
-
- layout = elm_layout_add(parent);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "elmdemo-test/check");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- check = elm_check_add(layout);
- elm_check_state_set(check, EINA_TRUE);
- elm_object_part_content_set(layout, "check1", check);
- evas_object_smart_callback_add(check, "changed", _go_check_clicked_cb, (void *)1);
-
- check = elm_check_add(layout);
- elm_check_state_set(check, EINA_FALSE);
- elm_object_part_content_set(layout, "check2", check);
- elm_object_style_set(check, "favorite");
- evas_object_smart_callback_add(check, "changed", _go_check_clicked_cb, (void *)2);
-
- check = elm_check_add(layout);
- elm_check_state_set(check, EINA_FALSE);
- elm_object_part_content_set(layout, "check3", check);
- elm_object_style_set(check, "on&off");
- evas_object_smart_callback_add(check, "changed", _go_check_clicked_cb, (void *)3);
-
- check = elm_check_add(layout);
- elm_check_state_set(check, EINA_TRUE);
- elm_object_part_content_set(layout, "check4", check);
- elm_object_style_set(check, "favorite_small");
- evas_object_smart_callback_add(check, "changed", _go_check_clicked_cb, (void *)4);
-
- return layout;
-}
-
-static Evas_Object *_create_scroller(Evas_Object *parent)
-{
- Evas_Object *scroller = elm_scroller_add(parent);
-
- elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE);
- elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO);
- evas_object_show(scroller);
-
- return scroller;
-}
-
-static void _extended_style_check_cb(void *data, Evas_Object * obj, void *event_info)
-{
- Evas_Object *scroller, *layout_inner;
-
- struct appdata *ad = (struct appdata *)data;
-
- if (ad == NULL) return;
-
- scroller = _create_scroller(ad->nf);
- elm_naviframe_item_push(ad->nf, _("Extended Styles"), NULL, NULL, scroller, NULL);
-
- layout_inner = _create_extended_style_checks(ad->nf);
- elm_object_content_set(scroller, layout_inner);
-}
-
-
-
-static void _style_check_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *scroller, *layout_inner;
-
- struct appdata *ad = (struct appdata *)data;
-
- if (ad == NULL) return;
-
- scroller = _create_scroller(ad->nf);
- elm_naviframe_item_push(ad->nf, _("Normal styles"), NULL, NULL, scroller, NULL);
-
- layout_inner = _create_checks(ad->nf);
- elm_object_content_set(scroller, layout_inner);
-}
-
-static Evas_Object *_create_list_winset(struct appdata *ad)
-{
- Evas_Object *li;
- struct _menu_item *menu_its;
- if (ad == NULL) return NULL;
-
- li = elm_list_add(ad->nf);
- elm_list_mode_set(li, ELM_LIST_COMPRESS);
- evas_object_smart_callback_add(li, "selected", _list_click, NULL);
-
- int idx = 0;
- menu_its = _menu_its;
- while (menu_its[idx].name != NULL) {
- elm_list_item_append(li, menu_its[idx].name, NULL, NULL, menu_its[idx].func, ad);
- ++idx;
- }
- elm_list_go(li);
-
- return li;
-}
-
-void check_cb(void *data, Evas_Object * obj, void *event_info)
-{
- struct appdata *ad;
-
- Evas_Object *list;
-
- ad = (struct appdata *)data;
- if (ad == NULL) return;
-
- list = _create_list_winset(ad);
- elm_naviframe_item_push(ad->nf, _("Check"), NULL, NULL, list, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_util.h"
-#include "elmdemo_test.h"
-#include "colorclass.h"
-
-struct ccdata {
- struct appdata *ad;
- char *name;
- Evas_Object *rect;
- Evas_Object *box;
- int r, g, b, a;
-};
-
-static void _button_clicked(void *data, Evas_Object *obj, void *event_info)
-{
- struct ccdata *cd = (struct ccdata *)data;
-
- elm_config_color_overlay_set(cd->name, cd->r, cd->g, cd->b, cd->a, 0, 0, 0, 0, 0, 0, 0, 0);
- elm_config_color_overlay_apply();
- elm_config_all_flush();
- elm_config_save();
-
- elm_naviframe_item_pop(cd->ad->nf);
- free(cd->name);
- free(cd);
-}
-
-static void _slider_changed(void *data, Evas_Object *obj, void *event_info)
-{
- struct ccdata *cd = (struct ccdata *)data;
- char *color = evas_object_data_get(obj, "color");
- Evas_Object *lb = evas_object_data_get(obj, "label");
- char buf[256] = {0,};
- int value;
-
- value = (int)elm_slider_value_get(obj);
- if (!strcmp(color, "red"))
- {
- cd->r = value;
- sprintf(buf, "<color=#FF0000> R: %d</color>", value);
- }
- else if (!strcmp(color, "green"))
- {
- cd->g = value;
- sprintf(buf, "<color=#00FF00> G: %d</color>", value);
- }
- else if (!strcmp(color, "blue"))
- {
- cd->b = value;
- sprintf(buf, "<color=#0000FF> B: %d</color>", value);
- }
- else if (!strcmp(color, "alpha"))
- {
- cd->a = value;
- sprintf(buf, "<color=#FFFFFF> A: %d</color>", value);
- }
- elm_object_text_set(lb, buf);
- evas_object_color_set(cd->rect, cd->r, cd->g, cd->b, cd->a);
-}
-
-void _color_class_changed(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
- int r, g, b, a;
- edje_color_class_get(source, &r, &g, &b, &a, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
- printf("[%s][%d] name: %s, color: %d, %d, %d, %d\n", __FUNCTION__, __LINE__, source, r, g, b, a);
-}
-
-static void _create_color_slider(struct ccdata *cd, const char *color)
-{
- Evas_Object *sl, *lb;
- char buf[256] = {0,};
-
- if (!strcmp(color, "red"))
- sprintf(buf, "<color=#FF0000> R: %d</color>", cd->r);
- else if (!strcmp(color, "green"))
- sprintf(buf, "<color=#00FF00> G: %d</color>", cd->g);
- else if (!strcmp(color, "blue"))
- sprintf(buf, "<color=#0000FF> B: %d</color>", cd->b);
- else if (!strcmp(color, "alpha"))
- sprintf(buf, "<color=#FFFFFF> A: %d</color>", cd->a);
-
- lb = elm_label_add(cd->box);
- elm_object_text_set(lb, buf);
- evas_object_size_hint_weight_set(lb, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(lb, EVAS_HINT_FILL, 0.5);
- elm_box_pack_end(cd->box, lb);
- evas_object_show(lb);
-
- sl = elm_slider_add(cd->box);
- elm_slider_indicator_show_set(sl, EINA_FALSE);
- evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(sl, EVAS_HINT_FILL, 0.5);
- evas_object_data_set(sl, "color", color);
- evas_object_data_set(sl, "label", lb);
- elm_slider_min_max_set(sl, 0, 255);
- evas_object_smart_callback_add(sl, "changed", _slider_changed, cd);
- elm_box_pack_end(cd->box, sl);
- evas_object_show(sl);
-
- if (!strcmp(color, "red"))
- elm_slider_value_set(sl, cd->r);
- else if (!strcmp(color, "green"))
- elm_slider_value_set(sl, cd->g);
- else if (!strcmp(color, "blue"))
- elm_slider_value_set(sl, cd->b);
- else if (!strcmp(color, "alpha"))
- elm_slider_value_set(sl, cd->a);
-}
-
-static Evas_Object *_create_sliders(struct ccdata *cd)
-{
- Evas_Object *box, *sc, *lb, *rect;
-
- sc = elm_scroller_add(cd->ad->nf);
- elm_scroller_bounce_set(sc, EINA_FALSE, EINA_TRUE);
- elm_scroller_policy_set(sc, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO);
- evas_object_show(sc);
-
- box = elm_box_add(sc);
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_object_content_set(sc, box);
- evas_object_show(box);
- cd->box = box;
-
- lb = elm_label_add(box);
- elm_object_text_set(lb, " Current Color");
- evas_object_size_hint_weight_set(lb, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(lb, EVAS_HINT_FILL, 0.5);
- elm_box_pack_end(box, lb);
- evas_object_show(lb);
-
- // set an edje signal and get the current color using elm_layout object
- elm_layout_signal_callback_add(lb, "color_class,set", "", _color_class_changed, NULL);
- edje_object_color_class_get(elm_layout_edje_get(lb), cd->name,
- &cd->r, &cd->g, &cd->b, &cd->a, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
-
- rect = evas_object_rectangle_add(evas_object_evas_get(box));
- evas_object_size_hint_weight_set(rect, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(rect, EVAS_HINT_FILL, 0.5);
- evas_object_size_hint_min_set(rect, 0, 150);
- evas_object_color_set(rect, cd->r, cd->g, cd->b, cd->a);
- elm_box_pack_end(box, rect);
- evas_object_show(rect);
- cd->rect = rect;
-
- _create_color_slider(cd, "red");
- _create_color_slider(cd, "green");
- _create_color_slider(cd, "blue");
- _create_color_slider(cd, "alpha");
-
- return sc;
-}
-
-static void _item_clicked(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *it = (Elm_Object_Item *)event_info;
- Elm_Object_Item *navi_it;
- struct appdata *ad = (struct appdata *)data;
- struct ccdata *cd = NULL;
- Evas_Object *ly, *tb;
- char *text;
-
- if (ad == NULL) return;
-
- cd = calloc(1, sizeof(struct ccdata));
- if (!cd) return;
-
- text = strdup(elm_object_item_text_get(it));
- if (!text)
- {
- free(cd);
- return;
- }
-
- cd->ad = ad;
- cd->name = strdup(strtok(text, " :"));
-
- ly = _create_sliders(cd);
- navi_it = elm_naviframe_item_push(ad->nf, cd->name, NULL, NULL, ly, NULL);
-
- tb = elm_toolbar_add(ad->nf);
- elm_toolbar_shrink_mode_set(tb, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_transverse_expanded_set(tb, EINA_TRUE);
- elm_toolbar_select_mode_set(tb, ELM_OBJECT_SELECT_MODE_NONE);
- elm_toolbar_item_append(tb, NULL, "Set", _button_clicked, cd);
- elm_object_item_part_content_set(navi_it, "toolbar", tb);
-
- free(text);
-}
-
-static void _list_click(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *it = (Elm_Object_Item *) elm_list_selected_item_get(obj);
-
- if (it == NULL)
- {
- fprintf((LOG_PRI(LOG_ERR) == LOG_ERR?stderr:stdout), "List item is NULL.\n");
- return;
- }
-
- elm_list_item_selected_set(it, EINA_FALSE);
-}
-
-static Evas_Object* _create_list_winset(struct appdata* ad)
-{
- Evas_Object *li;
- Eina_List *cl, *l;
- Elm_Color_Class *cc;
- char buf[128];
-
- li = elm_list_add(ad->nf);
- elm_list_mode_set(li, ELM_LIST_COMPRESS);
- evas_object_smart_callback_add(li, "selected", _list_click, NULL);
-
- cl = elm_config_color_classes_list_get();
- EINA_LIST_FOREACH(cl, l, cc)
- {
- snprintf(buf, 128, "%s : %s", cc->name, cc->desc);
- elm_list_item_append(li, buf, NULL, NULL,
- _item_clicked, ad);
- }
- elm_config_color_classes_list_free(cl);
-
- elm_list_go(li);
-
- return li;
-}
-
-void colorclass_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *list;
- struct appdata *ad = (struct appdata *) data;
- if (ad == NULL) return;
-
- list = _create_list_winset(ad);
- elm_naviframe_item_push(ad->nf, _("Color Class"), NULL, NULL, list, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_util.h"
-#include "elmdemo_test.h"
-#include "colorselector.h"
-
-/*********************************************************
- ColorSelector
- ********************************************************/
-
-static struct _menu_item menu_its[] = {
- { "Colorselector Palette", colorselector_palette_cb },
- { "Colorselector Components", colorselector_components_cb },
- { "Colorselector Plane", colorselector_plane_cb },
- /* do not delete below */
- { NULL, NULL }
-};
-
-static void _list_click(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *it = (Elm_Object_Item *) elm_list_selected_item_get(obj);
- if(it == NULL) return;
-
- elm_list_item_selected_set(it, EINA_FALSE);
-}
-
-static Evas_Object* _create_list_winset(struct appdata* ad)
-{
- Evas_Object *li;
-
- if(ad == NULL) return NULL;
-
- li = elm_list_add(ad->nf);
- elm_list_mode_set(li, ELM_LIST_COMPRESS);
- evas_object_smart_callback_add(li, "selected", _list_click, NULL);
-
- int idx = 0;
-
- while (menu_its[ idx ].name != NULL) {
- elm_list_item_append(
- li,
- menu_its[ idx ].name,
- NULL,
- NULL,
- menu_its[ idx ].func,
- ad);
- ++idx;
- }
- elm_list_go(li);
-
- return li;
-}
-
-
-void colorselector_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Evas_Object *list;
-
- ad = (struct appdata *) data;
- if(ad == NULL) return;
-
- list = _create_list_winset(ad);
- elm_naviframe_item_push(ad->nf, _("ColorSelector"), NULL, NULL, list, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "colorselector.h"
-
-/*********************************************************
- colorselector - components
- ********************************************************/
-
-static void _colorselector_cb(void *data, Evas_Object *obj, void *event_info)
-{
- int r, g, b, a;
- Evas_Object* rect = (Evas_Object*)data;
- elm_colorselector_color_get(obj, &r, &g, &b, &a);
- evas_object_color_set(rect, r, g, b, a);
-}
-
-static Evas_Object *_create_colorselector(Evas_Object* parent)
-{
- Evas_Object *layout, *rect, *colorselector, *layoutp;
- layoutp = elm_layout_add(parent);
- elm_layout_theme_set(layoutp, "layout", "dialogue", "1icon/no_padding");
- evas_object_size_hint_weight_set(layoutp, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(layoutp, EVAS_HINT_FILL, 0.0);
- evas_object_show(layoutp);
-
- // make base layout
- layout = elm_layout_add(layoutp);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "colorselector");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_show(layout);
- elm_object_part_content_set(layoutp, "elm.icon", layout);
-
-
- rect = elm_layout_add(layoutp);
- elm_layout_file_set(rect, ELM_DEMO_EDJ, "item/colorpalette");
- evas_object_size_hint_weight_set(rect, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(rect, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_object_part_content_set(layout, "rect", rect);
- evas_object_color_set(rect, 231, 28, 28, 255);
-
- // add a color picker widget
- colorselector = elm_colorselector_add(parent);
- elm_colorselector_mode_set(colorselector, ELM_COLORSELECTOR_COMPONENTS);
- elm_colorselector_color_set(colorselector, 255, 255, 0, 255);
- evas_object_size_hint_fill_set(colorselector, EVAS_HINT_FILL, 0);
- evas_object_size_hint_weight_set(colorselector, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_part_content_set(layout, "colorselector", colorselector);
- evas_object_smart_callback_add(colorselector, "changed", _colorselector_cb, rect);
-
- return layoutp;
-}
-
-static Evas_Object *_create_scroller(Evas_Object *parent)
-{
- Evas_Object* scroller = elm_scroller_add(parent);
- elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE);
- elm_scroller_policy_set(scroller,ELM_SCROLLER_POLICY_OFF,ELM_SCROLLER_POLICY_AUTO);
- evas_object_show(scroller);
-
- return scroller;
-}
-
-void colorselector_components_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *layout, *scroller;
- struct appdata *ad = (struct appdata *) data;
- if (ad == NULL) return;
-
- scroller = _create_scroller(ad->nf);
- elm_naviframe_item_push(ad->nf, _("Colorselector components"), NULL, NULL, scroller, NULL);
- layout = _create_colorselector(ad->nf);
- elm_object_content_set(scroller, layout);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "colorselector.h"
-
-/*********************************************************
- colorselector - palette
- ********************************************************/
-
-struct appdata *gad = NULL;
-typedef struct _Colorpalette_Data Colorpalette_Data;
-struct _Colorpalette_Data
-{
- Evas_Object *layout;
- Evas_Object *rect;
- Evas_Object *colorpalette;
-};
-static void _rotate_colorpalette_cb(void *data, Evas_Object *obj, void *event_info );
-
-static void _colorpalette_cb(void *data, Evas_Object *obj, void *event_info)
-{
- int r = 0, g = 0, b = 0 ,a = 0;
- Elm_Object_Item *color_it = (Elm_Object_Item *) event_info;
- elm_colorselector_palette_item_color_get(color_it, &r, &g, &b, &a);
- evas_object_color_set((Evas_Object *) data, r, g, b , a);
-}
-
-static Eina_Bool _pop_cb(void *data, Elm_Object_Item *it)
-{
- evas_object_smart_callback_del(data, "rotation,changed", _rotate_colorpalette_cb);
- return EINA_TRUE;
-}
-
-static void _colorpalette(Evas_Object *layout, Colorpalette_Data *cp)
-{
- /* add color palette widget */
- int rotation;
- cp->colorpalette = elm_colorselector_add(layout);
- elm_colorselector_palette_name_set(cp->colorpalette, "painting");
- elm_colorselector_mode_set(cp->colorpalette, ELM_COLORSELECTOR_PALETTE);
- evas_object_size_hint_fill_set(cp->colorpalette, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(cp->colorpalette, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_part_content_set(layout, "colorpalette", cp->colorpalette);
- evas_object_smart_callback_add(cp->colorpalette, "color,item,selected", _colorpalette_cb, cp->rect);
- rotation = elm_win_rotation_get(gad->win_main);
- if (abs(rotation) == 90 || rotation == 270) {
- elm_object_style_set(cp->colorpalette, "landscape");
- elm_object_signal_emit(layout, "landscape", "");
- }
- else
- elm_object_signal_emit(layout, "portrait", "");
- //Needs to be called as recent changes in layout causes signals not to be processed immediately
- edje_object_message_signal_process(elm_layout_edje_get(layout));
- elm_colorselector_palette_color_add(cp->colorpalette, 231, 28, 28, 255);
- elm_colorselector_palette_color_add(cp->colorpalette, 215, 182, 30, 255);
- elm_colorselector_palette_color_add(cp->colorpalette, 171, 176, 41, 255);
- elm_colorselector_palette_color_add(cp->colorpalette, 53, 164, 72, 255);
- elm_colorselector_palette_color_add(cp->colorpalette, 73, 165, 157, 255);
- elm_colorselector_palette_color_add(cp->colorpalette, 34, 129, 157, 255);
- elm_colorselector_palette_color_add(cp->colorpalette, 37, 58, 119, 255);
- elm_colorselector_palette_color_add(cp->colorpalette, 128, 58, 177, 255);
- elm_colorselector_palette_color_add(cp->colorpalette, 194, 81, 182, 255);
- elm_colorselector_palette_color_add(cp->colorpalette, 189, 21, 92, 255);
-}
-
-static void _rotate_colorpalette_cb(void *data, Evas_Object *obj, void *event_info )
-{
- Colorpalette_Data *cp = (Colorpalette_Data*)data;
- evas_object_del(cp->colorpalette);
- _colorpalette(cp->layout, cp);
-}
-
-static Evas_Object *_create_colorpalette(Evas_Object *scroller)
-{
- static Colorpalette_Data cp;
-
- Evas_Object *box = elm_box_add(scroller);
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(box, EVAS_HINT_FILL, 0.0);
- evas_object_show(box);
-
- Evas_Object *layout = elm_layout_add(box);
- elm_layout_theme_set(layout, "layout", "dialogue", "1icon/no_padding");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, 0.0);
- elm_object_signal_emit(layout, "elm,state,top", "");
- elm_box_pack_end(box, layout);
- evas_object_show(layout);
-
- /* make base layout for a rectangle and a colorpalette */
- cp.layout = elm_layout_add(layout);
- elm_layout_file_set(cp.layout, ELM_DEMO_EDJ, "colorpalette/rect");
- evas_object_size_hint_weight_set(cp.layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(cp.layout);
- elm_object_part_content_set(layout, "elm.icon", cp.layout);
-
- /* add color rectangle */
- cp.rect = elm_layout_add(box);
- elm_layout_file_set(cp.rect, ELM_DEMO_EDJ, "item/colorpalette");
- evas_object_size_hint_weight_set(cp.rect, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(cp.rect, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_object_part_content_set(cp.layout, "rect", cp.rect);
- evas_object_color_set(cp.rect, 231, 28, 28, 255);
-
-
- Evas_Object *layout1 = elm_layout_add(box);
- elm_layout_theme_set(layout1, "layout", "dialogue", "1icon/no_padding");
- evas_object_size_hint_weight_set(layout1, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(layout1, EVAS_HINT_FILL, 0.0);
- elm_box_pack_end(box, layout1);
- elm_object_signal_emit(layout1, "elm,state,bottom", "");
- evas_object_show(layout1);
-
- /* make base layout for a rectangle and a colorpalette */
- cp.layout = elm_layout_add(layout1);
- elm_layout_file_set(cp.layout, ELM_DEMO_EDJ, "colorpalette");
- evas_object_size_hint_weight_set(cp.layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(cp.layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(cp.layout);
- elm_object_part_content_set(layout1, "elm.icon", cp.layout);
-
- _colorpalette(cp.layout, &cp);
- evas_object_smart_callback_add(gad->win_main, "rotation,changed", _rotate_colorpalette_cb, &cp);
-
- return box;
-}
-
-static Evas_Object *_create_scroller(Evas_Object *parent)
-{
- Evas_Object* scroller = elm_scroller_add(parent);
- elm_object_style_set(scroller, "dialogue");
- elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE);
- elm_scroller_policy_set(scroller,ELM_SCROLLER_POLICY_OFF,ELM_SCROLLER_POLICY_AUTO);
- evas_object_show(scroller);
-
- return scroller;
-}
-
-void colorselector_palette_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *box, *scroller;
- Elm_Object_Item *it;
- struct appdata *ad = (struct appdata *) data;
- if(ad == NULL) return;
- gad = ad;
- scroller = _create_scroller(ad->nf);
- it = elm_naviframe_item_push(ad->nf, _("Colorselector palette"), NULL, NULL, scroller, NULL);
- box = _create_colorpalette(scroller);
- elm_naviframe_item_pop_cb_set(it, _pop_cb, ad->win_main);
- elm_object_content_set(scroller, box);
-}
+++ /dev/null
-/*
- * Copyright (c) 2013 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "colorselector.h"
-
-
-/*********************************************************
- colorselector - plane
- ********************************************************/
-
-typedef struct _Colorplane_Data Colorplane_Data;
-struct _Colorplane_Data
-{
- Evas_Object *layout;
- Evas_Object *rect;
- Evas_Object *colorselector;
- Elm_Object_Item *it_last;
- Elm_Object_Item *sel_it;
- struct appdata *ad;
- Eina_Bool changed;
- int r, g, b, a;
-};
-
-static void _colorpalette_cb(void *data, Evas_Object *obj, void *event_info)
-{
- int r = 0, g = 0, b = 0 ,a = 0;
- Colorplane_Data *cp = (Colorplane_Data *)data;
- Elm_Object_Item *color_it = (Elm_Object_Item *) event_info;
- cp->sel_it = color_it;
- elm_colorselector_palette_item_color_get(color_it, &r, &g, &b, &a);
- evas_object_color_set(cp->rect, r, g, b , a);
- elm_colorselector_color_set(cp->colorselector, r, g, b, a);
-}
-
-static void _colorplane_cb(void *data, Evas_Object *obj, void *event_info)
-{
- int r, g, b, a;
- Colorplane_Data *cp = (Colorplane_Data*)data;
- Evas_Object* rect = cp->rect;
- if (!cp->changed) {
- elm_object_item_signal_emit(cp->it_last, "elm,state,custom,hide", "");
- cp->changed = EINA_TRUE;
- }
- elm_colorselector_color_get(cp->colorselector, &r, &g, &b, &a);
- cp->r = r;
- cp->g = g;
- cp->b = b;
- cp->a = a;
- evas_object_color_set(rect, r, g, b, a);
- elm_colorselector_palette_item_color_set(cp->it_last, r, g, b, a);
- if (cp->sel_it != cp->it_last)
- elm_object_item_signal_emit(cp->it_last, "elm,state,selected", "elm");
-}
-
-static void _colorpalette(Evas_Object *layout, Colorplane_Data *cp)
-{
- /* add color palette widget */
- Eina_List *color_list, *last_list;
-
- cp->colorselector = elm_colorselector_add(layout);
- elm_object_style_set(cp->colorselector, "colorplane");
- elm_colorselector_mode_set(cp->colorselector, ELM_COLORSELECTOR_PALETTE_PLANE);
- evas_object_size_hint_fill_set(cp->colorselector, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(cp->colorselector, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_part_content_set(layout, "colorpalette", cp->colorselector);
- evas_object_smart_callback_add(cp->colorselector, "color,item,selected", _colorpalette_cb, cp);
- color_list = elm_colorselector_palette_items_get(cp->colorselector);
- last_list = eina_list_last(color_list);
- cp->it_last = eina_list_data_get(last_list);
- elm_object_item_signal_emit(cp->it_last, "elm,state,custom,show", "");
- cp->changed = EINA_FALSE;
- evas_object_smart_callback_add(cp->colorselector, "changed", _colorplane_cb, cp);
- cp->sel_it = eina_list_nth(color_list, 3);
- elm_object_item_signal_emit(cp->sel_it, "elm,state,selected", "elm");
-}
-
-static Evas_Object *_create_colorplane(Evas_Object *scroller, Colorplane_Data *cp)
-{
- Evas_Object *box = elm_box_add(scroller);
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(box, EVAS_HINT_FILL, 0.0);
- evas_object_show(box);
-
- Evas_Object *layout = elm_layout_add(box);
- elm_layout_theme_set(layout, "layout", "dialogue", "1icon");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, 0.0);
- elm_object_signal_emit(layout, "elm,state,top", "");
- elm_box_pack_end(box, layout);
- evas_object_show(layout);
-
- /* make base layout for a rectangle*/
- Evas_Object *layout1 = elm_layout_add(layout);
- elm_layout_file_set(layout1, ELM_DEMO_EDJ, "colorplane/rect");
- evas_object_size_hint_weight_set(layout1, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(layout1, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(layout1);
- elm_object_part_content_set(layout, "elm.icon", layout1);
-
- /* add color rectangle */
- cp->rect = elm_layout_add(box);
- elm_layout_file_set(cp->rect, ELM_DEMO_EDJ, "item/colorpalette");
- evas_object_size_hint_weight_set(cp->rect, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(cp->rect, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_object_part_content_set(layout1, "rect", cp->rect);
-
- Evas_Object *layout2 = elm_layout_add(box);
- elm_layout_theme_set(layout2, "layout", "dialogue", "1icon");
- evas_object_size_hint_weight_set(layout2, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(layout2, EVAS_HINT_FILL, 0.0);
- elm_box_pack_end(box, layout2);
- elm_object_signal_emit(layout2, "elm,state,bottom", "");
- evas_object_show(layout2);
-
- /* make base layout for a colorpalette and colorplane*/
- cp->layout = elm_layout_add(layout2);
- elm_layout_file_set(cp->layout, ELM_DEMO_EDJ, "colorplane");
- evas_object_size_hint_weight_set(cp->layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(cp->layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(cp->layout);
- elm_object_part_content_set(layout2, "elm.icon", cp->layout);
-
- _colorpalette(cp->layout, cp);
- evas_object_color_set(cp->rect, 255, 59, 91, 255);
-
- return box;
-}
-
-static Evas_Object *_create_scroller(Evas_Object *parent)
-{
- Evas_Object* scroller = elm_scroller_add(parent);
- elm_object_style_set(scroller, "dialogue");
- elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE);
- elm_scroller_policy_set(scroller,ELM_SCROLLER_POLICY_OFF,ELM_SCROLLER_POLICY_AUTO);
- evas_object_show(scroller);
-
- return scroller;
-}
-
-void colorselector_plane_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *box, *scroller;
- static Colorplane_Data cp;
-
- if (data == NULL) return;
- cp.ad = (struct appdata *) data;
- scroller = _create_scroller(cp.ad->nf);
- elm_naviframe_item_push(cp.ad->nf, _("Colorselector plane"), NULL, NULL, scroller, NULL);
- box = _create_colorplane(scroller, &cp);
- elm_object_content_set(scroller, box);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "config.h"
-#include "config_scrolling.h"
-#include "config_abort.h"
-#include "config_mirror.h"
-
-/*********************************************************
- config
- ********************************************************/
-static struct _menu_item _menu_its[] = {
- //{ "Theme", NULL},
- //{ "Fonts", NULL},
- { "Scrolling", config_scrolling_cb},
- { "Abort on errors", config_abort_cb},
- { "UI mirroring", config_mirror_cb},
- /* do not delete below */
- { NULL, NULL }
-};
-
-static void _list_click(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *it = (Elm_Object_Item *) elm_list_selected_item_get(obj);
- if(it == NULL) return;
-
- elm_list_item_selected_set(it, EINA_FALSE);
-}
-
-static Evas_Object *_create_list_winset(struct appdata *ad)
-{
- Evas_Object *li;
- struct _menu_item *menu_its;
- if (ad == NULL) return NULL;
-
- li = elm_list_add(ad->nf);
- elm_list_mode_set(li, ELM_LIST_COMPRESS);
- evas_object_smart_callback_add(li, "selected", _list_click, NULL);
-
- int idx = 0;
- menu_its = _menu_its;
- while (menu_its[idx].name != NULL) {
- elm_list_item_append(li, menu_its[idx].name, NULL, NULL, menu_its[idx].func, ad);
- ++idx;
- }
- elm_list_go(li);
-
- return li;
-}
-
-
-void config_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *list;
- struct appdata *ad;
- ad = (struct appdata *) data;
- if(ad == NULL) return;
-
- list = _create_list_winset(ad);
- elm_naviframe_item_push(ad->nf, _("Config"), NULL, NULL, list, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "config_abort.h"
-#include <stdio.h>
-#include <unistd.h>
-#include <sys/reboot.h>
-#include <sys/stat.h>
-#include <sys/mount.h>
-#include <errno.h>
-
-#define SCRIPT_NAME "/etc/profile.d/efl_abort.sh"
-#define SCRIPT_CONTENT \
- "export ECORE_ERROR_ABORT=1\n" \
- "export EINA_LOG_ABORT=1\n" \
- "export ELM_ERROR_ABORT=1\n" \
- "export EVAS_DEBUG_ABORT=1\n"
-
-static Eina_Bool
-update_script(Eina_Bool enable)
-{
- FILE *fd = NULL;
- int ret;
-
- ret = mount(NULL, "/", NULL, MS_MGC_VAL|MS_REMOUNT, NULL);
- if (ret < 0) {
- fprintf(stderr, "fail to update booting mode (%d)", errno);
- return EINA_FALSE;
- }
-
- if (!enable) {
- ret = access(SCRIPT_NAME, F_OK);
- if (ret < 0)
- return EINA_TRUE;
-
- ret = remove(SCRIPT_NAME);
- if (ret < 0) {
- fprintf(stderr, "fail to remove script file (%d)\n", errno);
- return EINA_FALSE;
- }
- return EINA_TRUE;
- }
-
- fd = fopen(SCRIPT_NAME, "w");
- if (!fd) return EINA_FALSE;
-
- if (fwrite(SCRIPT_CONTENT, strlen(SCRIPT_CONTENT), 1, fd) != 1) {
- fprintf(stderr, "fail to write file (%d)\n", errno);
- fclose(fd);
- return EINA_FALSE;
- }
-
- fflush(fd);
- fclose(fd);
-
- chmod(SCRIPT_NAME, ACCESSPERMS);
-
- return EINA_TRUE;
-}
-
-static void
-_response_cb(void *data, Evas_Object *obj, void *event_info)
-{
- sync();
-
- reboot(RB_AUTOBOOT);
-
- evas_object_del(data);
-}
-
-static void
-show_popup(void *data)
-{
- struct appdata *ad = (struct appdata *)data;
- Evas_Object *popup;
- Evas_Object *btn;
-
- popup = elm_popup_add(ad->nf);
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_text_set(popup, "Target will be rebooted to take an effect");
- elm_object_part_text_set(popup, "title, text", "Title");
-
- btn = elm_button_add(popup);
- elm_object_text_set(btn, "OK");
- elm_object_part_content_set(popup, "button1", btn);
- evas_object_smart_callback_add(btn, "clicked", _response_cb, popup);
- evas_object_show(popup);
-}
-
-static void
-_check_clicked_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad = (struct appdata *)data;
- Eina_Bool enabled = elm_check_state_get(obj);
-
- if (!update_script(enabled)) {
- elm_check_state_set(obj, !enabled);
- return;
- }
-
- show_popup(ad);
-}
-
-static char *
-_gl_text_get(void *data, Evas_Object *obj, const char *part)
-{
- if (!part) return NULL;
- if (!strcmp(part, "elm.text")) return strdup("Abort on errors");
-
- return NULL;
-}
-
-static Evas_Object *
-_gl_content_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon;
- Eina_Bool enabled = EINA_FALSE;
-
- if (!part) return NULL;
- if (!strcmp(part, "elm.icon") || !strcmp(part, "elm.swallow.icon")) {
- icon = elm_check_add(obj);
-
- if (getenv("ELM_ERROR_ABORT")) enabled = EINA_TRUE;
-
- elm_check_state_set(icon, enabled);
- elm_object_style_set(icon, "on&off");
-
- evas_object_pass_events_set(icon, 1);
- evas_object_propagate_events_set(icon, 0);
- evas_object_smart_callback_add(icon, "changed", _check_clicked_cb, data);
-
- return icon;
- }
-
- return NULL;
-}
-
-static void
-_gl_sel(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad = (struct appdata *)data;
- Elm_Object_Item *item;
- Evas_Object *icon;
- Eina_Bool enabled;
-
- item = (Elm_Object_Item *)event_info;
- if (!item) return;
-
- elm_genlist_item_selected_set(item, EINA_FALSE);
-
- icon = elm_object_item_part_content_get(item, "elm.icon");
- if (!icon) return;
-
- enabled = !elm_check_state_get(icon);
-
- if (!update_script(enabled)) return;
-
- elm_check_state_set(icon, enabled);
-
- show_popup(ad);
-}
-
-static Evas_Object *
-_create_genlist(void *data)
-{
- struct appdata *ad = (struct appdata *)data;
- Evas_Object *genlist;
- Elm_Genlist_Item_Class *itc;
-
- // Create genlist
- genlist = elm_genlist_add(ad->nf);
-
- // Set genlist item class
- itc = elm_genlist_item_class_new();
- itc->item_style = "1text.1icon";
- itc->func.text_get = _gl_text_get;
- itc->func.content_get = _gl_content_get;
- itc->func.state_get = NULL;
- itc->func.del = NULL;
-
- // Append items
- elm_genlist_item_append(genlist, itc, ad, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, ad);
-
- elm_genlist_item_class_free(itc);
-
- return genlist;
-}
-
-void config_abort_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad = (struct appdata *) data;
- Evas_Object *genlist;
-
- genlist = _create_genlist(ad);
-
- elm_naviframe_item_push(ad->nf, _("Abort on errors"), NULL, NULL, genlist, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "config_mirror.h"
-#include <stdio.h>
-#include <unistd.h>
-#include <sys/reboot.h>
-#include <sys/stat.h>
-#include <sys/mount.h>
-#include <errno.h>
-
-
-static void
-_check_clicked_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Eina_Bool enabled = elm_check_state_get(obj);
-
- elm_config_mirrored_set(enabled);
-}
-
-static char *
-_gl_text_get(void *data, Evas_Object *obj, const char *part)
-{
- if (!part) return NULL;
- if (!strcmp(part, "elm.text")) return strdup("UI Mirroring");
-
- return NULL;
-}
-
-static Evas_Object *
-_gl_content_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon;
- Eina_Bool enabled = EINA_FALSE;
-
- if (!part) return NULL;
- if (!strcmp(part, "elm.icon") || !strcmp(part, "elm.swallow.icon")) {
- icon = elm_check_add(obj);
-
- enabled = elm_config_mirrored_get();
-
- elm_check_state_set(icon, enabled);
- elm_object_style_set(icon, "on&off");
-
- evas_object_pass_events_set(icon, 1);
- evas_object_propagate_events_set(icon, 0);
- evas_object_smart_callback_add(icon, "changed", _check_clicked_cb, data);
-
- return icon;
- }
-
- return NULL;
-}
-
-static void
-_gl_sel(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *item;
- Evas_Object *icon;
- Eina_Bool enabled;
-
- item = (Elm_Object_Item *)event_info;
- if (!item) return;
-
- elm_genlist_item_selected_set(item, EINA_FALSE);
-
- icon = elm_object_item_part_content_get(item, "elm.icon");
- if (!icon) return;
-
- enabled = !elm_check_state_get(icon);
-
- elm_check_state_set(icon, enabled);
-}
-
-static Evas_Object *
-_create_genlist(void *data)
-{
- struct appdata *ad = (struct appdata *)data;
- Evas_Object *genlist;
- Elm_Genlist_Item_Class *itc;
-
- // Create genlist
- genlist = elm_genlist_add(ad->nf);
-
- // Set genlist item class
- itc = elm_genlist_item_class_new();
- itc->item_style = "1text.1icon";
- itc->func.text_get = _gl_text_get;
- itc->func.content_get = _gl_content_get;
- itc->func.state_get = NULL;
- itc->func.del = NULL;
-
- // Append items
- elm_genlist_item_append(genlist, itc, ad, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, ad);
-
- elm_genlist_item_class_free(itc);
-
- return genlist;
-}
-
-void config_mirror_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad = (struct appdata *) data;
- Evas_Object *genlist;
-
- genlist = _create_genlist(ad);
-
- elm_naviframe_item_push(ad->nf, _("UI Mirroring"), NULL, NULL, genlist, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "config_scrolling.h"
-#include <math.h>
-
-#ifndef __UNUSED__
-#define __UNUSED__ __attribute__((unused))
-#endif
-
-/*********************************************************
- config scrolling
- ********************************************************/
-
-#define NUM_OF_ITEMS 44
-
-static char *slider_itemlist[] = {
- "Thumb scroll threshold",
- "Thumb scroll hold threshold",
- "Thumb scroll momentum threshold",
- "Thumb scroll friction",
- "Thumb scroll min friction",
- "Thumb scroll friction standard",
- "Thumb scroll border friction",
- "Thumb scroll sensitivity friction",
- "Thumb scroll acceleration threshold",
- "Thumb scroll acceleration time limit",
- "Thumb scroll acceleration weight",
- NULL
-};
-
-static char *guide_itemlist[] = {
- "This is the minimum pixels for moving the scroller",
- "This is the minimum pixels for moving the scroller on hold",
- "This is the minimum speed for auto scrolling",
- "Scroll animation time",
- "Scroll animation minimum time",
- "Standard velocity of the scroller",
- "This is the lag between actual mouse cursor dragging movement and scroller's view movement",
- "Sensitivity of toucing to scroll",
- "The minimum speed of mouse cursor movement which will accelerate",
- "The time limit for accelerating velocity",
- "The weight for acceleration",
- NULL
-};
-static void
-_thumbscroll_threshold_change(void *data __UNUSED__,
- Evas_Object *obj,
- void *event_info __UNUSED__)
-{
- double tst = elm_config_scroll_thumbscroll_threshold_get();
- double val = elm_slider_value_get(obj);
- unsigned int v;
- if (tst == val) return;
- v = floor(val + 0.5);
- elm_config_scroll_thumbscroll_threshold_set(v);
- elm_config_all_flush();
- elm_config_save();
- change_config_owner();
-}
-
-static void
-_thumbscroll_hold_threshold_change(void *data __UNUSED__,
- Evas_Object *obj,
- void *event_info __UNUSED__)
-{
- double tst = elm_config_scroll_thumbscroll_hold_threshold_get();
- double val = elm_slider_value_get(obj);
- unsigned int v;
- if (tst == val) return;
- v = floor(val + 0.5);
- elm_config_scroll_thumbscroll_hold_threshold_set(v);
- elm_config_all_flush();
- elm_config_save();
- change_config_owner();
-}
-
-static void
-_thumbscroll_momentum_threshold_change(void *data __UNUSED__,
- Evas_Object *obj,
- void *event_info __UNUSED__)
-{
- double tsmt = elm_config_scroll_thumbscroll_momentum_threshold_get();
- double val = elm_slider_value_get(obj);
-
- if (tsmt == val) return;
- elm_config_scroll_thumbscroll_momentum_threshold_set(val);
- elm_config_all_flush();
- elm_config_save();
- change_config_owner();
-}
-
-static void
-_thumbscroll_friction_change(void *data __UNUSED__,
- Evas_Object *obj,
- void *event_info __UNUSED__)
-{
- double tsf = elm_config_scroll_thumbscroll_friction_get();
- double val = elm_slider_value_get(obj);
-
- if (tsf == val) return;
- elm_config_scroll_thumbscroll_friction_set(val);
- elm_config_all_flush();
- elm_config_save();
- change_config_owner();
-}
-
-static void
-_thumbscroll_min_friction_change(void *data __UNUSED__,
- Evas_Object *obj,
- void *event_info __UNUSED__)
-{
- double tsmf = elm_config_scroll_thumbscroll_min_friction_get();
- double val = elm_slider_value_get(obj);
-
- if (tsmf == val) return;
- elm_config_scroll_thumbscroll_min_friction_set(val);
- elm_config_all_flush();
- elm_config_save();
- change_config_owner();
-}
-
-static void
-_thumbscroll_friction_standard_change(void *data __UNUSED__,
- Evas_Object *obj,
- void *event_info __UNUSED__)
-{
- double tsfs = elm_config_scroll_thumbscroll_friction_standard_get();
- double val = elm_slider_value_get(obj);
-
- if (tsfs == val) return;
- elm_config_scroll_thumbscroll_friction_standard_set(val);
- elm_config_all_flush();
- elm_config_save();
- change_config_owner();
-}
-
-static void
-_thumbscroll_border_friction_change(void *data __UNUSED__,
- Evas_Object *obj,
- void *event_info __UNUSED__)
-{
- double tsbf = elm_config_scroll_thumbscroll_border_friction_get();
- double val = elm_slider_value_get(obj);
-
- if (tsbf == val) return;
- elm_config_scroll_thumbscroll_border_friction_set(val);
- elm_config_all_flush();
- elm_config_save();
- change_config_owner();
-}
-static void
-_thumbscroll_sensitivity_friction_change(void *data __UNUSED__,
- Evas_Object *obj,
- void *event_info __UNUSED__)
-{
- double tssf = elm_config_scroll_thumbscroll_sensitivity_friction_get();
- double val = elm_slider_value_get(obj);
-
- if (tssf == val) return;
- elm_config_scroll_thumbscroll_sensitivity_friction_set(val);
- elm_config_all_flush();
- elm_config_save();
- change_config_owner();
-}
-
-static void
-_thumbscroll_acceleration_threshold_change(void *data __UNUSED__,
- Evas_Object *obj,
- void *event_info __UNUSED__)
-{
- double tssf = elm_config_scroll_thumbscroll_acceleration_threshold_get();
- double val = elm_slider_value_get(obj);
-
- if (tssf == val) return;
- elm_config_scroll_thumbscroll_acceleration_threshold_set(val);
- elm_config_all_flush();
- elm_config_save();
- change_config_owner();
-}
-
-static void
-_thumbscroll_acceleration_time_limit_change(void *data __UNUSED__,
- Evas_Object *obj,
- void *event_info __UNUSED__)
-{
- double tssf = elm_config_scroll_thumbscroll_acceleration_time_limit_get();
- double val = elm_slider_value_get(obj);
-
- if (tssf == val) return;
- elm_config_scroll_thumbscroll_acceleration_time_limit_set(val);
- elm_config_all_flush();
- elm_config_save();
- change_config_owner();
-}
-
-static void
-_thumbscroll_acceleration_weight_change(void *data __UNUSED__,
- Evas_Object *obj,
- void *event_info __UNUSED__)
-{
- double tssf = elm_config_scroll_thumbscroll_acceleration_weight_get();
- double val = elm_slider_value_get(obj);
-
- if (tssf == val) return;
- elm_config_scroll_thumbscroll_acceleration_weight_set(val);
- elm_config_all_flush();
- elm_config_save();
- change_config_owner();
-}
-
-static void _reset_button_cb(void *data __UNUSED__,
- Evas_Object *obj __UNUSED__,
- void *event_info __UNUSED__)
-{
- const char *pdir;
- pdir = elm_config_profile_dir_get("mobile", EINA_TRUE);
- if(!pdir)
- return;
-
- ecore_file_recursive_rm(pdir);
- elm_config_profile_dir_free(pdir);
-
- elm_config_reload();
- elm_config_all_flush();
- elm_config_save();
- change_config_owner();
-}
-
-static char *_gl_text_get(void *data, Evas_Object *obj, const char *part)
-{
- int index = ((int)(long)data) / 4;
- return strdup(slider_itemlist[index]);
-}
-
-static char *_gl_guide_text_get(void *data, Evas_Object *obj, const char *part)
-{
- int index = ((int)(long)data) / 4;
- return strdup(guide_itemlist[index]);
-}
-
-static void _parse_negative_zero(char *str)
-{
- char *ptr, *str_temp;
-
- ptr = strstr(str, "-0");
- if (ptr) {
- str_temp = ptr++;
- while (*ptr++) {
- if (*ptr == '0' || *ptr == '.')
- continue;
- else if (*ptr >='1' && *ptr <='9')
- break;
- else {
- while (*str_temp) {
- *str_temp = *(str_temp+1);
- str_temp++;
- }
- break;
- }
- }
- }
-}
-
-static char* _indicator_format(double val)
-{
- char *indicator = malloc(sizeof(char) * 64);
- if (!indicator) return NULL;
- snprintf(indicator, 64, "%1.0f", val);
-
- // Check and remove -0 state
- _parse_negative_zero(indicator);
-
- return indicator;
-}
-
-static char* _indicator_format_point(double val)
-{
- char *indicator = malloc(sizeof(char) * 64);
- if (!indicator) return NULL;
- snprintf(indicator, 64, "%1.1f", val);
-
- // Check and remove -0 state
- _parse_negative_zero(indicator);
-
- return indicator;
-}
-
-static void _indicator_free(char *str)
-{
- free(str);
-}
-
-static Evas_Object *_gl_content_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *slider;
- int index = ((int)(long)data);
-
- slider = elm_slider_add(obj);
- elm_slider_indicator_show_set(slider, EINA_TRUE);
- evas_object_size_hint_weight_set(slider, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(slider, EVAS_HINT_FILL, 0.5);
- elm_slider_indicator_format_set(slider, "%1.0f");
-
- if (index == 1) {
- elm_slider_indicator_format_function_set(slider, _indicator_format, _indicator_free);
- elm_slider_min_max_set(slider, 8, 500);
- elm_slider_value_set(slider, elm_config_scroll_thumbscroll_threshold_get());
- evas_object_smart_callback_add(slider, "slider,drag,stop", _thumbscroll_threshold_change,
- NULL);
- } else if (index == 5) {
- elm_slider_indicator_format_function_set(slider, _indicator_format, _indicator_free);
- elm_slider_min_max_set(slider, 4, 500);
- elm_slider_value_set(slider, elm_config_scroll_thumbscroll_hold_threshold_get());
- evas_object_smart_callback_add(slider, "slider,drag,stop", _thumbscroll_hold_threshold_change,
- NULL);
- } else if (index == 9) {
- elm_slider_indicator_format_function_set(slider, _indicator_format_point, _indicator_free);
- elm_slider_min_max_set(slider, 10.0, 200.0);
- elm_slider_value_set(slider, elm_config_scroll_thumbscroll_momentum_threshold_get());
- evas_object_smart_callback_add(slider, "slider,drag,stop", _thumbscroll_momentum_threshold_change,
- NULL);
- } else if (index == 13) {
- elm_slider_indicator_format_function_set(slider, _indicator_format_point, _indicator_free);
- elm_slider_min_max_set(slider, 0.1, 15.0);
- elm_slider_value_set(slider, elm_config_scroll_thumbscroll_friction_get());
- evas_object_smart_callback_add(slider, "slider,drag,stop", _thumbscroll_friction_change,
- NULL);
- } else if (index == 17) {
- elm_slider_indicator_format_function_set(slider, _indicator_format_point, _indicator_free);
- elm_slider_min_max_set(slider, 0.1, 15.0);
- elm_slider_value_set(slider, elm_config_scroll_thumbscroll_min_friction_get());
- evas_object_smart_callback_add(slider, "slider,drag,stop", _thumbscroll_min_friction_change,
- NULL);
- } else if (index == 21) {
- elm_slider_indicator_format_function_set(slider, _indicator_format_point, _indicator_free);
- elm_slider_min_max_set(slider, 10.0, 5000.0);
- elm_slider_value_set(slider, elm_config_scroll_thumbscroll_friction_standard_get());
- evas_object_smart_callback_add(slider, "slider,drag,stop", _thumbscroll_friction_standard_change,
- NULL);
- } else if (index == 25) {
- elm_slider_indicator_format_function_set(slider, _indicator_format_point, _indicator_free);
- elm_slider_min_max_set(slider, 0.0, 1.0);
- elm_slider_value_set(slider, elm_config_scroll_thumbscroll_border_friction_get());
- evas_object_smart_callback_add(slider, "slider,drag,stop", _thumbscroll_border_friction_change,
- NULL);
- } else if (index == 29) {
- elm_slider_indicator_format_function_set(slider, _indicator_format_point, _indicator_free);
- elm_slider_min_max_set(slider, 0.1, 1.0);
- elm_slider_value_set(slider, elm_config_scroll_thumbscroll_sensitivity_friction_get());
- evas_object_smart_callback_add(slider, "slider,drag,stop", _thumbscroll_sensitivity_friction_change,
- NULL);
- } else if (index == 33) {
- elm_slider_indicator_format_function_set(slider, _indicator_format_point, _indicator_free);
- elm_slider_min_max_set(slider, 10.0, 5000.0);
- elm_slider_value_set(slider, elm_config_scroll_thumbscroll_acceleration_threshold_get());
- evas_object_smart_callback_add(slider, "slider,drag,stop", _thumbscroll_acceleration_threshold_change,
- NULL);
- } else if (index == 37) {
- elm_slider_indicator_format_function_set(slider, _indicator_format_point, _indicator_free);
- elm_slider_min_max_set(slider, 0.0, 15.0);
- elm_slider_value_set(slider, elm_config_scroll_thumbscroll_acceleration_time_limit_get());
- evas_object_smart_callback_add(slider, "slider,drag,stop", _thumbscroll_acceleration_time_limit_change,
- NULL);
- } else if (index == 41) {
- elm_slider_indicator_format_function_set(slider, _indicator_format_point, _indicator_free);
- elm_slider_min_max_set(slider, 1.0, 10.0);
- elm_slider_value_set(slider, elm_config_scroll_thumbscroll_acceleration_weight_get());
- evas_object_smart_callback_add(slider, "slider,drag,stop", _thumbscroll_acceleration_weight_change,
- NULL);
- }
- return slider;
-}
-
-static Evas_Object* _create_genlist(Evas_Object* parent)
-{
- Evas_Object *genlist;
- Elm_Object_Item *gl_item = NULL;
- Elm_Genlist_Item_Class *itc_name, *itc_slider, *itc_guide, *itc_sep;
- int index;
-
- genlist = elm_genlist_add(parent);
- elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
-
- itc_name = elm_genlist_item_class_new();
- itc_slider = elm_genlist_item_class_new();
- itc_guide = elm_genlist_item_class_new();
- itc_sep = elm_genlist_item_class_new();
-
- itc_name->item_style = "dialogue/grouptitle";
- itc_name->func.text_get = _gl_text_get;
- itc_name->func.content_get = NULL;
- itc_name->func.state_get = NULL;
- itc_name->func.del = NULL;
-
- itc_slider->item_style = "dialogue/1icon";
- itc_slider->func.text_get = NULL;
- itc_slider->func.content_get = _gl_content_get;
- itc_slider->func.state_get = NULL;
- itc_slider->func.del = NULL;
-
- itc_guide->item_style = "multiline/1text";
- itc_guide->func.text_get = _gl_guide_text_get;
- itc_guide->func.content_get = NULL;
- itc_guide->func.state_get = NULL;
- itc_guide->func.del = NULL;
-
- itc_sep->item_style = "dialogue/separator";
- itc_sep->func.text_get = NULL;
- itc_sep->func.content_get = NULL;
- itc_sep->func.state_get = NULL;
- itc_sep->func.del = NULL;
-
- evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, 0.0);
- evas_object_show(genlist);
-
- for (index = 0; index < NUM_OF_ITEMS; index++) {
- switch(index % 4) {
- case 0:
- gl_item = elm_genlist_item_append(genlist, itc_name, (void *) index, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_genlist_item_select_mode_set(gl_item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
- break;
- case 1:
- gl_item = elm_genlist_item_append(genlist, itc_slider, (void *) index, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_genlist_item_select_mode_set(gl_item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
- break;
- case 2:
- gl_item = elm_genlist_item_append(genlist, itc_guide, (void *) index, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_genlist_item_select_mode_set(gl_item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
- break;
- case 3:
- gl_item = elm_genlist_item_append(genlist, itc_sep, (void *) index, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_genlist_item_select_mode_set(gl_item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
- break;
- }
- }
- elm_genlist_item_class_unref(itc_name);
- elm_genlist_item_class_unref(itc_slider);
- elm_genlist_item_class_unref(itc_guide);
- elm_genlist_item_class_unref(itc_sep);
- return genlist;
-}
-
-void config_scrolling_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *genlist, *button, *icon;
- Elm_Object_Item *navi_it;
- struct appdata *ad = (struct appdata *) data;
- if (ad == NULL) return;
-
- genlist = _create_genlist(ad->nf);
- navi_it = elm_naviframe_item_push(ad->nf, _("Scrolling"), NULL, NULL, genlist, NULL);
-
- button = elm_button_add(ad->nf);
- elm_object_style_set(button, "naviframe/title_icon");
- icon = elm_image_add(ad->nf);
- elm_image_file_set(icon, ICON_DIR"/reset.png", NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_object_part_content_set(button, "icon", icon);
- elm_object_item_part_content_set(navi_it, "title_right_btn", button);
- evas_object_smart_callback_add(button, "clicked", _reset_button_cb, genlist);
-}
-
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "ctxpopup.h"
-
-/*********************************************************
- contextpopup
- ********************************************************/
-static Evas_Coord touch_x;
-static Evas_Coord touch_y;
-static Evas_Object* ctxpopup = NULL;
-struct appdata *ad;
-typedef struct _Ctxpopup_Data
-{
- Evas_Object *ctx;
- Evas_Object *btn;
-} Ctxpopup_Data;
-Ctxpopup_Data ctx_data;
-
-
-static Eina_Bool _pop_cb(void *data, Elm_Object_Item *it)
-{
- if(ctxpopup) {
- evas_object_del(ctxpopup);
- ctxpopup = NULL;
- }
-
- elm_theme_extension_del(NULL, ELM_DEMO_EDJ);
- ecore_event_handler_del(data);
-
- return EINA_TRUE;
-}
-
-static void _move_ctxpopup(Evas_Object *ctxpopup, Evas_Object *btn)
-{
- Evas_Coord x, y, w , h;
- evas_object_geometry_get(btn, &x, &y, &w, &h);
- evas_object_move(ctxpopup, x + (w / 2), y + (h /2));
-}
-
-static void _move_more_ctxpopup(Evas_Object *ctx)
-{
- Evas_Coord w, h;
- int pos = -1;
-
- elm_win_screen_size_get(ad->win_main, NULL, NULL, &w, &h);
- pos = elm_win_rotation_get(ad->win_main);
-
- switch (pos) {
- case 0:
- case 180:
- evas_object_move(ctx, 0, h);
- break;
- case 90:
- evas_object_move(ctx, 0, w);
- break;
- case 270:
- evas_object_move(ctx, h, w);
- break;
- }
-}
-
-static void _dismissed_cb(void *data, Evas_Object *obj, void *event_info)
-{
- evas_object_smart_callback_del(ctxpopup,"dismissed", _dismissed_cb);
- evas_object_del(ctxpopup);
- ctxpopup = NULL;
-}
-
-static void _dismissed_more_ctxpopup_cb(void *data, Evas_Object *obj, void *event_info)
-{
- evas_object_del(obj);
- obj = NULL;
-}
-
-static void _resize_more_ctxpopup_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- _move_more_ctxpopup(data);
-}
-
-static void _rotate_more_ctxpopup_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *ctx = (Evas_Object *)data;
- _move_more_ctxpopup(ctx);
-}
-
-static void _delete_more_ctxpopup_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- Evas_Object *navi = (Evas_Object *)data;
- Evas_Object *ctx = obj;
-
- evas_object_event_callback_del_full(navi, EVAS_CALLBACK_RESIZE, _resize_more_ctxpopup_cb, ctx);
- evas_object_smart_callback_del_full(elm_object_top_widget_get(ctx), "rotation,changed", _rotate_more_ctxpopup_cb, ctx);
- evas_object_smart_callback_del(ctx, "dismissed", _dismissed_more_ctxpopup_cb);
- evas_object_event_callback_del_full(ctx, EVAS_CALLBACK_DEL, _delete_more_ctxpopup_cb, navi);
-}
-
-static void _dismissed_rotate_ctxpopup_cb(void *data, Evas_Object *obj, void *event_info)
-{
- evas_object_del(ctx_data.ctx);
- ctx_data.ctx = NULL;
- ctxpopup = NULL;
-}
-static void _resize_rotate_ctxpopup_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- _move_ctxpopup(ctx_data.ctx, ctx_data.btn);
-}
-
-static void _rotate_ctxpopup_cb(void *data, Evas_Object *obj, void *event_info)
-{
- _move_ctxpopup(ctx_data.ctx, ctx_data.btn);
-}
-
-static void _delete_rotate_ctxpopup_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- Evas_Object *navi = (Evas_Object *)data;
- Evas_Object *ctx = ctx_data.ctx;
-
- evas_object_event_callback_del(navi, EVAS_CALLBACK_RESIZE, _resize_rotate_ctxpopup_cb);
- evas_object_smart_callback_del(elm_object_top_widget_get(ctx), "rotation,changed", _rotate_ctxpopup_cb);
- evas_object_smart_callback_del(ctx, "dismissed", _dismissed_rotate_ctxpopup_cb);
- ea_object_event_callback_del(ctxpopup, EA_CALLBACK_BACK, ea_ctxpopup_back_cb);
- ea_object_event_callback_del(ctxpopup, EA_CALLBACK_MORE, ea_ctxpopup_back_cb);
- evas_object_event_callback_del_full(ctx, EVAS_CALLBACK_DEL, _delete_rotate_ctxpopup_cb, navi);
-}
-
-static void _on_move(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- Evas_Coord x, y, w, h;
- evas_object_geometry_get(obj, &x, &y, &w, &h);
- printf("[%s : %d] obj=%p x=%d y=%d w=%d h=%d\n", __func__, __LINE__, obj, x, y, w,h);
-}
-
-static void _ctxpopup_cb(void *data, Evas_Object *obj, void *event_info)
-{
- const char *label = elm_object_item_text_get((Elm_Object_Item *) event_info);
- if(label) fprintf(stderr, "text(%s) is clicked\n", label);
-
- Evas_Object *icon = elm_object_item_content_get((Elm_Object_Item *) event_info);
- if(icon) fprintf(stderr, "icon is clicked\n");
-}
-
-/*********************************************************
-Text Only
- ********************************************************/
-static void _create_ctxpopup_text_only(void *data, Evas_Object *obj, void *event_info)
-{
- if(ctxpopup) {
- evas_object_del(ctxpopup);
- ctxpopup = NULL;
- }
-
- ctxpopup = elm_ctxpopup_add(ad->nf);
- ea_object_event_callback_add(ctxpopup, EA_CALLBACK_BACK, ea_ctxpopup_back_cb, NULL);
- evas_object_smart_callback_add(ctxpopup,"dismissed", _dismissed_cb, NULL);
-
- elm_ctxpopup_item_append(ctxpopup, _("Message"), NULL, _ctxpopup_cb, ctxpopup);
- elm_ctxpopup_item_append(ctxpopup, _("Email"), NULL, _ctxpopup_cb, ctxpopup);
- elm_ctxpopup_item_append(ctxpopup, _("Facebook"), NULL, _ctxpopup_cb, ctxpopup);
- elm_ctxpopup_item_append(ctxpopup, _("Bluetooth"), NULL, _ctxpopup_cb, ctxpopup);
- elm_ctxpopup_item_append(ctxpopup, _("Flickr"), NULL, _ctxpopup_cb, ctxpopup);
-
- _move_ctxpopup(ctxpopup, obj);
- evas_object_show(ctxpopup);
-}
-/*********************************************************
-Text Only End
- ********************************************************/
-
-
-/*********************************************************
-3 Icons
- ********************************************************/
-static void _create_ctxpopup_3icon( void *data, Evas_Object *obj, void *event_info )
-{
- char buf[255];
- Evas_Object* icon;
-
- if(ctxpopup) {
- evas_object_del(ctxpopup);
- ctxpopup = NULL;
- }
-
- ctxpopup = elm_ctxpopup_add(ad->nf);
- ea_object_event_callback_add(ctxpopup, EA_CALLBACK_BACK, ea_ctxpopup_back_cb, NULL);
- evas_object_smart_callback_add(ctxpopup,"dismissed", _dismissed_cb, NULL);
- elm_ctxpopup_horizontal_set(ctxpopup, EINA_TRUE);
-
- //Icon 1
- icon = elm_image_add(ctxpopup);
- snprintf(buf, sizeof(buf), "%s/00_popup_icon_call.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_ctxpopup_item_append(ctxpopup, NULL, icon, _ctxpopup_cb, ctxpopup);
-
- //Icon 2
- icon = elm_image_add(ctxpopup);
- snprintf(buf, sizeof(buf), "%s/00_popup_icon_message.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_ctxpopup_item_append(ctxpopup, NULL, icon, _ctxpopup_cb, ctxpopup);
-
- //Icon 3
- icon = elm_image_add(ctxpopup);
- snprintf(buf, sizeof(buf), "%s/00_popup_icon_video call.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_ctxpopup_item_append(ctxpopup, NULL, icon, _ctxpopup_cb, ctxpopup);
-
- _move_ctxpopup(ctxpopup, obj);
- evas_object_show(ctxpopup);
-}
-/*********************************************************
-3 Icons End
- ********************************************************/
-
-/*********************************************************
-Icon + Text
- ********************************************************/
-static void _create_ctxpopup_icon_text(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object* icon;
- char buf[256];
-
- if(ctxpopup) {
- evas_object_del(ctxpopup);
- ctxpopup = NULL;
- }
-
- ctxpopup = elm_ctxpopup_add(ad->nf);
- ea_object_event_callback_add(ctxpopup, EA_CALLBACK_BACK, ea_ctxpopup_back_cb, NULL);
- evas_object_smart_callback_add(ctxpopup, "dismissed", _dismissed_cb, NULL);
-
- icon = elm_image_add(ctxpopup);
- snprintf(buf, sizeof(buf), "%s/icon1.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_ctxpopup_item_append(ctxpopup, _("http://m.naver.com"), icon, _ctxpopup_cb, ctxpopup);
-
- icon = elm_image_add(ctxpopup);
- snprintf(buf, sizeof(buf), "%s/icon2.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_ctxpopup_item_append(ctxpopup, _("http://m.telebox.net"), icon, _ctxpopup_cb, ctxpopup);
-
- icon = elm_image_add(ctxpopup);
- snprintf(buf, sizeof(buf), "%s/icon2.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_ctxpopup_item_append(ctxpopup, _("http://m.samsung.com"), icon, _ctxpopup_cb, ctxpopup);
-
- icon = elm_image_add(ctxpopup);
- snprintf(buf, sizeof(buf), "%s/icon4.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_ctxpopup_item_append(ctxpopup, _("http://m.yahoo.com"), icon, _ctxpopup_cb, ctxpopup);
-
- icon = elm_image_add(ctxpopup);
- snprintf(buf, sizeof(buf), "%s/icon3.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_ctxpopup_item_append(ctxpopup, _("http://m.facebook.com"), icon, _ctxpopup_cb, ctxpopup);
-
- _move_ctxpopup(ctxpopup, obj);
-
- evas_object_show(ctxpopup);
-}
-/*********************************************************
-Icon + Text End
- ********************************************************/
-/*********************************************************
-Ctxpop_on_roatation
- ********************************************************/
-
-static void _create_ctxpopup_on_rotation(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object* icon;
- char buf[256];
- ctx_data.btn = obj;
- if(ctxpopup) {
- evas_object_del(ctxpopup);
- ctxpopup = NULL;
- }
- ctxpopup = elm_ctxpopup_add(ad->nf);
- ctx_data.ctx = ctxpopup;
- elm_ctxpopup_auto_hide_disabled_set(ctxpopup, EINA_TRUE);
-
- ea_object_event_callback_add(ctxpopup, EA_CALLBACK_BACK, ea_ctxpopup_back_cb, NULL);
- ea_object_event_callback_add(ctxpopup, EA_CALLBACK_MORE, ea_ctxpopup_back_cb, NULL);
- evas_object_smart_callback_add(ctxpopup, "dismissed", _dismissed_rotate_ctxpopup_cb, NULL);
- evas_object_event_callback_add(ctxpopup, EVAS_CALLBACK_DEL, _delete_rotate_ctxpopup_cb, ad->nf);
- evas_object_event_callback_add(ad->nf, EVAS_CALLBACK_RESIZE, _resize_rotate_ctxpopup_cb, NULL);
- evas_object_smart_callback_add(elm_object_top_widget_get(ctxpopup), "rotation,changed", _rotate_ctxpopup_cb, NULL);
-
- icon = elm_image_add(ctxpopup);
- snprintf(buf, sizeof(buf), "%s/icon1.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_ctxpopup_item_append(ctxpopup, _("http://m.naver.com"), icon, _ctxpopup_cb, ctxpopup);
-
- icon = elm_image_add(ctxpopup);
- snprintf(buf, sizeof(buf), "%s/icon2.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_ctxpopup_item_append(ctxpopup, _("http://m.telebox.net"), icon, _ctxpopup_cb, ctxpopup);
-
- icon = elm_image_add(ctxpopup);
- snprintf(buf, sizeof(buf), "%s/icon2.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_ctxpopup_item_append(ctxpopup, _("http://m.samsung.com"), icon, _ctxpopup_cb, ctxpopup);
-
- icon = elm_image_add(ctxpopup);
- snprintf(buf, sizeof(buf), "%s/icon4.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_ctxpopup_item_append(ctxpopup, _("http://m.yahoo.com"), icon, _ctxpopup_cb, ctxpopup);
-
- icon = elm_image_add(ctxpopup);
- snprintf(buf, sizeof(buf), "%s/icon3.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_ctxpopup_item_append(ctxpopup, _("http://m.facebook.com"), icon, _ctxpopup_cb, ctxpopup);
-
- _move_ctxpopup(ctxpopup, obj);
-
- evas_object_show(ctxpopup);
-}
-/*********************************************************
-Ctxpop_on_roatation_ends
- ********************************************************/
-/*********************************************************
-CopyPaste Sample
- ********************************************************/
-
-const char *
-_elm_theme_current_get(const char *theme_search_order)
-{
- const char *ret;
- const char *p;
-
- if (!theme_search_order)
- return NULL;
-
- for (p = theme_search_order;; p++)
- {
- if ((*p == ':') || (!*p))
- {
- if (p > theme_search_order)
- {
- char *n = malloc(p - theme_search_order + 1);
- if (!n)
- return NULL;
-
- strncpy(n, theme_search_order, p - theme_search_order);
- n[p - theme_search_order] = 0;
- ret = eina_stringshare_add(n);
- free(n);
- break;
- }
- }
- }
-
- return ret;
-}
-
-static void _create_ctxpopup_copypaste_sample(void *data, Evas_Object *obj, void *event_info)
-{
- char buf[255];
- char *theme;
- Evas_Object *icon;
-
- if(ctxpopup) {
- evas_object_del(ctxpopup);
- ctxpopup = NULL;
- }
-
- ctxpopup = elm_ctxpopup_add(ad->nf);
- ea_object_event_callback_add(ctxpopup, EA_CALLBACK_BACK, ea_ctxpopup_back_cb, NULL);
- evas_object_smart_callback_add(ctxpopup, "dismissed", _dismissed_cb, NULL);
-
- theme = elm_theme_list_item_path_get(_elm_theme_current_get(elm_theme_get(NULL)), NULL);
- icon = elm_image_add(ctxpopup);
- snprintf(buf, sizeof(buf), "elm/copypaste/select/default");
- elm_image_file_set(icon, theme, buf);
- elm_ctxpopup_item_append(ctxpopup, _("Select"), icon, _ctxpopup_cb, ctxpopup);
-
- icon = elm_image_add(ctxpopup);
- snprintf(buf, sizeof(buf), "elm/copypaste/select_all/default");
- elm_image_file_set(icon, theme, buf);
- elm_ctxpopup_item_append(ctxpopup, _("Select All"), icon, _ctxpopup_cb, ctxpopup);
-
- icon = elm_image_add(ctxpopup);
- snprintf(buf, sizeof(buf), "elm/copypaste/copy/default");
- elm_image_file_set(icon, theme, buf);
- elm_ctxpopup_item_append(ctxpopup, _("Copy"), icon, _ctxpopup_cb, ctxpopup);
-
- icon = elm_image_add(ctxpopup);
- snprintf(buf, sizeof(buf), "elm/copypaste/cut/default");
- elm_image_file_set(icon, theme, buf);
- elm_ctxpopup_item_append(ctxpopup, _("Cut"), icon, _ctxpopup_cb, ctxpopup);
-
- icon = elm_image_add(ctxpopup);
- snprintf(buf, sizeof(buf), "elm/copypaste/paste/default");
- elm_image_file_set(icon, theme, buf);
- elm_ctxpopup_item_append(ctxpopup, _("Paste"), icon, _ctxpopup_cb, ctxpopup);
-
- icon = elm_image_add(ctxpopup);
- snprintf(buf, sizeof(buf), "elm/copypaste/clipboard/default");
- elm_image_file_set(icon, theme, buf);
- elm_ctxpopup_item_append(ctxpopup, _("Clipboard"), icon, _ctxpopup_cb, ctxpopup);
-
- icon = elm_image_add(ctxpopup);
- snprintf(buf, sizeof(buf), "elm/copypaste/translate/default");
- elm_image_file_set(icon, theme, buf);
- elm_ctxpopup_item_append(ctxpopup, _("Translate"), icon, _ctxpopup_cb, ctxpopup);
-
- icon = elm_image_add(ctxpopup);
- snprintf(buf, sizeof(buf), "elm/copypaste/share/default");
- elm_image_file_set(icon, theme, buf);
- elm_ctxpopup_item_append(ctxpopup, _("Share"), icon, _ctxpopup_cb, ctxpopup);
-
- icon = elm_image_add(ctxpopup);
- snprintf(buf, sizeof(buf), "elm/copypaste/search/default");
- elm_image_file_set(icon, theme, buf);
- elm_ctxpopup_item_append(ctxpopup, _("Search"), icon, _ctxpopup_cb, ctxpopup);
-
- icon = elm_image_add(ctxpopup);
- snprintf(buf, sizeof(buf), "elm/copypaste/find/default");
- elm_image_file_set(icon, theme, buf);
- elm_ctxpopup_item_append(ctxpopup, _("Find"), icon, _ctxpopup_cb, ctxpopup);
-
- elm_ctxpopup_horizontal_set(ctxpopup, EINA_TRUE);
- elm_object_style_set(ctxpopup, "copypaste");
- _move_ctxpopup(ctxpopup, obj);
-
- evas_object_show(ctxpopup);
- if (theme) free(theme);
-}
-/*********************************************************
-CopyPaste Sample End
- ********************************************************/
-
-/*********************************************************
- Buttons Style
- ********************************************************/
-static Evas_Object *_create_buttons(Evas_Object *parent)
-{
- Evas_Object *table;
- Evas_Object *btn;
- Evas_Object *layout;
-
- layout = elm_layout_add(parent);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "ctxpopup_buttons_nbeat");
-
- table = elm_table_add(layout);
- elm_table_padding_set(table, 10, 10);
-
- //cm
- btn = elm_button_add(table);
- elm_object_text_set(btn, "cm");
- evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(btn);
- elm_table_pack(table, btn, 0, 0, 1, 1);
-
- //m
- btn = elm_button_add(table);
- elm_object_text_set(btn, "m");
- evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(btn);
- elm_table_pack(table, btn, 1, 0, 1, 1);
-
- //km
- btn = elm_button_add(table);
- elm_object_text_set(btn, "km");
- evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(btn);
- elm_table_pack(table, btn, 2, 0, 1, 1);
-
- //inches
- btn = elm_button_add(table);
- elm_object_text_set(btn, "inches");
- evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(btn);
- elm_table_pack(table, btn, 0, 1, 1, 1);
-
- //gallons
- btn = elm_button_add(table);
- elm_object_text_set(btn, "gallons(us)");
- evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(btn);
- elm_table_pack(table, btn, 1, 1, 1, 1);
-
- //inches
- btn = elm_button_add(table);
- elm_object_text_set(btn, "inches³");
- evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(btn);
- elm_table_pack(table, btn, 2, 1, 1, 1);
-
- //inches
- btn = elm_button_add(table);
- elm_object_text_set(btn, "hectares");
- evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(btn);
- elm_table_pack(table, btn, 0, 2, 1, 1);
-
- //gallons
- btn = elm_button_add(table);
- elm_object_text_set(btn, "yards");
- evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(btn);
- elm_table_pack(table, btn, 1, 2, 1, 1);
-
- //inches
- btn = elm_button_add(table);
- elm_object_text_set(btn, "miles");
- evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(btn);
- elm_table_pack(table, btn, 2, 2, 1, 1);
-
- elm_object_part_content_set(layout, "elm.swallow.table", table);
-
- return layout;
-
-}
-
-static void _create_ctxpopup_buttons_style(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *buttons;
-
- if(ctxpopup) {
- evas_object_del(ctxpopup);
- ctxpopup = NULL;
- }
-
- ctxpopup = elm_ctxpopup_add(ad->nf);
- ea_object_event_callback_add(ctxpopup, EA_CALLBACK_BACK, ea_ctxpopup_back_cb, NULL);
- evas_object_smart_callback_add(ctxpopup, "dismissed", _dismissed_cb, NULL);
-
- buttons = _create_buttons(ad->nf);
- evas_object_show(buttons);
- elm_object_content_set(ctxpopup, buttons);
-
- _move_ctxpopup(ctxpopup, obj);
- evas_object_show(ctxpopup);
-}
-/*********************************************************
- Buttons Style End
- ********************************************************/
-
-/*********************************************************
-Imageeditor adjust
- ********************************************************/
-static void _create_ctxpopup_imageeditor_adjust_style(void *data, Evas_Object *obj, void *event_info)
-{
- if(ctxpopup) {
- evas_object_del(ctxpopup);
- ctxpopup = NULL;
- }
-
- ctxpopup = elm_ctxpopup_add(ad->nf);
- ea_object_event_callback_add(ctxpopup, EA_CALLBACK_BACK, ea_ctxpopup_back_cb, NULL);
- elm_object_style_set(ctxpopup, "elm_demo_tizen/imageeditor");
- evas_object_smart_callback_add(ctxpopup, "dismissed", _dismissed_cb, NULL);
-
- elm_ctxpopup_item_append(ctxpopup, _("option ment text"), NULL,_ctxpopup_cb, ctxpopup);
- elm_ctxpopup_item_append(ctxpopup, _("option ment text"), NULL,_ctxpopup_cb, ctxpopup);
- elm_ctxpopup_item_append(ctxpopup, _("option ment text"), NULL,_ctxpopup_cb, ctxpopup);
- elm_ctxpopup_item_append(ctxpopup, _("option ment text text text"), NULL,_ctxpopup_cb, ctxpopup);
- elm_ctxpopup_item_append(ctxpopup, _("option ment text"), NULL,_ctxpopup_cb, ctxpopup);
-
- elm_ctxpopup_direction_priority_set(ctxpopup, ELM_CTXPOPUP_DIRECTION_LEFT,
- ELM_CTXPOPUP_DIRECTION_RIGHT,
- ELM_CTXPOPUP_DIRECTION_DOWN,
- ELM_CTXPOPUP_DIRECTION_UP);
- elm_object_scroll_freeze_push(ctxpopup);
- _move_ctxpopup(ctxpopup, obj);
-
- evas_object_show(ctxpopup);
-}
-/*********************************************************
-Imageeditor adjust End
- ********************************************************/
-/*********************************************************
-Camera Shooting mode
- ********************************************************/
-static void _camera_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- elm_radio_value_set(data, (int) evas_object_data_get(data, "idx"));
-}
-
-static Evas_Object *_create_camera_shooting_item(Evas_Object *parent, char *icon_path, char *label)
-{
- Evas_Object *layout;
- Evas_Object *icon;
-
- //layout
- layout = elm_layout_add(parent);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "camera/radio_icon_text_item");
- evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_show(layout);
-
- //icon
- icon = elm_image_add(layout);
- elm_image_file_set(icon, icon_path, NULL);
- evas_object_show(icon);
- elm_object_part_content_set(layout, "elm.swallow.icon", icon);
-
- //text
- edje_object_part_text_set(elm_layout_edje_get(layout), "elm.text", label);
-
- return layout;
-}
-
-static Evas_Object *_create_camera_shooting_content(Evas_Object *parent)
-{
- Evas_Object *layout;
- Evas_Object *box;
- Evas_Object *item;
- Evas_Object *radio;
- Evas_Object *group;
- Eina_List *l = NULL;
- Evas_Object *ao;
-
- //Layout
- layout = elm_layout_add(ctxpopup);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "camera/layout");
- evas_object_show(layout);
-
- //Box
- box = elm_box_add(layout);
-
- //Items : Single
- item = _create_camera_shooting_item(box, ICON_DIR"/11_camera_shootingmode_single.png", "Single");
- ao = elm_access_object_register(item, box);
- elm_access_info_set(ao, ELM_ACCESS_INFO, "Single");
- l = eina_list_append(l, ao);
-
- //radio
- group = radio = elm_radio_add(item);
- elm_object_style_set(radio, "elm_demo_tizen/camera");
- elm_radio_state_value_set(radio, 0);
- evas_object_data_set(radio, "idx", (void *)(0));
- evas_object_show(radio);
- elm_object_part_content_set(item, "elm.swallow.radio", radio);
- evas_object_event_callback_add(item, EVAS_CALLBACK_MOUSE_DOWN, _camera_cb, radio);
- elm_box_pack_end(box, item);
-
- //Items : Beauty
- item = _create_camera_shooting_item(box, ICON_DIR"/11_camera_shootingmode_beauty.png", "Beauty");
- ao = elm_access_object_register(item, box);
- elm_access_info_set(ao, ELM_ACCESS_INFO, "Beauty");
- l = eina_list_append(l, ao);
-
- //radio
- radio = elm_radio_add(item);
- elm_object_style_set(radio, "elm_demo_tizen/camera");
- elm_radio_state_value_set(radio, 1);
- evas_object_data_set(radio, "idx", (void *)(1));
- elm_radio_group_add(radio, group);
- evas_object_show(radio);
- elm_object_part_content_set(item, "elm.swallow.radio", radio);
- evas_object_event_callback_add(item, EVAS_CALLBACK_MOUSE_DOWN, _camera_cb, radio);
- elm_box_pack_end(box, item);
-
- //Items : Smile shot
- item = _create_camera_shooting_item(box, ICON_DIR"/11_camera_shootingmode_smileshot.png", "Smile shot");
- ao = elm_access_object_register(item, box);
- elm_access_info_set(ao, ELM_ACCESS_INFO, "Smile Shot");
- l = eina_list_append(l, ao);
-
- //radio
- radio = elm_radio_add(item);
- elm_object_style_set(radio, "elm_demo_tizen/camera");
- elm_radio_state_value_set(radio, 2);
- evas_object_data_set(radio, "idx", (void *)(2));
- elm_radio_group_add(radio, group);
- evas_object_show(radio);
- elm_object_part_content_set(item, "elm.swallow.radio", radio);
- evas_object_event_callback_add(item, EVAS_CALLBACK_MOUSE_DOWN, _camera_cb, radio);
- elm_box_pack_end(box, item);
-
- //Items : Continuous
- item = _create_camera_shooting_item(box, ICON_DIR"/11_camera_shootingmode_continuous.png", "Continuous");
- ao = elm_access_object_register(item, box);
- elm_access_info_set(ao, ELM_ACCESS_INFO, "Continuous");
- l = eina_list_append(l, ao);
-
- //radio
- radio = elm_radio_add(item);
- elm_object_style_set(radio, "elm_demo_tizen/camera");
- elm_radio_state_value_set(radio, 3);
- evas_object_data_set(radio, "idx", (void *)(3));
- elm_radio_group_add(radio, group);
- evas_object_show(radio);
- elm_object_part_content_set(item, "elm.swallow.radio", radio);
- evas_object_event_callback_add(item, EVAS_CALLBACK_MOUSE_DOWN, _camera_cb, radio);
- elm_box_pack_end(box, item);
-
- //Items : Panorama
- item = _create_camera_shooting_item(box, ICON_DIR"/11_camera_shootingmode_panorama.png", "Panorama");
- ao = elm_access_object_register(item, box);
- elm_access_info_set(ao, ELM_ACCESS_INFO, "Panorama");
- l = eina_list_append(l, ao);
-
- //radio
- radio = elm_radio_add(item);
- elm_object_style_set(radio, "elm_demo_tizen/camera");
- elm_radio_state_value_set(radio, 4);
- evas_object_data_set(radio, "idx", (void *)(4));
- elm_radio_group_add(radio, group);
- evas_object_show(radio);
- elm_object_part_content_set(item, "elm.swallow.radio", radio);
- evas_object_event_callback_add(item, EVAS_CALLBACK_MOUSE_DOWN, _camera_cb, radio);
- elm_box_pack_end(box, item);
-
- elm_object_part_content_set(layout, "elm.swallow.box", box);
-
- elm_object_focus_custom_chain_set(box, l);
-
- return layout;
-}
-
-static void _create_ctxpopup_camera_shooting_style(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *content;
-
- if(ctxpopup) {
- evas_object_del(ctxpopup);
- ctxpopup = NULL;
- }
-
- ctxpopup = elm_ctxpopup_add(ad->nf);
- ea_object_event_callback_add(ctxpopup, EA_CALLBACK_BACK, ea_ctxpopup_back_cb, NULL);
- elm_object_style_set(ctxpopup, "elm_demo_tizen/camera");
- evas_object_smart_callback_add(ctxpopup, "dismissed", _dismissed_cb, NULL);
-
- content = _create_camera_shooting_content(ctxpopup);
- elm_object_content_set(ctxpopup, content);
-
- _move_ctxpopup(ctxpopup, obj);
- evas_object_show(ctxpopup);
-}
-/*********************************************************
-Camera Shooting mode End
- ********************************************************/
-
-/*********************************************************
-Icon + Text (More button style)
- ********************************************************/
-static void _create_ctxpopup_more_button_style(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object* icon;
- char buf[256];
-
- if(ctxpopup) {
- evas_object_del(ctxpopup);
- }
-
- ctxpopup = elm_ctxpopup_add(ad->nf);
- ea_object_event_callback_add(ctxpopup, EA_CALLBACK_BACK, ea_ctxpopup_back_cb, NULL);
- elm_object_style_set(ctxpopup, "more/default");
- evas_object_smart_callback_add(ctxpopup, "dismissed", _dismissed_cb, NULL);
-
- icon = elm_image_add(ctxpopup);
- snprintf(buf, sizeof(buf), "%s/00_controlbar_icon_contacts.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_ctxpopup_item_append(ctxpopup, _("Add contact"), icon, _ctxpopup_cb, ctxpopup);
-
- icon = elm_image_add(ctxpopup);
- snprintf(buf, sizeof(buf), "%s/00_controlbar_icon_logs.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_ctxpopup_item_append(ctxpopup, _("Phone calls"), icon, _ctxpopup_cb, ctxpopup);
-
- icon = elm_image_add(ctxpopup);
- snprintf(buf, sizeof(buf), "%s/00_controlbar_icon_favorites.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_ctxpopup_item_append(ctxpopup, _("Favorites"), icon, _ctxpopup_cb, ctxpopup);
-
- icon = elm_image_add(ctxpopup);
- snprintf(buf, sizeof(buf), "%s/00_controlbar_icon_playlist.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_ctxpopup_item_append(ctxpopup, _("Search"), icon, _ctxpopup_cb, ctxpopup);
-
- icon = elm_image_add(ctxpopup);
- snprintf(buf, sizeof(buf), "%s/00_controlbar_icon_dialer.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_ctxpopup_item_append(ctxpopup, _("Dialer"), icon, _ctxpopup_cb, ctxpopup);
-
- elm_ctxpopup_direction_priority_set(ctxpopup, ELM_CTXPOPUP_DIRECTION_UP,
- ELM_CTXPOPUP_DIRECTION_UNKNOWN,
- ELM_CTXPOPUP_DIRECTION_UNKNOWN,
- ELM_CTXPOPUP_DIRECTION_UNKNOWN);
- _move_ctxpopup(ctxpopup, obj);
-
- evas_object_show(ctxpopup);
-}
-/*********************************************************
-Icon + Text (More button style) End
- ********************************************************/
-
-/*********************************************************
-2 Text & 2 Icons
- ********************************************************/
-static void _create_ctxpopup_2text_2icon( void *data, Evas_Object *obj, void *event_info )
-{
- char buf[255];
- Evas_Object* icon;
-
- if(ctxpopup) {
- evas_object_del(ctxpopup);
- ctxpopup = NULL;
- }
-
- ctxpopup = elm_ctxpopup_add(ad->nf);
- ea_object_event_callback_add(ctxpopup, EA_CALLBACK_BACK, ea_ctxpopup_back_cb, NULL);
- evas_object_smart_callback_add(ctxpopup,"dismissed", _dismissed_cb, NULL);
- elm_ctxpopup_horizontal_set(ctxpopup, EINA_TRUE);
-
- elm_ctxpopup_item_append(ctxpopup, _("Function"), NULL, _ctxpopup_cb, ctxpopup);
- elm_ctxpopup_item_append(ctxpopup, _("Text"), NULL, _ctxpopup_cb, ctxpopup);
-
- //Icon 1
- icon = elm_image_add(ctxpopup);
- snprintf(buf, sizeof(buf), "%s/00_popup_icon_call.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_ctxpopup_item_append(ctxpopup, NULL, icon, _ctxpopup_cb, ctxpopup);
-
- //Icon 2
- icon = elm_image_add(ctxpopup);
- snprintf(buf, sizeof(buf), "%s/00_popup_icon_message.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_ctxpopup_item_append(ctxpopup, NULL, icon, _ctxpopup_cb, ctxpopup);
-
- _move_ctxpopup(ctxpopup, obj);
- evas_object_show(ctxpopup);
-}
-/*********************************************************
-2 Text & 2 Icons End
- ********************************************************/
-/*********************************************************
-Icon + Text (More button style : Naviframe Toolbar)
- ********************************************************/
-static void _create_ctxpopup_more_button_2_style(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *icon, *more_ctxpopup = NULL;
- Evas_Object *it_obj;
- Elm_Object_Item *it;
- char buf[256];
-
- more_ctxpopup = elm_ctxpopup_add(ad->nf);
- ea_object_event_callback_add(more_ctxpopup, EA_CALLBACK_BACK, ea_ctxpopup_back_cb, NULL);
- ea_object_event_callback_add(more_ctxpopup, EA_CALLBACK_MORE, ea_ctxpopup_back_cb, NULL);
- elm_object_style_set(more_ctxpopup, "more/default");
- elm_ctxpopup_auto_hide_disabled_set(more_ctxpopup, EINA_TRUE);
- evas_object_smart_callback_add(more_ctxpopup, "dismissed", _dismissed_more_ctxpopup_cb, NULL);
- evas_object_event_callback_add(more_ctxpopup, EVAS_CALLBACK_DEL, _delete_more_ctxpopup_cb, ad->nf);
- evas_object_event_callback_add(ad->nf, EVAS_CALLBACK_RESIZE, _resize_more_ctxpopup_cb, more_ctxpopup);
- evas_object_smart_callback_add(elm_object_top_widget_get(more_ctxpopup), "rotation,changed", _rotate_more_ctxpopup_cb, more_ctxpopup);
-
- icon = elm_image_add(more_ctxpopup);
- snprintf(buf, sizeof(buf), "%s/00_controlbar_icon_contacts.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- it = elm_ctxpopup_item_append(more_ctxpopup, _("Add contact"), icon, _ctxpopup_cb, more_ctxpopup);
-
- it_obj = elm_object_item_track(it);
- evas_object_event_callback_add(it_obj, EVAS_CALLBACK_MOVE, _on_move, NULL);
-
- icon = elm_image_add(more_ctxpopup);
- snprintf(buf, sizeof(buf), "%s/00_controlbar_icon_logs.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_ctxpopup_item_append(more_ctxpopup, _("Phone calls"), icon, _ctxpopup_cb, more_ctxpopup);
-
- icon = elm_image_add(more_ctxpopup);
- snprintf(buf, sizeof(buf), "%s/00_controlbar_icon_favorites.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_ctxpopup_item_append(more_ctxpopup, _("Favorites"), icon, _ctxpopup_cb, more_ctxpopup);
-
- icon = elm_image_add(more_ctxpopup);
- snprintf(buf, sizeof(buf), "%s/00_controlbar_icon_playlist.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_ctxpopup_item_append(more_ctxpopup, _("Search"), icon, _ctxpopup_cb, more_ctxpopup);
-
- icon = elm_image_add(more_ctxpopup);
- snprintf(buf, sizeof(buf), "%s/00_controlbar_icon_dialer.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_ctxpopup_item_append(more_ctxpopup, _("Dialer"), icon, _ctxpopup_cb, more_ctxpopup);
-
- icon = elm_image_add(more_ctxpopup);
- snprintf(buf, sizeof(buf), "%s/00_controlbar_icon_contacts.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_ctxpopup_item_append(more_ctxpopup, _("Add contact"), icon, _ctxpopup_cb, more_ctxpopup);
-
- icon = elm_image_add(more_ctxpopup);
- snprintf(buf, sizeof(buf), "%s/00_controlbar_icon_logs.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_ctxpopup_item_append(more_ctxpopup, _("Phone calls"), icon, _ctxpopup_cb, more_ctxpopup);
-
- icon = elm_image_add(more_ctxpopup);
- snprintf(buf, sizeof(buf), "%s/00_controlbar_icon_favorites.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_ctxpopup_item_append(more_ctxpopup, _("Favorites"), icon, _ctxpopup_cb, more_ctxpopup);
-
- icon = elm_image_add(more_ctxpopup);
- snprintf(buf, sizeof(buf), "%s/00_controlbar_icon_playlist.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_ctxpopup_item_append(more_ctxpopup, _("Search"), icon, _ctxpopup_cb, more_ctxpopup);
-
- icon = elm_image_add(more_ctxpopup);
- snprintf(buf, sizeof(buf), "%s/00_controlbar_icon_dialer.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_ctxpopup_item_append(more_ctxpopup, _("Dialer"), icon, _ctxpopup_cb, more_ctxpopup);
-
- icon = elm_image_add(more_ctxpopup);
- snprintf(buf, sizeof(buf), "%s/00_controlbar_icon_contacts.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_ctxpopup_item_append(more_ctxpopup, _("Add contact"), icon, _ctxpopup_cb, more_ctxpopup);
-
- icon = elm_image_add(more_ctxpopup);
- snprintf(buf, sizeof(buf), "%s/00_controlbar_icon_logs.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_ctxpopup_item_append(more_ctxpopup, _("Phone calls"), icon, _ctxpopup_cb, more_ctxpopup);
-
- icon = elm_image_add(more_ctxpopup);
- snprintf(buf, sizeof(buf), "%s/00_controlbar_icon_favorites.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_ctxpopup_item_append(more_ctxpopup, _("Favorites"), icon, _ctxpopup_cb, more_ctxpopup);
-
- icon = elm_image_add(more_ctxpopup);
- snprintf(buf, sizeof(buf), "%s/00_controlbar_icon_playlist.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_ctxpopup_item_append(more_ctxpopup, _("Search"), icon, _ctxpopup_cb, more_ctxpopup);
-
- icon = elm_image_add(more_ctxpopup);
- snprintf(buf, sizeof(buf), "%s/00_controlbar_icon_dialer.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_ctxpopup_item_append(more_ctxpopup, _("Dialer"), icon, _ctxpopup_cb, more_ctxpopup);
-
- elm_ctxpopup_direction_priority_set(more_ctxpopup, ELM_CTXPOPUP_DIRECTION_UP,
- ELM_CTXPOPUP_DIRECTION_UNKNOWN,
- ELM_CTXPOPUP_DIRECTION_UNKNOWN,
- ELM_CTXPOPUP_DIRECTION_UNKNOWN);
-
- _move_more_ctxpopup(more_ctxpopup);
- evas_object_show(more_ctxpopup);
-}
-/*********************************************************
-Icon + Text (More button style : Naviframe Toolbar) End
- ********************************************************/
- /*********************************************************
-Split Window
- ********************************************************/
-static void _create_ctxpopup_split_window_style(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *icon, *more_ctxpopup = NULL;
- char buf[256];
-
- more_ctxpopup = ea_menu_popup_add(ad->nf);
-
- icon = elm_image_add(more_ctxpopup);
- snprintf(buf, sizeof(buf), "%s/00_controlbar_icon_contacts.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_ctxpopup_item_append(more_ctxpopup, _("Add contact"), icon, _ctxpopup_cb, more_ctxpopup);
-
- icon = elm_image_add(more_ctxpopup);
- snprintf(buf, sizeof(buf), "%s/00_controlbar_icon_logs.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_ctxpopup_item_append(more_ctxpopup, _("Phone calls"), icon, _ctxpopup_cb, more_ctxpopup);
-
- icon = elm_image_add(more_ctxpopup);
- snprintf(buf, sizeof(buf), "%s/00_controlbar_icon_favorites.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_ctxpopup_item_append(more_ctxpopup, _("Favorites"), icon, _ctxpopup_cb, more_ctxpopup);
-
- icon = elm_image_add(more_ctxpopup);
- snprintf(buf, sizeof(buf), "%s/00_controlbar_icon_playlist.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_ctxpopup_item_append(more_ctxpopup, _("Search"), icon, _ctxpopup_cb, more_ctxpopup);
-
- icon = elm_image_add(more_ctxpopup);
- snprintf(buf, sizeof(buf), "%s/00_controlbar_icon_dialer.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_ctxpopup_item_append(more_ctxpopup, _("Dialer"), icon, _ctxpopup_cb, more_ctxpopup);
-
- icon = elm_image_add(more_ctxpopup);
- snprintf(buf, sizeof(buf), "%s/00_controlbar_icon_contacts.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_ctxpopup_item_append(more_ctxpopup, _("Add contact"), icon, _ctxpopup_cb, more_ctxpopup);
-
- icon = elm_image_add(more_ctxpopup);
- snprintf(buf, sizeof(buf), "%s/00_controlbar_icon_logs.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_ctxpopup_item_append(more_ctxpopup, _("Phone calls"), icon, _ctxpopup_cb, more_ctxpopup);
-
- icon = elm_image_add(more_ctxpopup);
- snprintf(buf, sizeof(buf), "%s/00_controlbar_icon_favorites.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_ctxpopup_item_append(more_ctxpopup, _("Favorites"), icon, _ctxpopup_cb, more_ctxpopup);
-
- elm_ctxpopup_direction_priority_set(more_ctxpopup, ELM_CTXPOPUP_DIRECTION_UP,
- ELM_CTXPOPUP_DIRECTION_UNKNOWN,
- ELM_CTXPOPUP_DIRECTION_UNKNOWN,
- ELM_CTXPOPUP_DIRECTION_UNKNOWN);
-
- ea_menu_popup_move(more_ctxpopup);
- evas_object_show(more_ctxpopup);
-}
-/*********************************************************
-Split Window End
- ********************************************************/
-static Eina_Bool _mousedown_cb(void *data, int type, void *event)
-{
- Ecore_Event_Mouse_Button *ev = event;
- touch_x = ev->x;
- touch_y = ev->y;
- return ECORE_CALLBACK_CANCEL;
-}
-
-void ctxpopup_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *layout;
- Evas_Object *btn;
- Ecore_Event_Handler* event;
- Evas_Object *scroller;
- Elm_Object_Item *navi_it;
-
- ad = (struct appdata*) data;
- if (ad == NULL) return;
-
- elm_theme_extension_add(NULL, ELM_DEMO_EDJ);
- event = ecore_event_handler_add(ECORE_EVENT_MOUSE_BUTTON_DOWN, _mousedown_cb, NULL);
-
- //scroller
- scroller = elm_scroller_add(ad->nf);
- elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE);
- elm_scroller_policy_set(scroller,ELM_SCROLLER_POLICY_OFF,ELM_SCROLLER_POLICY_AUTO);
-
- //layout
- layout = elm_layout_add(ad->nf);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "ctxpopup_layout");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- navi_it = elm_naviframe_item_push(ad->nf, _("CtxPopup"), NULL, NULL, scroller, NULL);
- elm_naviframe_item_pop_cb_set(navi_it, _pop_cb, event);
-
- elm_object_content_set(scroller, layout);
-
- //create more button
- btn = elm_button_add(ad->nf);
- elm_object_style_set(btn, "naviframe/more/default");
- evas_object_smart_callback_add(btn, "clicked", _create_ctxpopup_more_button_2_style, ad);
- elm_object_item_part_content_set(navi_it, "toolbar_more_btn", btn);
-
- //Icon + Text
- btn = elm_button_add(layout);
- elm_object_text_set(btn, _("Icon + Text") );
- evas_object_smart_callback_add(btn, "clicked", _create_ctxpopup_icon_text, ad);
- elm_object_part_content_set(layout, "btn1", btn);
-
- //Text Only
- btn = elm_button_add(layout);
- elm_object_text_set(btn, _("Text Only"));
- evas_object_smart_callback_add(btn, "clicked", _create_ctxpopup_text_only, ad);
- elm_object_part_content_set(layout, "btn2", btn);
-
- //Copy & Paste
- btn = elm_button_add(layout);
- elm_object_text_set(btn, _("CopyPaste"));
- evas_object_smart_callback_add(btn, "clicked", _create_ctxpopup_copypaste_sample, ad);
- elm_object_part_content_set(layout, "btn3", btn);
-
- //3 Icons
- btn = elm_button_add(layout);
- elm_object_text_set(btn, _("3 Icons") );
- evas_object_smart_callback_add(btn, "clicked", _create_ctxpopup_3icon, ad);
- elm_object_part_content_set(layout, "btn4", btn);
-
- //Buttons
- btn = elm_button_add(layout);
- elm_object_text_set(btn, _("Buttons"));
- evas_object_smart_callback_add(btn, "clicked", _create_ctxpopup_buttons_style, ad);
- elm_object_part_content_set(layout, "btn5", btn);
-
- //Camera Shooting Mode
- btn = elm_button_add(layout);
- elm_object_text_set(btn, _("Camera Shooting"));
- evas_object_smart_callback_add(btn, "clicked", _create_ctxpopup_camera_shooting_style, ad);
- elm_object_part_content_set(layout, "btn6", btn);
-
- //Rotation
- btn = elm_button_add(layout);
- elm_object_text_set(btn, _("Rotation"));
- evas_object_smart_callback_add(btn, "clicked", _create_ctxpopup_on_rotation, ad);
- elm_object_part_content_set(layout, "btn7", btn);
- //Image editor adjust
- btn = elm_button_add(layout);
- elm_object_text_set(btn, _("Image Option"));
- evas_object_smart_callback_add(btn, "clicked", _create_ctxpopup_imageeditor_adjust_style, ad);
- elm_object_part_content_set(layout, "btn8", btn);
-
- //More button
- btn = elm_button_add(layout);
- elm_object_text_set(btn, _("More..."));
- evas_object_smart_callback_add(btn, "clicked", _create_ctxpopup_more_button_style, ad);
- elm_object_part_content_set(layout, "btn9", btn);
-
- //2 Text & 2 Icons Horizontal
- btn = elm_button_add(layout);
- elm_object_text_set(btn, _("2Text&2Icons"));
- evas_object_smart_callback_add(btn, "clicked", _create_ctxpopup_2text_2icon, ad);
- elm_object_part_content_set(layout, "btn10", btn);
-
- //Split Window
- btn = elm_button_add(layout);
- elm_object_text_set(btn, _("Split Window"));
- evas_object_smart_callback_add(btn, "clicked", _create_ctxpopup_split_window_style, ad);
- elm_object_part_content_set(layout, "btn11", btn);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "datetime.h"
-#include <langinfo.h>
-
-static void _datetime_cb(void *data, Evas_Object *obj, void *event_info);
-static void _datepicker_cb(void *data, Evas_Object * obj, void *event_info);
-static void _timepicker_cb(void *data, Evas_Object * obj, void *event_info);
-static void _pickerpopup_cb(void *data, Evas_Object * obj, void *event_info);
-static void _custom_picker_normal_popup_cb(void *data, Evas_Object * obj, void *event_info);
-static void _custom_picker_center_popup_cb(void *data, Evas_Object * obj, void *event_info);
-static void _edit_start_cb(void *data, Evas_Object *obj, void *event_info);
-static void _edit_end_cb(void *data, Evas_Object *obj, void *event_info);
-static void _picker_back_cb(void *data, Evas_Object *obj, void *event_info);
-
-static Evas_Object *datetime_date_picker_layout = NULL;
-static Evas_Object *datetime_time_picker_layout = NULL;
-
-static Evas_Object *date_picker_layout = NULL;
-static Evas_Object *time_picker_layout = NULL;
-
-static Evas_Object *datetime_popup = NULL;
-static Evas_Object *date_popup = NULL;
-static Evas_Object *time_popup = NULL;
-static Evas_Object *win = NULL;
-static Evas_Object *naviframe = NULL;
-static Evas_Object *is_normal_popup = EINA_TRUE;
-
-static struct _menu_item _menu_its[] = {
- {"Datetime Styles", _datetime_cb},
- {"Datepicker Styles", _datepicker_cb},
- {"Timepicker Styles", _timepicker_cb},
- {"Datetime Picker popup Styles", _pickerpopup_cb},
- {"Datetime Custom Normal Popup Styles", _custom_picker_normal_popup_cb},
- {"Datetime Custom Center Popup Styles", _custom_picker_center_popup_cb},
- /* do not delete below */
- {NULL, NULL}
-};
-
-static void _edit_start_cb(void *data, Evas_Object *obj, void *event_info)
-{
- ea_object_event_callback_add(obj, EA_CALLBACK_BACK, _picker_back_cb, NULL);
-}
-
-static void _edit_end_cb(void *data, Evas_Object *obj, void *event_info)
-{
- ea_object_event_callback_del(obj, EA_CALLBACK_BACK, _picker_back_cb);
-}
-
-static inline void _picker_back_cb(void *data, Evas_Object *obj, void *event_info)
-{
- elm_object_signal_emit(obj, "picker,hide", "");
-}
-
-static void _list_click(void *data, Evas_Object * obj, void *event_info)
-{
- Elm_Object_Item *it = (Elm_Object_Item *) elm_list_selected_item_get(obj);
-
- if (!it) {
- fprintf(stderr, "list item is NULL\n");
- return;
- }
-
- elm_list_item_selected_set(it, EINA_FALSE);
-}
-
-static Evas_Object* _create_scroller(Evas_Object* parent)
-{
- Evas_Object* scroller = elm_scroller_add(parent);
- elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE);
- elm_scroller_policy_set(scroller,ELM_SCROLLER_POLICY_OFF,ELM_SCROLLER_POLICY_AUTO);
- evas_object_show(scroller);
-
- return scroller;
-}
-
-static void _changed_cb(void *data, Evas_Object *obj, void *event_info)
-{
- printf("Datetime value is changed\n");
-}
-
-static void _set_clicked_cb(void *data, Evas_Object *obj, void *event_info)
-{
- printf("Set clicked\n");
-}
-
-#ifndef DESKTOP
-static char *
-_datetime_format_get()
-{
- char *dt_fmt, *region_fmt, *lang = NULL;
- char buf[256] = {0,};
- int time_val = 0, is_hour24 = 0, ret;
-
- lang = getenv("LANGUAGE");
- setenv("LANGUAGE", "en_US", 1);
-
- region_fmt = vconf_get_str(VCONFKEY_REGIONFORMAT);
- ret = vconf_get_int(VCONFKEY_REGIONFORMAT_TIME1224, &time_val);
- if (ret < 0)
- is_hour24 = 0;
- else if( time_val == VCONFKEY_TIME_FORMAT_12 || time_val == VCONFKEY_TIME_FORMAT_24)
- is_hour24 = time_val - 1;
-
- if (is_hour24)
- snprintf(buf, sizeof(buf), "%s_DTFMT_24HR", region_fmt);
- else
- snprintf(buf, sizeof(buf), "%s_DTFMT_12HR", region_fmt);
-
- dt_fmt = dgettext("dt_fmt", buf);
-
- if(!lang || !strcmp(lang, ""))
- unsetenv("LANGUAGE");
- else
- setenv("LANGUAGE", lang, 1);
-
- return strdup(dt_fmt);
-}
-
-static void
-_vconf_datetime_format_changed_cb(keynode_t *node, void *data)
-{
- Evas_Object *datetime = (Evas_Object *) data;
- char *dt_fmt = _datetime_format_get();
- elm_datetime_format_set(datetime, dt_fmt);
- free(dt_fmt);
-}
-#endif
-
-static Eina_Bool _pop_cb(void *data, Elm_Object_Item *it)
-{
-#ifndef DESKTOP
- vconf_ignore_key_changed(VCONFKEY_REGIONFORMAT, _vconf_datetime_format_changed_cb);
- vconf_ignore_key_changed(VCONFKEY_REGIONFORMAT_TIME1224, _vconf_datetime_format_changed_cb);
-#endif
- return EINA_TRUE;
-}
-
-static Evas_Object *_create_datetime_styles(Evas_Object * parent)
-{
- Evas_Object *layout, *datetime;
- time_t t;
- struct tm time1;
- char *dt_fmt;
-
- layout = elm_layout_add(parent);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "elmdemo-test/datetime_styles");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- datetime = elm_datetime_add(layout);
- elm_datetime_format_set(datetime, "%d/%b/%Y %I:%M %p");
- elm_object_part_content_set(layout, "picker1", datetime);
- evas_object_smart_callback_add(datetime, "edit,start", _edit_start_cb, NULL);
- evas_object_smart_callback_add(datetime, "edit,end", _edit_end_cb, NULL);
-
- datetime = elm_datetime_add(layout);
- elm_datetime_format_set(datetime, "%b/%d/%Y %H:%M");
- elm_object_part_content_set(layout, "picker2", datetime);
- evas_object_smart_callback_add(datetime, "edit,start", _edit_start_cb, NULL);
- evas_object_smart_callback_add(datetime, "edit,end", _edit_end_cb, NULL);
-
- datetime = elm_datetime_add(layout);
- elm_datetime_format_set(datetime, "%d/%b/%Y %I:%M %p");
- elm_object_part_content_set(layout, "picker3", datetime);
- evas_object_smart_callback_add(datetime, "edit,start", _edit_start_cb, NULL);
- evas_object_smart_callback_add(datetime, "edit,end", _edit_end_cb, NULL);
- elm_object_signal_emit(datetime, "weekday,show", "");
-
- datetime = elm_datetime_add(layout);
- elm_datetime_format_set(datetime, "%b/%d/%Y %H:%M");
- elm_object_part_content_set(layout, "picker4", datetime);
- evas_object_smart_callback_add(datetime, "edit,start", _edit_start_cb, NULL);
- evas_object_smart_callback_add(datetime, "edit,end", _edit_end_cb, NULL);
- elm_object_signal_emit(datetime, "weekday,show", "");
-
- datetime = elm_datetime_add(layout);
- elm_object_part_content_set(layout, "picker5", datetime);
- evas_object_smart_callback_add(datetime, "edit,start", _edit_start_cb, NULL);
- evas_object_smart_callback_add(datetime, "edit,end", _edit_end_cb, NULL);
-#ifndef DESKTOP
- dt_fmt = _datetime_format_get();
- elm_datetime_format_set(datetime, dt_fmt);
- free(dt_fmt);
- vconf_notify_key_changed(VCONFKEY_REGIONFORMAT, _vconf_datetime_format_changed_cb, datetime);
- vconf_notify_key_changed(VCONFKEY_REGIONFORMAT_TIME1224, _vconf_datetime_format_changed_cb, datetime);
-#endif
-
- datetime = elm_datetime_add(layout);
- elm_datetime_format_set(datetime, "%Y/%b/%d %I:%M %p");
- t = time(NULL);
- localtime_r(&t, &time1);
- // set the min time limit as "2000 May 10th 02:30 PM"
- time1.tm_year = 100;
- time1.tm_mon = 4;
- time1.tm_mday = 10;
- time1.tm_hour = 14;
- time1.tm_min = 30;
- elm_datetime_value_min_set(datetime, &time1);
- // date can be input only in between 10 to 20
- elm_datetime_field_limit_set(datetime, ELM_DATETIME_DATE, 10, 20);
- // minutes can be input only in between 20 and 40
- elm_datetime_field_limit_set(datetime, ELM_DATETIME_MINUTE, 20, 40);
- elm_object_part_content_set(layout, "picker6", datetime);
- evas_object_smart_callback_add(datetime, "changed", _changed_cb, datetime);
- evas_object_smart_callback_add(datetime, "picker,value,set", _set_clicked_cb, NULL);
- evas_object_smart_callback_add(datetime, "edit,start", _edit_start_cb, NULL);
- evas_object_smart_callback_add(datetime, "edit,end", _edit_end_cb, NULL);
-
- return layout;
-}
-
-static void _datetime_cb(void *data, Evas_Object * obj, void *event_info)
-{
- Evas_Object *scroller, *layout_inner;
- Elm_Object_Item *it;
-
- struct appdata *ad = (struct appdata *)data;
- if (!ad) return;
-
- scroller = _create_scroller(ad->nf);
- it = elm_naviframe_item_push(ad->nf, _("Datetime Styles"), NULL, NULL, scroller, NULL);
- elm_naviframe_item_pop_cb_set(it, _pop_cb, NULL);
-
- layout_inner = _create_datetime_styles(ad->nf);
- elm_object_content_set(scroller, layout_inner);
-}
-
-static Evas_Object *_create_datepicker_styles(Evas_Object * parent)
-{
- Evas_Object *layout, *datetime;
-
- layout = elm_layout_add(parent);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "elmdemo-test/datepicker_styles");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- datetime = elm_datetime_add(layout);
- elm_datetime_format_set(datetime, "%d/%b/%Y");
- elm_object_part_content_set(layout, "picker1", datetime);
- evas_object_smart_callback_add(datetime, "edit,start", _edit_start_cb, NULL);
- evas_object_smart_callback_add(datetime, "edit,end", _edit_end_cb, NULL);
- elm_object_signal_emit(datetime, "weekday,show", "");
-
- datetime = elm_datetime_add(layout);
- elm_datetime_format_set(datetime, "%b/%d/%Y");
- elm_object_part_content_set(layout, "picker2", datetime);
- evas_object_smart_callback_add(datetime, "edit,start", _edit_start_cb, NULL);
- evas_object_smart_callback_add(datetime, "edit,end", _edit_end_cb, NULL);
-
- datetime = elm_datetime_add(layout);
- elm_datetime_format_set(datetime, "%Y/%d/%b");
- elm_object_part_content_set(layout, "picker3", datetime);
- evas_object_smart_callback_add(datetime, "edit,start", _edit_start_cb, NULL);
- evas_object_smart_callback_add(datetime, "edit,end", _edit_end_cb, NULL);
-
- datetime = elm_datetime_add(layout);
- elm_datetime_format_set(datetime, "%d,%b,%Y");
- elm_object_part_content_set(layout, "picker4", datetime);
- evas_object_smart_callback_add(datetime, "edit,start", _edit_start_cb, NULL);
- evas_object_smart_callback_add(datetime, "edit,end", _edit_end_cb, NULL);
-
- datetime = elm_datetime_add(layout);
- elm_datetime_format_set(datetime, "%d-%b-%Y");
- elm_object_part_content_set(layout, "picker5", datetime);
- evas_object_smart_callback_add(datetime, "edit,start", _edit_start_cb, NULL);
- evas_object_smart_callback_add(datetime, "edit,end", _edit_end_cb, NULL);
-
- datetime = elm_datetime_add(layout);
- elm_datetime_format_set(datetime, "%d %b %Y");
- elm_object_part_content_set(layout, "picker6", datetime);
- evas_object_smart_callback_add(datetime, "picker,value,set", _set_clicked_cb, NULL);
- evas_object_smart_callback_add(datetime, "edit,start", _edit_start_cb, NULL);
- evas_object_smart_callback_add(datetime, "edit,end", _edit_end_cb, NULL);
-
- return layout;
-}
-
-static void _datepicker_cb(void *data, Evas_Object * obj, void *event_info)
-{
- Evas_Object *scroller, *layout_inner;
-
- struct appdata *ad = (struct appdata *)data;
- if (!ad) return;
-
- scroller = _create_scroller(ad->nf);
- elm_naviframe_item_push(ad->nf, _("Datepicker Styles"), NULL, NULL, scroller, NULL);
-
- layout_inner = _create_datepicker_styles(ad->nf);
- elm_object_content_set(scroller, layout_inner);
-}
-
-static Evas_Object *_create_timepicker_styles(Evas_Object * parent)
-{
- Evas_Object *layout, *datetime;
-
- layout = elm_layout_add(parent);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "elmdemo-test/timepicker_styles");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- datetime = elm_datetime_add(layout);
- elm_datetime_format_set(datetime, "%I:%M %p");
- elm_object_part_content_set(layout, "picker1", datetime);
- evas_object_smart_callback_add(datetime, "edit,start", _edit_start_cb, NULL);
- evas_object_smart_callback_add(datetime, "edit,end", _edit_end_cb, NULL);
-
- datetime = elm_datetime_add(layout);
- elm_datetime_format_set(datetime, "%H:%M");
- elm_object_part_content_set(layout, "picker2", datetime);
- evas_object_smart_callback_add(datetime, "edit,start", _edit_start_cb, NULL);
- evas_object_smart_callback_add(datetime, "edit,end", _edit_end_cb, NULL);
-
- datetime = elm_datetime_add(layout);
- elm_datetime_format_set(datetime, "%p %I:%M");
- elm_object_part_content_set(layout, "picker3", datetime);
- evas_object_smart_callback_add(datetime, "picker,value,set", _set_clicked_cb, NULL);
- evas_object_smart_callback_add(datetime, "edit,start", _edit_start_cb, NULL);
- evas_object_smart_callback_add(datetime, "edit,end", _edit_end_cb, NULL);
-
- return layout;
-}
-
-static void _timepicker_cb(void *data, Evas_Object * obj, void *event_info)
-{
- Evas_Object *scroller, *layout_inner;
-
- struct appdata *ad = (struct appdata *)data;
- if (!ad) return;
-
- scroller = _create_scroller(ad->nf);
- elm_naviframe_item_push(ad->nf, _("Timepicker Styles"), NULL, NULL, scroller, NULL);
-
- layout_inner = _create_timepicker_styles(ad->nf);
- elm_object_content_set(scroller, layout_inner);
-}
-
-static void _launch_datepicker_popup(void *data, Evas_Object * obj, void *event_info)
-{
- Evas_Object *datetime;
-
- datetime = (Evas_Object *)data;
- if (!datetime) return;
-
- elm_object_signal_emit(datetime, "datepicker,show", "");
-}
-
-static void _launch_timepicker_popup(void *data, Evas_Object * obj, void *event_info)
-{
- Evas_Object *datetime;
-
- datetime = (Evas_Object *)data;
- if (!datetime) return;
-
- elm_object_signal_emit(datetime, "timepicker,show", "");
-}
-
-static Evas_Object *_create_pickerpopup_styles(Evas_Object * parent)
-{
- Evas_Object *layout, *btn, *datetime;
-
- layout = elm_layout_add(parent);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "elmdemo-test/datetime_pickerpopup_styles");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- datetime = elm_datetime_add(layout);
- elm_object_style_set(datetime, "pickerstyle");
- elm_datetime_format_set(datetime, "%d/ %b/ %Y");
- btn = elm_button_add(layout);
- elm_object_style_set(btn, "style1/auto_expand");
- elm_object_text_set(btn, "Launch Datepicker popup");
- elm_object_part_content_set(layout, "picker1", btn);
- evas_object_show(datetime);
- evas_object_smart_callback_add(btn, "clicked", _launch_datepicker_popup, datetime);
- evas_object_smart_callback_add(datetime, "edit,start", _edit_start_cb, NULL);
- evas_object_smart_callback_add(datetime, "edit,end", _edit_end_cb, NULL);
-
- datetime = elm_datetime_add(layout);
- elm_object_style_set(datetime, "pickerstyle");
- elm_datetime_format_set(datetime, "%I:%M %p");
- btn = elm_button_add(layout);
- elm_object_style_set(btn, "style1/auto_expand");
- elm_object_text_set(btn, "Launch Timepicker 12hr popup");
- elm_object_part_content_set(layout, "picker2", btn);
- evas_object_show(datetime);
- evas_object_smart_callback_add(btn, "clicked", _launch_timepicker_popup, datetime);
- evas_object_smart_callback_add(datetime, "edit,start", _edit_start_cb, NULL);
- evas_object_smart_callback_add(datetime, "edit,end", _edit_end_cb, NULL);
-
- datetime = elm_datetime_add(layout);
- elm_object_style_set(datetime, "pickerstyle");
- elm_datetime_format_set(datetime, "%H:%M");
- btn = elm_button_add(layout);
- elm_object_style_set(btn, "style1/auto_expand");
- elm_object_text_set(btn, "Launch Timepicker 24hr popup");
- elm_object_part_content_set(layout, "picker3", btn);
- evas_object_show(datetime);
- evas_object_smart_callback_add(btn, "clicked", _launch_timepicker_popup, datetime);
- evas_object_smart_callback_add(datetime, "picker,value,set", _set_clicked_cb, NULL);
- evas_object_smart_callback_add(datetime, "edit,start", _edit_start_cb, NULL);
- evas_object_smart_callback_add(datetime, "edit,end", _edit_end_cb, NULL);
-
- return layout;
-}
-
-static void _pickerpopup_cb(void *data, Evas_Object * obj, void *event_info)
-{
- Evas_Object *scroller, *layout_inner;
-
- struct appdata *ad = (struct appdata *)data;
- if (!ad) return;
-
- scroller = _create_scroller(ad->nf);
- elm_naviframe_item_push(ad->nf, _("Datetime Picker popup Styles"), NULL, NULL, scroller, NULL);
-
- layout_inner = _create_pickerpopup_styles(ad->nf);
- elm_object_content_set(scroller, layout_inner);
-}
-
-/* Custom Datetime picker Popup implementation Starts*/
-static void _custom_picker_back_cb(void *data, Evas_Object *obj, void *event_info)
-{
- ea_object_event_callback_del(obj, EA_CALLBACK_BACK, _custom_picker_back_cb);
- if (obj == datetime_popup) {
- evas_object_del(datetime_popup);
- datetime_popup = NULL;
- }
- else if (obj == date_popup) {
- evas_object_del(date_popup);
- date_popup = NULL;
- }
- else if (obj == time_popup) {
- evas_object_del(time_popup);
- time_popup = NULL;
- }
-}
-
-static void _win_rotation_changed(void *data, Evas_Object *obj, void *event_info)
-{
- int rotation = -1;
- Evas_Object *layout;
- Evas_Object *window = obj;
- if (datetime_popup) {
- layout = elm_object_content_get(datetime_popup);
- rotation = elm_win_rotation_get(window);
- if (layout) {
- if (rotation == 90 || rotation == 270)
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "elmdemo-test/datetime_custom_layout_landscape");
- else
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "elmdemo-test/datetime_custom_layout");
- }
- }
-}
-
-static void _datetime_picker_value_set_cb(void *data, Evas_Object *obj, void *event_info)
-{
- char *date, *time;
- char buf[1024];
- Evas_Object* btn = data;
- date = elm_object_text_get(elm_object_part_content_get(obj, "date.btn"));
- time = elm_object_text_get(elm_object_part_content_get(obj, "time.btn"));
- snprintf(buf, sizeof(buf), "%s %s", date, time);
- elm_object_text_set(btn, buf);
-}
-
-static void _date_picker_value_set_cb(void *data, Evas_Object *obj, void *event_info)
-{
- char *date;
- Evas_Object* btn = data;
- date = elm_object_text_get(elm_object_part_content_get(obj, "date.btn"));
- elm_object_text_set(btn, date);
-}
-
-static void _time_picker_value_set_cb(void *data, Evas_Object *obj, void *event_info)
-{
- char *time;
- Evas_Object* btn = data;
- time = elm_object_text_get(elm_object_part_content_get(obj, "time.btn"));
- elm_object_text_set(btn, time);
-}
-
-static void _datetime_date_picker_popup_layout_get(void *data, Evas_Object *obj, void *event_info)
-{
- datetime_date_picker_layout = (Evas_Object*)event_info;
-}
-
-static void _datetime_time_picker_popup_layout_get(void *data, Evas_Object *obj, void *event_info)
-{
- datetime_time_picker_layout = (Evas_Object*)event_info;
-}
-
-static void _datepicker_popup_layout_get(void *data, Evas_Object *obj, void *event_info)
-{
- date_picker_layout = (Evas_Object*)event_info;
-}
-
-static void _timepicker_popup_layout_get(void *data, Evas_Object *obj, void *event_info)
-{
- time_picker_layout = (Evas_Object*)event_info;
-}
-
-static void
-_popup_cancel_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (data == datetime_popup) {
- evas_object_del(datetime_popup);
- datetime_popup = NULL;
- }
- else if (data == date_popup) {
- evas_object_del(date_popup);
- date_popup = NULL;
- }
- else if (data == time_popup) {
- evas_object_del(time_popup);
- time_popup = NULL;
- }
-}
-
-static void
-_popup_set_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info)
-{
- evas_object_smart_callback_call(data, "custom,picker,value,set", NULL);
- if (datetime_popup) {
- evas_object_del(datetime_popup);
- datetime_popup = NULL;
- }
-
- if (date_popup) {
- evas_object_del(date_popup);
- date_popup = NULL;
- }
-
- if (time_popup) {
- evas_object_del(time_popup);
- time_popup = NULL;
- }
-}
-
-static Evas_Object* _custom_datetime_picker_popup_add(Evas_Object* parent, Evas_Object* datetime)
-{
- Evas_Object *popup = NULL;
- Evas_Object *set_btn, *cancel_btn;
- if (is_normal_popup)
- popup = elm_popup_add(parent);
- else
- popup = ea_center_popup_add(parent);
- cancel_btn = elm_button_add(popup);
- elm_object_style_set(cancel_btn, "popup");
- elm_object_text_set(cancel_btn, "Cancel");
- elm_object_part_content_set(popup, "button1", cancel_btn);
- evas_object_smart_callback_add(cancel_btn, "clicked", _popup_cancel_btn_clicked_cb, popup);
-
- set_btn = elm_button_add(popup);
- elm_object_style_set(set_btn, "popup");
- elm_object_text_set(set_btn,"Set");
- elm_object_part_content_set(popup, "button2", set_btn);
- evas_object_smart_callback_add(set_btn, "clicked", _popup_set_btn_clicked_cb, datetime);
- return popup;
-}
-
-static void _launch_custom_datetimepicker_popup(void *data, Evas_Object * obj, void *event_info)
-{
- Evas_Object *layout, *scroller, *layout1, *datetime;
- datetime = (Evas_Object *)data;
- int rotation = -1;
-
- datetime_popup = _custom_datetime_picker_popup_add(naviframe, datetime);
- if (is_normal_popup)
- evas_object_smart_callback_call(datetime, "custom,picker,win,get", NULL);
- else
- evas_object_smart_callback_call(datetime, "custom,picker,win,get", ea_center_popup_win_get(datetime_popup));
-
- evas_object_smart_callback_call(data, "datetime,picker,layout,create", NULL);
- elm_object_part_text_set(datetime_popup, "title,text", "DateTime");
-
- layout1 = elm_layout_add(datetime_popup);
- rotation = elm_win_rotation_get(win);
- if (rotation == 90 || rotation == 270)
- elm_layout_file_set(layout1, ELM_DEMO_EDJ, "elmdemo-test/datetime_custom_layout_landscape");
- else
- elm_layout_file_set(layout1, ELM_DEMO_EDJ, "elmdemo-test/datetime_custom_layout");
- evas_object_size_hint_weight_set(layout1, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- scroller = elm_scroller_add(layout1);
- elm_scroller_bounce_set(scroller, EINA_TRUE, EINA_TRUE);
- elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO);
- evas_object_show(scroller);
-
- layout = elm_layout_add(datetime_popup);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "elmdemo-test/datetime_custom_pickerpopup_layout");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_part_content_set(layout, "datepicker", datetime_date_picker_layout);
- elm_object_part_content_set(layout, "timepicker", datetime_time_picker_layout);
- evas_object_show(layout);
- elm_object_content_set(scroller, layout);
-
- elm_object_part_content_set(layout1, "scroller", scroller);
- elm_object_content_set(datetime_popup, layout1);
- evas_object_show(datetime_popup);
-
- ea_object_event_callback_add(datetime_popup, EA_CALLBACK_BACK, _custom_picker_back_cb, NULL);
-}
-
-static void _launch_custom_date_picker_popup(void *data, Evas_Object * obj, void *event_info)
-{
- Evas_Object *datetime;
-
- datetime = (Evas_Object *)data;
- date_popup = _custom_datetime_picker_popup_add(naviframe, datetime);
- if (is_normal_popup)
- evas_object_smart_callback_call(datetime, "custom,picker,win,get", NULL);
- else
- evas_object_smart_callback_call(datetime, "custom,picker,win,get", ea_center_popup_win_get(date_popup));
-
- evas_object_smart_callback_call(data, "datetime,picker,layout,create", NULL);
- elm_object_part_text_set(date_popup, "title,text", "Date");
- elm_object_content_set(date_popup, date_picker_layout);
-
- evas_object_show(date_popup);
- ea_object_event_callback_add(date_popup, EA_CALLBACK_BACK, _custom_picker_back_cb, NULL);
-}
-
-static void _launch_custom_time_picker_popup(void *data, Evas_Object * obj, void *event_info)
-{
- Evas_Object *datetime;
-
- datetime = (Evas_Object *)data;
- time_popup = _custom_datetime_picker_popup_add(naviframe, datetime);
-
- if (is_normal_popup)
- evas_object_smart_callback_call(datetime, "custom,picker,win,get", NULL);
- else
- evas_object_smart_callback_call(datetime, "custom,picker,win,get", ea_center_popup_win_get(time_popup));
-
- evas_object_smart_callback_call(data, "datetime,picker,layout,create", NULL);
- elm_object_part_text_set(time_popup, "title,text", "Time");
- elm_object_content_set(time_popup, time_picker_layout);
-
- evas_object_show(time_popup);
- ea_object_event_callback_add(time_popup, EA_CALLBACK_BACK, _custom_picker_back_cb, NULL);
-}
-
-static Evas_Object *_create_custom_pickerpopup_styles(struct appdata *ad)
-{
- Evas_Object *layout, *btn1, *btn2, *btn3, *datetime;
- struct tm set_time;
- char *date;
- char *time;
- char buf[1024];
- win = ad->win_main;
- layout = elm_layout_add(ad->nf);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "elmdemo-test/datetime_custom_pickerpopup_styles");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- datetime = elm_datetime_add(layout);
- elm_object_style_set(datetime, "pickerstyle");
-
- btn1 = elm_button_add(layout);
- elm_object_style_set(btn1, "style1/auto_expand");
- elm_object_part_content_set(layout, "picker1", btn1);
- evas_object_smart_callback_add(btn1, "clicked", _launch_custom_datetimepicker_popup, datetime);
-
- evas_object_smart_callback_add(datetime, "picker,date,layout,get", _datetime_date_picker_popup_layout_get, NULL);
- evas_object_smart_callback_add(datetime, "picker,time,layout,get", _datetime_time_picker_popup_layout_get, NULL);
- evas_object_smart_callback_add(datetime, "picker,value,set", _datetime_picker_value_set_cb, btn1);
-
- elm_datetime_format_set(datetime, "%d/%b/%Y %I:%M %p");
- evas_object_show(datetime);
-
- date = elm_object_text_get(elm_object_part_content_get(datetime, "date.btn"));
- time = elm_object_text_get(elm_object_part_content_get(datetime, "time.btn"));
- snprintf(buf, sizeof(buf), "%s %s", date, time);
- elm_object_text_set(btn1, buf);
-
- datetime = elm_datetime_add(layout);
- elm_object_style_set(datetime, "pickerstyle");
-
- btn2 = elm_button_add(layout);
- elm_object_style_set(btn2, "style1/auto_expand");
- elm_object_part_content_set(layout, "picker2", btn2);
- evas_object_smart_callback_add(btn2, "clicked", _launch_custom_date_picker_popup, datetime);
-
- evas_object_smart_callback_add(datetime, "picker,date,layout,get", _datepicker_popup_layout_get, NULL);
- evas_object_smart_callback_add(datetime, "picker,value,set", _date_picker_value_set_cb, btn2);
-
- elm_datetime_format_set(datetime, "%d/%b/%Y");
- evas_object_show(datetime);
-
-
- date = elm_object_text_get(elm_object_part_content_get(datetime, "date.btn"));
- elm_object_text_set(btn2, date);
-
- datetime = elm_datetime_add(layout);
- elm_object_style_set(datetime, "pickerstyle");
-
- btn3 = elm_button_add(layout);
- elm_object_style_set(btn3, "style1/auto_expand");
- elm_object_part_content_set(layout, "picker3", btn3);
- evas_object_smart_callback_add(btn3, "clicked", _launch_custom_time_picker_popup, datetime);
-
- evas_object_smart_callback_add(datetime, "picker,time,layout,get", _timepicker_popup_layout_get, NULL);
- evas_object_smart_callback_add(datetime, "picker,value,set", _time_picker_value_set_cb, btn3);
-
- elm_datetime_format_set(datetime, "%I:%M %p");
- evas_object_show(datetime);
-
-
- time = elm_object_text_get(elm_object_part_content_get(datetime, "time.btn"));
- elm_object_text_set(btn3, time);
- evas_object_smart_callback_add(win, "rotation,changed", _win_rotation_changed, NULL);
- return layout;
-}
-
-static void _custom_picker_normal_popup_cb(void *data, Evas_Object * obj, void *event_info)
-{
- Evas_Object *scroller, *layout_inner;
-
- struct appdata *ad = (struct appdata *)data;
- if (!ad) return;
- is_normal_popup = EINA_TRUE;
- naviframe = ad->nf;
- scroller = _create_scroller(ad->nf);
- elm_naviframe_item_push(ad->nf, _("Datetime Custom Picker Normal popup Styles"), NULL, NULL, scroller, NULL);
-
- layout_inner = _create_custom_pickerpopup_styles(ad);
- elm_object_content_set(scroller, layout_inner);
-}
-
-static void _custom_picker_center_popup_cb(void *data, Evas_Object * obj, void *event_info)
-{
- Evas_Object *scroller, *layout_inner;
-
- struct appdata *ad = (struct appdata *)data;
- if (!ad) return;
- is_normal_popup = EINA_FALSE;
- naviframe = ad->nf;
- scroller = _create_scroller(ad->nf);
- elm_naviframe_item_push(ad->nf, _("Datetime Custom Picker Center popup Styles"), NULL, NULL, scroller, NULL);
-
- layout_inner = _create_custom_pickerpopup_styles(ad);
- elm_object_content_set(scroller, layout_inner);
-}
-
-static Evas_Object *_create_list_winset(struct appdata *ad)
-{
- Evas_Object *li;
- struct _menu_item *menu_its;
- int idx = 0;
-
- if (!ad) return NULL;
-
- li = elm_list_add(ad->nf);
- elm_list_mode_set(li, ELM_LIST_COMPRESS);
- evas_object_smart_callback_add(li, "selected", _list_click, NULL);
-
- menu_its = _menu_its;
- while (menu_its[idx].name != NULL) {
- elm_list_item_append(li, menu_its[idx].name, NULL, NULL, menu_its[idx].func, ad);
- ++idx;
- }
- elm_list_go(li);
-
- return li;
-}
-
-void datetime_cb(void *data, Evas_Object * obj, void *event_info)
-{
- struct appdata *ad;
-
- Evas_Object *list;
-
- ad = (struct appdata *)data;
- if (!ad) return;
-
- list = _create_list_winset(ad);
- elm_naviframe_item_push(ad->nf, _("Datetime"), NULL, NULL, list, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "dialoguegroup.h"
-
-#define HIGHLIGHT_TIMER 0.1
-#define UNHIGHLIGHT_TIMER 0.01
-static Ecore_Timer *highlight_timer;
-static Eina_List *unhighlight_lists;
-static Eina_Bool key_down = EINA_FALSE;
-
-/*********************************************************
- DialogueGroup
- ********************************************************/
-static void dialogue_group_1(void *data, Evas_Object * obj, void *event_info);
-static void _clicked(void *data);
-
-static void _list_click(void *data, Evas_Object * obj, void *event_info)
-{
- Elm_Object_Item *it = (Elm_Object_Item *) elm_list_selected_item_get(obj);
- if (it == NULL) return;
- elm_list_item_selected_set(it, EINA_FALSE);
-}
-
-static struct _menu_item _menu_its[] = {
- {"Dialogue Group - 1", dialogue_group_1},
- //{"Dialogue Group - 2", dialogue_group_2},
- /* do not delete below */
- {NULL, NULL}
-};
-
-static Eina_Bool _unhighlight_timer(void *data)
-{
- Evas_Object *layout;
- highlight_timer = NULL;
- EINA_LIST_FREE(unhighlight_lists, layout) {
- elm_object_signal_emit(layout, "elm,state,unselected", "elm");
- }
- if (data) _clicked(data);
- return EINA_FALSE;
-}
-
-static Eina_Bool _highlight_timer(void *data)
-{
- highlight_timer = NULL;
- Evas_Object *layout = (Evas_Object *)data;
- elm_object_signal_emit(layout, "elm,state,selected", "elm");
- return EINA_FALSE;
-}
-static Eina_Bool _pop_cb(void *data, Elm_Object_Item *it)
-{
- /* change the background to default and free expand data*/
- if (highlight_timer) ecore_timer_del(highlight_timer);
- highlight_timer = NULL;
- unhighlight_lists = eina_list_free(unhighlight_lists);
- return EINA_TRUE;
-}
-
-static Evas_Object* _create_scroller(Evas_Object* parent)
-{
- Evas_Object* scroller = elm_scroller_add(parent);
- elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE);
- elm_scroller_policy_set(scroller,ELM_SCROLLER_POLICY_OFF,ELM_SCROLLER_POLICY_AUTO);
- evas_object_show(scroller);
-
- return scroller;
-}
-
-///////////////////////// Codes for making Editfield : START
-static char *_access_info_cb(void *data, Evas_Object *obj)
-{
- const char *txt = NULL;
- txt = elm_object_part_text_get(data, "elm.text");
- if (!txt) return NULL;
-
- return strdup(_(txt));
-}
-
-static char *_access_main_sub_info_cb(void *data, Evas_Object *obj)
-{
- Eina_Strbuf *buf;
- const char *txt = NULL;
- char *ret = NULL;
-
- buf = eina_strbuf_new();
-
- txt = elm_object_part_text_get(data, "elm.text.1");
- eina_strbuf_append(buf, _(txt));
-
- txt = elm_object_part_text_get(data, "elm.text.2");
- eina_strbuf_append_printf(buf, ", %s", _(txt));
-
- ret = eina_strbuf_string_steal(buf);
- eina_strbuf_free(buf);
- return ret;
-}
-
-static void _access_activate_cb(void *data, Evas_Object *part_obj, Elm_Object_Item *item)
-{
- Eina_Bool state;
-
- state = elm_check_state_get(data);
- elm_check_state_set(data, !state);
-}
-
-static Evas_Object *_singleline_editfield_add(Evas_Object *parent) // For single lined editfield without top title.
-{
- Evas_Object *layout, *entry;
-
- layout = elm_layout_add(parent);
- elm_layout_theme_set(layout, "layout", "dialogue/editfield", "default"); // Default editfield layout style without top title.
-
- entry = ea_editfield_add(parent, EA_EDITFIELD_SCROLL_SINGLELINE);
- elm_object_domain_translatable_part_text_set(entry, "elm.guide", "sys_string", "IDS_COM_BODY_EDIT");
- elm_object_part_content_set(layout, "elm.icon.entry", entry);
-
- return layout;
-}
-
-static Evas_Object *_singleline_editfield_with_title_add(Evas_Object *parent) // For single lined editfield with top title.
-{
- Evas_Object *layout, *entry, *ao;
-
- layout = elm_layout_add(parent);
- elm_layout_theme_set(layout, "layout", "dialogue/editfield/title", "default"); // Editfield Style with top title.
-
- entry = ea_editfield_add(parent, EA_EDITFIELD_SCROLL_SINGLELINE);
- elm_object_domain_translatable_part_text_set(entry, "elm.guide", "sys_string", "IDS_COM_BODY_EDIT");
- elm_object_part_content_set(layout, "elm.icon.entry", entry);
-
- // Access for layout
- ao = elm_object_part_access_register(layout, "bg_dialogue");
- elm_access_info_cb_set(ao, ELM_ACCESS_INFO, _access_info_cb, layout);
-
- elm_object_focus_custom_chain_append(layout, ao, NULL);
- elm_object_focus_custom_chain_append(layout, entry, NULL);
-
- return layout;
-}
-
-static Evas_Object *_multiline_editfield_with_title_add(Evas_Object *parent) // For multi lined editfield with top title.
-{
- Evas_Object *layout, *entry, *ao;
-
- layout = elm_layout_add(parent);
- elm_layout_theme_set(layout, "layout", "dialogue/editfield/title", "default"); // Default editfield layout style without top title.
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- entry = ea_editfield_add(parent, EA_EDITFIELD_MULTILINE);
- ea_editfield_clear_button_disabled_set(entry, EINA_TRUE);
- elm_object_domain_translatable_part_text_set(entry, "elm.guide", "sys_string", "IDS_COM_BODY_EDIT");
- elm_object_part_content_set(layout, "elm.icon.entry", entry);
-
- // Access for layout
- ao = elm_object_part_access_register(layout, "bg_dialogue");
- elm_access_info_cb_set(ao, ELM_ACCESS_INFO, _access_info_cb, layout);
-
- elm_object_focus_custom_chain_append(layout, ao, NULL);
- elm_object_focus_custom_chain_append(layout, entry, NULL);
-
- return layout;
-}
-///////////////////////// Codes for making Editfield : END
-static Evas_Object *_gl_minus_btn_get(Evas_Object *obj)
-{
- Evas_Object * icon = elm_button_add(obj);
- elm_object_style_set(icon, "icon_minus");
- evas_object_propagate_events_set(icon, EINA_FALSE);
- return icon;
-}
-
-static void _clicked(void *data)
-{
- printf("\n clicked event \n");
-}
-
-static void _up(void *data, Evas *evas, Evas_Object *obj, void *event_info)
-{
- Evas_Object *layout = (Evas_Object *) data;
- Evas_Event_Mouse_Up *ev = (Evas_Event_Mouse_Up *)event_info;
- if (highlight_timer) {
- ecore_timer_del(highlight_timer);
- elm_object_signal_emit(layout, "elm,state,selected", "elm");
- }
- if (ev && !(ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD)) {
- highlight_timer = ecore_timer_add(UNHIGHLIGHT_TIMER, _unhighlight_timer, data);
- unhighlight_lists = eina_list_append(unhighlight_lists, layout);
- }
-}
-
-static void _move(void *data, Evas *evas, Evas_Object *obj, void *event_info)
-{
- /*when move event is called user intends to scroll hence unhighlight*/
- Evas_Event_Mouse_Move *ev = (Evas_Event_Mouse_Move *)event_info;
- Evas_Object *layout = (Evas_Object *) data;
- if (ev && ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) {
- if (highlight_timer) {
- ecore_timer_del(highlight_timer);
- highlight_timer = NULL;
- }
- elm_object_signal_emit(layout, "elm,state,unselected", "elm");
- return;
- }
-}
-
-static void _down(void *data, Evas *evas, Evas_Object *obj, void *event_info)
-{
- /*send select signal on mouse down to highlight layout*/
- Evas_Object *layout = (Evas_Object *) data;
- Evas_Event_Mouse_Down *ev = (Evas_Event_Mouse_Down *)event_info;
- if (ev && ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD)
- return;
- if (highlight_timer) ecore_timer_del(highlight_timer);
- highlight_timer = ecore_timer_add(HIGHLIGHT_TIMER, _highlight_timer, layout);
-}
-
-static void _key_down(void *data, Evas *evas, Evas_Object *obj, void *event_info)
-{
- Evas_Event_Key_Down *ev = event_info;
- if (!ev) return;
- if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return;
-
- if ((!strcmp(ev->keyname, "Return")) ||
- (!strcmp(ev->keyname, "KP_Enter")) ||
- (!strcmp(ev->keyname, "space")))
- {
- if (!key_down && obj)
- {
- printf("item_highlighted\n");
- key_down = EINA_TRUE;
- Evas_Object *layout = (Evas_Object *)obj;
- elm_object_signal_emit(layout, "elm,state,selected", "elm");
- }
- printf("Layout(%p) is downed\n", obj);
- }
-}
-
-static void _key_up(void *data, Evas *evas, Evas_Object *obj, void *event_info)
-{
- Evas_Event_Key_Up *ev = event_info;
- if (!ev) return;
- if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return;
-
- printf("Layout(%p) is uped \n", data);
- if ((!strcmp(ev->keyname, "Return")) ||
- (!strcmp(ev->keyname, "KP_Enter")) ||
- (!strcmp(ev->keyname, "space")))
- {
- if (key_down && data)
- {
- printf("item_highlighted\n");
- key_down = EINA_FALSE;
- Evas_Object *layout = (Evas_Object *)data;
- highlight_timer = ecore_timer_add(UNHIGHLIGHT_TIMER, _unhighlight_timer, layout);
- unhighlight_lists = eina_list_append(unhighlight_lists, layout);
- }
- }
-}
-
-static void dialogue_group_1(void *data, Evas_Object * obj, void *event_info)
-{
- Evas_Object *ao;
- Evas_Object *box;
- Evas_Object *scroller;
- Evas_Object *layout[12];
- Evas_Object *check[3];
- Elm_Object_Item *navi_it;
- struct appdata *ad = (struct appdata *)data;
- if (ad == NULL) return;
-
- scroller = _create_scroller(ad->nf);
- elm_object_style_set(scroller, "dialogue");
-
- box = elm_box_add(scroller);
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(box, EVAS_HINT_FILL, 0.0);
- elm_object_content_set(scroller, box);
- evas_object_show(box);
-
- layout[0] = elm_layout_add(box);
- elm_layout_theme_set(layout[0], "layout", "dialogue", "separator");
- evas_object_size_hint_weight_set(layout[0], EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(layout[0], EVAS_HINT_FILL, 0.0);
- elm_box_pack_end(box, layout[0]);
- evas_object_show(layout[0]);
-
- layout[1] = elm_layout_add(box);
- elm_layout_theme_set(layout[1], "layout", "dialogue", "1text");
- evas_object_size_hint_weight_set(layout[1], EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(layout[1], EVAS_HINT_FILL, 0.0);
- elm_object_part_text_set(layout[1], "elm.text", "List");
- elm_box_pack_end(box, layout[1]);
- evas_object_show(layout[1]);
- evas_object_event_callback_add(layout[1], EVAS_CALLBACK_MOUSE_DOWN, _down, layout[1]);
- evas_object_event_callback_add(layout[1], EVAS_CALLBACK_MOUSE_MOVE, _move, layout[1]);
- evas_object_event_callback_add(layout[1], EVAS_CALLBACK_MOUSE_UP, _up, layout[1]);
- elm_object_signal_emit(layout[1], "elm,state,top", "");
-
- evas_object_event_callback_add(layout[1], EVAS_CALLBACK_KEY_DOWN, _key_down, NULL);
- evas_object_event_callback_add(layout[1], EVAS_CALLBACK_KEY_UP, _key_up, layout[1]);
-
- ao = elm_object_part_access_register(layout[1], "bg_dialogue");
- elm_access_info_cb_set(ao, ELM_ACCESS_INFO, _access_info_cb, layout[1]);
-
- layout[2] = elm_layout_add(box);
- elm_layout_theme_set(layout[2], "layout", "dialogue", "1text.1icon");
- evas_object_size_hint_weight_set(layout[2], EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(layout[2], EVAS_HINT_FILL, 0.0);
- elm_object_part_text_set(layout[2], "elm.text", "List");
- elm_box_pack_end(box, layout[2]);
- evas_object_show(layout[2]);
- evas_object_event_callback_add(layout[2], EVAS_CALLBACK_MOUSE_DOWN, _down, layout[2]);
- evas_object_event_callback_add(layout[2], EVAS_CALLBACK_MOUSE_MOVE, _move, layout[2]);
- evas_object_event_callback_add(layout[2], EVAS_CALLBACK_MOUSE_UP, _up, layout[2]);
- check[0] = elm_check_add(layout[2]);
- elm_object_style_set(check[0], "on&off");
- elm_object_part_content_set(layout[2], "elm.icon", check[0]);
- evas_object_propagate_events_set(check[0], EINA_FALSE);
- elm_object_signal_emit(layout[2], "elm,state,bottom", "");
-
- evas_object_event_callback_add(layout[2], EVAS_CALLBACK_KEY_DOWN, _key_down, NULL);
- evas_object_event_callback_add(layout[2], EVAS_CALLBACK_KEY_UP, _key_up, layout[2]);
-
- ao = elm_object_part_access_register(layout[2], "bg_dialogue");
- elm_access_info_cb_set(ao, ELM_ACCESS_INFO, _access_info_cb, layout[2]);
- elm_access_activate_cb_set(ao, _access_activate_cb, check[0]);
-
- layout[3] = elm_layout_add(box);
- elm_layout_theme_set(layout[3], "layout", "dialogue", "title");
- evas_object_size_hint_weight_set(layout[3], EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(layout[3], EVAS_HINT_FILL, 0.0);
- elm_object_part_text_set(layout[3], "elm.text", "Title");
- elm_box_pack_end(box, layout[3]);
- evas_object_show(layout[3]);
-
- ao = elm_access_object_register(layout[3], layout[3]);
- elm_access_info_cb_set(ao, ELM_ACCESS_INFO, _access_info_cb, layout[3]);
- elm_object_focus_custom_chain_append(layout[3], ao, NULL);
-
- layout[4] = elm_layout_add(box);
- elm_layout_theme_set(layout[4], "layout", "dialogue", "1text.1icon.2");
- evas_object_size_hint_weight_set(layout[4], EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(layout[4], EVAS_HINT_FILL, 0.0);
- elm_object_part_text_set(layout[4], "elm.text", "List");
- elm_box_pack_end(box, layout[4]);
- evas_object_show(layout[4]);
- evas_object_event_callback_add(layout[4], EVAS_CALLBACK_MOUSE_DOWN, _down, layout[4]);
- evas_object_event_callback_add(layout[4], EVAS_CALLBACK_MOUSE_MOVE, _move, layout[4]);
- evas_object_event_callback_add(layout[4], EVAS_CALLBACK_MOUSE_UP, _up, layout[4]);
- check[1] = elm_check_add(layout[4]);
- elm_object_part_content_set(layout[4], "elm.icon", check[1]);
- elm_object_signal_emit(layout[4], "elm,state,top", "");
-
- evas_object_event_callback_add(layout[4], EVAS_CALLBACK_KEY_DOWN, _key_down, NULL);
- evas_object_event_callback_add(layout[4], EVAS_CALLBACK_KEY_UP, _key_up, layout[4]);
-
- ao = elm_object_part_access_register(layout[4], "bg_dialogue");
- elm_access_info_cb_set(ao, ELM_ACCESS_INFO, _access_info_cb, layout[4]);
- elm_access_activate_cb_set(ao, _access_activate_cb, check[1]);
-
- layout[5] = elm_layout_add(box);
- elm_layout_theme_set(layout[5], "layout", "dialogue", "1text.1icon.2");
- evas_object_size_hint_weight_set(layout[5], EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(layout[5], EVAS_HINT_FILL, 0.0);
- elm_object_part_text_set(layout[5], "elm.text", "List-Disabled");
- elm_box_pack_end(box, layout[5]);
- evas_object_show(layout[5]);
- check[2] = elm_check_add(layout[5]);
- elm_object_part_content_set(layout[5], "elm.icon", check[2]);
- /*Disable Item as shown below and do not connect any Mouse events, when
- * enabling is required send "elm,state,enabled" signal and connect to mouse
- * events
- */
- elm_object_disabled_set(check[2], EINA_TRUE);
- elm_object_signal_emit(layout[5], "elm,state,disabled", "elm");
- elm_object_signal_emit(layout[5], "elm,state,center", "");
-
- ao = elm_object_part_access_register(layout[5], "bg_dialogue");
- elm_access_info_cb_set(ao, ELM_ACCESS_INFO, _access_info_cb, layout[5]);
- elm_object_focus_custom_chain_append(layout[5], ao, NULL);
-
- layout[6] = elm_layout_add(box);
- elm_layout_theme_set(layout[6], "layout", "dialogue", "1icon");
- evas_object_size_hint_weight_set(layout[6], EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(layout[6], EVAS_HINT_FILL, 0.0);
- elm_box_pack_end(box, layout[6]);
- evas_object_show(layout[6]);
- Evas_Object *slider = elm_slider_add(layout[6]);
- elm_slider_indicator_show_set(slider, EINA_TRUE);
- elm_slider_min_max_set(slider, 0, 9);
- elm_slider_indicator_format_set(slider, "%1.0f");
- elm_slider_value_set(slider, 7);
- elm_object_part_content_set(layout[6], "elm.icon", slider);
- elm_object_signal_emit(layout[6], "elm,state,center", "");
-
- layout[7] = elm_layout_add(box);
- elm_layout_theme_set(layout[7], "layout", "dialogue", "2text.3");
- evas_object_size_hint_weight_set(layout[7], EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(layout[7], EVAS_HINT_FILL, 0.0);
- elm_object_part_text_set(layout[7], "elm.text.1", "Maintext");
- elm_object_part_text_set(layout[7], "elm.text.2", "Subtext");
- evas_object_event_callback_add(layout[7], EVAS_CALLBACK_MOUSE_DOWN, _down, layout[7]);
- evas_object_event_callback_add(layout[7], EVAS_CALLBACK_MOUSE_MOVE, _move, layout[7]);
- evas_object_event_callback_add(layout[7], EVAS_CALLBACK_MOUSE_UP, _up, layout[7]);
- elm_object_part_content_set(layout[7], "elm.icon.edit", _gl_minus_btn_get(layout[7]));
- elm_box_pack_end(box, layout[7]);
- evas_object_show(layout[7]);
- elm_object_signal_emit(layout[7], "elm,state,bottom", "");
- elm_object_signal_emit(layout[7], "elm,state,edit,enabled", "");
-
- evas_object_event_callback_add(layout[7], EVAS_CALLBACK_KEY_DOWN, _key_down, NULL);
- evas_object_event_callback_add(layout[7], EVAS_CALLBACK_KEY_UP, _key_up, layout[7]);
-
- ao = elm_object_part_access_register(layout[7], "bg_dialogue");
- elm_access_info_cb_set(ao, ELM_ACCESS_INFO, _access_main_sub_info_cb, layout[7]);
-
- layout[8] = elm_layout_add(box);
- elm_layout_theme_set(layout[8], "layout", "dialogue", "title");
- evas_object_size_hint_weight_set(layout[8], EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(layout[8], EVAS_HINT_FILL, 0.0);
- elm_object_part_text_set(layout[8], "elm.text", "Title");
- elm_box_pack_end(box, layout[8]);
- evas_object_show(layout[8]);
-
- ao = elm_access_object_register(layout[8], layout[8]);
- elm_access_info_cb_set(ao, ELM_ACCESS_INFO, _access_info_cb, layout[8]);
- elm_object_focus_custom_chain_append(layout[8], ao, NULL);
-
- layout[9] = _singleline_editfield_with_title_add(box);
- evas_object_size_hint_weight_set(layout[9], EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(layout[9], EVAS_HINT_FILL, 0.0);
- elm_object_part_text_set(layout[9], "elm.text", _("Title Area"));
- elm_box_pack_end(box, layout[9]);
- evas_object_show(layout[9]);
- elm_object_signal_emit(layout[9], "elm,state,top", "");
-
- layout[10] = _multiline_editfield_with_title_add(box);
- evas_object_size_hint_weight_set(layout[10], EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(layout[10], EVAS_HINT_FILL, 0.0);
- elm_object_part_text_set(layout[10], "elm.text", _("Title Area"));
- elm_box_pack_end(box, layout[10]);
- evas_object_show(layout[10]);
- elm_object_signal_emit(layout[10], "elm,state,center", "");
-
- layout[11] = _singleline_editfield_add(box);
- evas_object_size_hint_weight_set(layout[11], EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(layout[11], EVAS_HINT_FILL, 0.0);
- elm_object_part_text_set(layout[11], "elm.text", _("Title Area"));
- elm_box_pack_end(box, layout[11]);
- evas_object_show(layout[11]);
- elm_object_signal_emit(layout[11], "elm,state,bottom", "");
-
- elm_object_focus_allow_set(layout[1], EINA_TRUE);
- elm_object_focus_allow_set(layout[2], EINA_TRUE);
- elm_object_focus_allow_set(layout[4], EINA_TRUE);
- elm_object_focus_allow_set(layout[6], EINA_TRUE);
- elm_object_focus_allow_set(layout[7], EINA_TRUE);
- elm_object_focus_allow_set(layout[9], EINA_TRUE);
- elm_object_focus_allow_set(layout[10], EINA_TRUE);
- elm_object_focus_allow_set(layout[11], EINA_TRUE);
-
- navi_it = elm_naviframe_item_push(ad->nf, _("Dialoguegroup-1"), NULL, NULL, scroller, NULL);
- elm_naviframe_item_pop_cb_set(navi_it, _pop_cb, NULL);
-}
-
-static Evas_Object *_create_list_winset(struct appdata *ad)
-{
- Evas_Object *li;
- struct _menu_item *menu_its;
-
- if (ad == NULL) return NULL;
-
- li = elm_list_add(ad->nf);
- elm_list_mode_set(li, ELM_LIST_COMPRESS);
- evas_object_smart_callback_add(li, "selected", _list_click, NULL);
-
- int idx = 0;
- menu_its = _menu_its;
- while (menu_its[idx].name != NULL) {
- elm_list_item_append(li, menu_its[idx].name, NULL, NULL, menu_its[idx].func, ad);
- ++idx;
- }
- elm_list_go(li);
-
- return li;
-}
-
-void dialoguegroup_cb(void *data, Evas_Object * obj, void *event_info)
-{
- struct appdata *ad;
-
- Evas_Object *list;
-
- ad = (struct appdata *)data;
- if (ad == NULL) return;
-
- list = _create_list_winset(ad);
- elm_naviframe_item_push(ad->nf, _("DialogueGroup"), NULL, NULL, list, NULL);
-}
-
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 <Elementary.h>
-#include "elmdemo_util.h"
-#include "elmdemo_test.h"
-#include "dnd.h"
-#include "dnd_layout_genlist.h"
-#include "dnd_genlist_gengrid.h"
-#include "dnd_gengrid_box.h"
-
-static struct _menu_item menu_its[] = {
- { "Layout-Genlist", dnd_layout_genlist_cb },
- { "Genlist-Gengrid (Multi-Select)", dnd_genlist_gengrid_cb },
- { "Gengrid-Box", dnd_gengrid_box_cb },
- /* do not delete below */
- { NULL, NULL }
-};
-
-static void _list_click(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *it = (Elm_Object_Item *) elm_list_selected_item_get(obj);
-
- if (it == NULL)
- {
- fprintf((LOG_PRI(LOG_ERR) == LOG_ERR?stderr:stdout), "List item is NULL.\n");
- return;
- }
-
- elm_list_item_selected_set(it, EINA_FALSE);
-}
-
-static Evas_Object* _create_list_winset(struct appdata* ad)
-{
- Evas_Object *li;
-
- if (ad == NULL) return NULL;
-
- li = elm_list_add(ad->nf);
- elm_list_mode_set(li, ELM_LIST_COMPRESS);
- evas_object_smart_callback_add(li, "selected", _list_click, NULL);
-
- int idx = 0;
-
- while(menu_its[ idx ].name != NULL) {
-
- elm_list_item_append(
- li,
- menu_its[ idx ].name,
- NULL,
- NULL,
- menu_its[ idx ].func,
- ad);
- ++idx;
- }
-
- elm_list_go(li);
-
- return li;
-}
-
-void dnd_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *list;
- struct appdata *ad = (struct appdata *) data;
- if (ad == NULL) return;
-
- list = _create_list_winset(ad);
- elm_naviframe_item_push(ad->nf, _("Drag&Drop"), NULL, NULL, list, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-
-#define SWALLOW "box_swallow"
-
-#define ANIM_TIME 0.3
-#define DRAG_TIMEOUT 0.5
-
-Evas_Object *gengrid, *layout, *box;
-Elm_Gengrid_Item_Class *ggic;
-Ecore_Timer *tm;
-
-typedef struct _Item_Data
-{
- const char *path;
- int highlighted;
- Elm_Object_Item *item;
- Eina_Bool checked;
- Eina_Bool stared;
-} Item_Data;
-
-static void
-_del(void *data, Evas_Object *obj)
-{
- Item_Data *id = data;
- if (id) free(id);
-}
-
-static char *
-_text_get(void *data, Evas_Object *obj, const char *part)
-{
- Item_Data *id = data;
- return strdup(id->path);
-}
-
-static Evas_Object *
-_content_get(void *data, Evas_Object *obj, const char *part)
-{
- Item_Data *id = data;
- Evas_Object *icon = elm_image_add(obj);
- elm_image_file_set(icon, id->path, NULL);
- evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- return icon;
-}
-
-//////////////////////////////////////////////////////////////////////////////
-/////////////////////// for dnd :: START /////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
-//////////////////// FOR GENGRID //////////////////////////////////
-static Eina_Bool
-_gg_drop_cb(void *data, Evas_Object *obj, Elm_Object_Item *it, Elm_Selection_Data *sel, int xposret, int yposret)
-{
- if (!sel->data) return EINA_FALSE;
-
- int len = sel->len; /* Should check & use length of returned data */
- char *path = NULL;
- if (len)
- path = malloc(len + 1);
- if (!path) return EINA_FALSE;
- strncpy(path, sel->data, len);
- path[len] = '\0';
- char *f = strstr(path, "file://");
- if (!f)
- f = path;
- else
- f = f + 7;
- if (f)
- {
- char *nl = strstr(f, "\n");
- if (nl)
- *nl = '\0';
- Item_Data *id = calloc(sizeof(Item_Data), 1);
- id->path = eina_stringshare_add(f);
- if (it)
- it = elm_gengrid_item_insert_after(obj, ggic, id, it, NULL, NULL);
- else
- it = elm_gengrid_item_append(obj, ggic, id, NULL, NULL);
- id->item = it;
- }
- free(path);
-
- return EINA_TRUE;
-}
-
-static Elm_Object_Item *
-_gg_item_get_cb(Evas_Object *obj, Evas_Coord x, Evas_Coord y, int *xposret, Evas_Coord *yposret)
-{
- /* This function returns pointer to item under (x,y) coords */
- Elm_Object_Item *item;
- item = elm_gengrid_at_xy_item_get(obj, x, y, xposret, yposret);
- return item;
-}
-
-static Evas_Object *
-_gg_create_icon(void *data, Evas_Object *win, int *xoff, int *yoff)
-{
- Evas_Object *icon = NULL;
- Evas_Object *o = elm_object_item_part_content_get(data, "elm.swallow.icon");
-
- if (o)
- {
- int xm, ym, w = 150, h = 150;
- const char *f, *g;
- elm_image_file_get(o, &f, &g);
- evas_pointer_canvas_xy_get(evas_object_evas_get(o), &xm, &ym);
-
- icon = elm_icon_add(win);
- elm_image_file_set(icon, f, g);
- evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, EVAS_HINT_FILL);
- if (xoff) *xoff = xm - w/2;
- if (yoff) *yoff = ym - h/2;
- evas_object_resize(icon, w, h);
- }
-
- return icon;
-}
-
-static void
-_gg_drag_done(void *data, Evas_Object *obj, Eina_Bool accepted)
-{
- printf("%s %d data=<%p> doaccept=<%d>\n",
- __func__, __LINE__, data, accepted);
-
- if (data)
- eina_list_free(data);
-}
-
-static const char *
-_gg_get_drag_data(Evas_Object *obj, Elm_Object_Item *it, Eina_List **items)
-{
- const char *drag_data = NULL;
-
- /* Drag only current pressed item */
- if (it)
- {
- const char *t = NULL;
-
- Item_Data *id = elm_object_item_data_get(it);
- if (id)
- {
- t = id->path;
- /* Compose string to send */
- drag_data = malloc(strlen(t) + 9);
- }
- if (!drag_data) return NULL;
- strcpy((char *)drag_data, "file://");
- strcat((char *)drag_data, t);
- strcat((char *)drag_data, "\n");
- printf("%s %d: sending: <%s>\n", __func__, __LINE__, drag_data);
- }
-
- return drag_data;
-}
-
-static Eina_Bool
-_gg_dnd_default_anim_data_get_cb(Evas_Object *obj, Elm_Object_Item *it, Elm_Drag_User_Info *info)
-{
- /* This called before starting to drag, mouse-down was on it */
- info->format = ELM_SEL_FORMAT_IMAGE;
- info->icons = NULL;
- info->createicon = _gg_create_icon;
- info->createdata = it;
- info->dragdone = _gg_drag_done;
-
- /* Now, collect data to send for drop from current pressed item */
- info->data = _gg_get_drag_data(obj, it, (Eina_List **)&info->donecbdata);
- info->acceptdata = info->donecbdata;
-
- if (info->data)
- return EINA_TRUE;
- else
- return EINA_FALSE;
-}
-
-//////////////////// FOR BOX //////////////////////////////////
-static Evas_Object *
-_box_item_createicon(void *data, Evas_Object *win, int *xoff, int *yoff)
-{
- Evas_Object *icon = NULL;
- Evas_Object *obj = data;
-
- if (obj)
- {
- const char *f, *g;
- elm_image_file_get(obj, &f, &g);
- icon = elm_image_add(win);
- elm_image_file_set(icon, f, g);
- Evas_Coord x, y, w = 150, h = 150;
- evas_pointer_canvas_xy_get(evas_object_evas_get(obj), &x, &y);
- if (xoff) *xoff = x - w/2;
- if (yoff) *yoff = y - h/2;
- evas_object_resize(icon, w, h);
- }
-
- return icon;
-}
-
-static Eina_Bool
-_box_item_long_press_cb(void *data)
-{
- Evas_Object *obj = data;
-
- tm = NULL;
- if (obj)
- {
- const char *f;
- char dd[PATH_MAX];
-
- elm_image_file_get(obj, &f, NULL);
- snprintf(dd, sizeof(dd), "file://%s\n", f);
- printf("%s %d: sending <%s>\n", __func__, __LINE__, dd);
-
- /* Start dragging */
- elm_drag_start(obj, ELM_SEL_FORMAT_IMAGE,
- dd, ELM_XDND_ACTION_COPY,
- _box_item_createicon, obj,
- NULL, NULL,
- NULL, NULL,
- NULL, NULL);
- }
- return ECORE_CALLBACK_CANCEL;
-}
-
-static void
-_box_item_mouse_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- if (tm)
- ecore_timer_del(tm);
- tm = ecore_timer_add(DRAG_TIMEOUT, _box_item_long_press_cb, obj);
-}
-
-static void
-_box_item_mouse_up_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- if (tm)
- {
- ecore_timer_del(tm);
- tm = NULL;
- }
-}
-
-static Eina_Bool
-_box_drop_cb(void *data, Evas_Object *obj, Elm_Selection_Data *sel)
-{
- Evas_Object *box = data;
- char *path = NULL;
- if (!sel || !sel->data) return EINA_FALSE;
-
- /* Should check & use length of returned data */
- int len = sel->len;
- if (len)
- path = malloc(len + 1);
- if (!path) return EINA_FALSE;
- strncpy(path, sel->data, len);
- path[len] = '\0';
-
- char *f = strstr(path, "file://");
- if (!f)
- f = path;
- else
- f = f + 7;
- if (f)
- {
- char *nl = strstr(f, "\n");
- if (nl)
- *nl = '\0';
- /* remove items */
- Eina_List *children = elm_box_children_get(box);
- if (eina_list_count(children) >= 4)
- elm_box_clear(box);
- eina_list_free(children);
-
- /* add dropped item */
- Evas_Object *item = elm_image_add(layout);
- elm_image_file_set(item, f, NULL);
- evas_object_size_hint_weight_set(item, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(item, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_min_set(item, 150, 150);
- evas_object_size_hint_max_set(item, 150, 150);
- evas_object_event_callback_add(item, EVAS_CALLBACK_MOUSE_DOWN, _box_item_mouse_down_cb, box);
- evas_object_event_callback_add(item, EVAS_CALLBACK_MOUSE_UP, _box_item_mouse_up_cb, box);
- evas_object_show(item);
- elm_box_pack_end(box, item);
- }
- free(path);
-
- return EINA_TRUE;
-}
-//////////////////////////////////////////////////////////////////////////////
-/////////////////////// for dnd :: END /////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
-static void
-_create_gengrid(void *data)
-{
- struct appdata *ad = data;
- Elm_Object_Item *item;
- char buf[PATH_MAX];
- int idx;
-
- gengrid = elm_gengrid_add(ad->nf);
- evas_object_size_hint_weight_set(gengrid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(gengrid, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- elm_gengrid_item_size_set(gengrid, elm_config_scale_get() * 150, elm_config_scale_get() * 150);
- elm_gengrid_horizontal_set(gengrid, EINA_FALSE);
- elm_gengrid_reorder_mode_set(gengrid, EINA_FALSE);
- elm_gengrid_multi_select_set(gengrid, EINA_FALSE);
-
- elm_drop_item_container_add(gengrid, ELM_SEL_FORMAT_IMAGE, _gg_item_get_cb,
- NULL, NULL, NULL, NULL, NULL, NULL, _gg_drop_cb, NULL);
- elm_drag_item_container_add(gengrid, ANIM_TIME, DRAG_TIMEOUT,
- _gg_item_get_cb, _gg_dnd_default_anim_data_get_cb);
-
- ggic = elm_gengrid_item_class_new();
- ggic->item_style = "default";
- ggic->func.text_get = _text_get;
- ggic->func.content_get = _content_get;
- ggic->func.del = _del;
-
- for (idx = 0; idx < 20; idx++)
- {
- Item_Data *id = calloc(sizeof(Item_Data), 1);
- snprintf(buf, sizeof(buf), "%s/grid_image/%d_raw.jpg", ICON_DIR, idx + 1);
- id->path = eina_stringshare_add(buf);
- item = elm_gengrid_item_append(
- gengrid,
- ggic,
- id,
- NULL,
- NULL);
- id->item = item;
- }
-
- evas_object_show(gengrid);
-}
-
-static void
-_create_box(void *data)
-{
- struct appdata *ad = data;
- Evas_Object *item;
- char buf[PATH_MAX];
- int idx;
-
- tm = NULL;
- layout = elm_layout_add(ad->nf);
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "dnd/box_layout");
-
- box = elm_box_add(ad->nf);
- elm_box_horizontal_set(box, EINA_TRUE);
- elm_object_part_content_set(layout, SWALLOW, box);
-
- /* Add items to box */
- for (idx = 0; idx < 1; idx ++)
- {
- item = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/grid_image/5%d_raw.jpg", ICON_DIR, idx + 1);
- elm_image_file_set(item, buf, NULL);
- evas_object_size_hint_weight_set(item, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(item, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_min_set(item, 150, 150);
- evas_object_size_hint_max_set(item, 150, 150);
- evas_object_event_callback_add(item, EVAS_CALLBACK_MOUSE_DOWN, _box_item_mouse_down_cb, box);
- evas_object_event_callback_add(item, EVAS_CALLBACK_MOUSE_UP, _box_item_mouse_up_cb, box);
- evas_object_show(item);
- elm_box_pack_end(box, item);
- }
- evas_object_show(layout);
-
- /* We should use layout as drop target */
- elm_drop_target_add(layout, ELM_SEL_FORMAT_IMAGE,
- NULL, NULL, NULL, NULL, NULL, NULL, _box_drop_cb, box);
-}
-
-static Eina_Bool
-_pop_cb(void *data, Elm_Object_Item *it)
-{
- ////// for dnd :: START /////////////
- elm_drag_item_container_del(gengrid);
- elm_drop_item_container_del(gengrid);
- elm_drop_target_del(layout, ELM_SEL_FORMAT_IMAGE,
- NULL, NULL, NULL, NULL, NULL, NULL, _box_drop_cb, box);
- //
-
- elm_gengrid_item_class_free(ggic);
-
- return EINA_TRUE;
-}
-
-void
-dnd_gengrid_box_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Elm_Object_Item *navi_it;
- Evas_Object *box_main;
-
- ad = (struct appdata *)data;
-
- box_main = elm_box_add(ad->nf);
- evas_object_size_hint_weight_set(box_main, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- _create_gengrid(ad);
- elm_box_pack_end(box_main, gengrid);
-
- _create_box(ad);
- elm_box_pack_end(box_main, layout);
-
- evas_object_show(box_main);
-
- navi_it = elm_naviframe_item_push(ad->nf, _("DND: Gengrid Box"), NULL, NULL, box_main, NULL);
- elm_naviframe_item_pop_cb_set(navi_it, _pop_cb, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-
-//////// for dnd :: START ///////
-#define DRAG_TIMEOUT 0.3
-#define ANIM_TIME 0.5
-//
-#define TIMER_VAL 0.1
-
-static Evas_Object *genlist, *gengrid, *box;
-static Elm_Genlist_Item_Class *glic;
-static Elm_Gengrid_Item_Class *ggic;
-
-typedef struct _Item_Data
-{
- const char *path;
- int highlighted;
- Elm_Object_Item *item;
- Eina_Bool checked;
- Eina_Bool stared;
-} Item_Data;
-
-static char *photo_path[] = {
- "00_list_photo_default.png", "iu.jpg", "iu2.jpg", "koo.jpg", "top.jpg", "boa.jpg",
- "kimtaehee.jpg", "moon.jpg", "taeyon.jpg"
-};
-
-static int
-_item_ptr_cmp(const void *d1, const void *d2)
-{
- return (d1 - d2);
-}
-
-static void
-_del(void *data, Evas_Object *obj)
-{
- Item_Data *id = data;
- if (id) free(id);
-}
-
-static char *
-_text_get(void *data, Evas_Object *obj, const char *part)
-{
- Item_Data *id = data;
- return strdup(id->path);
-}
-
-static Evas_Object *
-_content_get(void *data, Evas_Object *obj, const char *part)
-{
- Item_Data *id = data;
- Evas_Object *icon = elm_image_add(obj);
- elm_image_file_set(icon, id->path, NULL);
- evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- return icon;
-}
-
-static void
-_sel(void *data, Evas_Object *obj, void *ei)
-{
- // Do something when an item is selected.
-}
-
-//////////////////////////////////////////////////////////////////////////////
-/////////////////////// for dnd :: START /////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
-//////////////////// FOR GENLIST DRAGGING //////////////////////////////////
-static Elm_Object_Item *
-_gl_item_getcb(Evas_Object *obj, Evas_Coord x, Evas_Coord y, int *xposret, int *yposret)
-{
- /* This function returns pointer to item under (x,y) coords */
- printf("<%s> <%d> obj=<%p>\n", __func__, __LINE__, obj);
- Elm_Object_Item *gli;
- gli = elm_genlist_at_xy_item_get(obj, x, y, yposret);
- if (gli)
- printf("over <%s>, gli=<%p> yposret %i\n",
- elm_object_item_part_text_get(gli, "elm.text"), gli, *yposret);
- else
- printf("over none, yposret %i\n", *yposret);
- return gli;
-}
-
-static Evas_Object *
-_gl_createicon(void *data, Evas_Object *win, Evas_Coord *xoff, Evas_Coord *yoff)
-{
- printf("<%s> <%d>\n", __func__, __LINE__);
- Evas_Object *icon = NULL;
- Evas_Object *o = elm_object_item_part_content_get(data, "elm.icon");
-
- if (o)
- {
- int xm, ym, w = 150, h = 150;
- const char *f;
- const char *g;
- elm_image_file_get(o, &f, &g);
- evas_pointer_canvas_xy_get(evas_object_evas_get(o), &xm, &ym);
- if (xoff) *xoff = xm - (w/2);
- if (yoff) *yoff = ym - (h/2);
- icon = elm_icon_add(win);
- elm_image_file_set(icon, f, g);
- evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- if (xoff && yoff) evas_object_move(icon, *xoff, *yoff);
- evas_object_resize(icon, w, h);
- }
-
- return icon;
-}
-static Eina_Bool
-_gl_timercb(void *data)
-{
- if (!data) return ECORE_CALLBACK_CANCEL;
-
- Eina_List *items = elm_genlist_selected_items_get(data);
- Eina_List *l;
- Elm_Object_Item *it;
- EINA_LIST_FOREACH(items, l, it)
- {
- elm_genlist_item_selected_set(it, EINA_FALSE);
- }
- return ECORE_CALLBACK_CANCEL;
-}
-
-static void
-_gl_dragdone(void *data, Evas_Object *obj, Eina_Bool doaccept)
-{
- printf("<%s> <%d> data=<%p> doaccept=<%d>\n",
- __func__, __LINE__, data, doaccept);
-
- if (data)
- eina_list_free(data);
-
- /* Unselect selected items */
- ecore_timer_add(TIMER_VAL, _gl_timercb, obj);
-}
-
-static const char *
-_gl_get_drag_data(Evas_Object *obj, Elm_Object_Item *it, Eina_List **items)
-{
- /* Construct a string of dragged info, user frees returned string */
- const char *drag_data = NULL;
- printf("<%s> <%d>\n", __func__, __LINE__);
-
- *items = eina_list_clone(elm_genlist_selected_items_get(obj));
- if (it)
- { /* Add the item mouse is over to the list if NOT selected */
- void *p = eina_list_search_unsorted(*items, _item_ptr_cmp, it);
- if (!p)
- *items = eina_list_append(*items, it);
- }
-
- if (*items)
- { /* Now we can actually compose string to send and start dragging */
- Eina_List *l;
- unsigned int len = 0;
-
- EINA_LIST_FOREACH(*items, l, it)
- {
- Item_Data *id = elm_object_item_data_get(it);
- if (id)
- {
- const char *path = id->path;
- printf("<%s> <%d> item: <%s>\n", __func__, __LINE__, path);
- if (path)
- len += strlen(path);
- }
- }
-
- drag_data = malloc(len + eina_list_count(*items) + 8);
- strcpy((char *)drag_data, "file://");
-
- EINA_LIST_FOREACH(*items, l, it)
- {
- Item_Data *id = elm_object_item_data_get(it);
- if (id)
- {
- const char *path = id->path;
- if (path)
- {
- strcat((char *)drag_data, path);
- strcat((char *)drag_data, "\n");
- printf("%s %d: %s\n",__func__, __LINE__, path);
- }
- }
- }
- printf("<%s> <%d> Sending <%s> len: %d\n", __func__, __LINE__, drag_data, strlen(drag_data));
- }
-
- return drag_data;
-}
-
-static Eina_Bool
-_gl_dnd_default_anim_data_getcb(Evas_Object *obj, Elm_Object_Item *it, Elm_Drag_User_Info *info)
-{
- /* This called before starting to drag, mouse-down was on it */
- info->format = ELM_SEL_FORMAT_IMAGE;
- info->createicon = _gl_createicon;
- info->createdata = it;
- info->icons = NULL;
- info->dragdone = _gl_dragdone;
-
- /* Now, collect data to send for drop from ALL selected items */
- /* Save list pointer to remove items after drop and free list on done */
- info->data = _gl_get_drag_data(obj, it, (Eina_List **) &info->donecbdata);
- printf("%s - data = %s\n", __FUNCTION__, info->data);
- info->acceptdata = info->donecbdata;
-
- if (info->data)
- return EINA_TRUE;
- else
- return EINA_FALSE;
-}
-
-//////////////////// FOR GENGLIST DROPPING //////////////////////////////////
-static Eina_Bool
-_gl_dropcb(void *data, Evas_Object *obj, Elm_Object_Item *it, Elm_Selection_Data *ev, int xposret, int yposret)
-{
- if (!ev->data)
- return EINA_FALSE;
-
- char *p = ev->data;
- printf("<%s> <%d>: items: <%s>\n", __func__, __LINE__, p);
- const char *s = strstr(p, "file://");
- if (s) p = p + 7;
- if (!p) return EINA_TRUE;
-
- char *p2 = strchr(p, '\n');
- while(p2)
- {
- *p2 = '\0';
- Item_Data *id = calloc(sizeof(Item_Data), 1);
- id->path = strdup(p);
- switch(yposret)
- {
- case -1: /* Dropped on top-part of the it item */
- elm_genlist_item_insert_before(obj,
- glic, id, NULL, it,
- ELM_GENLIST_ITEM_NONE,
- NULL, NULL);
- break;
- case 0: /* Dropped on center of the it item */
- case 1: /* Dropped on botton-part of the it item */
- if (!it) it = elm_genlist_last_item_get(obj);
- if (it)
- {
- it = elm_genlist_item_insert_after(obj,
- glic, id, NULL, it,
- ELM_GENLIST_ITEM_NONE,
- NULL, NULL);
- }
- else
- {
- it = elm_genlist_item_append(obj,
- glic, id, NULL,
- ELM_GENLIST_ITEM_NONE,
- NULL, NULL);
- }
- break;
- default:
- free(id);
- return EINA_FALSE;
- }
- p = p2 + 1;
- p2 = strchr(p, '\n');
- }
-
- return EINA_TRUE;
-}
-
-//////////////////// FOR GENGRID DRAGGING //////////////////////////////////
-static Elm_Object_Item *
-_gg_item_getcb(Evas_Object *obj, Evas_Coord x, Evas_Coord y, int *xposret, int *yposret)
-{
- /* This function returns pointer to item under (x,y) coords */
- printf("<%s> <%d> obj=<%p>\n", __func__, __LINE__, obj);
- Elm_Object_Item *item;
- item = elm_gengrid_at_xy_item_get(obj, x, y, xposret, yposret);
- if (item)
- {
- Item_Data *id = elm_object_item_data_get(item);
- printf("over <%s>, item=<%p> xposret %i yposret %i\n",
- id->path, item, *xposret, *yposret);
- }
- else
- printf("over none, xposret %i yposret %i\n", *xposret, *yposret);
- return item;
-}
-
-static Evas_Object *
-_gg_createicon(void *data, Evas_Object *win, Evas_Coord *xoff, Evas_Coord *yoff)
-{
- printf("<%s> <%d>\n", __func__, __LINE__);
- Evas_Object *icon = NULL;
- Evas_Object *o = elm_object_item_part_content_get(data, "elm.swallow.icon");
-
- if (o)
- {
- int xm, ym, w = 150, h = 150;
- const char *f;
- const char *g;
- elm_image_file_get(o, &f, &g);
- evas_pointer_canvas_xy_get(evas_object_evas_get(o), &xm, &ym);
- if (xoff) *xoff = xm - (w/2);
- if (yoff) *yoff = ym - (h/2);
- icon = elm_icon_add(win);
- elm_image_file_set(icon, f, g);
- evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- if (xoff && yoff) evas_object_move(icon, *xoff, *yoff);
- evas_object_resize(icon, w, h);
- }
-
- return icon;
-}
-
-static Eina_Bool
-_gg_timercb(void *data)
-{
- if (!data) return ECORE_CALLBACK_CANCEL;
-
- Eina_List *items = (Eina_List *)elm_gengrid_selected_items_get(data);
- Eina_List *l;
- Elm_Object_Item *it;
- EINA_LIST_FOREACH(items, l, it)
- {
- elm_gengrid_item_selected_set(it, EINA_FALSE);
- }
- return ECORE_CALLBACK_CANCEL;
-}
-
-static void
-_gg_dragdone(void *data, Evas_Object *obj, Eina_Bool doaccept)
-{
- printf("<%s> <%d> data=<%p> doaccept=<%d>\n",
- __func__, __LINE__, data, doaccept);
-
- if (data)
- eina_list_free(data);
-
- /* Unselect selected items */
- ecore_timer_add(TIMER_VAL, _gg_timercb, obj);
-}
-
-static const char*
-_gg_get_drag_data(Evas_Object *obj, Elm_Object_Item *it, Eina_List **items)
-{
- printf("<%s> <%d>\n", __func__, __LINE__);
- /* Construct a string of dragged info, users frees returned string */
- const char *drag_data = NULL;
-
- *items = eina_list_clone(elm_gengrid_selected_items_get(obj));
- if (it)
- { /* Add the item mouse is over to the list if NOT selected */
- void *p = eina_list_search_unsorted(*items, _item_ptr_cmp, it);
- if (!p)
- *items = eina_list_append(*items, it);
- }
-
- if (*items)
- { /* Now we can actually compose string to send and start dragging */
- Eina_List *l;
- unsigned int len = 0;
-
- EINA_LIST_FOREACH(*items, l, it)
- {
- Item_Data *id = elm_object_item_data_get(it);
- if (id)
- {
- const char *path = id->path;
- if (path)
- len += strlen(path);
- }
- }
-
- drag_data = malloc(len + eina_list_count(*items) + 8);
- strcpy((char *)drag_data, "file://");
-
- EINA_LIST_FOREACH(*items, l, it)
- {
- Item_Data *id = elm_object_item_data_get(it);
- if (id)
- {
- const char *path = id->path;
- if (path)
- {
- strcat((char *)drag_data, path);
- strcat((char *)drag_data, "\n");
- }
- }
- }
- printf("<%s> <%d> Sending <%s> len: %d\n", __func__, __LINE__, drag_data, strlen(drag_data));
- }
-
- return drag_data;
-}
-
-static Eina_Bool
-_gg_dnd_default_anim_data_getcb(Evas_Object *obj, /* The gengrid object */
- Elm_Object_Item *it,
- Elm_Drag_User_Info *info)
-{
- /* This called before starting to drag, mouse-down was on it */
- printf("<%s> <%d>\n", __func__, __LINE__);
- info->format = ELM_SEL_FORMAT_IMAGE;
- info->createicon = _gg_createicon;
- info->createdata = it;
- info->icons = NULL;
- info->dragdone = _gg_dragdone;
-
- /* Now, collect data to send for drop from ALL selected items */
- /* Save list pointer to remove items after drop and free list on done */
- info->data = _gg_get_drag_data(obj, it, (Eina_List **) &info->donecbdata);
- printf("<%s> <%d> - data = <%s>\n", __func__, __LINE__, info->data);
- info->acceptdata = info->donecbdata;
-
- if (info->data)
- return EINA_TRUE;
- else
- return EINA_FALSE;
-}
-
-//////////////////// FOR GENGRID DROPPING //////////////////////////////////
-static Eina_Bool
-_gg_dropcb(void *data, Evas_Object *obj, Elm_Object_Item *it, Elm_Selection_Data *ev, int xposret, int yposret)
-{
- /* This function is called when data is dropped on gengrid */
- printf("<%s> <%d>\n", __func__, __LINE__);
- if (!ev->data)
- return EINA_FALSE;
-
- const char *p = ev->data;
- const char *s = strstr(p, "file://");
- if (s) p = p + 7;
- if (p)
- {
- char *p2 = strchr(p, '\n');
- while(p2)
- {
- *p2 = '\0';
-
- Item_Data *id = calloc(sizeof(Item_Data), 1);
- id->path = strdup(p);
- if (!it) it = elm_gengrid_last_item_get(obj);
- if (it)
- it = elm_gengrid_item_insert_after(obj, ggic, id, it, NULL, NULL);
- else
- it = elm_gengrid_item_append(obj, ggic, id, NULL, NULL);
- p = p2 + 1;
- p2 = strchr(p, '\n');
- }
- }
-
- return EINA_TRUE;
-}
-
-static void
-_create_gengrid(void *data)
-{
- struct appdata *ad = data;
- Elm_Object_Item *item;
- char buf[PATH_MAX];
- int index;
-
- gengrid = elm_gengrid_add(ad->nf);
- evas_object_size_hint_weight_set(gengrid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(gengrid, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- elm_gengrid_item_size_set(gengrid, elm_config_scale_get() * 150, elm_config_scale_get() * 150);
- elm_gengrid_horizontal_set(gengrid, EINA_FALSE);
- elm_gengrid_reorder_mode_set(gengrid, EINA_FALSE);
- elm_gengrid_multi_select_set(gengrid, EINA_TRUE);
- ///////////// for dnd :: START //////////////////////////
- elm_drop_item_container_add(gengrid, ELM_SEL_FORMAT_IMAGE, _gg_item_getcb,
- NULL, NULL, NULL, NULL, NULL, NULL, _gg_dropcb, NULL);
- elm_drag_item_container_add(gengrid, ANIM_TIME, DRAG_TIMEOUT,
- _gg_item_getcb, _gg_dnd_default_anim_data_getcb);
- //
-
- ggic = elm_gengrid_item_class_new();
- ggic->item_style = "default";
- ggic->func.text_get = _text_get;
- ggic->func.content_get = _content_get;
- ggic->func.del = _del;
-
- for (index = 0; index < 20; index++)
- {
- Item_Data *id = calloc(sizeof(Item_Data), 1);
-
- snprintf(buf, sizeof(buf), "%s/grid_image/%d_raw.jpg", ICON_DIR, index+1);
- id->path = eina_stringshare_add(buf);
-
- item = elm_gengrid_item_append(
- gengrid, // gengrid object
- ggic, // gengrid item class
- id, // data
- NULL,
- NULL);
- id->item = item;
- }
-}
-
-static void
-_create_genlist (void *data)
-{
- struct appdata *ad = data;
- Elm_Object_Item *item;
- char buf[PATH_MAX];
- int index, photo_index;
-
- genlist = elm_genlist_add(ad->nf);
- evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
- ///////////// for dnd :: START //////////////////////////
- elm_drop_item_container_add(genlist, ELM_SEL_FORMAT_IMAGE, _gl_item_getcb,
- NULL, NULL, NULL, NULL, NULL, NULL, _gl_dropcb, NULL);
- elm_drag_item_container_add(genlist, ANIM_TIME, DRAG_TIMEOUT,
- _gl_item_getcb, _gl_dnd_default_anim_data_getcb);
- //
-
- glic = elm_genlist_item_class_new();
- glic->item_style = "1text.1icon.7";
- glic->func.text_get = _text_get;
- glic->func.content_get = _content_get;
- glic->func.del = _del;
-
- elm_genlist_block_count_set(genlist, 14);
- elm_genlist_multi_select_set(genlist, EINA_TRUE); //allow multi-select
-
- for (index = 0; index < 100; index++)
- {
- Item_Data *id = calloc(sizeof(Item_Data), 1);
-
- photo_index = index % (sizeof(photo_path)/sizeof(*photo_path));
- sprintf(buf, ICON_DIR"/genlist/%s", photo_path[photo_index]);
- id->path = eina_stringshare_add(buf);
-
- item = elm_genlist_item_append(
- genlist, // genlist object
- glic, // item class
- id, // data
- NULL,
- ELM_GENLIST_ITEM_NONE,
- _sel,
- NULL);
- id->item = item;
- }
-}
-
-static Eina_Bool
-_pop_cb(void *data, Elm_Object_Item *it)
-{
- ////// for dnd :: START /////////////
- elm_drag_item_container_del(genlist);
- elm_drop_item_container_del(gengrid);
- //
- elm_genlist_item_class_free(glic);
- elm_gengrid_item_class_free(ggic);
-
- return EINA_TRUE;
-}
-
-void dnd_genlist_gengrid_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Elm_Object_Item *navi_it;
-
- ad = data;
-
- _create_genlist(ad);
- _create_gengrid(ad);
-
- box = elm_box_add(ad->nf);
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_show(box);
-
- elm_box_pack_end(box, genlist);
- evas_object_show(genlist);
- elm_box_pack_end(box, gengrid);
- evas_object_show(gengrid);
-
- navi_it = elm_naviframe_item_push(ad->nf, _("DND:Genlist Gengrid (Multi-Select)") , NULL, NULL, box, NULL);
- elm_naviframe_item_pop_cb_set(navi_it, _pop_cb, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-
-//////// for dnd :: START ///////
-#define DRAG_TIMEOUT 0.3
-#define ANIM_TIME 0.5
-//
-
-typedef struct _Item_Data
-{
- const char *path;
- int highlighted;
- Elm_Object_Item *item;
- Eina_Bool checked;
- Eina_Bool stared;
-} Item_Data;
-
-static char *photo_path[] = {
- "00_list_photo_default.png", "iu.jpg", "iu2.jpg", "koo.jpg", "top.jpg", "boa.jpg",
- "kimtaehee.jpg", "moon.jpg", "taeyon.jpg"
-};
-
-static Evas_Object *genlist, *layout, *box;
-static Elm_Genlist_Item_Class *itc;
-
-static void _gl_del(void *data, Evas_Object *obj)
-{
- Item_Data *id = data;
- if (id) free(id);
-}
-
-static char *
-_gl_text_get(void *data, Evas_Object *obj, const char *part)
-{
- Item_Data *id = data;
- return strdup(id->path);
-}
-
-static Evas_Object *
-_gl_content_get(void *data, Evas_Object *obj, const char *part)
-{
- Item_Data *id = data;
- Evas_Object *icon = elm_image_add(obj);
- elm_image_file_set(icon, id->path, NULL);
- evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- return icon;
-}
-
-static void _gl_sel(void *data, Evas_Object *obj, void *ei)
-{
- // Do something when an item is selected.
-}
-
-//////////////////////////////////////////////////////////////////////////////
-/////////////////////// for dnd :: START /////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
-//////////////////// FOR GENLIST DRAGGING //////////////////////////////////
-static Elm_Object_Item *
-_gl_item_getcb(Evas_Object *obj, Evas_Coord x, Evas_Coord y, int *xposret, int *yposret)
-{
- /* This function returns pointer to item under (x,y) coords */
- printf("<%s> <%d> obj=<%p>\n", __func__, __LINE__, obj);
- Elm_Object_Item *gli;
- gli = elm_genlist_at_xy_item_get(obj, x, y, yposret);
- if (gli)
- printf("over <%s>, gli=<%p> yposret %i\n",
- elm_object_item_part_text_get(gli, "elm.text"), gli, *yposret);
- else
- printf("over none, yposret %i\n", *yposret);
- return gli;
-}
-
-static Evas_Object *
-_gl_createicon(void *data, Evas_Object *win, Evas_Coord *xoff, Evas_Coord *yoff)
-{
- Evas_Object *icon = NULL;
- Evas_Object *o = elm_object_item_part_content_get(data, "elm.icon");
-
- if (o)
- {
- int xm, ym, w = 150, h = 150;
- const char *f;
- const char *g;
- elm_image_file_get(o, &f, &g);
- evas_pointer_canvas_xy_get(evas_object_evas_get(o), &xm, &ym);
- if (xoff) *xoff = xm - (w/2);
- if (yoff) *yoff = ym - (h/2);
- icon = elm_icon_add(win);
- elm_image_file_set(icon, f, g);
- evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- if (xoff && yoff) evas_object_move(icon, *xoff, *yoff);
- evas_object_resize(icon, w, h);
- }
-
- return icon;
-}
-
-static void
-_gl_dragdone(void *data, Evas_Object *obj EINA_UNUSED, Eina_Bool doaccept)
-{
- printf("<%s> <%d> data=<%p> doaccept=<%d>\n",
- __func__, __LINE__, data, doaccept);
-
- if (data)
- eina_list_free(data);
- return;
-}
-
-static const char *
-_gl_get_drag_data(Evas_Object *obj, Elm_Object_Item *it, Eina_List **items)
-{
- /* Construct a string of dragged info, user frees returned string */
- const char *drag_data = NULL;
- printf("<%s> <%d>\n", __func__, __LINE__);
-
- if (it)
- {
- /* Now we can actually compose string to send and start dragging */
- const char *t;
-
- t = elm_object_item_part_text_get(it, "elm.text");
-
- drag_data = malloc(strlen(t) + 8);
- if (!drag_data) return NULL;
- strcpy((char *) drag_data, "file://");
- strcat((char *) drag_data, t);
- strcat((char *) drag_data, "\0");
-
- printf("<%s> <%d> Sending <%s>\n", __func__, __LINE__, drag_data);
- }
- return drag_data;
-}
-
-static Eina_Bool
-_gl_dnd_default_anim_data_getcb(Evas_Object *obj, Elm_Object_Item *it, Elm_Drag_User_Info *info)
-{
- /* This called before starting to drag, mouse-down was on it */
- info->format = ELM_SEL_FORMAT_TARGETS;
- info->createicon = _gl_createicon;
- info->createdata = it;
- info->icons = NULL;
- info->dragdone = _gl_dragdone;
-
- /* Now, collect data to send for drop from ALL selected items */
- /* Save list pointer to remove items after drop and free list on done */
- info->data = _gl_get_drag_data(obj, it, (Eina_List **) &info->donecbdata);
- printf("%s - data = %s\n", __FUNCTION__, info->data);
- info->acceptdata = info->donecbdata;
-
- if (info->data)
- return EINA_TRUE;
- else
- return EINA_FALSE;
-}
-
-
-////////////////////// FOR LAYOUT DROPPING /////////////////////////
-static Eina_Bool
-_ly_dropcb(void *data, Evas_Object *obj, Elm_Object_Item *it, Elm_Selection_Data *ev, int xposret, int yposret)
-{
- /* This function is called when data is dropped on the genlist */
- printf("<%s> <%d> str=<%s>\n", __func__, __LINE__, (char *) ev->data);
-
- char *p1;
- p1 = ev->data;
- const char *p2 = strstr(p1, "file://");
- if (p2) p1 = p1 + 7;
- if (!p1) goto end;
- elm_object_part_text_set(obj, "file.text", p1);
- printf("[%s : %d] %s \n", __func__, __LINE__, p1);
- return EINA_TRUE;
-
-end:
- elm_object_part_text_set(obj, "file.text", "Wrong File Format");
- return EINA_TRUE;
-}
-///////////////////////////////////////////////////////////////////////////////
-/////////////////////////// for dnd :: END ////////////////////////////////////
-///////////////////////////////////////////////////////////////////////////////
-
-static void
-_create_genlist (void *data)
-{
- struct appdata *ad = data;
- Elm_Object_Item *item;
- char buf[PATH_MAX];
- int index, photo_index;
-
- genlist = elm_genlist_add(ad->nf);
- evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
- ///////////// for dnd :: START //////////////////////////
- elm_drag_item_container_add(genlist, ANIM_TIME, DRAG_TIMEOUT,
- _gl_item_getcb, _gl_dnd_default_anim_data_getcb);
- //
-
- itc = elm_genlist_item_class_new();
- itc->item_style = "1text.1icon.7";
- itc->func.text_get = _gl_text_get;
- itc->func.content_get = _gl_content_get;
- itc->func.del = _gl_del;
-
- elm_genlist_block_count_set(genlist, 14);
-
- for (index = 0; index < 100; index++) {
- Item_Data *id = calloc(sizeof(Item_Data), 1);
-
- photo_index = index % (sizeof(photo_path)/sizeof(*photo_path));
- sprintf(buf, ICON_DIR"/genlist/%s", photo_path[photo_index]);
- id->path = eina_stringshare_add(buf);
-
- item = elm_genlist_item_append(
- genlist, // genlist object
- itc, // item class
- id, // data
- NULL,
- ELM_GENLIST_ITEM_NONE,
- _gl_sel,
- NULL);
- id->item = item;
- }
-}
-
-static Eina_Bool
-_pop_cb(void *data, Elm_Object_Item *it)
-{
- ////// for dnd :: START /////////////
- elm_drag_item_container_del(genlist);
- elm_drop_item_container_del(layout);
- //
- elm_genlist_item_class_free(itc);
-
- return EINA_TRUE;
-}
-
-void
-_create_layout(void *data)
-{
- struct appdata *ad = data;
- Evas_Object *entry;
-
- layout = elm_layout_add(ad->nf);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "dnd_layout");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- entry = elm_entry_add(ad->nf);
- elm_entry_scrollable_set(entry, EINA_TRUE);
- elm_entry_single_line_set(entry, EINA_TRUE);
- evas_object_size_hint_align_set(entry, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- elm_object_part_content_set(layout, "entry1.swallow", entry);
-
- entry = elm_entry_add(ad->nf);
- elm_entry_scrollable_set(entry, EINA_TRUE);
- elm_entry_single_line_set(entry, EINA_TRUE);
- evas_object_size_hint_align_set(entry, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- elm_object_part_content_set(layout, "entry2.swallow", entry);
-
- ////// for dnd :: START /////////////
- elm_drop_item_container_add(layout, ELM_SEL_FORMAT_TARGETS, NULL, NULL, NULL,
- NULL, NULL, NULL, NULL, _ly_dropcb, NULL);
- //
-}
-
-void dnd_layout_genlist_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Elm_Object_Item *navi_it;
-
- ad = data;
-
- _create_layout(ad);
- _create_genlist(ad);
-
- box = elm_box_add(ad->nf);
- elm_box_horizontal_set(box, EINA_TRUE);
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_show(box);
-
- elm_box_pack_end(box, layout);
- evas_object_show(layout);
- elm_box_pack_end(box, genlist);
- evas_object_show(genlist);
-
- navi_it = elm_naviframe_item_push (ad->nf, _("DND:Layout Genlist") , NULL, NULL, box, NULL);
- elm_naviframe_item_pop_cb_set(navi_it, _pop_cb, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "drawer.h"
-
-/*********************************************************
- Drawer
- ********************************************************/
-static void _left_drawer_cb(void *data, Evas_Object * obj, void *event_info);
-static void _left_right_drawer_cb(void *data, Evas_Object * obj, void *event_info);
-
-static struct _menu_item _menu_its[] = {
- {"Left Drawer Style", _left_drawer_cb},
- {"Left Right Drawer Style", _left_right_drawer_cb},
- /* do not delete below */
- {NULL, NULL}
-};
-
-static void _list_click(void *data, Evas_Object * obj, void *event_info)
-{
- Elm_Object_Item *it = (Elm_Object_Item *) elm_list_selected_item_get(obj);
-
- if (!it) {
- fprintf(stderr, "list item is NULL\n");
- return;
- }
-
- elm_list_item_selected_set(it, EINA_FALSE);
-}
-
-static Evas_Object *_create_list_winset(struct appdata *ad)
-{
- Evas_Object *li;
- struct _menu_item *menu_its;
- int idx = 0;
-
- if (!ad) return NULL;
-
- li = elm_list_add(ad->nf);
- elm_list_mode_set(li, ELM_LIST_COMPRESS);
- evas_object_smart_callback_add(li, "selected", _list_click, NULL);
-
- menu_its = _menu_its;
- while (menu_its[idx].name != NULL) {
- elm_list_item_append(li, menu_its[idx].name, NULL, NULL, menu_its[idx].func, ad);
- ++idx;
- }
- elm_list_go(li);
-
- return li;
-}
-
-static Evas_Object *_create_nocontent(Evas_Object *parent, const char *text)
-{
- Evas_Object *grid, *bg, *noc, *btn;
-
- //Grid
- grid = elm_grid_add(parent);
- evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_show(grid);
-
- //Bg
- bg = elm_bg_add(grid);
- elm_grid_pack(grid, bg, 0, 0, 100, 100);
- evas_object_show(bg);
-
- //NoContent
- noc = elm_layout_add(grid);
- elm_layout_theme_set(noc, "layout", "nocontents", "text");
- evas_object_size_hint_weight_set(noc, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(noc, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_object_part_text_set(noc, "elm.text", text);
- elm_layout_signal_emit(noc, "align.center", "elm");
- elm_grid_pack(grid, noc, 0, 0, 100, 100);
- evas_object_show(noc);
-
- //Button
- btn = elm_button_add(noc);
- elm_object_style_set(btn, "style1");
- elm_object_text_set(btn, "Text button");
- evas_object_show(btn);
- elm_object_part_content_set(noc, "swallow_area", btn);
-
- return grid;
-}
-
-static void
-_panel_back_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *panel = data;
- elm_panel_hidden_set(panel, EINA_TRUE);
-}
-
-static Evas_Object *_create_panel(Evas_Object *parent)
-{
- Evas_Object *panel, *list;
- int i;
- char buf[64];
-
- //Panel
- panel = elm_panel_add(parent);
- elm_panel_scrollable_set(panel, EINA_TRUE);
-
- //Default is visible, hide the content in default.
- elm_panel_hidden_set(panel, EINA_TRUE);
- evas_object_show(panel);
-
- //Panel content
- list = elm_list_add(panel);
- ea_object_event_callback_add(list, EA_CALLBACK_BACK, _panel_back_cb, panel);
- evas_object_size_hint_weight_set(list, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(list, EVAS_HINT_FILL, EVAS_HINT_FILL);
- for (i = 0; i < 20; i++) {
- sprintf(buf, "list item %d", i);
- elm_list_item_append(list, buf, NULL, NULL, NULL, NULL);
- }
-
- evas_object_show(list);
-
- elm_object_content_set(panel, list);
-
- return panel;
-}
-
-Evas_Object *_create_drawer_layout(Evas_Object *parent)
-{
- Evas_Object *layout;
- layout = elm_layout_add(parent);
- elm_layout_theme_set(layout, "layout", "drawer", "panel");
- evas_object_show(layout);
-
- return layout;
-}
-
-Evas_Object *_create_bg(Evas_Object *parent)
-{
- Evas_Object *rect;
- rect = evas_object_rectangle_add(evas_object_evas_get(parent));
- evas_object_color_set(rect, 0, 0, 0, 0);
- evas_object_show(rect);
-
- return rect;
-}
-
-static void _btn_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *panel = data;
- if (!elm_object_disabled_get(panel)) elm_panel_toggle(panel);
-}
-
-static void
-_panel_scroll_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Panel_Scroll_Info *ev = event_info;
- Evas_Object *bg = data;
- int col = 127 * ev->rel_x;
-
- evas_object_color_set(bg, 0, 0, 0, col);
-}
-
-static void
-_left_unhold_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
- Evas_Object *panel = data;
- if (!panel) return;
- elm_object_disabled_set(panel, EINA_TRUE);
-}
-
-static void
-_left_hold_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
- Evas_Object *panel = data;
- if (!panel) return;
- elm_object_disabled_set(panel, EINA_FALSE);
-}
-
-static void
-_right_unhold_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
- Evas_Object *panel = data;
- elm_object_disabled_set(panel, EINA_TRUE);
-}
-
-static void
-_right_hold_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
- Evas_Object *panel = data;
- elm_object_disabled_set(panel, EINA_FALSE);
-}
-
-static void
-_left_active_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
- printf("left drawer active!\n");
-}
-
-static void
-_left_inactive_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
- printf("left drawer inactive!\n");
-}
-
-static void
-_right_active_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
- printf("right drawer active!\n");
-}
-
-static void
-_right_inactive_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
- printf("right drawer inactive!\n");
-}
-
-static void
-_left_right_drawer_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad = (struct appdata *)data;
- Evas_Object *layout, *bg, *center, *left_panel, *right_panel, *btn;
- Elm_Object_Item *navi_it;
-
- if (ad == NULL) return;
-
- layout = _create_drawer_layout(ad->conform);
-
- bg = _create_bg(layout);
- elm_object_part_content_set(layout, "elm.swallow.bg", bg);
-
- center = _create_nocontent(layout, "Left Right Drawer Demo");
- elm_object_part_content_set(layout, "elm.swallow.content", center);
-
- //Left Panel
- left_panel = _create_panel(layout);
- elm_panel_orient_set(left_panel, ELM_PANEL_ORIENT_LEFT);
- evas_object_smart_callback_add(left_panel, "scroll", _panel_scroll_cb, bg);
- elm_object_part_content_set(layout, "elm.swallow.left", left_panel);
-
- //Right Panel
- right_panel = _create_panel(layout);
- elm_panel_orient_set(right_panel, ELM_PANEL_ORIENT_RIGHT);
- evas_object_smart_callback_add(right_panel, "scroll", _panel_scroll_cb, bg);
- elm_object_part_content_set(layout, "elm.swallow.right", right_panel);
-
- navi_it = elm_naviframe_item_push(ad->nf, _("Left Right Drawer"), NULL, NULL, layout,
- NULL);
-
- //hold & unhold signal callback
- elm_object_signal_callback_add(left_panel, "elm,state,hold", "elm", _left_hold_cb, right_panel);
- elm_object_signal_callback_add(left_panel, "elm,state,unhold", "elm", _left_unhold_cb, right_panel);
- elm_object_signal_callback_add(right_panel, "elm,state,hold", "elm", _right_hold_cb, left_panel);
- elm_object_signal_callback_add(right_panel, "elm,state,unhold", "elm", _right_unhold_cb, left_panel);
-
- //active & inactive signal callback
- elm_object_signal_callback_add(left_panel, "elm,state,active", "elm", _left_active_cb, NULL);
- elm_object_signal_callback_add(left_panel, "elm,state,inactive", "elm", _left_inactive_cb, NULL);
- elm_object_signal_callback_add(right_panel, "elm,state,active", "elm", _right_active_cb, NULL);
- elm_object_signal_callback_add(right_panel, "elm,state,inactive", "elm", _right_inactive_cb, NULL);
-
- //left panel toggle button
- btn = elm_button_add(ad->nf);
- elm_object_style_set(btn, "naviframe/title_text");
- elm_object_text_set(btn, "left");
- evas_object_smart_callback_add(btn, "clicked", _btn_cb, left_panel);
- elm_object_item_part_content_set(navi_it, "title_left_btn", btn);
-
- //right panel toggle button
- btn = elm_button_add(ad->nf);
- elm_object_style_set(btn, "naviframe/title_text");
- elm_object_text_set(btn, "right");
- evas_object_smart_callback_add(btn, "clicked", _btn_cb, right_panel);
- elm_object_item_part_content_set(navi_it, "title_right_btn", btn);
-}
-
-static void
-_left_drawer_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad = (struct appdata *)data;
- Evas_Object *layout, *bg, *center, *left_panel, *btn;
- Elm_Object_Item *navi_it;
-
- if (ad == NULL) return;
-
- layout = _create_drawer_layout(ad->conform);
-
- bg = _create_bg(layout);
- elm_object_part_content_set(layout, "elm.swallow.bg", bg);
-
- center = _create_nocontent(layout, "Left Drawer Demo");
- elm_object_part_content_set(layout, "elm.swallow.content", center);
-
- //Left Panel
- left_panel = _create_panel(layout);
- elm_panel_orient_set(left_panel, ELM_PANEL_ORIENT_LEFT);
- evas_object_smart_callback_add(left_panel, "scroll", _panel_scroll_cb, bg);
- elm_object_part_content_set(layout, "elm.swallow.left", left_panel);
-
- navi_it = elm_naviframe_item_push(ad->nf, _("Left Drawer"), NULL, NULL, layout,
- "drawers");
-
- //hold & unhold signal callback
- elm_object_signal_callback_add(left_panel, "elm,state,hold", "elm", _left_hold_cb, NULL);
- elm_object_signal_callback_add(left_panel, "elm,state,unhold", "elm", _left_unhold_cb, NULL);
-
- //active & inactive signal callback
- elm_object_signal_callback_add(left_panel, "elm,state,active", "elm", _left_active_cb, NULL);
- elm_object_signal_callback_add(left_panel, "elm,state,inactive", "elm", _left_inactive_cb, NULL);
-
- //left panel toggle button
- btn = elm_button_add(ad->nf);
- elm_object_style_set(btn, "naviframe/drawers");
- evas_object_smart_callback_add(btn, "clicked", _btn_cb, left_panel);
- elm_object_item_part_content_set(navi_it, "drawers", btn);
-}
-
-void drawer_cb(void *data, Evas_Object * obj, void *event_info)
-{
- struct appdata *ad;
-
- Evas_Object *list;
-
- ad = (struct appdata *)data;
- if (!ad) return;
-
- list = _create_list_winset(ad);
- elm_naviframe_item_push(ad->nf, _("Drawer"), NULL, NULL, list, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 <stdio.h>
-#include <Ecore_X.h>
-
-#include "elmdemo_util.h"
-#include "elmdemo_test.h"
-
-#include "fonttest.h"
-#include "fonteffecttest.h"
-
-#include "access.h"
-#include "indicator.h"
-#include "bubble.h"
-#include "button.h"
-#include "check.h"
-#include "colorclass.h"
-#include "colorselector.h"
-#include "ctxpopup.h"
-#include "datetime.h"
-#include "dialoguegroup.h"
-#include "drawer.h"
-#include "entry.h"
-#include "gengrid.h"
-#include "genlist.h"
-#include "handler.h"
-#include "index.h"
-#include "label.h"
-#include "layout.h"
-#include "map.h"
-#include "multibuttonentry.h"
-#include "naviframe.h"
-#include "panes.h"
-#include "popup.h"
-#include "center_popup.h"
-#include "progressbar.h"
-#include "radio.h"
-#include "searchbar.h"
-#include "segmentcontrol.h"
-#include "selectioninfo.h"
-#include "slider.h"
-#include "testmode.h"
-#include "toolbar.h"
-#include "transit.h"
-#include "autoscroll.h"
-#include "elmglviewgears.h"
-#include "video.h"
-#include "tickernoti.h"
-#include "fastscroll.h"
-#include "vi.h"
-#include "floating.h"
-#include "config.h"
-#include "dnd.h"
-#include "theme.h"
-#include "wallpaper.h"
-//#include "map.h"
-
-#ifdef MTRACE
- #include <mcheck.h>
-#endif
-
-
-//static void _not_implemented_menu_cb(void *data, Evas_Object *obj, void *event_info);
-static void _list_clicked_event(void *data, Evas_Object *obj, void *event_info);
-
-static Evas_Object* _create_bg(Evas_Object *parent);
-static Evas_Object* _create_conform(Evas_Object *parent);
-static Evas_Object* _create_layout_main(Evas_Object* parent);
-static Evas_Object* _create_list_winset(Evas_Object* parent, struct appdata* ad);
-
-static Evas_Object* _create_naviframe_layout(Evas_Object* parent);
-static void _create_view_layout(struct appdata *ad);
-static void _set_rotation_mode_for_emulator(void *data);
-
-static struct _menu_item tizen_menu_its[] = {
- { "Accessibility", access_cb },
- { "AutoScroll", autoscroll_cb },
- { "Bubble", bubble_cb },
- { "Button", button_cb },
- { "Center Popup", center_popup_cb },
- { "Check", check_cb },
- { "ColorSelector", colorselector_cb },
- { "CtxPopup", ctxpopup_cb },
- { "Datetime", datetime_cb },
- { "DialogueGroup", dialoguegroup_cb },
- { "Drawer", drawer_cb },
- { "Entry", entry_cb },
- { "GLView", elmgears_cb },
- { "Fastscroll", fastscroll_cb },
- { "Font", fonttest_cb },
- { "Font Effect", fonteffecttest_cb },
- { "Gengrid", gengrid_cb },
- { "Genlist", genlist_cb },
- { "Handler", handler_cb },
- { "Indicator", indicator_cb },
- { "Label", label_cb },
- { "Layout", layout_cb },
- { "List", list_cb },
- { "Map", map_cb },
- { "MultiButtonEntry", multibuttonentry_cb },
- { "Naviframe", naviframe_cb},
- { "PageControl", index_cb },
- { "Popup", popup_cb },
- { "ProgressBar", progressbar_cb },
- { "Radio", radio_cb },
- { "SearchBar", searchbar_cb },
-// { "SegmentControl", segmented_control_cb },
- { "SelectionInfo", selectioninfo_cb },
- { "Slider", slider_cb },
- { "Split View", panes_cb },
- { "Toolbar", toolbar_cb },
- { "Transit", effect_cb },
- { "Ticker Notification", tickernoti_cb },
- { "Video", video_cb },
- { "[VI]", vi_cb},
- { "[Floating]", floating_cb},
- { "[Config]", config_cb},
- { "[Drag&Drop]", dnd_cb},
- { "[Theme]", theme_cb},
- { "[Theme Change Wallpaper]", wallpaper_theme_cb},
-// { "[Color Class]", colorclass_cb},
- /* do not delete below */
- { NULL, NULL }
-};
-
-static void _quit_cb(void *data, Evas_Object *obj, void *ei)
-{
- /*
- //To make your application go to background,
- //Call the elm_win_lower() instead
- Evas_Object *win = (Evas_Object *) data;
- elm_win_lower(win);
- */
- elm_exit();
-}
-
-static Eina_Bool _pop_cb(void *data, Elm_Object_Item *it)
-{
- _quit_cb(NULL, NULL, NULL);
- return EINA_FALSE;
-}
-
-static void _list_clicked_event(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *it = (Elm_Object_Item *) elm_list_selected_item_get(obj);
-
- if (it == NULL)
- {
- fprintf((LOG_PRI(LOG_ERR) == LOG_ERR?stderr:stdout), "List item is NULL.\n");
- return;
- }
-
- elm_list_item_selected_set(it, EINA_FALSE);
-}
-
-static Evas_Object* _create_bg(Evas_Object *parent)
-{
- Evas_Object *bg;
-
- if (parent == NULL) return NULL;
-
- bg = elm_bg_add(parent);
- evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_win_resize_object_add(parent, bg);
- evas_object_show(bg);
-
- return bg;
-}
-
-static Evas_Object* _create_conform(Evas_Object *parent)
-{
- Evas_Object *conform, *bg;
-
- if (parent == NULL) return NULL;
-
- conform = elm_conformant_add(parent);
- evas_object_size_hint_weight_set(conform, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_win_resize_object_add(parent, conform);
-
- bg = elm_bg_add(conform);
- elm_object_style_set(bg, "indicator/headerbg");
- elm_object_part_content_set(conform, "elm.swallow.indicator_bg", bg);
- evas_object_show(bg);
-
- evas_object_show(conform);
- return conform;
-}
-
-
-static Evas_Object* _create_layout_main(Evas_Object* parent)
-{
- Evas_Object *layout;
-
- if (parent == NULL) return NULL;
-
- layout = elm_layout_add(parent);
-
- if (layout == NULL)
- {
- fprintf((LOG_PRI(LOG_ERR) == LOG_ERR?stderr:stdout), "Failed elm_layout_add.\n");
- return NULL;
- }
-
- elm_layout_theme_set(layout, "layout", "application", "default");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- evas_object_show(layout);
-
- return layout;
-}
-
-static Evas_Object* _add_debug_mode(struct appdata* ad)
-{
- static Eina_Bool is_debug_mode_enabled = 0;
- Elm_Object_Item *it;
- Evas_Object *list;
-
- if (ad == NULL) return NULL;
-
- it = elm_naviframe_bottom_item_get(ad->nf);
- list = elm_object_item_content_get(it);
-
- if (list == NULL) return NULL;
- if (is_debug_mode_enabled) return NULL;
-
- elm_list_item_prepend(
- list,
- "(Test Mode)",
- NULL,
- NULL,
- testmode_cb,
- ad);
- elm_list_go(list);
-
- is_debug_mode_enabled = 1;
-
- return list;
-}
-
-static Evas_Object* _create_list_winset(Evas_Object* parent, struct appdata* ad)
-{
- Evas_Object *li;
- int idx = 0;
- struct _menu_item *menu_its;
-
- if (parent == NULL || ad == NULL) return NULL;
-
- li = elm_list_add(parent);
- elm_list_mode_set(li, ELM_LIST_COMPRESS);
- evas_object_smart_callback_add(li, "selected", _list_clicked_event, NULL);
- menu_its = tizen_menu_its;
-
- while (menu_its[ idx ].name != NULL) {
- elm_list_item_append(
- li,
- menu_its[ idx ].name,
- NULL,
- NULL,
- menu_its[ idx ].func,
- ad);
- ++idx;
- }
-
- elm_list_go(li);
-
- return li;
-}
-
-static void _detect_touch_type(void *data)
-{
- struct appdata *ad = (struct appdata *)data;
- Touch_Info *ti = &(ad->ti);
-
- if ((ti->cur_x > ti->prev_x) && (ti->moving_type != FLICK_L2R))
- {
- ti->moving_type = FLICK_L2R;
-
- if (ti->magic_num == 0 || ti->magic_num == 0xEF) ti->magic_num += 0xF;
- else ti->magic_num += 0xEE;
- }
- else if ((ti->cur_x < ti->prev_x) && (ti->moving_type != FLICK_R2L))
- {
- ti->moving_type = FLICK_R2L;
- if (ti->magic_num == 0xF) ti->magic_num += 0xE0;
- else ti->magic_num += 0xFF;
- }
-
- ti->prev_x = ti->cur_x;
- ti->prev_y = ti->cur_y;
-}
-
-static void _mouse_down_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad = (struct appdata *)data;
- Touch_Info *ti = &(ad->ti);
-
- Evas_Event_Mouse_Down *ev = event_info;
- Evas_Coord x, y;
-
- if (ev->button != 1) return;
-
- evas_object_geometry_get(obj, &x, &y, NULL, NULL);
- ti->prev_x = ev->canvas.x;
- ti->prev_y = ev->canvas.y;
- ti->moving_type = NONE;
-}
-
-static void _mouse_up_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad = (struct appdata *)data;
- Touch_Info *ti = &(ad->ti);
-
- ti->prev_x = 0;
- ti->prev_y = 0;
- ti->moving_type = NONE;
-
- if (ti->magic_num == 0xFE || ti->magic_num == 0xFFE) ti->magic_num += 0xF00;
- else ti->magic_num = 0;
-
- if (ti->magic_num == 0x1EFE) _add_debug_mode(ad);
-}
-
-static void _mouse_move_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad = (struct appdata *)data;
- Touch_Info *ti = &(ad->ti);
-
- Evas_Event_Mouse_Move *ev = event_info;
- Evas_Coord minw = 0, minh = 0;
-
- if (ev->buttons ^ 0x01)
- return;
-
- elm_coords_finger_size_adjust(1, &minw, 1, &minh);
- Evas_Coord off_x = 0;
-
- ti->cur_x = ev->cur.canvas.x;
-
- if (ti->prev_x == 0)
- return;
-
- off_x = ti->cur_x - ti->prev_x;
-
- if (off_x > minw || off_x < -minw)
- _detect_touch_type(ad);
-}
-
-static Evas_Object* _create_naviframe_layout(Evas_Object* parent)
-{
- Evas_Object *nf;
-
- if (parent == NULL) return NULL;
-
- nf = elm_naviframe_add(parent);
- elm_object_part_content_set(parent, "elm.swallow.content", nf);
-
- evas_object_show(nf);
-
- return nf;
-}
-
-#ifdef DESKTOP
-static Eina_Bool _key_cb(void *data, int type, void *ei)
-{
- Ecore_Event_Key *ev = ei;
- struct appdata *ad = data;
- if (ev && ev->keyname) {
- if (!strcmp(ev->keyname, "F1")) {
- _elm_access_highlight_cycle(ad->win_main, ELM_FOCUS_PREVIOUS);
- } else if (!strcmp(ev->keyname, "F2")) {
- _elm_access_highlight_cycle(ad->win_main, ELM_FOCUS_NEXT);
- } else if (!strcmp(ev->keyname, "F3")) {
- // 0 means ELM_ACTIVATE_DEFAULT
- _elm_access_highlight_object_activate(ad->win_main, 0);
- } else if (!strcmp(ev->keyname, "F5")) {
- int rot = elm_win_rotation_get(ad->win_main);
- elm_win_rotation_set(ad->win_main, rot + 90);
- evas_object_resize(ad->win_main, 1280*elm_config_scale_get(), 720*elm_config_scale_get());
- }
-
- }
- return EINA_TRUE;
-}
-#endif
-
-static void _create_view_layout(struct appdata *ad)
-{
- Evas_Object *list;
- Evas_Object *btn;
- Elm_Object_Item *nf_it;
-
- if (ad == NULL) return;
- if (ad->nf == NULL) return;
-
- list = _create_list_winset(ad->win_main, ad);
- btn = elm_button_add(ad->nf);
- elm_object_style_set(btn, "naviframe/end_btn/default");
- ea_object_event_callback_add(ad->nf, EA_CALLBACK_BACK, ea_naviframe_back_cb, NULL);
- ea_object_event_callback_add(ad->nf, EA_CALLBACK_MORE, ea_naviframe_more_cb, NULL);
- nf_it = elm_naviframe_item_push(ad->nf, _("Tizen UI"), btn, NULL, list, NULL);
- elm_naviframe_item_pop_cb_set(nf_it, _pop_cb, ad->win_main);
-}
-
-int init_elmdemo_test(struct appdata *ad)
-{
- if (ad == NULL) return -1;
-
- // Background Image
- ad->bg = _create_bg(ad->win_main);
-
- // Conformant
- ad->conform = _create_conform(ad->win_main);
- if (ad->conform == NULL) return -1;
-
- // Base Layout
- ad->layout_main = _create_layout_main(ad->conform);
- if (ad->layout_main == NULL) return -1;
-
- elm_object_content_set(ad->conform, ad->layout_main);
-
- elm_win_conformant_set(ad->win_main, EINA_TRUE);
-
- // Indicator
- elm_win_indicator_mode_set(ad->win_main, ELM_WIN_INDICATOR_SHOW);
-
- // Naviframe
- ad->nf = _create_naviframe_layout(ad->layout_main);
-
- // Naviframe Content
- _create_view_layout(ad);
-
-#ifdef DESKTOP
- ecore_event_handler_add(ECORE_EVENT_KEY_DOWN, _key_cb, ad);
-#endif
- evas_object_event_callback_add(ad->nf, EVAS_CALLBACK_MOUSE_DOWN, _mouse_down_cb, ad);
- evas_object_event_callback_add(ad->nf, EVAS_CALLBACK_MOUSE_UP, _mouse_up_cb, ad);
- evas_object_event_callback_add(ad->nf, EVAS_CALLBACK_MOUSE_MOVE, _mouse_move_cb, ad);
-
- return 0;
-}
-
-int _lang_changed(void *data)
-{
- char *locale = vconf_get_str(VCONFKEY_LANGSET);
- if (locale) elm_language_set(locale);
- return 0;
-}
-
-static void _window_resize_cb(void *data, Evas * e, Evas_Object * obj, void *event_info)
-{
- struct appdata *ad = (struct appdata *)data;
- evas_object_geometry_get(ad->win_main, NULL, NULL, &ad->root_w, &ad->root_h);
-}
-
-// This is for a rotation test on the emulator(Xephyr)
-static void _set_rotation_mode_for_emulator(void *data)
-{
- struct appdata *ad = (struct appdata *)data;
-
- evas_object_geometry_get(ad->win_main, NULL, NULL, &ad->root_w, &ad->root_h);
-
- if (ad->root_w > ad->root_h) {
- set_portrait_mode(EINA_FALSE);
- } else {
- set_portrait_mode(EINA_TRUE);
- }
-}
-
-static struct appdata s_ad;
-
-int demo_app_create(Evas_Object *win)
-{
-#if MTRACE
- printf("- Mtrace started -\n");
- mtrace();
-#endif
- struct appdata *ad = &s_ad;
- char *locale;
-
- fprintf(stderr, "[TIME] 3. main -> app_create : %d msec\n", appcore_measure_time());
- fprintf(stdout, "Cpu count: %d\n", eina_cpu_count());
-
- ad->win_main = win;
- if (ad->win_main == NULL) return -1;
-
- evas_object_event_callback_add(ad->win_main, EVAS_CALLBACK_RESIZE, _window_resize_cb, ad);
-
- evas_object_show(ad->win_main);
-
- ad->evas = evas_object_evas_get(ad->win_main);
-
- locale = vconf_get_str(VCONFKEY_LANGSET);
- if (locale) elm_language_set(locale);
-
- _set_rotation_mode_for_emulator(ad);
-
- init_elmdemo_test(ad);
-
- fprintf(stderr, "theme : %s\n", (const char *)eina_list_data_get(elm_theme_list_get(NULL)));
-
- return 0;
-}
-
-/*
-int app_terminate(void *data)
-{
-#if MTRACE
- printf("- Mtrace ended -\n");
- muntrace();
-#endif
- //struct appdata *ad = data;
-
- return 0;
-}
-
-int app_pause(void *data)
-{
- //struct appdata *ad = data;
-
- return 0;
-}
-
-int app_resume(void *data)
-{
- //struct appdata *ad = data;
-
- return 0;
-}
-
-int app_reset(bundle *b, void *data)
-{
- struct appdata *ad = data;
-
- fprintf(stderr, "[TIME] 5. app_create -> app_resume (first display) : %d msec\n", appcore_measure_time());
- fprintf(stderr, "[TIME] Total. aul_launch -> app_resume (first display) : %d msec\n", appcore_measure_time_from("APP_START_TIME"));
-
- if (ad->win_main)
- elm_win_activate(ad->win_main);
-
- return 0;
-}
-
-int main(int argc, char *argv[])
-{
- struct appdata ad;
- struct appcore_ops ops = {
- .create = app_create,
- .terminate = app_terminate,
- .pause = app_pause,
- .resume = app_resume,
- .reset = app_reset,
- };
-
- fprintf(stderr, "[TIME] 1. aul_launch -> main : %d msec\n", appcore_measure_time_from("APP_START_TIME"));
- appcore_measure_start();
-
- memset(&ad, 0x0, sizeof(struct appdata));
- ops.data = &ad;
-
- fprintf(stderr, "[TIME] 2. main : %d msec\n", appcore_measure_time());
- appcore_measure_start();
-
- return appcore_efl_main(PACKAGE, &argc, &argv, &ops);
-}
-*/
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 <Ecore_X.h>
-
-#include "elmdemo_util.h"
-#include "elmdemo_test.h"
-
-///This variable is used only for emulator.
-static Eina_Bool portrait_mode = EINA_TRUE;
-
-static void* rotate_cb_data = NULL;
-static int cur_rot_degree = 0;
-static Eina_Bool rotation_mode = EINA_TRUE;
-
-static char fullpath[1024];
-
-static int _file_owner_change(uid_t uid, gid_t gid)
-{
- struct stat statbuf;
- struct dirent *dirp;
- DIR *dp;
- char *ptr;
- int ret = 0;
-
- if (lstat(fullpath, &statbuf) < 0)
- {
- fprintf(stderr, "%s : stat error \n", fullpath);
- return 0;
- }
- if (S_ISDIR(statbuf.st_mode) == 0)
- return 0;
-
- ptr = fullpath + strlen(fullpath);
- *ptr++ = '/';
- *ptr = 0;
-
- if ((dp = opendir(fullpath)) == NULL)
- {
- fprintf(stderr, "can't read %s directory \n", fullpath);
- return 0;
- }
-
- while ((dirp = readdir(dp)) != NULL)
- {
- if (strcmp(dirp->d_name, ".") == 0 ||
- strcmp(dirp->d_name, "..") == 0)
- continue;
-
- strcpy(ptr, dirp->d_name);
- if ((chown(fullpath, uid, gid) == -1))
- fprintf(stderr, "%s chown error \n", fullpath);
-
- if ((ret = _file_owner_change(uid, gid)) != 0)
- break;
- }
- *(ptr-1) = 0;
-
- if (closedir(dp) < 0)
- fprintf(stderr, "can't close directory %s", fullpath);
-
- return ret;
-}
-
-// Save config file as app owner
-// because demo program is running as root,
-// so other applications cannot read new config file.
-void change_config_owner()
-{
- struct stat file_info;
- int ret = 0;
-
- if ((ret = lstat("/home/app", &file_info) == -1))
- {
- printf("error : can't get file stat \n");
- }
-
- strcpy(fullpath, "/home/app/.elementary");
- if ((chown(fullpath, file_info.st_uid, file_info.st_gid)) == -1)
- fprintf(stderr, "!!!! chown error \n");
- _file_owner_change(file_info.st_uid, file_info.st_gid);
-}
-
-void set_rotation_mode(Eina_Bool rot_mode)
-{
- rotation_mode = rot_mode;
-}
-
-Eina_Bool get_rotation_mode()
-{
- return rotation_mode;
-}
-
-int get_rotation_degree()
-{
- return cur_rot_degree;
-}
-
-void set_rotation_degree(int degree)
-{
- cur_rot_degree = degree;
-}
-
-void set_portrait_mode(Eina_Bool on)
-{
- portrait_mode = on;
-}
-
-/*
- * is_portrait_mode()
- * This function can be called right after we enter a certain menu,
- * and check whether the device is already rotated or not.
- */
-Eina_Bool is_portrait_mode()
-{
- return portrait_mode;
-}
-
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 <stdlib.h>
-#include "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "elmglviewgears.h"
-
-static void init_gl(Evas_Object *obj);
-static void resize_gl(Evas_Object *obj);
-static void del_gl(Evas_Object *obj);
-static void draw_gl(Evas_Object *obj);
-static Eina_Bool on_animate(void *data);
-static void mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_info);
-static void mouse_up(void *data, Evas *e, Evas_Object *obj, void *event_info);
-static void mouse_move(void *data, Evas *e, Evas_Object *obj, void *event_info);
-static void render_gears(GLData *gld);
-static void gears_init(GLData *gld);
-static void gears_reshape(GLData *gld, int width, int height);
-
-// fps timer
-static void print_fps(const char* filename, int per_sec);
-static int view_count = 0;
-static int zoom_step = 4;
-static int gear_count = 1;
-
-static int g_ut_frames = 0;
-static int vertice_amount[4][50];
-static struct timeval g_ut_starttime;
-static struct timeval g_ut_currenttime;
-
-static void
-print_fps(const char* filename, int per_sec)
-{
- char label_label[40];
- int i;
- int j;
- int total_vertice_amount = 0;
-
- g_ut_frames++;
-
- gettimeofday(&g_ut_currenttime, NULL);
-
- double seconds = (g_ut_currenttime.tv_sec - g_ut_starttime.tv_sec);
- seconds += (g_ut_currenttime.tv_usec - g_ut_starttime.tv_usec) / 1000000.0;
-
- for (i = 0; i < view_count + 1; i++)
- {
- for (j = 0; j < gear_count; j++)
- {
- total_vertice_amount += vertice_amount[i][j];
- }
- }
-
- if (seconds >= per_sec)
- {
- double fps = g_ut_frames / seconds;
- sprintf (label_label, "%6.3f FPS, %d Vertices", fps / (view_count + 1), total_vertice_amount);
- gettimeofday (&g_ut_starttime, NULL);
- g_ut_frames = 0;
- elm_object_text_set(fps_label, label_label);
- }
-
-
-}
-
-#define PRINT_FPS(s) print_fps(__FILE__, s);
-
-//--------------------------------//
-// Gear Stuff....
-static GLfloat *
-vert(GLfloat *p, GLfloat x, GLfloat y, GLfloat z, GLfloat *n)
-{
- p[0] = x;
- p[1] = y;
- p[2] = z;
- p[3] = n[0];
- p[4] = n[1];
- p[5] = n[2];
-
- return p + 6;
-}
-
-/* Draw a gear wheel. You'll probably want to call this function when
- * building a display list since we do a lot of trig here.
- *
- * Input: inner_radius - radius of hole at center
- * outer_radius - radius at center of teeth
- * width - width of gear
- * teeth - number of teeth
- * tooth_depth - depth of tooth
- */
-static Gear *
-make_gear(GLData *gld, GLfloat inner_radius, GLfloat outer_radius, GLfloat width,
- GLint teeth, GLfloat tooth_depth)
-{
- GLint i;
- GLfloat r0, r1, r2;
- GLfloat da;
- GLfloat *v;
- Gear *gear;
- double s[5], c[5];
- GLfloat normal[3];
- const int tris_per_tooth = 20;
- Evas_GL_API *gl = gld->glapi;
-
- gear = (Gear*)malloc(sizeof(Gear));
- if (gear == NULL)
- return NULL;
-
- r0 = inner_radius;
- r1 = outer_radius - tooth_depth / 2.0;
- r2 = outer_radius + tooth_depth / 2.0;
-
- da = 2.0 * M_PI / teeth / 4.0;
-
- gear->vertices = calloc(teeth * tris_per_tooth * 3 * 6,
- sizeof *gear->vertices);
- s[4] = 0;
- c[4] = 1;
- v = gear->vertices;
- for (i = 0; i < teeth; i++)
- {
- s[0] = s[4];
- c[0] = c[4];
- s[1] = sin(i * 2.0 * M_PI / teeth + da);
- c[1] = cos(i * 2.0 * M_PI / teeth + da);
- s[2] = sin(i * 2.0 * M_PI / teeth + da * 2);
- c[2] = cos(i * 2.0 * M_PI / teeth + da * 2);
- s[3] = sin(i * 2.0 * M_PI / teeth + da * 3);
- c[3] = cos(i * 2.0 * M_PI / teeth + da * 3);
- s[4] = sin(i * 2.0 * M_PI / teeth + da * 4);
- c[4] = cos(i * 2.0 * M_PI / teeth + da * 4);
-
- normal[0] = 0.0;
- normal[1] = 0.0;
- normal[2] = 1.0;
-
- v = vert(v, r2 * c[1], r2 * s[1], width * 0.5, normal);
-
- v = vert(v, r2 * c[1], r2 * s[1], width * 0.5, normal);
- v = vert(v, r2 * c[2], r2 * s[2], width * 0.5, normal);
- v = vert(v, r1 * c[0], r1 * s[0], width * 0.5, normal);
- v = vert(v, r1 * c[3], r1 * s[3], width * 0.5, normal);
- v = vert(v, r0 * c[0], r0 * s[0], width * 0.5, normal);
- v = vert(v, r1 * c[4], r1 * s[4], width * 0.5, normal);
- v = vert(v, r0 * c[4], r0 * s[4], width * 0.5, normal);
-
- v = vert(v, r0 * c[4], r0 * s[4], width * 0.5, normal);
- v = vert(v, r0 * c[0], r0 * s[0], width * 0.5, normal);
- v = vert(v, r0 * c[4], r0 * s[4], -width * 0.5, normal);
- v = vert(v, r0 * c[0], r0 * s[0], -width * 0.5, normal);
-
- normal[0] = 0.0;
- normal[1] = 0.0;
- normal[2] = -1.0;
-
- v = vert(v, r0 * c[4], r0 * s[4], -width * 0.5, normal);
-
- v = vert(v, r0 * c[4], r0 * s[4], -width * 0.5, normal);
- v = vert(v, r1 * c[4], r1 * s[4], -width * 0.5, normal);
- v = vert(v, r0 * c[0], r0 * s[0], -width * 0.5, normal);
- v = vert(v, r1 * c[3], r1 * s[3], -width * 0.5, normal);
- v = vert(v, r1 * c[0], r1 * s[0], -width * 0.5, normal);
- v = vert(v, r2 * c[2], r2 * s[2], -width * 0.5, normal);
- v = vert(v, r2 * c[1], r2 * s[1], -width * 0.5, normal);
-
- v = vert(v, r1 * c[0], r1 * s[0], width * 0.5, normal);
-
- v = vert(v, r1 * c[0], r1 * s[0], width * 0.5, normal);
- v = vert(v, r1 * c[0], r1 * s[0], -width * 0.5, normal);
- v = vert(v, r2 * c[1], r2 * s[1], width * 0.5, normal);
- v = vert(v, r2 * c[1], r2 * s[1], -width * 0.5, normal);
- v = vert(v, r2 * c[2], r2 * s[2], width * 0.5, normal);
- v = vert(v, r2 * c[2], r2 * s[2], -width * 0.5, normal);
- v = vert(v, r1 * c[3], r1 * s[3], width * 0.5, normal);
- v = vert(v, r1 * c[3], r1 * s[3], -width * 0.5, normal);
- v = vert(v, r1 * c[4], r1 * s[4], width * 0.5, normal);
- v = vert(v, r1 * c[4], r1 * s[4], -width * 0.5, normal);
-
- v = vert(v, r1 * c[4], r1 * s[4], -width * 0.5, normal);
- }
-
- gear->count = (v - gear->vertices) / 6;
-
- gl->glGenBuffers(1, &gear->vbo);
- gl->glBindBuffer(GL_ARRAY_BUFFER, gear->vbo);
- gl->glBufferData(GL_ARRAY_BUFFER, gear->count * 6 * 4,
- gear->vertices, GL_STATIC_DRAW);
-
- return gear;
-}
-
-static void
-multiply(GLfloat *m, const GLfloat *n)
-{
- GLfloat tmp[16];
- const GLfloat *row, *column;
- div_t d;
- int i, j;
-
- for (i = 0; i < 16; i++)
- {
- tmp[i] = 0;
- d = div(i, 4);
- row = n + d.quot * 4;
- column = m + d.rem;
- for (j = 0; j < 4; j++)
- tmp[i] += row[j] * column[j * 4];
- }
- memcpy(m, &tmp, sizeof tmp);
-}
-
-static void
-rotate(GLfloat *m, GLfloat angle, GLfloat x, GLfloat y, GLfloat z)
-{
- double s, c;
-
- s = sin(angle);
- c = cos(angle);
- GLfloat r[16] =
- {
- x * x * (1 - c) + c, y * x * (1 - c) + z * s, x * z * (1 - c) - y * s, 0,
- x * y * (1 - c) - z * s, y * y * (1 - c) + c, y * z * (1 - c) + x * s, 0,
- x * z * (1 - c) + y * s, y * z * (1 - c) - x * s, z * z * (1 - c) + c, 0,
- 0, 0, 0, 1
- };
-
- multiply(m, r);
-}
-
-static void
-translate(GLfloat *m, GLfloat x, GLfloat y, GLfloat z)
-{
- GLfloat t[16] = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, x, y, z, 1 };
-
- multiply(m, t);
-}
-
-
-static void
-draw_gear(GLData *gld, Gear *gear, GLfloat *m,
- GLfloat x, GLfloat y, GLfloat z,GLfloat angle, const GLfloat *color)
-{
- Evas_GL_API *gl = gld->glapi;
- GLfloat tmp[16];
-
- memcpy(tmp, m, sizeof tmp);
- translate(tmp, x, y, z);
- rotate(tmp, 2 * M_PI * angle / 360.0, 0, 0, 1);
- gl->glUniformMatrix4fv(gld->proj_location, 1, GL_FALSE, tmp);
- gl->glUniform3fv(gld->light_location, 1, gld->light);
- gl->glUniform4fv(gld->color_location, 1, color);
-
- gl->glBindBuffer(GL_ARRAY_BUFFER, gear->vbo);
-
- gl->glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE,
- 6 * sizeof(GLfloat), NULL);
- gl->glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE,
- 6 * sizeof(GLfloat), (GLfloat *) 0 + 3);
- gl->glEnableVertexAttribArray(0);
- gl->glEnableVertexAttribArray(1);
- gl->glDrawArrays(GL_TRIANGLE_STRIP, 0, gear->count);
-}
-
-static void
-gears_draw(GLData *gld)
-{
-
- Evas_GL_API *gl = gld->glapi;
- int i;
-
- GLfloat m[16];
-
- gl->glClearColor(0.5, 0.1, 0.1, 1.0);
- gl->glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
- memcpy(m, gld->proj, sizeof m);
- rotate(m, 2 * M_PI * gld->view_rotx / 360.0, 1, 0, 0);
- rotate(m, 2 * M_PI * gld->view_roty / 360.0, 0, 1, 0);
- rotate(m, 2 * M_PI * gld->view_rotz / 360.0, 0, 0, 1);
-
- for (i = 0; i < gear_count; i++)
- draw_gear(gld, gld->gears[i], m, gld->gears_x_position[i], gld->gears_y_position[i], gld->gears_z_position[i], gld->angle, gld->gears_color[i]);
-}
-
-//-------------------------//
-
-static void render_gears(GLData *gld)
-{
- gears_draw(gld);
-
- gld->angle += 2.0;
-}
-
-/* new window size or exposure */
-static void
-gears_reshape(GLData *gld, int width, int height)
-{
- Evas_GL_API *gl = gld->glapi;
-
- GLfloat ar, m[16] = {
- 1.0, 0.0, 0.0, 0.0,
- 0.0, 1.0, 0.0, 0.0,
- 0.0, 0.0, 0.1, 0.0,
- 0.0, 0.0, 0.0, 1.0,
- };
-
- if (width < height)
- ar = width;
- else
- ar = height;
-
- m[0] = 0.1 * ar / width;
- m[5] = 0.1 * ar / height;
- memcpy(gld->proj, m, sizeof gld->proj);
- gl->glViewport(0, 0, (GLint) width, (GLint) height);
-}
-
-static const char vertex_shader[] =
- "uniform mat4 proj;\n"
- "attribute vec4 position;\n"
- "attribute vec4 normal;\n"
- "varying vec3 rotated_normal;\n"
- "varying vec3 rotated_position;\n"
- "vec4 tmp;\n"
- "void main()\n"
- "{\n"
- " gl_Position = proj * position;\n"
- " rotated_position = gl_Position.xyz;\n"
- " tmp = proj * normal;\n"
- " rotated_normal = tmp.xyz;\n"
- "}\n";
-
- static const char fragment_shader[] =
- "precision mediump float;\n"
- "uniform vec4 color;\n"
- "uniform vec3 light;\n"
- "varying vec3 rotated_normal;\n"
- "varying vec3 rotated_position;\n"
- "vec3 light_direction;\n"
- "vec4 white = vec4(0.5, 0.5, 0.5, 1.0);\n"
- "void main()\n"
- "{\n"
- " light_direction = normalize(light - rotated_position);\n"
- " gl_FragColor = color + white * dot(light_direction, rotated_normal);\n"
- "}\n";
-
-static void
-gears_init(GLData *gld)
-{
- Evas_GL_API *gl = gld->glapi;
- int i;
- GLfloat inner_radius;
- GLfloat outer_radius;
- GLfloat width;
- GLint teeth;
- GLfloat tooth_depth;
-
- const char *p;
- char msg[512];
-
- gl->glEnable(GL_CULL_FACE);
- gl->glEnable(GL_DEPTH_TEST);
-
- p = vertex_shader;
- gld->vtx_shader = gl->glCreateShader(GL_VERTEX_SHADER);
- gl->glShaderSource(gld->vtx_shader, 1, &p, NULL);
- gl->glCompileShader(gld->vtx_shader);
- gl->glGetShaderInfoLog(gld->vtx_shader, sizeof msg, NULL, msg);
-
- p = fragment_shader;
- gld->fgmt_shader = gl->glCreateShader(GL_FRAGMENT_SHADER);
- gl->glShaderSource(gld->fgmt_shader, 1, &p, NULL);
- gl->glCompileShader(gld->fgmt_shader);
- gl->glGetShaderInfoLog(gld->fgmt_shader, sizeof msg, NULL, msg);
-
- gld->program = gl->glCreateProgram();
- gl->glAttachShader(gld->program, gld->vtx_shader);
- gl->glAttachShader(gld->program, gld->fgmt_shader);
- gl->glBindAttribLocation(gld->program, 0, "position");
- gl->glBindAttribLocation(gld->program, 1, "normal");
-
- gl->glLinkProgram(gld->program);
- gl->glGetProgramInfoLog(gld->program, sizeof msg, NULL, msg);
-
- gl->glUseProgram(gld->program);
- gld->proj_location = gl->glGetUniformLocation(gld->program, "proj");
- gld->light_location = gl->glGetUniformLocation(gld->program, "light");
- gld->color_location = gl->glGetUniformLocation(gld->program, "color");
-
- /* make the gears */
- for (i = 0; i < 50; i++)
- {
- inner_radius = 1.0;
- outer_radius = 1.0;
- width = 0.5;
- teeth = 20;
- tooth_depth = 0.3;
- gld->gears_color[i][0] = 1.0;
- gld->gears_color[i][1] = 1.0;
- gld->gears_color[i][2] = 0;
- gld->gears_color[i][3] = 1.0;
-
- gld->gears_x_position[i] = (i * 3) / 10 - 6.0;
- gld->gears_y_position[i] = (i * 3) % 10 - 5.0;
- gld->gears_z_position[i] = 0;
- gld->gears[i] = make_gear(gld, inner_radius, inner_radius+outer_radius, width, teeth, tooth_depth);
- vertice_amount[view_count][i] = gld->gears[i]->count * 3;
- }
-
-}
-
-#if 0
-static void
-on_done(void *data, Evas_Object *obj, void *event_info)
-{
- evas_object_del((Evas_Object*) data);
-}
-#endif
-
-static void del_first_glview(Evas_Object *obj)
-{
- GLData *gld = evas_object_data_get(obj, "..gld");
- int i;
-
- view_count = 0;
- zoom_step = 4;
- gear_count = 1;
-
- if (!gld)
- {
- printf("Unable to get GLData. \n");
- return;
- }
- Evas_GL_API *gl = gld->glapi;
-
- gl->glDeleteShader(gld->vtx_shader);
- gl->glDeleteShader(gld->fgmt_shader);
- gl->glDeleteProgram(gld->program);
-
- for (i = 0; i < 50; i++)
- {
- gl->glDeleteBuffers(1, &(gld->gears[i]->vbo));
- free(gld->gears[i]->vertices);
- free(gld->gears[i]);
- }
-
- evas_object_data_del((Evas_Object*)obj, "..gld");
- free(gld);
-
- Ecore_Animator *ani = evas_object_data_get(obj, "..ani");
- ecore_animator_del(ani);
-}
-
-static void
-gldata_init(GLData *gld)
-{
- gld->initialized = 0;
- gld->mouse_down = 0;
-
- gld->view_rotx = -20.0;
- gld->view_roty = -30.0;
- gld->view_rotz = 0.0;
- gld->angle = 0.0;
-
- gld->light[0] = 1.0;
- gld->light[1] = 1.0;
- gld->light[2] = -5.0;
-}
-
-static void
-set_glview(Evas_Object *glview)
-{
- GLData *gld = NULL;
- Ecore_Animator *ani;
-
- if (!(gld = calloc(1, sizeof(GLData))))
- return;
-
- gldata_init(gld);
-
- evas_object_size_hint_align_set(glview, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(glview, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_glview_mode_set(glview, ELM_GLVIEW_ALPHA|ELM_GLVIEW_DEPTH);
- elm_glview_resize_policy_set(glview, ELM_GLVIEW_RESIZE_POLICY_RECREATE);
- elm_glview_render_policy_set(glview, ELM_GLVIEW_RENDER_POLICY_ON_DEMAND);
- elm_glview_init_func_set(glview, (Elm_GLView_Func_Cb)init_gl);
-
- if (view_count)
- elm_glview_del_func_set(glview, (Elm_GLView_Func_Cb)del_gl);
- else
- elm_glview_del_func_set(glview, (Elm_GLView_Func_Cb)del_first_glview);
-
- elm_glview_resize_func_set(glview, (Elm_GLView_Func_Cb)resize_gl);
- elm_glview_render_func_set(glview, (Elm_GLView_Func_Cb)draw_gl);
-
- elm_object_focus_set(glview, EINA_TRUE);
- evas_object_event_callback_add(glview, EVAS_CALLBACK_MOUSE_DOWN, mouse_down, glview);
- evas_object_event_callback_add(glview, EVAS_CALLBACK_MOUSE_UP, mouse_up, glview);
- evas_object_event_callback_add(glview, EVAS_CALLBACK_MOUSE_MOVE, mouse_move, glview);
-
- ani = ecore_animator_add(on_animate, glview);
- evas_object_data_set(glview, "..ani", ani);
- gld->glapi = elm_glview_gl_api_get(glview);
- evas_object_data_set(glview, "..gld", gld);
-
- evas_object_show(glview);
-
-}
-
-static void
-add_btn_click(void *data, Evas_Object *obj, void *event_info)
-{
- if (zoom_step == 4)
- {
- if (view_count != 3)
- {
- view_count++;
- glview[view_count] = elm_glview_add((Evas_Object *)data);
- set_glview(glview[view_count]);
- elm_box_pack_end(box, glview[view_count]);
- evas_object_show(glview[view_count]);
- }
- }
-}
-
-static void
-delete_btn_click(void *data, Evas_Object *obj, void *event_info)
-{
- if (zoom_step == 4)
- {
- if (view_count != 0)
- {
- elm_box_unpack(box, glview[view_count]);
- evas_object_del(glview[view_count]);
- view_count--;
-
- }
- }
-}
-
-static void
-gear_add_btn_click(void *data, Evas_Object *obj, void *event_info)
-{
- if (gear_count != 50)
- {
- gear_count++;
- }
-}
-
-static void
-gear_delete_btn_click(void *data, Evas_Object *obj, void *event_info)
-{
- if (gear_count != 1)
- {
- gear_count--;
- }
-}
-
-
-static void
-expand_btn_click(void *data, Evas_Object *obj, void *event_info)
-{
- int default_width = 100;
- int default_height = 130;
-
- if (!view_count )
- {
- if ( zoom_step != 4)
- {
- zoom_step++;
- if(zoom_step != 4)
- {
- evas_object_size_hint_align_set(glview[0], 0,0);
- evas_object_size_hint_min_set(glview[0], default_width*zoom_step, default_height*zoom_step);
- }
- else
- {
- evas_object_size_hint_min_set(glview[0], 0, 0);
- evas_object_size_hint_align_set(glview[0], EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(glview[0], EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- }
- }
- }
-}
-
-static void
-contract_btn_click(void *data, Evas_Object *obj, void *event_info)
-{
- int default_width = 100;
- int default_height = 130;
-
- if (!view_count )
- {
- if ( zoom_step != 1)
- {
- zoom_step--;
- evas_object_size_hint_align_set(glview[0], 0,0);
- evas_object_size_hint_min_set(glview[0], default_width * zoom_step, default_height * zoom_step);
-
- }
- }
-}
-
-
-
-void
-elmgears_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *win;
- Evas_Object *amount_btn_box;
- Evas_Object *gear_btn_box;
- Evas_Object *gear_add_btn, *gear_delete_btn;
- Evas_Object *add_btn, *delete_btn;
- Evas_Object *expand_btn, *contract_btn;
- Evas_Object *scale_btn_box;
-
- struct appdata *ad = (struct appdata *)data;
- if (ad == NULL) return;
-
- win = ad->nf;
-
- //modified
- box = elm_box_add(win);
- evas_object_move(box, 0, 10);
- evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_min_set(box, 480, 600);
- evas_object_show(box);
-
- /* add an amount_btn_box*/
- amount_btn_box = elm_box_add(win);
- elm_box_horizontal_set(amount_btn_box, EINA_TRUE);
- evas_object_size_hint_weight_set(amount_btn_box, 0.0, 0.0);
- elm_box_pack_end(box, amount_btn_box);
- evas_object_show(amount_btn_box);
-
- /* add an ok button */
- add_btn = elm_button_add(win);
- elm_object_text_set(add_btn, "GLView Add");
- evas_object_size_hint_weight_set(add_btn, 0.0, 0.0);
- evas_object_size_hint_min_set(add_btn, 350, 80);
- elm_box_pack_end(amount_btn_box, add_btn);
- evas_object_show(add_btn);
- evas_object_smart_callback_add(add_btn, "clicked", add_btn_click, ad->win_main);
-
- /* add a delete button */
- delete_btn = elm_button_add(win);
- elm_object_text_set(delete_btn, "GLView Delete");
- evas_object_size_hint_weight_set(delete_btn, 0.0, 0.0);
- evas_object_size_hint_min_set(delete_btn, 350, 80);
- elm_box_pack_end(amount_btn_box, delete_btn);
- evas_object_show(delete_btn);
- evas_object_smart_callback_add(delete_btn, "clicked", delete_btn_click, ad->win_main);
-
- /* add a scale_btn_box*/
- scale_btn_box = elm_box_add(win);
- elm_box_horizontal_set(scale_btn_box, EINA_TRUE);
- evas_object_size_hint_weight_set(scale_btn_box, 0.0, 0.0);
- elm_box_pack_end(box, scale_btn_box);
- evas_object_show(scale_btn_box);
-
- /* add a contract button */
- contract_btn = elm_button_add(win);
- elm_object_text_set(contract_btn, "GLView Contract");
- evas_object_size_hint_weight_set(contract_btn, 0.0, 0.0);
- evas_object_size_hint_min_set(contract_btn, 350, 80);
- elm_box_pack_end(scale_btn_box, contract_btn);
- evas_object_show(contract_btn);
- evas_object_smart_callback_add(contract_btn, "clicked", contract_btn_click, NULL);
-
- /* add an expand button */
- expand_btn = elm_button_add(win);
- elm_object_text_set(expand_btn, "GLView Expand");
- evas_object_size_hint_weight_set(expand_btn, 0.0, 0.0);
- evas_object_size_hint_min_set(expand_btn, 350, 80);
- elm_box_pack_end(scale_btn_box, expand_btn);
- evas_object_show(expand_btn);
- evas_object_smart_callback_add(expand_btn, "clicked", expand_btn_click, NULL);
-
- /* add an amount_btn_box*/
- gear_btn_box = elm_box_add(win);
- elm_box_horizontal_set(gear_btn_box, EINA_TRUE);
- evas_object_size_hint_weight_set(gear_btn_box, 0.0, 0.0);
- elm_box_pack_end(box, gear_btn_box);
- evas_object_show(gear_btn_box);
-
- /* add an ok button */
- gear_add_btn = elm_button_add(win);
- elm_object_text_set(gear_add_btn, "Gear Add");
- evas_object_size_hint_weight_set(gear_add_btn, 0.0, 0.0);
- evas_object_size_hint_min_set(gear_add_btn, 350, 80);
- elm_box_pack_end(gear_btn_box, gear_add_btn);
- evas_object_show(gear_add_btn);
- evas_object_smart_callback_add(gear_add_btn, "clicked", gear_add_btn_click, NULL);
-
- /* add a delete button */
- gear_delete_btn = elm_button_add(win);
- elm_object_text_set(gear_delete_btn, "Gear Delete");
- evas_object_size_hint_weight_set(gear_delete_btn, 0.0, 0.0);
- evas_object_size_hint_min_set(gear_delete_btn, 350, 80);
- elm_box_pack_end(gear_btn_box, gear_delete_btn);
- evas_object_show(gear_delete_btn);
- evas_object_smart_callback_add(gear_delete_btn, "clicked", gear_delete_btn_click, NULL);
-
- /* add an fps label*/
- fps_label = elm_label_add(win);
- elm_object_text_set(fps_label, "fps");
- evas_object_size_hint_weight_set(fps_label, 0.0, 0.0);
- evas_object_size_hint_min_set(fps_label, 480, 80);
- elm_box_pack_end(box, fps_label);
- evas_object_show(fps_label);
-
- glview[0] = elm_glview_add(ad->win_main);
- set_glview(glview[0]);
- elm_box_pack_end(box, glview[0]);
-
- elm_naviframe_item_push(ad->nf, _("Gears"), NULL, NULL, box, NULL);
-
- evas_object_show(win);
-}
-
-static Eina_Bool on_animate(void *data)
-{
- elm_glview_changed_set((Evas_Object*)data);
-
- PRINT_FPS(1);
-
- return EINA_TRUE;
-}
-
-static void init_gl(Evas_Object *obj)
-{
- GLData *gld = evas_object_data_get(obj, "..gld");
- if (!gld) return;
-
- //printf("Init Function Called...\n");
-
- gears_init(gld);
-
- //resize_gl(obj);
-}
-
-static void del_gl(Evas_Object *obj)
-{
- GLData *gld = evas_object_data_get(obj, "..gld");
- int i;
-
- if (!gld)
- {
- printf("Unable to get GLData. \n");
- return;
- }
- Evas_GL_API *gl = gld->glapi;
-
- //printf("Delete Function Called...\n");
-
- gl->glDeleteShader(gld->vtx_shader);
- gl->glDeleteShader(gld->fgmt_shader);
- gl->glDeleteProgram(gld->program);
-
- for (i = 0; i < 50; i++)
- {
- gl->glDeleteBuffers(1, &(gld->gears[i]->vbo));
- free(gld->gears[i]->vertices);
- free(gld->gears[i]);
- }
-
- evas_object_data_del((Evas_Object*)obj, "..gld");
- free(gld);
-
- Ecore_Animator *ani = evas_object_data_get(obj, "..ani");
- ecore_animator_del(ani);
-
-}
-
-static void resize_gl(Evas_Object *obj)
-{
- GLData *gld = evas_object_data_get(obj, "..gld");
- int w, h;
-
- if (!gld) return;
-
- // get the image size in case it changed with evas_object_image_size_set()
- elm_glview_size_get(obj, &w, &h);
-
- // GL Viewport stuff. you can avoid doing this if viewport is all the
- // same as last frame if you want
- gears_reshape(gld, w, h);
-}
-
-
-static void draw_gl(Evas_Object *obj)
-{
- GLData *gld = evas_object_data_get(obj, "..gld");
- if (!gld) return;
- Evas_GL_API *gl = gld->glapi;
-
- render_gears(gld);
- gl->glFinish();
-}
-
-#if 0
-void key_down(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- Evas_Event_Key_Down *ev;
- ev = (Evas_Event_Key_Down *)event_info;
- GLData *gld = evas_object_data_get(obj, "..gld");
-
- if (strcmp(ev->keyname, "Left") == 0)
- {
- gld->view_roty += 5.0;
- return;
- }
-
- if (strcmp(ev->keyname, "Right") == 0)
- {
- gld->view_roty -= 5.0;
- return;
- }
-
- if (strcmp(ev->keyname, "Up") == 0)
- {
- gld->view_rotx += 5.0;
- return;
- }
-
- if (strcmp(ev->keyname, "Down") == 0)
- {
- gld->view_rotx -= 5.0;
- return;
- }
- if ((strcmp(ev->keyname, "Escape") == 0) ||
- (strcmp(ev->keyname, "Return") == 0))
- {
- on_done(data, obj, event_info);
- return;
- }
-}
-#endif
-
-void mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- GLData *gld = evas_object_data_get(obj, "..gld");
- gld->mouse_down = 1;
-}
-
-void mouse_move(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- Evas_Event_Mouse_Move *ev;
- ev = (Evas_Event_Mouse_Move *)event_info;
- GLData *gld = evas_object_data_get(obj, "..gld");
- float dx = 0, dy = 0;
-
- if (gld->mouse_down)
- {
- dx = ev->cur.canvas.x - ev->prev.canvas.x;
- dy = ev->cur.canvas.y - ev->prev.canvas.y;
-
- gld->view_roty += -1.0 * dx;
- gld->view_rotx += -1.0 * dy;
- }
-
-}
-
-void mouse_up(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- GLData *gld = evas_object_data_get(obj, "..gld");
- gld->mouse_down = 0;
-}
-
-/* vim:set ts=8 sw=3 sts=3 expandtab cino=>5n-2f0^-2{2(0W1st0 :*/
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "entry.h"
-#include <Ecore_X.h>
-
-
-//for change text size
-static Evas_Object *tsobj;
-static Evas_Object *txtobj1;
-static Evas_Object *txtobj2;
-//end for change text size
-
-static void
-_input_panel_event_callback(void *data, Ecore_IMF_Context *imf_context,
- int value)
-{
- int x, y, w, h;
- switch (value) {
- case ECORE_IMF_INPUT_PANEL_STATE_SHOW:
- // ISE state has changed to ISE_STATE_SHOW status
- // Get ISE position of current active ISE
- ecore_imf_context_input_panel_geometry_get(imf_context, &x, &y,
- &w, &h);
- printf("keypad is shown\n");
- printf
- ("The coordination of input panel. x : %d, y : %d, w : %d, h : %d\n",
- x, y, w, h);
- break;
- case ECORE_IMF_INPUT_PANEL_STATE_HIDE:
- // ISE state has changed to ISE_STATE_HIDE status
- printf("keypad is hided\n");
- break;
- }
-}
-
-static void _sample_press_cb(void *data, Evas_Object *obj, void *event_info)
-{
- ;
-}
-
-static void _show_title_toolbar(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *navi_item = elm_naviframe_top_item_get(data);
- elm_object_item_signal_emit(navi_item, "elm,state,sip,shown", "");
-}
-
-static void _hide_title_toolbar(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *navi_item = elm_naviframe_top_item_get(data);
- elm_object_item_signal_emit(navi_item, "elm,state,sip,hidden", "");
-}
-
-/*
-static void callback(void *data, Evas_Object *obj, void *event_info)
-{
- printf("hurray I am called\n");
-}
-*/
-Evas_Object *to_del;
-static void response_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (to_del) {
- evas_object_del(to_del);
- to_del = NULL;
- }
- evas_object_del(obj);
-}
-
-void maxlength_reached(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- struct appdata *ad;
- if (to_del) return;
-
- ad = (struct appdata *)data;
-
- popup = elm_popup_add(ad->win_main);
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- elm_object_text_set(popup, "maximum length reached");
- elm_popup_timeout_set(popup, 3.0);
- evas_object_smart_callback_add(popup, "block,clicked", response_cb,
- NULL);
- evas_object_smart_callback_add(popup, "timeout", response_cb, NULL);
- evas_object_show(popup);
- to_del = popup;
-}
-
-static void password_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad = (struct appdata *)data;
- Evas_Object *en;
- Evas_Object *lay;
-
- if (ad == NULL) return;
-
- lay = elm_layout_add(ad->nf);
- evas_object_size_hint_weight_set(lay, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- elm_layout_file_set(lay, ELM_DEMO_EDJ, "entry_test");
- elm_naviframe_item_push(ad->nf, _("password"), NULL, NULL,lay, NULL);
-
- en = elm_entry_add(ad->nf);
- ea_entry_selection_back_event_allow_set(en, EINA_TRUE);
- evas_object_smart_callback_add(en, "changed", _sample_press_cb, NULL);
- elm_entry_single_line_set(en, EINA_TRUE);
- elm_entry_password_set(en, EINA_TRUE);
- elm_object_part_content_set(lay, "entry_part", en);
- elm_entry_entry_set(en, "pass");
- elm_entry_cursor_end_set(en);
- Ecore_IMF_Context *imf_context = elm_entry_imf_context_get(en);
- ecore_imf_context_input_panel_event_callback_add(imf_context,
- ECORE_IMF_INPUT_PANEL_STATE_EVENT,
- _input_panel_event_callback,
- NULL);
-}
-
-static void entry_multiline(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad = (struct appdata *)data;
- Evas_Object *en;
- Evas_Object *lay;
- static Elm_Entry_Filter_Limit_Size limit_filter_data;
-
- if (ad == NULL) return;
-
- lay = elm_layout_add(ad->nf);
- evas_object_size_hint_weight_set(lay, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- elm_layout_file_set(lay, ELM_DEMO_EDJ, "entry_test_multi");
- elm_naviframe_item_push(ad->nf, _("entry_multiline"), NULL, NULL, lay, NULL);
-
- en = elm_entry_add(ad->nf);
- ea_entry_selection_back_event_allow_set(en, EINA_TRUE);
- Ecore_IMF_Context *imf_context = elm_entry_imf_context_get(en);
- ecore_imf_context_input_panel_event_callback_add(imf_context,
- ECORE_IMF_INPUT_PANEL_STATE_EVENT,
- _input_panel_event_callback,
- NULL);
-
- evas_object_smart_callback_add(en, "changed", _sample_press_cb, NULL);
- elm_entry_cursor_end_set(en);
- limit_filter_data.max_byte_count = 0;
- limit_filter_data.max_char_count = 200;
- elm_entry_markup_filter_append(en, elm_entry_filter_limit_size,
- &limit_filter_data);
- elm_entry_entry_set(en,
- "This is a Multiline entry, you can input many lines");
- elm_entry_cursor_end_set(en);
- evas_object_smart_callback_add(en, "maxlength,reached",
- maxlength_reached, ad);
- elm_object_part_content_set(lay, "entry_part", en);
-
- /*
- * Sample Code for custom menu using elm_entry_context_menu_item_add()
- elm_entry_context_menu_item_add(en, "Menu",NULL, ELM_ICON_NONE, callback, NULL);
- */
-}
-
-static Evas_Object *_create_scroller(Evas_Object *parent)
-{
- Evas_Object *scroller = elm_scroller_add(parent);
- elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE);
- elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF,
- ELM_SCROLLER_POLICY_AUTO);
- evas_object_show(scroller);
-
- return scroller;
-}
-
-static void entry_copy_paste(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad = (struct appdata *)data;
- Evas_Object *en;
- Evas_Object *lay;
- Evas_Object *scroller_main;
-
- if (ad == NULL) return;
-
- scroller_main = _create_scroller(ad->nf);
- elm_naviframe_item_push(ad->nf, _("Copy & Paste"), NULL, NULL, scroller_main, NULL);
-
- lay = elm_layout_add(ad->nf);
- evas_object_size_hint_weight_set(lay, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- elm_layout_file_set(lay, ELM_DEMO_EDJ, "entry_test");
- elm_object_content_set(scroller_main, lay);
-
- en = elm_entry_add(ad->nf);
- ea_entry_selection_back_event_allow_set(en, EINA_TRUE);
- Ecore_IMF_Context *imf_context = elm_entry_imf_context_get(en);
- ecore_imf_context_input_panel_event_callback_add(imf_context,
- ECORE_IMF_INPUT_PANEL_STATE_EVENT,
- _input_panel_event_callback,
- NULL);
-
- evas_object_smart_callback_add(en, "changed", _sample_press_cb, NULL);
- elm_entry_cursor_end_set(en);
-
- elm_entry_entry_set(en,
- "<b>What is Enlightenment?</b><br><br>"
- "Enlightenment is not just a window manager for Linux/X11 and others, but also a whole suite of libraries to help you create beautiful user interfaces with much less work than doing it the old fashioned way and fighting with traditional toolkits, not to mention a traditional window manager. It covers uses from small mobile devices like phones all the way to powerful multi-core desktops (which are the primary development environment)."
- "<br><br>"
- "<b>Enlightenment Foundation Libraries</b><br><br>"
- "These provide both a semi-traditional toolkit set in Elementary as well as the object canvas (Evas) and powerful abstracted objects (Edje) that you can combine, mix and match, even layer on top of each other with alpha channels and events in-tact. It has 3D transformations for all objects and more."
- "A simple overview of the EFL (Enlightenment Foundation Libraries) stack is here. There is more to this, but this gives a quick overview of where it fits in."
- "<br><br>"
- "<b>Enlightenment</b><br><br>"
- "Enlightenment is the flagship and original name bearer for this project. Once it was just a humble window manager for X11 that wanted to do things differently. To do them better, but it has expanded. This can be confusing so when we refer to Enlightenment, we may mean the project as a whole or just the window manager proper. The libraries behind Enlightenment are referred to as EFL collectively, each with a specific name and purpose.");
-
- elm_entry_cursor_end_set(en);
- elm_object_part_content_set(lay, "entry_part", en);
-}
-
-static Evas_Object *_create_autocapital_entry(Evas_Object *parent, const char *label, Elm_Autocapital_Type autocap)
-{
- Evas_Object *ly;
- Evas_Object *en;
- Ecore_IMF_Context *imf_context;
-
- ly = elm_layout_add(parent);
- elm_layout_theme_set(ly, "layout", "editfield", "title");
- evas_object_size_hint_weight_set(ly, EVAS_HINT_EXPAND, 0);
- evas_object_size_hint_align_set(ly, EVAS_HINT_FILL, 0);
-
- en = elm_entry_add(parent);
- ea_entry_selection_back_event_allow_set(en, EINA_TRUE);
- elm_object_part_content_set(ly, "elm.swallow.content", en);
-
- elm_object_part_text_set(ly, "elm.text", label);
- elm_entry_autocapital_type_set (en, autocap);
- evas_object_show(ly);
-
- imf_context = elm_entry_imf_context_get(en);
- ecore_imf_context_input_panel_event_callback_add(imf_context,
- ECORE_IMF_INPUT_PANEL_STATE_EVENT,
- _input_panel_event_callback,
- NULL);
-
- return ly;
-}
-
-static void entry_autocapital(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad = (struct appdata *)data;
- Evas_Object *en;
- Evas_Object *scroller_main;
- Evas_Object *bx;
-
- if (ad == NULL) return;
-
- scroller_main = _create_scroller(ad->nf);
- elm_naviframe_item_push(ad->nf, _("Autocapital"), NULL, NULL, scroller_main, NULL);
-
- bx = elm_box_add(ad->nf);
- evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, 0);
- evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, 0);
-
- en = _create_autocapital_entry(bx, "None", ELM_AUTOCAPITAL_TYPE_NONE);
- elm_box_pack_end(bx, en);
-
- en = _create_autocapital_entry(bx, "Word", ELM_AUTOCAPITAL_TYPE_WORD);
- elm_box_pack_end(bx, en);
-
- en = _create_autocapital_entry(bx, "Sentence", ELM_AUTOCAPITAL_TYPE_SENTENCE);
- elm_box_pack_end(bx, en);
-
- en = _create_autocapital_entry(bx, "Allcharacter", ELM_AUTOCAPITAL_TYPE_ALLCHARACTER);
- elm_box_pack_end(bx, en);
-
- elm_object_content_set(scroller_main, bx);
-}
-
-static void _entry_enter_click(void *data, Evas_Object *obj, void *event_info)
-{
- printf("enter key clicked!!\n");
-}
-
-static void single_line_scrolled_entry(void *data, Evas_Object *obj,
- void *event_info)
-{
- struct appdata *ad = (struct appdata *)data;
- Evas_Object *en;
- Evas_Object *lay;
- static Elm_Entry_Filter_Limit_Size limit_filter_data;
-
- if (ad == NULL) return;
-
- lay = elm_layout_add(ad->nf);
- evas_object_size_hint_weight_set(lay, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- elm_layout_file_set(lay, ELM_DEMO_EDJ, "entry_test");
-
- elm_naviframe_item_push(ad->nf, _("Scrolled_entry"), NULL, NULL, lay, NULL);
-
- en = elm_entry_add(ad->nf);
- ea_entry_selection_back_event_allow_set(en, EINA_TRUE);
- elm_entry_scrollable_set(en, EINA_TRUE);
- elm_entry_select_all(en);
- elm_scroller_policy_set(en, ELM_SCROLLER_POLICY_OFF,
- ELM_SCROLLER_POLICY_AUTO);
- evas_object_smart_callback_add(en, "maxlength,reached",
- maxlength_reached, ad);
-
- Ecore_IMF_Context *imf_context = elm_entry_imf_context_get(en);
- ecore_imf_context_input_panel_event_callback_add(imf_context,
- ECORE_IMF_INPUT_PANEL_STATE_EVENT,
- _input_panel_event_callback,
- NULL);
-
- elm_entry_single_line_set(en, EINA_TRUE);
- limit_filter_data.max_char_count = 0;
- limit_filter_data.max_byte_count = 50;
- elm_entry_markup_filter_append(en, elm_entry_filter_limit_size,
- &limit_filter_data);
- elm_entry_entry_set(en, "Text");
- elm_entry_cursor_end_set(en);
- evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(en, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(en);
-
- evas_object_smart_callback_add(en, "activated", _entry_enter_click,
- NULL);
-
- elm_object_part_content_set(lay, "entry_part", en);
-}
-
-static void _list_click(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *it = (Elm_Object_Item *) elm_list_selected_item_get(obj);
-
- if (it == NULL)
- {
- fprintf((LOG_PRI(LOG_ERR) == LOG_ERR?stderr:stdout), "List item is NULL.\n");
- return;
- }
-
- elm_list_item_selected_set(it, EINA_FALSE);
-}
-
-
-static void _btn_change_text_clicked_cb(void *data, Evas_Object *obj, void *event_info)
-{
- printf("%s %d: Get in\n", __func__, __LINE__);
- const char *txt;
- txt = elm_entry_entry_get(tsobj);
- char style[256];
- sprintf(style, "DEFAULT='font_size=%s'", txt);
- //text object 1
- elm_entry_text_style_user_pop(txtobj1);
- elm_entry_text_style_user_push(txtobj1, style);
-
- //text object 2
- elm_entry_text_style_user_pop(txtobj2);
- elm_entry_text_style_user_push(txtobj2, style);
-
-}
-
-static void _entry_text_changed_cb(void *data, Evas_Object *obj, void *event_info)
-{
- printf("%s %d: Get in\n", __func__, __LINE__);
- const char *t1;
- t1 = elm_entry_entry_get(txtobj1);
- elm_entry_entry_set(txtobj2, t1);
-}
-
-static void entry_change_text_size(void *data, Evas_Object *obj,
- void *event_info)
-{
- struct appdata *ad = (struct appdata *)data;
- Evas_Object *layout;
- Evas_Object *lbl;
- Evas_Object *ts;
- Evas_Object *btn;
- Evas_Object *en1, *en2;
-
- if (ad == NULL) return;
-
- //layout
- layout = elm_layout_add(ad->nf);
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "entry_test_change_text_size");
- evas_object_show(layout);
-
- elm_naviframe_item_push(ad->nf, _("Change Text Size"), NULL, NULL, layout, NULL);
-
- //label
- lbl = elm_label_add(ad->nf);
- elm_object_text_set(lbl, "<font_size=40><align=left>Font size: </align></font_size>");
- elm_object_part_content_set(layout, "label", lbl);
-
- //text size
- ts = elm_entry_add(ad->nf);
- ea_entry_selection_back_event_allow_set(ts, EINA_TRUE);
- elm_entry_scrollable_set(ts, EINA_FALSE);
- elm_entry_single_line_set(ts, EINA_TRUE);
- elm_entry_cursor_end_set(ts);
- evas_object_size_hint_weight_set(ts, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(ts, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_entry_entry_set(ts, "40");
- evas_object_show(ts);
- elm_object_part_content_set(layout, "entry_size", ts);
- tsobj = ts;
-
- //button
- btn = elm_button_add(ad->nf);
- elm_object_text_set(btn, "Change");
- evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_smart_callback_add(btn, "clicked", _btn_change_text_clicked_cb, NULL);
- evas_object_show(btn);
- elm_object_part_content_set(layout, "button", btn);
-
- //input entry
- en1 = elm_entry_add(ad->nf);
- ea_entry_selection_back_event_allow_set(en1, EINA_TRUE);
- evas_object_size_hint_weight_set(en1, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(en1, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_entry_scrollable_set(en1, EINA_TRUE);
- elm_entry_select_all(en1);
- elm_entry_single_line_set(en1, EINA_FALSE);
- elm_scroller_policy_set(en1, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO);
-
- Ecore_IMF_Context *imf_context = elm_entry_imf_context_get(en1);
- ecore_imf_context_input_panel_event_callback_add(imf_context,
- ECORE_IMF_INPUT_PANEL_STATE_EVENT,
- _input_panel_event_callback,
- NULL);
-
- elm_entry_entry_set(en1, "Text");
- elm_entry_cursor_end_set(en1);
- evas_object_show(en1);
- elm_object_part_content_set(layout, "entry_part1", en1);
- txtobj1 = en1;
- evas_object_smart_callback_add(txtobj1, "changed", _entry_text_changed_cb, NULL);
- evas_object_smart_callback_add(txtobj1, "preedit,changed", _entry_text_changed_cb, NULL); //for pre-edit
- //evas_object_smart_callback_add(txtobj1, "cursor,changed", _entry_text_changed_cb, NULL); //can be used
-
- //view entry
- en2 = elm_entry_add(ad->nf);
- ea_entry_selection_back_event_allow_set(en2, EINA_TRUE);
- evas_object_size_hint_weight_set(en2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(en2, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_entry_scrollable_set(en2, EINA_TRUE);
- elm_entry_select_all(en2);
- elm_entry_single_line_set(en2, EINA_FALSE);
- elm_scroller_policy_set(en2, ELM_SCROLLER_POLICY_OFF,
- ELM_SCROLLER_POLICY_AUTO);
- elm_entry_entry_set(en2, "Text");
- evas_object_show(en2);
- elm_object_part_content_set(layout, "entry_part2", en2);
- txtobj2 = en2;
-
- //apply text style
- elm_entry_text_style_user_push(txtobj1, "DEFAULT='font_size=40'");
- elm_entry_text_style_user_push(txtobj2, "DEFAULT='font_size=40'");
-}
-
-static Eina_Bool _pop_cb(void *data, Elm_Object_Item *it)
-{
- evas_object_smart_callback_del(data, "virtualkeypad,state,on", _show_title_toolbar);
- evas_object_smart_callback_del(data, "virtualkeypad,state,off", _hide_title_toolbar);
-
- return EINA_TRUE;
-}
-
-static void light_theme_entry(void *data, Evas_Object *obj,
- void *event_info)
-{
- struct appdata *ad = (struct appdata *)data;
- Evas_Object *en;
- Evas_Object *lay;
-
- if (ad == NULL) return;
-
- lay = elm_layout_add(ad->nf);
- evas_object_size_hint_weight_set(lay, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- elm_layout_file_set(lay, ELM_DEMO_EDJ, "entry_test");
-
- elm_naviframe_item_push(ad->nf, _("Entry with light theme"), NULL, NULL, lay, NULL);
-
- en = elm_entry_add(ad->nf);
- ea_entry_selection_back_event_allow_set(en, EINA_TRUE);
- elm_entry_scrollable_set(en, EINA_TRUE);
- elm_entry_select_all(en);
- elm_scroller_policy_set(en, ELM_SCROLLER_POLICY_OFF,
- ELM_SCROLLER_POLICY_AUTO);
-
- Ecore_IMF_Context *imf_context = elm_entry_imf_context_get(en);
- ecore_imf_context_input_panel_event_callback_add(imf_context,
- ECORE_IMF_INPUT_PANEL_STATE_EVENT,
- _input_panel_event_callback,
- NULL);
-
- elm_entry_single_line_set(en, EINA_TRUE);
- elm_entry_entry_set(en, "This is an example of entry with ligth theme");
- elm_entry_cursor_end_set(en);
- evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(en, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- //you can also customize entry further
- //every customized function for entry should be called after theme set function
- elm_entry_text_style_user_push(en, "DEFAULT='color=#0000FF'");
-
- evas_object_show(en);
-
- evas_object_smart_callback_add(en, "activated", _entry_enter_click,
- NULL);
-
- elm_object_part_content_set(lay, "entry_part", en);
-}
-
-static void _check_translate_changed_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *en = (Evas_Object *)data;
- Eina_Bool state = elm_check_state_get(obj);
- if (en)
- {
- if (state)
- {
- elm_entry_context_menu_item_add(en, "Translate", NULL, ELM_ICON_STANDARD, NULL, NULL);
- }
- else
- {
- elm_entry_context_menu_clear(en);
- }
- }
-}
-
-static void entry_translate_item(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad = (struct appdata *)data;
- Evas_Object *en, *check;
- Evas_Object *lay;
-
- if (ad == NULL) return;
-
- lay = elm_layout_add(ad->nf);
- evas_object_size_hint_weight_set(lay, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_layout_file_set(lay, ELM_DEMO_EDJ, "entry_test_translate");
-
- elm_naviframe_item_push(ad->nf, _("Enable/Disable Translate item"), NULL, NULL, lay, NULL);
-
- en = elm_entry_add(ad->nf);
- ea_entry_selection_back_event_allow_set(en, EINA_TRUE);
- elm_entry_scrollable_set(en, EINA_TRUE);
- elm_scroller_policy_set(en, ELM_SCROLLER_POLICY_AUTO,
- ELM_SCROLLER_POLICY_AUTO);
-
- Ecore_IMF_Context *imf_context = elm_entry_imf_context_get(en);
- ecore_imf_context_input_panel_event_callback_add(imf_context,
- ECORE_IMF_INPUT_PANEL_STATE_EVENT,
- _input_panel_event_callback,
- NULL);
-
- elm_entry_single_line_set(en, EINA_FALSE);
- elm_entry_entry_set(en, "This is an example of entry. You can enable/disable translate item in copy/paste popup.");
- evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(en, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(en);
- elm_object_part_content_set(lay, "entry_part", en);
-
- check = elm_check_add(ad->nf);
- elm_check_state_set(check, EINA_TRUE);
- elm_object_text_set(check, "Enable Translate item");
- evas_object_smart_callback_add(check, "changed", _check_translate_changed_cb, en);
- elm_object_part_content_set(lay, "check_part", check);
-}
-
-/* UI function to create entries */
-void entry_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad = (struct appdata *)data;
- Evas_Object *list;
- Elm_Object_Item *navi_it;
-
- list = elm_list_add(ad->nf);
- elm_list_mode_set(list, ELM_LIST_COMPRESS);
- evas_object_smart_callback_add(list, "selected", _list_click, NULL);
-
- elm_list_item_append(list, "Password", NULL, NULL, password_cb, ad);
- elm_list_item_append(list, "Scrolled_entry", NULL, NULL,
- single_line_scrolled_entry, ad);
- elm_list_item_append(list, "Entry_multiline", NULL, NULL,
- entry_multiline, ad);
- elm_list_item_append(list, "Copy & Paste", NULL, NULL,
- entry_copy_paste, ad);
- elm_list_item_append(list, "Autocapitalization", NULL, NULL,
- entry_autocapital, ad);
- elm_list_item_append(list, "Change Text Size", NULL, NULL,
- entry_change_text_size, ad);
- elm_list_item_append(list, "Entry with light theme", NULL, NULL,
- light_theme_entry, ad);
- elm_list_item_append(list, "Enable/Disable Translate item", NULL, NULL,
- entry_translate_item, ad);
- elm_list_go(list);
- navi_it = elm_naviframe_item_push(ad->nf, _("Entry"), NULL, NULL, list, NULL);
- elm_naviframe_item_pop_cb_set(navi_it, _pop_cb, ad->conform);
- evas_object_smart_callback_add(ad->conform, "virtualkeypad,state,on", _show_title_toolbar, ad->nf);
- evas_object_smart_callback_add(ad->conform, "virtualkeypad,state,off", _hide_title_toolbar, ad->nf);
-}
+++ /dev/null
-#include <Elementary.h>
-#include "fake-tizen.h"
-
-
-void appcore_set_event_callback(int event, FakeCb fake_cb, void *data)
-{
- return;
-}
-
-int appcore_measure_time()
-{
- return 0;
-}
-
-void appcore_measure_start()
-{
- return;
-}
-
-int appcore_measure_time_from(const char *str)
-{
- return 0;
-}
-
-void appcore_set_rotation_cb(int (*_rotation_cb)(enum appcore_rm mode, void *data), void *data)
-{
- return;
-}
-
-void appcore_set_i18n(const char *pkg, const char* locale)
-{
- return;
-}
-
-int appcore_efl_main(const char *pkg, int *argc, char **argv, struct appcore_ops *ops)
-{
- elm_init(*argc, argv);
- ops->create(ops->data);
- elm_run();
- return 0;
-}
-
-char *vconf_get_str(const char *in_key)
-{
- return NULL;
-}
-
-void vconf_get_int(const char *key, int *value)
-{
- *value = 1;
-}
-
-int vconf_ignore_key_changed(int size, void (*func)(void))
-{
- return -1;
-}
-
-int vconf_notify_key_changed(int size, void (*func)(void))
-{
- return -1;
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "fastscroll.h"
-#include <locale.h>
-
-/*********************************************************
- Fastscroll
- ********************************************************/
-
-static Evas_Object* _create_scroller(Evas_Object* parent)
-{
- Evas_Object* scroller = elm_scroller_add(parent);
- elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE);
- elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO);
- evas_object_show(scroller);
-
- return scroller;
-}
-
-static void _index_selected(void *data, Evas_Object *obj, void *event_info)
-{
- elm_index_item_selected_set(event_info, EINA_FALSE);
-}
-
-static void
-_index_changed_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
-{
- // this is called on every change, no matter how often
-// elm_genlist_item_bring_in(elm_object_item_data_get(event_info),
-// ELM_GENLIST_ITEM_SCROLLTO_TOP);
-}
-
-static void _index_level_up_cb(void *data , Evas_Object *obj , void *event_info)
-{
- const Elm_Object_Item *it, *new_item;
- const Elm_Object_Item *index_obj;
- char buf[27], index1_letter, *index0_letter;
- int i = 0, j = 0, k, index, flag = 0;
- int level = elm_index_item_level_get(obj);
-
- index_obj = elm_index_selected_item_get(obj, level - 1);
- index0_letter =elm_index_item_letter_get(index_obj);
- for(i = 0; i < 5; i++)
- {
- char buf[32];
- snprintf(buf, sizeof(buf), "%c", index0_letter[0] + i + 1);
- if(buf[0] >90 || buf[0] < 65)
- {
- j = 0;
- k = 65;
- while(i <5)
- {
- snprintf(buf, sizeof(buf), "%c", k + j);
- elm_index_item_append(obj, buf, NULL, NULL);
- i++;
- j++;
- }
- break;
- }
- elm_index_item_append(obj, buf, NULL, NULL);
- }
- elm_index_level_go(obj, 1);
-}
-
-static Evas_Object* _create_fastscroll(Evas_Object* parent, Evas_Object* scroller)
-{
- Evas_Object *layout, *index;
- int i = 0, j, len;
- char *str;
- char buf[PATH_MAX] = {0, };
- Eina_Unicode uni;
- Elm_Object_Item *it;
- const char *locale;
-
- layout = elm_layout_add(parent);
- elm_layout_theme_set(layout, "layout", "application", "fastscroll");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_content_set(scroller, layout);
-
- index = elm_index_add(layout);
- elm_object_part_content_set(layout, "elm.swallow.fastscroll", index);
- elm_index_autohide_disabled_set(index, EINA_TRUE);
- elm_index_omit_enabled_set(index, EINA_TRUE);
-
- //1. Special character & Numbers
- elm_index_item_append(index, "#", NULL, NULL);
-
- //2. Local language
- str = dgettext("efl-assist", "IDS_EA_BODY_ABCDEFGHIJKLMNOPQRSTUVWXYZ");
- len = strlen(str);
-
- while (i < len)
- {
- j = i;
- uni = eina_unicode_utf8_get_next(str, &i);
- snprintf(buf, i - j + 1, "%s", str + j);
- buf[i - j + 1] = 0;
-
- it = elm_index_item_append(index, buf, NULL, NULL);
- elm_index_item_priority_set(it, 0);
- }
-
- //3. English - in case of non-latin
- locale = vconf_get_str(VCONFKEY_LANGSET);
- if (!ea_locale_latin_get(locale))
- {
- str = dgettext("efl-assist", "IDS_EA_BODY_ABCDEFGHIJKLMNOPQRSTUVWXYZ_SECOND");
- len = strlen(str);
-
- i = 0;
- while (i < len)
- {
- j = i;
- uni = eina_unicode_utf8_get_next(str, &i);
- snprintf(buf, i - j + 1, "%s", str + j);
- buf[i - j + 1] = 0;
-
- it = elm_index_item_append(index, buf, NULL, NULL);
- elm_index_item_priority_set(it, 1);
- }
- }
-
- elm_index_level_go(index, 0);
- elm_index_item_level_set(index,1);
-
- evas_object_smart_callback_add(index, "selected", _index_selected, NULL);
- evas_object_smart_callback_add(index, "level,up", _index_level_up_cb, NULL);
- evas_object_smart_callback_add(index, "changed", _index_changed_cb, NULL);
-
- return index;
-}
-
-void _language_changed(void *data, Evas_Object *obj, void *event_info)
-{
- int i = 0, j, len;
- char *str;
- char buf[PATH_MAX] = {0, };
- Eina_Unicode uni;
- Elm_Object_Item *it;
- const char *locale;
-
- elm_index_item_clear(obj);
-
- //1. Special character & Numbers
- elm_index_item_append(obj, "#", NULL, NULL);
-
- //2. Local language
- str = dgettext("efl-assist", "IDS_EA_BODY_ABCDEFGHIJKLMNOPQRSTUVWXYZ");
- len = strlen(str);
-
- while (i < len)
- {
- j = i;
- uni = eina_unicode_utf8_get_next(str, &i);
- snprintf(buf, i - j + 1, "%s", str + j);
- buf[i - j + 1] = 0;
-
- it = elm_index_item_append(obj, buf, NULL, NULL);
- elm_index_item_priority_set(it, 0);
- }
-
- //3. English - in case of non-latin
- locale = vconf_get_str(VCONFKEY_LANGSET);
- if (!ea_locale_latin_get(locale))
- {
- str = dgettext("efl-assist", "IDS_EA_BODY_ABCDEFGHIJKLMNOPQRSTUVWXYZ_SECOND");
- len = strlen(str);
-
- i = 0;
- while (i < len)
- {
- j = i;
- uni = eina_unicode_utf8_get_next(str, &i);
- snprintf(buf, i - j + 1, "%s", str + j);
- buf[i - j + 1] = 0;
-
- it = elm_index_item_append(obj, buf, NULL, NULL);
- elm_index_item_priority_set(it, 1);
- }
- }
-
- elm_index_level_go(obj, 0);
-}
-
-void
-fastscroll_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Evas_Object *scroller, *index;
-
- ad = (struct appdata *) data;
- if (ad == NULL) return;
-
- scroller = _create_scroller(ad->nf);
- elm_naviframe_item_push(ad->nf, _("Fastscroll"), NULL, NULL, scroller, NULL);
-
- index = _create_fastscroll(ad->nf, scroller);
- evas_object_smart_callback_add(index, "language,changed", _language_changed, index);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "floating.h"
-
-#include <Ecore_X.h>
-
-/*********************************************************
- floating test
- ********************************************************/
-
-/* variables */
-typedef struct _Floating_Info Floating_Info;
-struct _Floating_Info
-{
- Ecore_X_Window xwin;
-
- Evas_Object *tb;
- Evas_Object *rect_tl;
- Evas_Object *rect_t;
- Evas_Object *rect_tr;
- Evas_Object *rect_l;
- Evas_Object *rect_r;
- Evas_Object *rect_bl;
- Evas_Object *rect_b;
- Evas_Object *rect_br;
-
- Eina_Bool is_shown;
-};
-
-Floating_Info *g_floating_info;
-
-
-/* functions */
- static void _show_move_resize_rect(void)
-{
- if (g_floating_info)
- {
- evas_object_show(g_floating_info->tb);
- }
-}
-
-static void _hide_move_resize_rect(void)
-{
- if (g_floating_info)
- {
- evas_object_hide(g_floating_info->tb);
- }
-}
-
-static void _button_clicked_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (!data) return;
- Evas_Object *btn = (Evas_Object*)data;
-
- if (g_floating_info->is_shown)
- {
- // Hide Rect
- _hide_move_resize_rect();
-
- //change text to SHOW
- elm_object_text_set(btn, _("Enable Move/Resize") );
- }
- else
- {
- // Show Rect
- _show_move_resize_rect();
-
- //change text to Hide
- elm_object_text_set(btn, _("Disable Move/Resize") );
- }
-
- g_floating_info->is_shown = !g_floating_info->is_shown;
-}
-
-static Evas_Object *_create_scroller(Evas_Object * parent)
-{
- Evas_Object *scroller = elm_scroller_add(parent);
-
- elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE);
- elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO);
- evas_object_show(scroller);
-
- return scroller;
-}
-
-static Evas_Object *_create_button(void *data, Evas_Object *layout)
-{
- struct appdata *ad;
- Evas_Object *btn;
-
- ad = (struct appdata *) data;
- if (ad == NULL) return NULL;
-
- btn = elm_button_add(layout);
- elm_object_part_content_set(layout, "btn_default", btn);
- elm_object_style_set(btn, "sweep");
-
- if (g_floating_info->is_shown)
- {
- elm_object_text_set(btn, _("Disable Move/Resize") );
- _show_move_resize_rect();
- }
- else
- {
- elm_object_text_set(btn, _("Enable Move/Resize") );
- _hide_move_resize_rect();
- }
-
- evas_object_smart_callback_add(btn, "clicked", _button_clicked_cb, btn);
- evas_object_show(btn);
-
- return layout;
-}
-
-static void _iconic_button_clicked_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (!data) return;
-
- struct appdata *ad;
- ad = (struct appdata *) data;
- elm_win_iconified_set(ad->win_main, EINA_TRUE);
-}
-
-static Evas_Object *_create_button2(void *data, Evas_Object *layout)
-{
- struct appdata *ad;
- Evas_Object *btn;
-
- ad = (struct appdata *) data;
- if (ad == NULL) return NULL;
-
- btn = elm_button_add(layout);
- elm_object_part_content_set(layout, "btn_default2", btn);
- elm_object_style_set(btn, "sweep");
-
- elm_object_text_set(btn, _("Change to ICONIC") );
-
- evas_object_smart_callback_add(btn, "clicked", _iconic_button_clicked_cb, ad);
- evas_object_show(btn);
-
- return layout;
-}
-
-static void _begin_act(void *data, Evas_Event_Mouse_Down *ev, int act)
-{
- struct appdata *ad;
- Ecore_X_Window xwin;
- int x = 0, y = 0;
-
- ad = (struct appdata *) data;
- if (ad == NULL) return;
-
- xwin = elm_win_xwindow_get(ad->win_main);
-
- ecore_x_pointer_last_xy_get(&x, &y);
- ecore_x_mouse_up_send(xwin, x, y, ev->button);
- ecore_x_pointer_ungrab();
-
- // request to resize window
- ecore_x_netwm_moveresize_request_send(xwin, x, y, act, ev->button);
-}
-
-static void _tl_down(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- _begin_act(data, event_info, ECORE_X_NETWM_DIRECTION_SIZE_TL);
-}
-
-static void _t_down(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- _begin_act(data, event_info, ECORE_X_NETWM_DIRECTION_MOVE);
-}
-
-static void _tr_down(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- _begin_act(data, event_info, ECORE_X_NETWM_DIRECTION_SIZE_TR);
-}
-
-static void _l_down(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- _begin_act(data, event_info, ECORE_X_NETWM_DIRECTION_SIZE_L);
-}
-
-static void _r_down(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- _begin_act(data, event_info, ECORE_X_NETWM_DIRECTION_SIZE_R);
-}
-
-static void _bl_down(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- _begin_act(data, event_info, ECORE_X_NETWM_DIRECTION_SIZE_BL);
-}
-
-static void _b_down(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- _begin_act(data, event_info, ECORE_X_NETWM_DIRECTION_SIZE_B);
-}
-
-static void _br_down(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- _begin_act(data, event_info, ECORE_X_NETWM_DIRECTION_SIZE_BR);
-}
-
-static Eina_Bool _create_floating_mode_info(void *data)
-{
- struct appdata *ad;
- Evas_Object *parent;
-
- ad = (struct appdata *) data;
- if (ad == NULL) return EINA_FALSE;
-
- if (!g_floating_info)
- {
- g_floating_info = calloc(sizeof(Floating_Info), 1);
- if (!g_floating_info) return EINA_FALSE;
-
- g_floating_info->xwin = elm_win_xwindow_get(ad->win_main);
- g_floating_info->is_shown = EINA_TRUE;
-
- parent = ad->win_main;
-
- g_floating_info->tb = elm_table_add(parent);
- elm_win_resize_object_add(parent, g_floating_info->tb);
- evas_object_size_hint_weight_set(g_floating_info->tb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_fill_set(g_floating_info->tb, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- g_floating_info->rect_tl = evas_object_rectangle_add(evas_object_evas_get(parent));
- evas_object_size_hint_align_set(g_floating_info->rect_tl, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(g_floating_info->rect_tl, 0.0, 0.0);
- evas_object_size_hint_min_set(g_floating_info->rect_tl, 32, 32);
- evas_object_color_set(g_floating_info->rect_tl, 128, 0, 0, 128);
- elm_table_pack(g_floating_info->tb, g_floating_info->rect_tl, 0, 0, 1, 1);
- evas_object_event_callback_add(g_floating_info->rect_tl, EVAS_CALLBACK_MOUSE_DOWN, _tl_down, ad);
- evas_object_show(g_floating_info->rect_tl);
-
- g_floating_info->rect_t = evas_object_rectangle_add(evas_object_evas_get(parent));
- evas_object_size_hint_align_set(g_floating_info->rect_t, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(g_floating_info->rect_t, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_min_set(g_floating_info->rect_t, 32, 32);
- evas_object_color_set(g_floating_info->rect_t, 0, 64, 128, 128);
- elm_table_pack(g_floating_info->tb, g_floating_info->rect_t, 1, 0, 3, 1);
- evas_object_event_callback_add(g_floating_info->rect_t, EVAS_CALLBACK_MOUSE_DOWN, _t_down, ad);
- evas_object_show(g_floating_info->rect_t);
-
- g_floating_info->rect_tr = evas_object_rectangle_add(evas_object_evas_get(parent));
- evas_object_size_hint_align_set(g_floating_info->rect_tr, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(g_floating_info->rect_tr, 0.0, 0.0);
- evas_object_size_hint_min_set(g_floating_info->rect_tr, 32, 32);
- evas_object_color_set(g_floating_info->rect_tr, 128, 0, 0, 128);
- elm_table_pack(g_floating_info->tb, g_floating_info->rect_tr, 4, 0, 1, 1);
- evas_object_event_callback_add(g_floating_info->rect_tr, EVAS_CALLBACK_MOUSE_DOWN, _tr_down, ad);
- evas_object_show(g_floating_info->rect_tr);
-
- g_floating_info->rect_l = evas_object_rectangle_add(evas_object_evas_get(parent));
- evas_object_size_hint_align_set(g_floating_info->rect_l, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(g_floating_info->rect_l, 0.0, EVAS_HINT_EXPAND);
- evas_object_size_hint_min_set(g_floating_info->rect_l, 32, 32);
- evas_object_color_set(g_floating_info->rect_l, 128, 64, 0, 128);
- elm_table_pack(g_floating_info->tb, g_floating_info->rect_l, 0, 1, 1, 2);
- evas_object_event_callback_add(g_floating_info->rect_l, EVAS_CALLBACK_MOUSE_DOWN, _l_down, ad);
- evas_object_show(g_floating_info->rect_l);
-
- g_floating_info->rect_r = evas_object_rectangle_add(evas_object_evas_get(parent));
- evas_object_size_hint_align_set(g_floating_info->rect_r, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(g_floating_info->rect_r, 0.0, EVAS_HINT_EXPAND);
- evas_object_size_hint_min_set(g_floating_info->rect_r, 32, 32);
- evas_object_color_set(g_floating_info->rect_r, 128, 64, 0, 128);
- elm_table_pack(g_floating_info->tb, g_floating_info->rect_r, 4, 1, 1, 2);
- evas_object_event_callback_add(g_floating_info->rect_r, EVAS_CALLBACK_MOUSE_DOWN, _r_down, ad);
- evas_object_show(g_floating_info->rect_r);
-
- g_floating_info->rect_bl = evas_object_rectangle_add(evas_object_evas_get(parent));
- evas_object_size_hint_align_set(g_floating_info->rect_bl, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(g_floating_info->rect_bl, 0.0, 0.0);
- evas_object_size_hint_min_set(g_floating_info->rect_bl, 32, 32);
- evas_object_color_set(g_floating_info->rect_bl, 128, 0, 0, 128);
- elm_table_pack(g_floating_info->tb, g_floating_info->rect_bl, 0, 3, 1, 1);
- evas_object_event_callback_add(g_floating_info->rect_bl, EVAS_CALLBACK_MOUSE_DOWN, _bl_down, ad);
- evas_object_show(g_floating_info->rect_bl);
-
- g_floating_info->rect_b = evas_object_rectangle_add(evas_object_evas_get(parent));
- evas_object_size_hint_align_set(g_floating_info->rect_b, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(g_floating_info->rect_b, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_min_set(g_floating_info->rect_b, 32, 32);
- evas_object_color_set(g_floating_info->rect_b, 128, 64, 0, 128);
- elm_table_pack(g_floating_info->tb, g_floating_info->rect_b, 1, 3, 3, 1);
- evas_object_event_callback_add(g_floating_info->rect_b, EVAS_CALLBACK_MOUSE_DOWN, _b_down, ad);
- evas_object_show(g_floating_info->rect_b);
-
- g_floating_info->rect_br = evas_object_rectangle_add(evas_object_evas_get(parent));
- evas_object_size_hint_align_set(g_floating_info->rect_br, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(g_floating_info->rect_br, 0.0, 0.0);
- evas_object_size_hint_min_set(g_floating_info->rect_br, 32, 32);
- evas_object_color_set(g_floating_info->rect_br, 128, 0, 0, 128);
- elm_table_pack(g_floating_info->tb, g_floating_info->rect_br, 4, 3, 1, 1);
- evas_object_event_callback_add(g_floating_info->rect_br, EVAS_CALLBACK_MOUSE_DOWN, _br_down, ad);
- evas_object_show(g_floating_info->rect_br);
-
- }
-
- return EINA_TRUE;
-}
-
-
-static void _list_click(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *it = (Elm_Object_Item *) elm_list_selected_item_get(obj);
- if (it == NULL)
- {
- printf("list item is NULL\n");
- return;
- }
-
- elm_list_item_selected_set(it, EINA_FALSE);
-}
-
-static Eina_Bool _create_floating_ui(void *data)
-{
- struct appdata *ad;
- Eina_Bool ret;
- Evas_Object *scroller;
- Evas_Object *layout_inner;
-
- ad = (struct appdata *) data;
- if (ad == NULL) return EINA_FALSE;
-
- ret = _create_floating_mode_info(ad);
- if (!ret) return EINA_FALSE;
-
- scroller = _create_scroller(ad->nf);
- elm_naviframe_item_push(ad->nf, _("Floating Mode"), NULL, NULL, scroller, NULL);
-
- Evas_Object *layout;
-
- layout = elm_layout_add(ad->nf);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "elmdemo-test/floating");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- layout_inner = _create_button(ad, layout);
- elm_object_content_set(scroller, layout_inner);
-
- layout_inner = _create_button2(ad, layout);
- elm_object_content_set(scroller, layout_inner);
-
- return EINA_TRUE;
-}
-
-static void _use_case_floating_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Eina_Bool is_floating;
- Eina_Bool ret;
-
- ad = (struct appdata *) data;
- if (ad == NULL) return;
-
- ret = _create_floating_ui(ad);
- if (!ret) return;
-
- is_floating = elm_win_floating_mode_get(ad->win_main);
- if (!is_floating)
- {
- elm_win_floating_mode_set(ad->win_main, EINA_TRUE);
- evas_object_resize(ad->win_main, 500, 600);
- }
-}
-
-static void _use_case_floating_move_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Eina_Bool is_floating;
- Eina_Bool ret;
-
- ad = (struct appdata *) data;
- if (ad == NULL) return;
-
- ret = _create_floating_ui(ad);
- if (!ret) return;
-
- is_floating = elm_win_floating_mode_get(ad->win_main);
- if (!is_floating)
- {
- elm_win_floating_mode_set(ad->win_main, EINA_TRUE);
- evas_object_move(ad->win_main, 100, 100);
- evas_object_resize(ad->win_main, 500, 600);
- }
- else
- {
- evas_object_move(ad->win_main, 100, 100);
- }
-}
-
-static void _use_case_normal_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Eina_Bool is_floating;
-
- ad = (struct appdata *) data;
- if (ad == NULL) return;
-
- is_floating = elm_win_floating_mode_get(ad->win_main);
- if (is_floating)
- {
- elm_win_floating_mode_set(ad->win_main, EINA_FALSE);
- }
-}
-
-void floating_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad = (struct appdata *) data;
- if (ad == NULL) return;
-
- Evas_Object *list;
-
- list = elm_list_add(ad->nf);
- elm_list_mode_set(list, ELM_LIST_COMPRESS);
- evas_object_smart_callback_add(list, "selected", _list_click, NULL);
-
- elm_list_item_append(list, "Floating Mode", NULL, NULL,
- _use_case_floating_cb, ad);
- elm_list_item_append(list, "Floating Mode with Move", NULL, NULL,
- _use_case_floating_move_cb, ad);
- elm_list_item_append(list, "Normal Mode", NULL, NULL,
- _use_case_normal_cb, ad);
- elm_list_go(list);
-
- elm_naviframe_item_push(ad->nf, _("Floating Test"), NULL, NULL, list, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-
-/*********************************************************
- Font Effect Test
- ********************************************************/
-
-static Evas_Object* _create_scroller(Evas_Object* parent)
-{
- Evas_Object* scroller = elm_scroller_add(parent);
- elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE);
- elm_scroller_policy_set(scroller,ELM_SCROLLER_POLICY_OFF,ELM_SCROLLER_POLICY_AUTO);
- evas_object_show(scroller);
-
- return scroller;
-}
-
-static Evas_Object* _create_fonteffecttest(Evas_Object* parent)
-{
- Evas_Object *layout = NULL;
-
- layout = elm_layout_add(parent);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "group_fonteffecttest");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
-#if 0 // TC 0: Normal case
- // text
- edje_object_part_text_set(_EDJ(layout), "text1", _("Tizen:style=Bold TEXT"));
- edje_object_part_text_set(_EDJ(layout), "text2", _("Tizen:style=Roman TEXT"));
- edje_object_part_text_set(_EDJ(layout), "text3", _("Tizen:style=Medium TEXT"));
-
- // textblock
- edje_object_part_text_set(_EDJ(layout), "textblock1", _("Bold TEXTBLOCK"));
- edje_object_part_text_set(_EDJ(layout), "textblock2", _("<font color=#00FF00>Ro</font><font color=#0000FF>man</font> <font color=#FF0000><b>TEXT</b>BLOCK</font>"));
- snprintf(buf, sizeof(buf), "<font_size=35>Fo</font_size><font_size=45>nt Si</font_size><font_size=60>ze Test</font_size>");
- edje_object_part_text_set(_EDJ(layout), "textblock3", _(buf));
- snprintf(buf, sizeof(buf), "<font_size=%d>Fo</font_size><font_size=%d>nt Si</font_size><font_size=%d>ze Test</font_size>", (int)(35 * scale_factor), (int)(45 * scale_factor), (int)(60 * scale_factor));
- edje_object_part_text_set(_EDJ(layout), "textblock4", _(buf));
-#endif
-
-#if 0 // TC 1: Same font and size, Regular in a layout
- // textobject
- edje_object_part_text_set(_EDJ(layout), "text1", _("Regular,Italic,28 TO"));
- edje_object_part_text_set(_EDJ(layout), "text2", _("Regular,Normal,28 TO"));
- edje_object_part_text_set(_EDJ(layout), "text3", _("Regular,Italic,28 TO"));
-
- // textblock
- edje_object_part_text_set(_EDJ(layout), "textblock1", _("Regular,Normal,28 TB"));
- edje_object_part_text_set(_EDJ(layout), "textblock2", _("Regular,Italic,28 TB"));
- edje_object_part_text_set(_EDJ(layout), "textblock3", _("Regular,Normal,28 TB"));
- edje_object_part_text_set(_EDJ(layout), "textblock4", _("Regular,Italic,28 TB"));
-#endif
-
-#if 0 // TC 2: Same font and size, Medium in a layout
- // textobject
- edje_object_part_text_set(_EDJ(layout), "text1", _("Medium,Italic,30 TO"));
- edje_object_part_text_set(_EDJ(layout), "text2", _("Medium,Normal,30 TO"));
- edje_object_part_text_set(_EDJ(layout), "text3", _("Medium,Italic,30 TO"));
-
- // textblock
- edje_object_part_text_set(_EDJ(layout), "textblock1", _("Medium,Normal,30 TB"));
- edje_object_part_text_set(_EDJ(layout), "textblock2", _("Medium,Italic,30 TB"));
- edje_object_part_text_set(_EDJ(layout), "textblock3", _("Medium,Normal,30 TB"));
- edje_object_part_text_set(_EDJ(layout), "textblock4", _("Medium,Italic,30 TB"));
-#endif
-
-#if 0 // TC 3: Same font and different size, Medium in a layout
- // textobject
- edje_object_part_text_set(_EDJ(layout), "text1", _("Medium,Italic,30 TO"));
- edje_object_part_text_set(_EDJ(layout), "text2", _("Medium,Normal,35 TO"));
- edje_object_part_text_set(_EDJ(layout), "text3", _("Medium,Italic,40 TO"));
-
- // textblock
- edje_object_part_text_set(_EDJ(layout), "textblock1", _("Medium,Normal,25 TB"));
- edje_object_part_text_set(_EDJ(layout), "textblock2", _("Medium,Italic,30 TB"));
- edje_object_part_text_set(_EDJ(layout), "textblock3", _("Medium,Normal,35 TB"));
- edje_object_part_text_set(_EDJ(layout), "textblock4", _("Medium,Italic,40 TB"));
-#endif
-
-#if 0 // TC 4: Same font and different size, Medium in a layout
- // textobject
- edje_object_part_text_set(_EDJ(layout), "text1", _("Medium,Italic,30 TO"));
- edje_object_part_text_set(_EDJ(layout), "text2", _("Regular,Italic,35 TO"));
- edje_object_part_text_set(_EDJ(layout), "text3", _("Bold,Italic,40 TO"));
-
- // textblock
- edje_object_part_text_set(_EDJ(layout), "textblock1", _("Medium,Italic,25 TB"));
- edje_object_part_text_set(_EDJ(layout), "textblock2", _("Regular,Italic,30 TB"));
- edje_object_part_text_set(_EDJ(layout), "textblock3", _("Bold,Italic,35 TB"));
- edje_object_part_text_set(_EDJ(layout), "textblock4", _("Medium,Normal,40 TB"));
-#endif
-
-#if 0 // TC 5: Different font, different size, and same Italic style, Regular in a layout
- // textobject
- edje_object_part_text_set(_EDJ(layout), "text1", _("Arial,Regular,30 TO"));
- edje_object_part_text_set(_EDJ(layout), "text2", _("Georgia,Regular,35 TO"));
- edje_object_part_text_set(_EDJ(layout), "text3", _("Helvetica,Regular,40 TO"));
-
- // textblock
- edje_object_part_text_set(_EDJ(layout), "textblock1", _("Arial,Regular,25 TB"));
- edje_object_part_text_set(_EDJ(layout), "textblock2", _("Georgia,Regular,30 TB"));
- edje_object_part_text_set(_EDJ(layout), "textblock3", _("Helvetica,Regualr,35 TB"));
- edje_object_part_text_set(_EDJ(layout), "textblock4", _("Times,Regular,40 TB"));
-#endif
-
-#if 1 // TC 6: Different font, different size, and same Italic style, Regular and Bold in a layout
- // textobject
- edje_object_part_text_set(_EDJ(layout), "text1", _("Arial,Regular,I,30 TO"));
- edje_object_part_text_set(_EDJ(layout), "text2", _("Georgia,Regular,I,35 TO"));
- edje_object_part_text_set(_EDJ(layout), "text3", _("Helvetica,Bold,I,40 TO"));
-
- // textblock
- edje_object_part_text_set(_EDJ(layout), "textblock1", _("Arial,Regular,I,25 TB"));
- edje_object_part_text_set(_EDJ(layout), "textblock2", _("Georgia,Regular,I,30 TB"));
- edje_object_part_text_set(_EDJ(layout), "textblock3", _("Helvetica,Bold,I,35 TB"));
- edje_object_part_text_set(_EDJ(layout), "textblock4", _("Times,Regular,I,40 TB"));
-#endif
-
-
- // strike
- edje_object_part_text_set(_EDJ(layout), "strike1", _("<strikethrough=on strikethrough_color=#FF0000>strike test</strikethrough>"));
- edje_object_part_text_set(_EDJ(layout), "strike2", _("<strike>strike simple tag test</strike>"));
-
- return layout;
-}
-
-void fonteffecttest_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Evas_Object *layout, *scroller;
-
- ad = (struct appdata *) data;
- if (ad == NULL) return;
-
- scroller = _create_scroller(ad->nf);
- elm_naviframe_item_push(ad->nf, _("Font Effect Test"), NULL, NULL, scroller, NULL);
-
- layout = _create_fonteffecttest(ad->nf);
- elm_object_content_set(scroller, layout);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-
-/*********************************************************
- Font Test
- ********************************************************/
-
-static Evas_Object* _create_scroller(Evas_Object* parent)
-{
- Evas_Object* scroller = elm_scroller_add(parent);
- elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE);
- elm_scroller_policy_set(scroller,ELM_SCROLLER_POLICY_OFF,ELM_SCROLLER_POLICY_AUTO);
- evas_object_show(scroller);
-
- return scroller;
-}
-
-static Evas_Object* _create_fonttest(Evas_Object* parent)
-{
- Evas_Object *layout = NULL;
- double scale_factor = elm_config_scale_get();
- char buf[PATH_MAX] = {0, };
-
- layout = elm_layout_add(parent);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "group_fonttest");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- // text
- edje_object_part_text_set(_EDJ(layout), "text1", _("Tizen:style=Bold TEXT"));
- edje_object_part_text_set(_EDJ(layout), "text2", _("Tizen:style=Roman TEXT"));
- edje_object_part_text_set(_EDJ(layout), "text3", _("Tizen:style=Medium TEXT"));
-
- // textblock
- edje_object_part_text_set(_EDJ(layout), "textblock1", _("Bold TEXTBLOCK"));
- edje_object_part_text_set(_EDJ(layout), "textblock2", _("<font color=#00FF00>Ro</font><font color=#0000FF>man</font> <font color=#FF0000><b>TEXT</b>BLOCK</font>"));
- snprintf(buf, sizeof(buf), "<font_size=35>Fo</font_size><font_size=45>nt Si</font_size><font_size=60>ze Test</font_size>");
- edje_object_part_text_set(_EDJ(layout), "textblock3", _(buf));
- snprintf(buf, sizeof(buf), "<font_size=%d>Fo</font_size><font_size=%d>nt Si</font_size><font_size=%d>ze Test</font_size>", (int)(35 * scale_factor), (int)(45 * scale_factor), (int)(60 * scale_factor));
- edje_object_part_text_set(_EDJ(layout), "textblock4", _(buf));
-
- // strike
- edje_object_part_text_set(_EDJ(layout), "strike1", _("<strikethrough=on strikethrough_color=#FF0000>strike test</strikethrough>"));
- edje_object_part_text_set(_EDJ(layout), "strike2", _("<strike>strike simple tag test</strike>"));
-
- return layout;
-}
-
-void fonttest_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Evas_Object *layout, *scroller;
-
- ad = (struct appdata *) data;
- if (ad == NULL) return;
-
- scroller = _create_scroller(ad->nf);
- elm_naviframe_item_push(ad->nf, _("Font Test"), NULL, NULL, scroller, NULL);
-
- layout = _create_fonttest(ad->nf);
- elm_object_content_set(scroller, layout);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_util.h"
-#include "elmdemo_test.h"
-
-#include "gengrid.h"
-
-static Elm_Genlist_Item_Class itc={0,};
-static struct appdata *menu_ad;
-
-static struct _menu_item menu_its[] = {
- { "Gengrid GalleryGrid Style", gengrid_gallerygrid_cb },
- { "Gengrid MyfileGrid Style", gengrid_myfilegrid_cb },
- { "Gengrid MyfileGridtext Style", gengrid_myfilegridtext_cb },
- { "Group Style Sample", gengrid_groupindex_cb },
- { "Customized Style Sample", gengrid_theme_cb },
- { "Customized InCheck Sample", gengrid_incheck_cb },
- /* do not delete below */
- { NULL, NULL }
-};
-
-static char *_gl_text_get(void *data, Evas_Object *obj, const char *part)
-{
- int index = (int)data;
-
- if (!strcmp(part, "elm.text")) {
- return strdup(menu_its[index].name);
- }
-
- return NULL;
-}
-
-static Eina_Bool _gl_state_get(void *data, Evas_Object *obj, const char *part)
-{
- return EINA_FALSE;
-}
-
-static void _gl_del(void *data, Evas_Object *obj)
-{
- return;
-}
-
-static void _gl_sel(void *data, Evas_Object *obj, void *event_info)
-{
- int index = (int)data;
-
- elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
- menu_its[index].func(menu_ad, NULL, NULL);
- return;
-}
-
-static Evas_Object* _create_genlist(struct appdata* ad)
-{
- Evas_Object *genlist;
- int index;
-
- if (ad == NULL) return NULL;
-
- itc.item_style = "default";
- itc.func.text_get = _gl_text_get;
- itc.func.content_get = NULL;
- itc.func.state_get = _gl_state_get;
- itc.func.del = _gl_del;
-
- genlist = elm_genlist_add(ad->nf);
-
- for (index = 0; menu_its[index].name; index++) {
- elm_genlist_item_append(genlist, &itc, (void *)index, NULL,
- ELM_GENLIST_ITEM_NONE, _gl_sel, (void *)index);
- }
-
- return genlist;
-}
-
-void gengrid_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Evas_Object *genlist;
-
- ad = (struct appdata *) data;
- if (ad == NULL) return;
-
- menu_ad = ad;
- genlist = _create_genlist(ad);
- elm_naviframe_item_push(ad->nf, _("Gengrid"), NULL, NULL, genlist, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-
-#define IMAGE_MAX 79
-#define VIEW_MODE 0
-#define EDIT_MODE 1
-
-#define FONT_SIZE_INDEX_SMALL 24
-#define FONT_SIZE_INDEX_NORMAL 35
-#define FONT_SIZE_INDEX_LARGE 55
-#define FONT_SIZE_INDEX_HUGE 75
-#define FONT_SIZE_INDEX_GIANT 92
-#define BASE_GENGRID_HEIGHT 76 //As per reference of UX of Genlist Group Index.
-
-typedef struct _Testitem
-{
- Elm_Object_Item *item;
- const char *text;
- const char *path;
- int index;
- int checked;
-} Testitem;
-
-typedef enum {
- SIZE_INDEX_SMALL = 0,
- SIZE_INDEX_NORMAL,
- SIZE_INDEX_LARGE,
- SIZE_INDEX_HUGE,
- SIZE_INDEX_GIANT
-} font_size_index;
-
-static int mode;
-static int total_count;
-static int checked_count;
-static Eina_Bool select_all_checked = EINA_FALSE;
-static Eina_Bool longpressed = EINA_FALSE;
-static Evas_Object *gengrid, *box;
-static Evas_Object *select_all_layout, *select_all_checkbox;
-static Elm_Gengrid_Item_Class *gic;
-static Elm_Gengrid_Item_Class ggic;
-static void _edit_toolbar_cb(void *data, Evas_Object *obj, void *event_info);
-static void _del_toolbar_cb(void *data, Evas_Object *obj, void *event_info);
-static void _done_toolbar_cb(void *data, Evas_Object *obj, void *event_info);
-static Evas_Object *create_edit_toolbar(struct appdata *ad);
-static Evas_Object *create_del_done_toolbar(struct appdata *ad);
-
-char *index_names[] = {"Family", "Company", "Friend", "University", "Etc", NULL};
-
-static void
-grid_moved(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *moved_item = (Elm_Object_Item *)event_info;
-
- printf("moved item index = %d\n", elm_gengrid_item_index_get(moved_item));
-}
-
-static void
-grid_realized(void *data, Evas_Object *obj, void *event_info)
-{
- const Elm_Gengrid_Item_Class *itc;
- itc = elm_gengrid_item_item_class_get(event_info);
-
- printf("item realized: %d\n", elm_gengrid_item_index_get(event_info));
- if (mode == EDIT_MODE && (strcmp(itc->item_style, "group_index")))
- {
- Testitem *ti = (Testitem *)elm_object_item_data_get(event_info);
- elm_object_item_signal_emit(event_info, "check,state,show", "");
- if (ti->checked)
- elm_object_item_signal_emit(event_info, "check,state,on,no_effect", "");
- }
-}
-
-static void
-grid_longpress(void *data, Evas_Object *obj, void *event_info)
-{
- longpressed = (mode == EDIT_MODE ? EINA_TRUE : EINA_FALSE);
-}
-
-static void
-_item_check_changed_cb(void *data, void *event_info)
-{
- Testitem *ti = (Testitem *)data;
-
- if (ti->checked)
- {
- checked_count++;
- elm_object_item_signal_emit(ti->item, "check,state,on", "");
- }
- else
- {
- checked_count--;
- elm_object_item_signal_emit(ti->item, "check,state,off", "");
- }
-
- if (select_all_layout) {
- if (total_count == checked_count)
- select_all_checked = EINA_TRUE;
- else
- select_all_checked = EINA_FALSE;
- elm_check_state_pointer_set(select_all_checkbox, &select_all_checked);
- }
-
-}
-
-static void
-_text_part_mouse_clicked_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
-{
- printf("text_clicked!!\n");
-}
-
-static char *
-grid_text_get(void *data, Evas_Object *obj, const char *part)
-{
- Testitem *ti = (Testitem *)data;
-
- if (!strcmp(part, "elm.text"))
- return strdup(ti->text);
-
- return NULL;
-}
-
-static char *
-grid_groupindex_text_get(void *data, Evas_Object *obj, const char *part)
-{
- int index = (int)data;
- if (!strcmp(part, "elm.text")) {
- return strdup(index_names[index]);
- }
- return NULL;
-}
-
-static void
-_size_set_on_font_resize() {
- int x, h, w;
- font_size_index font_index;
- vconf_get_int(VCONFKEY_SETAPPL_ACCESSIBILITY_FONT_SIZE, &x);
- double scale = elm_config_scale_get();
- font_index = x;
-
- switch (font_index) {
- case SIZE_INDEX_SMALL :
- h = (int)((BASE_GENGRID_HEIGHT - FONT_SIZE_INDEX_NORMAL + FONT_SIZE_INDEX_SMALL + 1 /*extra pixel for overlapp check*/) * scale);
- break;
- case SIZE_INDEX_NORMAL :
- h = (int)(BASE_GENGRID_HEIGHT * scale);
- break;
- case SIZE_INDEX_LARGE :
- h = (int)((BASE_GENGRID_HEIGHT - FONT_SIZE_INDEX_NORMAL + FONT_SIZE_INDEX_LARGE) * scale);
- break;
- case SIZE_INDEX_HUGE :
- h = (int)((BASE_GENGRID_HEIGHT - FONT_SIZE_INDEX_NORMAL + FONT_SIZE_INDEX_HUGE) * scale);
- break;
- case SIZE_INDEX_GIANT :
- h = (int)((BASE_GENGRID_HEIGHT - FONT_SIZE_INDEX_NORMAL + FONT_SIZE_INDEX_GIANT) * scale);
- break;
- default:
- h = (int)(BASE_GENGRID_HEIGHT * scale ); //If no font size obtained, set the height to maximum
- }
- w = (int)(720 * scale);
- elm_gengrid_group_item_size_set(gengrid, w, h);
-}
-
-static void
-_vconf_size_key_changed_cb()
-{
- _size_set_on_font_resize();
-}
-
-static Evas_Object *
-grid_content_get(void *data, Evas_Object *obj, const char *part)
-{
- Testitem *ti = (Testitem *)data;
-
- if (!strcmp(part, "elm.swallow.icon")) {
- Evas_Object *icon = elm_image_add(obj);
- elm_image_file_set(icon, ti->path, NULL);
- elm_image_aspect_fixed_set(icon, EINA_FALSE);
- elm_image_preload_disabled_set(icon, EINA_FALSE);
- evas_object_show(icon);
- return icon;
- } else if (!strcmp(part, "elm.swallow.block") && mode == EDIT_MODE) {
- Evas_Object *layout = elm_layout_add(obj);
- elm_layout_theme_set(layout, "gengrid", "item", "block/default");
- evas_object_propagate_events_set(layout, 0);
- evas_object_event_callback_add(layout, EVAS_CALLBACK_MOUSE_DOWN, _text_part_mouse_clicked_cb, ti);
- return layout;
- }
-
- return NULL;
-}
-
-static void
-_show_selected_items(Testitem *ti)
-{
- /*const Eina_List* list = elm_gengrid_selected_items_get(grid);
- const Eina_List* l = NULL;
- Elm_Object_Item *recv = NULL;
- printf("--------------------------\nSelected Items :");
- EINA_LIST_FOREACH(list, l, recv) {
- Testitem *ti = (Testitem *)elm_object_item_data_get(recv);
- printf("%d ",ti->index);
- }
- printf("\n--------------------------\n");*/
-}
-
-static void
-_item_selected(void *data, Evas_Object *obj, void *event_info)
-{
- Testitem *ti = (Testitem *)data;
-
- printf("item selected: %p\n", event_info);
-
- _show_selected_items(ti);
- elm_gengrid_item_selected_set(ti->item, EINA_FALSE);
-
- if (longpressed) {
- longpressed = EINA_FALSE;
- return;
- }
-
- if (mode == EDIT_MODE) {
- ti->checked = !ti->checked;
- _item_check_changed_cb(data, event_info);
- }
-
-}
-
-static void
-_create_gengrid (void *data, Elm_Theme *th)
-{
- struct appdata *ad = (struct appdata *)data;
- int i, j, n, x, w, h;
- char buf[PATH_MAX];
- static Testitem ti[IMAGE_MAX*25];
-
- vconf_get_int(VCONFKEY_SETAPPL_ACCESSIBILITY_FONT_SIZE, &x);
- gengrid = elm_gengrid_add(ad->nf);
- elm_object_theme_set(gengrid, th);
- evas_object_size_hint_weight_set(gengrid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(gengrid, EVAS_HINT_FILL, EVAS_HINT_FILL);
- w = h = 0;
-
- double scale = elm_config_scale_get();
- w = h = (int)(176 * scale); //176 as per UX ver 0.6
- elm_gengrid_item_size_set(gengrid, w, h);
- _size_set_on_font_resize();
- elm_gengrid_align_set(gengrid, 0.5, 0.0);
- elm_gengrid_horizontal_set(gengrid, EINA_FALSE);
- elm_gengrid_cache_mode_set(gengrid, EINA_TRUE);
- elm_gengrid_multi_select_set(gengrid, EINA_TRUE);
- evas_object_smart_callback_add(gengrid, "moved", grid_moved, NULL);
- evas_object_smart_callback_add(gengrid, "realized", grid_realized, NULL);
- evas_object_smart_callback_add(gengrid, "longpressed", grid_longpress, NULL);
-
- /******text myfile type******/
- gic = elm_gengrid_item_class_new();
- gic->item_style = "elm_demo_tizen/customized_incheck_style";
- gic->func.text_get = grid_text_get;
- gic->func.content_get = grid_content_get;
- gic->func.state_get = NULL;
- gic->func.del = NULL;
-
- ggic.item_style = "group_index";
- ggic.func.text_get = grid_groupindex_text_get;
- ggic.func.content_get = NULL;
- ggic.func.state_get = NULL;
- ggic.func.del = NULL;
-
- for (j = 0; j < 25; j++) {
- for (i = 0; i < IMAGE_MAX; i++) {
- n = i+(j*IMAGE_MAX);
- snprintf(buf, sizeof(buf), "%s/grid_image/%d_raw.jpg", ICON_DIR, i+1);
- ti[n].index = n;
- ti[n].path = eina_stringshare_add(buf);
- if (i == 0 || i == 11 || i == 22 || i == 33 || i == 44)
- {
- ti[i].item = elm_gengrid_item_append(gengrid, &ggic, (void *)(i%10), NULL, NULL);
- elm_gengrid_item_select_mode_set(ti[i].item, ELM_OBJECT_SELECT_MODE_NONE);
- } else
- {
- ti[n].item = elm_gengrid_item_append(gengrid, gic, &(ti[n]), _item_selected, &(ti[n]));
- if (n%4 == 0)
- ti[n].text = strdup("DavidRobinson.jpg");
- else if (n%4 == 1)
- ti[n].text = strdup("CaptainFantasticFasterThanSupermanSpidermanBatmanWolverineHulkAndTheFlashCombined.jpg");
- else if (n%4 == 2)
- ti[n].text = strdup("1.jpg");
- else
- ti[n].text = strdup("2.jpg");
- }
- ti[n].checked = EINA_FALSE;
- }
- }
-
- total_count = n + 1;
- if (vconf_notify_key_changed(VCONFKEY_SETAPPL_ACCESSIBILITY_FONT_SIZE, _vconf_size_key_changed_cb, NULL) < 0) {
- printf("\nFail to register VCONFKEY_SETAPPL_SOUND_STATUS_BOOL key callback");
- }
-}
-
-static void
-_check_fields_update(Eina_Bool state)
-{
- const Elm_Gengrid_Item_Class *itc;
- Elm_Object_Item *it;
- Eina_List *realize_its;
-
- realize_its = elm_gengrid_realized_items_get(gengrid);
-
- EINA_LIST_FREE(realize_its, it) {
- itc = elm_gengrid_item_item_class_get(it);
- if (strcmp(itc->item_style, "group_index"))
- {
- if (state)
- elm_object_item_signal_emit(it, "check,state,show", "");
- else
- elm_object_item_signal_emit(it, "check,state,hide", "");
- }
- }
-}
-
-static void
-_check_select_all()
-{
- Elm_Object_Item *it;
- Testitem *ti;
- const Elm_Gengrid_Item_Class *itc;
- Eina_List *realize_its;
-
- if (select_all_checked) checked_count = total_count;
- else checked_count = 0;
- it = elm_gengrid_first_item_get(gengrid);
- while(it) {
- itc = elm_gengrid_item_item_class_get(it);
- if (strcmp(itc->item_style,"group_index")) {
- ti = elm_object_item_data_get(it);
- if (ti) ti->checked = select_all_checked;
- }
- it = elm_gengrid_item_next_get(it);
- }
- realize_its = elm_gengrid_realized_items_get(gengrid);
-
- EINA_LIST_FREE(realize_its, it) {
- itc = elm_gengrid_item_item_class_get(it);
- if (strcmp(itc->item_style,"group_index")) {
- if (select_all_checked) elm_object_item_signal_emit(it, "check,state,on", "");
- else elm_object_item_signal_emit(it, "check,state,off", "");
- }
- }
-}
-
-static void
-_select_all_layout_mouse_down_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
-{
- select_all_checked = !select_all_checked;
- elm_check_state_pointer_set(select_all_checkbox, &select_all_checked);
-
- _check_select_all();
-}
-
-static void _select_all_check_changed_cb(void *data, Evas_Object *obj, void *event_info)
-{
- _check_select_all(data);
-}
-
-static Evas_Object *create_edit_toolbar(struct appdata *ad)
-{
- Evas_Object *obj;
-
- /* create toolbar */
- obj = elm_toolbar_add(ad->nf);
- if(obj == NULL) return NULL;
- elm_object_style_set(obj, "default");
- elm_toolbar_shrink_mode_set(obj, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_transverse_expanded_set(obj, EINA_TRUE);
- elm_toolbar_select_mode_set(obj, ELM_OBJECT_SELECT_MODE_NONE);
-
- elm_toolbar_item_append(obj, NULL, "Edit", _edit_toolbar_cb, ad);
-
- return obj;
-}
-
-static Evas_Object *create_del_done_toolbar(struct appdata *ad)
-{
- Evas_Object *obj;
-
- /* create toolbar */
- obj = elm_toolbar_add(ad->nf);
- if(obj == NULL) return NULL;
- elm_object_style_set(obj, "default");
- elm_toolbar_shrink_mode_set(obj, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_transverse_expanded_set(obj, EINA_TRUE);
- elm_toolbar_select_mode_set(obj, ELM_OBJECT_SELECT_MODE_NONE);
-
- elm_toolbar_item_append(obj, NULL, "Delete", _del_toolbar_cb, ad);
- elm_toolbar_item_append(obj, NULL, "Done", _done_toolbar_cb, ad);
-
- return obj;
-}
-
-static void _edit_toolbar_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *toolbar;
- Elm_Object_Item *navi_it;
- struct appdata *ad;
- ad = (struct appdata *) data;
- if(ad == NULL) return;
-
- if (mode == VIEW_MODE) {
- mode = EDIT_MODE;
- select_all_layout = elm_layout_add(box);
- elm_layout_theme_set(select_all_layout, "genlist", "item", "select_all/default");
- evas_object_size_hint_weight_set(select_all_layout, EVAS_HINT_EXPAND, EVAS_HINT_FILL);
- evas_object_size_hint_align_set(select_all_layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_event_callback_add(select_all_layout, EVAS_CALLBACK_MOUSE_DOWN, _select_all_layout_mouse_down_cb, NULL);
-
- select_all_checkbox = elm_check_add(select_all_layout);
- elm_check_state_pointer_set(select_all_checkbox, &select_all_checked);
- evas_object_smart_callback_add(select_all_checkbox, "changed", _select_all_check_changed_cb, NULL);
- evas_object_propagate_events_set(select_all_checkbox, EINA_FALSE);
- elm_object_part_content_set(select_all_layout, "elm.icon", select_all_checkbox);
-
- elm_object_part_text_set(select_all_layout, "elm.text", "Select All");
- elm_box_pack_start(box, select_all_layout);
- evas_object_show(select_all_layout);
- elm_gengrid_reorder_mode_set(gengrid, EINA_TRUE);
- }
-
- select_all_checked = EINA_FALSE;
- _check_select_all();
- _check_fields_update(EINA_TRUE);
-
- navi_it = elm_naviframe_top_item_get(ad->nf);
- toolbar = create_del_done_toolbar(ad);
- elm_object_item_part_content_set(navi_it, "toolbar", toolbar);
-}
-
-static void _del_toolbar_cb(void *data, Evas_Object *obj, void *envent_info)
-{
- Testitem *ti;
- Elm_Object_Item *it;
- const Elm_Gengrid_Item_Class *itc;
-
- it = elm_gengrid_first_item_get(gengrid);
- while (it) {
- itc = elm_gengrid_item_item_class_get(it);
- ti = (Testitem *)elm_object_item_data_get(it);
- it = elm_gengrid_item_next_get(it);
- if((strcmp(itc->item_style, "group_index") && ((ti) && (ti->checked)))) {
- elm_object_item_del(ti->item);
- total_count--;
- checked_count--;
- }
- }
-}
-
-static void _done_toolbar_cb(void *data, Evas_Object *obj, void *envent_info)
-{
- Evas_Object *toolbar;
- Elm_Object_Item *navi_it;
- struct appdata *ad;
- ad = (struct appdata *) data;
- if(ad == NULL) return;
-
- if(mode == EDIT_MODE){
- mode = VIEW_MODE;
- elm_box_unpack(box, select_all_layout);
- evas_object_del(select_all_layout);
- select_all_layout = NULL;
-
- elm_gengrid_reorder_mode_set(gengrid, EINA_FALSE);
- }
- select_all_checked = EINA_FALSE;
- _check_select_all();
- _check_fields_update(EINA_FALSE);
-
- navi_it = elm_naviframe_top_item_get(ad->nf);
- toolbar = create_edit_toolbar(ad);
- elm_object_item_part_content_set(navi_it, "toolbar", toolbar);
-}
-
-static Eina_Bool
-_pop_cb(void *data, Elm_Object_Item *it)
-{
- elm_gengrid_clear(gengrid);
- evas_object_del(gengrid);
- gengrid = NULL;
-
- if (vconf_ignore_key_changed(VCONFKEY_SETAPPL_ACCESSIBILITY_FONT_SIZE, _vconf_size_key_changed_cb) < 0) {
- printf("\nFail to unregister VCONFKEY_SETAPPL_ACCESSIBILITY_FONT_SIZE key callback");
- }
-
- return EINA_TRUE;
-}
-
-void
-gengrid_incheck_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Evas_Object *toolbar;
- Elm_Object_Item *navi_it;
-
- ad = (struct appdata *)data;
- if (ad == NULL) return;
-
- mode = VIEW_MODE;
-
- // Add customizaed theme
- Elm_Theme *th = elm_theme_new();
- elm_theme_ref_set(th, NULL); // refer to default theme
- elm_theme_extension_add(th, ELM_DEMO_EDJ);
- _create_gengrid(ad, th);
-
- box = elm_box_add(ad->nf);
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_show(box);
- elm_box_pack_end(box, gengrid);
- evas_object_show(gengrid);
-
- navi_it = elm_naviframe_item_push (ad->nf, _("Myfile") , NULL, NULL, box, NULL);
-
- toolbar = create_edit_toolbar(ad);
- elm_object_item_part_content_set(navi_it, "toolbar", toolbar);
- elm_naviframe_item_pop_cb_set(navi_it, _pop_cb, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-
-#define IMAGE_MAX 16
-#define VIEW_MODE 0
-#define EDIT_MODE 1
-#define ITEM_SIZE_W 158
-#define ITEM_SIZE_H 158
-#define PHOTO_INNER 2
-#define PHOTO_REAL_W (ITEM_SIZE_W-(2*PHOTO_INNER))
-#define PHOTO_REAL_H (ITEM_SIZE_H-(2*PHOTO_INNER))
-
-typedef struct _Testitem
-{
- Elm_Object_Item *item;
- const char *path;
- int index;
- int checked;
-} Testitem;
-
-static int mode;
-static int total_count;
-static int checked_count;
-static Eina_Bool select_all_checked = EINA_FALSE;
-static Eina_Bool longpressed = EINA_FALSE;
-static Evas_Object *gengrid, *toolbar, *edit_btn, *box;
-static Evas_Object *select_all_layout, *select_all_checkbox;
-static Elm_Object_Item *del_btn_item;
-static Elm_Gengrid_Item_Class *gic_default, *gic_photo;
-
-static void
-grid_moved(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *moved_item = (Elm_Object_Item *)event_info;
-
- Testitem *moved_ti = (Testitem *)elm_object_item_data_get(moved_item);
- printf("moved item index = %d", moved_ti->index);
-
- if (elm_gengrid_item_prev_get(moved_item)) {
- Testitem *prev_ti = (Testitem *)elm_object_item_data_get(elm_gengrid_item_prev_get(moved_item));
- printf(", prev index = %d", prev_ti->index);
- }
- if (elm_gengrid_item_next_get(moved_item)) {
- Testitem *next_ti = (Testitem *)elm_object_item_data_get(elm_gengrid_item_next_get(moved_item));
- printf(", next index = %d", next_ti->index);
- }
- printf("\n");
-
- // If you want change your data, you can here.
-}
-
-static void
-grid_longpress(void *data, Evas_Object *obj, void *event_info)
-{
- longpressed = (mode == EDIT_MODE ? EINA_TRUE : EINA_FALSE);
-}
-
-static void
-_item_check_changed_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Testitem *ti = (Testitem *)data;
-
- if (longpressed) {
- ti->checked = !elm_check_state_get(obj);
- elm_check_state_set(obj, ti->checked);
- longpressed = EINA_FALSE;
- } else {
- ti->checked = elm_check_state_get(obj);
-
- if (ti->checked) checked_count++;
- else checked_count--;
-
- if (select_all_layout) {
- if (total_count == checked_count)
- select_all_checked = EINA_TRUE;
- else
- select_all_checked = EINA_FALSE;
-
- elm_check_state_pointer_set(select_all_checkbox, &select_all_checked);
- }
- }
-
- elm_gengrid_item_selected_set(ti->item, ti->checked);
-}
-
-static Evas_Object *
-grid_default_content_get(void *data, Evas_Object *obj, const char *part)
-{
- Testitem *ti = (Testitem *)data;
- if (ti->index == 0) {
- if (!strcmp(part, "elm.swallow.end")) {
- Evas_Object *progressbar = elm_progressbar_add(obj);
- elm_object_style_set(progressbar, "process_medium");
- evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL, 0.5);
- evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_show(progressbar);
- elm_progressbar_pulse(progressbar, EINA_TRUE);
- return progressbar;
- } else return NULL;
- } else if (!strcmp(part, "elm.swallow.icon")) {
- Evas_Object *icon = elm_image_add(obj);
- elm_image_file_set(icon, ti->path, NULL);
- elm_image_aspect_fixed_set(icon, EINA_FALSE);
- evas_object_show(icon);
- return icon;
- } else if (!strcmp(part, "elm.swallow.end") && mode == EDIT_MODE) {
- Evas_Object *ck = elm_check_add(obj);
- elm_object_style_set(ck, "grid");
- evas_object_propagate_events_set(ck, 1);
- elm_check_state_set(ck, ti->checked);
- elm_gengrid_item_selected_set(ti->item, ti->checked);
- evas_object_smart_callback_add(ck, "changed", _item_check_changed_cb, data);
- evas_object_show(ck);
- return ck;
- }
- return NULL;
-}
-
-static Evas_Object *
-grid_photo_content_get(void *data, Evas_Object *obj, const char *part)
-{
- Testitem *ti = (Testitem *)data;
-
- if (ti->index == 0) {
- if (!strcmp(part, "elm.swallow.end")) {
- Evas_Object *progressbar = elm_progressbar_add(obj);
- elm_object_style_set(progressbar, "process_medium");
- evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL, 0.5);
- evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_show(progressbar);
- elm_progressbar_pulse(progressbar, EINA_TRUE);
- return progressbar;
- } else return NULL;
- } else if (!strcmp(part, "elm.swallow.icon")) {
- int w, h, iw, ih;
-
- Evas_Object *image = evas_object_image_add(evas_object_evas_get(obj));
- evas_object_image_load_size_set(image, PHOTO_REAL_W, PHOTO_REAL_H);
- evas_object_image_file_set(image, ti->path, NULL);
- evas_object_image_size_get(image, &w, &h);
-
- double scale = elm_config_scale_get();
- if (w > PHOTO_REAL_W || h > PHOTO_REAL_H)
- {
- if (w >= h)
- {
- iw = PHOTO_REAL_W;
- ih = (int)((h * iw) / w);
- }
- else
- {
- ih = PHOTO_REAL_H;
- iw = (int)((w * ih) / h);
- }
- }
- else
- {
- iw = w;
- ih = h;
- }
-
- iw = iw * scale;
- ih = ih * scale;
-
- evas_object_image_fill_set(image, 0, 0, iw, ih);
- evas_object_resize(image, iw, ih);
- evas_object_size_hint_min_set(image, iw, ih);
-
- return image;
- } else if (!strcmp(part, "elm.swallow.end") && mode == EDIT_MODE) {
- Evas_Object *ck = elm_check_add(obj);
- elm_object_style_set(ck, "grid");
- evas_object_propagate_events_set(ck, 1);
- elm_check_state_set(ck, ti->checked);
- elm_gengrid_item_selected_set(ti->item, ti->checked);
- evas_object_smart_callback_add(ck, "changed", _item_check_changed_cb, data);
- evas_object_show(ck);
- return ck;
- }
-
- return NULL;
-}
-
-static void
-_show_selected_items(Testitem *ti)
-{
- /*const Eina_List* list = elm_gengrid_selected_items_get(grid);
- const Eina_List* l = NULL;
- Elm_Object_Item *recv = NULL;
- printf("--------------------------\nSelected Items :");
- EINA_LIST_FOREACH(list, l, recv) {
- Testitem *ti = (Testitem *)elm_object_item_data_get(recv);
- printf("%d ",ti->index);
- }
- printf("\n--------------------------\n");*/
-}
-
-static void
-_item_selected(void *data, Evas_Object *obj, void *event_info)
-{
- Testitem *ti = (Testitem *)data;
-
- _show_selected_items(ti);
-
- if (mode == VIEW_MODE)
- elm_gengrid_item_selected_set(ti->item, EINA_FALSE);
-}
-
-static void _on_rotation_changed(void *data, Evas_Object *obj, void *event_info )
-{
- int rot = -1;
- Evas_Object *win = obj;
- Evas_Object *gengrid = data;
- Elm_Object_Item *it;
-
- it = elm_gengrid_first_item_get(gengrid);
- rot = elm_win_rotation_get(win);
- while(it) {
- if (rot == 90 || rot == 270)
- elm_gengrid_item_item_class_update(it, gic_default);
- else
- elm_gengrid_item_item_class_update(it, gic_photo);
- it = elm_gengrid_item_next_get(it);
- }
-}
-
-static void
-_create_gengrid (void *data, Elm_Theme *th)
-{
- struct appdata *ad = (struct appdata *)data;
- int i;
- char buf[PATH_MAX];
- static Testitem ti[IMAGE_MAX+6];
-
- gengrid = elm_gengrid_add(ad->nf);
- elm_object_theme_set(gengrid, th);
- evas_object_size_hint_weight_set(gengrid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(gengrid, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- double scale = elm_config_scale_get();
- int w = (int)((10*scale)+(158*scale)+(10*scale)); // width 10+158+10
- int h = (int)((24*scale)+(158*scale)); // height 24+158
- elm_gengrid_item_size_set(gengrid, w, h);
- elm_gengrid_align_set(gengrid, 0.0, 0.0);
- elm_gengrid_horizontal_set(gengrid, EINA_FALSE);
- elm_gengrid_multi_select_set(gengrid, EINA_TRUE);
- evas_object_smart_callback_add(gengrid, "moved", grid_moved, NULL);
- evas_object_smart_callback_add(gengrid, "longpressed", grid_longpress, NULL);
- evas_object_smart_callback_add(elm_object_top_widget_get(gengrid), "rotation,changed", _on_rotation_changed, gengrid);
-
- gic_default = elm_gengrid_item_class_new();
- gic_default->item_style = "elm_demo_tizen/customized_default_style";
- gic_default->func.text_get = NULL;
- gic_default->func.content_get = grid_default_content_get;
- gic_default->func.state_get = NULL;
- gic_default->func.del = NULL;
-
- gic_photo = elm_gengrid_item_class_new();
- gic_photo->item_style = "elm_demo_tizen/customized_photo_style";
- gic_photo->func.text_get = NULL;
- gic_photo->func.content_get = grid_photo_content_get;
- gic_photo->func.state_get = NULL;
- gic_photo->func.del = NULL;
-
- for (i = 0; i < IMAGE_MAX; i++) {
- snprintf(buf, sizeof(buf), "%s/Albums_Item/Albums_Item%d.jpg", ICON_DIR, i+1);
- ti[i].index = i;
- ti[i].path = eina_stringshare_add(buf);
- ti[i].item = elm_gengrid_item_append(gengrid, gic_photo, &(ti[i]), _item_selected, &(ti[i]));
- ti[i].checked = EINA_FALSE;
- }
-
- i++;
- snprintf(buf, sizeof(buf), "%s/grid_image/1_raw.jpg", ICON_DIR);
- ti[i].index = i;
- ti[i].path = eina_stringshare_add(buf);
- ti[i].item = elm_gengrid_item_append(gengrid, gic_photo, &(ti[i]), _item_selected, &(ti[i]));
- ti[i].checked = EINA_FALSE;
- i++;
- snprintf(buf, sizeof(buf), "%s/genlist/taeyon50.jpg", ICON_DIR);
- ti[i].index = i;
- ti[i].path = eina_stringshare_add(buf);
- ti[i].item = elm_gengrid_item_append(gengrid, gic_photo, &(ti[i]), _item_selected, &(ti[i]));
- ti[i].checked = EINA_FALSE;
- i++;
- snprintf(buf, sizeof(buf), "%s/image_slider.png", ICON_DIR);
- ti[i].index = i;
- ti[i].path = eina_stringshare_add(buf);
- ti[i].item = elm_gengrid_item_append(gengrid, gic_photo, &(ti[i]), _item_selected, &(ti[i]));
- ti[i].checked = EINA_FALSE;
-
- i++;
- snprintf(buf, sizeof(buf), "%s/grid_image/3_raw.jpg", ICON_DIR);
- ti[i].index = i;
- ti[i].path = eina_stringshare_add(buf);
- ti[i].item = elm_gengrid_item_append(gengrid, gic_default, &(ti[i]), _item_selected, &(ti[i]));
- ti[i].checked = EINA_FALSE;
-
- total_count = i + 1;
-}
-
-static void
-_check_select_all()
-{
- Elm_Object_Item *it;
- Testitem *ti;
-
- if (select_all_checked) checked_count = total_count;
- else checked_count = 0;
-
- it = elm_gengrid_first_item_get(gengrid);
- while(it) {
- ti = elm_object_item_data_get(it);
- if (ti) ti->checked = select_all_checked;
- elm_gengrid_item_selected_set(it, select_all_checked);
- elm_gengrid_item_update (it);
- it = elm_gengrid_item_next_get(it);
- }
-}
-
-static void
-_select_all_layout_mouse_down_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
-{
- select_all_checked = !select_all_checked;
- elm_check_state_pointer_set(select_all_checkbox, &select_all_checked);
-
- _check_select_all();
-}
-
-static void _select_all_check_changed_cb(void *data, Evas_Object *obj, void *event_info)
-{
- _check_select_all(data);
-}
-
-static void _delete_button_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Testitem *ti;
- Elm_Object_Item *it;
-
- it = elm_gengrid_first_item_get(gengrid);
- while (it) {
- ti = (Testitem *)elm_object_item_data_get(it);
- it = elm_gengrid_item_next_get(it);
-
- if ((ti) && (ti->checked)) {
- elm_object_item_del(ti->item);
- total_count--;
- checked_count--;
- }
- }
-}
-
-static void
-_edit_btn_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *del_btn;
-
- if (mode == VIEW_MODE) {
- mode = EDIT_MODE;
- elm_object_text_set(edit_btn, _("Done"));
-
- del_btn = elm_button_add(toolbar);
- elm_object_style_set(del_btn, "style1");
- evas_object_size_hint_weight_set(del_btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(del_btn, EVAS_HINT_FILL, 0.5);
- elm_object_text_set(del_btn, _("Delete"));
- evas_object_smart_callback_add(del_btn, "clicked", _delete_button_cb, NULL);
- evas_object_show(del_btn);
-
- del_btn_item = elm_toolbar_item_prepend(toolbar, NULL, NULL, NULL, NULL);
- elm_object_item_part_content_set(del_btn_item, "object", del_btn);
-
- select_all_layout = elm_layout_add(box);
- elm_layout_theme_set(select_all_layout, "genlist", "item", "select_all/default");
- evas_object_size_hint_weight_set(select_all_layout, EVAS_HINT_EXPAND, EVAS_HINT_FILL);
- evas_object_size_hint_align_set(select_all_layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_event_callback_add(select_all_layout, EVAS_CALLBACK_MOUSE_DOWN, _select_all_layout_mouse_down_cb, NULL);
-
- select_all_checkbox = elm_check_add(select_all_layout);
- elm_check_state_pointer_set(select_all_checkbox, &select_all_checked);
- evas_object_smart_callback_add(select_all_checkbox, "changed", _select_all_check_changed_cb, NULL);
- evas_object_propagate_events_set(select_all_checkbox, EINA_FALSE);
- elm_object_part_content_set(select_all_layout, "elm.icon", select_all_checkbox);
-
- elm_object_part_text_set(select_all_layout, "elm.text", "Select All");
- elm_box_pack_start(box, select_all_layout);
- evas_object_show(select_all_layout);
-
- elm_gengrid_reorder_mode_set(gengrid, EINA_TRUE);
- } else {
- mode = VIEW_MODE;
- elm_object_text_set(edit_btn, _("Edit"));
-
- elm_object_item_del(del_btn_item);
-
- elm_box_unpack(box, select_all_layout);
- evas_object_del(select_all_layout);
- select_all_layout = NULL;
-
- elm_gengrid_reorder_mode_set(gengrid, EINA_FALSE);
- }
-
- select_all_checked = EINA_FALSE;
- _check_select_all();
-}
-
-static Eina_Bool
-_pop_cb(void *data, Elm_Object_Item *it)
-{
- Elm_Theme *th = data;
- // Free customized theme
- elm_theme_free(th);
-
- elm_gengrid_clear(gengrid);
- evas_object_del(gengrid);
- gengrid = NULL;
-
- return EINA_TRUE;
-}
-
-void
-gengrid_theme_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Elm_Object_Item *item;
- Elm_Object_Item *navi_it;
-
- ad = (struct appdata *)data;
- if (ad == NULL) return;
-
- mode = VIEW_MODE;
-
- toolbar = elm_toolbar_add(ad->nf);
- elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_object_style_set(toolbar, "naviframe");
-
- edit_btn = elm_button_add(toolbar);
- evas_object_smart_callback_add(edit_btn, "clicked", _edit_btn_cb, ad);
- elm_object_style_set(edit_btn, "style1");
- evas_object_size_hint_weight_set(edit_btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(edit_btn, EVAS_HINT_FILL, 0.5);
- elm_object_text_set(edit_btn, _("Edit"));
- evas_object_show(edit_btn);
-
- item = elm_toolbar_item_append(toolbar, NULL, NULL, NULL, NULL);
- elm_object_item_part_content_set(item, "object", edit_btn);
-
- // Add customizaed theme
- Elm_Theme *th = elm_theme_new();
- elm_theme_ref_set(th, NULL); // refer to default theme
- elm_theme_extension_add(th, ELM_DEMO_EDJ);
-
- _create_gengrid(ad, th);
-
- box = elm_box_add(ad->nf);
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_show(box);
- elm_box_pack_end(box, gengrid);
- evas_object_show(gengrid);
-
- navi_it = elm_naviframe_item_push (ad->nf, _("Customized Style Sample") , NULL, NULL, box, NULL);
-
- elm_naviframe_item_pop_cb_set(navi_it, _pop_cb, th);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-
-#define IMAGE_MAX 79
-#define VIEW_MODE 0
-#define EDIT_MODE 1
-
-typedef struct _Testitem
-{
- Elm_Object_Item *item;
- const char *path;
- const char *text;
- int index;
- int checked;
-} Testitem;
-
-typedef struct View_Data
-{
- struct appdata *ad;
- int w;
- int h;
- char *type;
- Evas_Object *ctx;
-} View_Data;
-
-static Elm_Win_Indicator_Opacity_Mode indi_o_mode;
-static Elm_Win_Indicator_Mode indi_mode;
-static Eina_Bool overlap_mode;
-
-static int mode;
-static int total_count;
-static int checked_count;
-static Eina_Bool rotate_flag = EINA_FALSE;
-static Eina_Bool select_all_checked = EINA_FALSE;
-static Eina_Bool longpressed = EINA_FALSE;
-static Evas_Object *gengrid, *box;
-static Evas_Object *select_all_layout, *select_all_checkbox;
-static Elm_Gengrid_Item_Class *gic;
-static void _edit_toolbar_cb(void *data, Evas_Object *obj, void *event_info);
-static void _del_toolbar_cb(void *data, Evas_Object *obj, void *event_info);
-static void _done_toolbar_cb(void *data, Evas_Object *obj, void *event_info);
-static Evas_Object *create_edit_toolbar(struct appdata *ad);
-static Evas_Object *create_del_done_toolbar(struct appdata *ad);
-static void _normal_indi_cb(void *data);
-static void _transparent_indi_cb(void *data);
-
-static void
-grid_moved(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *moved_item = (Elm_Object_Item *)event_info;
-
- Testitem *moved_ti = (Testitem *)elm_object_item_data_get(moved_item);
- printf("moved item index = %d", moved_ti->index);
-
- if (elm_gengrid_item_prev_get(moved_item)) {
- Testitem *prev_ti = (Testitem *)elm_object_item_data_get(elm_gengrid_item_prev_get(moved_item));
- printf(", prev index = %d", prev_ti->index);
- }
- if (elm_gengrid_item_next_get(moved_item)) {
- Testitem *next_ti = (Testitem *)elm_object_item_data_get(elm_gengrid_item_next_get(moved_item));
- printf(", next index = %d", next_ti->index);
- }
- printf("\n");
-
- // If you want change your data, you can here.
-}
-
-static void
-grid_longpress(void *data, Evas_Object *obj, void *ei)
-{
- if (mode == EDIT_MODE) {
- longpressed = EINA_TRUE;
- printf("Item(%p) Reorder enabled\n", ei);
- } else {
- longpressed = EINA_FALSE;
- printf("Item(%p) disabled\n", ei);
- }
-
- // If you need to cancel select status when longpress is called(e.g. popup)
- // set elm_gengrid_item_selected_set as EINA_FALSE.
- // elm_gengrid_item_selected_set(ei, EINA_FALSE);
-
-}
-
-static void
-_item_check_changed_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Eina_Bool state;
-
- state = elm_check_state_get(obj);
-
- if (state) checked_count++;
- else checked_count--;
-
- if (select_all_layout) {
- if (total_count == checked_count)
- select_all_checked = EINA_TRUE;
- else
- select_all_checked = EINA_FALSE;
- elm_check_state_pointer_set(select_all_checkbox, &select_all_checked);
- }
-
-}
-
-static Evas_Object *
-grid_content_get(void *data, Evas_Object *obj, const char *part)
-{
- Testitem *ti = (Testitem *)data;
- Elm_Object_Item *it = elm_gengrid_last_item_get(obj);
- int last_idx = elm_gengrid_item_index_get(it);
-
- if (ti->index == last_idx) {
- if (!strcmp(part, "elm.swallow.end")) {
- Evas_Object *progressbar = elm_progressbar_add(obj);
- elm_object_style_set(progressbar, "process_medium");
- evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL, 0.5);
- //evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- //evas_object_size_hint_min_set(progressbar, 150, 150);
- evas_object_show(progressbar);
- elm_progressbar_pulse(progressbar, EINA_TRUE);
- return progressbar;
- } else return NULL;
- } else if (!strcmp(part, "elm.swallow.icon")) {
- Evas_Object *icon = elm_image_add(obj);
- elm_image_file_set(icon, ti->path, NULL);
- elm_image_aspect_fixed_set(icon, EINA_FALSE);
- elm_image_preload_disabled_set(icon, EINA_FALSE);
- evas_object_show(icon);
- return icon;
- } else if (!strcmp(part, "elm.swallow.end") && mode == EDIT_MODE) {
- Evas_Object *ck = elm_check_add(obj);
- elm_object_style_set(ck, "grid");
- evas_object_propagate_events_set(ck, EINA_FALSE);
- elm_check_state_set(ck, ti->checked);
- evas_object_repeat_events_set(ck, EINA_TRUE);
- elm_access_object_unregister(ck);
-
- evas_object_show(ck);
- return ck;
- }
-
- return NULL;
-}
-
-static void
-_show_selected_items(Testitem *ti)
-{
- /*const Eina_List* list = elm_gengrid_selected_items_get(grid);
- const Eina_List* l = NULL;
- Elm_Object_Item *recv = NULL;
- printf("--------------------------\nSelected Items :");
- EINA_LIST_FOREACH(list, l, recv) {
- Testitem *ti = (Testitem *)elm_object_item_data_get(recv);
- printf("%d ",ti->index);
- }
- printf("\n--------------------------\n");*/
-}
-
-static void
-_item_selected(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *ck;
- Testitem *ti = (Testitem *)data;
- ck = elm_object_item_part_content_get(event_info, "elm.swallow.end");
-
- printf("item selected: %p\n", event_info);
-
- _show_selected_items(ti);
-
- elm_gengrid_item_selected_set(ti->item, EINA_FALSE);
-
- if (longpressed) {
- longpressed = EINA_FALSE;
- return;
- }
-
- ti->checked = !(elm_check_state_get(ck));
- elm_check_state_set(ck, ti->checked);
-
- _item_check_changed_cb(data, ck, NULL);
-}
-
-static void _realized(void *data, Evas_Object *obj, void *ei)
-{
- printf("[%s][%d]\n", __func__, __LINE__);
-}
-
-static void
-_create_gengrid (void *data, char *type)
-{
- struct View_Data *vd = data;
- struct appdata *ad = vd->ad;
- int i, j, n, w, h;
- char buf[PATH_MAX];
- static Testitem ti[IMAGE_MAX*25];
-
- gengrid = elm_gengrid_add(ad->nf);
- evas_object_size_hint_weight_set(gengrid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(gengrid, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- double scale = elm_config_scale_get();
- w = (int)(vd->w * scale); //177 as per UX ver 1.7.
- h = (int)(vd->h * scale);
- elm_gengrid_item_size_set(gengrid, w, h);
- elm_gengrid_align_set(gengrid, 0.5, 0.5);
- elm_gengrid_horizontal_set(gengrid, EINA_TRUE);
- elm_gengrid_multi_select_set(gengrid, EINA_TRUE);
- evas_object_smart_callback_add(gengrid, "moved", grid_moved, NULL);
- evas_object_smart_callback_add(gengrid, "longpressed", grid_longpress, NULL);
- evas_object_smart_callback_add(gengrid, "realized", _realized, NULL);
-
- gic = elm_gengrid_item_class_new();
- gic->item_style=type;
-
- gic->func.text_get = NULL;
- gic->func.content_get = grid_content_get;
- gic->func.state_get = NULL;
- gic->func.del = NULL;
-
- for (j = 0; j < 25; j++) {
- for (i = 0; i < IMAGE_MAX; i++) {
- n = i+(j*IMAGE_MAX);
- snprintf(buf, sizeof(buf), "%s/grid_image/%d_raw.jpg", ICON_DIR, i+1);
- ti[n].index = n;
- ti[n].path = eina_stringshare_add(buf);
- //TODO: check the func data
- ti[n].item = elm_gengrid_item_append(gengrid, gic, &(ti[n]), _item_selected, &(ti[n]));
- ti[n].checked = EINA_FALSE;
- }
- }
- total_count = n + 1;
-}
-
-static void
-_check_field_update()
-{
- Elm_Object_Item *it;
- Eina_List *realize_its;
-
- realize_its = elm_gengrid_realized_items_get(gengrid);
-
- EINA_LIST_FREE(realize_its, it) {
- elm_gengrid_item_fields_update(it, "elm.swallow.end", ELM_GENGRID_ITEM_FIELD_CONTENT);
- }
-}
-
-static void
-_check_select_all()
-{
- Elm_Object_Item *it;
- Testitem *ti;
- Eina_List *realize_its;
-
- if (select_all_checked) checked_count = total_count;
- else checked_count = 0;
-
- it = elm_gengrid_first_item_get(gengrid);
- while(it) {
- ti = elm_object_item_data_get(it);
- if (ti) ti->checked = select_all_checked;
- it = elm_gengrid_item_next_get(it);
- }
- realize_its = elm_gengrid_realized_items_get(gengrid);
-
- EINA_LIST_FREE(realize_its, it) {
- const char *type = NULL;
- Evas_Object *ck = elm_object_item_part_content_get(it, "elm.swallow.end");
- if (ck) type = elm_object_widget_type_get(ck);
- if (type && !strcmp(type, "elm_check")) {
- elm_check_state_set(ck, select_all_checked);
- }
- }
-}
-
-static void
-_select_all_layout_mouse_down_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
-{
- select_all_checked = !select_all_checked;
- elm_check_state_pointer_set(select_all_checkbox, &select_all_checked);
-
- _check_select_all();
-}
-
-static void _select_all_check_changed_cb(void *data, Evas_Object *obj, void *event_info)
-{
- _check_select_all(data);
-}
-
-static Evas_Object *create_edit_toolbar(struct appdata *ad)
-{
- Evas_Object *obj;
-
- /* create toolbar */
- obj = elm_toolbar_add(ad->nf);
- if(obj == NULL) return NULL;
- elm_object_style_set(obj, "default");
- elm_toolbar_shrink_mode_set(obj, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_transverse_expanded_set(obj, EINA_TRUE);
- elm_toolbar_select_mode_set(obj, ELM_OBJECT_SELECT_MODE_NONE);
-
- elm_toolbar_item_append(obj, NULL, "Edit", _edit_toolbar_cb, ad);
-
- return obj;
-}
-
-static Evas_Object *create_del_done_toolbar(struct appdata *ad)
-{
- Evas_Object *obj;
-
- /* create toolbar */
- obj = elm_toolbar_add(ad->nf);
- if(obj == NULL) return NULL;
- elm_object_style_set(obj, "default");
- elm_toolbar_shrink_mode_set(obj, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_transverse_expanded_set(obj, EINA_TRUE);
- elm_toolbar_select_mode_set(obj, ELM_OBJECT_SELECT_MODE_NONE);
-
- elm_toolbar_item_append(obj, NULL, "Delete", _del_toolbar_cb, ad);
- elm_toolbar_item_append(obj, NULL, "Done", _done_toolbar_cb, ad);
-
- return obj;
-}
-
-static void _edit_toolbar_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *toolbar;
- Elm_Object_Item *navi_it;
- struct appdata *ad;
- ad = (struct appdata *) data;
- if(ad == NULL) return;
-
- if (mode == VIEW_MODE) {
- mode = EDIT_MODE;
- select_all_layout = elm_layout_add(box);
- elm_layout_theme_set(select_all_layout, "genlist", "item", "select_all/default");
- evas_object_size_hint_weight_set(select_all_layout, EVAS_HINT_EXPAND, EVAS_HINT_FILL);
- evas_object_size_hint_align_set(select_all_layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_event_callback_add(select_all_layout, EVAS_CALLBACK_MOUSE_DOWN, _select_all_layout_mouse_down_cb, NULL);
-
- select_all_checkbox = elm_check_add(select_all_layout);
- elm_check_state_pointer_set(select_all_checkbox, &select_all_checked);
- evas_object_smart_callback_add(select_all_checkbox, "changed", _select_all_check_changed_cb, NULL);
- evas_object_propagate_events_set(select_all_checkbox, EINA_FALSE);
- elm_object_part_content_set(select_all_layout, "elm.icon", select_all_checkbox);
-
- elm_object_part_text_set(select_all_layout, "elm.text", "Select All");
- elm_box_pack_end(box, select_all_layout);
- evas_object_show(select_all_layout);
- elm_gengrid_reorder_mode_set(gengrid, EINA_TRUE);
- }
-
- select_all_checked = EINA_FALSE;
- _check_select_all();
- _check_field_update();
-
- navi_it = elm_naviframe_top_item_get(ad->nf);
- toolbar = create_del_done_toolbar(ad);
- elm_object_item_part_content_set(navi_it, "toolbar", toolbar);
-}
-
-static void _del_toolbar_cb(void *data, Evas_Object *obj, void *envent_info)
-{
- Testitem *ti;
- Elm_Object_Item *it;
-
- it = elm_gengrid_first_item_get(gengrid);
- while (it) {
- ti = (Testitem *)elm_object_item_data_get(it);
- it = elm_gengrid_item_next_get(it);
- if ((ti) && (ti->checked)) {
- elm_object_item_del(ti->item);
- total_count--;
- checked_count--;
- }
- }
-}
-
-static void _done_toolbar_cb(void *data, Evas_Object *obj, void *envent_info)
-{
- Evas_Object *toolbar;
- Elm_Object_Item *navi_it;
- struct appdata *ad;
- ad = (struct appdata *) data;
- if(ad == NULL) return;
-
- if(mode == EDIT_MODE) {
- mode = VIEW_MODE;
- elm_box_unpack(box, select_all_layout);
- evas_object_del(select_all_layout);
- select_all_layout = NULL;
- elm_gengrid_reorder_mode_set(gengrid, EINA_FALSE);
- }
-
- select_all_checked = EINA_FALSE;
- _check_select_all();
- _check_field_update();
-
- navi_it = elm_naviframe_top_item_get(ad->nf);
- toolbar = create_edit_toolbar(ad);
- elm_object_item_part_content_set(navi_it, "toolbar", toolbar);
-}
-
-static Eina_Bool
-_pop_cb(void *data, Elm_Object_Item *it)
-{
- if (!data) return EINA_TRUE;
- View_Data *vd = data;
- _normal_indi_cb(vd->ad);
-
- if(vd->ctx) {
- evas_object_del(vd->ctx);
- vd->ctx = NULL;
- }
-
- elm_gengrid_clear(gengrid);
- evas_object_del(gengrid);
- gengrid = NULL;
- elm_object_style_set(vd->ad->bg, "default");
-
- if (vd) free(vd);
-
- return EINA_TRUE;
-}
-
-static void
-_extpopup_cb(void *data, Evas_Object *obj, void *event)
-{
- if ((!data) || (!obj)) return;
- View_Data *vd;
- struct appdata *ad;
- Elm_Object_Item *it = NULL;
- vd = (struct View_Data *) data;
-
- ad = vd->ad;
- Elm_Object_Item *navi_it;
- const char *label = elm_object_item_text_get((Elm_Object_Item *) event);
-
- if (label) {
- if (!strcmp(label, "Small Size")) {
- vd->w = 177;
- vd->h = 133;
- } else if (!strcmp(label, "Middle Size")) {
- vd->w = 238;
- vd->h = 178;
- } else if (!strcmp(label, "Large Size")) {
- vd->w = 357;
- vd->h = 267;
- }
- }
-
- elm_gengrid_clear(gengrid);
- evas_object_del(gengrid);
- gengrid = NULL;
-
- _create_gengrid(vd, vd->type);
- it = elm_gengrid_last_item_get(gengrid);
- elm_gengrid_item_show(it, ELM_GENGRID_ITEM_SCROLLTO_IN);
-
- box = elm_box_add(ad->nf);
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_show(box);
- elm_box_pack_end(box, gengrid);
- evas_object_show(gengrid);
- navi_it = elm_naviframe_top_item_get(ad->nf);
- elm_object_item_content_set(navi_it, box);
- evas_object_del(obj);
-}
-
-static void
-_move_ctx(void *data, Evas_Object *obj)
-{
- if(!data) return;
- View_Data *vd = data;
- Evas_Object *ctx = obj;
- Evas_Coord w, h;
- int pos = -1;
-
-#if DESKTOP
- evas_object_geometry_get(vd->ad->win_main, NULL, NULL, &w, &h);
-#else
- elm_win_screen_size_get(vd->ad->win_main, NULL, NULL, &w, &h);
-#endif
- pos = elm_win_rotation_get(vd->ad->win_main);
- switch (pos) {
- case 0:
- case 180:
- evas_object_move(ctx, 0, h);
- break;
- case 90:
- evas_object_move(ctx, 0, w);
- break;
- case 270:
- evas_object_move(ctx, h, w);
- break;
- }
-}
-
-static void
-_dismissed_cb(void *data, Evas_Object *obj , void *event_info)
-{
- View_Data *vd = data;
- Evas_Object *ctx = obj;
-
- if (!rotate_flag) {
- evas_object_del(ctx);
- }
- else {
- _move_ctx(vd, ctx);
- evas_object_show(ctx);
- rotate_flag = EINA_FALSE;
- }
-}
-
-static void
-_resize_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- Evas_Object *ctx = (Evas_Object *)data;
-
- if (ctx)
- rotate_flag = EINA_TRUE;
- else
- rotate_flag = EINA_FALSE;
-}
-
-static void
-_rotate_cb(void *data, Evas_Object *obj, void *event_info)
-{
- View_Data *vd = data;
- Evas_Object *ctx = vd->ctx;
- _move_ctx(vd, ctx);
- evas_object_show(ctx);
-}
-
-static void _delete_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- View_Data *vd = data;
- Evas_Object *navi = vd->ad->nf;
- Evas_Object *ctx = obj;
-
- evas_object_event_callback_del_full(navi, EVAS_CALLBACK_RESIZE, _resize_cb, ctx);
- evas_object_smart_callback_del_full(elm_object_top_widget_get(ctx), "rotation,changed", _rotate_cb, vd);
- evas_object_smart_callback_del(ctx, "dismissed", _dismissed_cb);
- evas_object_event_callback_del_full(ctx, EVAS_CALLBACK_DEL, _delete_cb, navi);
-}
-
-
-static void
-_create_more_btn_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (!data) return;
- Evas_Object *ctx;
- View_Data *vd = data;
- struct appdata *ad;
- ad = vd->ad;
- double s = elm_config_scale_get();
-
- ctx = elm_ctxpopup_add(ad->nf);
- elm_object_style_set(ctx, "more/default");
- ea_object_event_callback_add(ctx, EA_CALLBACK_BACK, ea_ctxpopup_back_cb, NULL);
- evas_object_smart_callback_add(ctx,"dismissed", _dismissed_cb, vd);
- evas_object_event_callback_add(ctx, EVAS_CALLBACK_DEL, _delete_cb, vd);
- evas_object_event_callback_add(ad->nf, EVAS_CALLBACK_RESIZE, _resize_cb, ctx);
- evas_object_smart_callback_add(elm_object_top_widget_get(ctx), "rotation,changed", _rotate_cb, vd);
- elm_ctxpopup_item_append(ctx, "Small Size", NULL, _extpopup_cb, vd);
- elm_ctxpopup_item_append(ctx, "Middle Size", NULL, _extpopup_cb, vd);
- elm_ctxpopup_item_append(ctx, "Large Size", NULL, _extpopup_cb, vd);
- evas_object_size_hint_max_set(ctx, s*500, s*600);
- elm_ctxpopup_direction_priority_set(ctx, ELM_CTXPOPUP_DIRECTION_UP,
- ELM_CTXPOPUP_DIRECTION_UNKNOWN,
- ELM_CTXPOPUP_DIRECTION_UNKNOWN,
- ELM_CTXPOPUP_DIRECTION_UNKNOWN);
-
- _move_ctx(vd, ctx);
- evas_object_show(ctx);
-}
-void
-gengrid_create_cb(void *data, char *type)
-{
- struct appdata *ad;
- View_Data *vd;
- Evas_Object *toolbar;
- Evas_Object *btn;
- Elm_Object_Item *navi_it;
- Elm_Object_Item *it = NULL;
-
- vd = (struct View_Data *) data;
- if (vd == NULL) return;
- ad = vd->ad;
-
- if(!strcmp(type, "gallery")) _transparent_indi_cb(vd->ad);
- mode = VIEW_MODE;
-
- _create_gengrid(vd, type);
- it = elm_gengrid_last_item_get(gengrid);
- elm_gengrid_item_show(it, ELM_GENGRID_ITEM_SCROLLTO_IN);
-
- box = elm_box_add(ad->nf);
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_show(box);
- elm_box_pack_end(box, gengrid);
- evas_object_show(gengrid);
-
- navi_it = elm_naviframe_item_push (ad->nf, _("Default") , NULL, NULL, box, NULL);
-
- toolbar = create_edit_toolbar(ad);
- elm_object_item_part_content_set(navi_it, "toolbar", toolbar);
- elm_naviframe_item_pop_cb_set(navi_it, _pop_cb, vd);
- btn = elm_button_add(ad->nf);
- elm_object_style_set(btn, "naviframe/more/default");
- evas_object_smart_callback_add(btn, "clicked", _create_more_btn_cb, vd);
- elm_object_item_part_content_set(navi_it, "toolbar_more_btn", btn);
-}
-
-static void
-_transparent_indi_cb(void *data)
-{
- struct appdata *ad = (struct appdata *) data;
- Evas_Object *win, *conform;
-
- if ((!ad->win_main) || (!ad->conform))
- {
- printf("[%s]:We can't get conformant\n", __FUNCTION__);
- return;
- }
- win = ad->win_main;
- conform = ad->conform;
-
- /*App have to manage indicator type, layout, etc...
- save all value related with indicator,
- because we have to rollback if my view disappeared (like ug or etc)
- 1. change indicator type into transparent indicator.
- 2. change indicator bg into transparent.
- 3. set layout start position to (0,0)
- */
-
- //nooverlap mode is layout start <0,60(indicator height). This is default.
- //overlap mode is layout start <0,0>
- //if layout start (0,60), nooverlap_mode is null.
-
- elm_win_indicator_mode_set(win, ELM_WIN_INDICATOR_SHOW);
- elm_win_indicator_opacity_set(win, ELM_WIN_INDICATOR_TRANSPARENT);
-
- //if you change your layout to nooverlap_mode(to locate layout 0,0)
- //you should emit signal and set data of "nooverlap"
- elm_object_signal_emit(conform, "elm,state,indicator,overlap", "");
- evas_object_data_set(conform, "overlap", (void *)EINA_TRUE);
-}
-
-static void
-_normal_indi_cb(void *data)
-{
- struct appdata *ad = (struct appdata *) data;
- Evas_Object *win, *conform;
-
- if ((!ad->win_main) || (!ad->conform))
- {
- printf("[%s]:We can't get conformant\n", __FUNCTION__);
- return;
- }
- win = ad->win_main;
- conform = ad->conform;
-
- //recover indicator mode and type when your view disappeared.
- elm_win_indicator_mode_set(win, ELM_WIN_INDICATOR_SHOW);
- elm_win_indicator_opacity_set(win, ELM_WIN_INDICATOR_OPAQUE);
-
- elm_object_signal_emit(conform, "elm,state,indicator,nooverlap", "");
-
- evas_object_data_set(conform, "overlap", NULL);
- printf("[%s][%d] trans indi mode=%d opacity=%d over(0,0)=%d\n", __FUNCTION__, __LINE__, indi_mode, indi_o_mode, (int)overlap_mode);
-}
-
-
-void
-gengrid_gallerygrid_cb(void *data, Evas_Object *obj, void *event_info)
-{
- View_Data *vd;
- vd = calloc(1, sizeof(View_Data));
- vd->ad = (struct appdata *)data;
- vd->w = 357;
- vd->h = 267;
- vd->type = "gallery";
- gengrid_create_cb(vd, vd->type);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-
-#define IMAGE_MAX 79
-#define VIEW_MODE 0
-#define EDIT_MODE 1
-
-#define FONT_SIZE_INDEX_SMALL 24
-#define FONT_SIZE_INDEX_NORMAL 35
-#define FONT_SIZE_INDEX_LARGE 55
-#define FONT_SIZE_INDEX_HUGE 75
-#define FONT_SIZE_INDEX_GIANT 92
-#define BASE_GENGRID_HEIGHT 76 //As per reference of UX of Genlist Group Index.
-
-typedef struct _Testitem
-{
- Elm_Object_Item *item;
- const char *text;
- const char *path;
- int index;
- int checked;
-} Testitem;
-
-typedef enum {
- SIZE_INDEX_SMALL = 0,
- SIZE_INDEX_NORMAL,
- SIZE_INDEX_LARGE,
- SIZE_INDEX_HUGE,
- SIZE_INDEX_GIANT
-} font_size_index;
-
-static int mode;
-static int total_count;
-static int checked_count;
-static Eina_Bool select_all_checked = EINA_FALSE;
-static Eina_Bool longpressed = EINA_FALSE;
-static Evas_Object *gengrid, *box;
-static Evas_Object *select_all_layout, *select_all_checkbox;
-static Elm_Gengrid_Item_Class *gic, *ngic, *vgic;
-static Elm_Gengrid_Item_Class ggic;
-static void _edit_toolbar_cb(void *data, Evas_Object *obj, void *event_info);
-static void _del_toolbar_cb(void *data, Evas_Object *obj, void *event_info);
-static void _done_toolbar_cb(void *data, Evas_Object *obj, void *event_info);
-static Evas_Object *create_edit_toolbar(struct appdata *ad);
-static Evas_Object *create_del_done_toolbar(struct appdata *ad);
-
-char *groupindex_names[] = {"A", "B", "C", "g", "y", NULL};
-
-static void
-grid_moved(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *moved_item = (Elm_Object_Item *)event_info;
-
- Testitem *moved_ti = (Testitem *)elm_object_item_data_get(moved_item);
- printf("moved item index = %d", moved_ti->index);
-
- if (elm_gengrid_item_prev_get(moved_item)) {
- Testitem *prev_ti = (Testitem *)elm_object_item_data_get(elm_gengrid_item_prev_get(moved_item));
- printf(", prev index = %d", prev_ti->index);
- }
- if (elm_gengrid_item_next_get(moved_item)) {
- Testitem *next_ti = (Testitem *)elm_object_item_data_get(elm_gengrid_item_next_get(moved_item));
- printf(", next index = %d", next_ti->index);
- }
- printf("\n");
-
- // If you want change your data, you can here.
-}
-
-static void
-grid_longpress(void *data, Evas_Object *obj, void *event_info)
-{
- longpressed = (mode == EDIT_MODE ? EINA_TRUE : EINA_FALSE);
-
- // If you need to cancel select status when longpress is called(e.g. popup)
- // set elm_gengrid_item_selected_set as EINA_FALSE.
- // elm_gengrid_item_selected_set(event_info, EINA_FALSE);
-}
-
-static void
-_item_check_changed_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Eina_Bool state;
-
- state = elm_check_state_get(obj);
-
- if (state) checked_count++;
- else checked_count--;
-
- if (select_all_layout) {
- if (total_count == checked_count)
- select_all_checked = EINA_TRUE;
- else
- select_all_checked = EINA_FALSE;
- elm_check_state_pointer_set(select_all_checkbox, &select_all_checked);
- }
-
-}
-
-static void
-_text_part_mouse_clicked_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
-{
- printf("text_clicked!!\n");
-}
-
-static char *
-grid_text_get(void *data, Evas_Object *obj, const char *part)
-{
- Testitem *ti = (Testitem *)data;
-
- if (!strcmp(part, "elm.text"))
- return strdup(ti->text);
-
- return NULL;
-}
-
-static char *
-grid_text_video_text_get(void *data, Evas_Object *obj, const char *part)
-{
- Testitem *ti = (Testitem *)data;
-
- if (!strcmp(part, "elm.text"))
- return strdup(ti->text);
- else if (!strcmp(part, "elm.text.video"))
- return strdup("00:00:00");
- return NULL;
-}
-
-static char *
-grid_video_text_get(void *data, Evas_Object *obj, const char *part)
-{
- if (!strcmp(part, "elm.text.video"))
- return strdup("00:00:00");
- return NULL;
-}
-
-static char *
-grid_groupindex_text_get(void *data, Evas_Object *obj, const char *part)
-{
- int index = (int)data;
- if (!strcmp(part, "elm.text")) {
- return strdup(groupindex_names[index]);
- }
- return NULL;
-}
-
-static void
-_size_set_on_font_resize() {
- int x, h, w;
- font_size_index font_index;
- vconf_get_int(VCONFKEY_SETAPPL_ACCESSIBILITY_FONT_SIZE, &x);
- double scale = elm_config_scale_get();
- font_index = x;
-
- switch (font_index) {
- case SIZE_INDEX_SMALL :
- h = (int)((BASE_GENGRID_HEIGHT - FONT_SIZE_INDEX_NORMAL + FONT_SIZE_INDEX_SMALL + 1 /*extra pixel for overlapp check*/) * scale);
- break;
- case SIZE_INDEX_NORMAL :
- h = (int)(BASE_GENGRID_HEIGHT * scale);
- break;
- case SIZE_INDEX_LARGE :
- h = (int)((BASE_GENGRID_HEIGHT - FONT_SIZE_INDEX_NORMAL + FONT_SIZE_INDEX_LARGE) * scale);
- break;
- case SIZE_INDEX_HUGE :
- h = (int)((BASE_GENGRID_HEIGHT - FONT_SIZE_INDEX_NORMAL + FONT_SIZE_INDEX_HUGE) * scale);
- break;
- case SIZE_INDEX_GIANT :
- h = (int)((BASE_GENGRID_HEIGHT - FONT_SIZE_INDEX_NORMAL + FONT_SIZE_INDEX_GIANT) * scale);
- break;
- default:
- h = (int)(BASE_GENGRID_HEIGHT * scale ); //If no font size obtained, set the height to maximum
- }
- w = (int)(720 * scale);
- elm_gengrid_group_item_size_set(gengrid, w, h);
-}
-
-static void
-_vconf_size_key_changed_cb()
-{
- _size_set_on_font_resize();
-}
-
-static Evas_Object *
-grid_content_get(void *data, Evas_Object *obj, const char *part)
-{
- Testitem *ti = (Testitem *)data;
-
- if (ti->index == 1) {
- if (!strcmp(part, "elm.swallow.end")) {
- Evas_Object *progressbar = elm_progressbar_add(obj);
- elm_object_style_set(progressbar, "process_medium");
- evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL, 0.5);
- evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_show(progressbar);
- elm_progressbar_pulse(progressbar, EINA_TRUE);
- return progressbar;
- } else return NULL;
- } else if (!strcmp(part, "elm.swallow.icon")) {
- Evas_Object *icon = elm_image_add(obj);
- elm_image_file_set(icon, ti->path, NULL);
- elm_image_aspect_fixed_set(icon, EINA_FALSE);
- elm_image_preload_disabled_set(icon, EINA_FALSE);
- evas_object_show(icon);
- return icon;
- } else if (!strcmp(part, "elm.swallow.block") && mode == EDIT_MODE) {
- Evas_Object *layout = elm_layout_add(obj);
- elm_layout_theme_set(layout, "gengrid", "item", "block/default");
- evas_object_propagate_events_set(layout, 0);
- evas_object_event_callback_add(layout, EVAS_CALLBACK_MOUSE_DOWN, _text_part_mouse_clicked_cb, ti);
- return layout;
- } else if (!strcmp(part, "elm.swallow.end") && mode == EDIT_MODE) {
- Evas_Object *ck = elm_check_add(obj);
- elm_object_style_set(ck, "grid");
- evas_object_propagate_events_set(ck, EINA_FALSE);
- elm_check_state_set(ck, ti->checked);
- evas_object_repeat_events_set(ck, EINA_TRUE);
- elm_access_object_unregister(ck);
-
- evas_object_show(ck);
- return ck;
- }
-
- return NULL;
-}
-
-static Evas_Object *
-grid_video_content_get(void *data, Evas_Object *obj, const char *part)
-{
- Testitem *ti = (Testitem *)data;
-
- if (ti->index == 1) {
- if (!strcmp(part, "elm.swallow.end")) {
- elm_object_item_signal_emit(ti->item, "elm,state,end,visible", "elm");
- Evas_Object *progressbar = elm_progressbar_add(obj);
- elm_object_style_set(progressbar, "process_medium");
- evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL, 0.5);
- evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_show(progressbar);
- elm_progressbar_pulse(progressbar, EINA_TRUE);
- return progressbar;
- } else return NULL;
- } else if (!strcmp(part, "elm.swallow.icon")) {
- Evas_Object *icon = elm_image_add(obj);
- elm_image_file_set(icon, ti->path, NULL);
- elm_image_aspect_fixed_set(icon, EINA_FALSE);
- elm_image_preload_disabled_set(icon, EINA_FALSE);
- evas_object_show(icon);
- return icon;
- } else if (!strcmp(part, "elm.swallow.block") && mode == EDIT_MODE) {
- Evas_Object *layout = elm_layout_add(obj);
- elm_layout_theme_set(layout, "gengrid", "item", "block/default");
- evas_object_propagate_events_set(layout, 0);
- evas_object_event_callback_add(layout, EVAS_CALLBACK_MOUSE_DOWN, _text_part_mouse_clicked_cb, ti);
- return layout;
- } else if (!strcmp(part, "elm.swallow.end") && mode == EDIT_MODE) {
- Evas_Object *ck = elm_check_add(obj);
- elm_object_style_set(ck, "grid");
- evas_object_propagate_events_set(ck, EINA_FALSE);
- elm_check_state_set(ck, ti->checked);
- evas_object_repeat_events_set(ck, EINA_TRUE);
- elm_access_object_unregister(ck);
-
- evas_object_show(ck);
- return ck;
- } else if (!strcmp(part, "elm.swallow.video")) {
- Evas_Object *video_play = elm_image_add(obj);
- elm_image_file_set(video_play, ICON_DIR"/00_video_play.png", NULL);
- elm_image_aspect_fixed_set(video_play, EINA_TRUE);
- elm_image_resizable_set(video_play, EINA_FALSE, EINA_FALSE);
- elm_image_preload_disabled_set(video_play, EINA_FALSE);
- evas_object_show(video_play);
- return video_play;
- }
-
- return NULL;
-}
-static void
-_show_selected_items(Testitem *ti)
-{
- /*const Eina_List* list = elm_gengrid_selected_items_get(grid);
- const Eina_List* l = NULL;
- Elm_Object_Item *recv = NULL;
- printf("--------------------------\nSelected Items :");
- EINA_LIST_FOREACH(list, l, recv) {
- Testitem *ti = (Testitem *)elm_object_item_data_get(recv);
- printf("%d ",ti->index);
- }
- printf("\n--------------------------\n");*/
-}
-
-static void
-_item_selected(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *ck;
- Testitem *ti = (Testitem *)data;
- ck = elm_object_item_part_content_get(event_info, "elm.swallow.end");
-
- printf("item selected: %p\n", event_info);
-
- _show_selected_items(ti);
- elm_gengrid_item_selected_set(ti->item, EINA_FALSE);
-
- if (longpressed) {
- longpressed = EINA_FALSE;
- return;
- }
-
-
- ti->checked = !(elm_check_state_get(ck));
- elm_check_state_set(ck, ti->checked);
-
- _item_check_changed_cb(data, ck, NULL);
-
-}
-
-static void
-_create_gengrid (void *data, char *type)
-{
- struct appdata *ad = (struct appdata *)data;
- int i, j, n, x, w, h;
- char buf[PATH_MAX];
- static Testitem ti[IMAGE_MAX*25];
-
- vconf_get_int(VCONFKEY_SETAPPL_ACCESSIBILITY_FONT_SIZE, &x);
- gengrid = elm_gengrid_add(ad->nf);
- evas_object_size_hint_weight_set(gengrid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(gengrid, EVAS_HINT_FILL, EVAS_HINT_FILL);
- w = h = 0;
-
- double scale = elm_config_scale_get();
- if (!strcmp(type, "myfile/text")) {
- w = (int)(176 * scale); //176 as per UX ver 0.6
- h = (int)((176 + 64) * scale); //64 for textas per UX ver 0.6
- }
- else if (!strcmp(type, "myfile")) {
- w = h = (int)(176 * scale); //176 as per UX ver 0.6
- }
- elm_gengrid_item_size_set(gengrid, w, h);
- _size_set_on_font_resize();
- elm_gengrid_align_set(gengrid, 0.5, 0.0);
- elm_gengrid_horizontal_set(gengrid, EINA_FALSE);
- elm_gengrid_multi_select_set(gengrid, EINA_TRUE);
- evas_object_smart_callback_add(gengrid, "moved", grid_moved, NULL);
- evas_object_smart_callback_add(gengrid, "longpressed", grid_longpress, NULL);
-
- /******text myfile type******/
- gic = elm_gengrid_item_class_new();
- gic->item_style = type;
- gic->func.text_get = grid_text_get;
- gic->func.content_get = grid_content_get;
- gic->func.state_get = NULL;
- gic->func.del = NULL;
-
- /*****no text myfile type****/
- ngic = elm_gengrid_item_class_new();
- ngic->item_style = type;
- ngic->func.text_get = NULL;
- ngic->func.content_get = grid_content_get;
- ngic->func.state_get = NULL;
- ngic->func.del = NULL;
-
- /****video play grid type****/
- vgic = elm_gengrid_item_class_new();
- if (!strcmp(type, "myfile"))
- {
- vgic->item_style = "myfile_video";
- vgic->func.text_get = grid_video_text_get;
- } else if (!strcmp(type, "myfile/text")){
- vgic->item_style = "myfile_video/text";
- vgic->func.text_get = grid_text_video_text_get;
- }
- vgic->func.content_get = grid_video_content_get;
- vgic->func.state_get = NULL;
- vgic->func.del = NULL;
-
- ggic.item_style = "group_index";
- ggic.func.text_get = grid_groupindex_text_get;
- ggic.func.content_get = NULL;
- ggic.func.state_get = NULL;
- ggic.func.del = NULL;
-
- for (j = 0; j < 25; j++) {
- for (i = 0; i < IMAGE_MAX; i++) {
- n = i+(j*IMAGE_MAX);
- snprintf(buf, sizeof(buf), "%s/grid_image/%d_raw.jpg", ICON_DIR, i+1);
- ti[n].index = n;
- ti[n].path = eina_stringshare_add(buf);
- if (i == 0 || i == 11 || i == 22 || i == 33 || i == 44)
- {
- ti[i].item = elm_gengrid_item_append(gengrid, &ggic, (void *)(i%10), NULL, NULL);
- elm_gengrid_item_select_mode_set(ti[i].item, ELM_OBJECT_SELECT_MODE_NONE);
- } else if(!(n % 7))
- {
- ti[n].item = elm_gengrid_item_append(gengrid, vgic, &(ti[n]), _item_selected, &(ti[n]));
- ti[n].text = strdup("video.mp4");
- } else if((!(n % 6)) && !strcmp(type, "myfile"))
- {
- ti[n].item = elm_gengrid_item_append(gengrid, ngic, &(ti[n]), _item_selected, &(ti[n]));
- } else
- {
- ti[n].item = elm_gengrid_item_append(gengrid, gic, &(ti[n]), _item_selected, &(ti[n]));
- if (n%4 == 0)
- ti[n].text = strdup("DavidRobinson.jpg");
- else if (n%4 == 1)
- ti[n].text = strdup("CaptainFantasticFasterThanSupermanSpidermanBatmanWolverineHulkAndTheFlashCombined.jpg");
- else if (n%4 == 2)
- ti[n].text = strdup("1.jpg");
- else
- ti[n].text = strdup("2.jpg");
- }
- ti[n].checked = EINA_FALSE;
- }
- }
-
- total_count = n + 1;
- if (vconf_notify_key_changed(VCONFKEY_SETAPPL_ACCESSIBILITY_FONT_SIZE, _vconf_size_key_changed_cb, NULL) < 0) {
- printf("\nFail to register VCONFKEY_SETAPPL_SOUND_STATUS_BOOL key callback");
- }
-}
-
-static void
-_check_fields_update()
-{
- const Elm_Gengrid_Item_Class *itc;
- Elm_Object_Item *it;
- Eina_List *realize_its;
-
- realize_its = elm_gengrid_realized_items_get(gengrid);
-
- EINA_LIST_FREE(realize_its, it) {
- itc = elm_gengrid_item_item_class_get(it);
- if(strcmp(itc->item_style, "group_index"))
- elm_gengrid_item_fields_update(it, "elm.swallow.end", ELM_GENGRID_ITEM_FIELD_CONTENT);
- }
-}
-
-static void
-_check_select_all()
-{
- Elm_Object_Item *it;
- Testitem *ti;
- const Elm_Gengrid_Item_Class *itc;
- Eina_List *realize_its;
-
- if (select_all_checked) checked_count = total_count;
- else checked_count = 0;
- it = elm_gengrid_first_item_get(gengrid);
- while(it) {
- itc = elm_gengrid_item_item_class_get(it);
- if(strcmp(itc->item_style,"group_index")){
- ti = elm_object_item_data_get(it);
- if (ti) ti->checked = select_all_checked;
- }
- it = elm_gengrid_item_next_get(it);
- }
- realize_its = elm_gengrid_realized_items_get(gengrid);
-
- EINA_LIST_FREE(realize_its, it) {
- itc = elm_gengrid_item_item_class_get(it);
- if(strcmp(itc->item_style,"group_index")){
- const char *type = NULL;
- Evas_Object *ck = elm_object_item_part_content_get(it, "elm.swallow.end");
- if (ck) type = elm_object_widget_type_get(ck);
- if (type && !strcmp(type, "elm_check")) {
- elm_check_state_set(ck, select_all_checked);
- }
- }
- }
-}
-
-static void
-_select_all_layout_mouse_down_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
-{
- select_all_checked = !select_all_checked;
- elm_check_state_pointer_set(select_all_checkbox, &select_all_checked);
-
- _check_select_all();
-}
-
-static void _select_all_check_changed_cb(void *data, Evas_Object *obj, void *event_info)
-{
- _check_select_all(data);
-}
-
-static Evas_Object *create_edit_toolbar(struct appdata *ad)
-{
- Evas_Object *obj;
-
- /* create toolbar */
- obj = elm_toolbar_add(ad->nf);
- if(obj == NULL) return NULL;
- elm_object_style_set(obj, "default");
- elm_toolbar_shrink_mode_set(obj, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_transverse_expanded_set(obj, EINA_TRUE);
- elm_toolbar_select_mode_set(obj, ELM_OBJECT_SELECT_MODE_NONE);
-
- elm_toolbar_item_append(obj, NULL, "Edit", _edit_toolbar_cb, ad);
-
- return obj;
-}
-
-static Evas_Object *create_del_done_toolbar(struct appdata *ad)
-{
- Evas_Object *obj;
-
- /* create toolbar */
- obj = elm_toolbar_add(ad->nf);
- if(obj == NULL) return NULL;
- elm_object_style_set(obj, "default");
- elm_toolbar_shrink_mode_set(obj, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_transverse_expanded_set(obj, EINA_TRUE);
- elm_toolbar_select_mode_set(obj, ELM_OBJECT_SELECT_MODE_NONE);
-
- elm_toolbar_item_append(obj, NULL, "Delete", _del_toolbar_cb, ad);
- elm_toolbar_item_append(obj, NULL, "Done", _done_toolbar_cb, ad);
-
- return obj;
-}
-
-static void _edit_toolbar_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *toolbar;
- Elm_Object_Item *navi_it;
- struct appdata *ad;
- ad = (struct appdata *) data;
- if(ad == NULL) return;
-
- if (mode == VIEW_MODE) {
- mode = EDIT_MODE;
- select_all_layout = elm_layout_add(box);
- elm_layout_theme_set(select_all_layout, "genlist", "item", "select_all/default");
- evas_object_size_hint_weight_set(select_all_layout, EVAS_HINT_EXPAND, EVAS_HINT_FILL);
- evas_object_size_hint_align_set(select_all_layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_event_callback_add(select_all_layout, EVAS_CALLBACK_MOUSE_DOWN, _select_all_layout_mouse_down_cb, NULL);
-
- select_all_checkbox = elm_check_add(select_all_layout);
- elm_check_state_pointer_set(select_all_checkbox, &select_all_checked);
- evas_object_smart_callback_add(select_all_checkbox, "changed", _select_all_check_changed_cb, NULL);
- evas_object_propagate_events_set(select_all_checkbox, EINA_FALSE);
- elm_object_part_content_set(select_all_layout, "elm.icon", select_all_checkbox);
-
- elm_object_part_text_set(select_all_layout, "elm.text", "Select All");
- elm_box_pack_start(box, select_all_layout);
- evas_object_show(select_all_layout);
- elm_gengrid_reorder_mode_set(gengrid, EINA_TRUE);
- }
-
- select_all_checked = EINA_FALSE;
- _check_select_all();
- _check_fields_update();
-
- navi_it = elm_naviframe_top_item_get(ad->nf);
- toolbar = create_del_done_toolbar(ad);
- elm_object_item_part_content_set(navi_it, "toolbar", toolbar);
-}
-
-static void _del_toolbar_cb(void *data, Evas_Object *obj, void *envent_info)
-{
- Testitem *ti;
- Elm_Object_Item *it;
- const Elm_Gengrid_Item_Class *itc;
-
- it = elm_gengrid_first_item_get(gengrid);
- while (it) {
- itc = elm_gengrid_item_item_class_get(it);
- ti = (Testitem *)elm_object_item_data_get(it);
- it = elm_gengrid_item_next_get(it);
- if((strcmp(itc->item_style, "group_index") && ((ti) && (ti->checked)))) {
- elm_object_item_del(ti->item);
- total_count--;
- checked_count--;
- }
- }
-}
-
-static void _done_toolbar_cb(void *data, Evas_Object *obj, void *envent_info)
-{
- Evas_Object *toolbar;
- Elm_Object_Item *navi_it;
- struct appdata *ad;
- ad = (struct appdata *) data;
- if(ad == NULL) return;
-
- if(mode == EDIT_MODE){
- mode = VIEW_MODE;
- elm_box_unpack(box, select_all_layout);
- evas_object_del(select_all_layout);
- select_all_layout = NULL;
-
- elm_gengrid_reorder_mode_set(gengrid, EINA_FALSE);
- }
- select_all_checked = EINA_FALSE;
- _check_select_all();
- _check_fields_update();
-
- navi_it = elm_naviframe_top_item_get(ad->nf);
- toolbar = create_edit_toolbar(ad);
- elm_object_item_part_content_set(navi_it, "toolbar", toolbar);
-}
-
-static Eina_Bool
-_pop_cb(void *data, Elm_Object_Item *it)
-{
- elm_gengrid_clear(gengrid);
- evas_object_del(gengrid);
- gengrid = NULL;
-
- if (vconf_ignore_key_changed(VCONFKEY_SETAPPL_ACCESSIBILITY_FONT_SIZE, _vconf_size_key_changed_cb) < 0) {
- printf("\nFail to unregister VCONFKEY_SETAPPL_ACCESSIBILITY_FONT_SIZE key callback");
- }
-
- return EINA_TRUE;
-}
-
-static void
-gengrid_create_view(void *data, char *type)
-{
- struct appdata *ad;
- Evas_Object *toolbar;
- Elm_Object_Item *navi_it;
-
- ad = (struct appdata *)data;
- if (ad == NULL) return;
-
- mode = VIEW_MODE;
-
- _create_gengrid(ad, type);
-
- box = elm_box_add(ad->nf);
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_show(box);
- elm_box_pack_end(box, gengrid);
- evas_object_show(gengrid);
-
- navi_it = elm_naviframe_item_push (ad->nf, _("Myfile") , NULL, NULL, box, NULL);
-
- toolbar = create_edit_toolbar(ad);
- elm_object_item_part_content_set(navi_it, "toolbar", toolbar);
- elm_naviframe_item_pop_cb_set(navi_it, _pop_cb, NULL);
-}
-
-void
-gengrid_myfilegrid_cb(void *data, Evas_Object *obj, void *event_info)
-{
- gengrid_create_view(data, "myfile");
-}
-
-void
-gengrid_myfilegridtext_cb(void *data, Evas_Object *obj, void *event_info)
-{
- gengrid_create_view(data, "myfile/text");
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-
-#define IMAGE_MAX 79
-#define FONT_SIZE_INDEX_SMALL 24
-#define FONT_SIZE_INDEX_NORMAL 35
-#define FONT_SIZE_INDEX_LARGE 55
-#define FONT_SIZE_INDEX_HUGE 75
-#define FONT_SIZE_INDEX_GIANT 92
-#define BASE_GENGRID_HEIGHT 76 //As per reference of UX of Genlist Group Index.
-typedef struct _Testitem
-{
- Elm_Object_Item *item;
- const char *path;
- int index;
- int checked;
-} Testitem;
-
-typedef enum {
- SIZE_INDEX_SMALL = 0,
- SIZE_INDEX_NORMAL,
- SIZE_INDEX_LARGE,
- SIZE_INDEX_HUGE,
- SIZE_INDEX_GIANT
-} font_size_index;
-
-static int total_count;
-static Evas_Object *gengrid, *box;
-static Elm_Gengrid_Item_Class *gic;
-static Elm_Gengrid_Item_Class ggic;
-
-char *group_names[] = {"A", "B", "C", "g", "y", NULL};
-
-static Evas_Object *
-grid_content_get(void *data, Evas_Object *obj, const char *part)
-{
- Testitem *ti = (Testitem *)data;
-
- if (ti->index == 1) {
- if (!strcmp(part, "elm.swallow.end")) {
- Evas_Object *progressbar = elm_progressbar_add(obj);
- elm_object_style_set(progressbar, "process_medium");
- evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL, 0.5);
- evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_show(progressbar);
- elm_progressbar_pulse(progressbar, EINA_TRUE);
- return progressbar;
- } else return NULL;
- } else if (!strcmp(part, "elm.swallow.icon")) {
- Evas_Object *icon = elm_image_add(obj);
- elm_image_file_set(icon, ti->path, NULL);
- elm_image_aspect_fixed_set(icon, EINA_FALSE);
- evas_object_show(icon);
- return icon;
- }
-
- return NULL;
-}
-
-static void
-_item_selected(void *data, Evas_Object *obj, void *event_info)
-{
- printf("--------------------------\nSelected Items :");
-}
-
-
-static char *
-grid_text_get(void *data, Evas_Object *obj, const char *part)
-{
- int index = (int)data;
- if (!strcmp(part, "elm.text")) {
- return strdup(group_names[index]);
- }
- return NULL;
-}
-
-static void
-_size_set_on_font_resize() {
- int x, h, w;
- font_size_index font_index;
- vconf_get_int(VCONFKEY_SETAPPL_ACCESSIBILITY_FONT_SIZE, &x);
- double scale = elm_config_scale_get();
- font_index = x;
-
- switch (font_index) {
- case SIZE_INDEX_SMALL :
- h = (int)((BASE_GENGRID_HEIGHT - FONT_SIZE_INDEX_NORMAL + FONT_SIZE_INDEX_SMALL + 1 /*extra pixel for overlapp check*/) * scale);
- break;
- case SIZE_INDEX_NORMAL :
- h = (int)(BASE_GENGRID_HEIGHT * scale);
- break;
- case SIZE_INDEX_LARGE :
- h = (int)((BASE_GENGRID_HEIGHT - FONT_SIZE_INDEX_NORMAL + FONT_SIZE_INDEX_LARGE) * scale);
- break;
- case SIZE_INDEX_HUGE :
- h = (int)((BASE_GENGRID_HEIGHT - FONT_SIZE_INDEX_NORMAL + FONT_SIZE_INDEX_HUGE) * scale);
- break;
- case SIZE_INDEX_GIANT :
- h = (int)((BASE_GENGRID_HEIGHT - FONT_SIZE_INDEX_NORMAL + FONT_SIZE_INDEX_GIANT) * scale);
- break;
- default:
- h = (int)(BASE_GENGRID_HEIGHT * scale ); //If no font size obtained, set the height to maximum
- }
- w = (int)(720 * scale);
- elm_gengrid_group_item_size_set(gengrid, w, h);
-}
-
-static void
-_vconf_size_key_changed_cb()
-{
- _size_set_on_font_resize();
-}
-
-static void
-_create_gengrid (void *data)
-{
- struct appdata *ad = (struct appdata *)data;
- int i, j, n, x, w, h;
- char buf[PATH_MAX];
- static Testitem ti[IMAGE_MAX*25];
-
- vconf_get_int(VCONFKEY_SETAPPL_ACCESSIBILITY_FONT_SIZE, &x);
- gengrid = elm_gengrid_add(ad->nf);
- evas_object_size_hint_weight_set(gengrid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(gengrid, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- double scale = elm_config_scale_get();
- w = h = (int)(177 * scale); //177 as per UX ver 1.7.
- elm_gengrid_item_size_set(gengrid, w, h);
- _size_set_on_font_resize();
- elm_gengrid_align_set(gengrid, 0.0, 0.0);
- elm_gengrid_horizontal_set(gengrid, EINA_FALSE);
-
- elm_gengrid_multi_select_set(gengrid, EINA_TRUE);
-
- gic = elm_gengrid_item_class_new();
- gic->item_style="default_grid";
-
- gic->func.text_get = NULL;
- gic->func.content_get = grid_content_get;
- gic->func.state_get = NULL;
- gic->func.del = NULL;
-
- ggic.item_style = "group_index";
- ggic.func.text_get = grid_text_get;
- ggic.func.content_get = NULL;
- ggic.func.state_get = NULL;
- ggic.func.del = NULL;
-
- for (j = 0; j < 25; j++) {
- for (i = 0; i < IMAGE_MAX; i++) {
- n = i+(j*IMAGE_MAX);
- snprintf(buf, sizeof(buf), "%s/grid_image/%d_raw.jpg", ICON_DIR, i+1);
- ti[n].index = n;
- ti[n].path = eina_stringshare_add(buf);
- if (i == 0 || i == 11 || i == 22 || i == 33 || i == 44)
- ti[i].item = elm_gengrid_item_append(gengrid, &ggic, (void *)(i%10), NULL, NULL);
- else
- ti[i].item = elm_gengrid_item_append(gengrid, gic, &(ti[n]), _item_selected, &(ti[i]));
- ti[n].checked = EINA_FALSE;
- }
- }
-
- total_count = n + 1;
- if (vconf_notify_key_changed(VCONFKEY_SETAPPL_ACCESSIBILITY_FONT_SIZE, _vconf_size_key_changed_cb, NULL) < 0) {
- printf("\nFail to register VCONFKEY_SETAPPL_SOUND_STATUS_BOOL key callback");
- }
-}
-
-static Eina_Bool
-_pop_cb(void *data, Elm_Object_Item *it)
-{
- elm_gengrid_clear(gengrid);
- evas_object_del(gengrid);
- gengrid = NULL;
-
- if (vconf_ignore_key_changed(VCONFKEY_SETAPPL_ACCESSIBILITY_FONT_SIZE, _vconf_size_key_changed_cb) < 0) {
- printf("\nFail to unregister VCONFKEY_SETAPPL_ACCESSIBILITY_FONT_SIZE key callback");
- }
-
- return EINA_TRUE;
-}
-
-void
-gengrid_groupindex_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Elm_Object_Item *navi_it;
-
- ad = (struct appdata *)data;
- if (ad == NULL) return;
-
- _create_gengrid(ad);
-
- box = elm_box_add(ad->nf);
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_show(box);
- elm_box_pack_end(box, gengrid);
- evas_object_show(gengrid);
-
- navi_it = elm_naviframe_item_push (ad->nf, _("Group Index Sample") , NULL, NULL, box, NULL);
- elm_naviframe_item_pop_cb_set(navi_it, _pop_cb, NULL);
-}
-
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_util.h"
-#include "elmdemo_test.h"
-#include "genlist.h"
-
-char *genlist_long_texts[] = {
- "This is very long string text of email style style styleee",
- "This is very long string text of email style style styleeeee",
- "This is very long string text of email style style styleeeeeee",
- "This is very long string text of email style style styleeeeeeeee",
- "This is very long string text of email style style styleeeeeeeeeeee"
- "This is very long string text of email style style styleee",
- "This is very long string text of email style style styleeeee",
- "This is very long string text of email style style styleeeeeee",
- "This is very long string text of email style style styleeeeeeeee",
- "This is very long string text of email style style styleeeeeeeeeeee"
- "This is very long string text of email style style styleee",
- "This is very long string text of email style style styleeeee",
- "This is very long string text of email style style styleeeeeee",
- "This is very long string text of email style style styleeeeeeeee",
- "This is very long string text of email style style styleeeeeeeeeeee"
- "This is very long string text of email style style styleee",
- "This is very long string text of email style style styleeeee",
- "This is very long string text of email style style styleeeeeee",
- "This is very long string text of email style style styleeeeeeeee",
- "This is very long string text of email style style styleeeeeeeeeeee"
- "This is very long string text of email style style styleee",
- "This is very long string text of email style style styleeeee",
- "This is very long string text of email style style styleeeeeee",
- "This is very long string text of email style style styleeeeeeeee",
- "This is very long string text of email style style styleeeeeeeeeeee"
- "This is very long string text of email style style styleee",
- "This is very long string text of email style style styleeeee",
- "This is very long string text of email style style styleeeeeee",
- "This is very long string text of email style style styleeeeeeeee",
- "This is very long string text of email style style styleeeeeeeeeeee"
- "This is very long string text of email style style styleee",
- "This is very long string text of email style style styleeeee",
- "This is very long string text of email style style styleeeeeee",
- "This is very long string text of email style style styleeeeeeeee",
- "This is very long string text of email style style styleeeeeeeeeeee"
- "This is very long string text of email style style styleee",
- "This is very long string text of email style style styleeeee",
- "This is very long string text of email style style styleeeeeee",
- "This is very long string text of email style style styleeeeeeeee",
- "This is very long string text of email style style styleeeeeeeeeeee"
- "This is very long string text of email style style styleee",
- "This is very long string text of email style style styleeeee",
- "This is very long string text of email style style styleeeeeee",
- "This is very long string text of email style style styleeeeeeeee",
- "This is very long string text of email style style styleeeeeeeeeeee"
- "This is very long string text of email style style styleee",
- "This is very long string text of email style style styleeeee",
- "This is very long string text of email style style styleeeeeee",
- "This is very long string text of email style style styleeeeeeeee",
- "This is very long string text of email style style styleeeeeeeeeeee",
- "This is very long string text of email style style styleee",
- "This is very long string text of email style style styleeeee",
- "This is very long string text of email style style styleeeeeee",
- "This is very long string text of email style style styleeeeeeeee",
- "This is very long string text of email style style styleeeeeeeeeeee",
- "This is very long string text of email style style styleee",
- "This is very long string text of email style style styleeeee",
- "This is very long string text of email style style styleeeeeee",
- "This is very long string text of email style style styleeeeeeeee",
- "This is very long string text of email style style styleeeeeeeeeeee",
- NULL
-};
-
-char *genlist_demo_names[] = {
- "Aaliyah", "Aamir", "Aaralyn", "Aaron", "Abagail",
- "Babitha", "Bahuratna", "Bandana", "Bulbul", "Cade", "Caldwell",
- "CaptainFantasticFasterThanSupermanSpidermanBatmanWolverineHulkAndTheFlashCombined",
- "Chandan", "Caster", "Dagan ", "Daulat", "Dag", "Earl", "Ebenzer",
- "Ellison", "Elizabeth", "Filbert", "Fitzpatrick", "Florian", "Fulton",
- "Frazer", "Gabriel", "Gage", "Galen", "Garland", "Gauhar", "Hadden",
- "Hafiz", "Hakon", "Haleem", "Hank", "Hanuman", "Jabali ", "Jaimini",
- "Jayadev", "Jake", "Jayatsena", "Jonathan", "Kamaal", "Jeirk",
- "Jasper", "Jack", "Mac", "Macy", "Marlon", "Milson",
- "Aaliyah", "Aamir", "Aaralyn", "Aaron", "Abagail",
- "Babitha", "Bahuratna", "Bandana", "Bulbul", "Cade", "Caldwell",
- "Chandan", "Caster", "Dagan ", "Daulat", "Dag", "Earl", "Ebenzer",
- "Ellison", "Elizabeth", "Filbert", "Fitzpatrick", "Florian", "Fulton",
- "Frazer", "Gabriel", "Gage", "Galen", "Garland", "Gauhar", "Hadden",
- "Hafiz", "Hakon", "Haleem", "Hank", "Hanuman", "Jabali ", "Jaimini",
- "Jayadev", "Jake", "Jayatsena", "Jonathan", "Kamaal", "Jeirk",
- "Jasper", "Jack", "Mac", "Macy", "Marlon", "Milson",
- NULL
-};
-
-char *demo_country_names[] = {
- "Greece", "Hong Kong", "Hungary", "India", "Iran",
- "Finland", "Algeria", "Andorra", "Argentina", "Australia",
- "Canada", "Chad", "Chile", "Cuba ", "Denmark",
- "Sweden", "Taiwan", "Tanzania", "Uganda", "Zimbabwe",
- "Ethiopia", "Fiji", "France", "Germany", "Ghana",
- "Iraq", "Hafiz", "Italy", "Jordan", "Kuwait",
- "Bahamas", "Bangladesh", "Belgium", "Benin", "Bosnia",
- "Dominican Republic", "Egypt", "England", "Europa Island", "China",
- "Macau", "Mexico ", "Panama", "Poland", "Peru",
- "Russia", "Scotland", "Slovakia", "South Korea", "Sri Lanka",
- NULL
-};
-
-char *genlist_times[] = {"10:00 AM", "10:01 AM", "10:02 AM", "10:03 AM", "10:04 AM", "10:05 AM",
- "3:50 PM", "3:51 PM", "3:52 PM", "3:53 PM"};
-
-char *genlist_messages[] = {"Good morning!",
- "It's you again. How do you do this?",
- "This is the princess who fell from the sky into my arms.",
- "Yes. We keep meeting like this. You just suddenly show up.",
- "We could make plans to meet.",
- "No, it's nicer this way. I hope we meet again suddenly.",
- "Don't you know that it takes so little to make me happy?",
- "Good morning, Princess!",
- "This is incredible. You owe me an explanation.",
- "No, you're the one who owes me an explanation. You've really got a crush on me. Where shall we go, Princess?"
-};
-
-static struct appdata *menu_ad;
-
-static struct _group_menu_item menu_its[] = {
- { EINA_TRUE, "Item Styles", NULL },
- { EINA_FALSE, "Normal", genlist_normal_cb },
- { EINA_FALSE, "Dialogue Group", genlist_dialogue_cb },
- { EINA_FALSE, "Editfield", genlist_editfield_cb },
- { EINA_FALSE, "Separator", genlist_separator_cb },
- { EINA_TRUE, "Features", NULL }, // group title
- { EINA_FALSE, "Edit Mode/Reorder/Sorting", genlist_edit_mode_cb },
- { EINA_FALSE, "Expandable (Dialogue)", genlist_expandable_cb },
- { EINA_FALSE, "Expandable (Normal)", genlist_ndepth_expandable_cb },
- { EINA_FALSE, "Fast Scroll", genlist_fastscroll_cb },
- { EINA_FALSE, "Swipe", genlist_swipe_cb },
- { EINA_FALSE, "Collection", genlist_collection_cb },
- { EINA_FALSE, "Scroll Jump", genlist_scroll_jump_cb },
- { EINA_FALSE, "Homogenous", genlist_homogenous_cb },
- { EINA_FALSE, "Animator", genlist_animator_cb },
- { EINA_TRUE, "Samples", NULL }, // group title
- { EINA_FALSE, "Genlist with Check", genlist_check_cb },
- { EINA_FALSE, "Genlist with Radio", genlist_radio_cb },
- { EINA_FALSE, "Variable Height", genlist_variable_height_cb },
- { EINA_FALSE, "Dynamic Color Change", genlist_color_cb },
- { EINA_TRUE, "Themes", NULL }, // group title
- { EINA_FALSE, "Default", genlist_theme_default_cb },
- { EINA_FALSE, "No_Effect", genlist_theme_no_effect_cb },
- /* do not delete below */
- { EINA_FALSE, NULL, NULL }
-};
-
-static char *_gl_text_get(void *data, Evas_Object *obj, const char *part)
-{
- int index = (int)data;
-
- if (!strcmp(part, "elm.text")) {
- return strdup(menu_its[index].name);
- }
-
- return NULL;
-}
-
-static void _gl_sel(void *data, Evas_Object *obj, void *event_info)
-{
- int index = (int)data;
-
- elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
- menu_its[index].func(menu_ad, NULL, NULL);
- return;
-}
-
-static void _track_resize(void *data, Evas *e, Evas_Object *obj, void *ei)
-{
- int idx;
- Evas_Coord w, h;
- evas_object_geometry_get(obj, NULL, NULL, &w, &h);
- idx = elm_genlist_item_index_get(data);
- printf("track resize: %d: w:%d h:%d\n", idx, w, h);
-}
-
-static void _track_move(void *data, Evas *e, Evas_Object *obj, void *ei)
-{
- int idx;
- Evas_Coord x, y;
- evas_object_geometry_get(obj, &x, &y, NULL, NULL);
- idx = elm_genlist_item_index_get(data);
- printf("track move: %d: x:%d y:%d\n", idx, x, y);
-}
-
-static void
-_realized(void *data, Evas_Object *obj, void *ei)
-{
- int index = (int)elm_object_item_data_get(ei);
- if (((sizeof(menu_its)/sizeof(menu_its[0])) != index) && (menu_its[index + 1].is_group == EINA_TRUE))
- elm_object_item_signal_emit(ei, "elm,state,bottomline,hide", "");
-
- // track usage
- Evas_Object *track = elm_object_item_track(ei);
- evas_object_event_callback_add(track, EVAS_CALLBACK_RESIZE, _track_resize, ei);
- evas_object_event_callback_add(track, EVAS_CALLBACK_MOVE, _track_move, ei);
-}
-
-static Evas_Object* _create_genlist(struct appdata* ad)
-{
- Evas_Object *genlist;
- Elm_Object_Item *git = NULL;
- int index;
-
- if (ad == NULL) return NULL;
-
- Elm_Genlist_Item_Class *itc =elm_genlist_item_class_new();
- Elm_Genlist_Item_Class *itc_group =elm_genlist_item_class_new();
- itc->item_style = "default";
- itc->func.text_get = _gl_text_get;
-
- itc_group->item_style = "groupindex";
- itc_group->func.text_get = _gl_text_get;
-
- genlist = elm_genlist_add(ad->nf);
- elm_genlist_realization_mode_set(genlist, EINA_TRUE);
- evas_object_smart_callback_add(genlist, "realized", _realized, NULL);
-
- // HOMOGENEOUS MODE
- // If item height is same when each style name is same,
- // Use homogeneous mode.
- printf("Homogeneous mode enabled\n");
- elm_genlist_homogeneous_set(genlist, EINA_TRUE);
-
- for (index = 0; menu_its[index].name; index++) {
- if (menu_its[index].is_group == EINA_TRUE) {
- git = elm_genlist_item_append(genlist, itc_group, (void *)index, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_genlist_item_select_mode_set(git, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
- } else {
- elm_genlist_item_append(genlist, itc, (void *)index, git,
- ELM_GENLIST_ITEM_NONE, _gl_sel, (void *)index);
- }
- }
- elm_genlist_item_class_free(itc);
- elm_genlist_item_class_free(itc_group);
-
- return genlist;
-}
-
-void genlist_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Evas_Object *genlist;
-
- ad = (struct appdata *) data;
- if (ad == NULL) return;
-
- menu_ad = ad;
- genlist = _create_genlist(ad);
- elm_naviframe_item_push(ad->nf, _("Genlist"), NULL, NULL, genlist, NULL);
-}
-
-char** genlist_get_demo_names(void)
-{
- return genlist_demo_names;
-}
-
-char** genlist_get_demo_country_names(void)
-{
- return demo_country_names;
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "genlist.h"
-
-/*********************************************************
- Genlist Check
- ********************************************************/
-#define NUM_OF_ITEMS 2000
-Evas_Object *box, *select_all_layout, *genlist;
-static int checked_count = 0;
-static Eina_Bool state_pointer[NUM_OF_ITEMS] = {0};//check states
-static char **genlist_demo_names = NULL;
-
-static void _select_all_chk_changed_cb(void *data, Evas_Object *obj, void *ei)
-{
- Eina_Bool state = elm_check_state_get(obj);
-
- if (state) checked_count = elm_genlist_items_count(genlist);
- else checked_count = 0;
-
- Elm_Object_Item *it = elm_genlist_first_item_get(genlist);
- while(it) {
- int index = (int)elm_object_item_data_get(it);
- // For realized items, set state of real check object
- Evas_Object *ck = elm_object_item_part_content_get(it, "elm.icon");
- if (ck) elm_check_state_set(ck, state);
- // For all items (include unrealized), just set pointer state
- state_pointer[index] = state;
- it = elm_genlist_item_next_get(it);
- }
-}
-
-static void _select_all_layout_down_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
-{
- printf("select all layout clicked\n");
- Evas_Object *check = elm_object_part_content_get(select_all_layout, "elm.icon");
- Eina_Bool state = elm_check_state_get(check);
- elm_check_state_set(check, !state);
- _select_all_chk_changed_cb(data, check, NULL);
-}
-
-static Evas_Object *
-_create_select_all_layout(Evas_Object *parent)
-{
- Evas_Object *layout = elm_layout_add(parent);
- elm_layout_theme_set(layout, "genlist", "item", "select_all/default");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_FILL);
- evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_event_callback_add(layout, EVAS_CALLBACK_MOUSE_DOWN, _select_all_layout_down_cb, NULL);
- evas_object_show(layout);
-
- Evas_Object *check = elm_check_add(layout);
- evas_object_propagate_events_set(check, EINA_FALSE);
- evas_object_smart_callback_add(check, "changed", _select_all_chk_changed_cb, NULL);
- elm_object_part_content_set(layout, "elm.icon", check);
- elm_object_part_text_set(layout, "elm.text", "Select All");
- return layout;
-}
-
-static char *_gl_text_get(void *data, Evas_Object *obj, const char *part)
-{
- int index = ((int) data) % NUM_OF_GENLIST_DEMO_NAMES;
-
- if (!strcmp(part, "elm.text")) {
- if (!index) {
- return strdup(_("Select All"));
- } else {
- return strdup(genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
- }
- }
- return NULL;
-}
-
-static void _chk_changed_cb(void *data, Evas_Object *obj, void *ei)
-{
- Eina_Bool state;
-
- state = elm_check_state_get(obj);
- if (state) checked_count++;
- else checked_count--;
- printf("check changed, count: %d\n", checked_count);
-
- Evas_Object *check = elm_object_part_content_get(select_all_layout, "elm.icon");
- if (elm_genlist_items_count(genlist) == checked_count)
- elm_check_state_set(check, EINA_TRUE);
- else elm_check_state_set(check, EINA_FALSE);
-}
-
-static void _gl_sel(void *data, Evas_Object *obj, void *ei)
-{
- Elm_Object_Item *item = ei;
-
- printf("item selected\n");
- elm_genlist_item_selected_set(item, EINA_FALSE);
-
- // Update check button
- Evas_Object *ck = elm_object_item_part_content_get(ei, "elm.icon");
- Eina_Bool state = elm_check_state_get(ck);
- elm_check_state_set(ck, !state);
-
- _chk_changed_cb(data, ck, NULL);
-}
-
-static void
-_check_cb(void *data, Evas_Object *obj, const char *emission, const char* src)
-{
- int index = (int)data;
- printf("Check show finished callback Item: %d \n",index);
-}
-static Evas_Object *_gl_content_get(void *data, Evas_Object *obj, const char *part)
-{
- int index = (int)data;
- Evas_Object *check;
-
- if (!strcmp(part, "elm.icon") || !strcmp(part, "elm.swallow.icon")) {
- check = elm_check_add(obj);
- elm_object_style_set(check, "default/genlist");
- //set the State pointer to keep the current UI state of Checkbox.
- elm_check_state_pointer_set(check, &(state_pointer[index]));
- // Repeat events to below object (genlist)
- // So that if check is clicked, genlist can be clicked.
- evas_object_repeat_events_set(check, EINA_TRUE);
- evas_object_propagate_events_set(check, EINA_FALSE);
- evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(check, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_object_signal_callback_add(check, "elm,action,show,finished", "elm",
- _check_cb, (void *)index);
-
- // If no divider, unregister access object
- elm_access_object_unregister(check);
- return check;
- }
- return NULL;
-}
-
-static Evas_Object * _create_genlist(Evas_Object *parent)
-{
- int index;
- Evas_Object *genlist;
- Elm_Object_Item *git;
-
- genlist_demo_names = genlist_get_demo_names();
-
- // Create genlist
- genlist = elm_genlist_add(parent);
- // HOMOGENEOUS MODE
- // If item height is same when each style name is same,
- // Use homogeneous mode.
- elm_genlist_homogeneous_set(genlist, EINA_TRUE);
- printf("Homogeneous mode enabled\n");
- evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- Elm_Genlist_Item_Class *itc_sa = elm_genlist_item_class_new();
- Elm_Genlist_Item_Class *itc = elm_genlist_item_class_new();
- // Set genlist item class for "select all"
- //itc_sa.item_style = "selectall_check";
- itc_sa->item_style = "elm_demo_tizen/select_all";
- itc_sa->func.text_get = _gl_text_get;
- itc_sa->func.content_get = _gl_content_get;
-
- // Set genlist item class
- itc->item_style = "1text.1icon.3";
- itc->func.text_get = _gl_text_get;
- itc->func.content_get = _gl_content_get;
-
- git = elm_genlist_item_append(genlist, itc_sa, (void *) 0, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_genlist_item_select_mode_set(git, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-
-
- // Append items
- for (index = 1; index < NUM_OF_ITEMS; index++) {
- elm_genlist_item_append(
- genlist, // genlist object
- itc, // item class
- (void *) index, // data
- NULL,
- ELM_GENLIST_ITEM_NONE,
- _gl_sel,
- NULL
- );
- }
- elm_genlist_item_class_free(itc);
- elm_genlist_item_class_free(itc_sa);
-
- return genlist;
-}
-
-void genlist_check_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad = (struct appdata *)data;
-
- box = elm_box_add(ad->nf);
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
- select_all_layout =_create_select_all_layout(box);
- evas_object_show(select_all_layout);
- elm_box_pack_end(box, select_all_layout);
-
- genlist = _create_genlist(box);
- evas_object_show(genlist);
- elm_box_pack_end(box, genlist);
- evas_object_show(box);
-
- elm_naviframe_item_push(ad->nf, _("Genlist with Check"), NULL, NULL, box, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "genlist.h"
-
-#define NUM_OF_NAMES 50
-#ifndef __UNUSED__
-#define __UNUSED__ __attribute__((unused))
-#endif
-
-#define APPEND "Append Item"
-#define PREPEND "Prepend Item"
-#define INSERT_AFTER "Insert After"
-#define INSERT_BEFORE "Insert Before"
-#define DEL_ITEM "Delete Item"
-#define HIDE_ITEM "Hide Item"
-#define DISABLE_ITEM "Disable Item"
-#define CLEAR_ITEMS "Clear Items"
-#define CLEAR_SUB_ITEMS "Clear Sub Items"
-#define UPDATE_CLASS "Update Item Class"
-#define UPDATE_ITEM "Update Item"
-#define EXPAND_ITEM "Expand Item"
-#define CONTRACT_ITEM "Contract Item"
-#define SHOW_FIRST_ITEM "Show First Item"
-#define BRING_IN_LAST_ITEM "Bring in Last Item"
-#define BRING_IN_RANDOM_ITEM "Bring in Random Item"
-
-#define CHANGE_SELECT_MODE "Change Select Mode"
-#define MULTI_SELECT_MODE "Multi Select Mode"
-#define CHANGE_ITEM_SELECT_MODE "Change Item Select Mode"
-#define DECORATE_MODE "Decorate all Mode"
-#define ITEM_DECORATE_MODE "Item Decorate Mode"
-#define REORDER_MODE "Reorder Mode"
-#define RANDOM_TEST "Random Test"
-
-const char *random_tests[] = {
- APPEND, PREPEND, INSERT_AFTER, INSERT_BEFORE,
- DEL_ITEM, HIDE_ITEM, DISABLE_ITEM, CLEAR_ITEMS, CLEAR_SUB_ITEMS,
- UPDATE_CLASS, UPDATE_ITEM, EXPAND_ITEM, CONTRACT_ITEM,
- SHOW_FIRST_ITEM, BRING_IN_LAST_ITEM, BRING_IN_RANDOM_ITEM,
- CHANGE_SELECT_MODE, MULTI_SELECT_MODE, CHANGE_SELECT_MODE,
- DECORATE_MODE, ITEM_DECORATE_MODE, REORDER_MODE
-};
-
-#define CHANGE_LIST_MODE "Change List Mode"
-#define MAX_LEN 128
-#define NUM_OF_ITEMS 2000
-#define ITC_MAX 10
-#define WIDTH 600
-#define HEIGHT 800
-static char **genlist_demo_names;
-
-typedef struct _View_Data {
- struct appdata *ad;
-
- Evas_Object *box;
- Evas_Object *select_all_layout;
- Evas_Object *genlist;
- Evas_Object *ctx;
- Elm_Object_Item *navi_it;
- int itc_cnt;
- Elm_Object_Select_Mode select_mode;
- Ecore_Timer *test_timer;
- Elm_List_Mode list_mode;
- Elm_Genlist_Item_Class *itc[ITC_MAX];
- int g_idx;
-} View_Data;
-
-typedef struct _Item_Data
-{
- int idx;
-} Item_Data;
-
-static Eina_Bool rotate_flag = EINA_FALSE;
-
-static void _print_item(Elm_Object_Item *it)
-{
- if (!it) {
- printf("print_item: Item is NULL\n");
- return;
- }
- const char *txt = elm_object_item_part_text_get(it, "elm.text");
- Item_Data *id = elm_object_item_data_get(it);
- if (!txt)
- txt = elm_object_item_part_text_get(it, "elm.text.1");
- printf(" %p, text(%s), data(%d), index[%d]\n", it, txt, id->idx, elm_genlist_item_index_get(it));
-}
-
-static void _print_selected_items(Evas_Object *obj)
-{
- Eina_List *l, *sel;
- Elm_Object_Item *it;
-
- sel = elm_genlist_selected_items_get(obj);
- printf("----- Selected items ------\n");
- EINA_LIST_FOREACH(sel, l, it) _print_item(it);
- printf("---------------------------\n");
-}
-
-static void _view_free_cb(void *data, Evas *e, Evas_Object *obj, void *ei)
-{
- View_Data *vd = data;
- int i = 0;
- if (vd->test_timer) ecore_timer_del(vd->test_timer);
-
- for (i = 0; i < ITC_MAX; i++) {
- elm_genlist_item_class_free(vd->itc[i]);
- }
-
- elm_object_style_set(vd->ad->bg, "default");
- free(vd);
-}
-
-static void _gl_del(void *data, Evas_Object *obj)
-{
- // FIXME: unrealized callback will be called after this.
- // accessing Item_Data can be dangerous on unrealized callback.
- Item_Data *id = data;
- if (id) free(id);
-}
-
-static void _selected(void *data, Evas_Object *obj, void *ei)
-{
- printf("Selected, ");
- _print_item(ei);
- _print_selected_items(obj);
-}
-
-static void _unselected(void *data, Evas_Object *obj, void *ei)
-{
- printf("Unselected, ");
- _print_item(ei);
- _print_selected_items(obj);
-}
-
-static void _longpressed(void *data, Evas_Object *obj, void *ei)
-{
- printf("lonpressed, ");
- _print_item(ei);
- _print_selected_items(obj);
-}
-
-static void _con(void *data, Evas_Object *obj, void *ei)
-{
- printf("Contracted, ");
- _print_item(ei);
- elm_genlist_item_subitems_clear(ei);
-}
-
-static void _gl_sel(void *data, Evas_Object *obj, void *ei)
-{
- printf("Item Selected, ");
- _print_item(ei);
-}
-
-static void _exp(void *data, Evas_Object *genlist, void *ei)
-{
- View_Data *vd = data;
- Item_Data *id;
- int depth = elm_genlist_item_expanded_depth_get(ei);
- printf("Expanded: depth[%d]\n", depth);
- _print_item(ei);
-
- id = calloc(sizeof(Item_Data), 1);
- id->idx = vd->g_idx;
- vd->g_idx++;
- elm_genlist_item_append(genlist, vd->itc[0], id, ei,
- ELM_GENLIST_ITEM_TREE, _gl_sel, id);
-
- id = calloc(sizeof(Item_Data), 1);
- id->idx = vd->g_idx;
- vd->g_idx++;
- elm_genlist_item_append(genlist, vd->itc[0], id, ei,
- ELM_GENLIST_ITEM_NONE, _gl_sel, id);
-}
-
-static char *_gl_text_get(void *data, Evas_Object *obj, const char *part)
-{
- char buf[1024];
- Item_Data *id = data;
- snprintf(buf, 1023, "%d, %s", id->idx, part);
- printf("text_get: %s\n", buf);
- return strdup(buf);}
-
-static Evas_Object *_gl_content_get(void *data, Evas_Object *obj, const char *part)
-{
- if (!strcmp(part, "elm.slide.swallow.1")) {
- Evas_Object *button = elm_button_add(obj);
- elm_object_style_set(button, "sweep");
- elm_object_text_set(button, "Sweep");
- return button;
- }
- Evas_Object *icon = elm_image_add(obj);
- elm_image_file_set(icon, ICON_DIR"/genlist/00_brightness_right.png", NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- return icon;
-}
-
-static void
-_move_ctx(void *data, Evas_Object *obj)
-{
- if(!data) return;
- View_Data *vd = data;
- Evas_Object *ctx = obj;
- Evas_Coord w, h;
- int pos = -1;
-
- elm_win_screen_size_get(vd->ad->win_main, NULL, NULL, &w, &h);
- pos = elm_win_rotation_get(vd->ad->win_main);
-
- switch (pos) {
- case 0:
- case 180:
- evas_object_move(ctx, 0, h);
- break;
- case 90:
- evas_object_move(ctx, 0, w);
- break;
- case 270:
- evas_object_move(ctx, h, w);
- break;
- }
-}
-
-static void
-_dismissed_cb(void *data __UNUSED__, Evas_Object *obj , void *event __UNUSED__)
-{
- View_Data *vd = data;
- Evas_Object *ctx = obj;
-
- if (!rotate_flag) {
- evas_object_del(ctx);
- ctx = NULL;
- }
- else {
- _move_ctx(vd, ctx);
- evas_object_show(ctx);
- rotate_flag = EINA_FALSE;
- }
-}
-
-static void
-_resize_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- Evas_Object *ctx = (Evas_Object *)data;
-
- if (ctx)
- rotate_flag = EINA_TRUE;
- else
- rotate_flag = EINA_FALSE;
-}
-
-static void
-_rotate_cb(void *data, Evas_Object *obj, void *event_info)
-{
- View_Data *vd = data;
- Evas_Object *ctx = vd->ctx;
- _move_ctx(vd, ctx);
- evas_object_show(ctx);
-}
-
-static void _delete_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- View_Data *vd = data;
- Evas_Object *navi = vd->ad->nf;
- Evas_Object *ctx = obj;
-
- evas_object_event_callback_del_full(navi, EVAS_CALLBACK_RESIZE, _resize_cb, ctx);
- evas_object_smart_callback_del_full(elm_object_top_widget_get(ctx), "rotation,changed", _rotate_cb, vd);
- evas_object_smart_callback_del(ctx, "dismissed", _dismissed_cb);
- evas_object_event_callback_del_full(ctx, EVAS_CALLBACK_DEL, _delete_cb, navi);
-}
-
-static void
-_genlist_test(const char *label, View_Data *vd)
-{
- Elm_Object_Item *it;
- printf("============================\n");
- printf("%s: ", label);
- if (!strcmp(label, _(APPEND))) {
- Item_Data *id = calloc(sizeof(Item_Data), 1);
- id->idx = vd->g_idx;
- vd->g_idx++;
- it = elm_genlist_item_append(vd->genlist, vd->itc[0], id, NULL,
- ELM_GENLIST_ITEM_NONE, _gl_sel, id);
- _print_item(it);
- } else if (!strcmp(label, _(PREPEND))) {
- Item_Data *id = calloc(sizeof(Item_Data), 1);
- id->idx = vd->g_idx;
- vd->g_idx++;
- it = elm_genlist_item_prepend(vd->genlist, vd->itc[0], id, NULL,
- ELM_GENLIST_ITEM_NONE, _gl_sel, id);
- _print_item(it);
- } else if (!strcmp(label, _(INSERT_AFTER))) {
- Eina_List *list = elm_genlist_selected_items_get(vd->genlist);
- if (list) {
- Elm_Object_Item *before = eina_list_data_get(eina_list_last(list));
- Item_Data *id = calloc(sizeof(Item_Data), 1);
- id->idx = vd->g_idx;
- vd->g_idx++;
- it = elm_genlist_item_insert_after(vd->genlist, vd->itc[0], id,
- NULL , before, ELM_GENLIST_ITEM_NONE, _gl_sel, id);
- _print_item(it);
- }
- } else if (!strcmp(label, _(INSERT_BEFORE))) {
- Eina_List *list = elm_genlist_selected_items_get(vd->genlist);
- if (list) {
- Elm_Object_Item *before = eina_list_data_get(eina_list_last(list));
- Item_Data *id = calloc(sizeof(Item_Data), 1);
- id->idx = vd->g_idx;
- vd->g_idx++;
- it = elm_genlist_item_insert_before(vd->genlist, vd->itc[0], id,
- NULL , before, ELM_GENLIST_ITEM_NONE, _gl_sel, id);
- _print_item(it);
- }
- } else if (!strcmp(label, _(DEL_ITEM))) {
- Eina_List *list = elm_genlist_selected_items_get(vd->genlist);
- Eina_List *ll, *l;
- while (list) {
- it = eina_list_data_get(list);
- list = eina_list_next(list);
- printf("Item(%p) is going to be deleted\n", it);
- _print_item(it);
- elm_object_item_del(it);
- }
- } else if (!strcmp(label, _(HIDE_ITEM))) {
- Eina_List *list = elm_genlist_selected_items_get(vd->genlist);
- if (list) {
- it = eina_list_data_get(eina_list_last(list));
- _print_item(it);
- elm_genlist_item_hide_set(it, EINA_TRUE);
- }
- } else if (!strcmp(label, _(DISABLE_ITEM))) {
- Eina_List *list = elm_genlist_selected_items_get(vd->genlist);
- if (list) {
- it = eina_list_data_get(eina_list_last(list));
- _print_item(it);
- elm_object_item_disabled_set(it, EINA_TRUE);
- //printf("Item(%p) is disabled\n", it);
- }
- } else if (!strcmp(label, _(CLEAR_ITEMS))) {
- elm_genlist_clear(vd->genlist);
- } else if (!strcmp(label, _(CLEAR_SUB_ITEMS))) {
- Eina_List *list = elm_genlist_selected_items_get(vd->genlist);
- if (list) {
- it = eina_list_data_get(eina_list_last(list));
- elm_genlist_item_subitems_clear(it);
- }
- } else if (!strcmp(label, _(UPDATE_CLASS))) {
- Eina_List *list = elm_genlist_selected_items_get(vd->genlist);
- if (list) {
- it = eina_list_data_get(eina_list_last(list));
- vd->itc_cnt++;
- if (vd->itc_cnt >= ITC_MAX) vd->itc_cnt = 0;
- elm_genlist_item_item_class_update(it, vd->itc[vd->itc_cnt]);
- printf("New item style [%s]\n", vd->itc[vd->itc_cnt]->item_style);
- _print_item(it);
- }
- } else if (!strcmp(label, _(UPDATE_ITEM))) {
- Eina_List *list = elm_genlist_selected_items_get(vd->genlist);
- if (list) {
- it = eina_list_data_get(eina_list_last(list));
- Item_Data *id = elm_object_item_data_get(it);
- id->idx++;
- elm_genlist_item_update(it);
- _print_item(it);
- }
- } else if (!strcmp(label, _(EXPAND_ITEM))) {
- Eina_List *list = elm_genlist_selected_items_get(vd->genlist);
- if (list) {
- it = eina_list_data_get(eina_list_last(list));
- elm_genlist_item_expanded_set(it, EINA_TRUE);
- _print_item(it);
- }
- } else if (!strcmp(label, _(CONTRACT_ITEM))) {
- Eina_List *list = elm_genlist_selected_items_get(vd->genlist);
- if (list) {
- it = eina_list_data_get(eina_list_last(list));
- elm_genlist_item_expanded_set(it, EINA_FALSE);
- _print_item(it);
- }
- } else if (!strcmp(label, _(SHOW_FIRST_ITEM))) {
- Elm_Object_Item *it = elm_genlist_first_item_get(vd->genlist);
- elm_genlist_item_show(it, ELM_GENLIST_ITEM_SCROLLTO_TOP);
- _print_item(it);
- } else if (!strcmp(label, _(BRING_IN_LAST_ITEM))) {
- Elm_Object_Item *it = elm_genlist_last_item_get(vd->genlist);
- elm_genlist_item_bring_in(it, ELM_GENLIST_ITEM_SCROLLTO_MIDDLE);
- _print_item(it);
- } else if (!strcmp(label, _(BRING_IN_RANDOM_ITEM))) {
- int idx = 0, i = 0;
- int cnt = elm_genlist_items_count(vd->genlist);
- if (cnt) idx = rand() % cnt;
- int type = ELM_GENLIST_ITEM_SCROLLTO_IN << (rand() % 3);
-
- Elm_Object_Item *it = elm_genlist_first_item_get(vd->genlist);
- for (i = 0 ; i < idx ; i++) {
- it = elm_genlist_item_next_get(it);
- }
- elm_genlist_item_bring_in(it, type);
- _print_item(it);
- } else if (!strcmp(label, _(CHANGE_SELECT_MODE))) {
- Elm_Object_Select_Mode mode = elm_genlist_select_mode_get(vd->genlist);
- mode++;
- if (mode >ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY) mode = 0;
- elm_genlist_select_mode_set(vd->genlist, mode);
- printf("Select mode is changed to %d\n", mode);
- } else if (!strcmp(label, _(MULTI_SELECT_MODE))) {
- Eina_Bool multi = elm_genlist_multi_select_get(vd->genlist);
- elm_genlist_multi_select_set(vd->genlist, !multi);
- } else if (!strcmp(label, _(CHANGE_ITEM_SELECT_MODE))) {
- Eina_List *list = elm_genlist_selected_items_get(vd->genlist);
- if (list) {
- it = eina_list_data_get(eina_list_last(list));
- Elm_Object_Select_Mode mode = elm_genlist_item_select_mode_get(it);
- mode++;
- if (mode >ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY) mode = 0;
- elm_genlist_item_select_mode_set(it, mode);
- printf("New select mode: %d\n", mode);
- _print_item(it);
- }
- } else if (!strcmp(label, _(DECORATE_MODE))) {
- Eina_Bool mode = elm_genlist_decorate_mode_get(vd->genlist);
- elm_genlist_decorate_mode_set(vd->genlist, !mode);
- printf("Decorate mode is changed to %d\n", !mode);
- } else if (!strcmp(label, _(ITEM_DECORATE_MODE))) {
- Eina_List *list = elm_genlist_selected_items_get(vd->genlist);
- if (list) {
- it = eina_list_data_get(eina_list_last(list));
- const char *mode = elm_genlist_item_decorate_mode_get(it);
- Elm_Object_Item *it2 = elm_genlist_decorated_item_get(vd->genlist);
- if (it2 && (it == it2)) {
- elm_genlist_item_decorate_mode_set(it, NULL, EINA_FALSE);
- printf("Item[%p]: Decorate mode is disabled from %s\n",
- it, mode);
- } else {
- elm_genlist_item_decorate_mode_set(it, "slide", EINA_TRUE);
- printf("Item[%p]: Decorate mode is enabled slide from %s\n",
- it, mode);
- }
- _print_item(it);
- }
- } else if (!strcmp(label, _(REORDER_MODE))) {
- Eina_Bool mode = elm_genlist_reorder_mode_get(vd->genlist);
- elm_genlist_reorder_mode_set(vd->genlist, !mode);
- printf("Reorder is %d\n", mode);
- } else if (!strcmp(label, _(CHANGE_LIST_MODE))) {
- elm_genlist_mode_set(vd->genlist, vd->list_mode);
- printf("List mode is %d\n", vd->list_mode);
- vd->list_mode++;
- if (vd->list_mode >= ELM_LIST_LAST)
- vd->list_mode = ELM_LIST_COMPRESS;
- }
- printf("\n");
-}
-
-static Eina_Bool
-_random_test(void *data)
-{
- int len = sizeof(random_tests)/sizeof(random_tests[0]);
- View_Data *vd = data;
- int r = rand()%len;
- _genlist_test(random_tests[r], vd);
- return EINA_TRUE;
-}
-
-static void
-_extpopup_cb(void *data, Evas_Object *obj, void *event)
-{
- if ((!data) || (!obj)) return;
- View_Data *vd = data;
- const char *label = elm_object_item_text_get((Elm_Object_Item *) event);
-
- if (label) {
- if (!strcmp(label, _(RANDOM_TEST))) {
- if (vd->test_timer) {
- ecore_timer_del(vd->test_timer);
- vd->test_timer = NULL;
- }
- else vd->test_timer = ecore_timer_add(0.1, _random_test, vd);
- } else _genlist_test(label, vd);
- }
- evas_object_del(obj);
-}
-
-static void
-_menu_toolbar_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (!data) return;
- Evas_Object *ctx;
- Evas_Coord x, y, w, h;
- View_Data *vd = data;
- double s = elm_config_scale_get();
- evas_object_geometry_get(obj, &x, &y, &w, &h);
-
- ctx = elm_ctxpopup_add(vd->ad->nf);
- evas_object_smart_callback_add(ctx,"dismissed", _dismissed_cb, NULL);
- elm_ctxpopup_item_append(ctx, _(APPEND), NULL, _extpopup_cb, vd);
- elm_ctxpopup_item_append(ctx, _(PREPEND), NULL, _extpopup_cb, vd);
- elm_ctxpopup_item_append(ctx, _(INSERT_AFTER), NULL, _extpopup_cb, vd);
- elm_ctxpopup_item_append(ctx, _(INSERT_BEFORE), NULL, _extpopup_cb, vd);
- elm_ctxpopup_item_append(ctx, _(DEL_ITEM), NULL, _extpopup_cb, vd);
- elm_ctxpopup_item_append(ctx, _(HIDE_ITEM), NULL, _extpopup_cb, vd);
- elm_ctxpopup_item_append(ctx, _(DISABLE_ITEM), NULL, _extpopup_cb, vd);
- elm_ctxpopup_item_append(ctx, _(UPDATE_CLASS), NULL, _extpopup_cb, vd);
- elm_ctxpopup_item_append(ctx, _(UPDATE_ITEM), NULL, _extpopup_cb, vd);
- elm_ctxpopup_item_append(ctx, _(EXPAND_ITEM), NULL, _extpopup_cb, vd);
- elm_ctxpopup_item_append(ctx, _(CONTRACT_ITEM), NULL, _extpopup_cb, vd);
- elm_ctxpopup_item_append(ctx, _(SHOW_FIRST_ITEM), NULL, _extpopup_cb, vd);
- elm_ctxpopup_item_append(ctx, _(BRING_IN_LAST_ITEM), NULL, _extpopup_cb, vd);
- elm_ctxpopup_item_append(ctx, _(BRING_IN_RANDOM_ITEM), NULL, _extpopup_cb, vd);
- elm_ctxpopup_item_append(ctx, _(CLEAR_ITEMS), NULL, _extpopup_cb, vd);
- elm_ctxpopup_item_append(ctx, _(CLEAR_SUB_ITEMS), NULL, _extpopup_cb, vd);
- elm_ctxpopup_item_append(ctx, _(CHANGE_SELECT_MODE), NULL, _extpopup_cb, vd);
- elm_ctxpopup_item_append(ctx, _(MULTI_SELECT_MODE), NULL, _extpopup_cb, vd);
- elm_ctxpopup_item_append(ctx, _(CHANGE_ITEM_SELECT_MODE), NULL, _extpopup_cb, vd);
- elm_ctxpopup_item_append(ctx, _(DECORATE_MODE), NULL, _extpopup_cb, vd);
- elm_ctxpopup_item_append(ctx, _(ITEM_DECORATE_MODE), NULL, _extpopup_cb, vd);
- elm_ctxpopup_item_append(ctx, _(REORDER_MODE), NULL, _extpopup_cb, vd);
- elm_ctxpopup_item_append(ctx, _(RANDOM_TEST), NULL, _extpopup_cb, vd);
-
- evas_object_size_hint_max_set(ctx, s*WIDTH, s*HEIGHT);
- evas_object_move(ctx, x+w/2, y+h/2);
- evas_object_show(ctx);
-}
-
-static void _menu_more_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (!data) return;
- Evas_Object *ctx;
- View_Data *vd = data;
- struct appdata *ad;
- ad = vd->ad;
- double s = elm_config_scale_get();
-
- ctx = elm_ctxpopup_add(ad->nf);
- elm_object_style_set(ctx, "more/default");
- evas_object_smart_callback_add(ctx,"dismissed", _dismissed_cb, vd);
- evas_object_event_callback_add(ctx, EVAS_CALLBACK_DEL, _delete_cb, vd);
- evas_object_event_callback_add(ad->nf, EVAS_CALLBACK_RESIZE, _resize_cb, ctx);
- evas_object_smart_callback_add(elm_object_top_widget_get(ctx), "rotation,changed", _rotate_cb, vd);
-
- elm_ctxpopup_item_append(ctx, _(CHANGE_LIST_MODE), NULL, _extpopup_cb, vd);
- evas_object_size_hint_max_set(ctx, s*WIDTH, s*HEIGHT);
- elm_ctxpopup_direction_priority_set(ctx, ELM_CTXPOPUP_DIRECTION_UP,
- ELM_CTXPOPUP_DIRECTION_UNKNOWN,
- ELM_CTXPOPUP_DIRECTION_UNKNOWN,
- ELM_CTXPOPUP_DIRECTION_UNKNOWN);
-
- _move_ctx(vd, ctx);
- evas_object_show(ctx);
-}
-
-static Evas_Object *_create_menu_toolbar(View_Data *vd)
-{
- Evas_Object *obj, *seg_btn;
- Elm_Object_Item *item = NULL;
- /*create toolbar */
- obj = elm_toolbar_add(vd->ad->nf);
- if(obj == NULL) return NULL;
- elm_object_style_set(obj, "default");
- elm_toolbar_shrink_mode_set(obj, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_transverse_expanded_set(obj, EINA_TRUE);
- elm_toolbar_select_mode_set(obj, ELM_OBJECT_SELECT_MODE_NONE);
-
- seg_btn = elm_button_add(obj);
- elm_object_style_set(seg_btn, "style1");
- elm_object_text_set(seg_btn, _("Menu"));
- item = elm_toolbar_item_append(obj, NULL, NULL, NULL, NULL);
- elm_object_item_part_content_set(item, "object", seg_btn);
- evas_object_smart_callback_add(seg_btn, "clicked", _menu_toolbar_cb, vd);
- return obj;
-}
-
-static Evas_Object *_create_menu_more_button(View_Data *vd)
-{
- Evas_Object *button;
-
- button = elm_button_add(vd->ad->nf);
- elm_object_style_set(button, "naviframe/more/default");
- evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(button, EVAS_HINT_FILL, 0.5);
- elm_object_text_set(button, _("Menu"));
- evas_object_show(button);
- evas_object_smart_callback_add(button, "clicked", _menu_more_btn_clicked_cb, vd);
- return button;
-}
-
-static Evas_Object *_create_genlist(View_Data *vd, Evas_Object *parent)
-{
- Evas_Object *genlist;
- Elm_Object_Item *it;
- int idx = 0;
-
- for (idx = 0; idx < ITC_MAX; idx++) {
- vd->itc[idx] = elm_genlist_item_class_new();
- vd->itc[idx]->func.text_get = _gl_text_get;
- vd->itc[idx]->func.content_get = _gl_content_get;
- vd->itc[idx]->decorate_item_style = "mode/slide";
- vd->itc[idx]->decorate_all_item_style = "edit";
- vd->itc[idx]->func.del = _gl_del;
- }
-
- vd->itc[0]->item_style = "1text";
- vd->itc[1]->item_style = "2text";
- vd->itc[2]->item_style = "1text.3icon";
- vd->itc[3]->item_style = "3text.1icon.2";
- vd->itc[4]->item_style = "4text.1icon.3";
- vd->itc[5]->item_style = "1text.2icon";
- vd->itc[6]->item_style = "dialogue/2text.5";
- vd->itc[7]->item_style = "dialogue/3text.2icon";
- vd->itc[8]->item_style = "dialogue/multiline/2text";
- vd->itc[9]->item_style = "dialogue/3text.1icon/expandable";
-
- // Create genlist
- genlist = elm_genlist_add(parent);
-
- // HOMOGENEOUS MODE
- // If item height is same when each style name is same,
- // Use homogeneous mode.
- elm_genlist_homogeneous_set(genlist, EINA_TRUE);
- printf("Homogeneous mode enabled\n");
-
- // COMPRESS MODE
- // If multiline text (multiline entry or multiline textblock or sliding mode)
- // is used, use compress mode for compressing width to fit the viewport width.
- // So genlist can calculate item's height correctly.
- elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
- printf("Compress mode enabled\n");
-
- evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- evas_object_smart_callback_add(genlist, "selected", _selected, NULL);
- evas_object_smart_callback_add(genlist, "unselected", _unselected, NULL);
- evas_object_smart_callback_add(genlist, "longpressed", _longpressed, NULL);
- evas_object_smart_callback_add(genlist, "expanded", _exp, vd);
- evas_object_smart_callback_add(genlist, "contracted", _con, vd);
- evas_object_data_set(genlist, "view_data", vd);
- for (idx = 0 ; idx < 32; idx++) {
- Item_Data *id = calloc(sizeof(Item_Data), 1);
- id->idx = vd->g_idx;
- vd->g_idx++;
- it = elm_genlist_item_append(genlist, vd->itc[0], id, NULL,
- ELM_GENLIST_ITEM_TREE, _gl_sel, id);
- }
- it = elm_genlist_first_item_get(genlist);
- if (it) {
- printf("First Item, ");
- _print_item(it);
- }
- it = elm_genlist_last_item_get(genlist);
- if (it) {
- printf("Last Item, ");
- _print_item(it);
- }
- return genlist;
-}
-
-void genlist_collection_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (!data) return;
- View_Data *vd;
- struct appdata *ad = data;
-
- genlist_demo_names = genlist_get_demo_names();
- // Create layout data for this view
- vd = calloc(1, sizeof(View_Data));
- vd->g_idx = 0;
- vd->ad = ad;
- vd->box = elm_box_add(ad->nf);
- vd->genlist = _create_genlist(vd, ad->nf);
- evas_object_show(vd->genlist);
- elm_box_pack_end(vd->box, vd->genlist);
- vd->navi_it = elm_naviframe_item_push(ad->nf, _("Collection"),
- NULL, NULL, vd->box, NULL);
- evas_object_event_callback_add(vd->box, EVAS_CALLBACK_FREE, _view_free_cb, vd);
- elm_object_item_part_content_set(vd->navi_it, "toolbar", _create_menu_toolbar(vd));
- elm_object_item_part_content_set(vd->navi_it, "toolbar_more_btn", _create_menu_more_button(vd));
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "genlist.h"
-#include <stdlib.h>
-#include <time.h>
-
-/*********************************************************
- Genlist Color
- ********************************************************/
-
-#define NUM_OF_ITEMS 2000
-typedef struct _Item_Data {
- Elm_Object_Item *item;
- int bg_r, bg_g, bg_b, bg_a;
- char *name;
- char *country;
- char *photo_path;
-} Item_Data;
-
-#define NUM_OF_PHOTO 9
-static char *photo_path[] = {
- "00_list_photo_default.png", "iu100.jpg", "iu2-100.jpg", "koo100.jpg", "top100.jpg",
- "boa100.jpg", "kimtaehee100.jpg", "moon100.jpg", "taeyon100.jpg",
- NULL
-};
-
-static char **genlist_demo_names = NULL;
-static char **genlist_demo_country_names = NULL;
-
-static void
-_view_free_cb(void *data, Evas *e, Evas_Object *obj, void *ei)
-{
- Elm_Theme *th = data;
- // Free customized theme
- elm_theme_free(th);
-}
-
-static void _change_color_button_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Item_Data *item_data = (Item_Data *)elm_object_item_data_get(data);
- item_data->bg_r = rand() % 255;
- item_data->bg_g = rand() % 255;
- item_data->bg_b = rand() % 255;
- item_data->bg_a = 255;
- elm_genlist_item_update(data);
-}
-
-static char *_gl_text_get(void *data, Evas_Object *obj, const char *part)
-{
- Item_Data *item_data = (Item_Data *)data;
-
- if (item_data) {
- if (!strcmp(part, "elm.text")) {
- return strdup(item_data->name);
- } else if (!strcmp(part, "elm.text.sub")) {
- return strdup(item_data->country);
- }
- }
-
- return NULL;
-}
-
-static Evas_Object *_gl_content_get(void *data, Evas_Object *obj, const char *part)
-{
- Item_Data *item_data = (Item_Data *)data;
- Evas_Object *image, *rect, *button;
-
- if (item_data) {
- if (!strcmp(part, "elm.thumbnail")) {
- image = evas_object_image_add(evas_object_evas_get(obj));
- evas_object_image_load_size_set(image, 100 * elm_config_scale_get(),
- 100 * elm_config_scale_get());
- evas_object_image_fill_set(image, 0, 0, 100 * elm_config_scale_get(),
- 100 * elm_config_scale_get());
- evas_object_image_file_set(image, item_data->photo_path, NULL);
- return image;
- } else if (!strcmp(part, "elm.swallow.color.bg")) {
- rect = evas_object_rectangle_add(evas_object_evas_get(obj));
- evas_object_color_set(rect, item_data->bg_r, item_data->bg_g, item_data->bg_b, item_data->bg_a);
- return rect;
- } else if (!strcmp(part, "elm.swallow.end")) {
- button = elm_button_add(obj);
- elm_object_text_set(button, _("Change Color"));
- evas_object_propagate_events_set(button, EINA_FALSE);
- evas_object_smart_callback_add(button, "clicked", _change_color_button_cb, item_data->item);
- return button;
- }
- }
-
- return NULL;
-}
-
-static Eina_Bool _gl_state_get(void *data, Evas_Object *obj, const char *part)
-{
- return EINA_FALSE;
-}
-
-static void _gl_del(void *data, Evas_Object *obj)
-{
- Item_Data *item_data = (Item_Data *)data;
- if (item_data) {
- if (item_data->photo_path)
- free(item_data->photo_path);
- free(item_data);
- }
-}
-
-static char *_get_name(int index)
-{
- int num = index;
- if (num < 0)
- num = 0;
- return genlist_demo_names[(num % NUM_OF_GENLIST_DEMO_NAMES)];
-}
-
-static char *_get_country(int index)
-{
- int num = index;
- if (num < 0)
- num = 0;
- return genlist_demo_country_names[(num % NUM_OF_GENLIST_DEMO_COUNTRY_NAMES)];
-}
-
-static char *_get_photo_path(int index)
-{
- char *path = NULL;
- path = calloc(1, PATH_MAX);
- sprintf(path, ICON_DIR"/genlist/%s", photo_path[(index % NUM_OF_PHOTO)]);
- return path;
-}
-
-static void _gl_sel(void *data, Evas_Object *obj, void *event_info)
-{
- if (event_info)
- elm_genlist_item_selected_set(event_info, EINA_FALSE);
-}
-
-static Evas_Object *_create_genlist(Evas_Object *parent, Elm_Theme *th)
-{
- int index = 0;
- Evas_Object *genlist;
- Elm_Object_Item *item;
- Item_Data *item_data;
-
- genlist_demo_names = genlist_get_demo_names();
- genlist_demo_country_names = genlist_get_demo_country_names();
-
- // Create genlist
- genlist = elm_genlist_add(parent);
- // Use the new theme for genlist
- elm_object_theme_set(genlist, th);
-
- // HOMOGENEOUS MODE
- // If item height is same when each style name is same,
- // Use homogeneous mode.
- printf("Homogeneous mode enabled\n");
- elm_genlist_homogeneous_set(genlist, EINA_TRUE);
-
- Elm_Genlist_Item_Class *itc = elm_genlist_item_class_new();
- // Set genlist item class
- itc->item_style = "elm_demo_tizen/dynamic_text_style_change";
- itc->func.text_get = _gl_text_get;
- itc->func.content_get = _gl_content_get;
- itc->func.state_get = _gl_state_get;
- itc->func.del = _gl_del;
-
- // Genlist item append
- for (index = 0; index < NUM_OF_ITEMS; index++) {
- // Create a user data for each item
- // This should be freed in _gl_del
- item_data = calloc(1, sizeof(Item_Data));
-
- // Set item's user data
- item_data->name = _get_name(index);
- item_data->country = _get_country(index);
- item_data->photo_path = _get_photo_path(index);
- item_data->bg_r = rand() % 255;
- item_data->bg_g = rand() % 255;
- item_data->bg_b = rand() % 255;
- item_data->bg_a = 255;
-
- // Append a genlist item
- item = elm_genlist_item_append(genlist, // Genlist
- itc, // Item Class
- item_data, // User data
- NULL, // Parent
- ELM_GENLIST_ITEM_NONE, // Item flags
- _gl_sel, // Selected Callback
- NULL // Selected Callback Parameter
- );
-
- // Save item's pointer to use it later
- item_data->item = item;
- }
- elm_genlist_item_class_free(itc);
-
- return genlist;
-}
-
-void genlist_color_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *genlist;
- struct appdata *ad;
- Elm_Theme *th;
-
- ad = (struct appdata *) data;
- if (ad == NULL) return;
-
- // Set random seed
- srand(time(NULL));
-
- /* Use of Elm_Theme *th
- This is for performance enhancement. Genlist in this sample uses
- customized styles, so we need to use customized edc. If we just add/del
- extension theme, all created widgets will be refreshed
- (_theme_hook call). But using a separate Elm_Theme, only genlist will be
- refreshed. This enhances performance dramatically.
- **/
-
- // Create a new theme for customized genlist
- th = elm_theme_new();
- // New theme will refer the default theme
- elm_theme_ref_set(th, NULL);
- // Extend the new theme to use customized styles as well
- elm_theme_extension_add(th, ELM_DEMO_EDJ);
-
- // Create Genlist
- genlist = _create_genlist(ad->nf, th);
-
- elm_naviframe_item_push(ad->nf, "Dynamic Color Change", NULL, NULL, genlist, NULL);
- evas_object_event_callback_add(genlist, EVAS_CALLBACK_FREE, _view_free_cb, th);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_util.h"
-#include "elmdemo_test.h"
-#include "genlist.h"
-
-/*********************************************************
- Genlist Dialogue Style
- ********************************************************/
-
-static struct _menu_item menu_its[] = {
- { "Items", genlist_dialogue_item_cb },
- { "Application Items (Background)", genlist_dialogue_appitem_cb },
- /* do not delete below */
- { NULL, NULL }
-};
-
-static void _list_selected(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *it = (Elm_Object_Item *) elm_list_selected_item_get(obj);
-
- if (it == NULL)
- {
- fprintf((LOG_PRI(LOG_ERR) == LOG_ERR?stderr:stdout), "List item is NULL.\n");
- return;
- }
-
- elm_list_item_selected_set(it, EINA_FALSE);
-}
-
-void genlist_dialogue_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Evas_Object *list;
- int i;
-
- ad = (struct appdata *) data;
- if (ad == NULL) return;
-
- list = elm_list_add(ad->nf);
- elm_list_mode_set(list, ELM_LIST_COMPRESS);
- evas_object_smart_callback_add(list, "selected", _list_selected, NULL);
-
- for (i = 0; menu_its[i].name; i++) {
- elm_list_item_append(list, menu_its[i].name, NULL, NULL,
- menu_its[i].func, ad);
- }
- elm_list_go(list);
-
- elm_naviframe_item_push(ad->nf, _("Dialogue Group"), NULL, NULL, list, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_util.h"
-#include "elmdemo_test.h"
-#include "genlist.h"
-
-/*********************************************************
- Genlist Dialogue Appitem
- ********************************************************/
-
-static void _create_genlist(void *data, Evas_Object *obj, void *event_info);
-
-static struct _menu_item menu_its[] = {
- { "contact - 2text.1icon", _create_genlist },
- { "contact - 3text.2icon", _create_genlist },
- { NULL, NULL }
-};
-
-#define NUM_OF_ITEMS 10
-#define NUM_OF_TIMES 10
-static Eina_Bool dialoque_bg;
-
-#define NUM_OF_GROUPS 5
-static char *title[] = {
- NULL, N_("Colleagues"), NULL, NULL, N_("Classmates")
-};
-
-#define NUM_OF_NAMES 40
-static char **genlist_demo_names = NULL;
-
-static void _list_selected(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *it = (Elm_Object_Item *) elm_list_selected_item_get(obj);
-
- if (it == NULL)
- {
- fprintf((LOG_PRI(LOG_ERR) == LOG_ERR?stderr:stdout), "List item is NULL.\n");
- return;
- }
-
- elm_list_item_selected_set(it, EINA_FALSE);
-}
-
-static void _view_free_cb(void *data, Evas *e, Evas_Object *obj, void *ei)
-{
- if (data) free(data);
-}
-
-static char *_gl_text_get(void *data, Evas_Object *obj, const char *part)
-{
- int index = ((int)data) % NUM_OF_NAMES;
- return strdup(genlist_demo_names[index]);
-}
-
-static char* _gl_text_get_title(void *data, Evas_Object *obj,
- const char *part)
-{
- int index = ((int)data / 5) % NUM_OF_GROUPS;
- return strdup(title[index]);
-}
-
-static Evas_Object *_gl_content_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon;
-
- icon = elm_image_add(obj);
- elm_image_file_set(icon, ICON_DIR"/genlist/00_list_photo_default.png", NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- return icon;
-}
-
-static void _gl_sel(void *data, Evas_Object *obj, void *event_info)
-{
- if (event_info)
- elm_genlist_item_selected_set(event_info, EINA_FALSE);
-}
-
-static char *_accinfo_cb(void *data, Evas_Object *acc)
-{
- char *dup = NULL;
- Elm_Object_Item *it = data;
- const char *txt = elm_object_item_part_text_get(it, "elm.text");
- if (!txt) {
- txt = elm_object_item_part_text_get(it, "elm.text.1");
- }
- if (txt) dup = strdup(txt);
- return dup;
-}
-
-static void _gl_realized(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- int index = (int)elm_object_item_data_get(ei);
- //
- // ===== Accessibility ====
- if (elm_config_access_get()) {
- // Register bg_dialogue image instead whole item
- Evas_Object *acc = elm_object_item_part_access_register(ei, "bg_dialogue");
- elm_access_info_cb_set(acc, ELM_ACCESS_INFO, _accinfo_cb, ei);
- }
-
- if (index == 0){
- elm_object_item_signal_emit(ei, "elm,state,top", "");
- fprintf(stderr, "top item realized\n");
- } else if (index == (NUM_OF_ITEMS-1)) {
- elm_object_item_signal_emit(ei, "elm,state,bottom", "");
- fprintf(stderr, "bottom item realized\n");
- } else {
- elm_object_item_signal_emit(ei, "elm,state,center", "");
- fprintf(stderr, "center item realized\n");
- }
-}
-
-static void _create_genlist(void *data, Evas_Object *obj, void *event_info)
-{
- if (!data) return;
- const char *style = elm_object_item_text_get((Elm_Object_Item *)event_info);
- char *str = calloc(128, sizeof(char));
- sprintf(str, "dialogue/bg/%s", style+10);
- dialoque_bg = EINA_TRUE;
-
- int index;
- struct appdata *ad = data;
- Elm_Object_Item *item = NULL;
- Evas_Object *genlist;
- Elm_Genlist_Item_Class *itc, *itc2, *itc3;
-
- itc = elm_genlist_item_class_new();
- itc2 = elm_genlist_item_class_new();
- itc3 = elm_genlist_item_class_new();
-
- itc->item_style = str;
- itc->func.text_get = _gl_text_get;
- itc->func.content_get = _gl_content_get;
-
- // Set item class for dialogue separator
- itc2->item_style = "dialogue/seperator";
-
- // Set item class for dialogue title
- itc3->item_style = "dialogue/grouptitle";
- itc3->func.text_get = _gl_text_get_title;
-
- // Create genlist
- genlist = elm_genlist_add(ad->nf);
- // HOMOGENEOUS MODE
- // If item height is same when each style name is same,
- // Use homogeneous mode.
- elm_genlist_homogeneous_set(genlist, EINA_TRUE);
- printf("Homogeneous mode enabled\n");
-
- evas_object_smart_callback_add(genlist, "realized", _gl_realized, NULL);
-
- for (index = 0; index < NUM_OF_ITEMS; index++) {
- if (index % 5 == 0 && !dialoque_bg) {
- if (title[index/5%NUM_OF_GROUPS])
- item = elm_genlist_item_append(genlist, itc3, (void *)index, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, NULL);
- else
- item = elm_genlist_item_append(genlist, itc2, (void *)index, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, NULL);
- elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
- } else {
- item = elm_genlist_item_append(genlist, itc, (void *)index, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, NULL);
- }
- if (index == 0)
- elm_object_item_disabled_set(item, EINA_TRUE);
- }
- elm_genlist_item_class_free(itc);
- elm_genlist_item_class_free(itc2);
- elm_genlist_item_class_free(itc3);
-
- elm_naviframe_item_push(ad->nf, _(style), NULL, NULL, genlist, NULL);
- evas_object_event_callback_add(genlist, EVAS_CALLBACK_FREE, _view_free_cb, str);
-}
-
-void genlist_dialogue_appitem_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Evas_Object *list;
- int i;
- dialoque_bg = EINA_FALSE;
-
- ad = (struct appdata *) data;
- if (ad == NULL) return;
-
- list = elm_list_add(ad->nf);
- elm_list_mode_set(list, ELM_LIST_COMPRESS);
- evas_object_smart_callback_add(list, "selected", _list_selected, NULL);
-
- for (i = 0; menu_its[i].name; i++) {
- elm_list_item_append(list, menu_its[i].name, NULL, NULL, menu_its[i].func, ad);
- }
- elm_list_go(list);
-
- elm_naviframe_item_push(ad->nf, _("Application Items"), NULL, NULL, list, NULL);
-
- genlist_demo_names = genlist_get_demo_names();
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_util.h"
-#include "elmdemo_test.h"
-#include "genlist.h"
-
-/*********************************************************
- Genlist Dialogue Group
- ********************************************************/
-#define NUM_OF_ITEMS 2000
-#define NUM_OF_NAMES 50
-#define NUM_OF_GROUPS 5
-
-typedef struct _Item_Data
-{
- int index;
- int highlighted;
- Elm_Object_Item *item;
-} Item_Data;
-
-static char *menu_its[] = {
- "1icon",
- "1icon/no_padding",
- "1text",
- "1text.1icon",
- "1text.1icon.2",
- "1text.1icon.2.tb",
- "1text.2icon",
- "2text.1icon.6",
- "2text.1icon.6.tb",
- "1text.1icon.3",
- "1text.1icon.3.tb",
- "1text.2icon.2",
- "1text.3icon",
- "1text.1icon.5",
- "2text.1icon.4",
- "2text.1icon.4.tb",
- "2text.6",
- "2text.9",
- "2text.4",
- "2text.4.tb",
- "1text.3icon.2",
- "1text.1icon.4",
- "2text.5",
- "multiline/1text.1icon",
- "1text.1icon.divider",
- "1text.2icon.divider",
- "1text.2icon.10",
- "2text",
- "2text.2",
- "2text.3",
- "2text.1icon.2",
- "2text.1icon.3",
- "2text.3icon",
- "2text.2icon",
- "2text.2icon.2",
- "2text.2icon.3",
- "2text.2icon.3.tb",
- "2text.1icon.5",
- "multiline/1title.1text",
- "multiline/1title.2text",
- "1text.4icon",
- "2text.2icon.4",
- "2text.2icon.4.tb",
- "2text.1icon.10",
- "2text.1icon.10.tb",
- "2text.1icon.7",
- "2text.1icon.8",
- "multiline/2text",
- "2text.1icon.15",
- "2text.1icon.divider",
- "3text.2icon",
- "grouptitle",
- "multiline/1text",
- "2text/expandable",
- "2text.2/expandable",
- "2text.3/expandable",
- "2text.1icon/expandable",
- "3text.1icon/expandable",
- "1text/expandable",
- NULL
-};
-
-static char *title[] =
-{ "Family", "Friends", "Colleagues", "Club", "Classmates" };
-
-static char *help_dialogue_message =
- "Help message<br>1. Activate Wi-Fi on your device<br>"
- "2. Find name in your network list.<br>"
- "3. Connect name by entering password in WPA field.";
-
-static char **genlist_demo_names;
-
-static const char *color_set[5] =
-{
- "#ff0000ff",
- "#00ff00ff",
- "#0000ffff",
- "#ff00ffff",
- "#00ffffff"
-};
-
-static char *photo_path[] = {
- "00_list_photo_default.png", "iu.jpg", "iu2.jpg", "koo.jpg", "top.jpg", "boa.jpg",
- "kimtaehee.jpg", "moon.jpg", "taeyon.jpg"
-};
-
-static void _gl_del(void *data, Evas_Object *obj)
-{
- // FIXME: unrealized callback will be called after this.
- // accessing Item_Data can be dangerous on unrealized callback.
- Item_Data *id = data;
- if (id) free(id);
-}
-
-static void _list_selected(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *it = (Elm_Object_Item *) elm_list_selected_item_get(obj);
-
- if (it == NULL)
- {
- fprintf((LOG_PRI(LOG_ERR) == LOG_ERR?stderr:stdout), "List item is NULL.\n");
- return;
- }
-
- elm_list_item_selected_set(it, EINA_FALSE);
-}
-
-static char *
-_gl_text_get_title(void *data, Evas_Object *obj, const char *part)
-{
- Item_Data *id = data;
- int index = id->index;
- index = (index / 5) % NUM_OF_GROUPS;
- return strdup(title[index]);
-}
-
-static char *
-_gl_text_get_password(void *data, Evas_Object *obj, const char *part)
-{
- return strdup("password");
-}
-
-static char *
-_gl_text_get(void *data, Evas_Object *obj, const char *part)
-{
- Item_Data *id = data;
- int index = id->index;
- char buf[1024];
-
- if (!strcmp(part, "elm.text.2")) index+=2;
-
- snprintf(buf, 1023, "%s:%s", part, genlist_demo_names[index%NUM_OF_NAMES]);
- return strdup(buf);
-}
-
-static char *
-_gl_text_multline_2text_get(void *data, Evas_Object *obj, const char *part)
-{
- Item_Data *id = data;
- int index = id->index;
- char buf[2048];
-
- if (!strcmp(part, "elm.text.1")) {
- snprintf(buf, 1023, "%s:%s", part, genlist_demo_names[index%NUM_OF_NAMES]);
- return strdup(buf);
- } else {
- int size = (index % 30)*4 + 32;
- const char *color = color_set[index % 5];
- sprintf(buf, "<font_size=%d><color=%s>%s</color></font_size>",
- size, color, genlist_demo_names[index%NUM_OF_NAMES]);
- return strdup(buf);
- }
-}
-
-static char *_gl_text_get_textblock(void *data, Evas_Object *obj, const char *part)
-{
- Item_Data *id = data;
- int index = id->index % NUM_OF_NAMES;
- char buf[PATH_MAX] = {0, };
- int size;
- const char *color;
-
- size = (index % 30)*4 + 32;
- color = color_set[index % 5];
- // FIXME: textblock is too slow....
- if (!strcmp(part, "elm.text") || !strcmp(part, "elm.text.2")) {
- sprintf(buf, "<font_size=%d><color=%s>%s</color></font_size>",
- size, color, genlist_demo_names[index]);
- } else
- sprintf(buf, "<color=%s>%s</color>",
- color, genlist_demo_names[index]);
-
- return strdup(buf);
-}
-
-static char *_gl_text_help_dialogue_get(void *data, Evas_Object *obj, const char *part)
-{
- return strdup(help_dialogue_message);
-}
-
-static Evas_Object *_gl_minus_btn_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object * icon = elm_button_add(obj);
- elm_object_style_set(icon, "minus");
- evas_object_propagate_events_set(icon, EINA_FALSE);
- return icon;
-}
-
-static Evas_Object *
-_gl_icon_colorbar_get(void *data, Evas_Object *obj, const char *part)
-{
- Item_Data *id = data;
- int index = id->index;
- Evas_Object *icon = evas_object_rectangle_add(evas_object_evas_get(obj));
- evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, EVAS_HINT_FILL);
- if (index%3 == 0) evas_object_color_set(icon, 80, 107, 207, 255);
- else if (index%3 == 1) evas_object_color_set(icon, 72, 136, 42, 255);
- else if (index%3 == 2) evas_object_color_set(icon, 204, 52, 52, 255);
- return icon;
-}
-
-static Evas_Object *
-_gl_icon_progressbar_get(void *data, Evas_Object *obj, const char *part)
-{
- if (!strcmp(part, "elm.icon.edit"))
- return _gl_minus_btn_get(data, obj, part);
-
- Evas_Object *icon = elm_progressbar_add(obj);
- elm_object_style_set(icon, "pending_list");
- elm_progressbar_horizontal_set(icon, EINA_TRUE);
- elm_progressbar_pulse(icon, EINA_TRUE);
- return icon;
-}
-
-static Evas_Object *
-_gl_icon_reveal_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon = elm_button_add(obj);
- elm_object_style_set(icon, "reveal");
- evas_object_propagate_events_set(icon, EINA_FALSE);
- return icon;
-}
-
-static Evas_Object *
-_gl_icon_onoff_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon = elm_check_add(obj);
- elm_check_state_set(icon, EINA_TRUE);
- elm_object_style_set(icon, "on&off");
- evas_object_propagate_events_set(icon, EINA_FALSE);
-
- Item_Data *id = data;
- const Elm_Genlist_Item_Class *itc;
- itc = elm_genlist_item_item_class_get(id->item);
- // If no divider, unregister access object
- if (itc && !strstr(itc->item_style, ".divider")) {
- elm_access_object_unregister(icon);
- }
- return icon;
-}
-
-static Evas_Object *
-_gl_icon_chk_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon = elm_check_add(obj);
- elm_object_style_set(icon, "default/genlist");
- elm_check_state_set(icon, EINA_TRUE);
- evas_object_repeat_events_set(icon, EINA_TRUE);
- evas_object_propagate_events_set(icon, EINA_FALSE);
-
- Item_Data *id = data;
- const Elm_Genlist_Item_Class *itc;
- itc = elm_genlist_item_item_class_get(id->item);
- // If no divider, unregister access object
- if (itc && !strstr(itc->item_style, ".divider")) {
- elm_access_object_unregister(icon);
- }
- return icon;
-}
-
-static Evas_Object *
-_gl_icon_btn_text_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon = elm_button_add(obj);
- elm_object_text_set(icon, "Text Button");
- evas_object_propagate_events_set(icon, EINA_FALSE);
- return icon;
-}
-
-static Evas_Object *
-_gl_icon_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon = elm_image_add(obj);
- elm_image_file_set(icon, ICON_DIR"/genlist/iu.jpg", NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- return icon;
-}
-
-static Evas_Object *
-_gl_icon_photo_get(void *data, Evas_Object *obj, const char *part)
-{
-
- if (!strcmp(part, "elm.icon.edit"))
- return _gl_minus_btn_get(data, obj, part);
-
- Item_Data *id = data;
- int index = id->index % (sizeof(photo_path)/sizeof(*photo_path));
- char buf[PATH_MAX];
- Evas_Object *icon = elm_image_add(obj);
- sprintf(buf, ICON_DIR"/genlist/%s", photo_path[index]);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- return icon;
-}
-
-static Evas_Object *_gl_content_get(void *data, Evas_Object *obj, const char *part)
-{
- if (!strcmp(part, "elm.icon.edit"))
- return _gl_minus_btn_get(data, obj, part);
- else if (!strcmp(part, "elm.swallow.end")) {
- return _gl_icon_reveal_get(data, obj, part);
- } else if (!strcmp(part, "elm.swallow.colorbar")) {
- return _gl_icon_colorbar_get(data, obj, part);
- } else if (!strcmp(part, "elm.swallow.progress")) {
- return _gl_icon_progressbar_get(data, obj, part);
- }
- return _gl_icon_get(data, obj, part);
-}
-
-static Evas_Object *_gl_content_get_title(void *data, Evas_Object *obj, const char *part)
-{
- int index = (int) data;
- if (!strcmp(part, "elm.icon") && index == 0) {
- Evas_Object *progressbar = elm_progressbar_add(obj);
- elm_object_style_set(progressbar, "list_process_small");
- elm_progressbar_horizontal_set(progressbar, EINA_TRUE);
- elm_progressbar_pulse(progressbar, EINA_TRUE);
- return progressbar;
- }
- return NULL;
-}
-
-static Evas_Object *_gl_icon_grouptitle_get(void *data, Evas_Object *obj, const char *part)
-{
- Item_Data *id = data;
- int index = id->index;
- if (!strcmp(part, "elm.icon") && ((index % 4) == 0)) {
- Evas_Object *progressbar = elm_progressbar_add(obj);
- elm_object_style_set(progressbar, "list_process_small");
- elm_progressbar_horizontal_set(progressbar, EINA_TRUE);
- elm_progressbar_pulse(progressbar, EINA_TRUE);
- return progressbar;
- }
- return NULL;
-}
-
-static Evas_Object *
-_gl_2icon_chk_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon;
- if (!strcmp(part, "elm.icon") || !strcmp(part, "elm.icon.1"))
- icon = _gl_icon_chk_get(data, obj, part);
- else icon = _gl_content_get(data, obj, part);
- return icon;
-}
-
-static Evas_Object *
-_gl_2icon_onoff_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon;
- if (!strcmp(part, "elm.icon") || !strcmp(part, "elm.icon.2"))
- icon = _gl_icon_onoff_get(data, obj, part);
- else icon = _gl_content_get(data, obj, part);
- return icon;
-}
-
-static Evas_Object *
-_gl_2icon_reveal_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon;
- if (!strcmp(part, "elm.icon") || !strcmp(part, "elm.icon.2"))
- icon = _gl_icon_reveal_get(data, obj, part);
- else icon = _gl_content_get(data, obj, part);
- return icon;
-}
-
-static Evas_Object *
-_gl_2icon_chk_reveal_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon;
- if (!strcmp(part, "elm.icon") || !strcmp(part, "elm.icon.2"))
- icon = _gl_icon_reveal_get(data, obj, part);
- else if (!strcmp(part, "elm.icon.1"))
- icon = _gl_icon_chk_get(data, obj, part);
- else
- icon = _gl_content_get(data, obj, part);
- return icon;
-}
-
-static Evas_Object *
-_gl_3icon_chk_reveal_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon;
- if (!strcmp(part, "elm.icon.3"))
- icon = _gl_icon_reveal_get(data, obj, part);
- else if (!strcmp(part, "elm.icon.1"))
- icon = _gl_icon_chk_get(data, obj, part);
- else
- icon = _gl_content_get(data, obj, part);
- return icon;
-}
-
-static Evas_Object *
-_gl_icons_get(void *data, Evas_Object *obj, const char *part)
-{
- Item_Data *id = data;
- int index = id->index % 7;
- Evas_Object *icon;
-
- if (!strcmp(part, "elm.icon.edit"))
- return _gl_minus_btn_get(data, obj, part);
- else if (!strcmp(part, "elm.swallow.end")) {
- return _gl_icon_reveal_get(data, obj, part);
- } else if (!strcmp(part, "elm.swallow.colorbar")) {
- return _gl_icon_colorbar_get(data, obj, part);
- } else if (!strcmp(part, "elm.swallow.progress")) {
- return _gl_icon_progressbar_get(data, obj, part);
- }
-
- if (0 == index) {
- icon = _gl_icon_progressbar_get(data, obj, part);
- } else if (1 == index) {
- icon = _gl_icon_reveal_get(data, obj, part);
- } else if (2 == index) {
- icon = _gl_icon_onoff_get(data, obj, part);
- } else if (3 == index) {
- icon = _gl_icon_btn_text_get(data, obj, part);
- } else if (4 == index) {
- icon = _gl_icon_chk_get(data, obj, part);
- } else {
- icon = _gl_icon_photo_get(data, obj, part);
- }
- return icon;
-}
-
-static Evas_Object *
-_gl_icon_slider_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *slider, *icon, *icon2;
-
- if (!strcmp(part, "elm.icon.edit"))
- return _gl_minus_btn_get(data, obj, part);
-
- slider = elm_slider_add(obj);
- elm_slider_indicator_show_set(slider, EINA_TRUE);
- evas_object_size_hint_weight_set(slider, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(slider, EVAS_HINT_FILL, 0.5);
- elm_slider_indicator_format_set(slider, "%1.0f");
-
- icon = elm_image_add(obj);
- elm_image_file_set(icon, ICON_DIR"/00_slider_button_volume_01.png", NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_object_content_set(slider, icon);
- icon2 = elm_image_add(obj);
- elm_image_file_set(icon2, ICON_DIR"/00_slider_button_volume_02.png", NULL);
- evas_object_size_hint_aspect_set(icon2, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_object_part_content_set(slider, "end", icon2);
- evas_object_propagate_events_set(slider, EINA_FALSE);
-
- return slider;
-}
-
-static Evas_Object *
-_gl_icon_entry_get(void *data, Evas_Object *obj, const char *part)
-{
- static Elm_Entry_Filter_Limit_Size limit_filter_data;
- Evas_Object *en = elm_entry_add(obj);
- ea_entry_selection_back_event_allow_set(en, EINA_TRUE);
- evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(en, 1, EVAS_HINT_FILL);
-
- limit_filter_data.max_byte_count = 0;
- limit_filter_data.max_char_count = 1;
- elm_entry_markup_filter_append(en, elm_entry_filter_limit_size,
- &limit_filter_data);
-
- elm_entry_single_line_set(en, EINA_TRUE);
- elm_entry_password_set(en, EINA_TRUE);
- elm_object_style_set(en, "list");
- //elm_entry_entry_set(en, "pass");
- elm_entry_cursor_end_set(en);
- return en;
-}
-
-static char *_accinfo_cb(void *data, Evas_Object *acc)
-{
- char *dup = NULL;
- Elm_Object_Item *it = data;
- const char *txt = elm_object_item_part_text_get(it, "elm.text");
- if (!txt) {
- txt = elm_object_item_part_text_get(it, "elm.text.1");
- }
- if (txt) dup = strdup(txt);
- return dup;
-}
-
-static void _gl_sel(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("Select callback: %s\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-
- // Make item as unselected
- elm_genlist_item_selected_set(ei, EINA_FALSE);
-
- const Elm_Genlist_Item_Class *itc = elm_genlist_item_item_class_get(item);
- if (!strcmp(itc->item_style, "dialogue/1text.1icon.3") ||
- !strcmp(itc->item_style, "dialogue/1text.1icon") ||
- !strcmp(itc->item_style, "dialogue/1text.2icon.2") ||
- !strcmp(itc->item_style, "dialogue/1text.3icon") ||
- !strcmp(itc->item_style, "dialogue/1text.3icon.2") ||
- !strcmp(itc->item_style, "dialogue/multiline/1text.1icon") ||
- !strcmp(itc->item_style, "dialogue/1text.2icon.10") ||
- !strcmp(itc->item_style, "dialogue/2text.1icon.10") ||
- !strcmp(itc->item_style, "dialogue/2text.1icon.10.tb") ||
- !strcmp(itc->item_style, "dialogue/2text.2icon")) {
- printf("update check\n");
- // Update check button
- Evas_Object *ck = elm_object_item_part_content_get(ei, "elm.icon");
- if (!ck) ck = elm_object_item_part_content_get(ei, "elm.icon.1");
- if (ck) {
- Eina_Bool state = elm_check_state_get(ck);
- elm_check_state_set(ck, !state);
- }
- }
-
-}
-
-static void _access_activate_cb(void *data, Evas_Object *part_obj, Elm_Object_Item *item)
-{
- //Eina_Bool state;
-
- elm_genlist_item_selected_set(data, EINA_TRUE);
- //state = elm_check_state_get(data);
- //elm_check_state_set(data, !state);
-}
-
-static void _gl_realized(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Item_Data *id = elm_object_item_data_get(ei);
- int index = id->index;
-
- // ===== Accessibility ====
- if (elm_config_access_get()) {
- const Elm_Genlist_Item_Class *itc = elm_genlist_item_item_class_get(ei);
-
- // Register bg_dialogue image to be highlighted instead of whole item
- if (strcmp(itc->item_style, "dialogue/grouptitle")) {
- Evas_Object *acc = elm_object_item_part_access_register(ei, "bg_dialogue");
- elm_access_info_cb_set(acc, ELM_ACCESS_INFO, _accinfo_cb, ei);
- elm_access_activate_cb_set(acc, _access_activate_cb, ei);
- }
-
- // Unregister item not to be highglihted
- if (!strcmp(itc->item_style, "dialogue/1icon/no_padding")) {
- elm_object_item_access_unregister(ei);
- }
-
- // if icon is not appended yet, register icon to be highglihted
- if (!strcmp(itc->item_style, "dialogue/1icon") ||
- !strcmp(itc->item_style, "dialogue/1icon/no_padding")) {
- const Eina_List *org = elm_object_item_access_order_get(ei);
- Evas_Object *content =
- elm_object_item_part_content_get(ei, "elm.icon");
- if (content && !eina_list_data_find(org, content)) {
- Evas_Object *tmp;
- Eina_List *l;
- Eina_List *items = NULL;
-
- // Duplicate original access order
- EINA_LIST_FOREACH((Eina_List *)org, l, tmp)
- items = eina_list_append(items, tmp);
-
- Evas_Object *ao = elm_access_object_register(content, obj);
- items = eina_list_append(items, ao);
- elm_object_item_access_order_set(ei, items);
- }
- }
-
- // Remove progress from access order not to be highlighted
- if (!strcmp(itc->item_style, "dialogue/grouptitle")) {
- printf("laskjdasf\n");
- const Eina_List *org = elm_object_item_access_order_get(ei);
- Evas_Object *content =
- elm_object_item_part_content_get(ei, "elm.icon");
- printf("content: %p\n", content);
-
- if (content && eina_list_data_find(org, content)) {
- Evas_Object *tmp;
- Eina_List *l;
- Eina_List *items = NULL;
-
- // Duplicate original access order
- EINA_LIST_FOREACH((Eina_List *)org, l, tmp)
- items = eina_list_append(items, tmp);
-
- items = eina_list_remove(items, content);
- elm_object_item_access_order_set(ei, items);
- }
- }
- }
-
- if (index == 3) {
- elm_object_item_signal_emit(ei, "elm,state,edit,enabled", "");
- }
-
- if (index == 0) {
- elm_object_item_signal_emit(ei, "elm,state,normal", "");
- } else if (index % 6 == 3) {// right after title
- elm_object_item_signal_emit(ei, "elm,state,top", "");
- } else if (index % 6 == 0) {
- elm_object_item_signal_emit(ei, "elm,state,bottom", "");
- } else {
- elm_object_item_signal_emit(ei, "elm,state,center", "");
- }
-
-
-}
-
-static void _create_genlist(void *data, Evas_Object *obj, void *event_info)
-{
- if (!data) return;
- struct appdata *ad = data;
- int index;
- Elm_Object_Item *item;
- Evas_Object *genlist;
- const char *style = elm_object_item_text_get(event_info);
-
- char str[256];
- sprintf(str, "dialogue/%s", style);
-
- // Create item class
- Elm_Genlist_Item_Class *itc, *itc2, *itc3;
- itc = elm_genlist_item_class_new();
- itc2 = elm_genlist_item_class_new();
- itc3 = elm_genlist_item_class_new();
-
- // Set item class for dialogue normal items
- // If str is heap memory, not static, use stringshare add.
- itc->item_style = eina_stringshare_add(str);
- itc->func.text_get = _gl_text_get;
- itc->func.content_get = _gl_content_get;
- itc->func.del = _gl_del;
-
- // Set item class for dialogue separator
- itc2->item_style = "dialogue/separator";
- itc2->func.del = _gl_del;
-
- // Set item class for dialogue title
- itc3->item_style = "dialogue/grouptitle";
- itc3->func.text_get = _gl_text_get_title;
- itc3->func.content_get = _gl_content_get_title;
- itc3->func.del = _gl_del;
-
- // Create genlist
- genlist = elm_genlist_add(ad->nf);
- // Optimize your application with appropriate genlist block size.
- elm_genlist_block_count_set(genlist, 14);
-
- // COMPRESS MODE
- // If multiline text (entry, textblock, sliding mode) is used, use compress mode for
- // compressing width.
- if (strstr(style, ".tb") || strstr(style, "multiline")) {
- printf("Compress mode enabled\n");
- elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
- }
- // HOMOGENEOUS MODE
- // If item height is same when each style name is same,
- // Use homogeneous mode.
- if (!strstr(style, ".tb") && !strstr(style, "multiline")) {
- printf("Homogeneous mode enabled\n");
- elm_genlist_homogeneous_set(genlist, EINA_TRUE);
- }
- // REALIZATION MODE
- // password part is entry, for resize entry
- // Use realization mode
- if (!strcmp(style, "1text.4icon")) {
- elm_genlist_realization_mode_set(genlist, EINA_TRUE);
- }
-
- evas_object_smart_callback_add(genlist, "realized", _gl_realized, NULL);
-
- if (strstr(style, ".tb"))
- itc->func.text_get = _gl_text_get_textblock;
- else if (!strcmp(style, "multiline/1text")) {
- eina_stringshare_del(itc->item_style);
- itc->item_style = eina_stringshare_add(style);
- itc->func.text_get = _gl_text_help_dialogue_get;
- }
-
- if (strstr(style, ".thumb."))
- itc->func.content_get = _gl_icon_photo_get;
-
- if (!strcmp(style, "1icon") || !strcmp(style, "1icon/no_padding"))
- itc->func.content_get = _gl_icons_get;
- else if (!strcmp(style, "multiline/1text.1icon"))
- itc->func.content_get = _gl_icon_chk_get;
- else if (!strcmp(style, "1text.1icon") || !strcmp(style, "1text.2icon") ||
- !strcmp(style, "1text.1icon.divider") ||
- !strcmp(style, "1text.2icon.divider") ||
- !strcmp(style, "2text.1icon.divider") ||
- !strcmp(style, "2text.1icon.10") ||
- !strcmp(style, "2text.1icon.10.tb"))
- itc->func.content_get = _gl_2icon_onoff_get;
- else if (!strcmp(style, "1text.1icon.5"))
- itc->func.content_get = _gl_icon_slider_get;
- else if (!strcmp(style, "2text.1icon.4") ||
- !strcmp(style, "2text.1icon.4.tb"))
- itc->func.content_get = _gl_icon_progressbar_get;
- else if (!strcmp(style, "1text.1icon.3") ||
- !strcmp(style, "1text.2icon.10") ||
- !strcmp(style, "2text.2icon"))
- itc->func.content_get = _gl_2icon_chk_get;
- else if (!strcmp(style, "2text.2icon.3") ||
- !strcmp(style, "2text.2icon.3.tb"))
- itc->func.content_get = _gl_2icon_reveal_get;
- else if (!strcmp(style, "grouptitle"))
- itc->func.content_get = _gl_icon_grouptitle_get;
- else if (!strcmp(style, "1text.2icon.2"))
- itc->func.content_get = _gl_2icon_chk_reveal_get;
- else if (!strcmp(style, "1text.3icon") ||
- !strcmp(style, "1text.3icon.2"))
- itc->func.content_get = _gl_3icon_chk_reveal_get;
-
- int num = NUM_OF_ITEMS;
- if (!strcmp(style, "1text.4icon")) {
- num = 20;
- itc->func.text_get = _gl_text_get_password;
- itc->func.content_get = _gl_icon_entry_get;
- } else if (!strcmp(style, "multiline/2text"))
- itc->func.text_get = _gl_text_multline_2text_get;
-
- for (index = 0; index < num; index++) {
- Item_Data *id = calloc(sizeof(Item_Data), 1);
- id->index = index;
- if (index == 0) {
- item = elm_genlist_item_append(genlist,
- itc,
- id,
- NULL,
- ELM_GENLIST_ITEM_NONE,
- _gl_sel,
- NULL);
- } else if (index % 6 == 1) { // Separator
- item = elm_genlist_item_append(genlist,
- itc2,
- id,
- NULL,
- ELM_GENLIST_ITEM_NONE,
- _gl_sel,
- NULL);
- elm_genlist_item_select_mode_set(item,
- ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
- } else if (index % 6 == 2) { // Title
- item = elm_genlist_item_append(
- genlist,
- itc3,
- id,
- NULL,
- ELM_GENLIST_ITEM_NONE,
- _gl_sel,
- NULL);
- elm_genlist_item_select_mode_set(item,
- ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
- } else {
- // Normal item
- item = elm_genlist_item_append(
- genlist,
- itc,
- id, NULL,
- ELM_GENLIST_ITEM_NONE,
- _gl_sel,
- NULL);
- }
- if (index == 0) elm_object_item_disabled_set(item, EINA_TRUE);
- id->item = item;
- }
- // Unref item class
- elm_genlist_item_class_free(itc);
- elm_genlist_item_class_free(itc2);
- elm_genlist_item_class_free(itc3);
-
- elm_naviframe_item_push(ad->nf, _(style), NULL, NULL, genlist, NULL);
-}
-
-void genlist_dialogue_item_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Evas_Object *list;
- int i;
-
- ad = (struct appdata *) data;
- if (ad == NULL) return;
-
- list = elm_list_add(ad->nf);
- elm_list_mode_set(list, ELM_LIST_COMPRESS);
- evas_object_smart_callback_add(list, "selected", _list_selected, NULL);
-
- for (i = 0; menu_its[i]; i++) {
- elm_list_item_append(list, menu_its[i], NULL, NULL, _create_genlist, ad);
- }
- elm_list_go(list);
-
- elm_naviframe_item_push(ad->nf, _("Items"), NULL, NULL, list, NULL);
-
- genlist_demo_names = genlist_get_demo_names();
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "genlist.h"
-#include "efl_assist.h"
-
-/*********************************************************
- Genlist Edit
- ********************************************************/
-
-#define NUM_OF_ITEMS 1000
-#define EDITMODE "Edit Mode"
-#define REORDER "Reorder"
-#define EDIT_REORDER "Edit Reorder"
-#define WIDTH 500
-#define HEIGHT 600
-#define ZOOM_TOLERANCE 0.4
-
-static char *photo_path[] = {
- "00_list_photo_default.png", "iu.jpg", "iu2.jpg", "koo.jpg", "top.jpg", "boa.jpg",
- "kimtaehee.jpg", "moon.jpg", "taeyon.jpg"
-};
-
-
-typedef struct _View_Data {
- struct appdata *ad;
- char** genlist_demo_country_names;
-
- Evas_Object *genlist;
- Evas_Object *box;
- Elm_Object_Item *navi_it;
-
- Evas_Object *select_all_layout;
-
- Elm_Object_Item *renamed_it;
- int checked_count;
- Evas_Object *ctx;
- Elm_Object_Item *pinch_zoom_it;
- Eina_Bool pinch_zoomed;
-} View_Data;
-
-typedef struct _Item_Data {
- View_Data *vd;
- int index;
- Elm_Object_Item *it; // Genlist Item pointer
- char *label;
- Eina_Bool checked; // Check status
-} Item_Data;
-
-static Eina_Bool rotate_flag = EINA_FALSE;
-static Evas_Object *create_del_done_toolbar(View_Data *vd);
-static Evas_Object *create_done_toolbar(View_Data *vd);
-static void _del_toolbar_cb(void *data, Evas_Object *obj, void *event_info);
-static void _done_toolbar_cb(void *data, Evas_Object *obj, void *event_info);
-static void _maxlength_reached_cb(void *data, Evas_Object *obj, void *event_info)
-{
- printf("Maxlength reached!\n");
-}
-
-static void _view_free_cb(void *data, Evas *e, Evas_Object *obj, void *ei)
-{
- View_Data *vd = data;
- if(vd && vd->ad) elm_object_style_set(vd->ad->bg, "default");
- if (vd) free(vd);
-}
-
-static void _gl_del(void *data, Evas_Object *obj)
-{
- // FIXME: unrealized callback will be called after this.
- // accessing Item_Data can be dangerous on unrealized callback.
- Item_Data *id = data;
- if (id && id->label) free(id->label);
- if (id) free(id);
-}
-
-static void _changed_cb(void *data, Evas_Object *obj, void *event_info) // This callback is for showing(hiding) X marked button.
-{
- Item_Data *id = data;
- if (id->label) free(id->label);
- id->label = strdup(elm_entry_entry_get(obj));
-}
-
-static void _unset_rename(Evas_Object *genlist)
-{
- View_Data *vd = evas_object_data_get(genlist, "view_data");
-
- if ((vd) && (vd->renamed_it) && (elm_genlist_item_flip_get(vd->renamed_it))) {
- printf("rename stop\n");
- //elm_genlist_decorate_mode_set(vd->genlist, EINA_FALSE);
- elm_genlist_item_flip_set(vd->renamed_it, EINA_FALSE);
- elm_genlist_item_select_mode_set(vd->renamed_it, ELM_OBJECT_SELECT_MODE_DEFAULT);
- vd->renamed_it = NULL;
- }
-}
-
-static void _rename_button_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (!data) return;
- Evas_Object *genlist = elm_object_item_widget_get(data);
- View_Data *vd = evas_object_data_get(genlist, "view_data");
-
- if (vd) {
- printf("rename start\n");
- _unset_rename(genlist);
- vd->renamed_it = data;
- elm_genlist_item_flip_set(vd->renamed_it, EINA_TRUE);
- elm_genlist_item_select_mode_set(vd->renamed_it, ELM_OBJECT_SELECT_MODE_NONE);
- }
-}
-
-static void
-_navi_text_update(View_Data *vd)
-{
- char buf[1024];
- snprintf(buf, 1023, "%d selectded", vd->checked_count);
- elm_object_item_part_text_set(vd->navi_it, NULL, buf);
-}
-
-static void
-_cancel_clicked(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *genlist = data;
- _unset_rename(genlist);
-}
-
-static void _check_change_cb(void *data, Evas_Object *obj, void *event_info)
-{
- // For accessibility, because accessbility activate events cannot be propagated.
- if (elm_config_access_get()) {
- Item_Data *it_data = elm_object_item_data_get(data);
- Eina_Bool state = elm_check_state_get(obj);
- if (state) it_data->vd->checked_count++;
- else it_data->vd->checked_count--;
- printf("check changed, count: %d\n", it_data->vd->checked_count);
- if (it_data->vd->select_all_layout) {
- Evas_Object *check =
- elm_object_part_content_get(it_data->vd->select_all_layout,
- "elm.icon");
- if (elm_genlist_items_count(it_data->vd->genlist) ==
- it_data->vd->checked_count)
- elm_check_state_set(check, EINA_TRUE);
- else elm_check_state_set(check, EINA_FALSE);
- }
- _navi_text_update(it_data->vd);
- }
-}
-
-static void _gl_sel(void *data, Evas_Object *obj, void *ei)
-{
- Elm_Object_Item *item = ei;
- Item_Data *it_data = data;
- Eina_Bool state = EINA_FALSE;
-
- _unset_rename(obj);
-
- elm_genlist_item_selected_set(item, EINA_FALSE);
- printf("item(%p) selected\n", item);
-
- if (elm_genlist_item_flip_get(item)) return;
- if (!elm_genlist_decorate_mode_get(obj)) return;
-
- Evas_Object *ck = elm_object_item_part_content_get(ei, "elm.edit.icon.1");
- if (ck) {
- state = elm_check_state_get(ck);
- elm_check_state_set(ck, !state);
- if (!state) it_data->vd->checked_count++;
- else it_data->vd->checked_count--;
- printf("check changed, count: %d\n", it_data->vd->checked_count);
- if (it_data->vd->select_all_layout) {
- Evas_Object *check =
- elm_object_part_content_get(it_data->vd->select_all_layout,
- "elm.icon");
- if (elm_genlist_items_count(it_data->vd->genlist) ==
- it_data->vd->checked_count)
- elm_check_state_set(check, EINA_TRUE);
- else elm_check_state_set(check, EINA_FALSE);
- }
- _navi_text_update(it_data->vd);
- }
-}
-
-static char *
-_create_label(View_Data *vd, int index)
-{
- int num = index % NUM_OF_GENLIST_DEMO_COUNTRY_NAMES;
- return strdup(vd->genlist_demo_country_names[num]);
-}
-
-static char *_gl_text_get(void *data, Evas_Object *obj, const char *part)
-{
- Item_Data *id = data;
- return strdup(id->label);
-}
-
-static Evas_Object *
-_gl_icon_photo_get(void *data, Evas_Object *obj, const char *part)
-{
- Item_Data *id = data;
- int index = id->index % (sizeof(photo_path)/sizeof(*photo_path));
- char buf[PATH_MAX];
- Evas_Object *icon = elm_image_add(obj);
- sprintf(buf, ICON_DIR"/genlist/%s", photo_path[index]);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- return icon;
-}
-
-static void
-_entry_edit_mode_show_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- evas_object_event_callback_del(obj, EVAS_CALLBACK_SHOW, _entry_edit_mode_show_cb);
- elm_object_focus_set(obj, EINA_TRUE);
-}
-
-static Evas_Object *_gl_content_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *content = NULL;
- Item_Data *id = data;
-
- // "edit_default" EDC layout is like below. each part is swallow part.
- // the existing item is swllowed to elm.swallow.decorate.content part.
- // --------------------------------------------------------------------
- // | elm.edit.icon.1 | elm.swallow.decorate.content | elm.edit.icon,2 |
- // --------------------------------------------------------------------
- // if flip mode is enabled, genlist shows below swallow part
- // ------------------------------------------------------
- // | elm.flip.content | elm.flip.icon |
- // ------------------------------------------------------
-
- if (elm_genlist_decorate_mode_get(obj)) {
- if (!strcmp(part, "elm.flip.content")) {
- static Elm_Entry_Filter_Limit_Size limit_filter_data;
- Evas_Object *entry;
- entry = ea_editfield_add(obj, EA_EDITFIELD_SCROLL_SINGLELINE);
- evas_object_smart_callback_add(entry, "changed", _changed_cb, id);
- evas_object_smart_callback_add(entry, "preedit,changed", _changed_cb, id);
- evas_object_smart_callback_add(entry, "maxlength,reached", _maxlength_reached_cb, NULL);
-
- // the below is sample code for control entry. It is not mandatory.
- limit_filter_data.max_char_count = 0;
- limit_filter_data.max_byte_count = 30;
- elm_entry_markup_filter_append(entry, elm_entry_filter_limit_size, &limit_filter_data);
-
- // Set entry's text as saved text
- elm_entry_entry_set(entry, id->label);
- elm_entry_cursor_end_set(entry);
- evas_object_event_callback_add(entry, EVAS_CALLBACK_SHOW, _entry_edit_mode_show_cb, NULL);
- return entry;
- } else if (!strcmp(part, "elm.flip.icon")) {
- content = elm_button_add(obj);
- elm_object_text_set(content, _("Done"));
- evas_object_smart_callback_add(content, "clicked", _cancel_clicked, obj);
- evas_object_propagate_events_set(content, EINA_FALSE);
- } else if (!strcmp(part, "elm.edit.icon.1")) {
- // swallow checkbox or radio button
- content = elm_check_add(obj);
- elm_object_style_set(content, "default/genlist");
- // keep & revoke the state from integer pointer
- elm_check_state_pointer_set(content, &id->checked);
- // Repeat events to below (genlist)
- // So that if check is clicked, genlist can be clicked.
- evas_object_repeat_events_set(content, EINA_TRUE);
- evas_object_propagate_events_set(content, EINA_FALSE);
- if (id->it) evas_object_smart_callback_add(content, "changed",
- _check_change_cb, id->it);
- } else if (!strcmp(part, "elm.edit.icon.2")) {
- // swallow rename button if need
- content = elm_button_add(obj);
- elm_object_style_set(content, "rename");
- evas_object_propagate_events_set(content, EINA_FALSE);
- if (id->it) evas_object_smart_callback_add(content, "clicked",
- _rename_button_cb, id->it);
- }
- else return _gl_icon_photo_get(data, obj, part);
- } else return _gl_icon_photo_get(data, obj, part);
- return content;
-}
-
-static void _realized_cb(void *data, Evas_Object *obj, void *ei)
-{
- Item_Data *id = elm_object_item_data_get(ei);
- printf("Realized (%d)\n", id->index);
-}
-
-static void _unrealized_cb(void *data, Evas_Object *obj, void *ei)
-{
- // FIXME: _gl_del callback will be called before this.
- // So id already be freed
- Item_Data *id = elm_object_item_data_get(ei);
- printf("Unrealized (%d)\n", id->index);
-}
-
-static void _item_down_cb(void *data, Evas_Object *obj, void *ei)
-{
- View_Data *vd = data;
- vd->pinch_zoom_it = ei;
-}
-
-static void _items_hide(Evas_Object *obj, Eina_Bool enabled)
-{
- View_Data *vd = (View_Data*)obj;
- Elm_Object_Item *it = elm_genlist_first_item_get(vd->genlist);
- while (it) {
- if (elm_genlist_item_type_get(it) != ELM_GENLIST_ITEM_GROUP) {
- if (enabled)
- elm_genlist_item_hide_set(it, EINA_TRUE);
- else
- elm_genlist_item_hide_set(it, EINA_FALSE);
- }
-
- it = elm_genlist_item_next_get(it);
- }
-}
-
-static Evas_Event_Flags
-_pinch_zoom_cb(void *data, void *event_info)
-{
- View_Data *vd = data;
- Elm_Gesture_Zoom_Info *p = (Elm_Gesture_Zoom_Info *) event_info;
-
- if (p->zoom > 1.0 + ZOOM_TOLERANCE)
- {
- if (!vd->pinch_zoomed) return EVAS_EVENT_FLAG_NONE;
-
- printf("PINCH ZOOM OUT \n");
-
- vd->pinch_zoomed = EINA_FALSE;
- _items_hide(data, EINA_FALSE);
- elm_genlist_item_show(vd->pinch_zoom_it, ELM_GENLIST_ITEM_SCROLLTO_TOP);
-
- }
- else if (p->zoom < 1.0 - ZOOM_TOLERANCE)
- {
- if (vd->pinch_zoomed) return EVAS_EVENT_FLAG_NONE;
-
- printf("PINCH ZOOM IN \n");
-
- vd->pinch_zoomed = EINA_TRUE;
- _items_hide(data, EINA_TRUE);
- }
-
- return EVAS_EVENT_FLAG_NONE;
-}
-
-// Create genlist and append items
-static Evas_Object *_create_genlist(View_Data *vd, Evas_Object *parent)
-{
- Item_Data *id;
- Elm_Object_Item *pit = NULL;
- int index = 0;
- Evas_Object *genlist;
-
- Elm_Theme *th = elm_theme_new();
- elm_theme_ref_set(th, NULL);
- elm_theme_extension_add(th, ELM_DEMO_EDJ);
-
- vd->genlist_demo_country_names = genlist_get_demo_country_names();
-
-#define ITC_MAX 4
- Elm_Genlist_Item_Class *itc[ITC_MAX], *itch;
- for (index = 0; index < ITC_MAX ; index++) {
- itc[index] = elm_genlist_item_class_new();
- }
- itch = elm_genlist_item_class_new();
-
- itc[0]->item_style = "1text";
- itc[0]->func.text_get = _gl_text_get;
- itc[0]->func.content_get = _gl_content_get;
- itc[0]->func.del = _gl_del;
- //itc[0]->decorate_all_item_style = "edit_default";
-
- itc[1]->item_style = "1text.1icon.5.thumb.circle";
- itc[1]->func.text_get = _gl_text_get;
- itc[1]->func.content_get = _gl_content_get;
- itc[1]->func.del = _gl_del;
- itc[1]->decorate_all_item_style = "edit_default";
-
- itc[2]->item_style = "1text.1icon.2.thumb.square";
- itc[2]->func.text_get = _gl_text_get;
- itc[2]->func.content_get = _gl_content_get;
- itc[2]->func.del = _gl_del;
- itc[2]->decorate_all_item_style = "edit_default";
-
- itc[3]->item_style = "1text.1icon.3";
- itc[3]->func.text_get = _gl_text_get;
- itc[3]->func.content_get = _gl_content_get;
- itc[3]->func.del = _gl_del;
- itc[3]->decorate_all_item_style = "edit_default";
-
- itch->item_style = "groupindex";
- itch->func.text_get = _gl_text_get;
-
- // Create genlist
- genlist = elm_genlist_add(parent);
- elm_object_theme_set(genlist, th);
- // HOMOGENEOUS MODE
- // If item height is same when each style name is same,
- // Use homogeneous mode.
- elm_genlist_homogeneous_set(genlist, EINA_TRUE);
- printf("Homogeneous mode enabled\n");
- evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_smart_callback_add(genlist, "realized", _realized_cb, vd);
- evas_object_smart_callback_add(genlist, "unrealized", _unrealized_cb, vd);
- evas_object_smart_callback_add(genlist, "pressed", _item_down_cb, vd);
- evas_object_data_set(genlist, "view_data", vd);
-
- for (index = 0; index < NUM_OF_ITEMS; index++) {
- // Create Item_Data
- id = calloc(1, sizeof(Item_Data));
- id->vd = vd;
- id->index = index;
- id->label = _create_label(vd, index);
- if ((index % 10) == 0) {
- id->it = elm_genlist_item_append(genlist, itch, id, NULL,
- ELM_GENLIST_ITEM_GROUP, NULL, id);
- elm_genlist_item_select_mode_set(id->it, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
- pit = id->it;
- } else {
- id->it = elm_genlist_item_append(genlist, itc[index%ITC_MAX], id, pit,
- ELM_GENLIST_ITEM_NONE, _gl_sel, id);
- }
- }
- evas_object_show(genlist);
-
- for (index = 0; index < ITC_MAX ; index++) {
- elm_genlist_item_class_free(itc[index]);
- }
- elm_genlist_item_class_free(itch);
-
- return genlist;
-}
-
-static void _select_all_chk_changed_cb(void *data, Evas_Object *obj, void *ei)
-{
- View_Data *vd = data;
- Eina_Bool state = elm_check_state_get(obj);
- int cnt = 0;
-
- Elm_Object_Item *it = elm_genlist_first_item_get(vd->genlist);
- while(it) {
- Item_Data *id = elm_object_item_data_get(it);
- const Elm_Genlist_Item_Class *itc = elm_genlist_item_item_class_get(it);
- if (itc->decorate_all_item_style) {
- // For realized items, set state of real check object
- Evas_Object *ck = elm_object_item_part_content_get(it, "elm.edit.icon.1");
- if (ck) elm_check_state_set(ck, state);
- // For all items (include unrealized), just set pointer state
- id->checked = state;
- if (state) cnt++;
- }
- it = elm_genlist_item_next_get(it);
- }
- vd->checked_count = cnt;
- _navi_text_update(vd);
-}
-
-static void _select_all_layout_down_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
-{
- printf("select all layout clicked\n");
- View_Data *vd = data;
- Evas_Object *check = elm_object_part_content_get(vd->select_all_layout, "elm.icon");
- Eina_Bool state = elm_check_state_get(check);
- elm_check_state_set(check, !state);
- _select_all_chk_changed_cb(data, check, NULL);
-}
-
-static void
-_navi_btn_clicked_cb(void *data, Evas_Object *obj, void *ei)
-{
- printf("Naviframe button clicked\n");
- View_Data *vd = data;
- Evas_Object *check = elm_object_part_content_get(vd->select_all_layout, "elm.icon");
- Eina_Bool state = elm_check_state_get(check);
- elm_check_state_set(check, !state);
- _select_all_chk_changed_cb(data, check, NULL);
-
-}
-
-static char *_access_info_cb(void *data, Evas_Object *obj)
-{
- const char *txt = NULL;
- txt = elm_object_part_text_get(data, "elm.text");
- if (!txt) return NULL;
-
- return strdup(_(txt));
-}
-
-static Eina_Bool _access_activate_cb(void *data, Evas_Object *obj, Elm_Access_Action_Info *ai)
-{
- _select_all_layout_down_cb(data, NULL, NULL, NULL);
- return EINA_TRUE;
-}
-
-static Evas_Object *
-_create_select_all_layout(View_Data *vd)
-{
- Evas_Object *layout = elm_layout_add(vd->box);
- elm_layout_theme_set(layout, "genlist", "item", "select_all/default");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_FILL);
- evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_event_callback_add(layout, EVAS_CALLBACK_MOUSE_DOWN, _select_all_layout_down_cb, vd);
- evas_object_propagate_events_set(layout, EINA_FALSE);
- evas_object_show(layout);
-
- Evas_Object *check = elm_check_add(layout);
- evas_object_propagate_events_set(check, EINA_FALSE);
- evas_object_smart_callback_add(check, "changed", _select_all_chk_changed_cb, vd);
- elm_object_part_content_set(layout, "elm.icon", check);
- elm_object_part_text_set(layout, "elm.text", "Select All");
-
- // ============== Accessibility
- Evas_Object *ao = elm_access_object_register(layout, layout);
- elm_access_info_cb_set(ao, ELM_ACCESS_INFO, _access_info_cb, layout);
- elm_access_action_cb_set(ao, ELM_ACCESS_ACTION_ACTIVATE, _access_activate_cb, vd);
- elm_object_focus_custom_chain_append(layout, ao, NULL);
-
- return layout;
-}
-
-static Evas_Object *create_del_done_toolbar(View_Data *vd)
-{
- Evas_Object *obj;
-
- /*create toolbar */
- obj = elm_toolbar_add(vd->ad->nf);
- if(obj == NULL) return NULL;
- elm_object_style_set(obj, "default");
- elm_toolbar_shrink_mode_set(obj, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_transverse_expanded_set(obj, EINA_TRUE);
- elm_toolbar_select_mode_set(obj, ELM_OBJECT_SELECT_MODE_NONE);
-
- elm_toolbar_item_append(obj, NULL, "Delete", _del_toolbar_cb, vd);
- elm_toolbar_item_append(obj, NULL, "Done", _done_toolbar_cb, vd);
- return obj;
-}
-
-static Evas_Object *create_done_toolbar(View_Data *vd)
-{
- Evas_Object *obj;
- struct appdata *ad;
- ad = vd->ad;
-
- /*create toolbar */
- obj = elm_toolbar_add(ad->nf);
- if(obj == NULL) return NULL;
- elm_object_style_set(obj, "default");
- elm_toolbar_shrink_mode_set(obj, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_transverse_expanded_set(obj, EINA_TRUE);
- elm_toolbar_select_mode_set(obj, ELM_OBJECT_SELECT_MODE_NONE);
-
- elm_toolbar_item_append(obj, NULL, "Done", _done_toolbar_cb, vd);
- return obj;
-}
-
-static Evas_Object *_create_navi_title_btn(View_Data *vd)
-{
- Evas_Object *ic;
- Evas_Object *btn = elm_button_add(vd->ad->nf);
- elm_object_style_set(btn, "naviframe/title_icon");
- ic = elm_image_add(btn);
- elm_image_file_set(ic, ICON_DIR"/00_icon_select_all.png", NULL);
- evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(ic, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(btn, "icon", ic);
- evas_object_smart_callback_add(btn, "clicked", _navi_btn_clicked_cb, vd);
- return btn;
-}
-
-void _del_toolbar_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (!data) return;
- View_Data *vd =data;
-
- Elm_Object_Item *it = elm_genlist_first_item_get(vd->genlist);
- while (it) {
- Item_Data *id = elm_object_item_data_get(it);
- // For unrealized items, use check pointer
- if (id->checked) {
- // Before delete, get next item.
- Elm_Object_Item *del_it = it;
- it = elm_genlist_item_next_get(it);
-
- elm_object_item_del(del_it);
- vd->checked_count--;
- } else it = elm_genlist_item_next_get(it);
- }
-}
-
-void _done_toolbar_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (!data) return;
- View_Data *vd = data;
- Evas_Object *tmp;
-
- struct appdata *ad;
- ad = vd->ad;
- if (!ad) return;
-
- // Delete select all layout
- if (vd->select_all_layout) {
- elm_box_unpack(vd->box, vd->select_all_layout);
- evas_object_del(vd->select_all_layout);
- vd->select_all_layout = NULL;
- }
-
- // Delete naviframe button
- elm_object_item_part_text_set(vd->navi_it, NULL, "Edit Mode");
- tmp = elm_object_item_part_content_unset(vd->navi_it, "title_right_btn");
- if (tmp) evas_object_del(tmp);
-
- elm_genlist_decorate_mode_set(vd->genlist, EINA_FALSE);
- elm_genlist_reorder_mode_set(vd->genlist, EINA_FALSE);
-
- tmp = elm_object_item_part_content_unset(vd->navi_it, "toolbar");
- if(tmp) evas_object_del(tmp);
-}
-
-static void
-_edit_on(void *data)
-{
- if (!data) return;
- View_Data *vd = data;
- struct appdata *ad = vd->ad;
- Evas_Object *tmp;
-
- if (elm_genlist_decorate_mode_get(vd->genlist) &&
- !elm_genlist_reorder_mode_get(vd->genlist)) return;
-
- if (elm_genlist_reorder_mode_get(vd->genlist))
- elm_genlist_reorder_mode_set(vd->genlist, EINA_FALSE);
-
- // Change bg style as editmode
- elm_object_style_set(ad->bg, "edit_mode");
-
- // Create select all layout
- if (!vd->select_all_layout) {
- vd->select_all_layout = _create_select_all_layout(vd);
- elm_box_pack_start(vd->box, vd->select_all_layout);
- }
-
- // Create toolbars
- tmp = elm_object_item_part_content_unset(vd->navi_it, "toolbar");
- if (tmp) evas_object_del(tmp);
- elm_object_item_part_content_set(vd->navi_it, "toolbar",
- create_del_done_toolbar(vd));
-
- // Create naviframe select all button
- if (!elm_object_item_part_content_get(vd->navi_it, "title_right_btn")) {
- elm_object_item_part_text_set(vd->navi_it, NULL, "Select Items");
- elm_object_item_part_content_set(vd->navi_it, "title_right_btn",
- _create_navi_title_btn(vd));
- }
-
- // Set decoreate mode
- elm_genlist_decorate_mode_set(vd->genlist, EINA_TRUE);
- printf("Edit Mode on\n");
-}
-
-static void
-_edit_reorder_on(void *data)
-{
- if (!data) return;
- View_Data *vd = data;
- Evas_Object *tmp;
- struct appdata *ad = vd->ad;
-
- if (elm_genlist_decorate_mode_get(vd->genlist) &&
- elm_genlist_reorder_mode_get(vd->genlist)) return;
-
- elm_object_style_set(ad->bg, "edit_mode");
-
- // Create select all layout
- if (!vd->select_all_layout) {
- vd->select_all_layout = _create_select_all_layout(vd);
- elm_box_pack_start(vd->box, vd->select_all_layout);
- }
-
- // Create toolbars
- tmp = elm_object_item_part_content_unset(vd->navi_it, "toolbar");
- if (tmp) evas_object_del(tmp);
- elm_object_item_part_content_set(vd->navi_it, "toolbar",
- create_del_done_toolbar(vd));
-
- // Create naviframe select all button
- if (!elm_object_item_part_content_get(vd->navi_it, "title_right_btn")) {
- elm_object_item_part_text_set(vd->navi_it, NULL, "Select Items");
- elm_object_item_part_content_set(vd->navi_it, "title_right_btn",
- _create_navi_title_btn(vd));
- }
-
- if (!elm_genlist_decorate_mode_get(vd->genlist))
- elm_genlist_decorate_mode_set(vd->genlist, EINA_TRUE);
-
- if (!elm_genlist_reorder_mode_get(vd->genlist))
- elm_genlist_reorder_mode_set(vd->genlist, EINA_TRUE);
- printf("Edit Reorder Mode on\n");
-}
-
-static void
-_reorder_on(void *data)
-{
- if (!data) return;
- View_Data *vd = data;
- Evas_Object *tmp;
-
- if (!elm_genlist_decorate_mode_get(vd->genlist) &&
- elm_genlist_reorder_mode_get(vd->genlist)) return;
-
- if (elm_genlist_decorate_mode_get(vd->genlist))
- elm_genlist_decorate_mode_set(vd->genlist, EINA_FALSE);
-
- // Delete select all layout
- if (vd->select_all_layout) {
- elm_box_unpack(vd->box, vd->select_all_layout);
- evas_object_del(vd->select_all_layout);
- vd->select_all_layout = NULL;
- }
-
- // Create toolbars
- tmp = elm_object_item_part_content_unset(vd->navi_it, "toolbar");
- if (tmp) evas_object_del(tmp);
- elm_object_item_part_content_set(vd->navi_it, "toolbar",
- create_done_toolbar(vd));
-
- // Delete naviframe button
- elm_object_item_part_text_set(vd->navi_it, NULL, "Edit Mode");
- tmp = elm_object_item_part_content_unset(vd->navi_it, "title_right_btn");
- if (tmp) evas_object_del(tmp);
-
- elm_genlist_reorder_mode_set(vd->genlist, EINA_TRUE);
- printf("Reorder Mode on\n");
-}
-
-static void
-_extpopup_cb(void *data, Evas_Object *obj, void *event)
-{
- if ((!data) || (!obj)) return;
- View_Data *vd = data;
- const char *label = elm_object_item_text_get((Elm_Object_Item *) event);
-
- if (label) {
- if (!strcmp(label, EDITMODE)) {
- _edit_on(vd);
- } else if (!strcmp(label, REORDER)) {
- _reorder_on(vd);
- } else if (!strcmp(label, EDIT_REORDER)) {
- _edit_reorder_on(vd);
- }
- }
- evas_object_del(obj);
-}
-
-static void
-_move_ctx(void *data, Evas_Object *obj)
-{
- if(!data) return;
- View_Data *vd = data;
- Evas_Object *ctx = obj;
- Evas_Coord w, h;
- int pos = -1;
-
-#if DESKTOP
- evas_object_geometry_get(vd->ad->win_main, NULL, NULL, &w, &h);
-#else
- elm_win_screen_size_get(vd->ad->win_main, NULL, NULL, &w, &h);
-#endif
- pos = elm_win_rotation_get(vd->ad->win_main);
- switch (pos) {
- case 0:
- case 180:
- evas_object_move(ctx, 0, h);
- break;
- case 90:
- evas_object_move(ctx, 0, w);
- break;
- case 270:
- evas_object_move(ctx, h, w);
- break;
- }
-}
-
-static void
-_dismissed_cb(void *data, Evas_Object *obj , void *event_info)
-{
- View_Data *vd = data;
- Evas_Object *ctx = obj;
-
- if (!rotate_flag) {
- evas_object_del(ctx);
- }
- else {
- _move_ctx(vd, ctx);
- evas_object_show(ctx);
- rotate_flag = EINA_FALSE;
- }
-}
-
-static void
-_resize_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- Evas_Object *ctx = (Evas_Object *)data;
-
- if (ctx)
- rotate_flag = EINA_TRUE;
- else
- rotate_flag = EINA_FALSE;
-}
-
-static void
-_rotate_cb(void *data, Evas_Object *obj, void *event_info)
-{
- View_Data *vd = data;
- Evas_Object *ctx = vd->ctx;
- _move_ctx(vd, ctx);
- evas_object_show(ctx);
-}
-
-static void _delete_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- View_Data *vd = data;
- Evas_Object *navi = vd->ad->nf;
- Evas_Object *ctx = obj;
-
- evas_object_event_callback_del_full(navi, EVAS_CALLBACK_RESIZE, _resize_cb, ctx);
- evas_object_smart_callback_del_full(elm_object_top_widget_get(ctx), "rotation,changed", _rotate_cb, vd);
- evas_object_smart_callback_del(ctx, "dismissed", _dismissed_cb);
- evas_object_event_callback_del_full(ctx, EVAS_CALLBACK_DEL, _delete_cb, navi);
-}
-
-
-static void
-_menu_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (!data) return;
- Evas_Object *ctx;
- View_Data *vd = data;
- struct appdata *ad;
- ad = vd->ad;
- double s = elm_config_scale_get();
-
- ctx = elm_ctxpopup_add(ad->nf);
- elm_object_style_set(ctx, "more/default");
- evas_object_smart_callback_add(ctx,"dismissed", _dismissed_cb, vd);
- evas_object_event_callback_add(ctx, EVAS_CALLBACK_DEL, _delete_cb, vd);
- evas_object_event_callback_add(ad->nf, EVAS_CALLBACK_RESIZE, _resize_cb, ctx);
- evas_object_smart_callback_add(elm_object_top_widget_get(ctx), "rotation,changed", _rotate_cb, vd);
- elm_ctxpopup_item_append(ctx, EDITMODE, NULL, _extpopup_cb, vd);
- elm_ctxpopup_item_append(ctx, REORDER, NULL, _extpopup_cb, vd);
- elm_ctxpopup_item_append(ctx, EDIT_REORDER, NULL, _extpopup_cb, vd);
- evas_object_size_hint_max_set(ctx, s*WIDTH, s*HEIGHT);
- elm_ctxpopup_direction_priority_set(ctx, ELM_CTXPOPUP_DIRECTION_UP,
- ELM_CTXPOPUP_DIRECTION_UNKNOWN,
- ELM_CTXPOPUP_DIRECTION_UNKNOWN,
- ELM_CTXPOPUP_DIRECTION_UNKNOWN);
-
- _move_ctx(vd, ctx);
- evas_object_show(ctx);
-}
-
-static Evas_Object *_create_menu_button(View_Data *vd)
-{
- Evas_Object *button;
-
- button = elm_button_add(vd->ad->nf);
- elm_object_style_set(button, "naviframe/more/default");
- evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(button, EVAS_HINT_FILL, 0.5);
- elm_object_text_set(button, _("Menu"));
- evas_object_show(button);
- evas_object_smart_callback_add(button, "clicked", _menu_btn_clicked_cb, vd);
- return button;
-}
-
-void genlist_edit_mode_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (!data) return;
- View_Data *vd;
- struct appdata *ad = data;
- Evas_Object *g_layer;
-
- // Create layout data for this view
- vd = calloc(1, sizeof(View_Data));
- vd->ad = ad;
-
- vd->box = elm_box_add(vd->ad->nf);
- evas_object_size_hint_weight_set(vd->box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(vd->box, EVAS_HINT_FILL, EVAS_HINT_FILL);
- vd->genlist = _create_genlist(vd, vd->box);
- elm_box_pack_end(vd->box, vd->genlist);
- evas_object_show(vd->box);
-
- g_layer = elm_gesture_layer_add(vd->genlist);
- if (g_layer) {
- elm_gesture_layer_attach(g_layer, vd->genlist);
- elm_gesture_layer_cb_set
- (g_layer, ELM_GESTURE_ZOOM, ELM_GESTURE_STATE_MOVE, _pinch_zoom_cb, vd);
- }
-
- vd->navi_it = elm_naviframe_item_push(ad->nf, _("Edit Mode"), NULL, NULL, vd->box, NULL);
- evas_object_event_callback_add(vd->box, EVAS_CALLBACK_FREE, _view_free_cb, vd);
- elm_object_item_part_content_set(vd->navi_it, "toolbar_more_btn",
- _create_menu_button(vd));
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_util.h"
-#include "elmdemo_test.h"
-#include "genlist.h"
-
-/*********************************************************
- Genlist Dialogue Editfield
- ********************************************************/
-
-typedef struct _Item_Data
-{
- Elm_Object_Item *item;
- int dial;
- int title;
-} Item_Data;
-
-static void _gl_del(void *data, Evas_Object *obj)
-{
- // FIXME: Unrealized callback can be called after this.
- // Accessing Item_Data can be dangerous on unrealized callback.
- Item_Data *id = data;
- if (id) free(id);
-}
-
-static char* _gl_text_get(void *data, Evas_Object *obj, const char *part)
-{
- if (!strcmp(part, "elm.text")) return strdup("Title");
- return NULL;
-}
-
-static char* _gl_title_get(void *data, Evas_Object *obj, const char *part)
-{
- Item_Data *id = data;
- if (!strcmp(part, "elm.text")) {
- if (id->title == 1)
- return strdup("Single Line");
- else if (id->title == 2)
- return strdup("Multi Line");
- else if (id->title == 3)
- return strdup("With transparent background");
- }
- return NULL;
-}
-
-static Evas_Object *_gl_minus_btn_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object * icon = elm_button_add(obj);
- elm_object_style_set(icon, "minus");
- evas_object_propagate_events_set(icon, EINA_FALSE);
- return icon;
-}
-
-static Evas_Object *_gl_content_get(void *data, Evas_Object *obj, const char *part)
-{
- if (!strcmp(part, "elm.icon.edit"))
- return _gl_minus_btn_get(data, obj, part);
- else if (!strcmp(part, "elm.icon.entry")) { // Add elm_entry to current editfield genlist item.
- Evas_Object *entry = ea_editfield_add(obj, EA_EDITFIELD_SCROLL_SINGLELINE);
- elm_object_domain_translatable_part_text_set(entry, "elm.guide", "sys_string", "IDS_COM_BODY_EDIT"); // Add guide text to elm_entry.
-
- return entry;
- }
- return NULL;
-}
-
-static Evas_Object *_gl_multiline_content_get(void *data, Evas_Object *obj, const char *part)
-{
- if (!strcmp(part, "elm.icon.edit"))
- return _gl_minus_btn_get(data, obj, part);
- else if (!strcmp(part, "elm.icon.entry")) { // Add elm_entry to current editfield genlist item.
- Evas_Object *entry = ea_editfield_add(obj, EA_EDITFIELD_MULTILINE);
- ea_editfield_clear_button_disabled_set(entry, EINA_TRUE);
- elm_object_domain_translatable_part_text_set(entry, "elm.guide", "sys_string", "IDS_COM_BODY_EDIT"); // Add guide text to elm_entry.
-
- return entry;
- }
- return NULL;
-}
-
-static char *_accinfo_cb(void *data, Evas_Object *acc)
-{
- char *dup = NULL;
- Elm_Object_Item *it = data;
- const char *txt = elm_object_item_part_text_get(it, "elm.text");
- if (!txt) {
- txt = elm_object_item_part_text_get(it, "elm.text.1");
- }
- if (txt) dup = strdup(txt);
- return dup;
-}
-
-static void _realized_cb(void *data, Evas_Object *obj, void *ei)
-{
- Item_Data *id = elm_object_item_data_get(ei);
-
- printf("Realized: ");
- if (!id) {
- printf("Separator\n");
- return;
- }
- else if (id->title > 0) printf("Title[%d]\n", id->title);
- else printf("Editfield item[%d]\n", id->dial);
-
- // if dialogue styles
- if (id->dial == 1) elm_object_item_signal_emit(ei, "elm,state,top", "");
- else if (id->dial == 2) elm_object_item_signal_emit(ei, "elm,state,center", "");
- else if (id->dial == 3) elm_object_item_signal_emit(ei, "elm,state,center", "");
- else if (id->dial == 4) elm_object_item_signal_emit(ei, "elm,state,bottom", "");
- if (id->dial == 3 || id->dial == 4)
- elm_object_item_signal_emit(ei, "elm,state,edit,enabled", "");
-
- if (elm_config_access_get()) {
- // ===== Accessibility ====
- const Elm_Genlist_Item_Class *itc = elm_genlist_item_item_class_get(ei);
- if (strstr(itc->item_style, "dialogue/") &&
- strcmp(itc->item_style, "dialogue/grouptitle")) {
- // Register bg_dialogue image instead whole item
- Evas_Object *acc = elm_object_item_part_access_register(ei, "bg_dialogue");
- elm_access_info_cb_set(acc, ELM_ACCESS_INFO, _accinfo_cb, ei);
- }
- }
-}
-
-
-static void _unrealized_cb(void *data, Evas_Object *obj, void *ei)
-{
- Item_Data *id = elm_object_item_data_get(ei);
- printf("Unrealized: ");
- if (!id) {
- printf("Separator\n");
- return;
- }
- else if (id->title > 0) printf("Title[%d]\n", id->title);
- else printf("Editfield item\n");
-}
-
-void genlist_editfield_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (!data) return;
- struct appdata *ad = data;
- Item_Data *id = NULL;
- Elm_Object_Item *item = NULL;
- Evas_Object *genlist;
-
- Elm_Genlist_Item_Class *itc, *itc0, *itc1, *itc2, *itc3, *itc4, *itc5, *itc6, *itc7, *itc8, *itca, *itcb, *itcc;
- itc = elm_genlist_item_class_new();
- itc0 = elm_genlist_item_class_new();
- itc1 = elm_genlist_item_class_new();
- itc2 = elm_genlist_item_class_new();
- itc3 = elm_genlist_item_class_new();
- itc4 = elm_genlist_item_class_new();
- itc5 = elm_genlist_item_class_new();
- itc6 = elm_genlist_item_class_new();
- itc7 = elm_genlist_item_class_new();
- itc8 = elm_genlist_item_class_new();
- itca = elm_genlist_item_class_new();
- itcb = elm_genlist_item_class_new();
- itcc = elm_genlist_item_class_new();
-
- // Create genlist
- genlist = elm_genlist_add(ad->nf);
- elm_genlist_realization_mode_set(genlist, EINA_TRUE);
-
- // COMPRESS MODE
- // If multiline text (multiline entry or multiline textblock or sliding mode)
- // is used, use compress mode for compressing width to fit the viewport width.
- // So genlist can calculate item's height correctly.
- elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
- printf("Compress mode enabled\n");
-
- evas_object_smart_callback_add(genlist, "realized", _realized_cb, NULL);
- evas_object_smart_callback_add(genlist, "unrealized", _unrealized_cb, NULL);
-
- // Title & Separator
- itc->item_style = "grouptitle";
- itc->func.text_get = _gl_title_get;
- itc->func.del = _gl_del;
-
- itc0->item_style = "dialogue/separator";
- itc0->func.del = _gl_del;
-
- // Normal editfield
- itca->item_style = "editfield/no_bg";
- itca->func.content_get = _gl_content_get;
- itca->func.del = _gl_del;
-
- itcb->item_style = "editfield/title/no_bg";
- itcb->func.text_get = _gl_text_get;
- itcb->func.content_get = _gl_content_get;
- itcb->func.del = _gl_del;
-
- itcc->item_style = "editfield/no_bg_line";
- itcc->func.content_get = _gl_content_get;
- itcc->func.del = _gl_del;
-
- // Normal editfield
- itc1->item_style = "editfield";
- itc1->func.content_get = _gl_content_get;
- itc1->func.del = _gl_del;
-
- itc2->item_style = "editfield/title";
- itc2->func.text_get = _gl_text_get;
- itc2->func.content_get = _gl_content_get;
- itc2->func.del = _gl_del;
-
- // Dialogue editfield
- itc3->item_style = "dialogue/editfield";
- itc3->func.content_get = _gl_content_get;
- itc3->func.del = _gl_del;
-
- itc4->item_style = "dialogue/editfield/title";
- itc4->func.text_get = _gl_text_get;
- itc4->func.content_get = _gl_content_get;
- itc4->func.del = _gl_del;
-
- // Multiline editfield
- itc5->item_style = "editfield";
- itc5->func.text_get = NULL;
- itc5->func.content_get = _gl_multiline_content_get;
- itc5->func.del = _gl_del;
-
- itc6->item_style = "editfield/title";
- itc6->func.text_get = _gl_text_get;
- itc6->func.content_get = _gl_multiline_content_get;
- itc6->func.del = _gl_del;
-
- itc7->item_style = "dialogue/editfield";
- itc7->func.content_get = _gl_multiline_content_get;
- itc7->func.del = _gl_del;
-
- itc8->item_style = "dialogue/editfield/title";
- itc8->func.text_get = _gl_text_get;
- itc8->func.content_get = _gl_multiline_content_get;
- itc8->func.del = _gl_del;;
-
- // ************************** Singline Editfield
- id = calloc(sizeof(Item_Data), 1);
- id->title = 1;
- item = elm_genlist_item_append(genlist, itc, id, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-
- // Editfields in Normal styles
- id = calloc(sizeof(Item_Data), 1);
- item = elm_genlist_item_append(genlist, itc1, id, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- id->item = item;
-
- id = calloc(sizeof(Item_Data), 1);
- item = elm_genlist_item_append(genlist, itc2, id, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- id->item = item;
-
- // Editfields in Dialogue styles
- id = calloc(sizeof(Item_Data), 1);
- id->dial = 1;
- item = elm_genlist_item_append(genlist, itc3, id, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- id->item = item;
-
- id = calloc(sizeof(Item_Data), 1);
- id->dial = 2;
- item = elm_genlist_item_append(genlist, itc4, id, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- id->item = item;
-
- // Editfields in Dialogue styles with editmode
- id = calloc(sizeof(Item_Data), 1);
- id->dial = 3;
- item = elm_genlist_item_append(genlist, itc3, id, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- id->item = item;
-
- id = calloc(sizeof(Item_Data), 1);
- id->dial = 4;
- item = elm_genlist_item_append(genlist, itc4, id, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- id->item = item;
-
- // Separator
- item = elm_genlist_item_append(genlist, itc0, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-
- //************************************** Multiline Editfield
- id = calloc(sizeof(Item_Data), 1);
- id->title = 2;
- item = elm_genlist_item_append(genlist, itc, id, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-
- // Editfields in Normal styles
- id = calloc(sizeof(Item_Data), 1);
- item = elm_genlist_item_append(genlist, itc5, id, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- id->item = item;
-
- id = calloc(sizeof(Item_Data), 1);
- item = elm_genlist_item_append(genlist, itc6, id, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- id->item = item;
-
- // Editfields in Dialogue styles
- id = calloc(sizeof(Item_Data), 1);
- id->dial = 1;
- item = elm_genlist_item_append(genlist, itc7, id, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- id->item = item;
-
- id = calloc(sizeof(Item_Data), 1);
- id->dial = 2;
- item = elm_genlist_item_append(genlist, itc8, id, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- id->item = item;
-
- // Editfields in Dialogue styles with editmode
- id = calloc(sizeof(Item_Data), 1);
- id->dial = 3;
- item = elm_genlist_item_append(genlist, itc7, id, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- id->item = item;
-
- // ************************** Without (with transparent) background
- id = calloc(sizeof(Item_Data), 1);
- id->title = 3;
- item = elm_genlist_item_append(genlist, itc, id, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-
- id = calloc(sizeof(Item_Data), 1);
- item = elm_genlist_item_append(genlist, itca, id, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- id->item = item;
-
- id = calloc(sizeof(Item_Data), 1);
- item = elm_genlist_item_append(genlist, itcb, id, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- id->item = item;
-
- id = calloc(sizeof(Item_Data), 1);
- item = elm_genlist_item_append(genlist, itcc, id, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- id->item = item;
-
- elm_genlist_item_class_free(itc0);
- elm_genlist_item_class_free(itc1);
- elm_genlist_item_class_free(itc2);
- elm_genlist_item_class_free(itc3);
- elm_genlist_item_class_free(itc4);
- elm_genlist_item_class_free(itc5);
- elm_genlist_item_class_free(itc6);
- elm_genlist_item_class_free(itc7);
- elm_genlist_item_class_free(itc8);
- elm_genlist_item_class_free(itca);
- elm_genlist_item_class_free(itcb);
- elm_genlist_item_class_free(itcc);
-
- elm_naviframe_item_push(ad->nf, _("Editfield"), NULL, NULL, genlist, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "genlist.h"
-
-/*********************************************************
- Genlist Expandable List
- ********************************************************/
-#define IDX_TOP -1
-#define IDX_BOTTOM -99
-
-typedef struct _Item_Data
-{
- Eina_Bool top;
- Eina_Bool bottom;
- int index;
- Elm_Object_Item *item;
-} Item_Data;
-
-const char * mails[] = {
- "Gmail", "Hotmail", "Hanmail", "Yahoo", "Naver", "Empas", "Samsung", "Daum", NULL
-};
-
-const char * mailbox[] = {
- "Inbox", "Outbox", "Sent", "Favorite", "Trash", "Spam", "Spam2", NULL
-};
-
-const char * mailbox2[] = {
- "Private", "Friends", "Work", "TODO", NULL
-};
-
-const char longtxt[] = "This is very very veryyyyyy long longggggggg multiline text";
-
-static void _print_item(Elm_Object_Item *it)
-{
- const char *txt = elm_object_item_part_text_get(it, "elm.text");
- int data = (int)elm_object_item_data_get(it);
- if (!txt)
- txt = elm_object_item_part_text_get(it, "elm.text.1");
- printf(" %p, text(%s), data(%d), index[%d]\n", it, txt, data, elm_genlist_item_index_get(it));
-}
-
-static Evas_Object *_gl_icon_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon;
- Item_Data *id = data;
- icon = elm_image_add(obj);
- if (id->item && elm_genlist_item_expanded_get(id->item))
- elm_image_file_set(icon, ICON_DIR"/genlist/00_icon_favorite_on_45x45.png", NULL);
- else
- elm_image_file_set(icon, ICON_DIR"/genlist/00_icon_favorite_off_45x45.png", NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- return icon;
-}
-
-static Evas_Object *_gl_content_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon;
-
- if (!strcmp(part, "elm.swallow.colorbar")) {
- icon = evas_object_rectangle_add(evas_object_evas_get(obj));
- evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_color_set(icon, 80, 107, 207, 255);
- return icon;
- } else
- return _gl_icon_get(data, obj, part);
-
- return NULL;
-}
-
-static Evas_Object *
-_gl_icon_chk_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon = elm_check_add(obj);
- evas_object_propagate_events_set(icon, EINA_FALSE);
- return icon;
-}
-
-static Evas_Object *
-_gl_2icon_chk_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon;
- if (!strcmp(part, "elm.icon") || !strcmp(part, "elm.icon.1"))
- icon = _gl_icon_chk_get(data, obj, part);
- else icon = _gl_content_get(data, obj, part);
- return icon;
-}
-
-static char *_gl_label_get(void *data, Evas_Object *obj, const char *part)
-{
- Item_Data *id = data;
- int idx = id->index;
- //printf("text_get: label1: %s\n", mails[idx]);
- if (!mails[idx]) return strdup("NUUUUUUL");
- return strdup(mails[idx]);
-}
-
-static char *_gl_label2_get(void *data, Evas_Object *obj, const char *part)
-{
- Item_Data *id = data;
- int idx = id->index;
- //printf("text_get: label2: %s\n", mailbox[idx]);
- if (!mailbox[idx]) return strdup("NUUUUUUL");
- return strdup(mailbox[idx]);
-}
-
-static char *_gl_label3_get(void *data, Evas_Object *obj, const char *part)
-{
- Item_Data *id = data;
- int idx = id->index;
- printf("text_get: label3: %s\n", mailbox2[idx]);
- if (!mailbox2[idx]) return strdup("NUUUUUUL");
- return strdup(mailbox2[idx]);
-}
-
-static char *_gl_multiline_label_get(void *data, Evas_Object *obj, const char *part)
-{
- //printf("text_get: label: %s\n", longtxt);
- return strdup(longtxt);
-}
-
-static void _gl_sel(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Eina_Bool expanded = EINA_FALSE;
-
- elm_genlist_item_selected_set(ei, EINA_FALSE);
-
- expanded = elm_genlist_item_expanded_get(ei);
- elm_genlist_item_expanded_set(ei, !expanded);
-
- const Elm_Genlist_Item_Class *itc = elm_genlist_item_item_class_get(ei);
- if (itc->item_style &&
- (!strcmp(itc->item_style, "1text.1icon.2") ||
- !strcmp(itc->item_style, "2text.1icon.6")))
- elm_genlist_item_fields_update(ei, "elm.icon", ELM_GENLIST_ITEM_FIELD_CONTENT);
-}
-
-static void _gl_exp(void *data, Evas_Object *obj, void *event_info)
-{
- Item_Data *id;
- Elm_Object_Item *it;
- Elm_Object_Item *parent = event_info;
- Evas_Object *gl = elm_object_item_widget_get(parent);
- int depth = 0;
-
- Elm_Genlist_Item_Class *itc1, *itc2, *itc3, *itc4, *itc5, *itc6, *itc7;
- itc1 = elm_genlist_item_class_new();
- itc2 = elm_genlist_item_class_new();
- itc3 = elm_genlist_item_class_new();
- itc4 = elm_genlist_item_class_new();
- itc5 = elm_genlist_item_class_new();
- itc6 = elm_genlist_item_class_new();
- itc7 = elm_genlist_item_class_new();
-
- itc1->item_style = "dialogue/1text";
- itc1->func.text_get = _gl_label2_get;
-
- itc2->item_style = "dialogue/1text.2icon";
- itc2->func.text_get = _gl_label2_get;
- itc2->func.content_get = _gl_icon_get;
-
- itc3->item_style = "dialogue/1text/expandable";
- itc3->func.text_get = _gl_label2_get;
-
- itc4->item_style = "dialogue/1text.2icon.divider";
- itc4->func.text_get = _gl_label2_get;
- itc4->func.content_get = _gl_icon_get;
-
- itc5->item_style = "dialogue/1text.1icon.3";
- itc5->func.text_get = _gl_label3_get;
- itc5->func.content_get = _gl_icon_get;
-
- itc6->item_style = "dialogue/1text.1icon.2";
- itc6->func.text_get = _gl_label3_get;
- itc6->func.content_get = _gl_icon_get;
-
- itc7->item_style = "dialogue/multiline/2text/expandable";
- itc7->func.text_get = _gl_multiline_label_get;
-
- Item_Data *pid = elm_object_item_data_get(parent);
- depth = elm_genlist_item_expanded_depth_get(parent);
- printf("Expanded: depth[%d]\n", depth);
- if (depth == 0) {
- id = calloc(sizeof(Item_Data), 1);
- id->index = 0;
- it = elm_genlist_item_append(gl, itc1, id, parent, ELM_GENLIST_ITEM_TREE, _gl_sel, NULL);
- id->item = it;
-
- id = calloc(sizeof(Item_Data), 1);
- id->index = 1;
- it = elm_genlist_item_append(gl, itc2, id, parent, ELM_GENLIST_ITEM_NONE, _gl_sel, NULL);
- id->item = it;
-
- id = calloc(sizeof(Item_Data), 1);
- id->index = 2;
- it = elm_genlist_item_append(gl, itc3, id, parent, ELM_GENLIST_ITEM_TREE, _gl_sel, NULL);
- id->item = it;
-
- id = calloc(sizeof(Item_Data), 1);
- id->index = 3;
- it = elm_genlist_item_append(gl, itc4, id, parent, ELM_GENLIST_ITEM_NONE, _gl_sel, NULL);
- id->item = it;
-
- id = calloc(sizeof(Item_Data), 1);
- id->index = 4;
- it = elm_genlist_item_append(gl, itc1, id, parent, ELM_GENLIST_ITEM_NONE, _gl_sel, NULL);
-
- id = calloc(sizeof(Item_Data), 1);
- id->index = 5;
- it = elm_genlist_item_append(gl, itc2, id, parent, ELM_GENLIST_ITEM_NONE, _gl_sel, NULL);
-
- id = calloc(sizeof(Item_Data), 1);
- id->index = 6;
- it = elm_genlist_item_append(gl, itc3, id, parent, ELM_GENLIST_ITEM_NONE, _gl_sel, NULL);
-
- id = calloc(sizeof(Item_Data), 1);
- id->index = 7;
- it = elm_genlist_item_append(gl, itc4, id, parent, ELM_GENLIST_ITEM_NONE, _gl_sel, NULL);
-
- id = calloc(sizeof(Item_Data), 1);
- id->index = 8;
- if (pid->bottom) id->bottom = EINA_TRUE;
- it = elm_genlist_item_append(gl, itc7, id, parent, ELM_GENLIST_ITEM_NONE, _gl_sel, NULL);
- id->item = it;
- } else if (depth == 1) {
- id = calloc(sizeof(Item_Data), 1);
- id->index = 0;
- it = elm_genlist_item_append(gl, itc5, id, parent, ELM_GENLIST_ITEM_NONE, _gl_sel, NULL);
- id->item = it;
-
- id = calloc(sizeof(Item_Data), 1);
- id->index = 1;
- it = elm_genlist_item_append(gl, itc6, id, parent, ELM_GENLIST_ITEM_NONE, _gl_sel, NULL);
- id->item = it;
-
- id = calloc(sizeof(Item_Data), 1);
- id->index = 2;
- it = elm_genlist_item_append(gl, itc5, id, parent, ELM_GENLIST_ITEM_NONE, _gl_sel, NULL);
- id->item = it;
-
- id = calloc(sizeof(Item_Data), 1);
- id->index = 3;
- if (pid->bottom) id->bottom = EINA_TRUE;
- it = elm_genlist_item_append(gl, itc6, id, parent, ELM_GENLIST_ITEM_NONE, _gl_sel, NULL);
- id->item = it;
- }
-
- elm_genlist_item_class_free(itc1);
- elm_genlist_item_class_free(itc2);
- elm_genlist_item_class_free(itc3);
- elm_genlist_item_class_free(itc4);
- elm_genlist_item_class_free(itc5);
- elm_genlist_item_class_free(itc6);
- elm_genlist_item_class_free(itc7);
-}
-
-static void _gl_con(void *data, Evas_Object *obj, void *ei)
-{
- elm_genlist_item_subitems_clear(ei);
- Item_Data *id = elm_object_item_data_get(ei);
- if (id->bottom) {
- printf("Last parent: bottom\n");
- elm_object_item_signal_emit(ei, "elm,state,bottom", "");
- }
-}
-
-static void _gl_exp_ndepth(void *data, Evas_Object *obj, void *event_info)
-{
- Item_Data *id;
- Elm_Object_Item *it;
- Elm_Object_Item *parent = event_info;
- Evas_Object *gl = elm_object_item_widget_get(parent);
- int depth = 0;
-
- depth = elm_genlist_item_expanded_depth_get(parent);
- printf("Contracted: depth[%d]\n", depth);
-
- Elm_Genlist_Item_Class *itc1, *itc2;
- itc1 = elm_genlist_item_class_new();
- itc2 = elm_genlist_item_class_new();
-
- itc1->item_style = "1text.1icon.2";
- itc1->func.text_get = _gl_label_get;
- itc1->func.content_get = _gl_icon_get;
-
- itc2->item_style = "2text.1icon.6";
- itc2->func.text_get = _gl_label_get;
- itc2->func.content_get = _gl_icon_get;
-
- id = calloc(sizeof(Item_Data), 1);
- id->index = 0;
- it = elm_genlist_item_append(gl, itc1, id, parent, ELM_GENLIST_ITEM_TREE, _gl_sel, NULL);
- id->item = it;
-
- id = calloc(sizeof(Item_Data), 1);
- id->index = 1;
- it = elm_genlist_item_append(gl, itc2, id, parent, ELM_GENLIST_ITEM_NONE, _gl_sel, NULL);
- id->item = it;
-
- id = calloc(sizeof(Item_Data), 1);
- id->index = 2;
- it = elm_genlist_item_append(gl, itc2, id, parent, ELM_GENLIST_ITEM_TREE, _gl_sel, NULL);
- id->item = it;
-
- id = calloc(sizeof(Item_Data), 1);
- id->index = 2;
- it = elm_genlist_item_append(gl, itc1, id, parent, ELM_GENLIST_ITEM_TREE, _gl_sel, NULL);
- id->item = it;
-
- elm_genlist_item_class_free(itc1);
- elm_genlist_item_class_free(itc2);
-}
-
-static char *_accinfo_cb(void *data, Evas_Object *acc)
-{
- char *dup = NULL;
- Elm_Object_Item *it = data;
- const char *txt = elm_object_item_part_text_get(it, "elm.text");
- if (!txt) {
- txt = elm_object_item_part_text_get(it, "elm.text.1");
- }
- if (txt) dup = strdup(txt);
- return dup;
-}
-
-static void _access_activate_cb(void *data, Evas_Object *part_obj, Elm_Object_Item *item)
-{
- elm_genlist_item_selected_set(data, EINA_TRUE);
-}
-
-static void _realized(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *parent = elm_genlist_item_parent_get(ei);
- Item_Data *id = elm_object_item_data_get(ei);
- //printf("Realized: data[%d], index[%d],", idx, elm_genlist_item_index_get(ei));
-
- if (id->top) {
- printf("top\n");
- elm_object_item_signal_emit(ei, "elm,state,top", "");
- } else if (id->bottom) {
- printf("bottom\n");
- if (!elm_genlist_item_expanded_get(ei)) {
- elm_object_item_signal_emit(ei, "elm,state,bottom", "");
- if (parent)
- elm_object_item_signal_emit(parent, "elm,state,center", "");
- }
- } else {
- printf("center\n");
- elm_object_item_signal_emit(ei, "elm,state,center", "");
- }
-
- // ===== Accessibility ====
- if (elm_config_access_get()) {
- // Register bg_dialogue image to be highlighted instead of whole item
- Evas_Object *acc = elm_object_item_part_access_register(ei, "bg_dialogue");
- elm_access_info_cb_set(acc, ELM_ACCESS_INFO, _accinfo_cb, ei);
- elm_access_activate_cb_set(acc, _access_activate_cb, ei);
- }
-}
-
-static void _selected(void *data, Evas_Object *obj, void *ei)
-{
- printf("Selected, ");
- _print_item(ei);
-}
-
-void genlist_expandable_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Evas_Object *genlist;
- Elm_Object_Item *it;
- Item_Data *id;
-
- ad = (struct appdata *) data;
- if (ad == NULL) return;
-
- Elm_Genlist_Item_Class *itc, *itc2, *itc3, *itc4, *itc5, *itc6, *itc7;
- itc = elm_genlist_item_class_new();
- itc2 = elm_genlist_item_class_new();
- itc3 = elm_genlist_item_class_new();
- itc4 = elm_genlist_item_class_new();
- itc5 = elm_genlist_item_class_new();
- itc6 = elm_genlist_item_class_new();
- itc7 = elm_genlist_item_class_new();
-
- // Expandable item styles
- itc->item_style = "dialogue/2text/expandable";
- itc->func.text_get = _gl_label_get;
-
- itc2->item_style = "dialogue/2text.2/expandable";
- itc2->func.text_get = _gl_label_get;
-
- itc3->item_style = "dialogue/2text.3/expandable";
- itc3->func.text_get = _gl_label_get;
-
- itc4->item_style = "dialogue/2text.1icon/expandable";
- itc4->func.text_get = _gl_label_get;
- itc4->func.content_get = _gl_2icon_chk_get;
-
- itc5->item_style = "dialogue/3text.1icon/expandable";
- itc5->func.text_get = _gl_label_get;
- itc5->func.content_get = _gl_content_get;
-
- itc6->item_style = "dialogue/1text/expandable";
- itc6->func.text_get = _gl_label_get;
-
- itc7->item_style = "dialogue/multiline/2text/expandable";
- itc7->func.text_get = _gl_multiline_label_get;
-
- genlist = elm_genlist_add(ad->nf);
- // COMPRESS MODE
- // If multiline text (multiline entry or multiline textblock or sliding mode)
- // is used, use compress mode for compressing width to fit the viewport width.
- // So genlist can calculate item's height correctly.
- elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
- printf("Compress mode enabled\n");
-
- id = calloc(sizeof(Item_Data), 1);
- id->top = EINA_TRUE;
- id->index = 0;
- it = elm_genlist_item_append(genlist, itc, id, NULL, ELM_GENLIST_ITEM_TREE, _gl_sel, NULL);
- id->item = it;
-
- id = calloc(sizeof(Item_Data), 1);
- id->index = 1;
- it = elm_genlist_item_append(genlist, itc2, id, NULL, ELM_GENLIST_ITEM_TREE, _gl_sel, NULL);
- id->item = it;
-
- id = calloc(sizeof(Item_Data), 1);
- id->index = 2;
- it = elm_genlist_item_append(genlist, itc3, id, NULL, ELM_GENLIST_ITEM_TREE, _gl_sel, NULL);
- id->item = it;
-
- id = calloc(sizeof(Item_Data), 1);
- id->index = 3;
- it = elm_genlist_item_append(genlist, itc4, id, NULL, ELM_GENLIST_ITEM_TREE, NULL, NULL);
- elm_genlist_item_select_mode_set(it, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
- id->item = it;
-
- id = calloc(sizeof(Item_Data), 1);
- id->index = 4;
- it = elm_genlist_item_append(genlist, itc5, id, NULL, ELM_GENLIST_ITEM_TREE, _gl_sel, NULL);
- id->item = it;
-
- id = calloc(sizeof(Item_Data), 1);
- id->index = 5;
- it = elm_genlist_item_append(genlist, itc6, id, NULL, ELM_GENLIST_ITEM_TREE, _gl_sel, NULL);
- id->item = it;
-
- id = calloc(sizeof(Item_Data), 1);
- id->index = 6;
- id->bottom = EINA_TRUE;
- it = elm_genlist_item_append(genlist, itc7, id, NULL, ELM_GENLIST_ITEM_TREE, _gl_sel, NULL);
- id->item = it;
-
- elm_genlist_item_class_free(itc);
- elm_genlist_item_class_free(itc2);
- elm_genlist_item_class_free(itc3);
- elm_genlist_item_class_free(itc4);
- elm_genlist_item_class_free(itc5);
- elm_genlist_item_class_free(itc6);
- elm_genlist_item_class_free(itc7);
-
- evas_object_smart_callback_add(genlist, "expanded", _gl_exp, genlist);
- evas_object_smart_callback_add(genlist, "contracted", _gl_con, genlist);
- evas_object_smart_callback_add(genlist, "realized", _realized, genlist);
- evas_object_smart_callback_add(genlist, "selected", _selected, NULL);
-
- elm_naviframe_item_push(ad->nf, _("Expandable"), NULL, NULL, genlist, NULL);
-}
-
-void genlist_ndepth_expandable_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Evas_Object *genlist;
- Item_Data *id;
- Elm_Object_Item *it;
-
- ad = (struct appdata *) data;
- if (ad == NULL) return;
-
- Elm_Genlist_Item_Class *itc, *itc2;
- itc = elm_genlist_item_class_new();
- itc2 = elm_genlist_item_class_new();
-
- itc->item_style = "1text.1icon.2";
- itc->func.text_get = _gl_label_get;
- itc->func.content_get = _gl_icon_get;
-
- itc2->item_style = "2text.1icon.6";
- itc2->func.text_get = _gl_label_get;
- itc2->func.content_get = _gl_icon_get;
-
- genlist = elm_genlist_add(ad->nf);
- // HOMOGENEOUS MODE
- // If item height is same when each style name is same,
- // Use homogeneous mode.
- elm_genlist_homogeneous_set(genlist, EINA_TRUE);
- printf("Homogeneous mode enabled\n");
-
- id = calloc(sizeof(Item_Data), 1);
- id->index = 0;
- it = elm_genlist_item_append(genlist, itc, id, NULL, ELM_GENLIST_ITEM_TREE, _gl_sel, NULL);
- id->item = it;
-
- id = calloc(sizeof(Item_Data), 1);
- id->index = 1;
- it = elm_genlist_item_append(genlist, itc2, id, NULL, ELM_GENLIST_ITEM_TREE, _gl_sel, NULL);
- id->item = it;
-
- id = calloc(sizeof(Item_Data), 1);
- id->index = 1;
- it = elm_genlist_item_append(genlist, itc, id, NULL, ELM_GENLIST_ITEM_TREE, _gl_sel, NULL);
- id->item = it;
-
- id = calloc(sizeof(Item_Data), 1);
- id->index = 1;
- it = elm_genlist_item_append(genlist, itc2, id, NULL, ELM_GENLIST_ITEM_TREE, _gl_sel, NULL);
- id->item = it;
-
- elm_genlist_item_class_free(itc);
- elm_genlist_item_class_free(itc2);
-
- evas_object_smart_callback_add(genlist, "expanded", _gl_exp_ndepth, genlist);
- evas_object_smart_callback_add(genlist, "contracted", _gl_con, genlist);
- evas_object_smart_callback_add(genlist, "selected", _selected, NULL);
- elm_naviframe_item_push(ad->nf, _("Expandable"), NULL, NULL, genlist, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "genlist.h"
-
-/*********************************************************
- Genlist Fast Scroll
- ********************************************************/
-#define NUM_OF_ITEMS 204
-#define NUM_OF_TITLES 204
-
-#define ITEM_STYLE_CHECK "1text.1icon.2"
-#define ITEM_STYLE_THUMBNAIL "1text.1icon.5.thumb.square"
-
-typedef struct _Item_Data Item_Data;
-static Eina_Bool state_pointer[2*NUM_OF_ITEMS] = {0};//check states
-static Eina_Bool state_pointer_title[2*NUM_OF_TITLES] = {0};//check states of titles
-
-static struct _menu_item menu_its[] = {
- { "FastScroll", genlist_index_fastscroll_cb },
- { "Check", genlist_index_fastscroll_cb },
- /* do not delete below */
- { NULL, NULL }
-};
-
-static char *photo_path[] = {
- "00_list_photo_default.png", "iu.jpg", "iu2.jpg", "koo.jpg", "top.jpg", "boa.jpg",
- "kimtaehee.jpg", "moon.jpg", "taeyon.jpg"
-};
-
-static Evas_Object *
-_gl_icon_photo_get(void *data, Evas_Object *obj, const char *part)
-{
- int index = (int)data;
- index = index % (sizeof(photo_path)/sizeof(*photo_path));
- char buf[PATH_MAX];
- Evas_Object *icon = elm_image_add(obj);
- sprintf(buf, ICON_DIR"/genlist/%s", photo_path[index]);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- return icon;
-}
-
-static Evas_Object *_gli_content_get(void *data, Evas_Object *obj, const char *part)
-{
- int index = (int)data;
- Evas_Object *check;
-
- if (!strcmp(part, "elm.icon") || !strcmp(part, "elm.swallow.icon")) {
- check = elm_check_add(obj);
- elm_object_style_set(check, "default/genlist");
- //set the State pointer to keep the current UI state of Checkbox.
- elm_check_state_pointer_set(check, &(state_pointer[index]));
- evas_object_repeat_events_set(check, EINA_TRUE);
- evas_object_propagate_events_set(check, EINA_FALSE);
- evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(check, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- return check;
- }
-
- return NULL;
-}
-
-static Evas_Object *_glh_content_get(void *data, Evas_Object *obj, const char *part)
-{
- int index = (int)data;
- Evas_Object *check;
-
- if (!strcmp(part, "elm.icon") || !strcmp(part, "elm.swallow.icon")) {
- check = elm_check_add(obj);
- elm_object_style_set(check, "default/genlist");
- //set the State pointer to keep the current UI state of Checkbox.
- elm_check_state_pointer_set(check, &(state_pointer_title[index]));
- evas_object_repeat_events_set(check, EINA_TRUE);
- evas_object_propagate_events_set(check, EINA_FALSE);
- evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(check, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- return check;
- }
-
- return NULL;
-}
-
-static Eina_Bool _gli_state_get(void *data, Evas_Object *obj, const char *part)
-{
- return EINA_FALSE;
-}
-
-static void _list_selected(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *it = (Elm_Object_Item *) elm_list_selected_item_get(obj);
-
- if (it == NULL)
- {
- fprintf((LOG_PRI(LOG_ERR) == LOG_ERR?stderr:stdout), "List item is NULL.\n");
- return;
- }
-
- elm_list_item_selected_set(it, EINA_FALSE);
-}
-
-static char *_gli_text_get(void *data, Evas_Object *obj, const char *part)
-{
- char buf[1024];
- int index = (int) data;
-
- if ((index>>4) <= 15) {
- snprintf(buf, sizeof(buf), "%c%c", 'A' + ((index >> 4) & 0xf), 'a'
- + ((index) & 0xf));
- }
- else {
- snprintf(buf, sizeof(buf), "%c%c", 'Q' + ((index >> 4) & 0xf), 'a'
- + ((index) & 0xf));
- }
-
- return strdup(buf);
-}
-
-static char *_gli_title_text_get(void *data, Evas_Object *obj, const char *part)
-{
- char buf[1024];
- int index = (int) data;
-
- if ((index>>4) <= 15) {
- snprintf(buf, sizeof(buf), "%c", 'A' + ((index >> 4) & 0xf));
- }
- else {
- snprintf(buf, sizeof(buf), "%c", 'Q' + ((index >> 4) & 0xf));
- }
-
- return strdup(buf);
-}
-
-static void _index_delayed_changed(void *data, Evas_Object *obj, void *event_info)
-{
- // called on a change but delayed in case multiple changes happen in a
- // short timespan
- elm_genlist_item_bring_in(elm_object_item_data_get(event_info), ELM_GENLIST_ITEM_SCROLLTO_TOP);
-}
-
-static void _index_changed(void *data, Evas_Object *obj, void *event_info)
-{
- // this is calld on every change, no matter how often
- return;
-}
-
-static void _index_selected(void *data, Evas_Object *obj, void *event_info)
-{
- // called on final select
- elm_genlist_item_bring_in(elm_object_item_data_get(event_info), ELM_GENLIST_ITEM_SCROLLTO_TOP);
- elm_index_item_selected_set(event_info, EINA_FALSE);
-}
-
-static Evas_Object* _create_layout_inner(Evas_Object* parent)
-{
- Evas_Object* layout_inner;
-
- layout_inner = elm_layout_add(parent);
- elm_layout_theme_set(layout_inner, "layout", "application", "fastscroll");
- evas_object_size_hint_weight_set(layout_inner, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- return layout_inner;
-}
-
-static void _gl_sel(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- elm_genlist_item_selected_set(ei, EINA_FALSE);
- int idx = (int)elm_object_item_data_get(ei);
-
- const Elm_Genlist_Item_Class *class = elm_genlist_item_item_class_get(ei);
- // Update check button
- Evas_Object *ck = elm_object_item_part_content_get(ei, "elm.icon");
- if (ck) {
- printf("check changed\n");
- Eina_Bool state = !elm_check_state_get(ck);
- elm_check_state_set(ck, state);
- state_pointer_title[idx] = state;
-
- // if group index is checked/unchecked, then all items in group must be check/uncheck
- if (!strcmp(class->item_style, "groupindex.icon")) {
-
- printf("update child items\n");
- Elm_Object_Item *it = elm_genlist_item_next_get(ei);
- while(it) {
- const Elm_Genlist_Item_Class *child_class =
- elm_genlist_item_item_class_get(it);
- if (!child_class ||
- !strcmp(child_class->item_style, "groupindex.icon"))
- break;
-
- ck = elm_object_item_part_content_get(it, "elm.icon");
- if (ck) elm_check_state_set(ck, state);
- idx = (int)elm_object_item_data_get(it);
- state_pointer[idx] = state;
-
- it = elm_genlist_item_next_get(it);
- }
- }
-
- }
-
-
- /*
- _chk_changed_cb(data, ck, NULL);
-
- int index;
- Eina_Bool gb;
-
- index = (int)elm_object_item_data_get(item);
- elm_genlist_item_selected_set(item, EINA_FALSE);
- // if group index is checked/unchecked, then all items in group must be check/uncheck
- if (!strcmp(class->item_style, "groupindex.icon")) {
- state_pointer_title[index] = !state_pointer_title[index];
- elm_genlist_item_fields_update(item, "elm.icon", ELM_GENLIST_ITEM_FIELD_CONTENT);
-
- Elm_Object_Item *it = elm_genlist_item_next_get(item);
- while(it) {
- const Elm_Genlist_Item_Class *class = elm_genlist_item_item_class_get(it);
- if (!class || strcmp(class->item_style, ITEM_STYLE_CHECK)) break;
-
- // Update child items
- state_pointer[(int)elm_object_item_data_get(it)] = state_pointer_title[index];
- elm_genlist_item_fields_update(it, "elm.icon", ELM_GENLIST_ITEM_FIELD_CONTENT);
- it = elm_genlist_item_next_get(it);
- }
- }
- */
-}
-
-static Evas_Object* _create_fastscroll_genlist(void *data, Evas_Object* parent, const char *style)
-{
- Elm_Object_Item *git=NULL;
- Evas_Object *genlist, *index;
- int index1, index2;
- char buf[32];
-
- Elm_Genlist_Item_Class *itci, *itch;
- itci = elm_genlist_item_class_new();
- itch = elm_genlist_item_class_new();
-
- // Create genlist
- genlist = elm_genlist_add(parent);
- elm_scroller_policy_set(genlist, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
-
- // HOMOGENEOUS MODE
- // If item height is same when each style name is same,
- // Use homogeneous mode.
- elm_genlist_homogeneous_set(genlist, EINA_TRUE);
- printf("Homogeneous mode enabled\n");
-
- // Create index
- index = elm_index_add(parent);
- elm_object_part_content_set(parent, "elm.swallow.fastscroll", index);
- elm_index_autohide_disabled_set(index, EINA_TRUE);
-
- // Set item class
- if (!strcmp(style,"Check")) {
- itci->item_style = ITEM_STYLE_CHECK;
- itci->func.text_get = _gli_text_get;
- itci->func.content_get = _gli_content_get;
- itci->func.state_get = _gli_state_get;
-
- itch->item_style = "groupindex.icon";
- itch->func.content_get = _glh_content_get;
- itch->func.state_get = _gli_state_get;
- itch->func.text_get = _gli_title_text_get;
- }
- else {
- itci->item_style = ITEM_STYLE_THUMBNAIL;
- itci->func.text_get = _gli_text_get;
- itci->func.content_get = _gl_icon_photo_get;
- itch->item_style = "groupindex";
- itch->func.text_get = _gli_title_text_get;
- }
-
- index2 = 0;
- for (index1 = 0; index1 < NUM_OF_ITEMS; index1++) {
- if ((index2 & 0xf) == 0) {
- if ((index2>>4) <= 15)
- snprintf(buf, sizeof(buf), "%c", 'A' + ((index2 >> 4) & 0xf));
- else if ((index2>>4) <= 25)
- snprintf(buf, sizeof(buf), "%c", 'Q' + ((index2 >> 4) & 0xf));
-
- git = elm_genlist_item_append(genlist, itch, (void *) index2,
- NULL, ELM_GENLIST_ITEM_GROUP, _gl_sel, NULL);
- elm_index_item_append(index, buf, NULL, git);
- }
- elm_genlist_item_append(genlist, itci, (void *) index2,
- git, ELM_GENLIST_ITEM_NONE, _gl_sel,
- NULL);
- index2 += 2;
- }
-
- elm_genlist_item_class_free(itci);
- elm_genlist_item_class_free(itch);
-
- evas_object_smart_callback_add(index, "delay,changed", _index_delayed_changed, index);
- evas_object_smart_callback_add(index, "changed", _index_changed, NULL);
- evas_object_smart_callback_add(index, "selected", _index_selected, NULL);
- elm_index_level_go(index, 0);
-
- return genlist;
-}
-
-void genlist_index_fastscroll_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Evas_Object *genlist;
- Evas_Object *layout_inner;
- const char *menu_name = elm_object_item_text_get((Elm_Object_Item *)event_info);
- ad = (struct appdata *) data;
- if (ad == NULL) return;
-
- layout_inner = _create_layout_inner(ad->nf);
- genlist = _create_fastscroll_genlist(ad, layout_inner, menu_name);
- if (genlist == NULL) return;
-
- elm_object_part_content_set(layout_inner, "elm.swallow.content", genlist);
-
- elm_naviframe_item_push(ad->nf, _(menu_name), NULL, NULL, layout_inner, NULL);
-}
-
-void genlist_fastscroll_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Evas_Object *list;
- int i;
-
- ad = (struct appdata *) data;
- if (ad == NULL) return;
-
- list = elm_list_add(ad->nf);
- elm_list_mode_set(list, ELM_LIST_COMPRESS);
- evas_object_smart_callback_add(list, "selected", _list_selected, NULL);
-
- for (i = 0; menu_its[i].name; i++) {
- elm_list_item_append(list, menu_its[i].name, NULL, NULL,
- menu_its[i].func, ad);
- }
- elm_list_go(list);
-
- elm_naviframe_item_push(ad->nf, _("Indexed Lists"), NULL, NULL, list, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "genlist.h"
-
-/*********************************************************
- Genlist Styles
- ********************************************************/
-#define COLOR_MAX 5
-#define NUM_OF_ITEMS 8000
-#define TEST_SIGNALS 0
-
-typedef struct _Item_Data
-{
- int index;
- int highlighted;
- Elm_Object_Item *item;
- Eina_Bool checked;
- Eina_Bool stared;
-} Item_Data;
-
-static char *menu_its[] = {
- "groupindex",
- "groupindex.icon",
- "1icon",
- "1icon/no_padding",
- "1icon/with_no_line",
- "1icon/no_padding_line",
- /*** 1line styles ***/
- "1text",
- "1text.tb",
- "2text",
- "1text.1icon",
- "1text.1icon.6",
- "1text.1icon.7",
- "1text.1icon.5",
- "1text.1icon.5.thumb.circle",
- "1text.1icon.5.thumb.square",
- "1text.2icon.3",
- "1text.2icon.3.tb",
- "1text.1icon.2",
- "1text.1icon.2.tb",
- "2text.1icon",
- "2text.1icon.tb",
- "1text.2icon",
- "1text.2icon.tb",
- "1text.2icon.6",
- "1text.2icon.6.tb",
- "1text.1icon.3",
- "1text.1icon.3.tb",
- "1text.2icon.4",
- "1text.2icon.4.tb",
- "1text.2icon.2",
- "1text.3icon",
- "1text.2icon.9",
- "1text.3icon.2",
- "1text.1icon.divider",
- "1text.2icon.divider",
- /*** 2line styles ***/
- "2text.2",
- "2text.2.tb",
- "2text.3",
- "3text",
- "3text.tb",
- "2text.1icon.2",
- "2text.1icon.2.tb",
- "2text.1icon.10",
- "2text.1icon.10.tb",
- "3text.1icon",
- "3text.1icon.tb",
- "3text.2icon",
- "3text.2icon.tb",
- "2text.1icon.4",
- "2text.1icon.4.thumb.circle",
- "2text.1icon.4.thumb.square",
- "2text.1icon.4.tb",
- "3text.1icon.2",
- "3text.1icon.2.tb",
- "2text.1icon.8",
- "2text.2icon.4",
- "2text.2icon.4.tb",
- "2text.2icon.6",
- "2text.2icon.6.tb",
- "2text.2icon.8",
- "2text.2icon.8.tb",
- "2text.2icon.progress",
- "3text.3icon.progress",
- "2text.1icon.divider",
- "2text.1icon.12",
- "2text.1icon.12.tb",
- "2text.2icon.7",
- "2text.2icon.5",
- "2text.3icon.4",
- "4text.1icon.1",
- "4text.1icon.1.tb",
- "4text.1icon.2",
- "4text.1icon.2.tb",
- "4text.1",
- "4text.1.tb",
- "4text.2",
- "3text.1icon.3",
- "3text.1icon.3.tb",
- "4text.1icon.3",
- "3text.1icon.1",
- "2text.2icon.1",
- "2text.1icon.1",
- "email.list.test",
- "email.list",
- "email.list.conversation",
- "email.outbox",
- "email.outbox.conversation",
- "email.list(lazy)",
- "multiline/2text.5icon",
- "1text/popup",
- "1text.1icon.5.thumb.circle/popup",
- "1text.1icon.5.thumb.square/popup",
- "2text.1icon.4.thumb.circle/popup",
- "2text.1icon.4.thumb.square/popup",
- "1text.1icon.divider/popup",
- "1text.2icon.divider/popup",
- /* do not delete below */
- NULL
-};
-
-extern char *genlist_demo_names[];
-extern char *genlist_long_texts[];
-extern char *genlist_times[];
-extern char *genlist_messages[];
-static Eina_Bool scrolling;
-static Eina_Bool lazy;
-
-static const char *color_set[COLOR_MAX] =
-{
- "#ff0000ff",
- "#00ff00ff",
- "#0000ffff",
- "#ff00ffff",
- "#00ffffff"
-};
-
-static char *photo_path[] = {
- "00_list_photo_default.png", "iu.jpg", "iu2.jpg", "koo.jpg", "top.jpg", "boa.jpg",
- "kimtaehee.jpg", "moon.jpg", "taeyon.jpg"
-};
-
-static void _gl_del(void *data, Evas_Object *obj)
-{
- // FIXME: Unrealized callback can be called after this.
- // Accessing Item_Data can be dangerous on unrealized callback.
- Item_Data *id = data;
- if (id) free(id);
-}
-
-static void _list_selected(void *data, Evas_Object *obj, void *ei)
-{
- Elm_Object_Item *it = (Elm_Object_Item *) elm_list_selected_item_get(obj);
-
- if (it == NULL)
- {
- fprintf((LOG_PRI(LOG_ERR) == LOG_ERR?stderr:stdout), "List item is NULL.\n");
- return;
- }
- elm_list_item_selected_set(it, EINA_FALSE);
-}
-
-static char *
-_gl_text_get(void *data, Evas_Object *obj, const char *part)
-{
- char buf[1024];
- Item_Data *id = data;
- int index = id->index;
-
- if (!strcmp(part, "elm.text.2")) index++;
-
- snprintf(buf, 1023, "%s:%s", part, genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
- return strdup(buf);
-}
-
-static char *
-_gl_email_text_get(void *data, Evas_Object *obj, const char *part)
-{
- char buf[1024];
- Item_Data *id = data;
- int index = id->index;
-
- if (!strcmp(part, "elm.text.4")) {
- index = index%4;
- if (index == 0) snprintf(buf, 1023, "77");
- else if (index == 1) snprintf(buf, 1023, "9");
- else if (index == 2) snprintf(buf, 1023, "1");
- else snprintf(buf, 1023, "...");
- } else if (!strcmp(part, "elm.text.1") || !strcmp(part, "elm.text.3")) {
- snprintf(buf, 1023, "<match>%s</match>:%s", part,
- genlist_long_texts[index%NUM_OF_GENLIST_LONG_TEXTS]);
- } else if (!strcmp(part, "elm.text.2")) {
- snprintf(buf, 1023, "<match>%s</match>:%s", part,
- genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
- } else snprintf(buf, 1023, "%s:11:30 PM", part);
-
- return strdup(buf);
-}
-
-static char *_gl_text_get_textblock(void *data, Evas_Object *obj, const char *part)
-{
- Item_Data *id = data;
- int index = id->index;
- char buf[PATH_MAX] = {0, };
- const char *color;
- int size;
- int val;
-
- if (!strcmp(part, "elm.text.4") || !strcmp(part, "elm.text"))
- val = index+2;
- else if (!strcmp(part, "elm.text.2"))
- val = index+4;
- else if (!strcmp(part, "elm.text.3"))
- val = index+6;
- else val = index+8;
-
- color = color_set[val % COLOR_MAX];
- size = (val%5)*20 + 32;
-
- if (index % 10 == 0) return _gl_text_get(data, obj, part);
- // if textblock is used, application should change color when item is highlighted.
- if (id->highlighted) // T023P is pressed color of list main text
- sprintf(buf, "<font_size=%d><color_class=T023P>%s:%s</color></font_size>",
- size, part, genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
- else
- sprintf(buf, "<font_size=%d><color=%s>%s:%s</color></font_size>",
- size, color, part, genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
- return strdup(buf);
-}
-
-static char *_gl_text_get_bubble_textblock(void *data, Evas_Object *obj, const char *part)
-{
- if (!strcmp(part, "elm.text.4"))
- return _gl_text_get(data, obj, part);
- else return _gl_text_get_textblock(data, obj, part);
-}
-
-static char* _gl_multiline_text_get(void *data, Evas_Object *obj, const char *part)
-{
- int index = ((int)data) % NUM_OF_GENLIST_TIMES;
-
- if (!strcmp(part, "elm.text.1") || !strcmp(part, "elm.title") ) {
- return strdup(genlist_times[index]);
- } else {
- return strdup(genlist_messages[index]);
- }
- return NULL;
-}
-
-static Evas_Object *
-_gl_icon_colorbar_get(void *data, Evas_Object *obj, const char *part)
-{
- Item_Data *id = data;
- int index = id->index;
- Evas_Object *icon = evas_object_rectangle_add(evas_object_evas_get(obj));
- evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- if (index%3 == 0) evas_object_color_set(icon, 80, 107, 207, 255);
- else if (index%3 == 1) evas_object_color_set(icon, 72, 136, 42, 255);
- else if (index%3 == 2) evas_object_color_set(icon, 204, 52, 52, 255);
- return icon;
-}
-
-static Evas_Object *
-_gl_icon_progressbar_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon = elm_progressbar_add(obj);
- elm_object_style_set(icon, "pending_list");
- elm_progressbar_horizontal_set(icon, EINA_TRUE);
- elm_progressbar_pulse(icon, EINA_TRUE);
- return icon;
-}
-
-static Evas_Object *
-_gl_icon_reveal_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon = elm_button_add(obj);
- elm_object_style_set(icon, "reveal");
- evas_object_propagate_events_set(icon, EINA_FALSE);
- return icon;
-}
-
-static Evas_Object *
-_gl_icon_onoff_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon = elm_check_add(obj);
- elm_check_state_set(icon, EINA_TRUE);
- elm_object_style_set(icon, "on&off");
- evas_object_propagate_events_set(icon, EINA_FALSE);
-
- Item_Data *id = data;
- const Elm_Genlist_Item_Class *itc;
- itc = elm_genlist_item_item_class_get(id->item);
- // If no divider, unregister access object
- if (itc && !strstr(itc->item_style, ".divider")) {
- elm_access_object_unregister(icon);
- }
- return icon;
-}
-
-static Evas_Object *
-_gl_icon_chk_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon = elm_check_add(obj);
- elm_object_style_set(icon, "default/genlist");
- evas_object_repeat_events_set(icon, EINA_TRUE);
- evas_object_propagate_events_set(icon, EINA_FALSE);
-
- Item_Data *id = data;
- const Elm_Genlist_Item_Class *itc;
- itc = elm_genlist_item_item_class_get(id->item);
- // If no divider, unregister access object
- if (itc && !strstr(itc->item_style, ".divider")) {
- elm_access_object_unregister(icon);
- }
- return icon;
-}
-
-static Evas_Object *
-_icon_email_chk_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon = elm_check_add(obj);
- evas_object_propagate_events_set(icon, EINA_FALSE);
- return icon;
-}
-
-static Evas_Object *
-_gl_icon_star_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon = elm_image_add(obj);
- elm_image_file_set(icon, ICON_DIR"/genlist/00_icon_favorite_off_45x45.png", NULL);
- evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- return icon;
-}
-
-static Evas_Object *_gl_content_get(void *data, Evas_Object *obj, const char *part);
-
-static void _clicked(void *data, Evas_Object *obj, void *ei)
-{
- printf("Button clicked\n");
- Item_Data *id = data;
- const Elm_Genlist_Item_Class *itc;
- itc = elm_genlist_item_item_class_get(id->item);
-
- if (itc && !strcmp(itc->item_style, "1text.1icon")) {
- printf("Item Class updated\n");
- // accessibility test
- elm_genlist_item_item_class_update(id->item, itc);
-
- Evas_Object *acc = elm_object_item_access_object_get(id->item);
- // because button is removed, set highlight the item itself.
- elm_access_highlight_set(acc);
- }
-}
-
-static Evas_Object *
-_gl_icon_btn_text_get(void *data, Evas_Object *obj, const char *part)
-{
- Item_Data *id = data;
- Evas_Object *icon = elm_button_add(obj);
- elm_object_text_set(icon, "Text button");
- evas_object_propagate_events_set(icon, EINA_FALSE);
- evas_object_smart_callback_add(icon, "clicked", _clicked, id);
- return icon;
-}
-
-static Evas_Object *
-_gl_icon_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon = elm_image_add(obj);
- elm_image_file_set(icon, ICON_DIR"/genlist/iu.jpg", NULL);
- evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- return icon;
-}
-
-static Evas_Object *
-_gl_icon_photo_get(void *data, Evas_Object *obj, const char *part)
-{
- Item_Data *id = data;
- int index = id->index % (sizeof(photo_path)/sizeof(*photo_path));
- char buf[PATH_MAX];
- Evas_Object *icon = elm_image_add(obj);
- sprintf(buf, ICON_DIR"/genlist/%s", photo_path[index]);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- return icon;
-}
-
-static Evas_Object *_gl_content_get(void *data, Evas_Object *obj, const char *part)
-{
- if (!strcmp(part, "elm.swallow.end")) {
- return _gl_icon_reveal_get(data, obj, part);
- } else if (!strcmp(part, "elm.swallow.colorbar")) {
- return _gl_icon_colorbar_get(data, obj, part);
- } else if (!strcmp(part, "elm.swallow.progress")) {
- return _gl_icon_progressbar_get(data, obj, part);
- }
- return _gl_icon_get(data, obj, part);
-}
-
-static Evas_Object *
-_gl_2icon_btn_text_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon;
- if (!strcmp(part, "elm.icon") || !strcmp(part, "elm.icon.2"))
- icon = _gl_icon_btn_text_get(data, obj, part);
- else icon = _gl_content_get(data, obj, part);
- return icon;
-}
-
-static Evas_Object *
-_gl_2icon_chk_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon;
- if (!strcmp(part, "elm.icon") || !strcmp(part, "elm.icon.1"))
- icon = _gl_icon_chk_get(data, obj, part);
- else icon = _gl_content_get(data, obj, part);
- return icon;
-}
-
-static Evas_Object *
-_gl_2icon_onoff_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon;
- if (!strcmp(part, "elm.icon") || !strcmp(part, "elm.icon.2"))
- icon = _gl_icon_onoff_get(data, obj, part);
- else icon = _gl_content_get(data, obj, part);
- return icon;
-}
-
-static Evas_Object *
-_gl_2icon_reveal_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon;
- if (!strcmp(part, "elm.icon") || !strcmp(part, "elm.icon.2"))
- icon = _gl_icon_reveal_get(data, obj, part);
- else icon = _gl_content_get(data, obj, part);
- return icon;
-}
-
-static Evas_Object *
-_gl_2icon_chk_reveal_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon;
- if (!strcmp(part, "elm.icon") || !strcmp(part, "elm.icon.2"))
- icon = _gl_icon_reveal_get(data, obj, part);
- else if (!strcmp(part, "elm.icon.1"))
- icon = _gl_icon_chk_get(data, obj, part);
- else
- icon = _gl_content_get(data, obj, part);
- return icon;
-}
-
-static Evas_Object *
-_gl_3icon_chk_reveal_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon;
- if (!strcmp(part, "elm.icon.3"))
- icon = _gl_icon_reveal_get(data, obj, part);
- else if (!strcmp(part, "elm.icon.1"))
- icon = _gl_icon_chk_get(data, obj, part);
- else
- icon = _gl_content_get(data, obj, part);
- return icon;
-}
-
-static Evas_Object *
-_gl_icons_get(void *data, Evas_Object *obj, const char *part)
-{
- Item_Data *id = data;
- int index = (id->index)%7;
- Evas_Object *icon;
- if (0 == index) {
- icon = _gl_icon_progressbar_get(data, obj, part);
- } else if (1 == index) {
- icon = _gl_icon_reveal_get(data, obj, part);
- } else if (2 == index) {
- icon = _gl_icon_onoff_get(data, obj, part);
- } else if (3 == index) {
- icon = _gl_icon_chk_get(data, obj, part);
- } else if (4 == index) {
- icon = _gl_icon_btn_text_get(data, obj, part);
- } else {
- icon = _gl_icon_photo_get(data, obj, part);
- }
- return icon;
-}
-
-static void
-_email_check_clicked(void *data, Evas* e, Evas_Object *obj, void *ei)
-{
- printf("email check area clicked\n");
- Item_Data *id = data;
- id->checked = !id->checked;
- if (id->checked)
- elm_object_item_signal_emit(id->item, "elm,state,check,show", "");
- else
- elm_object_item_signal_emit(id->item, "elm,state,check,hide", "");
-}
-
-static void
-_email_touch_clicked(void *data, Evas* e, Evas_Object *obj, void *ei)
-{
- printf("email touch area clicked\n");
- Item_Data *id = data;
- id->stared = !id->stared;
- if (id->stared)
- elm_object_item_signal_emit(id->item, "elm,state,icon4,enable", "");
- else
- elm_object_item_signal_emit(id->item, "elm,state,icon4,disable", "");
-}
-
-static Evas_Object *
-_gl_email_icon_test_get(void *data, Evas_Object *obj, const char *part)
-{
- Item_Data *id = data;
- if (!strcmp(part, "elm.check.touch")) {
- Evas_Object *rect = evas_object_rectangle_add(evas_object_evas_get(obj));
- evas_object_size_hint_align_set(rect, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(rect, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_propagate_events_set(rect, EINA_FALSE);
- evas_object_color_set(rect, 64, 0, 0, 64);
- evas_object_event_callback_add(rect, EVAS_CALLBACK_MOUSE_UP, _email_check_clicked, id);
- return rect;
- } else if (!strcmp(part, "elm.icon.4.touch")) {
- Evas_Object *rect = evas_object_rectangle_add(evas_object_evas_get(obj));
- evas_object_size_hint_align_set(rect, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(rect, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_propagate_events_set(rect, EINA_FALSE);
- evas_object_color_set(rect, 64, 0, 0, 64);
- evas_object_event_callback_add(rect, EVAS_CALLBACK_MOUSE_UP, _email_touch_clicked, id);
- return rect;
- } else return _gl_content_get(data, obj, part);
- return NULL;
-}
-
-
-static Evas_Object *
-_gl_email_icon_get(void *data, Evas_Object *obj, const char *part)
-{
- Item_Data *id = data;
- int index = id->index;
- double scale = elm_config_scale_get();
- if (strstr(part, "touch")) {
- Evas_Object *rect = evas_object_rectangle_add(evas_object_evas_get(obj));
- evas_object_size_hint_align_set(rect, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(rect, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_event_callback_add(rect, EVAS_CALLBACK_MOUSE_UP, _email_touch_clicked, id);
- evas_object_propagate_events_set(rect, EINA_FALSE);
- evas_object_color_set(rect, 64, 0 ,0, 64);
- return rect;
- } else if (!strcmp(part, "elm.icon.1")) {
- return _icon_email_chk_get(data, obj, part);
- } else if (!strcmp(part, "elm.icon.2")) {
- if (index % 2 == 0) {
- Evas_Object *box = elm_box_add(obj);
- evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_box_horizontal_set(box, EINA_TRUE);
- Evas_Object *icon = _gl_icon_star_get(data, obj, part);
- evas_object_size_hint_min_set(icon, 45*scale, 45*scale);
- evas_object_show(icon);
- elm_box_pack_end(box, icon);
- icon = evas_object_rectangle_add(evas_object_evas_get(obj));
- evas_object_size_hint_min_set(icon, 16*scale, 16*scale);
- evas_object_color_set(icon, 0, 0, 0, 0);
- evas_object_show(icon);
- elm_box_pack_end(box, icon);
- return box;
- } else return NULL;
- } else if (!strcmp(part, "elm.icon.3")) {
- index = index % 3;
- if (index == 0) {
- Evas_Object *box = elm_box_add(obj);
- evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_box_horizontal_set(box, EINA_TRUE);
- Evas_Object *icon = _gl_icon_star_get(data, obj, part);
- evas_object_size_hint_min_set(icon, 45*scale, 45*scale);
- evas_object_show(icon);
- elm_box_pack_start(box, icon);
- icon = evas_object_rectangle_add(evas_object_evas_get(obj));
- evas_object_color_set(icon, 0, 0, 0, 0);
- evas_object_size_hint_min_set(icon, 16*scale, 16*scale);
- evas_object_show(icon);
- elm_box_pack_start(box, icon);
- return box;
- } else return NULL;
- } else if (!strcmp(part, "elm.icon.4")) {
- return _gl_icon_star_get(data, obj, part);
- } else return _gl_content_get(data, obj, part);
- return NULL;
-}
-
-static Evas_Object *
-_gl_email_icon_lazy_get(void *data, Evas_Object *obj, const char *part)
-{
- Item_Data *id = data;
- int index = id->index;
- double scale = elm_config_scale_get();
- if (strstr(part, "touch")) {
- Evas_Object *rect = evas_object_rectangle_add(evas_object_evas_get(obj));
- evas_object_size_hint_align_set(rect, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(rect, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_event_callback_add(rect, EVAS_CALLBACK_MOUSE_UP, _email_touch_clicked, NULL);
- evas_object_propagate_events_set(rect, EINA_FALSE);
- evas_object_color_set(rect, 64, 0 ,0, 64);
- return rect;
- } else if (!strcmp(part, "elm.icon.1")) {
- return _icon_email_chk_get(data, obj, part);
- } else if (!strcmp(part, "elm.icon.2")) {
- if (scrolling) return NULL;
- index = index % 2;
- if (index == 0) return NULL;
- else {
- Evas_Object *box = elm_box_add(obj);
- evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_box_horizontal_set(box, EINA_TRUE);
- Evas_Object *icon = _gl_icon_photo_get(data, obj, part);
- evas_object_size_hint_min_set(icon, 45*scale, 45*scale);
- evas_object_show(icon);
- elm_box_pack_end(box, icon);
- icon = evas_object_rectangle_add(evas_object_evas_get(obj));
- evas_object_size_hint_min_set(icon, 16*scale, 16*scale);
- evas_object_color_set(icon, 0, 0, 0, 0);
- evas_object_show(icon);
- elm_box_pack_end(box, icon);
- return box;
- }
- } else if (!strcmp(part, "elm.icon.4")) {
- if (scrolling) return NULL;
- Evas_Object *icon = _gl_icon_get(data, obj, part);
- evas_object_size_hint_min_set(icon, 35*scale, 35*scale);
- return icon;
- } else if (!strcmp(part, "elm.icon.3")) {
- if (scrolling) return NULL;
- index = index % 4;
- if (index == 0) return NULL;
- else if (index == 1) {
- Evas_Object *box = elm_box_add(obj);
- evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_box_horizontal_set(box, EINA_TRUE);
- Evas_Object *icon = _gl_icon_photo_get(data, obj, part);
- evas_object_size_hint_min_set(icon, 45*scale, 45*scale);
- evas_object_show(icon);
- elm_box_pack_start(box, icon);
- icon = evas_object_rectangle_add(evas_object_evas_get(obj));
- evas_object_color_set(icon, 0, 0, 0, 0);
- evas_object_size_hint_min_set(icon, 16*scale, 16*scale);
- evas_object_show(icon);
- elm_box_pack_start(box, icon);
- return box;
- } else if (index == 2) {
- Evas_Object *box = elm_box_add(obj);
- evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_box_horizontal_set(box, EINA_TRUE);
- elm_box_padding_set(box, 10, 0);
- Evas_Object *icon = _gl_icon_photo_get(data, obj, part);
- evas_object_size_hint_min_set(icon, 45*scale, 45*scale);
- evas_object_show(icon);
- elm_box_pack_end(box, icon);
- icon = _gl_icon_photo_get(data, obj, part);
- evas_object_size_hint_min_set(icon, 35*scale, 35*scale);
- evas_object_show(icon);
- elm_box_pack_end(box, icon);
- icon = evas_object_rectangle_add(evas_object_evas_get(obj));
- evas_object_size_hint_min_set(icon, 16*scale, 16*scale);
- evas_object_color_set(icon, 0, 0, 0, 0);
- evas_object_show(icon);
- elm_box_pack_start(box, icon);
- return box;
- } else if (index == 3) {
- Evas_Object *box = elm_box_add(obj);
- evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_box_horizontal_set(box, EINA_TRUE);
- elm_box_padding_set(box, 10, 0);
- Evas_Object *icon = _gl_icon_photo_get(data, obj, part);
- evas_object_size_hint_min_set(icon, 50*scale, 50*scale);
- evas_object_show(icon);
- elm_box_pack_end(box, icon);
- icon = _gl_icon_photo_get(data, obj, part);
- evas_object_size_hint_min_set(icon, 35*scale, 35*scale);
- evas_object_show(icon);
- elm_box_pack_end(box, icon);
- icon = _gl_icon_photo_get(data, obj, part);
- evas_object_size_hint_min_set(icon, 45*scale, 45*scale);
- evas_object_show(icon);
- elm_box_pack_end(box, icon);
- icon = evas_object_rectangle_add(evas_object_evas_get(obj));
- evas_object_size_hint_min_set(icon, 16*scale, 16*scale);
- evas_object_color_set(icon, 0, 0, 0, 0);
- evas_object_show(icon);
- elm_box_pack_start(box, icon);
- return box;
- }
- } else {
- if (scrolling) return NULL;
- return _gl_content_get(data, obj, part);
- }
- return NULL;
-}
-
-
-static Evas_Object *
-_gl_email_outbox_get(void *data, Evas_Object *obj, const char *part)
-{
- if (!strcmp(part, "elm.icon.5")) {
- return _gl_icon_btn_text_get(data, obj, part);
- } else
- return _gl_email_icon_get(data, obj, part);
-}
-
-static Evas_Object *
-_gl_icon_highlight_get(void *data, Evas_Object *obj, const char *part)
-{
- Item_Data *id = data;
- Evas_Object *icon = NULL;
- int index = id->index;
- if (id->highlighted) {
- printf("Change icon to hilighted icon [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
- icon = elm_image_add(obj);
- elm_image_file_set(icon, ICON_DIR"/genlist/00_brightness_right.png", NULL);
- evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- } else {
- icon = elm_image_add(obj);
- // Below should be called before elm_image_file_set
- elm_image_prescale_set(icon, 10);
- evas_object_color_set(icon, 128, 128, 128, 128);
- elm_image_file_set(icon, ICON_DIR"/genlist/iu.jpg", NULL);
- evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- }
- return icon;
-}
-
-static void _gl_sel(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("Select callback: %s\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-
- const Elm_Genlist_Item_Class *itc = elm_genlist_item_item_class_get(item);
-
- // accessibility test
- if (itc && !strcmp(itc->item_style, "1text.1icon")) {
- printf("Item Class updated\n");
- elm_genlist_item_item_class_update(item, itc);
- }
-
- // Make item as unselected
- elm_genlist_item_selected_set(item, EINA_FALSE);
-
- if (itc && !strcmp(itc->item_style, "groupindex")) {
- printf("slide start\n");
- elm_object_item_signal_emit(item, "elm,state,slide,start", "");
- }
- if (itc && (!strcmp(itc->item_style, "1text.1icon.3") ||
- !strcmp(itc->item_style, "1text.1icon.3.tb") ||
- !strcmp(itc->item_style, "1text.2icon.2") ||
- !strcmp(itc->item_style, "1text.3icon") ||
- !strcmp(itc->item_style, "1text.3icon.2") ||
- !strcmp(itc->item_style, "1text.2icon.9") ||
- !strcmp(itc->item_style, "1text.2icon.4") ||
- !strcmp(itc->item_style, "1text.2icon.4.tb") ||
- !strcmp(itc->item_style, "2text.2icon.7") ||
- !strcmp(itc->item_style, "2text.2icon.5") ||
- !strcmp(itc->item_style, "2text.3icon.4"))) {
- printf("update check\n");
- // Update check button
- Evas_Object *ck = elm_object_item_part_content_get(ei, "elm.icon");
- if (!ck) ck = elm_object_item_part_content_get(ei, "elm.icon.1");
- if (ck) {
- Eina_Bool state = elm_check_state_get(ck);
- elm_check_state_set(ck, !state);
- }
- }
-}
-
-static void _longpressed(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("longpressed: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
- // FIXME: after unrealized & realized, item will be back to default state (unread).
- elm_object_item_signal_emit(ei, "elm,state,read", "");
-}
-
-static void _scroll_anim_start(void *data, Evas_Object *obj, void *ei)
-{
- scrolling = EINA_TRUE;
- printf("scroll,anim,start\n");
-}
-
-static void _scroll_anim_stop(void *data, Evas_Object *obj, void *ei)
-{
- scrolling = EINA_FALSE;
- if (lazy) {
- Eina_List *l;
- Elm_Object_Item *it;
- l = elm_genlist_realized_items_get(obj);
- EINA_LIST_FREE(l, it) {
- elm_genlist_item_fields_update(it, "elm.icon.2", ELM_GENLIST_ITEM_FIELD_CONTENT);
- elm_genlist_item_fields_update(it, "elm.icon.3", ELM_GENLIST_ITEM_FIELD_CONTENT);
- elm_genlist_item_fields_update(it, "elm.icon.4", ELM_GENLIST_ITEM_FIELD_CONTENT);
- }
- }
- printf("scroll,anim,stop\n");
-}
-
-static void _scroll_drag_start(void *data, Evas_Object *obj, void *ei)
-{
- scrolling = EINA_TRUE;
- printf("scroll,drag,start\n");
-}
-
-static void _scroll_drag_stop(void *data, Evas_Object *obj, void *ei)
-{
- scrolling = EINA_FALSE;
- if (lazy) {
- Eina_List *l, *list;
- Elm_Object_Item *it;
- list = elm_genlist_realized_items_get(obj);
- EINA_LIST_FOREACH(list, l, it) {
- elm_genlist_item_fields_update(it, "elm.icon.2", ELM_GENLIST_ITEM_FIELD_CONTENT);
- elm_genlist_item_fields_update(it, "elm.icon.3", ELM_GENLIST_ITEM_FIELD_CONTENT);
- elm_genlist_item_fields_update(it, "elm.icon.4", ELM_GENLIST_ITEM_FIELD_CONTENT);
- }
- }
-
- printf("scroll,drag,stop\n");
-}
-
-static void _realized(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Item_Data *id = elm_object_item_data_get(ei);
- int index = id->index;
-
- const char *txt = elm_object_item_part_text_get(ei, "elm.text");
- if (!txt)
- txt = elm_object_item_part_text_get(ei, "elm.text.1");
- printf("realized: [%s]\n", txt); //genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-
- // ===== Accessibility ====
- if (elm_config_access_get()) {
- const Elm_Genlist_Item_Class *itc = elm_genlist_item_item_class_get(ei);
- if (!strcmp(itc->item_style, "1icon") ||
- !strcmp(itc->item_style, "1icon/no_padding") ||
- !strcmp(itc->item_style, "1icon/with_no_line") ||
- !strcmp(itc->item_style, "1icon/no_padding_line")) {
-
- // Unregister item to not be highlighted
- elm_object_item_access_unregister(ei);
-
- // if icon is not appended yet, register icon to be highglihted
- const Eina_List *org = elm_object_item_access_order_get(ei);
- Evas_Object *content =
- elm_object_item_part_content_get(ei, "elm.icon");
- if (content && !eina_list_data_find(org, content)) {
- Evas_Object *tmp;
- Eina_List *l;
- Eina_List *items = NULL;
-
- // Duplicate original access order
- EINA_LIST_FOREACH((Eina_List *)org, l, tmp)
- items = eina_list_append(items, tmp);
-
- Evas_Object *ao = elm_access_object_register(content, obj);
- items = eina_list_append(items, ao);
- elm_object_item_access_order_set(ei, items);
- }
- }
- }
-
- // For email style ===================================================
- // email style implement icons as image part, not swallow part.
- if (id->checked)
- elm_object_item_signal_emit(id->item, "elm,state,check,show", "");
- else
- elm_object_item_signal_emit(id->item, "elm,state,check,hide", "");
- if (id->stared)
- elm_object_item_signal_emit(id->item, "elm,state,icon4,enable", "");
- else
- elm_object_item_signal_emit(id->item, "elm,state,icon4,disable", "");
-
- if (index%3 == 0)
- elm_object_item_signal_emit(ei, "elm,state,read", "");
- if (index%2 == 0)
- elm_object_item_signal_emit(ei, "elm,state,icon2,show", "");
- if (index%3 == 0)
- elm_object_item_signal_emit(ei, "elm,state,icon3,show", "");
- elm_object_item_signal_emit(ei, "elm,state,icon4,show", "");
- // ===================================================================
-}
-
-static void _loaded(void *data, Evas_Object *obj, void *ei)
-{
- printf("loaded\n");
-}
-
-#if TEST_SIGNALS
-static void _unrealized(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("unrealized: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _selected(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("selected: %s\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _activated(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("activated: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _clicked_double(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("clicked,double: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _unselected(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("unselected: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _drag_start_up(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("drag,start,up: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _drag_start_down(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("drag,start,down: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _drag_start_left(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("drag,start,left: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _drag_start_right(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("drag,start,right: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _drag_stop(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("drag,stop: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _drag(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("drag: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _edge_top(void *data, Evas_Object *obj, void *ei)
-{
- printf("edge,top\n");
-}
-
-static void _edge_bottom(void *data, Evas_Object *obj, void *ei)
-{
- printf("edge,bottom\n");
-}
-
-static void _edge_left(void *data, Evas_Object *obj, void *ei)
-{
- printf("edge,left\n");
-}
-
-static void _edge_right(void *data, Evas_Object *obj, void *ei)
-{
- printf("edge,right\n");
-}
-
-static void _multi_swipe_left(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("multi,swipe,left: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _multi_swipe_right(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("multi,swipe,right: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _multi_swipe_up(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("multi,swipe,up: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _multi_swipe_down(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("edge,bottom: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _multi_pinch_out(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("multi,pinch,out: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _multi_pinch_in(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("multi,pinch,in: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _swipe(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("swipe: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _moved(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("moved: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _moved_after(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("moved,after: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _moved_before(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("moved,before: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _index_update(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("index,updated: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _expanded(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("expanded: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _contracted(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("contracted: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _expand_request(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("expand,request: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _contract_request(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("contract,request: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-static void _tree_effect_finished(void *data, Evas_Object *obj, void *ei)
-{
- printf("tree,effect,finished\n");
-}
-#endif
-
-static void _highlighted(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- id->highlighted = EINA_TRUE;
-
- const Elm_Genlist_Item_Class *itc = elm_genlist_item_item_class_get(item);
- if (!strcmp(itc->item_style, "1text.1icon.7")) {
- Evas_Object *img = elm_object_item_part_content_get(item, "elm.icon");
- elm_image_file_set(img, ICON_DIR"/genlist/00_brightness_right_press.png", NULL);
- } else if (!strcmp(itc->item_style, "1text.tb")) {
- printf("highlighted: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
- elm_genlist_item_fields_update(item, "elm.text", ELM_GENLIST_ITEM_FIELD_TEXT);
- }
-}
-
-static void _unhighlighted(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(ei);
- int index = id->index;
- id->highlighted = EINA_FALSE;
-
- const Elm_Genlist_Item_Class *itc = elm_genlist_item_item_class_get(item);
- if (!strcmp(itc->item_style, "1text.1icon.7")) {
- Evas_Object *img = elm_object_item_part_content_get(item, "elm.icon");
- elm_image_file_set(img, ICON_DIR"/genlist/iu.jpg", NULL);
- } else if (!strcmp(itc->item_style, "1text.tb")) {
- printf("unhighlighted: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
- elm_genlist_item_fields_update(item, "elm.text", ELM_GENLIST_ITEM_FIELD_TEXT);
- }
-}
-
-static void _index_clicked(void *data, Evas_Object *obj, const char *em, const char *src)
-{
- printf("index clicked\n");
- elm_object_signal_emit(obj, "elm,state,slide,start", "");
-
-}
-
-static char *_access_info_cb(void *data, Evas_Object *obj)
-{
- const char *txt = NULL;
- txt = elm_object_part_text_get(data, "elm.text");
- if (!txt) return NULL;
-
- return strdup(_(txt));
-}
-
-static void _mouse_down_cb(void *data, Evas *e, Evas_Object *obj, void *ei)
-{
- Evas_Event_Mouse_Down *md = ei;
- int ret;
- Elm_Object_Item *it = elm_genlist_at_xy_item_get(obj, md->canvas.x, md->canvas.y, &ret);
- printf("down %d %d (%d) (%p)\n", md->canvas.x, md->canvas.y, elm_genlist_item_index_get(it), it);
-}
-
-static void _create_genlist(void *data, Evas_Object *obj, void *event_info)
-{
- if (!data) return;
- struct appdata *ad = data;
- int index;
- Elm_Object_Item *item;
- Evas_Object *genlist;
- const char *style = elm_object_item_text_get(event_info);
-
- // Create item class
- Elm_Genlist_Item_Class *itc = elm_genlist_item_class_new();
- itc->item_style = style;
- itc->func.text_get = _gl_text_get;
- itc->func.content_get = _gl_content_get;
- itc->func.del = _gl_del;
-
- // Create genlist
- genlist = elm_genlist_add(ad->nf);
- evas_object_event_callback_add(genlist, EVAS_CALLBACK_MOUSE_DOWN, _mouse_down_cb, NULL);
- if (strstr(style, "email.")) {
- elm_object_style_set(genlist, "handler");
- }
- // Optimize your application with appropriate genlist block size.
- elm_genlist_block_count_set(genlist, 14);
-
- // HOMOGENEOUS MODE
- // If item height is same when each style name is same,
- // Use homogeneous mode.
- if (!strstr(style, ".tb") && !strstr(style, "multiline")) {
- printf("Homogeneous mode enabled\n");
- elm_genlist_homogeneous_set(genlist, EINA_TRUE);
- }
- // COMPRESS MODE
- // If multiline text (multiline entry or multiline textblock or sliding mode)
- // is used, use compress mode for compressing width to fit the viewport width.
- // So genlist can calculate item's height correctly.
- if (strstr(style, "multiline") ||
- !strcmp(style, "groupindex") || !strstr(style, "email")) {
- printf("Compress mode enabled\n");
- elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
- }
-
- evas_object_smart_callback_add(genlist, "scroll,anim,start", _scroll_anim_start, NULL);
- evas_object_smart_callback_add(genlist, "scroll,anim,stop", _scroll_anim_stop, NULL);
- evas_object_smart_callback_add(genlist, "scroll,drag,start", _scroll_drag_start, NULL);
- evas_object_smart_callback_add(genlist, "scroll,drag,stop", _scroll_drag_stop, NULL);
- evas_object_smart_callback_add(genlist, "realized", _realized, NULL);
- evas_object_smart_callback_add(genlist, "loaded", _loaded, NULL);
-
-#if TEST_SIGNALS
- evas_object_smart_callback_add(genlist, "unrealized", _unrealized, NULL);
- evas_object_smart_callback_add(genlist, "activated", _activated, NULL);
- evas_object_smart_callback_add(genlist, "selected", _selected, NULL);
- evas_object_smart_callback_add(genlist, "unselected", _unselected, NULL);
- evas_object_smart_callback_add(genlist, "clicked,double", _clicked_double, NULL);
- evas_object_smart_callback_add(genlist, "drag,start,up", _drag_start_up, NULL);
- evas_object_smart_callback_add(genlist, "drag,start,down", _drag_start_down, NULL);
- evas_object_smart_callback_add(genlist, "drag,start,left", _drag_start_left, NULL);
- evas_object_smart_callback_add(genlist, "drag,start,right", _drag_start_right, NULL);
- evas_object_smart_callback_add(genlist, "drag,stop", _drag_stop, NULL);
- evas_object_smart_callback_add(genlist, "drag", _drag, NULL);
- evas_object_smart_callback_add(genlist, "edge,top", _edge_top, NULL);
- evas_object_smart_callback_add(genlist, "edge,bottom", _edge_bottom, NULL);
- evas_object_smart_callback_add(genlist, "edge,left", _edge_left, NULL);
- evas_object_smart_callback_add(genlist, "edge,left", _edge_right, NULL);
- evas_object_smart_callback_add(genlist, "multi,swipe,left", _multi_swipe_left, NULL);
- evas_object_smart_callback_add(genlist, "multi,swipe,right", _multi_swipe_right, NULL);
- evas_object_smart_callback_add(genlist, "multi,swipe,up", _multi_swipe_up, NULL);
- evas_object_smart_callback_add(genlist, "multi,swipe,down", _multi_swipe_down, NULL);
- evas_object_smart_callback_add(genlist, "multi,pinch,out", _multi_pinch_out, NULL);
- evas_object_smart_callback_add(genlist, "multi,pinch,in", _multi_pinch_in, NULL);
- evas_object_smart_callback_add(genlist, "swipe", _swipe, NULL);
- evas_object_smart_callback_add(genlist, "moved", _moved, NULL);
- evas_object_smart_callback_add(genlist, "moved,after", _moved_after, NULL);
- evas_object_smart_callback_add(genlist, "moved,before", _moved_before, NULL);
- evas_object_smart_callback_add(genlist, "index,update", _index_update, NULL);
- evas_object_smart_callback_add(genlist, "tree,effect,finished", _tree_effect_finished, NULL);
-#endif
- evas_object_smart_callback_add(genlist, "highlighted", _highlighted, NULL);
- evas_object_smart_callback_add(genlist, "unhighlighted", _unhighlighted, NULL);
- evas_object_smart_callback_add(genlist, "longpressed", _longpressed, NULL);
-
- if (strstr(style, ".tb"))
- itc->func.text_get = _gl_text_get_textblock;
- else if (strstr(style, "multiline/2text.5icon"))
- itc->func.text_get = _gl_multiline_text_get;
-
- if (strstr(style, ".thumb."))
- itc->func.content_get = _gl_icon_photo_get;
-
- if (!strcmp(style, "1icon") || strstr(style, "1icon/")) {
- itc->func.content_get = _gl_icons_get;
- } else if (!strcmp(style, "1text.1icon.7")) {
- itc->func.content_get = _gl_icon_highlight_get;
- } else if (!strcmp(style, "2text.1icon.10") ||
- !strcmp(style, "2text.1icon.10.tb")) {
- itc->func.content_get = _gl_icon_reveal_get;
- } else if (!strcmp(style, "1text.1icon.6") ||
- !strcmp(style, "1text.1icon.divider") ||
- !strcmp(style, "1text.2icon.divider") ||
- !strcmp(style, "2text.1icon.divider")) {
- itc->func.content_get = _gl_2icon_onoff_get;
- } else if (!strcmp(style, "1text.1icon.3") ||
- !strcmp(style, "1text.1icon.3.tb") ||
- !strcmp(style, "1text.2icon.2") ||
- !strcmp(style, "1text.2icon.2") ||
- !strcmp(style, "2text.2icon.5") ||
- !strcmp(style, "2text.2icon.5")) {
- itc->func.content_get = _gl_2icon_chk_get;
- } else if (!strcmp(style, "1text.1icon") ||
- !strcmp(style, "1text.2icon") ||
- !strcmp(style, "1text.2icon.tb") ||
- !strcmp(style, "2text.1icon.2") ||
- !strcmp(style, "2text.1icon.2.tb") ||
- !strcmp(style, "2text.2icon.8") ||
- !strcmp(style, "2text.2icon.8.tb") ||
- !strcmp(style, "3text.3icon.progress")) {
- itc->func.content_get = _gl_2icon_btn_text_get;
- } else if (!strcmp(style, "1text.2icon.6") ||
- !strcmp(style, "1text.2icon.6.tb") ||
- !strcmp(style, "2text.2icon.4") |\
- !strcmp(style, "2text.2icon.4.tb")) {
- itc->func.content_get = _gl_2icon_reveal_get;
- } else if (!strcmp(style, "1text.2icon.4") ||
- !strcmp(style, "1text.2icon.4.tb") ||
- !strcmp(style, "1text.2icon.9") ||
- !strcmp(style, "2text.2icon.7")) {
- itc->func.content_get = _gl_2icon_chk_reveal_get;
- } else if (!strcmp(style, "1text.3icon") ||
- !strcmp(style, "1text.3icon.2") ||
- !strcmp(style, "2text.3icon.4")) {
- itc->func.content_get = _gl_3icon_chk_reveal_get;
- } else if (!strcmp(style, "4text.1icon.1.tb") ||
- !strcmp(style, "4text.1.tb")) {
- itc->func.text_get = _gl_text_get_bubble_textblock;
- } else if (!strcmp(style, "email.list.test")) {
- itc->func.text_get = _gl_email_text_get;
- itc->func.content_get = _gl_email_icon_test_get;
- } else if (!strcmp(style, "email.list") ||
- !strcmp(style, "email.list.conversation")) {
- itc->func.text_get = _gl_email_text_get;
- itc->func.content_get = _gl_email_icon_get;
- } else if (!strcmp(style, "email.outbox") ||
- !strcmp(style, "email.outbox.conversation")) {
- itc->func.text_get = _gl_email_text_get;
- itc->func.content_get = _gl_email_outbox_get;
- } else if (!strcmp(style, "email.list(lazy)")) {
- lazy = EINA_TRUE;
- itc->item_style = "email.list";
- itc->func.content_get = _gl_email_icon_lazy_get;
- }
-
- for (index = 0; index < NUM_OF_ITEMS; index++) {
- Item_Data *id = calloc(sizeof(Item_Data), 1);
- id->index = index;
- item = elm_genlist_item_append(
- genlist, // genlist object
- itc, // item class
- id, // data
- NULL,
- ELM_GENLIST_ITEM_NONE,
- _gl_sel,
- NULL);
- id->item = item;
- if (index ==0) elm_object_item_disabled_set(item, EINA_TRUE);
- }
- elm_genlist_item_class_free(itc);
-
- // Add select all layout for groupindex
- if (!strcmp(style, "groupindex")) {
- Evas_Object *bx = elm_box_add(ad->nf);
- evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- Evas_Object *ly = elm_layout_add(bx);
- elm_layout_theme_set(ly, "genlist/item", "groupindex", "default");
- evas_object_size_hint_weight_set(ly, EVAS_HINT_EXPAND, 0);
- evas_object_size_hint_align_set(ly, -1, -1);
- elm_object_part_text_set(ly, "elm.text", "This is a layout, not genlist item. This is a groupindex genlist item style. This is packed into box");
- elm_layout_signal_callback_add(ly, "mouse,clicked,1", "*", _index_clicked, NULL);
- evas_object_show(ly);
- elm_box_pack_end(bx, ly);
-
- // ============== Accessibility
- // Make layout accessible
- Evas_Object *ao = elm_access_object_register(ly, ly);
- elm_access_info_cb_set(ao, ELM_ACCESS_INFO, _access_info_cb, ly);
- elm_object_focus_custom_chain_append(ly, ao, NULL);
-
- evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(genlist);
- elm_box_pack_end(bx, genlist);
- evas_object_show(bx);
- elm_naviframe_item_push(ad->nf, _(style), NULL, NULL, bx, NULL);
- } else
- elm_naviframe_item_push(ad->nf, _(style), NULL, NULL, genlist, NULL);
-}
-
-void genlist_normal_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Evas_Object *list;
- int i;
-
- ad = (struct appdata *) data;
- if (ad == NULL) return;
-
- list = elm_list_add(ad->nf);
- elm_list_mode_set(list, ELM_LIST_COMPRESS);
- evas_object_smart_callback_add(list, "selected", _list_selected, NULL);
-
- for (i = 0; menu_its[i]; i++) {
- elm_list_item_append(list, menu_its[i], NULL, NULL,
- _create_genlist, ad);
- }
- elm_list_go(list);
-
- elm_naviframe_item_push(ad->nf, _("Item Styles"), NULL, NULL, list, NULL);
-}
-
-void genlist_homogenous_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (!data) return;
- struct appdata *ad = data;
- int index;
- Elm_Object_Item *item;
- Evas_Object *genlist;
-
- // Create item class
- Elm_Genlist_Item_Class *itc1,*itc2, *itc3, *itc4, *itc5;
- itc1 = elm_genlist_item_class_new();
- itc2 = elm_genlist_item_class_new();
- itc3 = elm_genlist_item_class_new();
- itc4 = elm_genlist_item_class_new();
- itc5 = elm_genlist_item_class_new();
-
- // Set genlist item class
- itc1->item_style = "1text.1icon";
- itc1->func.text_get = _gl_text_get;
- itc1->func.content_get = _gl_content_get;
- itc1->func.del = _gl_del;
-
- itc2->item_style = "3text.1icon";
- itc2->func.text_get = _gl_text_get;
- itc2->func.content_get = _gl_content_get;
- itc2->func.del = _gl_del;
-
- itc3->item_style = "email.list";
- itc3->func.text_get = _gl_email_text_get;
- itc3->func.content_get = _gl_email_icon_get;
- itc3->func.del = _gl_del;
-
- itc4->item_style = "dialogue/1text.2icon";
- itc4->func.text_get = _gl_text_get;
- itc4->func.content_get = _gl_content_get;
- itc4->func.del = _gl_del;
-
- itc5->item_style = "dialogue/3text.2icon";
- itc5->func.text_get = _gl_text_get;
- itc5->func.content_get = _gl_content_get;
- itc5->func.del = _gl_del;
-
- // Create genlist
- genlist = elm_genlist_add(ad->nf);
- evas_object_smart_callback_add(genlist, "loaded", _loaded, NULL);
-
- // HOMOGENEOUS MODE
- // If item height is same when each style name is same,
- // Use homogeneous mode.
- elm_genlist_homogeneous_set(genlist, EINA_TRUE);
- printf("Homogeneous mode enabled\n");
- // COMPRESS MODE
- // If multiline text (multiline entry or multiline textblock or sliding mode)
- // is used, use compress mode for compressing width to fit the viewport width.
- // So genlist can calculate item's height correctly.
- elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
- printf("Compress mode enabled\n");
-
- // Append items
- for (index = 0; index < NUM_OF_ITEMS; index++) {
- Elm_Genlist_Item_Class *itc;
- if (index%5 == 0) itc = itc1;
- else if (index%5 == 1) itc = itc2;
- else if (index%5 == 2) itc = itc3;
- else if (index%5 == 3) itc = itc4;
- else itc = itc5;
-
- Item_Data *id = calloc(sizeof(Item_Data), 1);
- id->index = index;
- item = elm_genlist_item_append(
- genlist, // genlist object
- itc, // item class
- id, // data
- NULL,
- ELM_GENLIST_ITEM_NONE,
- _gl_sel,
- NULL
- );
- if (index ==0) elm_object_item_disabled_set(item, EINA_TRUE);
- id->item = item;
- }
-
- // Unref item class
- elm_genlist_item_class_free(itc1);
- elm_genlist_item_class_free(itc2);
- elm_genlist_item_class_free(itc3);
- elm_genlist_item_class_free(itc4);
- elm_genlist_item_class_free(itc5);
-
- elm_naviframe_item_push(ad->nf, "homogeneous", NULL, NULL, genlist, NULL);
-}
-
-static void _view_free_cb(void *data, Evas *e, Evas_Object *gen, void *ei)
-{
- int *index;
- Ecore_Animator *anim;
- Elm_Genlist_Item_Class *itc1,*itc2, *itc3, *itc4, *itc5;
-
- index = evas_object_data_get(gen, "index");
- if (index) free(index);
-
- anim = evas_object_data_get(gen, "anim");
- if (anim) ecore_animator_del(anim);
-
- itc1 = evas_object_data_get(gen, "itc1");
- itc2 = evas_object_data_get(gen, "itc2");
- itc3 = evas_object_data_get(gen, "itc3");
- itc4 = evas_object_data_get(gen, "itc4");
- itc5 = evas_object_data_get(gen, "itc5");
- if (itc1) elm_genlist_item_class_free(itc1);
- if (itc2) elm_genlist_item_class_free(itc2);
- if (itc3) elm_genlist_item_class_free(itc3);
- if (itc4) elm_genlist_item_class_free(itc4);
- if (itc5) elm_genlist_item_class_free(itc5);
-}
-
-static Eina_Bool _item_append_cb(void *data)
-{
- Evas_Object *genlist = data;
- int *index;
- Elm_Object_Item *item = NULL;
- Elm_Genlist_Item_Class *itc = NULL;
-
- index = evas_object_data_get(genlist, "index");
- if (*index >= NUM_OF_ITEMS) {
- evas_object_data_set(genlist, "anim", NULL);
- return ECORE_CALLBACK_CANCEL;
- }
-
- if ((*index)%5 == 0)
- itc = evas_object_data_get(genlist, "itc1");
- else if (((*index)%5) == 1)
- itc = evas_object_data_get(genlist, "itc2");
- else if (((*index)%5) == 2)
- itc = evas_object_data_get(genlist, "itc3");
- else if (((*index)%5) == 3)
- itc = evas_object_data_get(genlist, "itc4");
- else
- itc = evas_object_data_get(genlist, "itc5");
-
- Item_Data *id = calloc(sizeof(Item_Data), 1);
- id->index = *index;
- item = elm_genlist_item_append(genlist, itc, id, NULL,
- ELM_GENLIST_ITEM_NONE, _gl_sel, NULL);
- id->item = item;
- if (*index == 0) elm_object_item_disabled_set(item, EINA_TRUE);
- (*index)++;
-
- return ECORE_CALLBACK_RENEW;
-}
-
-// FIXME: When item is added by animator, scroller is freezed.
-void genlist_animator_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (!data) return;
- struct appdata *ad = data;
- int *index;
- Evas_Object *genlist;
-
- // Create item class
- Elm_Genlist_Item_Class *itc1,*itc2, *itc3, *itc4, *itc5;
- itc1 = elm_genlist_item_class_new();
- itc2 = elm_genlist_item_class_new();
- itc3 = elm_genlist_item_class_new();
- itc4 = elm_genlist_item_class_new();
- itc5 = elm_genlist_item_class_new();
-
- // Set genlist item class
- itc1->item_style = "1text.1icon";
- itc1->func.text_get = _gl_text_get;
- itc1->func.content_get = _gl_content_get;
- itc1->func.del = _gl_del;
-
- itc2->item_style = "3text.1icon";
- itc2->func.text_get = _gl_text_get;
- itc2->func.content_get = _gl_content_get;
- itc2->func.del = _gl_del;
-
- itc3->item_style = "email.list";
- itc3->func.text_get = _gl_email_text_get;
- itc3->func.content_get = _gl_email_icon_get;
- itc3->func.del = _gl_del;
-
- itc4->item_style = "dialogue/1text.2icon";
- itc4->func.text_get = _gl_text_get;
- itc4->func.content_get = _gl_content_get;
- itc4->func.del = _gl_del;
-
- itc5->item_style = "dialogue/3text.2icon";
- itc5->func.text_get = _gl_text_get;
- itc5->func.content_get = _gl_content_get;
- itc5->func.del = _gl_del;
-
- // Create genlist
- genlist = elm_genlist_add(ad->nf);
- evas_object_smart_callback_add(genlist, "loaded", _loaded, NULL);
-
- // HOMOGENEOUS MODE
- // If item height is same when each style name is same,
- // Use homogeneous mode.
- printf("Homogeneous mode enabled\n");
- elm_genlist_homogeneous_set(genlist, EINA_TRUE);
-
- // COMPRESS MODE
- // If multiline text (multiline entry or multiline textblock or sliding mode)
- // is used, use compress mode for compressing width to fit the viewport width.
- // So genlist can calculate item's height correctly.
- printf("Compress mode enabled\n");
- elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
-
- evas_object_data_set(genlist, "itc1", itc1);
- evas_object_data_set(genlist, "itc2", itc2);
- evas_object_data_set(genlist, "itc3", itc3);
- evas_object_data_set(genlist, "itc4", itc4);
- evas_object_data_set(genlist, "itc5", itc5);
-
- index = calloc(1, sizeof(int));
- *index = 0;
- evas_object_data_set(genlist, "index", index);
-
- // Append items using Ecore_Animator (recommend to use Ecore_Animator in multiline items)
- Ecore_Animator *anim = ecore_animator_add(_item_append_cb, genlist);
- evas_object_data_set(genlist, "anim", anim);
-
- evas_object_event_callback_add(genlist, EVAS_CALLBACK_FREE, _view_free_cb, NULL);
- elm_naviframe_item_push(ad->nf, "animator append", NULL, NULL, genlist, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "genlist.h"
-
-/*********************************************************
- Genlist Radio
- ********************************************************/
-#define NUM_OF_ITEMS 2000
-static int state_index = 0; //selected radio index
-static char **genlist_demo_names = NULL;
-
-typedef struct _Item_Data
-{
- int index;
- Evas_Object *genlist;
- Elm_Object_Item *item;
-} Item_Data;
-
-static void _gl_del(void *data, Evas_Object *obj)
-{
- // FIXME: Unrealized callback can be called after this.
- // Accessing Item_Data can be dangerous on unrealized callback.
- Item_Data *id = data;
- if (id) free(id);
-}
-
-static char *
-_gl_text_get(void *data, Evas_Object *obj, const char *part)
-{
- Item_Data *id = data;
- int index = (id->index) % NUM_OF_GENLIST_DEMO_NAMES;
-
- if (!strcmp(part, "elm.text")) return strdup(genlist_demo_names[index]);
- return NULL;
-}
-
-static void
-_radio_cb(void *data, Evas_Object *obj, void *ei)
-{
- Item_Data *id = data;
- Elm_Object_Item *it = elm_genlist_nth_item_get(id->genlist, id->index);
- elm_genlist_item_selected_set(it, EINA_TRUE);
-}
-
-static Evas_Object *
-_gl_content_get(void *data, Evas_Object *obj, const char *part)
-{
- Item_Data *id = data;
- int index = id->index;
- Evas_Object *radio;
- Evas_Object *radio_main = evas_object_data_get(obj, "radio_main");
-
- if (!strcmp(part, "elm.icon")) {
- radio = elm_radio_add(obj);
- elm_object_style_set(radio, "default/genlist");
- elm_radio_state_value_set(radio, index);
- elm_radio_group_add(radio, radio_main);
- if (index == state_index)
- elm_radio_value_set(radio, state_index);
- evas_object_size_hint_weight_set(radio, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(radio, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_smart_callback_add(radio, "changed", _radio_cb, id);
-
- // If no divider, unregister access object
- elm_access_object_unregister(radio);
- return radio;
- }
-
- return NULL;
-}
-
-static Eina_Bool
-_gl_state_get(void *data, Evas_Object *obj, const char *part)
-{
- return EINA_FALSE;
-}
-
-static void
-_gl_sel(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *item = (Elm_Object_Item *) event_info;
-
- if (item) {
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("[Genlist] Selected Text : %s\n",
- genlist_demo_names[index % NUM_OF_GENLIST_DEMO_NAMES]);
- Evas_Object *radio = elm_object_item_part_content_get(item, "elm.icon");
- state_index = index;
- elm_radio_value_set(radio, state_index);
- }
-}
-
-static void _view_free_cb(void *data, Evas *e, Evas_Object *obj, void *ei)
-{
- Evas_Object *radio_main = evas_object_data_get(obj, "radio_main");
- if (radio_main) evas_object_del(radio_main);
-}
-
-static Evas_Object *
-_create_genlist(Evas_Object *parent)
-{
- int index;
- Evas_Object *genlist, *radio_main;
-
- genlist_demo_names = genlist_get_demo_names();
-
- Elm_Genlist_Item_Class *itc = elm_genlist_item_class_new();
- // Create genlist
- genlist = elm_genlist_add(parent);
-
- // HOMOGENEOUS MODE
- // If item height is same when each style name is same,
- // Use homogeneous mode.
- printf("Homogeneous mode enabled\n");
- elm_genlist_homogeneous_set(genlist, EINA_TRUE);
-
- radio_main = elm_radio_add(genlist);
- elm_radio_state_value_set(radio_main, 0);
- elm_radio_value_set(radio_main, 0);
- evas_object_data_set(genlist, "radio_main", radio_main);
-
- // Set genlist item class
- itc->item_style = "1text.1icon.3";
- itc->func.text_get = _gl_text_get;
- itc->func.content_get = _gl_content_get;
- itc->func.state_get = _gl_state_get;
- itc->func.del = _gl_del;
-
- // Append items
- for (index = 0; index < NUM_OF_ITEMS; index++) {
- Item_Data *id = calloc(sizeof(Item_Data), 1);
- id->index = index;
- Elm_Object_Item *item =
- elm_genlist_item_append(genlist, // genlist object
- itc, // item class
- id, // data
- NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, NULL);
- id->item = item;
- id->genlist = genlist;
- }
- elm_genlist_item_class_free(itc);
-
- return genlist;
-}
-
-void
-genlist_radio_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad = (struct appdata *) data;
- Evas_Object *genlist;
-
- genlist = _create_genlist(ad->nf);
-
- elm_naviframe_item_push(ad->nf, _("Genlist with Radio"), NULL, NULL, genlist, NULL);
- evas_object_event_callback_add(genlist, EVAS_CALLBACK_FREE, _view_free_cb, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_util.h"
-#include "elmdemo_test.h"
-#include "genlist.h"
-
-#define NUM_OF_ITEMS 2000
-static char **genlist_demo_names = NULL;
-
-static void
-_button_jumpto_top_cb(void *data, Evas_Object * obj, void *event_info)
-{
- Evas_Object *genlist;
- Elm_Object_Item *it;
-
- if(!data)
- return;
- genlist = (Evas_Object *) data;
- it = elm_genlist_first_item_get(genlist);
- elm_genlist_item_bring_in(it, ELM_GENLIST_ITEM_SCROLLTO_TOP);
-}
-
-static char *
-_gl_text_get(void* data, Evas_Object *obj, const char* part)
-{
- int index = ((int) data) % NUM_OF_GENLIST_DEMO_NAMES;
-
- if (!strcmp(part, "elm.text")) {
- if (index)
- return strdup(genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
- }
- return NULL;
-}
-
-static Evas_Object *
-_create_genlist(Evas_Object *parent)
-{
- int index;
- Evas_Object *genlist, *button;
-
- genlist_demo_names = genlist_get_demo_names();
-
- if (!parent)
- return NULL;
-
- Elm_Genlist_Item_Class *itc = elm_genlist_item_class_new();
-
- genlist = elm_genlist_add(parent);
- // HOMOGENEOUS MODE
- // If item height is same when each style name is same,
- // Use homogeneous mode.
- printf("Homogeneous mode enabled\n");
- elm_genlist_homogeneous_set(genlist, EINA_TRUE);
-
- evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- itc->item_style = "1text";
- itc->func.text_get = _gl_text_get;
-
- for (index = 0; index < NUM_OF_ITEMS; index++)
- {
- elm_genlist_item_append(
- genlist,
- itc,
- (void *) index,
- NULL,
- ELM_GENLIST_ITEM_NONE,
- NULL,
- NULL);
- }
- elm_genlist_item_class_free(itc);
-
- button = elm_button_add(genlist);
- evas_object_smart_callback_add(button, "clicked", _button_jumpto_top_cb, (void *) genlist);
- elm_object_part_content_set(genlist, "elm.swallow.jump_to_top", button);
- elm_object_style_set(button, "jumpto_top");
- evas_object_show(button);
-
- return genlist;
-}
-
-void
-genlist_scroll_jump_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Evas_Object *genlist;
-
- if (!data)
- return;
- ad = (struct appdata *) data;
-
- genlist = _create_genlist(ad->nf);
- evas_object_show(genlist);
-
- elm_naviframe_item_push(ad->nf, _(("Genlist Scroll Jump")), NULL, NULL, genlist, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_util.h"
-#include "elmdemo_test.h"
-#include "genlist.h"
-
-char *groups[] = {
- "In Dialogue Group",
- "Not in Dialogue Group",
- "End"
-};
-
-#define MAX_SEPARATORS 10
-#define MAX_GROUPS 2
-
-static char *help_dialogue_message[] = {
- "Help message in dialogue group<br>1. Activate Wi-Fi on your device<br>"
- "2. Find name in your network list.<br>"
- "3. Connect name by entering password in WPA field.",
- "Help message not in dialogue group<br>1. Activate Wi-Fi on your device<br>"
- "2. Find name in your network list.<br>"
- "3. Connect name by entering password in WPA field."
-};
-
-static char *_gl_text_get(void *data, Evas_Object *obj, const char *part)
-{
- if (!strcmp(part, "elm.text")) {
- return strdup(help_dialogue_message[(int)data]);
- }
- return NULL;
-}
-
-static char *_gl_group_text_get(void *data, Evas_Object *obj, const char *part)
-{
- if (!strcmp(part, "elm.text")) {
- return strdup(groups[(int)data]);
- }
- return NULL;
-}
-
-static Evas_Object *_create_genlist(struct appdata *ad)
-{
- Evas_Object *genlist;
- Elm_Object_Item *git;
-
- if (ad == NULL) return NULL;
-
- Elm_Genlist_Item_Class *itc, *itc_group, *itc_sep, *itc_sep2;
- itc = elm_genlist_item_class_new();
- itc_group = elm_genlist_item_class_new();
- itc_sep = elm_genlist_item_class_new();
- itc_sep2 = elm_genlist_item_class_new();
-
- itc_group->item_style = "dialogue/grouptitle";
- itc_group->func.text_get = _gl_group_text_get;
-
- itc->item_style = "multiline/1text";
- itc->func.text_get = _gl_text_get;
-
- itc_sep->item_style = "dialogue/separator";
-
- itc_sep2->item_style = "dialogue/separator.2";
-
- genlist = elm_genlist_add(ad->nf);
- elm_genlist_realization_mode_set(genlist, EINA_TRUE);
- // COMPRESS MODE
- // If multiline text (multiline entry or multiline textblock or sliding mode)
- // is used, use compress mode for compressing width to fit the viewport width.
- // So genlist can calculate item's height correctly.
- elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
- printf("Compress mode enabled\n");
-
- // In dialogue group ***********************************
- git = elm_genlist_item_append(genlist, itc_group, (void *)0, NULL,
- ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_genlist_item_select_mode_set(git, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-
- // Top separator in dialogue group
- git = elm_genlist_item_append(genlist, itc_sep2, (void *)0, NULL,
- ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_genlist_item_select_mode_set(git, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-
- git = elm_genlist_item_append(genlist, itc, (void *)0, NULL,
- ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_genlist_item_select_mode_set(git, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-
- // Bottom separator in dialogue group
- git = elm_genlist_item_append(genlist, itc_sep, (void *)0, NULL,
- ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_genlist_item_select_mode_set(git, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-
- // Not in dialogue group *************************
- git = elm_genlist_item_append(genlist, itc_group, (void *)1, NULL,
- ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_genlist_item_select_mode_set(git, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-
- // Top separator in dialogue group
- git = elm_genlist_item_append(genlist, itc_sep, (void *)1, NULL,
- ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_genlist_item_select_mode_set(git, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-
- git = elm_genlist_item_append(genlist, itc, (void *)1, NULL,
- ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_genlist_item_select_mode_set(git, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-
- // Bottom separator not in dialogue group
- git = elm_genlist_item_append(genlist, itc_sep, (void *)1, NULL,
- ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_genlist_item_select_mode_set(git, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-
- git = elm_genlist_item_append(genlist, itc_group, (void *)2, NULL,
- ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_genlist_item_select_mode_set(git, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-
- elm_genlist_item_class_free(itc);
- elm_genlist_item_class_free(itc_group);
- elm_genlist_item_class_free(itc_sep);
- elm_genlist_item_class_free(itc_sep2);
-
- return genlist;
-}
-
-void genlist_separator_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Evas_Object *genlist;
-
- ad = (struct appdata *) data;
- if (ad == NULL) return;
-
- genlist = _create_genlist(ad);
- elm_naviframe_item_push(ad->nf, _("Genlist Separator"), NULL, NULL, genlist, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "genlist.h"
-
-/*********************************************************
- Genlist Sweep
- ********************************************************/
-
-#define NUM_OF_ITEMS 2000
-#define NUM_OF_NAMES 4
-#define SCRL_TIME 0.1
-
-extern char *genlist_demo_names[];
-Ecore_Timer *scrl_timer;
-
-typedef struct _Item_Data
-{
- Eina_Bool disabled;
- Elm_Object_Item *item;
-} Item_Data;
-
-static void _view_free_cb(void *data, Evas *e, Evas_Object *gen, void *ei)
-{
- elm_theme_free(data);
-}
-
-static void _gl_del(void *data, Evas_Object *obj)
-{
- // FIXME: Unrealized callback can be called after this.
- // Accessing Item_Data can be dangerous on unrealized callback.
- Item_Data *id = data;
- if (id) free(id);
-}
-
-static char *_gl_text_get(void *data, Evas_Object *obj, const char *part)
-{
- if (!strcmp(part, "elm.text")) {
- char buf[1024];
- int index = (int)data;
- snprintf(buf, 1023, "%s:%s", part, genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
- return strdup(buf);
- } else if (!strcmp(part, "elm.text.swipe.left")) {
- return strdup(S_("IDS_COM_BODY_MESSAGE")); // multi-languate support
- } else if (!strcmp(part, "elm.text.swipe.right")) {
- return strdup(S_("IDS_COM_BODY_CALL")); // multi-languate support
- }
- return NULL;
-}
-
-static Evas_Object *_gl_content_get(void *data, Evas_Object *obj, const char *part)
-{
- int index = (int)data;
- Evas_Object *check;
-
- if (!strcmp(part, "elm.icon")) {
- check = elm_check_add(obj);
- //set the State pointer to keep the current UI state of Checkbox.
- // Repeat events to below object (genlist)
- // So that if check is clicked, genlist can be clicked.
- evas_object_repeat_events_set(check, EINA_FALSE);
- evas_object_propagate_events_set(check, EINA_FALSE);
- evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(check, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- // If no divider, unregister access object
- elm_access_object_unregister(check);
- return check;
- }
- return NULL;
-}
-
-static void _gl_sel(void *data, Evas_Object *obj, void *event_info)
-{
- if (event_info)
- elm_genlist_item_selected_set(event_info, EINA_FALSE);
-
- // If sweep is started, ignore select callback
- if (elm_object_scroll_freeze_get(obj)) return;
- printf("selected\n");
-}
-
-static void _start(void *data, Elm_Object_Item *it, const char *em, const char *src)
-{
- if (scrl_timer) {
- printf("Swipe start but reverted\n");
- elm_object_item_signal_emit(it, "elm,swipe,revert", "");
- return;
- }
- Evas_Object *obj = elm_object_item_widget_get(it);
- // freeze scroller when swipe is started
- elm_object_scroll_freeze_push(data);
- printf("Swipe start: %d\n", elm_object_scroll_freeze_get(obj));
-}
-
-static void _stop_left(void *data, Elm_Object_Item *it, const char *em, const char *src)
-{
- Evas_Object *obj = elm_object_item_widget_get(it);
- // unfreeze scroller when swipe is stopped
- elm_object_scroll_freeze_pop(data);
- printf("Swipe stop left: %d\n", elm_object_scroll_freeze_get(obj));
-}
-
-static void _stop_right(void *data, Elm_Object_Item *it, const char *em, const char *src)
-{
- Evas_Object *obj = elm_object_item_widget_get(it);
- // unfreeze scroller when swipe is stopped
- elm_object_scroll_freeze_pop(data);
- printf("Swipe stop right: %d\n", elm_object_scroll_freeze_get(obj));
-}
-
-static void _stop(void *data, Elm_Object_Item *it, const char *em, const char *src)
-{
- Evas_Object *obj = elm_object_item_widget_get(it);
- // unfreeze scroller when swipe is stopped
- elm_object_scroll_freeze_pop(data);
- printf("Swipe stop: %d\n", elm_object_scroll_freeze_get(obj));
-}
-
-static void _unrealized(void *data, Evas_Object *obj, void *ei)
-{
- // Remove callbacks before unrealization
- elm_object_item_signal_callback_del(ei, "elm,swipe,start", "", _start);
- elm_object_item_signal_callback_del(ei, "elm,swipe,stop,left", "", _stop_left);
- elm_object_item_signal_callback_del(ei, "elm,swipe,stop,right", "", _stop_right);
- elm_object_item_signal_callback_del(ei, "elm,swipe,stop", "", _stop);
- // Do not access Item Data because unrealized callback can be called
- // after _gl_del, Item_Data is freed.
-}
-
-static void _realized(void *data, Evas_Object *obj, void *ei)
-{
- Item_Data *id = elm_object_item_data_get(ei);
- // Add callbacks for sweep start, stop
- elm_object_item_signal_callback_add(ei, "elm,swipe,start", "", _start, obj);
- elm_object_item_signal_callback_add(ei, "elm,swipe,stop,left", "", _stop_left, obj);
- elm_object_item_signal_callback_add(ei, "elm,swipe,stop,right", "", _stop_right, obj);
- elm_object_item_signal_callback_add(ei, "elm,swipe,stop", "", _stop, obj);
-
- if (id->disabled) {
- printf("Realized: Disable swipe\n");
- elm_object_item_signal_emit(ei, "elm,swipe,disabled", "");
- }
-}
-
-static void _swipe_revert(void *data, Evas_Object *obj, void *ei)
-{
- printf("Revert sweep\n");
- elm_object_item_signal_emit(ei, "elm,swipe,revert", "");
-}
-
-static void _swipe_disable(void *data, Evas_Object *obj, void *ei)
-{
- Item_Data *id = elm_object_item_data_get(ei);
- if (id->disabled) {
- printf("Enable swipe\n");
- elm_object_item_signal_emit(ei, "elm,swipe,enabled", "");
- id->disabled = EINA_FALSE;
- } else {
- printf("Disable swipe\n");
- elm_object_item_signal_emit(ei, "elm,swipe,disabled", "");
- id->disabled = EINA_TRUE;
- }
-}
-
-static Eina_Bool
-_scrl_timer(void *data)
-{
- printf("scrolling end\n");
- scrl_timer = NULL;
- return EINA_FALSE;
-}
-
-static void
-_scroll(void *data, Evas_Object *obj, void *ei)
-{
- printf("scrolling\n");
- if (scrl_timer) ecore_timer_del(scrl_timer);
- scrl_timer = ecore_timer_add(SCRL_TIME, _scrl_timer, NULL);
-}
-
-void genlist_swipe_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (!data) return;
- struct appdata *ad = (struct appdata *) data;
- Evas_Object *genlist;
- int index;
-
- // Custom theme load
- Elm_Theme *th = elm_theme_new();
- elm_theme_ref_set(th, NULL);
- elm_theme_extension_add(th, ELM_DEMO_EDJ);
-
- Elm_Genlist_Item_Class *itc;
- itc = elm_genlist_item_class_new();
- itc->item_style = "1text/swipe";
- itc->func.text_get = _gl_text_get;
- itc->func.content_get = _gl_content_get;
- itc->func.del = _gl_del;
-
- // Create genlist
- genlist = elm_genlist_add(ad->nf);
- elm_object_theme_set(genlist, th);
- // HOMOGENEOUS MODE
- // If item height is same when each style name is same,
- // Use homogeneous mode.
- printf("Homogeneous mode enabled\n");
- elm_genlist_homogeneous_set(genlist, EINA_TRUE);
-
- // Append genlist items
- for (index = 0; index < NUM_OF_ITEMS; index++) {
- Item_Data *id = calloc(sizeof(Item_Data), 1);
- Elm_Object_Item *it = elm_genlist_item_append(genlist, itc, id, NULL,
- ELM_GENLIST_ITEM_NONE, _gl_sel, NULL);
- id->item = it;
- if (index == 0)
- elm_object_item_disabled_set(it, EINA_TRUE);
- }
- elm_genlist_item_class_free(itc);
-
- evas_object_smart_callback_add(genlist, "realized", _realized, NULL);
- evas_object_smart_callback_add(genlist, "unrealized", _unrealized, NULL);
- evas_object_smart_callback_add(genlist, "scroll", _scroll, NULL);
-
- // If you want to revert swipe for specific item.
- evas_object_smart_callback_add(genlist, "longpressed", _swipe_revert, NULL);
- // If you want to disable swipe for specific item.
- evas_object_smart_callback_add(genlist, "clicked,double", _swipe_disable, NULL);
-
- evas_object_event_callback_add(genlist, EVAS_CALLBACK_FREE, _view_free_cb, th);
-
- // Push genlist to naviframe
- elm_naviframe_item_push(ad->nf, _("Swipe"), NULL, NULL, genlist, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "genlist.h"
-
-/*********************************************************
- Genlist Theme
- ********************************************************/
-
-#define NUM_OF_ITEMS 2000
-static char **genlist_demo_names = NULL;
-
-static char *
-_gl_text_get(void *data, Evas_Object *obj, const char *part)
-{
- int index = ((int) data) % NUM_OF_GENLIST_DEMO_NAMES;
-
- if (!strcmp(part, "elm.text")) return strdup(genlist_demo_names[index]);
- return NULL;
-}
-
-static Evas_Object *
-_gl_content_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon = elm_image_add(obj);
- elm_image_file_set(icon, ICON_DIR"/genlist/00_brightness_right.png", NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- return icon;
-}
-
-static void
-_gl_sel(void *data, Evas_Object *obj, void *event_info)
-{
- int index;
- Elm_Object_Item *item = (Elm_Object_Item *) event_info;
-
- if (item) {
- index = (int) elm_object_item_data_get(item);
- printf("[Genlist] Selected Text : %s\n",
- genlist_demo_names[index % NUM_OF_GENLIST_DEMO_NAMES]);
- }
-}
-
-static Evas_Object *
-_create_genlist(void *data)
-{
- struct appdata *ad = data;
- int index;
- Evas_Object *genlist;
-
- genlist_demo_names = genlist_get_demo_names();
-
-
- Elm_Genlist_Item_Class *itc;
- itc = elm_genlist_item_class_new();
- // Create genlist
- genlist = elm_genlist_add(ad->nf);
-
- // HOMOGENEOUS MODE
- // If item height is same when each style name is same,
- // Use homogeneous mode.
- printf("Homogeneous mode enabled\n");
- elm_genlist_homogeneous_set(genlist, EINA_TRUE);
-
- // Set genlist item class
- itc->item_style = "1text.1icon.7";
- itc->func.text_get = _gl_text_get;
- itc->func.content_get = _gl_content_get;
-
- // Append items
- for (index = 1; index < NUM_OF_ITEMS; index++) {
- elm_genlist_item_append(genlist, // genlist object
- itc, // item class
- (void *) index, // data
- NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, NULL);
- }
- elm_genlist_item_class_free(itc);
-
- return genlist;
-}
-
-void
-genlist_theme_default_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad = data;
- Evas_Object *genlist;
-
- genlist = _create_genlist(ad);
-
- elm_naviframe_item_push(ad->nf, _("Theme default"), NULL, NULL, genlist, NULL);
-}
-
-
-void
-genlist_theme_no_effect_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad = data;
- Evas_Object *genlist;
-
- genlist = _create_genlist(ad);
- elm_object_style_set(genlist, "no_effect");
-
- elm_naviframe_item_push(ad->nf, _("Theme no_effect"), NULL, NULL, genlist, NULL);
-}
-
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "genlist.h"
-
-/*********************************************************
- Customize Genlist Styles (variable height)
- ********************************************************/
-
-#define NUM_OF_ITEMS 2000
-
-static char *label[] = {
- "Lover Tonight", "Lucid Dream", "Listen To The Music",
- "Sky In My Heart", "French Love",
- NULL
-};
-
-static char *_gl_text_get(void *data, Evas_Object *obj, const char *part);
-static Evas_Object *_gl_content_get(void *data, Evas_Object *obj, const char *part);
-static Eina_Bool _gl_state_get(void *data, Evas_Object *obj, const char *part);
-static void _gl_del(void *data, Evas_Object *obj);
-static void _gl_sel(void *data, Evas_Object *obj, void *event_info);
-static Evas_Object * _create_genlist(Evas_Object *parent, Elm_Theme *th);
-
-static char *_gl_text_get(void *data, Evas_Object *obj, const char *part)
-{
- if (strcmp(part, "elm.text")) return NULL;
-
- char buf[PATH_MAX];
- int index = ((int)data) % 10;
- int size = (index * 25) * elm_config_scale_get() + 10;
-
- if ((index == 0) || (index == 1) || (index == 2) || (index == 3) ||
- (index == 4)) {
- sprintf(buf, "<font_size=%d>%s</font_size>", size,
- label[index % (sizeof(label)/sizeof(char *))]);
- return strdup(buf);
- }
- return NULL;
-}
-
-static Evas_Object *_gl_content_get(void *data, Evas_Object *obj, const char *part)
-{
- if (strcmp(part, "elm.icon")) return NULL;
-
- Evas_Object *icon;
- int index = ((int)data) % 10;
- int size = (index * 25) * elm_config_scale_get();
-
- if ((index == 5) || (index == 6) || (index == 7)) {
- icon = elm_image_add(obj);
- elm_image_file_set(icon, ICON_DIR"/genlist/00_brightness_right.png", NULL);
- } else if ((index == 8) || (index == 9) || (index == 10)) {
- icon = elm_button_add(obj);
- elm_object_style_set(icon, "style1");
- elm_object_text_set(icon, "Button");
- evas_object_propagate_events_set(icon, EINA_FALSE);
- } else return NULL;
-
- evas_object_size_hint_min_set(icon, 0, size);
- return icon;
-}
-
-static Eina_Bool _gl_state_get(void *data, Evas_Object *obj, const char *part)
-{
- return EINA_FALSE;
-}
-
-static void _gl_del(void *data, Evas_Object *obj)
-{
- return;
-}
-
-static void _gl_sel(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- int index = (int)data;
- index = index % (sizeof(label)/sizeof(char *));
-
- elm_genlist_item_selected_set(item, EINA_FALSE);
-}
-
-static void
-_view_free_cb(void *data, Evas *e, Evas_Object *obj, void *ei)
-{
- Elm_Theme *th = data;
- // Free customized theme
- elm_theme_free(th);
-}
-
-static Evas_Object * _create_genlist(Evas_Object *parent, Elm_Theme *th)
-{
- int index = 0;
- Evas_Object *genlist;
-
- // Create a genlist
- genlist = elm_genlist_add(parent);
- // Apply created theme to genlist
- elm_object_theme_set(genlist, th);
-
- // Set genlist item class
- Elm_Genlist_Item_Class *itc = elm_genlist_item_class_new();
- itc->item_style = "variable_height/default";
- itc->func.text_get = _gl_text_get;
- itc->func.content_get = _gl_content_get;
- itc->func.state_get = _gl_state_get;
- itc->func.del = _gl_del;
-
- // Append item to the end of genlist
- for (index = 0; index < NUM_OF_ITEMS; index++) {
- Elm_Object_Item *it = elm_genlist_item_append(genlist,
- itc,
- (void *)index,
- NULL,
- ELM_GENLIST_ITEM_NONE,
- _gl_sel,
- (void *)index
- );
- elm_genlist_item_select_mode_set(it, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
- }
- elm_genlist_item_class_free(itc);
-
- return genlist;
-}
-
-void genlist_variable_height_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *genlist;
- struct appdata *ad = (struct appdata *)data;
-
- if (data == NULL) return;
-
- // Create new theme
- Elm_Theme *th = elm_theme_new();
- // Add default (Tizen) theme into new theme user created.
- elm_theme_ref_set(th, NULL);
- // Add customized theme (user created) into created new theme.
- elm_theme_extension_add(th, ELM_DEMO_EDJ);
-
- // Create a genlist
- genlist = _create_genlist(ad->nf, th);
-
- // Push genlist to the top of naviframe stack
- elm_naviframe_item_push(ad->nf, _("Variable Height") , NULL, NULL, genlist, NULL);
- evas_object_event_callback_add(genlist, EVAS_CALLBACK_FREE, _view_free_cb, th);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_util.h"
-#include "elmdemo_test.h"
-#include "genlist.h"
-
-/*********************************************************
- Genlist Bubble
- ********************************************************/
-
-#define NUM_OF_ITEMS 10
-#define NUM_OF_TIMES 10
-#define STYLE_COUNTER 6
-//#define _ITEM_PROVIDER
-
-static char *dates[] = {
- "2011.03.03", NULL, NULL, NULL, NULL, NULL,
- "2011.03.04", NULL, NULL, NULL
-};
-
-static char *times[] = {
- "10:00 AM", "10:01 AM", "10:02 AM", "10:03 AM", "10:04 AM", "10:05 AM",
- "3:50 PM", "3:51 PM", "3:52 PM", "3:53 PM"
-};
-
-static char *messages[] = {
- "Good morning!",
- "It's you again. How do you do this?",
- "This is the princess who fell from the sky into my arms.",
- "Yes. We keep meeting like this. You just suddenly show up.",
- "We could make plans to meet.",
- "No, it's nicer this way. I hope we meet again suddenly.",
- "Don't you know that it takes so little to make me happy?",
- "Good morning, Princess!",
- "This is incredible. You owe me an explanation.",
- "No, you're the one who owes me an explanation. You've really got a crush on me. Where shall we go, Princess?"
-};
-
-#ifdef _ITEM_PROVIDER
-static char *items[] = {
- NULL, "attachment1", "attachment2", NULL, NULL, NULL,
- "attachment3", NULL, NULL, NULL
-};
-#else
-static char *urls[] = {
- NULL,
- ICON_DIR"/Albums_Item/Albums_Item1.jpg",
- ICON_DIR"/Albums_Item/Albums_Item2.jpg", NULL, NULL, NULL,
- ICON_DIR"/Albums_Item/Albums_Item3.jpg", NULL, NULL, NULL
-};
-#endif
-
-static Elm_Genlist_Item_Class itc, itc2, itc3, itc4;
-static Ecore_Animator *animator;
-static int gl_index;
-
-static Eina_Bool _pop_cb(void *data, Elm_Object_Item *it)
-{
- if (animator) ecore_animator_del(animator);
- animator = NULL;
- gl_index = 0;
-
- return EINA_TRUE;
-}
-
-static char* _gl_title_text_get(void *data, Evas_Object *obj, const char *part)
-{
- int index = ((int)data) % NUM_OF_TIMES;
-
- if (dates[index]) return strdup(dates[index]);
- return NULL;
-}
-
-#ifdef _ITEM_PROVIDER
-static Evas_Object *_item_provider(void *images, Evas_Object *entry, const char *item)
-{
- Evas_Object *o = NULL;;
-
- if(!strcmp(item, "attachment1")) {
- o = evas_object_image_filled_add(evas_object_evas_get(entry));
- evas_object_image_file_set(o, ICON_DIR"/Albums_Item/Albums_Item1.jpg", NULL);
- } else if(!strcmp(item, "attachment2")) {
- o = evas_object_image_filled_add(evas_object_evas_get(entry));
- evas_object_image_file_set(o, ICON_DIR"/Albums_Item/Albums_Item2.jpg", NULL);
- } else if(!strcmp(item, "attachment3")) {
- o = evas_object_image_filled_add(evas_object_evas_get(entry));
- evas_object_image_file_set(o, ICON_DIR"/Albums_Item/Albums_Item3.jpg", NULL);
- }
- return o;
-}
-#endif
-
-static Eina_Strbuf *_bubble_message_get(int index)
-{
- Eina_Strbuf *buf = eina_strbuf_new();
-
- // message
- if (messages[index]) {
- if ((index < STYLE_COUNTER && index % 2 == 0) || (index >= STYLE_COUNTER && index % 2 == 1))
- eina_strbuf_append(buf, "<color=#4D3A17FF>");
- else
- eina_strbuf_append(buf, "<color=#000000FF>");
- eina_strbuf_append(buf, messages[index]);
- eina_strbuf_append(buf, "</color>");
- }
-
- // time
- if (times[index]) {
- if ((index < STYLE_COUNTER && index % 2 == 0) || (index >= STYLE_COUNTER && index % 2 == 1))
- eina_strbuf_append(buf, " <font_size=16><color=#8F783FFF>");
- else
- eina_strbuf_append(buf, " <font_size=16><color=#797364FF>");
- eina_strbuf_append(buf, times[index]);
- eina_strbuf_append(buf, "</color></font_size>");
- }
-
- // item
-#ifdef _ITEM_PROVIDER
- if (items[index]) {
-#else
- if (urls[index]) {
-#endif
- // padding between text and item
- eina_strbuf_append(buf, "<br><font_size=6><br></font_size>");
- if ((index < STYLE_COUNTER && index % 2 == 0) || (index >= STYLE_COUNTER && index % 2 == 1))
- eina_strbuf_append(buf, "<item size=150x150 vsize=full href=");
- else
- eina_strbuf_append(buf, "<align=1.0><item size=150x150 vsize=full href=");
-#ifdef _ITEM_PROVIDER
- eina_strbuf_append(buf, items[index]);
-#else
- eina_strbuf_append(buf, "file://");
- eina_strbuf_append(buf, urls[index]);
-#endif
- eina_strbuf_append(buf, "></item></align>");
- // padding between text and item
- eina_strbuf_append(buf, "<br><font_size=6><br></font_size>");
- }
-
- return buf;
-}
-
-static Evas_Object *_gl_content_get(void *data, Evas_Object *obj, const char *part)
-{
- int index = (int)data;
- Evas_Object *entry;
-
- if (!strcmp(part, "elm.icon")) {
- Eina_Strbuf *buf;
-
- // add entry with bubble styles
- entry = elm_entry_add(obj);
- ea_entry_selection_back_event_allow_set(entry, EINA_TRUE);
- if ((index < STYLE_COUNTER && index % 2 == 0) || (index >= STYLE_COUNTER && index % 2 == 1))
- elm_object_style_set(entry, "readmessage");
- else
- elm_object_style_set(entry, "sentmessage");
- elm_entry_input_panel_enabled_set(entry, EINA_FALSE);
- elm_entry_editable_set(entry, EINA_FALSE);
-#ifdef _ITEM_PROVIDER
- // to add an attachment, add item_provider
- if (items[index]) elm_entry_item_provider_append(entry, _item_provider, NULL);
-#endif
-
- buf = _bubble_message_get(index % NUM_OF_TIMES);
- elm_entry_entry_set(entry, eina_strbuf_string_get(buf));
- eina_strbuf_free(buf);
- return entry;
- }
- return NULL;
-}
-
-static Eina_Bool _bubble_item_append_cb(void *data)
-{
- Evas_Object *genlist = data;
- Elm_Object_Item *item = NULL;
- static Elm_Object_Item *git = NULL;
- int item_index = gl_index % NUM_OF_TIMES;
-
- if (gl_index >= NUM_OF_ITEMS) {
- animator = NULL;
- return ECORE_CALLBACK_CANCEL;
- }
-
- // add a date group item and bubble item
- if ((item_index < STYLE_COUNTER && item_index % 2 == 0) || (item_index >= STYLE_COUNTER && item_index % 2 == 1)){
- if (dates[item_index]) {
- git = elm_genlist_item_append(genlist, &itc, (void *) gl_index, NULL, ELM_GENLIST_ITEM_GROUP, NULL, NULL);
- elm_genlist_item_select_mode_set(git, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
- }
- item = elm_genlist_item_append(genlist, &itc2, (void *) gl_index, git, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- } else {
- if (dates[item_index]) {
- git = elm_genlist_item_append(genlist, &itc3, (void *) gl_index, NULL, ELM_GENLIST_ITEM_GROUP, NULL, NULL);
- elm_genlist_item_select_mode_set(git, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
- }
- item = elm_genlist_item_append(genlist, &itc4, (void *) gl_index, git, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- }
- gl_index++;
-
- return ECORE_CALLBACK_RENEW;
-}
-
-void genlist_bubble_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad = (struct appdata *)data;
- Evas_Object *genlist, *button;
- Elm_Object_Item *navi_it;
-
- // Create genlist
- genlist = elm_genlist_add(ad->nf);
-
- // To use multiline textblock/entry/editfield in genlist, set height_for_width mode
- // then the item's height is calculated while the item's width fits to genlist width.
- elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
-
- // Set item class for bubble readmessage
- itc.item_style = "grouptitle.readmessage";
- itc.func.text_get = _gl_title_text_get;
- itc.func.content_get = NULL;
- itc.func.state_get = NULL;
- itc.func.del = NULL;
-
- itc2.item_style = "readmessage";
- itc2.func.text_get = NULL;
- itc2.func.content_get = _gl_content_get;
- itc2.func.state_get = NULL;
- itc2.func.del = NULL;
-
- // Set item class for bubble sentmessage
- itc3.item_style = "grouptitle.sentmessage";
- itc3.func.text_get = _gl_title_text_get;
- itc3.func.content_get = NULL;
- itc3.func.state_get = NULL;
- itc3.func.del = NULL;
-
- itc4.item_style = "sentmessage";
- itc4.func.text_get = NULL;
- itc4.func.content_get = _gl_content_get;
- itc4.func.state_get = NULL;
- itc4.func.del = NULL;
-
- // Append items using Ecore_Animator (recommend to use Ecore_Animator in multiline items)
- animator = ecore_animator_add(_bubble_item_append_cb, genlist);
-
- navi_it = elm_naviframe_item_push(ad->nf, _("Bubble"), NULL, NULL, genlist, NULL);
- elm_naviframe_item_pop_cb_set(navi_it, _pop_cb, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "genlist.h"
-
-/*********************************************************
- Genlist Externals
- ********************************************************/
-
-#define NUM_OF_ITEMS 40
-static Elm_Genlist_Item_Class itc;
-static char **genlist_demo_names = NULL;
-
-static void _genlist_item_class_set(void);
-static void _genlist_item_append(Evas_Object *genlist);
-
-static char *_gl_text_get(void *data, Evas_Object *obj, const char *part)
-{
- int index = (int) data % NUM_OF_ITEMS;
-
- if (!strcmp(part, "elm.text")) {
- return strdup(genlist_demo_names[index]);
- }
- return NULL;
-}
-
-static Evas_Object *_gl_content_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon = NULL;
-
- if (!strcmp(part, "elm.icon")) {
- icon = elm_image_add(obj);
- elm_image_file_set(icon, ICON_DIR"/genlist/00_brightness_right.png", NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- return icon;
- }
-
- return NULL;
-}
-
-static void _gl_sel(void *data, Evas_Object *obj, void *event_info)
-{
- int index;
- Elm_Object_Item *item = (Elm_Object_Item *)event_info;
-
- if (item != NULL) {
- elm_genlist_item_selected_set(item, EINA_FALSE);
- index = (int)elm_object_item_data_get(item);
- printf("[Genlist] Selected Text : %s\n", genlist_demo_names[index]);
- }
-}
-
-static void _genlist_item_append(Evas_Object *genlist)
-{
- int index;
- Elm_Object_Item *item;
-
- // Set genlist block size.
- // Optimize your application with appropriate genlist block size.
- elm_genlist_block_count_set(genlist, 14);
-
- // Append items
- for (index = 0; index < 4*NUM_OF_ITEMS; index++) {
- item = elm_genlist_item_append(
- genlist, // genlist object
- &itc, // item class
- (void *) index, // data
- NULL,
- ELM_GENLIST_ITEM_NONE,
- _gl_sel,
- NULL
- );
- }
-}
-
-static void _genlist_item_class_set(void)
-{
- // Set genlist item class
- itc.item_style = "1line_icontext";
- itc.func.text_get = _gl_text_get;
- itc.func.content_get = _gl_content_get;
- itc.func.state_get = NULL;
- itc.func.del = NULL;
-}
-
-void genlist_externals_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Evas_Object *layout = NULL, *genlist = NULL;
- ad = (struct appdata *) data;
- if (ad == NULL) return;
-
- genlist_demo_names = genlist_get_demo_names();
-
- // Create a layout which contains genlist object as edje_external.
- ad->layout_main = layout = elm_layout_add(ad->nf);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "elm_demo_tizen/layout/genlist_externals");
-
- // Get genlist object from the layout
- genlist = edje_object_part_external_object_get(_EDJ(ad->layout_main), "genlist");
- _genlist_item_class_set();
- _genlist_item_append(genlist);
-
- elm_naviframe_item_push(ad->nf, _("Genlist Externals"), NULL, NULL, layout, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_util.h"
-#include "elmdemo_test.h"
-#include "genlist.h"
-
-/*********************************************************
- Genlist Group Title
- ********************************************************/
-#define NUM_OF_ITEMS 2000
-static Elm_Genlist_Item_Class itc, itc2;
-//static Elm_Genlist_Item_Class itc3;
-
-#define NUM_OF_GROUPS 5
-static char *group[] = {
- N_("Family"), N_("Friends"), N_("Colleagues"), N_("Relatives"), N_("Classmates")
-};
-#define NUM_OF_NAMES 40
-static char **genlist_demo_names = NULL;
-
-static char *_gl_text_get(void *data, Evas_Object *obj, const char *part)
-{
- int index = ((int)data) % NUM_OF_NAMES;
-
- if (!strcmp(part, "elm.text")) {
- return strdup(genlist_demo_names[index]);
- }
-
- return NULL;
-}
-
-static char* _gl_text_get_title(void *data, Evas_Object *obj,
- const char *part)
-{
- char buf[PATH_MAX];
- int index = ((int) data / 5) % NUM_OF_GROUPS;
-
- if (!strcmp(part, "elm.text")) {
- snprintf(buf, sizeof(buf), "%s", group[index]);
- return strdup(buf);
- }
- return NULL;
-}
-
-/*
-static Evas_Object* _gl_content_get_title(void *data, Evas_Object *obj,
- const char *part)
-{
- int index = ((int) data / 5) % NUM_OF_GROUPS;
-
- if (!strcmp(part, "elm.icon")) {
- Evas_Object *icon = elm_image_add(obj);
- char buf[PATH_MAX];
-
- snprintf(buf, sizeof(buf), "%s/g%d.png", ICON_DIR, index);
-
- elm_image_file_set(icon, buf, NULL);
- return icon;
- }
- return NULL;
-}
-*/
-
-static Eina_Bool _gl_state_get(void *data, Evas_Object *obj, const char *part)
-{
- return EINA_FALSE;
-}
-
-static void _gl_del(void *data, Evas_Object *obj)
-{
- return;
-}
-
-static void _gl_sel(void *data, Evas_Object *obj, void *event_info)
-{
- if (event_info)
- elm_genlist_item_selected_set(event_info, EINA_FALSE);
- return;
-}
-
-static Evas_Object *_create_genlist(struct appdata *ad)
-{
- int index;
- Elm_Object_Item *item;
- Elm_Object_Item *git = NULL;
- Evas_Object *genlist;
-
- genlist_demo_names = genlist_get_demo_names();
-
- // Create genlist
- genlist = elm_genlist_add(ad->nf);
-
- // Set item class for normal items
- itc.item_style = "default";
- itc.func.text_get = _gl_text_get;
- itc.func.content_get = NULL;
- itc.func.state_get = _gl_state_get;
- itc.func.del = _gl_del;
-
- // Set item class for group title item
- itc2.item_style = "grouptitle";
- itc2.func.text_get = _gl_text_get_title;
- itc2.func.content_get = NULL;
- itc2.func.state_get = _gl_state_get;
- itc2.func.del = _gl_del;
-
- // Set item class for group title left item
- /*
- itc3.item_style = "grouptitle.left";
- itc3.func.content_get = _gl_content_get_title;
- */
-
- for (index = 0; index < NUM_OF_ITEMS; index++) {
- if (index % 5 == 0) {
- /*
- if (index < NUM_OF_ITEMS/2)
- git = elm_genlist_item_append(genlist, &itc2, (void *) index, NULL, ELM_GENLIST_ITEM_GROUP, _gl_sel, NULL);
- else
- //git = elm_genlist_item_append(genlist, &itc3, (void *) index, NULL, ELM_GENLIST_ITEM_GROUP, _gl_sel, NULL);
- git = elm_genlist_item_append(genlist, &itc2, (void *) index, NULL, ELM_GENLIST_ITEM_GROUP, _gl_sel, NULL);
- */
- git = elm_genlist_item_append(genlist, &itc2, (void *) index, NULL, ELM_GENLIST_ITEM_GROUP, _gl_sel, NULL);
- elm_genlist_item_select_mode_set(git, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-
- } else {
- item = elm_genlist_item_append(genlist, &itc, (void *) index,
- git, ELM_GENLIST_ITEM_NONE, _gl_sel, NULL);
- }
- }
-
- return genlist;
-}
-
-void genlist_grouptitle_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Evas_Object *genlist;
-
- ad = (struct appdata *) data;
- if (ad == NULL) return;
-
- genlist = _create_genlist(ad);
- elm_naviframe_item_push(ad->nf, _("Group Index"), NULL, NULL, genlist, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "genlist.h"
-
-/*********************************************************
- Customize Genlist Styles (Music Player)
- ********************************************************/
-
-#define NUM_GENLIST_STYLES 6
-typedef enum _Genlist_Style
-{
- GENLIST_STYLE_MUSIC_PROGRESS = 0,
- GENLIST_STYLE_GROUP_TITLE,
- GENLIST_STYLE_SONGS,
- GENLIST_STYLE_ALBUM_LIST,
- GENLIST_STYLE_ARTIST_LIST,
- GENLIST_STYLE_TITLE_ARTIST
-} Genlist_Style;
-
-typedef struct _Music_Info
-{
- char *file;
- char *artist;
- char *title;
- char *time;
- char *track_num;
- char *album_num;
- Genlist_Style genlist_style;
-} Music_Info;
-
-typedef struct _Genlist_Data
-{
- // For progressbar
- Evas_Object *progressbar[2];
- Ecore_Timer *progressbar_timer[2];
- double progressbar_period[2];
-
- Elm_Genlist_Item_Class itc[NUM_GENLIST_STYLES];
-} Genlist_Data;
-static Genlist_Data sd;
-
-static Music_Info info[] = {
- { "NotNULL", "Progress Types", NULL, NULL, NULL, NULL, GENLIST_STYLE_GROUP_TITLE },
- { "NotNULL", "Music Play", "Playing Music", NULL, NULL, NULL, GENLIST_STYLE_MUSIC_PROGRESS },
- { "NotNULL", "Music Play 2", "Playing Music 2", NULL, NULL, NULL, GENLIST_STYLE_MUSIC_PROGRESS },
-
- { "NotNULL", "Music 1", NULL, NULL, NULL, NULL, GENLIST_STYLE_GROUP_TITLE },
- { "AdamGreen_HairyWomenLyrics.jpg", "AdamGreen", "Hairy Women Lyrics", "01:14", "5", "2", GENLIST_STYLE_SONGS },
- { "BoA_Best&USA.jpg", "BoA", "Best&USA", "03:12", "2", "1", GENLIST_STYLE_ALBUM_LIST },
- { "CelineDion_TakingChances.jpg", "Celine Dion", "Taking Chances", "05:32", "10", "4", GENLIST_STYLE_ARTIST_LIST },
- { "JamieCullum_twentysomething.jpg", "Jamie Cullum", "Twenty Something", "03:29", "1", "3", GENLIST_STYLE_TITLE_ARTIST },
-
- { "NotNULL", "Music 2", NULL, NULL, NULL, NULL, GENLIST_STYLE_GROUP_TITLE },
- { "M83_saturdays=youth.jpg", "M83", "Saturdays=Youth", "04:21", "2", "3", GENLIST_STYLE_SONGS },
- { "Narsha.jpg", "Narsha", "Ppirippappa", "03:10", "7", "5", GENLIST_STYLE_ALBUM_LIST },
- { "RoadNumberOne.jpg", "IU", "Road Number One", "01:55", "2", "7", GENLIST_STYLE_ARTIST_LIST },
- { "SS501_rebirth.jpg", "SS501", "Rebirth", "04:12", "4", "1", GENLIST_STYLE_TITLE_ARTIST },
-
- { "NotNULL", "Music 3", NULL, NULL, NULL, NULL, GENLIST_STYLE_GROUP_TITLE },
- { "AdamGreen_HairyWomenLyrics.jpg", "AdamGreen", "Hairy Women Lyrics", "01:14", "5", "3", GENLIST_STYLE_SONGS },
- { "BoA_Best&USA.jpg", "BoA", "Best&USA", "03:12", "2", "5", GENLIST_STYLE_ALBUM_LIST },
- { "CelineDion_TakingChances.jpg", "Celine Dion", "Taking Chances", "05:32", "10", "2", GENLIST_STYLE_ARTIST_LIST },
- { "JamieCullum_twentysomething.jpg", "Jamie Cullum", "Twenty Something", "03:29", "1", "2", GENLIST_STYLE_TITLE_ARTIST },
-
- { "NotNULL", "Music 4", NULL, NULL, NULL, NULL, GENLIST_STYLE_GROUP_TITLE },
- { "M83_saturdays=youth.jpg", "M83", "Saturdays=Youth", "04:21", "2", "1", GENLIST_STYLE_SONGS },
- { "Narsha.jpg", "Narsha", "Ppirippappa", "03:10", "7", "4", GENLIST_STYLE_ALBUM_LIST },
- { "RoadNumberOne.jpg", "IU", "Road Number One", "01:55", "2", "5", GENLIST_STYLE_ARTIST_LIST },
- { "SS501_rebirth.jpg", "SS501", "Rebirth", "04:12", "4", "1", GENLIST_STYLE_TITLE_ARTIST },
- { NULL, NULL, NULL, NULL, NULL, NULL, 0 }
-};
-
-static void _set_genlist_item_class(void);
-static char *_gl_text_get(void *data, Evas_Object *obj, const char *part);
-static Evas_Object *_gl_content_get(void *data, Evas_Object *obj, const char *part);
-static Eina_Bool _gl_state_get(void *data, Evas_Object *obj, const char *part);
-static void _gl_del(void *data, Evas_Object *obj);
-static void _gl_sel(void *data, Evas_Object *obj, void *event_info);
-
-static void _set_genlist_item_class(void)
-{
- int index = 0;
-
- for (index = 0; index < NUM_GENLIST_STYLES; index++) {
- sd.itc[index].func.text_get = _gl_text_get;
- sd.itc[index].func.content_get = _gl_content_get;
- sd.itc[index].func.state_get = _gl_state_get;
- sd.itc[index].func.del = _gl_del;
- }
-
- sd.itc[GENLIST_STYLE_MUSIC_PROGRESS].item_style = "music_player/music_progress";
- sd.itc[GENLIST_STYLE_GROUP_TITLE].item_style = "music_player/group_title";
- sd.itc[GENLIST_STYLE_SONGS].item_style = "music_player/songs";
- sd.itc[GENLIST_STYLE_ALBUM_LIST].item_style = "music_player/album_list";
- sd.itc[GENLIST_STYLE_ARTIST_LIST].item_style = "music_player/artist_list";
- sd.itc[GENLIST_STYLE_TITLE_ARTIST].item_style = "music_player/title_artist";
-}
-
-static Eina_Bool _progressbar_timer_cb(void *data)
-{
- double value = 0.0;
- int prog_index = (int)data;
-
- value = elm_progressbar_value_get(sd.progressbar[prog_index]);
- if (value == 1.0)
- value = 0.0;
- value = value + 0.015;
- elm_progressbar_value_set(sd.progressbar[prog_index], value);
-
- return ECORE_CALLBACK_RENEW;
-}
-
-static char *_gl_text_get(void *data, Evas_Object *obj, const char *part)
-{
- int index = (int)data;
- char buf[PATH_MAX];
-
- if (!strcmp(part, "elm.text.title")) {
- return strdup(info[index].title);
- } else if (!strcmp(part, "elm.text.artist")) {
- return strdup(info[index].artist);
- } else if (!strcmp(part, "elm.text.time")) {
- return strdup(info[index].time);
- } else if (!strcmp(part, "elm.text.track_num")) {
- sprintf(buf, "%s tracks", info[index].track_num);
- return strdup(buf);
- } else if (!strcmp(part, "elm.text.album_num")) {
- sprintf(buf, "%s albums", info[index].album_num);
- return strdup(buf);
- } else if (!strcmp(part, "elm.text.group_title")) {
- return strdup(info[index].artist);
- }
-
- return NULL;
-}
-
-static Evas_Object *_gl_content_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon = elm_image_add(obj);
- char buf[PATH_MAX];
- int index = (int)data;
- int prog_index = index - 1;
-
- if (!strcmp(part, "elm.icon")) {
- sprintf(buf, "%s/music_player/%s", ICON_DIR, info[index].file);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- return icon;
- } else if (!strcmp(part, "elm.swallow.progress")) {
- if (prog_index == 0 || prog_index == 1) {
- if (sd.progressbar_timer[prog_index]) {
- ecore_timer_del(sd.progressbar_timer[prog_index]);
- sd.progressbar_timer[prog_index] = NULL;
- sd.progressbar[prog_index] = NULL;
- }
- sd.progressbar[prog_index] = elm_progressbar_add(obj);
- elm_object_style_set(sd.progressbar[prog_index], "music_player/list_progressive");
- elm_progressbar_horizontal_set(sd.progressbar[prog_index], EINA_TRUE);
- elm_progressbar_value_set(sd.progressbar[prog_index], 0.0);
- elm_progressbar_unit_format_set(sd.progressbar[prog_index], NULL);
- sd.progressbar_timer[prog_index] = ecore_timer_add(sd.progressbar_period[prog_index], _progressbar_timer_cb, (void *)prog_index);
- }
- return sd.progressbar[prog_index];
- }
-
- return NULL;
-}
-
-static Eina_Bool _gl_state_get(void *data, Evas_Object *obj, const char *part)
-{
- return EINA_FALSE;
-}
-
-static void _gl_del(void *data, Evas_Object *obj)
-{
- return;
-}
-
-static void _gl_sel(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *item = (Elm_Object_Item *)event_info;
- int index = 0;
-
- if (item != NULL) {
- elm_genlist_item_selected_set(item, EINA_FALSE);
- index = (int)elm_object_item_data_get(item);
- printf("Selected Text : %s\n", info[index].title);
- }
-}
-
-static Eina_Bool _pop_cb(void *data, Elm_Object_Item *it)
-{
- int i = 0;
- // Deletes a theme extension from list of extensions.
- elm_theme_extension_del(NULL, ELM_DEMO_EDJ);
-
- // Delete Progressbar
- for (i = 0; i < 2; i++) {
- if (sd.progressbar_timer[i]) {
- ecore_timer_del(sd.progressbar_timer[i]);
- sd.progressbar_timer[i] = NULL;
- }
- if (sd.progressbar[i]) {
- evas_object_del(sd.progressbar[i]);
- sd.progressbar[i] = NULL;
- }
- }
- return EINA_TRUE;
-}
-
-static Evas_Object * _create_layout(void *data)
-{
- Evas_Object *layout;
- struct appdata *ad;
-
- ad = (struct appdata *)data;
-
- // Create a layout
- layout = elm_layout_add(ad->nf);
- // Set genlist sample group to layout
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "elm_demo_tizen/style_genlist");
-
- return layout;
-}
-
-static void _unrealized_cb(void *data, Evas_Object *obj, void *event_info)
-{
- int index = (int)elm_object_item_data_get(event_info);
- if ((index == 1) || (index == 2)) {
- if (sd.progressbar_timer[index - 1]) {
- ecore_timer_del(sd.progressbar_timer[index - 1]);
- sd.progressbar_timer[index - 1] = NULL;
- }
- }
-}
-
-static Evas_Object * _create_genlist(Evas_Object *parent)
-{
- int index = 0;
- Evas_Object *genlist;
- Elm_Object_Item *item = NULL;
- Elm_Object_Item *git = NULL;
-
- // Create a genlist
- genlist = elm_genlist_add(parent);
- evas_object_smart_callback_add(genlist, "unrealized", _unrealized_cb, NULL);
-
- // Append item to the end of genlist
- for (index = 0; info[index].file; index++) {
- // Append item to the end of the genlist
- if (info[index].genlist_style == GENLIST_STYLE_GROUP_TITLE) {
- // Add group item
- git = elm_genlist_item_append(
- genlist,
- &(sd.itc[info[index].genlist_style]),
- (void *)index, NULL, ELM_GENLIST_ITEM_GROUP, _gl_sel, NULL
- );
- elm_genlist_item_select_mode_set(git, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
- } else {
- // Add normal item
- item = elm_genlist_item_append(
- genlist,
- &(sd.itc[info[index].genlist_style]),
- (void *)index,
- git,
- ELM_GENLIST_ITEM_NONE,
- _gl_sel,
- NULL
- );
- }
- }
-
- return genlist;
-}
-
-void genlist_music_player_style_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad = (struct appdata *) data;
- Evas_Object *layout, *genlist;
- Elm_Object_Item *navi_it;
- if (ad == NULL) return;
-
- // Init Private Data
- sd.progressbar[0] = NULL;
- sd.progressbar_timer[0] = NULL;
- sd.progressbar_period[0] = 0.1;
- sd.progressbar[1] = NULL;
- sd.progressbar_timer[1] = NULL;
- sd.progressbar_period[1] = 0.05;
-
- // Appends a theme extension to list of extensions.
- elm_theme_extension_add(NULL, ELM_DEMO_EDJ);
-
- // Create a layout
- layout = _create_layout(ad);
-
- // Set genlist item class
- _set_genlist_item_class();
-
- // Create a genlist
- genlist = _create_genlist(layout);
- // Swallow genlist into contents area of layout
- elm_layout_content_set(layout, "contents", genlist);
-
- // Push genlist to the top of naviframe stack
- navi_it = elm_naviframe_item_push(ad->nf, _("Genlist Style") , NULL, NULL, layout, NULL);
- elm_naviframe_item_pop_cb_set(navi_it, _pop_cb, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "genlist.h"
-
-/*********************************************************
- * Genlist Pinch Zoom
- ********************************************************/
-
-static Elm_Genlist_Item_Class itci, itch;
-
-static char *_gli_text_get(void *data, Evas_Object *obj, const char *part)
-{
- char buf[1024];
- int index = (int) data;
-
- if ((index>>4) <= 15) {
- snprintf(buf, sizeof(buf), "List item %d", index+1);
- } else {
- snprintf(buf, sizeof(buf), "List item %d", index+1);
- }
-
- return strdup(buf);
-}
-
-static char *_gli_title_text_get(void *data, Evas_Object *obj, const char *part)
-{
- return strdup((char *)data);
-}
-
-static Evas_Object* _create_layout_inner(Evas_Object* parent)
-{
- Evas_Object* layout_inner;
-
- layout_inner = elm_layout_add(parent);
- elm_layout_file_set(layout_inner, ELM_DEMO_EDJ, "fastscroll");
- evas_object_size_hint_weight_set(layout_inner, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- return layout_inner;
-}
-
-static void _gl_sel(void *data, Evas_Object *obj, void *event_info)
-{
- if (event_info)
- elm_genlist_item_selected_set(event_info, EINA_FALSE);
-}
-
-static Evas_Object* _create_fastscroll_genlist(Evas_Object* parent)
-{
- Elm_Object_Item *item;
- Elm_Object_Item *git=NULL;
- Evas_Object *genlist;
- int index1, index2;
- char buf[32];
-
- // Create genlist
- genlist = elm_genlist_add(parent);
- elm_genlist_scroller_policy_set(genlist, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
-
- elm_genlist_effect_set(genlist, 1);
- elm_genlist_pinch_zoom_set(genlist, 1);
-
- // Set item class
- itci.item_style = "default";
- itci.func.text_get = _gli_text_get;
- itci.func.content_get = NULL;
- itci.func.state_get = NULL;
- itci.func.del = NULL;
-
- itch.item_style = "grouptitle";
- itch.func.text_get = _gli_title_text_get;
-
- index2 = 0;
- for (index1 = 0; index1 < 78; index1++) {
-
- if ((index1 % 3) == 0) {
- snprintf(buf, sizeof(buf), "%c", 'A' + index1 / 3);
-
- git = elm_genlist_item_append(genlist, &itch, strdup(buf), NULL, ELM_GENLIST_ITEM_GROUP, _gl_sel, NULL);
- elm_genlist_item_select_mode_set(git, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
- }
-
- item = elm_genlist_item_append(genlist, &itci, (void *) index1,
- git, ELM_GENLIST_ITEM_NONE,
- _gl_sel, NULL);
- }
-
- return genlist;
-}
-
-void genlist_pinchzoom_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Evas_Object *genlist;
- Evas_Object *layout_inner;
-
- ad = (struct appdata *) data;
- if (ad == NULL) return;
-
- layout_inner = _create_layout_inner(ad->nf);
- genlist = _create_fastscroll_genlist(layout_inner);
- if (genlist == NULL) return;
-
- elm_layout_content_set(layout_inner, "elm.swallow.content.genlist", genlist);
-
- elm_naviframe_item_push(ad->nf, _("Pinch Zoom"), NULL, NULL, layout_inner, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "genlist.h"
-
-/*********************************************************
- Customize Genlist Styles (Variable Width)
- ********************************************************/
-
-static struct appdata *_ad;
-static int label_max_item_num;
-static Elm_Genlist_Item_Class itc;
-
-static int _get_label_max_item_num(void);
-static void _set_genlist_item_class(void);
-static Evas_Object *_gl_content_get(void *data, Evas_Object *obj, const char *part);
-static Eina_Bool _gl_state_get(void *data, Evas_Object *obj, const char *part);
-static void _gl_del(void *data, Evas_Object *obj);
-static void _gl_sel(void *data, Evas_Object *obj, void *event_info);
-static Evas_Object * _create_genlist(Evas_Object *parent);
-
-static int _get_label_max_item_num(void)
-{
- return 10;
-}
-
-static void _set_genlist_item_class(void)
-{
- itc.item_style = "variable_width/default";
- itc.func.text_get = NULL;
- itc.func.content_get = _gl_content_get;
- itc.func.state_get = _gl_state_get;
- itc.func.del = _gl_del;
-}
-
-static Evas_Object *_gl_content_get(void *data, Evas_Object *obj, const char *part)
-{
- int index = (int)data;
- int size = (int) (((index % label_max_item_num) + 1) * 30 * elm_config_scale_get());
- int type = (int) (index / label_max_item_num);
- int width = 0;
-
- if (!strcmp(part, "elm.swallow.icon")) {
- width = size + 100 * elm_config_scale_get();
- if (width > (_ad->root_w - 100 - 10)) {
- width = _ad->root_w - 100 - 10;
- }
- if (type == 0) {
- Evas_Object *label;
- label = elm_label_add(obj);
- elm_object_style_set(label, "genlist_variable_width/label_ellipsis");
- elm_label_wrap_width_set(label, width);
-
- /* Ellipsis downgrades performance. But it is needed for variable width feature */
- elm_label_ellipsis_set(label, EINA_TRUE);
-
- elm_label_label_set(label, "Label changes line automatically if label wrap with is serj");
- return label;
- } else if (type == 1) {
- Evas_Object *button;
- button = elm_button_add(obj);
- elm_object_style_set(button, "style1");
- elm_object_text_set(button, "Button");
- evas_object_size_hint_min_set(button, width, 50 * elm_config_scale_get());
- evas_object_size_hint_max_set(button, width, 50 * elm_config_scale_get());
- evas_object_propagate_events_set(button, EINA_FALSE);
- return button;
- }
- } else if (!strcmp(part, "elm.swallow.icon.small")) {
- Evas_Object *icon;
- icon = elm_image_add(obj);
- elm_image_file_set(icon, ICON_DIR"/genlist/00_brightness_right.png", NULL);
- return icon;
- } else if (!strcmp(part, "elm.swallow.icon.right")) {
- Evas_Object *icon;
- icon = elm_image_add(obj);
- elm_image_file_set(icon, ICON_DIR"/genlist/00_list_photo_default.png", NULL);
- return icon;
- }
-
- return NULL;
-}
-
-static Eina_Bool _gl_state_get(void *data, Evas_Object *obj, const char *part)
-{
- return EINA_FALSE;
-}
-
-static void _gl_del(void *data, Evas_Object *obj)
-{
- return;
-}
-
-static void _gl_sel(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *item = (Elm_Object_Item *)event_info;
- int index = (int) data;
-
- if (item != NULL) {
- elm_genlist_item_selected_set(item, EINA_FALSE);
- if (index < label_max_item_num) {
- fprintf(stderr, "Text Selected\n");
- } else {
- fprintf(stderr, "Icon Selected\n");
- }
- }
-}
-
-static Eina_Bool _pop_cb(void *data, Elm_Object_Item *it)
-{
- // Deletes a theme extension from list of extensions.
- elm_theme_extension_del(NULL, ELM_DEMO_EDJ);
- set_rotate_cb_for_winset(NULL, NULL);
-
- return EINA_TRUE;
-}
-
-static Evas_Object * _create_genlist(Evas_Object *parent)
-{
- int index = 0;
- Evas_Object *genlist;
- Elm_Object_Item *item = NULL;
-
- // Create a genlist
- genlist = elm_genlist_add(parent);
-
- // Set genlist item class
- _set_genlist_item_class();
-
- // Append item to the end of genlist
- for (index = 0; index < label_max_item_num * 2; index++) {
- item = elm_genlist_item_append(
- genlist,
- &itc,
- (void *)index,
- NULL,
- ELM_GENLIST_ITEM_NONE,
- _gl_sel,
- (void *)index
- );
- }
-
- return genlist;
-}
-
-static int _rotate_cb(enum appcore_rm rotmode, void *data)
-{
- Evas_Object *genlist = NULL;
- Eina_List *realized_list, *l;
- Elm_Object_Item *it;
- if (!data) return -1;
-
- genlist = (Evas_Object *)data;
- realized_list = elm_genlist_realized_items_get(genlist);
- EINA_LIST_FOREACH(realized_list, l, it)
- {
- elm_genlist_item_update(it);
- }
-
- return 0;
-}
-
-void genlist_variable_width_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *genlist;
- struct appdata *ad = (struct appdata *)data;
- Elm_Object_Item *navi_it;
-
- if (data == NULL) return;
-
- _ad = ad;
-
- label_max_item_num = _get_label_max_item_num();
-
- // Appends a theme extension to list of extensions.
- elm_theme_extension_add(NULL, ELM_DEMO_EDJ);
-
- // Create a genlist
- genlist = _create_genlist(ad->nf);
-
- // Push genlist to the top of naviframe stack
- navi_it = elm_naviframe_item_push(ad->nf, _("Variable Width") , NULL, NULL, genlist, NULL);
- elm_naviframe_item_pop_cb_set(navi_it, _pop_cb, NULL);
-
- // Redraw genlist when rotated
- set_rotate_cb_for_winset(_rotate_cb, genlist);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "genlist.h"
-
-/* Clear up all genlist items explicitly */
-static void genlist_clear(Evas_Object *genlist)
-{
- Elm_Object_Item *it = NULL;
- if (!genlist) return;
-
- while ((it = elm_genlist_first_item_get(genlist))) {
- elm_object_item_del(it);
- }
-}
-
-/* Update realized items only */
-static void genlist_realized_items_update(Evas_Object *genlist)
-{
- Elm_Object_Item *it = NULL;
- Eina_List *realized_items = NULL, *l = NULL;
- if (!genlist) return;
-
- realized_items = elm_genlist_realized_items_get(genlist);
- EINA_LIST_FOREACH(realized_items, l, it) {
- elm_genlist_item_update(it);
- }
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "genlist.h"
-
-/*********************************************************
- Genlist Styles
- ********************************************************/
-#define COLOR_MAX 5
-#define NUM_OF_ITEMS 8000
-#define TEST_SIGNALS 0
-
-typedef struct _Item_Data
-{
- int index;
- int highlighted;
- Elm_Object_Item *item;
- Eina_Bool checked;
- Eina_Bool stared;
-} Item_Data;
-
-static char *menu_its[] = {
- "groupindex",
- "groupindex.icon",
- "1icon",
- "1icon/no_padding",
- "1icon/with_no_line",
- "1icon/no_padding_line",
- /*** 1line styles ***/
- "1text",
- "1text.tb",
- "2text",
- "1text.1icon",
- "1text.1icon.6",
- "1text.1icon.7",
- "1text.1icon.5",
- "1text.1icon.5.thumb.circle",
- "1text.1icon.5.thumb.square",
- "1text.2icon.3",
- "1text.2icon.3.tb",
- "1text.1icon.2",
- "1text.1icon.2.tb",
- "2text.1icon",
- "2text.1icon.tb",
- "1text.2icon",
- "1text.2icon.tb",
- "1text.2icon.6",
- "1text.2icon.6.tb",
- "1text.1icon.3",
- "1text.1icon.3.tb",
- "1text.2icon.4",
- "1text.2icon.4.tb",
- "1text.2icon.2",
- "1text.3icon",
- "1text.2icon.9",
- "1text.3icon.2",
- "1text.1icon.divider",
- "1text.2icon.divider",
- /*** 2line styles ***/
- "2text.2",
- "2text.2.tb",
- "2text.3",
- "3text",
- "3text.tb",
- "2text.1icon.2",
- "2text.1icon.2.tb",
- "2text.1icon.10",
- "2text.1icon.10.tb",
- "3text.1icon",
- "3text.1icon.tb",
- "3text.2icon",
- "3text.2icon.tb",
- "2text.1icon.4",
- "2text.1icon.4.thumb.circle",
- "2text.1icon.4.thumb.square",
- "2text.1icon.4.tb",
- "3text.1icon.2",
- "3text.1icon.2.tb",
- "2text.1icon.8",
- "2text.2icon.4",
- "2text.2icon.4.tb",
- "2text.2icon.6",
- "2text.2icon.6.tb",
- "2text.2icon.8",
- "2text.2icon.8.tb",
- "2text.2icon.progress",
- "3text.3icon.progress",
- "2text.1icon.divider",
- "2text.1icon.12",
- "2text.1icon.12.tb",
- "2text.2icon.7",
- "2text.2icon.5",
- "2text.3icon.4",
- "4text.1icon.1",
- "4text.1icon.1.tb",
- "4text.1icon.2",
- "4text.1icon.2.tb",
- "4text.1",
- "4text.1.tb",
- "4text.2",
- "3text.1icon.3",
- "3text.1icon.3.tb",
- "4text.1icon.3",
- "3text.1icon.1",
- "2text.2icon.1",
- "2text.1icon.1",
- "email.list.test",
- "email.list",
- "email.list.conversation",
- "email.outbox",
- "email.outbox.conversation",
- "email.list(lazy)",
- "multiline/2text.5icon",
- "1text/popup",
- "1text.1icon.5.thumb.circle/popup",
- "1text.1icon.5.thumb.square/popup",
- "2text.1icon.4.thumb.circle/popup",
- "2text.1icon.4.thumb.square/popup",
- "1text.1icon.divider/popup",
- "1text.2icon.divider/popup",
- /* do not delete below */
- NULL
-};
-
-extern char *genlist_demo_names[];
-extern char *genlist_long_texts[];
-extern char *genlist_times[];
-extern char *genlist_messages[];
-static Eina_Bool scrolling;
-static Eina_Bool lazy;
-
-static const char *color_set[COLOR_MAX] =
-{
- "#ff0000ff",
- "#00ff00ff",
- "#0000ffff",
- "#ff00ffff",
- "#00ffffff"
-};
-
-static char *photo_path[] = {
- "00_list_photo_default.png", "iu.jpg", "iu2.jpg", "koo.jpg", "top.jpg", "boa.jpg",
- "kimtaehee.jpg", "moon.jpg", "taeyon.jpg"
-};
-
-static void _gl_del(void *data, Evas_Object *obj)
-{
- // FIXME: Unrealized callback can be called after this.
- // Accessing Item_Data can be dangerous on unrealized callback.
- Item_Data *id = data;
- if (id) free(id);
-}
-
-static void _list_selected(void *data, Evas_Object *obj, void *ei)
-{
- Elm_Object_Item *it = (Elm_Object_Item *) elm_list_selected_item_get(obj);
-
- if (it == NULL)
- {
- fprintf((LOG_PRI(LOG_ERR) == LOG_ERR?stderr:stdout), "List item is NULL.\n");
- return;
- }
- elm_list_item_selected_set(it, EINA_FALSE);
-}
-
-static char *
-_gl_text_get(void *data, Evas_Object *obj, const char *part)
-{
- char buf[1024];
- Item_Data *id = data;
- int index = id->index;
-
- if (!strcmp(part, "elm.text.2")) index++;
-
- snprintf(buf, 1023, "%s:%s", part, genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
- return strdup(buf);
-}
-
-static char *
-_gl_email_text_get(void *data, Evas_Object *obj, const char *part)
-{
- char buf[1024];
- Item_Data *id = data;
- int index = id->index;
-
- if (!strcmp(part, "elm.text.4")) {
- index = index%4;
- if (index == 0) snprintf(buf, 1023, "77");
- else if (index == 1) snprintf(buf, 1023, "9");
- else if (index == 2) snprintf(buf, 1023, "1");
- else snprintf(buf, 1023, "...");
- } else if (!strcmp(part, "elm.text.1") || !strcmp(part, "elm.text.3")) {
- snprintf(buf, 1023, "<match>%s</match>:%s", part,
- genlist_long_texts[index%NUM_OF_GENLIST_LONG_TEXTS]);
- } else if (!strcmp(part, "elm.text.2")) {
- snprintf(buf, 1023, "<match>%s</match>:%s", part,
- genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
- } else snprintf(buf, 1023, "%s:11:30 PM", part);
-
- return strdup(buf);
-}
-
-static char *_gl_text_get_textblock(void *data, Evas_Object *obj, const char *part)
-{
- Item_Data *id = data;
- int index = id->index;
- char buf[PATH_MAX] = {0, };
- const char *color;
- int size;
- int val;
-
- if (!strcmp(part, "elm.text.4") || !strcmp(part, "elm.text"))
- val = index+2;
- else if (!strcmp(part, "elm.text.2"))
- val = index+4;
- else if (!strcmp(part, "elm.text.3"))
- val = index+6;
- else val = index+8;
-
- color = color_set[val % COLOR_MAX];
- size = (val%5)*20 + 32;
-
- if (index % 10 == 0) return _gl_text_get(data, obj, part);
- // if textblock is used, application should change color when item is highlighted.
- if (id->highlighted) // T023P is pressed color of list main text
- sprintf(buf, "<font_size=%d><color_class=T023P>%s:%s</color></font_size>",
- size, part, genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
- else
- sprintf(buf, "<font_size=%d><color=%s>%s:%s</color></font_size>",
- size, color, part, genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
- return strdup(buf);
-}
-
-static char *_gl_text_get_bubble_textblock(void *data, Evas_Object *obj, const char *part)
-{
- if (!strcmp(part, "elm.text.4"))
- return _gl_text_get(data, obj, part);
- else return _gl_text_get_textblock(data, obj, part);
-}
-
-static char* _gl_multiline_text_get(void *data, Evas_Object *obj, const char *part)
-{
- int index = ((int)data) % NUM_OF_GENLIST_TIMES;
-
- if (!strcmp(part, "elm.text.1") || !strcmp(part, "elm.title") ) {
- return strdup(genlist_times[index]);
- } else {
- return strdup(genlist_messages[index]);
- }
- return NULL;
-}
-
-static Evas_Object *
-_gl_icon_colorbar_get(void *data, Evas_Object *obj, const char *part)
-{
- Item_Data *id = data;
- int index = id->index;
- Evas_Object *icon = evas_object_rectangle_add(evas_object_evas_get(obj));
- evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- if (index%3 == 0) evas_object_color_set(icon, 80, 107, 207, 255);
- else if (index%3 == 1) evas_object_color_set(icon, 72, 136, 42, 255);
- else if (index%3 == 2) evas_object_color_set(icon, 204, 52, 52, 255);
- return icon;
-}
-
-static Evas_Object *
-_gl_icon_progressbar_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon = elm_progressbar_add(obj);
- elm_object_style_set(icon, "pending_list");
- elm_progressbar_horizontal_set(icon, EINA_TRUE);
- elm_progressbar_pulse(icon, EINA_TRUE);
- return icon;
-}
-
-static Evas_Object *
-_gl_icon_reveal_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon = elm_button_add(obj);
- elm_object_style_set(icon, "reveal");
- evas_object_propagate_events_set(icon, EINA_FALSE);
- return icon;
-}
-
-static Evas_Object *
-_gl_icon_onoff_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon = elm_check_add(obj);
- elm_check_state_set(icon, EINA_TRUE);
- elm_object_style_set(icon, "on&off");
- evas_object_propagate_events_set(icon, EINA_FALSE);
-
- Item_Data *id = data;
- const Elm_Genlist_Item_Class *itc;
- itc = elm_genlist_item_item_class_get(id->item);
- // If no divider, unregister access object
- if (itc && !strstr(itc->item_style, ".divider")) {
- elm_access_object_unregister(icon);
- }
- return icon;
-}
-
-static Evas_Object *
-_gl_icon_chk_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon = elm_check_add(obj);
- elm_object_style_set(icon, "default/genlist");
- evas_object_repeat_events_set(icon, EINA_TRUE);
- evas_object_propagate_events_set(icon, EINA_FALSE);
-
- Item_Data *id = data;
- const Elm_Genlist_Item_Class *itc;
- itc = elm_genlist_item_item_class_get(id->item);
- // If no divider, unregister access object
- if (itc && !strstr(itc->item_style, ".divider")) {
- elm_access_object_unregister(icon);
- }
- return icon;
-}
-
-static Evas_Object *
-_icon_email_chk_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon = elm_check_add(obj);
- evas_object_propagate_events_set(icon, EINA_FALSE);
- return icon;
-}
-
-static Evas_Object *
-_gl_icon_star_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon = elm_image_add(obj);
- elm_image_file_set(icon, ICON_DIR"/genlist/00_icon_favorite_off_45x45.png", NULL);
- evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- return icon;
-}
-
-static Evas_Object *_gl_content_get(void *data, Evas_Object *obj, const char *part);
-
-static void _clicked(void *data, Evas_Object *obj, void *ei)
-{
- printf("Button clicked\n");
- Item_Data *id = data;
- const Elm_Genlist_Item_Class *itc;
- itc = elm_genlist_item_item_class_get(id->item);
-
- if (itc && !strcmp(itc->item_style, "1text.1icon")) {
- printf("Item Class updated\n");
- // accessibility test
- elm_genlist_item_item_class_update(id->item, itc);
-
- Evas_Object *acc = elm_object_item_access_object_get(id->item);
- // because button is removed, set highlight the item itself.
- elm_access_highlight_set(acc);
- }
-}
-
-static Evas_Object *
-_gl_icon_btn_text_get(void *data, Evas_Object *obj, const char *part)
-{
- Item_Data *id = data;
- Evas_Object *icon = elm_button_add(obj);
- elm_object_text_set(icon, "Text button");
- evas_object_propagate_events_set(icon, EINA_FALSE);
- evas_object_smart_callback_add(icon, "clicked", _clicked, id);
- return icon;
-}
-
-static Evas_Object *
-_gl_icon_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon = elm_image_add(obj);
- elm_image_file_set(icon, ICON_DIR"/genlist/iu.jpg", NULL);
- evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- return icon;
-}
-
-static Evas_Object *
-_gl_icon_photo_get(void *data, Evas_Object *obj, const char *part)
-{
- Item_Data *id = data;
- int index = id->index % (sizeof(photo_path)/sizeof(*photo_path));
- char buf[PATH_MAX];
- Evas_Object *icon = elm_image_add(obj);
- sprintf(buf, ICON_DIR"/genlist/%s", photo_path[index]);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- return icon;
-}
-
-static Evas_Object *_gl_content_get(void *data, Evas_Object *obj, const char *part)
-{
- if (!strcmp(part, "elm.swallow.end")) {
- return _gl_icon_reveal_get(data, obj, part);
- } else if (!strcmp(part, "elm.swallow.colorbar")) {
- return _gl_icon_colorbar_get(data, obj, part);
- } else if (!strcmp(part, "elm.swallow.progress")) {
- return _gl_icon_progressbar_get(data, obj, part);
- }
- return _gl_icon_get(data, obj, part);
-}
-
-static Evas_Object *
-_gl_2icon_btn_text_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon;
- if (!strcmp(part, "elm.icon") || !strcmp(part, "elm.icon.2"))
- icon = _gl_icon_btn_text_get(data, obj, part);
- else icon = _gl_content_get(data, obj, part);
- return icon;
-}
-
-static Evas_Object *
-_gl_2icon_chk_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon;
- if (!strcmp(part, "elm.icon") || !strcmp(part, "elm.icon.1"))
- icon = _gl_icon_chk_get(data, obj, part);
- else icon = _gl_content_get(data, obj, part);
- return icon;
-}
-
-static Evas_Object *
-_gl_2icon_onoff_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon;
- if (!strcmp(part, "elm.icon") || !strcmp(part, "elm.icon.2"))
- icon = _gl_icon_onoff_get(data, obj, part);
- else icon = _gl_content_get(data, obj, part);
- return icon;
-}
-
-static Evas_Object *
-_gl_2icon_reveal_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon;
- if (!strcmp(part, "elm.icon") || !strcmp(part, "elm.icon.2"))
- icon = _gl_icon_reveal_get(data, obj, part);
- else icon = _gl_content_get(data, obj, part);
- return icon;
-}
-
-static Evas_Object *
-_gl_2icon_chk_reveal_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon;
- if (!strcmp(part, "elm.icon") || !strcmp(part, "elm.icon.2"))
- icon = _gl_icon_reveal_get(data, obj, part);
- else if (!strcmp(part, "elm.icon.1"))
- icon = _gl_icon_chk_get(data, obj, part);
- else
- icon = _gl_content_get(data, obj, part);
- return icon;
-}
-
-static Evas_Object *
-_gl_3icon_chk_reveal_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon;
- if (!strcmp(part, "elm.icon.3"))
- icon = _gl_icon_reveal_get(data, obj, part);
- else if (!strcmp(part, "elm.icon.1"))
- icon = _gl_icon_chk_get(data, obj, part);
- else
- icon = _gl_content_get(data, obj, part);
- return icon;
-}
-
-static Evas_Object *
-_gl_icons_get(void *data, Evas_Object *obj, const char *part)
-{
- Item_Data *id = data;
- int index = (id->index)%7;
- Evas_Object *icon;
- if (0 == index) {
- icon = _gl_icon_progressbar_get(data, obj, part);
- } else if (1 == index) {
- icon = _gl_icon_reveal_get(data, obj, part);
- } else if (2 == index) {
- icon = _gl_icon_onoff_get(data, obj, part);
- } else if (3 == index) {
- icon = _gl_icon_chk_get(data, obj, part);
- } else if (4 == index) {
- icon = _gl_icon_btn_text_get(data, obj, part);
- } else {
- icon = _gl_icon_photo_get(data, obj, part);
- }
- return icon;
-}
-
-static void
-_email_check_clicked(void *data, Evas* e, Evas_Object *obj, void *ei)
-{
- printf("email check area clicked\n");
- Item_Data *id = data;
- id->checked = !id->checked;
- if (id->checked)
- elm_object_item_signal_emit(id->item, "elm,state,check,show", "");
- else
- elm_object_item_signal_emit(id->item, "elm,state,check,hide", "");
-}
-
-static void
-_email_touch_clicked(void *data, Evas* e, Evas_Object *obj, void *ei)
-{
- printf("email touch area clicked\n");
- Item_Data *id = data;
- id->stared = !id->stared;
- if (id->stared)
- elm_object_item_signal_emit(id->item, "elm,state,icon4,enable", "");
- else
- elm_object_item_signal_emit(id->item, "elm,state,icon4,disable", "");
-}
-
-static Evas_Object *
-_gl_email_icon_test_get(void *data, Evas_Object *obj, const char *part)
-{
- Item_Data *id = data;
- if (!strcmp(part, "elm.check.touch")) {
- Evas_Object *rect = evas_object_rectangle_add(evas_object_evas_get(obj));
- evas_object_size_hint_align_set(rect, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(rect, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_propagate_events_set(rect, EINA_FALSE);
- evas_object_color_set(rect, 64, 0, 0, 64);
- evas_object_event_callback_add(rect, EVAS_CALLBACK_MOUSE_UP, _email_check_clicked, id);
- return rect;
- } else if (!strcmp(part, "elm.icon.4.touch")) {
- Evas_Object *rect = evas_object_rectangle_add(evas_object_evas_get(obj));
- evas_object_size_hint_align_set(rect, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(rect, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_propagate_events_set(rect, EINA_FALSE);
- evas_object_color_set(rect, 64, 0, 0, 64);
- evas_object_event_callback_add(rect, EVAS_CALLBACK_MOUSE_UP, _email_touch_clicked, id);
- return rect;
- } else return _gl_content_get(data, obj, part);
- return NULL;
-}
-
-
-static Evas_Object *
-_gl_email_icon_get(void *data, Evas_Object *obj, const char *part)
-{
- Item_Data *id = data;
- int index = id->index;
- double scale = elm_config_scale_get();
- if (strstr(part, "touch")) {
- Evas_Object *rect = evas_object_rectangle_add(evas_object_evas_get(obj));
- evas_object_size_hint_align_set(rect, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(rect, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_event_callback_add(rect, EVAS_CALLBACK_MOUSE_UP, _email_touch_clicked, id);
- evas_object_propagate_events_set(rect, EINA_FALSE);
- evas_object_color_set(rect, 64, 0 ,0, 64);
- return rect;
- } else if (!strcmp(part, "elm.icon.1")) {
- return _icon_email_chk_get(data, obj, part);
- } else if (!strcmp(part, "elm.icon.2")) {
- if (index % 2 == 0) {
- Evas_Object *box = elm_box_add(obj);
- evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_box_horizontal_set(box, EINA_TRUE);
- Evas_Object *icon = _gl_icon_star_get(data, obj, part);
- evas_object_size_hint_min_set(icon, 45*scale, 45*scale);
- evas_object_show(icon);
- elm_box_pack_end(box, icon);
- icon = evas_object_rectangle_add(evas_object_evas_get(obj));
- evas_object_size_hint_min_set(icon, 16*scale, 16*scale);
- evas_object_color_set(icon, 0, 0, 0, 0);
- evas_object_show(icon);
- elm_box_pack_end(box, icon);
- return box;
- } else return NULL;
- } else if (!strcmp(part, "elm.icon.3")) {
- index = index % 3;
- if (index == 0) {
- Evas_Object *box = elm_box_add(obj);
- evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_box_horizontal_set(box, EINA_TRUE);
- Evas_Object *icon = _gl_icon_star_get(data, obj, part);
- evas_object_size_hint_min_set(icon, 45*scale, 45*scale);
- evas_object_show(icon);
- elm_box_pack_start(box, icon);
- icon = evas_object_rectangle_add(evas_object_evas_get(obj));
- evas_object_color_set(icon, 0, 0, 0, 0);
- evas_object_size_hint_min_set(icon, 16*scale, 16*scale);
- evas_object_show(icon);
- elm_box_pack_start(box, icon);
- return box;
- } else return NULL;
- } else if (!strcmp(part, "elm.icon.4")) {
- return _gl_icon_star_get(data, obj, part);
- } else return _gl_content_get(data, obj, part);
- return NULL;
-}
-
-static Evas_Object *
-_gl_email_icon_lazy_get(void *data, Evas_Object *obj, const char *part)
-{
- Item_Data *id = data;
- int index = id->index;
- double scale = elm_config_scale_get();
- if (strstr(part, "touch")) {
- Evas_Object *rect = evas_object_rectangle_add(evas_object_evas_get(obj));
- evas_object_size_hint_align_set(rect, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(rect, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_event_callback_add(rect, EVAS_CALLBACK_MOUSE_UP, _email_touch_clicked, NULL);
- evas_object_propagate_events_set(rect, EINA_FALSE);
- evas_object_color_set(rect, 64, 0 ,0, 64);
- return rect;
- } else if (!strcmp(part, "elm.icon.1")) {
- return _icon_email_chk_get(data, obj, part);
- } else if (!strcmp(part, "elm.icon.2")) {
- if (scrolling) return NULL;
- index = index % 2;
- if (index == 0) return NULL;
- else {
- Evas_Object *box = elm_box_add(obj);
- evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_box_horizontal_set(box, EINA_TRUE);
- Evas_Object *icon = _gl_icon_photo_get(data, obj, part);
- evas_object_size_hint_min_set(icon, 45*scale, 45*scale);
- evas_object_show(icon);
- elm_box_pack_end(box, icon);
- icon = evas_object_rectangle_add(evas_object_evas_get(obj));
- evas_object_size_hint_min_set(icon, 16*scale, 16*scale);
- evas_object_color_set(icon, 0, 0, 0, 0);
- evas_object_show(icon);
- elm_box_pack_end(box, icon);
- return box;
- }
- } else if (!strcmp(part, "elm.icon.4")) {
- if (scrolling) return NULL;
- Evas_Object *icon = _gl_icon_get(data, obj, part);
- evas_object_size_hint_min_set(icon, 35*scale, 35*scale);
- return icon;
- } else if (!strcmp(part, "elm.icon.3")) {
- if (scrolling) return NULL;
- index = index % 4;
- if (index == 0) return NULL;
- else if (index == 1) {
- Evas_Object *box = elm_box_add(obj);
- evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_box_horizontal_set(box, EINA_TRUE);
- Evas_Object *icon = _gl_icon_photo_get(data, obj, part);
- evas_object_size_hint_min_set(icon, 45*scale, 45*scale);
- evas_object_show(icon);
- elm_box_pack_start(box, icon);
- icon = evas_object_rectangle_add(evas_object_evas_get(obj));
- evas_object_color_set(icon, 0, 0, 0, 0);
- evas_object_size_hint_min_set(icon, 16*scale, 16*scale);
- evas_object_show(icon);
- elm_box_pack_start(box, icon);
- return box;
- } else if (index == 2) {
- Evas_Object *box = elm_box_add(obj);
- evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_box_horizontal_set(box, EINA_TRUE);
- elm_box_padding_set(box, 10, 0);
- Evas_Object *icon = _gl_icon_photo_get(data, obj, part);
- evas_object_size_hint_min_set(icon, 45*scale, 45*scale);
- evas_object_show(icon);
- elm_box_pack_end(box, icon);
- icon = _gl_icon_photo_get(data, obj, part);
- evas_object_size_hint_min_set(icon, 35*scale, 35*scale);
- evas_object_show(icon);
- elm_box_pack_end(box, icon);
- icon = evas_object_rectangle_add(evas_object_evas_get(obj));
- evas_object_size_hint_min_set(icon, 16*scale, 16*scale);
- evas_object_color_set(icon, 0, 0, 0, 0);
- evas_object_show(icon);
- elm_box_pack_start(box, icon);
- return box;
- } else if (index == 3) {
- Evas_Object *box = elm_box_add(obj);
- evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_box_horizontal_set(box, EINA_TRUE);
- elm_box_padding_set(box, 10, 0);
- Evas_Object *icon = _gl_icon_photo_get(data, obj, part);
- evas_object_size_hint_min_set(icon, 50*scale, 50*scale);
- evas_object_show(icon);
- elm_box_pack_end(box, icon);
- icon = _gl_icon_photo_get(data, obj, part);
- evas_object_size_hint_min_set(icon, 35*scale, 35*scale);
- evas_object_show(icon);
- elm_box_pack_end(box, icon);
- icon = _gl_icon_photo_get(data, obj, part);
- evas_object_size_hint_min_set(icon, 45*scale, 45*scale);
- evas_object_show(icon);
- elm_box_pack_end(box, icon);
- icon = evas_object_rectangle_add(evas_object_evas_get(obj));
- evas_object_size_hint_min_set(icon, 16*scale, 16*scale);
- evas_object_color_set(icon, 0, 0, 0, 0);
- evas_object_show(icon);
- elm_box_pack_start(box, icon);
- return box;
- }
- } else {
- if (scrolling) return NULL;
- return _gl_content_get(data, obj, part);
- }
- return NULL;
-}
-
-
-static Evas_Object *
-_gl_email_outbox_get(void *data, Evas_Object *obj, const char *part)
-{
- if (!strcmp(part, "elm.icon.5")) {
- return _gl_icon_btn_text_get(data, obj, part);
- } else
- return _gl_email_icon_get(data, obj, part);
-}
-
-static Evas_Object *
-_gl_icon_highlight_get(void *data, Evas_Object *obj, const char *part)
-{
- Item_Data *id = data;
- Evas_Object *icon = NULL;
- int index = id->index;
- if (id->highlighted) {
- printf("Change icon to hilighted icon [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
- icon = elm_image_add(obj);
- elm_image_file_set(icon, ICON_DIR"/genlist/00_brightness_right.png", NULL);
- evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- } else {
- icon = elm_image_add(obj);
- // Below should be called before elm_image_file_set
- elm_image_prescale_set(icon, 10);
- evas_object_color_set(icon, 128, 128, 128, 128);
- elm_image_file_set(icon, ICON_DIR"/genlist/iu.jpg", NULL);
- evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- }
- return icon;
-}
-
-static void _gl_sel(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("Select callback: %s\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-
- const Elm_Genlist_Item_Class *itc = elm_genlist_item_item_class_get(item);
-
- // accessibility test
- if (itc && !strcmp(itc->item_style, "1text.1icon")) {
- printf("Item Class updated\n");
- elm_genlist_item_item_class_update(item, itc);
- }
-
- // Make item as unselected
- elm_genlist_item_selected_set(item, EINA_FALSE);
-
- if (itc && !strcmp(itc->item_style, "groupindex")) {
- printf("slide start\n");
- elm_object_item_signal_emit(item, "elm,state,slide,start", "");
- }
- if (itc && (!strcmp(itc->item_style, "1text.1icon.3") ||
- !strcmp(itc->item_style, "1text.1icon.3.tb") ||
- !strcmp(itc->item_style, "1text.2icon.2") ||
- !strcmp(itc->item_style, "1text.3icon") ||
- !strcmp(itc->item_style, "1text.3icon.2") ||
- !strcmp(itc->item_style, "1text.2icon.9") ||
- !strcmp(itc->item_style, "1text.2icon.4") ||
- !strcmp(itc->item_style, "1text.2icon.4.tb") ||
- !strcmp(itc->item_style, "2text.2icon.7") ||
- !strcmp(itc->item_style, "2text.2icon.5") ||
- !strcmp(itc->item_style, "2text.3icon.4"))) {
- printf("update check\n");
- // Update check button
- Evas_Object *ck = elm_object_item_part_content_get(ei, "elm.icon");
- if (!ck) ck = elm_object_item_part_content_get(ei, "elm.icon.1");
- if (ck) {
- Eina_Bool state = elm_check_state_get(ck);
- elm_check_state_set(ck, !state);
- }
- }
-}
-
-static void _longpressed(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("longpressed: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
- // FIXME: after unrealized & realized, item will be back to default state (unread).
- elm_object_item_signal_emit(ei, "elm,state,read", "");
-}
-
-static void _scroll_anim_start(void *data, Evas_Object *obj, void *ei)
-{
- scrolling = EINA_TRUE;
- printf("scroll,anim,start\n");
-}
-
-static void _scroll_anim_stop(void *data, Evas_Object *obj, void *ei)
-{
- scrolling = EINA_FALSE;
- if (lazy) {
- Eina_List *l;
- Elm_Object_Item *it;
- l = elm_genlist_realized_items_get(obj);
- EINA_LIST_FREE(l, it) {
- elm_genlist_item_fields_update(it, "elm.icon.2", ELM_GENLIST_ITEM_FIELD_CONTENT);
- elm_genlist_item_fields_update(it, "elm.icon.3", ELM_GENLIST_ITEM_FIELD_CONTENT);
- elm_genlist_item_fields_update(it, "elm.icon.4", ELM_GENLIST_ITEM_FIELD_CONTENT);
- }
- }
- printf("scroll,anim,stop\n");
-}
-
-static void _scroll_drag_start(void *data, Evas_Object *obj, void *ei)
-{
- scrolling = EINA_TRUE;
- printf("scroll,drag,start\n");
-}
-
-static void _scroll_drag_stop(void *data, Evas_Object *obj, void *ei)
-{
- scrolling = EINA_FALSE;
- if (lazy) {
- Eina_List *l, *list;
- Elm_Object_Item *it;
- list = elm_genlist_realized_items_get(obj);
- EINA_LIST_FOREACH(list, l, it) {
- elm_genlist_item_fields_update(it, "elm.icon.2", ELM_GENLIST_ITEM_FIELD_CONTENT);
- elm_genlist_item_fields_update(it, "elm.icon.3", ELM_GENLIST_ITEM_FIELD_CONTENT);
- elm_genlist_item_fields_update(it, "elm.icon.4", ELM_GENLIST_ITEM_FIELD_CONTENT);
- }
- }
-
- printf("scroll,drag,stop\n");
-}
-
-static void _realized(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Item_Data *id = elm_object_item_data_get(ei);
- int index = id->index;
-
- const char *txt = elm_object_item_part_text_get(ei, "elm.text");
- if (!txt)
- txt = elm_object_item_part_text_get(ei, "elm.text.1");
- printf("realized: [%s]\n", txt); //genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-
- // ===== Accessibility ====
- if (elm_config_access_get()) {
- const Elm_Genlist_Item_Class *itc = elm_genlist_item_item_class_get(ei);
- if (!strcmp(itc->item_style, "1icon") ||
- !strcmp(itc->item_style, "1icon/no_padding") ||
- !strcmp(itc->item_style, "1icon/with_no_line") ||
- !strcmp(itc->item_style, "1icon/no_padding_line")) {
-
- // Unregister item to not be highlighted
- elm_object_item_access_unregister(ei);
-
- // if icon is not appended yet, register icon to be highglihted
- const Eina_List *org = elm_object_item_access_order_get(ei);
- Evas_Object *content =
- elm_object_item_part_content_get(ei, "elm.icon");
- if (content && !eina_list_data_find(org, content)) {
- Evas_Object *tmp;
- Eina_List *l;
- Eina_List *items = NULL;
-
- // Duplicate original access order
- EINA_LIST_FOREACH((Eina_List *)org, l, tmp)
- items = eina_list_append(items, tmp);
-
- Evas_Object *ao = elm_access_object_register(content, obj);
- items = eina_list_append(items, ao);
- elm_object_item_access_order_set(ei, items);
- }
- }
- }
-
- // For email style ===================================================
- // email style implement icons as image part, not swallow part.
- if (id->checked)
- elm_object_item_signal_emit(id->item, "elm,state,check,show", "");
- else
- elm_object_item_signal_emit(id->item, "elm,state,check,hide", "");
- if (id->stared)
- elm_object_item_signal_emit(id->item, "elm,state,icon4,enable", "");
- else
- elm_object_item_signal_emit(id->item, "elm,state,icon4,disable", "");
-
- if (index%3 == 0)
- elm_object_item_signal_emit(ei, "elm,state,read", "");
- if (index%2 == 0)
- elm_object_item_signal_emit(ei, "elm,state,icon2,show", "");
- if (index%3 == 0)
- elm_object_item_signal_emit(ei, "elm,state,icon3,show", "");
- elm_object_item_signal_emit(ei, "elm,state,icon4,show", "");
- // ===================================================================
-}
-
-static void _loaded(void *data, Evas_Object *obj, void *ei)
-{
- printf("loaded\n");
-}
-
-#if TEST_SIGNALS
-static void _unrealized(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("unrealized: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _selected(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("selected: %s\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _activated(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("activated: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _clicked_double(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("clicked,double: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _unselected(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("unselected: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _drag_start_up(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("drag,start,up: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _drag_start_down(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("drag,start,down: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _drag_start_left(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("drag,start,left: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _drag_start_right(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("drag,start,right: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _drag_stop(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("drag,stop: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _drag(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("drag: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _edge_top(void *data, Evas_Object *obj, void *ei)
-{
- printf("edge,top\n");
-}
-
-static void _edge_bottom(void *data, Evas_Object *obj, void *ei)
-{
- printf("edge,bottom\n");
-}
-
-static void _edge_left(void *data, Evas_Object *obj, void *ei)
-{
- printf("edge,left\n");
-}
-
-static void _edge_right(void *data, Evas_Object *obj, void *ei)
-{
- printf("edge,right\n");
-}
-
-static void _multi_swipe_left(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("multi,swipe,left: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _multi_swipe_right(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("multi,swipe,right: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _multi_swipe_up(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("multi,swipe,up: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _multi_swipe_down(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("edge,bottom: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _multi_pinch_out(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("multi,pinch,out: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _multi_pinch_in(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("multi,pinch,in: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _swipe(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("swipe: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _moved(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("moved: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _moved_after(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("moved,after: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _moved_before(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("moved,before: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _index_update(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("index,updated: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _expanded(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("expanded: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _contracted(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("contracted: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _expand_request(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("expand,request: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-
-static void _contract_request(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- printf("contract,request: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
-}
-static void _tree_effect_finished(void *data, Evas_Object *obj, void *ei)
-{
- printf("tree,effect,finished\n");
-}
-#endif
-
-static void _highlighted(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- id->highlighted = EINA_TRUE;
-
- const Elm_Genlist_Item_Class *itc = elm_genlist_item_item_class_get(item);
- if (!strcmp(itc->item_style, "1text.1icon.7")) {
- Evas_Object *img = elm_object_item_part_content_get(item, "elm.icon");
- elm_image_file_set(img, ICON_DIR"/genlist/00_brightness_right_press.png", NULL);
- } else if (!strcmp(itc->item_style, "1text.tb")) {
- printf("highlighted: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
- elm_genlist_item_fields_update(item, "elm.text", ELM_GENLIST_ITEM_FIELD_TEXT);
- }
-}
-
-static void _unhighlighted(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- Elm_Object_Item *item = ei;
- Item_Data *id = elm_object_item_data_get(ei);
- int index = id->index;
- id->highlighted = EINA_FALSE;
-
- const Elm_Genlist_Item_Class *itc = elm_genlist_item_item_class_get(item);
- if (!strcmp(itc->item_style, "1text.1icon.7")) {
- Evas_Object *img = elm_object_item_part_content_get(item, "elm.icon");
- elm_image_file_set(img, ICON_DIR"/genlist/iu.jpg", NULL);
- } else if (!strcmp(itc->item_style, "1text.tb")) {
- printf("unhighlighted: [%s]\n", genlist_demo_names[index%NUM_OF_GENLIST_DEMO_NAMES]);
- elm_genlist_item_fields_update(item, "elm.text", ELM_GENLIST_ITEM_FIELD_TEXT);
- }
-}
-
-static void _index_clicked(void *data, Evas_Object *obj, const char *em, const char *src)
-{
- printf("index clicked\n");
- elm_object_signal_emit(obj, "elm,state,slide,start", "");
-
-}
-
-static char *_access_info_cb(void *data, Evas_Object *obj)
-{
- const char *txt = NULL;
- txt = elm_object_part_text_get(data, "elm.text");
- if (!txt) return NULL;
-
- return strdup(_(txt));
-}
-
-static void _mouse_down_cb(void *data, Evas *e, Evas_Object *obj, void *ei)
-{
- Evas_Event_Mouse_Down *md = ei;
- int ret;
- Elm_Object_Item *it = elm_genlist_at_xy_item_get(obj, md->canvas.x, md->canvas.y, &ret);
- printf("down %d %d (%d) (%p)\n", md->canvas.x, md->canvas.y, elm_genlist_item_index_get(it), it);
-}
-
-static void _create_genlist(void *data, Evas_Object *obj, void *event_info)
-{
- if (!data) return;
- struct appdata *ad = data;
- int index;
- Elm_Object_Item *item;
- Evas_Object *genlist;
- const char *style = elm_object_item_text_get(event_info);
-
- // Create item class
- Elm_Genlist_Item_Class *itc = elm_genlist_item_class_new();
- itc->item_style = style;
- itc->func.text_get = _gl_text_get;
- itc->func.content_get = _gl_content_get;
- itc->func.del = _gl_del;
-
- // Create genlist
- genlist = elm_genlist_add(ad->nf);
- evas_object_event_callback_add(genlist, EVAS_CALLBACK_MOUSE_DOWN, _mouse_down_cb, NULL);
- if (strstr(style, "email.")) {
- elm_object_style_set(genlist, "handler");
- }
- // Optimize your application with appropriate genlist block size.
- elm_genlist_block_count_set(genlist, 14);
-
- // HOMOGENEOUS MODE
- // If item height is same when each style name is same,
- // Use homogeneous mode.
- if (!strstr(style, ".tb") && !strstr(style, "multiline")) {
- printf("Homogeneous mode enabled\n");
- elm_genlist_homogeneous_set(genlist, EINA_TRUE);
- }
- // COMPRESS MODE
- // If multiline text (multiline entry or multiline textblock or sliding mode)
- // is used, use compress mode for compressing width to fit the viewport width.
- // So genlist can calculate item's height correctly.
- if (strstr(style, "multiline") ||
- !strcmp(style, "groupindex") || !strstr(style, "email")) {
- printf("Compress mode enabled\n");
- elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
- }
-
- evas_object_smart_callback_add(genlist, "scroll,anim,start", _scroll_anim_start, NULL);
- evas_object_smart_callback_add(genlist, "scroll,anim,stop", _scroll_anim_stop, NULL);
- evas_object_smart_callback_add(genlist, "scroll,drag,start", _scroll_drag_start, NULL);
- evas_object_smart_callback_add(genlist, "scroll,drag,stop", _scroll_drag_stop, NULL);
- evas_object_smart_callback_add(genlist, "realized", _realized, NULL);
- evas_object_smart_callback_add(genlist, "loaded", _loaded, NULL);
-
-#if TEST_SIGNALS
- evas_object_smart_callback_add(genlist, "unrealized", _unrealized, NULL);
- evas_object_smart_callback_add(genlist, "activated", _activated, NULL);
- evas_object_smart_callback_add(genlist, "selected", _selected, NULL);
- evas_object_smart_callback_add(genlist, "unselected", _unselected, NULL);
- evas_object_smart_callback_add(genlist, "clicked,double", _clicked_double, NULL);
- evas_object_smart_callback_add(genlist, "drag,start,up", _drag_start_up, NULL);
- evas_object_smart_callback_add(genlist, "drag,start,down", _drag_start_down, NULL);
- evas_object_smart_callback_add(genlist, "drag,start,left", _drag_start_left, NULL);
- evas_object_smart_callback_add(genlist, "drag,start,right", _drag_start_right, NULL);
- evas_object_smart_callback_add(genlist, "drag,stop", _drag_stop, NULL);
- evas_object_smart_callback_add(genlist, "drag", _drag, NULL);
- evas_object_smart_callback_add(genlist, "edge,top", _edge_top, NULL);
- evas_object_smart_callback_add(genlist, "edge,bottom", _edge_bottom, NULL);
- evas_object_smart_callback_add(genlist, "edge,left", _edge_left, NULL);
- evas_object_smart_callback_add(genlist, "edge,left", _edge_right, NULL);
- evas_object_smart_callback_add(genlist, "multi,swipe,left", _multi_swipe_left, NULL);
- evas_object_smart_callback_add(genlist, "multi,swipe,right", _multi_swipe_right, NULL);
- evas_object_smart_callback_add(genlist, "multi,swipe,up", _multi_swipe_up, NULL);
- evas_object_smart_callback_add(genlist, "multi,swipe,down", _multi_swipe_down, NULL);
- evas_object_smart_callback_add(genlist, "multi,pinch,out", _multi_pinch_out, NULL);
- evas_object_smart_callback_add(genlist, "multi,pinch,in", _multi_pinch_in, NULL);
- evas_object_smart_callback_add(genlist, "swipe", _swipe, NULL);
- evas_object_smart_callback_add(genlist, "moved", _moved, NULL);
- evas_object_smart_callback_add(genlist, "moved,after", _moved_after, NULL);
- evas_object_smart_callback_add(genlist, "moved,before", _moved_before, NULL);
- evas_object_smart_callback_add(genlist, "index,update", _index_update, NULL);
- evas_object_smart_callback_add(genlist, "tree,effect,finished", _tree_effect_finished, NULL);
-#endif
- evas_object_smart_callback_add(genlist, "highlighted", _highlighted, NULL);
- evas_object_smart_callback_add(genlist, "unhighlighted", _unhighlighted, NULL);
- evas_object_smart_callback_add(genlist, "longpressed", _longpressed, NULL);
-
- if (strstr(style, ".tb"))
- itc->func.text_get = _gl_text_get_textblock;
- else if (strstr(style, "multiline/2text.5icon"))
- itc->func.text_get = _gl_multiline_text_get;
-
- if (strstr(style, ".thumb."))
- itc->func.content_get = _gl_icon_photo_get;
-
- if (!strcmp(style, "1icon") || strstr(style, "1icon/")) {
- itc->func.content_get = _gl_icons_get;
- } else if (!strcmp(style, "1text.1icon.7")) {
- itc->func.content_get = _gl_icon_highlight_get;
- } else if (!strcmp(style, "2text.1icon.10") ||
- !strcmp(style, "2text.1icon.10.tb")) {
- itc->func.content_get = _gl_icon_reveal_get;
- } else if (!strcmp(style, "1text.1icon.6") ||
- !strcmp(style, "1text.1icon.divider") ||
- !strcmp(style, "1text.2icon.divider") ||
- !strcmp(style, "2text.1icon.divider")) {
- itc->func.content_get = _gl_2icon_onoff_get;
- } else if (!strcmp(style, "1text.1icon.3") ||
- !strcmp(style, "1text.1icon.3.tb") ||
- !strcmp(style, "1text.2icon.2") ||
- !strcmp(style, "1text.2icon.2") ||
- !strcmp(style, "2text.2icon.5") ||
- !strcmp(style, "2text.2icon.5")) {
- itc->func.content_get = _gl_2icon_chk_get;
- } else if (!strcmp(style, "1text.1icon") ||
- !strcmp(style, "1text.2icon") ||
- !strcmp(style, "1text.2icon.tb") ||
- !strcmp(style, "2text.1icon.2") ||
- !strcmp(style, "2text.1icon.2.tb") ||
- !strcmp(style, "2text.2icon.8") ||
- !strcmp(style, "2text.2icon.8.tb") ||
- !strcmp(style, "3text.3icon.progress")) {
- itc->func.content_get = _gl_2icon_btn_text_get;
- } else if (!strcmp(style, "1text.2icon.6") ||
- !strcmp(style, "1text.2icon.6.tb") ||
- !strcmp(style, "2text.2icon.4") |\
- !strcmp(style, "2text.2icon.4.tb")) {
- itc->func.content_get = _gl_2icon_reveal_get;
- } else if (!strcmp(style, "1text.2icon.4") ||
- !strcmp(style, "1text.2icon.4.tb") ||
- !strcmp(style, "1text.2icon.9") ||
- !strcmp(style, "2text.2icon.7")) {
- itc->func.content_get = _gl_2icon_chk_reveal_get;
- } else if (!strcmp(style, "1text.3icon") ||
- !strcmp(style, "1text.3icon.2") ||
- !strcmp(style, "2text.3icon.4")) {
- itc->func.content_get = _gl_3icon_chk_reveal_get;
- } else if (!strcmp(style, "4text.1icon.1.tb") ||
- !strcmp(style, "4text.1.tb")) {
- itc->func.text_get = _gl_text_get_bubble_textblock;
- } else if (!strcmp(style, "email.list.test")) {
- itc->func.text_get = _gl_email_text_get;
- itc->func.content_get = _gl_email_icon_test_get;
- } else if (!strcmp(style, "email.list") ||
- !strcmp(style, "email.list.conversation")) {
- itc->func.text_get = _gl_email_text_get;
- itc->func.content_get = _gl_email_icon_get;
- } else if (!strcmp(style, "email.outbox") ||
- !strcmp(style, "email.outbox.conversation")) {
- itc->func.text_get = _gl_email_text_get;
- itc->func.content_get = _gl_email_outbox_get;
- } else if (!strcmp(style, "email.list(lazy)")) {
- lazy = EINA_TRUE;
- itc->item_style = "email.list";
- itc->func.content_get = _gl_email_icon_lazy_get;
- }
-
- for (index = 0; index < NUM_OF_ITEMS; index++) {
- Item_Data *id = calloc(sizeof(Item_Data), 1);
- id->index = index;
- item = elm_genlist_item_append(
- genlist, // genlist object
- itc, // item class
- id, // data
- NULL,
- ELM_GENLIST_ITEM_NONE,
- _gl_sel,
- NULL);
- id->item = item;
- if (index ==0) elm_object_item_disabled_set(item, EINA_TRUE);
- }
- elm_genlist_item_class_free(itc);
-
- // Add select all layout for groupindex
- if (!strcmp(style, "groupindex")) {
- Evas_Object *bx = elm_box_add(ad->nf);
- evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- Evas_Object *ly = elm_layout_add(bx);
- elm_layout_theme_set(ly, "genlist/item", "groupindex", "default");
- evas_object_size_hint_weight_set(ly, EVAS_HINT_EXPAND, 0);
- evas_object_size_hint_align_set(ly, -1, -1);
- elm_object_part_text_set(ly, "elm.text", "This is a layout, not genlist item. This is a groupindex genlist item style. This is packed into box");
- elm_layout_signal_callback_add(ly, "mouse,clicked,1", "*", _index_clicked, NULL);
- evas_object_show(ly);
- elm_box_pack_end(bx, ly);
-
- // ============== Accessibility
- // Make layout accessible
- Evas_Object *ao = elm_access_object_register(ly, ly);
- elm_access_info_cb_set(ao, ELM_ACCESS_INFO, _access_info_cb, ly);
- elm_object_focus_custom_chain_append(ly, ao, NULL);
-
- evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(genlist);
- elm_box_pack_end(bx, genlist);
- evas_object_show(bx);
- elm_naviframe_item_push(ad->nf, _(style), NULL, NULL, bx, NULL);
- } else
- elm_naviframe_item_push(ad->nf, _(style), NULL, NULL, genlist, NULL);
-}
-
-void genlist_normal_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Evas_Object *list;
- int i;
-
- ad = (struct appdata *) data;
- if (ad == NULL) return;
-
- list = elm_list_add(ad->nf);
- elm_list_mode_set(list, ELM_LIST_COMPRESS);
- evas_object_smart_callback_add(list, "selected", _list_selected, NULL);
-
- for (i = 0; menu_its[i]; i++) {
- elm_list_item_append(list, menu_its[i], NULL, NULL,
- _create_genlist, ad);
- }
- elm_list_go(list);
-
- elm_naviframe_item_push(ad->nf, _("Item Styles"), NULL, NULL, list, NULL);
-}
-
-void genlist_homogenous_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (!data) return;
- struct appdata *ad = data;
- int index;
- Elm_Object_Item *item;
- Evas_Object *genlist;
-
- // Create item class
- Elm_Genlist_Item_Class *itc1,*itc2, *itc3, *itc4, *itc5;
- itc1 = elm_genlist_item_class_new();
- itc2 = elm_genlist_item_class_new();
- itc3 = elm_genlist_item_class_new();
- itc4 = elm_genlist_item_class_new();
- itc5 = elm_genlist_item_class_new();
-
- // Set genlist item class
- itc1->item_style = "1text.1icon";
- itc1->func.text_get = _gl_text_get;
- itc1->func.content_get = _gl_content_get;
- itc1->func.del = _gl_del;
-
- itc2->item_style = "3text.1icon";
- itc2->func.text_get = _gl_text_get;
- itc2->func.content_get = _gl_content_get;
- itc2->func.del = _gl_del;
-
- itc3->item_style = "email.list";
- itc3->func.text_get = _gl_email_text_get;
- itc3->func.content_get = _gl_email_icon_get;
- itc3->func.del = _gl_del;
-
- itc4->item_style = "dialogue/1text.2icon";
- itc4->func.text_get = _gl_text_get;
- itc4->func.content_get = _gl_content_get;
- itc4->func.del = _gl_del;
-
- itc5->item_style = "dialogue/3text.2icon";
- itc5->func.text_get = _gl_text_get;
- itc5->func.content_get = _gl_content_get;
- itc5->func.del = _gl_del;
-
- // Create genlist
- genlist = elm_genlist_add(ad->nf);
- evas_object_smart_callback_add(genlist, "loaded", _loaded, NULL);
-
- // HOMOGENEOUS MODE
- // If item height is same when each style name is same,
- // Use homogeneous mode.
- elm_genlist_homogeneous_set(genlist, EINA_TRUE);
- printf("Homogeneous mode enabled\n");
- // COMPRESS MODE
- // If multiline text (multiline entry or multiline textblock or sliding mode)
- // is used, use compress mode for compressing width to fit the viewport width.
- // So genlist can calculate item's height correctly.
- elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
- printf("Compress mode enabled\n");
-
- // Append items
- for (index = 0; index < NUM_OF_ITEMS; index++) {
- Elm_Genlist_Item_Class *itc;
- if (index%5 == 0) itc = itc1;
- else if (index%5 == 1) itc = itc2;
- else if (index%5 == 2) itc = itc3;
- else if (index%5 == 3) itc = itc4;
- else itc = itc5;
-
- Item_Data *id = calloc(sizeof(Item_Data), 1);
- id->index = index;
- item = elm_genlist_item_append(
- genlist, // genlist object
- itc, // item class
- id, // data
- NULL,
- ELM_GENLIST_ITEM_NONE,
- _gl_sel,
- NULL
- );
- if (index ==0) elm_object_item_disabled_set(item, EINA_TRUE);
- id->item = item;
- }
-
- // Unref item class
- elm_genlist_item_class_free(itc1);
- elm_genlist_item_class_free(itc2);
- elm_genlist_item_class_free(itc3);
- elm_genlist_item_class_free(itc4);
- elm_genlist_item_class_free(itc5);
-
- elm_naviframe_item_push(ad->nf, "homogeneous", NULL, NULL, genlist, NULL);
-}
-
-static void _view_free_cb(void *data, Evas *e, Evas_Object *gen, void *ei)
-{
- int *index;
- Ecore_Animator *anim;
- Elm_Genlist_Item_Class *itc1,*itc2, *itc3, *itc4, *itc5;
-
- index = evas_object_data_get(gen, "index");
- if (index) free(index);
-
- anim = evas_object_data_get(gen, "anim");
- if (anim) ecore_animator_del(anim);
-
- itc1 = evas_object_data_get(gen, "itc1");
- itc2 = evas_object_data_get(gen, "itc2");
- itc3 = evas_object_data_get(gen, "itc3");
- itc4 = evas_object_data_get(gen, "itc4");
- itc5 = evas_object_data_get(gen, "itc5");
- if (itc1) elm_genlist_item_class_free(itc1);
- if (itc2) elm_genlist_item_class_free(itc2);
- if (itc3) elm_genlist_item_class_free(itc3);
- if (itc4) elm_genlist_item_class_free(itc4);
- if (itc5) elm_genlist_item_class_free(itc5);
-}
-
-static Eina_Bool _item_append_cb(void *data)
-{
- Evas_Object *genlist = data;
- int *index;
- Elm_Object_Item *item = NULL;
- Elm_Genlist_Item_Class *itc = NULL;
-
- index = evas_object_data_get(genlist, "index");
- if (*index >= NUM_OF_ITEMS) {
- evas_object_data_set(genlist, "anim", NULL);
- return ECORE_CALLBACK_CANCEL;
- }
-
- if ((*index)%5 == 0)
- itc = evas_object_data_get(genlist, "itc1");
- else if (((*index)%5) == 1)
- itc = evas_object_data_get(genlist, "itc2");
- else if (((*index)%5) == 2)
- itc = evas_object_data_get(genlist, "itc3");
- else if (((*index)%5) == 3)
- itc = evas_object_data_get(genlist, "itc4");
- else
- itc = evas_object_data_get(genlist, "itc5");
-
- Item_Data *id = calloc(sizeof(Item_Data), 1);
- id->index = *index;
- item = elm_genlist_item_append(genlist, itc, id, NULL,
- ELM_GENLIST_ITEM_NONE, _gl_sel, NULL);
- id->item = item;
- if (*index == 0) elm_object_item_disabled_set(item, EINA_TRUE);
- (*index)++;
-
- return ECORE_CALLBACK_RENEW;
-}
-
-// FIXME: When item is added by animator, scroller is freezed.
-void genlist_animator_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (!data) return;
- struct appdata *ad = data;
- int *index;
- Evas_Object *genlist;
-
- // Create item class
- Elm_Genlist_Item_Class *itc1,*itc2, *itc3, *itc4, *itc5;
- itc1 = elm_genlist_item_class_new();
- itc2 = elm_genlist_item_class_new();
- itc3 = elm_genlist_item_class_new();
- itc4 = elm_genlist_item_class_new();
- itc5 = elm_genlist_item_class_new();
-
- // Set genlist item class
- itc1->item_style = "1text.1icon";
- itc1->func.text_get = _gl_text_get;
- itc1->func.content_get = _gl_content_get;
- itc1->func.del = _gl_del;
-
- itc2->item_style = "3text.1icon";
- itc2->func.text_get = _gl_text_get;
- itc2->func.content_get = _gl_content_get;
- itc2->func.del = _gl_del;
-
- itc3->item_style = "email.list";
- itc3->func.text_get = _gl_email_text_get;
- itc3->func.content_get = _gl_email_icon_get;
- itc3->func.del = _gl_del;
-
- itc4->item_style = "dialogue/1text.2icon";
- itc4->func.text_get = _gl_text_get;
- itc4->func.content_get = _gl_content_get;
- itc4->func.del = _gl_del;
-
- itc5->item_style = "dialogue/3text.2icon";
- itc5->func.text_get = _gl_text_get;
- itc5->func.content_get = _gl_content_get;
- itc5->func.del = _gl_del;
-
- // Create genlist
- genlist = elm_genlist_add(ad->nf);
- evas_object_smart_callback_add(genlist, "loaded", _loaded, NULL);
-
- // HOMOGENEOUS MODE
- // If item height is same when each style name is same,
- // Use homogeneous mode.
- printf("Homogeneous mode enabled\n");
- elm_genlist_homogeneous_set(genlist, EINA_TRUE);
-
- // COMPRESS MODE
- // If multiline text (multiline entry or multiline textblock or sliding mode)
- // is used, use compress mode for compressing width to fit the viewport width.
- // So genlist can calculate item's height correctly.
- printf("Compress mode enabled\n");
- elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
-
- evas_object_data_set(genlist, "itc1", itc1);
- evas_object_data_set(genlist, "itc2", itc2);
- evas_object_data_set(genlist, "itc3", itc3);
- evas_object_data_set(genlist, "itc4", itc4);
- evas_object_data_set(genlist, "itc5", itc5);
-
- index = calloc(1, sizeof(int));
- *index = 0;
- evas_object_data_set(genlist, "index", index);
-
- // Append items using Ecore_Animator (recommend to use Ecore_Animator in multiline items)
- Ecore_Animator *anim = ecore_animator_add(_item_append_cb, genlist);
- evas_object_data_set(genlist, "anim", anim);
-
- evas_object_event_callback_add(genlist, EVAS_CALLBACK_FREE, _view_free_cb, NULL);
- elm_naviframe_item_push(ad->nf, "animator append", NULL, NULL, genlist, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "handler.h"
-
-/*********************************************************
- Handler
- ********************************************************/
-
-static void _handler_h_cb(void *data, Evas_Object *obj, void *event_info);
-static void _handler_v_cb(void *data, Evas_Object *obj, void *event_info);
-
-#define NUM_OF_ITEMS 50
-static Elm_Genlist_Item_Class itc;
-static char *country_names[] = {
- "Algeria", "Andorra",
- "Argentina", "Australia", "Bahamas", "Bangladesh", "belgium", "Benin",
- "Bosnia", "Canada", "Chad", "Chile", "Cuba ", "Denmark",
- "Dominican Republic", "Egypt", "England", "Europa Island", "china",
- "Ethiopia", "Fiji", "Finland", "France", "Germany", "Ghana", "Greece",
- "Hong Kong", "Hungary", "India", "Iran", "Iraq", "Hafiz", "Italy",
- "Jordan", "kuwait", "Macau", "Mexico ", "Panama", "Poland", "Peru",
- "Russia", "Scotland", "Slovakia", "South Korea", "Sri Lanka", "Sweden",
- "Taiwan", "Tanzania", "Uganda", "Zimbabwe"
-};
-static struct _menu_item menu_its[] = {
- {"Vert Handler", _handler_v_cb },
- {"Horz Handler", _handler_h_cb },
-
- /* do not delete below */
- {NULL, NULL}
-};
-
-static char *_gl_text_get(void *data, Evas_Object *obj, const char *part)
-{
- if (!strcmp(part, "elm.text")) {
- return strdup(country_names[(int)data % NUM_OF_ITEMS]);
- }
-
- return NULL;
-}
-
-static Evas_Object *_gl_content_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon = NULL;
- char buf[PATH_MAX];
-
- if (!strcmp(part, "elm.icon")) {
- icon = elm_image_add(obj);
- snprintf(buf, sizeof(buf), ICON_DIR"/g%d.png", ((int)data)%6);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- }
-
- return icon;
-}
-
-static Eina_Bool _gl_state_get(void *data, Evas_Object *obj, const char *part)
-{
- return EINA_FALSE;
-}
-
-static void _gl_del(void *data, Evas_Object *obj)
-{
- return;
-}
-
-static void _gl_sel(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *item = (Elm_Object_Item *)event_info;
- int index = (int)elm_object_item_data_get(item);
-
- if (item != NULL) {
- fprintf(stdout, "selected text %s\n", country_names[index]);
- }
-}
-
-static void _handler_v_cb(void *data, Evas_Object *obj, void *event_info)
-{
- int index;
- Evas_Object *genlist;
- struct appdata *ad = (struct appdata *) data;
-
- if (ad == NULL) return;
-
- itc.item_style = "1text.1icon.2";
- itc.func.text_get = _gl_text_get;
- itc.func.content_get = _gl_content_get;
- itc.func.state_get = _gl_state_get;
- itc.func.del = _gl_del;
-
- genlist = elm_genlist_add(ad->nf);
- elm_object_style_set(genlist, "handler");
-
- for (index = 0; index < 4*NUM_OF_ITEMS; index++) {
- elm_genlist_item_append(genlist, &itc, (void *) index, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, NULL);
- }
- elm_naviframe_item_push(ad->nf, _("Vert-Handler"), NULL, NULL, genlist, NULL);
-}
-
-static Evas_Object* _create_horz_handler(Evas_Object* parent)
-{
- Evas_Object * in_layout;
- Evas_Object *image;
- Evas_Coord w, h;
-
- in_layout = elm_layout_add(parent);
- elm_layout_file_set(in_layout, ELM_DEMO_EDJ, "elmdemo-test/horz_handler");
-
- Evas_Object* scroller = elm_scroller_add(parent);
- elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_FALSE);
- elm_object_style_set(scroller, "handler");
- elm_scroller_policy_set(scroller,ELM_SCROLLER_POLICY_AUTO, ELM_SCROLLER_POLICY_AUTO);
- evas_object_show(scroller);
-
- image = elm_image_add(parent);
- elm_image_file_set(image, ICON_DIR"/horz_scrollbar.jpg", NULL);
- elm_image_resizable_set(image, EINA_TRUE, EINA_FALSE);
- elm_image_object_size_get(image, &w, &h);
- evas_object_show(image);
-
- elm_object_content_set(scroller, image);
- elm_object_part_content_set(in_layout, "scroller", scroller);
-
- return in_layout;
-}
-
-static void _handler_h_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Evas_Object *layout_inner;
-
- ad = (struct appdata *)data;
- if (ad == NULL) return;
-
- layout_inner = _create_horz_handler (ad->nf);
- elm_naviframe_item_push (ad->nf, _("Horz-Handler") , NULL, NULL, layout_inner, NULL);
-}
-
-static void
-_list_click(void *data, Evas_Object * obj, void *event_info)
-{
- Elm_Object_Item *it = (Elm_Object_Item *) elm_list_selected_item_get(obj);
-
- if (it == NULL)
- {
- fprintf((LOG_PRI(LOG_ERR) == LOG_ERR?stderr:stdout), "List item is NULL.\n");
- return;
- }
-
- elm_list_item_selected_set(it, EINA_FALSE);
-}
-
-static Evas_Object *
-_create_list_winset(struct appdata *ad)
-{
- Evas_Object *li;
-
- if (ad == NULL) return NULL;
-
- li = elm_list_add(ad->nf);
- elm_list_mode_set(li, ELM_LIST_COMPRESS);
- evas_object_smart_callback_add(li, "selected", _list_click, NULL);
-
- int idx = 0;
-
- while (menu_its[idx].name != NULL)
- {
- elm_list_item_append(li, menu_its[idx].name, NULL, NULL, menu_its[idx].func, ad);
- ++idx;
- }
- elm_list_go(li);
-
- return li;
-}
-
-void handler_cb(void *data, Evas_Object * obj, void *event_info)
-{
- struct appdata *ad;
- Evas_Object *list;
-
- ad = (struct appdata *)data;
- if (!ad) return;
-
- list = _create_list_winset(ad);
- elm_naviframe_item_push(ad->nf, _("Handler"), NULL, NULL, list, NULL);
-}
+++ /dev/null
-#include <Elementary.h>
-#include <stdlib.h>
-
-const char *enemies[] = { "sistar", "girlsday", "fx", "2ne1", "kara", "missa", "apink", "crayonpop", "4minute", "tara" };
-
-struct instance {
- Eina_List *enemy_list;
- Evas_Object *bricks[9];
- Evas_Object *score;
- int score_val;
-};
-
-Evas_Object *create_enemy(Evas *e)
-{
- int idx = rand() % 10;
-
- Evas_Object *enemy = evas_object_text_add(e);
- evas_object_text_font_set(enemy, "DejaVu", 11);
- evas_object_text_text_set(enemy, enemies[idx]);
- evas_object_color_set(enemy, 0, 0, 0, 255);
- evas_object_resize(enemy, 50, 30);
- evas_object_move(enemy, idx * 50, 0);
- evas_object_show(enemy);
-
- return enemy;
-}
-
-Eina_Bool create_enemy_timer_cb(void *data)
-{
- Evas *e;
- struct instance *inst;
-
- e = evas_object_evas_get(data);
- inst = evas_object_data_get(data, "instance");
-
- Evas_Object *enemy = create_enemy(e);
-
- inst->enemy_list = eina_list_append(inst->enemy_list, enemy);
-
- return ECORE_CALLBACK_RENEW;
-}
-
-void remove_brick(struct instance *inst)
-{
- int i;
-
- for (i = 0; i < 9; i++)
- {
- if (!evas_object_visible_get(inst->bricks[i])) continue;
- evas_object_hide(inst->bricks[i]);
- return;
- }
-
- elm_exit();
-}
-
-Eina_Bool move_enemy_timer_cb(void *data)
-{
- Eina_List *l, *l_next;
- Evas_Object *enemy;
- Evas_Coord x, y;
- struct instance *inst;
-
- inst = evas_object_data_get(data, "instance");
-
- EINA_LIST_FOREACH_SAFE(inst->enemy_list, l, l_next, enemy)
- {
- evas_object_geometry_get(enemy, &x, &y, NULL, NULL);
-
- if (y >= 400)
- {
- inst->enemy_list = eina_list_remove(inst->enemy_list, enemy);
- evas_object_del(enemy);
- remove_brick(inst);
- }
- else
- {
- evas_object_move(enemy, x, y + 20);
- }
- }
-
- return ECORE_CALLBACK_RENEW;
-}
-
-Evas_Object *create_brick(Evas *e, Evas_Coord x, Evas_Coord y)
-{
- Evas_Object *img = evas_object_image_filled_add(e);
- evas_object_image_file_set(img, RESDIR"/brick.png", NULL);
- evas_object_move(img, x, y);
- evas_object_resize(img, 25, 15);
- evas_object_show(img);
-
- return img;
-}
-
-void attack(Evas_Object *win, const char *input)
-{
- Eina_List *l, *l_next;
- Evas_Object *enemy;
- struct instance *inst;
-
- inst = evas_object_data_get(win, "instance");
-
- EINA_LIST_FOREACH_SAFE(inst->enemy_list, l, l_next, enemy)
- {
- if (!strcmp(evas_object_text_text_get(enemy), input))
- {
- inst->enemy_list = eina_list_remove(inst->enemy_list, enemy);
- evas_object_del(enemy);
- inst->score_val += 100;
- }
- }
-
-/*
- char buf[100];
- snprintf(buf, sizeof(buf), "Score: %d", inst->score_val);
- evas_object_text_text_set(inst->score, buf);
-*/
-}
-
-void set_score(Evas_Object *win, const char *source, const char *emission)
-{
- char *buf;
- struct instance *inst;
-
- inst = evas_object_data_get(win, "instance");
-
- buf = malloc(strlen(source) + strlen(emission) + 100);
- snprintf(buf, strlen(source) + strlen(emission) + 100, "%s/%s", source, emission);
- evas_object_text_text_set(inst->score, buf);
-}
-
-void key_down_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
-{
- const int MAX_CUR = 10;
-
- static char buf[50];
- static int cur = 0;
-
- Evas_Event_Key_Down *ev = event_info;
- Evas_Object *input = data;
- char tmp[50];
-
- if (cur == 0) snprintf(buf, sizeof(buf), " ");
-// printf("%s %s %s %s (%d)\n", ev->keyname, ev->key, ev->string, ev->compose, ev->keycode);
- if (!strcmp(ev->keyname, "space") || !strcmp(ev->keyname, "Return"))
- {
- attack(obj, buf);
- evas_object_text_text_set(input, "");
- cur = 0;
- return;
- }
-
- if (!strcmp(ev->keyname, "BackSpace"))
- {
- snprintf(tmp, strlen(buf), "%s", buf);
- evas_object_text_text_set(input, tmp);
- strcpy(buf, tmp);
- cur--;
- return;
- }
-
- if (cur >= MAX_CUR) return;
-
- snprintf(tmp, sizeof(tmp), "%s%s", buf, ev->keyname);
- evas_object_text_text_set(input, tmp);
- cur++;
- strcpy(buf, tmp);
-}
-
-int htt_main(Evas_Object *win)
-{
- struct instance *inst;
-
- inst = calloc(1, sizeof(*inst));
- if (!inst) {
- return -ENOMEM;
- }
-
- srand((unsigned int) time(NULL));
-
- Evas *e = evas_object_evas_get(win);
-
- Evas_Object *bg = evas_object_rectangle_add(e);
- evas_object_color_set(bg, 168, 168, 168, 255);
- evas_object_resize(bg, 500, 400);
- evas_object_show(bg);
-
- Evas_Object *ocean = evas_object_image_add(e);
- evas_object_image_file_set(ocean, RESDIR"/ocean.png", NULL);
- evas_object_image_fill_set(ocean, 0, 0, 20, 20);
- evas_object_move(ocean, 0, 380);
- evas_object_resize(ocean, 500, 20);
- evas_object_show(ocean);
-
- inst->bricks[0] = create_brick(e, 225, 355);
- inst->bricks[1] = create_brick(e, 250, 355);
- inst->bricks[2] = create_brick(e, 275, 355);
- inst->bricks[3] = create_brick(e, 225, 370);
- inst->bricks[4] = create_brick(e, 250, 370);
- inst->bricks[5] = create_brick(e, 275, 370);
- inst->bricks[6] = create_brick(e, 225, 385);
- inst->bricks[7] = create_brick(e, 250, 385);
- inst->bricks[8] = create_brick(e, 275, 385);
-
- Evas_Object *entry = evas_object_image_filled_add(e);
- evas_object_image_file_set(entry, RESDIR"/entry.png", NULL);
- evas_object_move(entry, 217, 326);
- evas_object_resize(entry, 90, 30);
- evas_object_show(entry);
-
- inst->score = evas_object_text_add(e);
- evas_object_text_font_set(inst->score, "DejaVu", 12);
- evas_object_text_text_set(inst->score, "Score: 0");
- evas_object_color_set(inst->score, 0, 0, 0, 255);
- evas_object_resize(inst->score, 100, 30);
- evas_object_show(inst->score);
-
- Evas_Object *input = evas_object_text_add(e);
- evas_object_text_font_set(input, "DejaVu", 12);
- evas_object_color_set(input, 0, 0, 0, 255);
- evas_object_move(input, 220, 330);
- evas_object_resize(input, 100, 30);
- evas_object_show(input);
-
- ecore_timer_add(2, create_enemy_timer_cb, win);
- ecore_timer_add(0.8, move_enemy_timer_cb, win);
-
- evas_object_data_set(win, "instance", inst);
-
- evas_object_event_callback_add(win, EVAS_CALLBACK_KEY_DOWN, key_down_cb, input);
- return 0;
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "imageslider.h"
-
-#define IMAGE_COUNT 22
-
-static char *imageslider_photos_path[IMAGE_COUNT] = {
- ICON_DIR "/Albums_Item/Albums_Item1.jpg",
- ICON_DIR "/Albums_Item/Albums_Item2.jpg",
- ICON_DIR "/Albums_Item/Albums_Item3.jpg",
- ICON_DIR "/Albums_Item/Albums_Item4.jpg",
- ICON_DIR "/Albums_Item/Albums_Item5.jpg",
- ICON_DIR "/Albums_Item/Albums_Item6.jpg",
- ICON_DIR "/Albums_Item/Albums_Item7.jpg",
- ICON_DIR "/Albums_Item/Albums_Item8.jpg",
- ICON_DIR "/Albums_Item/Albums_Item9.jpg",
- ICON_DIR "/Albums_Item/Albums_Item10.jpg",
- ICON_DIR "/Albums_Item/Albums_Item11.jpg",
- ICON_DIR "/Albums_Item/Albums_Item12.jpg",
- ICON_DIR "/Albums_Item/Albums_Item13.jpg",
- ICON_DIR "/Albums_Item/Albums_Item14.jpg",
- ICON_DIR "/Albums_Item/Albums_Item15.jpg",
- ICON_DIR "/Albums_Item/Albums_Item16.jpg",
- ICON_DIR "/Albums_Item/Albums_Item17.jpg",
- ICON_DIR "/Albums_Item/Albums_Item18.jpg",
- ICON_DIR "/Albums_Item/Albums_Item19.jpg",
- ICON_DIR "/Albums_Item/Albums_Item20.jpg",
- ICON_DIR "/Albums_Item/Albums_Item21.jpg",
- ICON_DIR "/Albums_Item/Albums_Item22.jpg",
-};
-
-static Evas_Object *_create_imageslider(Evas_Object * parent);
-static void _test_cb(void *data, Evas_Object * obj, void *event_info);
-static void _photo_clicked_cb(void *data, Evas_Object * obj, void *event_info);
-
-static Evas_Object *_create_imageslider(Evas_Object * parent)
-{
- int i;
- Evas_Object *is;
-
- is = elm_imageslider_add(parent);
-
- for (i = 0; i < IMAGE_COUNT; i++) {
- elm_imageslider_item_append(is, imageslider_photos_path[i], _test_cb, NULL);
- }
- elm_imageslider_item_append_relative(is, imageslider_photos_path[10], _test_cb, 3, NULL);
- evas_object_smart_callback_add(is, "clicked", _photo_clicked_cb, NULL);
- return is;
-}
-
-static void _test_cb(void *data, Evas_Object * obj, void *event_info)
-{
- Elm_Imageslider_Item *it = event_info;
-
- fprintf(stderr, "[[[ DEBUG ]]]::PHOTO FILE: %s\n", elm_imageslider_item_photo_file_get(it));
-}
-
-static void _photo_clicked_cb(void *data, Evas_Object * obj, void *event_info)
-{
- fprintf(stderr, "[[[ DEBUG ]]]::(TestApp) CLICKED!!!\n");
-}
-
-void imageslider_cb(void *data, Evas_Object * obj, void *event_info)
-{
- struct appdata *ad;
-
- Evas_Object *img_slider;
- Elm_Object_Item *it;
-
- ad = (struct appdata *)data;
- if (ad == NULL) return;
- img_slider = _create_imageslider(ad->nf);
- it = elm_naviframe_item_push(ad->nf, _("Image Slider"), NULL, NULL, img_slider, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "index.h"
-
-static struct _menu_item menu_main[] = {
- { "Horizontal Style", horizontal_cb},
- { "Vertical Style", vertical_cb},
- { "Horizontal Loop Style", horizontal_loop_cb},
- { "Vertical Loop Style", vertical_loop_cb},
- { "4-Way Style", index_4way_cb},
- { "Slider Style", index_slider_cb},
- { NULL, NULL }
-};
-
-static void _list_click(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *it = (Elm_Object_Item *) elm_list_selected_item_get(obj);
- if(it == NULL) return;
-
- elm_list_item_selected_set(it, EINA_FALSE);
-}
-
-static Evas_Object* _create_list_winset(Evas_Object* parent, struct _menu_item *menu, struct appdata* ad)
-{
- Evas_Object *li;
-
- if(parent == NULL || ad == NULL) return NULL;
-
- li = elm_list_add(parent);
- elm_list_mode_set(li, ELM_LIST_COMPRESS);
- evas_object_smart_callback_add(li, "selected", _list_click, NULL);
-
- int idx = 0;
-
- while(menu[ idx ].name != NULL) {
-
- elm_list_item_append(
- li,
- menu[ idx ].name,
- NULL,
- NULL,
- menu[ idx ].func,
- ad);
- ++idx;
- }
-
- elm_list_go(li);
-
- return li;
-}
-
-void index_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Evas_Object *list;
-
- ad = (struct appdata *)data;
- if (ad == NULL) return;
-
- list = _create_list_winset(ad->layout_main, menu_main, ad);
- elm_naviframe_item_push(ad->nf, _("PageControl") , NULL, NULL, list, NULL);
-}
-
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-
-typedef struct _page_data page_data;
-struct _page_data
-{
- Evas_Object *scroller;
- Evas_Object *table;
- Evas_Object *index;
- Evas_Object *page[6];
- Evas_Object *page_layout[6];
-
- int current_page;
- int page_width;
-};
-
-static void
-_layout_del_cb(void *data , Evas *e, Evas_Object *obj, void *event_info)
-{
- page_data *pd = data;
- free(pd);
-}
-
-static void
-_layout_resize_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- page_data *pd = (page_data *)data;
- Evas_Coord w, h;
-
- evas_object_geometry_get(obj, NULL, NULL, &w, &h);
- evas_object_size_hint_min_set(pd->page[0], w, h);
- evas_object_size_hint_min_set(pd->page[1], w, h);
- evas_object_size_hint_min_set(pd->page[2], w, h);
- evas_object_size_hint_min_set(pd->page[3], w, h);
- evas_object_size_hint_min_set(pd->page[4], w, h);
- evas_object_size_hint_min_set(pd->page[5], w, h);
-
- pd->page_width = w;
- elm_scroller_page_size_set(pd->scroller, w, h);
- elm_scroller_page_show(pd->scroller, pd->current_page, 0);
-}
-
-static Evas_Object*
-_create_index(Evas_Object* parent)
-{
- Evas_Object *layout, *scroller, *table, *index, *page_layout, *page;
- Elm_Object_Item *it;
-
- if (parent == NULL) return NULL;
- /* Create Layout */
- layout = elm_layout_add(parent);
- if (layout == NULL) return NULL;
- page_data *pd = calloc(1, sizeof(page_data));
- if (pd == NULL) return NULL;
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "elmdemo-test/index");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_show(layout);
-
- evas_object_event_callback_add(layout, EVAS_CALLBACK_RESIZE, _layout_resize_cb, pd);
- evas_object_event_callback_add(layout, EVAS_CALLBACK_DEL, _layout_del_cb, pd);
-
- /* Create Scroller */
- scroller = elm_scroller_add(layout);
- elm_scroller_loop_set(scroller, EINA_FALSE, EINA_FALSE);
- evas_object_size_hint_weight_set(scroller, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(scroller, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_scroller_page_relative_set(scroller, 1.0, 1.0);
- elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
- elm_scroller_page_scroll_limit_set(scroller, 1, 1);
- elm_object_scroll_lock_y_set(scroller, EINA_TRUE);
- elm_object_part_content_set(layout, "scroller", scroller);
- evas_object_show(scroller);
-
- pd->scroller = scroller;
-
- /* Create table */
- table = elm_table_add(scroller);
- elm_table_padding_set(table, 3, 2);
- elm_object_content_set(scroller, table);
- evas_object_show(table);
-
- pd->table = table;
-
- /* Create Pages */
- // page 1 layout
- page_layout = elm_layout_add(table);
- elm_layout_file_set(page_layout, ELM_DEMO_EDJ, "elmdemo-test/pagecontrol/page");
- evas_object_size_hint_weight_set(page_layout, 0, 0);
- evas_object_size_hint_align_set(page_layout, 0, EVAS_HINT_FILL);
- evas_object_show(page_layout);
- pd->page_layout[0] = page_layout;
-
- // page 1 content
- page = evas_object_rectangle_add(evas_object_evas_get(page_layout));
- evas_object_color_set(page, 50, 0, 0, 50);
- pd->page[0] = page;
-
- elm_object_part_content_set(page_layout, "page", page);
- elm_object_part_text_set(page_layout, "text", "Page1");
-
- elm_table_pack(table, page_layout, 0, 0, 1, 1);
-
- // page 2 layout
- page_layout = elm_layout_add(table);
- evas_object_size_hint_weight_set(page_layout, 0, 0);
- evas_object_size_hint_align_set(page_layout, 0, EVAS_HINT_FILL);
- elm_layout_file_set(page_layout, ELM_DEMO_EDJ, "elmdemo-test/pagecontrol/page");
- evas_object_show(page_layout);
- pd->page_layout[1] = page_layout;
-
- // page 2 content
- page = evas_object_rectangle_add(evas_object_evas_get(page_layout));
- evas_object_color_set(page, 0, 50, 0, 50);
- pd->page[1] = page;
-
- elm_object_part_content_set(page_layout, "page", page);
- elm_object_part_text_set(page_layout, "text", "Page2");
-
- elm_table_pack(table, page_layout, 1, 0, 1, 1);
-
- // page 3 layout
- page_layout = elm_layout_add(table);
- evas_object_size_hint_weight_set(page_layout, 0, 0);
- evas_object_size_hint_align_set(page_layout, 0, EVAS_HINT_FILL);
- elm_layout_file_set(page_layout, ELM_DEMO_EDJ, "elmdemo-test/pagecontrol/page");
- evas_object_show(page_layout);
- pd->page_layout[2] = page_layout;
-
- // page 3 content
- page = evas_object_rectangle_add(evas_object_evas_get(page_layout));
- evas_object_color_set(page, 0, 0, 50, 50);
- pd->page[2] = page;
-
- elm_object_part_content_set(page_layout, "page", page);
- elm_object_part_text_set(page_layout, "text", "Page3");
-
- elm_table_pack(table, page_layout, 2, 0, 1, 1);
-
- // page 4 layout
- page_layout = elm_layout_add(table);
- evas_object_size_hint_weight_set(page_layout, 0, 0);
- evas_object_size_hint_align_set(page_layout, 0, EVAS_HINT_FILL);
- elm_layout_file_set(page_layout, ELM_DEMO_EDJ, "elmdemo-test/pagecontrol/page");
- evas_object_show(page_layout);
- pd->page_layout[3] = page_layout;
-
- // page 4 content
- page = evas_object_rectangle_add(evas_object_evas_get(page_layout));
- evas_object_color_set(page, 50, 0, 50, 50);
- pd->page[3] = page;
-
- elm_object_part_content_set(page_layout, "page", page);
- elm_object_part_text_set(page_layout, "text", "Page4");
-
- elm_table_pack(table, page_layout, 0, 1, 1, 1);
-
- // page 5 layout
- page_layout = elm_layout_add(table);
- evas_object_size_hint_weight_set(page_layout, 0, 0);
- evas_object_size_hint_align_set(page_layout, 0, EVAS_HINT_FILL);
- elm_layout_file_set(page_layout, ELM_DEMO_EDJ, "elmdemo-test/pagecontrol/page");
- evas_object_show(page_layout);
- pd->page_layout[3] = page_layout;
-
- // page 5 content
- page = evas_object_rectangle_add(evas_object_evas_get(page_layout));
- evas_object_color_set(page, 50, 50, 0, 50);
- pd->page[4] = page;
-
- elm_object_part_content_set(page_layout, "page", page);
- elm_object_part_text_set(page_layout, "text", "Page5");
-
- elm_table_pack(table, page_layout, 1, 1, 1, 1);
-
- // page 6 layout
- page_layout = elm_layout_add(table);
- evas_object_size_hint_weight_set(page_layout, 0, 0);
- evas_object_size_hint_align_set(page_layout, 0, EVAS_HINT_FILL);
- elm_layout_file_set(page_layout, ELM_DEMO_EDJ, "elmdemo-test/pagecontrol/page");
- evas_object_show(page_layout);
- pd->page_layout[5] = page_layout;
-
- // page 6 content
- page = evas_object_rectangle_add(evas_object_evas_get(page_layout));
- evas_object_color_set(page, 0, 50, 50, 50);
- pd->page[5] = page;
-
- elm_object_part_content_set(page_layout, "page", page);
- elm_object_part_text_set(page_layout, "text", "Page6");
-
- elm_table_pack(table, page_layout, 2, 1, 1, 1);
-
- pd->current_page = 0;
-
- /* Create Index */
- index = elm_index_add(layout);
- evas_object_size_hint_weight_set(index, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(index, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_object_style_set(index, "pagecontrol");
- elm_index_horizontal_set(index, EINA_TRUE);
- elm_index_autohide_disabled_set(index, EINA_TRUE);
- elm_object_part_content_set(layout, "controller", index);
-
- it = elm_index_item_append(index, "1", NULL, (void *) 1);
- elm_index_item_append(index, "2", NULL, (void *) 2);
- elm_index_item_append(index, "3", NULL, (void *) 3);
-
- elm_index_level_go(index, 0);
- elm_index_item_selected_set(it, EINA_TRUE);
- pd->index = index;
-
- return layout;
-}
-
-void index_4way_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Evas_Object *layout_inner;
-
- ad = (struct appdata *)data;
- if (ad == NULL) return;
-
- layout_inner = _create_index(ad->nf);
- elm_naviframe_item_push(ad->nf, _("PageControl") , NULL, NULL, layout_inner, NULL);
-}
-
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-
-typedef struct _page_data page_data;
-struct _page_data
-{
- Evas_Object *scroller;
- Evas_Object *box;
- Evas_Object *index;
- Evas_Object *page[3];
- Evas_Object *page_layout[3];
-
- int current_page;
- int page_width;
-
- Elm_Object_Item *last_it;
- Elm_Object_Item *new_it;
-};
-
-static void
-_on_index_mouse_down_cb(void *data, Evas *e, Evas_Object *o, void *event_info)
-{
- page_data *pd = (page_data *)data;
-
- /* Keep the last index item active and save the selected index item */
- if (!pd->last_it) return;
-
- int level = elm_index_item_level_get(o);
- pd->new_it = elm_index_selected_item_get(o, level);
- elm_index_item_selected_set(pd->last_it, EINA_TRUE);
-}
-
-static void
-_on_index_mouse_up_cb(void *data, Evas *e, Evas_Object *o, void *event_info)
-{
- page_data *pd = (page_data *)data;
-
- /* Keep the last index item active and move to the page of the currently selected index item */
- if (!pd->last_it) return;
- elm_index_item_selected_set(pd->last_it, EINA_TRUE);
-
- if (!pd->new_it) return;
-
- int idx = (int) elm_object_item_data_get(pd->new_it);
- if (idx == pd->current_page) return;
-
- elm_scroller_page_bring_in(pd->scroller, idx, 0);
-}
-
-static void
-_on_index_mouse_move_cb(void *data, Evas *e, Evas_Object *o, void *event_info)
-{
- page_data *pd = (page_data *)data;
-
- /* Keep the last index item active and save the currently selected index item */
- if (!pd->last_it) return;
-
- int level = elm_index_item_level_get(o);
- pd->new_it = elm_index_selected_item_get(o, level);
- elm_index_item_selected_set(pd->last_it, EINA_TRUE);
-}
-
-static void
-_index_sync(void *data)
-{
- page_data *pd = (page_data *)data;
- Elm_Object_Item *it;
- it = elm_index_item_find(pd->index, (void *)pd->current_page);
- if (it) {
- elm_index_item_selected_set(it, EINA_TRUE);
- pd->last_it = it;
- pd->new_it = it;
- }
-}
-
-static void
-_scroll_cb(void *data, Evas_Object *scroller, void *event_info)
-{
- page_data *pd = data;
- int page_no;
- elm_scroller_current_page_get(pd->scroller, &page_no, NULL);
- if (pd->current_page != page_no) {
- pd->current_page = page_no;
- _index_sync(pd);
- }
-}
-
-static void
-_layout_del_cb(void *data , Evas *e, Evas_Object *obj, void *event_info)
-{
- page_data *pd = data;
- free(pd);
-}
-
-static void
-_layout_resize_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- page_data *pd = (page_data *)data;
- Evas_Coord w, h;
-
- evas_object_geometry_get(obj, NULL, NULL, &w, &h);
- evas_object_size_hint_min_set(pd->page[0], w, h);
- evas_object_size_hint_min_set(pd->page[1], w, h);
- evas_object_size_hint_min_set(pd->page[2], w, h);
-
- pd->page_width = w;
- elm_scroller_page_size_set(pd->scroller, w, h);
- elm_scroller_page_show(pd->scroller, pd->current_page, 0);
-}
-
-static Evas_Object*
-_create_index(Evas_Object* parent)
-{
- Evas_Object *layout, *scroller, *box, *index, *page_layout, *page;
- Elm_Object_Item *it;
-
- if (parent == NULL) return NULL;
- /* Create Layout */
- layout = elm_layout_add(parent);
- if (layout == NULL) return NULL;
- page_data *pd = calloc(1, sizeof(page_data));
- if (pd == NULL) return NULL;
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "elmdemo-test/index");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_show(layout);
-
- evas_object_event_callback_add(layout, EVAS_CALLBACK_RESIZE, _layout_resize_cb, pd);
- evas_object_event_callback_add(layout, EVAS_CALLBACK_DEL, _layout_del_cb, pd);
-
- /* Create Scroller */
- scroller = elm_scroller_add(layout);
- elm_scroller_loop_set(scroller, EINA_FALSE, EINA_FALSE);
- evas_object_size_hint_weight_set(scroller, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(scroller, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_scroller_page_relative_set(scroller, 1.0, 0.0);
- elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
- elm_scroller_page_scroll_limit_set(scroller, 1, 0);
- elm_object_scroll_lock_y_set(scroller, EINA_TRUE);
- elm_object_part_content_set(layout, "scroller", scroller);
- evas_object_show(scroller);
-
- pd->scroller = scroller;
-
- evas_object_smart_callback_add(scroller, "scroll", _scroll_cb, pd);
-
- /* Create Box */
- box = elm_box_add(scroller);
- elm_box_horizontal_set(box, EINA_TRUE);
- elm_object_content_set(scroller, box);
- evas_object_show(box);
-
- pd->box = box;
-
- /* Create Pages */
- // page 1 layout
- page_layout = elm_layout_add(box);
- elm_layout_file_set(page_layout, ELM_DEMO_EDJ, "elmdemo-test/pagecontrol/page");
- evas_object_size_hint_weight_set(page_layout, 0, 0);
- evas_object_size_hint_align_set(page_layout, 0, EVAS_HINT_FILL);
- evas_object_show(page_layout);
- pd->page_layout[0] = page_layout;
-
- // page 1 content
- page = evas_object_rectangle_add(evas_object_evas_get(page_layout));
- evas_object_color_set(page, 50, 0, 0, 50);
- pd->page[0] = page;
-
- elm_object_part_content_set(page_layout, "page", page);
- elm_object_part_text_set(page_layout, "text", "Page1");
-
- elm_box_pack_end(box, page_layout);
-
- // page 2 layout
- page_layout = elm_layout_add(box);
- evas_object_size_hint_weight_set(page_layout, 0, 0);
- evas_object_size_hint_align_set(page_layout, 0, EVAS_HINT_FILL);
- elm_layout_file_set(page_layout, ELM_DEMO_EDJ, "elmdemo-test/pagecontrol/page");
- evas_object_show(page_layout);
- pd->page_layout[1] = page_layout;
-
- // page 2 content
- page = evas_object_rectangle_add(evas_object_evas_get(page_layout));
- evas_object_color_set(page, 0, 50, 0, 50);
- pd->page[1] = page;
-
- elm_object_part_content_set(page_layout, "page", page);
- elm_object_part_text_set(page_layout, "text", "Page2");
-
- elm_box_pack_end(box, page_layout);
-
- // page 3 layout
- page_layout = elm_layout_add(box);
- evas_object_size_hint_weight_set(page_layout, 0, 0);
- evas_object_size_hint_align_set(page_layout, 0, EVAS_HINT_FILL);
- elm_layout_file_set(page_layout, ELM_DEMO_EDJ, "elmdemo-test/pagecontrol/page");
- evas_object_show(page_layout);
- pd->page_layout[2] = page_layout;
-
- // page 3 content
- page = evas_object_rectangle_add(evas_object_evas_get(page_layout));
- evas_object_color_set(page, 0, 0, 50, 50);
- pd->page[2] = page;
-
- elm_object_part_content_set(page_layout, "page", page);
- elm_object_part_text_set(page_layout, "text", "Page3");
-
- elm_box_pack_end(box, page_layout);
-
- pd->current_page = 0;
-
- /* Create Index */
- index = elm_index_add(layout);
- evas_object_size_hint_weight_set(index, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(index, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_object_style_set(index, "pagecontrol");
- elm_index_horizontal_set(index, EINA_TRUE);
- elm_index_autohide_disabled_set(index, EINA_TRUE);
- elm_object_part_content_set(layout, "controller", index);
-
- it = elm_index_item_append(index, "1", NULL, (void *) 0);
- elm_index_item_append(index, "2", NULL, (void *) 1);
- elm_index_item_append(index, "3", NULL, (void *) 2);
-
- elm_index_level_go(index, 0);
- elm_index_item_selected_set(it, EINA_TRUE);
- pd->index = index;
- pd->last_it = it;
-
- evas_object_event_callback_add(index, EVAS_CALLBACK_MOUSE_DOWN, _on_index_mouse_down_cb, pd);
- evas_object_event_callback_add(index, EVAS_CALLBACK_MOUSE_MOVE, _on_index_mouse_move_cb, pd);
- evas_object_event_callback_add(index, EVAS_CALLBACK_MOUSE_UP, _on_index_mouse_up_cb, pd);
-
- return layout;
-}
-
-void horizontal_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Evas_Object *layout_inner;
-
- ad = (struct appdata *)data;
- if (ad == NULL) return;
-
- layout_inner = _create_index(ad->nf);
- elm_naviframe_item_push(ad->nf, _("PageControl") , NULL, NULL, layout_inner, NULL);
-}
-
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-
-typedef struct _page_data page_data;
-struct _page_data
-{
- Evas_Object *scroller;
- Evas_Object *box;
- Evas_Object *index;
- Evas_Object *page[3];
- Evas_Object *page_layout[3];
-
- int current_page;
- int page_width;
-
- Elm_Object_Item *last_it;
- Elm_Object_Item *new_it;
-};
-
-static void
-_on_index_mouse_down_cb(void *data, Evas *e, Evas_Object *o, void *event_info)
-{
- page_data *pd = (page_data *)data;
-
- /* Keep the last index item active and save the selected index item */
- if (!pd->last_it) return;
-
- int level = elm_index_item_level_get(o);
- pd->new_it = elm_index_selected_item_get(o, level);
- elm_index_item_selected_set(pd->last_it, EINA_TRUE);
-}
-
-static void
-_on_index_mouse_up_cb(void *data, Evas *e, Evas_Object *o, void *event_info)
-{
- page_data *pd = (page_data *)data;
-
- /* Keep the last index item active and move to the page of the currently selected index item */
- if (!pd->last_it) return;
- elm_index_item_selected_set(pd->last_it, EINA_TRUE);
-
- if (!pd->new_it) return;
-
- int idx = (int) elm_object_item_data_get(pd->new_it);
- if (idx == pd->current_page) return;
-
- elm_scroller_page_bring_in(pd->scroller, idx, 0);
-}
-
-static void
-_on_index_mouse_move_cb(void *data, Evas *e, Evas_Object *o, void *event_info)
-{
- page_data *pd = (page_data *)data;
-
- /* Keep the last index item active and save the currently selected index item */
- if (!pd->last_it) return;
-
- int level = elm_index_item_level_get(o);
- pd->new_it = elm_index_selected_item_get(o, level);
- elm_index_item_selected_set(pd->last_it, EINA_TRUE);
-}
-
-static void
-_index_sync(void *data)
-{
- page_data *pd = (page_data *)data;
- Elm_Object_Item *it;
- it = elm_index_item_find(pd->index, (void *)pd->current_page);
- if (it) {
- elm_index_item_selected_set(it, EINA_TRUE);
- pd->last_it = it;
- pd->new_it = it;
- }
-}
-
-static void
-_scroll_cb(void *data, Evas_Object *scroller, void *event_info)
-{
- page_data *pd = data;
- int page_no;
- elm_scroller_current_page_get(pd->scroller, &page_no, NULL);
- if (pd->current_page != page_no) {
- pd->current_page = page_no;
- _index_sync(pd);
- }
-}
-
-static void
-_layout_del_cb(void *data , Evas *e, Evas_Object *obj, void *event_info)
-{
- page_data *pd = data;
- free(pd);
-}
-
-static void
-_layout_resize_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- page_data *pd = (page_data *)data;
- Evas_Coord w, h;
-
- evas_object_geometry_get(obj, NULL, NULL, &w, &h);
- evas_object_size_hint_min_set(pd->page[0], w, h);
- evas_object_size_hint_min_set(pd->page[1], w, h);
- evas_object_size_hint_min_set(pd->page[2], w, h);
-
- pd->page_width = w;
- elm_scroller_page_size_set(pd->scroller, w, h);
- elm_scroller_page_show(pd->scroller, pd->current_page, 0);
-}
-
-static Evas_Object*
-_create_index(Evas_Object* parent)
-{
- Evas_Object *layout, *scroller, *box, *index, *page_layout, *page;
- Elm_Object_Item *it;
-
- if (parent == NULL) return NULL;
- /* Create Layout */
- layout = elm_layout_add(parent);
- if (layout == NULL) return NULL;
- page_data *pd = calloc(1, sizeof(page_data));
- if (pd == NULL) return NULL;
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "elmdemo-test/index");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_show(layout);
-
- evas_object_event_callback_add(layout, EVAS_CALLBACK_RESIZE, _layout_resize_cb, pd);
- evas_object_event_callback_add(layout, EVAS_CALLBACK_DEL, _layout_del_cb, pd);
-
- /* Create Scroller */
- scroller = elm_scroller_add(layout);
- elm_scroller_loop_set(scroller, EINA_TRUE, EINA_FALSE);
- evas_object_size_hint_weight_set(scroller, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(scroller, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_scroller_page_relative_set(scroller, 1.0, 0.0);
- elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
- elm_scroller_page_scroll_limit_set(scroller, 1, 0);
- elm_object_scroll_lock_y_set(scroller, EINA_TRUE);
- elm_object_part_content_set(layout, "scroller", scroller);
- evas_object_show(scroller);
-
- pd->scroller = scroller;
-
- evas_object_smart_callback_add(scroller, "scroll", _scroll_cb, pd);
-
- /* Create Box */
- box = elm_box_add(scroller);
- elm_box_horizontal_set(box, EINA_TRUE);
- elm_object_content_set(scroller, box);
- evas_object_show(box);
-
- pd->box = box;
-
- /* Create Pages */
- // page 1 layout
- page_layout = elm_layout_add(box);
- elm_layout_file_set(page_layout, ELM_DEMO_EDJ, "elmdemo-test/pagecontrol/page");
- evas_object_size_hint_weight_set(page_layout, 0, 0);
- evas_object_size_hint_align_set(page_layout, 0, EVAS_HINT_FILL);
- evas_object_show(page_layout);
- pd->page_layout[0] = page_layout;
-
- // page 1 content
- page = evas_object_rectangle_add(evas_object_evas_get(page_layout));
- evas_object_color_set(page, 50, 0, 0, 50);
- pd->page[0] = page;
-
- elm_object_part_content_set(page_layout, "page", page);
- elm_object_part_text_set(page_layout, "text", "Page1");
-
- elm_box_pack_end(box, page_layout);
-
- // page 2 layout
- page_layout = elm_layout_add(box);
- evas_object_size_hint_weight_set(page_layout, 0, 0);
- evas_object_size_hint_align_set(page_layout, 0, EVAS_HINT_FILL);
- elm_layout_file_set(page_layout, ELM_DEMO_EDJ, "elmdemo-test/pagecontrol/page");
- evas_object_show(page_layout);
- pd->page_layout[1] = page_layout;
-
- // page 2 content
- page = evas_object_rectangle_add(evas_object_evas_get(page_layout));
- evas_object_color_set(page, 0, 50, 0, 50);
- pd->page[1] = page;
-
- elm_object_part_content_set(page_layout, "page", page);
- elm_object_part_text_set(page_layout, "text", "Page2");
-
- elm_box_pack_end(box, page_layout);
-
- // page 3 layout
- page_layout = elm_layout_add(box);
- evas_object_size_hint_weight_set(page_layout, 0, 0);
- evas_object_size_hint_align_set(page_layout, 0, EVAS_HINT_FILL);
- elm_layout_file_set(page_layout, ELM_DEMO_EDJ, "elmdemo-test/pagecontrol/page");
- evas_object_show(page_layout);
- pd->page_layout[2] = page_layout;
-
- // page 3 content
- page = evas_object_rectangle_add(evas_object_evas_get(page_layout));
- evas_object_color_set(page, 0, 0, 50, 50);
- pd->page[2] = page;
-
- elm_object_part_content_set(page_layout, "page", page);
- elm_object_part_text_set(page_layout, "text", "Page3");
-
- elm_box_pack_end(box, page_layout);
-
- pd->current_page = 0;
-
- /* Create Index */
- index = elm_index_add(layout);
- evas_object_size_hint_weight_set(index, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(index, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_object_style_set(index, "pagecontrol");
- elm_index_horizontal_set(index, EINA_TRUE);
- elm_index_autohide_disabled_set(index, EINA_TRUE);
- elm_object_part_content_set(layout, "controller", index);
-
- it = elm_index_item_append(index, "1", NULL, (void *) 0);
- elm_index_item_append(index, "2", NULL, (void *) 1);
- elm_index_item_append(index, "3", NULL, (void *) 2);
-
- elm_index_level_go(index, 0);
- elm_index_item_selected_set(it, EINA_TRUE);
- pd->index = index;
- pd->last_it = it;
-
- evas_object_event_callback_add(index, EVAS_CALLBACK_MOUSE_DOWN, _on_index_mouse_down_cb, pd);
- evas_object_event_callback_add(index, EVAS_CALLBACK_MOUSE_MOVE, _on_index_mouse_move_cb, pd);
- evas_object_event_callback_add(index, EVAS_CALLBACK_MOUSE_UP, _on_index_mouse_up_cb, pd);
-
- return layout;
-}
-
-void horizontal_loop_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Evas_Object *layout_inner;
-
- ad = (struct appdata *)data;
- if (ad == NULL) return;
-
- layout_inner = _create_index(ad->nf);
- elm_naviframe_item_push(ad->nf, _("PageControl") , NULL, NULL, layout_inner, NULL);
-}
-
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-
-#define MAX_PAGE (double)3.0
-#define SLIDER_POPUP_X_Y 133
-
-typedef struct _page_data page_data;
-struct _page_data
-{
- Evas_Object *index_scroller;
- Evas_Object *slider_scroller;
- Evas_Object *box;
- Evas_Object *index_slider;
- Evas_Object *index;
- Evas_Object *page[3];
- Evas_Object *page_layout[3];
- Evas_Object *slider_popup;
- Evas_Object *index_layout;
- Ecore_Timer *longpress_timer;
- double page_width;
- double current_page;
- double dx;
- int page_height;
- Eina_Bool slider_show;
- Eina_Bool is_index;
- Elm_Object_Item *last_it;
- Elm_Object_Item *new_it;
-};
-
-static void
-_index_sync(void *data)
-{
- page_data *pd = (page_data *)data;
- Elm_Object_Item *it;
- it = elm_index_item_find(pd->index, (void *)(int)pd->current_page);
- if (it) {
- elm_index_item_selected_set(it, EINA_TRUE);
- pd->last_it = it;
- pd->new_it = it;
- }
-}
-
-static void
-_slider_popup_position_set(page_data *pd)
-{
- Evas_Coord x = 0, y = 0, w = 0, h = 0;
- int pos_x, pos_y;
-
- evas_object_geometry_get(pd->index, &x, &y, &w, &h);
- pos_x = x + (w / 2) - (int)(((double)SLIDER_POPUP_X_Y * elm_config_scale_get()) / 2);
- pos_y = y - (int)((double)SLIDER_POPUP_X_Y * elm_config_scale_get()) - 25;
- evas_object_move(pd->slider_popup, pos_x, pos_y);
-}
-
-static void
-_page_position_calculate(page_data *pd)
-{
- elm_scroller_region_show(pd->slider_scroller, pd->page_width * (int)pd->current_page, 0, pd->page_width, pd->page_height);
-}
-
-static void
-_scroll_cb(void *data, Evas_Object *scroller, void *event_info)
-{
- page_data *pd = data;
- double page_no;
- int page;
- char buf[50];
- Evas_Coord x, y, w, h;
-
- if (pd->is_index) {
- elm_scroller_current_page_get(pd->index_scroller, &page, NULL);
- if ((int)pd->current_page != page) {
- pd->current_page = page;
- _index_sync(pd);
- }
- }
- else {
- elm_scroller_region_get(pd->slider_scroller, &x, &y, &w, &h);
- page_no = x / pd->page_width;
- pd->current_page = page_no + 0.5; //To calculate 50% of the page scroll
- pd->page_width = w;
- pd->page_height = h;
- sprintf(buf, "%d", (int)(pd->current_page + 1.0));
- edje_object_part_text_set(_EDJ(pd->slider_popup), "page_no", buf);
- _index_sync(pd);
- }
-
-}
-
-static void
-_slider_up(page_data *pd)
-{
- Evas_Object *slider;
- slider = elm_object_part_content_unset(pd->index_layout, "controller");
- evas_object_hide(slider);
- elm_object_part_content_set(pd->index_layout, "controller", pd->index);
- evas_object_show(pd->index);
- evas_object_hide(pd->slider_popup);
- pd->slider_show = EINA_FALSE;
-}
-
-static void
-_slider_move(page_data *pd)
-{
- double idx;
- double normal;
- Evas_Coord y, w, h;
- char buf[50];
-
- evas_object_geometry_get(pd->box, NULL, &y, &w, &h);
- idx = pd->dx * (MAX_PAGE - 1);
- normal = (double)(w / MAX_PAGE);
- int unit = (int) (normal * idx);
- idx = idx + 0.5;
- pd->current_page = (int)idx;
- elm_scroller_region_show(pd->slider_scroller, unit, y, (w / MAX_PAGE), h);
- sprintf(buf, "%d", (int)(pd->current_page + 1.0));
- edje_object_part_text_set(_EDJ(pd->slider_popup), "page_no", buf);
-}
-
-static Evas_Object *
-_create_scroller(Evas_Object *parent, page_data *pd, Eina_Bool is_index)
-{
- /* Create Scroller */
- Evas_Object *scroller;
- scroller = elm_scroller_add(parent);
- elm_scroller_loop_set(scroller, EINA_FALSE, EINA_FALSE);
- evas_object_size_hint_weight_set(scroller, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(scroller, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
- elm_object_scroll_lock_y_set(scroller, EINA_TRUE);
- if (is_index) {
- elm_scroller_page_relative_set(scroller, 1.0, 0.0);
- elm_scroller_page_scroll_limit_set(scroller, 1, 0);
- }
- evas_object_smart_callback_add(scroller, "scroll", _scroll_cb, pd);
- return scroller;
-}
-
-static Evas_Object *
-_create_box(Evas_Object *parent, page_data *pd)
-{
- Evas_Object *box, *page_layout, *page;
- box = elm_box_add(parent);
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_box_horizontal_set(box, EINA_TRUE);
-
- /* Create Pages */
- // page 1 layout
- page_layout = elm_layout_add(box);
- elm_layout_file_set(page_layout, ELM_DEMO_EDJ, "elmdemo-test/pagecontrol/page");
- evas_object_size_hint_weight_set(page_layout, 0, 0);
- evas_object_size_hint_align_set(page_layout, 0, EVAS_HINT_FILL);
- evas_object_show(page_layout);
- pd->page_layout[0] = page_layout;
-
- // page 1 content
- page = evas_object_rectangle_add(evas_object_evas_get(page_layout));
- evas_object_color_set(page, 50, 0, 0, 50);
- pd->page[0] = page;
-
- elm_object_part_content_set(page_layout, "page", page);
- elm_object_part_text_set(page_layout, "text", "Page1");
- elm_box_pack_end(box, page_layout);
-
- // page 2 layout
- page_layout = elm_layout_add(box);
- evas_object_size_hint_weight_set(page_layout, 0, 0);
- evas_object_size_hint_align_set(page_layout, 0, EVAS_HINT_FILL);
- elm_layout_file_set(page_layout, ELM_DEMO_EDJ, "elmdemo-test/pagecontrol/page");
- evas_object_show(page_layout);
- pd->page_layout[1] = page_layout;
-
- // page 2 content
- page = evas_object_rectangle_add(evas_object_evas_get(page_layout));
- evas_object_color_set(page, 0, 50, 0, 50);
- pd->page[1] = page;
-
- elm_object_part_content_set(page_layout, "page", page);
- elm_object_part_text_set(page_layout, "text", "Page2");
- elm_box_pack_end(box, page_layout);
-
- // page 3 layout
- page_layout = elm_layout_add(box);
- evas_object_size_hint_weight_set(page_layout, 0, 0);
- evas_object_size_hint_align_set(page_layout, 0, EVAS_HINT_FILL);
- elm_layout_file_set(page_layout, ELM_DEMO_EDJ, "elmdemo-test/pagecontrol/page");
- evas_object_show(page_layout);
- pd->page_layout[2] = page_layout;
-
- // page 3 content
- page = evas_object_rectangle_add(evas_object_evas_get(page_layout));
- evas_object_color_set(page, 0, 0, 50, 50);
- pd->page[2] = page;
-
- elm_object_part_content_set(page_layout, "page", page);
- elm_object_part_text_set(page_layout, "text", "Page3");
-
- elm_box_pack_end(box, page_layout);
- return box;
-}
-
-static Eina_Bool
-_pop_cb(void *data, Elm_Object_Item *it)
-{
- page_data *pd = data;
- evas_object_del(pd->index_layout);
- return EINA_TRUE;
-}
-
-static void
-_layout_del_cb(void *data , Evas *e, Evas_Object *obj, void *event_info)
-{
- page_data *pd = data;
- if (pd->slider_popup)
- evas_object_del(pd->slider_popup);
- free(pd);
-}
-
-static void
-_layout_resize_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- page_data *pd = (page_data *)data;
- Evas_Coord w, h;
-
- evas_object_geometry_get(obj, NULL, NULL, &w, &h);
- evas_object_size_hint_min_set(pd->page[0], w, h);
- evas_object_size_hint_min_set(pd->page[1], w, h);
- evas_object_size_hint_min_set(pd->page[2], w, h);
- pd->page_width = w;
- elm_scroller_page_size_set(pd->index_scroller, w, h);
- elm_scroller_page_show(pd->index_scroller, (int)pd->current_page, 0);
- _slider_popup_position_set(pd);
-}
-
-static double
-_step_size_calculate(Evas_Object *obj, double min, double max)
-{
- double step = 0.0;
- int steps = 0;
-
- steps = max - min;
- if (steps) step = (1.0 / steps);
- return step;
-}
-
-static Evas_Object*
-_create_index_slider(page_data *pd)
-{
- /* Create Index Slider */
- double step;
- Evas_Object *index_slider;
- index_slider = elm_slider_add(pd->index_layout);
- elm_object_style_set(index_slider, "pagecontrol");
- evas_object_size_hint_weight_set(index_slider, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(index_slider, EVAS_HINT_FILL, 0.5);
- elm_slider_indicator_show_set(index_slider, EINA_FALSE);
- elm_slider_min_max_set(index_slider, 0, (MAX_PAGE - 1));
- step = _step_size_calculate(index_slider, 0, (MAX_PAGE - 1));
- elm_slider_step_set(index_slider, step);
- elm_slider_value_set(index_slider, 0);
- return index_slider;
-}
-
-Eina_Bool
-_longpress_timer_cb(void *data)
-{
- page_data *pd = (page_data *)data;
- Evas_Object *obj, *content;
-
- elm_object_content_unset(pd->index_scroller);
- content = elm_object_part_content_unset(pd->index_layout, "scroller");
- evas_object_hide(content);
- evas_object_hide(pd->index_scroller);
-
- elm_object_content_set(pd->slider_scroller, pd->box);
- elm_object_part_content_set(pd->index_layout, "scroller", pd->slider_scroller);
- evas_object_show(pd->slider_scroller);
-
- pd->is_index = EINA_FALSE;
- obj = elm_object_part_content_unset(pd->index_layout, "controller");
- evas_object_hide(obj);
- elm_object_part_content_set(pd->index_layout, "controller", pd->index_slider);
- evas_object_show(pd->index_slider);
- pd->longpress_timer = NULL;
- elm_slider_value_set(pd->index_slider, pd->dx * (MAX_PAGE -1));
- _slider_move(pd);
- pd->slider_show = EINA_TRUE;
- evas_object_show(pd->slider_popup);
- return ECORE_CALLBACK_CANCEL;
-}
-
-static void
-_on_index_mouse_down_cb(void *data, Evas *e, Evas_Object *o, void *event_info)
-{
- page_data *pd = (page_data *)data;
-
- /* Keep the last index item active and save the selected index item */
- if (!pd->last_it) return;
-
- int level = elm_index_item_level_get(o);
- pd->new_it = elm_index_selected_item_get(o, level);
- elm_index_item_selected_set(pd->last_it, EINA_TRUE);
- if (!pd->longpress_timer)
- pd->longpress_timer = ecore_timer_add(elm_config_longpress_timeout_get(), _longpress_timer_cb, pd);
-}
-
-static void
-_on_index_mouse_up_cb(void *data, Evas *e, Evas_Object *o, void *event_info)
-{
- page_data *pd = (page_data *)data;
- Evas_Object *content;
- if (pd->longpress_timer) {
- ecore_timer_del(pd->longpress_timer);
- pd->longpress_timer = NULL;
- }
- /* Keep the last index item active and move to the page of the currently selected index item */
- if (!pd->last_it) return;
- elm_index_item_selected_set(pd->last_it, EINA_TRUE);
-
- if (!pd->new_it) return;
-
- int idx = (int) elm_object_item_data_get(pd->new_it);
- pd->current_page = idx;
-
- _page_position_calculate(pd);
- _index_sync(pd);
- _slider_up(pd);
-
- if (pd->is_index) {
- elm_scroller_page_bring_in(pd->index_scroller, idx, 0);
- }
- else {
- elm_object_content_unset(pd->slider_scroller);
- content = elm_object_part_content_unset(pd->index_layout, "scroller");
- evas_object_hide(content);
- evas_object_hide(pd->slider_scroller);
-
- elm_object_content_set(pd->index_scroller, pd->box);
- elm_object_part_content_set(pd->index_layout, "scroller", pd->index_scroller);
- evas_object_show(pd->index_scroller);
- elm_scroller_page_show(pd->index_scroller, idx, 0);
- }
- pd->is_index = EINA_TRUE;
-}
-
-static void
-_on_index_mouse_move_cb(void *data, Evas *e, Evas_Object *o, void *event_info)
-{
- page_data *pd = (page_data *)data;
- if (!pd->last_it) return;
-
- int level = elm_index_item_level_get(o);
- pd->new_it = elm_index_selected_item_get(o, level);
- elm_index_item_selected_set(pd->last_it, EINA_TRUE);
-}
-
-static void
-_on_rect_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- page_data *pd = (page_data *)data;
- Evas_Event_Mouse_Down *ev = event_info;
- Evas_Coord x, y, w, h;
- evas_object_geometry_get(obj, &x, &y, &w, &h);
- pd->dx = ((double)ev->canvas.x - (double)x) / (double)w;
-}
-
-static void
-_on_rect_mouse_move_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- page_data *pd = (page_data *)data;
- Evas_Event_Mouse_Down *ev = event_info;
- Evas_Coord x, y, w, h;
- evas_object_geometry_get(obj, &x, &y, &w, &h);
- pd->dx = ((double)ev->canvas.x - (double)x) / (double)w;
- if (pd->slider_show && pd->dx <= 1.0) {
- elm_slider_value_set(pd->index_slider, pd->dx * (MAX_PAGE -1));
- _slider_move(pd);
- }
-}
-
-static void
-_create_index(Evas_Object* parent, page_data *pd)
-{
- Evas_Object *index, *rect;
- Elm_Object_Item *it;
-
- if (parent == NULL) return;
- /* Create Layout */
- if (pd == NULL) return;
- pd->index_layout = elm_layout_add(parent);
- if (pd->index_layout == NULL) return;
- elm_layout_file_set(pd->index_layout, ELM_DEMO_EDJ, "elmdemo-test/index_slider");
- evas_object_size_hint_weight_set(pd->index_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_show(pd->index_layout);
-
- evas_object_event_callback_add(pd->index_layout, EVAS_CALLBACK_RESIZE, _layout_resize_cb, pd);
- evas_object_event_callback_add(pd->index_layout, EVAS_CALLBACK_DEL, _layout_del_cb, pd);
-
- rect = evas_object_rectangle_add(evas_object_evas_get(parent));
- evas_object_color_set(rect, 0, 0, 0, 0);
- evas_object_pass_events_set(rect, EINA_TRUE);
- elm_object_part_content_set(pd->index_layout, "controller_rect", rect);
- evas_object_event_callback_add(rect, EVAS_CALLBACK_MOUSE_DOWN, _on_rect_down_cb, pd);
- evas_object_event_callback_add(rect, EVAS_CALLBACK_MOUSE_MOVE, _on_rect_mouse_move_cb, pd);
-
- pd->is_index = EINA_TRUE;
- pd->index_scroller = _create_scroller(pd->index_layout, pd, pd->is_index);
- elm_object_part_content_set(pd->index_layout, "scroller", pd->index_scroller);
-
- pd->box = _create_box(pd->index_scroller, pd);
-
- elm_object_content_set(pd->index_scroller, pd->box);
- evas_object_show(pd->box);
- evas_object_show(pd->index_scroller);
-
- pd->current_page = 0.0;
-
- /* Create Index */
- index = elm_index_add(pd->index_layout);
- evas_object_size_hint_weight_set(index, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(index, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_object_style_set(index, "pagecontrol");
- elm_index_horizontal_set(index, EINA_TRUE);
- elm_index_autohide_disabled_set(index, EINA_TRUE);
- elm_object_part_content_set(pd->index_layout, "controller", index);
-
- it = elm_index_item_append(index, "1", NULL, (void *) 0);
- elm_index_item_append(index, "2", NULL, (void *) 1);
- elm_index_item_append(index, "3", NULL, (void *) 2);
-
- elm_index_level_go(index, 0);
- elm_index_item_selected_set(it, EINA_TRUE);
- pd->index = index;
- pd->last_it = it;
-
- evas_object_event_callback_add(index, EVAS_CALLBACK_MOUSE_DOWN, _on_index_mouse_down_cb, pd);
- evas_object_event_callback_add(index, EVAS_CALLBACK_MOUSE_MOVE, _on_index_mouse_move_cb, pd);
- evas_object_event_callback_add(index, EVAS_CALLBACK_MOUSE_UP, _on_index_mouse_up_cb, pd);
-
- pd->index_slider = _create_index_slider(pd);
- pd->slider_scroller = _create_scroller(pd->index_layout, pd, !pd->is_index);
-}
-
-void index_slider_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Elm_Object_Item *navi_it;
-
- ad = (struct appdata *)data;
- if (ad == NULL) return;
- page_data *pd = calloc(1, sizeof(page_data));
- //slider popup layout
- pd->slider_popup = elm_layout_add(ad->nf);
- elm_layout_file_set(pd->slider_popup, ELM_DEMO_EDJ, "elmdemo-test/index_slider_popup");
- evas_object_resize(pd->slider_popup,
- (int)((double)SLIDER_POPUP_X_Y * elm_config_scale_get()),
- (int)((double)SLIDER_POPUP_X_Y * elm_config_scale_get()));
- _create_index(ad->nf, pd);
- navi_it = elm_naviframe_item_push(ad->nf, _("Slider PageControl") , NULL, NULL, pd->index_layout, NULL);
- elm_naviframe_item_pop_cb_set(navi_it, _pop_cb, pd);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-
-typedef struct _page_data page_data;
-struct _page_data
-{
- Evas_Object *scroller;
- Evas_Object *box;
- Evas_Object *index;
- Evas_Object *page[3];
- Evas_Object *page_layout[3];
-
- int current_page;
- int page_width;
-
- Elm_Object_Item *last_it;
- Elm_Object_Item *new_it;
-};
-
-static void
-_on_index_mouse_down_cb(void *data, Evas *e, Evas_Object *o, void *event_info)
-{
- page_data *pd = (page_data *)data;
-
- /* Keep the last index item active and save the selected index item */
- if (!pd->last_it) return;
-
- int level = elm_index_item_level_get(o);
- pd->new_it = elm_index_selected_item_get(o, level);
- elm_index_item_selected_set(pd->last_it, EINA_TRUE);
-}
-
-static void
-_on_index_mouse_up_cb(void *data, Evas *e, Evas_Object *o, void *event_info)
-{
- page_data *pd = (page_data *)data;
-
- /* Keep the last index item active and move to the page of the currently selected index item */
- if (!pd->last_it) return;
- elm_index_item_selected_set(pd->last_it, EINA_TRUE);
-
- if (!pd->new_it) return;
-
- int idx = (int) elm_object_item_data_get(pd->new_it);
- if (idx == pd->current_page) return;
-
- elm_scroller_page_bring_in(pd->scroller, 0, idx);
-}
-
-static void
-_on_index_mouse_move_cb(void *data, Evas *e, Evas_Object *o, void *event_info)
-{
- page_data *pd = (page_data *)data;
-
- /* Keep the last index item active and save the currently selected index item */
- if (!pd->last_it) return;
-
- int level = elm_index_item_level_get(o);
- pd->new_it = elm_index_selected_item_get(o, level);
- elm_index_item_selected_set(pd->last_it, EINA_TRUE);
-}
-
-static void
-_index_sync(void *data)
-{
- page_data *pd = (page_data *)data;
- Elm_Object_Item *it;
- it = elm_index_item_find(pd->index, (void *)pd->current_page);
- if (it) {
- elm_index_item_selected_set(it, EINA_TRUE);
- pd->last_it = it;
- pd->new_it = it;
- }
-}
-
-static void
-_scroll_cb(void *data, Evas_Object *scroller, void *event_info)
-{
- page_data *pd = data;
- int page_no;
- elm_scroller_current_page_get(pd->scroller, NULL, &page_no);
- if (pd->current_page != page_no) {
- pd->current_page = page_no;
- _index_sync(pd);
- }
-}
-
-static void
-_layout_del_cb(void *data , Evas *e, Evas_Object *obj, void *event_info)
-{
- page_data *pd = data;
- free(pd);
-}
-
-static void
-_layout_resize_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- page_data *pd = (page_data *)data;
- Evas_Coord w, h;
-
- evas_object_geometry_get(obj, NULL, NULL, &w, &h);
- evas_object_size_hint_min_set(pd->page[0], w, h);
- evas_object_size_hint_min_set(pd->page[1], w, h);
- evas_object_size_hint_min_set(pd->page[2], w, h);
-
- pd->page_width = w;
- elm_scroller_page_size_set(pd->scroller, w, h);
- elm_scroller_page_show(pd->scroller, pd->current_page, 0);
-}
-
-static Evas_Object*
-_create_index(Evas_Object* parent)
-{
- Evas_Object *layout, *scroller, *box, *index, *page_layout, *page;
- Elm_Object_Item *it;
-
- if (parent == NULL) return NULL;
- /* Create Layout */
- layout = elm_layout_add(parent);
- if (layout == NULL) return NULL;
- page_data *pd = calloc(1, sizeof(page_data));
- if (pd == NULL) return NULL;
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "elmdemo-test/index");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_show(layout);
-
- evas_object_event_callback_add(layout, EVAS_CALLBACK_RESIZE, _layout_resize_cb, pd);
- evas_object_event_callback_add(layout, EVAS_CALLBACK_DEL, _layout_del_cb, pd);
-
- /* Create Scroller */
- scroller = elm_scroller_add(layout);
- elm_scroller_loop_set(scroller, EINA_FALSE, EINA_FALSE);
- evas_object_size_hint_weight_set(scroller, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(scroller, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_scroller_page_relative_set(scroller, 0.0, 1.0);
- elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
- elm_scroller_page_scroll_limit_set(scroller, 0, 1);
- elm_object_scroll_lock_x_set(scroller, EINA_TRUE);
- elm_object_part_content_set(layout, "scroller", scroller);
- evas_object_show(scroller);
-
- pd->scroller = scroller;
-
- evas_object_smart_callback_add(scroller, "scroll", _scroll_cb, pd);
-
- /* Create Box */
- box = elm_box_add(scroller);
- elm_box_horizontal_set(box, EINA_FALSE);
- elm_object_content_set(scroller, box);
- evas_object_show(box);
-
- pd->box = box;
-
- /* Create Pages */
- // page 1 layout
- page_layout = elm_layout_add(box);
- elm_layout_file_set(page_layout, ELM_DEMO_EDJ, "elmdemo-test/pagecontrol/page");
- evas_object_size_hint_weight_set(page_layout, 0, 0);
- evas_object_size_hint_align_set(page_layout, 0, EVAS_HINT_FILL);
- evas_object_show(page_layout);
- pd->page_layout[0] = page_layout;
-
- // page 1 content
- page = evas_object_rectangle_add(evas_object_evas_get(page_layout));
- evas_object_color_set(page, 50, 0, 0, 50);
- pd->page[0] = page;
-
- elm_object_part_content_set(page_layout, "page", page);
- elm_object_part_text_set(page_layout, "text", "Page1");
-
- elm_box_pack_end(box, page_layout);
-
- // page 2 layout
- page_layout = elm_layout_add(box);
- evas_object_size_hint_weight_set(page_layout, 0, 0);
- evas_object_size_hint_align_set(page_layout, 0, EVAS_HINT_FILL);
- elm_layout_file_set(page_layout, ELM_DEMO_EDJ, "elmdemo-test/pagecontrol/page");
- evas_object_show(page_layout);
- pd->page_layout[1] = page_layout;
-
- // page 2 content
- page = evas_object_rectangle_add(evas_object_evas_get(page_layout));
- evas_object_color_set(page, 0, 50, 0, 50);
- pd->page[1] = page;
-
- elm_object_part_content_set(page_layout, "page", page);
- elm_object_part_text_set(page_layout, "text", "Page2");
-
- elm_box_pack_end(box, page_layout);
-
- // page 3 layout
- page_layout = elm_layout_add(box);
- evas_object_size_hint_weight_set(page_layout, 0, 0);
- evas_object_size_hint_align_set(page_layout, 0, EVAS_HINT_FILL);
- elm_layout_file_set(page_layout, ELM_DEMO_EDJ, "elmdemo-test/pagecontrol/page");
- evas_object_show(page_layout);
- pd->page_layout[2] = page_layout;
-
- // page 3 content
- page = evas_object_rectangle_add(evas_object_evas_get(page_layout));
- evas_object_color_set(page, 0, 0, 50, 50);
- pd->page[2] = page;
-
- elm_object_part_content_set(page_layout, "page", page);
- elm_object_part_text_set(page_layout, "text", "Page3");
-
- elm_box_pack_end(box, page_layout);
-
- pd->current_page = 0;
-
- /* Create Index */
- index = elm_index_add(layout);
- evas_object_size_hint_weight_set(index, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(index, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_object_style_set(index, "pagecontrol");
- elm_index_horizontal_set(index, EINA_TRUE);
- elm_index_autohide_disabled_set(index, EINA_TRUE);
- elm_object_part_content_set(layout, "controller", index);
-
- it = elm_index_item_append(index, "1", NULL, (void *) 0);
- elm_index_item_append(index, "2", NULL, (void *) 1);
- elm_index_item_append(index, "3", NULL, (void *) 2);
-
- elm_index_level_go(index, 0);
- elm_index_item_selected_set(it, EINA_TRUE);
- pd->index = index;
- pd->last_it = it;
-
- evas_object_event_callback_add(index, EVAS_CALLBACK_MOUSE_DOWN, _on_index_mouse_down_cb, pd);
- evas_object_event_callback_add(index, EVAS_CALLBACK_MOUSE_MOVE, _on_index_mouse_move_cb, pd);
- evas_object_event_callback_add(index, EVAS_CALLBACK_MOUSE_UP, _on_index_mouse_up_cb, pd);
-
- return layout;
-}
-
-void vertical_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Evas_Object *layout_inner;
-
- ad = (struct appdata *)data;
- if (ad == NULL) return;
-
- layout_inner = _create_index(ad->nf);
- elm_naviframe_item_push(ad->nf, _("PageControl") , NULL, NULL, layout_inner, NULL);
-}
-
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-
-typedef struct _page_data page_data;
-struct _page_data
-{
- Evas_Object *scroller;
- Evas_Object *box;
- Evas_Object *index;
- Evas_Object *page[3];
- Evas_Object *page_layout[3];
-
- int current_page;
- int page_width;
-
- Elm_Object_Item *last_it;
- Elm_Object_Item *new_it;
-};
-
-static void
-_on_index_mouse_down_cb(void *data, Evas *e, Evas_Object *o, void *event_info)
-{
- page_data *pd = (page_data *)data;
-
- /* Keep the last index item active and save the selected index item */
- if (!pd->last_it) return;
-
- int level = elm_index_item_level_get(o);
- pd->new_it = elm_index_selected_item_get(o, level);
- elm_index_item_selected_set(pd->last_it, EINA_TRUE);
-}
-
-static void
-_on_index_mouse_up_cb(void *data, Evas *e, Evas_Object *o, void *event_info)
-{
- page_data *pd = (page_data *)data;
-
- /* Keep the last index item active and move to the page of the currently selected index item */
- if (!pd->last_it) return;
- elm_index_item_selected_set(pd->last_it, EINA_TRUE);
-
- if (!pd->new_it) return;
-
- int idx = (int) elm_object_item_data_get(pd->new_it);
- if (idx == pd->current_page) return;
-
- elm_scroller_page_bring_in(pd->scroller, 0, idx);
-}
-
-static void
-_on_index_mouse_move_cb(void *data, Evas *e, Evas_Object *o, void *event_info)
-{
- page_data *pd = (page_data *)data;
-
- /* Keep the last index item active and save the currently selected index item */
- if (!pd->last_it) return;
-
- int level = elm_index_item_level_get(o);
- pd->new_it = elm_index_selected_item_get(o, level);
- elm_index_item_selected_set(pd->last_it, EINA_TRUE);
-}
-
-static void
-_index_sync(void *data)
-{
- page_data *pd = (page_data *)data;
- Elm_Object_Item *it;
- it = elm_index_item_find(pd->index, (void *)pd->current_page);
- if (it) {
- elm_index_item_selected_set(it, EINA_TRUE);
- pd->last_it = it;
- pd->new_it = it;
- }
-}
-
-static void
-_scroll_cb(void *data, Evas_Object *scroller, void *event_info)
-{
- page_data *pd = data;
- int page_no;
- elm_scroller_current_page_get(pd->scroller, NULL, &page_no);
- if (pd->current_page != page_no) {
- pd->current_page = page_no;
- _index_sync(pd);
- }
-}
-
-static void
-_layout_del_cb(void *data , Evas *e, Evas_Object *obj, void *event_info)
-{
- page_data *pd = data;
- free(pd);
-}
-
-static void
-_layout_resize_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- page_data *pd = (page_data *)data;
- Evas_Coord w, h;
-
- evas_object_geometry_get(obj, NULL, NULL, &w, &h);
- evas_object_size_hint_min_set(pd->page[0], w, h);
- evas_object_size_hint_min_set(pd->page[1], w, h);
- evas_object_size_hint_min_set(pd->page[2], w, h);
-
- pd->page_width = w;
- elm_scroller_page_size_set(pd->scroller, w, h);
- elm_scroller_page_show(pd->scroller, pd->current_page, 0);
-}
-
-static Evas_Object*
-_create_index(Evas_Object* parent)
-{
- Evas_Object *layout, *scroller, *box, *index, *page_layout, *page;
- Elm_Object_Item *it;
-
- if (parent == NULL) return NULL;
- /* Create Layout */
- layout = elm_layout_add(parent);
- if (layout == NULL) return NULL;
- page_data *pd = calloc(1, sizeof(page_data));
- if (pd == NULL) return NULL;
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "elmdemo-test/index");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_show(layout);
-
- evas_object_event_callback_add(layout, EVAS_CALLBACK_RESIZE, _layout_resize_cb, pd);
- evas_object_event_callback_add(layout, EVAS_CALLBACK_DEL, _layout_del_cb, pd);
-
- /* Create Scroller */
- scroller = elm_scroller_add(layout);
- elm_scroller_loop_set(scroller, EINA_FALSE, EINA_TRUE);
- evas_object_size_hint_weight_set(scroller, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(scroller, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_scroller_page_relative_set(scroller, 0.0, 1.0);
- elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
- elm_scroller_page_scroll_limit_set(scroller, 0, 1);
- elm_object_scroll_lock_x_set(scroller, EINA_TRUE);
- elm_object_part_content_set(layout, "scroller", scroller);
- evas_object_show(scroller);
-
- pd->scroller = scroller;
-
- evas_object_smart_callback_add(scroller, "scroll", _scroll_cb, pd);
-
- /* Create Box */
- box = elm_box_add(scroller);
- elm_box_horizontal_set(box, EINA_FALSE);
- elm_object_content_set(scroller, box);
- evas_object_show(box);
-
- pd->box = box;
-
- /* Create Pages */
- // page 1 layout
- page_layout = elm_layout_add(box);
- elm_layout_file_set(page_layout, ELM_DEMO_EDJ, "elmdemo-test/pagecontrol/page");
- evas_object_size_hint_weight_set(page_layout, 0, 0);
- evas_object_size_hint_align_set(page_layout, 0, EVAS_HINT_FILL);
- evas_object_show(page_layout);
- pd->page_layout[0] = page_layout;
-
- // page 1 content
- page = evas_object_rectangle_add(evas_object_evas_get(page_layout));
- evas_object_color_set(page, 50, 0, 0, 50);
- pd->page[0] = page;
-
- elm_object_part_content_set(page_layout, "page", page);
- elm_object_part_text_set(page_layout, "text", "Page1");
-
- elm_box_pack_end(box, page_layout);
-
- // page 2 layout
- page_layout = elm_layout_add(box);
- evas_object_size_hint_weight_set(page_layout, 0, 0);
- evas_object_size_hint_align_set(page_layout, 0, EVAS_HINT_FILL);
- elm_layout_file_set(page_layout, ELM_DEMO_EDJ, "elmdemo-test/pagecontrol/page");
- evas_object_show(page_layout);
- pd->page_layout[1] = page_layout;
-
- // page 2 content
- page = evas_object_rectangle_add(evas_object_evas_get(page_layout));
- evas_object_color_set(page, 0, 50, 0, 50);
- pd->page[1] = page;
-
- elm_object_part_content_set(page_layout, "page", page);
- elm_object_part_text_set(page_layout, "text", "Page2");
-
- elm_box_pack_end(box, page_layout);
-
- // page 3 layout
- page_layout = elm_layout_add(box);
- evas_object_size_hint_weight_set(page_layout, 0, 0);
- evas_object_size_hint_align_set(page_layout, 0, EVAS_HINT_FILL);
- elm_layout_file_set(page_layout, ELM_DEMO_EDJ, "elmdemo-test/pagecontrol/page");
- evas_object_show(page_layout);
- pd->page_layout[2] = page_layout;
-
- // page 3 content
- page = evas_object_rectangle_add(evas_object_evas_get(page_layout));
- evas_object_color_set(page, 0, 0, 50, 50);
- pd->page[2] = page;
-
- elm_object_part_content_set(page_layout, "page", page);
- elm_object_part_text_set(page_layout, "text", "Page3");
-
- elm_box_pack_end(box, page_layout);
-
- pd->current_page = 0;
-
- /* Create Index */
- index = elm_index_add(layout);
- evas_object_size_hint_weight_set(index, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(index, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_object_style_set(index, "pagecontrol");
- elm_index_horizontal_set(index, EINA_TRUE);
- elm_index_autohide_disabled_set(index, EINA_TRUE);
- elm_object_part_content_set(layout, "controller", index);
-
- it = elm_index_item_append(index, "1", NULL, (void *) 0);
- elm_index_item_append(index, "2", NULL, (void *) 1);
- elm_index_item_append(index, "3", NULL, (void *) 2);
-
- elm_index_level_go(index, 0);
- elm_index_item_selected_set(it, EINA_TRUE);
- pd->index = index;
- pd->last_it = it;
-
- evas_object_event_callback_add(index, EVAS_CALLBACK_MOUSE_DOWN, _on_index_mouse_down_cb, pd);
- evas_object_event_callback_add(index, EVAS_CALLBACK_MOUSE_MOVE, _on_index_mouse_move_cb, pd);
- evas_object_event_callback_add(index, EVAS_CALLBACK_MOUSE_UP, _on_index_mouse_up_cb, pd);
-
- return layout;
-}
-
-void vertical_loop_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Evas_Object *layout_inner;
-
- ad = (struct appdata *)data;
- if (ad == NULL) return;
-
- layout_inner = _create_index(ad->nf);
- elm_naviframe_item_push(ad->nf, _("PageControl") , NULL, NULL, layout_inner, NULL);
-}
-
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "indicator.h"
-
-static void
-_autohide_indi_cb(void *data, Evas_Object *obj, void *ev)
-{
- struct appdata *ad = (struct appdata *) data;
- Evas_Object *win, *conform;
-
- if ((!ad->win_main) || (!ad->conform))
- {
- printf("[%s]:We can't get conformant\n", __FUNCTION__);
- return;
- }
- win = ad->win_main;
- conform = ad->conform;
-
- elm_win_indicator_mode_set(win, ELM_WIN_INDICATOR_SHOW);
- elm_win_indicator_opacity_set(win, ELM_WIN_INDICATOR_TRANSPARENT);
-}
-
-static void
-_headerbg_indi_cb(void *data, Evas_Object *obj, void *ev)
-{
-
- struct appdata *ad = (struct appdata *) data;
- Evas_Object *win, *conform, *bg;
-
- if ((!ad->win_main) || (!ad->conform))
- {
- printf("[%s]:We can't get conformant\n", __FUNCTION__);
- return;
- }
- win = ad->win_main;
- conform = ad->conform;
-
- elm_win_indicator_mode_set(win, ELM_WIN_INDICATOR_SHOW);
- elm_win_indicator_opacity_set(win, ELM_WIN_INDICATOR_OPAQUE);
- elm_object_signal_emit(conform, "elm,state,indicator,nooverlap", "elm");
-
- bg = elm_bg_add(conform);
- elm_object_style_set(bg, "indicator/headerbg");
- elm_object_part_content_set(conform, "elm.swallow.indicator_bg", bg);
- evas_object_show(bg);
-}
-
-static void
-_translucent_indi_cb(void *data, Evas_Object *obj, void *ev)
-{
- struct appdata *ad = (struct appdata *) data;
- Evas_Object *win, *conform, *bg;
-
- if ((!ad->win_main) || (!ad->conform))
- {
- printf("[%s]:We can't get conformant\n", __FUNCTION__);
- return;
- }
- win = ad->win_main;
- conform = ad->conform;
-
- elm_win_indicator_mode_set(win, ELM_WIN_INDICATOR_SHOW);
- elm_win_indicator_opacity_set(win, ELM_WIN_INDICATOR_OPAQUE);
- elm_object_signal_emit(conform, "elm,state,indicator,overlap", "elm");
-
- bg = elm_bg_add(conform);
- elm_object_style_set(bg, "indicator/translucent");
- elm_object_part_content_set(conform, "elm.swallow.indicator_bg", bg);
- evas_object_show(bg);
-}
-
-static void
-_transparent_indi_cb(void *data, Evas_Object *obj, void *ev)
-{
- struct appdata *ad = (struct appdata *) data;
- Evas_Object *win, *conform, *bg;
-
- if ((!ad->win_main) || (!ad->conform))
- {
- printf("[%s]:We can't get conformant\n", __FUNCTION__);
- return;
- }
- win = ad->win_main;
- conform = ad->conform;
-
- elm_win_indicator_mode_set(win, ELM_WIN_INDICATOR_SHOW);
- elm_win_indicator_opacity_set(win, ELM_WIN_INDICATOR_OPAQUE);
- elm_object_signal_emit(conform, "elm,state,indicator,overlap", "elm");
-
- bg = elm_bg_add(conform);
- elm_object_style_set(bg, "indicator/transparent");
- elm_object_part_content_set(conform, "elm.swallow.indicator_bg", bg);
- evas_object_show(bg);
-}
-
-//recover indicator when indicator start
-static void
-_default_indi_cb(void *data, Evas_Object *obj, void *ev)
-{
- struct appdata *ad = (struct appdata *) data;
- Evas_Object *win, *conform, *bg;
-
- if ((!ad->win_main) || (!ad->conform))
- {
- printf("[%s]:We can't get conformant\n", __FUNCTION__);
- return;
- }
- win = ad->win_main;
- conform = ad->conform;
-
- elm_win_indicator_mode_set(win, ELM_WIN_INDICATOR_SHOW);
- elm_win_indicator_opacity_set(win, ELM_WIN_INDICATOR_OPAQUE);
- elm_object_signal_emit(conform, "elm,state,indicator,nooverlap", "elm");
-
- bg = elm_bg_add(conform);
- elm_object_style_set(bg, "indicator/default");
- elm_object_part_content_set(conform, "elm.swallow.indicator_bg", bg);
- evas_object_show(bg);
-}
-
-static Evas_Object *
-_create_box(Evas_Object *parent, void *data)
-{
- struct appdata *ad = (struct appdata *) data;
- Evas_Object * bx;
- Evas_Object *bt;
- Evas_Object *win;
- win = ad->win_main;
-
- // Create box
- bx = elm_box_add(parent);
-
- bt = elm_button_add(bx);
- elm_object_text_set(bt, "Default indicator");
- evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0);
- evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0);
- evas_object_show(bt);
- elm_box_pack_end(bx, bt);
- evas_object_smart_callback_add(bt, "clicked", _default_indi_cb, data);
-
- bt = elm_button_add(bx);
- elm_object_text_set(bt, "Headerbg indicator");
- evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0);
- evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0);
- evas_object_show(bt);
- elm_box_pack_end(bx, bt);
- evas_object_smart_callback_add(bt, "clicked", _headerbg_indi_cb, data);
-
- bt = elm_button_add(bx);
- elm_object_text_set(bt, "Translucent indicator");
- evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0);
- evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0);
- evas_object_show(bt);
- elm_box_pack_end(bx, bt);
- evas_object_smart_callback_add(bt, "clicked", _translucent_indi_cb, data);
-
- bt = elm_button_add(bx);
- elm_object_text_set(bt, "Transparent indicator");
- evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0);
- evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0);
- evas_object_show(bt);
- elm_box_pack_end(bx, bt);
- evas_object_smart_callback_add(bt, "clicked", _transparent_indi_cb, data);
-
- bt = elm_button_add(bx);
- elm_object_text_set(bt, "Autohide indicator");
- evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0);
- evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0);
- evas_object_show(bt);
- elm_box_pack_end(bx, bt);
- evas_object_smart_callback_add(bt, "clicked", _autohide_indi_cb, data);
- return bx;
-}
-
-void indicator_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad = (struct appdata *) data;
- Evas_Object *box;
- Evas_Object *win, *conform;
- win = ad->win_main;
- conform = ad->conform;
-
- box = _create_box(ad->nf, data);
-
- elm_naviframe_item_push(ad->nf, _("Indicator"), NULL, NULL, box, NULL);
-
-}
+++ /dev/null
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-
-#include <Eina.h>
-
-#include <dynamicbox_service.h>
-#include <dynamicbox_errno.h>
-
-#include "instance.h"
-
-struct instance {
- char *id;
- char *content;
- int w;
- int h;
- void *data;
-};
-
-static struct info {
- Eina_List *inst_list;
-} s_info = {
- .inst_list = NULL,
-};
-
-struct instance *instance_create(const char *id, const char *content, int w, int h)
-{
- struct instance *inst;
-
- inst = calloc(1, sizeof(*inst));
- if (!inst) {
- return NULL;
- }
-
- inst->id = strdup(id);
- if (!inst->id) {
- free(inst);
- return NULL;
- }
-
- inst->w = w;
- inst->h = h;
-
- s_info.inst_list = eina_list_append(s_info.inst_list, inst);
-
- return inst;
-}
-
-int instance_destroy(struct instance *inst)
-{
- s_info.inst_list = eina_list_remove(s_info.inst_list, inst);
- free(inst->id);
- free(inst);
- return DBOX_STATUS_ERROR_NONE;
-}
-
-struct instance *instance_find(const char *id)
-{
- Eina_List *l;
- struct instance *inst;
-
- if (!id) {
- return NULL;
- }
-
- EINA_LIST_FOREACH(s_info.inst_list, l, inst) {
- if (!strcmp(inst->id, id)) {
- return inst;
- }
- }
-
- return NULL;
-}
-
-int instance_set_size_by_id(const char *id, int w, int h)
-{
- struct instance *inst;
-
- inst = instance_find(id);
- if (!inst) {
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
- }
-
- return instance_set_size_by_handle(inst, w, h);
-}
-
-int instance_set_size_by_handle(struct instance *inst, int w, int h)
-{
- inst->w = w;
- inst->h = h;
-
- return DBOX_STATUS_ERROR_NONE;
-}
-
-int instance_get_size_by_id(const char *id, int *w, int *h)
-{
- struct instance *inst;
-
- inst = instance_find(id);
- if (!inst) {
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
- }
-
- return instance_get_size_by_handle(inst, w, h);
-}
-
-int instance_get_size_by_handle(struct instance *inst, int *w, int *h)
-{
- *w = inst->w;
- *h = inst->h;
-
- return DBOX_STATUS_ERROR_NONE;
-}
-
-int instance_set_data(struct instance *inst, void *data)
-{
- inst->data = data;
- return DBOX_STATUS_ERROR_NONE;
-}
-
-void *instance_data(struct instance *inst)
-{
- return inst->data;
-}
-
-int instance_crawling(int (*cb)(struct instance *inst, void *data), void *data)
-{
- Eina_List *l;
- Eina_List *n;
- struct instance *inst;
- int cnt = 0;
-
- EINA_LIST_FOREACH_SAFE(s_info.inst_list, l, n, inst) {
- if (cb(inst, data) < 0) {
- break;
- }
- cnt++;
- }
-
- return cnt;
-}
-
-/* End of a file */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 <Elementary.h>
-#include "elmdemo_util.h"
-#include "elmdemo_test.h"
-#include "label.h"
-#include "label_textstyles.h"
-#include "label_linebreakmodes.h"
-#include "label_colorstyles.h"
-#include "label_ellipsis.h"
-#include "label_slide.h"
-
-static struct _menu_item menu_its[] = {
- { "Styles", label_text_styles_cb },
- { "Linebreakmodes", label_linebreak_modes_cb },
- { "Color Styles", label_color_styles_cb },
- { "Ellipsis", label_ellipsis_cb },
- { "Text Slide", label_slide_cb },
- /* do not delete below */
- { NULL, NULL }
-};
-
-static void _list_click(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *it = (Elm_Object_Item *) elm_list_selected_item_get(obj);
-
- if (it == NULL)
- {
- fprintf((LOG_PRI(LOG_ERR) == LOG_ERR?stderr:stdout), "List item is NULL.\n");
- return;
- }
-
- elm_list_item_selected_set(it, EINA_FALSE);
-}
-
-static Evas_Object* _create_list_winset(struct appdata* ad)
-{
- Evas_Object *li;
-
- if (ad == NULL) return NULL;
-
- li = elm_list_add(ad->nf);
- elm_list_mode_set(li, ELM_LIST_COMPRESS);
- evas_object_smart_callback_add(li, "selected", _list_click, NULL);
-
- int idx = 0;
-
- while(menu_its[ idx ].name != NULL) {
-
- elm_list_item_append(
- li,
- menu_its[ idx ].name,
- NULL,
- NULL,
- menu_its[ idx ].func,
- ad);
- ++idx;
- }
-
- elm_list_go(li);
-
- return li;
-}
-
-void label_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *list;
- struct appdata *ad = (struct appdata *) data;
- if (ad == NULL) return;
-
- list = _create_list_winset(ad);
- elm_naviframe_item_push(ad->nf, _("Label"), NULL, NULL, list, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "label.h"
-#include "label_colorstyles.h"
-
-/*********************************************************
- label
- ********************************************************/
-static Evas_Object* _create_labels(Evas_Object* parent)
-{
- Evas_Object* layout = elm_layout_add(parent);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "elmdemo-test/label");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- Evas_Object *label;
- label = elm_label_add(layout);
- elm_object_part_content_set(layout, "label1", label);
- elm_object_text_set(label, _("<align=center>font color black</align>"));
-
- Evas_Object *label2;
- label2 = elm_label_add(layout);
- elm_object_part_content_set(layout, "label2", label2);
- elm_object_text_set(label2, _("<color=#FF4500FF><align=center>font color orange red</align></color>"));
-
- Evas_Object *label3;
- label3 = elm_label_add(layout);
- elm_object_part_content_set(layout, "label3", label3);
- elm_object_text_set(label3, _("<color=#00008BFF><align=center>font color dark blue<align></color>"));
-
- Evas_Object *label4;
- label4 = elm_label_add(layout);
- elm_object_part_content_set(layout, "label4", label4);
- elm_object_text_set(label4, _("<color=#4D554BFF><align=center>pastel green colored bg</align></color>"));
-
- Evas_Object *label5;
- label5 = elm_label_add(layout);
- elm_object_part_content_set(layout, "label5", label5);
- elm_object_text_set(label5, _("<color=#B3101FFF><align=center>pastel pink colored bg</align></color>"));
-
- return layout;
-}
-
-
-
-static Evas_Object* _create_scroller(Evas_Object* parent)
-{
- Evas_Object* scroller = elm_scroller_add(parent);
- elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE);
- elm_scroller_policy_set(scroller,ELM_SCROLLER_POLICY_OFF,ELM_SCROLLER_POLICY_AUTO);
- evas_object_show(scroller);
-
- return scroller;
-}
-
-void label_color_styles_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *scroller, *layout_inner;
- struct appdata *ad = (struct appdata *) data;
- if (ad == NULL) return;
-
- scroller = _create_scroller(ad->nf);
- elm_naviframe_item_push(ad->nf, _("Color Styles"), NULL, NULL, scroller, NULL);
-
- layout_inner = _create_labels(ad->nf);
- elm_object_content_set(scroller, layout_inner);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "label.h"
-#include "label_ellipsis.h"
-
-/*********************************************************
- label
- ********************************************************/
-static Evas_Object* _create_labels(Evas_Object* parent)
-{
- Evas_Object* layout = elm_layout_add(parent);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "elmdemo-test/label");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- Evas_Object *label;
- label = elm_label_add(layout);
- elm_object_part_content_set(layout, "label1", label);
- elm_object_text_set(label, _("<font_size=24>If the string length exceeds the width</font_size>"));
- elm_label_ellipsis_set(label, EINA_TRUE);
- elm_label_wrap_width_set(label, 300);
-
- Evas_Object *label2;
- label2 = elm_label_add(layout);
- elm_object_part_content_set(layout, "label2", label2);
- elm_object_text_set(label2, _("<font_size=24>If the string length exceeds the width of the</font_size>"));
- elm_label_ellipsis_set(label2, EINA_TRUE);
- elm_label_wrap_width_set(label2, 300);
-
- Evas_Object *label3;
- label3 = elm_label_add(layout);
- elm_object_part_content_set(layout, "label3", label3);
- elm_object_text_set(label3, _("<font_size=24>If the string length exceeds the width of the widget, then the string will be ellipsised by label. but it's a exprimental api and very slow function.</font_size>"));
- elm_label_wrap_width_set(label3, 300);
- elm_label_ellipsis_set(label3, EINA_TRUE);
-
- Evas_Object *label4;
- label4 = elm_label_add(layout);
- elm_object_part_content_set(layout, "label4", label4);
- elm_object_text_set(label4, _("<font_size=24>If the string length exceeds the width of the widget, then the string will be ellipsised by label. but it's a exprimental api and very slow function.</font_size>"));
- elm_label_wrap_width_set(label4, 300);
- elm_label_ellipsis_set(label4, EINA_TRUE);
-
- Evas_Object *label5;
- label5 = elm_label_add(layout);
- elm_object_part_content_set(layout, "label5", label5);
- elm_object_text_set(label5, _("If the string length exceeds the width of the widget, then the string will be ellipsised by label. However, it's a exprimental api and very slow function. Ellipsis feature supports multiline texts. Programmers should not misuse multiline ellipsis. It's slow a function."));
- elm_label_wrap_width_set(label5, 300);
- elm_label_ellipsis_set(label5, EINA_TRUE);
-
- /*
- elm_theme_extension_add(NULL, ELM_DEMO_EDJ");
- Evas_Object *label5;
- label5 = elm_label_add(layout);
- elm_object_style_set(label5, "extended/wrap_ellipsis");
- elm_object_part_content_set(layout, "label5", label5);
- elm_label_line_wrap_set(label5, 1);
- elm_object_text_set(label5, _("If the string length exceeds the width of the label, the font size is changed automatically. kdbGetKey(file/contact/display_order) failed(Resource temporarily unavailable) kdb Get(file/contact/display_order) failed ERR:e_dbus e_dbus_signal.c:71 cb_name_owner() Error: org.freedesktop.DBus.Errore [TAPI Library] [PID: 2384, tapi_send_request:170] D-Bus API failure: errCode[0 [ 1198.769543] max8998 4-0066: Power Button Pushed (0x80) [keyrouter][DeliverDeviceKeyEvents] Non-grabbed key! Deliver KeyPress (keycode: [dix] Could not init font path element /usr/share/fonts/X11/cyrillic, removing from list!"));
- elm_label_wrap_width_set(label5, 300);
- elm_label_wrap_height_set(label5, 120);
- elm_label_ellipsis_set(label5, 1);
- //elm_object_style_set(label5, "extended/wrap_ellipsis");
- elm_label_background_color_set(label5, 220, 227, 229, 255);
- */
-
- return layout;
-}
-
-static Evas_Object* _create_scroller(Evas_Object* parent)
-{
- Evas_Object* scroller = elm_scroller_add(parent);
- elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE);
- elm_scroller_policy_set(scroller,ELM_SCROLLER_POLICY_OFF,ELM_SCROLLER_POLICY_AUTO);
- evas_object_show(scroller);
-
- return scroller;
-}
-
-void label_ellipsis_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *scroller, *layout_inner;
- struct appdata *ad = (struct appdata *) data;
- if (ad == NULL) return;
-
- scroller = _create_scroller(ad->nf);
- elm_naviframe_item_push(ad->nf, _("Ellipsis"), NULL, NULL, scroller, NULL);
-
- layout_inner = _create_labels(ad->nf);
- elm_object_content_set(scroller, layout_inner);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "label.h"
-#include "label_linebreakmodes.h"
-
-/*********************************************************
- label
- ********************************************************/
-static Evas_Object* _create_labels(Evas_Object* parent)
-{
- Evas_Object* layout = elm_layout_add(parent);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "elmdemo-test/label");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- Evas_Object *label;
- label = elm_label_add(layout);
- elm_object_part_content_set(layout, "label1", label);
- elm_object_text_set(label, _("<align=left>left aligned label</align>"));
-
- Evas_Object *label2;
- label2 = elm_label_add(layout);
- elm_object_part_content_set(layout, "label2", label2);
- elm_object_text_set(label2, _("<align=center>center aligned label<align>"));
-
- Evas_Object *label3;
- label3 = elm_label_add(layout);
- elm_object_part_content_set(layout, "label3", label3);
- elm_label_wrap_width_set(label3, 100);
- elm_object_text_set(label3, _("<align=right>right aligned label</align>"));
-
- Evas_Object *label4;
- label4 = elm_label_add(layout);
- elm_object_part_content_set(layout, "label4", label4);
- elm_label_wrap_width_set(label4, 100);
- elm_object_text_set(label4, _("<align=left>left aligned label</align>"));
-
- Evas_Object *label5;
- label5 = elm_label_add(layout);
- elm_object_part_content_set(layout, "label5", label5);
- elm_label_line_wrap_set(label5, EINA_TRUE);
- elm_label_wrap_width_set(label5, 100);
- elm_object_text_set(label5, _("<align=left>label changes line automatically if label wrap width is set and the text length is bigger than the width of the label</align>"));
-
- /*
- elm_theme_extension_add(NULL, ELM_DEMO_EDJ");
- Evas_Object *label5;
- label5 = elm_label_add(layout);
- elm_object_part_content_set(layout, "label5", label5);
- elm_label_wrap_width_set(label5, 100);
- elm_object_style_set(label5, "extended/label_wordwrap");
- elm_object_text_set(label5, _("label changes line automatically if label wrap width is set and the text length is bigger than the width of the label."));
- elm_label_text_align_set(label5, "left");
- elm_label_background_color_set(label5, 220, 227, 229, 255);
- */
-
- return layout;
-}
-
-
-
-static Evas_Object* _create_scroller(Evas_Object* parent)
-{
- Evas_Object* scroller = elm_scroller_add(parent);
- elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE);
- elm_scroller_policy_set(scroller,ELM_SCROLLER_POLICY_OFF,ELM_SCROLLER_POLICY_AUTO);
- evas_object_show(scroller);
-
- return scroller;
-}
-
-void label_linebreak_modes_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *layout_inner, *scroller;
- struct appdata *ad = (struct appdata *) data;
- if (ad == NULL) return;
-
- scroller = _create_scroller(ad->nf);
- elm_naviframe_item_push(ad->nf, _("Linebreakmodes"), NULL, NULL, scroller, NULL);
-
- layout_inner = _create_labels(ad->nf);
- elm_object_content_set(scroller, layout_inner);
-
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "label.h"
-#include "label_slide.h"
-
-/*********************************************************
- label
- ********************************************************/
-
-
-static void
-_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *label = (Evas_Object *)data;
- const char* text;
- text = elm_object_text_get(obj);
- if (strcmp(text,"Start Sliding") == 0)
- {
- while (label != NULL)
- {
- label = evas_object_data_get(label, "next_label");
- elm_label_slide_mode_set(label, ELM_LABEL_SLIDE_MODE_AUTO);
- elm_label_slide_go(label);
- }
- elm_object_text_set(obj, "Stop Sliding");
- }
- else
- {
- while (label != NULL)
- {
- label = evas_object_data_get(label, "next_label");
- elm_label_slide_mode_set(label, ELM_LABEL_SLIDE_MODE_NONE);
- elm_label_slide_go(label);
- }
- elm_object_text_set(obj, "Start Sliding");
- }
-}
-
-static Evas_Object* _create_labels(Evas_Object* parent)
-{
- Evas_Object* layout = elm_layout_add(parent);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "elmdemo-test/label_slide");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- Evas_Object *label_long_5sec;
- label_long_5sec = elm_label_add(layout);
- elm_object_style_set(label_long_5sec, "slide_long");
- elm_object_text_set(label_long_5sec, "<color=#4D554BFF>This is a sample long text for sliding demo in elm label.</color>");
- elm_object_part_content_set(layout, "swallow_label_1", label_long_5sec);
- elm_label_wrap_width_set(label_long_5sec, 100);
- elm_label_slide_duration_set(label_long_5sec, 5);
- elm_label_slide_mode_set(label_long_5sec, ELM_LABEL_SLIDE_MODE_ALWAYS);
-
- Evas_Object *label_long_10sec;
- label_long_10sec = elm_label_add(layout);
- elm_object_style_set(label_long_10sec, "slide_long");
- elm_object_text_set(label_long_10sec, "<color=#4D554BFF>This is a sample long text for sliding demo in elm label.</color>");
- elm_object_part_content_set(layout, "swallow_label_2", label_long_10sec);
- elm_label_wrap_width_set(label_long_10sec, 100);
- elm_label_slide_duration_set(label_long_10sec, 10);
- elm_label_slide_mode_set(label_long_10sec, ELM_LABEL_SLIDE_MODE_ALWAYS);
-
- Evas_Object *label_short;
- label_short = elm_label_add(layout);
- elm_object_style_set(label_short, "slide_short");
- elm_object_text_set(label_short, "<color=#4D554BFF>This is a sample long text for sliding demo in elm label.</color>");
- elm_object_part_content_set(layout, "swallow_label_3", label_short);
- elm_label_wrap_width_set(label_short, 100);
- elm_label_slide_duration_set(label_short, 5);
- elm_label_slide_mode_set(label_short, ELM_LABEL_SLIDE_MODE_ALWAYS);
-
- Evas_Object *label_bounce;
- label_bounce = elm_label_add(layout);
- elm_object_style_set(label_bounce, "slide_bounce");
- elm_object_text_set(label_bounce, "<color=#4D554BFF>This is a sample long text for sliding demo in elm label.</color>");
- elm_object_part_content_set(layout, "swallow_label_4", label_bounce);
- elm_label_wrap_width_set(label_bounce, 100);
- elm_label_slide_duration_set(label_bounce, 3);
- elm_label_slide_mode_set(label_bounce, ELM_LABEL_SLIDE_MODE_ALWAYS);
-
- Evas_Object *label_rollShort;
- label_rollShort = elm_label_add(layout);
- elm_object_style_set(label_rollShort, "slide_roll");
- elm_object_text_set(label_rollShort, "<color=#4D554BFF>This is a sample roll style.</color>");
- elm_object_part_content_set(layout, "swallow_label_5", label_rollShort);
- elm_label_wrap_width_set(label_rollShort, 100);
- elm_label_slide_mode_set(label_rollShort, ELM_LABEL_SLIDE_MODE_ALWAYS);
-
- Evas_Object *label_rollLong;
- label_rollLong = elm_label_add(layout);
- elm_object_style_set(label_rollLong, "slide_roll");
- elm_object_text_set(label_rollLong, "<color=#4D554BFF>This is a sample long text for slide roll style demo in elm label.</color>");
- elm_object_part_content_set(layout, "swallow_label_6", label_rollLong);
- elm_label_wrap_width_set(label_rollLong, 100);
- elm_label_slide_mode_set(label_rollLong, ELM_LABEL_SLIDE_MODE_ALWAYS);
-
- evas_object_data_set(label_long_5sec, "next_label", label_long_10sec);
- evas_object_data_set(label_long_10sec, "next_label", label_short);
- evas_object_data_set(label_short, "next_label", label_bounce);
- evas_object_data_set(label_bounce, "next_label", label_rollShort);
- evas_object_data_set(label_rollShort, "next_label", label_rollLong);
-
- Evas_Object *btn;
- btn = elm_button_add(layout);
- elm_object_text_set(btn, "Start Sliding");
- evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_smart_callback_add(btn, "clicked", _btn_clicked_cb, label_long_5sec);
- elm_object_part_content_set(layout, "swallow_btn", btn);
-
- return layout;
-}
-
-static Evas_Object* _create_scroller(Evas_Object* parent)
-{
- Evas_Object* scroller = elm_scroller_add(parent);
- elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE);
- elm_scroller_policy_set(scroller,ELM_SCROLLER_POLICY_OFF,ELM_SCROLLER_POLICY_AUTO);
- evas_object_show(scroller);
-
- return scroller;
-}
-
-void label_slide_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *scroller, *layout_inner;
- struct appdata *ad = (struct appdata *) data;
- if (ad == NULL) return;
-
- scroller = _create_scroller(ad->nf);
- elm_naviframe_item_push(ad->nf, _("Slide Text"), NULL, NULL, scroller, NULL);
-
- layout_inner = _create_labels(ad->nf);
- elm_object_content_set(scroller, layout_inner);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "label.h"
-#include "label_textstyles.h"
-
-/*********************************************************
- label
- ********************************************************/
-static Evas_Object* _create_labels(Evas_Object* parent)
-{
- Evas_Object* layout = elm_layout_add(parent);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "elmdemo-test/label");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- Evas_Object *label;
- label = elm_label_add(layout);
- elm_object_part_content_set(layout, "label1", label);
- elm_object_text_set(label, _("<font_size=15><align=center>fontsize is set to 15</align></font_size>"));
-
- Evas_Object *label2;
- label2 = elm_label_add(layout);
- elm_object_part_content_set(layout, "label2", label2);
- elm_object_text_set(label2, _("<font_size=20><align=center>fontsize is set to 20</align></font_size>"));
-
- Evas_Object *label3;
- label3 = elm_label_add(layout);
- elm_object_part_content_set(layout, "label3", label3);
- elm_object_text_set(label3, _("<font_size=25><align=center>fontsize is set to 25</align></font_size>"));
-
- Evas_Object *label4;
- label4 = elm_label_add(layout);
- elm_object_part_content_set(layout, "label4", label4);
- elm_object_text_set(label4, _("<font_size=30><align=center>fontsize is set to 30</align></font_size>"));
-
- Evas_Object *label5;
- label5 = elm_label_add(layout);
- elm_object_part_content_set(layout, "label5", label5);
- elm_object_text_set(label5, _("<font_size=40><align=center>fontsize is set to 40</align></font_size>"));
-
- return layout;
-}
-
-static Evas_Object* _create_scroller(Evas_Object* parent)
-{
- Evas_Object* scroller = elm_scroller_add(parent);
- elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE);
- elm_scroller_policy_set(scroller,ELM_SCROLLER_POLICY_OFF,ELM_SCROLLER_POLICY_AUTO);
- evas_object_show(scroller);
-
- return scroller;
-}
-
-void label_text_styles_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *scroller, *layout_inner;
- struct appdata *ad = (struct appdata *) data;
- if (ad == NULL) return;
-
- scroller = _create_scroller(ad->nf);
- elm_naviframe_item_push(ad->nf, _("Text Styles"), NULL, NULL, scroller, NULL);
-
- layout_inner = _create_labels(ad->nf);
- elm_object_content_set(scroller, layout_inner);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_util.h"
-#include "elmdemo_test.h"
-#include "layout.h"
-
-/*********************************************************
- SearchBar Normal
- ********************************************************/
-
-static struct _menu_item menu_its[] = {
- { "Nocontent Styles", layout_nocontent_styles_cb },
- { NULL, NULL }
-};
-
-static void _list_click(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *it = (Elm_Object_Item *) elm_list_selected_item_get(obj);
- if(it == NULL) return;
-
- elm_list_item_selected_set(it, EINA_FALSE);
-}
-
-static Evas_Object* _create_list_winset(struct appdata* ad)
-{
- Evas_Object *li;
-
- if(ad == NULL) return NULL;
-
- li = elm_list_add(ad->nf);
- elm_list_mode_set(li, ELM_LIST_COMPRESS);
- evas_object_smart_callback_add(li, "selected", _list_click, NULL);
-
- int idx = 0;
-
- while (menu_its[ idx ].name != NULL) {
- elm_list_item_append(
- li,
- menu_its[ idx ].name,
- NULL,
- NULL,
- menu_its[ idx ].func,
- ad);
- ++idx;
- }
- elm_list_go(li);
-
- return li;
-}
-
-
-void layout_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Evas_Object *list;
-
- ad = (struct appdata *) data;
- if(ad == NULL) return;
-
- list = _create_list_winset(ad);
- elm_naviframe_item_push(ad->nf, _("Layout"), NULL, NULL, list, NULL);
-}
-
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "layout.h"
-
-static Evas_Object *searchbar_layout;
-
-static void _changed_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (elm_object_focus_get(data)) {
- if (elm_entry_is_empty(obj)) {
- elm_object_signal_emit(data, "elm,state,eraser,hide", "elm");
- }
- else
- elm_object_signal_emit(data, "elm,state,eraser,show", "elm");
- }
- if (!elm_entry_is_empty(obj))
- elm_object_signal_emit(data, "elm,state,guidetext,hide", "elm");
-}
-
-static void _focused_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (!elm_entry_is_empty(obj))
- elm_object_signal_emit(data, "elm,state,eraser,show", "elm");
- elm_object_signal_emit(data, "elm,state,guidetext,hide", "elm");
- elm_object_signal_emit(data, "cancel,in", "");
-}
-
-static void _unfocused_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (elm_entry_is_empty(obj))
- elm_object_signal_emit(data, "elm,state,guidetext,show", "elm");
- elm_object_signal_emit(data, "elm,state,eraser,hide", "elm");
-}
-
-static void _eraser_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
- elm_entry_entry_set(data, "");
-}
-
-static void _bg_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
- elm_object_focus_set(data, EINA_TRUE);
-}
-
-static void _cancel_clicked_cb(void *data, Evas_Object *obj, void *event_info)
-{
- const char* text;
- evas_object_hide(obj);
- elm_object_signal_emit(searchbar_layout, "cancel,out", "");
- text = elm_entry_entry_get(data);
- if (text != NULL && strlen(text) > 0)
- elm_entry_entry_set(data, NULL);
- elm_object_focus_set(data, EINA_FALSE);
-}
-
-static void _searchsymbol_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
- elm_object_focus_set(data, EINA_TRUE);
- printf("\n[Search Bar] SearchSymbol Callback Called\n");
-}
-
-static void _google_clicked_cb(void *data, Evas_Object *obj, void *event_info)
-{
- printf("google clicked\n");
-}
-
-static void _create_searchbar(void *data)
-{
- Evas_Object *entry, *cancel_btn;
- Evas_Object *layout = data;
-
- searchbar_layout = elm_layout_add(layout);
- elm_layout_theme_set(searchbar_layout, "layout", "searchbar", "cancel_button");
- elm_object_part_content_set(layout, "searchbar", searchbar_layout);
-
- entry = ea_editfield_add(searchbar_layout, EA_EDITFIELD_SEARCHBAR);
- elm_object_part_text_set(entry, "elm.guide", "Search");
- elm_object_part_content_set(searchbar_layout, "elm.swallow.content", entry);
-
- evas_object_smart_callback_add(entry, "changed", _changed_cb, searchbar_layout);
- evas_object_smart_callback_add(entry, "focused", _focused_cb, searchbar_layout);
- evas_object_smart_callback_add(entry, "unfocused", _unfocused_cb, searchbar_layout);
- elm_object_signal_callback_add(searchbar_layout, "elm,bg,clicked", "elm", _bg_clicked_cb, entry);
- elm_object_signal_callback_add(searchbar_layout, "elm,eraser,clicked", "elm", _eraser_clicked_cb, entry);
-
- elm_entry_input_panel_layout_set(entry, ELM_INPUT_PANEL_LAYOUT_NORMAL);
- evas_object_size_hint_weight_set(searchbar_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(searchbar_layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- //in case cancel button is required add the following code
- cancel_btn = elm_button_add(searchbar_layout);
- elm_object_part_content_set(searchbar_layout, "button_cancel", cancel_btn);
- elm_object_style_set(cancel_btn, "searchbar/default");
- elm_object_text_set(cancel_btn, "Cancel");
- elm_object_focus_allow_set(cancel_btn, EINA_FALSE);
- elm_object_signal_emit(searchbar_layout, "cancel,show", "");
- evas_object_smart_callback_add(cancel_btn, "clicked", _cancel_clicked_cb, entry);
-
- elm_object_signal_callback_add(searchbar_layout, "elm,action,click", "", _searchsymbol_clicked_cb, entry);
-
- evas_object_show(searchbar_layout);
-
-}
-
-/* nocontents/search style of layout */
-static void nocontents_search_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *layout, *lay;
- struct appdata *ad = (struct appdata *)data;
- if (ad == NULL) return;
-
- /* Create elm_layout with nocontents/search style */
- lay = elm_layout_add (ad->nf);
- elm_layout_theme_set(lay, "layout", "nocontents", "search");
- elm_object_part_text_set (lay, "elm.text", _("No results found"));
-
- /* Search(without google) view layout */
- layout = elm_layout_add (ad->nf);
- elm_layout_theme_set(layout, "layout", "application", "searchbar_base");
-
- _create_searchbar(layout);
-
- elm_object_signal_emit(layout, "elm,state,show,searchbar", "elm");
-
- elm_object_part_content_set(layout, "elm.swallow.content", lay);
- elm_naviframe_item_push(ad->nf, _("Nocontents search"), NULL, NULL,layout, NULL);
-}
-
-/* nocontents/search style of layout displaying a button*/
-static void nocontents_google_search_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *layout, *lay, *custom_area, *btn, *icon;
- char buf[255] = {0,};
- struct appdata *ad = (struct appdata *)data;
- if (ad == NULL) return;
-
- _create_searchbar(ad);
-
- /* Create google button */
- custom_area = elm_layout_add (ad->nf);
- elm_layout_file_set (custom_area, ELM_DEMO_EDJ, "elmdemo-test/nocontents/search_google");
- evas_object_size_hint_weight_set (custom_area, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- btn = elm_button_add (ad->nf);
- elm_object_style_set (btn, "searchbar/default");
- icon = elm_image_add (ad->nf);
- snprintf (buf, sizeof(buf), "%s/30_SmartSearch_google_icon.png", ICON_DIR);
- elm_image_file_set (icon, buf, NULL);
- elm_image_resizable_set (icon, 1, 1);
- elm_object_content_set (btn, icon);
- elm_object_text_set (btn, _("Search by Google"));
- evas_object_smart_callback_add (btn, "clicked", _google_clicked_cb, ad);
- elm_object_part_content_set (custom_area, "buttons", btn);
-
- /* Create layout and set the theme as nocontents/search */
- lay = elm_layout_add (ad->nf);
- elm_layout_theme_set(lay, "layout", "nocontents", "search");
- elm_object_part_text_set (lay, "elm.text", _("No search result"));
- elm_object_part_content_set(lay, "custom", custom_area);
-
- /* Search(with google) view layout */
- layout = elm_layout_add(ad->nf);
- elm_layout_theme_set(layout, "layout", "application", "searchbar_base");
- elm_object_signal_emit(layout, "elm,state,show,searchbar", "elm");
-
- elm_object_part_content_set(layout, "searchbar", searchbar_layout);
- elm_object_part_content_set(layout, "elm.swallow.content", lay);
- elm_naviframe_item_push(ad->nf, _("Nocontents google search"), NULL, NULL, layout, NULL);
-}
-
-static Eina_Bool _access_action_cb(void *data, Evas_Object *obj,
- Elm_Access_Action_Info *action_info)
-{
- if (!action_info) return EINA_FALSE;
-
- printf("action type: %d, action by: %d, x: %d, y: %d, mouse_type: %d\n",
- action_info->action_type, action_info->action_by,
- action_info->x, action_info->y, action_info->mouse_type);
-
- return EINA_TRUE;
-}
-
-static void _button_clicked_cb(void *data, Evas_Object * obj, void *event_info)
-{
- printf("\n button clicked \n");
-}
-
-static void _no_content_layout_create(void* data, char *name, char *group, Eina_Bool helptext)
-{
- Evas_Object *layout, *lay, *btn, *icon;
- char buf[128];
- struct appdata *ad = (struct appdata *)data;
- if (ad == NULL) return;
-
- /* Full view layout */
- layout = elm_layout_add (ad->nf);
- elm_layout_file_set (layout, ELM_DEMO_EDJ, group);
- evas_object_size_hint_weight_set (layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- /* Create elm_layout and set its style as nocontents/text */
- lay = elm_layout_add (layout);
- if (!lay) return;
- elm_layout_theme_set(lay, "layout", "nocontents", "default");
- evas_object_size_hint_weight_set (lay, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(lay, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- icon = elm_image_add(lay);
- snprintf(buf, sizeof(buf), "%s/00_nocontents_text.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_object_part_content_set(lay, "nocontents.image", icon);
-
- snprintf(buf, sizeof(buf), "%s",_("No Items"));
-
- elm_object_part_text_set(lay, "elm.text", buf);
- elm_layout_signal_emit(lay, "text,disabled", "");
-
- if (helptext) {
- char buf1[4028];
- snprintf(buf1, sizeof(buf1), "%s",_("No Contents help text. This part is for hints and useful information for users. "
- "No Contents help text. This part is for hints and useful information for users."));
- elm_object_part_text_set(lay, "elm.help.text", buf1);
- elm_layout_signal_emit(lay, "align.center", "elm");
-
- btn = elm_button_add(lay);
- elm_object_style_set(btn, "style1");
- elm_object_text_set(btn, "Text button");
- evas_object_smart_callback_add(btn, "clicked", _button_clicked_cb, NULL);
-
- elm_object_part_content_set(lay, "swallow_area", btn);
- }
-
- elm_object_part_content_set (layout, "contents", lay);
- elm_naviframe_item_push(ad->nf, _(name), NULL, NULL,layout, NULL);
-
- Eina_List *l = NULL;
- Evas_Object *po, *ao;
- po = (Evas_Object *)edje_object_part_object_get
- (elm_layout_edje_get(layout), "access");
-
- /* Other toolkit (Dali, OSP, Web, etc.) would refer to the following lines to convey access action */
- ao = elm_access_object_register(po, layout);
- elm_access_info_set(ao, ELM_ACCESS_INFO, "screen reader test");
- l = eina_list_append(l, ao);
- elm_object_focus_custom_chain_set(layout, l);
-
- elm_access_action_cb_set(ao, ELM_ACCESS_ACTION_HIGHLIGHT,
- _access_action_cb, NULL);
-
- elm_access_action_cb_set(ao, ELM_ACCESS_ACTION_UNHIGHLIGHT,
- _access_action_cb, NULL);
-
- elm_access_action_cb_set(ao, ELM_ACCESS_ACTION_HIGHLIGHT_NEXT,
- _access_action_cb, NULL);
-
- elm_access_action_cb_set(ao, ELM_ACCESS_ACTION_HIGHLIGHT_PREV,
- _access_action_cb, NULL);
-
- elm_access_action_cb_set(ao, ELM_ACCESS_ACTION_ACTIVATE,
- _access_action_cb, NULL);
-
- elm_access_action_cb_set(ao, ELM_ACCESS_ACTION_UP,
- _access_action_cb, NULL);
-
- elm_access_action_cb_set(ao, ELM_ACCESS_ACTION_DOWN,
- _access_action_cb, NULL);
-
- elm_access_action_cb_set(ao, ELM_ACCESS_ACTION_READ,
- _access_action_cb, NULL);
-
- elm_access_action_cb_set(ao, ELM_ACCESS_ACTION_BACK,
- _access_action_cb, NULL);
-
- elm_access_action_cb_set(ao, ELM_ACCESS_ACTION_SCROLL,
- _access_action_cb, NULL);
-}
-
-static void nocontents_full_without_helptext_cb(void *data, Evas_Object *obj, void *event_info)
-{
- _no_content_layout_create(data, "Nocontents full", "elmdemo-test/nocontents/full",
- EINA_FALSE);
-}
-
-static void nocontents_full_with_helptext_cb(void *data, Evas_Object *obj, void *event_info)
-{
- _no_content_layout_create(data, "Nocontents helptext full", "elmdemo-test/nocontents_helptext/full",
- EINA_TRUE);
-}
-
-static void _list_click(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *it = (Elm_Object_Item *) elm_list_selected_item_get(obj);
-
- if (it == NULL)
- {
- fprintf((LOG_PRI(LOG_ERR) == LOG_ERR?stderr:stdout), "List item is NULL.\n");
- return;
- }
-
- elm_list_item_selected_set(it, EINA_FALSE);
-}
-
-void layout_nocontent_styles_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad = (struct appdata *)data;
- if (ad == NULL) return;
- Evas_Object *list;
-
- list = elm_list_add(ad->nf);
- elm_list_mode_set(list, ELM_LIST_COMPRESS);
- evas_object_smart_callback_add(list, "selected", _list_click, NULL);
-
- elm_list_item_append(list, "Nocontents search", NULL, NULL, nocontents_search_cb, ad);
- elm_list_item_append(list, "Nocontents google search", NULL, NULL, nocontents_google_search_cb, ad);
- elm_list_item_append(list, "Nocontents full without Help Text", NULL, NULL, nocontents_full_without_helptext_cb, ad);
- elm_list_item_append(list, "Nocontents full with Help Text", NULL, NULL, nocontents_full_with_helptext_cb, ad);
-
- elm_list_go(list);
- elm_naviframe_item_push(ad->nf, _("Nocontent Styles"), NULL, NULL, list, NULL);
-}
+++ /dev/null
-#include "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "genlist.h"
-
-extern char *genlist_demo_names[];
-
-void list_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Evas_Object *list;
- int i;
-
- ad = (struct appdata *) data;
- if (ad == NULL) return;
-
- list = elm_list_add(ad->nf);
- elm_list_mode_set(list, ELM_LIST_COMPRESS);
- evas_object_smart_callback_add(list, "selected", NULL, NULL);
- for (i = 0; i < 100 ; i++) {
- Evas_Object *icon = elm_check_add(obj);
- elm_object_style_set(icon, "default/genlist");
- evas_object_repeat_events_set(icon, EINA_TRUE);
- evas_object_propagate_events_set(icon, EINA_FALSE);
-
- Evas_Object *end = elm_button_add(obj);
- elm_object_text_set(end, "Resend");
- evas_object_propagate_events_set(end, EINA_FALSE);
-
- elm_list_item_append(list, genlist_demo_names[i%NUM_OF_GENLIST_DEMO_NAMES], icon, end, NULL, ad);
- }
- elm_list_go(list);
-
- elm_naviframe_item_push(ad->nf, _("List"), NULL, NULL, list, NULL);
-}
+++ /dev/null
-#include <Elementary.h>
-
-#include <Ecore_X.h>
-
-#include <app.h>
-#include <dlog.h>
-#include <vconf.h>
-
-#include <dynamicbox.h>
-#include <dynamicbox_errno.h>
-#include <dynamicbox_service.h>
-#include <dynamicbox_provider_app.h>
-
-#include "debug.h"
-
-#include "entry.h"
-#include "util.h"
-#include "window.h"
-
-struct dynamicbox_data {
- Evas_Object *win;
- Evas_Object *bg;
- Evas_Object *conformant;
- char *content;
-};
-
-extern int htt_main(Evas_Object *win);
-extern int set_score(Evas_Object *win, const char *source, const char *emission);
-
-static int dbox_create(const char *id, const char *content, int w, int h, void *data)
-{
- struct dynamicbox_data *dbox_data;
- Evas_Object *tmp_parent;
-
- dbox_data = calloc(1, sizeof(*dbox_data));
- if (!dbox_data) {
- return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
- }
-
- tmp_parent = dynamicbox_get_evas_object(id, 0);
- if (!tmp_parent) {
- free(dbox_data);
- return DBOX_STATUS_ERROR_FAULT;
- }
-
- dbox_data->win = elm_win_add(tmp_parent, "DBox Window", ELM_WIN_DYNAMIC_BOX);
- evas_object_del(tmp_parent);
- if (!dbox_data->win) {
- free(dbox_data);
- return DBOX_STATUS_ERROR_FAULT;
- }
-
- dbox_data->content = strdup(content);
- if (!dbox_data->content) {
- evas_object_del(dbox_data->win);
- dbox_data->win = NULL;
- free(dbox_data);
- return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
- }
-
- evas_object_resize(dbox_data->win, w, h);
- evas_object_show(dbox_data->win);
-
- dbox_data->bg = elm_bg_add(dbox_data->win);
- if (dbox_data->bg) {
- evas_object_resize(dbox_data->bg, w, h);
- //elm_win_resize_object_add(dbox_data->win, dbox_data->bg);
- elm_bg_color_set(dbox_data->bg, 255, 0, 0);
- evas_object_show(dbox_data->bg);
- }
-
- htt_main(dbox_data->win);
-
- DbgPrint("Resized to %dx%d\n", w, h);
-
- dynamicbox_provider_app_set_data(id, dbox_data);
- return DBOX_STATUS_ERROR_NONE;
-}
-
-static int dbox_resize(const char *id, int w, int h, void *data)
-{
- struct dynamicbox_data *dbox_data;
-
- dbox_data = dynamicbox_provider_app_data(id);
- if (!dbox_data) {
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
- }
-
- evas_object_resize(dbox_data->win, w, h);
- evas_object_resize(dbox_data->bg, w, h);
- evas_object_resize(dbox_data->conformant, w, h);
-
- DbgPrint("Resized to %dx%d\n", w, h);
-
- return 0;
-}
-
-static int dbox_destroy(const char *id, dynamicbox_destroy_type_e reason, void *data)
-{
- struct dynamicbox_data *dbox_data;
-
- dbox_data = dynamicbox_provider_app_data(id);
- if (!dbox_data) {
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
- }
- dynamicbox_provider_app_set_data(id, NULL);
-
- evas_object_del(dbox_data->win);
- free(dbox_data->content);
- free(dbox_data);
-
- /**
- * @TODO:
- */
- return 0;
-}
-
-static int gbar_create(const char *id, int w, int h, double x, double y, void *data)
-{
- struct dynamicbox_data *dbox_data;
-
- dbox_data = dynamicbox_provider_app_data(id);
- if (!dbox_data) {
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
- }
-
- /**
- * @TODO:
- */
- return DBOX_STATUS_ERROR_NOT_IMPLEMENTED;
-}
-
-static int gbar_resize_move(const char *id, int w, int h, double x, double y, void *data)
-{
- struct dynamicbox_data *dbox_data;
-
- dbox_data = dynamicbox_provider_app_data(id);
- if (!dbox_data) {
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
- }
- /**
- * @TODO:
- */
- return DBOX_STATUS_ERROR_NOT_IMPLEMENTED;
-}
-
-static int gbar_destroy(const char *id, int reason, void *data)
-{
- struct dynamicbox_data *dbox_data;
-
- dbox_data = dynamicbox_provider_app_data(id);
- if (!dbox_data) {
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
- }
- /**
- * @TODO:
- */
- return DBOX_STATUS_ERROR_NOT_IMPLEMENTED;
-}
-
-static int dbox_update(const char *id, const char *content, int force, void *data)
-{
- struct dynamicbox_data *dbox_data;
-
- dbox_data = dynamicbox_provider_app_data(id);
- if (!dbox_data) {
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
- }
-
- /**
- * @TODO:
- */
- return 0;
-}
-
-
-static int dbox_clicked(const char *id, const char *event, double x, double y, double timestamp, void *data) /**< If viewer calls dynamicbox_click function, this event callback will be called */
-{
- struct dynamicbox_data *dbox_data;
-
- dbox_data = dynamicbox_provider_app_data(id);
- if (!dbox_data) {
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
- }
-
- /**
- * @TODO:
- */
- return 0;
-}
-
-static int dbox_script_event(const char *id, const char *emission, const char *source, dynamicbox_event_info_t info, void *data)
-{
- struct dynamicbox_data *dbox_data;
-
- dbox_data = dynamicbox_provider_app_data(id);
- if (!dbox_data) {
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
- }
-
- set_score(dbox_data->win, source, emission);
- /**
- * @TODO:
- */
- return 0;
-}
-
-static int dbox_pause(const char *id, void *data)
-{
- struct dynamicbox_data *dbox_data;
-
- dbox_data = dynamicbox_provider_app_data(id);
- if (!dbox_data) {
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
- }
-
- /**
- * @TODO:
- */
- return 0;
-}
-
-static int dbox_resume(const char *id, void *data)
-{
- struct dynamicbox_data *dbox_data;
-
- dbox_data = dynamicbox_provider_app_data(id);
- if (!dbox_data) {
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
- }
-
- /**
- * @TODO:
- */
- return 0;
-}
-
-static bool app_create(void *data)
-{
- /**
- * @TODO:
- */
- return true;
-}
-
-static void app_terminate(void *data)
-{
- if (window_list_destroy() != 0) {
- }
- /**
- * @TODO:
- */
-}
-
-static void app_pause(void *data)
-{
- /**
- * @TODO:
- */
- DbgPrint("Paused\n");
-}
-
-static void app_resume(void *data)
-{
- /**
- * @TODO:
- */
- DbgPrint("Resumed\n");
-}
-
-static void _app_control(app_control_h service, void *data)
-{
- char *op = NULL;
-
- app_control_get_operation(service, &op);
- if (op && strcmp(op, "http://tizen.org/appcontrol/operation/main") == 0) {
- if (dynamicbox_provider_app_init(service, data) == 0) {
- DbgPrint("initiated");
- } else {
- // Do others
- }
- }
- /**
- * @TODO:
- */
-}
-
-static void app_language_changed(void *data)
-{
- /**
- * @TODO:
- */
-}
-
-static void provider_connected(void *data)
-{
- dynamicbox_provider_app_manual_control(1);
-}
-
-int main(int argc, char *argv[])
-{
- /**
- * \note
- * To allocate this table in the stack.
- * Access this from callbacks.
- */
- struct dynamicbox_provider_event_callback table = {
- .dbox = {
- .create = dbox_create,
- .resize = dbox_resize,
- .destroy = dbox_destroy,
- },
-
- .gbar = {
- .create = gbar_create,
- .resize_move = gbar_resize_move,
- .destroy = gbar_destroy,
- },
-
- .update = dbox_update,
- .script_event = dbox_script_event,
- .clicked = dbox_clicked,
-
- .pause = dbox_pause,
- .resume = dbox_resume,
-
- .connected = provider_connected,
- .disconnected = NULL,
-
- .data = NULL,
- };
-
- setenv("ELM_ENGINE", "gl", 1);
-
- app_event_callback_s app_callback = {
- .create = app_create,
- .terminate = app_terminate,
- .pause = app_pause,
- .resume = app_resume,
- .app_control = _app_control,
- .language_changed = app_language_changed,
- .low_memory = NULL,
- .low_battery = NULL,
- .device_orientation = NULL,
- .region_format_changed = NULL,
- };
-
- return app_efl_main(&argc, &argv, &app_callback, &table);
-}
-
-/* End of a file */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 <stdlib.h>
-#include <Elementary.h>
-#ifndef DESKTOP
- #include <location.h>
- #include <vconf.h>
- #include <utilX.h>
- #include <sensor.h>
-#endif
-#include "elmdemo_util.h"
-#include "elmdemo_test.h"
-
-// FIXME: This is temporary. Each App. should make it's own UA.
-#define UA_TIZEN_WEB \
- "Mozilla/5.0 (Linux; Tizen 2.1; SAMSUNG GT-I8800) AppleWebKit/537.3 (KHTML, like Gecko) Version/2.1 Mobile Safari/537.3"
-
-#define ENGINE_CHANGE "Change engine"
-#define SOURCE_CHANGE "Change source"
-#define GET_ADDRESS "Get address"
-#define ICON_ADD "Icon to center"
-#define CONTENT_ADD "Content to center"
-#define GOTO_ADDRESS "Go to address"
-#define SHOW_SAMSUNG "Show Samsung HQ"
-#define BRINGIN_SEOUL "Bring in Seoul"
-
-#define NAVI_MY_POSITION "My Position"
-#define NAVI_COMPASS "Compass"
-
-#define MAP_MAPNIK "Mapnik"
-#define MAP_OSMARENDER "Osmarender"
-#define MAP_CYCLEMAP "CycleMap"
-#define MAP_MAPQUEST "MaqQuest"
-#define MAP_MAPQUESTAERIAL "MaqQuest Open Aerial"
-#define MAP_MODULE_GOOGLE_STREET "Google Street"
-#define MAP_MODULE_GOOGLE_SATELLITE "Google Satellite"
-#define MAP_MODULE_DECARTA_NORMAL "Decarta Normal"
-#define MAP_MODULE_BING_ROAD "Bing Road"
-#define MAP_MODULE_BING_AERIAL "Bing Aerial"
-#define MAP_MODULE_BING_HYBRID "Bing Hybrid"
-
-#define NAME_ENTRY_TEXT "Enter freeform address"
-
-#ifndef __UNUSED__
-#define __UNUSED__ __attribute__((unused))
-#endif
-
-typedef struct _Map_App_Data
-{
- struct appdata *ad;
-
- Evas_Object *box;
-#ifndef DESKTOP
- LocationObject *loc;
-#endif
- Evas_Object *txt_popup;
- Evas_Object *capture_popup;
- Evas_Object *list_popup;
-
- Evas_Object *map;
- Elm_Map_Name *name;
- Elm_Map_Overlay *ovl;
- Elm_Map_Overlay *route_from, *route_to;
- Elm_Map_Route *route;
-
- Evas_Object *sav_obj;
- int sensor_handle;
- Ecore_Timer *sensor_timer;
- unsigned long seid;
- unsigned long suid;
- double from_degree;
- double old_to_degree;
- double to_degree;
- Ecore_Animator *rotate_animator;
- Eina_Bool loaded;
-} Mad;
-
-Elm_Map_Overlay *clas;
-
-static void
-_dismissed_cb(void *data __UNUSED__, Evas_Object *obj , void *event __UNUSED__)
-{
- if (!obj) return;
- evas_object_del(obj);
-}
-
-#ifndef DESKTOP
-static Eina_Bool _add_proxy (void)
-{
- char *proxy = vconf_get_str(VCONFKEY_NETWORK_PROXY);
- if (!proxy || (0 == strcmp(proxy, "")))
- {
- fprintf(stdout, "No Proxy\n");
- return EINA_TRUE;
- }
- fprintf(stdout, "Current proxy: %s\n", proxy);
-
- return EINA_TRUE;
-}
-
-static Eina_Bool
-_get_network_state()
-{
- int net_conf;
- int net_status;
- vconf_get_int(VCONFKEY_NETWORK_CONFIGURATION_CHANGE_IND, &net_conf);
- vconf_get_int(VCONFKEY_NETWORK_STATUS, &net_status);
- fprintf(stdout, "current network configuration (%d), Network status (%d)\n",
- net_conf, net_status);
-
- if (net_conf == 0 && net_status == VCONFKEY_NETWORK_OFF)
- {
- fprintf(stderr, "No wifi and No 3G\n");
- return EINA_FALSE;
- }
- else
- {
- fprintf(stdout, "Network is available\n");
- char *ip = vconf_get_str(VCONFKEY_NETWORK_IP);
- fprintf(stdout, "Current ip: %s\n", ip);
- if (!_add_proxy())
- {
- fprintf(stderr, "Add proxy failed\n");
- return EINA_FALSE;
- }
- }
- return EINA_TRUE;
-}
-
-static void
-_capture_popup_end_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Mad *mad = data;
- evas_object_hide(obj);
- if (mad->sav_obj)
- {
- evas_object_del(mad->sav_obj);
- mad->sav_obj = NULL;
- }
-}
-
-static void
-_capture(void *data, Evas_Object *obj, void *event_info)
-{
- int x;
- int y;
- int width;
- int height;
- Ecore_X_Window x_win;
- XImage *img;
- Display *display;
- char buf[PATH_MAX];
- Evas_Object *popup;
-
- Mad *mad = data;
- if (!mad->capture_popup) mad->capture_popup = elm_popup_add(mad->map);
- popup = mad->capture_popup;
- if (mad->loaded)
- {
- if (!mad->sav_obj)
- mad->sav_obj = evas_object_image_add(evas_object_evas_get(mad->map));
- x_win = elm_win_xwindow_get(mad->sav_obj);
- if (!x_win) return;
-
- evas_object_geometry_get(mad->map, &x, &y, &width, &height);
- printf("\nMap Geometry: x = %d y = %d w1 =%d h1 =%d\n", x, y, width, height);
-
- display = XOpenDisplay(NULL);
- img = XGetImage(display, x_win, x, y, width, height, XAllPlanes(), ZPixmap);
- if (!img) return;
- if (!img->data) return;
-
- evas_object_image_size_set(mad->sav_obj, width, height);
- evas_object_image_data_set(mad->sav_obj, img->data);
- evas_object_image_filled_set(mad->sav_obj, EINA_TRUE);
- snprintf(buf, sizeof(buf), "%s/capturemap.png", ICON_DIR);
-
- if (!evas_object_image_save(mad->sav_obj, buf, NULL, "quality=100 compress=1"))
- printf("failed to save image \n");
- else
- printf("Saved scene as '%s'\n", buf);
- elm_object_style_set(popup, "content_expand");
- elm_object_part_text_set(popup, "title,text", "Image saved");
- elm_object_content_set(popup, mad->sav_obj);
- evas_object_resize(mad->sav_obj, 500, 500);
- evas_object_size_hint_min_set(mad->sav_obj, 500, 500);
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_smart_callback_add(popup, "block,clicked",
- _capture_popup_end_cb, mad);
- }
- else
- {
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_text_set(popup, "map not loaded yet,try again !");
- elm_popup_timeout_set(popup, 3.0);
- evas_object_smart_callback_add(popup, "timeout",
- _capture_popup_end_cb, mad);
- evas_object_smart_callback_add(popup, "block,clicked",
- _capture_popup_end_cb, mad);
- }
- evas_object_show(popup);
-}
-
-#else
-static void _capture(void *data, Evas_Object *obj, void *event_info)
-{
- fprintf(stderr, "ERR: Cannot support capturing\n");
- return;
-}
-#endif
-
-static void
-_map_save_state(void* data)
-{
- if (!data) return;
-
- //int zoom;
- double lon, lat;
- //const char *src_name;
- Mad *mad = data;
- if (!mad->map) return;
-
- elm_map_region_get(mad->map, &lon, &lat);
- //zoom = elm_map_zoom_get(mad->map);
- elm_map_zoom_get(mad->map);
- //src_name = elm_map_source_get(mad->map, ELM_MAP_SOURCE_TYPE_TILE);
- elm_map_source_get(mad->map, ELM_MAP_SOURCE_TYPE_TILE);
-
- //FIXME: using vconf to save!!!
- //printf("Saved, Zoom: %d, Longitude: %lf, Latitude:%lf\n", zoom, lon, lat);
-}
-
-static void
-_map_load_state(void *data)
-{
- if (!data) return;
-
-#if 0 // FIXME: using vconf to revoke
- Mad *mad = data;
- int zoom = 15;
- double lon = 127.05286;
- double lat = 37.25768;
- char *src_name;
-
-
- {
- elm_map_region_show(mad->map, lon, lat);
- printf(" lon: %lf, lat: %lf", lon, lat);
- }
-
- {
- if (src_name)
- {
- elm_map_source_set(mad->map, ELM_MAP_SOURCE_TYPE_TILE, src_name);
- printf(" source name: %s", src_name);
- free(src_name);
- }
- else fprintf(stderr, "src_name is NULL\n");
- }
- printf(", State is Loded\n");
-#endif
-}
-
-static Evas_Object *
-_group_icon_get(Evas_Object *obj)
-{
- Evas_Object *icon = elm_image_add(obj);
- elm_image_file_set(icon, ICON_DIR"/00_brightness_right.png", NULL);
- evas_object_show(icon);
- return icon;
-}
-
-static Evas_Object *
-_icon_get(Evas_Object *obj)
-{
- Evas_Object *icon = elm_image_add(obj);
- elm_image_file_set(icon, ICON_DIR"/logo.png", NULL);
- evas_object_show(icon);
- return icon;
-}
-
-static void
-_response_cb(void *data, Evas_Object *obj __UNUSED__, void *event __UNUSED__)
-{
- evas_object_del(data);
-}
-
-static void
-_txt_popup_show(Mad *mad, const char *text)
-{
- if (!mad->txt_popup)
- {
- Evas_Object *btn;
- mad->txt_popup = elm_popup_add(mad->box);
- evas_object_size_hint_weight_set(mad->txt_popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- btn = elm_button_add(mad->txt_popup);
- elm_object_text_set(btn, "Close");
- elm_object_part_content_set(mad->txt_popup, "button1", btn);
- evas_object_smart_callback_add(btn, "clicked", _response_cb, mad->txt_popup);
- }
- elm_object_text_set(mad->txt_popup, text);
- evas_object_show(mad->txt_popup);
-}
-
-static void
-_route_loaded(void *data, Evas_Object *obj __UNUSED__, void *event __UNUSED__)
-{
- if (!data) return;
-
- Mad *mad = data;
-
- double d;
- const char *w, *n;
- char buf[PATH_MAX];
-
- d = elm_map_route_distance_get(mad->route);
- sprintf(buf, "route distance = %lf km", d);
-
- w = elm_map_route_waypoint_get(mad->route);
- if (w) fprintf(stdout, "[waypoints]\n%s\n", w);
-
- n = elm_map_route_node_get(mad->route);
- if (n) fprintf(stdout, "[nodes]\n%s\n", n);
-
- _txt_popup_show(mad, buf);
-}
-
-static void
-_name_loaded(void *data, Evas_Object *obj __UNUSED__, void *event __UNUSED__)
-{
- if (!data) return;
- Mad *mad = data;
- if (!mad->name) return;
-
- double lon, lat;
- const char *addr;
-
- elm_map_name_region_get(mad->name, &lon, &lat);
- elm_map_zoom_set(mad->map, 18);
- elm_map_region_show(mad->map, lon, lat);
-
- addr = elm_map_name_address_get(mad->name);
- _txt_popup_show(mad, addr);
-}
-
-static void
-_clicked_double(void *data, Evas_Object *obj, void *event)
-{
- if (!data) return;
-
- double lon, lat;
- Mad *mad = data;
- if (elm_map_zoom_get(mad->map) < 5) return;
-
- Evas_Event_Mouse_Down *down = event;
- elm_map_canvas_to_region_convert(obj, down->canvas.x, down->canvas.y,
- &lon, &lat);
- elm_map_region_bring_in(obj, lon, lat);
- int zoom = elm_map_zoom_get(obj);
- elm_map_zoom_set(obj, zoom+1);
- printf("clicked,double, lon:%lf lat:%lf (%d %d), zoom: %d\n", lon, lat,
- down->canvas.x, down->canvas.y, zoom+1);
-}
-
-static void _on_load(void *data, Evas_Object *obj, void *event_info)
-{
- printf("Map loaded\n");
- Mad *mad = data;
- if (!mad->loaded) mad->loaded = EINA_TRUE;
-}
-
-static void
-_longpressed(void *data, Evas_Object *obj, void *ei)
-{
- Mad *mad = data;
- Evas_Event_Mouse_Down *down = ei;
- double lon, lat, flon, flat, tlon, tlat;
- elm_map_canvas_to_region_convert(obj, down->canvas.x, down->canvas.y,
- &lon, &lat);
- if (!clas)
- {
- clas = elm_map_overlay_class_add(obj);
- elm_map_overlay_icon_set(clas, _group_icon_get(obj));
- elm_map_overlay_displayed_zoom_min_set(clas, 5);
- }
- if (mad->route_from && mad->route_to)
- {
- elm_map_overlay_del(mad->route_from);
- elm_map_overlay_del(mad->route_to);
- elm_map_route_del(mad->route);
- mad->route_from = NULL;
- mad->route_to = NULL;
- mad->route = NULL;
- }
- if (!mad->route_from)
- {
- mad->route_from = elm_map_overlay_add(obj, lon, lat);
- elm_map_overlay_class_append(clas, mad->route_from);
- printf("route from: %lf %lf\n", lon, lat);
- }
- else if (!mad->route_to)
- {
- mad->route_to = elm_map_overlay_add(obj, lon, lat);
- elm_map_overlay_class_append(clas, mad->route_to);
- printf("route to: %lf %lf\n", lon, lat);
- }
- if ((mad->route_from) && (mad->route_to))
- {
- elm_map_overlay_region_get(mad->route_from, &flon, &flat);
- elm_map_overlay_region_get(mad->route_to, &tlon, &tlat);
- mad->route = elm_map_route_add(obj, ELM_MAP_ROUTE_TYPE_MOTOCAR,
- ELM_MAP_ROUTE_METHOD_FASTEST, flon,
- flat, tlon, tlat, NULL, NULL);
- printf("Route from: %lf, %lf to: %lf, %lf\n", flon, flat, tlon, tlat);
- }
-}
-
-static void
-_scroll_start(void *data, Evas_Object *obj __UNUSED__, void *event __UNUSED__)
-{
- if (!data) return;
-
- Mad *mad = data;
- evas_object_smart_callback_del(mad->map, "longpressed", _longpressed);
-}
-
-static void
-_scroll_stop(void *data, Evas_Object *obj __UNUSED__, void *event __UNUSED__)
-{
- if (!data) return;
-
- Mad *mad = data;
- evas_object_smart_callback_add(mad->map, "longpressed", _longpressed, mad);
-}
-
-static void
-_block_clicked_cb(void *data, Evas_Object *obj, void *ei)
-{
- evas_object_del(data);
-}
-
-static void
-_src_select_cb(void *data, Evas_Object *obj, void *ei)
-{
- Mad *mad = data;
- const char *txt = elm_object_item_text_get(ei);
- elm_map_source_set(mad->map, ELM_MAP_SOURCE_TYPE_TILE, txt);
- printf("Source [%s] is selected\n", txt);
- evas_object_del(mad->list_popup);
- mad->list_popup = NULL;
-}
-
-static void
-_source_change_cb(void *data, Evas_Object *obj, void *ei)
-{
- Evas_Object *list, *popup;
- int idx = 0;
- Mad *mad = data;
- popup = elm_popup_add(mad->map);
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_style_set(popup, "menustyle");
- elm_object_part_text_set(popup, "title,text", "Select Source");
- evas_object_smart_callback_add(popup, "block,clicked", _block_clicked_cb, NULL);
- evas_object_show(popup);
-
- list = elm_list_add(mad->map);
- evas_object_size_hint_weight_set(list, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(list, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_smart_callback_add(list, "selected", _src_select_cb, mad);
-
- const char **sources = elm_map_sources_get(mad->map, ELM_MAP_SOURCE_TYPE_TILE);
- while(sources[idx])
- {
- elm_list_item_append(list, sources[idx], NULL, NULL, NULL, NULL);
- idx++;
- }
- elm_object_content_set(popup, list);
- mad->list_popup = popup;
- evas_object_del(obj);
-}
-
-static void
-_engine_select_cb(void *data, Evas_Object *obj, void *ei)
-{
- Mad *mad = data;
- const char *txt = elm_object_item_text_get(ei);
- elm_map_engine_set(mad->map, txt);
- printf("Engine [%s] is selected\n", txt);
- evas_object_del(mad->list_popup);
- mad->list_popup = NULL;
-}
-
-static void
-_engine_change_cb(void *data, Evas_Object *obj, void *ei)
-{
- Evas_Object *list, *popup;
- int idx = 0;
- Mad *mad = data;
- popup = elm_popup_add(mad->map);
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_style_set(popup, "menustyle");
- elm_object_part_text_set(popup, "title,text", "Select Engine");
- evas_object_smart_callback_add(popup, "block,clicked", _block_clicked_cb, NULL);
- evas_object_show(popup);
-
- list = elm_list_add(popup);
- evas_object_show(popup);
- evas_object_size_hint_weight_set(list, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(list, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_smart_callback_add(list, "selected", _engine_select_cb, mad);
-
- const char **engines = elm_map_engines_get(mad->map);
- while(engines[idx])
- {
- elm_list_item_append(list, engines[idx], NULL, NULL, NULL, NULL);
- idx++;
- }
- elm_object_content_set(popup, list);
- mad->list_popup = popup;
- evas_object_del(obj);
-}
-
-static void
-_address_cb(void *data, Evas_Object *obj, void *ei)
-{
- Mad *mad = data;
- double lon, lat;
- elm_map_region_get(mad->map, &lon, &lat);
-
- if (mad->name) elm_map_name_del(mad->name);
- mad->name = elm_map_name_add(mad->map, NULL, lon, lat, NULL, NULL);
- evas_object_del(obj);
-}
-
-static void
-_icon_overlay_add_cb(void *data, Evas_Object *obj, void *ei)
-{
- Mad *mad = data;
- double lon, lat;
- elm_map_region_get(mad->map, &lon, &lat);
-
- if (mad->ovl) elm_map_overlay_del(mad->ovl);
- mad->ovl = elm_map_overlay_add(mad->map, lon, lat);
- elm_map_overlay_icon_set(mad->ovl, _icon_get(mad->map));
- evas_object_del(obj);
-}
-
-static void
-_content_overlay_add_cb(void *data, Evas_Object *obj, void *ei)
-{
- Mad *mad = data;
- double lon, lat;
- Evas_Object *content;
- elm_map_region_get(mad->map, &lon, &lat);
-
- if (mad->ovl) elm_map_overlay_del(mad->ovl);
- mad->ovl = elm_map_overlay_add(mad->map, lon, lat);
- content = _icon_get(mad->map);
- evas_object_resize(content, 120, 120);
- elm_map_overlay_content_set(mad->ovl, content);
- evas_object_del(obj);
-}
-
-static void
-_show_cb(void *data, Evas_Object *obj, void *ei)
-{
- Mad *mad = data;
- elm_map_region_show(mad->map, 127.052888, 37.257516);
-}
-
-static void
-_bringin_cb(void *data, Evas_Object *obj, void *ei)
-{
- Mad *mad = data;
- elm_map_region_bring_in(mad->map, 126.962305, 37.563927);
-}
-
-static void
-_menu_clicked(void *data, Evas_Object *obj, void *ei)
-{
- if (!data) return;
- Mad *mad = data;
-
- Evas_Object *ctx;
- Evas_Coord x, y;
- evas_object_geometry_get(obj, &x, &y, NULL, NULL);
-
- ctx = elm_ctxpopup_add(mad->ad->nf);
- evas_object_smart_callback_add(ctx,"dismissed", _dismissed_cb, NULL);
- elm_ctxpopup_item_append(ctx, _(ENGINE_CHANGE), NULL, _engine_change_cb, mad);
- elm_ctxpopup_item_append(ctx, _(SOURCE_CHANGE), NULL, _source_change_cb, mad);
- elm_ctxpopup_item_append(ctx, _(GET_ADDRESS), NULL, _address_cb, mad);
- elm_ctxpopup_item_append(ctx, _(ICON_ADD), NULL, _icon_overlay_add_cb, mad);
- elm_ctxpopup_item_append(ctx, _(CONTENT_ADD), NULL, _content_overlay_add_cb, mad);
- elm_ctxpopup_item_append(ctx, _(SHOW_SAMSUNG), NULL, _show_cb, mad);
- elm_ctxpopup_item_append(ctx, _(BRINGIN_SEOUL), NULL, _bringin_cb, mad);
- evas_object_size_hint_max_set(ctx, 400, 600);
- evas_object_move(ctx, x, y);
- evas_object_show(ctx);
-}
-
-static void
-_overlay_cb(void *data, Evas_Object *map, void *ev)
-{
- Elm_Map_Overlay *overlay = ev;
- Elm_Map_Overlay_Type type = elm_map_overlay_type_get(overlay);
- if (type == ELM_MAP_OVERLAY_TYPE_GROUP) {
- Eina_List *l;
- Elm_Map_Overlay *memb;
- Eina_List *members = elm_map_overlay_group_members_get(overlay);
- EINA_LIST_FOREACH(members, l, memb) {
- printf("\nmemb=%p\n", memb);
- }
- }
- if (elm_map_overlay_data_get(overlay)) {
- printf("\n%s\n", (char *)elm_map_overlay_data_get(overlay));
- elm_map_overlay_paused_set(overlay, EINA_TRUE);
- }
- printf("Overlay clicked\n");
-}
-
-static Evas_Object *
-_label_get(Evas_Object *obj)
-{
- Evas_Object *label;
- label = elm_label_add(obj);
- elm_object_text_set(label, "Frankfurt International Airport");
- evas_object_show(label);
- return label;
-}
-
-static void
-_get_cb(void *data __UNUSED__, Evas_Object *map, Elm_Map_Overlay *ovl)
-{
- printf("\n\nIn get cb function\n");
-}
-
-static Evas_Object *
-_map_add(Mad *mad)
-{
- Evas_Object *map, *txt;
- Elm_Map_Overlay *grp1;
- Elm_Map_Overlay *ovl_1, *ovl_2, *ovl_3, *ovl_7, *ovl_8, *ovl_9, *ovl_10;
- Elm_Map_Overlay *ovl_circle, *ovl_bubble;
-
- if (!mad) return NULL;
- map = elm_map_add(mad->box);
- if (!map) return map;
- evas_object_show(map);
-
- elm_map_user_agent_set(map, UA_TIZEN_WEB);
- elm_map_engine_key_set(map, "Tizen Nokia Map",
- "SpMLqvWrvuFmp27kV4e6/Md_LeHoPn0b4LPOxB60p4A");
- if (!elm_map_engine_set(map, "Tizen Nokia Map")) {
- _txt_popup_show(mad, "Nokia Map engine set failed");
- }
-
- // Scale
- elm_map_overlay_scale_add(map, 30, 100);
-
- // Show Tour eiffel in Paris
- elm_map_region_show(map, 2.29435, 48.85814);
- elm_map_zoom_set(map, 10);
- ovl_1 = elm_map_overlay_add(map, 2.29435, 48.85814);
- elm_map_overlay_color_set(ovl_1, 0x00, 0xfa, 0x9a, 0xff);
- elm_map_overlay_displayed_zoom_min_set(ovl_1, 2);
-
- // Bubble on Paris
- ovl_bubble = elm_map_overlay_bubble_add(map);
- elm_map_overlay_bubble_follow(ovl_bubble, ovl_1);
- txt = elm_label_add(map);
- elm_object_text_set(txt, "It's Paris");
- evas_object_show(txt);
- elm_map_overlay_bubble_content_append(ovl_bubble, txt);
-
- // Circle on Tokyo
- ovl_circle = elm_map_overlay_circle_add(map, 139.794846, 35.541306, 5);
- elm_map_overlay_color_set(ovl_circle, 64, 16, 16, 64);
-
- // Frankfurt International Airport (content)
- ovl_2 = elm_map_overlay_add(map, 8.5604, 50.0382);
- elm_map_overlay_data_set(ovl_2, "data");
- elm_map_overlay_content_set(ovl_2, _label_get(map));
- elm_map_overlay_displayed_zoom_min_set(ovl_2, 2);
-
- // Tower of Pisa (icon)
- ovl_3 = elm_map_overlay_add(map, 10.396661, 43.723027);
- elm_map_overlay_get_cb_set(ovl_3, _get_cb, NULL);
- elm_map_overlay_icon_set(ovl_3, _icon_get(map));
- elm_map_overlay_displayed_zoom_min_set(ovl_3, 2);
-
- // Group Overlay (Rome)
- grp1 = elm_map_overlay_class_add(map);
- elm_map_overlay_icon_set(grp1, _group_icon_get(map));
- // Colosseo
- ovl_7 = elm_map_overlay_add(map, 12.49331, 41.88997);
- elm_map_overlay_class_append(grp1, ovl_7);
- // Sole al Pantheon Hotel
- ovl_8 = elm_map_overlay_add(map, 12.47684, 41.89853);
- elm_map_overlay_class_append(grp1, ovl_8);
- // Gardens of Vatican City
- ovl_9 = elm_map_overlay_add(map, 12.45016, 41.90360);
- elm_map_overlay_class_append(grp1, ovl_9);
-
- // Barcelonas Stadium in Spain
- ovl_10 = elm_map_overlay_add(map, 2.12174, 41.38067);
- elm_map_overlay_class_append(grp1, ovl_10);
-
- printf("\ngroup type = %d\n", elm_map_overlay_type_get(grp1));
- printf("\ndefault type = %d\n", elm_map_overlay_type_get(ovl_7));
-
- evas_object_smart_callback_add(map, "overlay,clicked", _overlay_cb, map);
- evas_object_smart_callback_add(map, "longpressed", _longpressed, mad);
- evas_object_smart_callback_add(map, "clicked,double", _clicked_double, mad);
- evas_object_smart_callback_add(map, "route,loaded", _route_loaded, mad);
- evas_object_smart_callback_add(map, "name,loaded", _name_loaded, mad);
- evas_object_smart_callback_add(map, "scroll,drag,start", _scroll_start, mad);
- evas_object_smart_callback_add(map, "scroll,drag,stop", _scroll_stop, mad);
- evas_object_smart_callback_add(map, "loaded", _on_load, mad);
-
- return map;
-}
-
-static Eina_Bool
-_pop_cb(void *data, Elm_Object_Item *it)
-{
- if (!data) return EINA_TRUE;
-
- Mad *mad = data;
-
- _map_save_state(mad);
-#ifndef DESKTOP
- if (mad->loc)
- {
- location_stop(mad->loc);
- location_free(mad->loc);
- }
- if (mad->sensor_handle >= 0)
- {
- sf_disconnect(mad->sensor_handle);
- sf_stop(mad->sensor_handle);
- }
-#endif
- if (mad->rotate_animator) ecore_animator_del(mad->rotate_animator);
- if (mad->sensor_timer) ecore_timer_del(mad->sensor_timer);
- if (mad->txt_popup) evas_object_del(mad->txt_popup);
- if (mad->capture_popup) evas_object_del(mad->capture_popup);
- if (mad->list_popup) evas_object_del(mad->list_popup);
- if (mad) free(mad);
-
- return EINA_TRUE;
-}
-
-static Evas_Object *
-_box_add(Evas_Object *parent)
-{
- if (!parent) return NULL;
-
- Evas_Object *box = elm_box_add(parent);
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_show(box);
- return box;
-}
-
-static void
-_nf_push(Evas_Object *nf, Evas_Object *item, Mad *mad)
-{
- if (!nf || !item) return;
-
- Evas_Object *btn;
- Elm_Object_Item *it = elm_naviframe_item_push(nf, _("Map"), NULL, NULL, item, NULL);
- elm_naviframe_item_pop_cb_set(it, _pop_cb, mad);
-
- btn = elm_button_add(nf);
- elm_object_style_set(btn, "style1");
- elm_object_text_set(btn, "Capture");
- elm_object_item_part_content_set(it, "toolbar_button1", btn);
- evas_object_smart_callback_add(btn, "clicked", _capture, mad);
-
- btn = elm_button_add(nf);
- elm_object_style_set(btn, "style1");
- elm_object_text_set(btn, "Menu");
- elm_object_item_part_content_set(it, "toolbar_button2", btn);
- evas_object_smart_callback_add(btn, "clicked", _menu_clicked, mad);
-}
-
-void
-map_cb(void *data, Evas_Object *obj, void *event)
-{
- if (!data) return;
- fprintf(stdout, "\nMap test started\n");
-
- struct appdata *ad = data;
- Mad *mad = calloc(1, sizeof(Mad));
-
- mad->ad = ad;
- mad->sensor_handle = -1;
-
- mad->box = _box_add(mad->ad->nf);
- _nf_push(ad->nf, mad->box, mad);
-#ifndef DESKTOP
- if (!_get_network_state())
- {
- _txt_popup_show(mad, "Network is not available");
- Elm_Object_Item *it = elm_naviframe_top_item_get(ad->nf);
- Evas_Object *btn =
- elm_object_item_part_content_get(it, "toolbar_button1");
- elm_object_disabled_set(btn, EINA_TRUE);
- btn = elm_object_item_part_content_get(it, "toolbar_button2");
- elm_object_disabled_set(btn, EINA_TRUE);
- return;
- }
-
- location_init();
-#endif
- mad->map = _map_add(mad);
- if (!mad->map) {
- _txt_popup_show(mad, "elm_map_add() failed");
- }
- _map_load_state(mad);
-
- evas_object_size_hint_weight_set(mad->map, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(mad->map, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_box_pack_end(mad->box, mad->map);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "multibuttonentry.h"
-
-/*********************************************************
- multibuttonentry
- ********************************************************/
-
-#define BTN_NUM 4
-
-Evas_Object *multibuttonentry;
-Elm_Object_Item *clicked_item;
-
-static void _check_changed_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *mbe = multibuttonentry;
- if (!mbe || !obj) return;
-
- if (!strcmp(elm_object_text_get(obj), "Editable"))
- elm_multibuttonentry_editable_set(mbe, elm_check_state_get(obj));
- else if (!strcmp(elm_object_text_get(obj), "Expanded"))
- elm_multibuttonentry_expanded_set(mbe, elm_check_state_get(obj));
-
- clicked_item = NULL;
-}
-
-static void _button_clicked_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *mbe = multibuttonentry;
- if (!mbe || !obj) return;
-
- if (!strcmp(elm_object_text_get(obj), "Append"))
- {
- if (clicked_item)
- elm_multibuttonentry_item_insert_after(mbe, clicked_item, "Append", NULL, NULL);
- else
- elm_multibuttonentry_item_append(mbe, "Append", NULL, NULL);
- }
- else if (!strcmp(elm_object_text_get(obj), "Delete"))
- {
- if (clicked_item)
- elm_object_item_del(clicked_item);
- }
- else if (!strcmp(elm_object_text_get(obj), "Clear"))
- {
- elm_multibuttonentry_clear(mbe);
- }
- else if (!strcmp(elm_object_text_get(obj), "Item Disabled"))
- {
- const Eina_List *items, *l;
- Elm_Object_Item *it;
-
- items = elm_multibuttonentry_items_get(mbe);
-
- EINA_LIST_FOREACH(items, l, it)
- {
- if (elm_object_item_disabled_get(it))
- elm_object_item_disabled_set(it, EINA_FALSE);
- else
- elm_object_item_disabled_set(it, EINA_TRUE);
- }
- }
- else if (!strcmp(elm_object_text_get(obj), "MBE Disabled"))
- {
- if (elm_object_disabled_get(mbe))
- elm_object_disabled_set(mbe, EINA_FALSE);
- else
- elm_object_disabled_set(mbe, EINA_TRUE);
- }
-
- clicked_item = NULL;
-}
-
-static void _mouse_down_cb(void *data, Evas *evas, Evas_Object *o, void *ev)
-{
- printf("%s\n", __func__);
-}
-
-static void _mouse_move_cb(void *data, Evas *evas, Evas_Object *o, void *ev)
-{
- Evas_Coord x, y, w, h;
-
- Evas_Event_Mouse_Move *event = (Evas_Event_Mouse_Move *)ev;
- evas_object_geometry_get(data, &x, &y, &w, &h);
- evas_object_move(data, event->cur.canvas.x - (w / 2), event->cur.canvas.y - (h / 2));
-}
-
-static void _mouse_up_cb(void *data, Evas *evas, Evas_Object *o, void *ev)
-{
- printf("%s\n", __func__);
-
- evas_object_event_callback_del_full(o, EVAS_CALLBACK_MOUSE_DOWN, _mouse_down_cb, data);
- evas_object_event_callback_del_full(o, EVAS_CALLBACK_MOUSE_UP, _mouse_up_cb, data);
- evas_object_event_callback_del_full(o, EVAS_CALLBACK_MOUSE_MOVE, _mouse_move_cb, data);
-
- evas_object_del(data);
-}
-
-static void _refresh_end_text(Evas_Object *obj)
-{
- Evas_Object *end, *entry;
- const char *end_text, *entry_text;
- char buf[1024];
-
- if (!obj) return;
-
- end = (Evas_Object *)evas_object_data_get(obj, "end");
- entry = elm_multibuttonentry_entry_get(obj);
- if (end)
- {
- entry_text = elm_object_text_get(entry);
- end_text = elm_object_text_get(end);
- if (entry_text && strlen(entry_text))
- {
- if (end_text && strlen(end_text))
- snprintf(buf, sizeof(buf), "%s, %s", end_text, entry_text);
- else
- snprintf(buf, sizeof(buf), "%s", entry_text);
- elm_object_text_set(end, buf);
- }
- }
-}
-
-static void _item_selected_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *item = (Elm_Object_Item *)event_info;
- printf("\nselected item = %s\n", elm_object_item_text_get(item));
-}
-
-static void _item_added_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *item = (Elm_Object_Item *)event_info;
- printf("\nadded item = %s\n", elm_object_item_text_get(item));
-
- _refresh_end_text(obj);
-}
-
-static void _item_deleted_cb(void *data, Evas_Object *obj, void *event_info)
-{
- printf("\ndeleted item!\n");
-
- _refresh_end_text(obj);
-}
-
-static void _item_clicked_cb( void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *item = (Elm_Object_Item *)event_info;
- printf("\nclicked item = %s\n", elm_object_item_text_get(item));
-
- clicked_item = item;
-}
-
-static void _item_longpressed_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *item = (Elm_Object_Item *)event_info;
- printf("\npressed_item = %s\n", elm_object_item_text_get(item));
-
- Evas_Object *item_obj, *new_obj;
- Evas_Coord x, y, w, h;
- const char *buf;
-
- item_obj = elm_multibuttonentry_item_object_get(item);
- buf = elm_object_part_text_get(item_obj, "elm.btn.text");
-
- if (!item_obj) return;
- evas_object_geometry_get(item_obj, &x, &y, &w, &h);
-
- new_obj = elm_layout_add(data);
- elm_layout_theme_set(new_obj, "multibuttonentry", "btn", elm_object_style_get(item_obj));
- elm_object_part_text_set(new_obj, "elm.btn.text", buf);
-
- evas_object_smart_calculate(new_obj);
- elm_layout_signal_emit(new_obj, "elm,state,text,ellipsis", "");
-
- evas_object_event_callback_add(data, EVAS_CALLBACK_MOUSE_DOWN, _mouse_down_cb, new_obj);
- evas_object_event_callback_add(data, EVAS_CALLBACK_MOUSE_UP, _mouse_up_cb, new_obj);
- evas_object_event_callback_add(data, EVAS_CALLBACK_MOUSE_MOVE, _mouse_move_cb, new_obj);
-
- evas_object_move(new_obj, x, y);
- evas_object_resize(new_obj, w, h);
- evas_object_show(new_obj);
- elm_object_item_del(item);
-}
-
-static void _mbe_clicked_cb( void *data, Evas_Object *obj, void *event_info )
-{
- printf("multibuttonentry is clicked!\n");
-}
-
-static void _mbe_focused_cb( void *data, Evas_Object *obj, void *event_info )
-{
- printf("multibuttonentry is focused!\n");
-
- Evas_Object *end;
-
- end = (Evas_Object *)evas_object_data_get(obj, "end");
- if (end)
- elm_object_text_set(end, NULL);
-}
-
-static void _mbe_unfocused_cb( void *data, Evas_Object *obj, void *event_info )
-{
- printf("multibuttonentry is unfocused!\n");
-
- _refresh_end_text(obj);
-}
-
-static void _expanded_cb(void *data, Evas_Object *obj, void *event_info)
-{
- printf("multibuttonentry is expanded!\n");
-}
-
-static void _contracted_cb(void *data, Evas_Object *obj, void *event_info)
-{
- printf("multibuttonentry is contracted!\n");
-}
-
-static void _expand_state_changed_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (elm_multibuttonentry_expanded_get(obj))
- printf("\nexpand state changed: expanded!!\n");
- else
- printf("\nexpand state changed: shrinked!!\n");
-}
-
-static Eina_Bool _item_filter_cb(Evas_Object *obj, const char* item_label, const void *item_data, const void *data)
-{
- printf("\"%s\" item will be added\n", item_label);
-
- char *str = strstr(item_label, "S");
-
- Evas_Object *end = (Evas_Object *)evas_object_data_get(obj, "end");
- if (end)
- elm_object_text_set(end, NULL);
-
- if (str)
- return EINA_FALSE;
- else
- return EINA_TRUE;
-}
-
-static Evas_Object* _add_multibuttonentry(Evas_Object* parent)
-{
- Evas_Object* scroller = NULL;
- Evas_Object* mbe = NULL;
-
- scroller = elm_scroller_add(parent);
- elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE);
- elm_scroller_policy_set(scroller,ELM_SCROLLER_POLICY_OFF,ELM_SCROLLER_POLICY_AUTO);
- evas_object_show(scroller);
-
- // add a multibuttonentry object
- mbe = elm_multibuttonentry_add(parent);
- multibuttonentry = mbe;
- elm_object_text_set(mbe, "To: ");
- elm_object_part_text_set(mbe, "guide", "Tap to add recipient");
- evas_object_size_hint_weight_set(mbe, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(mbe, EVAS_HINT_FILL, 0.0);
- elm_object_content_set(scroller, mbe);
-
- // add item filter callback
- elm_multibuttonentry_item_filter_append(mbe, _item_filter_cb, NULL);
-
- // add state-related callbacks
- evas_object_smart_callback_add(mbe, "clicked", _mbe_clicked_cb, NULL);
- evas_object_smart_callback_add(mbe, "focused", _mbe_focused_cb, NULL);
- evas_object_smart_callback_add(mbe, "unfocused", _mbe_unfocused_cb, NULL);
-
- // add size-related callbacks
- evas_object_smart_callback_add(mbe, "expanded", _expanded_cb, NULL);
- evas_object_smart_callback_add(mbe, "contracted", _contracted_cb, NULL);
- evas_object_smart_callback_add(mbe, "expand,state,changed", _expand_state_changed_cb, NULL);
-
- // add item-related callbacks
- evas_object_smart_callback_add(mbe, "item,selected", _item_selected_cb, NULL);
- evas_object_smart_callback_add(mbe, "item,added", _item_added_cb, NULL);
- evas_object_smart_callback_add(mbe, "item,deleted", _item_deleted_cb, NULL);
- evas_object_smart_callback_add(mbe, "item,clicked", _item_clicked_cb, NULL);
- evas_object_smart_callback_add(mbe, "longpressed", _item_longpressed_cb, parent);
-
- elm_object_focus_set(mbe, EINA_TRUE);
-
- return scroller;
-}
-
-#if 0
-static void _1000_items_test_cb(void *data, Evas_Object *obj, void *event_info)
-{
-
- Evas_Object *mbe = multibuttonentry;
- Evas *e = evas_object_evas_get(mbe);
- int i = 0;
- char *str;
- double starttime = 0.0, endtime = 0.0;
- Elm_Object_Item* item = NULL;
- switch((int)data)
- {
- case 0:
- str = "111111111111";
- starttime = ecore_time_get();
- for (i = 0; i < 1000; i++)
- {
- item = elm_multibuttonentry_item_append(mbe, str, NULL, NULL);
- if (!item)
- {
- printf("item insert fail at %d\n", i);
- break;
- }
- }
- evas_render(e);
- endtime = ecore_time_get();
- break;
- case 1:
- str = "11111";
- starttime = ecore_time_get();
- for (i = 0; i < 1000; i++)
- {
- item = elm_multibuttonentry_item_append(mbe, str, NULL, NULL);
- if (!item)
- {
- printf("item insert fail at %d\n", i);
- break;
- }
- }
- evas_render(e);
- endtime = ecore_time_get();
- break;
- case 2:
- str = "1";
- starttime = ecore_time_get();
- for (i = 0; i < 1000; i++)
- {
- item = elm_multibuttonentry_item_append(mbe, str, NULL, NULL);
- if (!item)
- {
- printf("item insert fail at %d\n", i);
- break;
- }
- }
- evas_render(e);
- endtime = ecore_time_get();
- break;
- case 3:
- starttime = ecore_time_get();
- for (i = 0; i < 1000; i++)
- {
- item = elm_multibuttonentry_first_item_get(mbe);
- if (item)
- elm_object_item_del(item);
- else
- break;
- }
- evas_render(e);
- endtime = ecore_time_get();
- break;
- }
- printf("test %d items starttime: %02.06lf, endtime: %02.06lf, endtime - starttime: %02.06lf\n",
- i, starttime, endtime, endtime - starttime);
-}
-
-
-static Evas_Object* _add_1000_test_buttons(Evas_Object* parent)
-{
- Evas_Object* bx = NULL;
- Evas_Object* btn[BTN_NUM] = {0,};
- char *label[BTN_NUM] = {
- "1000 items insert, 1 line by 2 items",
- "1000 items insert, 1 line by 5 items",
- "1000 Items insert, 1 line by 15 items",
- "Items remove all, one by one"
- };
- int i;
-
- bx = elm_box_add(parent);
- elm_box_horizontal_set(bx, EINA_FALSE);
- elm_box_homogeneous_set(bx, EINA_TRUE);
-
- for (i = 0; i < BTN_NUM; i++)
- {
- btn[i] = elm_button_add(parent);
- evas_object_smart_callback_add(btn[i], "clicked", _1000_items_test_cb, (void *)i);
- elm_object_text_set(btn[i], label[i]);
- evas_object_size_hint_weight_set(btn[i], EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(btn[i], EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_box_pack_end(bx, btn[i]);
- evas_object_show(btn[i]);
- }
- return bx;
-}
-#endif
-
-static Evas_Object *_add_check_buttons(Evas_Object *parent)
-{
- Evas_Object *bx;
- Evas_Object *chk;
-
- bx = elm_box_add(parent);
- elm_box_horizontal_set(bx, EINA_TRUE);
- evas_object_show(bx);
-
- chk = elm_check_add(bx);
- elm_object_text_set(chk, "Editable");
- elm_check_state_set(chk, EINA_TRUE);
- evas_object_size_hint_weight_set(chk, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(chk, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_smart_callback_add(chk, "changed", _check_changed_cb, NULL);
- elm_box_pack_end(bx, chk);
- evas_object_show(chk);
-
- chk = elm_check_add(bx);
- elm_object_text_set(chk, "Expanded");
- elm_check_state_set(chk, EINA_TRUE);
- evas_object_size_hint_weight_set(chk, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(chk, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_smart_callback_add(chk, "changed", _check_changed_cb, NULL);
- elm_box_pack_end(bx, chk);
- evas_object_show(chk);
-
- return bx;
-}
-
-static Evas_Object *_add_buttons(Evas_Object *parent)
-{
- Evas_Object *bx;
- Evas_Object *btn[BTN_NUM];
- char *text[BTN_NUM] = {"Unfocus", "Append", "Delete", "Clear"};
- int i;
-
- bx = elm_box_add(parent);
- elm_box_horizontal_set(bx, EINA_TRUE);
- evas_object_show(bx);
-
- for (i = 0; i < BTN_NUM; i++)
- {
- btn[i] = elm_button_add(parent);
- elm_object_text_set(btn[i], text[i]);
- evas_object_smart_callback_add(btn[i], "clicked", _button_clicked_cb, NULL);
- evas_object_size_hint_weight_set(btn[i], EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(btn[i], EVAS_HINT_FILL, 0.0);
- elm_box_pack_end(bx, btn[i]);
- evas_object_show(btn[i]);
- }
-
- return bx;
-}
-
-void multibuttonentry_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *ly = NULL;
- Evas_Object *sc = NULL;
- Evas_Object *bx = NULL;
- Evas_Object *btn1 = NULL;
- Evas_Object *btn2 = NULL;
-
- struct appdata *ad = (struct appdata *) data;
- if (ad == NULL) return;
-
- multibuttonentry = NULL;
- clicked_item = NULL;
-
- ly = elm_layout_add(ad->nf);
- evas_object_size_hint_weight_set(ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_layout_file_set(ly, ELM_DEMO_EDJ, "multibuttonentry_test");
- elm_naviframe_item_push(ad->nf, _("Multibuttonentry"), NULL, NULL, ly, NULL);
-
- bx = _add_check_buttons(ly);
- elm_object_part_content_set(ly, "check_box", bx);
-
- bx = _add_buttons(ly);
- elm_object_part_content_set(ly, "button_box", bx);
-
- btn1 = elm_button_add(ly);
- elm_object_text_set(btn1, "Item Disabled");
- evas_object_smart_callback_add(btn1, "clicked", _button_clicked_cb, NULL);
- evas_object_size_hint_weight_set(btn1, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(btn1, EVAS_HINT_FILL, 0.0);
- elm_object_part_content_set(ly, "btn1", btn1);
- evas_object_show(btn1);
-
- btn2 = elm_button_add(ly);
- elm_object_text_set(btn2, "MBE Disabled");
- evas_object_smart_callback_add(btn2, "clicked", _button_clicked_cb, NULL);
- evas_object_size_hint_weight_set(btn2, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(btn2, EVAS_HINT_FILL, 0.0);
- elm_object_part_content_set(ly, "btn2", btn2);
- evas_object_show(btn2);
-
- sc = _add_multibuttonentry(ly);
- elm_object_part_content_set(ly, "multibuttonentry", sc);
-}
-
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "naviframe.h"
-
-/*********************************************************
- Naviframe
- ********************************************************/
-
-static Evas_Object *layout_main = NULL;
-static Evas_Object *layout_tab = NULL;
-static Evas_Object *conform = NULL;
-
-static Evas_Object *_create_nocontent(Evas_Object *parent, const char *text)
-{
- Evas_Object *layout, *noc, *sc, *icon;
- char buf[128];
-
- //Scroller
- sc = elm_scroller_add(parent);
- if (!sc) return NULL;
- elm_scroller_bounce_set(sc, EINA_FALSE, EINA_TRUE);
- elm_scroller_policy_set(sc, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO);
-
- //Base Layout
- layout = elm_layout_add(sc);
- if (!layout)
- {
- evas_object_del(sc);
- return NULL;
- }
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "elmdemo-test/nocontents/full");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- //NoContent Layout
- noc = elm_layout_add(layout);
- if (!noc)
- {
- evas_object_del(layout);
- evas_object_del(sc);
- return NULL;
- }
- elm_layout_theme_set(noc, "layout", "nocontents", "full");
- elm_object_part_text_set(noc, "elm.text", text);
-
- //Icon of NoContent Layout
- icon = elm_image_add(noc);
- if (!icon)
- {
- evas_object_del(noc);
- evas_object_del(layout);
- evas_object_del(sc);
- return NULL;
- }
- snprintf(buf, sizeof(buf), "%s/00_nocontents_text.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_object_part_content_set(noc, "nocontents.image", icon);
-
- elm_object_part_content_set(layout, "contents", noc);
- elm_object_content_set(sc, layout);
- return sc;
-}
-
-static Evas_Object *_create_title_edit_btn(Evas_Object *parent, Evas_Smart_Cb func, void *data)
-{
- Evas_Object *ic;
- char buf[PATH_MAX];
- Evas_Object *btn = elm_button_add(parent);
- if (!btn) return NULL;
- elm_object_style_set(btn, "naviframe/title_icon");
- ic = elm_image_add(parent);
- snprintf(buf, sizeof(buf), "%s/00_icon_edit.png", ICON_DIR);
- elm_image_file_set(ic, buf, NULL);
- evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_BOTH, 1, 1);
- elm_image_resizable_set(ic, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(btn, "icon", ic);
- evas_object_smart_callback_add(btn, "clicked", func, data);
- return btn;
-}
-
-static Evas_Object *_create_title_plus_btn(Evas_Object *parent, Evas_Smart_Cb func, void *data)
-{
- Evas_Object *ic;
- char buf[PATH_MAX];
- Evas_Object *btn = elm_button_add(parent);
- if (!btn) return NULL;
- elm_object_style_set(btn, "naviframe/title_icon");
- ic = elm_image_add(parent);
- snprintf(buf, sizeof(buf), "%s/00_icon_plus.png", ICON_DIR);
- elm_image_file_set(ic, buf, NULL);
- evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_BOTH, 1, 1);
- elm_image_resizable_set(ic, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(btn, "icon", ic);
- evas_object_smart_callback_add(btn, "clicked", func, data);
- return btn;
-}
-
-static Evas_Object *_create_title_text_btn(Evas_Object *parent, const char *text, Evas_Smart_Cb func, void *data)
-{
- Evas_Object *btn = elm_button_add(parent);
- if (!btn) return NULL;
- elm_object_style_set(btn, "naviframe/title_text");
- elm_object_text_set(btn, text);
- evas_object_smart_callback_add(btn, "clicked", func, data);
- return btn;
-}
-
-static Evas_Object *_create_drawers_btn(Evas_Object *parent, Evas_Smart_Cb func, void *data)
-{
- Evas_Object *btn = elm_button_add(parent);
- if (!btn) return NULL;
- elm_object_style_set(btn, "naviframe/drawers");
- evas_object_smart_callback_add(btn, "clicked", func, data);
- return btn;
-}
-
-static Evas_Object *create_toolbar_more_btn(Evas_Object *parent, Evas_Smart_Cb func, void *data)
-{
- Evas_Object *btn = elm_button_add(parent);
- if (!btn) return NULL;
- elm_object_style_set(btn, "naviframe/more/default");
- evas_object_smart_callback_add(btn, "clicked", func, data);
- return btn;
-}
-
-static void _quit_func(Evas_Object *nf)
-{
- if (conform) {
- if (nf) {
- elm_object_content_unset(conform);
- evas_object_del(nf);
- }
- if (layout_main) {
- elm_object_content_set(conform, layout_main);
- evas_object_show(layout_main);
- }
- conform = NULL;
- }
-}
-
-static Eina_Bool _quit_cb(void *data, Elm_Object_Item *it)
-{
- _quit_func(data);
- return EINA_FALSE;
-}
-
-static void _quit_button_cb(void *data, Evas_Object *obj, void *event_info)
-{
- _quit_func(data);
-}
-
-static void _prev_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *nf = (Evas_Object *) data;
- elm_naviframe_item_pop(nf);
- evas_object_smart_callback_del(obj, "clicked", _prev_cb);
-}
-
-static void _title_slide_stop(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *nf = (Evas_Object *) data;
-
- //Emit signal to start title text slide
- elm_object_signal_emit(nf, "elm,action,title,slide,stop", "");
-}
-
-static void _title_slide_start(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *nf = (Evas_Object *) data;
-
- //Emit signal to start title text slide
- elm_object_signal_emit(nf, "elm,action,title,slide,start", "");
-}
-
-static void _twelfth_page(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *content, *btn, *toolbar;
- Evas_Object *nf = (Evas_Object *) data;
- Elm_Object_Item *navi_it, *toolbar_it[2];
-
- if (nf == NULL) return;
-
- content = _create_nocontent(nf, "Naviframe Demo<br>Page 12");
-
- //Push a new item
- navi_it = elm_naviframe_item_push(nf, "This title slides to go. This title slides 3 times. Now you can read an over length text!", NULL, NULL, content, NULL);
-
- //Subtitle
- elm_object_item_part_text_set(navi_it, "subtitle", "This subtitle slides to go. This subtitle slides 3 times. Now you can read an over length text!");
-
- //Title Text Left Button
- btn = _create_title_text_btn(nf, "Prev", _prev_cb, nf);
- elm_object_item_part_content_set(navi_it, "title_left_btn", btn);
-
- //Title Text Right Button
- btn = _create_title_text_btn(nf, "Quit", _quit_button_cb, nf);
- elm_object_item_part_content_set(navi_it, "title_right_btn", btn);
-
- //2 Item Toolbar
- toolbar = elm_toolbar_add(nf);
- elm_object_style_set(toolbar, "default");
- elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_transverse_expanded_set(toolbar, EINA_TRUE);
- elm_toolbar_select_mode_set(toolbar, ELM_OBJECT_SELECT_MODE_NONE);
- toolbar_it[0] = elm_toolbar_item_append(toolbar, NULL, "Title slide stop", _title_slide_stop, nf);
- toolbar_it[1] = elm_toolbar_item_append(toolbar, NULL, "Title slide start", _title_slide_start, nf);
- elm_object_item_part_content_set(navi_it, "toolbar", toolbar);
-}
-
-static Eina_Bool _eleventh_pop_cb(void *data, Elm_Object_Item *it)
-{
- //Delete item without transition effect
- elm_object_item_del(it);
-
- /* Return EINA_FALSE not to pop the item in this case
- since the item is deleted explicitly. */
- return EINA_FALSE;
-}
-
-static void _eleventh_page(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *content, *btn, *toolbar;
- Evas_Object *nf = (Evas_Object *) data;
- Elm_Object_Item *top_it, *navi_it, *toolbar_it[2];
-
- if (nf == NULL) return;
-
- content = _create_nocontent(nf, "Naviframe Demo<br>Page 11");
-
- //Get the top item of naviframe
- top_it = elm_naviframe_top_item_get(nf);
-
- /* Insert a new item after the input item.
- elm_naviframe_item_insert_after does not show transition effect. */
- navi_it = elm_naviframe_item_insert_after(nf, top_it, "No Transition", NULL, NULL, content, NULL);
-
- //Register item pop callback function
- elm_naviframe_item_pop_cb_set(navi_it, _eleventh_pop_cb, NULL);
-
- //Title Icon Left Button
- btn = _create_title_edit_btn(nf, NULL, nf);
- elm_object_item_part_content_set(navi_it, "title_left_btn", btn);
-
- //Title Icon Right Button
- btn = _create_title_plus_btn(nf, NULL, nf);
- elm_object_item_part_content_set(navi_it, "title_right_btn", btn);
-
- //2 Item Toolbar
- toolbar = elm_toolbar_add(nf);
- elm_object_style_set(toolbar, "default");
- elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_transverse_expanded_set(toolbar, EINA_TRUE);
- elm_toolbar_select_mode_set(toolbar, ELM_OBJECT_SELECT_MODE_NONE);
- toolbar_it[0] = elm_toolbar_item_append(toolbar, NULL, "Prev", _prev_cb, nf);
- toolbar_it[1] = elm_toolbar_item_append(toolbar, NULL, "Next", _twelfth_page, nf);
- elm_object_item_part_content_set(navi_it, "toolbar", toolbar);
-}
-
-static void _title_hide(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *navi_it = (Elm_Object_Item *) data;
-
- /* Disable naviframe title with title transition effect.
- The third argument of elm_naviframe_item_title_enabled_set
- sets the title transition effect. */
- elm_naviframe_item_title_enabled_set(navi_it, EINA_FALSE, EINA_TRUE);
-}
-
-static void _title_show(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *navi_it = (Elm_Object_Item *) data;
-
- /* Enable naviframe title with title transition effect
- The third argument of elm_naviframe_item_title_enabled_set
- sets the title transition effect. */
- elm_naviframe_item_title_enabled_set(navi_it, EINA_TRUE, EINA_TRUE);
-}
-
-static void _tenth_page(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *content, *btn, *toolbar;
- Evas_Object *nf = (Evas_Object *) data;
- Elm_Object_Item *navi_it, *toolbar_it[2];
-
- if (nf == NULL) return;
-
- content = _create_nocontent(nf, "Naviframe Demo<br>Page 10");
-
- //Push a new item
- navi_it = elm_naviframe_item_push(nf, "Title Show/Hide", NULL, NULL, content, NULL);
-
- //Title Text Left Button
- btn = _create_title_text_btn(nf, "Prev", _prev_cb, nf);
- elm_object_item_part_content_set(navi_it, "title_left_btn", btn);
-
- //Title Text Right Button
- btn = _create_title_text_btn(nf, "Next", _eleventh_page, nf);
- elm_object_item_part_content_set(navi_it, "title_right_btn", btn);
-
- //2 Item Toolbar
- toolbar = elm_toolbar_add(nf);
- elm_object_style_set(toolbar, "default");
- elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_transverse_expanded_set(toolbar, EINA_TRUE);
- elm_toolbar_select_mode_set(toolbar, ELM_OBJECT_SELECT_MODE_NONE);
- toolbar_it[0] = elm_toolbar_item_append(toolbar, NULL, "Title Hide", _title_hide, navi_it);
- toolbar_it[1] = elm_toolbar_item_append(toolbar, NULL, "Title Show", _title_show, navi_it);
- elm_object_item_part_content_set(navi_it, "toolbar", toolbar);
-}
-
-static void _changed_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (elm_object_focus_get(data)) {
- if (elm_entry_is_empty(obj))
- elm_object_signal_emit(data, "elm,state,eraser,hide", "elm");
- else
- elm_object_signal_emit(data, "elm,state,eraser,show", "elm");
- }
- if (!elm_entry_is_empty(obj))
- elm_object_signal_emit(data, "elm,state,guidetext,hide", "elm");
-}
-
-static void _focused_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (!elm_entry_is_empty(obj))
- elm_object_signal_emit(data, "elm,state,eraser,show", "elm");
- elm_object_signal_emit(data, "elm,state,guidetext,hide", "elm");
- elm_object_signal_emit(data, "cancel,in", "");
-}
-
-static void _unfocused_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (elm_entry_is_empty(obj))
- elm_object_signal_emit(data, "elm,state,guidetext,show", "elm");
- elm_object_signal_emit(data, "elm,state,eraser,hide", "elm");
-}
-
-static void _eraser_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
- elm_entry_entry_set(data, "");
-}
-
-static void _bg_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
- elm_object_focus_set(data, EINA_TRUE);
-}
-
-static void _searchsymbol_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
- elm_object_focus_set(data, EINA_TRUE);
- printf("\n[Search Bar] SearchSymbol Callback Called\n");
-}
-
-static Evas_Object *_create_searchbar(Evas_Object *parent)
-{
- Evas_Object *searchbar_layout, *entry;
-
- if (parent == NULL) return NULL;
-
- //Searchbar
- searchbar_layout = elm_layout_add(parent);
- elm_layout_theme_set(searchbar_layout, "layout", "searchbar", "default");
-
- //Entry
- entry = ea_editfield_add(searchbar_layout, EA_EDITFIELD_SEARCHBAR);
- elm_object_part_text_set(entry, "elm.guide", "Search");
- elm_object_part_content_set(searchbar_layout, "elm.swallow.content", entry);
-
- evas_object_smart_callback_add(entry, "changed", _changed_cb, searchbar_layout);
- evas_object_smart_callback_add(entry, "focused", _focused_cb, searchbar_layout);
- evas_object_smart_callback_add(entry, "unfocused", _unfocused_cb, searchbar_layout);
- elm_object_signal_callback_add(searchbar_layout, "elm,bg,clicked", "elm", _bg_clicked_cb, entry);
- elm_object_signal_callback_add(searchbar_layout, "elm,eraser,clicked", "elm", _eraser_clicked_cb, entry);
-
- elm_entry_input_panel_layout_set(entry, ELM_INPUT_PANEL_LAYOUT_NORMAL);
- evas_object_size_hint_weight_set(searchbar_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(searchbar_layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- elm_object_signal_callback_add(searchbar_layout, "elm,action,click", "", _searchsymbol_clicked_cb, entry);
-
- evas_object_show(searchbar_layout);
- return searchbar_layout;
-}
-
-static void _nineth_trans_finished_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *searchbar_layout = (Evas_Object *) data;
-
- //Unregister smart callback function which is called after naviframe transition is finished
- evas_object_smart_callback_del(obj, "transition,finished", _nineth_trans_finished_cb);
-
- //Enable focus set to entry
- elm_object_tree_focus_allow_set(searchbar_layout, EINA_TRUE);
-
- //Set focus to entry to show keypad
- elm_object_focus_set(searchbar_layout, EINA_TRUE);
-}
-
-static void _nineth_page(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *searchbar_layout, *content, *toolbar;
- Evas_Object *nf = (Evas_Object *) data;
- Elm_Object_Item *navi_it, *toolbar_it[2];
-
- if (nf == NULL) return;
-
- content = _create_nocontent(nf, "Naviframe Demo<br>Page 9");
-
- //Searchbar
- searchbar_layout = _create_searchbar(nf);
-
- //Register smart callback function which is called after naviframe transition is finished
- evas_object_smart_callback_add(nf, "transition,finished", _nineth_trans_finished_cb, searchbar_layout);
-
- //Disable focus set to entry
- elm_object_tree_focus_allow_set(searchbar_layout, EINA_FALSE);
-
- //Push a new item
- navi_it = elm_naviframe_item_push(nf, NULL, NULL, NULL, content, "empty");
-
- //Set Searchbar to "title" part in "empty" item style
- elm_object_item_part_content_set(navi_it, "title", searchbar_layout);
-
- //2 Item Toolbar
- toolbar = elm_toolbar_add(nf);
- elm_object_style_set(toolbar, "default");
- elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_transverse_expanded_set(toolbar, EINA_TRUE);
- elm_toolbar_select_mode_set(toolbar, ELM_OBJECT_SELECT_MODE_NONE);
- toolbar_it[0] = elm_toolbar_item_append(toolbar, NULL, "Prev", _prev_cb, nf);
- toolbar_it[1] = elm_toolbar_item_append(toolbar, NULL, "Next", _tenth_page, nf);
- elm_object_item_part_content_set(navi_it, "toolbar", toolbar);
-}
-
-static void _view_changed_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *sub_content = NULL;
-
- switch ((int)data)
- {
- case 1:
- sub_content = _create_nocontent(layout_tab, "Naviframe Demo<br>Page 8-1");
- break;
- case 2:
- sub_content = _create_nocontent(layout_tab, "Naviframe Demo<br>Page 8-2");
- break;
- case 3:
- sub_content = _create_nocontent(layout_tab, "Naviframe Demo<br>Page 8-3");
- break;
- case 4:
- sub_content = _create_nocontent(layout_tab, "Naviframe Demo<br>Page 8-4");
- break;
- case 5:
- sub_content = _create_nocontent(layout_tab, "Naviframe Demo<br>Page 8-5");
- break;
- }
- //Previous content is deleted automatically
- elm_object_part_content_set(layout_tab, "elm.swallow.content", sub_content);
-}
-
-static void _eighth_page(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *sub_content, *tabbar, *toolbar;
- Evas_Object *nf = (Evas_Object *) data;
- Elm_Object_Item *navi_it, *toolbar_it[2];
- Elm_Object_Item *tabbar_it;
-
- if (nf == NULL) return;
-
- layout_tab = elm_layout_add(nf);
- elm_layout_theme_set(layout_tab, "layout", "application", "default");
- sub_content = _create_nocontent(layout_tab, "Naviframe Demo<br>Page 8-1");
- elm_object_part_content_set(layout_tab, "elm.swallow.content", sub_content);
-
- //Push a new item
- navi_it = elm_naviframe_item_push(nf, NULL, NULL, NULL, layout_tab, "tabbar/notitle");
-
- //Tabbar
- tabbar = elm_toolbar_add(nf);
- if (tabbar) {
- elm_object_style_set(tabbar, "tabbar");
- elm_toolbar_shrink_mode_set(tabbar, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_reorder_mode_set(tabbar, EINA_TRUE);
- elm_toolbar_transverse_expanded_set(tabbar, EINA_TRUE);
- elm_toolbar_select_mode_set(tabbar, ELM_OBJECT_SELECT_MODE_ALWAYS);
- tabbar_it = elm_toolbar_item_append(tabbar, ICON_DIR"/00_controlbar_icon_favorites.png", "Main", _view_changed_cb, (void *)1);
- elm_toolbar_item_append(tabbar, ICON_DIR"/00_controlbar_icon_playlist.png", "Playlist", _view_changed_cb, (void *)2);
- elm_toolbar_item_append(tabbar, ICON_DIR"/00_controlbar_icon_artists.png", "Artists list", _view_changed_cb, (void *)3);
- elm_toolbar_item_append(tabbar, ICON_DIR"/00_controlbar_icon_songs.png", "Songs", _view_changed_cb, (void *)4);
- elm_toolbar_item_append(tabbar, ICON_DIR"/00_controlbar_icon_dialer.png", "Dialer for call", _view_changed_cb, (void *)5);
-
- elm_toolbar_item_selected_set(tabbar_it, EINA_TRUE);
- elm_object_item_part_content_set(navi_it, "tabbar", tabbar);
- }
-
- //2 Item Toolbar
- toolbar = elm_toolbar_add(nf);
- elm_object_style_set(toolbar, "default");
- elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_transverse_expanded_set(toolbar, EINA_TRUE);
- elm_toolbar_select_mode_set(toolbar, ELM_OBJECT_SELECT_MODE_NONE);
- toolbar_it[0] = elm_toolbar_item_append(toolbar, NULL, "Prev", _prev_cb, nf);
- toolbar_it[1] = elm_toolbar_item_append(toolbar, NULL, "Next", _nineth_page, nf);
- elm_object_item_part_content_set(navi_it, "toolbar", toolbar);
-}
-
-static void _seventh_view_2_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *content;
- Evas_Object *nf = (Evas_Object *) data;
-
- content = _create_nocontent(nf, "Naviframe Demo<br>Page 7-2");
-
- //Previous content is deleted automatically
- elm_object_part_content_set(nf, NULL, content);
-}
-
-static void _seventh_view_1_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *content;
- Evas_Object *nf = (Evas_Object *) data;
-
- content = _create_nocontent(nf, "Naviframe Demo<br>Page 7-1");
-
- //Previous content is deleted automatically
- elm_object_part_content_set(nf, NULL, content);
-}
-
-static void _seventh_page(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *content, *tabbar, *toolbar, *btn;
- Evas_Object *nf = (Evas_Object *) data;
- Elm_Object_Item *navi_it, *tabbar_it, *toolbar_it[3];
-
- if (nf == NULL) return;
-
- content = _create_nocontent(nf, "Naviframe Demo<br>Page 7-1");
-
- //Push a new item
- navi_it = elm_naviframe_item_push(nf, "Tabbar", NULL, NULL, content, "tabbar");
-
- //Tabbar
- tabbar = elm_toolbar_add(nf);
- elm_toolbar_shrink_mode_set(tabbar, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_transverse_expanded_set(tabbar, EINA_TRUE);
- elm_toolbar_select_mode_set(tabbar, ELM_OBJECT_SELECT_MODE_ALWAYS);
- elm_object_style_set(tabbar, "tabbar/item_with_title");
- if (tabbar) {
- tabbar_it = elm_toolbar_item_append(tabbar, NULL, "View 1", _seventh_view_1_cb, nf);
- elm_toolbar_item_append(tabbar, NULL, "View 2", _seventh_view_2_cb, nf);
-
- elm_toolbar_item_selected_set(tabbar_it, EINA_TRUE);
- elm_object_item_part_content_set(navi_it, "tabbar", tabbar);
- }
-
- //Title Icon Left Button
- btn = _create_title_edit_btn(nf, NULL, nf);
- elm_object_item_part_content_set(navi_it, "title_left_btn", btn);
-
- //Title Icon Right Button
- btn = _create_title_plus_btn(nf, NULL, nf);
- elm_object_item_part_content_set(navi_it, "title_right_btn", btn);
-
- //3 Item Toolbar
- toolbar = elm_toolbar_add(nf);
- elm_object_style_set(toolbar, "default");
- elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_transverse_expanded_set(toolbar, EINA_TRUE);
- elm_toolbar_select_mode_set(toolbar, ELM_OBJECT_SELECT_MODE_NONE);
- toolbar_it[0] = elm_toolbar_item_append(toolbar, NULL, "Prev", _prev_cb, nf);
- toolbar_it[1] = elm_toolbar_item_append(toolbar, NULL, "None", NULL, nf);
- toolbar_it[2] = elm_toolbar_item_append(toolbar, NULL, "Next", _eighth_page, nf);
- elm_object_item_part_content_set(navi_it, "toolbar", toolbar);
-}
-
-static void _go_check_clicked_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Eina_Bool state = elm_check_state_get(obj);
-
- printf("Check state : %d\n", state);
-}
-
-static void _sixth_page(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *content, *check, *toolbar;
- Evas_Object *nf = (Evas_Object *) data;
- Elm_Object_Item *navi_it, *toolbar_it[2];
-
- if (nf == NULL) return;
-
- content = _create_nocontent(nf, "Naviframe Demo<br>Page 6");
-
- //Push a new item
- navi_it = elm_naviframe_item_push(nf, "Title on&off Button", NULL, NULL, content, NULL);
-
- // Title on&off Button
- check = elm_check_add(nf);
- elm_check_state_set(check, EINA_FALSE);
- elm_object_style_set(check, "naviframe/title_on&off");
- elm_object_item_part_content_set(navi_it, "title_right_btn", check);
- evas_object_smart_callback_add(check, "changed", _go_check_clicked_cb, NULL);
-
- //2 Item Toolbar
- toolbar = elm_toolbar_add(nf);
- elm_object_style_set(toolbar, "default");
- elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_transverse_expanded_set(toolbar, EINA_TRUE);
- elm_toolbar_select_mode_set(toolbar, ELM_OBJECT_SELECT_MODE_NONE);
- toolbar_it[0] = elm_toolbar_item_append(toolbar, NULL, "Prev", _prev_cb, nf);
- toolbar_it[1] = elm_toolbar_item_append(toolbar, NULL, "Next", _seventh_page, nf);
- elm_object_item_part_content_set(navi_it, "toolbar", toolbar);
-}
-
-static void _fifth_page(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *content, *btn, *toolbar;
- Evas_Object *nf = (Evas_Object *) data;
- Elm_Object_Item *navi_it, *toolbar_it[2];
-
- if (nf == NULL) return;
-
- content = _create_nocontent(nf, "Naviframe Demo<br>Page 5");
-
- //Push a new item
- navi_it = elm_naviframe_item_push(nf, "Drawers Button", NULL, NULL, content, "drawers");
-
- //Subtitle
- elm_object_item_part_text_set(navi_it, "subtitle", "Subtitle Text");
-
- //Drawers Button
- btn = _create_drawers_btn(nf, _sixth_page, nf);
- elm_object_item_part_content_set(navi_it, "drawers", btn);
-
- //Title Icon Left Button
- btn = _create_title_edit_btn(nf, NULL, nf);
- elm_object_item_part_content_set(navi_it, "title_left_btn", btn);
-
- //Title Icon Right Button
- btn = _create_title_plus_btn(nf, NULL, nf);
- elm_object_item_part_content_set(navi_it, "title_right_btn", btn);
-
- //2 Item Toolbar
- toolbar = elm_toolbar_add(nf);
- elm_object_style_set(toolbar, "default");
- elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_transverse_expanded_set(toolbar, EINA_TRUE);
- elm_toolbar_select_mode_set(toolbar, ELM_OBJECT_SELECT_MODE_NONE);
- toolbar_it[0] = elm_toolbar_item_append(toolbar, NULL, "Prev", _prev_cb, nf);
- toolbar_it[1] = elm_toolbar_item_append(toolbar, NULL, "Next", _sixth_page, nf);
- elm_object_item_part_content_set(navi_it, "toolbar", toolbar);
-}
-
-static void _fourth_page(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *content, *btn, *toolbar;
- Evas_Object *nf = (Evas_Object *) data;
- Elm_Object_Item *navi_it, *toolbar_it[2];
-
- if (nf == NULL) return;
-
- content = _create_nocontent(nf, "Naviframe Demo<br>Page 4");
-
- //Push a new item
- navi_it = elm_naviframe_item_push(nf, "Title Badge", NULL, NULL, content, NULL);
-
- //Subtitle
- elm_object_item_part_text_set(navi_it, "subtitle", "Subtitle Text");
-
- //Title Badge
- elm_object_item_part_text_set(navi_it, "title_badge", "999");
-
- //Title Icon Left Button
- btn = _create_title_edit_btn(nf, NULL, nf);
- elm_object_item_part_content_set(navi_it, "title_left_btn", btn);
-
- //Title Icon Right Button
- btn = _create_title_plus_btn(nf, NULL, nf);
- elm_object_item_part_content_set(navi_it, "title_right_btn", btn);
-
- //2 Item Toolbar
- toolbar = elm_toolbar_add(nf);
- elm_object_style_set(toolbar, "default");
- elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_transverse_expanded_set(toolbar, EINA_TRUE);
- elm_toolbar_select_mode_set(toolbar, ELM_OBJECT_SELECT_MODE_NONE);
- toolbar_it[0] = elm_toolbar_item_append(toolbar, NULL, "Prev", _prev_cb, nf);
- toolbar_it[1] = elm_toolbar_item_append(toolbar, NULL, "Next", _fifth_page, nf);
- elm_object_item_part_content_set(navi_it, "toolbar", toolbar);
-}
-
-static void _third_page(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *content, *btn, *toolbar;
- Evas_Object *ic;
- Evas_Object *nf = (Evas_Object *) data;
- Elm_Object_Item *navi_it, *toolbar_it[2];
- char buf[PATH_MAX] = {0,};
-
- if (nf == NULL) return;
-
- content = _create_nocontent(nf, "Naviframe Demo<br>Page 3");
-
- //Push a new item
- navi_it = elm_naviframe_item_push(nf, "Title Icon", NULL, NULL, content, NULL);
-
- //Subtitle
- elm_object_item_part_text_set(navi_it, "subtitle", "Subtitle Text");
-
- //Title Icon
- ic = elm_image_add(nf);
- snprintf(buf, sizeof(buf), "%s/g1.png", ICON_DIR);
- elm_image_file_set(ic, buf, NULL);
- evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(ic, EINA_TRUE, EINA_TRUE);
- elm_object_item_part_content_set(navi_it, "icon", ic);
-
- //Title Icon Left Button
- btn = _create_title_edit_btn(nf, NULL, nf);
- elm_object_item_part_content_set(navi_it, "title_left_btn", btn);
-
- //Title Icon Right Button
- btn = _create_title_plus_btn(nf, NULL, nf);
- elm_object_item_part_content_set(navi_it, "title_right_btn", btn);
-
- //2 Item Toolbar
- toolbar = elm_toolbar_add(nf);
- elm_object_style_set(toolbar, "default");
- elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_transverse_expanded_set(toolbar, EINA_TRUE);
- elm_toolbar_select_mode_set(toolbar, ELM_OBJECT_SELECT_MODE_NONE);
- toolbar_it[0] = elm_toolbar_item_append(toolbar, NULL, "Prev", _prev_cb, nf);
- toolbar_it[1] = elm_toolbar_item_append(toolbar, NULL, "Next", _fourth_page, nf);
- elm_object_item_part_content_set(navi_it, "toolbar", toolbar);
-}
-
-static void _second_page(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *content, *btn, *toolbar;
- Evas_Object *nf = (Evas_Object *) data;
- Elm_Object_Item *navi_it, *toolbar_it[2];
-
- if (nf == NULL) return;
-
- content = _create_nocontent(nf, "Naviframe Demo<br>Page 2");
-
- //Push a new item
- navi_it = elm_naviframe_item_push(nf, "Title Text Button", NULL, NULL, content, NULL);
-
- //Title Text Left Button
- btn = _create_title_text_btn(nf, "Prev", _prev_cb, nf);
- elm_object_item_part_content_set(navi_it, "title_left_btn", btn);
-
- //Title Text Right Button
- btn = _create_title_text_btn(nf, "Next", _third_page, nf);
- elm_object_item_part_content_set(navi_it, "title_right_btn", btn);
-
- //2 Item Toolbar
- toolbar = elm_toolbar_add(nf);
- elm_object_style_set(toolbar, "default");
- elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_transverse_expanded_set(toolbar, EINA_TRUE);
- elm_toolbar_select_mode_set(toolbar, ELM_OBJECT_SELECT_MODE_NONE);
- toolbar_it[0] = elm_toolbar_item_append(toolbar, NULL, "Prev", _prev_cb, nf);
- toolbar_it[1] = elm_toolbar_item_append(toolbar, NULL, "Next", _third_page, nf);
- elm_object_item_part_content_set(navi_it, "toolbar", toolbar);
-}
-
-static void _first_page(Evas_Object *nf)
-{
- Evas_Object *content, *btn, *toolbar;
- Elm_Object_Item *navi_it;
-
- if (nf == NULL) return;
-
- content = _create_nocontent(nf, "Naviframe Demo<br>Page 1");
-
- //Push a new item
- navi_it = elm_naviframe_item_push(nf, "Title Text", NULL, NULL, content, NULL);
-
- //Register item pop callback function
- elm_naviframe_item_pop_cb_set(navi_it, _quit_cb, nf);
-
- //Title Icon Right Button
- btn = _create_title_plus_btn(nf, _second_page, nf);
- elm_object_item_part_content_set(navi_it, "title_right_btn", btn);
-
- //HW More Button
- btn = create_toolbar_more_btn(nf, _second_page, navi_it);
- elm_object_item_part_content_set(navi_it, "toolbar_more_btn", btn);
-
- //1 Item Toolbar
- toolbar = elm_toolbar_add(nf);
- elm_object_style_set(toolbar, "default");
- elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_transverse_expanded_set(toolbar, EINA_TRUE);
- elm_toolbar_select_mode_set(toolbar, ELM_OBJECT_SELECT_MODE_NONE);
- elm_toolbar_item_append(toolbar, NULL, "Next", _second_page, nf);
- elm_object_item_part_content_set(navi_it, "toolbar", toolbar);
-}
-
-void naviframe_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Evas_Object *nf;
-
- ad = (struct appdata *) data;
- if (ad == NULL) return;
-
- layout_main = ad->layout_main;
- elm_object_content_unset(ad->conform);
- evas_object_hide(ad->layout_main);
-
- nf = elm_naviframe_add(ad->conform);
- elm_object_content_set(ad->conform, nf);
- evas_object_show(nf);
-
- //Register HW back button and HW more button for naviframe
- ea_object_event_callback_add(nf, EA_CALLBACK_BACK, ea_naviframe_back_cb, NULL);
- ea_object_event_callback_add(nf, EA_CALLBACK_MORE, ea_naviframe_more_cb, NULL);
-
- conform = ad->conform;
- _first_page(nf);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "panes.h"
-
-/*********************************************************
- panes
- ********************************************************/
-static void _panes_default_cb(void *data, Evas_Object *obj, void *event_info);
-
-static void _panes_fixed_cb(void *data, Evas_Object *obj, void *event_info);
-
-static Evas_Object *_create_default_panes(Evas_Object *parent);
-
-static Evas_Object *_create_fixed_panes(Evas_Object *parent);
-
-static double size = 0.0;
-
-static struct _menu_item menu_its[] = {
- {"Movable Pane", _panes_default_cb},
- {"Fixed Pane", _panes_fixed_cb},
- /* do not delete below */
- {NULL, NULL}
-};
-
-typedef struct _Panes_Data Panes_Data;
-
-struct _Panes_Data
-{
- Evas_Object *parent;
- Evas_Object *panes;
- Evas_Object *content_right;
- Eina_Bool panes_pressed;
-};
-
-static Panes_Data pd;
-
-static void
-_list_click(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *it = (Elm_Object_Item *) elm_list_selected_item_get(obj);
-
- if (it == NULL) {
- fprintf(stderr, "list item is NULL\n");
- return;
- }
-
- elm_list_item_selected_set(it, EINA_FALSE);
-}
-
-static Eina_Bool
-_pop_cb(void *data, Elm_Object_Item *it)
-{
- Panes_Data *pd = (Panes_Data *) data;
-
- set_rotate_cb_for_winset(NULL, NULL);
- if (pd->content_right) {
- elm_object_part_content_unset(pd->panes, "right");
- evas_object_del(pd->content_right);
- }
-
- return EINA_TRUE;
-}
-
-static int
-_rotate_panes_cb(enum appcore_rm rotmode, void *data)
-{
- Panes_Data *pd = (Panes_Data *) data;
-
- if (pd->panes_pressed)
- evas_event_feed_mouse_up(evas_object_evas_get(pd->panes), 1, EVAS_BUTTON_NONE, 0, NULL);
-
- switch (rotmode) {
- case APPCORE_RM_PORTRAIT_NORMAL:
- case APPCORE_RM_PORTRAIT_REVERSE:
- elm_object_part_content_set(pd->panes, "right", pd->content_right);
- break;
-
- case APPCORE_RM_LANDSCAPE_NORMAL:
- case APPCORE_RM_LANDSCAPE_REVERSE:
- elm_object_part_content_set(pd->panes, "right", pd->content_right);
- break;
-
- case APPCORE_RM_UNKNOWN:
- elm_panes_content_left_size_set(pd->panes, 1.0);
- elm_object_part_content_unset(pd->panes, "right");
- evas_object_hide(pd->content_right);
- break;
- }
- return 0;
-}
-
-static Evas_Object *
-_create_list_winset(struct appdata *ad)
-{
- Evas_Object *li;
-
- if (ad == NULL) return NULL;
- li = elm_list_add(ad->nf);
- elm_list_mode_set(li, ELM_LIST_COMPRESS);
- evas_object_smart_callback_add(li, "selected", _list_click, NULL);
-
- int idx = 0;
-
- while (menu_its[idx].name != NULL) {
- elm_list_item_append(li, menu_its[idx].name, NULL, NULL, menu_its[idx].func, ad);
- ++idx;
- }
- elm_list_go(li);
-
- return li;
-}
-
-static void
-_panes_default_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *panes;
- Elm_Object_Item *it;
- struct appdata *ad = (struct appdata *)data;
-
- if (ad == NULL) return;
- panes = _create_default_panes(ad->nf);
- it = elm_naviframe_item_push(ad->nf, _("Movable"), NULL, NULL, panes, NULL);
- elm_naviframe_item_pop_cb_set(it, _pop_cb, (void *)&pd);
-}
-
-static void
-_panes_fixed_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *panes;
- Elm_Object_Item *it;
- struct appdata *ad = (struct appdata *)data;
-
- if (ad == NULL) return;
- panes = _create_fixed_panes(ad->nf);
- it = elm_naviframe_item_push(ad->nf, _("Fixed"), NULL, NULL, panes, NULL);
- elm_naviframe_item_pop_cb_set(it, _pop_cb, (void *)&pd);
-}
-
-static void
-_press(void *data, Evas_Object *obj, void *event_info)
-{
- pd.panes_pressed = EINA_TRUE;
- printf("press\n");
-}
-
-static void
-_unpress(void *data, Evas_Object *obj, void *event_info)
-{
- pd.panes_pressed = EINA_FALSE;
- printf("unpress, size : %f\n", elm_panes_content_left_size_get(obj));
-}
-
-static void
-_clicked(void *data, Evas_Object *obj, void *event_info)
-{
- printf("clicked\n");
-}
-
-static void
-_clicked_double(void *data, Evas_Object *obj, void *event_info)
-{
- printf("clicked double\n");
- if (elm_panes_content_left_size_get(obj) > 0) {
- size = elm_panes_content_left_size_get(obj);
- elm_panes_content_left_size_set(obj, 0.0);
- }
- else
- elm_panes_content_left_size_set(obj, size);
-}
-
-static Evas_Object *
-_create_default_panes(Evas_Object *parent)
-{
- Evas_Object *panes, *panes_h, *btn;
- Eina_Bool current_mode;
-
- panes = elm_panes_add(parent);
- pd.parent = parent;
- pd.panes = panes;
- //by default, pane's type is vertical
- //setting the expansion weight hints for the pane
- evas_object_size_hint_weight_set(panes, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(panes, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(panes);
-
- //handlers for the signals emitted by the outer pane
- evas_object_smart_callback_add(panes, "clicked", _clicked, panes);
- evas_object_smart_callback_add(panes, "clicked,double", _clicked_double, panes);
-
- evas_object_smart_callback_add(panes, "press", _press, panes);
- evas_object_smart_callback_add(panes, "unpress", _unpress, panes);
-
- //creating a control to be set as one of the contents of the pane
- btn = elm_button_add(panes);
- elm_object_text_set(btn, "Left");
- evas_object_size_hint_weight_set(btn, 1.0, 1.0);
- evas_object_size_hint_align_set(btn, -1.0, -1.0);
- //setting the relative size of the left view of the pane
- elm_panes_content_left_size_set(panes, 0.5);
- //setting the left content of the pane
- elm_object_part_content_set(panes, "left", btn);
-
- //right content of the pane
- panes_h = elm_panes_add(panes);
- elm_panes_horizontal_set(panes_h, EINA_TRUE);
- evas_object_size_hint_weight_set(panes_h, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(panes_h, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(panes_h);
-
- evas_object_smart_callback_add(panes_h, "clicked", _clicked, panes_h);
- evas_object_smart_callback_add(panes_h, "clicked,double", _clicked_double, panes_h);
-
- evas_object_smart_callback_add(panes_h, "press", _press, panes_h);
- evas_object_smart_callback_add(panes_h, "unpress", _unpress, panes_h);
-
- btn = elm_button_add(panes_h);
- elm_object_text_set(btn, "Up");
- evas_object_size_hint_weight_set(btn, 1.0, 1.0);
- evas_object_size_hint_align_set(btn, -1.0, -1.0);
- //setting the relative size of the left view of the pane
- elm_panes_content_left_size_set(panes_h, 0.3);
- //setting the top content of the horizontal pane
- elm_object_part_content_set(panes_h, "left", btn);
-
- btn = elm_button_add(panes_h);
- elm_object_text_set(btn, "Down");
- evas_object_size_hint_weight_set(btn, 1.0, 1.0);
- evas_object_size_hint_align_set(btn, -1.0, -1.0);
- //setting the bottom content of the horizontal pane
- elm_object_part_content_set(panes_h, "right", btn);
- pd.content_right = panes_h;
- set_rotate_cb_for_winset(_rotate_panes_cb, &pd);
- current_mode = is_portrait_mode();
- if (current_mode == EINA_TRUE) {
- _rotate_panes_cb(APPCORE_RM_PORTRAIT_NORMAL, &pd);
- }
- else {
- _rotate_panes_cb(APPCORE_RM_LANDSCAPE_NORMAL, &pd);
- }
- return panes;
-}
-
-static Evas_Object *
-_create_fixed_panes(Evas_Object *parent)
-{
- Evas_Object *panes, *panes_h, *btn;
- Eina_Bool current_mode;
-
- panes = elm_panes_add(parent);
- pd.parent = parent;
- pd.panes = panes;
- //by default, pane's type is vertical
- //setting the expansion weight hints for the pane
- evas_object_size_hint_weight_set(panes, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(panes, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(panes);
- //restrict the movement of handler with user interaction
- elm_panes_fixed_set(panes, EINA_TRUE);
-
- //handlers for the signals emitted by the outer pane
- evas_object_smart_callback_add(panes, "clicked", _clicked, panes);
- evas_object_smart_callback_add(panes, "clicked,double", _clicked_double, panes);
-
- evas_object_smart_callback_add(panes, "press", _press, panes);
- evas_object_smart_callback_add(panes, "unpress", _unpress, panes);
-
- //creating a control to be set as one of the contents of the pane
- btn = elm_button_add(panes);
- elm_object_text_set(btn, "Left");
- evas_object_size_hint_weight_set(btn, 1.0, 1.0);
- evas_object_size_hint_align_set(btn, -1.0, -1.0);
- //setting the relative size of the left view of the pane
- elm_panes_content_left_size_set(panes, 0.5);
- //setting the left content of the pane
- elm_object_part_content_set(panes, "left", btn);
-
- //right content of the pane
- panes_h = elm_panes_add(panes);
- elm_panes_horizontal_set(panes_h, EINA_TRUE);
- evas_object_size_hint_weight_set(panes_h, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(panes_h, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(panes_h);
- //restrict the movement of handler with user interaction
- elm_panes_fixed_set(panes_h, EINA_TRUE);
-
- evas_object_smart_callback_add(panes_h, "clicked", _clicked, panes_h);
- evas_object_smart_callback_add(panes_h, "clicked,double", _clicked_double, panes_h);
-
- evas_object_smart_callback_add(panes_h, "press", _press, panes_h);
- evas_object_smart_callback_add(panes_h, "unpress", _unpress, panes_h);
-
- btn = elm_button_add(panes_h);
- elm_object_text_set(btn, "Up");
- evas_object_size_hint_weight_set(btn, 1.0, 1.0);
- evas_object_size_hint_align_set(btn, -1.0, -1.0);
- //setting the relative size of the left view of the pane
- elm_panes_content_left_size_set(panes_h, 0.3);
- //setting the top content of the horizontal pane
- elm_object_part_content_set(panes_h, "left", btn);
-
- btn = elm_button_add(panes_h);
- elm_object_text_set(btn, "Down");
- evas_object_size_hint_weight_set(btn, 1.0, 1.0);
- evas_object_size_hint_align_set(btn, -1.0, -1.0);
- //setting the bottom content of the horizontal pane
- elm_object_part_content_set(panes_h, "right", btn);
- pd.content_right = panes_h;
- set_rotate_cb_for_winset(_rotate_panes_cb, &pd);
- current_mode = is_portrait_mode();
- if (current_mode == EINA_TRUE) {
- _rotate_panes_cb(APPCORE_RM_PORTRAIT_NORMAL, &pd);
- }
- else {
- _rotate_panes_cb(APPCORE_RM_LANDSCAPE_NORMAL, &pd);
- }
- return panes;
-}
-
-void
-panes_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *list;
- struct appdata *ad = (struct appdata *)data;
-
- if (ad == NULL) return;
-
- list = _create_list_winset(ad);
- elm_naviframe_item_push(ad->nf, _("Split View"), NULL, NULL, list, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "popup.h"
-
-/*********************************************************
- popup
- ********************************************************/
-static Evas_Object *popup_global = NULL;
-static Evas_Object *popup_global_2 = NULL;
-static Elm_Genlist_Item_Class itc;
-static Ecore_Timer *pb_timer = NULL;
-static Ecore_Timer *del_timer = NULL;
-static Evas_Object *list = NULL;
-static Eina_Bool rotcb_set = EINA_FALSE;
-static Eina_Bool rotation_cb = EINA_FALSE;
-static Evas_Object *inner_layout = NULL;
-static Evas_Object *label1 = NULL;
-static Evas_Object *label2 = NULL;
-static int state_index = 0; //selected radio index
-static Evas_Object *gen_popup = NULL;
-Evas_Object *win = NULL;
-
-#define IMAGE_MAX 20
-
-typedef struct _Item_Data
-{
- int index;
- Evas_Object *genlist;
- Elm_Object_Item *item;
-} Item_Data;
-
-static void _on_rotation_changed(void *data, Evas_Object *obj, void *event_info );
-static void _on_rotation_gengrid_1line_change(void *data, Evas_Object *obj, void *event_info );
-static void _on_rotation_gengrid_2line_change(void *data, Evas_Object *obj, void *event_info );
-static void _on_rotation_gengrid_3line_change(void *data, Evas_Object *obj, void *event_info );
-static void _text_rotation_changed(void *data, Evas_Object *obj, void *event_info );
-
-typedef struct _Colorplane_Data Colorplane_Data;
-struct _Colorplane_Data
-{
- Evas_Object *layout;
- Evas_Object *colorselector;
- Elm_Object_Item *it_last;
- Elm_Object_Item *sel_it;
- struct appdata *ad;
- Eina_Bool changed;
- int r, g, b, a;
-};
-
-typedef struct _Testitem
-{
- Elm_Object_Item *item;
- const char *text;
- const char *path;
-} Testitem;
-
-typedef struct _grid_data
-{
- Elm_Object_Item *selected_item;
- Eina_Bool selected;
-} grid_data;
-
-static char *Items[] = {
- "Benny Benassi", "Main Item 2", "Main Item 3",
- "Main Item 4", "Main Item 5", "Main Item 6",
- "Main Item 7", "Main Item 8"
-};
-static char *Sub_Items[] = {
- "08282828282", "Sub Item 2", "Sub Item 3",
- "Sub Item 4", "Sub Item 5", "Sub Item 6",
- "Sub Item 7", "Sub Item 8"
-};
-
-static void _popup_del_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
-{
- if (elm_object_scroll_freeze_get(list)) elm_object_scroll_freeze_pop(list);
-}
-static Eina_Bool _pop_cb(void *data, Elm_Object_Item *it)
-{
- if (pb_timer) {
- ecore_timer_del(pb_timer);
- pb_timer = NULL;
- }
- if (del_timer) {
- ecore_timer_del(del_timer);
- del_timer = NULL;
- }
- if (popup_global) {
- evas_object_del(popup_global);
- popup_global = NULL;
- }
- elm_theme_extension_del(NULL, ELM_DEMO_EDJ);
-
- return EINA_TRUE;
-}
-
-static void _genlist_click(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *it = (Elm_Object_Item *) elm_genlist_selected_item_get(obj);
- if (it == NULL) {
- fprintf(stderr, "list item is NULL\n");
- return;
- }
-
- elm_genlist_item_selected_set(it, EINA_FALSE);
-}
-
-static void _list_click(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *it = (Elm_Object_Item *) elm_list_selected_item_get(obj);
- if (!it) return;
- elm_list_item_selected_set(it, EINA_FALSE);
-}
-
-static void _show_clicked_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *icon;
- char buf[1024];
- icon = elm_image_add(inner_layout);
- snprintf(buf, sizeof(buf), "%s/00_img_smart_stay.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_image_aspect_fixed_set(icon, EINA_FALSE);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- evas_object_show(label1);
- evas_object_show(label2);
- elm_object_part_content_set(inner_layout, "elm.swallow.content1", label1);
- elm_object_part_content_set(inner_layout, "elm.swallow.content3", label2);
- elm_object_part_content_set(inner_layout, "elm.swallow.content2", icon);
-}
-
-
-static void _block_clicked_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (del_timer) {
- ecore_timer_del(del_timer);
- del_timer = NULL;
- }
- if (rotation_cb) {
- evas_object_smart_callback_del(win, "rotation,changed", _text_rotation_changed);
- rotation_cb = EINA_FALSE;
- }
- evas_object_del(obj);
-}
-
-static void _timeout_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (del_timer) {
- ecore_timer_del(del_timer);
- del_timer = NULL;
- }
- evas_object_del(obj);
-}
-
-static void _response_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup = data;
- if (pb_timer) {
- ecore_timer_del(pb_timer);
- pb_timer = NULL;
- }
- if (del_timer) {
- ecore_timer_del(del_timer);
- del_timer = NULL;
- }
-
- if (rotcb_set) {
- evas_object_smart_callback_del(win, "rotation,changed", _on_rotation_changed);
- rotcb_set = EINA_FALSE;
- }
-
- evas_object_del(data);
-}
-
-static void _password_changed_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (elm_object_part_content_get(obj, "elm.swallow.clear")) {
- if (elm_object_focus_get(obj)) {
- if (elm_entry_is_empty(obj))
- elm_object_signal_emit(obj, "elm,state,clear,hidden", "");
- else
- elm_object_signal_emit(obj, "elm,state,clear,visible", "");
- }
- }
-}
-
-static void _password_focused_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (elm_object_part_content_get(obj, "elm.swallow.clear")) {
- if (!elm_entry_is_empty(obj))
- elm_object_signal_emit(obj, "elm,state,clear,visible", "");
- else
- elm_object_signal_emit(obj, "elm,state,clear,hidden", "");
- }
- elm_object_signal_emit(obj, "elm,state,focus,on", "");
-}
-
-static void _password_unfocused_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (elm_object_part_content_get(obj, "elm.swallow.clear"))
- elm_object_signal_emit(obj, "elm,state,clear,hidden", "");
- elm_object_signal_emit(obj, "elm,state,focus,off", "");
-}
-
-static void _eraser_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info)
-{
- elm_entry_entry_set(data, "");
-}
-
-static void _password_check_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *layout = data;
- Evas_Object *entry = elm_object_part_content_get(layout, "elm.swallow.content");
- Eina_Bool state;
- state = elm_check_state_get(obj);
-
- if (state)
- elm_entry_password_set(entry, EINA_FALSE);
- else
- elm_entry_password_set(entry, EINA_TRUE);
-}
-
-static void _response_global_cb(void *data, Evas_Object *obj, void *event_info)
-{
- elm_object_scroll_freeze_pop(list);
- if (pb_timer) {
- ecore_timer_del(pb_timer);
- pb_timer = NULL;
- }
- if (del_timer) {
- ecore_timer_del(del_timer);
- del_timer = NULL;
- }
- evas_object_hide(data);
-}
-
-static void _list_item_click(Evas_Object *obj, int index)
-{
- printf("Index of the list=%d\n", index);
- evas_object_del(obj);
-}
-
-static void _test(void *data, Evas_Object *obj, void *event_info)
-{
- if (!data) return;
- Evas_Object *e_n = (Evas_Object *)data;
- if (!elm_entry_is_empty(obj) && elm_entry_is_empty(e_n)) {
- elm_object_focus_set(e_n, EINA_TRUE);
- elm_entry_cursor_end_set(e_n);
- }
-}
-
-static Eina_Bool _timer_cb(void *data)
-{
- Evas_Object *popup = (Evas_Object *)data;
- _timeout_cb(NULL, popup, NULL);
- del_timer = NULL;
- return ECORE_CALLBACK_CANCEL;
-}
-
-static void _item_selected(void *data, Evas_Object *obj, void *event_info)
-{
- printf("item selected: %p\n", event_info);
-}
-
-static char * grid_text_get(void *data, Evas_Object *obj, const char *part)
-{
- Testitem *ti = (Testitem *)data;
-
- if (!strcmp(part, "elm.text"))
- return strdup(ti->text);
-
- return NULL;
-}
-
-static Evas_Object * grid_content_get(void *data, Evas_Object *obj, const char *part)
-{
- Testitem *ti = (Testitem *)data;
-
- if(!strcmp(part, "elm.swallow.icon")) {
- Evas_Object *icon = elm_image_add(obj);
- elm_image_file_set(icon, ti->path, NULL);
- elm_image_aspect_fixed_set(icon, EINA_FALSE);
- elm_image_preload_disabled_set(icon, EINA_FALSE);
- evas_object_show(icon);
- return icon;
- }
-
- return NULL;
-}
-
-static void
-_gengrid_sel(void *data, Evas_Object *obj, void *ei)
-{
- evas_object_smart_callback_del(win, "rotation,changed", _on_rotation_gengrid_1line_change);
- evas_object_smart_callback_del(win, "rotation,changed", _on_rotation_gengrid_2line_change);
- evas_object_smart_callback_del(win, "rotation,changed", _on_rotation_gengrid_3line_change);
- evas_object_del(data);
-}
-
-static void
-_gengrid_sel_mode(void *data, Evas_Object *obj, void *ei)
-{
- grid_data *gd = data;
- elm_gengrid_item_selected_set(ei, EINA_FALSE);
- printf("sel | item:%p, sel_it:%p, sel:%d\n",ei, gd->selected_item, gd->selected);
- if(gd->selected && gd->selected_item == ei){
- gd->selected = EINA_FALSE;
- gd->selected_item = NULL;
- }
- else{
- elm_object_item_signal_emit(ei, "elm,select,enabled", "");
- gd->selected = EINA_TRUE;
- gd->selected_item = ei;
- }
-}
-
-static void
-_gengrid_unsel_mode(void *data, Evas_Object *obj, void *ei)
-{
- grid_data *gd = data;
- printf("unsel | item:%p, sel_it:%p, sel:%d\n",ei, gd->selected_item, gd->selected);
- if(gd->selected_item)
- elm_object_item_signal_emit(gd->selected_item, "elm,select,disabled", "");
-}
-
-static Evas_Object *
-_create_gengrid(void *data, Evas_Object *popup, int row, int col, void *gdata)
-{
- Evas_Object *parent = (Evas_Object *)data;
- Evas_Object *gengrid;
- Elm_Gengrid_Item_Class *gic;
- int i, j, n, w, h;
- char buf[PATH_MAX];
- static Testitem ti[IMAGE_MAX];
- grid_data *gd = gdata;
-
- gengrid = elm_gengrid_add(parent);
- elm_object_style_set(gengrid, "popup");
- evas_object_size_hint_weight_set(gengrid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_gengrid_align_set(gengrid, 0.5, 0.5);
-
- double scale = elm_config_scale_get();
- w = (int)((190 + (14 * 2)) * scale); // Gengrid item width (image area width + left/right padding) from Winset UX Guide
- h = (int)((150 + (37 * 2)) * scale); // Gengrid item height (image area height + top/bottom padding) from Winset UX Guide
-
- elm_gengrid_item_size_set(gengrid, w, h);
- if (gd) {
- gd->selected = EINA_FALSE;
- gd->selected_item = NULL;
- evas_object_smart_callback_add(gengrid, "selected", _gengrid_sel_mode, gd);
- evas_object_smart_callback_add(gengrid, "unselected", _gengrid_unsel_mode, gd);
- } else evas_object_smart_callback_add(gengrid, "selected", _gengrid_sel, popup);
-
- gic = elm_gengrid_item_class_new();
- gic->item_style = "default";
- gic->func.text_get = grid_text_get;
- gic->func.content_get = grid_content_get;
- gic->func.state_get = NULL;
- gic->func.del = NULL;
-
- for (j = 0; j < row; j++) {
- for (i = 0; i < col; i++) {
- n = i + (j * IMAGE_MAX);
- snprintf(buf, sizeof(buf), "%s/grid_image/%d_raw.jpg", ICON_DIR, i + 1);
- ti[n].path = eina_stringshare_add(buf);
-
- ti[n].item = elm_gengrid_item_append(gengrid, gic, &(ti[n]), _item_selected,
- &(ti[i]));
- if (n % 4 == 0)
- ti[n].text = strdup("yyyjjjyyyABCDEFG");
- else if (n % 4 == 1)
- ti[n].text = strdup("ABCDEFGBiiijjjhhk");
- else if (n % 4 == 2)
- ti[n].text = strdup("LMNOPLKDKlkixjjjii");
- else
- ti[n].text = strdup("I have long name.jpg");
- }
- }
- elm_gengrid_item_class_free(gic);
-
- elm_scroller_policy_set(gengrid, ELM_SCROLLER_POLICY_OFF,ELM_SCROLLER_POLICY_OFF);
- evas_object_show(gengrid);
- return gengrid;
-}
-
-static void _back_text_popup_cb(void *data, Evas_Object *obj, void *event_info )
-{
- if (rotation_cb) {
- evas_object_smart_callback_del(win, "rotation,changed", _text_rotation_changed);
- rotation_cb = EINA_FALSE;
- }
- evas_object_del(obj);
-}
-
-
-static void _popup_label_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- Evas_Object *scroller;
- struct appdata *ad;
- Evas_Object *layout;
- Evas_Object *label;
- int rotation;
- char str[1000]= {'\0'};
-
- ad = (struct appdata *) data;
- popup = elm_popup_add(ad->win_main);
- elm_object_scroll_freeze_push(list);
-
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, _back_text_popup_cb, NULL);
-
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- strcpy(str, "This popup has only text which can be set by two ways, "
- "if text is small set is via description text. If text is more than a "
- "limit,create a layout in popup, this layout will have a scroller which "
- "minimum value will be decided by application from layout and then "
- "label will have text.Add this label to scroller and scroller is added "
- "to layout, then set layout as content of popup.This way to be used when "
- " application has text will does not fit in screen and popup needs to "
- " be restricted in size after a limit. ");
-
- if (strlen(str) < 500) {
- elm_object_text_set(popup, str);
- }
- else {
- layout = elm_layout_add(popup);
- rotation = elm_win_rotation_get(ad->win_main);
- if (rotation == 90 || rotation == 270)
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "label_layout_landscape");
- else
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "label_layout");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- label = elm_label_add(popup);
- elm_object_style_set(label, "popup/default");
- elm_label_line_wrap_set(label, ELM_WRAP_MIXED);
- elm_object_text_set(label, str);
- evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(label, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(label);
-
- scroller = elm_scroller_add(layout);
- elm_scroller_bounce_set(scroller, EINA_TRUE, EINA_TRUE);
- elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO);
- evas_object_show(scroller);
- elm_object_content_set(scroller, label);
-
- elm_object_part_content_set(layout, "elm.swallow.content", scroller);
-
- elm_object_content_set(popup, layout);
- evas_object_smart_callback_add(ad->win_main, "rotation,changed", _text_rotation_changed, layout);
- rotation_cb = EINA_TRUE;
- }
-
- evas_object_smart_callback_add(popup, "block,clicked", _block_clicked_cb,
- NULL);
- evas_object_show(popup);
-}
-
-static void _popup_center_info_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- struct appdata *ad;
-
- ad = (struct appdata *) data;
- popup = elm_popup_add(ad->win_main);
- elm_object_scroll_freeze_push(list);
-
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, _back_text_popup_cb, NULL);
-
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_text_set(popup, "This popup has only text which is set via desc set"
- " function, (This popup gets hidden when user "
- " clicks outside) here timeout of 3 sec is set.");
- evas_object_smart_callback_add(popup, "block,clicked", _block_clicked_cb,
- NULL);
- if (!elm_config_access_get())
- {
- elm_popup_timeout_set(popup, 3.0);
- evas_object_smart_callback_add(popup, "timeout", _timeout_cb, NULL);
- }
- else
- {
- evas_object_smart_callback_add(popup, "access,read,stop", _timeout_cb, NULL);
- }
- evas_object_show(popup);
-
-}
-
-static void _popup_center_title_info_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- struct appdata *ad;
-
- ad = (struct appdata *) data;
- popup = elm_popup_add(ad->win_main);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
-
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_part_text_set(popup, "title,text", "Title");
- evas_object_smart_callback_add(popup, "block,clicked", _block_clicked_cb,
- NULL);
- elm_popup_timeout_set(popup, 3.0);
- elm_object_text_set(popup,"This Popup has title area and description area "
- "testing wrapping ABCDE-FGHIJ-KLMNO-PQRST-UVWXYZ (This popup gets "
- "hidden when user clicks outside and has a timeout of 3 seconds)");
- evas_object_smart_callback_add(popup, "timeout", _timeout_cb, NULL);
- evas_object_show(popup);
-}
-
-static void _popup_center_basic_2button_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- Evas_Object *popup;
- struct appdata *ad;
- Evas_Object *btn1;
- Evas_Object *btn2;
-
- ad = (struct appdata *) data;
- popup = elm_popup_add(ad->win_main);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_text_set(popup,"This Popup has content area and "
- "action area, action area has two buttons OK and Cancel.");
- btn1 = elm_button_add(popup);
- elm_object_style_set(btn1, "popup");
- elm_object_text_set(btn1, "OK");
- elm_object_part_content_set(popup, "button1", btn1);
- evas_object_smart_callback_add(btn1, "clicked", _response_cb, popup);
- btn2 = elm_button_add(popup);
- elm_object_style_set(btn2, "popup");
- elm_object_text_set(btn2, "Cancel");
- elm_object_part_content_set(popup, "button2", btn2);
- evas_object_smart_callback_add(btn2, "clicked", _response_cb, popup);
- evas_object_show(popup);
-}
-
-static void _popup_center_basic_3button_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- Evas_Object *popup;
- struct appdata *ad;
- Evas_Object *btn1;
- Evas_Object *btn2;
- Evas_Object *btn3;
-
- ad = (struct appdata *) data;
- popup = elm_popup_add(ad->win_main);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
-
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_text_set(popup,"This Popup has content area and "
- "action area, action area has two buttons OK, Cancel and Close.");
- btn1 = elm_button_add(popup);
- elm_object_style_set(btn1, "popup");
- elm_object_text_set(btn1, "OK");
- elm_object_part_content_set(popup, "button1", btn1);
- evas_object_smart_callback_add(btn1, "clicked", _response_cb, popup);
- btn2 = elm_button_add(popup);
- elm_object_style_set(btn2, "popup");
- elm_object_text_set(btn2, "Cancel");
- elm_object_part_content_set(popup, "button2", btn2);
- evas_object_smart_callback_add(btn2, "clicked", _response_cb, popup);
- btn3 = elm_button_add(popup);
- elm_object_style_set(btn3, "popup");
- elm_object_text_set(btn3, "Close");
- elm_object_part_content_set(popup, "button3", btn3);
- evas_object_smart_callback_add(btn3, "clicked", _response_cb, popup);
- evas_object_show(popup);
-}
-
-static void _popup_center_vertical_2button_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- struct appdata *ad;
- Evas_Object *btn1;
- Evas_Object *btn2;
-
- ad = (struct appdata *) data;
- popup = elm_popup_add(ad->win_main);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
- elm_object_style_set(popup, "verticalbuttonstyle");
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_text_set(popup,"This popup has content area and two buttons,"
- " aligned vertically.");
- elm_layout_signal_emit(popup, "elm,state,2button", "elm");
- btn1 = elm_button_add(popup);
- elm_object_style_set(btn1, "popup");
- elm_object_text_set(btn1, "OK");
- elm_object_part_content_set(popup, "button1", btn1);
- evas_object_smart_callback_add(btn1, "clicked", _response_cb, popup);
- btn2 = elm_button_add(popup);
- elm_object_style_set(btn2, "popup");
- elm_object_text_set(btn2, "Cancel");
- elm_object_part_content_set(popup, "button2", btn2);
- evas_object_smart_callback_add(btn2, "clicked", _response_cb, popup);
- evas_object_show(popup);
-}
-
-static void _popup_center_vertical_3button_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- struct appdata *ad;
- Evas_Object *btn1;
- Evas_Object *btn2;
- Evas_Object *btn3;
-
- ad = (struct appdata *) data;
- popup = elm_popup_add(ad->win_main);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
- elm_object_style_set(popup, "verticalbuttonstyle");
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_text_set(popup,"This popup has content area and three buttons,"
- " aligned vertically.");
- btn1 = elm_button_add(popup);
- elm_object_style_set(btn1, "popup");
- elm_object_text_set(btn1, "OK");
- elm_object_part_content_set(popup, "button1", btn1);
- evas_object_smart_callback_add(btn1, "clicked", _response_cb, popup);
- btn2 = elm_button_add(popup);
- elm_object_style_set(btn2, "popup");
- elm_object_text_set(btn2, "Cancel");
- elm_object_part_content_set(popup, "button2", btn2);
- evas_object_smart_callback_add(btn2, "clicked", _response_cb, popup);
- btn3 = elm_button_add(popup);
- elm_object_style_set(btn3, "popup");
- elm_object_text_set(btn3, "Close");
- elm_object_part_content_set(popup, "button3", btn3);
- evas_object_smart_callback_add(btn3, "clicked", _response_cb, popup);
- evas_object_show(popup);
-}
-
-static void _popup_center_title_2button_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- Evas_Object *btn1;
- Evas_Object *btn2;
- struct appdata *ad = (struct appdata *) data;
-
- popup = elm_popup_add(ad->win_main);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_text_set(popup,"This Popup has title area, content area and action"
- " area set, action area has two buttons OK and Cancel.");
- elm_object_part_text_set(popup, "title,text", "Title");
- btn1 = elm_button_add(popup);
- elm_object_style_set(btn1, "popup");
- elm_object_text_set(btn1, "OK");
- elm_object_part_content_set(popup, "button1", btn1);
- evas_object_smart_callback_add(btn1, "clicked", _response_cb, popup);
- btn2 = elm_button_add(popup);
- elm_object_style_set(btn2, "popup");
- elm_object_text_set(btn2, "Cancel");
- elm_object_part_content_set(popup, "button2", btn2);
- evas_object_smart_callback_add(btn2, "clicked", _response_cb, popup);
- evas_object_show(popup);
-}
-
-static void _popup_center_basic_1button_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- Evas_Object *btn1;
- struct appdata *ad = (struct appdata *) data;
-
- popup = elm_popup_add(ad->win_main);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_text_set(popup,"This Popup has content area and "
- "action area, action area has one button OK.");
- btn1 = elm_button_add(popup);
- elm_object_style_set(btn1, "popup");
- elm_object_text_set(btn1, "OK");
- elm_object_part_content_set(popup, "button1", btn1);
- evas_object_smart_callback_add(btn1, "clicked", _response_cb, popup);
- evas_object_show(popup);
-}
-
-static void _popup_center_title_1_button_back_cb(void *data, Evas_Object *obj, void *event_info)
-{
- evas_object_del(obj);
- popup_global = NULL;
-}
-
-static void _popup_center_title_1button_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *btn1;
- struct appdata *ad = (struct appdata *) data;
-
- elm_object_scroll_freeze_push(list);
- if (popup_global) {
- evas_object_show(popup_global);
- } else {
- popup_global = elm_popup_add(ad->win_main);
- evas_object_event_callback_add
- (popup_global, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup_global, EA_CALLBACK_BACK,
- _popup_center_title_1_button_back_cb, NULL);
-
- elm_object_part_text_set(popup_global, "title,text", "Title");
- elm_object_text_set(popup_global, "This Popup has title area,"
- " content area and action area,"
- " action area has one button OK");
- btn1 = elm_button_add(popup_global);
- elm_object_style_set(btn1, "popup");
- elm_object_text_set(btn1, "OK");
- elm_object_part_content_set(popup_global, "button1", btn1);
- evas_object_smart_callback_add(btn1, "clicked", _response_global_cb, popup_global);
- evas_object_show(popup_global);
- }
-}
-
-static Eina_Bool _fn_pb_timer(void *data)
-{
- double value=0.0;
- Evas_Object *progressbar = (Evas_Object*) data;
-
- value = elm_progressbar_value_get(progressbar);
- if (value == 1.0) {
- _timeout_cb(NULL, popup_global_2, NULL);
- pb_timer = NULL;
- return ECORE_CALLBACK_CANCEL;
- }
- value = value + 0.01;
- elm_progressbar_value_set(progressbar, value);
-
- return ECORE_CALLBACK_RENEW;
-}
-
-static void _popup_center_processing_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- Evas_Object *progressbar;
- struct appdata *ad;
- Evas_Object *layout;
- Evas_Object *label;
-
- ad = (struct appdata *) data;
- popup = elm_popup_add(ad->win_main);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
- label = elm_label_add(popup);
- elm_label_line_wrap_set(label, ELM_WRAP_MIXED);
- elm_object_text_set(label, "pop-up dialog box, a child window that blocks user interact to the parent");
- evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(label, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(label);
-
- layout = elm_layout_add(popup);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_processingview");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- progressbar = elm_progressbar_add(popup);
- elm_progressbar_pulse(progressbar, EINA_TRUE);
- elm_object_style_set(progressbar, "process_large");
- elm_progressbar_horizontal_set(progressbar, EINA_TRUE);
- evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_show(progressbar);
-
- elm_object_part_content_set(layout, "elm.swallow.content", progressbar);
- elm_object_part_content_set(layout, "elm.swallow.text", label);
-
- elm_object_content_set(popup, layout);
- elm_popup_timeout_set(popup, 3.0);
- evas_object_smart_callback_add(popup, "timeout", _timeout_cb, NULL);
- popup_global_2 = popup;
- evas_object_show(popup);
-}
-
-static void _popup_center_processing_1button_back_cb(void *data, Evas_Object *obj, void *event_info)
-{
- evas_object_del(obj);
- popup_global_2 = NULL;
-}
-
-static void _popup_center_processing_1button_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- Evas_Object *progressbar;
- struct appdata *ad;
- Evas_Object *layout;
- Evas_Object *btn1;
-
- ad = (struct appdata *) data;
- popup = elm_popup_add(ad->win_main);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, _popup_center_processing_1button_back_cb, NULL);
-
- layout = elm_layout_add(popup);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_processingview_1button");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- progressbar = elm_progressbar_add(popup);
- elm_progressbar_pulse(progressbar, EINA_TRUE);
- elm_object_style_set(progressbar, "process_large");
- elm_progressbar_horizontal_set(progressbar, EINA_TRUE);
- evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_show(progressbar);
-
- elm_object_part_content_set(layout, "elm.swallow.content", progressbar);
- elm_object_part_text_set(layout, "elm.text", "processing ");
-
- elm_object_content_set(popup, layout);
- btn1 = elm_button_add(popup);
- elm_object_style_set(btn1, "popup");
- elm_object_text_set(btn1, "Cancel");
- elm_object_part_content_set(popup, "button1", btn1);
- evas_object_smart_callback_add(btn1, "clicked", _response_cb, popup);
- popup_global_2 = popup;
- evas_object_show(popup);
-}
-
-static void _popup_center_progressbar_back_cb(void *data, Evas_Object *obj, void *event_info)
-{
- evas_object_del(obj);
- popup_global_2 = NULL;
-
- if (pb_timer) {
- ecore_timer_del(pb_timer);
- pb_timer = NULL;
- }
-}
-
-static void _popup_center_progressbar_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- Evas_Object *progressbar;
- struct appdata *ad;
- Evas_Object *layout;
- Evas_Object *btn1;
- Evas_Object *btn2;
- Evas_Object *btn3;
-
- ad = (struct appdata *) data;
- popup = elm_popup_add(ad->win_main);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, _popup_center_progressbar_back_cb, NULL);
-
- layout = elm_layout_add(popup);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_center_progressview");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- progressbar = elm_progressbar_add(popup);
- elm_object_style_set(progressbar, "list_progress");
- elm_progressbar_horizontal_set(progressbar, EINA_TRUE);
- evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_progressbar_value_set(progressbar, 0.0);
- pb_timer = ecore_timer_add(0.1, _fn_pb_timer, progressbar);
- evas_object_show(progressbar);
-
- elm_object_part_content_set(layout, "elm.swallow.content", progressbar);
- elm_object_part_text_set(layout, "elm.title", "Text Text");
- elm_object_part_text_set(layout, "elm.text.left", "Text");
- elm_object_part_text_set(layout, "elm.text.right", "TextTextTextText");
-
- elm_object_content_set(popup, layout);
- btn1 = elm_button_add(popup);
- elm_object_style_set(btn1, "popup");
- elm_object_text_set(btn1, "Ok");
- elm_object_part_content_set(popup, "button1", btn1);
- evas_object_smart_callback_add(btn1, "clicked", _response_cb, popup);
- btn2 = elm_button_add(popup);
- elm_object_style_set(btn2, "popup");
- elm_object_text_set(btn2, "Cancel");
- elm_object_part_content_set(popup, "button2", btn2);
- evas_object_smart_callback_add(btn2, "clicked", _response_cb, popup);
- btn3 = elm_button_add(popup);
- elm_object_style_set(btn3, "popup");
- elm_object_text_set(btn3, "Cancel");
- elm_object_part_content_set(popup, "button3", btn3);
- evas_object_smart_callback_add(btn3, "clicked", _response_cb, popup);
-
- popup_global_2 = popup;
- evas_object_show(popup);
-}
-
-static void _popup_center_text_progressbar_back_cb(void *data, Evas_Object *obj, void *event_info)
-{
- evas_object_del(obj);
- popup_global_2 = NULL;
-
- if (pb_timer) {
- ecore_timer_del(pb_timer);
- pb_timer = NULL;
- }
-}
-
-static void _popup_center_text_progressbar_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup,*progressbar;
- struct appdata *ad;
- Evas_Object *layout, *label;
- Evas_Object *btn1;
- Evas_Object *btn2;
- Evas_Object *btn3;
-
- ad = (struct appdata *) data;
- popup = elm_popup_add(ad->win_main);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, _popup_center_text_progressbar_back_cb, NULL);
-
- label = elm_label_add(popup);
- elm_object_style_set(label, "popup/progressview");
- elm_label_line_wrap_set(label, ELM_WRAP_MIXED);
- elm_object_text_set(label, "Push the WPS button on your wireless access point");
- evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(label, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(label);
-
- layout = elm_layout_add(popup);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_center_text_progressview");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- progressbar = elm_progressbar_add(popup);
- elm_object_style_set(progressbar, "list_progress");
- elm_progressbar_horizontal_set(progressbar, EINA_TRUE);
- evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_progressbar_value_set(progressbar, 0.0);
- pb_timer = ecore_timer_add(0.1, _fn_pb_timer, progressbar);
- evas_object_show(progressbar);
-
- elm_object_part_content_set(layout, "elm.swallow.content", label);
- elm_object_part_content_set(layout, "elm.swallow.end", progressbar);
- elm_object_part_text_set(layout, "elm.text.subtext1", "Left-Text");
- elm_object_part_text_set(layout, "elm.text.subtext2", "Right-Text");
-
- evas_object_show(layout);
- elm_object_content_set(popup, layout);
- btn1 = elm_button_add(popup);
- elm_object_style_set(btn1, "popup");
- elm_object_text_set(btn1, "Ok");
- elm_object_part_content_set(popup, "button1", btn1);
- evas_object_smart_callback_add(btn1, "clicked", _response_cb, popup);
- btn2 = elm_button_add(popup);
- elm_object_style_set(btn2, "popup");
- elm_object_text_set(btn2, "Cancel");
- elm_object_part_content_set(popup, "button2", btn2);
- evas_object_smart_callback_add(btn2, "clicked", _response_cb, popup);
- btn3 = elm_button_add(popup);
- elm_object_style_set(btn3, "popup");
- elm_object_text_set(btn3, "Cancel");
- elm_object_part_content_set(popup, "button3", btn3);
- evas_object_smart_callback_add(btn3, "clicked", _response_cb, popup);
- popup_global_2 = popup;
- evas_object_show(popup);
-}
-
-static void _popup_center_check_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- Evas_Object *check;
- Evas_Object *layout;
- Evas_Object *label;
- Evas_Object *btn1;
- Evas_Object *btn2;
- struct appdata *ad;
-
- ad = (struct appdata *) data;
- popup = elm_popup_add(ad->win_main);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
-
- label = elm_label_add(popup);
- elm_label_line_wrap_set(label, ELM_WRAP_MIXED);
- elm_object_text_set(label, "Use packet data must be enabled to access data service. change settings?");
- evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(label, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(label);
-
- layout = elm_layout_add(popup);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_checkview");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- check = elm_check_add(popup);
- elm_object_style_set(check, "multiline");
- elm_object_text_set(check, "Don't ask again Don't ask again Don't ask again Don't ask again Don't ask again Don't ask again ");
- evas_object_size_hint_align_set(check, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_show(check);
-
- elm_object_part_content_set(layout, "elm.swallow.content", label);
- elm_object_part_content_set(layout, "elm.swallow.end", check);
-
- evas_object_show(layout);
- elm_object_content_set(popup, layout);
- btn1 = elm_button_add(popup);
- elm_object_style_set(btn1, "popup");
- elm_object_text_set(btn1, "OK");
- elm_object_part_content_set(popup, "button1", btn1);
- evas_object_smart_callback_add(btn1, "clicked", _response_cb, popup);
- btn2 = elm_button_add(popup);
- elm_object_style_set(btn2, "popup");
- elm_object_text_set(btn2, "Cancel");
- elm_object_part_content_set(popup, "button2", btn2);
- evas_object_smart_callback_add(btn2, "clicked", _response_cb, popup);
- evas_object_show(popup);
-}
-
-static char *_access_info_cb(void *data, Evas_Object *obj)
-{
- char * text = (char *)data;
- return strdup(text);
-}
-
-static void _popup_center_check_image_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- Evas_Object *check;
- Evas_Object *layout;
- Evas_Object *btn1;
- Evas_Object *btn2;
- Evas_Object *label;
- Evas_Object *icon;
- struct appdata *ad;
- char *text = NULL;
- char buf[1024];
-
- ad = (struct appdata *) data;
- popup = elm_popup_add(ad->win_main);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
- elm_object_part_text_set(popup, "title,text", "Title");
- label = elm_label_add(popup);
- elm_label_line_wrap_set(label, ELM_WRAP_MIXED);
- elm_object_text_set(label, "Use packet data must be enabled to access data service. change settings?");
- evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(label, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(label);
-
- text = (char*)elm_object_text_get(label);
-
- layout = elm_layout_add(popup);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_checkview_image");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- check = elm_check_add(popup);
- elm_object_text_set(check, "Don't ask again");
- evas_object_size_hint_align_set(check, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_show(check);
-
- icon = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/wood_01.jpg", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_image_aspect_fixed_set(icon, EINA_FALSE);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(layout, "elm.swallow.content", label);
- elm_object_part_content_set(layout, "elm.swallow.icon", icon);
- elm_object_part_content_set(layout, "elm.swallow.end", check);
-
- elm_access_object_unregister(label);
-
- Evas_Object * body = (Evas_Object*)edje_object_part_object_get(_EDJ(popup), "access.body");
- Evas_Object *ao = elm_access_object_register(body, popup);
- elm_access_info_cb_set(ao, ELM_ACCESS_INFO, _access_info_cb, text);
-
- evas_object_show(layout);
- elm_object_content_set(popup, layout);
- btn1 = elm_button_add(popup);
- elm_object_style_set(btn1, "popup");
- elm_object_text_set(btn1, "OK");
- elm_object_part_content_set(popup, "button1", btn1);
- evas_object_smart_callback_add(btn1, "clicked", _response_cb, popup);
- btn2 = elm_button_add(popup);
- elm_object_style_set(btn2, "popup");
- elm_object_text_set(btn2, "Cancel");
- elm_object_part_content_set(popup, "button2", btn2);
- evas_object_smart_callback_add(btn2, "clicked", _response_cb, popup);
- evas_object_show(popup);
-}
-
-static Evas_Object * item_provider(void *images, Evas_Object *en, const char *item)
-{
- Evas_Object *obj = NULL;
- char buf[1024];
-
- if (!strcmp(item, "itemprovider"))
- {
- snprintf(buf, sizeof(buf), "%s/00_button_radio_press1.png", ICON_DIR);
- obj = evas_object_image_filled_add(evas_object_evas_get(en));
- evas_object_image_file_set(obj, buf, NULL);
- }
-
- return obj;
-}
-
-static void _text_rotation_changed(void *data, Evas_Object *obj, void *event_info )
-{
- int rot = -1;
- Evas_Object *win = obj;
- Evas_Object *layout = data;
-
- rot = elm_win_rotation_get(win);
- if (rot == 90 || rot == 270)
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "label_layout_landscape");
- else
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "label_layout");
-}
-
-static void _on_rotation_changed(void *data, Evas_Object *obj, void *event_info )
-{
- int rot = -1;
- Evas_Object *win = obj;
- Evas_Object *layout = data;
-
- rot = elm_win_rotation_get(win);
- if (rot == 90 || rot == 270)
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_smartstay1_landscape");
- else
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_smartstay1");
-}
-
-static void _popup_center_check_text_image_back_cb(void *data, Evas_Object *obj, void *event_info)
-{
- evas_object_del(obj);
-
- if (rotcb_set) {
- evas_object_smart_callback_del(win, "rotation,changed", _on_rotation_changed);
- rotcb_set = EINA_FALSE;
- }
-}
-
-static void _popup_center_check_text_image_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- Evas_Object *check;
- Evas_Object *layout;
- Evas_Object *scroller;
- Evas_Object *btn;
-
- struct appdata *ad;
- int rotation;
-
- ad = (struct appdata *) data;
- popup = elm_popup_add(ad->win_main);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, _popup_center_check_text_image_back_cb, NULL);
-
- elm_object_part_text_set(popup, "title,text", "Smart stay");
-
- label1 = elm_entry_add(popup);
- ea_entry_selection_back_event_allow_set(label1, EINA_TRUE);
- elm_entry_editable_set(label1, EINA_FALSE);
- elm_object_text_set(label1, "<align=left>Smart stay disables screen timeout if device detects that your face is watching the screen.</align>");
- evas_object_size_hint_weight_set(label1, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(label1, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- label2 = elm_entry_add(popup);
- ea_entry_selection_back_event_allow_set(label2, EINA_TRUE);
- elm_entry_editable_set(label2, EINA_FALSE);
- elm_entry_item_provider_append(label2, item_provider, NULL);
- elm_object_text_set(label2, "<align=left>Smart stay may not work in these situations.<br>"
- "<item size=42x42 vsize=full href=itemprovider></item> when front camera fails to detect face.<br>"
- "<item size=42x42 vsize=full href=itemprovider></item> when using device in the dark.<br>"
- "<item size=42x42 vsize=full href=itemprovider></item> when front camera is used for the application.</align>");
- evas_object_size_hint_weight_set(label2, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(label2, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- layout = elm_layout_add(popup);
- rotation = elm_win_rotation_get(ad->win_main);
- if (rotation == 90 || rotation == 270)
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_smartstay1_landscape");
- else
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_smartstay1");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- inner_layout = elm_layout_add(popup);
- elm_layout_file_set(inner_layout, ELM_DEMO_EDJ, "popup_smartstay1_internal");
- evas_object_size_hint_weight_set(inner_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- scroller = elm_scroller_add(layout);
- elm_scroller_bounce_set(scroller, EINA_TRUE, EINA_TRUE);
- elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO);
- evas_object_show(scroller);
- elm_object_content_set(scroller, inner_layout);
-
- elm_object_part_content_set(layout, "elm.swallow.layout", scroller);
-
- check = elm_check_add(popup);
- elm_object_text_set(check, "Don't ask again");
- evas_object_size_hint_align_set(check, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- elm_object_part_content_set(layout, "elm.swallow.end", check);
-
- evas_object_smart_callback_add(popup, "show,finished", _show_clicked_cb,
- NULL);
- elm_object_content_set(popup, layout);
- btn = elm_button_add(popup);
- elm_object_style_set(btn, "popup");
- elm_object_text_set(btn, "OK");
- elm_object_part_content_set(popup, "button1", btn);
- evas_object_smart_callback_add(btn, "clicked", _response_cb, popup);
-
- evas_object_show(popup);
- evas_object_smart_callback_add(ad->win_main, "rotation,changed", _on_rotation_changed, layout);
- rotcb_set = EINA_TRUE;
-}
-
-static void _popup_center_image_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- struct appdata *ad;
- Evas_Object *layout;
- Evas_Object *icon;
- char buf[4096];
-
- ad = (struct appdata *) data;
- popup = elm_popup_add(ad->win_main);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
-
- elm_object_style_set(popup, "content_expand");
-
- elm_object_part_text_set(popup, "title,text", "Title");
- layout = elm_layout_add(popup);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_center_image");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- icon = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/00_popup_icon_video call.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(layout, "elm.swallow.content", icon);
-
- evas_object_show(layout);
- elm_object_content_set(popup, layout);
- evas_object_smart_callback_add(popup, "block,clicked", _response_cb, popup);
- evas_object_show(popup);
-}
-
-static void __popup_keypad_on(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object * popup = data;
- int rotation = elm_win_rotation_get(win);
- if (rotation == 90 || rotation == 270)
- elm_popup_orient_set(popup, ELM_POPUP_ORIENT_BOTTOM);
- else
- elm_popup_orient_set(popup, ELM_POPUP_ORIENT_CENTER);
-}
-
-static void __popup_keypad_off(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object * popup = data;
- elm_popup_orient_set(popup, ELM_POPUP_ORIENT_CENTER);
-}
-
-static void _entry_popup_back_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- ad = (struct appdata *) data;
- evas_object_del(obj);
- evas_object_smart_callback_del(ad->conform, "virtualkeypad,state,on", __popup_keypad_on);
- evas_object_smart_callback_del(ad->conform, "virtualkeypad,state,off", __popup_keypad_off);
-}
-
-static void _popup_entry_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Evas_Object *popup;
- Evas_Object *layout;
- Evas_Object *entry;
- Evas_Object *btn1;
-
- ad = (struct appdata *) data;
-
- popup = elm_popup_add(ad->nf);
- elm_object_style_set(popup, "no_effect");
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, _entry_popup_back_cb, ad);
-
- layout = elm_layout_add(popup);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_entryview");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- entry = elm_entry_add(popup);
- ea_entry_selection_back_event_allow_set(entry, EINA_TRUE);
- elm_object_text_set(entry, "This is a scrolled entry hence has a default size");
- elm_object_part_content_set(layout, "elm.swallow.content", entry);
-
- elm_object_content_set(popup, layout);
- btn1 = elm_button_add(popup);
- elm_object_style_set(btn1, "popup");
- elm_object_text_set(btn1, "OK");
- elm_object_part_content_set(popup, "button1", btn1);
- evas_object_smart_callback_add(btn1, "clicked", _response_cb, popup);
- evas_object_smart_callback_add(ad->conform, "virtualkeypad,state,on", __popup_keypad_on, popup);
- evas_object_smart_callback_add(ad->conform, "virtualkeypad,state,off", __popup_keypad_off, popup);
- evas_object_show(popup);
-}
-
-static void _popup_entry_password_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Evas_Object *popup;
- Evas_Object *layout;
- Evas_Object *entry;
- Evas_Object *entry2;
- Evas_Object *entry3;
- Evas_Object *entry4;
- static Elm_Entry_Filter_Limit_Size limit_filter_data;
-
- ad = (struct appdata *) data;
- popup = elm_popup_add(ad->nf);
- elm_object_style_set(popup, "no_effect");
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
-
- elm_object_part_text_set(popup, "title,text", "Title");
-
- layout = elm_layout_add(popup);
- elm_layout_theme_set(layout, "layout", "popup", "entrypasswordview");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- entry = elm_entry_add(layout);
- ea_entry_selection_back_event_allow_set(entry, EINA_TRUE);
- elm_entry_password_set(entry, EINA_TRUE);
- limit_filter_data.max_byte_count = 0;
- limit_filter_data.max_char_count = 1;
- elm_entry_markup_filter_append(entry, elm_entry_filter_limit_size, &limit_filter_data);
- elm_object_style_set(entry, "popup");
- elm_object_part_content_set(layout, "elm.entry1", entry);
-
- entry2 = elm_entry_add(layout);
- ea_entry_selection_back_event_allow_set(entry2, EINA_TRUE);
- elm_entry_password_set(entry2, EINA_TRUE);
- elm_entry_markup_filter_append(entry2, elm_entry_filter_limit_size, &limit_filter_data);
- elm_object_style_set(entry2, "popup");
- elm_object_part_content_set(layout, "elm.entry2", entry2);
-
- entry3 = elm_entry_add(layout);
- ea_entry_selection_back_event_allow_set(entry3, EINA_TRUE);
- elm_entry_password_set(entry3, EINA_TRUE);
- elm_entry_markup_filter_append(entry3, elm_entry_filter_limit_size,
- &limit_filter_data);
- elm_object_style_set(entry3, "popup");
- elm_object_part_content_set(layout, "elm.entry3", entry3);
-
- entry4 = elm_entry_add(layout);
- ea_entry_selection_back_event_allow_set(entry4, EINA_TRUE);
- elm_entry_password_set(entry4, EINA_TRUE);
- elm_entry_markup_filter_append(entry4, elm_entry_filter_limit_size,
- &limit_filter_data);
- elm_object_style_set(entry4, "popup");
- elm_object_part_content_set(layout, "elm.entry4", entry4);
-
- elm_object_content_set(popup, layout);
- evas_object_smart_callback_add(popup, "block,clicked", _block_clicked_cb,
- NULL);
- evas_object_smart_callback_add(entry, "changed", _test, entry2);
- evas_object_smart_callback_add(entry2, "changed", _test, entry3);
- evas_object_smart_callback_add(entry3, "changed", _test, entry4);
- evas_object_smart_callback_add(entry4, "changed", _test, NULL);
- evas_object_show(popup);
-}
-
-static void _popup_entry_password_2button_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- Evas_Object *layout;
- Evas_Object *entry;
- Evas_Object *check;
- Evas_Object *button;
- struct appdata *ad;
-
- ad = (struct appdata *) data;
- popup = elm_popup_add(ad->nf);
- elm_object_style_set(popup, "no_effect");
-
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
-
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- layout = elm_layout_add(popup);
- elm_layout_theme_set(layout, "layout", "popup", "entrypasswordview_2button");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_part_text_set(popup, "title,text", "Enter password");
-
- entry = elm_entry_add(layout);
- ea_entry_selection_back_event_allow_set(entry, EINA_TRUE);
- elm_object_style_set(entry, "editfield/password/popup");
- elm_entry_password_set(entry, EINA_TRUE);
- elm_entry_scrollable_set(entry, EINA_TRUE);
- elm_entry_prediction_allow_set(entry, EINA_FALSE);
- elm_object_signal_emit(entry, "elm,action,hide,search_icon", "");
- elm_object_part_text_set(entry, "elm.guide", "editfield/password/popup");
- evas_object_smart_callback_add(entry, "changed", _password_changed_cb, NULL);
- evas_object_smart_callback_add(entry, "preedit,changed", _password_changed_cb, NULL);
- evas_object_smart_callback_add(entry, "focused", _password_focused_cb, NULL);
- evas_object_smart_callback_add(entry, "unfocused", _password_unfocused_cb, NULL);
- elm_object_part_content_set(layout, "elm.swallow.content", entry);
-
- button = elm_button_add(layout);
- elm_object_style_set(button, "search_clear");
- elm_object_focus_allow_set(button, EINA_FALSE);
- elm_object_part_content_set(entry, "elm.swallow.clear", button);
- evas_object_smart_callback_add(button, "clicked", _eraser_btn_clicked_cb, entry);
-
- check = elm_check_add(popup);
- elm_object_text_set(check, "Show Password");
- elm_object_focus_allow_set(check, EINA_FALSE);
- evas_object_smart_callback_add(check, "changed", _password_check_cb, layout);
- elm_object_part_content_set(layout, "elm.swallow.end", check);
-
- elm_object_content_set(popup, layout);
-
- button = elm_button_add(popup);
- elm_object_style_set(button, "popup");
- elm_object_text_set(button, "OK");
- elm_object_part_content_set(popup, "button1", button);
- evas_object_smart_callback_add(button, "clicked", _response_cb, popup);
-
- button = elm_button_add(popup);
- elm_object_style_set(button, "popup");
- elm_object_text_set(button, "Cancel");
- elm_object_part_content_set(popup, "button2", button);
- evas_object_smart_callback_add(button, "clicked", _response_cb, popup);
-
- evas_object_show(popup);
-}
-
-static void _volume_ver_change_cb(void *data, Evas_Object *obj, void *event_info)
-{
- double value;
- Evas_Object *icon;
- char buf[4096];
- static double old_value = 10.0;
-
- icon = elm_object_part_content_get(obj, "icon");
- value = elm_slider_value_get(obj);
-
- if (value < 1.0 && old_value >= 1.0) {
- snprintf(buf, sizeof(buf), "%s/00_volume_icon_mute.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- }
- else if (value >= 1.0 && old_value < 1.0){
- snprintf(buf, sizeof(buf), "%s/00_volume_icon.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- }
- old_value = value;
- if (del_timer) {
- ecore_timer_del(del_timer);
- del_timer = NULL;
- }
- del_timer = ecore_timer_add(3.0, _timer_cb, data);
-}
-
-static void _popup_volumepopup1_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- Evas_Object *vbar;
- Evas_Object *icon;
- Evas_Object *layout;
- Evas_Object *setting_icon;
- Evas_Object *ao;
- Eina_List *l = NULL;
- char buf[4096];
- char buf1[4096];
-
- popup = elm_popup_add(list);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
-
- elm_popup_orient_set(popup, ELM_POPUP_ORIENT_TOP);
-
- evas_object_smart_callback_add(popup, "block,clicked", _block_clicked_cb, NULL);
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- layout = elm_layout_add(popup);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_volumebar");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- vbar = elm_slider_add(popup);
- elm_slider_min_max_set(vbar, 0.0, 15.0);
- elm_slider_value_set(vbar, 10.0);
- icon = elm_image_add(popup);
- snprintf(buf, sizeof(buf), "%s/00_volume_icon.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_FALSE, EINA_FALSE);
- elm_object_part_content_set(vbar, "icon", icon);
-
- setting_icon = elm_image_add(layout);
- snprintf(buf1, sizeof(buf1), "%s/00_volume_icon_settings.png", ICON_DIR);
- elm_image_file_set(setting_icon, buf1, NULL);
- elm_image_resizable_set(setting_icon, EINA_TRUE, EINA_TRUE);
-
- elm_object_part_content_set(layout, "elm.swallow.content", vbar);
- elm_object_part_content_set(layout, "elm.swallow.icon", setting_icon);
-
- ao = elm_access_object_register(setting_icon, layout);
- elm_access_info_set(ao, ELM_ACCESS_INFO, "sound setting");
-
- l = eina_list_append(l, vbar);
- l = eina_list_append(l, ao);
-
- elm_object_focus_custom_chain_set(layout, l);
-
- elm_object_content_set(popup, layout);
- evas_object_show(popup);
-}
-
-static void _popup_volumepopup1_text_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- Evas_Object *vbar;
- Evas_Object *setting_icon;
- Evas_Object *icon;
- Evas_Object *layout;
- Evas_Object *layout1;
- char buf[4096];
- char buf1[4096];
-
- popup = elm_popup_add(list);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
-
- elm_popup_orient_set(popup, ELM_POPUP_ORIENT_TOP);
-
- evas_object_smart_callback_add(popup, "block,clicked", _block_clicked_cb, NULL);
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- layout = elm_layout_add(popup);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_volumebar_text");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- layout1 = elm_layout_add(popup);
- elm_layout_file_set(layout1, ELM_DEMO_EDJ, "popup_volumebar");
- evas_object_size_hint_weight_set(layout1, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- vbar = elm_slider_add(layout1);
- elm_slider_min_max_set(vbar, 0.0, 15.0);
- elm_slider_value_set(vbar, 10.0);
- icon = elm_image_add(layout1);
- snprintf(buf, sizeof(buf), "%s/00_volume_icon.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_FALSE, EINA_FALSE);
- elm_object_part_content_set(vbar, "icon", icon);
-
- setting_icon = elm_image_add(layout1);
- snprintf(buf1, sizeof(buf1), "%s/00_volume_icon_settings.png", ICON_DIR);
- elm_image_file_set(setting_icon, buf1, NULL);
- elm_image_resizable_set(setting_icon, EINA_TRUE, EINA_TRUE);
-
- elm_object_part_content_set(layout1, "elm.swallow.content", vbar);
- elm_object_part_content_set(layout1, "elm.swallow.icon", setting_icon);
- elm_object_part_content_set(layout, "elm.swallow.content1", layout1);
- elm_object_part_text_set(layout, "elm.swallow.text", "High volumes may harm your hearing if you listen for a long time");
-
- evas_object_show(layout1);
- evas_object_show(layout);
- elm_object_content_set(popup, layout);
- evas_object_smart_callback_add(vbar, "changed", _volume_ver_change_cb,popup);
- del_timer = ecore_timer_add(3.0, _timer_cb, popup);
- evas_object_show(popup);
-}
-
-static void _popup_volumepopup_back_cb(void *data, Evas_Object *obj, void *event_info)
-{
- evas_object_del(obj);
- if (del_timer) {
- ecore_timer_del(del_timer);
- del_timer = NULL;
- }
-}
-
-static void _popup_volumepopup_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- Evas_Object *vbar;
- Evas_Object *icon;
- Evas_Object *layout;
- char buf[4096];
-
- popup = elm_popup_add(list);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, _popup_volumepopup_back_cb, NULL);
-
- elm_popup_orient_set(popup, ELM_POPUP_ORIENT_TOP);
-
- evas_object_smart_callback_add(popup, "block,clicked", _block_clicked_cb, NULL);
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- layout = elm_layout_add(popup);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_volumestyle");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- vbar = elm_slider_add(popup);
- elm_slider_min_max_set(vbar, 0.0, 15.0);
- elm_slider_value_set(vbar, 10.0);
- icon = elm_image_add(popup);
- snprintf(buf, sizeof(buf), "%s/00_volume_icon.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_FALSE, EINA_FALSE);
- elm_object_part_content_set(vbar, "icon", icon);
-
- elm_object_part_content_set(layout, "elm.swallow.content", vbar);
- elm_object_content_set(popup, layout);
- evas_object_smart_callback_add(vbar, "changed", _volume_ver_change_cb,popup);
- del_timer = ecore_timer_add(3.0, _timer_cb, popup);
- evas_object_show(popup);
-}
-
-static void _popup_center_title_3button_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- Evas_Object *btn1;
- Evas_Object *btn2;
- Evas_Object *btn3;
- struct appdata *ad = data;
-
- popup = elm_popup_add(ad->win_main);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
-
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_text_set(popup,"This Popup has title area, content area and "
- "action area set, action area has three buttons OK, Cancel and "
- "Close.");
- elm_object_part_text_set(popup, "title,text", "Title");
- btn1 = elm_button_add(popup);
- elm_object_style_set(btn1, "popup");
- elm_object_text_set(btn1, "OK");
- elm_object_part_content_set(popup, "button1", btn1);
- evas_object_smart_callback_add(btn1, "clicked", _response_cb, popup);
- btn2 = elm_button_add(popup);
- elm_object_style_set(btn2, "popup");
- elm_object_text_set(btn2, "Cancel");
- elm_object_part_content_set(popup, "button2", btn2);
- evas_object_smart_callback_add(btn2, "clicked", _response_cb, popup);
- btn3 = elm_button_add(popup);
- elm_object_style_set(btn3, "popup");
- elm_object_text_set(btn3, "Close");
- elm_object_part_content_set(popup, "button3", btn3);
- evas_object_smart_callback_add(btn3, "clicked", _response_cb, popup);
- evas_object_show(popup);
-}
-
-static void _gl_sel(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup = data;
- int index = 0;
- Elm_Object_Item *item = (Elm_Object_Item *)event_info;
- if (item) {
- index = (int)elm_object_item_data_get(item);
- fprintf(stdout, "selected text %s\n",Items[index]);
- }
- _list_item_click(popup, index);
-}
-
-static void _gl_radio_sel(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *item = (Elm_Object_Item *) event_info;
-
- if (item) {
- Item_Data *id = elm_object_item_data_get(item);
- int index = id->index;
- Evas_Object *radio = elm_object_item_part_content_get(item, "elm.icon");
- state_index = index;
- if (elm_radio_value_get(radio) == index) {
- elm_genlist_item_selected_set(item, EINA_FALSE);
- }
- elm_radio_value_set(radio, state_index);
- }
-}
-
-static void
-_radio_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
- evas_object_del(gen_popup);
-}
-
-static Evas_Object *
-_gl_radio_content_get(void *data, Evas_Object *obj, const char *part)
-{
-
- Item_Data *id = data;
- int index = id->index;
- Evas_Object *radio;
- Evas_Object *radio_main = evas_object_data_get(obj, "radio_main");
-
- if (!strcmp(part, "elm.icon")) {
- radio = elm_radio_add(obj);
- elm_radio_group_add(radio, radio_main);
- elm_radio_state_value_set(radio, index);
- if (index == state_index) elm_radio_value_set(radio, state_index);
- evas_object_size_hint_weight_set(radio, EVAS_HINT_EXPAND,EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(radio, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_propagate_events_set(radio, EINA_FALSE);
- elm_object_signal_callback_add(radio, "elm,action,show,finished", "elm",
- _radio_cb, NULL);
- return radio;
- }
- return NULL;
-}
-
-static char *_gl_radio_text_get(void *data, Evas_Object *obj, const char *part)
-{
- Item_Data *id = (Item_Data *) data;
-
- if (!strcmp(part, "elm.text.sub"))
- return strdup(Sub_Items[id->index]);
- else
- return strdup(Items[id->index]);
-}
-
-static char *_gl_text_get(void *data, Evas_Object *obj, const char *part)
-{
- int index = (int) data;
-
- if (!strcmp(part, "elm.text.sub"))
- return strdup(Sub_Items[index]);
- else
- return strdup(Items[index]);
-}
-
-static Evas_Object *_gl_content_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon;
- if (!strcmp(part, "elm.icon")) {
- icon = elm_image_add(obj);
- elm_image_file_set(icon, ICON_DIR"/genlist/00_brightness_right.png", NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- return icon;
- }
- else {
- return NULL;
- }
-}
-
-static void _gl_realized(void *data, Evas_Object *obj, void *event_info)
-{
- if (!event_info) return;
- int index = (int)elm_object_item_data_get(event_info);
-
- if (index == 7) {
- elm_object_item_signal_emit(event_info, "elm,state,bottomline,hide", "");
- }
-}
-
-static void _track_resize(void *data, Evas *e, Evas_Object *obj, void *ei)
-{
- char buf[256];
- int idx;
- Evas_Object *genlist;
- Evas_Coord gh, h[4];
- genlist = elm_object_item_widget_get(data);
- idx = elm_genlist_item_index_get(data);
- if (idx < 0) return;
-
- evas_object_geometry_get(obj, NULL, NULL, NULL, &h[idx]);
- snprintf(buf, 255, "item_h%d", idx);
- evas_object_data_set(genlist, buf, (void *)h[idx]);
-
- h[0] = (int)evas_object_data_get(genlist, "item_h0");
- h[1] = (int)evas_object_data_get(genlist, "item_h1");
- h[2] = (int)evas_object_data_get(genlist, "item_h2");
- h[3] = (int)evas_object_data_get(genlist, "item_h3");
-
- gh = h[0] + h[1] + h[2] + h[3];
- evas_object_size_hint_min_set(genlist, 0, gh);
- printf("track resize: %d: h:%d = %d + %d + %d + %d\n", idx, gh,
- h[0], h[1], h[2], h[3]);
-}
-
-static void _gl_realized_track(void *data, Evas_Object *obj, void *ei)
-{
- if (!ei) return;
- int index = (int)elm_object_item_data_get(ei);
-
- // track usage
- Evas_Object *track = elm_object_item_track(ei);
- evas_object_event_callback_add(track, EVAS_CALLBACK_RESIZE, _track_resize, ei);
-
- if (index == 3) {
- elm_object_item_signal_emit(ei, "elm,state,bottomline,hide", "");
- }
-}
-
-static void _popup_center_liststyle_1button_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- int index;
- Evas_Object *genlist;
- Evas_Object *btn1;
- Evas_Object *box;
- struct appdata *ad = data;
-
- popup = elm_popup_add(ad->win_main);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
-
- elm_object_part_text_set(popup, "title,text", "Title");
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- btn1 = elm_button_add(popup);
- elm_object_style_set(btn1, "popup");
- elm_object_text_set(btn1, "OK");
- elm_object_part_content_set(popup, "button1", btn1);
- evas_object_smart_callback_add(btn1, "clicked", _response_cb, popup);
-
- itc.item_style = "1text/popup";
- itc.func.text_get = _gl_text_get;
- itc.func.content_get = NULL;
- itc.func.state_get = NULL;
- itc.func.del = NULL;
- box = elm_box_add(popup);
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- genlist = elm_genlist_add(box);
- evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_smart_callback_add(genlist, "realized", _gl_realized, NULL);
- for (index = 0; index < 8; index++) {
- elm_genlist_item_append(genlist, &itc, (void *) index, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, popup);
- }
- elm_box_pack_end(box, genlist);
- evas_object_show(genlist);
- /* The height of popup being adjusted by application here based on app requirement */
- evas_object_size_hint_min_set(box, 618, 436);
- evas_object_show(box);
-
- elm_object_content_set(popup, box);
- evas_object_show(popup);
-}
-
-static void _popup_center_liststyle_3button_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- int index;
- Evas_Object *lst;
- Evas_Object *layout;
- Evas_Object *btn1;
- Evas_Object *btn2;
- Evas_Object *btn3;
- struct appdata *ad = data;
-
- popup = elm_popup_add(ad->win_main);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
-
- elm_object_part_text_set(popup, "title,text", "Title");
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- layout = elm_layout_add(popup);
- elm_layout_theme_set(layout, "layout", "content", "menustyle");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- btn1 = elm_button_add(popup);
- elm_object_style_set(btn1, "popup");
- elm_object_text_set(btn1, "OK");
- elm_object_part_content_set(popup, "button1", btn1);
- evas_object_smart_callback_add(btn1, "clicked", _response_cb, popup);
- btn2 = elm_button_add(popup);
- elm_object_style_set(btn2, "popup");
- elm_object_text_set(btn2, "Cancel");
- elm_object_part_content_set(popup, "button2", btn2);
- evas_object_smart_callback_add(btn2, "clicked", _response_cb, popup);
- btn3 = elm_button_add(popup);
- elm_object_style_set(btn3, "popup");
- elm_object_text_set(btn3, "Close");
- elm_object_part_content_set(popup, "button3", btn3);
- evas_object_smart_callback_add(btn3, "clicked", _response_cb, popup);
-
- lst = elm_list_add(layout);
- elm_object_style_set(lst, "popup");
- evas_object_size_hint_weight_set(lst, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(lst, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_smart_callback_add(lst, "realized", _gl_realized, NULL);
- for (index = 0; index < 8; index++) {
- elm_list_item_append(lst, Items[index], NULL, NULL, _gl_sel, data);
- }
- elm_object_part_content_set(layout, "elm.swallow.content" , lst);
- elm_object_content_set(popup, layout);
- evas_object_show(popup);
-}
-
-static void _popup_1linetext_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- int index;
- Evas_Object *genlist;
- Evas_Object *layout;
- struct appdata *ad = data;
-
- popup = elm_popup_add(ad->win_main);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- layout = elm_layout_add(popup);
- elm_layout_theme_set(layout, "layout", "content", "liststyle");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- itc.item_style = "1text/popup";
- itc.func.text_get = _gl_text_get;
- itc.func.content_get = NULL;
- itc.func.state_get = NULL;
- itc.func.del = NULL;
- genlist = elm_genlist_add(layout);
- evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_smart_callback_add(genlist, "realized", _gl_realized_track, NULL);
- for (index = 0; index < 4; index++) {
- elm_genlist_item_append(genlist, &itc, (void *) index, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, popup);
- }
-
- elm_object_part_content_set(layout, "elm.swallow.content" , genlist);
- elm_object_content_set(popup, layout);
-
- Evas_Object *base = (Evas_Object*)edje_object_part_object_get(_EDJ(popup), "access.base");
- elm_access_object_unregister(base);
-
- evas_object_show(popup);
-}
-
-static void _popup_2linetext_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- int index;
- Evas_Object *genlist;
- Evas_Object *layout;
- struct appdata *ad = data;
-
- popup = elm_popup_add(ad->win_main);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
-
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- layout = elm_layout_add(popup);
- elm_layout_theme_set(layout, "layout", "content", "liststyle");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- itc.item_style = "2text.2/popup";
- itc.func.text_get = _gl_text_get;
- itc.func.content_get = NULL;
- itc.func.state_get = NULL;
- itc.func.del = NULL;
- genlist = elm_genlist_add(layout);
- evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
- for (index = 0; index < 4; index++) {
- elm_genlist_item_append(genlist, &itc, (void *) index, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, popup);
- }
- evas_object_smart_callback_add(genlist, "realized", _gl_realized_track, NULL);
-
- elm_object_part_content_set(layout, "elm.swallow.content" , genlist);
- elm_object_content_set(popup, layout);
- evas_object_show(popup);
-}
-
-static void _popup_radio_cb(void *data, Evas_Object *obj, void *event_info)
-{
- int index;
- Evas_Object *genlist, *radio_main;
- Evas_Object *layout;
- struct appdata *ad = data;
- gen_popup = elm_popup_add(ad->win_main);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (gen_popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(gen_popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
- evas_object_size_hint_weight_set(gen_popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- layout = elm_layout_add(gen_popup);
- elm_layout_theme_set(layout, "layout", "content", "liststyle");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- genlist = elm_genlist_add(layout);
- evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_smart_callback_add(genlist, "realized", _gl_realized_track, NULL);
-
- radio_main = elm_radio_add(genlist);
- elm_radio_state_value_set(radio_main, 0);
- elm_radio_value_set(radio_main, 0);
- evas_object_data_set(genlist, "radio_main", radio_main);
-
- itc.item_style = "1text.1icon.3/popup";
- itc.func.text_get = _gl_radio_text_get;
- itc.func.content_get = _gl_radio_content_get;
- itc.func.state_get = NULL;
- itc.func.del = NULL;
-
- for (index = 0; index < 4; index++) {
- Item_Data *id = calloc(sizeof(Item_Data), 1);
- id->index = index;
- Elm_Object_Item *item = elm_genlist_item_append(genlist, &itc, id, NULL,
- ELM_GENLIST_ITEM_NONE, _gl_radio_sel, NULL);
- id->item = item;
- id->genlist = genlist;
- }
-
- elm_object_part_content_set(layout, "elm.swallow.content" , genlist);
- elm_object_content_set(gen_popup, layout);
- evas_object_show(gen_popup);
-}
-
-static void _item_selected_cb(void *data, Evas_Object *obj, void *event_info)
-{
- printf(" \n popup item selected: %s\n", elm_object_item_text_get(event_info));
-}
-
-static void _popup_itemlist_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- unsigned int index;
- Elm_Object_Item *item;
- char buf[4096];
- struct appdata *ad = data;
-
- popup = elm_popup_add(ad->win_main);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
-
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- for (index = 0; index < 7; index++) {
- snprintf(buf, sizeof(buf), "Item%u", index+1);
- item = elm_popup_item_append(popup, buf, NULL, _item_selected_cb, NULL);
- if (index == 1)
- elm_object_item_disabled_set(item ,EINA_TRUE);
- if (index == 6)
- elm_object_item_signal_emit(item, "elm,state,bottomline,hide", "");
- }
- evas_object_smart_callback_add(popup, "block,clicked", _block_clicked_cb, NULL);
- evas_object_show(popup);
-}
-
-static void _popup_center_liststyle_2button_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- int index;
- Evas_Object *genlist;
- Evas_Object *layout;
- Evas_Object *btn1;
- Evas_Object *btn2;
- struct appdata *ad = data;
-
- popup = elm_popup_add(ad->win_main);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
-
- elm_object_part_text_set(popup, "title,text", "Title");
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- layout = elm_layout_add(popup);
- elm_layout_theme_set(layout, "layout", "content", "menustyle");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- btn1 = elm_button_add(popup);
- elm_object_style_set(btn1, "popup");
- elm_object_text_set(btn1, "OK");
- elm_object_part_content_set(popup, "button1", btn1);
- evas_object_smart_callback_add(btn1, "clicked", _response_cb, popup);
- btn2 = elm_button_add(popup);
- elm_object_style_set(btn2, "popup");
- elm_object_text_set(btn2, "Cancel");
- elm_object_part_content_set(popup, "button2", btn2);
- evas_object_smart_callback_add(btn2, "clicked", _response_cb, popup);
-
- itc.item_style = "1text.1icon.2/popup";
- itc.func.text_get = _gl_text_get;
- itc.func.content_get = _gl_content_get;
- itc.func.state_get = NULL;
- itc.func.del = NULL;
- genlist = elm_genlist_add(layout);
- evas_object_smart_callback_add(genlist, "selected", _genlist_click, genlist);
- evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_smart_callback_add(genlist, "realized", _gl_realized, NULL);
- for (index = 0; index < 8; index++) {
- elm_genlist_item_append(genlist, &itc, (void *) index, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, popup);
- }
-
- elm_object_part_content_set(layout, "elm.swallow.content" , genlist);
- elm_object_content_set(popup, layout);
- evas_object_show(popup);
-}
-
-static void _popup_center_buttonstyle_3button_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- Evas_Object *btn;
- Evas_Object *ic;
- Evas_Object *btn1;
- Evas_Object *layout;
- char buf[4096];
- struct appdata *ad = data;
-
- popup = elm_popup_add(ad->win_main);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
-
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- btn1 = elm_button_add(popup);
- elm_object_style_set(btn1, "popup");
- elm_object_text_set(btn1, "OK");
- elm_object_part_content_set(popup, "button1", btn1);
- evas_object_smart_callback_add(btn1, "clicked", _response_cb, popup);
-
- layout = elm_layout_add(popup);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "nbpopup_3button_view");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- elm_object_part_text_set(layout, "contact_label", "Text Text Text Text Text");
-
- btn = elm_button_add(layout);
- elm_object_part_content_set(layout, "btn_default", btn);
- ic = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/00_popup_icon_call.png", ICON_DIR);
- elm_image_file_set(ic, buf, NULL);
- evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(ic, EINA_TRUE, EINA_TRUE);
- elm_object_content_set(btn, ic);
- elm_object_text_set(btn, _("Call"));
-
- btn = elm_button_add(layout);
- elm_object_part_content_set(layout, "btn_center", btn);
- ic = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/00_popup_icon_message.png", ICON_DIR);
- elm_image_file_set(ic, buf, NULL);
- evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(ic, EINA_TRUE, EINA_TRUE);
- elm_object_content_set(btn, ic);
- elm_object_text_set(btn, _("Message"));
-
- btn = elm_button_add(layout);
- elm_object_part_content_set(layout, "btn_text_only_style1", btn);
- ic = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/00_popup_icon_video call.png", ICON_DIR);
- elm_image_file_set(ic, buf, NULL);
- evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(ic, EINA_TRUE, EINA_TRUE);
- elm_object_content_set(btn, ic);
- elm_object_text_set(btn, _("Video call"));
-
- elm_object_content_set(popup, layout);
- evas_object_show(popup);
-}
-
-static void _popup_center_buttonstyle_2button_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- Evas_Object *layout;
- Evas_Object *btn1;
- struct appdata *ad = data;
-
- popup = elm_popup_add(ad->win_main);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
-
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- layout = elm_layout_add(popup);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "nbpopup_2button_view");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- elm_object_part_text_set(layout, "contact_label", "Text Text Text Text Text");
-
- btn1 = elm_button_add(popup);
- elm_object_style_set(btn1, "popup");
- elm_object_text_set(btn1, "OK");
- elm_object_part_content_set(popup, "button1", btn1);
- evas_object_smart_callback_add(btn1, "clicked", _response_cb, popup);
-
- Evas_Object *btn = elm_button_add(layout);
- elm_object_part_content_set(layout, "btn_default", btn);
- elm_object_text_set(btn, _("Call"));
-
- btn = elm_button_add(layout);
- elm_object_part_content_set(layout, "btn_center", btn);
- elm_object_text_set(btn, _("Message"));
-
- elm_object_content_set(popup, layout);
- evas_object_show(popup);
-}
-
-static void _popup_colorpalette_cb(void *data, Evas_Object *obj, void *event_info)
-{
- int r = 0, g = 0, b = 0 ,a = 0;
- Colorplane_Data *cp = (Colorplane_Data *)data;
- Elm_Object_Item *color_it = (Elm_Object_Item *) event_info;
- cp->sel_it = color_it;
- elm_colorselector_palette_item_color_get(color_it, &r, &g, &b, &a);
- elm_colorselector_color_set(cp->colorselector, r, g, b, a);
-}
-
-
-static void _popup_colorplane_cb(void *data, Evas_Object *obj, void *event_info)
-{
- int r, g, b, a;
- Colorplane_Data *cp = (Colorplane_Data*)data;
- if (!cp->changed) {
- elm_object_item_signal_emit(cp->it_last, "elm,state,custom,hide", "");
- cp->changed = EINA_TRUE;
- }
- elm_colorselector_color_get(cp->colorselector, &r, &g, &b, &a);
- cp->r = r;
- cp->g = g;
- cp->b = b;
- cp->a = a;
- elm_colorselector_palette_item_color_set(cp->it_last, r, g, b, a);
- if (cp->sel_it != cp->it_last)
- elm_object_item_signal_emit(cp->it_last, "elm,state,selected", "elm");
-}
-
-static void _popup_colorpalette(Evas_Object *layout, Colorplane_Data *cp)
-{
- /* add color palette widget */
- Eina_List *color_list, *last_list;
-
- cp->colorselector = elm_colorselector_add(layout);
- elm_object_style_set(cp->colorselector, "colorplane");
- elm_colorselector_mode_set(cp->colorselector, ELM_COLORSELECTOR_PALETTE_PLANE);
- evas_object_size_hint_fill_set(cp->colorselector, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(cp->colorselector, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_part_content_set(layout, "colorpalette", cp->colorselector);
- evas_object_smart_callback_add(cp->colorselector, "color,item,selected", _popup_colorpalette_cb, cp);
-
- color_list = elm_colorselector_palette_items_get(cp->colorselector);
- last_list = eina_list_last(color_list);
- cp->it_last = eina_list_data_get(last_list);
- elm_object_item_signal_emit(cp->it_last, "elm,state,custom,show", "");
- cp->changed = EINA_FALSE;
- evas_object_smart_callback_add(cp->colorselector, "changed", _popup_colorplane_cb, cp);
- cp->sel_it = eina_list_nth(color_list, 3);
- elm_object_item_signal_emit(cp->sel_it, "elm,state,selected", "elm");
-}
-
-static Evas_Object *_popup_create_colorplane(Evas_Object *parent, Colorplane_Data *cp)
-{
- cp->layout = elm_layout_add(parent);
- elm_layout_file_set(cp->layout, ELM_DEMO_EDJ, "colorplane_popup");
- evas_object_size_hint_weight_set(cp->layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(cp->layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(cp->layout);
- _popup_colorpalette(cp->layout, cp);
- return cp->layout;
-}
-
-static void _popup_colorpicker_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *content,*popup,*btn1,*btn2;
- static Colorplane_Data cp;
- if (data == NULL) return;
- struct appdata *ad = data;
- cp.ad = data;
-
- popup = elm_popup_add(ad->nf);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_popup_back_cb, NULL);
-
- content = _popup_create_colorplane(popup, &cp);
- elm_object_content_set(popup, content);
-
- btn1 = elm_button_add(popup);
- elm_object_style_set(btn1, "popup");
- elm_object_text_set(btn1, "Ok");
- elm_object_part_content_set(popup, "button1", btn1);
- evas_object_smart_callback_add(btn1, "clicked", _response_cb, popup);
-
- btn2 = elm_button_add(popup);
- elm_object_style_set(btn2, "popup");
- elm_object_text_set(btn2, "Cancel");
- elm_object_part_content_set(popup, "button2", btn2);
- evas_object_smart_callback_add(btn2, "clicked", _response_cb, popup);
-
- evas_object_show(popup);
-}
-
-static void _back_rotate_gengrid_cb(void *data, Evas_Object *obj, void *event_info)
-{
- grid_data *gd = NULL;
- if (data) gd = data;
- if (gd) free(gd);
- evas_object_smart_callback_del(win, "rotation,changed", _on_rotation_gengrid_1line_change);
- evas_object_smart_callback_del(win, "rotation,changed", _on_rotation_gengrid_2line_change);
- evas_object_smart_callback_del(win, "rotation,changed", _on_rotation_gengrid_3line_change);
- evas_object_del(obj);
-}
-
-static void _on_rotation_gengrid_1line_change(void *data, Evas_Object *obj, void *event_info )
-{
- int rot = -1;
- Evas_Object *win = obj;
- Evas_Object *layout = data;
-
- rot = elm_win_rotation_get(win);
- if (rot == 90 || rot == 270)
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_gengrid_custom_rotate_1line");
- else
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_gengrid_custom_1line");
-}
-
-static void _popup_gengrid_1line_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- Evas_Object *layout;
- Evas_Object *gengrid;
- int rot = -1;
- struct appdata *ad = data;
-
- popup = elm_popup_add(ad->win_main);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, _back_rotate_gengrid_cb, NULL);
-
- elm_object_part_text_set(popup, "title,text", "Title");
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- layout = elm_layout_add(popup);
- rot = elm_win_rotation_get(ad->win_main);
- if (rot == 90 || rot == 270)
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_gengrid_custom_rotate_1line");
- else
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_gengrid_custom_1line");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- gengrid = _create_gengrid(layout, popup, 1, 3, NULL);
-
- elm_gengrid_item_show(elm_gengrid_first_item_get(gengrid), ELM_GENGRID_ITEM_SCROLLTO_TOP);
- elm_object_part_content_set(layout, "elm.swallow.content" , gengrid);
- elm_object_content_set(popup, layout);
-
- evas_object_smart_callback_add(ad->win_main, "rotation,changed", _on_rotation_gengrid_1line_change, layout);
- evas_object_smart_callback_add(popup, "block,clicked", _block_clicked_cb, NULL);
- evas_object_show(popup);
-}
-
-static void _popup_gengrid_1line_select_mode_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- Evas_Object *layout;
- Evas_Object *gengrid;
- int rot = -1;
- struct appdata *ad = data;
- grid_data *gd;
- gd = calloc(1, sizeof(grid_data));
-
- popup = elm_popup_add(ad->win_main);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, _back_rotate_gengrid_cb, gd);
-
- elm_object_part_text_set(popup, "title,text", "Title");
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- layout = elm_layout_add(popup);
- rot = elm_win_rotation_get(ad->win_main);
- if (rot == 90 || rot == 270)
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_gengrid_custom_rotate_1line");
- else
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_gengrid_custom_1line");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- gengrid = _create_gengrid(layout, popup, 1, 3, gd);
-
- elm_gengrid_item_show(elm_gengrid_first_item_get(gengrid), ELM_GENGRID_ITEM_SCROLLTO_TOP);
- elm_object_part_content_set(layout, "elm.swallow.content" , gengrid);
- elm_object_content_set(popup, layout);
-
- evas_object_smart_callback_add(ad->win_main, "rotation,changed", _on_rotation_gengrid_1line_change, layout);
- evas_object_smart_callback_add(popup, "block,clicked", _block_clicked_cb, NULL);
- evas_object_show(popup);
-}
-static void _on_rotation_gengrid_2line_change(void *data, Evas_Object *obj, void *event_info )
-{
- int rot = -1;
- Evas_Object *win = obj;
- Evas_Object *layout = data;
-
- rot = elm_win_rotation_get(win);
- if (rot == 90 || rot == 270)
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_gengrid_custom_rotate_2line");
- else
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_gengrid_custom_2line");
-}
-
-static void _popup_gengrid_2line_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- Evas_Object *layout;
- Evas_Object *gengrid;
- int rot = -1;
- struct appdata *ad = data;
-
- popup = elm_popup_add(ad->win_main);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, _back_rotate_gengrid_cb, NULL);
-
- elm_object_part_text_set(popup, "title,text", "Title");
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- layout = elm_layout_add(popup);
- rot = elm_win_rotation_get(ad->win_main);
- if (rot == 90 || rot == 270)
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_gengrid_custom_rotate_2line");
- else
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_gengrid_custom_2line");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- gengrid = _create_gengrid(layout, popup, 2, 3, NULL);
-
- elm_gengrid_item_show(elm_gengrid_first_item_get(gengrid), ELM_GENGRID_ITEM_SCROLLTO_TOP);
- elm_object_part_content_set(layout, "elm.swallow.content" , gengrid);
- elm_object_content_set(popup, layout);
-
- evas_object_smart_callback_add(ad->win_main, "rotation,changed", _on_rotation_gengrid_2line_change, layout);
- evas_object_smart_callback_add(popup, "block,clicked", _block_clicked_cb, NULL);
- evas_object_show(popup);
-}
-
-static void _on_rotation_gengrid_3line_change(void *data, Evas_Object *obj, void *event_info )
-{
- int rot = -1;
- Evas_Object *win = obj;
- Evas_Object *layout = data;
-
- rot = elm_win_rotation_get(win);
- if (rot == 90 || rot == 270)
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_gengrid_custom_rotate_3line");
- else
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_gengrid_custom_3line");
-}
-
-static void _popup_gengrid_3line_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- Evas_Object *layout;
- Evas_Object *gengrid;
- int rot = -1;
- struct appdata *ad = data;
-
- popup = elm_popup_add(ad->win_main);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, _back_rotate_gengrid_cb, NULL);
-
- elm_object_part_text_set(popup, "title,text", "Title");
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- layout = elm_layout_add(popup);
- rot = elm_win_rotation_get(ad->win_main);
- if (rot == 90 || rot == 270)
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_gengrid_custom_rotate_3line");
- else
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_gengrid_custom_3line");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- gengrid = _create_gengrid(layout, popup, 3, 3, NULL);
-
- elm_object_part_content_set(layout, "elm.swallow.content" , gengrid);
- elm_object_content_set(popup, layout);
-
- evas_object_smart_callback_add(ad->win_main, "rotation,changed", _on_rotation_gengrid_3line_change, layout);
- evas_object_smart_callback_add(popup, "block,clicked", _block_clicked_cb, NULL);
- evas_object_show(popup);
-}
-
-static void _popup_gengrid_3line_scroll_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *popup;
- Evas_Object *layout;
- Evas_Object *gengrid;
- int rot = -1;
- struct appdata *ad = data;
-
-
- popup = elm_popup_add(ad->win_main);
- elm_object_scroll_freeze_push(list);
- evas_object_event_callback_add
- (popup, EVAS_CALLBACK_DEL, _popup_del_cb, NULL);
- ea_object_event_callback_add(popup, EA_CALLBACK_BACK, _back_rotate_gengrid_cb, NULL);
-
- elm_object_part_text_set(popup, "title,text", "Title");
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- layout = elm_layout_add(popup);
- rot = elm_win_rotation_get(ad->win_main);
- if (rot == 90 || rot == 270)
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_gengrid_custom_rotate_3line");
- else
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_gengrid_custom_3line");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- gengrid = _create_gengrid(layout, popup, 6, 3, NULL);
-
- elm_object_part_content_set(layout, "elm.swallow.content" , gengrid);
- elm_object_content_set(popup, layout);
-
- evas_object_smart_callback_add(ad->win_main, "rotation,changed", _on_rotation_gengrid_3line_change, layout);
- evas_object_smart_callback_add(popup, "block,clicked", _block_clicked_cb, NULL);
- evas_object_show(popup);
-}
-
-void popup_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *it;
- struct appdata *ad = data;
- if (ad == NULL) return;
-
- elm_theme_extension_add(NULL, ELM_DEMO_EDJ);
- win = ad->win_main;
- list = elm_list_add(ad->nf);
- elm_list_mode_set(list, ELM_LIST_COMPRESS);
- evas_object_smart_callback_add(list, "selected", _list_click, NULL);
- it = elm_naviframe_item_push(ad->nf, _("Popup"), NULL, NULL, list, NULL);
- elm_naviframe_item_pop_cb_set(it, _pop_cb, NULL);
- elm_list_item_append(list, "popup- text", NULL, NULL,
- _popup_center_info_cb, ad);
- elm_list_item_append(list, "popup- text+1 button", NULL, NULL,
- _popup_center_basic_1button_cb, ad);
- elm_list_item_append(list, "popup- text+2 buttons", NULL, NULL,
- _popup_center_basic_2button_cb, ad);
- elm_list_item_append(list, "popup- text+3 buttons", NULL, NULL,
- _popup_center_basic_3button_cb, ad);
- elm_list_item_append(list, "popup- title+text", NULL, NULL,
- _popup_center_title_info_cb, ad);
- elm_list_item_append(list, "popup- title+text+1 button", NULL, NULL,
- _popup_center_title_1button_cb, ad);
- elm_list_item_append(list, "popup- title+text+2 buttons", NULL, NULL,
- _popup_center_title_2button_cb, ad);
- elm_list_item_append(list, "popup- title+text+3 buttons", NULL, NULL,
- _popup_center_title_3button_cb, ad);
- elm_list_item_append(list, "popup- text+2 vertical buttons", NULL, NULL,
- _popup_center_vertical_2button_cb, ad);
- elm_list_item_append(list, "popup- text+3 vertical buttons", NULL, NULL,
- _popup_center_vertical_3button_cb, ad);
- elm_list_item_append(list, "popup- text+check", NULL, NULL,
- _popup_center_check_cb, ad);
- elm_list_item_append(list, "popup- text+check+image", NULL, NULL,
- _popup_center_check_image_cb, ad);
- elm_list_item_append(list, "popup- text+image+text+check", NULL, NULL,
- _popup_center_check_text_image_cb, ad);
- elm_list_item_append(list, "popup- big-icon", NULL, NULL,
- _popup_center_image_cb, ad);
- elm_list_item_append(list, "popup-list -1btn", NULL, NULL,
- _popup_center_liststyle_1button_cb, ad);
- elm_list_item_append(list, "popup-list -2btns", NULL, NULL,
- _popup_center_liststyle_2button_cb, ad);
- elm_list_item_append(list, "popup-list -3btns", NULL, NULL,
- _popup_center_liststyle_3button_cb, ad);
- elm_list_item_append(list, "popup-buttonstyle-3btns", NULL, NULL,
- _popup_center_buttonstyle_3button_cb, ad);
- elm_list_item_append(list, "popup-buttonstyle-2btns", NULL, NULL,
- _popup_center_buttonstyle_2button_cb, ad);
- elm_list_item_append(list, "popup-volumebar", NULL, NULL,
- _popup_volumepopup_cb, ad);
- elm_list_item_append(list, "popup-volumebar1", NULL, NULL,
- _popup_volumepopup1_cb, ad);
- elm_list_item_append(list, "popup-volumebar1_text", NULL, NULL,
- _popup_volumepopup1_text_cb, ad);
- elm_list_item_append(list, "popup-center-progressbar", NULL, NULL,
- _popup_center_progressbar_cb, ad);
- elm_list_item_append(list, "popup-center-processing", NULL, NULL,
- _popup_center_processing_cb, ad);
- elm_list_item_append(list, "popup-center-processing_1button", NULL, NULL,
- _popup_center_processing_1button_cb, ad);
- elm_list_item_append(list, "popup-entry", NULL, NULL,
- _popup_entry_cb, ad);
- elm_list_item_append(list, "popup-entry-password", NULL, NULL,
- _popup_entry_password_cb, ad);
- elm_list_item_append(list, "popup-entry-password-2-button", NULL, NULL,
- _popup_entry_password_2button_cb, ad);
- elm_list_item_append(list, "popup-center_text-progressbar", NULL, NULL,
- _popup_center_text_progressbar_cb, ad);
- elm_list_item_append(list, "popup-1 line", NULL, NULL,
- _popup_1linetext_cb, ad);
- elm_list_item_append(list, "popup-2 line", NULL, NULL,
- _popup_2linetext_cb, ad);
- elm_list_item_append(list, "popup-radio", NULL, NULL,
- _popup_radio_cb, ad);
- elm_list_item_append(list, "popup-item list", NULL, NULL,
- _popup_itemlist_cb, ad);
- elm_list_item_append(list, "popup-color picker", NULL, NULL,
- _popup_colorpicker_cb, ad);
- elm_list_item_append(list, "popup-item 1line grid", NULL, NULL,
- _popup_gengrid_1line_cb, ad);
- elm_list_item_append(list, "popup-item 2line grid", NULL, NULL,
- _popup_gengrid_2line_cb, ad);
- elm_list_item_append(list, "popup-item 3line grid", NULL, NULL,
- _popup_gengrid_3line_cb, ad);
- elm_list_item_append(list, "popup-item 3line scroll grid", NULL, NULL,
- _popup_gengrid_3line_scroll_cb, ad);
- elm_list_item_append(list, "popup-item 1line grid select mode", NULL, NULL,
- _popup_gengrid_1line_select_mode_cb, ad);
- elm_list_item_append(list, "popup- label+scroller", NULL, NULL,
- _popup_label_cb, ad);
- elm_list_go(list);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_util.h"
-#include "elmdemo_test.h"
-#include "progressbar.h"
-#include "progressbar_custom.h"
-
-#define PROGRESS_INCREASE_STEP 0.01
-#define TIMER_LAP_TIME 0.5
-
-static Evas_Object *in_layout = NULL;
-static Evas_Object *progressbar = NULL;
-
-static struct _menu_item menu_its[] = {
- { "Default Style", progressbar_default_cb},
- { "Custom Style", progressbar_custom_cb},
- { NULL, NULL }
-};
-
-void
-progressbar_add(char *style_name, char *container_name, Evas_Object *layout, Ecore_Timer *timer)
-{
- progressbar = elm_progressbar_add(layout);
-
- elm_object_style_set(progressbar, style_name);
- elm_object_text_set(progressbar, "Label");
- elm_progressbar_horizontal_set(progressbar, EINA_TRUE);
- elm_progressbar_value_set(progressbar, 0.0);
- elm_object_part_content_set(layout, container_name, progressbar);
-
- evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- if (timer) ecore_timer_del(timer);
- timer = ecore_timer_add(TIMER_LAP_TIME, fn_pb_timer, progressbar);
-
- evas_object_show(progressbar);
-}
-
-void
-progressbar_pulse_add(char *style_name, char *container_name, Evas_Object *layout)
-{
- progressbar = elm_progressbar_add(layout);
-
- elm_object_style_set(progressbar, style_name);
- elm_progressbar_pulse(progressbar, EINA_TRUE);
- elm_object_part_content_set(layout, container_name, progressbar);
-
- evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL, 0.5);
- evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- evas_object_show(progressbar);
-}
-
-static void
-_list_clicked(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *it = (Elm_Object_Item *) elm_list_selected_item_get(obj);
- if (it == NULL)
- {
- fprintf(stderr, "list item is NULL\n");
- return;
- }
-
- elm_list_item_selected_set(it, EINA_FALSE);
-}
-
-Eina_Bool
-fn_pb_timer(void *data)
-{
- if(!progressbar) return EINA_FALSE;
-
-
- Evas_Object *progressbar = (Evas_Object*) data;
- double value = elm_progressbar_value_get(progressbar);
-
- if (value == 1.0) value = 0.0;
- value += PROGRESS_INCREASE_STEP;
-
- elm_progressbar_value_set(progressbar, value);
-
- return ECORE_CALLBACK_RENEW;
-}
-
-static Eina_Bool
-_pop_cb(void *data, Elm_Object_Item *it)
-{
- if (pb_timer_1) ecore_timer_del(pb_timer_1);
- if (pb_timer_2) ecore_timer_del(pb_timer_2);
- if (pb_timer_3) ecore_timer_del(pb_timer_3);
-
- if (in_layout) in_layout = NULL;
- if (progressbar) progressbar = NULL;
-
- elm_theme_extension_del(NULL, ELM_DEMO_EDJ);
-
- return EINA_TRUE;
-}
-
-static Evas_Object*
-_list_winset_create(struct appdata *ad)
-{
- Evas_Object *li;
- if (ad == NULL) return NULL;
-
- li = elm_list_add(ad->nf);
- elm_list_mode_set(li, ELM_LIST_COMPRESS);
- evas_object_smart_callback_add(li, "selected", _list_clicked, NULL);
-
- int idx = 0;
- while (menu_its[idx].name != NULL)
- {
- elm_list_item_append(li, menu_its[idx].name, NULL, NULL, menu_its[idx].func, ad);
- ++idx;
- }
-
- elm_list_go(li);
-
- return li;
-}
-
-void
-progressbar_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad = data;
- if (ad == NULL) return;
- Evas_Object *list = _list_winset_create(ad);
-
- elm_naviframe_item_push(ad->nf, _("ProgressBar"), NULL, NULL, list, NULL);
-}
-
-Evas_Object *scroller_create(Evas_Object *parent)
-{
- Evas_Object* scroller = elm_scroller_add(parent);
-
- elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE);
- elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO);
-
- evas_object_show(scroller);
-
- return scroller;
-}
-
-void
-progressbars_create(void *data, Evas_Object *obj, void *event_info,
- char *page_name, PROGRESSBAR_CREATE _progressbar_create)
-{
- Evas_Object *scroller_main, *layout_inner;
- Elm_Object_Item *it;
- struct appdata *ad = data;
-
- if (ad == NULL) return;
-
- elm_theme_extension_add(NULL, ELM_DEMO_EDJ);
-
- scroller_main = scroller_create(ad->nf);
-
- it = elm_naviframe_item_push(ad->nf, _(page_name), NULL, NULL, scroller_main, NULL);
- elm_naviframe_item_pop_cb_set(it, _pop_cb, NULL);
-
- layout_inner = _progressbar_create(ad->nf);
- elm_object_content_set(scroller_main, layout_inner);
-}
-
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_util.h"
-#include "elmdemo_test.h"
-#include "progressbar_custom.h"
-#include "progressbar.h"
-
-static Evas_Object*
-_custom_progressbar_list_create(Evas_Object *parent)
-{
- Evas_Object *in_layout = elm_layout_add(parent);
- elm_layout_file_set(in_layout, ELM_DEMO_EDJ, "pingpongs");
- evas_object_size_hint_weight_set(in_layout, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
-
- // pingpong_bounces progress mode
- progressbar_add("pingpong_bounces", "pingpong_bounces_progress",
- in_layout, pb_timer_1);
-
- // pingpong progress mode
- progressbar_add("pingpong", "pingpong_progress",
- in_layout, pb_timer_2);
-
- // pingpong_bounces pulse mode
- progressbar_pulse_add("pingpong_bounces", "pingpong_bounces_pulse", in_layout);
-
- return in_layout;
-}
-
-void
-progressbar_custom_cb(void *data, Evas_Object *obj, void *event_info)
-{
- progressbars_create(data, obj, event_info, "Custom Style",
- _custom_progressbar_list_create);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_util.h"
-#include "elmdemo_test.h"
-#include "progressbar_custom.h"
-#include "progressbar.h"
-
-static Evas_Object*
-_default_progressbar_list_create(Evas_Object *parent)
-{
- Evas_Object *in_layout = elm_layout_add(parent);
- elm_layout_file_set(in_layout, ELM_DEMO_EDJ, "progessbar");
- evas_object_size_hint_weight_set(in_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- // list_progress style
- progressbar_add("list_progress", "list_progress", in_layout, pb_timer_1);
-
- // list_title_progress style
- progressbar_add("list_title_progress", "progress_list_text", in_layout, pb_timer_2);
-
- // pending_list style
- progressbar_pulse_add("pending_list", "pending_list", in_layout);
-
- // Progress circle style
- progressbar_add("progress_circle", "progress_circle", in_layout, pb_timer_3);
-
- // list_process style
- progressbar_pulse_add("process_Xlarge", "process_Xlarge", in_layout);
-
- // process_medium style
- progressbar_pulse_add("process_large", "process_large", in_layout);
-
- // list process small style
- progressbar_pulse_add("process_medium", "process_medium", in_layout);
-
- // list_process black style
- progressbar_pulse_add("process_small", "process_small", in_layout);
-
- return in_layout;
-}
-
-void
-progressbar_default_cb(void *data, Evas_Object *obj, void *event_info)
-{
- progressbars_create(data, obj, event_info, "Default Style", _default_progressbar_list_create);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "radio.h"
-
-/*********************************************************
- button
- ********************************************************/
-static Evas_Object *_create_scroller(Evas_Object *parent);
-static Evas_Object *_create_radios(Evas_Object *parent);
-static Evas_Object *_create_custom_radios(Evas_Object *parent);
-static void _style_radio_cb(void *data, Evas_Object * obj, void *event_info);
-static void _custom_style_radio_cb(void *data, Evas_Object * obj, void *event_info);
-
-static struct _menu_item _menu_its[] = {
- {"Normal Styles", _style_radio_cb},
- {"Custom Styles", _custom_style_radio_cb},
- /* do not delete below */
- {NULL, NULL}
-};
-
-static void _list_click(void *data, Evas_Object * obj, void *event_info)
-{
- Elm_Object_Item *it = (Elm_Object_Item *) elm_list_selected_item_get(obj);
- if (it == NULL) {
- fprintf(stderr, "list item is NULL\n");
- return;
- }
-
- elm_list_item_selected_set(it, EINA_FALSE);
-}
-
-static void _radio_cb(void *data, Evas_Object *obj, void *event_info)
-{
- int x = 0;
- printf("Selected Radio:%d\n", (int)(long)data);
- x = elm_radio_value_get(obj);
- //will print the value assigned to the currently selected radio
- printf("selected value for the group:%d\n", x);
-}
-
-static Evas_Object *_create_radios(Evas_Object *parent)
-{
- Evas_Object *radio, *rdg = NULL;
- Evas_Object *layout;
-
- layout = elm_layout_add(parent);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "elmdemo-test/radio");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- //adding a radio instance
- radio = elm_radio_add(layout);
- elm_object_part_content_set(layout, "radio1", radio);
- //assigning a unique value(within the group) to the radio instance
- elm_radio_state_value_set(radio, 10);
- evas_object_smart_callback_add(radio, "changed", _radio_cb, (void *)1);
- //creating a radio group with first radio
- rdg = radio;
-
- radio = elm_radio_add(layout);
- //assigning a unique value(within the group) to the radio instance
- elm_radio_state_value_set(radio, 20);
- //adding this radio to the group containing the first radio
- elm_radio_group_add(radio, rdg);
- elm_object_part_content_set(layout, "radio2", radio);
- evas_object_smart_callback_add(radio, "changed", _radio_cb, (void *)2);
-
- radio = elm_radio_add(layout);
- //assigning a unique value(within the group) to the radio instance
- elm_radio_state_value_set(radio, 30);
- //adding this radio to the group containing the first radio
- elm_radio_group_add(radio, rdg);
- elm_object_part_content_set(layout, "radio3", radio);
- evas_object_smart_callback_add(radio, "changed", _radio_cb, (void *)3);
-
- radio = elm_radio_add(layout);
- //assigning a unique value(within the group) to the radio instance
- elm_radio_state_value_set(radio, 40);
- //adding this radio to the group containing the first radio
- elm_radio_group_add(radio, rdg);
- elm_object_part_content_set(layout, "radio4", radio);
- elm_object_disabled_set(radio, EINA_TRUE);
- evas_object_smart_callback_add(radio, "changed", _radio_cb, (void *)4);
-
- //selecting the second radio in the group with value set to 10. This will set the 2nd radio instance
- elm_radio_value_set(rdg, 10);
- return layout;
-}
-
-static Evas_Object *_create_custom_radios(Evas_Object *parent)
-{
- Evas_Object *radio, *rdg = NULL;
- Evas_Object *layout;
-
- layout = elm_layout_add(parent);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "elmdemo-test/radio-custom");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- //adding a radio instance
- radio = elm_radio_add(layout);
- elm_object_part_content_set(layout, "radio1", radio);
- //assigning a unique value(within the group) to the radio instance
- elm_radio_state_value_set(radio, 10);
- elm_object_style_set(radio, "water");
- elm_object_signal_emit(radio, "elm,state,radio,begin", "");
- evas_object_smart_callback_add(radio, "changed", _radio_cb, (void *)1);
- //creating a radio group with first radio
- rdg = radio;
-
- radio = elm_radio_add(layout);
- //assigning a unique value(within the group) to the radio instance
- elm_radio_state_value_set(radio, 20);
- //adding this radio to the group containing the first radio
- elm_radio_group_add(radio, rdg);
- elm_object_part_content_set(layout, "radio2", radio);
- elm_object_style_set(radio, "water");
- evas_object_smart_callback_add(radio, "changed", _radio_cb, (void *)2);
-
- radio = elm_radio_add(layout);
- //assigning a unique value(within the group) to the radio instance
- elm_radio_state_value_set(radio, 30);
- //adding this radio to the group containing the first radio
- elm_radio_group_add(radio, rdg);
- elm_object_part_content_set(layout, "radio3", radio);
- elm_object_style_set(radio, "water");
- evas_object_smart_callback_add(radio, "changed", _radio_cb, (void *)3);
-
- //selecting the second radio in the group with value set to 10. This will set the 2nd radio instance
- elm_radio_value_set(rdg, 10);
- return layout;
-}
-
-
-static Evas_Object *_create_scroller(Evas_Object *parent)
-{
- Evas_Object *scroller = elm_scroller_add(parent);
-
- elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE);
- elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO);
- evas_object_show(scroller);
-
- return scroller;
-}
-
-static void _custom_style_radio_cb(void *data, Evas_Object * obj, void *event_info)
-{
- Evas_Object *scroller, *layout_inner;
- struct appdata *ad = (struct appdata *)data;
- if (ad == NULL) return;
-
- scroller = _create_scroller(ad->nf);
- elm_naviframe_item_push(ad->nf, _("Custom Styles"), NULL, NULL, scroller, NULL);
-
- layout_inner = _create_custom_radios(ad->nf);
- elm_object_content_set(scroller, layout_inner);
-}
-
-static void _style_radio_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *scroller, *layout_inner;
- struct appdata *ad = (struct appdata *)data;
- if (ad == NULL) return;
-
- scroller = _create_scroller(ad->nf);
- elm_naviframe_item_push(ad->nf, _("Normal styles"), NULL, NULL, scroller, NULL);
-
- layout_inner = _create_radios(ad->nf);
- elm_object_content_set(scroller, layout_inner);
-}
-
-static Evas_Object *_create_list_winset(struct appdata *ad)
-{
- Evas_Object *li;
- struct _menu_item *menu_its;
- if (ad == NULL) return NULL;
-
- li = elm_list_add(ad->nf);
- elm_list_mode_set(li, ELM_LIST_COMPRESS);
- evas_object_smart_callback_add(li, "selected", _list_click, NULL);
-
- int idx = 0;
- menu_its = _menu_its;
- while (menu_its[idx].name != NULL) {
- elm_list_item_append(li, menu_its[idx].name, NULL, NULL, menu_its[idx].func, ad); ++idx;
- }
- elm_list_go(li);
-
- return li;
-}
-
-static Eina_Bool _pop_cb(void *data, Elm_Object_Item *it)
-{
- elm_theme_extension_del(NULL, ELM_DEMO_EDJ);
- return EINA_TRUE;
-}
-
-void radio_cb(void *data, Evas_Object * obj, void *event_info)
-{
- struct appdata *ad;
- Evas_Object *list;
- Elm_Object_Item *it;
- ad = (struct appdata *)data;
- if (ad == NULL) return;
-
- elm_theme_extension_add(NULL, ELM_DEMO_EDJ);
-
- list = _create_list_winset(ad);
- it=elm_naviframe_item_push(ad->nf, _("Radio"), NULL, NULL, list, NULL);
- elm_naviframe_item_pop_cb_set(it, _pop_cb, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_util.h"
-#include "elmdemo_test.h"
-#include "searchbar.h"
-
-/*********************************************************
- SearchBar Normal
- ********************************************************/
-
-static struct _menu_item menu_its[] = {
- { "SearchBar Normal", searchbar_normal_cb },
- { "SearchBar External", searchbar_external_cb },
- { "SearchBar No Search Icon", searchbar_no_search_icon_cb },
- { "SearchBar VI", searchbar_vi_cb },
- /* do not delete below */
- { NULL, NULL }
-};
-
-static void _list_click(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *it = (Elm_Object_Item *) elm_list_selected_item_get(obj);
- if(it == NULL) return;
-
- elm_list_item_selected_set(it, EINA_FALSE);
-}
-
-static Evas_Object* _create_list_winset(struct appdata* ad)
-{
- Evas_Object *li;
-
- if(ad == NULL) return NULL;
-
- li = elm_list_add(ad->nf);
- elm_list_mode_set(li, ELM_LIST_COMPRESS);
- evas_object_smart_callback_add(li, "selected", _list_click, NULL);
-
- int idx = 0;
-
- while (menu_its[ idx ].name != NULL) {
- elm_list_item_append(
- li,
- menu_its[ idx ].name,
- NULL,
- NULL,
- menu_its[ idx ].func,
- ad);
- ++idx;
- }
- elm_list_go(li);
-
- return li;
-}
-
-
-void searchbar_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Evas_Object *list;
-
- ad = (struct appdata *) data;
- if(ad == NULL) return;
-
- list = _create_list_winset(ad);
- elm_naviframe_item_push(ad->nf, _("SearchBar"), NULL, NULL, list, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 _GNU_SOURCE
-
-#include "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "searchbar.h"
-
-/*********************************************************
- SearchBar
- ********************************************************/
-
-#define NUM_OF_ITEMS 50
-
-static Evas_Object *search_gl = NULL;
-static Elm_Object_Item *git = NULL;
-static Elm_Genlist_Item_Class itc, itc2;
-static Evas_Object *searchbar_layout, *layout;
-
-static char *names[] = { "Aaliyah", "Aamir", "Aaralyn", "Aaron", "Abagail",
- "Babitha", "Bahuratna", "Bandana", "Bulbul", "Cade", "Caldwell",
- "Chandan", "Caster", "Dagan ", "Daulat", "Dag", "Earl", "Ebenzer",
- "Ellison", "Elizabeth", "Filbert", "Fitzpatrick", "Florian", "Fulton",
- "Frazer", "Gabriel", "Gage", "Galen", "Garland", "Gauhar", "Hadden",
- "Hafiz", "Hakon", "Haleem", "Hank", "Hanuman", "Jabali ", "Jaimini",
- "Jayadev", "Jake", "Jayatsena", "Jonathan", "Kamaal", "Jeirk",
- "Jasper", "Jack", "Mac", "Macy", "Marlon", "Milson" };
-
-static char *group[5] = { N_("Family"), N_("Friends"), N_("Colleagues"), N_("Relatives"),
- N_("Classmates") };
-
-static void genlist_item_search(const char *search_word);
-static void genlist_clear(void);
-static void genlist_item_add();
-static char *_gl_text_get(void *data, Evas_Object *obj, const char *part);
-static Eina_Bool _gl_state_get(void *data, Evas_Object *obj, const char *part);
-static void _gl_del(void *data, Evas_Object *obj);
-static void _gl_sel(void *data, Evas_Object *obj, void *event_info);
-static char* _gl_text_get_title(void *data, Evas_Object *obj, const char *part);
-static void _create_genlist_group_title_style(void *data);
-
-static int _search(void *data);
-static void _changed_cb(void *data, Evas_Object *obj, void *event_info);
-static void _cancel_clicked_cb(void *data, Evas_Object *obj, void *event_info);
-static void _create_searchbar(void *data);
-
-static void genlist_item_search(const char *search_word)
-{
- int index;
- Elm_Object_Item *item_del = NULL;
-
- int flag = 0;
-
- for (index=0; index < NUM_OF_ITEMS; index++) {
- if (index % 5 == 0) {
- if (item_del && flag == 0) {
- elm_object_item_del(item_del);
- item_del = NULL;
- }
- git = elm_genlist_item_append(search_gl, &itc2, (void *) index, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- flag = 0;
- item_del = git;
- }
- else {
- if (strcasestr(names[index], search_word)) {
- elm_genlist_item_append(search_gl, &itc, (void *) index, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, NULL);
- flag = 1;
- }
- }
- if (index == (NUM_OF_ITEMS-1)) {
- if (item_del && flag == 0) {
- elm_object_item_del(item_del);
- item_del = NULL;
- }
- }
- }
-}
-
-static void genlist_clear(void)
-{
- if(search_gl == NULL) return;
- elm_genlist_clear(search_gl);
-}
-
-static void genlist_item_add()
-{
- int index;
-
- for (index=0; index < NUM_OF_ITEMS; index++) {
- if (index % 5 == 0) {
- git = elm_genlist_item_append(search_gl, &itc2, (void *) index, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- }
- else {
- elm_genlist_item_append(search_gl, &itc, (void *) index, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, NULL);
- }
- }
-}
-
-static char *_gl_text_get(void *data, Evas_Object *obj, const char *part)
-{
- char buf[256];
- int index = (int) data % NUM_OF_ITEMS;
-
- if (strcmp(part, "elm.text") == 0) {
- snprintf(buf, sizeof(buf), "%s", names[index]);
- return strdup(buf);
- }
- else {
- snprintf(buf, sizeof(buf), "%s", names[index]);
- return strdup(buf);
- }
- return NULL;
-}
-
-static Eina_Bool _gl_state_get(void *data, Evas_Object *obj, const char *part)
-{
- return EINA_FALSE;
-}
-
-static void _gl_del(void *data, Evas_Object *obj)
-{
- return;
-}
-
-static void _gl_sel(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *item = (Elm_Object_Item *)event_info;
- static Eina_Bool flag = EINA_FALSE;
- if (!flag) {
- elm_object_signal_emit(layout, "elm,state,hide,searchbar,animation", "elm");
- flag = EINA_TRUE;
- }
- else {
- elm_object_signal_emit(layout, "elm,state,show,searchbar,animation", "elm");
- flag = EINA_FALSE;
- }
- if (item!=NULL) {
- int index= (int)elm_object_item_data_get(item);
- fprintf(stdout, "selected text %s\n", names[index]);
- }
-}
-
-static char* _gl_text_get_title(void *data, Evas_Object *obj, const char *part)
-{
- char buf[PATH_MAX];
- int index = ((int) data / 5) % 5;
-
- if (strcmp(part, "elm.text") == 0) {
- snprintf(buf, sizeof(buf), "%s", group[index]);
- return strdup(buf);
- }
- return NULL;
-}
-
-static void _genlist_scroll_edge_top_cb(void *data, Evas_Object *obj, void *event_info)
-{
- elm_object_signal_emit(layout, "elm,state,show,searchbar,animation", "elm");
-}
-
-static void _create_genlist_group_title_style(void *data)
-{
- Evas_Object *genlist;
- struct appdata *ad = (struct appdata *) data;
-
- itc.item_style = "default";
- itc.func.text_get = _gl_text_get;
- itc.func.content_get = NULL;
- itc.func.state_get = _gl_state_get;
- itc.func.del = _gl_del;
-
- itc2.item_style = "groupindex";
- itc2.func.text_get = _gl_text_get_title;
-
- genlist = elm_genlist_add(ad->nf);
- elm_genlist_select_mode_set(genlist, ELM_OBJECT_SELECT_MODE_ALWAYS);
- evas_object_smart_callback_add(genlist, "scroll,edge,top", _genlist_scroll_edge_top_cb, NULL);
-
- search_gl = genlist;
-
- genlist_item_add();
-}
-
-static int _search(void *data)
-{
- Evas_Object *entry = data;
- const char* text;
-
- text = elm_object_text_get(entry);
-
- printf("\n[Search Bar] Changed Callback Called, Search Word : %s\n", text);
- genlist_clear();
-
- if (text != NULL && strlen(text) > 0)
- genlist_item_search(text);
- else
- genlist_item_add();
-
- return 0;
-}
-
-static void _changed_cb(void *data, Evas_Object *obj, void *event_info)
-{
- _search(obj);
-}
-
-static void _bg_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
- elm_object_focus_set(data, EINA_TRUE);
-}
-
-static void _cancel_clicked_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *searchbar_layout = (Evas_Object *)data;
- Evas_Object *entry = elm_object_part_content_get(searchbar_layout, "elm.swallow.content");
- const char* text;
- text = elm_entry_entry_get(entry);
- if (text != NULL && strlen(text) > 0)
- elm_entry_entry_set(entry, NULL);
- elm_object_focus_set(search_gl, EINA_TRUE); /*Transfer the focus to some other object*/
-}
-
-static void _create_searchbar(void *data)
-{
- Evas_Object *entry, *cancel_btn;
- Evas_Object *layout = data;
-
- searchbar_layout = elm_layout_add(layout);
- elm_layout_theme_set(searchbar_layout, "layout", "searchbar", "cancel_button");
- elm_object_part_content_set(layout, "searchbar", searchbar_layout);
-
- entry = ea_editfield_add(searchbar_layout, EA_EDITFIELD_SEARCHBAR);
- elm_object_domain_translatable_part_text_set(entry, "elm.guide", "sys_string", "IDS_COM_BODY_SEARCH");
- elm_object_part_content_set(searchbar_layout, "elm.swallow.content", entry);
-
- evas_object_smart_callback_add(entry, "changed", _changed_cb, NULL);
- elm_object_signal_callback_add(searchbar_layout, "elm,bg,clicked", "elm", _bg_clicked_cb, entry);
-
- elm_entry_input_panel_layout_set(entry, ELM_INPUT_PANEL_LAYOUT_NORMAL);
- evas_object_size_hint_weight_set(searchbar_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(searchbar_layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- //in case cancel button is required add the following code
- cancel_btn = elm_button_add(searchbar_layout);
- elm_object_part_content_set(searchbar_layout, "button_cancel", cancel_btn);
- elm_object_style_set(cancel_btn, "searchbar/default");
- elm_object_domain_translatable_text_set(cancel_btn, "sys_string", "IDS_IDLE_BUTTON_CANCEL");
- evas_object_smart_callback_add(cancel_btn, "clicked", _cancel_clicked_cb, searchbar_layout);
- elm_object_signal_emit(searchbar_layout, "cancel,show", "");
-}
-
-void searchbar_external_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad = (struct appdata *)data;
- if(ad == NULL) return;
-
- _create_genlist_group_title_style(ad);
-
- layout = elm_layout_add(ad->nf);
- elm_layout_theme_set(layout, "layout", "application", "searchbar_base");
- elm_object_signal_emit(layout, "elm,state,show,searchbar", "elm");
-
- _create_searchbar(layout);
-
- elm_object_part_content_set(layout, "elm.swallow.content", search_gl);
- elm_naviframe_item_push(ad->nf, _("SearchBar"), NULL, NULL, layout, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 _GNU_SOURCE
-
-#include "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "searchbar.h"
-
-/*********************************************************
- SearchBar
- ********************************************************/
-
-#define NUM_OF_ITEMS 50
-
-static Evas_Object *search_gl = NULL;
-static Elm_Object_Item *git = NULL;
-static Elm_Genlist_Item_Class itc, itc2;
-static Evas_Object *searchbar_layout, *layout;
-
-static char *names[] = { "Aaliyah", "Aamir", "Aaralyn", "Aaron", "Abagail",
- "Babitha", "Bahuratna", "Bandana", "Bulbul", "Cade", "Caldwell",
- "Chandan", "Caster", "Dagan ", "Daulat", "Dag", "Earl", "Ebenzer",
- "Ellison", "Elizabeth", "Filbert", "Fitzpatrick", "Florian", "Fulton",
- "Frazer", "Gabriel", "Gage", "Galen", "Garland", "Gauhar", "Hadden",
- "Hafiz", "Hakon", "Haleem", "Hank", "Hanuman", "Jabali ", "Jaimini",
- "Jayadev", "Jake", "Jayatsena", "Jonathan", "Kamaal", "Jeirk",
- "Jasper", "Jack", "Mac", "Macy", "Marlon", "Milson" };
-
-static char *group[5] = { N_("Family"), N_("Friends"), N_("Colleagues"), N_("Relatives"),
- N_("Classmates") };
-
-static void genlist_item_search(const char *search_word);
-static void genlist_clear(void);
-static void genlist_item_add();
-static char *_gl_text_get(void *data, Evas_Object *obj, const char *part);
-static Eina_Bool _gl_state_get(void *data, Evas_Object *obj, const char *part);
-static void _gl_del(void *data, Evas_Object *obj);
-static void _gl_sel(void *data, Evas_Object *obj, void *event_info);
-static char* _gl_text_get_title(void *data, Evas_Object *obj, const char *part);
-static void _create_genlist_group_title_style(void *data);
-
-static int _search(void *data);
-static void _changed_cb(void *data, Evas_Object *obj, void *event_info);
-static void _cancel_clicked_cb(void *data, Evas_Object *obj, void *event_info);
-static void _create_searchbar(void *data);
-
-static void genlist_item_search(const char *search_word)
-{
- int index;
- Elm_Object_Item *item_del = NULL;
-
- int flag = 0;
-
- for (index=0; index < NUM_OF_ITEMS; index++) {
- if (index % 5 == 0) {
- if (item_del && flag == 0) {
- elm_object_item_del(item_del);
- item_del = NULL;
- }
- git = elm_genlist_item_append(search_gl, &itc2, (void *) index, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- flag = 0;
- item_del = git;
- }
- else {
- if (strcasestr(names[index], search_word)) {
- elm_genlist_item_append(search_gl, &itc, (void *) index, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, NULL);
- flag = 1;
- }
- }
- if (index == (NUM_OF_ITEMS-1)) {
- if (item_del && flag == 0) {
- elm_object_item_del(item_del);
- item_del = NULL;
- }
- }
- }
-}
-
-static void genlist_clear(void)
-{
- if(search_gl == NULL) return;
- elm_genlist_clear(search_gl);
-}
-
-static void genlist_item_add()
-{
- int index;
-
- for (index=0; index < NUM_OF_ITEMS; index++) {
- if (index % 5 == 0) {
- git = elm_genlist_item_append(search_gl, &itc2, (void *) index, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- }
- else {
- elm_genlist_item_append(search_gl, &itc, (void *) index, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, NULL);
- }
- }
-}
-
-static char *_gl_text_get(void *data, Evas_Object *obj, const char *part)
-{
- char buf[256];
- int index = (int) data % NUM_OF_ITEMS;
-
- if (strcmp(part, "elm.text") == 0) {
- snprintf(buf, sizeof(buf), "%s", names[index]);
- return strdup(buf);
- }
- else {
- snprintf(buf, sizeof(buf), "%s", names[index]);
- return strdup(buf);
- }
- return NULL;
-}
-
-static Eina_Bool _gl_state_get(void *data, Evas_Object *obj, const char *part)
-{
- return EINA_FALSE;
-}
-
-static void _gl_del(void *data, Evas_Object *obj)
-{
- return;
-}
-
-static void _gl_sel(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *item = (Elm_Object_Item *)event_info;
- static Eina_Bool flag = EINA_FALSE;
- if (!flag) {
- elm_object_signal_emit(layout, "elm,state,hide,searchbar,animation", "elm");
- flag = EINA_TRUE;
- }
- else {
- elm_object_signal_emit(layout, "elm,state,show,searchbar,animation", "elm");
- flag = EINA_FALSE;
- }
- if (item!=NULL) {
- int index= (int)elm_object_item_data_get(item);
- fprintf(stdout, "selected text %s\n", names[index]);
- }
-}
-
-static char* _gl_text_get_title(void *data, Evas_Object *obj, const char *part)
-{
- char buf[PATH_MAX];
- int index = ((int) data / 5) % 5;
-
- if (strcmp(part, "elm.text") == 0) {
- snprintf(buf, sizeof(buf), "%s", group[index]);
- return strdup(buf);
- }
- return NULL;
-}
-
-static void _genlist_scroll_edge_top_cb(void *data, Evas_Object *obj, void *event_info)
-{
- elm_object_signal_emit(layout, "elm,state,show,searchbar,animation", "elm");
-}
-
-static void _create_genlist_group_title_style(void *data)
-{
- Evas_Object *genlist;
- struct appdata *ad = (struct appdata *) data;
-
- itc.item_style = "default";
- itc.func.text_get = _gl_text_get;
- itc.func.content_get = NULL;
- itc.func.state_get = _gl_state_get;
- itc.func.del = _gl_del;
-
- itc2.item_style = "groupindex";
- itc2.func.text_get = _gl_text_get_title;
-
- genlist = elm_genlist_add(ad->nf);
- elm_genlist_select_mode_set(genlist, ELM_OBJECT_SELECT_MODE_ALWAYS);
- evas_object_smart_callback_add(genlist, "scroll,edge,top", _genlist_scroll_edge_top_cb, NULL);
-
- search_gl = genlist;
-
- genlist_item_add();
-}
-
-static int _search(void *data)
-{
- Evas_Object *entry = data;
- const char* text;
-
- text = elm_object_text_get(entry);
-
- printf("\n[Search Bar] Changed Callback Called, Search Word : %s\n", text);
- genlist_clear();
-
- if (text != NULL && strlen(text) > 0)
- genlist_item_search(text);
- else
- genlist_item_add();
-
- return 0;
-}
-
-static void _changed_cb(void *data, Evas_Object *obj, void *event_info)
-{
- _search(obj);
-}
-
-static void _bg_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
- elm_object_focus_set(data, EINA_TRUE);
-}
-
-static void _cancel_clicked_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *searchbar_layout = (Evas_Object *)data;
- Evas_Object *entry = elm_object_part_content_get(searchbar_layout, "elm.swallow.content");
- const char* text;
- text = elm_entry_entry_get(entry);
- if (text != NULL && strlen(text) > 0)
- elm_entry_entry_set(entry, NULL);
- elm_object_focus_set(search_gl, EINA_TRUE); /*Transfer the focus to some other object*/
-}
-
-static void _create_searchbar(void *data)
-{
- Evas_Object *entry, *cancel_btn;
- Evas_Object *layout = data;
-
- searchbar_layout = elm_layout_add(layout);
- elm_layout_theme_set(searchbar_layout, "layout", "searchbar", "cancel_button");
- elm_object_part_content_set(layout, "searchbar", searchbar_layout);
-
- entry = ea_editfield_add(searchbar_layout, EA_EDITFIELD_SEARCHBAR);
- elm_object_signal_emit(entry, "elm,action,hide,search_icon", "");
- elm_object_domain_translatable_part_text_set(entry, "elm.guide", "sys_string", "IDS_COM_BODY_SEARCH");
- elm_object_part_content_set(searchbar_layout, "elm.swallow.content", entry);
-
- evas_object_smart_callback_add(entry, "changed", _changed_cb, NULL);
- elm_object_signal_callback_add(searchbar_layout, "elm,bg,clicked", "elm", _bg_clicked_cb, entry);
-
- elm_entry_input_panel_layout_set(entry, ELM_INPUT_PANEL_LAYOUT_NORMAL);
- evas_object_size_hint_weight_set(searchbar_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(searchbar_layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- //in case cancel button is required add the following code
- cancel_btn = elm_button_add(searchbar_layout);
- elm_object_part_content_set(searchbar_layout, "button_cancel", cancel_btn);
- elm_object_style_set(cancel_btn, "searchbar/default");
- elm_object_domain_translatable_text_set(cancel_btn, "sys_string", "IDS_IDLE_BUTTON_CANCEL");
- evas_object_smart_callback_add(cancel_btn, "clicked", _cancel_clicked_cb, searchbar_layout);
- elm_object_signal_emit(searchbar_layout, "cancel,show", "");
-}
-
-void searchbar_no_search_icon_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad = (struct appdata *)data;
- if(ad == NULL) return;
-
- _create_genlist_group_title_style(ad);
-
- layout = elm_layout_add(ad->nf);
- elm_layout_theme_set(layout, "layout", "application", "searchbar_base");
- elm_object_signal_emit(layout, "elm,state,show,searchbar", "elm");
-
- _create_searchbar(layout);
-
- elm_object_part_content_set(layout, "elm.swallow.content", search_gl);
- elm_naviframe_item_push(ad->nf, _("SearchBar"), NULL, NULL, layout, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 _GNU_SOURCE
-
-#include "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "searchbar.h"
-
-/*********************************************************
- SearchBar Normal
- ********************************************************/
-
-#define NUM_OF_ITEMS 5000
-
-static Evas_Object *search_gl = NULL;
-static Elm_Object_Item *git = NULL;
-static Elm_Genlist_Item_Class itc, itc2;
-static Evas_Object *searchbar_layout, *layout;
-
-static char *names[] = { "Aaliyah", "Aamir", "Aaralyn", "Aaron", "Abagail",
- "Babitha", "Bahuratna", "Bandana", "Bulbul", "Cade", "Caldwell",
- "Chandan", "Caster", "Dagan ", "Daulat", "Dag", "Earl", "Ebenzer",
- "Ellison", "Elizabeth", "Filbert", "Fitzpatrick", "Florian", "Fulton",
- "Frazer", "Gabriel", "Gage", "Galen", "Garland", "Gauhar", "Hadden",
- "Hafiz", "Hakon", "Haleem", "Hank", "Hanuman", "Jabali ", "Jaimini",
- "Jayadev", "Jake", "Jayatsena", "Jonathan", "Kamaal", "Jeirk",
- "Jasper", "Jack", "Mac", "Macy", "Marlon", "Milson" };
-
-static char *group[5] = { N_("Family"), N_("Friends"), N_("Colleagues"), N_("Relatives"),
- N_("Classmates") };
-
-static void genlist_item_search(const char *search_word);
-static void genlist_clear(void);
-static void genlist_item_add();
-static char *_gl_text_get(void *data, Evas_Object *obj, const char *part);
-static Eina_Bool _gl_state_get(void *data, Evas_Object *obj, const char *part);
-static void _gl_del(void *data, Evas_Object *obj);
-static void _gl_sel(void *data, Evas_Object *obj, void *event_info);
-static char* _gl_text_get_title(void *data, Evas_Object *obj, const char *part);
-static void _create_genlist_group_title_style(void *data);
-
-static int _search(void *data);
-static void _changed_cb(void *data, Evas_Object *obj, void *event_info);
-static void _create_searchbar(void *data);
-
-static void genlist_item_search(const char *search_word)
-{
- int index;
- Elm_Object_Item *item_hide = NULL;
- Elm_Object_Item* it = NULL;
- int flag = 0;
-
- for (index=0; index < NUM_OF_ITEMS; index++) {
- if (index % 5 == 0) {
- if (item_hide && flag == 0) {
- elm_genlist_item_hide_set(item_hide, EINA_TRUE);
- item_hide = NULL;
- }
-
- it = elm_genlist_nth_item_get(search_gl, index);
-
- if (elm_genlist_item_hide_get(it)) {
- elm_genlist_item_hide_set(it, EINA_FALSE);
- }
- flag = 0;
- item_hide = it;
- } else {
- if (strcasestr(names[index % 50], search_word)) {
- it = elm_genlist_nth_item_get(search_gl, index);
- if (elm_genlist_item_hide_get(it)) {
- elm_genlist_item_hide_set(it, EINA_FALSE);
- }
- flag = 1;
- } else {
- it = elm_genlist_nth_item_get(search_gl, index);
- elm_genlist_item_hide_set(it, EINA_TRUE);
- }
- }
- if (index == (NUM_OF_ITEMS-1)) {
- if (item_hide && flag == 0) {
- elm_genlist_item_hide_set(item_hide, EINA_TRUE);
- item_hide = NULL;
- }
- }
- }
-}
-
-static void genlist_clear(void)
-{
- if(search_gl == NULL) return;
- elm_genlist_clear(search_gl);
-}
-
-static void genlist_item_add()
-{
- int index;
-
- for (index=0; index < NUM_OF_ITEMS; index++) {
- if (index % 5 == 0) {
- git = elm_genlist_item_append(search_gl, &itc2, (void *) index, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- } else {
- elm_genlist_item_append(search_gl, &itc, (void *) index, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, NULL);
- }
- }
-}
-
-static char *_gl_text_get(void *data, Evas_Object *obj, const char *part)
-{
- char buf[256];
- int index = (int) data % NUM_OF_ITEMS;
-
- if (strcmp(part, "elm.text") == 0) {
- snprintf(buf, sizeof(buf), "%s", names[index % 50]);
- return strdup(buf);
- } else {
- snprintf(buf, sizeof(buf), "%s", names[index % 50]);
- return strdup(buf);
- }
- return NULL;
-}
-
-static Eina_Bool _gl_state_get(void *data, Evas_Object *obj, const char *part)
-{
- return EINA_FALSE;
-}
-
-static void _gl_del(void *data, Evas_Object *obj)
-{
- return;
-}
-
-static void _gl_sel(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *item = (Elm_Object_Item *)event_info;
- static Eina_Bool flag = EINA_FALSE;
- if (!flag) {
- elm_object_signal_emit(layout, "elm,state,hide,searchbar,animation", "elm");
- flag = EINA_TRUE;
- } else {
- elm_object_signal_emit(layout, "elm,state,show,searchbar,animation", "elm");
- flag = EINA_FALSE;
- }
- if (item!=NULL) {
- int index= (int)elm_object_item_data_get(item);
- fprintf(stdout, "selected text %s\n", names[index % 50]);
- }
-}
-
-static char* _gl_text_get_title(void *data, Evas_Object *obj, const char *part)
-{
- char buf[PATH_MAX];
- int index = ((int) data / 5) % 5;
-
- if (strcmp(part, "elm.text") == 0) {
- snprintf(buf, sizeof(buf), "%s", group[index]);
- return strdup(buf);
- }
- return NULL;
-}
-
-static void _genlist_scroll_edge_top_cb(void *data, Evas_Object *obj, void *event_info)
-{
- elm_object_signal_emit(layout, "elm,state,show,searchbar,animation", "elm");
-}
-
-static void _create_genlist_group_title_style(void *data)
-{
- Evas_Object *genlist;
- struct appdata *ad = (struct appdata *) data;
-
- itc.item_style = "default";
- itc.func.text_get = _gl_text_get;
- itc.func.content_get = NULL;
- itc.func.state_get = _gl_state_get;
- itc.func.del = _gl_del;
-
- itc2.item_style = "groupindex";
- itc2.func.text_get = _gl_text_get_title;
-
- genlist = elm_genlist_add(ad->nf);
- elm_genlist_select_mode_set(genlist, ELM_OBJECT_SELECT_MODE_ALWAYS);
- evas_object_smart_callback_add(genlist, "scroll,edge,top", _genlist_scroll_edge_top_cb, NULL);
-
- search_gl = genlist;
-
- genlist_item_add();
-}
-
-static int _search(void *data)
-{
- Evas_Object *entry = data;
- const char* text;
-
- text = elm_object_text_get(entry);
-
- printf("\n[Search Bar] Changed Callback Called, Search Word : %s\n", text);
-
- if (text != NULL && strlen(text) > 0) {
- genlist_item_search(text);
- } else {
- int i;
- Elm_Object_Item* it = NULL;
- for (i = 0; i < elm_genlist_items_count(search_gl); i++) {
- it = elm_genlist_nth_item_get(search_gl, i);
- elm_genlist_item_hide_set(it, EINA_FALSE);
- }
- }
-
- return 0;
-}
-
-static void _changed_cb(void *data, Evas_Object *obj, void *event_info)
-{
- _search(obj);
-}
-
-static void _bg_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
- elm_object_focus_set(data, EINA_TRUE);
-}
-
-static void _create_searchbar(void *data)
-{
- Evas_Object *entry;
- Evas_Object *layout = data;
-
- searchbar_layout = elm_layout_add(layout);
- elm_layout_theme_set(searchbar_layout, "layout", "searchbar", "default");
- elm_object_part_content_set(layout, "searchbar", searchbar_layout);
-
- entry = ea_editfield_add(searchbar_layout, EA_EDITFIELD_SEARCHBAR);
- elm_object_domain_translatable_part_text_set(entry, "elm.guide", "sys_string", "IDS_COM_BODY_SEARCH");
- elm_object_part_content_set(searchbar_layout, "elm.swallow.content", entry);
-
- evas_object_smart_callback_add(entry, "changed", _changed_cb, NULL);
- elm_object_signal_callback_add(searchbar_layout, "elm,bg,clicked", "elm", _bg_clicked_cb, entry);
-
- elm_entry_input_panel_layout_set(entry, ELM_INPUT_PANEL_LAYOUT_NORMAL);
- evas_object_size_hint_weight_set(searchbar_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(searchbar_layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
-}
-
-void searchbar_normal_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad = (struct appdata *)data;
- if(ad == NULL) return;
-
- _create_genlist_group_title_style(ad);
-
- layout = elm_layout_add(ad->nf);
- elm_layout_theme_set(layout, "layout", "application", "searchbar_base");
- elm_object_signal_emit(layout, "elm,state,show,searchbar", "elm");
-
- _create_searchbar(layout);
-
- elm_object_part_content_set(layout, "elm.swallow.content", search_gl);
- elm_naviframe_item_push(ad->nf, _("SearchBar"), NULL, NULL, layout, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 _GNU_SOURCE
-
-#include "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "searchbar.h"
-
-/*********************************************************
- SearchBar VI
- ********************************************************/
-
-#define NUM_OF_ITEMS 50
-
-static Evas_Object *search_gl = NULL;
-static Elm_Object_Item *git = NULL;
-static Elm_Genlist_Item_Class itc, itc2;
-static Evas_Object *searchbar_layout, *layout;
-
-static char *names[] = { "Aaliyah", "Aamir", "Aaralyn", "Aaron", "Abagail",
- "Babitha", "Bahuratna", "Bandana", "Bulbul", "Cade", "Caldwell",
- "Chandan", "Caster", "Dagan ", "Daulat", "Dag", "Earl", "Ebenzer",
- "Ellison", "Elizabeth", "Filbert", "Fitzpatrick", "Florian", "Fulton",
- "Frazer", "Gabriel", "Gage", "Galen", "Garland", "Gauhar", "Hadden",
- "Hafiz", "Hakon", "Haleem", "Hank", "Hanuman", "Jabali ", "Jaimini",
- "Jayadev", "Jake", "Jayatsena", "Jonathan", "Kamaal", "Jeirk",
- "Jasper", "Jack", "Mac", "Macy", "Marlon", "Milson" };
-
-static char *group[5] = { N_("Family"), N_("Friends"), N_("Colleagues"), N_("Relatives"),
- N_("Classmates") };
-
-static void genlist_item_search(const char *search_word);
-static void genlist_clear(void);
-static void genlist_item_add();
-static char *_gl_text_get(void *data, Evas_Object *obj, const char *part);
-static Eina_Bool _gl_state_get(void *data, Evas_Object *obj, const char *part);
-static void _gl_del(void *data, Evas_Object *obj);
-static void _gl_sel(void *data, Evas_Object *obj, void *event_info);
-static char* _gl_text_get_title(void *data, Evas_Object *obj, const char *part);
-static void _create_genlist_group_title_style(void *data);
-
-static int _search(void *data);
-static void _changed_cb(void *data, Evas_Object *obj, void *event_info);
-static void _create_searchbar(void *data);
-
-static void genlist_item_search(const char *search_word)
-{
- int index;
- Elm_Object_Item *item_del = NULL;
-
- int flag = 0;
-
- for (index=0; index < NUM_OF_ITEMS; index++) {
- if (index % 5 == 0) {
- if (item_del && flag == 0) {
- elm_object_item_del(item_del);
- item_del = NULL;
- }
- git = elm_genlist_item_append(search_gl, &itc2, (void *) index, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- flag = 0;
- item_del = git;
- }
- else {
- if (strcasestr(names[index], search_word)) {
- elm_genlist_item_append(search_gl, &itc, (void *) index, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, NULL);
- flag = 1;
- }
- }
- if (index == (NUM_OF_ITEMS-1)) {
- if (item_del && flag == 0) {
- elm_object_item_del(item_del);
- item_del = NULL;
- }
- }
- }
-}
-
-static void genlist_clear(void)
-{
- if(search_gl == NULL) return;
- elm_genlist_clear(search_gl);
-}
-
-static void genlist_item_add()
-{
- int index;
-
- for (index=0; index < NUM_OF_ITEMS; index++) {
- if (index % 5 == 0) {
- git = elm_genlist_item_append(search_gl, &itc2, (void *) index, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- }
- else {
- elm_genlist_item_append(search_gl, &itc, (void *) index, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, NULL);
- }
- }
-}
-
-static char *_gl_text_get(void *data, Evas_Object *obj, const char *part)
-{
- char buf[256];
- int index = (int) data % NUM_OF_ITEMS;
-
- if (strcmp(part, "elm.text") == 0) {
- snprintf(buf, sizeof(buf), "%s", names[index]);
- return strdup(buf);
- }
- else {
- snprintf(buf, sizeof(buf), "%s", names[index]);
- return strdup(buf);
- }
- return NULL;
-}
-
-static Eina_Bool _gl_state_get(void *data, Evas_Object *obj, const char *part)
-{
- return EINA_FALSE;
-}
-
-static void _gl_del(void *data, Evas_Object *obj)
-{
- return;
-}
-
-static void _gl_sel(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *item = (Elm_Object_Item *)event_info;
- static Eina_Bool flag = EINA_FALSE;
- if (!flag) {
- elm_object_signal_emit(layout, "elm,state,hide,searchbar,animation", "elm");
- flag = EINA_TRUE;
- }
- else {
- elm_object_signal_emit(layout, "elm,state,show,searchbar,animation", "elm");
- flag = EINA_FALSE;
- }
- if (item!=NULL) {
- int index= (int)elm_object_item_data_get(item);
- fprintf(stdout, "selected text %s\n", names[index]);
- }
-}
-
-static char* _gl_text_get_title(void *data, Evas_Object *obj, const char *part)
-{
- char buf[PATH_MAX];
- int index = ((int) data / 5) % 5;
-
- if (strcmp(part, "elm.text") == 0) {
- snprintf(buf, sizeof(buf), "%s", group[index]);
- return strdup(buf);
- }
- return NULL;
-}
-
-static void _genlist_scroll_edge_top_cb(void *data, Evas_Object *obj, void *event_info)
-{
- elm_object_signal_emit(layout, "elm,state,show,searchbar,animation", "elm");
-}
-
-static void _create_genlist_group_title_style(void *data)
-{
- Evas_Object *genlist;
- struct appdata *ad = (struct appdata *) data;
-
- itc.item_style = "default";
- itc.func.text_get = _gl_text_get;
- itc.func.content_get = NULL;
- itc.func.state_get = _gl_state_get;
- itc.func.del = _gl_del;
-
- itc2.item_style = "groupindex";
- itc2.func.text_get = _gl_text_get_title;
-
- genlist = elm_genlist_add(ad->nf);
- elm_genlist_select_mode_set(genlist, ELM_OBJECT_SELECT_MODE_ALWAYS);
- evas_object_smart_callback_add(genlist, "scroll,edge,top", _genlist_scroll_edge_top_cb, NULL);
-
- search_gl = genlist;
-
- genlist_item_add();
-}
-
-static int _search(void *data)
-{
- Evas_Object *entry = data;
- const char* text;
-
- text = elm_object_text_get(entry);
-
- printf("\n[Search Bar] Changed Callback Called, Search Word : %s\n", text);
- genlist_clear();
-
- if (text != NULL && strlen(text) > 0)
- genlist_item_search(text);
- else
- genlist_item_add();
-
- return 0;
-}
-
-static void _changed_cb(void *data, Evas_Object *obj, void *event_info)
-{
- _search(obj);
-}
-
-static void _bg_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
- elm_object_focus_set(data, EINA_TRUE);
-}
-
-static void _create_searchbar(void *data)
-{
- Evas_Object *entry;
-
- searchbar_layout = elm_layout_add(layout);
- elm_layout_theme_set(searchbar_layout, "layout", "searchbar", "default");
- elm_object_part_content_set(layout, "searchbar", searchbar_layout);
-
- entry = ea_editfield_add(searchbar_layout, EA_EDITFIELD_SEARCHBAR);
- elm_object_domain_translatable_part_text_set(entry, "elm.guide", "sys_string", "IDS_COM_BODY_SEARCH");
- elm_object_part_content_set(searchbar_layout, "elm.swallow.content", entry);
-
- evas_object_smart_callback_add(entry, "changed", _changed_cb, NULL);
- elm_object_signal_callback_add(searchbar_layout, "elm,bg,clicked", "elm", _bg_clicked_cb, entry);
-
- elm_entry_input_panel_layout_set(entry, ELM_INPUT_PANEL_LAYOUT_NORMAL);
- evas_object_size_hint_weight_set(searchbar_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(searchbar_layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
-}
-
-static void _keypad_on_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *nf = (Evas_Object *)data;
- Elm_Object_Item *navi_it = elm_naviframe_top_item_get(nf);
- elm_naviframe_item_title_enabled_set(navi_it, EINA_FALSE, EINA_TRUE);
-}
-
-static void _keypad_off_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *nf = (Evas_Object *)data;
- Elm_Object_Item *navi_it = elm_naviframe_top_item_get(nf);
- elm_naviframe_item_title_enabled_set(navi_it, EINA_TRUE, EINA_TRUE);
-}
-
-static void _trans_finished_cb(void *data, Evas_Object *obj, void *event_info)
-{
- elm_object_tree_focus_allow_set(layout, EINA_TRUE);
- evas_object_smart_callback_del(obj, "transition,finished", _trans_finished_cb);
-}
-
-void searchbar_vi_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad = (struct appdata *)data;
- if(ad == NULL) return;
-
- _create_genlist_group_title_style(ad);
-
- layout = elm_layout_add(ad->nf);
- elm_layout_theme_set(layout, "layout", "application", "searchbar_base");
- elm_object_signal_emit(layout, "elm,state,show,searchbar", "elm");
-
- _create_searchbar(ad->nf);
-
- elm_object_part_content_set(layout, "elm.swallow.content", search_gl);
- elm_object_tree_focus_allow_set(layout, EINA_FALSE);
-
- evas_object_smart_callback_add(ad->conform, "virtualkeypad,state,on", _keypad_on_cb, ad->nf);
- evas_object_smart_callback_add(ad->conform, "virtualkeypad,state,off", _keypad_off_cb, ad->nf);
-
- elm_naviframe_item_push(ad->nf, _("SearchBar"), NULL, NULL, layout, NULL);
- evas_object_smart_callback_add(ad->nf, "transition,finished", _trans_finished_cb, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-
-/*********************************************************
-Segment Control
- ********************************************************/
-
-typedef struct _Layout_info Layout_info;
-struct _Layout_info
-{
- Evas_Object* btn1;
- Evas_Object* btn2;
- Evas_Object* btn3;
- Evas_Object* ctrlb_segment;
- Evas_Object* segment1;
- Evas_Object* segment2;
- Evas_Object* disabled_seg1;
- Evas_Object* segment4;
- Evas_Object* disabled_seg2;
-};
-
-static void
-_cb1(void* data, Evas_Object* obj, void* event_info)
-{
- Elm_Object_Item * it = NULL;
- Layout_info *info = data;
-
- int count = elm_segment_control_item_count_get(info->segment1);
- if (count > 1)
- {
- it = elm_segment_control_item_selected_get(info->segment1);
- if (it)
- elm_object_item_del(it);
- }
- count = elm_segment_control_item_count_get(info->segment2);
- if (count > 1)
- {
- it = elm_segment_control_item_selected_get(info->segment2);
- if (it)
- elm_object_item_del(it);
- }
- count = elm_segment_control_item_count_get(info->disabled_seg1);
- if (count > 1)
- {
- it = elm_segment_control_item_selected_get(info->disabled_seg1);
- if (it)
- elm_object_item_del(it);
- }
- count = elm_segment_control_item_count_get(info->segment4);
- if (count > 1)
- {
- it = elm_segment_control_item_selected_get(info->segment4);
- if (it)
- elm_object_item_del(it);
- }
- count = elm_segment_control_item_count_get(info->disabled_seg2);
- if (count > 1)
- {
- it = elm_segment_control_item_selected_get(info->disabled_seg2);
- if (it)
- elm_object_item_del(it);
- }
- count = elm_segment_control_item_count_get(info->ctrlb_segment);
- if (count > 1)
- {
- it = elm_segment_control_item_selected_get(info->ctrlb_segment);
- if (it)
- elm_object_item_del(it);
- }
- return;
-}
-
-static void
-_cb3(void* data, Evas_Object* obj, void* event_info)
-{
- Layout_info *info = data;
-
- int count = elm_segment_control_item_count_get(info->segment1);
- if (count < 7)
- {
- char buf[PATH_MAX];
- Evas_Object *ic;
-
- ic = elm_image_add(info->segment1);
- snprintf(buf, sizeof(buf), "%s/logo_small.png", ICON_DIR);
- elm_image_file_set(ic, buf, NULL);
- evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_BOTH, 1, 1);
-
- elm_segment_control_item_insert_at(info->segment1, ic, "ins", 1);
- }
- count = elm_segment_control_item_count_get(info->segment2);
- if (count < 7)
- elm_segment_control_item_insert_at(info->segment2, NULL, "ins", 1);
- count = elm_segment_control_item_count_get(info->disabled_seg1);
- if (count < 7)
- elm_segment_control_item_insert_at(info->disabled_seg1, NULL, "disabled ins", 1);
- count = elm_segment_control_item_count_get(info->segment4);
- if (count < 7)
- elm_segment_control_item_insert_at(info->segment4, NULL, "ins", 1);
- count = elm_segment_control_item_count_get(info->disabled_seg2);
- if (count < 7)
- elm_segment_control_item_insert_at(info->disabled_seg2, NULL, "disabled ins", 1);
- count = elm_segment_control_item_count_get(info->ctrlb_segment);
- if (count < 7)
- elm_segment_control_item_insert_at(info->ctrlb_segment, NULL, "ins", 1);
- return;
-}
-
-static void
-_cb2(void* data, Evas_Object* obj, void* event_info)
-{
- Elm_Object_Item * it = NULL;
- Layout_info *info = data;
-
- int count = elm_segment_control_item_count_get(info->segment1);
- if (count < 7)
- {
- char buf[PATH_MAX];
- Evas_Object *ic;
-
- ic = elm_image_add(info->segment1);
- snprintf(buf, sizeof(buf), "%s/logo_small.png", ICON_DIR);
- elm_image_file_set(ic, buf, NULL);
- evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_BOTH, 1, 1);
-
- elm_segment_control_item_add(info->segment1, ic, NULL);
- }
- count = elm_segment_control_item_count_get(info->segment2);
- if (count < 7)
- {
- it = elm_segment_control_item_add(info->segment2, NULL, "Add");
- elm_object_item_part_text_set(it, "elm.text.badge", "99");
- }
- count = elm_segment_control_item_count_get(info->disabled_seg1);
- if (count < 7)
- elm_segment_control_item_add(info->disabled_seg1, NULL, "disabled add");
- count = elm_segment_control_item_count_get(info->segment4);
- if (count < 7)
- {
- it = elm_segment_control_item_add(info->segment4, NULL, "Add");
- elm_object_item_part_text_set(it, "elm.text.badge", "999");
- }
- count = elm_segment_control_item_count_get(info->disabled_seg2);
- if (count < 7)
- elm_segment_control_item_add(info->disabled_seg2, NULL, "disabled add");
- count = elm_segment_control_item_count_get(info->ctrlb_segment);
- if (count < 7)
- elm_segment_control_item_add(info->ctrlb_segment, NULL, "add");
- return;
-}
-
-static Eina_Bool _pop_cb(void *data, Elm_Object_Item *it)
-{
- Layout_info *info = data;
- if (info)
- {
- free (info);
- info = NULL;
- }
-
- return EINA_TRUE;
-}
-
-static void _more_btn_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *navi_it = (Elm_Object_Item *) data;
- int oh_closed = (int) elm_object_item_data_get(navi_it);
-
- if (oh_closed)
- elm_object_item_signal_emit(navi_it, "elm,state,optionheader,open", "");
- else
- elm_object_item_signal_emit(navi_it, "elm,state,optionheader,close", "");
-
- elm_object_item_data_set(navi_it, (void *) !oh_closed);
-}
-
-void segmented_control_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *it[5];
- Evas_Object *ic[9];
- Evas_Object *in_layout;
- Evas_Object *toolbar;
- Elm_Object_Item *item[3];
- Evas_Object *scroller;
- Evas_Object *more_btn;
- Elm_Object_Item *navi_it;
- char buf[9][PATH_MAX];
- Layout_info *info;
-
- struct appdata *ad = (struct appdata *) data;
- if(ad == NULL) return;
-
- in_layout = elm_layout_add(ad->nf);
- elm_layout_file_set(in_layout, ELM_DEMO_EDJ, "elmdemo-test/segment");
- evas_object_size_hint_weight_set(in_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- info = calloc(1, sizeof(Layout_info));
- info->segment1 = elm_segment_control_add(in_layout);
- elm_object_style_set(info->segment1, "body_style");
- ic[0] = elm_image_add(info->segment1);
- snprintf(buf[0], sizeof(buf[0]), "%s/logo.png", ICON_DIR);
- elm_image_file_set(ic[0], buf[0], NULL);
- evas_object_size_hint_aspect_set(ic[0], EVAS_ASPECT_CONTROL_BOTH, 1, 1);
-
- ic[1] = elm_image_add(info->segment1);
- snprintf(buf[1], sizeof(buf[1]), "%s/logo_small.png", ICON_DIR);
- elm_image_file_set(ic[1], buf[1], NULL);
- evas_object_size_hint_aspect_set(ic[1], EVAS_ASPECT_CONTROL_BOTH, 1, 1);
-
- ic[2] = elm_image_add(info->segment1);
- snprintf(buf[2], sizeof(buf[2]), "%s/logo.png", ICON_DIR);
- elm_image_file_set(ic[2], buf[2], NULL);
- evas_object_size_hint_aspect_set(ic[2], EVAS_ASPECT_CONTROL_BOTH, 1, 1);
-
- ic[3] = elm_image_add(info->segment1);
- snprintf(buf[3], sizeof(buf[3]), "%s/logo_small.png", ICON_DIR);
- elm_image_file_set(ic[3], buf[3], NULL);
- evas_object_size_hint_aspect_set(ic[3], EVAS_ASPECT_CONTROL_BOTH, 1, 1);
-
- ic[4] = elm_image_add(info->segment1);
- snprintf(buf[4], sizeof(buf[4]), "%s/logo.png", ICON_DIR);
- elm_image_file_set(ic[4], buf[4], NULL);
- evas_object_size_hint_aspect_set(ic[4], EVAS_ASPECT_CONTROL_BOTH, 1, 1);
-
- it[0] = elm_segment_control_item_add(info->segment1, ic[0], "Text Is Ellipsizing");
- elm_object_item_part_text_set(it[0], "elm.text.badge", "9");
- it[1] = elm_segment_control_item_add(info->segment1, ic[1], NULL);
- elm_object_item_part_text_set(it[1], "elm.text.badge", "99");
- it[2] = elm_segment_control_item_add(info->segment1, ic[2], NULL);
- elm_object_item_part_text_set(it[2], "elm.text.badge", "999");
- it[3] = elm_segment_control_item_add(info->segment1, ic[3], "Message");
- elm_object_item_part_text_set(it[3], "elm.text.badge", "9");
- it[4] = elm_segment_control_item_add(info->segment1, ic[4], NULL);
- elm_object_item_part_text_set(it[4], "elm.text.badge", "99");
- elm_segment_control_item_selected_set(it[4], EINA_TRUE);
-
- info->segment2 = elm_segment_control_add(in_layout);
- elm_object_style_set(info->segment2, "multiline");
-
- ic[5] = elm_image_add(info->segment2);
- snprintf(buf[5], sizeof(buf[5]), "%s/logo_small.png", ICON_DIR);
- elm_image_file_set(ic[5], buf[5], NULL);
- evas_object_size_hint_aspect_set(ic[5], EVAS_ASPECT_CONTROL_BOTH, 1, 1);
-
- it[0] = elm_segment_control_item_add(info->segment2, NULL, "All");
- elm_object_item_part_text_set(it[0], "elm.text.badge", "9999");
- it[1] = elm_segment_control_item_add(info->segment2, NULL, "Text Is Ellipsizing");
- it[2] = elm_segment_control_item_add(info->segment2, ic[5], "Message");
- it[3] = elm_segment_control_item_add(info->segment2, NULL, "Segment Control");
- it[4] = elm_segment_control_item_add(info->segment2, NULL, "Phone");
- elm_object_item_part_text_set(it[4], "elm.text.badge", "99999");
- elm_segment_control_item_selected_set(it[2], EINA_TRUE);
-
- info->disabled_seg1 = elm_segment_control_add(in_layout);
- elm_object_style_set(info->disabled_seg1, "multiline");
-
- ic[6] = elm_image_add(info->disabled_seg1);
- snprintf(buf[6], sizeof(buf[6]), "%s/logo_small.png", ICON_DIR);
- elm_image_file_set(ic[6], buf[6], NULL);
- evas_object_size_hint_aspect_set(ic[6], EVAS_ASPECT_CONTROL_BOTH, 1, 1);
-
- it[0] = elm_segment_control_item_add(info->disabled_seg1, NULL, "Disabled");
- elm_object_item_part_text_set(it[0], "elm.text.badge", "99");
- it[1] = elm_segment_control_item_add(info->disabled_seg1, NULL, "DisabledEllipsizing");
- it[2] = elm_segment_control_item_add(info->disabled_seg1, NULL, "Disabled");
- it[3] = elm_segment_control_item_add(info->disabled_seg1, ic[6], "Disabled");
- elm_object_item_part_text_set(it[3], "elm.text.badge", "999");
- it[4] = elm_segment_control_item_add(info->disabled_seg1, NULL, "Disabled");
- elm_segment_control_item_selected_set(it[0], EINA_TRUE);
- elm_object_disabled_set(info->disabled_seg1, EINA_TRUE);
-
- info->segment4 = elm_segment_control_add(in_layout);
- elm_object_style_set(info->segment4, "title_multiline");
-
- ic[7] = elm_image_add(info->segment4);
- snprintf(buf[7], sizeof(buf[7]), "%s/logo_small.png", ICON_DIR);
- elm_image_file_set(ic[7], buf[7], NULL);
- evas_object_size_hint_aspect_set(ic[7], EVAS_ASPECT_CONTROL_BOTH, 1, 1);
-
- it[0] = elm_segment_control_item_add(info->segment4, NULL, "Text Is Ellipsizing");
- it[1] = elm_segment_control_item_add(info->segment4, NULL, "Call");
- elm_object_item_part_text_set(it[1], "elm.text.badge", "9");
- it[2] = elm_segment_control_item_add(info->segment4, NULL, "Segment Control");
- elm_object_item_part_text_set(it[2], "elm.text.badge", "999999");
- it[3] = elm_segment_control_item_add(info->segment4, ic[7], "Phone");
- elm_segment_control_item_selected_set(it[0], EINA_TRUE);
-
- info->disabled_seg2 = elm_segment_control_add(in_layout);
- elm_object_style_set(info->disabled_seg2, "multiline");
-
- ic[8] = elm_image_add(info->disabled_seg2);
- snprintf(buf[8], sizeof(buf[8]), "%s/logo_small.png", ICON_DIR);
- elm_image_file_set(ic[8], buf[8], NULL);
- evas_object_size_hint_aspect_set(ic[8], EVAS_ASPECT_CONTROL_BOTH, 1, 1);
-
- it[0] = elm_segment_control_item_add(info->disabled_seg2, ic[8], "Disabled");
- it[1] = elm_segment_control_item_add(info->disabled_seg2, NULL, "Disabled");
- elm_object_item_part_text_set(it[0], "elm.text.badge", "999");
- it[2] = elm_segment_control_item_add(info->disabled_seg2, NULL, "DisabledEllipsizing");
- it[3] = elm_segment_control_item_add(info->disabled_seg2, NULL, "Disabled");
- elm_segment_control_item_selected_set(it[2], EINA_TRUE);
- elm_object_disabled_set(info->disabled_seg2, EINA_TRUE);
-
- /* create toolbar */
- toolbar = elm_toolbar_add(ad->nf);
- elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_object_style_set(toolbar, "naviframe");
-
- info->ctrlb_segment = elm_segment_control_add(toolbar);
- it[0] = elm_segment_control_item_add(info->ctrlb_segment, NULL, "All");
- elm_object_item_part_text_set(it[0], "elm.text.badge", "9");
- it[1] = elm_segment_control_item_add(info->ctrlb_segment, NULL, "Call");
- elm_object_item_part_text_set(it[1], "elm.text.badge", "99");
- it[2] = elm_segment_control_item_add(info->ctrlb_segment, NULL, "Message");
- elm_object_item_part_text_set(it[2], "elm.text.badge", "999");
- it[3] = elm_segment_control_item_add(info->ctrlb_segment, NULL, "Phone");
- elm_object_item_part_text_set(it[3], "elm.text.badge", "9");
- it[4] = elm_segment_control_item_add(info->ctrlb_segment, NULL, "Last Call");
- elm_object_item_part_text_set(it[4], "elm.text.badge", "99");
- elm_segment_control_item_selected_set(it[4], EINA_TRUE);
-
- info->btn1 = elm_button_add(ad->nf);
- elm_object_text_set(info->btn1, "Del (Selected one)");
- evas_object_show(info->btn1);
-
- info->btn2 = elm_button_add(ad->nf);
- elm_object_text_set(info->btn2, "Add (till item count 7)");
- evas_object_show(info->btn2);
-
- info->btn3 = elm_button_add(ad->nf);
- elm_object_text_set(info->btn3, "Insert (till item count 7)");
- evas_object_show(info->btn3);
-
- evas_object_smart_callback_add(info->btn1, "clicked", _cb1, info);
- evas_object_smart_callback_add(info->btn2, "clicked", _cb2, info);
- evas_object_smart_callback_add(info->btn3, "clicked", _cb3, info);
-
- elm_object_part_content_set(in_layout, "segment1", info->segment1);
- elm_object_part_content_set(in_layout, "segment2", info->segment2);
- elm_object_part_content_set(in_layout, "disabled_seg1", info->disabled_seg1);
- elm_object_part_content_set(in_layout, "segment4", info->segment4);
- elm_object_part_content_set(in_layout, "disabled_seg2", info->disabled_seg2);
- elm_object_part_content_set(in_layout, "add", info->btn2);
- elm_object_part_content_set(in_layout, "del", info->btn1);
- elm_object_part_content_set(in_layout, "insert", info->btn3);
-
- scroller = elm_scroller_add(ad->nf);
- elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE);
- elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO);
- evas_object_show(scroller);
- elm_object_content_set(scroller, in_layout);
-
- item[0] = elm_toolbar_item_append(toolbar, NULL, NULL, NULL, NULL);
- elm_object_item_part_content_set(item[0], "object", info->ctrlb_segment);
- navi_it = elm_naviframe_item_push(ad->nf, _("SegmentControl"), NULL, NULL, scroller, NULL);
- elm_naviframe_item_pop_cb_set(navi_it, _pop_cb, info);
- elm_object_item_part_content_set(navi_it, "optionheader", toolbar);
-
- //More Button
- more_btn = elm_button_add(ad->nf);
- elm_object_style_set(more_btn, "naviframe/more/default");
- evas_object_smart_callback_add(more_btn, "clicked", _more_btn_cb, navi_it);
- elm_object_item_part_content_set(navi_it, "title_more_btn", more_btn);
- elm_object_item_data_set(navi_it, (void *) 0);
-
- return;
-}
-
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-
-#define ITEM_STYLE_NUM 2
-#define ITEM_COUNT 10
-
-static void _selection_info_cb(void *data, Evas_Object *obj, void *event_info);
-static void _selection_info_with_panes_cb(void *data, Evas_Object *obj, void *event_info);
-static void _selection_info_with_center_align_cb(void *data, Evas_Object *obj, void *event_info);
-static struct _menu_item menu_its[] = {
- { "SelectionInfo", _selection_info_cb },
- { "SelectionInfo with center align", _selection_info_with_center_align_cb },
- { "SelectionInfo with Panes", _selection_info_with_panes_cb },
- /* do not delete below */
- { NULL, NULL }
-};
-static char *styles[] = {
- "SelectionInfo",
- "SelectionInfa with center align",
- "SelectionInfo with Panes"
-};
-static char *countries[] = {
- "Argentina", "Australia", "Bangladesh", "Belgium", "Canada", "Chile",
- "Dominican Republic", "Egypt", "England", "Fiji"
-};
-
-typedef struct _SelInfo_Data SelInfo_Data;
-struct _SelInfo_Data {
- struct appdata* ad;
- Evas_Object *selectioninfo_popup;
- int checked_count;
-};
-
-static SelInfo_Data *seld;
-static Elm_Genlist_Item_Class itc;
-static Eina_Bool state_pointer[ITEM_COUNT] = {0};
-
-static void _create_selectioninfo(Evas_Object * data);
-
-static int _checked_count_get()
-{
- int i;
- int count = 0;
-
- for (i = 0 ; i < ITEM_COUNT ; i++)
- if (state_pointer[i])
- count++;
- return count;
-}
-
-static void _theme_set(Evas_Object * obj, Evas_Object *data)
-{
- char text[128];
- const char *style = evas_object_data_get(data, "style");
-
- /* Set the layout theme */
- seld->checked_count = _checked_count_get();
- if (!seld->checked_count) {
- evas_object_hide(seld->selectioninfo_popup);
- return;
- }
- elm_layout_theme_set(obj, "standard", "selectioninfo", style);
- evas_object_show(seld->selectioninfo_popup);
- snprintf(text, sizeof(text), "%d %s", seld->checked_count, _("File(s) Selected"));
- /* Set the text */
- elm_object_part_text_set(obj, "elm.text", text);
-}
-
-static void _create_selectioninfo(Evas_Object *data)
-{
- Evas_Object *selectioninfo_layout;
- if (!seld->selectioninfo_popup) {
- seld->selectioninfo_popup = elm_notify_add(data);
- elm_notify_align_set(seld->selectioninfo_popup, ELM_NOTIFY_ALIGN_FILL, 1.0);
- selectioninfo_layout = elm_layout_add(seld->selectioninfo_popup);
- elm_object_content_set(seld->selectioninfo_popup, selectioninfo_layout);
- }
-
- elm_notify_timeout_set(seld->selectioninfo_popup, 3.0);
- _theme_set(elm_object_content_get(seld->selectioninfo_popup), data);
-}
-
-static void _check_cb(void* data, Evas_Object *obj, void *event_info)
-{
- _create_selectioninfo(data);
-}
-
-static char* _gl_text_get (void *data, Evas_Object *obj, const char *part)
-{
- char buffer[PATH_MAX];
- int index = (int) data;
-
- if (strncmp("elm.text", part, strlen("elm.text")) == 0) {
- snprintf(buffer, sizeof(buffer), "%s", countries[index]);
- return strdup(buffer);
- }
- return NULL;
-}
-
-static Evas_Object *_gl_content_get (void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *check;
- int index = (int) data;
-
- check = elm_check_add(obj);
- elm_check_state_pointer_set(check, &state_pointer[index]);
- evas_object_smart_callback_add(check, "changed", _check_cb, obj);
- evas_object_show(check);
- return check;
-}
-
-static void _gl_sel(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *item = (Elm_Object_Item *) event_info;
-
- elm_genlist_item_selected_set(item, EINA_FALSE);
-}
-
-static void
-_unpress(void *data, Evas_Object *obj, void *event_info)
-{
- printf("unpress, size : %f\n", elm_panes_content_left_size_get(obj));
-}
-
-static Evas_Object *_create_genlist(const char *selectioninfo_style)
-{
- int i;
- Elm_Object_Item *item;
- Evas_Object *genlist;
-
- itc.item_style = "1text.1icon.2";
- itc.func.text_get = _gl_text_get;
- itc.func.content_get = _gl_content_get;
-
- genlist = elm_genlist_add(seld->ad->nf);
- elm_object_style_set(genlist, UNCLIPPED_CONTENT);
- evas_object_data_set(genlist, "style", selectioninfo_style);
-
- evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- for (i = 0; i < ITEM_COUNT; i++)
- item = elm_genlist_item_append(genlist, &itc, (void *) i,
- NULL,
- ELM_GENLIST_ITEM_NONE,
- _gl_sel,
- NULL);
- return genlist;
-}
-
-static Evas_Object *_create_panes()
-{
- int i;
- Evas_Object *panes, *genlist, *btn;
-
- panes = elm_panes_add(seld->ad->nf);
-
- /*
- * By default, pane's type is vertical.
- * Setting the expansion weight hints for the pane.
- */
- evas_object_size_hint_weight_set(panes, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(panes, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- evas_object_smart_callback_add(panes, "unpress", _unpress, panes);
-
- /* Creating a control to be set as one of the contents of the pane */
- btn = elm_button_add(panes);
- elm_object_text_set(btn, "Right");
- evas_object_size_hint_weight_set(btn, 1.0, 1.0);
- evas_object_size_hint_align_set(btn, -1.0, -1.0);
- /* Setting the relative size of the left view of the pane */
- elm_panes_content_left_size_set(panes, 1.0);
- /* Setting the left content of the pane */
- elm_object_part_content_set(panes, "right", btn);
-
- itc.item_style = "1text.1icon.2";
- itc.func.text_get = _gl_text_get;
- itc.func.content_get = _gl_content_get;
-
- genlist = elm_genlist_add(seld->ad->nf);
- elm_object_style_set(genlist, UNCLIPPED_CONTENT);
- evas_object_data_set(genlist, "style", "center_text");
-
- elm_object_part_content_set(panes, "left", genlist);
-
- evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- for (i = 0; i < ITEM_COUNT; i++)
- elm_genlist_item_append(genlist, &itc, (void *) i, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, NULL);
- return panes;
-}
-
-static Eina_Bool _back_btn_cb(void *data, Elm_Object_Item *it)
-{
- int i;
-
- for (i = 0; i < ITEM_COUNT; i++)
- state_pointer[i] = EINA_FALSE;
-
- if (seld->selectioninfo_popup)
- evas_object_del(seld->selectioninfo_popup);
- seld->selectioninfo_popup = NULL;
- return EINA_TRUE;
-}
-
-static Eina_Bool _pop_cb(void *data, Elm_Object_Item *it)
-{
- if (seld) {
- free(seld);
- seld = NULL;
- }
-
- return EINA_TRUE;
-}
-
-static void _selection_info_cb(void *data, Evas_Object *obj, void *event_info)
-{
- int index = (int) data;
- Elm_Object_Item *navi_it;
- Evas_Object *genlist;
-
- elm_list_item_selected_set((Elm_Object_Item *) event_info, EINA_FALSE);
- genlist = _create_genlist("default");
- navi_it = elm_naviframe_item_push(seld->ad->nf, styles[index] , NULL,
- NULL, genlist, NULL);
- elm_naviframe_item_pop_cb_set(navi_it, _back_btn_cb, NULL);
-}
-
-static void _selection_info_with_center_align_cb(void *data, Evas_Object *obj, void *event_info)
-{
- int index = (int) data;
- Elm_Object_Item *navi_it;
- Evas_Object *genlist;
-
- elm_list_item_selected_set((Elm_Object_Item *) event_info, EINA_FALSE);
- genlist = _create_genlist("center_text");
- navi_it = elm_naviframe_item_push(seld->ad->nf, styles[index] , NULL,
- NULL, genlist, NULL);
- elm_naviframe_item_pop_cb_set(navi_it, _back_btn_cb, NULL);
-}
-
-static void _selection_info_with_panes_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *panes;
- int index = (int) data;
- Elm_Object_Item *navi_it;
-
- elm_list_item_selected_set((Elm_Object_Item *) event_info, EINA_FALSE);
- panes = _create_panes();
- navi_it = elm_naviframe_item_push(seld->ad->nf, styles[index] , NULL,
- NULL, panes, NULL);
- elm_naviframe_item_pop_cb_set(navi_it, _back_btn_cb, NULL);
-}
-
-static Evas_Object *_create_list_menu(struct appdata *ad)
-{
- Evas_Object *list;
- int idx = 0;
-
- if (ad == NULL)
- return NULL;
- list = elm_list_add(ad->nf);
- elm_list_mode_set(list, ELM_LIST_COMPRESS);
- while (menu_its[idx].name != NULL) {
- elm_list_item_append(
- list,
- menu_its[idx].name,
- NULL,
- NULL,
- menu_its[idx].func,
- (void *) idx);
- ++idx;
- }
- elm_list_go(list);
- return list;
-}
-
-void selectioninfo_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *layout_inner;
- Elm_Object_Item *navi_it;
- struct appdata *ad = data;
- if (ad == NULL) return;
-
- seld = calloc(1, sizeof(SelInfo_Data));
- if (!seld) return;
- seld->ad = ad;
-
- layout_inner = _create_list_menu(ad);
- navi_it = elm_naviframe_item_push(ad->nf, _("Selection Info") , NULL, NULL, layout_inner, NULL);
- elm_naviframe_item_pop_cb_set(navi_it, _pop_cb, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_util.h"
-#include "elmdemo_test.h"
-
-#include "slider_default.h"
-#include "slider_volume.h"
-#include "slider_custom.h"
-
-static struct _menu_item menu_its[] = {
- { "Default Style", slider_default_cb },
- { "Volume Style", slider_volume_cb },
- { "Custom Style", slider_custom_cb},
- /* do not delete below */
- { NULL, NULL }
-};
-
-static void _list_click(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *it = (Elm_Object_Item *) elm_list_selected_item_get(obj);
-
- if (it == NULL) {
- fprintf(stderr, "list item is NULL\n");
- return;
- }
-
- elm_list_item_selected_set(it, EINA_FALSE);
-}
-
-
-static Evas_Object* _create_list_winset(struct appdata* ad)
-{
- Evas_Object *li;
-
- if (ad == NULL) return NULL;
-
- li = elm_list_add(ad->nf);
- elm_list_mode_set(li, ELM_LIST_COMPRESS);
- evas_object_smart_callback_add(li, "selected", _list_click, NULL);
-
- int idx = 0;
-
- while(menu_its[ idx ].name != NULL) {
- elm_list_item_append(
- li,
- menu_its[ idx ].name,
- NULL,
- NULL,
- menu_its[ idx ].func,
- ad);
- ++idx;
- }
- elm_list_go(li);
-
- return li;
-}
-
-
-void slider_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Evas_Object *list;
-
- ad = (struct appdata *) data;
- if (ad == NULL) return;
-
- list = _create_list_winset(ad);
- elm_naviframe_item_push(ad->nf, _("Slider"), NULL, NULL, list, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2013 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "slider_custom.h"
-
-/*********************************************************
- Custom Slider
- ********************************************************/
-
-#define SLIDER_POPUP_X 438
-#define SLIDER_POPUP_Y 96
-#define NUM_OF_ITEMS 6
-
-static char *slider_itemlist[] = {
- "Bubble Slider",
- "Bubble Slider with Indicator",
- "Wave Slider",
- NULL
-};
-
-static Eina_Bool _pop_cb(void *data, Elm_Object_Item *it)
-{
- elm_theme_extension_del(NULL, ELM_DEMO_EDJ);
- return EINA_TRUE;
-}
-
-static char *_gl_text_get(void *data, Evas_Object *obj, const char *part)
-{
- int index = ((int)(long)data) / 2;
- return strdup(slider_itemlist[index]);
-}
-
-static Evas_Object *_gl_content_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *slider;
- int index = ((int)(long)data);
-
- slider = elm_slider_add(obj);
-
- if (index == 1) {
- elm_slider_indicator_show_set(slider, EINA_FALSE);
- elm_object_style_set(slider, "bubble");
- } else if (index == 3) {
- elm_object_style_set(slider, "bubble_sent");
- } else if (index == 5) {
- elm_slider_indicator_show_set(slider, EINA_FALSE);
- elm_object_style_set(slider, "wave");
- }
- return slider;
-}
-
-static Evas_Object* _create_genlist(Evas_Object* parent)
-{;
- Evas_Object *genlist;
- Elm_Object_Item *gl_item = NULL;
- int index;
-
- genlist = elm_genlist_add(parent);
- Elm_Genlist_Item_Class *itc = elm_genlist_item_class_new();
- Elm_Genlist_Item_Class *itc2 = elm_genlist_item_class_new();
-
- itc->item_style = "dialogue/1text";
- itc->func.text_get = _gl_text_get;
-
- itc2->item_style = "dialogue/1icon";
- itc2->func.content_get = _gl_content_get;
-
- evas_object_show(genlist);
-
- for (index = 0; index < NUM_OF_ITEMS; index++) {
- if (index % 2 == 0) {
- gl_item = elm_genlist_item_append(genlist, itc, (void *) index, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_genlist_item_select_mode_set(gl_item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
- } else {
- gl_item = elm_genlist_item_append(genlist, itc2, (void *) index, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_genlist_item_select_mode_set(gl_item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
- }
- }
- elm_genlist_item_class_free(itc);
- elm_genlist_item_class_free(itc2);
-
- return genlist;
-}
-
-void slider_custom_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *genlist;
- struct appdata *ad = (struct appdata *) data;
- Elm_Object_Item *it;
- if (ad == NULL) return;
-
- elm_theme_extension_add(NULL, ELM_DEMO_EDJ);
-
- genlist = _create_genlist(ad->nf);
- it = elm_naviframe_item_push(ad->nf, _("Custom Style"), NULL, NULL, genlist, NULL);
- elm_naviframe_item_pop_cb_set(it, _pop_cb, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "slider.h"
-
-/*********************************************************
- Slider_Default
- ********************************************************/
-
-#define SLIDER_POPUP_X 438
-#define SLIDER_POPUP_Y 96
-#define NUM_OF_ITEMS 14
-
-static Elm_Genlist_Item_Class itc, itc2;
-
-static char *slider_itemlist[] = {
- "Slider Normal Style",
- "Text-Slider-Icon",
- "Icon-Slider-Icon",
- "Icon-Text-Slider-Text",
- "Text Slider Text",
- "Number Slider Number",
- "Slider for ebook",
- NULL
-};
-
-static Evas_Object *slider_popup;
-
-static void _slider_ebook_drag_start_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *slider = (Evas_Object*)data;
- char buf[50];
- Evas_Coord x, y, w, h;
- int pos_x, pos_y;
- double min, max;
-
- evas_object_geometry_get(slider, &x, &y, &w, &h);
- pos_x = x + (w / 2) - (int)(((double)SLIDER_POPUP_X * elm_config_scale_get()) / 2);
- pos_y = y - (int)((double)SLIDER_POPUP_Y * elm_config_scale_get());
- evas_object_move(slider_popup, pos_x, pos_y);
- elm_slider_min_max_get(slider, &min, &max);
- sprintf(buf, "%.0lf of %.0lf", elm_slider_value_get(slider), max);
- edje_object_part_text_set(_EDJ(slider_popup), "page", buf);
- evas_object_show(slider_popup);
-}
-
-static void _slider_ebook_change_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *slider = (Evas_Object*)data;
- char buf[50];
- Evas_Coord x, y, w, h;
- int pos_x, pos_y;
- double min, max;
-
- evas_object_geometry_get(slider, &x, &y, &w, &h);
- pos_x = x + (w / 2) - (int)(((double)SLIDER_POPUP_X * elm_config_scale_get()) / 2);
- pos_y = y - (int)((double)SLIDER_POPUP_Y * elm_config_scale_get());
- evas_object_move(slider_popup, pos_x, pos_y);
- elm_slider_min_max_get(slider, &min, &max);
- sprintf(buf, "%.0lf of %.0lf", elm_slider_value_get(slider), max);
- edje_object_part_text_set(_EDJ(slider_popup), "page", buf);
-}
-
-static void _slider_ebook_drag_stop_cb(void *data, Evas_Object *obj, void *event_info)
-{
- evas_object_hide(slider_popup);
-}
-
-static Eina_Bool _pop_cb(void *data, Elm_Object_Item *it)
-{
- evas_object_del(slider_popup);
- return EINA_TRUE;
-}
-
-static char *_gl_text_get(void *data, Evas_Object *obj, const char *part)
-{
- int index = ((int)(long)data) / 2;
- return strdup(slider_itemlist[index]);
-}
-
-static void _parse_negative_zero(char *str)
-{
- char *ptr, *str_temp;
-
- ptr = strstr(str, "-0");
- if (ptr) {
- str_temp = ptr++;
- while (*ptr++) {
- if (*ptr == '0' || *ptr == '.')
- continue;
- else if (*ptr >='1' && *ptr <='9')
- break;
- else {
- while (*str_temp) {
- *str_temp = *(str_temp+1);
- str_temp++;
- }
- break;
- }
- }
- }
-}
-
-static char* _indicator_format(double val)
-{
- char *indicator = malloc(sizeof(char) * 64);
- if (!indicator) return NULL;
- snprintf(indicator, 64, "%1.0f", val);
-
- // Check and remove -0 state
- _parse_negative_zero(indicator);
-
- return indicator;
-}
-
-static void _indicator_free(char *str)
-{
- free(str);
-}
-
-static double _step_size_calculate(Evas_Object *obj, double min, double max)
-{
- double step = 0.0;
- int steps = 0;
-
- steps = max - min;
- if (steps) step = (1.0 / steps);
- return step;
-}
-
-static Evas_Object *_gl_content_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *slider, *icon, *icon_end;
- int index = ((int)(long)data);
- double step;
-
- slider = elm_slider_add(obj);
- elm_slider_indicator_show_set(slider, EINA_TRUE);
- evas_object_size_hint_weight_set(slider, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(slider, EVAS_HINT_FILL, 0.5);
- elm_slider_indicator_format_set(slider, "%1.0f");
-
- if (index == 1) {
- elm_slider_indicator_format_function_set(slider, _indicator_format, _indicator_free);
- elm_object_style_set(slider, "center_point");
- elm_slider_min_max_set(slider, -5, 5);
- step = _step_size_calculate(slider, -5, 5);
- elm_slider_step_set(slider, step);
- elm_slider_value_set(slider, 0);
- } else if (index == 3) {
- elm_slider_min_max_set(slider, 0, 9);
- step = _step_size_calculate(slider, 0, 9);
- elm_slider_step_set(slider, step);
- elm_slider_value_set(slider, 7);
- icon = elm_image_add(obj);
- elm_image_file_set(icon, ICON_DIR"/00_slider_button_brightness_01.png", NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_object_content_set(slider,icon);
- icon_end = elm_image_add(obj);
- elm_image_file_set(icon_end, ICON_DIR"/00_slider_button_brightness_02.png", NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_object_part_content_set(slider, "end", icon_end);
- } else if (index == 5) {
- icon = elm_image_add(obj);
- elm_image_file_set(icon, ICON_DIR"/00_slider_button_volume_01.png", NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- icon_end = elm_image_add(obj);
- elm_image_file_set(icon_end, ICON_DIR"/00_slider_button_volume_02.png", NULL);
- evas_object_size_hint_aspect_set(icon_end, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_object_content_set(slider,icon);
- elm_object_part_content_set(slider, "end", icon_end);
- elm_slider_min_max_set(slider, 0, 9);
- step = _step_size_calculate(slider, 0, 9);
- elm_slider_step_set(slider, step);
- elm_slider_value_set(slider, 2);
- } else if (index == 7) {
- icon = elm_image_add(obj);
- elm_image_file_set(icon, ICON_DIR"/00_slider_button_volume_01.png", NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- icon_end = elm_image_add(obj);
- elm_image_file_set(icon_end, ICON_DIR"/00_slider_button_volume_02.png", NULL);
- evas_object_size_hint_aspect_set(icon_end, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_object_content_set(slider,icon);
- elm_object_text_set(slider, "Volume");
- elm_object_part_content_set(slider, "end", icon_end);
- elm_slider_min_max_set(slider, 0, 9);
- step = _step_size_calculate(slider, 0, 9);
- elm_slider_step_set(slider, step);
- elm_slider_value_set(slider, 5);
- } else if (index == 9) {
- elm_object_style_set(slider, "textstyle");
- elm_object_text_set(slider,"Minimum");
- elm_object_part_text_set(slider,"elm.text.end","Maximum");
- elm_slider_indicator_show_set(slider, EINA_TRUE);
- elm_slider_min_max_set(slider, 0, 9);
- step = _step_size_calculate(slider, 0, 9);
- elm_slider_step_set(slider, step);
- elm_slider_value_set(slider, 5);
- } else if (index == 11) {
- elm_object_style_set(slider, "numberstyle");
- elm_object_text_set(slider,"0");
- elm_object_part_text_set(slider,"elm.text.end","20");
- elm_slider_indicator_show_set(slider, EINA_TRUE);
- elm_slider_min_max_set(slider, 0, 20);
- step = _step_size_calculate(slider, 0, 20);
- elm_slider_step_set(slider, step);
- elm_slider_value_set(slider, 5);
- } else if (index == 13) {
- elm_slider_indicator_show_set(slider, EINA_FALSE);
- elm_layout_signal_emit(slider, "slider,center,point,show", "");
- elm_slider_min_max_set(slider, 1, 427);
- elm_object_style_set(slider, "ebook");
- evas_object_smart_callback_add(slider, "slider,drag,start", _slider_ebook_drag_start_cb, slider);
- evas_object_smart_callback_add(slider, "slider,drag,stop", _slider_ebook_drag_stop_cb, slider);
- evas_object_smart_callback_add(slider, "changed", _slider_ebook_change_cb, slider);
- }
-
- return slider;
-}
-
-static void _realized(void *data, Evas_Object *obj, void *ei)
-{
- Eina_List *items = NULL;
-
- if (!ei) return;
- Elm_Object_Item *item = ei;
-
- const Elm_Genlist_Item_Class *itc = elm_genlist_item_item_class_get(item);
- if (!strcmp(itc->item_style, "dialogue/1icon")) {
- /* unregister item itself */
- elm_object_item_access_unregister(item);
-
- /* convey highlight to its content */
- Evas_Object *content;
- content = elm_object_item_part_content_get(item, "elm.icon");
- items = eina_list_append(items, content);
- elm_object_item_access_order_set(item, items);
- }
-}
-
-static Evas_Object* _create_genlist(Evas_Object* parent)
-{;
- Evas_Object *genlist;
- Elm_Object_Item *gl_item = NULL;
- int index;
-
- genlist = elm_genlist_add(parent);
-
- itc.item_style = "dialogue/1text";
- itc.func.text_get = _gl_text_get;
- itc.func.content_get = NULL;
- itc.func.state_get = NULL;
- itc.func.del = NULL;
-
- itc2.item_style = "dialogue/1icon";
- itc2.func.text_get = NULL;
- itc2.func.content_get = _gl_content_get;
- itc2.func.state_get = NULL;
- itc2.func.del = NULL;
-
- evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, 0.0);
- evas_object_show(genlist);
-
- for (index = 0; index < NUM_OF_ITEMS; index++) {
- if (index % 2 == 0) {
- gl_item = elm_genlist_item_append(genlist, &itc, (void *) index, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_genlist_item_select_mode_set(gl_item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
- } else {
- gl_item = elm_genlist_item_append(genlist, &itc2, (void *) index, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_genlist_item_select_mode_set(gl_item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
- }
- }
-
- evas_object_smart_callback_add(genlist, "realized", _realized, NULL);
- return genlist;
-}
-
-void slider_default_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *genlist;
- struct appdata *ad = (struct appdata *) data;
- Elm_Object_Item *it;
- if (ad == NULL) return;
-
- genlist = _create_genlist(ad->nf);
- it = elm_naviframe_item_push(ad->nf, _("Default Style"), NULL, NULL, genlist, NULL);
- elm_naviframe_item_pop_cb_set(it, _pop_cb, NULL);
- // make a popup for showing the page change of ebook style slider
- slider_popup = elm_layout_add(ad->nf);
- elm_layout_file_set(slider_popup, ELM_DEMO_EDJ, "slider_popup");
- evas_object_resize(slider_popup,
- (int)((double)SLIDER_POPUP_X * elm_config_scale_get()),
- (int)((double)SLIDER_POPUP_Y * elm_config_scale_get()));
- edje_object_part_text_set(_EDJ(slider_popup), "title", _("Chapter 5. Here is my secret story"));
-}
-
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "slider_volume.h"
-
-/*********************************************************
- Slider_Volume
- ********************************************************/
-
-#define VOLUME_POPUP_X 330
-#define VOLUME_POPUP_Y 424
-
-typedef struct _Slider_Data Slider_Data;
-struct _Slider_Data
-{
- Evas_Object *parent;
- Evas_Object *layout;
- Evas_Object *button;
- Evas_Object *volume_hor;
- Evas_Object *volume_ver;
- Evas_Object *volume_popup;
- Evas_Object *icon;
- Ecore_Timer *del_timer;
-};
-
-// when time is over, volume popup is hidden
-static Eina_Bool _del_timer_cb(void *data)
-{
- Slider_Data *sd = (Slider_Data*)data;
-
- evas_object_hide(sd->volume_popup);
-
- if(sd->del_timer) {
- ecore_timer_del(sd->del_timer);
- sd->del_timer = NULL;
- }
- return ECORE_CALLBACK_CANCEL;
-}
-
-// when the back button of naviframe item is pushed, volume popup is deleted
-static Eina_Bool _pop_cb(void *data, Elm_Object_Item *it)
-{
- Slider_Data *sd = (Slider_Data*)data;
-
- if(sd->del_timer) {
- ecore_timer_del(sd->del_timer);
- sd->del_timer = NULL;
- }
- evas_object_del(sd->volume_popup);
-
- return EINA_TRUE;
-}
-
-// when the sound button is clicked, popup is shown
-static void _button_clicked_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Slider_Data *sd = (Slider_Data*)data;
- Evas_Coord x, y, w, h;
- int pos_x, pos_y;
-
- evas_object_geometry_get(sd->layout, &x, &y, &w, &h);
- pos_x = (x + w) / 2 - (int)(((double)VOLUME_POPUP_X * elm_config_scale_get()) / 2);
- pos_y = (y + h) / 2 - (int)(((double)VOLUME_POPUP_Y * elm_config_scale_get()) / 2);
- evas_object_move(sd->volume_popup, pos_x, pos_y);
- evas_object_show(sd->volume_popup);
-
- if(sd->del_timer) {
- ecore_timer_del(sd->del_timer);
- sd->del_timer = NULL;
- }
- sd->del_timer = ecore_timer_add(3, _del_timer_cb, sd);
-}
-
-// callback function for the value change of horizontal volume slider
-static void _volume_hor_change_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Slider_Data *sd = (Slider_Data*)data;
- double value;
- char buf[50];
-
- value = elm_slider_value_get(sd->volume_hor);
- if (value > 14) value = 14;
- sprintf(buf, "Volume : %.0lf", value);
- edje_object_part_text_set(_EDJ(sd->layout), "text", buf);
- elm_slider_value_set(sd->volume_ver, (int)value);
- if(sd->del_timer) {
- ecore_timer_del(sd->del_timer);
- sd->del_timer = NULL;
- }
- sd->del_timer = ecore_timer_add(3, _del_timer_cb, sd);
-}
-
-// callback function for the value change of vertical volume slider
-static void _volume_ver_change_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Slider_Data *sd = (Slider_Data*)data;
- double value;
- char buf[50];
-
- value = elm_slider_value_get(sd->volume_ver);
- if (value > 14) value = 14;
- sprintf(buf, "Volume : %.0lf", value);
- edje_object_part_text_set(_EDJ(sd->layout), "text", buf);
- elm_slider_value_set(sd->volume_hor, (int)value);
- if(sd->del_timer) {
- ecore_timer_del(sd->del_timer);
- sd->del_timer = NULL;
- }
- sd->del_timer = ecore_timer_add(3, _del_timer_cb, sd);
-}
-
-// when popup is shown, and rotation is occured.
-static int _rotate_volume_cb(enum appcore_rm rotmode, void* data)
-{
- Slider_Data *sd = (Slider_Data*)data;
- Evas_Coord x, y, w, h;
- int pos_x, pos_y;
-
- evas_object_geometry_get(sd->layout, &y, &x, &h, &w);
- pos_x = (x + w) / 2 - (int)(((double)VOLUME_POPUP_X * elm_config_scale_get()) / 2);
- pos_y = (y + h) / 2 - (int)(((double)VOLUME_POPUP_Y * elm_config_scale_get()) / 2);
- evas_object_move(sd->volume_popup, pos_x, pos_y);
-
- return 0;
-}
-static Slider_Data* _create_slider(Evas_Object* parent)
-{
- static Slider_Data sd ;
-
- sd.parent = parent;
-
- // make a base layout
- sd.layout = elm_layout_add(parent);
- elm_layout_file_set(sd.layout, ELM_DEMO_EDJ, "slider_volume_layout");
- edje_object_part_text_set(_EDJ(sd.layout), "text", _("Volume : 0"));
- evas_object_show(sd.layout);
-
- // make a icon for a sound button
- sd.icon = elm_image_add(parent);
- elm_image_file_set(sd.icon, ICON_DIR"/00_volume_icon.png", NULL);
- evas_object_size_hint_aspect_set(sd.icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(sd.icon, 1, 1);
-
- // make a sound button
- sd.button = elm_button_add(parent);
- elm_object_style_set(sd.button, "style1");
- elm_object_part_content_set(sd.layout, "volume_button", sd.button);
- elm_object_content_set(sd.button, sd.icon);
- evas_object_smart_callback_add(sd.button, "clicked",_button_clicked_cb, &sd);
-
- // make a layout for the volume popup
- sd.volume_popup = elm_layout_add(parent);
- elm_layout_file_set(sd.volume_popup, ELM_DEMO_EDJ, "slider_volume_popup");
- edje_object_part_text_set(_EDJ(sd.volume_popup), "title_text", _("Automatically disappears after 3 seconds"));
- evas_object_resize(sd.volume_popup,
- (int)((double)VOLUME_POPUP_X * elm_config_scale_get()),
- (int)((double)VOLUME_POPUP_Y * elm_config_scale_get()));
-
- // add a horizontal volume
- sd.volume_hor = elm_slider_add(parent);
- elm_object_style_set(sd.volume_hor, "volume");
- elm_slider_min_max_set(sd.volume_hor, 0, 15);
- evas_object_smart_callback_add(sd.volume_hor, "changed", _volume_hor_change_cb, &sd);
- elm_object_part_content_set(sd.volume_popup, "volume_hor", sd.volume_hor);
-
- // add a vertical volume
- sd.volume_ver = elm_slider_add(parent);
- elm_object_style_set(sd.volume_ver, "volume");
- elm_slider_inverted_set(sd.volume_ver, EINA_TRUE);
- elm_slider_horizontal_set(sd.volume_ver, EINA_FALSE);
- elm_slider_min_max_set(sd.volume_ver, 0, 15);
- evas_object_smart_callback_add(sd.volume_ver, "changed", _volume_ver_change_cb, &sd);
- elm_object_part_content_set(sd.volume_popup, "volume_ver", sd.volume_ver);
-
- set_rotate_cb_for_winset(_rotate_volume_cb, &sd);
-
- return &sd;
-}
-
-static Evas_Object* _create_layout(Evas_Object *parent)
-{
- Evas_Object *layout;
- layout = elm_layout_add(parent);
- elm_layout_theme_set(layout, "layout", "application", "default");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- return layout;
-}
-
-void slider_volume_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Slider_Data *sd;
- Evas_Object *layout;
- Elm_Object_Item *it;
- struct appdata *ad = (struct appdata *) data;
- if (ad == NULL) return;
-
- layout = _create_layout(ad->nf);
- sd = _create_slider(ad->nf);
- elm_object_part_content_set(layout, "elm.swallow.content", sd->layout);
- it = elm_naviframe_item_push(ad->nf, _("Volume Style"), NULL, NULL, layout, NULL);
- elm_naviframe_item_pop_cb_set(it, _pop_cb, sd);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "style_button.h"
-#define PKG_DATA_DIR "/usr/share/elementary"
-
-/*********************************************************
- Add Style
- ********************************************************/
-static Evas_Object *_create_scroller(Evas_Object * parent);
-
-static Evas_Object *_create_buttons(Evas_Object * parent);
-
-static Evas_Object *
-_create_buttons(Evas_Object * parent)
-{
- Evas_Object *default_button;
-
- Evas_Object *new_style_button;
-
- Evas_Object *new_style_button_2;
-
- Evas_Object *layout;
-
- Evas_Object *ic1, *ic2;
-
- layout = elm_layout_add(parent);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "elmdemo-test/style");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- ic1 = elm_image_add(layout);
- elm_image_file_set(ic1, ICON_DIR "/logo_small.png", NULL);
- elm_image_resizable_set(ic1, 1, 1);
-
- /* default style */
- default_button = elm_button_add(layout);
- elm_object_content_set(default_button, ic1);
- elm_object_text_set(default_button, _("default style"));
- elm_object_part_content_set(layout, "button1", default_button);
- elm_access_info_set(default_button, ELM_ACCESS_INFO, "The label is changed");
-
- ic2 = elm_image_add(layout);
- elm_image_file_set(ic2, ICON_DIR "/logo_small.png", NULL);
- elm_image_resizable_set(ic2, 1, 1);
-
- /* new style */
- elm_theme_extension_add(NULL, ELM_DEMO_EDJ);
-
- new_style_button = elm_button_add(layout);
- // set new style to the button object
- elm_object_style_set(new_style_button, "elm_demo_tizen/text_with_icon");
- elm_object_content_set(new_style_button, ic1);
- elm_object_text_set(new_style_button, _("new style new style new style"));
- elm_object_part_content_set(layout, "button2", new_style_button);
- elm_access_info_set(new_style_button, ELM_ACCESS_INFO, "The button has label new style");
-
- new_style_button_2 = elm_button_add(layout);
- elm_object_style_set(new_style_button_2, "elm_demo_tizen/anim_up_down");
- elm_object_content_set(new_style_button_2, ic2);
- elm_object_text_set(new_style_button_2, _("new style_2"));
- elm_object_part_content_set(layout, "button3", new_style_button_2);
- elm_access_info_set(new_style_button_2, ELM_ACCESS_INFO, "The button has label new style_2");
-
- return layout;
-}
-
-static Evas_Object *
-_create_scroller(Evas_Object * parent)
-{
- Evas_Object *scroller = elm_scroller_add(parent);
-
- elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE);
- elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO);
- evas_object_show(scroller);
-
- return scroller;
-}
-
-void
-style_button_cb(void *data, Evas_Object * obj, void *event_info)
-{
- Evas_Object *scroller, *layout_inner;
-
- struct appdata *ad = (struct appdata *)data;
-
- if (ad == NULL) return;
-
- scroller = _create_scroller(ad->nf);
- elm_naviframe_item_push(ad->nf, _("Custom Style"), NULL, NULL, scroller, NULL);
-
- layout_inner = _create_buttons(ad->nf);
- elm_object_content_set(scroller, layout_inner);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "genlist.h"
-#include "Ecore_X.h"
-
-/*********************************************************
- Genlist Styles
- ********************************************************/
-#define NUM_OF_GENLIST_STYLES 4
-#define NUM_OF_TIMES 50
-static Elm_Genlist_Item_Class itc, itc2, itc3;
-static char **genlist_demo_names = NULL;
-static char **genlist_demo_country_names = NULL;
-
-static void _create_genlist(void *data, Evas_Object *obj, void *event_info);
-static char *menu_its[] = {
- "1text",
- "1text.1icon",
- "1text.1icon.2",
- "1text.1icon.3",
- "1text.1icon.4",
- "1text.1icon.5",
- "1text.2icon",
- "1text.2icon.2",
- "1text.2icon.3",
- "1text.2icon.4",
- "1text.2icon.5",
- "1text.2icon.6",
- "1text.3icon",
- "1text.3icon.2",
- "1text.3icon.3",
- "2text",
- "2text.2",
- "2text.3",
- "2text.4",
- "2text.5",
- "2text.6",
- "2text.7",
- "2text.1icon",
- "2text.1icon.2",
- "2text.1icon.3",
- "2text.1icon.4",
- "2text.1icon.5",
- "2text.1icon.6",
- "2text.1icon.7",
- "2text.1icon.8",
- "2text.1icon.9",
- "2text.1icon.10",
- "2text.1icon.11",
- "2text.1icon.12",
- "2text.2icon",
- "2text.2icon.2",
- "2text.2icon.3",
- "2text.2icon.4",
- "2text.2icon.5",
- "2text.2icon.6",
- "2text.2icon.7",
- "2text.2icon.8",
- "2text.3icon",
- "2text.3icon.2",
- "2text.3icon.3",
- "3text",
- "3text.1icon",
- "3text.1icon.2",
- "3text.5icon",
-
- "dialogue/1text",
- "dialogue/1text.1icon",
- "dialogue/1text.1icon.2",
- "dialogue/1text.1icon.3",
- "dialogue/1text.2icon",
- "dialogue/1text.2icon.2",
- "dialogue/1text.3icon",
- "dialogue/1icon",
- "dialogue/2text",
- "dialogue/2text.2",
- "dialogue/2text.3",
- "dialogue/2text.1icon",
- "dialogue/2text.1icon.2",
- "dialogue/2text.1icon.3",
- "dialogue/2text.1icon.5",
- "dialogue/2text.2icon",
- "dialogue/2text.2icon.2",
- "dialogue/2text.2icon.3",
- "dialogue/2text.2icon.4",
-
- "contact/dialogue/bg/2text.2icon",
- "contact/dialogue/bg/3text.2icon",
- "contact/dialogue/1title.1text",
- "contact/dialogue/1title.1text.2",
- "contact/dialogue/1title.1text.1icon",
- "convertor/dialogue/2text.4",
- "email/dialogue/2text.3icon",
- "setting/dialogue/2text.1icon.4",
- "samsungapps/dialogue/bg/5text.2icon",
-
- "multiline/1title.1text",
- "multiline/2text",
- "multiline/2text.1icon",
- "multiline/2text.1icon.2",
- "multiline/3text.1icon",
- "multiline/3text.1icon.2",
- "multiline/3text.2icon",
- "multiline/3text.2icon.2",
-
- /* do not delete below */
- NULL
-};
-
-#define NUM_OF_PHOTO 9
-static char *photo_path[] = {
- "00_list_photo_default.png", "iu.jpg", "iu2.jpg", "koo.jpg", "top.jpg", "boa.jpg",
- "kimtaehee.jpg", "moon.jpg", "taeyon.jpg",
- NULL
-};
-static char *photo_path50[] = {
- "00_list_photo_default.png", "iu50.jpg", "iu2-50.jpg", "koo50.jpg", "top50.jpg", "boa50.jpg",
- "kimtaehee50.jpg", "moon50.jpg", "taeyon50.jpg",
- NULL
-};
-static char *photo_path75[] = {
- "00_list_photo_default.png", "iu75.jpg", "iu2-75.jpg", "koo75.jpg", "top75.jpg", "boa75.jpg",
- "kimtaehee75.jpg", "moon75.jpg", "taeyon75.jpg",
- NULL
-};
-static char *photo_path100[] = {
- "00_list_photo_default.png", "iu100.jpg", "iu2-100.jpg", "koo100.jpg", "top100.jpg", "boa100.jpg",
- "kimtaehee100.jpg", "moon100.jpg", "taeyon100.jpg",
- NULL
-};
-static char *photo_path133[] = {
- "00_list_photo_default.png", "iu133.jpg", "iu2-133.jpg", "koo133.jpg", "top133.jpg", "boa133.jpg",
- "kimtaehee133.jpg", "moon133.jpg", "taeyon133.jpg",
- NULL
-};
-
-#define NUM_OF_GROUPS 5
-static char *title[] = {
- N_("Family"), NULL, N_("Colleagues"), NULL, N_("Classmates")
-};
-
-static char *times[] = {"10:00 AM", "10:01 AM", "10:02 AM", "10:03 AM", "10:04 AM", "10:05 AM",
- "3:50 PM", "3:51 PM", "3:52 PM", "3:53 PM"};
-
-static char *messages[] = {"Good morning!",
- "It's you again. How do you do this?",
- "This is the princess who fell from the sky into my arms.",
- "Yes. We keep meeting like this. You just suddenly show up.",
- "We could make plans to meet.",
- "No, it's nicer this way. I hope we meet again suddenly.",
- "Don't you know that it takes so little to make me happy?",
- "Good morning, Princess!",
- "This is incredible. You owe me an explanation.",
- "No, you're the one who owes me an explanation. You've really got a crush on me. Where shall we go, Princess?"
-};
-
-static Evas_Object *progressbar[2];
-static Ecore_Timer *progressbar_timer[2];
-static double progressbar_period[2];
-
-static Eina_Bool _progressbar_timer_cb(void *data)
-{
- double value = 0.0;
- int prog_index = (int)data;
-
- value = elm_progressbar_value_get(progressbar[prog_index]);
- if (value == 1.0)
- value = 0.0;
- value = value + 0.015;
- elm_progressbar_value_set(progressbar[prog_index], value);
-
- return ECORE_CALLBACK_RENEW;
-}
-
-static void _unrealized_cb(void *data, Evas_Object *obj, void *event_info)
-{
- int index = (int)elm_object_item_data_get(event_info);
- if ((index == 1) || (index == 2)) {
- if (progressbar_timer[index - 1]) {
- ecore_timer_del(progressbar_timer[index - 1]);
- progressbar_timer[index - 1] = NULL;
- }
- }
-}
-
-static void _gl_selected(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *it = (Elm_Object_Item *) elm_list_selected_item_get(obj);
-
- if (it == NULL)
- {
- fprintf((LOG_PRI(LOG_ERR) == LOG_ERR?stderr:stdout), "List item is NULL.\n");
- return;
- }
-
- elm_list_item_selected_set(it, EINA_FALSE);
-}
-
-static char *_gl_text_get(void *data, Evas_Object *obj, const char *part)
-{
- int index = (int) data % NUM_OF_TIMES;
-
- if (!strcmp(part, "elm.text")) {
- return strdup(genlist_demo_names[index]);
- } else if (!strcmp(part, "elm.text.sub")) {
- return strdup(genlist_demo_country_names[index]);
- } else {
- return strdup(genlist_demo_names[index]);
- }
- return NULL;
-}
-
-static void _button_clicked_cb(void *data, Evas_Object *obj, void *event_info)
-{
- printf("Button Clicked : %d\n", (int)data);
-}
-
-// Codes for removing elm_editfield : START
-static void _changed_cb(void *data, Evas_Object *obj, void *event_info) // This callback is for showing(hiding) X marked button.
-{
- if (elm_object_focus_get(data)) {
- if (elm_entry_is_empty(obj))
- elm_object_signal_emit(data, "elm,state,eraser,hide", "elm");
- else
- elm_object_signal_emit(data, "elm,state,eraser,show", "elm");
- }
-}
-
-static void _focused_cb(void *data, Evas_Object *obj, void *event_info) // Focused callback will show X marked button and hide guidetext.
-{
- if (!elm_entry_is_empty(obj))
- elm_object_signal_emit(data, "elm,state,eraser,show", "elm");
- elm_object_signal_emit(data, "elm,state,guidetext,hide", "elm");
-}
-
-static void _unfocused_cb(void *data, Evas_Object *obj, void *event_info) // Unfocused callback will show guidetext and hide X marked button.
-{
- if (elm_entry_is_empty(obj))
- elm_object_signal_emit(data, "elm,state,guidetext,show", "elm");
- elm_object_signal_emit(data, "elm,state,eraser,hide", "elm");
-}
-
-static void _eraser_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source) // When X marked button clicked, make string as empty.
-{
- elm_entry_entry_set(data, "");
-}
-
-static Evas_Object *_singleline_editfield_add(Evas_Object *parent) // For single lined editfield without top title.
-{
- Evas_Object *layout, *entry;
-
- layout = elm_layout_add(parent);
- elm_layout_theme_set(layout, "layout", "editfield", "default"); // Default editfield layout style without top title.
-
- entry = elm_entry_add(parent);
- ea_entry_selection_back_event_allow_set(entry, EINA_TRUE);
- elm_entry_scrollable_set(entry, EINA_TRUE); // Make entry as scrollable single line.
- elm_entry_single_line_set(entry, EINA_TRUE);
- evas_object_smart_callback_add(entry, "changed", _changed_cb, layout);
- evas_object_smart_callback_add(entry, "focused", _focused_cb, layout);
- evas_object_smart_callback_add(entry, "unfocused", _unfocused_cb, layout);
-
- elm_object_part_content_set(layout, "elm.swallow.content", entry);
- elm_object_part_text_set(layout, "elm.guidetext", _("Text Input")); // Set guidetext.
- elm_object_signal_callback_add(layout, "elm,eraser,clicked", "elm", _eraser_clicked_cb, entry);
-
- return layout;
-}
-// Codes for removing elm_editfield : END
-
-static Evas_Object *_gl_content_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon;
- Evas_Object *edit_field = NULL;
- Evas_Object *btn = NULL;
- int index = (int)data;
- char buf[PATH_MAX];
-
- if (!strcmp(part, "elm.swallow.end")) {
- btn = elm_button_add(obj);
- elm_object_style_set(btn, "reveal");
- evas_object_smart_callback_add(btn, "clicked", _button_clicked_cb, (void *)index);
- return btn;
- } else if (!strcmp(part, "elm.photo") || !strcmp(part, "elm.thumbnail")) {
- sprintf(buf, ICON_DIR"/genlist/%s", photo_path[index % NUM_OF_PHOTO]);
- icon = elm_image_add(obj);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- return icon;
- } else if (!strcmp(part, "elm.swallow.icon") || !strncmp(part, "elm.icon", 8)) {
- icon = elm_image_add(obj);
- elm_image_file_set(icon, ICON_DIR"/genlist/00_brightness_right.png", NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- return icon;
- } else if (!strcmp(part, "elm.swallow.edit_field")) {
- edit_field = _singleline_editfield_add(obj);
- return edit_field;
- } else if (!strcmp(part, "elm.swallow.colorbar")) {
- icon = evas_object_rectangle_add(evas_object_evas_get(obj));
- evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, EVAS_HINT_FILL);
- if (index%3 == 0) evas_object_color_set(icon, 80, 107, 207, 255);
- else if (index%3 == 1) evas_object_color_set(icon, 72, 136, 42, 255);
- else if (index%3 == 2) evas_object_color_set(icon, 204, 52, 52, 255);
- return icon;
- } else if (!strcmp(part, "elm.swallow.progress")) {
- int prog_index = index - 1;
- if (prog_index == 0 || prog_index == 1) {
- if (progressbar_timer[prog_index]) {
- ecore_timer_del(progressbar_timer[prog_index]);
- progressbar_timer[prog_index] = NULL;
- progressbar[prog_index] = NULL;
- }
- progressbar[prog_index] = elm_progressbar_add(obj);
- elm_object_style_set(progressbar[prog_index], "list_progress");
- elm_progressbar_horizontal_set(progressbar[prog_index], EINA_TRUE);
- elm_progressbar_value_set(progressbar[prog_index], 0.0);
- elm_progressbar_unit_format_set(progressbar[prog_index], NULL);
- progressbar_timer[prog_index] = ecore_timer_add(progressbar_period[prog_index], _progressbar_timer_cb, (void *)prog_index);
- return progressbar[prog_index];
- }
- }
-
- return NULL;
-}
-
-static Evas_Object *_gl_icon2_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon;
-
- if (!strcmp(part, "elm.icon") || !strcmp(part, "elm.icon.1")) {
- icon = elm_check_add(obj);
- elm_check_state_set(icon, EINA_TRUE);
- elm_object_style_set(icon, "on&off");
- } else {
- icon = elm_image_add(obj);
- elm_image_file_set(icon, ICON_DIR"/genlist/00_brightness_right.png", NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- }
-
- return icon;
-}
-
-static Evas_Object *_gl_icon3_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon;
-
- if (!strcmp(part, "elm.icon.2")) {
- icon = elm_check_add(obj);
- elm_check_state_set(icon, EINA_TRUE);
- elm_object_style_set(icon, "on&off");
- } else {
- icon = elm_image_add(obj);
- elm_image_file_set(icon, ICON_DIR"/genlist/00_brightness_right.png", NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- }
-
- return icon;
-}
-
-static Evas_Object *_gl_icon_50x50_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *image;
- int index = (int)data;
- char buf[PATH_MAX];
-
- if (!strcmp(part, "elm.thumbnail")) {
- sprintf(buf, ICON_DIR"/genlist/%s", photo_path50[index % NUM_OF_PHOTO]);
- image = evas_object_image_add(evas_object_evas_get(obj));
- evas_object_image_load_size_set(image, 50, 50);
- evas_object_image_fill_set(image, 0, 0, 50, 50);
- evas_object_image_file_set(image, buf, NULL);
- return image;
- }
-
- return NULL;
-}
-
-static Evas_Object *_gl_icon_75x100_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *image;
- int index = (int)data;
- char buf[PATH_MAX];
-
- if (!strcmp(part, "elm.thumbnail")) {
- sprintf(buf, ICON_DIR"/genlist/%s", photo_path75[index % NUM_OF_PHOTO]);
- image = evas_object_image_add(evas_object_evas_get(obj));
- evas_object_image_load_size_set(image, 75, 100);
- evas_object_image_fill_set(image, 0, 0, 75, 100);
- evas_object_image_file_set(image, buf, NULL);
- return image;
- }
-
- return NULL;
-}
-
-static Evas_Object *_gl_icon_100x100_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *image;
- int index = (int)data;
- char buf[PATH_MAX];
-
- if (!strcmp(part, "elm.thumbnail")) {
- sprintf(buf, ICON_DIR"/genlist/%s", photo_path100[index % NUM_OF_PHOTO]);
- image = evas_object_image_add(evas_object_evas_get(obj));
- evas_object_image_load_size_set(image, 100, 100);
- evas_object_image_fill_set(image, 0, 0, 100, 100);
- evas_object_image_file_set(image, buf, NULL);
- return image;
- }
-
- return NULL;
-}
-
-static Evas_Object *_gl_icon_133x100_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *image;
- int index = (int)data;
- char buf[PATH_MAX];
-
- if (!strcmp(part, "elm.thumbnail")) {
- sprintf(buf, ICON_DIR"/genlist/%s", photo_path133[index % NUM_OF_PHOTO]);
- image = evas_object_image_add(evas_object_evas_get(obj));
- evas_object_image_load_size_set(image, 133, 100);
- evas_object_image_fill_set(image, 0, 0, 133, 100);
- evas_object_image_file_set(image, buf, NULL);
- return image;
- }
- return NULL;
-}
-
-static char* _gl_dlg_text_get_title(void *data, Evas_Object *obj, const char *part)
-{
- int index = ((int) data / 5) % NUM_OF_GROUPS;
- return strdup(title[index]);
-}
-
-static Evas_Object *_gl_dlg_content_get_title(void *data, Evas_Object *obj, const char *part)
-{
- int index = (int) data;
- if (!strcmp(part, "elm.icon") && index == 0) {
- progressbar[0] = elm_progressbar_add(obj);
- elm_object_style_set(progressbar[0], "list_process_small");
- elm_progressbar_horizontal_set(progressbar[0], EINA_TRUE);
- elm_progressbar_pulse(progressbar[0], EINA_TRUE);
- return progressbar[0];
- }
- return NULL;
-}
-
-static Evas_Object *_gl_dlg_content_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon;
-
- if (!strcmp(part, "elm.icon") || !strcmp(part, "elm.icon.1") || !strcmp(part, "elm.icon.2") || !strcmp(part, "elm.icon.3")) {
- icon = elm_image_add(obj);
- elm_image_file_set(icon, ICON_DIR"/genlist/00_brightness_right.png", NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- return icon;
- }
- return NULL;
-}
-
-static Evas_Object *_gl_dlg_icon2_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon;
- int index = ((int) data / 5) % NUM_OF_GROUPS;
-
- if (!strcmp(part, "elm.icon") || !strcmp(part, "elm.icon.2")) {
- if ((index % 2) == 1) {
- icon = elm_check_add(obj);
- elm_check_state_set(icon, EINA_TRUE);
- elm_object_style_set(icon, "on&off");
- } else {
- icon = elm_image_add(obj);
- elm_image_file_set(icon, ICON_DIR"/genlist/00_brightness_right.png", NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- }
- return icon;
- } else if (!strcmp(part, "elm.icon.1")) {
- icon = elm_image_add(obj);
- elm_image_file_set(icon, ICON_DIR"/genlist/00_brightness_right.png", NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- return icon;
- }
- return NULL;
-}
-
-static Evas_Object *_gl_dlg_icon3_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon;
- int index = ((int) data / 5) % NUM_OF_GROUPS;
-
- if (!strcmp(part, "elm.icon.2")) {
- if ((index % 2) == 1) {
- icon = elm_button_add(obj);
- elm_object_style_set(icon, "reveal");
- } else {
- icon = elm_image_add(obj);
- elm_image_file_set(icon, ICON_DIR"/genlist/00_brightness_right.png", NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- }
- return icon;
- }
- else if (!strcmp(part, "elm.icon.3")) {
- if ((index % 2) == 1) {
- icon = elm_image_add(obj);
- elm_image_file_set(icon, ICON_DIR"/genlist/00_brightness_right.png", NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- } else {
- icon = elm_button_add(obj);
- elm_object_style_set(icon, "reveal");
- }
- return icon;
- } else if (!strcmp(part, "elm.icon.1")) {
- icon = elm_image_add(obj);
- elm_image_file_set(icon, ICON_DIR"/genlist/00_brightness_right.png", NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- return icon;
- }
- return NULL;
-}
-
-static Evas_Object *_gl_dlg_icon4_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon, *icon2;
- int index = (int)data % 5;
-
- if (!strcmp(part, "elm.icon")) {
- if (index == 1) {
- icon = elm_slider_add(obj);
- elm_slider_indicator_show_set(icon, EINA_TRUE);
- elm_slider_min_max_set(icon, 0, 9);
- elm_slider_indicator_format_set(icon, "%1.0f");
- elm_slider_value_set(icon, 7);
-
- icon2 = elm_image_add(obj);
- elm_image_file_set(icon2, ICON_DIR"/00_slider_btn_volume01.png", NULL);
- evas_object_size_hint_aspect_set(icon2, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_object_content_set(icon, icon2);
-
- icon2 = elm_image_add(obj);
- elm_image_file_set(icon2, ICON_DIR"/00_slider_btn_volume02.png", NULL);
- evas_object_size_hint_aspect_set(icon2, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_object_part_content_set(icon, "end", icon2);
-
- return icon;
- } else if (index == 2) {
- icon = elm_image_add(obj);
- elm_image_file_set(icon, ICON_DIR"/genlist/00_brightness_right.png", NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- return icon;
- } else if (index == 3) {
- icon = elm_image_add(obj);
- elm_image_file_set(icon, ICON_DIR"/genlist/00_list_photo_default.png", NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- return icon;
- } else if (index == 4) {
- icon = elm_image_add(obj);
- elm_image_file_set(icon, ICON_DIR"/genlist/main.png", NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- return icon;
- }
- }
- return NULL;
-}
-
-static Eina_Bool _gl_state_get(void *data, Evas_Object *obj, const char *part)
-{
- return EINA_FALSE;
-}
-
-static void _gl_del(void *data, Evas_Object *obj)
-{
- return;
-}
-
-static void _gl_sel(void *data, Evas_Object *obj, void *event_info)
-{
- int index;
- Elm_Object_Item *item = (Elm_Object_Item *)event_info;
-
- if (item != NULL) {
- elm_genlist_item_selected_set(item, EINA_FALSE);
- index = (int)elm_object_item_data_get(item);
- printf("[Genlist] Selected Text : %s\n", genlist_demo_names[index]);
- }
-}
-
-static char *_gl_mtl_label2_get(void *data, Evas_Object *obj, const char *part)
-{
- int index = ((int)data) % NUM_OF_GENLIST_DEMO_NAMES;
-
- return strdup(genlist_demo_names[index]);
-}
-
-static char* _gl_mtl_text_get(void *data, Evas_Object *obj, const char *part)
-{
- int index = (int)data;
-
- if (!strcmp(part, "elm.text.1") || !strcmp(part, "elm.title") ) {
- return strdup(times[index % EINA_C_ARRAY_LENGTH(times)]);
- } else {
- return strdup(messages[index % EINA_C_ARRAY_LENGTH(messages)]);
- }
- return NULL;
-}
-
-static Evas_Object *_gl_mtl_content_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon;
-
- icon = elm_image_add(obj);
- elm_image_file_set(icon, ICON_DIR"/genlist/00_brightness_right.png", NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- return icon;
-}
-
-static char *_gl_app_text_get(void *data, Evas_Object *obj, const char *part)
-{
- int index = ((int)data);
- return strdup(genlist_demo_names[index]);
-}
-
-static char *_gl_app_label2_get(void *data, Evas_Object *obj, const char *part)
-{
- int index = (int)data;
- if (!strcmp(part, "elm.text.1") || !strcmp(part, "elm.title") ) {
- return strdup(times[index]);
- } else {
- return strdup(messages[index]);
- }
- return NULL;
-}
-
-static char* _gl_app_text_get_title(void *data, Evas_Object *obj,
- const char *part)
-{
- int index = ((int)data / 5);
- return strdup(title[index]);
-}
-
-static Evas_Object *_gl_app_content_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon;
-
- if (!strcmp(part, "elm.icon.1")) {
- icon = elm_image_add(obj);
- elm_image_file_set(icon, ICON_DIR"/genlist/00_list_photo_default.png", NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- return icon;
- } else {
- icon = elm_image_add(obj);
- elm_image_file_set(icon, ICON_DIR"/genlist/00_brightness_right.png", NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- return icon;
- }
- return NULL;
-}
-
-static Evas_Object *_gl_app_icon2_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *box, *rect;
-
- if (!strcmp(part, "elm.icon")) {
- box = elm_box_add(obj);
- elm_box_horizontal_set(box, EINA_TRUE);
-
- rect = evas_object_rectangle_add(evas_object_evas_get(obj));
- evas_object_color_set(rect, 204, 52, 52, 255);
- evas_object_size_hint_min_set(rect, 200, 10);
- elm_box_pack_end(box, rect);
- evas_object_show(rect);
-
- rect = evas_object_rectangle_add(evas_object_evas_get(obj));
- evas_object_color_set(rect, 72, 136, 42, 255);
- evas_object_size_hint_min_set(rect, 150, 10);
- elm_box_pack_end(box, rect);
- evas_object_show(rect);
-
- rect = evas_object_rectangle_add(evas_object_evas_get(obj));
- evas_object_color_set(rect, 80, 107, 207, 255);
- evas_object_size_hint_min_set(rect, 100, 10);
- elm_box_pack_end(box, rect);
- evas_object_show(rect);
-
- return box;
- }
- return NULL;
-}
-
-static Evas_Object *_gl_app_icon4_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *icon;
- int index = ((int) data / 5) % NUM_OF_GROUPS;
-
- if (!strcmp(part, "elm.icon.1") || !strcmp(part, "elm.icon.2")) {
- icon = elm_image_add(obj);
- elm_image_file_set(icon, ICON_DIR"/genlist/00_brightness_right.png", NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- return icon;
- } else if (!strcmp(part, "elm.swallow.colorbar")) {
- icon = evas_object_rectangle_add(evas_object_evas_get(obj));
- evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, EVAS_HINT_FILL);
- if (index%3 == 0) evas_object_color_set(icon, 80, 107, 207, 255);
- else if (index%3 == 1) evas_object_color_set(icon, 72, 136, 42, 255);
- else if (index%3 == 2) evas_object_color_set(icon, 204, 52, 52, 255);
- return icon;
- }
- return NULL;
-}
-
-static Evas_Object* _create_app_genlist(const char *style, void *data)
-{
- int index = 0;
- struct appdata *ad = data;
- Elm_Object_Item *item = NULL;
- Evas_Object *genlist;
- Eina_Bool dlg_bg = EINA_FALSE;
-
- if (!strstr(style, "/bg/"))
- dlg_bg = EINA_TRUE;
-
- // Create genlist
- genlist = elm_genlist_add(ad->nf);
-
- if (!strcmp(style, "dialogue/1title.1text.2")) {
- elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
-
- itc.func.text_get = _gl_app_label2_get;
- itc.func.content_get = NULL;
- itc.func.state_get = NULL;
- itc.func.del = NULL;
- }
-
- // Set item class for dialogue separator
- itc2.item_style = "dialogue/seperator";
- itc2.func.text_get = NULL;
- itc2.func.content_get = NULL;
- itc2.func.state_get = NULL;
- itc2.func.del = NULL;
-
- // Set item class for dialogue title
- itc3.item_style = "dialogue/grouptitle";
- itc3.func.text_get = _gl_app_text_get_title;
- itc3.func.content_get = NULL;
- itc3.func.state_get = NULL;
- itc3.func.del = NULL;
-
- if (!strcmp(style, "dialogue/1title.1text.2")) {
- for (index = 0; index < 2; index++) {
- if (index % 5 == 0) {
- if (title[index/5%NUM_OF_GROUPS])
- item = elm_genlist_item_append(genlist, &itc3, (void *) index, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, NULL);
- else
- item = elm_genlist_item_append(genlist, &itc2, NULL, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, NULL);
- elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
- } else {
- elm_genlist_item_append(genlist, &itc, (void *) index, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, NULL);
- break;
- }
- }
- } else {
- for (index = 0; index < 2; index++) {
- if (index % 5 == 0 && !dlg_bg) {
- if (title[index/5%NUM_OF_GROUPS])
- item = elm_genlist_item_append(genlist, &itc3, (void *) index, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, NULL);
- else
- item = elm_genlist_item_append(genlist, &itc2, NULL, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, NULL);
- elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
- } else {
- elm_genlist_item_append(genlist, &itc, (void *) index, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, NULL);
- break;
- }
- }
- }
-
- //elm_object_style_set(ad->bg, "group_list");
- return genlist;
-}
-
-static void _listing_style(void *data, void *stylename)
-{
- int index = 0;
- Elm_Object_Item *item = NULL;
- Evas_Object *genlist = NULL;
- const char *style = (const char*)stylename;
- struct appdata *ad = (struct appdata *)data;
-
- if (style[0] >= '0' && style[0] <= '9') {
- // Create genlist
- genlist = elm_genlist_add(ad->nf);
- evas_object_smart_callback_add(genlist, "unrealized", _unrealized_cb, NULL);
-
- // Set genlist block size.
- // Optimize your application with appropriate genlist block size.
- elm_genlist_block_count_set(genlist, 14);
-
- // Set genlist item class
- itc.item_style = style;
- itc.func.text_get = _gl_text_get;
- itc.func.content_get = _gl_content_get;
- itc.func.state_get = _gl_state_get;
- itc.func.del = _gl_del;
-
- // Init Private Data
- progressbar[0] = NULL;
- progressbar_timer[0] = NULL;
- progressbar_period[0] = 0.1;
- progressbar[1] = NULL;
- progressbar_timer[1] = NULL;
- progressbar_period[1] = 0.05;
-
- if (!strcmp(style, "1text.1icon")) {
- itc.func.content_get = _gl_icon2_get;
- } else if (!strcmp(style, "1text.2icon")) {
- itc.func.content_get = _gl_icon3_get;
- }
-
- // Set content_get callback for some styles
- if (!strcmp(style, "2line_thumbnail_50x50")) {
- itc.func.content_get = _gl_icon_50x50_get;
- } else if (!strcmp(style, "2line_thumbnail_75x100")) {
- itc.func.content_get = _gl_icon_75x100_get;
- } else if (!strcmp(style, "2line_thumbnail_100x100")) {
- itc.func.content_get = _gl_icon_100x100_get;
- } else if (!strcmp(style, "2line_thumbnail_133x100")) {
- itc.func.content_get = _gl_icon_133x100_get;
- }
-
- // Append items
- for (index = 0; index < 1; index++) {
- item = elm_genlist_item_append(
- genlist, // genlist object
- &itc, // item class
- (void *) index, // data
- NULL,
- ELM_GENLIST_ITEM_NONE,
- _gl_sel,
- NULL
- );
- }
- } else if (!strncmp(style, "dialogue/", 9)) {
- // Create genlist
- genlist = elm_genlist_add(ad->nf);
- evas_object_smart_callback_add(genlist, "unrealized", _unrealized_cb, NULL);
-
- // Set genlist block size.
- // Optimize your application with appropriate genlist block size.
- elm_genlist_block_count_set(genlist, 14);
-
- // Set item class for dialogue normal items
- itc.item_style = style;
- itc.func.text_get = _gl_text_get;
- itc.func.content_get = _gl_dlg_content_get;
- itc.func.state_get = NULL;
- itc.func.del = NULL;
-
- if (!strcmp(style, "dialogue/1text.1icon") || !strcmp(style, "dialogue/1text.2icon"))
- itc.func.content_get = _gl_dlg_icon2_get;
- else if (!strcmp(style, "dialogue/1text.2icon.2") || !strcmp(style, "dialogue/1text.3icon"))
- itc.func.content_get = _gl_dlg_icon3_get;
- else if (!strcmp(style, "dialogue/1icon"))
- itc.func.content_get = _gl_dlg_icon4_get;
-
- // Set item class for dialogue seperator
- itc2.item_style = "dialogue/seperator";
- itc2.func.text_get = NULL;
- itc2.func.content_get = NULL;
- itc2.func.state_get = NULL;
- itc2.func.del = NULL;
-
- // Set item class for dialogue title
- itc3.item_style = "dialogue/grouptitle";
- itc3.func.text_get = _gl_dlg_text_get_title;
- itc3.func.content_get = _gl_dlg_content_get_title;
- itc3.func.state_get = NULL;
- itc3.func.del = NULL;
-
- for (index = 0; index < 2; index++) {
- if (index % 5 == 0) { //title
- if (title[index/5%NUM_OF_GROUPS])
- elm_genlist_item_append(genlist, &itc3, (void *) index, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, NULL);
- else
- elm_genlist_item_append(genlist, &itc2, NULL, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, NULL);
- elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-
- } else { //item
- elm_genlist_item_append(genlist, &itc, (void *) index, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, NULL);
- }
- }
- } else if (!strncmp(style, "multiline/1", 11) || !strncmp(style, "multiline/2", 11)) {
- // Create genlist
- genlist = elm_genlist_add(ad->nf);
- evas_object_smart_callback_add(genlist, "unrealized", _unrealized_cb, NULL);
-
- // Set genlist block size.
- // Optimize your application with appropriate genlist block size.
- elm_genlist_block_count_set(genlist, 14);
-
- // To use multiline textblock/entry/editfield in genlist, set height_for_width mode
- // then the item's height is calculated while the item's width fits to genlist width.
- elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
-
- // Set multiline item class
- itc.item_style = style;
- itc.func.text_get = _gl_mtl_text_get;
- itc.func.content_get = _gl_mtl_content_get;
- itc.func.state_get = NULL;
- itc.func.del = NULL;
-
- elm_genlist_item_append(genlist, &itc, (void *) index, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, NULL);
- } else if (!strncmp(style, "multiline/3", 11)) {
- // Create genlist
- genlist = elm_genlist_add(ad->nf);
- evas_object_smart_callback_add(genlist, "unrealized", _unrealized_cb, NULL);
-
- // Set genlist block size.
- // Optimize your application with appropriate genlist block size.
- elm_genlist_block_count_set(genlist, 14);
-
- // Set multiline item class
- itc.item_style = style;
- itc.func.text_get = _gl_mtl_label2_get;
- itc.func.content_get = _gl_mtl_content_get;
- itc.func.state_get = NULL;
- itc.func.del = NULL;
-
- // Append items
- for (index = 0; index < 1; index++) {
- elm_genlist_item_append(genlist, &itc, (void *) index, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, NULL);
- }
- } else if (!strncmp(style, "contact/", 8)) {
- // Set item class for dialogue normal items
- itc.item_style = style+8;
- itc.func.text_get = _gl_app_text_get;
- itc.func.content_get = _gl_app_content_get;
- itc.func.state_get = NULL;
- itc.func.del = NULL;
-
- genlist = _create_app_genlist(style+8, ad);
- } else if (!strncmp(style, "convertor/", 10)) {
- itc.item_style = style+10;
- itc.func.text_get = _gl_app_text_get;
- itc.func.content_get = NULL;
- itc.func.state_get = NULL;
- itc.func.del = NULL;
-
- genlist = _create_app_genlist(style+10, ad);
- } else if (!strncmp(style, "email/", 6)) {
- itc.item_style = style+6;
- itc.func.text_get = _gl_app_text_get;
- itc.func.content_get = _gl_app_icon4_get;
- itc.func.state_get = NULL;
- itc.func.del = NULL;
-
- genlist = _create_app_genlist(style+6, ad);
- } else if (!strncmp(style, "setting/", 8)) {
- // Set item class for dialogue normal items
- itc.item_style = style+8;
- itc.func.text_get = _gl_app_text_get;
- itc.func.content_get = _gl_app_icon2_get;
- itc.func.state_get = NULL;
- itc.func.del = NULL;
-
- genlist = _create_app_genlist(style+8, ad);
- } else if (!strncmp(style, "samsungapps/", 12)) {
- itc.item_style = style+12;
- itc.func.text_get = _gl_app_text_get;
- itc.func.content_get = _gl_app_content_get;
- itc.func.state_get = NULL;
- itc.func.del = NULL;
-
- genlist = _create_app_genlist(style+12, ad);
- }
-
- elm_naviframe_item_push(ad->nf, _(style), NULL, NULL, genlist, NULL);
-}
-
-static void _do_save(void *data, int n)
-{
- struct appdata *ad = (struct appdata *)data;
- Evas *e;
- Evas_Object *output;
- int w, h, i;
- int sx, sy;
- char file[256];
- Ecore_X_Image *img;
- Ecore_X_Window_Attributes att;
- int bpl = 0, rows = 0, bpp = 0;
- unsigned char *src;
-
-/*
- sx = 0; sy = 0;
- w = 480; h = 800;
-*/
- sx = 0; sy = 55;
- w = 480;
- char *style = menu_its[n];
- if (style[0] >= '0' && style[0] <= '9') h = 71;
- else if (!strncmp(style, "multiline/", 10)) h = 111;
- else if (!strncmp(style, "dialogue/", 9)) h = 127;
- else h = 163;
-
- sprintf(file, "./%s.png", menu_its[n]);
- for (i = 2; i < strlen(file); i++) {
- if (file[i] == '/')
- file[i] = '.';
- }
-
- memset(&att, 0, sizeof(Ecore_X_Window_Attributes));
- ecore_x_window_attributes_get(elm_win_xwindow_get(ad->win_main), &att);
- img = ecore_x_image_new(w, h, att.visual, att.depth);
- ecore_x_image_get(img, elm_win_xwindow_get(ad->win_main), sx, sy, 0, 0, w, h);
- src = ecore_x_image_data_get(img, &bpl, &rows, &bpp);
-
- e = evas_object_evas_get(ad->win_main);
- output = evas_object_image_add(e);
-
- evas_object_image_data_set(output, NULL);
- evas_object_image_size_set(output, w, h);
- evas_object_image_fill_set(output, 0, 0, w, h);
- evas_object_image_filled_set(output, EINA_TRUE);
- evas_object_image_alpha_set(output, EINA_TRUE);
- evas_object_image_data_copy_set(output, src);
- evas_object_image_data_update_add(output, 0, 0, w, h);
- evas_object_image_save(output, file, NULL, NULL);
-
- if (!src) free(src);
- ecore_x_image_free(img);
-
- fprintf(stderr, "## filename = %s is done\n", file);
-}
-
-static Eina_Bool _running_list(void *data)
-{
- struct appdata *ad = (struct appdata *)data;
- static int rcount = 0;
- static int push = 0;
-
- if ((!menu_its[rcount])) {
- return ECORE_CALLBACK_CANCEL;
- }
- if (!push) {
- _listing_style(ad, menu_its[rcount]);
- push = EINA_TRUE;
- }
- else {
- _do_save(ad, rcount);
- elm_naviframe_item_pop(ad->nf);
- push = EINA_FALSE;
- rcount++;
- }
-
- return ECORE_CALLBACK_RENEW;
-}
-
-static void _create_genlist(void *data, Evas_Object *obj, void *event_info)
-{
- ecore_timer_add(1.0, _running_list, data);
-}
-
-void genlist_test_all_styles_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Evas_Object *list;
-
- ad = (struct appdata *) data;
- if (ad == NULL) return;
-
- list = elm_list_add(ad->nf);
- elm_list_mode_set(list, ELM_LIST_COMPRESS);
- evas_object_smart_callback_add(list, "selected", _gl_selected, NULL);
-
- elm_list_item_append(list, "All Item Styles", NULL, NULL, NULL, ad);
- elm_list_go(list);
-
- elm_naviframe_item_push(ad->nf, _("TEST All Item Styles"), NULL, NULL, list, NULL);
-
- _create_genlist(ad, obj, event_info);
-
- genlist_demo_names = genlist_get_demo_names();
- genlist_demo_country_names = genlist_get_demo_country_names();
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "genlist.h"
-
-/*********************************************************
- Genlist Sweep with Edit mode
- ********************************************************/
-
-static Evas_Object *genlist, *toolbar, *edit_btn;
-
-#define NUM_OF_ITEMS 2000
-#define NUM_OF_NAMES 4
-static Elm_Genlist_Item_Class itc, itc2, itc3, itc4;
-static char *names[] = {
- "One Button After Slide", "Two Buttons After Slide",
- "Three Buttons After Slide", "Four Buttons After Slide"
-};
-
-static void _button_clicked_cb(void *data, Evas_Object *obj, void *event_info)
-{
- fprintf(stderr, "Button Clicked : %s\n", names[(int)data]);
-}
-
-/**************************** Genlist Handling Routines ******************************/
-/**
- * gl_text_get is called for each text part when the item is realized.
- * This is also called when the sweep animation is started.
- *
- * @param data : 3th parameter of the elm_genlist_item_append api.
- * @param obj : the genlist object.
- * @param part : text part name.
- *
- */
-static char *_gl_text_get(void *data, Evas_Object *obj, const char *part)
-{
- if (!strcmp(part, "elm.text")) {
- return strdup("slide style");
- } else if (!strcmp(part, "elm.slide.text.1")) {
- return strdup("slide");
- }
- return NULL;
-}
-
-static char *_gl_text_get2(void *data, Evas_Object *obj, const char *part)
-{
- if (!strcmp(part, "elm.text.1")) {
- return strdup("slide2 style");
- } else if (!strcmp(part, "elm.text.2")) {
- return strdup("Two Buttons After Slide.");
- } else if (!strcmp(part, "elm.slide.text.1")) {
- return strdup("slide2");
- }
- return NULL;
-}
-
-static char *_gl_text_get3(void *data, Evas_Object *obj, const char *part)
-{
- if (!strcmp(part, "elm.text")) {
- return strdup("slide3 style");
- } else if (!strcmp(part, "elm.slide.text.1")) {
- return strdup("slide3");
- }
- return NULL;
-}
-
-static char *_gl_text_get4(void *data, Evas_Object *obj, const char *part)
-{
- if (!strcmp(part, "elm.text.1")) {
- return strdup("slide4 style");
- } else if (!strcmp(part, "elm.text.2")) {
- return strdup("Four Buttons After Slide.");
- } else if (!strcmp(part, "elm.slide.text.1")) {
- return strdup("slide4");
- }
- return NULL;
-}
-
-/**
- * gl_content_get is called for each swallow part when the item is realized.
- * This is also called when the sweep animation is started.
- *
- * @param data : 3th parameter of the elm_genlist_item_append api.
- * @param obj : the genlist object.
- * @param part : text part name.
- *
- */
-static Evas_Object *_gl_content_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *button, *icon;
- int index = (int) data % NUM_OF_NAMES;
-
- if (!strcmp(part, "elm.slide.swallow.1")) {
- button = elm_button_add(obj);
- elm_object_style_set(button, "sweep");
- elm_object_text_set(button, "Call");
- evas_object_smart_callback_add(button, "clicked", _button_clicked_cb, (void *)index);
- return button;
- } else if (!strcmp(part, "elm.slide.swallow.2")) {
- button = elm_button_add(obj);
- elm_object_style_set(button, "sweep");
- elm_object_text_set(button, "Delete");
- evas_object_smart_callback_add(button, "clicked", _button_clicked_cb, (void *)index);
- return button;
- } else if (!strcmp(part, "elm.slide.swallow.3")) {
- button = elm_button_add(obj);
- elm_object_style_set(button, "sweep");
- elm_object_text_set(button, "Remove");
- evas_object_smart_callback_add(button, "clicked", _button_clicked_cb, (void *)index);
- return button;
- } else if (!strcmp(part, "elm.slide.swallow.4")) {
- button = elm_button_add(obj);
- elm_object_style_set(button, "sweep");
- elm_object_text_set(button, "Answer");
- evas_object_smart_callback_add(button, "clicked", _button_clicked_cb, (void *)index);
- return button;
- } else {
- icon = elm_image_add(obj);
- elm_image_file_set(icon, ICON_DIR"/genlist/00_brightness_right.png", NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- return icon;
- }
- return NULL;
-}
-
-static Eina_Bool _gl_state_get(void *data, Evas_Object *obj, const char *part)
-{
- return EINA_FALSE;
-}
-
-static void _gl_del(void *data, Evas_Object *obj)
-{
- return;
-}
-
-/**************************** Genlist Smart Callbacks ******************************/
-static void _my_gl_mode_right(void *data, Evas_Object *obj, void *event_info)
-{
- if (!event_info) return;
-
- // Start genlist sweep
- elm_genlist_item_decorate_mode_set(event_info, "slide", EINA_TRUE);
- elm_genlist_item_select_mode_set(event_info, ELM_OBJECT_SELECT_MODE_NONE);
-}
-
-static void _my_gl_mode_left(void *data, Evas_Object *obj, void *event_info)
-{
- if (!event_info) return;
-
- // Finish genlist sweep
- elm_genlist_item_decorate_mode_set(event_info, "slide", EINA_FALSE);
- elm_genlist_item_select_mode_set(event_info, ELM_OBJECT_SELECT_MODE_DEFAULT);
-}
-
-static void _my_gl_mode_cancel(void *data, Evas_Object *obj, void *event_info)
-{
- if (!obj) return;
-
- // Get sweeped item
- Elm_Object_Item *it = (Elm_Object_Item *)elm_genlist_decorated_item_get(obj);
-
- // Finish genlist sweep
- if (it) {
- elm_genlist_item_decorate_mode_set(it, "slide", EINA_FALSE);
- elm_genlist_item_select_mode_set(event_info, ELM_OBJECT_SELECT_MODE_DEFAULT);
- }
-}
-
-/**************************** Genlist Settings ******************************/
-// Set genlist item styles for slide animation
-static void _set_genlist_item_styles(void)
-{
- itc.item_style = "1text.1icon.2";
- itc.decorate_item_style = "mode/slide";
- itc.func.text_get = _gl_text_get;
- itc.func.content_get = _gl_content_get;
- itc.func.state_get = _gl_state_get;
- itc.func.del = _gl_del;
- itc.decorate_all_item_style = "edit_default";
-
- itc2.item_style = "2text.1icon.2";
- itc2.decorate_item_style = "mode/slide2";
- itc2.func.text_get = _gl_text_get2;
- itc2.func.content_get = _gl_content_get;
- itc2.func.state_get = _gl_state_get;
- itc2.func.del = _gl_del;
- itc2.decorate_all_item_style = "edit_default";
-
- itc3.item_style = "1text.1icon.2";
- itc3.decorate_item_style = "mode/slide3";
- itc3.func.text_get = _gl_text_get3;
- itc3.func.content_get = _gl_content_get;
- itc3.func.state_get = _gl_state_get;
- itc3.func.del = _gl_del;
- itc3.decorate_all_item_style = "edit_default";
-
- itc4.item_style = "2text.1icon.2";
- itc4.decorate_item_style = "mode/slide4";
- itc4.func.text_get = _gl_text_get4;
- itc4.func.content_get = _gl_content_get;
- itc4.func.state_get = _gl_state_get;
- itc4.func.del = _gl_del;
- itc4.decorate_all_item_style = "edit_default";
-}
-
-static Evas_Object *_create_genlist(Evas_Object *parent)
-{
- int index;
- Evas_Object *genlist;
-
- // Create genlist
- genlist = elm_genlist_add(parent);
- evas_object_smart_callback_add(genlist, "drag,start,right", _my_gl_mode_right, NULL);
- evas_object_smart_callback_add(genlist, "drag,start,left", _my_gl_mode_left, NULL);
- evas_object_smart_callback_add(genlist, "drag,start,up", _my_gl_mode_cancel, NULL);
- evas_object_smart_callback_add(genlist, "drag,start,down", _my_gl_mode_cancel, NULL);
-
- // Append genlist items
- for (index = 0; index < NUM_OF_ITEMS; index++) {
- elm_genlist_item_append(genlist, &itc, (void *) index, NULL,
- ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_genlist_item_append(genlist, &itc2, (void *) index, NULL,
- ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_genlist_item_append(genlist, &itc3, (void *) index, NULL,
- ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_genlist_item_append(genlist, &itc4, (void *) index, NULL,
- ELM_GENLIST_ITEM_NONE, NULL, NULL);
- }
-
- return genlist;
-}
-
-static void _edit_button_clicked_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (!elm_genlist_decorate_mode_get(genlist)) {
- // Change button label
- elm_object_text_set(edit_btn, _("Done"));
-
- // Set reorder and edit mode
- elm_genlist_decorate_mode_set(genlist, EINA_TRUE);
-
- // This means even if selected, every click will make the selected callbacks be called.
- elm_genlist_select_mode_set(genlist, ELM_OBJECT_SELECT_MODE_ALWAYS);
- } else {
- // Change button label
- elm_object_text_set(edit_btn, _("Edit"));
-
- // Unset edit mode
- elm_genlist_decorate_mode_set(genlist, EINA_FALSE);
- elm_genlist_select_mode_set(genlist, ELM_OBJECT_SELECT_MODE_DEFAULT);
- }
-}
-
-// Create 'Edit'/'Done' button
-static Evas_Object *_create_edit_button()
-{
- Evas_Object *button;
-
- button = elm_button_add(toolbar);
- elm_object_style_set(button, "naviframe_control/default");
- evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(button, EVAS_HINT_FILL, 0.5);
- elm_object_text_set(button, _("Edit"));
- evas_object_show(button);
- evas_object_smart_callback_add(button, "clicked", _edit_button_clicked_cb, NULL);
-
- return button;
-}
-/**************************** Main Code ******************************/
-void genlist_test_sweep_edit_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *it;
- if (!data) return;
- struct appdata *ad = (struct appdata *) data;
-
- // Set Genlist Item Styles for 4 itcs
- _set_genlist_item_styles();
-
- // Create a Genlist and append items.
- genlist = _create_genlist(ad->nf);
-
- // Create Controlbar for naviframe menu
- toolbar = elm_toolbar_add(ad->nf);
- elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND);
- if (toolbar == NULL) return;
- elm_object_style_set(toolbar, "naviframe");
-
- edit_btn = _create_edit_button();
- it = elm_toolbar_item_append(toolbar, NULL, NULL, NULL, NULL);
- elm_object_item_part_content_set(it, "object", edit_btn);
-
- // Push genlist to naviframe
- it = elm_naviframe_item_push(ad->nf, _("Sweep"), NULL, NULL, genlist, NULL);
- elm_object_item_part_content_set(it, "optionheader", toolbar);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "test_fontchange.h"
-
-/*********************************************************
- Font Change Test
- ********************************************************/
-
-void _list_item_select_cb(void *data, Evas_Object *obj, void *event_info)
-{
- char font[256];
- Elm_Object_Item *it = elm_list_selected_item_get(obj);
- const char *fontname = elm_object_item_text_get(it);
-
- Eina_List *text_classes = elm_config_text_classes_list_get();
- Eina_List *l;
- Elm_Text_Class *tc;
-
- EINA_LIST_FOREACH(text_classes, l, tc)
- elm_config_font_overlay_set(tc->name, fontname, -100);
-
- sprintf(font, "%s", elm_object_item_text_get(it));
- elm_config_font_overlay_set("tizen", (const char*) font, -100);
-
- sprintf(font, "%s:style=Medium", elm_object_item_text_get(it));
- elm_config_font_overlay_set("tizen_medium", (const char*) font, -100);
-
- sprintf(font, "%s:style=Roman", elm_object_item_text_get(it));
- elm_config_font_overlay_set("tizen_roman", (const char*) font, -100);
-
- sprintf(font, "%s:style=Bold", elm_object_item_text_get(it));
- elm_config_font_overlay_set("tizen_bold", (const char*) font, -100);
-
- sprintf(font, "%s:style=Regular", elm_object_item_text_get(it));
- elm_config_font_overlay_set("tizen_regular", (const char*) font, -100);
-
- elm_config_font_overlay_apply();
- elm_config_all_flush();
- elm_config_save();
- change_config_owner();
-
- elm_config_text_classes_list_free(text_classes);
-}
-
-static Eina_Bool _font_item_add(const Eina_Hash *hash, const void *key, void *data, void *fdata)
-{
- Elm_Font_Properties *efp = data;
- Evas_Object *list = fdata;
-
- elm_list_item_append(list, efp->name, NULL, NULL, _list_item_select_cb, NULL);
-
- return EINA_TRUE;
-}
-
-static Evas_Object * _create_list(Evas_Object *parent)
-{
- Evas_Object *list = elm_list_add(parent);
- evas_object_size_hint_weight_set(list, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(list, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- //Construct available font list
- Evas *e = evas_object_evas_get(parent);
- Eina_List *evas_font = evas_font_available_list(e);
- if (!evas_font) return NULL;
-
- Eina_Hash *font_hash = elm_font_available_hash_add(evas_font);
- if (!font_hash) return NULL;
-
- evas_font_available_list_free(e, evas_font);
-
- eina_hash_foreach(font_hash, _font_item_add, list);
-
- elm_font_available_hash_del(font_hash);
-
- elm_list_go(list);
-
- evas_object_show(list);
-
- return list;
-}
-
-void test_fontchange_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad = (struct appdata *) data;
-
- Evas_Object *list = _create_list(ad->nf);
- if (!list) return;
-
- elm_naviframe_item_push(ad->nf, _("Font List"), NULL, NULL, list, NULL);
-}
-
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "testmode.h"
-#include "test_genlist.h"
-#include "test_fontchange.h"
-
-/*********************************************************
- Test Mode
- ********************************************************/
-static Evas_Object* _create_multitouch(Evas_Object* parent);
-static void multitouch_cb(void *data, Evas_Object *obj, void *event_info);
-
-static struct _menu_item menu_its[] = {
- { "Multitouch Test", multitouch_cb },
- { "Genlist All styles (take screenshots)", genlist_test_all_styles_cb },
- { "Genlist Sweep with Edit mode", genlist_test_sweep_edit_cb },
- { "Font Change", test_fontchange_cb },
-
- /* do not delete below */
- { NULL, NULL }
-};
-
-static void _list_click(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *it = (Elm_Object_Item *) elm_list_selected_item_get(obj);
-
- if (it == NULL)
- {
- fprintf((LOG_PRI(LOG_ERR) == LOG_ERR?stderr:stdout), "List item is NULL.\n");
- return;
- }
-
- elm_list_item_selected_set(it, EINA_FALSE);
-}
-
-
-static Evas_Object* _create_list_winset(struct appdata* ad)
-{
- Evas_Object *li;
-
- if (ad == NULL) return NULL;
-
- li = elm_list_add(ad->nf);
- elm_list_mode_set(li, ELM_LIST_COMPRESS);
- evas_object_smart_callback_add(li, "selected", _list_click, NULL);
-
- int idx = 0;
-
- while(menu_its[ idx ].name != NULL) {
- elm_list_item_append(
- li,
- menu_its[ idx ].name,
- NULL,
- NULL,
- menu_its[ idx ].func,
- ad);
- ++idx;
- }
- elm_list_go(li);
-
- return li;
-}
-
-static Evas_Object* _create_multitouch(Evas_Object* parent)
-{
- Evas_Object *layout;
-
- layout = elm_layout_add(parent);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "elmdemo-test/multi-touch");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- return layout;
-}
-
-static void
-_detect_touch_type(void *data, Eina_Bool is_horizontal)
-{
- struct appdata *ad = (struct appdata *) data;
- Touch_Info *ti = &(ad->ti);
- Elm_Object_Item *it = elm_naviframe_top_item_get(ad->nf);
- Evas_Object *layout = elm_object_item_content_get(it);
-
- if(ti->multitouch_detected && !ti->touchtype_detected)
- return;
-
- elm_object_signal_emit(layout, "all,off", "elm");
-
- if(is_horizontal)
- {
- if(!ti->multitouch_detected)
- {
- if(ti->cur_x > ti->prev_x)
- {
- // sweep L -> R
- elm_object_signal_emit(layout, "01,on", "elm");
- }
- else if (ti->cur_x < ti->prev_x)
- {
- // sweep R -> L
- elm_object_signal_emit(layout, "02,on", "elm");
- }
- }
- else
- {
- if(ti->cur_x > ti->prev_x && ti->cur_mx > ti->prev_mx)
- {
- // multi sweep L -> R
- elm_object_signal_emit(layout, "03,on", "elm");
- }
- else if (ti->cur_x < ti->prev_x && ti->cur_mx < ti->prev_mx)
- {
- // multi sweep R -> L
- }
- else
- {
- if(((ti->cur_x - ti->cur_mx) * (ti->cur_x - ti->cur_mx) + (ti->cur_y - ti->cur_my) * (ti->cur_y - ti->cur_my))
- > ((ti->prev_x - ti->prev_mx) * (ti->prev_x - ti->prev_mx) + (ti->prev_y - ti->prev_my) * (ti->prev_y - ti->prev_my)))
- {
- // pinch out
- elm_object_signal_emit(layout, "06,on", "elm");
- }
- else
- {
- // pinch in
- elm_object_signal_emit(layout, "05,on", "elm");
- }
- }
- }
- }
- else
- {
- if(!ti->multitouch_detected)
- {
- if(ti->cur_y > ti->prev_y)
- {
- // sweep U -> D
- }
- else if (ti->cur_y < ti->prev_y)
- {
- // sweep D -> U
- }
- }
- else
- {
- if(ti->cur_y > ti->prev_y && ti->cur_my > ti->prev_my)
- {
- // multi sweep U -> D
- elm_object_signal_emit(layout, "04,on", "elm");
- }
- else if (ti->cur_y < ti->prev_y && ti->cur_my < ti->prev_my)
- {
- // multi sweep D -> U
- elm_object_signal_emit(layout, "05,on", "elm");
- }
- else
- {
- if(((ti->cur_x - ti->cur_mx) * (ti->cur_x - ti->cur_mx) + (ti->cur_y - ti->cur_my) * (ti->cur_y - ti->cur_my))
- > ((ti->prev_x - ti->prev_mx) * (ti->prev_x - ti->prev_mx) + (ti->prev_y - ti->prev_my) * (ti->prev_y - ti->prev_my)))
- {
- // pinch out
- elm_object_signal_emit(layout, "06,on", "elm");
- }
- else
- {
- // pinch in
- elm_object_signal_emit(layout, "05,on", "elm");
- }
- }
- }
- }
-
- ti->prev_x = ti->cur_x;
- ti->prev_y = ti->cur_y;
- ti->prev_mx = ti->cur_mx;
- ti->prev_my = ti->cur_my;
-}
-
-static void
-_mouse_down_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad = (struct appdata *) data;
- Touch_Info *ti = &(ad->ti);
- Evas_Event_Mouse_Down *ev = event_info;
- Evas_Coord x, y;
-
- if (ev->button != 1) return;
-
- evas_object_geometry_get(obj, &x, &y, NULL, NULL);
- ti->prev_x = ev->canvas.x;
- ti->prev_y = ev->canvas.y;
-}
-
-static void
-_mouse_up_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad = (struct appdata *) data;
- Elm_Object_Item *it = elm_naviframe_top_item_get(ad->nf);
- Evas_Object *layout = elm_object_item_content_get(it);
- Touch_Info *ti = &(ad->ti);
- ti->multitouch_detected = 0;
-
- ti->prev_x = 0;
- ti->prev_y = 0;
- elm_object_signal_emit(layout, "all,off", "elm");
-}
-
-static void
-_mouse_move_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad = (struct appdata *) data;
- Touch_Info *ti = &(ad->ti);
- Evas_Event_Mouse_Move *ev = event_info;
- Evas_Coord minw = 0, minh = 0;
-
- elm_coords_finger_size_adjust(1, &minw, 1, &minh);
- Evas_Coord off_x = 0, off_y = 0;
-
- ti->cur_x = ev->cur.canvas.x;
- ti->cur_y = ev->cur.canvas.y;
-
- if(ti->prev_x * ti->prev_y == 0)
- return;
-
- off_x = ti->cur_x - ti->prev_x;
- off_y = ti->cur_y - ti->prev_y;
-
- if(off_x > minw || off_x < -minw)
- {
- _detect_touch_type(data, 1);
- }
- else if (off_y > minh || off_y < -minh)
- {
- _detect_touch_type(data, 0);
- }
-}
-
-static void
-_multi_down_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad = (struct appdata *) data;
- Touch_Info *ti = &(ad->ti);
- Evas_Event_Multi_Down *ev = event_info;
- Evas_Coord x, y;
-
- ti->multitouch_detected = 1;
-
- evas_object_geometry_get(obj, &x, &y, NULL, NULL);
- ti->prev_mx = ev->canvas.x;
- ti->prev_my = ev->canvas.y;
-}
-
-static void
-_multi_up_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad = (struct appdata *) data;
- Elm_Object_Item *it = elm_naviframe_top_item_get(ad->nf);
- Evas_Object *layout = elm_object_item_content_get(it);
- Touch_Info *ti = &(ad->ti);
- ti->touchtype_detected = 0;
- ti->multitouch_detected = 0;
-
- ti->prev_mx = 0;
- ti->prev_my = 0;
- elm_object_signal_emit(layout, "all,off", "elm");
-}
-
-static void
-_multi_move_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad = (struct appdata *) data;
- Touch_Info *ti = &(ad->ti);
- Evas_Event_Multi_Move *ev = event_info;
- Evas_Coord minw = 0, minh = 0;
-
- elm_coords_finger_size_adjust(1, &minw, 1, &minh);
- Evas_Coord off_mx = 0, off_my = 0;
-
- ti->cur_mx = ev->cur.canvas.x;
- ti->cur_my = ev->cur.canvas.y;
-
- if(ti->prev_mx * ti->prev_my == 0)
- return;
-
- off_mx = ti->cur_mx - ti->prev_mx;
- off_my = ti->cur_my - ti->prev_my;
-
-
- if(off_mx > minw || off_mx < -minw)
- {
- ti->touchtype_detected = 1;
- }
- else if (off_my > minh || off_my < -minh)
- {
- ti->touchtype_detected = 1;
- }
- else
- ti->touchtype_detected = 0;
-
-}
-
-
-
-static void
-multitouch_cb(void *data, Evas_Object *obj, void *event_info)
-{
- //Evas_Object *scroller, *layout_inner;
- Evas_Object *layout_inner;
- struct appdata *ad = (struct appdata *) data;
- if(ad == NULL) return;
-
- layout_inner = _create_multitouch(ad->nf);
- elm_naviframe_item_push(ad->nf, _("Multitouch"), NULL,NULL, layout_inner, NULL);
-
- Evas_Object* rect_obj;
- rect_obj = evas_object_rectangle_add(evas_object_evas_get(ad->win_main));
- edje_object_part_swallow(elm_layout_edje_get(layout_inner), "contents_bottom", rect_obj);
- evas_object_show(rect_obj);
-
- evas_object_event_callback_add(rect_obj, EVAS_CALLBACK_MOUSE_DOWN, _mouse_down_cb, ad);
- evas_object_event_callback_add(rect_obj, EVAS_CALLBACK_MOUSE_UP, _mouse_up_cb, ad);
- evas_object_event_callback_add(rect_obj, EVAS_CALLBACK_MOUSE_MOVE, _mouse_move_cb, ad);
- evas_object_event_callback_add(rect_obj, EVAS_CALLBACK_MULTI_DOWN, _multi_down_cb, ad);
- evas_object_event_callback_add(rect_obj, EVAS_CALLBACK_MULTI_UP, _multi_up_cb, ad);
- evas_object_event_callback_add(rect_obj, EVAS_CALLBACK_MULTI_MOVE, _multi_move_cb, ad);
-
-}
-
-void
-testmode_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Evas_Object *list;
-
- ad = (struct appdata *) data;
- if (ad == NULL) return;
-
- list = _create_list_winset(ad);
- elm_naviframe_item_push(ad->nf, _("Test Mode"), NULL, NULL, list, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_util.h"
-#include "elmdemo_test.h"
-#include "theme.h"
-
-#define MAX_NUM_OF_RECT 7
-
-static Evas_Object *_selected_rect = NULL;
-
-static void _button_clicked(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Elm_Object_Item *it = (Elm_Object_Item *)event_info;
- const char *text;
- int index, r, g, b;
-
- if (!data) return;
- ad = (struct appdata *)data;
-
- // if color is not selected, return
- evas_object_color_get(_selected_rect, &r, &g, &b, NULL);
- if (r == 255 && g == 255 && b == 255) return;
-
- index = (int)evas_object_data_get(_selected_rect, "index");
- printf("theme index: %d\n", index);
-
- text = elm_object_item_text_get(it);
- if (text && strstr(text, "Dark"))
- ea_theme_fixed_style_set(index, EA_THEME_STYLE_DARK);
- else if (text && strstr(text, "Light"))
- ea_theme_fixed_style_set(index, EA_THEME_STYLE_LIGHT);
-
- elm_naviframe_item_pop(ad->nf);
-}
-
-static void _rect_selected(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- int r, g, b, a;
-
- evas_object_color_get(obj, &r, &g, &b, &a);
- evas_object_color_set(_selected_rect, r, g, b, a);
- evas_object_data_set(_selected_rect, "index", data);
-}
-
-static Evas_Object *_create_color_box(struct appdata *ad)
-{
- Evas_Object *box, *lb, *rect, *hbox, *hbox2, *hbox3, *cur_box;
- Eina_List *colors;
- Ea_Theme_Color_hsv *color;
- int start, r, g, b;
-
- box = elm_box_add(ad->nf);
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(box, EVAS_HINT_FILL, 0.5);
-
- lb = elm_label_add(box);
- elm_object_text_set(lb, " Theme Colors");
- evas_object_size_hint_weight_set(lb, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(lb, EVAS_HINT_FILL, 0.5);
- elm_box_pack_end(box, lb);
- evas_object_show(lb);
-
- hbox = elm_box_add(ad->nf);
- elm_box_horizontal_set(hbox, EINA_TRUE);
- evas_object_size_hint_weight_set(hbox, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(hbox, EVAS_HINT_FILL, 0.5);
- elm_box_pack_end(box, hbox);
- evas_object_show(hbox);
-
- hbox2 = elm_box_add(ad->nf);
- elm_box_horizontal_set(hbox2, EINA_TRUE);
- evas_object_size_hint_weight_set(hbox2, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(hbox2, EVAS_HINT_FILL, 0.5);
- elm_box_pack_end(box, hbox2);
- evas_object_show(hbox2);
-
- hbox3 = elm_box_add(ad->nf);
- elm_box_horizontal_set(hbox3, EINA_TRUE);
- evas_object_size_hint_weight_set(hbox3, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(hbox3, EVAS_HINT_FILL, 0.5);
- elm_box_pack_end(box, hbox3);
- evas_object_show(hbox3);
-
- cur_box = hbox;
-
- start = EA_THEME_COLOR_TABLE_1;
- colors = ea_theme_input_colors_get(start);
- while(colors)
- {
- rect = evas_object_rectangle_add(evas_object_evas_get(cur_box));
- evas_object_size_hint_min_set(rect, 100, 100);
- evas_object_event_callback_add(rect, EVAS_CALLBACK_MOUSE_DOWN, _rect_selected, (void *)start);
- elm_box_pack_end(cur_box, rect);
- evas_object_show(rect);
-
- // set main color to rect
- color = eina_list_data_get(colors);
- if (color)
- {
- evas_color_hsv_to_rgb((float)color->h, color->s / 100.0, color->v / 100.0, &r, &g, &b);
- evas_object_color_set(rect, r, g, b, 255);
- }
-
- // free colors
- EINA_LIST_FREE(colors, color)
- free(color);
- start++;
- if(start == MAX_NUM_OF_RECT) cur_box = hbox2;
- colors = ea_theme_input_colors_get(start);
- }
-
- start = EA_THEME_COLOR_TABLE_2;
- colors = ea_theme_input_colors_get(start);
- while(colors)
- {
- rect = evas_object_rectangle_add(evas_object_evas_get(cur_box));
- evas_object_size_hint_min_set(rect, 100, 100);
- evas_object_event_callback_add(rect, EVAS_CALLBACK_MOUSE_UP, _rect_selected, (void *)start);
- elm_box_pack_end(cur_box, rect);
- evas_object_show(rect);
-
- // set main color to rect
- color = eina_list_data_get(colors);
- if (color)
- {
- evas_color_hsv_to_rgb((float)color->h, color->s / 100.0, color->v / 100.0, &r, &g, &b);
- evas_object_color_set(rect, r, g, b, 255);
- }
-
- // free colors;
- EINA_LIST_FREE(colors, color)
- free(color);
- start++;
- colors = ea_theme_input_colors_get(start);
- }
-
- start = EA_THEME_COLOR_TABLE_3;
- colors = ea_theme_input_colors_get(start);
- cur_box = hbox3;
- while(colors)
- {
- rect = evas_object_rectangle_add(evas_object_evas_get(cur_box));
- evas_object_size_hint_min_set(rect, 100, 100);
- evas_object_event_callback_add(rect, EVAS_CALLBACK_MOUSE_UP, _rect_selected, (void *)start);
- elm_box_pack_end(cur_box, rect);
- evas_object_show(rect);
-
- // set main color to rect
- color = eina_list_data_get(colors);
- if (color)
- {
- evas_color_hsv_to_rgb((float)color->h, color->s / 100.0, color->v / 100.0, &r, &g, &b);
- evas_object_color_set(rect, r, g, b, 255);
- }
-
- // free colors;
- EINA_LIST_FREE(colors, color)
- free(color);
- start++;
- colors = ea_theme_input_colors_get(start);
- }
-
- return box;
-}
-
-static Evas_Object *_create_selected_box(struct appdata *ad)
-{
- Evas_Object *box, *lb, *rect;
-
- box = elm_box_add(ad->nf);
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(box, EVAS_HINT_FILL, 0.5);
-
- lb = elm_label_add(box);
- elm_object_text_set(lb, " Selected Color");
- evas_object_size_hint_weight_set(lb, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(lb, EVAS_HINT_FILL, 0.5);
- elm_box_pack_end(box, lb);
- evas_object_show(lb);
-
- rect = evas_object_rectangle_add(evas_object_evas_get(box));
- evas_object_size_hint_min_set(rect, 700, 300);
- elm_box_pack_end(box, rect);
- evas_object_show(rect);
- _selected_rect = rect;
-
- return box;
-}
-
-static Evas_Object *_create_layout(struct appdata *ad)
-{
- Evas_Object *box, *sbox, *cbox;
-
- box = elm_box_add(ad->nf);
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(box);
-
- // selected box
- sbox = _create_selected_box(ad);
- elm_box_pack_end(box, sbox);
- evas_object_show(sbox);
-
- // color box
- cbox = _create_color_box(ad);
- elm_box_pack_end(box, cbox);
- evas_object_show(cbox);
-
- return box;
-}
-
-void theme_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *ly, *tb, *sc;
- Elm_Object_Item *navi_it;
- struct appdata *ad = (struct appdata *) data;
- if (ad == NULL) return;
-
- sc = elm_scroller_add(ad->nf);
- elm_scroller_bounce_set(sc, EINA_FALSE, EINA_TRUE);
- elm_scroller_policy_set(sc, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO);
- evas_object_show(sc);
-
- ly = _create_layout(ad);
- elm_object_content_set(sc, ly);
- navi_it = elm_naviframe_item_push(ad->nf, _("Theme"), NULL, NULL, sc, NULL);
-
- tb = elm_toolbar_add(ad->nf);
- elm_toolbar_shrink_mode_set(tb, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_transverse_expanded_set(tb, EINA_TRUE);
- elm_toolbar_select_mode_set(tb, ELM_OBJECT_SELECT_MODE_NONE);
- elm_toolbar_item_append(tb, NULL, "Dark", _button_clicked, ad);
- elm_toolbar_item_append(tb, NULL, "Light", _button_clicked, ad);
- elm_object_item_part_content_set(navi_it, "toolbar", tb);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Lnd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "tickernoti.h"
-#include <Ecore_X.h>
-
-#ifndef __UNUSED__
-#define __UNUSED__ __attribute__((unused))
-#endif
-
-
-static Evas_Object *tickernoti_email = NULL;
-static Evas_Object *tickernoti_textonly = NULL;
-static void _rotate_noti_win_cb(void *data, Evas_Object *obj, void *event_info);
-
-enum Noti_Orient {
- TICKERNOTI_ORIENT_TOP = 0,
- TICKERNOTI_ORIENT_BOTTOM,
- TICKERNOTI_ORIENT_LAST
-} ;
-
-struct Tickernoti_Data {
- Evas_Object *content;
- Evas_Coord w;
- Evas_Coord h;
- int angle;
- enum Noti_Orient orient;
- Eina_Bool is_show;
-} ;
-
-static const char *data_key = "_data";
-
-static Eina_Bool
-_pop_cb(void *data, Elm_Object_Item *it)
-{
- free(evas_object_data_del(tickernoti_email, data_key));
- free(evas_object_data_del(tickernoti_textonly, data_key));
- evas_object_del(tickernoti_email);
- evas_object_del(tickernoti_textonly);
- evas_object_smart_callback_del(data, "rotation,changed", _rotate_noti_win_cb);
-
- return EINA_TRUE;
-}
-
-static void
-_tickernoti_update_geometry(Evas_Object *noti_win, Evas_Coord x, Evas_Coord y,
- Evas_Coord w, Evas_Coord h, int angle)
-{
- if (!noti_win)
- return;
- elm_win_rotation_set(noti_win, angle);
- //printf("Rotate notification window to %d\n", angle);
- evas_object_move(noti_win, x, y);
- //printf("Move notification window to %d %d\n", x, y);
- evas_object_resize(noti_win, w, h);
- //printf("Resize notification window to %d %d\n", w, h);
-}
-
-static void
-_tickernoti_recalc_position(Evas_Object *noti_win)
-{
- struct Tickernoti_Data *td;
- Evas_Coord x = 0, y = 0, w = 0, h = 0;
-
- if (!noti_win) {
- printf("noti_win is NULL\n");
- return;
- }
- td = evas_object_data_get(noti_win, data_key);
- if (!td) {
- printf("noti_win data is NULL\n");
- return;
- }
- evas_object_geometry_get(td->content, NULL, NULL, &w, &h);
- ecore_x_window_size_get(ecore_x_window_root_first_get(), &x, &y);
- switch (td->angle) {
- case 90:
- if (td->orient == TICKERNOTI_ORIENT_TOP) {
- _tickernoti_update_geometry(noti_win, 0, 0, y, h, 90);
- } else {
- _tickernoti_update_geometry(noti_win, x - h, 0, y, h, 90);
- }
- break;
- case 180:
- if (td->orient == TICKERNOTI_ORIENT_TOP) {
- _tickernoti_update_geometry(noti_win, 0, y - h, x, h, 180);
- } else {
- _tickernoti_update_geometry(noti_win, 0, 0, x, h, 180);
- }
- break;
- case -90:
- case 270:
- if (td->orient == TICKERNOTI_ORIENT_TOP) {
- _tickernoti_update_geometry(noti_win, x - h, 0, y, h, 270);
- } else {
- _tickernoti_update_geometry(noti_win, 0, 0, y, h, 270);
- }
- break;
- case 0:
- default:
- if (td->orient == TICKERNOTI_ORIENT_TOP) {
- _tickernoti_update_geometry(noti_win, 0, 0, x, h, 0);
- } else {
- _tickernoti_update_geometry(noti_win, 0, y - h, x, h, 0);
- }
- }
-}
-
-static void
-_rotate_noti_win_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct Tickernoti_Data *td_email, *td_textonly;
- int angle = 0;
- td_email = evas_object_data_get(tickernoti_email, data_key);
- td_textonly = evas_object_data_get(tickernoti_textonly, data_key);
-
- angle = elm_win_rotation_get(data);
- td_email->angle = angle;
- td_textonly->angle = angle;
-
- if(td_email->is_show)
- _tickernoti_recalc_position(tickernoti_email);
- if(td_textonly->is_show)
- _tickernoti_recalc_position(tickernoti_textonly);
-}
-
-static void
-_hide_another_tickernoti(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Object *obj,
- void *event_info __UNUSED__)
-{
- struct Tickernoti_Data *td;
-
- if (obj == tickernoti_email) {
- td = evas_object_data_get(tickernoti_textonly, data_key);
- if (td->is_show) {
- evas_object_hide(tickernoti_textonly);
- td->is_show = !td->is_show;
- }
- }
- else {
- td = evas_object_data_get(tickernoti_email, data_key);
- if (td->is_show) {
- evas_object_hide(tickernoti_email);
- td->is_show = !td->is_show;
- }
- }
-}
-
-static void
-_tickernoti_show_hide(void *data, Evas_Object *obj __UNUSED__,
- void *event_info __UNUSED__)
-{
- struct Tickernoti_Data *td;
-
- if (!data)
- return;
- td = evas_object_data_get(data, data_key);
- if (!td)
- return;
- if (td->is_show) {
- evas_object_hide(data);
- if (td->orient == TICKERNOTI_ORIENT_TOP)
- elm_win_indicator_mode_set(data, ELM_WIN_INDICATOR_SHOW);
- } else {
- _tickernoti_recalc_position(data);
- evas_object_show(data);
- if (td->orient == TICKERNOTI_ORIENT_TOP)
- elm_win_indicator_mode_set(data, ELM_WIN_INDICATOR_HIDE);
-
- /* access */
- Evas_Object *ao;
- ao = elm_access_object_get(td->content);
- elm_access_highlight_set(ao);
- }
- td->is_show = !td->is_show;
-}
-
-Evas_Object *
-tickernoti_win_add(Evas_Object *parent, char *win_name)
-{
- Evas_Object *noti_win;
- struct Tickernoti_Data *td;
-
- noti_win = elm_win_add(parent, win_name, ELM_WIN_NOTIFICATION);
- elm_win_borderless_set(noti_win, EINA_TRUE);
- elm_win_autodel_set(noti_win, EINA_TRUE);
- elm_win_alpha_set(noti_win, EINA_TRUE);
- evas_object_size_hint_weight_set(noti_win, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- td = (struct Tickernoti_Data *) calloc(1, sizeof(struct Tickernoti_Data));
- if (!td)
- return NULL;
- evas_object_data_set(noti_win, data_key, td);
- td->angle = 0;
- td->w = 0;
- td->h = 0;
- td->orient = TICKERNOTI_ORIENT_TOP;
- td->is_show = EINA_FALSE;
-
- return noti_win;
-}
-
-void
-tickernoti_content_set(Evas_Object *noti_win, Evas_Object *content,
- enum Noti_Orient orient)
-{
- struct Tickernoti_Data *td;
-
- if (!noti_win)
- return;
- td = evas_object_data_get(noti_win, data_key);
- if (!td)
- return;
- if (content) {
- td->content = content;
- evas_object_size_hint_weight_set(td->content, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_win_resize_object_add(noti_win, content);
- td->orient = orient;
- }
-}
-
-void
-tickernoti_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Evas_Object *layout;
- Evas_Object *btn;
- Elm_Object_Item *navi_it;
- Evas_Object *content;
- Evas_Object *icon;
- char buf[255];
-
- ad = (struct appdata*) data;
- if (!ad)
- return;
-
- //layout
- layout = elm_layout_add(ad->nf);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "tickernoti_layout");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- navi_it = elm_naviframe_item_push(ad->nf, _("Tickernoti"), NULL, NULL, layout, NULL);
- elm_naviframe_item_pop_cb_set(navi_it, _pop_cb, ad->win_main);
- evas_object_show(layout);
-
- //content layout for tickernoti_email
- tickernoti_email = tickernoti_win_add(ad->win_main, "tickernoti_email");
- content = elm_layout_add(tickernoti_email);
- elm_layout_theme_set(content, "tickernoti", "base", "default");
- elm_object_part_text_set(content, "elm.text.sub", "Check this one");
- elm_object_text_set(content, "Edward Mikeal");
- evas_object_show(content);
-
- /* access */
- Evas_Object *ao;
- char *content_text;
- ao = elm_access_object_register(content, tickernoti_email);
- elm_access_info_set(ao, ELM_ACCESS_TYPE, "notification");
- content_text = evas_textblock_text_markup_to_utf8(NULL, elm_object_text_get(content));
- elm_access_info_set(ao, ELM_ACCESS_INFO, content_text);
-
- btn = elm_button_add(content);
- elm_object_text_set(btn, "Close");
- elm_object_part_content_set(content, "button", btn);
- evas_object_smart_callback_add(btn, "clicked", _tickernoti_show_hide, tickernoti_email);
- evas_object_show(btn);
-
- icon = elm_image_add(content);
- snprintf(buf, sizeof(buf), "%s/g0.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- elm_object_part_content_set(content, "icon", icon);
- evas_object_show(icon);
-
- //tickernoti_email
- tickernoti_content_set(tickernoti_email, content, TICKERNOTI_ORIENT_TOP);
-
- //content layout for tickernoti_textonly
- tickernoti_textonly = tickernoti_win_add(ad->win_main, "tickernoti_textonly");
- content = elm_layout_add(tickernoti_textonly);
- elm_layout_theme_set(content, "tickernoti", "base", "textonly");
- elm_object_text_set(content, "Text text text text text text text text text text text text text text text text text text text");
- evas_object_show(content);
-
- //tickernoti_textonly
- tickernoti_content_set(tickernoti_textonly, content, TICKERNOTI_ORIENT_TOP);
-
- //rotate notification windows
- evas_object_smart_callback_add(ad->win_main, "rotation,changed", _rotate_noti_win_cb, ad->win_main);
- _rotate_noti_win_cb(ad->win_main, ad->win_main, NULL);
-
- //show button
- btn = elm_button_add(layout);
- elm_object_text_set(btn, _("Show/Hide Email Notification") );
- evas_object_smart_callback_add(btn, "clicked", _tickernoti_show_hide, tickernoti_email);
- evas_object_event_callback_add(tickernoti_email, EVAS_CALLBACK_SHOW, _hide_another_tickernoti, NULL);
- elm_object_part_content_set(layout, "btn1", btn);
-
- btn = elm_button_add(layout);
- elm_object_text_set(btn, _("Show/Hide TextOnly Notification") );
- evas_object_smart_callback_add(btn, "clicked", _tickernoti_show_hide, tickernoti_textonly);
- evas_object_event_callback_add(tickernoti_textonly, EVAS_CALLBACK_SHOW, _hide_another_tickernoti, NULL);
- elm_object_part_content_set(layout, "btn2", btn);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "toolbar_tab.h"
-#include "toolbar_tool.h"
-#include "toolbar_mix.h"
-#include <math.h>
-
-static struct _menu_item menu_main[] = {
- { "Tab Style", tab_cb},
- { "Tool Style", tool_cb},
-// { "Mix Style", mix_cb},
- /* do not delete below */
- { NULL, NULL }
-};
-
-static void _list_click(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *it = (Elm_Object_Item *) elm_list_selected_item_get(obj);
- if(it == NULL) return;
-
- elm_list_item_selected_set(it, EINA_FALSE);
-}
-
-static Evas_Object* _create_list_winset(Evas_Object* parent, struct _menu_item *menu, struct appdata* ad)
-{
- Evas_Object *li;
-
- if(parent == NULL || ad == NULL) return NULL;
-
- li = elm_list_add(parent);
- elm_list_mode_set(li, ELM_LIST_COMPRESS);
- evas_object_smart_callback_add(li, "selected", _list_click, NULL);
-
- int idx = 0;
-
- while(menu[ idx ].name != NULL) {
-
- elm_list_item_append(
- li,
- menu[ idx ].name,
- NULL,
- NULL,
- menu[ idx ].func,
- ad);
- ++idx;
- }
-
- elm_list_go(li);
-
- return li;
-}
-
-void toolbar_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *list;
- struct appdata *ad;
- ad = (struct appdata *) data;
- if(ad == NULL) return;
-
- list = _create_list_winset(ad->layout_main, menu_main, ad);
- elm_naviframe_item_push(ad->nf, _("Toolbar"), NULL, NULL, list, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include <math.h>
-
-Ecore_Timer *timer, *timer2;
-
-#define ELM_MAX(v1, v2) (((v1) > (v2)) ? (v1) : (v2))
-
-static void segment_style_cb(void *data, Evas_Object *obj, void *event_info);
-static void progressbar_style_cb(void *data, Evas_Object *obj, void *event_info);
-static void loadingbar_style_cb(void *data, Evas_Object *obj, void *event_info);
-
-static Eina_Bool _fn_pb_timer_bar(void *data);
-
-static Evas_Object* _create_list_winset(Evas_Object* parent, struct _menu_item *menu, struct appdata* ad);
-
-static Evas_Object *create_segment(struct appdata *ad);
-static Evas_Object *create_progressbar(struct appdata *ad);
-static Evas_Object *create_loadingbar(struct appdata *ad);
-
-static struct _menu_item menu_main[] = {
- { "Segment Style", segment_style_cb},
- { "ProgressBar Style", progressbar_style_cb},
- { "LoadingBar Style", loadingbar_style_cb},
- /* do not delete below */
- { NULL, NULL }
-};
-
-static void _delete_timer()
-{
- if (timer){
- ecore_timer_del(timer);
- timer = NULL;
- }
-
- if (timer2){
- ecore_timer_del(timer2);
- timer = NULL;
- }
-}
-
-static Eina_Bool _pop_cb(void *data, Elm_Object_Item *it)
-{
- _delete_timer();
- return EINA_TRUE;
-}
-
-static void _response_cb(void *data, Evas_Object *obj, void *event_info)
-{
- evas_object_del(data);
-}
-
-static void _toolbar_clicked_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad = (struct appdata *)data;
- Evas_Object *popup, *btn1, *btn2;
-
- popup = elm_popup_add(ad->win_main);
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_text_set(popup,"Toolbar item was clicked. if you want to go back, press any button.");
- btn1 = elm_button_add(popup);
- elm_object_style_set(btn1, "popup");
- elm_object_text_set(btn1, "OK");
- elm_object_part_content_set(popup, "button1", btn1);
- evas_object_smart_callback_add(btn1, "clicked", _response_cb, popup);
- btn2 = elm_button_add(popup);
- elm_object_style_set(btn2, "popup");
- elm_object_text_set(btn2, "Cancel");
- elm_object_part_content_set(popup, "button2", btn2);
- evas_object_smart_callback_add(btn2, "clicked", _response_cb, popup);
- evas_object_show(popup);
-}
-
-static void segment_style_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *toolbar;
- Elm_Object_Item *navi_it;
- struct appdata *ad;
-
- ad = (struct appdata *) data;
- if (ad == NULL) return;
-
- _delete_timer();
-
- navi_it = elm_naviframe_top_item_get(ad->nf);
- toolbar = create_segment(ad);
- elm_object_item_part_content_set(navi_it, "controlbar", toolbar);
-}
-
-static void progressbar_style_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *toolbar;
- Elm_Object_Item *navi_it;
- struct appdata *ad;
-
- ad = (struct appdata *) data;
- if (ad == NULL) return;
-
- _delete_timer();
-
- navi_it = elm_naviframe_top_item_get(ad->nf);
- toolbar = create_progressbar(ad);
- elm_object_item_part_content_set(navi_it, "controlbar", toolbar);
-}
-
-static void loadingbar_style_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *toolbar;
- Elm_Object_Item *navi_it;
- struct appdata *ad;
-
- ad = (struct appdata *) data;
- if (ad == NULL) return;
-
- _delete_timer();
-
- navi_it = elm_naviframe_top_item_get(ad->nf);
- toolbar = create_loadingbar(ad);
- elm_object_item_part_content_set(navi_it, "controlbar", toolbar);
-}
-
-static void _list_click(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *it = (Elm_Object_Item *) elm_list_selected_item_get(obj);
- if (it == NULL) return;
-
- elm_list_item_selected_set(it, EINA_FALSE);
-}
-
-static Evas_Object* _create_list_winset(Evas_Object* parent, struct _menu_item *menu, struct appdata *ad)
-{
- Evas_Object *li;
-
- if (parent == NULL || ad == NULL) return NULL;
-
- li = elm_list_add(parent);
- elm_list_mode_set(li, ELM_LIST_COMPRESS);
- evas_object_smart_callback_add(li, "selected", _list_click, NULL);
-
- int idx = 0;
-
- while (menu[ idx ].name != NULL) {
-
- elm_list_item_append(
- li,
- menu[ idx ].name,
- NULL,
- NULL,
- menu[ idx ].func,
- ad);
- ++idx;
- }
-
- elm_list_go(li);
-
- return li;
-}
-
-static Eina_Bool _fn_pb_timer_bar(void *data)
-{
- double value=0.0;
- Evas_Object *progressbar = (Evas_Object*) data;
-
- value = elm_progressbar_value_get(progressbar);
- if (value == 1.0)
- value = 0.0;
- value = value + 0.01;
- elm_progressbar_value_set(progressbar, value);
- return ECORE_CALLBACK_RENEW;
-}
-
-static Evas_Object *create_segment(struct appdata *ad)
-{
- Evas_Object *obj;
- Evas_Object *segment;
- Evas_Object *box;
- Elm_Object_Item *item[3], *seg_it;
-
- /* create toolbar */
- obj = elm_toolbar_add(ad->nf);
- if (obj == NULL) return NULL;
- elm_toolbar_shrink_mode_set(obj, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_homogeneous_set(obj, EINA_FALSE);
-
- item[0] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_songs.png", "Songs", _toolbar_clicked_cb, ad);
-
- box = elm_box_add(obj);
- elm_box_horizontal_set(box, EINA_FALSE);
- evas_object_size_hint_min_set(box, 180, 20);
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(box);
-
- segment = elm_segment_control_add(box);
- evas_object_size_hint_weight_set(segment, EVAS_HINT_EXPAND, 0.5);
- evas_object_size_hint_align_set(segment, EVAS_HINT_FILL, 0.5);
- seg_it = elm_segment_control_item_add(segment, NULL, "All");
- elm_segment_control_item_add(segment, NULL, "Call");
- elm_segment_control_item_add(segment, NULL, "Message");
- elm_segment_control_item_selected_set(seg_it, EINA_TRUE);
- evas_object_show(segment);
- elm_box_pack_end(box, segment);
-
- item[1] = elm_toolbar_item_append(obj, NULL, NULL, NULL, NULL);
- elm_object_item_part_content_set(item[1], "object", box);
-
- return obj;
-}
-
-static Evas_Object *create_progressbar(struct appdata *ad)
-{
- Evas_Object *obj;
- Evas_Object *progressbar;
- Evas_Object *box;
- Evas_Object *label;
- Elm_Object_Item *item[3];
-
- /* create toolbar */
- obj = elm_toolbar_add(ad->nf);
- if (obj == NULL) return NULL;
- elm_toolbar_shrink_mode_set(obj, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_homogeneous_set(obj, EINA_FALSE);
-
- item[0] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_songs.png", "Songs", _toolbar_clicked_cb, ad);
-
- box = elm_box_add(obj);
- elm_box_horizontal_set(box, EINA_FALSE);
- evas_object_size_hint_min_set(box, 180, 20);
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(box);
-
- progressbar = elm_progressbar_add(box);
- elm_object_style_set(progressbar, "list_progress");
- elm_progressbar_horizontal_set(progressbar, EINA_TRUE);
- evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL, 1.0);
- elm_progressbar_span_size_set(progressbar, 150);
- elm_progressbar_value_set(progressbar, 0.0);
- timer = ecore_timer_add(0.1, _fn_pb_timer_bar, progressbar);
- evas_object_show(progressbar);
- elm_box_pack_end(box, progressbar);
-
- label = elm_label_add(box);
- elm_object_text_set(label, "<font_size=18><color=#ffffff>progressbar</color></font_size>");
- evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(label, 0.5, 0.5);
- evas_object_show(label);
- elm_box_pack_end(box, label);
-
- item[1] = elm_toolbar_item_append(obj, NULL, NULL, NULL, NULL);
- elm_object_item_part_content_set(item[1], "object", box);
-
- return obj;
-}
-
-static Evas_Object *create_loadingbar(struct appdata *ad)
-{
- Evas_Object *obj;
- Evas_Object *progressbar;
- Evas_Object *box;
- Evas_Object *label;
- Elm_Object_Item *item[3];
-
- /* create toolbar */
- obj = elm_toolbar_add(ad->nf);
- if (obj == NULL) return NULL;
- elm_toolbar_shrink_mode_set(obj, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_homogeneous_set(obj, EINA_FALSE);
-
- item[0] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_songs.png", "Songs", _toolbar_clicked_cb, ad);
-
- box = elm_box_add(obj);
- elm_box_horizontal_set(box, EINA_TRUE);
- elm_box_homogeneous_set(box, EINA_FALSE);
- evas_object_size_hint_min_set(box, 180, 20);
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(box, 0.5, EVAS_HINT_FILL);
- evas_object_show(box);
-
- progressbar = elm_progressbar_add(box);
- elm_object_style_set(progressbar, "toolbar_process");
- elm_progressbar_horizontal_set(progressbar, EINA_TRUE);
- evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(progressbar, 0.5, 0.5);
- elm_progressbar_span_size_set(progressbar, 60);
- elm_progressbar_pulse(progressbar, EINA_TRUE);
- evas_object_show(progressbar);
- elm_box_pack_end(box, progressbar);
-
- label = elm_label_add(box);
- elm_object_text_set(label, "<font_size=14><color=#ffffff>Activity Indicator Progressbar</color></font_size>");
- evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(label, 0.5, 0.5);
- evas_object_show(label);
- elm_box_pack_end(box, label);
-
- item[1] = elm_toolbar_item_append(obj, NULL, NULL, NULL, NULL);
- elm_object_item_part_content_set(item[1], "object", box);
-
- return obj;
-}
-
-void mix_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Evas_Object *sub_view = NULL;
- Evas_Object *toolbar;
- Elm_Object_Item *navi_it;
-
- ad = (struct appdata *) data;
- if (ad == NULL) return;
-
- sub_view = _create_list_winset(obj, menu_main, ad);
- navi_it = elm_naviframe_item_push(ad->nf, _("Mixbar"), NULL, NULL, sub_view, NULL);
- elm_naviframe_item_pop_cb_set(navi_it, _pop_cb, ad);
- toolbar = create_segment(ad);
- elm_object_item_part_content_set(navi_it, "controlbar", toolbar);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include <math.h>
-
-Evas_Object *ly;
-static Ecore_Timer *timer;
-#define ELM_MAX(v1, v2) (((v1) > (v2)) ? (v1) : (v2))
-
-static void _2_items_style_cb(void *data, Evas_Object *obj, void *event_info);
-static void _3_items_style_cb(void *data, Evas_Object *obj, void *event_info);
-static void _scrollable_style_cb(void *data, Evas_Object *obj, void *event_info);
-//static void _more_items_style_cb(void *data, Evas_Object *obj, void *event_info);
-static void _2_items_with_title_style_cb(void *data, Evas_Object *obj, void *event_info);
-static void _3_items_with_title_style_cb(void *data, Evas_Object *obj, void *event_info);
-static void _4_items_with_title_style_cb(void *data, Evas_Object *obj, void *event_info);
-//static void _icon_only_style_cb(void *data, Evas_Object *obj, void *event_info) ;
-
-static Evas_Object* _create_list_winset(Evas_Object* parent, struct _menu_item *menu, struct appdata* ad);
-
-static Evas_Object *create_2_items_tabbar(struct appdata *ad);
-static Evas_Object *create_3_items_tabbar(struct appdata *ad);
-static Evas_Object *create_scrollable_tabbar(struct appdata *ad);
-//static Evas_Object *create_more_items_tabbar(struct appdata *ad);
-static Evas_Object *create_text_only_2_items_tabbar(struct appdata *ad);
-static Evas_Object *create_text_only_3_items_tabbar(struct appdata *ad);
-static Evas_Object *create_text_only_4_items_tabbar(struct appdata *ad);
-//static Evas_Object *create_icon_only_tabbar(struct appdata *ad);
-
-static struct _menu_item menu_main[] = {
- { "2 Items Style", _2_items_style_cb},
- { "3 Items Style", _3_items_style_cb},
- { "Scrollable Style", _scrollable_style_cb},
-// { "More Items Style", _more_items_style_cb},
- { "2 Items With Title Style", _2_items_with_title_style_cb},
- { "3 Items With Title Style", _3_items_with_title_style_cb},
- { "4 Items With Title Style", _4_items_with_title_style_cb},
-// { "Icon Only Style", _icon_only_style_cb},
- /* do not delete below */
- { NULL, NULL }
-};
-
-static struct _menu_item menu_first[] = {
- { "Music", NULL},
- { "Message", NULL},
- { "Call", NULL},
- { "Memo", NULL},
- { "Alarm", NULL},
- { "SNS", NULL},
- { "Email", NULL},
- { "Worldclock", NULL},
- { "Converter", NULL},
- { "Stopwatch", NULL},
- { "Calculator", NULL},
- /* do not delete below */
- { NULL, NULL }
-};
-
-static struct _menu_item menu_second[] = {
- { "Tab Bar", NULL},
- { "Navigation Bar", NULL},
- { "Slider", NULL},
- { "Genlist", NULL},
- { "Tool Bar", NULL},
- { "Color Picker", NULL},
- /* do not delete below */
- { NULL, NULL }
-};
-
-static struct _menu_item menu_third[] = {
- { "Eina", NULL},
- { "Evas", NULL},
- { "Ecore", NULL},
- { "Elementary", NULL},
- { "Edje", NULL},
- { "Eet", NULL},
- /* do not delete below */
- { NULL, NULL }
-};
-
-static struct _menu_item menu_fourth[] = {
- { "Aquila", NULL},
- { "Pantheon", NULL},
- { "Kessler", NULL},
- { "Neptune", NULL},
- { "Aqua", NULL},
- /* do not delete below */
- { NULL, NULL }
-};
-
-static void _2_items_style_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *tabbar;
- Elm_Object_Item *navi_it;
- struct appdata *ad;
- ad = (struct appdata *) data;
- if(ad == NULL) return;
-
- if (ly)
- {
- tabbar = elm_object_part_content_unset(ly, "elm.swallow.tabbar");
- if (tabbar) evas_object_del(tabbar);
- tabbar = create_2_items_tabbar(ad);
- elm_object_part_content_set(ly, "elm.swallow.tabbar", tabbar);
- navi_it = elm_naviframe_top_item_get(ad->nf);
- } else
- {
- ly = elm_layout_add(ad->nf);
- elm_layout_theme_set(ly, "layout", "tabbar", "default");
- tabbar = create_2_items_tabbar(ad);
- elm_object_part_content_set(ly, "elm.swallow.tabbar", tabbar);
- navi_it = elm_naviframe_top_item_get(ad->nf);
- elm_object_item_part_content_set(navi_it, NULL, ly);
- }
- elm_naviframe_item_title_enabled_set(navi_it, EINA_FALSE, EINA_FALSE);
-}
-
-static void _3_items_style_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *tabbar;
- Elm_Object_Item *navi_it;
- struct appdata *ad;
- ad = (struct appdata *) data;
- if(ad == NULL) return;
-
- if (ly)
- {
- tabbar = elm_object_part_content_unset(ly, "elm.swallow.tabbar");
- if (tabbar) evas_object_del(tabbar);
- tabbar = create_3_items_tabbar(ad);
- elm_object_part_content_set(ly, "elm.swallow.tabbar", tabbar);
- navi_it = elm_naviframe_top_item_get(ad->nf);
- } else
- {
- ly = elm_layout_add(ad->nf);
- elm_layout_theme_set(ly, "layout", "tabbar", "default");
- tabbar = create_3_items_tabbar(ad);
- elm_object_part_content_set(ly, "elm.swallow.tabbar", tabbar);
- navi_it = elm_naviframe_top_item_get(ad->nf);
- elm_object_item_part_content_set(navi_it, NULL, ly);
- }
- elm_naviframe_item_title_enabled_set(navi_it, EINA_FALSE, EINA_FALSE);
-}
-
-static void _scrollable_style_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *tabbar;
- Elm_Object_Item *navi_it;
- struct appdata *ad;
- ad = (struct appdata *) data;
- if(ad == NULL) return;
-
- if (ly)
- {
- tabbar = elm_object_part_content_unset(ly, "elm.swallow.tabbar");
- if (tabbar) evas_object_del(tabbar);
- tabbar = create_scrollable_tabbar(ad);
- elm_object_part_content_set(ly, "elm.swallow.tabbar", tabbar);
- navi_it = elm_naviframe_top_item_get(ad->nf);
- } else
- {
- ly = elm_layout_add(ad->nf);
- elm_layout_theme_set(ly, "layout", "tabbar", "default");
- tabbar = create_scrollable_tabbar(ad);
- elm_object_part_content_set(ly, "elm.swallow.tabbar", tabbar);
- navi_it = elm_naviframe_top_item_get(ad->nf);
- elm_object_item_part_content_set(navi_it, NULL, ly);
- }
- elm_naviframe_item_title_enabled_set(navi_it, EINA_FALSE, EINA_FALSE);
-}
-
-/*static void _more_items_style_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *tabbar;
- struct appdata *ad;
- ad = (struct appdata *) data;
- if(ad == NULL) return;
-
- tabbar = elm_object_part_content_unset(ly, "elm.swallow.tabbar");
- if (tabbar) evas_object_del(tabbar);
- tabbar = create_more_items_tabbar(ad);
- elm_object_part_content_set(ly, "elm.swallow.tabbar", tabbar);
-}*/
-
-static void _2_items_with_title_style_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *tabbar;
- Elm_Object_Item *navi_it;
- struct appdata *ad;
- ad = (struct appdata *) data;
- if(ad == NULL) return;
-
- if (ly)
- {
- tabbar = elm_object_part_content_unset(ly, "elm.swallow.tabbar");
- if (tabbar) evas_object_del(tabbar);
- evas_object_del(ly);
- ly = NULL;
- }
-
- navi_it = elm_naviframe_top_item_get(ad->nf);
- elm_object_item_part_text_set(navi_it, NULL, "2 Items with Title");
-
- tabbar = create_text_only_2_items_tabbar(ad);
- elm_object_item_part_content_set(navi_it, "tabbar", tabbar);
-
- elm_naviframe_item_title_enabled_set(navi_it, EINA_TRUE, EINA_FALSE);
-}
-
-static void _3_items_with_title_style_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *tabbar;
- Elm_Object_Item *navi_it;
- struct appdata *ad;
- ad = (struct appdata *) data;
- if(ad == NULL) return;
-
- if (ly)
- {
- tabbar = elm_object_part_content_unset(ly, "elm.swallow.tabbar");
- if(tabbar) evas_object_del(tabbar);
- evas_object_del(ly);
- ly = NULL;
- }
-
- navi_it = elm_naviframe_top_item_get(ad->nf);
- elm_object_item_part_text_set(navi_it, NULL, "3 Items with Title");
-
- tabbar = create_text_only_3_items_tabbar(ad);
- elm_object_item_part_content_set(navi_it, "tabbar", tabbar);
-
- elm_naviframe_item_title_enabled_set(navi_it, EINA_TRUE, EINA_FALSE);
-}
-
-static void _4_items_with_title_style_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *tabbar;
- Elm_Object_Item *navi_it;
- struct appdata *ad;
- ad = (struct appdata *) data;
- if(ad == NULL) return;
-
- if (ly)
- {
- tabbar = elm_object_part_content_unset(ly, "elm.swallow.tabbar");
- if (tabbar) evas_object_del(tabbar);
- evas_object_del(ly);
- ly = NULL;
- }
-
- navi_it = elm_naviframe_top_item_get(ad->nf);
- elm_object_item_part_text_set(navi_it, NULL, "4 Items with Title");
-
- tabbar = create_text_only_4_items_tabbar(ad);
- elm_object_item_part_content_set(navi_it, "tabbar", tabbar);
-
- elm_naviframe_item_title_enabled_set(navi_it, EINA_TRUE, EINA_FALSE);
-}
-
-/*static void _icon_only_style_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *tabbar;
- struct appdata *ad;
- ad = (struct appdata *) data;
- if(ad == NULL) return;
-
- tabbar = elm_object_part_content_unset(ly, "elm.swallow.tabbar");
- if (tabbar) evas_object_del(tabbar);
- tabbar = create_icon_only_tabbar(ad);
- elm_object_part_content_set(ly, "elm.swallow.tabbar", tabbar);
-}*/
-
-static void _list_click(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *it = (Elm_Object_Item *) elm_list_selected_item_get(obj);
- if(it == NULL) return;
-
- if (timer && strcmp(elm_object_item_text_get(it), "Scrollable Style"))
- {
- ecore_timer_del(timer);
- timer = NULL;
- }
-
- elm_list_item_selected_set(it, EINA_FALSE);
-}
-
-static Evas_Object* _create_list_winset(Evas_Object* parent, struct _menu_item *menu, struct appdata *ad)
-{
- Evas_Object *li;
-
- if(parent == NULL || ad == NULL) return NULL;
-
- li = elm_list_add(parent);
- elm_list_mode_set(li, ELM_LIST_COMPRESS);
- evas_object_smart_callback_add(li, "selected", _list_click, NULL);
-
- int idx = 0;
-
- while(menu[ idx ].name != NULL) {
-
- elm_list_item_append(
- li,
- menu[ idx ].name,
- NULL,
- NULL,
- menu[ idx ].func,
- ad);
- ++idx;
- }
-
- elm_list_go(li);
-
- return li;
-}
-
-static void view_change_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad = (struct appdata *)data;
- Evas_Object *sub_view;
- Elm_Object_Item *it;
- const char *str = NULL;
-
- it = elm_toolbar_selected_item_get(obj);
- if (it)
- str = elm_object_item_text_get(it);
-
- sub_view = elm_object_part_content_unset(ly, "elm.swallow.content");
- evas_object_del(sub_view);
-
- if (!str || !strcmp(str, "Main"))
- sub_view = _create_list_winset(ad->layout_main, menu_main, ad);
- else if (!strcmp(str, "Playlist"))
- sub_view = _create_list_winset(ad->layout_main, menu_first, ad);
- else if (!strcmp(str, "Artists list"))
- sub_view = _create_list_winset(ad->layout_main, menu_second, ad);
- else if (!strcmp(str, "Songs"))
- sub_view = _create_list_winset(ad->layout_main, menu_third, ad);
- else if (!strcmp(str, "Dialer for call"))
- sub_view = _create_list_winset(ad->layout_main, menu_fourth, ad);
- else
- sub_view = _create_list_winset(ad->layout_main, menu_main, ad);
-
- elm_object_part_content_set(ly, "elm.swallow.content", sub_view);
- evas_object_show(sub_view);
-}
-
-static void view_change_cb2(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad = (struct appdata *)data;
- Evas_Object *sub_view;
- Elm_Object_Item *it, *navi_it;
- const char *str = NULL;
-
- it = elm_toolbar_selected_item_get(obj);
- if (it)
- str = elm_object_item_text_get(it);
-
- if (!str || !strcmp(str, "Main"))
- sub_view = _create_list_winset(ad->layout_main, menu_main, ad);
- else if (!strcmp(str, "Playlist"))
- sub_view = _create_list_winset(ad->layout_main, menu_first, ad);
- else if (!strcmp(str, "Artists list"))
- sub_view = _create_list_winset(ad->layout_main, menu_second, ad);
- else if (!strcmp(str, "Songs"))
- sub_view = _create_list_winset(ad->layout_main, menu_third, ad);
- else if (!strcmp(str, "Dialer for call"))
- sub_view = _create_list_winset(ad->layout_main, menu_fourth, ad);
- else
- sub_view = _create_list_winset(ad->layout_main, menu_main, ad);
-
- navi_it = elm_naviframe_top_item_get(ad->nf);
- elm_object_item_part_content_set(navi_it, NULL, sub_view);
- evas_object_show(sub_view);
-}
-/*static void _toolbar_clicked_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *it = elm_toolbar_more_item_get(data);
- if (!strcmp(elm_object_item_text_get(it), "Open") && (it == elm_toolbar_selected_item_get(data)))
- {
- elm_toolbar_item_icon_set(it, "arrow_up");
- elm_object_item_text_set(it, "Close");
- }
- else if (!strcmp(elm_object_item_text_get(it), "Close"))
- {
- elm_toolbar_item_icon_set(it, "arrow_down");
- elm_object_item_text_set(it, "Open");
- }
-}*/
-
-static int _rotate_toolbar_cb(enum appcore_rm rotmode, void *data)
-{
- switch (rotmode) {
- case APPCORE_RM_PORTRAIT_NORMAL:
-
- case APPCORE_RM_PORTRAIT_REVERSE:
-
- case APPCORE_RM_UNKNOWN:
- elm_object_signal_emit(ly, "elm,state,icon_text,tabbar", "elm");
- elm_object_style_set((Evas_Object *)data, "tabbar");
- break;
-
- case APPCORE_RM_LANDSCAPE_NORMAL:
-
- case APPCORE_RM_LANDSCAPE_REVERSE:
- elm_object_signal_emit(ly, "elm,state,horizontal_icon_text,tabbar", "elm");
- elm_object_style_set((Evas_Object *)data, "tabbar/item_horizontal");
- break;
- }
- return 0;
-}
-
-static Eina_Bool item_show_last(void *data)
-{
- elm_toolbar_item_show(data, ELM_TOOLBAR_ITEM_SCROLLTO_LAST);
-
- return ECORE_CALLBACK_CANCEL;
-}
-
-static Eina_Bool item_bring_in_first(void *data)
-{
- timer = NULL;
- elm_toolbar_item_bring_in(data, ELM_TOOLBAR_ITEM_SCROLLTO_FIRST);
-
- return ECORE_CALLBACK_CANCEL;
-}
-
-static Evas_Object *create_2_items_tabbar(struct appdata *ad)
-{
- Evas_Object *obj;
- Elm_Object_Item *item[3];
-
- /* create toolbar */
- obj = elm_toolbar_add(ad->nf);
- if(obj == NULL) return NULL;
- elm_toolbar_shrink_mode_set(obj, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_reorder_mode_set(obj, EINA_TRUE);
- elm_toolbar_transverse_expanded_set(obj, EINA_TRUE);
-
- elm_object_signal_emit(ly, "elm,state,icon_text,tabbar", "elm");
- elm_object_style_set(obj, "tabbar");
-
- item[0] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_favorites.png", "Main", view_change_cb, ad);
- item[1] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_artists.png", "Artists list", view_change_cb, ad);
- elm_object_item_part_text_set(item[1], "elm.text.badge", "24");
-
- elm_toolbar_select_mode_set(obj, ELM_OBJECT_SELECT_MODE_ALWAYS);
- elm_toolbar_item_selected_set(item[0], EINA_TRUE);
-
- return obj;
-}
-
-static Evas_Object *create_3_items_tabbar(struct appdata *ad)
-{
- Evas_Object *obj;
- Elm_Object_Item *item[3];
-
- /* create toolbar */
- obj = elm_toolbar_add(ad->nf);
- if(obj == NULL) return NULL;
- elm_toolbar_shrink_mode_set(obj, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_reorder_mode_set(obj, EINA_TRUE);
- elm_toolbar_transverse_expanded_set(obj, EINA_TRUE);
-
- elm_object_signal_emit(ly, "elm,state,icon_text,tabbar", "elm");
- elm_object_style_set(obj, "tabbar");
-
- item[0] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_favorites.png", "Main", view_change_cb, ad);
- item[1] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_playlist.png", "Playlist", view_change_cb, ad);
- item[2] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_artists.png", "Artists list", view_change_cb, ad);
- elm_object_item_part_text_set(item[2], "elm.text.badge", "7");
-
- elm_toolbar_select_mode_set(obj, ELM_OBJECT_SELECT_MODE_ALWAYS);
- elm_toolbar_item_selected_set(item[0], EINA_TRUE);
-
- return obj;
-}
-
-static Evas_Object *create_scrollable_tabbar(struct appdata *ad)
-{
- Evas_Object *obj;
- Elm_Object_Item *item[8];
-
- /* create toolbar */
- obj = elm_toolbar_add(ad->nf);
- if(obj == NULL) return NULL;
- elm_toolbar_shrink_mode_set(obj, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_reorder_mode_set(obj, EINA_TRUE);
- elm_toolbar_transverse_expanded_set(obj, EINA_TRUE);
-
- elm_object_signal_emit(ly, "elm,state,icon_text,tabbar", "elm");
- elm_object_style_set(obj, "tabbar");
-
- item[0] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_favorites.png", "Main", view_change_cb, ad);
- item[1] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_playlist.png", "Playlist", view_change_cb, ad);
- elm_object_item_part_text_set(item[1], "elm.text.badge", "99");
- item[2] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_artists.png", "Artists list", view_change_cb, ad);
- elm_object_item_disabled_set(item[2], EINA_TRUE);
- elm_object_item_part_text_set(item[2], "elm.text.badge", "8");
- item[3] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_songs.png", "Songs", view_change_cb, ad);
- item[4] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_dialer.png", "Dialer for call", view_change_cb, ad);
- item[5] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_playlist.png", "Playlist", view_change_cb, ad);
- elm_object_item_part_text_set(item[5], "elm.text.badge", "999");
- item[6] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_artists.png", "Artists list", view_change_cb, ad);
- item[7] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_songs.png", "Songs", view_change_cb, ad);
- elm_object_item_part_text_set(item[7], "elm.text.badge", "9999");
-
- elm_toolbar_select_mode_set(obj, ELM_OBJECT_SELECT_MODE_ALWAYS);
- elm_toolbar_item_selected_set(item[0], EINA_TRUE);
-
- ecore_idler_add(item_show_last, item[7]);
- timer = ecore_timer_add(0.5, item_bring_in_first, item[0]);
-
- set_rotate_cb_for_winset(_rotate_toolbar_cb, obj);
-
- return obj;
-}
-
-/*static Evas_Object *create_more_items_tabbar(struct appdata *ad)
-{
- Evas_Object *obj;
- Elm_Object_Item *item[14];
-
- // create toolbar //
- obj = elm_toolbar_add(ad->nf);
- if(obj == NULL) return NULL;
- elm_toolbar_shrink_mode_set(obj, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_reorder_mode_set(obj, EINA_TRUE);
- elm_toolbar_transverse_expanded_set(obj, EINA_TRUE);
-
- elm_toolbar_standard_priority_set(obj, 1);
-
- elm_object_signal_emit(ly, "elm,state,icon_text,tabbar", "elm");
- elm_object_style_set(obj, "tabbar");
-
- item[0] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_favorites.png", "Main", view_change_cb, ad);
- elm_toolbar_item_priority_set(item[0], 100);
- item[1] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_playlist.png", "Playlist", view_change_cb, ad);
- elm_toolbar_item_priority_set(item[1], 100);
- item[2] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_artists.png", "Artists list", view_change_cb, ad);
- elm_toolbar_item_priority_set(item[2], 100);
- item[3] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_songs.png", "Songs", view_change_cb, ad);
- elm_toolbar_item_priority_set(item[3], 100);
- item[4] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_dialer.png", "Dialer for call", view_change_cb, ad);
-
- item[5] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_favorites.png", "Main", view_change_cb, ad);
- item[6] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_playlist.png", "Playlist", view_change_cb, ad);
- item[7] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_artists.png", "Artists list", view_change_cb, ad);
- item[8] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_songs.png", "Songs", view_change_cb, ad);
- item[9] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_dialer.png", "Dialer for call", view_change_cb, ad);
-
- item[10] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_playlist.png", "Playlist", view_change_cb, ad);
- item[11] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_artists.png", "Artists list", view_change_cb, ad);
- item[12] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_songs.png", "Songs", view_change_cb, ad);
- item[13] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_dialer.png", "Dialer for call", view_change_cb, ad);
-
- elm_toolbar_select_mode_set(obj, ELM_OBJECT_SELECT_MODE_ALWAYS);
- elm_toolbar_item_selected_set(item[0], EINA_TRUE);
-
- elm_toolbar_item_icon_set(elm_toolbar_more_item_get(obj), "arrow_down");
- elm_object_item_text_set(elm_toolbar_more_item_get(obj), "Open");
-
- evas_object_smart_callback_add(obj, "clicked", _toolbar_clicked_cb, obj);
-
- return obj;
-}*/
-
-static Evas_Object *create_text_only_2_items_tabbar(struct appdata *ad)
-{
- Evas_Object *obj;
- Elm_Object_Item *item[5];
-
- /* create toolbar */
- obj = elm_toolbar_add(ad->nf);
- if(obj == NULL) return NULL;
- elm_toolbar_shrink_mode_set(obj, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_reorder_mode_set(obj, EINA_TRUE);
- elm_toolbar_transverse_expanded_set(obj, EINA_TRUE);
- elm_object_style_set(obj, "tabbar/item_with_title");
-
- item[0] = elm_toolbar_item_append(obj, NULL, "Main", view_change_cb2, ad);
- item[1] = elm_toolbar_item_append(obj, NULL, "Playlist", view_change_cb2, ad);
-
- elm_toolbar_select_mode_set(obj, ELM_OBJECT_SELECT_MODE_ALWAYS);
- elm_toolbar_item_selected_set(item[0], EINA_TRUE);
-
- return obj;
-}
-
-static Evas_Object *create_text_only_3_items_tabbar(struct appdata *ad)
-{
- Evas_Object *obj;
- Elm_Object_Item *item[5];
-
- /* create toolbar */
- obj = elm_toolbar_add(ad->nf);
- if(obj == NULL) return NULL;
- elm_toolbar_shrink_mode_set(obj, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_reorder_mode_set(obj, EINA_TRUE);
- elm_toolbar_transverse_expanded_set(obj, EINA_TRUE);
- elm_object_style_set(obj, "tabbar/item_with_title");
-
- item[0] = elm_toolbar_item_append(obj, NULL, "Main", view_change_cb2, ad);
- item[1] = elm_toolbar_item_append(obj, NULL, "Playlist", view_change_cb2, ad);
- item[2] = elm_toolbar_item_append(obj, NULL, "Artists list", view_change_cb2, ad);
-
- elm_toolbar_select_mode_set(obj, ELM_OBJECT_SELECT_MODE_ALWAYS);
- elm_toolbar_item_selected_set(item[0], EINA_TRUE);
-
- return obj;
-}
-
-static Evas_Object *create_text_only_4_items_tabbar(struct appdata *ad)
-{
- Evas_Object *obj;
- Elm_Object_Item *item[5];
-
- /* create toolbar */
- obj = elm_toolbar_add(ad->nf);
- if(obj == NULL) return NULL;
- elm_toolbar_shrink_mode_set(obj, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_reorder_mode_set(obj, EINA_TRUE);
- elm_toolbar_transverse_expanded_set(obj, EINA_TRUE);
- elm_object_style_set(obj, "tabbar/item_with_title");
-
- item[0] = elm_toolbar_item_append(obj, NULL, "Main", view_change_cb2, ad);
- item[1] = elm_toolbar_item_append(obj, NULL, "Playlist", view_change_cb2, ad);
- item[2] = elm_toolbar_item_append(obj, NULL, "Artists list", view_change_cb2, ad);
- item[3] = elm_toolbar_item_append(obj, NULL, "Composers", view_change_cb2, ad);
-
- elm_toolbar_select_mode_set(obj, ELM_OBJECT_SELECT_MODE_ALWAYS);
- elm_toolbar_item_selected_set(item[0], EINA_TRUE);
-
- return obj;
-}
-
-/*static Evas_Object *create_icon_only_tabbar(struct appdata *ad)
-{
- Evas_Object *obj;
- Elm_Object_Item *item[5];
-
- // create toolbar //
- obj = elm_toolbar_add(ad->nf);
- if(obj == NULL) return NULL;
- elm_toolbar_shrink_mode_set(obj, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_reorder_mode_set(obj, EINA_TRUE);
- elm_toolbar_transverse_expanded_set(obj, EINA_TRUE);
-
- elm_object_signal_emit(ly, "elm,state,default,tabbar", "elm");
- elm_object_style_set(obj, "tabbar");
-
- item[0] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_favorites.png", NULL, view_change_cb, ad);
- item[1] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_playlist.png", NULL, view_change_cb, ad);
- item[2] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_artists.png", NULL, view_change_cb, ad);
- item[3] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_songs.png", NULL, view_change_cb, ad);
- item[4] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_dialer.png", NULL, view_change_cb, ad);
- elm_object_item_part_text_set(item[4], "elm.text.badge", "999");
-
- elm_toolbar_select_mode_set(obj, ELM_OBJECT_SELECT_MODE_ALWAYS);
- elm_toolbar_item_selected_set(item[0], EINA_TRUE);
-
- return obj;
-}*/
-
-void tab_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Evas_Object *tabbar;
- Elm_Object_Item *nf_it;
-
- ad = (struct appdata *) data;
- if(ad == NULL) return;
-
- ly = elm_layout_add(ad->nf);
- elm_layout_theme_set(ly, "layout", "tabbar", "default");
-
- tabbar = create_scrollable_tabbar(ad);
- elm_object_part_content_set(ly, "elm.swallow.tabbar", tabbar);
- nf_it = elm_naviframe_item_push(ad->nf, _("Tabbar"), NULL, NULL, ly, "tabbar");
- elm_naviframe_item_title_enabled_set(nf_it, EINA_FALSE, EINA_FALSE);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include <math.h>
-
-//Evas_Object *sub_view[10];
-
-#define ELM_MAX(v1, v2) (((v1) > (v2)) ? (v1) : (v2))
-
-static void _1_items_style_cb(void *data, Evas_Object *obj, void *event_info);
-static void _2_items_style_cb(void *data, Evas_Object *obj, void *event_info);
-static void _3_items_style_cb(void *data, Evas_Object *obj, void *event_info);
-static void _1_icons_style_cb(void *data, Evas_Object *obj, void *event_info);
-static void _2_icons_style_cb(void *data, Evas_Object *obj, void *event_info);
-static void _3_icons_style_cb(void *data, Evas_Object *obj, void *event_info);
-static void _4_icons_style_cb(void *data, Evas_Object *obj, void *event_info);
-static void _5_icons_style_cb(void *data, Evas_Object *obj, void *event_info);
-static void _6_icons_style_cb(void *data, Evas_Object *obj, void *event_info);
-static void _2_icons_gap_style_cb(void *data, Evas_Object *obj, void *event_info);
-static void _3_icons_gap_style_cb(void *data, Evas_Object *obj, void *event_info);
-//static void _segment_style_cb(void *data, Evas_Object *obj, void *event_info);
-
-static Evas_Object* _create_list_winset(Evas_Object* parent, struct _menu_item *menu, struct appdata* ad);
-
-static Evas_Object *create_1_items_toolbar(struct appdata *ad);
-static Evas_Object *create_2_items_toolbar(struct appdata *ad);
-static Evas_Object *create_3_items_toolbar(struct appdata *ad);
-static Evas_Object *create_1_icons_toolbar(struct appdata *ad);
-static Evas_Object *create_2_icons_toolbar(struct appdata *ad);
-static Evas_Object *create_3_icons_toolbar(struct appdata *ad);
-static Evas_Object *create_4_icons_toolbar(struct appdata *ad);
-static Evas_Object *create_5_icons_toolbar(struct appdata *ad);
-static Evas_Object *create_6_icons_toolbar(struct appdata *ad);
-static Evas_Object *create_2_icons_gap_toolbar(struct appdata *ad);
-static Evas_Object *create_3_icons_gap_toolbar(struct appdata *ad);
-//static Evas_Object *create_segment_items_toolbar(struct appdata *ad);
-
-static struct _menu_item menu_main[] = {
- { "1 Items Style", _1_items_style_cb},
- { "2 Items Style", _2_items_style_cb},
- { "3 Items Style", _3_items_style_cb},
- { "1 Icons Style", _1_icons_style_cb},
- { "2 Icons Style", _2_icons_style_cb},
- { "3 Icons Style", _3_icons_style_cb},
- { "4 Icons Style", _4_icons_style_cb},
- { "5 Icons Style", _5_icons_style_cb},
- { "6 Icons Style", _6_icons_style_cb},
- { "2 Icons Gap Style", _2_icons_gap_style_cb},
- { "3 Icons Gap Style", _3_icons_gap_style_cb},
-// { "Segment Style", _segment_style_cb},
- /* do not delete below */
- { NULL, NULL }
-};
-
-static void _response_cb(void *data, Evas_Object *obj, void *event_info)
-{
- evas_object_del(data);
-}
-
-static void _toolbar_clicked_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad = (struct appdata *)data;
- Evas_Object *popup, *btn1, *btn2;
-
- popup = elm_popup_add(ad->win_main);
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_text_set(popup,"Toolbar item was clicked. if you want to go back, press any button.");
- btn1 = elm_button_add(popup);
- elm_object_style_set(btn1, "popup");
- elm_object_text_set(btn1, "OK");
- elm_object_part_content_set(popup, "button1", btn1);
- evas_object_smart_callback_add(btn1, "clicked", _response_cb, popup);
- btn2 = elm_button_add(popup);
- elm_object_style_set(btn2, "popup");
- elm_object_text_set(btn2, "Cancel");
- elm_object_part_content_set(popup, "button2", btn2);
- evas_object_smart_callback_add(btn2, "clicked", _response_cb, popup);
- evas_object_show(popup);
-}
-
-static void _1_items_style_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *toolbar;
- Elm_Object_Item *navi_it;
- struct appdata *ad;
- ad = (struct appdata *) data;
- if(ad == NULL) return;
-
- navi_it = elm_naviframe_top_item_get(ad->nf);
- toolbar = create_1_items_toolbar(ad);
- elm_object_item_part_content_set(navi_it, "toolbar", toolbar);
-}
-
-static void _2_items_style_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *toolbar;
- Elm_Object_Item *navi_it;
- struct appdata *ad;
- ad = (struct appdata *) data;
- if(ad == NULL) return;
-
- navi_it = elm_naviframe_top_item_get(ad->nf);
- toolbar = create_2_items_toolbar(ad);
- elm_object_item_part_content_set(navi_it, "toolbar", toolbar);
-}
-
-static void _3_items_style_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *toolbar;
- Elm_Object_Item *navi_it;
- struct appdata *ad;
- ad = (struct appdata *) data;
- if(ad == NULL) return;
-
- navi_it = elm_naviframe_top_item_get(ad->nf);
- toolbar = create_3_items_toolbar(ad);
- elm_object_item_part_content_set(navi_it, "toolbar", toolbar);
-}
-
-static void _1_icons_style_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *toolbar;
- Elm_Object_Item *navi_it;
- struct appdata *ad;
- ad = (struct appdata *) data;
- if(ad == NULL) return;
-
- navi_it = elm_naviframe_top_item_get(ad->nf);
- toolbar = create_1_icons_toolbar(ad);
- elm_object_item_part_content_set(navi_it, "toolbar", toolbar);
-}
-
-static void _2_icons_style_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *toolbar;
- Elm_Object_Item *navi_it;
- struct appdata *ad;
- ad = (struct appdata *) data;
- if(ad == NULL) return;
-
- navi_it = elm_naviframe_top_item_get(ad->nf);
- toolbar = create_2_icons_toolbar(ad);
- elm_object_item_part_content_set(navi_it, "toolbar", toolbar);
-}
-
-static void _3_icons_style_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *toolbar;
- Elm_Object_Item *navi_it;
- struct appdata *ad;
- ad = (struct appdata *) data;
- if(ad == NULL) return;
-
- navi_it = elm_naviframe_top_item_get(ad->nf);
- toolbar = create_3_icons_toolbar(ad);
- elm_object_item_part_content_set(navi_it, "toolbar", toolbar);
-}
-
-static void _4_icons_style_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *toolbar;
- Elm_Object_Item *navi_it;
- struct appdata *ad;
- ad = (struct appdata *) data;
- if(ad == NULL) return;
-
- navi_it = elm_naviframe_top_item_get(ad->nf);
- toolbar = create_4_icons_toolbar(ad);
- elm_object_item_part_content_set(navi_it, "toolbar", toolbar);
-}
-
-static void _5_icons_style_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *toolbar;
- Elm_Object_Item *navi_it;
- struct appdata *ad;
- ad = (struct appdata *) data;
- if(ad == NULL) return;
-
- navi_it = elm_naviframe_top_item_get(ad->nf);
- toolbar = create_5_icons_toolbar(ad);
- elm_object_item_part_content_set(navi_it, "toolbar", toolbar);
-}
-
-static void _6_icons_style_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *toolbar;
- Elm_Object_Item *navi_it;
- struct appdata *ad;
- ad = (struct appdata *) data;
- if(ad == NULL) return;
-
- navi_it = elm_naviframe_top_item_get(ad->nf);
- toolbar = create_6_icons_toolbar(ad);
- elm_object_item_part_content_set(navi_it, "toolbar", toolbar);
-}
-
-static void _2_icons_gap_style_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *toolbar;
- Elm_Object_Item *navi_it;
- struct appdata *ad;
- ad = (struct appdata *) data;
- if(ad == NULL) return;
-
- navi_it = elm_naviframe_top_item_get(ad->nf);
- toolbar = create_2_icons_gap_toolbar(ad);
- elm_object_item_part_content_set(navi_it, "toolbar", toolbar);
-}
-
-static void _3_icons_gap_style_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *toolbar;
- Elm_Object_Item *navi_it;
- struct appdata *ad;
- ad = (struct appdata *) data;
- if(ad == NULL) return;
-
- navi_it = elm_naviframe_top_item_get(ad->nf);
- toolbar = create_3_icons_gap_toolbar(ad);
- elm_object_item_part_content_set(navi_it, "toolbar", toolbar);
-}
-
-/*
-static void _segment_style_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *toolbar;
- Elm_Object_Item *navi_it;
- struct appdata *ad;
- ad = (struct appdata *) data;
- if(ad == NULL) return;
-
- navi_it = elm_naviframe_top_item_get(ad->nf);
- toolbar = create_segment_items_toolbar(ad);
- elm_object_item_part_content_set(navi_it, "toolbar", toolbar);
-}*/
-
-static void _list_click(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *it = (Elm_Object_Item *) elm_list_selected_item_get(obj);
- if(it == NULL) return;
-
- elm_list_item_selected_set(it, EINA_FALSE);
-}
-
-static Evas_Object* _create_list_winset(Evas_Object* parent, struct _menu_item *menu, struct appdata *ad)
-{
- Evas_Object *li;
-
- if(parent == NULL || ad == NULL) return NULL;
-
- li = elm_list_add(parent);
- elm_list_mode_set(li, ELM_LIST_COMPRESS);
- evas_object_smart_callback_add(li, "selected", _list_click, NULL);
-
- int idx = 0;
-
- while(menu[ idx ].name != NULL) {
-
- elm_list_item_append(
- li,
- menu[ idx ].name,
- NULL,
- NULL,
- menu[ idx ].func,
- ad);
- ++idx;
- }
-
- elm_list_go(li);
-
- return li;
-}
-/*
-static void _move_ctxpopup(Evas_Object *ctxpopup, Evas_Object *btn)
-{
- Evas_Coord x, y, w , h;
- evas_object_geometry_get(btn, &x, &y, &w, &h);
- evas_object_move(ctxpopup, x + (w / 2), y + (h /2));
-}
-
-static void _dismissed_cb(void *data, Evas_Object *obj, void *event_info)
-{
- evas_object_smart_callback_del(obj ,"dismissed", _dismissed_cb);
- evas_object_del(obj);
- obj = NULL;
-}
-
-static void _create_ctxpopup_toolbar_segmentedControl(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *ctxpopup;
- struct appdata *ad = (struct appdata *) data;
-
- ctxpopup = elm_ctxpopup_add(ad->nf);
- elm_object_style_set(ctxpopup, "toolbar_segmentedcontrol");
- evas_object_smart_callback_add(ctxpopup,"dismissed", _dismissed_cb, NULL);
-
- elm_ctxpopup_item_append(ctxpopup, _("Group1"), NULL, NULL, ctxpopup);
- elm_ctxpopup_item_append(ctxpopup, _("Group2"), NULL, NULL, ctxpopup);
- elm_ctxpopup_item_append(ctxpopup, _("Group3"), NULL, NULL, ctxpopup);
- elm_ctxpopup_item_append(ctxpopup, _("Group4"), NULL, NULL, ctxpopup);
- _move_ctxpopup(ctxpopup, obj);
- evas_object_show(ctxpopup);
-}*/
-
-static Evas_Object *create_1_items_toolbar(struct appdata *ad)
-{
- Evas_Object *obj;
- Elm_Object_Item *item[10];
-
- /* create toolbar */
- obj = elm_toolbar_add(ad->nf);
- if(obj == NULL) return NULL;
- elm_object_style_set(obj, "default");
- elm_toolbar_shrink_mode_set(obj, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_transverse_expanded_set(obj, EINA_TRUE);
- elm_toolbar_select_mode_set(obj, ELM_OBJECT_SELECT_MODE_NONE);
-
- item[0] = elm_toolbar_item_append(obj, NULL, "Main", _toolbar_clicked_cb, ad);
-
- return obj;
-}
-
-static Evas_Object *create_2_items_toolbar(struct appdata *ad)
-{
- Evas_Object *obj;
- Elm_Object_Item *item[10];
-
- /* create toolbar */
- obj = elm_toolbar_add(ad->nf);
- if(obj == NULL) return NULL;
- elm_object_style_set(obj, "default");
- elm_toolbar_shrink_mode_set(obj, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_transverse_expanded_set(obj, EINA_TRUE);
- elm_toolbar_select_mode_set(obj, ELM_OBJECT_SELECT_MODE_NONE);
-
- item[0] = elm_toolbar_item_append(obj, NULL, "Main", _toolbar_clicked_cb, ad);
- elm_object_item_disabled_set(item[0], EINA_TRUE);
- item[1] = elm_toolbar_item_append(obj, NULL, "Playlist", _toolbar_clicked_cb, ad);
- return obj;
-}
-
-static Evas_Object *create_3_items_toolbar(struct appdata *ad)
-{
- Evas_Object *obj;
- Elm_Object_Item *item[10];
-
- /* create toolbar */
- obj = elm_toolbar_add(ad->nf);
- if(obj == NULL) return NULL;
- elm_object_style_set(obj, "default");
- elm_toolbar_shrink_mode_set(obj, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_transverse_expanded_set(obj, EINA_TRUE);
- elm_toolbar_select_mode_set(obj, ELM_OBJECT_SELECT_MODE_NONE);
-
- item[0] = elm_toolbar_item_append(obj, NULL, "Main", _toolbar_clicked_cb, ad);
- item[1] = elm_toolbar_item_append(obj, NULL, "Playlist", _toolbar_clicked_cb, ad);
- item[2] = elm_toolbar_item_append(obj, NULL, "Artists list", _toolbar_clicked_cb, ad);
- return obj;
-}
-
-static Evas_Object *create_1_icons_toolbar(struct appdata *ad)
-{
- Evas_Object *obj;
- Elm_Object_Item *item[10];
-
- /* create toolbar */
- obj = elm_toolbar_add(ad->nf);
- if(obj == NULL) return NULL;
- elm_object_style_set(obj, "default");
- elm_toolbar_shrink_mode_set(obj, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_transverse_expanded_set(obj, EINA_TRUE);
- elm_toolbar_select_mode_set(obj, ELM_OBJECT_SELECT_MODE_NONE);
-
- item[0] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_favorites.png", "Main", _toolbar_clicked_cb, ad);
- return obj;
-}
-
-static Evas_Object *create_2_icons_toolbar(struct appdata *ad)
-{
- Evas_Object *obj;
- Elm_Object_Item *item[10];
-
- /* create toolbar */
- obj = elm_toolbar_add(ad->nf);
- if(obj == NULL) return NULL;
- elm_object_style_set(obj, "default");
- elm_toolbar_shrink_mode_set(obj, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_transverse_expanded_set(obj, EINA_TRUE);
- elm_toolbar_select_mode_set(obj, ELM_OBJECT_SELECT_MODE_NONE);
-
- item[0] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_favorites.png", "Main", _toolbar_clicked_cb, ad);
- item[1] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_artists.png", "Artists list", _toolbar_clicked_cb, ad);
- return obj;
-}
-
-static Evas_Object *create_3_icons_toolbar(struct appdata *ad)
-{
- Evas_Object *obj;
- Elm_Object_Item *item[10];
-
- /* create toolbar */
- obj = elm_toolbar_add(ad->nf);
- if(obj == NULL) return NULL;
- elm_object_style_set(obj, "default");
- elm_toolbar_shrink_mode_set(obj, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_transverse_expanded_set(obj, EINA_TRUE);
- elm_toolbar_select_mode_set(obj, ELM_OBJECT_SELECT_MODE_NONE);
-
- item[0] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_favorites.png", "Main", _toolbar_clicked_cb, ad);
- item[1] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_artists.png", "Artists list", _toolbar_clicked_cb, ad);
- item[2] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_playlist.png", "Playlist", _toolbar_clicked_cb, ad);
- return obj;
-}
-
-static Evas_Object *create_4_icons_toolbar(struct appdata *ad)
-{
- Evas_Object *obj;
- Elm_Object_Item *item[10];
-
- /* create toolbar */
- obj = elm_toolbar_add(ad->nf);
- if(obj == NULL) return NULL;
- elm_object_style_set(obj, "default");
- elm_toolbar_shrink_mode_set(obj, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_transverse_expanded_set(obj, EINA_TRUE);
- elm_toolbar_select_mode_set(obj, ELM_OBJECT_SELECT_MODE_NONE);
-
- item[0] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_favorites.png", "Main", _toolbar_clicked_cb, ad);
- item[1] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_artists.png", "Artists list", _toolbar_clicked_cb, ad);
- item[2] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_playlist.png", "Playlist", _toolbar_clicked_cb, ad);
- item[3] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_songs.png", "Songs", _toolbar_clicked_cb, ad);
- return obj;
-}
-
-static Evas_Object *create_5_icons_toolbar(struct appdata *ad)
-{
- Evas_Object *obj;
- Elm_Object_Item *item[10];
-
- /* create toolbar */
- obj = elm_toolbar_add(ad->nf);
- if(obj == NULL) return NULL;
- elm_object_style_set(obj, "default");
- elm_toolbar_shrink_mode_set(obj, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_transverse_expanded_set(obj, EINA_TRUE);
- elm_toolbar_select_mode_set(obj, ELM_OBJECT_SELECT_MODE_NONE);
-
- item[0] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_favorites.png", "Main", _toolbar_clicked_cb, ad);
- item[1] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_artists.png", "Artists list", _toolbar_clicked_cb, ad);
- item[2] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_playlist.png", "Playlist", _toolbar_clicked_cb, ad);
- item[3] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_songs.png", "Songs", _toolbar_clicked_cb, ad);
- item[4] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_dialer.png", "Dialer for call", _toolbar_clicked_cb, ad);
- return obj;
-}
-
-static Evas_Object *create_6_icons_toolbar(struct appdata *ad)
-{
- Evas_Object *obj;
- Elm_Object_Item *item[10];
-
- /* create toolbar */
- obj = elm_toolbar_add(ad->nf);
- if(obj == NULL) return NULL;
- elm_object_style_set(obj, "default");
- elm_toolbar_shrink_mode_set(obj, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_transverse_expanded_set(obj, EINA_TRUE);
- elm_toolbar_select_mode_set(obj, ELM_OBJECT_SELECT_MODE_NONE);
-
- item[0] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_favorites.png", "Main", _toolbar_clicked_cb, ad);
- item[1] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_artists.png", "Artists list", _toolbar_clicked_cb, ad);
- item[2] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_playlist.png", "Playlist", _toolbar_clicked_cb, ad);
- item[3] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_songs.png", "Songs", _toolbar_clicked_cb, ad);
- item[4] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_dialer.png", "Dialer for call", _toolbar_clicked_cb, ad);
- item[5] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_playlist.png", "Playlist", _toolbar_clicked_cb, ad);
- return obj;
-}
-
-static Evas_Object *create_2_icons_gap_toolbar(struct appdata *ad)
-{
- Evas_Object *obj;
- Elm_Object_Item *item[10];
-
- /* create toolbar */
- obj = elm_toolbar_add(ad->nf);
- if(obj == NULL) return NULL;
- elm_object_style_set(obj, "default");
- elm_toolbar_shrink_mode_set(obj, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_transverse_expanded_set(obj, EINA_TRUE);
- elm_toolbar_select_mode_set(obj, ELM_OBJECT_SELECT_MODE_NONE);
-
- item[0] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_favorites.png", "Main", _toolbar_clicked_cb, ad);
- item[1] = elm_toolbar_item_append(obj, NULL, NULL, NULL, NULL);
- elm_object_item_disabled_set(item[1], EINA_TRUE);
- item[2] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_artists.png", "Artists list", _toolbar_clicked_cb, ad);
- return obj;
-}
-
-static Evas_Object *create_3_icons_gap_toolbar(struct appdata *ad)
-{
- Evas_Object *obj;
- Elm_Object_Item *item[10];
-
- /* create toolbar */
- obj = elm_toolbar_add(ad->nf);
- if(obj == NULL) return NULL;
- elm_object_style_set(obj, "default");
- elm_toolbar_shrink_mode_set(obj, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_transverse_expanded_set(obj, EINA_TRUE);
- elm_toolbar_select_mode_set(obj, ELM_OBJECT_SELECT_MODE_NONE);
-
- item[0] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_favorites.png", "Main", _toolbar_clicked_cb, ad);
- item[1] = elm_toolbar_item_append(obj, NULL, NULL, NULL, NULL);
- elm_object_item_disabled_set(item[1],EINA_TRUE);
- item[2] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_artists.png", "Artists list", _toolbar_clicked_cb, ad);
- item[3] = elm_toolbar_item_append(obj, NULL, NULL, NULL, NULL);
- elm_object_item_disabled_set(item[3], EINA_TRUE);
- item[4] = elm_toolbar_item_append(obj, ICON_DIR"/00_controlbar_icon_artists.png", "Artists list", _toolbar_clicked_cb, ad);
- return obj;
-}
-
-/*
-static Evas_Object *create_segment_items_toolbar(struct appdata *ad)
-{
- Evas_Object *obj, *segmentedBtn;
- Elm_Object_Item *item[10];
-
- // create toolbar //
- obj = elm_toolbar_add(ad->nf);
- if(obj == NULL) return NULL;
- elm_object_style_set(obj, "default");
- elm_toolbar_shrink_mode_set(obj, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_transverse_expanded_set(obj, EINA_TRUE);
-
- segmentedBtn = elm_button_add(obj);
- elm_object_style_set(segmentedBtn, "style1");
- elm_object_text_set(segmentedBtn, _("Toolbar Segmented"));
- evas_object_smart_callback_add(segmentedBtn, "clicked", _create_ctxpopup_toolbar_segmentedControl, ad);
-
- item[0] = elm_toolbar_item_append(obj, NULL, NULL, NULL, NULL);
- elm_object_item_part_content_set(item[0], "object", segmentedBtn);
-
- return obj;
-}*/
-
-void tool_cb(void *data, Evas_Object *obj, void *event_info)
-{
- struct appdata *ad;
- Evas_Object *sub_view;
- Evas_Object *toolbar;
- Elm_Object_Item *navi_it;
-
- ad = (struct appdata *) data;
- if(ad == NULL) return;
-
- sub_view = _create_list_winset(obj, menu_main, ad);
- navi_it = elm_naviframe_item_push(ad->nf, _("Toolbar"), NULL, NULL, sub_view, NULL);
- toolbar = create_3_items_toolbar(ad);
- elm_object_item_part_content_set(navi_it, "toolbar", toolbar);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "transit.h"
-
-struct custom_effect
-{
- struct _size
- {
- Evas_Coord w, h;
- }from, to;
-};
-
-static void _list_click(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *it = (Elm_Object_Item *) elm_list_selected_item_get(obj);
- if(!it) return;
- elm_list_item_selected_set(it, EINA_FALSE);
-}
-
-static void _transit_del_cb(void *data, Elm_Transit *transit)
-{
- set_rotation_mode(EINA_TRUE);
-}
-
-//Fade Effect Sample
-static void _fade_cb(void *data, Evas_Object *obj, void *event_info)
-{
- set_rotation_mode(EINA_FALSE);
-
- Evas_Object *layout = (Evas_Object *) data;
- Elm_Transit *transit = elm_transit_add();
- //Fade in and out with layout object.
- elm_transit_object_add(transit, layout);
- elm_transit_object_add(transit, layout);
- elm_transit_effect_fade_add(transit);
- elm_transit_duration_set(transit, 0.5);
- elm_transit_del_cb_set(transit, _transit_del_cb, NULL);
- elm_transit_go(transit);
-}
-
-//Translation Effect Sample
-static void _translation_cb(void *data, Evas_Object *obj, void *event_info)
-{
- set_rotation_mode(EINA_FALSE);
-
- Evas_Object *layout = (Evas_Object *) data;
- Evas_Coord w, h;
- evas_object_geometry_get(layout, NULL, NULL, &w, &h);
-
- //Step 1. Translate to left side.
- Elm_Transit *transit = elm_transit_add();
- elm_transit_object_add(transit, layout);
- elm_transit_effect_translation_add(transit, 0, 0, -w, 0);
- elm_transit_duration_set(transit, 0.5);
-
- //Step 2. Translate to up side.
- Elm_Transit *transit2 = elm_transit_add();
- elm_transit_object_add(transit2, layout);
- elm_transit_effect_translation_add(transit2, 0, h, 0, 0);
- elm_transit_duration_set(transit2, 0.5);
- elm_transit_del_cb_set(transit2, _transit_del_cb, NULL);
-
- elm_transit_chain_transit_add(transit, transit2);
- elm_transit_go(transit);
-}
-
-//Rotation Effect Sample
-static void _rotation_cb(void *data, Evas_Object *obj, void *event_info)
-{
- set_rotation_mode(EINA_FALSE);
-
- Evas_Object *nf = (Evas_Object *) data;
- Elm_Transit *transit = elm_transit_add();
- //360 degree rotation effect with clock wise direction.
- elm_transit_object_add(transit, nf);
- elm_transit_effect_rotation_add(transit, 0, 360);
- elm_transit_duration_set(transit, 1);
- elm_transit_del_cb_set(transit, _transit_del_cb, NULL);
- elm_transit_go(transit);
-}
-
-//Color Effect Sample
-static void _color_cb(void *data, Evas_Object *obj, void *event_info)
-{
- set_rotation_mode(EINA_FALSE);
-
- Evas_Object *layout = (Evas_Object *) data;
- //1. to be Red color.
- Elm_Transit *transit1 = elm_transit_add();
- elm_transit_object_add(transit1, layout);
- elm_transit_effect_color_add(transit1, 255, 255, 255, 255, 255, 0, 0, 255);
- elm_transit_duration_set(transit1, 0.5);
-
- //2. to be Green color.
- Elm_Transit *transit2 = elm_transit_add();
- elm_transit_object_add(transit2, layout);
- elm_transit_effect_color_add(transit2, 255, 0, 0, 255, 255, 255, 0, 255);
- elm_transit_duration_set(transit2, 0.5);
-
- //3. to be original color.
- Elm_Transit *transit3 = elm_transit_add();
- elm_transit_object_add(transit3, layout);
- elm_transit_effect_color_add(transit3, 255, 255, 0, 255, 255, 255, 255, 255);
- elm_transit_duration_set(transit3, 0.5);
- elm_transit_del_cb_set(transit3, _transit_del_cb, NULL);
-
- elm_transit_chain_transit_add(transit1, transit2);
- elm_transit_chain_transit_add(transit2, transit3);
- elm_transit_go(transit1);
-}
-
-//Blend Effect Sample
-static void _blend_cb(void *data, Evas_Object *obj, void *event_info)
-{
- set_rotation_mode(EINA_FALSE);
-
- Evas_Object *layout = (Evas_Object *) data;
- //Let's Blend with layout and one image.
- //Create one image object.
- Evas_Object *img = evas_object_image_filled_add(evas_object_evas_get(layout));
- evas_object_image_file_set(img, ICON_DIR"/logo.png", NULL);
- evas_object_image_smooth_scale_set(img, EINA_TRUE);
-
- Evas_Coord x, y, w, h;
- evas_object_geometry_get(layout, &x, &y, &w, &h);
- evas_object_move(img, x, y);
- evas_object_resize(img, w ,h);
-
- //Let's blend ! You can blend with all widgets as well.
- Elm_Transit *transit = elm_transit_add();
- elm_transit_object_add(transit, layout);
- elm_transit_object_add(transit, img);
- elm_transit_effect_blend_add(transit);
- elm_transit_duration_set(transit, 0.5);
- elm_transit_del_cb_set(transit, _transit_del_cb, NULL);
-
- elm_transit_go(transit);
-}
-
-//Flip Effect Sample
-static void _flip_cb(void *data, Evas_Object *obj, void *event_info)
-{
- set_rotation_mode(EINA_FALSE);
-
- Evas_Object *layout = (Evas_Object *) data;
- Elm_Transit* transit = elm_transit_add();
- elm_transit_smooth_set(transit, EINA_FALSE);
- elm_transit_object_add(transit, layout);
- elm_transit_object_add(transit, layout);
- //Flip based on Axis Y. and clock wise rotation direction.
- elm_transit_effect_flip_add(transit, ELM_TRANSIT_EFFECT_FLIP_AXIS_Y, EINA_TRUE);
- elm_transit_duration_set(transit, 0.8);
- elm_transit_del_cb_set(transit, _transit_del_cb, NULL);
- elm_transit_go(transit);
-}
-
-//Zoom Effect Sample
-static void _zoom_cb(void *data, Evas_Object *obj, void *event_info)
-{
- set_rotation_mode(EINA_FALSE);
-
- Evas_Object *layout = (Evas_Object *) data;
- //Zoom out to scale 0.6.
- Elm_Transit *transit = elm_transit_add();
- elm_transit_smooth_set(transit, EINA_FALSE);
- elm_transit_object_add(transit, layout);
- elm_transit_effect_zoom_add(transit, 1.0, 0.4);
- elm_transit_duration_set(transit, 0.5);
-
- //Zoom in to be original size.
- Elm_Transit *transit2 = elm_transit_add();
- elm_transit_smooth_set(transit2, EINA_FALSE);
- elm_transit_object_add(transit2, layout);
- elm_transit_effect_zoom_add(transit2, 0.4, 1.0);
- elm_transit_duration_set(transit2, 0.5);
- elm_transit_del_cb_set(transit2, _transit_del_cb, NULL);
-
- elm_transit_chain_transit_add(transit, transit2);
- elm_transit_go(transit);
-}
-
-//Wipe Effect Sample
-static void _wipe_cb(void* data, Evas_Object* obj, void* event_info)
-{
- set_rotation_mode(EINA_FALSE);
-
- Evas_Object *layout = (Evas_Object *) data;
- //Hide wipe effect. and direction is up.
- Elm_Transit* transit = elm_transit_add();
- elm_transit_object_add(transit, layout);
- elm_transit_effect_wipe_add(transit, ELM_TRANSIT_EFFECT_WIPE_TYPE_HIDE, ELM_TRANSIT_EFFECT_WIPE_DIR_UP);
- elm_transit_duration_set(transit, 0.5);
-
- //One more time wipe effect. In this case show up object and direction is right.
- Elm_Transit* transit2 = elm_transit_add();
- elm_transit_object_add(transit2, layout);
- elm_transit_effect_wipe_add(transit2, ELM_TRANSIT_EFFECT_WIPE_TYPE_SHOW, ELM_TRANSIT_EFFECT_WIPE_DIR_RIGHT);
- elm_transit_duration_set(transit2, 0.5);
- elm_transit_del_cb_set(transit2, _transit_del_cb, NULL);
-
- elm_transit_chain_transit_add(transit, transit2);
- elm_transit_go(transit);
-}
-
-//ImageAnimation Effect Sample
-static void _imageanimation_cb(void *data, Evas_Object *obj, void *event_info)
-{
- set_rotation_mode(EINA_FALSE);
-
- const char *calendar_images[] = {
- ICON_DIR"/animatedicon/calendar_00.png",
- ICON_DIR"/animatedicon/calendar_01.png",
- ICON_DIR"/animatedicon/calendar_02.png",
- ICON_DIR"/animatedicon/calendar_03.png",
- ICON_DIR"/animatedicon/calendar_04.png",
- ICON_DIR"/animatedicon/calendar_05.png",
- ICON_DIR"/animatedicon/calendar_06.png",
- ICON_DIR"/animatedicon/calendar_07.png",
- ICON_DIR"/animatedicon/calendar_08.png",
- ICON_DIR"/animatedicon/calendar_09.png",
- ICON_DIR"/animatedicon/calendar_10.png",
- ICON_DIR"/animatedicon/calendar_11.png",
- NULL
- };
-
- const char *message_images[] = {
- ICON_DIR"/animatedicon/message_00.png",
- ICON_DIR"/animatedicon/message_01.png",
- ICON_DIR"/animatedicon/message_02.png",
- ICON_DIR"/animatedicon/message_03.png",
- ICON_DIR"/animatedicon/message_04.png",
- ICON_DIR"/animatedicon/message_05.png",
- ICON_DIR"/animatedicon/message_06.png",
- ICON_DIR"/animatedicon/message_07.png",
- ICON_DIR"/animatedicon/message_08.png",
- ICON_DIR"/animatedicon/message_09.png",
- ICON_DIR"/animatedicon/message_10.png",
- ICON_DIR"/animatedicon/message_11.png",
- ICON_DIR"/animatedicon/message_12.png",
- ICON_DIR"/animatedicon/message_13.png",
- ICON_DIR"/animatedicon/message_14.png",
- ICON_DIR"/animatedicon/message_15.png",
- ICON_DIR"/animatedicon/message_16.png",
- ICON_DIR"/animatedicon/message_17.png",
- NULL
- };
-
- Evas_Object *nf = (Evas_Object *) data;
-
- //layout
- Evas_Object *layout = elm_layout_add(nf);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "group_imageanimation");
- elm_naviframe_item_push(nf, _("ImageAnimation"), NULL, NULL, layout, NULL);
-
- Elm_Transit *transit;
- Eina_List *images = NULL;
- Eina_List *images2 = NULL;
- Evas_Object *icon;
- int i;
-
- //Transit - Calendar
- icon = elm_image_add(nf);
- elm_object_part_content_set(layout, "calendar_icon", icon);
-
- for(i = 0; i <12; ++i) {
- images = eina_list_append(images, eina_stringshare_add(calendar_images[i]));
- }
-
- transit = elm_transit_add();
- elm_transit_object_add(transit, icon);
- elm_transit_effect_image_animation_add(transit, images);
- elm_transit_auto_reverse_set(transit, EINA_TRUE);
- elm_transit_objects_final_state_keep_set(transit, EINA_TRUE);
- elm_transit_duration_set(transit, 1);
- elm_transit_go(transit);
-
- //Transit - Message
- icon = elm_image_add(nf);
- elm_object_part_content_set(layout, "message_icon", icon);
-
- for(i = 0; i <18; ++i) {
- images2 = eina_list_append(images2, eina_stringshare_add(message_images[i]));
- }
-
- transit = elm_transit_add();
- elm_transit_object_add(transit, icon);
- elm_transit_effect_image_animation_add(transit, images2);
- elm_transit_auto_reverse_set(transit, EINA_TRUE);
- elm_transit_objects_final_state_keep_set(transit, EINA_TRUE);
- elm_transit_duration_set(transit, 1);
- elm_transit_del_cb_set(transit, _transit_del_cb, NULL);
- elm_transit_go(transit);
-}
-
-//Resizable Flip Effect Sample
-static void _resizable_flip_del(void *data, Elm_Transit *trans)
-{
- //Delete button object.
- evas_object_del(data);
- set_rotation_mode(EINA_TRUE);
-}
-
-static void _resizable_flip_cb(void *data, Evas_Object *obj, void *event_info)
-{
- set_rotation_mode(EINA_FALSE);
-
- Evas_Object* layout = (Evas_Object *) data;
- //Let's Flip with one button object and original naviframe object.
- //Create a button object.
- Evas_Object *btn = elm_button_add(layout);
- elm_object_text_set(btn, "Front");
-
- Evas_Coord w, h;
- evas_object_geometry_get(layout, NULL, NULL, &w, &h);
-
- //Compute front face object size and position for scalability.
- evas_object_move(btn, (w - w * 0.25) / 2, (h - h * 0.25) / 2);
- evas_object_resize(btn, w * 0.25, h * 0.25);
- evas_object_show(btn);
-
- Elm_Transit* transit = elm_transit_add();
- elm_transit_smooth_set(transit, EINA_FALSE);
- elm_transit_object_add(transit, btn);
- elm_transit_object_add(transit, layout);
- elm_transit_effect_resizable_flip_add(transit, ELM_TRANSIT_EFFECT_FLIP_AXIS_Y, EINA_TRUE);
- elm_transit_del_cb_set(transit, _resizable_flip_del, btn);
- elm_transit_duration_set(transit, 0.8);
- elm_transit_go(transit);
-}
-
-//Custom Effect Sample
-static void _custom_context_free(Elm_Transit_Effect *effect, Elm_Transit *transit)
-{
- struct custom_effect *custom_effect = effect;
- free(custom_effect);
-}
-
-static void _custom_op(Elm_Transit_Effect *effect, Elm_Transit *transit, double progress)
-{
- if (!effect) return;
-
- Evas_Coord w, h;
- Evas_Object *obj;
- const Eina_List *elist;
-
- struct custom_effect *custom_effect = (struct custom_effect *) effect;
- const Eina_List *objs = elm_transit_objects_get(transit);
-
- if (progress < 0.5) {
- h = custom_effect->from.h + (custom_effect->to.h * progress * 2);
- w = custom_effect->from.w;
- }else {
- h = custom_effect->from.h + custom_effect->to.h;
- w = custom_effect->from.w + (custom_effect->to.w * (progress - 0.5) * 2);
- }
-
- EINA_LIST_FOREACH(objs, elist, obj) {
- evas_object_resize(obj, w, h);
- }
-}
-
-static Elm_Transit_Effect * _custom_context_new(Evas_Coord from_w, Evas_Coord from_h, Evas_Coord to_w, Evas_Coord to_h)
-{
- struct custom_effect *custom_effect = calloc( 1, sizeof( struct custom_effect ) );
- if (!custom_effect) return NULL;
-
- custom_effect->from.w = from_w;
- custom_effect->from.h = from_h;
- custom_effect->to.w = to_w - from_w;
- custom_effect->to.h = to_h - from_h;
- return custom_effect;
-}
-
-static void _custom_cb(void *data, Evas_Object *obj, void *event_info)
-{
- set_rotation_mode(EINA_FALSE);
-
- Evas_Object *layout = (Evas_Object *) data;
-
- Evas_Coord w, h;
- evas_object_geometry_get(layout, NULL, NULL, &w, &h);
- Elm_Transit_Effect *effect_context = _custom_context_new(w, h, w / 1.5, h / 1.5);
-
- Elm_Transit *transit = elm_transit_add();
- elm_transit_object_add(transit, layout);
- elm_transit_tween_mode_set(transit, ELM_TRANSIT_TWEEN_MODE_DECELERATE);
- elm_transit_effect_add(transit, _custom_op, effect_context, _custom_context_free);
- elm_transit_auto_reverse_set(transit, EINA_TRUE);
- elm_transit_duration_set(transit, 1.2);
- elm_transit_del_cb_set(transit, _transit_del_cb, NULL);
- elm_transit_go(transit);
-}
-
-void effect_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *list;
-
- struct appdata *ad = (struct appdata *) data;
-
- //List
- list = elm_list_add(ad->nf);
- elm_list_mode_set(list, ELM_LIST_COMPRESS);
- evas_object_smart_callback_add(list, "selected", _list_click, NULL);
-
- elm_list_item_append(list, "Blend", NULL, NULL, _blend_cb, ad->layout_main);
- elm_list_item_append(list, "Color", NULL, NULL, _color_cb, ad->layout_main);
- elm_list_item_append(list, "Fade", NULL, NULL, _fade_cb, ad->layout_main);
- elm_list_item_append(list, "ImageAnimation", NULL, NULL, _imageanimation_cb, ad->nf);
- elm_list_item_append(list, "Flip", NULL, NULL, _flip_cb, ad->layout_main);
- elm_list_item_append(list, "Rotation", NULL, NULL, _rotation_cb, ad->layout_main);
- elm_list_item_append(list, "ResizableFlip", NULL, NULL, _resizable_flip_cb, ad->layout_main);
- elm_list_item_append(list, "Translation", NULL, NULL, _translation_cb, ad->layout_main);
- elm_list_item_append(list, "Wipe", NULL, NULL, _wipe_cb, ad->layout_main);
- elm_list_item_append(list, "Zoom", NULL, NULL, _zoom_cb, ad->layout_main);
- elm_list_item_append(list, "Custom", NULL, NULL, _custom_cb, ad->layout_main);
- elm_list_go(list);
-
- elm_naviframe_item_push(ad->nf, _("Transit"), NULL, NULL, list, NULL);
-}
-
+++ /dev/null
-#include <stdio.h>
-#include <unistd.h>
-#include <stdlib.h>
-
-#include <Ecore.h>
-#include <Ecore_X.h>
-#include <Evas.h>
-
-#include <dlog.h>
-#include <dynamicbox_errno.h>
-
-#include "debug.h"
-#include "util.h"
-
-static inline int get_pid(Ecore_X_Window win)
-{
- int pid;
- Ecore_X_Atom atom;
- unsigned char *in_pid;
- int num;
-
- atom = ecore_x_atom_get("X_CLIENT_PID");
- if (!atom) {
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
- }
-
- if (ecore_x_window_prop_property_get(win, atom, ECORE_X_ATOM_CARDINAL,
- sizeof(int), &in_pid, &num) == EINA_FALSE) {
- if (ecore_x_netwm_pid_get(win, &pid) == EINA_FALSE) {
- ErrPrint("Failed to get PID from a window 0x%X\n", win);
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
- }
- } else if (in_pid) {
- pid = *(int *)in_pid;
- DbgFree(in_pid);
- } else {
- ErrPrint("Failed to get PID\n");
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
- }
-
- return pid;
-}
-
-static inline Ecore_X_Window get_user_created_window(Ecore_X_Window win)
-{
- Ecore_X_Window user_win = 0;
- Ecore_X_Atom atom;
-
- atom = ecore_x_atom_get("_E_USER_CREATED_WINDOW");
- if (!atom) {
- DbgPrint("Failed to get user created atom\n");
- return 0;
- }
-
- if (ecore_x_window_prop_xid_get(win, atom, ECORE_X_ATOM_WINDOW, &user_win, 1) == 1 && win) {
- DbgPrint("User window: %x (for %x)\n", user_win, win);
- return user_win;
- }
-
- return 0;
-}
-
-static inline int get_window_info(Ecore_X_Window parent, Ecore_X_Window user_win, int *pid, char **command)
-{
- Evas_Coord x, y, w, h;
- int argc;
- char **argv;
- Evas_Coord rx, ry, rw, rh;
- Evas_Coord px, py, pw, ph;
-
- ecore_x_window_geometry_get(0, &rx, &ry, &rw, &rh);
- ecore_x_window_geometry_get(user_win, &x, &y, &w, &h);
- ecore_x_window_geometry_get(parent, &px, &py, &pw, &ph);
-
- if (x != rx || y != ry || w != rw || h != rh) {
- DbgPrint("Size mismatch (with user,win)\n");
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
- }
-
- if (x != px || y != py || w != pw || h != ph) {
- DbgPrint("Size mismatch (with parent)\n");
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
- }
-
- ecore_x_icccm_command_get(user_win, &argc, &argv);
- DbgPrint("Get Command of %x\n", user_win);
- if (argc > 0) {
- int i;
-
- *pid = get_pid(user_win);
- if (command) {
- *command = argv[0];
- i = 1;
- } else {
- i = 0;
- }
-
- while (i < argc) {
- DbgFree(argv[i]);
- i++;
- }
-
- DbgFree(argv);
- return DBOX_STATUS_ERROR_NONE;
- }
-
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
-}
-
-int util_win_list_get(int (*win_cb)(int pid, Ecore_X_Window win, const char *cmd, void *data), void *data)
-{
- Ecore_X_Window root;
- Ecore_X_Window ret;
- struct stack_item *new_item;
- struct stack_item *item;
- Eina_List *win_stack;
- int pid = -1;
- int cnt = 0;
- struct stack_item {
- Ecore_X_Window *wins;
- int nr_of_wins;
- int i;
- };
-
- root = ecore_x_window_root_first_get();
-
- new_item = malloc(sizeof(*new_item));
- if (!new_item) {
- ErrPrint("Error(%s)\n", strerror(errno));
- return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
- }
-
- new_item->nr_of_wins = 0;
- new_item->wins =
- ecore_x_window_children_get(root, &new_item->nr_of_wins);
- new_item->i = new_item->nr_of_wins - 1;
-
- win_stack = NULL;
-
- if (new_item->wins) {
- win_stack = eina_list_append(win_stack, new_item);
- } else {
- DbgFree(new_item);
- }
-
- while (pid < 0 && (item = eina_list_nth(win_stack, 0))) {
- win_stack = eina_list_remove(win_stack, item);
-
- if (!item->wins) {
- DbgFree(item);
- continue;
- }
-
- while (item->i >= 0) {
- ret = item->wins[item->i];
-
- /*
- * Now we don't need to care about visibility of window,
- * just check whether it is registered or not.
- * (ecore_x_window_visible_get(ret))
- */
- if (ecore_x_window_visible_get(ret) == EINA_TRUE) {
- Ecore_X_Window user_win;
- char *command = NULL;
-
- user_win = get_user_created_window(ret);
- if (user_win && get_window_info(ret, user_win, &pid, &command) == DBOX_STATUS_ERROR_NONE) {
- int status;
-
- cnt++;
-
- status = win_cb(pid, user_win, command, data);
- DbgFree(command);
- if (status == EINA_FALSE) {
- break;
- }
- } else {
- DbgPrint("Failed to get win info: %x\n", ret);
- }
- }
-
- new_item = malloc(sizeof(*new_item));
- if (!new_item) {
- ErrPrint("Error %s\n", strerror(errno));
- item->i++;
- continue;
- }
-
- new_item->nr_of_wins = 0;
- new_item->wins =
- ecore_x_window_children_get(ret,
- &new_item->nr_of_wins);
- new_item->i = new_item->nr_of_wins - 1;
- if (new_item->wins) {
- win_stack =
- eina_list_append(win_stack, new_item);
- } else {
- DbgFree(new_item);
- }
-
- item->i--;
- }
-
- DbgFree(item->wins);
- DbgFree(item);
- }
-
- EINA_LIST_FREE(win_stack, item) {
- DbgFree(item->wins);
- DbgFree(item);
- }
-
- return cnt;
-}
-
-/*!
- *
- * usage)
- * app_service(...)
- * {
- * if (power_key pressed) {
- * int pid;
- * pid = find_top_visible_window();
- * if (pid == getpid()) {
- * // if (first page) {
- * // LCD_OFF
- * // } else {
- * // SCROLL TO THE FIRST PAGE
- * // }
- * } else {
- * // elm_win_activate(my_win);
- * }
- * }
- *
- */
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "vi.h"
-
-/*********************************************************
-VI
- ********************************************************/
-static void _interpolation_cb(void *data, Evas_Object * obj, void *event_info);
-static void _fade_in_out_cb(void *data, Evas_Object * obj, void *event_info);
-static void _zoom_in_out_cb(void *data, Evas_Object * obj, void *event_info);
-static void _rotate_cb(void *data, Evas_Object * obj, void *event_info);
-static void _wipe_cb(void *data, Evas_Object * obj, void *event_info);
-static void _flip_cb(void *data, Evas_Object * obj, void *event_info);
-static void _custom_cb(void *data, Evas_Object * obj, void *event_info);
-
-
-static struct _menu_item _menu_its[] = {
- {"Interpolation", _interpolation_cb},
- {"Fade", _fade_in_out_cb},
- {"Zoom", _zoom_in_out_cb},
- {"Rotate", _rotate_cb},
- {"Wipe", _wipe_cb},
- {"Flip", _flip_cb},
- {"Custom", _custom_cb},
- /* do not delete below */
- {NULL, NULL}
-};
-
-static void _list_click(void *data, Evas_Object * obj, void *event_info)
-{
- Elm_Object_Item *it = (Elm_Object_Item *) elm_list_selected_item_get(obj);
-
- if (it == NULL) {
- fprintf(stderr, "list item is NULL\n");
- return;
- }
-
- elm_list_item_selected_set(it, EINA_FALSE);
-}
-
-static Evas_Object *_create_scroller(Evas_Object *parent)
-{
- Evas_Object *scroller = elm_scroller_add(parent);
-
- elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE);
- elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO);
- evas_object_show(scroller);
-
- return scroller;
-}
-
-
-///////////////////////////////////////////////////////////////////////////////////////////////
-// INTERPOLATION
-///////////////////////////////////////////////////////////////////////////////////////////////
-
-static void _interpolation_cb1(void *data, Evas_Object *obj, void *event_info)
-{
- elm_layout_signal_emit(data, "elm,state,show1", "elm");
-}
-
-static void _interpolation_cb2(void *data, Evas_Object *obj, void *event_info)
-{
- elm_layout_signal_emit(data, "elm,state,show2", "elm");
-}
-
-static void _interpolation_cb3(void *data, Evas_Object *obj, void *event_info)
-{
- elm_layout_signal_emit(data, "elm,state,show3", "elm");
-}
-
-static void _interpolation_cb4(void *data, Evas_Object *obj, void *event_info)
-{
- elm_layout_signal_emit(data, "elm,state,show4", "elm");
-}
-
-static void _interpolation_cb5(void *data, Evas_Object *obj, void *event_info)
-{
- elm_layout_signal_emit(data, "elm,state,show5", "elm");
-}
-
-static void _interpolation_cb6(void *data, Evas_Object *obj, void *event_info)
-{
- elm_layout_signal_emit(data, "elm,state,show6", "elm");
-}
-
-static void _interpolation_cb7(void *data, Evas_Object *obj, void *event_info)
-{
- elm_layout_signal_emit(data, "elm,state,show7", "elm");
-}
-
-static void _interpolation_cb8(void *data, Evas_Object *obj, void *event_info)
-{
- elm_layout_signal_emit(data, "elm,state,show8", "elm");
-}
-
-static void _interpolation_cb9(void *data, Evas_Object *obj, void *event_info)
-{
- elm_layout_signal_emit(data, "elm,state,show9", "elm");
-}
-
-static void _interpolation_cb10(void *data, Evas_Object *obj, void *event_info)
-{
- elm_layout_signal_emit(data, "elm,state,show10", "elm");
-}
-
-static void _interpolation_start(void *data, Evas_Object *obj, void *event_info)
-{
- elm_layout_signal_emit(data, "elm,state,show1", "elm");
- elm_layout_signal_emit(data, "elm,state,show2", "elm");
- elm_layout_signal_emit(data, "elm,state,show3", "elm");
- elm_layout_signal_emit(data, "elm,state,show4", "elm");
- elm_layout_signal_emit(data, "elm,state,show5", "elm");
- elm_layout_signal_emit(data, "elm,state,show6", "elm");
- elm_layout_signal_emit(data, "elm,state,show7", "elm");
- elm_layout_signal_emit(data, "elm,state,show8", "elm");
- elm_layout_signal_emit(data, "elm,state,show9", "elm");
- elm_layout_signal_emit(data, "elm,state,show10", "elm");
-}
-
-static void _interpolation_reset(void *data, Evas_Object *obj, void *event_info)
-{
- elm_layout_signal_emit(data, "elm,state,reset", "elm");
-}
-
-static Evas_Object *_test_interpolation(Evas_Object *parent)
-{
- char buf[255];
- Evas_Object *layout, *icon, *btn;
-
- layout = elm_layout_add(parent);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "vi/interpolation");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- /***** 1. sine i 33 *****/
- icon = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/sine_i_33.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(layout, "image1", icon);
-
- icon = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/00_mover.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(layout, "mover1", icon);
-
- btn = elm_button_add(layout);
- elm_object_style_set(btn, "naviframe/title_icon");
- icon = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/play.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(btn, "icon", icon);
- elm_object_part_content_set(layout, "btn1", btn);
- evas_object_smart_callback_add(btn, "clicked", _interpolation_cb1, layout);
-
- /***** 2. sine o 33 *****/
- icon = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/sine_o_33.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(layout, "image2", icon);
-
- icon = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/00_mover.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(layout, "mover2", icon);
-
- btn = elm_button_add(layout);
- elm_object_style_set(btn, "naviframe/title_icon");
- icon = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/play.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(btn, "icon", icon);
- elm_object_part_content_set(layout, "btn2", btn);
- evas_object_smart_callback_add(btn, "clicked", _interpolation_cb2, layout);
-
- /***** 3. sine io 33 *****/
- icon = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/sine_io_33.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(layout, "image3", icon);
-
- icon = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/00_mover.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(layout, "mover3", icon);
-
- btn = elm_button_add(layout);
- elm_object_style_set(btn, "naviframe/title_icon");
- icon = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/play.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(btn, "icon", icon);
- elm_object_part_content_set(layout, "btn3", btn);
- evas_object_smart_callback_add(btn, "clicked", _interpolation_cb3, layout);
-
- /***** 4. sine io 50 *****/
- icon = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/sine_io_50.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(layout, "image4", icon);
-
- icon = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/00_mover.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(layout, "mover4", icon);
-
- btn = elm_button_add(layout);
- elm_object_style_set(btn, "naviframe/title_icon");
- icon = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/play.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(btn, "icon", icon);
- elm_object_part_content_set(layout, "btn4", btn);
- evas_object_smart_callback_add(btn, "clicked", _interpolation_cb4, layout);
-
- /***** 5. sine io 60 *****/
- icon = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/sine_io_60.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(layout, "image5", icon);
-
- icon = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/00_mover.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(layout, "mover5", icon);
-
- btn = elm_button_add(layout);
- elm_object_style_set(btn, "naviframe/title_icon");
- icon = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/play.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(btn, "icon", icon);
- elm_object_part_content_set(layout, "btn5", btn);
- evas_object_smart_callback_add(btn, "clicked", _interpolation_cb5, layout);
-
- /***** 6. sine io 70 *****/
- icon = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/sine_io_70.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(layout, "image6", icon);
-
- icon = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/00_mover.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(layout, "mover6", icon);
-
- btn = elm_button_add(layout);
- elm_object_style_set(btn, "naviframe/title_icon");
- icon = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/play.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(btn, "icon", icon);
- elm_object_part_content_set(layout, "btn6", btn);
- evas_object_smart_callback_add(btn, "clicked", _interpolation_cb6, layout);
-
- /***** 7. sine io 80 *****/
- icon = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/sine_io_80.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(layout, "image7", icon);
-
- icon = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/00_mover.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(layout, "mover7", icon);
-
- btn = elm_button_add(layout);
- elm_object_style_set(btn, "naviframe/title_icon");
- icon = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/play.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(btn, "icon", icon);
- elm_object_part_content_set(layout, "btn7", btn);
- evas_object_smart_callback_add(btn, "clicked", _interpolation_cb7, layout);
-
- /***** 8. sine io 90 *****/
- icon = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/sine_io_90.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(layout, "image8", icon);
-
- icon = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/00_mover.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(layout, "mover8", icon);
-
- btn = elm_button_add(layout);
- elm_object_style_set(btn, "naviframe/title_icon");
- icon = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/play.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(btn, "icon", icon);
- elm_object_part_content_set(layout, "btn8", btn);
- evas_object_smart_callback_add(btn, "clicked", _interpolation_cb8, layout);
-
- /***** 9. quint io 50 *****/
- icon = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/quint_o_50.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(layout, "image9", icon);
-
- icon = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/00_mover.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(layout, "mover9", icon);
-
- btn = elm_button_add(layout);
- elm_object_style_set(btn, "naviframe/title_icon");
- icon = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/play.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(btn, "icon", icon);
- elm_object_part_content_set(layout, "btn9", btn);
- evas_object_smart_callback_add(btn, "clicked", _interpolation_cb9, layout);
-
- /***** 10. quint io 80 *****/
- icon = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/quint_o_80.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(layout, "image10", icon);
-
- icon = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/00_mover.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(layout, "mover10", icon);
-
- btn = elm_button_add(layout);
- elm_object_style_set(btn, "naviframe/title_icon");
- icon = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/play.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(btn, "icon", icon);
- elm_object_part_content_set(layout, "btn10", btn);
- evas_object_smart_callback_add(btn, "clicked", _interpolation_cb10, layout);
-
- return layout;
-}
-
-static void _interpolation_cb(void *data, Evas_Object * obj, void *event_info)
-{
- char buf[255];
- Evas_Object *scroller, *layout_inner, *btn, *icon;
- Elm_Object_Item *navi_it;
-
- struct appdata *ad = (struct appdata *)data;
-
- if (ad == NULL) return;
-
- scroller = _create_scroller(ad->nf);
- navi_it = elm_naviframe_item_push(ad->nf, _("Interpolation"), NULL, NULL, scroller, NULL);
-
- layout_inner = _test_interpolation(ad->nf);
- elm_object_content_set(scroller, layout_inner);
-
- btn = elm_button_add(ad->nf);
- elm_object_style_set(btn, "naviframe/title_icon");
- icon = elm_image_add(ad->nf);
- snprintf(buf, sizeof(buf), "%s/play.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(btn, "icon", icon);
- elm_object_item_part_content_set(navi_it, "title_left_btn", btn);
- evas_object_smart_callback_add(btn, "clicked", _interpolation_start, layout_inner);
-
- btn = elm_button_add(ad->nf);
- elm_object_style_set(btn, "naviframe/title_icon");
- icon = elm_image_add(ad->nf);
- snprintf(buf, sizeof(buf), "%s/reset.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(btn, "icon", icon);
- elm_object_item_part_content_set(navi_it, "title_right_btn", btn);
- evas_object_smart_callback_add(btn, "clicked", _interpolation_reset, layout_inner);
-}
-
-///////////////////////////////////////////////////////////////////////////////////////////////
-// FADE
-///////////////////////////////////////////////////////////////////////////////////////////////
-
-static void _fade_in_cb(void *data, Evas_Object *obj, void *event_info)
-{
- elm_layout_signal_emit(data, "elm,action,in", "elm");
-}
-
-static void _fade_out_cb(void *data, Evas_Object *obj, void *event_info)
-{
- elm_layout_signal_emit(data, "elm,action,out", "elm");
-}
-
-static void _fade_default_cb(void *data, Evas_Object *obj, void *event_info)
-{
- elm_layout_signal_emit(data, "elm,action,reset", "elm");
-}
-
-static Evas_Object *_test_fade(Evas_Object *parent)
-{
- char buf[255];
- Evas_Object *layout, *icon;
-
- layout = elm_layout_add(parent);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "vi/fade");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- icon = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/g5.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(layout, "elm.swallow.content", icon);
-
- return layout;
-}
-
-static void _fade_in_out_cb(void *data, Evas_Object * obj, void *event_info)
-{
- char buf[255];
- Evas_Object *scroller, *layout_inner, *btn, *icon, *toolbar;
- Elm_Object_Item *navi_it;
-
- struct appdata *ad = (struct appdata *)data;
-
- if (ad == NULL) return;
-
- scroller = _create_scroller(ad->nf);
- navi_it = elm_naviframe_item_push(ad->nf, _("Fade In/Out"), NULL, NULL, scroller, NULL);
-
- layout_inner = _test_fade(ad->nf);
- elm_object_content_set(scroller, layout_inner);
-
- btn = elm_button_add(ad->nf);
- elm_object_style_set(btn, "naviframe/title_icon");
- icon = elm_image_add(ad->nf);
- snprintf(buf, sizeof(buf), "%s/reset.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(btn, "icon", icon);
- elm_object_item_part_content_set(navi_it, "title_right_btn", btn);
- evas_object_smart_callback_add(btn, "clicked", _fade_default_cb, layout_inner);
-
- toolbar = elm_toolbar_add(ad->nf);
- elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_transverse_expanded_set(toolbar, EINA_TRUE);
- elm_toolbar_select_mode_set(toolbar, ELM_OBJECT_SELECT_MODE_NONE);
- elm_toolbar_item_append(toolbar, NULL, "in", _fade_in_cb, layout_inner);
- elm_toolbar_item_append(toolbar, NULL, "out", _fade_out_cb, layout_inner);
- elm_object_item_part_content_set(navi_it, "toolbar", toolbar);
-}
-
-///////////////////////////////////////////////////////////////////////////////////////////////
-// ZOOM
-///////////////////////////////////////////////////////////////////////////////////////////////
-
-static void _zoom_1(void *data, Evas_Object *obj, void *event_info)
-{
- elm_layout_signal_emit(data, "elm,action,zoom_1", "elm");
-}
-
-static void _zoom_2(void *data, Evas_Object *obj, void *event_info)
-{
- elm_layout_signal_emit(data, "elm,action,zoom_2", "elm");
-}
-
-static void _zoom_3(void *data, Evas_Object *obj, void *event_info)
-{
- elm_layout_signal_emit(data, "elm,action,zoom_3", "elm");
-}
-
-static void _zoom_4(void *data, Evas_Object *obj, void *event_info)
-{
- elm_layout_signal_emit(data, "elm,action,zoom_4", "elm");
-}
-
-static void _zoom_default_cb(void *data, Evas_Object *obj, void *event_info)
-{
- elm_layout_signal_emit(data, "elm,action,reset", "elm");
-}
-
-static Evas_Object *_test_zoom(Evas_Object *parent)
-{
- char buf[255];
- Evas_Object *layout, *icon;
-
- layout = elm_layout_add(parent);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "vi/zoom");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- icon = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/g4.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(layout, "elm.swallow.content", icon);
-
- return layout;
-}
-
-static void _zoom_in_out_cb(void *data, Evas_Object * obj, void *event_info)
-{
- char buf[255];
- Evas_Object *scroller, *layout_inner, *btn, *icon;
- Elm_Object_Item *navi_it;
-
- struct appdata *ad = (struct appdata *)data;
-
- if (ad == NULL) return;
-
- scroller = _create_scroller(ad->nf);
- navi_it = elm_naviframe_item_push(ad->nf, _("Zoom In/Out"), NULL, NULL, scroller, NULL);
-
- layout_inner = _test_zoom(ad->nf);
- elm_object_content_set(scroller, layout_inner);
-
- btn = elm_button_add(ad->nf);
- elm_object_style_set(btn, "naviframe/title_icon");
- icon = elm_image_add(ad->nf);
- snprintf(buf, sizeof(buf), "%s/reset.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(btn, "icon", icon);
- elm_object_item_part_content_set(navi_it, "title_right_btn", btn);
- evas_object_smart_callback_add(btn, "clicked", _zoom_default_cb, layout_inner);
-
- btn = elm_button_add(ad->nf);
- elm_object_text_set(btn, "x1/4");
- elm_object_part_content_set(layout_inner, "btn1", btn);
- evas_object_smart_callback_add(btn, "clicked", _zoom_1, layout_inner);
-
- btn = elm_button_add(ad->nf);
- elm_object_text_set(btn, "x1/2");
- elm_object_part_content_set(layout_inner, "btn2", btn);
- evas_object_smart_callback_add(btn, "clicked", _zoom_2, layout_inner);
-
- btn = elm_button_add(ad->nf);
- elm_object_text_set(btn, "x2");
- elm_object_part_content_set(layout_inner, "btn3", btn);
- evas_object_smart_callback_add(btn, "clicked", _zoom_3, layout_inner);
-
- btn = elm_button_add(ad->nf);
- elm_object_text_set(btn, "x4");
- elm_object_part_content_set(layout_inner, "btn4", btn);
- evas_object_smart_callback_add(btn, "clicked", _zoom_4, layout_inner);
-
- btn = elm_button_add(ad->nf);
- elm_object_style_set(btn, "naviframe/title_icon");
- icon = elm_image_add(ad->nf);
- snprintf(buf, sizeof(buf), "%s/reset.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(btn, "icon", icon);
- elm_object_item_part_content_set(navi_it, "title_right_btn", btn);
- evas_object_smart_callback_add(btn, "clicked", _zoom_default_cb, layout_inner);
-}
-
-///////////////////////////////////////////////////////////////////////////////////////////////
-// ROTATE
-///////////////////////////////////////////////////////////////////////////////////////////////
-
-static void _rotate_default(void *data, Evas_Object *obj, void *event_info)
-{
- elm_layout_signal_emit(data, "elm,action,reset", "elm");
-}
-
-static void _rotate_90(void *data, Evas_Object *obj, void *event_info)
-{
- elm_layout_signal_emit(data, "elm,action,90", "elm");
-}
-
-static void _rotate_180(void *data, Evas_Object *obj, void *event_info)
-{
- elm_layout_signal_emit(data, "elm,action,180", "elm");
-}
-
-static void _rotate_270(void *data, Evas_Object *obj, void *event_info)
-{
- elm_layout_signal_emit(data, "elm,action,270", "elm");
-}
-
-static void _rotate_360(void *data, Evas_Object *obj, void *event_info)
-{
- elm_layout_signal_emit(data, "elm,action,360", "elm");
-}
-
-static Evas_Object *_test_rotate(Evas_Object *parent)
-{
- char buf[255];
- Evas_Object *layout, *icon;
-
- layout = elm_layout_add(parent);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "vi/rotate");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- icon = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/icon3.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(layout, "content", icon);
-
- return layout;
-}
-
-static void _rotate_cb(void *data, Evas_Object * obj, void *event_info)
-{
- char buf[255];
- Evas_Object *scroller, *layout_inner, *btn, *icon;
- Elm_Object_Item *navi_it;
-
- struct appdata *ad = (struct appdata *)data;
-
- if (ad == NULL) return;
-
- scroller = _create_scroller(ad->nf);
- navi_it = elm_naviframe_item_push(ad->nf, _("Rotate"), NULL, NULL, scroller, NULL);
-
- layout_inner = _test_rotate(ad->nf);
- elm_object_content_set(scroller, layout_inner);
-
- btn = elm_button_add(ad->nf);
- elm_object_text_set(btn, "90");
- elm_object_part_content_set(layout_inner, "btn1", btn);
- evas_object_smart_callback_add(btn, "clicked", _rotate_90, layout_inner);
-
- btn = elm_button_add(ad->nf);
- elm_object_text_set(btn, "180");
- elm_object_part_content_set(layout_inner, "btn2", btn);
- evas_object_smart_callback_add(btn, "clicked", _rotate_180, layout_inner);
-
- btn = elm_button_add(ad->nf);
- elm_object_text_set(btn, "270");
- elm_object_part_content_set(layout_inner, "btn3", btn);
- evas_object_smart_callback_add(btn, "clicked", _rotate_270, layout_inner);
-
- btn = elm_button_add(ad->nf);
- elm_object_text_set(btn, "360");
- elm_object_part_content_set(layout_inner, "btn4", btn);
- evas_object_smart_callback_add(btn, "clicked", _rotate_360, layout_inner);
-
- btn = elm_button_add(ad->nf);
- elm_object_style_set(btn, "naviframe/title_icon");
- icon = elm_image_add(ad->nf);
- snprintf(buf, sizeof(buf), "%s/reset.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(btn, "icon", icon);
- elm_object_item_part_content_set(navi_it, "title_right_btn", btn);
- evas_object_smart_callback_add(btn, "clicked", _rotate_default, layout_inner);
-}
-
-///////////////////////////////////////////////////////////////////////////////////////////////
-// WIPE
-///////////////////////////////////////////////////////////////////////////////////////////////
-
-static void _wipe_start(void *data, Evas_Object *obj, void *event_info)
-{
- elm_layout_signal_emit(data, "elm,state,show", "elm");
-}
-
-static void _wipe_reset(void *data, Evas_Object *obj, void *event_info)
-{
- elm_layout_signal_emit(data, "elm,state,reset", "elm");
-}
-
-static Evas_Object *_test_wipe(Evas_Object *parent)
-{
- char buf[255];
- Evas_Object *layout, *icon;
-
- layout = elm_layout_add(parent);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "vi/wipe");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- icon = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/g2.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(layout, "bottom2top", icon);
-
- icon = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/g2.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(layout, "top2bottom", icon);
-
- icon = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/g2.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(layout, "left2right", icon);
-
- icon = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/g2.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(layout, "right2left", icon);
-
- icon = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/g2.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(layout, "leftbottom2righttop", icon);
-
- icon = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/g2.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(layout, "rightbottom2lefttop", icon);
-
- icon = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/g2.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(layout, "lefttop2rightbottom", icon);
-
- icon = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/g2.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(layout, "righttop2leftbottom", icon);
-
- return layout;
-}
-
-static void _wipe_cb(void *data, Evas_Object * obj, void *event_info)
-{
- char buf[255];
- Evas_Object *scroller, *layout_inner, *btn, *icon, *toolbar;
- Elm_Object_Item *navi_it;
-
- struct appdata *ad = (struct appdata *)data;
-
- if (ad == NULL) return;
-
- scroller = _create_scroller(ad->nf);
- navi_it = elm_naviframe_item_push(ad->nf, _("Wipe"), NULL, NULL, scroller, NULL);
-
- layout_inner = _test_wipe(ad->nf);
- elm_object_content_set(scroller, layout_inner);
-
- btn = elm_button_add(ad->nf);
- elm_object_style_set(btn, "naviframe/title_icon");
- icon = elm_image_add(ad->nf);
- snprintf(buf, sizeof(buf), "%s/play.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(btn, "icon", icon);
- elm_object_item_part_content_set(navi_it, "title_left_btn", btn);
- evas_object_smart_callback_add(btn, "clicked", _wipe_start, layout_inner);
-
- btn = elm_button_add(ad->nf);
- elm_object_style_set(btn, "naviframe/title_icon");
- icon = elm_image_add(ad->nf);
- snprintf(buf, sizeof(buf), "%s/reset.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(btn, "icon", icon);
- elm_object_item_part_content_set(navi_it, "title_right_btn", btn);
- evas_object_smart_callback_add(btn, "clicked", _wipe_reset, layout_inner);
-
- toolbar = elm_toolbar_add(ad->nf);
- elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_transverse_expanded_set(toolbar, EINA_TRUE);
- elm_toolbar_select_mode_set(toolbar, ELM_OBJECT_SELECT_MODE_NONE);
- elm_toolbar_item_append(toolbar, NULL, "start", _wipe_start, layout_inner);
- elm_toolbar_item_append(toolbar, NULL, "reset", _wipe_reset, layout_inner);
- elm_object_item_part_content_set(navi_it, "toolbar", toolbar);
-}
-
-///////////////////////////////////////////////////////////////////////////////////////////////
-// FLIP
-///////////////////////////////////////////////////////////////////////////////////////////////
-
-static void _flip_default(void *data, Evas_Object *obj, void *event_info)
-{
- elm_layout_signal_emit(data, "elm,state,reset", "elm");
-}
-
-static void _flip_x(void *data, Evas_Object *obj, void *event_info)
-{
- elm_layout_signal_emit(data, "elm,state,flipx", "elm");
-}
-
-static void _flip_y(void *data, Evas_Object *obj, void *event_info)
-{
- elm_layout_signal_emit(data, "elm,state,flipy", "elm");
-}
-
-static Evas_Object *_test_flip(Evas_Object *parent)
-{
- char buf[255];
- Evas_Object *layout, *icon;
-
- layout = elm_layout_add(parent);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "vi/flip");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- icon = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/00_flip.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(layout, "content", icon);
-
- return layout;
-}
-
-static void _flip_cb(void *data, Evas_Object * obj, void *event_info)
-{
- char buf[255];
- Evas_Object *scroller, *layout_inner, *btn, *icon;
- Elm_Object_Item *navi_it;
-
- struct appdata *ad = (struct appdata *)data;
-
- if (ad == NULL) return;
-
- scroller = _create_scroller(ad->nf);
- navi_it = elm_naviframe_item_push(ad->nf, _("Flip"), NULL, NULL, scroller, NULL);
-
- layout_inner = _test_flip(ad->nf);
- elm_object_content_set(scroller, layout_inner);
-
- btn = elm_button_add(ad->nf);
- elm_object_text_set(btn, "Default");
- elm_object_part_content_set(layout_inner, "btn1", btn);
- evas_object_smart_callback_add(btn, "clicked", _flip_default, layout_inner);
-
- btn = elm_button_add(ad->nf);
- elm_object_text_set(btn, "X flip");
- elm_object_part_content_set(layout_inner, "btn2", btn);
- evas_object_smart_callback_add(btn, "clicked", _flip_x, layout_inner);
-
- btn = elm_button_add(ad->nf);
- elm_object_text_set(btn, "Y flip");
- elm_object_part_content_set(layout_inner, "btn3", btn);
- evas_object_smart_callback_add(btn, "clicked", _flip_y, layout_inner);
-
- btn = elm_button_add(ad->nf);
- elm_object_style_set(btn, "naviframe/title_icon");
- icon = elm_image_add(ad->nf);
- snprintf(buf, sizeof(buf), "%s/reset.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(btn, "icon", icon);
- elm_object_item_part_content_set(navi_it, "title_right_btn", btn);
- evas_object_smart_callback_add(btn, "clicked", _flip_default, layout_inner);
-
-}
-
-///////////////////////////////////////////////////////////////////////////////////////////////
-// CUSTOM
-///////////////////////////////////////////////////////////////////////////////////////////////
-
-static void _custom_in_cb(void *data, Evas_Object *obj, void *event_info)
-{
- elm_layout_signal_emit(data, "elm,action,_zoom_in", "elm");
- elm_layout_signal_emit(data, "elm,action,_fade_in", "elm");
-}
-
-static void _custom_out_cb(void *data, Evas_Object *obj, void *event_info)
-{
- elm_layout_signal_emit(data, "elm,action,_zoom_out", "elm");
- elm_layout_signal_emit(data, "elm,action,_fade_out", "elm");
-}
-
-static void _custom_default_cb(void *data, Evas_Object *obj, void *event_info)
-{
- elm_layout_signal_emit(data, "elm,action,reset", "elm");
-}
-
-static Evas_Object *_test_custom(Evas_Object *parent)
-{
- char buf[255];
- Evas_Object *layout, *icon;
-
- layout = elm_layout_add(parent);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "vi/custom");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- icon = elm_image_add(layout);
- snprintf(buf, sizeof(buf), "%s/sky_01.jpg", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(layout, "elm.swallow.content", icon);
-
- return layout;
-}
-
-static void _custom_cb(void *data, Evas_Object * obj, void *event_info)
-{
- char buf[255];
- Evas_Object *scroller, *layout_inner, *btn, *icon, *toolbar;
- Elm_Object_Item *navi_it;
-
- struct appdata *ad = (struct appdata *)data;
-
- if (ad == NULL) return;
-
- scroller = _create_scroller(ad->nf);
- navi_it = elm_naviframe_item_push(ad->nf, _("Fade, Zoom and Move"), NULL, NULL, scroller, NULL);
-
- layout_inner = _test_custom(ad->nf);
- elm_object_content_set(scroller, layout_inner);
-
- btn = elm_button_add(ad->nf);
- elm_object_style_set(btn, "naviframe/title_icon");
- icon = elm_image_add(ad->nf);
- snprintf(buf, sizeof(buf), "%s/reset.png", ICON_DIR);
- elm_image_file_set(icon, buf, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(btn, "icon", icon);
- elm_object_item_part_content_set(navi_it, "title_right_btn", btn);
- evas_object_smart_callback_add(btn, "clicked", _custom_default_cb, layout_inner);
-
- toolbar = elm_toolbar_add(ad->nf);
- elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_toolbar_transverse_expanded_set(toolbar, EINA_TRUE);
- elm_toolbar_select_mode_set(toolbar, ELM_OBJECT_SELECT_MODE_NONE);
- elm_toolbar_item_append(toolbar, NULL, "in", _custom_in_cb, layout_inner);
- elm_toolbar_item_append(toolbar, NULL, "out", _custom_out_cb, layout_inner);
- elm_object_item_part_content_set(navi_it, "toolbar", toolbar);
-}
-
-static Evas_Object *_create_list_winset(struct appdata *ad)
-{
- Evas_Object *li;
- struct _menu_item *menu_its;
- if (ad == NULL) return NULL;
-
- li = elm_list_add(ad->nf);
- elm_list_mode_set(li, ELM_LIST_COMPRESS);
- evas_object_smart_callback_add(li, "selected", _list_click, NULL);
-
- int idx = 0;
- menu_its = _menu_its;
- while (menu_its[idx].name != NULL) {
- elm_list_item_append(li, menu_its[idx].name, NULL, NULL, menu_its[idx].func, ad);
- ++idx;
- }
- elm_list_go(li);
-
- return li;
-}
-
-void vi_cb(void *data, Evas_Object * obj, void *event_info)
-{
- struct appdata *ad;
-
- Evas_Object *list;
-
- ad = (struct appdata *)data;
- if (ad == NULL) return;
-
- list = _create_list_winset(ad);
- elm_naviframe_item_push(ad->nf, _("VI"), NULL, NULL, list, NULL);
-}
-
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_util.h"
-#include "elmdemo_test.h"
-#include "video.h"
-
-static struct _menu_item menu_its[] = {
- { "Player", video_player_cb },
- { "Gesture", video_gesture_cb },
- /* do not delete below */
- { NULL, NULL }
-};
-
-static void _list_click(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *it = (Elm_Object_Item *) elm_list_selected_item_get(obj);
-
- if (it == NULL)
- {
- fprintf((LOG_PRI(LOG_ERR) == LOG_ERR?stderr:stdout), "List item is NULL.\n");
- return;
- }
-
- elm_list_item_selected_set(it, EINA_FALSE);
-}
-
-static Evas_Object* _create_list_winset(struct appdata* ad)
-{
- Evas_Object *li;
-
- if (ad == NULL) return NULL;
-
- li = elm_list_add(ad->nf);
- elm_list_mode_set(li, ELM_LIST_COMPRESS);
- evas_object_smart_callback_add(li, "selected", _list_click, NULL);
-
- int idx = 0;
-
- while(menu_its[ idx ].name != NULL) {
-
- elm_list_item_append(
- li,
- menu_its[ idx ].name,
- NULL,
- NULL,
- menu_its[ idx ].func,
- ad);
- ++idx;
- }
-
- elm_list_go(li);
-
- return li;
-}
-
-void video_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *list;
- struct appdata *ad = (struct appdata *) data;
- if (ad == NULL) return;
-
- list = _create_list_winset(ad);
- elm_naviframe_item_push(ad->nf, _("Video"), NULL, NULL, list, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "video.h"
-#include "math.h"
-
-#define PI 3.1415926
-
-struct video_data {
- struct appdata *ad;
- Evas_Object *video;
- Evas_Object *layout;
- Evas_Object *gl;
-
- Evas_Coord x, y, w, h;
- Evas_Coord base_x, base_y;
- double zoom;
- double base_zoom;
- double rotate;
- double base_rotate;
-};
-
-static void
-_item_show(void *data, Evas_Object *obj, void *event_info)
-{
- struct video_data *vd = (struct video_data *)data;
-
- evas_object_show(vd->video);
-}
-
-static Eina_Bool
-_pop_cb(void *data, Elm_Object_Item *it)
-{
- struct video_data *vd = (struct video_data *)data;
- struct appdata *ad;
-
- if (!vd) return EINA_TRUE;
-
- ad = vd->ad;
-
- evas_object_smart_callback_del(ad->nf, "transition,finished", _item_show);
- evas_object_del(vd->video);
- evas_object_del(vd->gl);
- free(vd);
-
- return EINA_TRUE;
-}
-
-static void
-_gesture_apply(struct video_data *vd)
-{
- Evas_Map *map;
-
- map = evas_map_new(4);
- evas_map_point_coord_set(map, 0, vd->x, vd->y, 0);
- evas_map_point_coord_set(map, 1, vd->x + vd->w, vd->y, 0);
- evas_map_point_coord_set(map, 2, vd->x + vd->w, vd->y + vd->h, 0);
- evas_map_point_coord_set(map, 3, vd->x, vd->y + vd->h, 0);
- evas_map_point_image_uv_set(map, 0, 0, 0);
- evas_map_point_image_uv_set(map, 1, vd->w, 0);
- evas_map_point_image_uv_set(map, 2, vd->w, vd->h);
- evas_map_point_image_uv_set(map, 3, 0, vd->h);
-
- evas_map_util_rotate(map, vd->rotate, vd->x + vd->w / 2, vd->y + vd->h / 2);
- evas_map_util_zoom(map, vd->zoom, vd->zoom, vd->x + vd->w / 2, vd->y + vd->h /2);
-
- evas_object_map_enable_set(vd->video, EINA_TRUE);
- evas_object_map_set(vd->video, map);
-
- evas_map_free(map);
-}
-
-static Evas_Event_Flags
-_rotate_move(void *data, void *event_info)
-{
- struct video_data *vd = (struct video_data *)data;
- Elm_Gesture_Rotate_Info *info = (Elm_Gesture_Rotate_Info *)event_info;
-
- vd->rotate = vd->base_rotate + info->angle - info->base_angle;
- if (vd->rotate < 0) vd->rotate += 360.0;
- else if (vd->rotate >= 360) vd->rotate -= 360.0;
-
- _gesture_apply(vd);
-
- return EVAS_EVENT_FLAG_NONE;
-}
-
-static Evas_Event_Flags
-_rotate_end(void *data, void *event_info)
-{
- struct video_data *vd = (struct video_data *)data;
- vd->base_rotate = vd->rotate;
-
- return EVAS_EVENT_FLAG_NONE;
-}
-
-static Evas_Event_Flags
-_zoom_move(void *data, void *event_info)
-{
- struct video_data *vd = (struct video_data *)data;
- Elm_Gesture_Zoom_Info *info = (Elm_Gesture_Zoom_Info *)event_info;
-
- vd->zoom = vd->base_zoom * info->zoom;
- _gesture_apply(vd);
-
- return EVAS_EVENT_FLAG_NONE;
-}
-
-static Evas_Event_Flags
-_zoom_end(void *data, void *event_info)
-{
- struct video_data *vd = (struct video_data *)data;
- vd->base_zoom = vd->zoom;
-
- return EVAS_EVENT_FLAG_NONE;
-}
-
-static Evas_Event_Flags
-_momentum_move(void *data, void *event_info)
-{
- struct video_data *vd = (struct video_data *)data;
- Elm_Gesture_Momentum_Info *info = (Elm_Gesture_Momentum_Info *)event_info;
-
- // if one finger used
- if (info->n == 1) {
- int dx, dy;
- double radian = PI * vd->rotate / 180;
-
- dx = cos(radian) * (info->x2 - info->x1) - sin(radian) * (info->y2 - info->y1);
- dy = sin(radian) * (info->x2 - info->x1) + cos(radian) * (info->y2 - info->y1);
- vd->x = vd->base_x + dx;
- vd->y = vd->base_y + dy;
-
- _gesture_apply(vd);
- }
-
- return EVAS_EVENT_FLAG_NONE;
-}
-
-static Evas_Event_Flags
-_momentum_end(void *data, void *event_info)
-{
- struct video_data *vd = (struct video_data *)data;
- Elm_Gesture_Momentum_Info *info = (Elm_Gesture_Momentum_Info *)event_info;
-
- // if one finger used
- if (info->n == 1) {
- vd->base_x = vd->x;
- vd->base_y = vd->y;
- }
-
- return EVAS_EVENT_FLAG_NONE;
-}
-
-static void
-_create_gesture_layer(struct video_data *vd)
-{
- struct appdata *ad = vd->ad;
-
- vd->gl = elm_gesture_layer_add(ad->nf);
- elm_gesture_layer_attach(vd->gl, vd->video);
-
- //elm_gesture_layer_cb_set(vd->gl, ELM_GESTURE_ROTATE, ELM_GESTURE_STATE_START, _rotate_start, vd);
- elm_gesture_layer_cb_set(vd->gl, ELM_GESTURE_ROTATE, ELM_GESTURE_STATE_MOVE, _rotate_move, vd);
- elm_gesture_layer_cb_set(vd->gl, ELM_GESTURE_ROTATE, ELM_GESTURE_STATE_END, _rotate_end, vd);
- elm_gesture_layer_cb_set(vd->gl, ELM_GESTURE_ROTATE, ELM_GESTURE_STATE_ABORT, _rotate_end, vd);
-
- //elm_gesture_layer_cb_set(vd->gl, ELM_GESTURE_ZOOM, ELM_GESTURE_STATE_START, _zoom_start, vd);
- elm_gesture_layer_cb_set(vd->gl, ELM_GESTURE_ZOOM, ELM_GESTURE_STATE_MOVE, _zoom_move, vd);
- elm_gesture_layer_cb_set(vd->gl, ELM_GESTURE_ZOOM, ELM_GESTURE_STATE_END, _zoom_end, vd);
- elm_gesture_layer_cb_set(vd->gl, ELM_GESTURE_ZOOM, ELM_GESTURE_STATE_ABORT, _zoom_end, vd);
-
- //elm_gesture_layer_cb_set(vd->gl, ELM_GESTURE_MOMENTUM, ELM_GESTURE_STATE_START, _momentum_start, vd);
- elm_gesture_layer_cb_set(vd->gl, ELM_GESTURE_MOMENTUM, ELM_GESTURE_STATE_MOVE, _momentum_move, vd);
- elm_gesture_layer_cb_set(vd->gl, ELM_GESTURE_MOMENTUM, ELM_GESTURE_STATE_END, _momentum_end, vd);
- elm_gesture_layer_cb_set(vd->gl, ELM_GESTURE_MOMENTUM, ELM_GESTURE_STATE_ABORT, _momentum_end, vd);
-}
-
-static void
-_create_video(struct video_data *vd)
-{
- struct appdata *ad = vd->ad;
- Evas_Coord nx, ny, nw, nh;
-
- vd->video = elm_video_add(ad->nf);
- elm_video_file_set(vd->video, "/opt/media/Videos/Helicopter.mp4");
- elm_video_play(vd->video);
-
- evas_object_geometry_get(ad->nf, &nx, &ny, &nw, &nh);
- vd->x = vd->base_x = nx + nw / 4;
- vd->y = vd->base_y = ny + nh / 4;
- vd->w = nw / 2;
- vd->h = nh / 2;
- vd->zoom = vd->base_zoom = 1.0;
- vd->rotate = vd->base_rotate = 0.0;
-
- evas_object_resize(vd->video, vd->w, vd->h);
- _gesture_apply(vd);
-}
-
-void video_gesture_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *it;
- struct video_data *vd;
- struct appdata *ad = (struct appdata *)data;
- if (ad == NULL) return;
-
- vd = calloc(1, sizeof(struct video_data));
- vd->ad = ad;
-
- vd->layout = elm_layout_add(ad->nf);
- elm_layout_file_set(vd->layout, ELM_DEMO_EDJ, "elmdemo-test/player");
- evas_object_size_hint_weight_set(vd->layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_part_text_set(vd->layout, "info", "Use two fingers to zoom and rotate.<br>Use one finger to move.");
-
- _create_video(vd);
- _create_gesture_layer(vd);
-
- it = elm_naviframe_item_push(ad->nf, _("Gesture"), NULL, NULL, vd->layout, NULL);
- elm_naviframe_item_pop_cb_set(it, _pop_cb, vd);
- evas_object_smart_callback_add(ad->nf, "transition,finished", _item_show, vd);
-}
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_test.h"
-#include "elmdemo_util.h"
-#include "video.h"
-#include "Emotion.h"
-
-static void
-_info_clicked(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *video;
- Evas_Object *emo;
- char info[512] = {0,};
- char buf[128];
- const char *str;
- double len;
-
- video = evas_object_data_get(obj, "video");
- emo = elm_video_emotion_get(video);
-
- str = emotion_object_meta_info_get(emo, EMOTION_META_INFO_TRACK_TITLE);
- if (str) {
- sprintf(buf, "Title: %s, ", str);
- strcat(info, buf);
- }
- str = emotion_object_meta_info_get(emo, EMOTION_META_INFO_TRACK_ARTIST);
- if (str) {
- sprintf(buf, "Artist: %s, ", str);
- strcat(info, buf);
- }
- str = emotion_object_meta_info_get(emo, EMOTION_META_INFO_TRACK_ALBUM);
- if (str) {
- sprintf(buf, "Album: %s, ", str);
- strcat(info, buf);
- }
- str = emotion_object_meta_info_get(emo, EMOTION_META_INFO_TRACK_YEAR);
- if (str) {
- sprintf(buf, "Year: %s, ", str);
- strcat(info, buf);
- }
- str = emotion_object_meta_info_get(emo, EMOTION_META_INFO_TRACK_GENRE);
- if (str) {
- sprintf(buf, "Genre: %s, ", str);
- strcat(info, buf);
- }
- str = emotion_object_meta_info_get(emo, EMOTION_META_INFO_TRACK_COMMENT);
- if (str) {
- sprintf(buf, "Genre: %s, ", str);
- strcat(info, buf);
- }
- str = emotion_object_meta_info_get(emo, EMOTION_META_INFO_TRACK_DISC_ID);
- if (str) {
- sprintf(buf, "DISK ID: %s, ", str);
- strcat(info, buf);
- }
- len = elm_video_play_length_get(video);
- if (len > 0.0) {
- int h, m, s;
-
- h = len/3600;
- m = len/60 - h*60;
- s = len - h*3600 - m*60;
- sprintf(buf, "Length: %d:%02d:%2d", h, m, s);
- strcat(info, buf);
- }
-
- elm_object_part_text_set(data, "info", buf);
-}
-
-void video_player_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Evas_Object *layout, *video, *player;
- struct appdata *ad = (struct appdata *) data;
- if (ad == NULL) return;
-
- layout = elm_layout_add(ad->nf);
- elm_layout_file_set(layout, ELM_DEMO_EDJ, "elmdemo-test/player");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- video = elm_video_add(ad->nf);
- elm_video_file_set(video, "/opt/media/Videos/Helicopter.mp4");
- elm_video_play(video);
- elm_object_part_content_set(layout, "video", video);
-
- player = elm_player_add(ad->nf);
- elm_object_content_set(player, video);
- evas_object_data_set(player, "video", video);
- evas_object_smart_callback_add(player, "info,clicked", _info_clicked, layout);
- elm_object_part_content_set(layout, "player", player);
-
-
- elm_naviframe_item_push(ad->nf, _("Player"), NULL, NULL, layout, NULL);
-}
+++ /dev/null
-/*
- * Copyright (c) 2014 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 "elmdemo_util.h"
-#include "elmdemo_test.h"
-#include "wallpaper.h"
-
-#define IMAGE_MAX 28
-#define EDIT_MODE 1
-
-typedef struct _Testitem
-{
- Elm_Object_Item *item;
- const char *path;
- const char *text;
- int index;
-} Testitem;
-
-typedef struct View_Data
-{
- struct appdata *ad;
- int w;
- int h;
- char *type;
-} View_Data;
-
-static Eina_Bool longpressed = EINA_FALSE;
-static Evas_Object *gengrid, *box;
-static Elm_Gengrid_Item_Class *gic;
-
-
-static Evas_Object *
-grid_content_get(void *data, Evas_Object *obj, const char *part)
-{
- Testitem *ti = (Testitem *)data;
- Elm_Object_Item *it = elm_gengrid_last_item_get(obj);
- int last_idx = elm_gengrid_item_index_get(it);
-
- if (ti->index == last_idx) {
- if (!strcmp(part, "elm.swallow.end")) {
- Evas_Object *progressbar = elm_progressbar_add(obj);
- elm_object_style_set(progressbar, "process_medium");
- evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL, 0.5);
- evas_object_show(progressbar);
- elm_progressbar_pulse(progressbar, EINA_TRUE);
- return progressbar;
- } else return NULL;
- } else if (!strcmp(part, "elm.swallow.icon")) {
- Evas_Object *icon = elm_image_add(obj);
- elm_image_file_set(icon, ti->path, NULL);
- elm_image_aspect_fixed_set(icon, EINA_FALSE);
- elm_image_preload_disabled_set(icon, EINA_FALSE);
- evas_object_show(icon);
- return icon;
- }
-
- return NULL;
-}
-
-static void
-_item_selected(void *data, Evas_Object *obj, void *event_info)
-{
- Testitem *ti = (Testitem *)data;
- int theme_index;
-
- elm_gengrid_item_selected_set(ti->item, EINA_FALSE);
-
- if (longpressed) {
- longpressed = EINA_FALSE;
- return;
- }
-
- theme_index = ea_theme_suitable_theme_get_from_image(ti->path);
-
- vconf_set_int(VCONFKEY_SETAPPL_CHANGE_UI_THEME_INT, theme_index);
-
- Eina_Bool result = ea_theme_input_colors_set(theme_index);
- if( result == EINA_TRUE)
- {
- ea_theme_system_colors_apply();
- change_config_owner();
- }
-}
-
-static void _realized(void *data, Evas_Object *obj, void *ei)
-{
- printf("[%s][%d]\n", __func__, __LINE__);
-}
-
-static void
-_create_gengrid (void *data, char *type)
-{
- struct View_Data *vd = data;
- struct appdata *ad = vd->ad;
- int i, n, w, h;
- char buf[PATH_MAX];
- static Testitem ti[IMAGE_MAX+1];
- Evas_Object *win, *conform;
-
- gengrid = elm_gengrid_add(ad->nf);
- evas_object_size_hint_weight_set(gengrid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(gengrid, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- double scale = elm_config_scale_get();
- w = (int)(vd->w * scale); //177 as per UX ver 1.7.
- h = (int)(vd->h * scale);
- elm_gengrid_item_size_set(gengrid, w, h);
- elm_gengrid_align_set(gengrid, 0.5, 0.5);
- elm_gengrid_horizontal_set(gengrid, EINA_TRUE);
- elm_gengrid_multi_select_set(gengrid, EINA_TRUE);
- evas_object_smart_callback_add(gengrid, "realized", _realized, NULL);
-
- gic = elm_gengrid_item_class_new();
- gic->item_style=type;
-
- gic->func.text_get = NULL;
- gic->func.content_get = grid_content_get;
- gic->func.state_get = NULL;
- gic->func.del = NULL;
-
- if ((!ad->win_main) || (!ad->conform))
- {
- printf("[%s]:We can't get conformant\n", __FUNCTION__);
- return;
- }
- win = ad->win_main;
- conform = ad->conform;
-
- elm_win_indicator_mode_set(win, ELM_WIN_INDICATOR_SHOW);
- elm_win_indicator_opacity_set(win, ELM_WIN_INDICATOR_TRANSPARENT);
-
- //if you change your layout to nooverlap_mode(to locate layout 0,0)
- //you should emit signal and set data of "nooverlap"
- elm_object_signal_emit(conform, "elm,state,indicator,overlap", "");
- evas_object_data_set(conform, "overlap", (void *)EINA_TRUE);
-
- for (i = 0; i <= IMAGE_MAX; i++) {
- n = i;
- snprintf(buf, sizeof(buf), "%s/wallpaper_image/%d_raw.jpg", ICON_DIR, i+1);
- ti[n].index = n;
- ti[n].path = eina_stringshare_add(buf);
- //TODO: check the func data
- ti[n].item = elm_gengrid_item_append(gengrid, gic, &(ti[n]), _item_selected, &(ti[n]));
- }
-}
-
-static Eina_Bool
-_pop_cb(void *data, Elm_Object_Item *it)
-{
- if (!data) return EINA_TRUE;
- View_Data *vd = data;
-
- elm_gengrid_clear(gengrid);
- evas_object_del(gengrid);
- gengrid = NULL;
-
- if (vd) free(vd);
-
- return EINA_TRUE;
-}
-
-void
-wallpaper_gengrid_create_cb(void *data, char *type)
-{
- struct appdata *ad;
- View_Data *vd;
- Elm_Object_Item *navi_it;
- Elm_Object_Item *it = NULL;
-
- vd = (struct View_Data *) data;
- if (vd == NULL) return;
- ad = vd->ad;
-
- _create_gengrid(vd, type);
- it = elm_gengrid_last_item_get(gengrid);
- elm_gengrid_item_show(it, ELM_GENGRID_ITEM_SCROLLTO_IN);
-
- box = elm_box_add(ad->nf);
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_show(box);
- elm_box_pack_end(box, gengrid);
- evas_object_show(gengrid);
-
- navi_it = elm_naviframe_item_push (ad->nf, _("[Theme Change Wallpaper]") , NULL, NULL, box, NULL);
- elm_naviframe_item_pop_cb_set(navi_it, _pop_cb, vd);
-}
-
-void
-wallpaper_theme_cb(void *data, Evas_Object *obj, void *event_info)
-{
- View_Data *vd;
- vd = calloc(1, sizeof(View_Data));
- vd->ad = (struct appdata *)data;
- vd->w = 357;
- vd->h = 267;
- vd->type = "gallery";
- wallpaper_gengrid_create_cb(vd, vd->type);
-}
+++ /dev/null
-#include <stdio.h>
-#include <unistd.h>
-
-#include <Evas.h>
-#include <Ecore_X.h>
-#include <Ecore.h>
-#include <X11/Xlib.h>
-
-#include <dynamicbox_errno.h>
-
-#include <dlog.h>
-#include "debug.h"
-#include "util.h"
-#include "window.h"
-
-static struct info {
- Eina_List *win_list;
- Ecore_Event_Handler *damage_handler;
-} s_info = {
- .win_list = NULL,
- .damage_handler = NULL,
-};
-
-struct window_data {
- Evas_Object *image;
- Ecore_X_Damage damage;
- Ecore_X_Window pixmap;
- struct touch_info {
- int x;
- int y;
- int down;
- } touch_info[2];
- Eina_Bool is_selected;
-};
-
-static inline void clear_win_list(void)
-{
- struct window_data *item;
-
- EINA_LIST_FREE(s_info.win_list, item) {
- ecore_x_damage_free(item->damage);
- evas_object_del(item->image);
- free(item);
- }
-}
-
-static inline Eina_Bool damage_cb(void *data, int type, void *event)
-{
- Ecore_X_Event_Damage *e = (Ecore_X_Event_Damage *)event;
- struct window_data *item;
- Eina_List *l;
- int w;
- int h;
-
- EINA_LIST_FOREACH(s_info.win_list, l, item) {
- if ((unsigned int)item->pixmap != (unsigned int)e->drawable) {
- continue;
- }
-
- ecore_x_window_size_get(item->pixmap, &w, &h);
-
- evas_object_image_pixels_dirty_set(item->image, EINA_TRUE);
- evas_object_image_data_update_add(item->image, 0, 0, w, h);
- evas_object_show(item->image);
- break;
- }
-
- ecore_x_damage_subtract(e->damage, None, None);
- return ECORE_CALLBACK_PASS_ON;
-}
-
-static void item_in_cb(void *cbdata, Evas *e, Evas_Object *obj, void *event_info)
-{
- struct window_data *item = cbdata;
- Evas_Event_Mouse_In *in = event_info;
-
- if (item->is_selected) {
- DbgPrint("%dx%d\n", in->canvas.x, in->canvas.y);
- ecore_x_mouse_in_send(item->pixmap, in->canvas.x, in->canvas.y);
- return;
- }
-}
-
-static void item_out_cb(void *cbdata, Evas *e, Evas_Object *obj, void *event_info)
-{
- struct window_data *item = cbdata;
- Evas_Event_Mouse_Out *out = event_info;
-
- if (item->is_selected) {
- DbgPrint("%dx%d\n", out->canvas.x, out->canvas.y);
- ecore_x_mouse_out_send(item->pixmap, out->canvas.x, out->canvas.y);
- return;
- }
-}
-
-static void item_down_cb(void *cbdata, Evas *e, Evas_Object *obj, void *event_info)
-{
- struct window_data *item = cbdata;
- Evas_Event_Mouse_Down *down = event_info;
-
- item->touch_info[0].down = 1;
-
- if (item->is_selected) {
- DbgPrint("%dx%d\n", down->canvas.x, down->canvas.y);
- ecore_x_mouse_down_send(item->pixmap, down->canvas.x, down->canvas.y, 1);
- return;
- }
-
- item->touch_info[0].x = down->canvas.x;
- item->touch_info[0].y = down->canvas.y;
-}
-
-static void item_move_cb(void *cbdata, Evas *e, Evas_Object *obj, void *event_info)
-{
- struct window_data *item = cbdata;
- Evas_Event_Mouse_Move *move = event_info;
-
- if (item->is_selected) {
- if (!item->touch_info[0].down) {
- return;
- }
-
- DbgPrint("%dx%d\n", move->cur.canvas.x, move->cur.canvas.y);
- ecore_x_mouse_move_send(item->pixmap, move->cur.canvas.x, move->cur.canvas.y);
- return;
- }
-
- if (abs(item->touch_info[0].x - move->cur.canvas.x) > 10) {
- item->touch_info[0].down = 0;
- return;
- }
-
- if (!item->touch_info[0].down) {
- return;
- }
-}
-
-static void item_up_cb(void *cbdata, Evas *e, Evas_Object *obj, void *event_info)
-{
- struct window_data *item = cbdata;
- Evas_Event_Mouse_Up *up = event_info;
- Eina_List *l;
- Eina_List *n;
-
- if (item->is_selected) {
- if (!item->touch_info[0].down) {
- return;
- }
-
- ecore_x_mouse_up_send(item->pixmap, up->canvas.x, up->canvas.y, 1);
- DbgPrint("%dx%d\n", up->canvas.x, up->canvas.y);
-
- item->touch_info[0].down = 0;
- return;
- }
-
- if (abs(item->touch_info[0].x - up->canvas.x) > 10) {
- item->touch_info[0].down = 0;
- return;
- }
-
- if (!item->touch_info[0].down) {
- return;
- }
-
- item->touch_info[0].down = 0;
-
- evas_object_resize(item->image, 720, 1280);
- evas_object_move(item->image, 0, 0);
- item->is_selected = 1;
-
- EINA_LIST_FOREACH_SAFE(s_info.win_list, l, n, item) {
- if (item->is_selected) {
- continue;
- }
-
- s_info.win_list = eina_list_remove(s_info.win_list, item);
- ecore_x_damage_free(item->damage);
- evas_object_del(item->image);
- free(item);
- }
-}
-
-static inline int update_win_list_cb(int pid, Ecore_X_Window win, const char *cmd, void *data)
-{
- struct window_data *item;
- Evas_Native_Surface surface;
- int w;
- int h;
- Evas *e;
-
- item = calloc(1, sizeof(*item));
- if (!item) {
- return EINA_FALSE;
- }
-
- e = evas_object_evas_get(data);
- item->image = evas_object_image_filled_add(e);
- if (!item->image) {
- free(item);
- return EINA_FALSE;
- }
-
- ecore_x_window_size_get(win, &w, &h);
-
- evas_object_image_size_set(item->image, w, h);
- evas_object_image_fill_set(item->image, 0, 0, w, h);
-
- surface.version = EVAS_NATIVE_SURFACE_VERSION;
- surface.type = EVAS_NATIVE_SURFACE_X11;
- surface.data.x11.visual = ecore_x_default_visual_get(ecore_x_display_get(), ecore_x_default_screen_get());
- surface.data.x11.pixmap = (unsigned int)win;
-
- evas_object_image_native_surface_set(item->image, &surface);
- evas_object_image_pixels_dirty_set(item->image, EINA_TRUE);
- evas_object_image_data_update_add(item->image, 0, 0, w, h);
-
- h = eina_list_count(s_info.win_list);
-
- w = h % 3;
- h = h / 3;
-
- // 720
- // 30 200 30 200 30 200 30
- // 1280
- // 200 * 5
- // top pad : 40 (280 - 40)
- // 240 / 6 = 40
- evas_object_resize(item->image, 200, 200);
- w = (w * 200) + (w + 1) * 30;
- h = 40 + (h * 200) + (h + 1) * 40;
- evas_object_move(item->image, w, h);
- evas_object_show(item->image);
-
- item->damage = ecore_x_damage_new(win, ECORE_X_DAMAGE_REPORT_RAW_RECTANGLES);
- if (!item->damage) {
- LOGE("Failed to create a damage handler\n");
- evas_object_del(item->image);
- free(item);
- return EINA_FALSE;
- }
-
- item->pixmap = win;
-
- evas_object_event_callback_add(item->image, EVAS_CALLBACK_MOUSE_IN, item_in_cb, item);
- evas_object_event_callback_add(item->image, EVAS_CALLBACK_MOUSE_OUT, item_out_cb, item);
- evas_object_event_callback_add(item->image, EVAS_CALLBACK_MOUSE_DOWN, item_down_cb, item);
- evas_object_event_callback_add(item->image, EVAS_CALLBACK_MOUSE_MOVE, item_move_cb, item);
- evas_object_event_callback_add(item->image, EVAS_CALLBACK_MOUSE_UP, item_up_cb, item);
-
- s_info.win_list = eina_list_append(s_info.win_list, item);
- return EINA_TRUE;
-}
-
-int window_list_create(Evas_Object *win)
-{
- if (!s_info.damage_handler) {
- s_info.damage_handler = ecore_event_handler_add(ECORE_X_EVENT_DAMAGE_NOTIFY, damage_cb, NULL);
- if (!s_info.damage_handler) {
- ErrPrint("Failed to add damage notifier\n");
- }
- }
-
- window_list_update(win);
- return 0;
-}
-
-int window_list_update(Evas_Object *win)
-{
- clear_win_list();
-
- if (util_win_list_get(update_win_list_cb, win) <= 0) {
- DbgPrint("Windows are not detected\n");
- }
-
- return 0;
-}
-
-int window_list_destroy(void)
-{
- clear_win_list();
-
- if (s_info.damage_handler) {
- ecore_event_handler_del(s_info.damage_handler);
- s_info.damage_handler = NULL;
- }
-
- return 0;
-}
-
-/* End of a file */
+++ /dev/null
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-PROJECT(com.samsung.w-add-viewer.dbox.calendar C)
-
-INCLUDE(FindPkgConfig)
-pkg_check_modules(com.samsung.calendar.icon REQUIRED
- elementary
- dlog
- dynamicbox
- dynamicbox_service
- aul
-)
-
-SET(EXTRA_CFLAGS "")
-FOREACH (flag ${com.samsung.calendar.icon_CFLAGS})
- SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-ENDFOREACH(flag)
-
-SET(CMAKE_C_FLAGS "-DTIZEN_DEBUG_ENABLE -Wall -Winline -Werror -fno-builtin-malloc -fno-omit-frame-pointer -g")
-
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
-
-ADD_DEFINITIONS(${EXTRA_CFLAGS})
-ADD_DEFINITIONS("-DLOG_TAG=\"DBOX_CALENDAR\"")
-
-ADD_LIBRARY(${PROJECT_NAME} SHARED
- src/main.c
- src/virtual_canvas.c
-)
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${com.samsung.calendar.icon_LDFLAGS})
-
-INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIBEXECDIR})
-
-ADD_SUBDIRECTORY(data)
-#ADD_SUBDIRECTORY(res)
+++ /dev/null
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-
-# install edj
-ADD_CUSTOM_TARGET(w_calendar_icon.edj
- COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/images ${EDJE_CFLAGS}
- ${CMAKE_CURRENT_SOURCE_DIR}/w_calendar_icon.edc w_calendar_icon.edj
- DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/w_calendar_icon.edc
-)
-ADD_DEPENDENCIES(${PROJECT_NAME} w_calendar_icon.edj)
-INSTALL(FILES w_calendar_icon.edj DESTINATION ${EDJDIR})
+++ /dev/null
-collections {
- images {
- image: "icon1x1.png" COMP;
- image: "icon2x2.png" COMP;
- }
-
- group {
- name: "1x1";
- parts {
- part {
- name: "bg";
- type: RECT;
- description {
- rel1 { relative: 0.0 0.0; }
- rel2 { relative: 1.0 1.0; }
- color: 0 0 0 0;
- }
- }
-
- part {
- name: "icon";
- type: IMAGE;
- description {
- rel1 { relative: 0.0 0.0; to, "bg"; }
- rel2 { relative: 1.0 1.0; to, "bg"; }
- image { normal: "icon1x1.png"; }
- }
- }
-
- part {
- name: "text";
- type: TEXT;
- description {
- rel1 { relative: 0.0 0.0; to, "icon"; }
- rel2 { relative: 1.0 1.0; to, "icon"; }
- text {
- font: "Samsung Sans:style=Bold";
- // text_class: "tizen";
- align: 0.5 0.65;
- size: 30;
- text: "0";
- }
- }
- }
- }
-
- programs {
- }
- }
-
- group {
- name: "2x2";
- parts {
- part {
- name: "bg";
- type: RECT;
- description {
- rel1 { relative: 0.0 0.0; }
- rel2 { relative: 1.0 1.0; }
- color: 0 0 0 0;
- }
- }
-
- part {
- name: "icon";
- type: IMAGE;
- description {
- rel1 { relative: 0.0 0.0; to, "bg"; }
- rel2 { relative: 1.0 1.0; to, "bg"; }
- image { normal: "icon2x2.png"; }
- }
- }
-
- part {
- name: "text";
- type: TEXT;
- description {
- rel1 { relative: 0.0 0.0; to, "icon"; }
- rel2 { relative: 1.0 1.0; to, "icon"; }
- text {
- font: "Samsung Sans:style=Bold";
- // text_class: "tizen";
- align: 0.5 0.65;
- size: 30;
- text: "0";
- }
- }
- }
- }
-
- programs {
- }
- }
-}
-/* End of a file */
+++ /dev/null
-/*
- * [live-data-provider]
- *
- * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact: Sangil Lee <sangil77.lee@samsung.com>, Seho Chang <seho.chang@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __LIVE_DATA_PROVIDER_LIVE_GEN_TEMPLATE_MAIN_H__
-#define __LIVE_DATA_PROVIDER_LIVE_GEN_TEMPLATE_MAIN_H__
-
-/**
- * @note
- * Sync function must has not to use any callback
- */
-#define _SYNC_
-/**
- * @note
- * Async function can use the callback but it has to be invoked in specified time "timeout"
- */
-#define _ASYNC_
-
-/**
- * @brief
- * @param[in] pkgname
- * @return int
- */
-_SYNC_ extern int dynamicbox_initialize(const char *pkgname);
-
-/**
- * @brief
- * @return int
- */
-_SYNC_ extern int dynamicbox_finalize(void);
-
-/**
- * @brief
- * @param[in] filename
- * @param[in] content
- * @param[in] cluster
- * @param[in] category
- * @return int
- */
-_SYNC_ extern int dynamicbox_create(const char *filename, const char *content, const char *cluster, const char *category);
-
-/**
- * @brief
- * @param[in] filename
- * @return int
- */
-_SYNC_ extern int dynamicbox_destroy(const char *filename);
-
-/**
- * @brief
- * @param[in] filename
- * @return int
- */
-_SYNC_ extern int dynamicbox_need_to_update(const char *filename);
-
-/**
- * @brief
- * @param[in] filename
- * @return int
- */
-_SYNC_ extern int dynamicbox_need_to_destroy(const char *filename);
-
-/**
- * @brief
- * @param[in] cluster
- * @param[in] category
- * @return int
- */
-_SYNC_ extern int dynamicbox_need_to_create(const char *cluster, const char *category);
-
-/**
- * @brief
- * @param[in] filename
- * @return int
- */
-_ASYNC_ extern int dynamicbox_update_content(const char *filename);
-
-/**
- * @brief
- * @param[in] filename
- * @param[in] event "clicked" only
- * @param[in] timestamp
- * @param[in] x
- * @param[in] y
- * @return int
- */
-_SYNC_ extern int dynamicbox_clicked(const char *filename, const char *event, double timestamp, double x, double y);
-
-/**
- * @brief if "source" == "filename", emission could be "gbar,show", "gbar,hide", "dbox,show", "dbox,hide".
- * @param[in] filename
- * @param[in] emission
- * @param[in] source
- * @param[in] event_info
- * @return int
- */
-_SYNC_ extern int dynamicbox_content_event(const char *filename, const char *emission, const char *source, dynamicbox_event_info_t event_info);
-
-/**
- * @brief
- * @param[in] filename
- * @param[in] width
- * @param[in] height
- * @return int
- */
-_SYNC_ extern int dynamicbox_resize(const char *filename, int size_type);
-
-/**
- * @brief
- * @param[in] filename
- * @param[in] cluster
- * @param[in] category
- * @return int
- */
-_SYNC_ extern int dynamicbox_change_group(const char *filename, const char *cluster, const char *category);
-
-/**
- * @brief
- * @param[in] filename
- * @param[out] w Width of the last content
- * @param[out] h Height of the last content
- * @param[out] priority Priority of the last content
- * @param[out] *content Content info of the last content which should be usable for dynamicbox_create(..., content_info, ...);
- * @param[out] *title Only for the [CA] dynamicbox. Describe a title for your sub cluster
- * @return int
- */
-_SYNC_ extern int dynamicbox_get_info(const char *filename, int *w, int *h, double *priority, char **content, char **title);
-
-/**
- * @brief
- * @param[in] filename
- * @param[in] pinup
- * @return char * String which is allocated on a Heap space.
- */
-_SYNC_ extern char *dynamicbox_pinup(const char *filename, int pinup);
-
-/**
- * @brief
- * @param[in] filename
- * @return int 1 is pinned up, 0 is not pinned up
- */
-_SYNC_ extern int dynamicbox_is_pinned_up(const char *filename);
-
-#endif
-
-// End of a file
+++ /dev/null
-/*
- * [live-data-provider]
- *
- * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact: Sangil Lee <sangil77.lee@samsung.com>, Seho Chang <seho.chang@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __LIVE_DATA_PROVIDER_LIVE_GEN_TEMPLATE_VIRTUAL_CANVAS_H__
-#define __LIVE_DATA_PROVIDER_LIVE_GEN_TEMPLATE_VIRTUAL_CANVAS_H__
-
-extern int flush_to_file(Evas *e, const char *filename, int w, int h);
-extern int flush_data_to_file(Evas *e, char *data, const char *filename, int w, int h);
-
-extern Evas *create_virtual_canvas(int w, int h);
-extern int destroy_virtual_canvas(Evas *e);
-extern void get_screen_geometry(int *w, int *h);
-
-#endif
-
-// End of a file
+++ /dev/null
-#include <Elementary.h>
-#include <errno.h>
-#include <string.h>
-#include <unistd.h>
-#include <time.h>
-
-#include <dlog.h>
-#include <dynamicbox.h>
-#include <dynamicbox_service.h>
-#include <dynamicbox_errno.h>
-#include <vconf.h>
-#include <aul.h>
-
-#include <unicode/unum.h>
-#include <unicode/ustring.h>
-
-#include "main.h"
-#include "virtual_canvas.h"
-
-#define PUBLIC __attribute__((visibility("default")))
-
-static Eina_List *s_list;
-
-int errno;
-
-struct info {
- char *id;
- int size_type;
-};
-
-char *get_count_str_from_icu(int count)
-{
- char *locale_tmp = vconf_get_str(VCONFKEY_REGIONFORMAT);
- char locale[32] = { 0, };
- char *p = NULL;
-
- if (!locale_tmp) {
- return NULL;
- }
-
- strcpy(locale, locale_tmp);
-
- if(locale[0] != '\0') {
- p = strstr(locale, ".UTF-8");
- if(p) {
- *p = 0;
- }
- }
-
- char *ret_str = NULL;
- UErrorCode status = U_ZERO_ERROR;
- uint32_t number = count;
- UNumberFormat *num_fmt;
- UChar result[20] = { 0, };
- char res[20] = { 0, };
- int32_t len = (int32_t) (sizeof(result) / sizeof((result)[0]));
-
- num_fmt = unum_open(UNUM_DEFAULT, NULL, -1, locale, NULL, &status);
- unum_format(num_fmt, number, result, len, NULL, &status);
-
- u_austrcpy(res, result);
-
- unum_close(num_fmt);
-
- ret_str = strdup(res);
- free(locale_tmp);
- return ret_str;
-}
-
-static inline void create_default_output(const char *id, int size_type)
-{
- Evas *e;
- Evas_Object *layout;
- int w, h;
-
- (void)dynamicbox_service_get_size(size_type, &w, &h);
-
- e = create_virtual_canvas(w, h);
- if (!e) {
- LOGE("Failed to create a virtual canvas\n");
- return;
- }
-
- layout = edje_object_add(e);
- if (!layout) {
- destroy_virtual_canvas(e);
- return;
- }
-
- if (size_type == DBOX_SIZE_TYPE_1x1) {
- edje_object_file_set(layout, "/usr/apps/com.samsung.w-add-viewer/res/edje/w_calendar_icon.edj", "1x1");
- } else {
- edje_object_file_set(layout, "/usr/apps/com.samsung.w-add-viewer/res/edje/w_calendar_icon.edj", "2x2");
- }
-
- time_t t;
- struct tm *tm;
- int idx;
- char *icu;
-
- time(&t);
- tm = localtime(&t);
- if (tm) {
- char buf[256] = { 0, };
- strftime(buf, sizeof(buf) - 1, "%d", tm);
- if (sscanf(buf, "%d", &idx) != 1) {
- idx = 1;
- }
- } else {
- idx = 1;
- }
-
- icu = get_count_str_from_icu(idx);
- LOGD("========> [%s] <======\n", icu);
- if (icu) {
- edje_object_part_text_set(layout, "text", icu);
- free(icu);
- }
- evas_object_resize(layout, w, h);
- evas_object_show(layout);
-
- if (flush_to_file(e, id, w, h) == EXIT_FAILURE) {
- LOGE("Failed to flush\n");
- }
-
- evas_object_del(layout);
- destroy_virtual_canvas(e);
-}
-
-static inline struct info *find_item(const char *id)
-{
- Eina_List *l;
- struct info *item;
-
- EINA_LIST_FOREACH(s_list, l, item) {
- if (!strcmp(item->id, id)) {
- return item;
- }
- }
-
- return NULL;
-}
-
-PUBLIC int dynamicbox_initialize(const char *pkgname)
-{
- /**
- * @TODO
- * Do one-time initialize.
- * This will be called only once right before the first box is creating
- */
- return 0;
-}
-
-PUBLIC int dynamicbox_finalize(void)
-{
- /**
- * @TODO
- * Do one-time finalization.
- * This will be called only once right after the last box is destroyed
- */
- return 0;
-}
-
-// NOTE: This function is going to be invoked for initializing all resources
-PUBLIC int dynamicbox_create(const char *id, const char *content, const char *cluster, const char *category)
-{
- struct info *info;
-
- info = malloc(sizeof(*info));
- if (!info) {
- return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
- }
-
- info->id = strdup(id);
- if (!info->id) {
- free(info);
- return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
- }
-
- /**
- * @NOTE
- * cluster == 'user,created'
- * category == 'default'
- *
- * You don't need to care these two values if you don't know what are them
- */
-
- s_list = eina_list_append(s_list, info);
-
- /**
- * @NOTE
- * You can returns DBOX_OUTPUT_UPDATED or DBOX_NEED_TO_SCHEDULE or DBOX_DONE
- * You also can use them at same time using '|'
- *
- * If your content is updated, from this function, you have to
- * return DBOX_OUTPUT_UPDATED;
- *
- * If you want to the provider call your dynamicbox_update_content function ASAP
- * return DBOX_NEED_TO_SCHEDULE;
- *
- * If your content is updated and need to call the update_content function ASAP,
- * return DBOX_OUTPUT_UPDATED | DBOX_NEED_TO_SCHEDULE
- *
- * Don't have any changes, just
- * return DBOX_DONE
- */
-
- /**
- * @NOTE
- * You create the default output image from here now.
- * So you HAVE TO return DBOX_OUTPUT_UPDATED
- */
- return DBOX_DONE;
-}
-
-// NOTE: This function is going to be invoked for release all resources
-PUBLIC int dynamicbox_destroy(const char *id)
-{
- struct info *item;
- LOGD("[%s:%d]\n", __func__, __LINE__);
-
- item = find_item(id);
- if (!item) {
- /**
- * @NOTE
- * EXCEPTIONAL CASES
- */
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- s_list = eina_list_remove(s_list, item);
-
- /**
- * @NOTE: You have to clear all resource which are related with
- * current instance. If you didn't clear it correctly,
- * the live data provider will get suffer from the memory
- * pressure. therefore, keep trace on your resources.
- */
- free(item->id);
- free(item);
- return DBOX_DONE;
-}
-
-PUBLIC int dynamicbox_need_to_update(const char *id)
-{
- struct info *item;
-
- LOGD("[%s:%d]\n", __func__, __LINE__);
-
- item = find_item(id);
- if (!item) {
- /* Hmm, there is no matched instance. */
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- /**
- * @TODO
- * Check the content,
- * If you found any changes in your content data,
- * return 1 or 0
- *
- * If you return 1, the provider will schedule to update your box ASAP.
- * Or the provider will skip to call dynamicbox_update_content function.
- *
- * this function can be called several times, before call the dynamicbox_update_content function.
- *
- * if your dynamicbox_update_content is not called, and you have content which need to be updated, you have to
- * keep return 1
- */
- return 1;
-}
-
-PUBLIC int dynamicbox_update_content(const char *id)
-{
- struct info *item;
-
- LOGD("[%s:%d]\n", __func__, __LINE__);
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- create_default_output(id, item->size_type);
-
- /**
- * @NOTE
- * This function have to generate a new content.
- * If you don't want to generate new content,
- * return negative values.
- * or you have to generate the new content. in timeout msec.
- */
- return DBOX_DONE;
-}
-
-PUBLIC int dynamicbox_clicked(const char *id, const char *event, double timestamp, double x, double y)
-{
- struct info *item;
-
- /**
- * @NOTE:
- * You will get this if a user press your image.
- * You can get the absolute coordinate using the given x,y.
- *
- * event: clicked
- */
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- /**
- * @NOTE
- * If you can generate new content in this function,
- * Generate a new content.
- * and return DBOX_OUTPUT_UPDATED
- *
- * In case of you cannot create the updated image in this function directly,
- * return DBOX_NEED_TO_SCHEDULE
- * The provider will call your dynamicbox_need_to_update & dynamicbox_update_content function.
- *
- * I recommend that if you are able to generate new content in this function,
- * generate it directly. and just returns DBOX_OUTPUT_UPDATED
- *
- * Because if you return DBOX_NEED_TO_SCHEDULE, the provider will try to update your livebox
- * But it can be interrupted by other events.
- * Then you livebox content updating will be delayed
- */
- return DBOX_DONE; /* No chages */
-}
-
-PUBLIC int dynamicbox_content_event(const char *id, const char *emission, const char *source, dynamicbox_event_info_t event_info)
-{
- struct info *item;
-
- LOGD("[%s:%d] Emission : %s, source: %s [%lf x %lf - %lf x %lf] (%lf x %lf - %d)\n",
- __func__, __LINE__,
- emission, source,
- event_info->part.sx, event_info->part.sy, event_info->part.ex, event_info->part.ey,
- event_info->pointer.x, event_info->pointer.y, event_info->pointer.down);
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- /**
- * @NOTE
- * If you can generate new content in this function,
- * Generate a new content.
- * and return DBOX_OUTPUT_UPDATED
- *
- * In case of you cannot create the updated image in this function directly,
- * return DBOX_NEED_TO_SCHEDULE
- * The provider will call your dynamicbox_need_to_update & dynamicbox_update_content function.
- *
- * I recommend that if you are able to generate new content in this function,
- * generate it directly. and just returns DBOX_OUTPUT_UPDATED
- *
- * Because if you return DBOX_NEED_TO_SCHEDULE, the provider will try to update your livebox
- * But it can be interrupted by other events.
- * Then you livebox content updating will be delayed
- */
- return DBOX_DONE; /* No changes */
-}
-
-PUBLIC int dynamicbox_resize(const char *id, int type)
-{
- struct info *item;
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- /**
- * @TODO
- * Check the size type, which is supporting by your box.
- * If the invalid size is requested, you should returns DBOX_STATUS_ERROR_INVALID
- */
-
- item->size_type = type;
-
- /**
- * @NOTE
- * If you can generate new content in this function,
- * Generate a new content.
- * and return DBOX_OUTPUT_UPDATED
- *
- * In case of you cannot create the updated image in this function directly,
- * return DBOX_NEED_TO_SCHEDULE
- * The provider will call your dynamicbox_need_to_update & dynamicbox_update_content function.
- *
- * I recommend that if you are able to generate new content in this function,
- * generate it directly. and just returns DBOX_OUTPUT_UPDATED
- *
- * Because if you return DBOX_NEED_TO_SCHEDULE, the provider will try to update your livebox
- * But it can be interrupted by other events.
- * Then you livebox content updating will be delayed
- */
- create_default_output(id, type);
- return DBOX_OUTPUT_UPDATED;
-}
-
-/**
- * @brief
- * The provider will call this to get the content size and its content_info.
- * So this will be called after you update the contents.
- * Also the provider will tries to get "title" for reading it if the Accessibility(TTS) is enabled.
- * You have to summarize your content to A string and copy it to the "title".
- * It has to be stored in the heap (allocated memory will be released by provider automatically).
- */
-PUBLIC int dynamicbox_get_info(const char *id, int *w, int *h, double *priority, char **content, char **title)
-{
- struct info *item;
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- dynamicbox_service_get_size(item->size_type, w, h);
-
- /**
- * This content string will be used again after reboot the device,
- * this will be passed to your dynamicbox_create function again via the second parameter "content".
- */
- *content = NULL;
-
- /**
- * This is not used. just set it to 1.0 for default
- */
- *priority = 1.0;
-
- *title = strdup("Accessibility will read this title string");
- if (!*title) {
- LOGE("Heap: %s\n", strerror(errno));
- }
-
- return 0;
-}
-
-PUBLIC int dynamicbox_get_alt_info(const char *id, char **icon, char **name)
-{
- /**
- * @brief
- * Set the absolute path of alternative icon file
- * The string must be allocated in the heap.
- * And it will be released by provider.
- */
- *icon = NULL;
-
- /**
- * @brief
- * Set the name of alternative one
- * The string must be allocated in the heap.
- * And it will be released by provider.
- */
- *name = NULL;
-
- return DBOX_DONE;
-}
-
-PUBLIC int dynamicbox_need_to_destroy(const char *id)
-{
- /**
- * @NOTE
- * You don't need implement this, if don't know what this is.
- * This will be called after call the dynamicbox_need_to_update function.
- * If the dynamicbox_need_to_update function returns 0,
- * The provider will call this.
- *
- * If you return 1, the provider will delete your box.
- */
- return 0;
-}
-
-PUBLIC int dynamicbox_system_event(const char *id, int type)
-{
- struct info *item;
- int ret = DBOX_DONE;
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- if (type == DBOX_SYS_EVENT_FONT_CHANGED) {
- LOGD("Font is changed\n");
- create_default_output(id, item->size_type);
- ret = DBOX_OUTPUT_UPDATED;
- } else if (type == DBOX_SYS_EVENT_LANG_CHANGED) {
- LOGD("Language is changed\n");
- create_default_output(id, item->size_type);
- ret = DBOX_OUTPUT_UPDATED;
- } else if (type == DBOX_SYS_EVENT_TIME_CHANGED) {
- LOGD("Time is changed\n");
- create_default_output(id, item->size_type);
- ret = DBOX_OUTPUT_UPDATED;
- } else if (type == DBOX_SYS_EVENT_REGION_CHANGED) {
- LOGD("Region is changed\n");
- create_default_output(id, item->size_type);
- ret = DBOX_OUTPUT_UPDATED;
- } else if (type == DBOX_SYS_EVENT_PAUSED) {
- LOGD("Paused\n");
- } else if (type == DBOX_SYS_EVENT_RESUMED) {
- LOGD("Resumed\n");
- } else if (type == DBOX_SYS_EVENT_MMC_STATUS_CHANGED) {
- LOGD("MMC");
- } else {
- LOGD("Unknown");
- }
-
- /**
- * @NOTE
- * If you can generate new content in this function,
- * Generate a new content. and return DBOX_OUTPUT_UPDATED
- *
- * In case of you cannot create the updated image in this function directly,
- * return DBOX_NEED_TO_SCHEDULE
- * The provider will call your dynamicbox_need_to_update & dynamicbox_update_content function.
- *
- * I recommend that if you are able to generate new content in this function,
- * generate it directly. and just returns DBOX_OUTPUT_UPDATED
- *
- * Because if you return DBOX_NEED_TO_SCHEDULE, the provider will try to update your livebox
- * But it can be interrupted by other events.
- * Then you livebox content updating will be delayed
- *
- * DBOX_FORCE_TO_SCHEDULE - If you returns this, the provider will try to update your box
- * even though the box is paused you will get need_to_update & update_content function call.
- */
- return ret;
-}
-
-/* End of a file */
+++ /dev/null
-#include <Elementary.h>
-#include <Ecore_Evas.h>
-#include <Ecore_X.h>
-
-#include <dlog.h>
-#include <dynamicbox.h>
-
-#include "virtual_canvas.h"
-#include "main.h"
-
-
-
-#define QUALITY_N_COMPRESS "quality=100 compress=1"
-
-
-
-Evas *create_virtual_canvas(int w, int h)
-{
- Ecore_Evas *internal_ee;
- Evas *internal_e;
-
- // Create virtual canvas
- internal_ee = ecore_evas_buffer_new(w, h);
- if (!internal_ee) {
- LOGD("Failed to create a new canvas buffer\n");
- return NULL;
- }
-
- ecore_evas_alpha_set(internal_ee, EINA_TRUE);
- ecore_evas_manual_render_set(internal_ee, EINA_TRUE);
-
- // Get the "Evas" object from a virtual canvas
- internal_e = ecore_evas_get(internal_ee);
- if (!internal_e) {
- ecore_evas_free(internal_ee);
- LOGD("Faield to get Evas object\n");
- return NULL;
- }
-
- return internal_e;
-}
-
-
-
-int flush_to_file(Evas *e, const char *filename, int w, int h)
-{
- void *data;
- Ecore_Evas *internal_ee;
-
- internal_ee = ecore_evas_ecore_evas_get(e);
- if (!internal_ee) {
- LOGD("Failed to get ecore evas\n");
- return EXIT_FAILURE;
- }
-
- ecore_evas_manual_render(internal_ee);
-
- // Get a pointer of a buffer of the virtual canvas
- data = (void*)ecore_evas_buffer_pixels_get(internal_ee);
- if (!data) {
- LOGD("Failed to get pixel data\n");
- return EXIT_FAILURE;
- }
-
- return flush_data_to_file(e, data, filename, w, h);
-}
-
-
-
-int flush_data_to_file(Evas *e, char *data, const char *filename, int w, int h)
-{
- Evas_Object *output;
-
- output = evas_object_image_add(e);
- if (!output) {
- LOGD("Failed to create an image object\n");
- return EXIT_FAILURE;
- }
-
- evas_object_image_data_set(output, NULL);
- evas_object_image_colorspace_set(output, EVAS_COLORSPACE_ARGB8888);
- evas_object_image_alpha_set(output, EINA_TRUE);
- evas_object_image_size_set(output, w, h);
- evas_object_image_smooth_scale_set(output, EINA_TRUE);
- evas_object_image_data_set(output, data);
- evas_object_image_fill_set(output, 0, 0, w, h);
- evas_object_image_data_update_add(output, 0, 0, w, h);
-
- if (evas_object_image_save(output, filename, NULL, QUALITY_N_COMPRESS) == EINA_FALSE) {
- evas_object_del(output);
- LOGD("Faield to save a captured image (%s)\n", filename);
- return EXIT_FAILURE;
- }
-
- evas_object_del(output);
-
- if (access(filename, F_OK) != 0) {
- LOGD("File %s is not found\n", filename);
- return EXIT_FAILURE;
- }
-
- return EXIT_SUCCESS;
-}
-
-
-
-int destroy_virtual_canvas(Evas *e)
-{
- Ecore_Evas *ee;
-
- ee = ecore_evas_ecore_evas_get(e);
- if (!ee) {
- LOGD("Failed to ecore evas object\n");
- return EXIT_FAILURE;
- }
-
- ecore_evas_free(ee);
- return EXIT_SUCCESS;
-}
-
-
-
-// End of a file
+++ /dev/null
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-PROJECT(com.samsung.w-add-viewer.dbox.img C)
-
-INCLUDE(FindPkgConfig)
-pkg_check_modules(img_pkgs REQUIRED
- elementary
- dlog
- dynamicbox
- dynamicbox_service
- aul
-)
-
-FOREACH (flag ${img_pkgs_CFLAGS})
- SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-ENDFOREACH(flag)
-
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Winline -Werror -fno-builtin-malloc -fno-omit-frame-pointer -g")
-
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
-
-ADD_DEFINITIONS(${EXTRA_CFLAGS})
-ADD_DEFINITIONS("-DLOG_TAG=\"DBOX_IMAGE\"")
-
-ADD_LIBRARY(${PROJECT_NAME} SHARED
- src/main.c
- src/virtual_canvas.c
-)
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${img_pkgs_LDFLAGS})
-
-INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIBEXECDIR})
-
-ADD_SUBDIRECTORY(data)
-#ADD_SUBDIRECTORY(res)
+++ /dev/null
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-
-# install edj
-ADD_CUSTOM_TARGET(tile.edj
- COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/images ${EDJE_CFLAGS}
- ${CMAKE_CURRENT_SOURCE_DIR}/hello.edc tile.edj
- DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/hello.edc
-)
-ADD_DEPENDENCIES(${PROJECT_NAME} tile.edj)
-INSTALL(FILES tile.edj DESTINATION ${EDJDIR})
+++ /dev/null
-images {
- image: "unknown.png" COMP;
-}
-
-collections {
- group {
- name: "default";
- parts {
- part {
- name: "pkgname";
- type: TEXT;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; }
- rel2 { relative: 1.0 0.5; }
- color: 255 255 255 255;
- text {
- text: "com.samsung.w-add-viewer.dbox.img";
- size: 20;
- }
- }
- }
-
- part {
- name: "content";
- type: TEXT;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.5; }
- rel2 { relative: 1.0 1.0; }
- color: 255 255 255 255;
- text {
- text: "content";
- size: 20;
- }
- }
- }
- }
- }
-}
-
-/* End of a file */
+++ /dev/null
-/*
- * [live-data-provider]
- *
- * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact: Sangil Lee <sangil77.lee@samsung.com>, Seho Chang <seho.chang@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __LIVE_DATA_PROVIDER_LIVE_GEN_TEMPLATE_MAIN_H__
-#define __LIVE_DATA_PROVIDER_LIVE_GEN_TEMPLATE_MAIN_H__
-
-/*!
- * \note
- * Sync function must has not to use any callback
- */
-#define _SYNC_
-/*!
- * \note
- * Async function can use the callback but it has to be invoked in specified time "timeout"
- */
-#define _ASYNC_
-
-/*!
- * \brief
- * \param[in] pkgname
- * \return int
- */
-_SYNC_ extern int dynamicbox_initialize(const char *pkgname);
-
-/*!
- * \brief
- * \return int
- */
-_SYNC_ extern int dynamicbox_finalize(void);
-
-/*!
- * \brief
- * \param[in] filename
- * \param[in] content
- * \param[in] cluster
- * \param[in] category
- * \return int
- */
-_SYNC_ extern int dynamicbox_create(const char *filename, const char *content, const char *cluster, const char *category);
-
-/*!
- * \brief
- * \param[in] filename
- * \return int
- */
-_SYNC_ extern int dynamicbox_destroy(const char *filename);
-
-/*!
- * \brief
- * \param[in] filename
- * \return int
- */
-_SYNC_ extern int dynamicbox_need_to_update(const char *filename);
-
-/*!
- * \brief
- * \param[in] filename
- * \return int
- */
-_SYNC_ extern int dynamicbox_need_to_destroy(const char *filename);
-
-/*!
- * \brief
- * \param[in] cluster
- * \param[in] category
- * \return int
- */
-_SYNC_ extern int dynamicbox_need_to_create(const char *cluster, const char *category);
-
-/*!
- * \brief
- * \param[in] filename
- * \return int
- */
-_ASYNC_ extern int dynamicbox_update_content(const char *filename);
-
-/*!
- * \brief
- * \param[in] filename
- * \param[in] event "clicked" only
- * \param[in] timestamp
- * \param[in] x
- * \param[in] y
- * \return int
- */
-_SYNC_ extern int dynamicbox_clicked(const char *filename, const char *event, double timestamp, double x, double y);
-
-/*!
- * \brief if "source" == "filename", emission could be "gbar,show", "gbar,hide", "dbox,show", "dbox,hide".
- * \param[in] filename
- * \param[in] emission
- * \param[in] source
- * \param[in] event_info
- * \return int
- */
-_SYNC_ extern int dynamicbox_content_event(const char *filename, const char *emission, const char *source, dynamicbox_event_info_t event_info);
-
-/*!
- * \brief
- * \param[in] filename
- * \param[in] width
- * \param[in] height
- * \return int
- */
-_SYNC_ extern int dynamicbox_resize(const char *filename, int size_type);
-
-/*!
- * \brief
- * \param[in] filename
- * \param[in] cluster
- * \param[in] category
- * \return int
- */
-_SYNC_ extern int dynamicbox_change_group(const char *filename, const char *cluster, const char *category);
-
-/*!
- * \brief
- * \param[in] filename
- * \param[out] w Width of the last content
- * \param[out] h Height of the last content
- * \param[out] priority Priority of the last content
- * \param[out] *content Content info of the last content which should be usable for dynamicbox_create(..., content_info, ...);
- * \param[out] *title Only for the [CA] dynamicbox. Describe a title for your sub cluster
- * \return int
- */
-_SYNC_ extern int dynamicbox_get_info(const char *filename, int *w, int *h, double *priority, char **content, char **title);
-
-/*!
- * \brief
- * \param[in] filename
- * \param[in] pinup
- * \return char * String which is allocated on a Heap space.
- */
-_SYNC_ extern char *dynamicbox_pinup(const char *filename, int pinup);
-
-/*!
- * \brief
- * \param[in] filename
- * \return int 1 is pinned up, 0 is not pinned up
- */
-_SYNC_ extern int dynamicbox_is_pinned_up(const char *filename);
-#endif
-
-// End of a file
+++ /dev/null
-/*
- * [live-data-provider]
- *
- * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact: Sangil Lee <sangil77.lee@samsung.com>, Seho Chang <seho.chang@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __LIVE_DATA_PROVIDER_LIVE_GEN_TEMPLATE_VIRTUAL_CANVAS_H__
-#define __LIVE_DATA_PROVIDER_LIVE_GEN_TEMPLATE_VIRTUAL_CANVAS_H__
-
-extern int flush_to_file(Evas *e, const char *filename, int w, int h);
-extern int flush_data_to_file(Evas *e, char *data, const char *filename, int w, int h);
-
-extern Evas *create_virtual_canvas(int w, int h);
-extern int destroy_virtual_canvas(Evas *e);
-extern void get_screen_geometry(int *w, int *h);
-
-#endif
-
-// End of a file
+++ /dev/null
-#include <Elementary.h>
-#include <errno.h>
-#include <string.h>
-
-#include <dlog.h>
-#include <dynamicbox.h>
-#include <dynamicbox_service.h>
-#include <dynamicbox_errno.h>
-
-#include <aul.h>
-
-#include "main.h"
-#include "virtual_canvas.h"
-
-#define PUBLIC __attribute__((visibility("default")))
-
-static Eina_List *s_list;
-int errno;
-
-struct info {
- char *id;
- char *content;
- int size_type;
-};
-
-static inline void create_default_output(const char *id, int w, int h)
-{
- Evas *e;
- Evas_Object *box;
- int r, g, b, a;
-
- e = create_virtual_canvas(w, h);
- if (!e) {
- LOGE("Failed to create a virtual canvas\n");
- return;
- }
-
- box = evas_object_rectangle_add(e);
- if (!box) {
- LOGE("Failed to create a rectangle object\n");
- destroy_virtual_canvas(e);
- return;
- }
-
- evas_object_resize(box, w, h);
-
- a = 100 + (rand() % 156);
- do {
- r = rand() % 256;
- g = rand() % 256;
- b = rand() % 256;
- } while (r == 0 && g == 0 && b == 0);
-
- evas_object_color_set(box, r, g, b, a);
- evas_object_show(box);
-
- if (flush_to_file(e, id, w, h) == EXIT_FAILURE) {
- LOGE("Failed to flush\n");
- }
-
- evas_object_del(box);
- destroy_virtual_canvas(e);
-}
-
-static inline struct info *find_item(const char *id)
-{
- Eina_List *l;
- struct info *item;
-
- EINA_LIST_FOREACH(s_list, l, item) {
- if (!strcmp(item->id, id)) {
- return item;
- }
- }
-
- return NULL;
-}
-
-PUBLIC int dynamicbox_initialize(const char *pkgname)
-{
- /**
- * @TODO
- * Do one-time initialize.
- * This will be called only once right before the first box is creating
- */
- return 0;
-}
-
-PUBLIC int dynamicbox_finalize(void)
-{
- /**
- * @TODO
- * Do one-time finalization.
- * This will be called only once right after the last box is destroyed
- */
- return 0;
-}
-
-// NOTE: This function is going to be invoked for initializing all resources
-PUBLIC int dynamicbox_create(const char *id, const char *content, const char *cluster, const char *category)
-{
- struct info *info;
- int w;
- int h;
-
- info = malloc(sizeof(*info));
- if (!info) {
- return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
- }
-
- info->id = strdup(id);
- if (!info->id) {
- free(info);
- return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
- }
-
- info->content = strdup(content);
- if (!info->content) {
- free(info->id);
- free(info);
- return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
- }
-
- /**
- * @NOTE
- * cluster == 'user,created'
- * category == 'default'
- *
- * You don't need to care these two values if you don't know what are them
- */
-
- dynamicbox_service_get_size(DBOX_SIZE_TYPE_1x1, &w, &h);
- s_list = eina_list_append(s_list, info);
-
- /**
- * @NOTE
- * You can returns DBOX_OUTPUT_UPDATED or DBOX_NEED_TO_SCHEDULE or DBOX_DONE
- * You also can use them at same time using '|'
- *
- * If your content is updated, from this function, you have to
- * return DBOX_OUTPUT_UPDATED;
- *
- * If you want to the provider call your dynamicbox_update_content function ASAP
- * return DBOX_NEED_TO_SCHEDULE;
- *
- * If your content is updated and need to call the update_content function ASAP,
- * return DBOX_OUTPUT_UPDATED | DBOX_NEED_TO_SCHEDULE
- *
- * Don't have any changes, just
- * return DBOX_DONE
- */
-
- create_default_output(id, w, h);
- /**
- * @NOTE
- * You create the default output image from here now.
- * So you HAVE TO return DBOX_OUTPUT_UPDATED
- */
- return DBOX_OUTPUT_UPDATED;
-}
-
-// NOTE: This function is going to be invoked for release all resources
-PUBLIC int dynamicbox_destroy(const char *id)
-{
- struct info *item;
- LOGD("[%s:%d]\n", __func__, __LINE__);
-
- item = find_item(id);
- if (!item) {
- /**
- * @NOTE
- * EXCEPTIONAL CASES
- */
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- s_list = eina_list_remove(s_list, item);
-
- /**
- * @NOTE: You have to clear all resource which are related with
- * current instance. If you didn't clear it correctly,
- * the live data provider will get suffer from the memory
- * pressure. therefore, keep trace on your resources.
- */
- free(item->content);
- free(item->id);
- free(item);
- return DBOX_DONE;
-}
-
-PUBLIC int dynamicbox_need_to_update(const char *id)
-{
- struct info *item;
-
- LOGD("[%s:%d]\n", __func__, __LINE__);
-
- item = find_item(id);
- if (!item) {
- /* Hmm, there is no matched instance. */
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- /**
- * @TODO
- * Check the content,
- * If you found any changes in your content data,
- * return 1 or 0
- *
- * If you return 1, the provider will schedule to update your box ASAP.
- * Or the provider will skip to call dynamicbox_update_content function.
- *
- * this function can be called several times, before call the dynamicbox_update_content function.
- *
- * if your dynamicbox_update_content is not called, and you have content which need to be updated, you have to
- * keep return 1
- */
- return 1;
-}
-
-PUBLIC int dynamicbox_update_content(const char *id)
-{
- struct info *item;
- Evas *e;
- Evas_Object *box;
- Evas_Object *edje;
- int w;
- int h;
- Eina_Bool ret;
-
- LOGD("[%s:%d]\n", __func__, __LINE__);
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- (void)dynamicbox_service_get_size(item->size_type, &w, &h);
-
- e = create_virtual_canvas(w, h);
- if (!e) {
- LOGE("Failed to create a virtual canvas\n");
- return DBOX_STATUS_ERROR_FAULT;
- }
-
- box = evas_object_rectangle_add(e);
- if (!box) {
- LOGE("Failed to create a rectangle object\n");
- destroy_virtual_canvas(e);
- return DBOX_STATUS_ERROR_FAULT;
- }
-
- evas_object_resize(box, w, h);
- evas_object_color_set(box, rand() % 255, rand() % 255, rand() % 255, 255);
- evas_object_show(box);
-
- edje = edje_object_add(e);
- if (!edje) {
- evas_object_del(box);
- destroy_virtual_canvas(e);
- return DBOX_STATUS_ERROR_FAULT;
- }
-
- LOGD("Load file %s\n", RESDIR"/edje/tile.edj");
- ret = edje_object_file_set(edje, RESDIR"/edje/tile.edj", "default");
- if (ret == EINA_FALSE) {
- evas_object_del(edje);
- evas_object_del(box);
- destroy_virtual_canvas(e);
- return DBOX_STATUS_ERROR_FAULT;
- }
-
- edje_object_part_text_set(edje, "pkgname", "com.samsung.w-add-viewer.dbox");
- edje_object_part_text_set(edje, "content", id);
- evas_object_resize(edje, w, h);
- evas_object_show(edje);
-
- if (flush_to_file(e, id, w, h) == EXIT_FAILURE) {
- LOGE("Failed to flush\n");
- }
-
- evas_object_del(edje);
- evas_object_del(box);
- destroy_virtual_canvas(e);
-
- /**
- * @NOTE
- * This function have to generate a new content.
- * If you don't want to generate new content,
- * return negative values.
- * or you have to generate the new content. in timeout msec.
- */
- return DBOX_DONE;
-}
-
-PUBLIC int dynamicbox_clicked(const char *id, const char *event, double timestamp, double x, double y)
-{
- struct info *item;
- int ix;
- int iy;
- int w;
- int h;
-
- /**
- * @NOTE:
- * You will get this if a user press your image.
- * You can get the absolute coordinate using the given x,y.
- *
- * event: clicked
- */
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- (void)dynamicbox_service_get_size(item->size_type, &w, &h);
- ix = (int)((double)w * x);
- iy = (int)((double)h * y);
-
- LOGD("[%s:%d] event[%s] %lf %lf (%lf)\n", __func__, __LINE__, event, x, y, timestamp);
- LOGD("[%s:%d] on your image (%d, %d)\n", __func__, __LINE__, ix, iy);
-
- pid_t pid;
- pid = aul_launch_app("com.samsung.calculator", NULL);
- LOGD("Launch [com.samsung.setting]: %d\n", pid);
-
- /**
- * @NOTE
- * If you can generate new content in this function,
- * Generate a new content.
- * and return DBOX_OUTPUT_UPDATED
- *
- * In case of you cannot create the updated image in this function directly,
- * return DBOX_NEED_TO_SCHEDULE
- * The provider will call your dynamicbox_need_to_update & dynamicbox_update_content function.
- *
- * I recommend that if you are able to generate new content in this function,
- * generate it directly. and just returns DBOX_OUTPUT_UPDATED
- *
- * Because if you return DBOX_NEED_TO_SCHEDULE, the provider will try to update your dynamicbox
- * But it can be interrupted by other events.
- * Then you dynamicbox content updating will be delayed
- */
- return DBOX_DONE; /* No chages */
-}
-
-PUBLIC int dynamicbox_content_event(const char *id, const char *emission, const char *source, dynamicbox_event_info_t event_info)
-{
- struct timeval tv;
- char buffer[BUFSIZ];
- struct info *item;
-
- LOGD("[%s:%d] Emission : %s, source: %s [%lf x %lf - %lf x %lf] (%lf x %lf - %d)\n",
- __func__, __LINE__,
- emission, source,
- event_info->part.sx, event_info->part.sy, event_info->part.ex, event_info->part.ey,
- event_info->pointer.x, event_info->pointer.y, event_info->pointer.down);
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- gettimeofday(&tv, NULL);
- snprintf(buffer, sizeof(buffer), "%lu.%lu", tv.tv_sec, tv.tv_usec);
-
- if (!strcmp(emission, "gbar,show") && !strcmp(source, id)) {
- /**
- * @NOTE
- * GBAR is opened
- */
- } else if (!strcmp(emission, "gbar,hide") && !strcmp(source, id)) {
- /**
- * @NOTE
- * GBAR is closed
- */
- } else if (!strcmp(emission, "mouse,clicked,1") && !strcmp(source, "bg")) {
- dynamicbox_desc_h desc_handle;
-
- desc_handle = dynamicbox_desc_open(id, 1);
- if (!desc_handle) {
- return DBOX_STATUS_ERROR_FAULT;
- }
-
- dynamicbox_desc_add_block(desc_handle, NULL, DBOX_DESC_TYPE_TEXT, "name", buffer, NULL);
- dynamicbox_desc_add_block(desc_handle, NULL, DBOX_DESC_TYPE_IMAGE, "image", RESDIR"/image/unknown.png", NULL);
- dynamicbox_desc_add_block(desc_handle, NULL, DBOX_DESC_TYPE_SIGNAL, "image", "show", NULL);
- dynamicbox_desc_close(desc_handle);
- } else if (!strcmp(emission, "done") && !strcmp(source, "show")) {
- dynamicbox_desc_h desc_handle;
-
- desc_handle = dynamicbox_desc_open(id, 1);
- if (!desc_handle) {
- return DBOX_STATUS_ERROR_FAULT;
- }
-
- dynamicbox_desc_add_block(desc_handle, NULL, DBOX_DESC_TYPE_TEXT, "name", buffer, NULL);
- dynamicbox_desc_add_block(desc_handle, NULL, DBOX_DESC_TYPE_SIGNAL, "image", "hide", NULL);
- dynamicbox_desc_close(desc_handle);
- }
-
- /**
- * @NOTE
- * If you can generate new content in this function,
- * Generate a new content.
- * and return DBOX_OUTPUT_UPDATED
- *
- * In case of you cannot create the updated image in this function directly,
- * return DBOX_NEED_TO_SCHEDULE
- * The provider will call your dynamicbox_need_to_update & dynamicbox_update_content function.
- *
- * I recommend that if you are able to generate new content in this function,
- * generate it directly. and just returns DBOX_OUTPUT_UPDATED
- *
- * Because if you return DBOX_NEED_TO_SCHEDULE, the provider will try to update your dynamicbox
- * But it can be interrupted by other events.
- * Then you dynamicbox content updating will be delayed
- */
- return DBOX_DONE; /* No changes */
-}
-
-PUBLIC int dynamicbox_resize(const char *id, int type)
-{
- struct info *item;
- int w;
- int h;
- int ret;
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- /**
- * @TODO
- * Check the size type, which is supporting by your box.
- * If the invalid size is requested, you should returns DBOX_STATUS_ERROR_INVALID_PARAMETER
- */
-
- ret = dynamicbox_service_get_size(type, &w, &h);
- if (ret != DBOX_STATUS_ERROR_NONE) {
- LOGE("Unsupported size\n");
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
- }
-
- LOGD("%s is resized to %dx%d\n", id, w, h);
- item->size_type = type;
-
- /**
- * @NOTE
- * If you can generate new content in this function,
- * Generate a new content.
- * and return DBOX_OUTPUT_UPDATED
- *
- * In case of you cannot create the updated image in this function directly,
- * return DBOX_NEED_TO_SCHEDULE
- * The provider will call your dynamicbox_need_to_update & dynamicbox_update_content function.
- *
- * I recommend that if you are able to generate new content in this function,
- * generate it directly. and just returns DBOX_OUTPUT_UPDATED
- *
- * Because if you return DBOX_NEED_TO_SCHEDULE, the provider will try to update your dynamicbox
- * But it can be interrupted by other events.
- * Then you dynamicbox content updating will be delayed
- */
- return DBOX_NEED_TO_SCHEDULE;
-}
-
-PUBLIC int dynamicbox_need_to_create(const char *cluster, const char *category)
-{
- /**
- * @NOTE
- * You don't need implement this, if don't know what this is.
- * return 0 or 1
- */
- return 0;
-}
-
-PUBLIC int dynamicbox_change_group(const char *id, const char *cluster, const char *category)
-{
- struct info *item;
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- /**
- * @NOTE
- * If you can generate new content in this function,
- * Generate a new content.
- * and return DBOX_OUTPUT_UPDATED
- *
- * In case of you cannot create the updated image in this function directly,
- * return DBOX_NEED_TO_SCHEDULE
- * The provider will call your dynamicbox_need_to_update & dynamicbox_update_content function.
- *
- * I recommend that if you are able to generate new content in this function,
- * generate it directly. and just returns DBOX_OUTPUT_UPDATED
- *
- * Because if you return DBOX_NEED_TO_SCHEDULE, the provider will try to update your dynamicbox
- * But it can be interrupted by other events.
- * Then you dynamicbox content updating will be delayed
- */
- return DBOX_DONE;
-}
-
-/**
- * @brief
- * The provider will call this to get the content size and its content_info.
- * So this will be called after you update the contents.
- * Also the provider will tries to get "title" for reading it if the Accessibility(TTS) is enabled.
- * You have to summarize your content to A string and copy it to the "title".
- * It has to be stored in the heap (allocated memory will be released by provider automatically).
- */
-PUBLIC int dynamicbox_get_info(const char *id, int *w, int *h, double *priority, char **content, char **title)
-{
- struct info *item;
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- dynamicbox_service_get_size(item->size_type, w, h);
-
- /**
- * This content string will be used again after reboot the device,
- * this will be passed to your dynamicbox_create function again via the second parameter "content".
- */
- *content = NULL;
-
- /**
- * This is not used. just set it to 1.0 for default
- */
- *priority = 1.0;
-
- *title = strdup("Accessibility will read this title string");
- if (!*title) {
- LOGE("Heap: %s\n", strerror(errno));
- }
-
- return 0;
-}
-
-PUBLIC int dynamicbox_get_alt_info(const char *id, char **icon, char **name)
-{
- /**
- * @brief
- * Set the absolute path of alternative icon file
- * The string must be allocated in the heap.
- * And it will be released by provider.
- */
- *icon = NULL;
-
- /**
- * @brief
- * Set the name of alternative one
- * The string must be allocated in the heap.
- * And it will be released by provider.
- */
- *name = NULL;
-
- return 0;
-}
-
-
-PUBLIC int dynamicbox_need_to_destroy(const char *id)
-{
- /**
- * @NOTE
- * You don't need implement this, if don't know what this is.
- * This will be called after call the dynamicbox_need_to_update function.
- * If the dynamicbox_need_to_update function returns 0,
- * The provider will call this.
- *
- * If you return 1, the provider will delete your box.
- */
- return 0;
-}
-
-PUBLIC char *dynamicbox_pinup(const char *id, int pinup)
-{
- struct info *item;
-
- item = find_item(id);
- if (!item) {
- return NULL;
- }
-
- return strdup(item->content);
-}
-
-PUBLIC int dynamicbox_is_pinned_up(const char *id)
-{
- struct info *item;
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- /**
- * @NOTE
- * If you can generate new content in this function,
- * Generate a new content.
- * and return DBOX_OUTPUT_UPDATED
- *
- * In case of you cannot create the updated image in this function directly,
- * return DBOX_NEED_TO_SCHEDULE
- * The provider will call your dynamicbox_need_to_update & dynamicbox_update_content function.
- *
- * I recommend that if you are able to generate new content in this function,
- * generate it directly. and just returns DBOX_OUTPUT_UPDATED
- *
- * Because if you return DBOX_NEED_TO_SCHEDULE, the provider will try to update your dynamicbox
- * But it can be interrupted by other events.
- * Then you dynamicbox content updating will be delayed
- */
- return DBOX_DONE;
-}
-
-PUBLIC int dynamicbox_system_event(const char *id, int type)
-{
- struct info *item;
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- if (type == DBOX_SYS_EVENT_FONT_CHANGED) {
- LOGD("Font is changed\n");
- } else if (type == DBOX_SYS_EVENT_LANG_CHANGED) {
- LOGD("Language is changed\n");
- } else if (type == DBOX_SYS_EVENT_TIME_CHANGED) {
- LOGD("Time is changed\n");
- } else if (type == DBOX_SYS_EVENT_REGION_CHANGED) {
- LOGD("Region is changed\n");
- } else if (type == DBOX_SYS_EVENT_PAUSED) {
- LOGD("Paused\n");
- } else if (type == DBOX_SYS_EVENT_RESUMED) {
- LOGD("Resumed\n");
- } else if (type == DBOX_SYS_EVENT_MMC_STATUS_CHANGED) {
- LOGD("MMC");
- } else {
- LOGD("Unknown");
- }
-
- /**
- * @NOTE
- * If you can generate new content in this function,
- * Generate a new content. and return DBOX_OUTPUT_UPDATED
- *
- * In case of you cannot create the updated image in this function directly,
- * return DBOX_NEED_TO_SCHEDULE
- * The provider will call your dynamicbox_need_to_update & dynamicbox_update_content function.
- *
- * I recommend that if you are able to generate new content in this function,
- * generate it directly. and just returns DBOX_OUTPUT_UPDATED
- *
- * Because if you return DBOX_NEED_TO_SCHEDULE, the provider will try to update your dynamicbox
- * But it can be interrupted by other events.
- * Then you dynamicbox content updating will be delayed
- *
- * DBOX_FORCE_TO_SCHEDULE - If you returns this, the provider will try to update your box
- * even though the box is paused you will get need_to_update & update_content function call.
- */
- return DBOX_DONE;
-}
-
-/* End of a file */
+++ /dev/null
-#include <Elementary.h>
-#include <Ecore_Evas.h>
-#include <Ecore_X.h>
-
-#include <dlog.h>
-#include <dynamicbox.h>
-
-#include "virtual_canvas.h"
-#include "main.h"
-
-
-
-#define QUALITY_N_COMPRESS "quality=100 compress=1"
-
-
-
-Evas *create_virtual_canvas(int w, int h)
-{
- Ecore_Evas *internal_ee;
- Evas *internal_e;
-
- // Create virtual canvas
- internal_ee = ecore_evas_buffer_new(w, h);
- if (!internal_ee) {
- LOGD("Failed to create a new canvas buffer\n");
- return NULL;
- }
-
- ecore_evas_alpha_set(internal_ee, EINA_TRUE);
- ecore_evas_manual_render_set(internal_ee, EINA_TRUE);
-
- // Get the "Evas" object from a virtual canvas
- internal_e = ecore_evas_get(internal_ee);
- if (!internal_e) {
- ecore_evas_free(internal_ee);
- LOGD("Faield to get Evas object\n");
- return NULL;
- }
-
- return internal_e;
-}
-
-
-
-int flush_to_file(Evas *e, const char *filename, int w, int h)
-{
- void *data;
- Ecore_Evas *internal_ee;
-
- internal_ee = ecore_evas_ecore_evas_get(e);
- if (!internal_ee) {
- LOGD("Failed to get ecore evas\n");
- return EXIT_FAILURE;
- }
-
- ecore_evas_manual_render(internal_ee);
-
- // Get a pointer of a buffer of the virtual canvas
- data = (void*)ecore_evas_buffer_pixels_get(internal_ee);
- if (!data) {
- LOGD("Failed to get pixel data\n");
- return EXIT_FAILURE;
- }
-
- return flush_data_to_file(e, data, filename, w, h);
-}
-
-
-
-int flush_data_to_file(Evas *e, char *data, const char *filename, int w, int h)
-{
- Evas_Object *output;
-
- output = evas_object_image_add(e);
- if (!output) {
- LOGD("Failed to create an image object\n");
- return EXIT_FAILURE;
- }
-
- evas_object_image_data_set(output, NULL);
- evas_object_image_colorspace_set(output, EVAS_COLORSPACE_ARGB8888);
- evas_object_image_alpha_set(output, EINA_TRUE);
- evas_object_image_size_set(output, w, h);
- evas_object_image_smooth_scale_set(output, EINA_TRUE);
- evas_object_image_data_set(output, data);
- evas_object_image_fill_set(output, 0, 0, w, h);
- evas_object_image_data_update_add(output, 0, 0, w, h);
-
- if (evas_object_image_save(output, filename, NULL, QUALITY_N_COMPRESS) == EINA_FALSE) {
- evas_object_del(output);
- LOGD("Faield to save a captured image (%s)\n", filename);
- return EXIT_FAILURE;
- }
-
- evas_object_del(output);
-
- if (access(filename, F_OK) != 0) {
- LOGD("File %s is not found\n", filename);
- return EXIT_FAILURE;
- }
-
- return EXIT_SUCCESS;
-}
-
-
-
-int destroy_virtual_canvas(Evas *e)
-{
- Ecore_Evas *ee;
-
- ee = ecore_evas_ecore_evas_get(e);
- if (!ee) {
- LOGD("Failed to ecore evas object\n");
- return EXIT_FAILURE;
- }
-
- ecore_evas_free(ee);
- return EXIT_SUCCESS;
-}
-
-
-
-// End of a file
+++ /dev/null
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-PROJECT(com.samsung.w-add-viewer.dbox.scroller C)
-
-INCLUDE(FindPkgConfig)
-pkg_check_modules(com.samsung.w-add-viewer.scroller REQUIRED
- elementary
- dlog
- dynamicbox
- dynamicbox_service
- aul
-)
-
-FOREACH (flag ${com.samsung.w-add-viewer.scroller_CFLAGS})
- SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-ENDFOREACH(flag)
-
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Winline -Werror -fno-builtin-malloc -fno-omit-frame-pointer -g")
-
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
-
-ADD_DEFINITIONS(${EXTRA_CFLAGS})
-ADD_DEFINITIONS("-DLOG_TAG=\"DBOX_SCROLLER\"")
-
-ADD_LIBRARY(${PROJECT_NAME} SHARED
- src/main.c
- src/genlist06.c
-)
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${com.samsung.w-add-viewer.scroller_LDFLAGS})
-
-INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIBEXECDIR})
-
-ADD_SUBDIRECTORY(data)
-#ADD_SUBDIRECTORY(res)
+++ /dev/null
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-
-# install edj
-ADD_CUSTOM_TARGET(scroller.edj
- COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/images ${EDJE_CFLAGS}
- ${CMAKE_CURRENT_SOURCE_DIR}/scroller.edc scroller.edj
- DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/scroller.edc
-)
-ADD_DEPENDENCIES(${PROJECT_NAME} scroller.edj)
-INSTALL(FILES scroller.edj DESTINATION ${EDJDIR})
+++ /dev/null
-images {
- image: "unknown.png" COMP;
-}
-
-collections {
- group {
- name: "default";
- parts {
- part {
- name: "bg";
- type: RECT;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; }
- rel2 { relative: 1.0 1.0; }
- color: 255 255 255 255;
- }
- }
-
- part {
- name: "actor";
- type: IMAGE;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; }
- rel2 { relative: 1.0 1.0; }
- image { normal: "unknown.png"; }
- color: 255 255 255 255;
- map { on: 1; }
- }
- description {
- state: "rotate" 0.0;
- rel1 { relative: 0.0 0.0; }
- rel2 { relative: 1.0 1.0; }
- image { normal: "unknown.png"; }
- color: 255 255 255 255;
- map { on: 1; }
- }
- }
- }
-
- programs {
- program {
- }
- }
- }
-}
-
-/* End of a file */
+++ /dev/null
-extern void genlist_test(Evas_Object *win);
+++ /dev/null
-/*
- * [live-data-provider]
- *
- * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact: Sangil Lee <sangil77.lee@samsung.com>, Seho Chang <seho.chang@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __LIVE_DATA_PROVIDER_LIVE_GEN_TEMPLATE_MAIN_H__
-#define __LIVE_DATA_PROVIDER_LIVE_GEN_TEMPLATE_MAIN_H__
-
-/*!
- * \note
- * Sync function must has not to use any callback
- */
-#define _SYNC_
-/*!
- * \note
- * Async function can use the callback but it has to be invoked in specified time "timeout"
- */
-#define _ASYNC_
-
-/*!
- * \brief
- * \param[in] pkgname
- * \return int
- */
-_SYNC_ extern int dynamicbox_initialize(const char *pkgname);
-
-/*!
- * \brief
- * \return int
- */
-_SYNC_ extern int dynamicbox_finalize(void);
-
-/*!
- * \brief
- * \param[in] filename
- * \param[in] content
- * \param[in] cluster
- * \param[in] category
- * \return int
- */
-_SYNC_ extern int dynamicbox_create(const char *filename, const char *content, const char *cluster, const char *category);
-
-/*!
- * \brief
- * \param[in] filename
- * \return int
- */
-_SYNC_ extern int dynamicbox_destroy(const char *filename);
-
-/*!
- * \brief
- * \param[in] filename
- * \return int
- */
-_SYNC_ extern int dynamicbox_need_to_update(const char *filename);
-
-/*!
- * \brief
- * \param[in] filename
- * \return int
- */
-_SYNC_ extern int dynamicbox_need_to_destroy(const char *filename);
-
-/*!
- * \brief
- * \param[in] cluster
- * \param[in] category
- * \return int
- */
-_SYNC_ extern int dynamicbox_need_to_create(const char *cluster, const char *category);
-
-/*!
- * \brief
- * \param[in] filename
- * \return int
- */
-_ASYNC_ extern int dynamicbox_update_content(const char *filename);
-
-/*!
- * \brief
- * \param[in] filename
- * \param[in] event "clicked" only
- * \param[in] timestamp
- * \param[in] x
- * \param[in] y
- * \return int
- */
-_SYNC_ extern int dynamicbox_clicked(const char *filename, const char *event, double timestamp, double x, double y);
-
-/*!
- * \brief if "source" == "filename", emission could be "gbar,show", "gbar,hide", "dbox,show", "dbox,hide".
- * \param[in] filename
- * \param[in] emission
- * \param[in] source
- * \param[in] event_info
- * \return int
- */
-_SYNC_ extern int dynamicbox_content_event(const char *filename, const char *emission, const char *source, dynamicbox_event_info_t event_info);
-
-/*!
- * \brief
- * \param[in] filename
- * \param[in] width
- * \param[in] height
- * \return int
- */
-_SYNC_ extern int dynamicbox_resize(const char *filename, int size_type);
-
-/*!
- * \brief
- * \param[in] filename
- * \param[in] cluster
- * \param[in] category
- * \return int
- */
-_SYNC_ extern int dynamicbox_change_group(const char *filename, const char *cluster, const char *category);
-
-/*!
- * \brief
- * \param[in] filename
- * \param[out] w Width of the last content
- * \param[out] h Height of the last content
- * \param[out] priority Priority of the last content
- * \param[out] *content Content info of the last content which should be usable for dynamicbox_create(..., content_info, ...);
- * \param[out] *title Only for the [CA] dynamicbox. Describe a title for your sub cluster
- * \return int
- */
-_SYNC_ extern int dynamicbox_get_info(const char *filename, int *w, int *h, double *priority, char **content, char **title);
-
-/*!
- * \brief
- * \param[in] filename
- * \param[in] pinup
- * \return char * String which is allocated on a Heap space.
- */
-_SYNC_ extern char *dynamicbox_pinup(const char *filename, int pinup);
-
-/*!
- * \brief
- * \param[in] filename
- * \return int 1 is pinned up, 0 is not pinned up
- */
-_SYNC_ extern int dynamicbox_is_pinned_up(const char *filename);
-#endif
-
-// End of a file
+++ /dev/null
-/*
- * [live-data-provider]
- *
- * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact: Sangil Lee <sangil77.lee@samsung.com>, Seho Chang <seho.chang@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __LIVE_DATA_PROVIDER_LIVE_GEN_TEMPLATE_VIRTUAL_CANVAS_H__
-#define __LIVE_DATA_PROVIDER_LIVE_GEN_TEMPLATE_VIRTUAL_CANVAS_H__
-
-extern int flush_to_file(Evas *e, const char *filename, int w, int h);
-extern int flush_data_to_file(Evas *e, char *data, const char *filename, int w, int h);
-
-extern Evas *create_virtual_canvas(int w, int h);
-extern int destroy_virtual_canvas(Evas *e);
-extern void get_screen_geometry(int *w, int *h);
-
-#endif
-
-// End of a file
+++ /dev/null
-#include <Elementary.h>
-
-#define N_ITEMS 6
-
-typedef struct _Node_Data {
- Eina_List *children;
- int value;
- int level;
- Eina_Bool favorite;
-} Node_Data;
-
-static Elm_Genlist_Item_Class *_itc = NULL;
-static Elm_Genlist_Item_Class *_itp = NULL;
-static Elm_Genlist_Item_Class *_itfav = NULL;
-static int nitems = 0;
-
-static char *
-_item_label_get(void *data, Evas_Object *obj, const char *part)
-{
- char buf[256];
- Node_Data *d = data;
-
- if (!strcmp(part, "elm.text"))
- snprintf(buf, sizeof(buf), "Item # %i (level %i)", d->value, d->level);
-
- return strdup(buf);
-}
-
-static Evas_Object *
-_item_content_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *ic = elm_icon_add(obj);
-
- if (!strcmp(part, "elm.swallow.icon"))
- elm_icon_standard_set(ic, "file");
-
- evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- return ic;
-}
-
-static void
-_item_sel_cb(void *data, Evas_Object *obj, void *event_info)
-{
- printf("sel item data [%p] on genlist obj [%p], item pointer [%p]\n",
- data, obj, event_info);
-}
-
-static char *
-_parent_label_get(void *data, Evas_Object *obj, const char *part)
-{
- char buf[256];
- Node_Data *d = data;
-
- snprintf(buf, sizeof(buf), "Group %d (%d items)", d->value / 7,
- eina_list_count(d->children));
-
- return strdup(buf);
-}
-
-static Evas_Object *
-_parent_content_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *ic = elm_icon_add(obj);
-
- if (!strcmp(part, "elm.swallow.icon"))
- elm_icon_standard_set(ic, "folder");
-
- evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- return ic;
-}
-
-static char *
-_favorite_label_get(void *data, Evas_Object *obj, const char *part)
-{
- char buf[256];
- Node_Data *d = data;
-
- if (!strcmp(part, "elm.text"))
- snprintf(buf, sizeof(buf), "Favorite # %i", d->value);
-
- return strdup(buf);
-}
-
-static Evas_Object *
-_favorite_content_get(void *data, Evas_Object *obj, const char *part)
-{
- Evas_Object *ic = elm_icon_add(obj);
-
- if (!strcmp(part, "elm.swallow.icon"))
- elm_icon_standard_set(ic, "apps");
-
- evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- return ic;
-}
-
-static void
-_append_cb(void *data, Evas_Object *o, void *event_info)
-{
- Evas_Object *list = data;
- Elm_Object_Item *glit, *parent = NULL;
- Node_Data *pdata, *d = malloc(sizeof(*d));
-
- d->children = NULL;
- d->value = nitems++;
- d->favorite = EINA_FALSE;
-
- glit = elm_genlist_selected_item_get(list);
- if (glit)
- parent = elm_genlist_item_parent_get(glit);
-
- if (parent)
- {
- d->level = elm_genlist_item_expanded_depth_get(parent) + 1;
- pdata = elm_object_item_data_get(parent);
- pdata->children = eina_list_append(pdata->children, d);
- }
- else
- d->level = 0;
-
- elm_genlist_item_append(list, _itc,
- d, parent,
- ELM_GENLIST_ITEM_NONE,
- _item_sel_cb, NULL);
-}
-
-static void
-_favorite_cb(void *data, Evas_Object *o, void *event_info)
-{
- Evas_Object *list = data;
- Elm_Object_Item *glit = elm_genlist_selected_item_get(list);
-
- if (!glit) return;
-
- Node_Data *d = elm_object_item_data_get(glit);
- d->favorite = !d->favorite;
- if (d->favorite)
- elm_genlist_item_item_class_update(glit, _itfav);
- else
- {
- if (d->children)
- elm_genlist_item_item_class_update(glit, _itp);
- else
- elm_genlist_item_item_class_update(glit, _itc);
- }
-
- elm_genlist_item_update(glit);
-}
-
-static void
-_add_child_cb(void *data, Evas_Object *o, void *event_info)
-{
- Evas_Object *list = data;
- Elm_Object_Item *glit = elm_genlist_selected_item_get(list);
- Elm_Object_Item *glit_prev, *glit_parent;
-
- if (!glit) return;
-
- Node_Data *d = elm_object_item_data_get(glit);
- glit_prev = elm_genlist_item_prev_get(glit);
- glit_parent = elm_genlist_item_parent_get(glit);
-
- Eina_Bool change_item = !d->children;
-
- // creating new item data
- Node_Data *ndata = malloc(sizeof(*ndata));
- ndata->value = nitems++;
- ndata->children = NULL;
- ndata->favorite = EINA_FALSE;
- ndata->level = elm_genlist_item_expanded_depth_get(glit) + 1;
- d->children = eina_list_append(d->children, ndata);
-
- // Changing leaf item to parent item
- if (change_item)
- {
- elm_object_item_del(glit);
-
- if (glit_prev != glit_parent)
- glit = elm_genlist_item_insert_after(list, _itp, d, glit_parent,
- glit_prev,
- ELM_GENLIST_ITEM_TREE,
- _item_sel_cb, NULL);
- else
- glit = elm_genlist_item_prepend(list, _itp, d, glit_parent,
- ELM_GENLIST_ITEM_TREE,
- _item_sel_cb, NULL);
- elm_genlist_item_expanded_set(glit, EINA_FALSE);
- elm_genlist_item_selected_set(glit, EINA_TRUE);
- }
- else if (elm_genlist_item_expanded_get(glit))
- {
- elm_genlist_item_append(list, _itc, ndata, glit,
- ELM_GENLIST_ITEM_NONE, _item_sel_cb, NULL);
- }
-
- elm_genlist_item_update(glit);
-
-}
-
-static void
-_clear_list(Node_Data *d)
-{
- Node_Data *tmp;
-
- EINA_LIST_FREE(d->children, tmp)
- _clear_list(tmp);
- free(d);
-}
-
-static void
-_del_item_cb(void *data, Evas_Object *o, void *event_info)
-{
- Evas_Object *list = data;
- Elm_Object_Item *glit = elm_genlist_selected_item_get(list);
- Elm_Object_Item *glit_parent = NULL;
-
- if (!glit) return;
-
- Node_Data *pdata, *d = elm_object_item_data_get(glit);
- glit_parent = elm_genlist_item_parent_get(glit);
- elm_genlist_item_subitems_clear(glit);
- elm_object_item_del(glit);
-
- _clear_list(d);
-
- if (!glit_parent) return;
-
- pdata = elm_object_item_data_get(glit_parent);
- pdata->children = eina_list_remove(pdata->children, d);
- elm_genlist_item_update(glit_parent);
-}
-
-static void
-_expand_request_cb(void *data, Evas_Object *o, void *event_info)
-{
- Elm_Object_Item *glit = event_info;
- printf("expand request on item: %p\n", event_info);
- elm_genlist_item_expanded_set(glit, EINA_TRUE);
-}
-
-static void
-_contract_request_cb(void *data, Evas_Object *o, void *event_info)
-{
- Elm_Object_Item *glit = event_info;
- printf("contract request on item: %p\n", event_info);
- elm_genlist_item_expanded_set(glit, EINA_FALSE);
-}
-
-static void
-_expanded_cb(void *data, Evas_Object *o, void *event_info)
-{
- Eina_List *l;
- Elm_Object_Item *glit = event_info;
- Node_Data *it_data, *d = elm_object_item_data_get(glit);
- Evas_Object *list = elm_object_item_widget_get(glit);
-
- Elm_Genlist_Item_Class *ic;
-
- EINA_LIST_FOREACH(d->children, l, it_data)
- {
- Elm_Object_Item *nitem;
- Elm_Genlist_Item_Type type = ELM_GENLIST_ITEM_NONE;
- printf("expanding item: #%d from parent #%d\n", it_data->value, d->value);
- if (it_data->favorite)
- ic = _itfav;
- else if (it_data->children)
- {
- ic = _itp;
- type = ELM_GENLIST_ITEM_TREE;
- }
- else
- ic = _itc;
-
- nitem = elm_genlist_item_append(list, ic, it_data, glit,
- type, _item_sel_cb, NULL);
- elm_genlist_item_expanded_set(nitem, EINA_FALSE);
- }
-}
-
-static void
-_contracted_cb(void *data, Evas_Object *o, void *event_info)
-{
- Elm_Object_Item *glit = event_info;
- elm_genlist_item_subitems_clear(glit);
-}
-
-static Evas_Object *
-_button_add(Evas_Object *list, Evas_Object *box, const char *label, Evas_Smart_Cb cb)
-{
- Evas_Object *bt;
-
- bt = elm_button_add(elm_object_parent_widget_get(list));
- elm_object_text_set(bt, label);
- elm_box_pack_end(box, bt);
- evas_object_show(bt);
-
- if (cb)
- evas_object_smart_callback_add(bt, "clicked", cb, list);
-
- return bt;
-}
-
-void genlist_test(Evas_Object *win)
-{
- Evas_Object *bg, *box, *fbox;
- Evas_Object *list;
- int i;
-
- bg = elm_bg_add(win);
- elm_bg_color_set(bg, 255,255 ,255);
- evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_win_resize_object_add(win, bg);
- evas_object_show(bg);
-
- box = elm_box_add(win);
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_win_resize_object_add(win, box);
- evas_object_show(box);
-
- if (!_itc)
- {
- _itc = elm_genlist_item_class_new();
- _itc->item_style = "default";
- _itc->func.text_get = _item_label_get;
- _itc->func.content_get = _item_content_get;
- _itc->func.state_get = NULL;
- _itc->func.del = NULL;
- }
-
- if (!_itp)
- {
- _itp = elm_genlist_item_class_new();
- _itp->item_style = "default";
- _itp->func.text_get = _parent_label_get;
- _itp->func.content_get = _parent_content_get;
- _itp->func.state_get = NULL;
- _itp->func.del = NULL;
- }
-
- if (!_itfav)
- {
- _itfav = elm_genlist_item_class_new();
- _itfav->item_style = "default";
- _itfav->func.text_get = _favorite_label_get;
- _itfav->func.content_get = _favorite_content_get;
- _itfav->func.state_get = NULL;
- _itfav->func.del = NULL;
- }
-
- list = elm_genlist_add(win);
-
- evas_object_size_hint_weight_set(list, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(list, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_box_pack_end(box, list);
- evas_object_show(list);
-
- fbox = elm_box_add(win);
- elm_box_layout_set(fbox, evas_object_box_layout_flow_horizontal,
- NULL, NULL);
- evas_object_size_hint_weight_set(fbox, EVAS_HINT_EXPAND, 0);
- evas_object_size_hint_align_set(fbox, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_box_pack_end(box, fbox);
- evas_object_show(fbox);
-
- _button_add(list, fbox, "append item", _append_cb);
- _button_add(list, fbox, "favorite", _favorite_cb);
- _button_add(list, fbox, "add child", _add_child_cb);
- _button_add(list, fbox, "del item", _del_item_cb);
-
- Elm_Object_Item *gli = NULL, *glg = NULL;
- Node_Data *data;
- Node_Data *pdata = NULL; // data for the parent of the group
-
- for (i = 0; i < N_ITEMS; i++)
- {
- data = malloc(sizeof(*data)); // data for this item
- data->children = NULL;
- data->value = i;
- data->favorite = EINA_FALSE;
- nitems++;
- printf("creating item: #%d\n", data->value);
- if (i % 3 == 0)
- {
- glg = gli = elm_genlist_item_append(list, _itp, data, NULL,
- ELM_GENLIST_ITEM_TREE,
- _item_sel_cb, NULL);
- elm_genlist_item_expanded_set(glg, EINA_TRUE);
- pdata = data;
- data->level = 0;
- }
- else
- {
- gli = elm_genlist_item_append(list, _itc, data, glg,
- ELM_GENLIST_ITEM_NONE,
- _item_sel_cb, NULL);
- pdata->children = eina_list_append(pdata->children, data);
- data->level = 1;
- }
- }
-
- evas_object_smart_callback_add(list, "expand,request", _expand_request_cb, list);
- evas_object_smart_callback_add(list, "contract,request", _contract_request_cb, list);
- evas_object_smart_callback_add(list, "expanded", _expanded_cb, list);
- evas_object_smart_callback_add(list, "contracted", _contracted_cb, list);
-}
+++ /dev/null
-#include <Elementary.h>
-#include <errno.h>
-#include <string.h>
-
-#include <dlog.h>
-#include <dynamicbox.h>
-#include <dynamicbox_service.h>
-#include <dynamicbox_errno.h>
-
-#include <aul.h>
-
-#include "main.h"
-#include "genlist06.h"
-
-#define PUBLIC __attribute__((visibility("default")))
-
-static Eina_List *s_list;
-int errno;
-
-struct info {
- char *id;
- char *content;
- int size_type;
- Evas_Object *dbox_win;
- enum edge {
- LEFT,
- RIGHT,
- MIDDLE,
- } edge;
- struct down {
- int x;
- int y;
- int pressed;
- } down;
-};
-
-static inline struct info *find_item(const char *id)
-{
- Eina_List *l;
- struct info *item;
-
- EINA_LIST_FOREACH(s_list, l, item) {
- if (!strcmp(item->id, id)) {
- return item;
- }
- }
-
- return NULL;
-}
-
-PUBLIC int dynamicbox_initialize(const char *pkgname)
-{
- /**
- * @TODO
- * Do one-time initialize.
- * This will be called only once right before the first box is creating
- */
- return 0;
-}
-
-PUBLIC int dynamicbox_finalize(void)
-{
- /**
- * @TODO
- * Do one-time finalization.
- * This will be called only once right after the last box is destroyed
- */
- return 0;
-}
-
-// NOTE: This function is going to be invoked for initializing all resources
-PUBLIC int dynamicbox_create(const char *id, const char *content, const char *cluster, const char *category)
-{
- struct info *info;
-
- info = malloc(sizeof(*info));
- if (!info) {
- return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
- }
-
- info->id = strdup(id);
- if (!info->id) {
- free(info);
- return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
- }
-
- info->content = strdup(content);
- if (!info->content) {
- free(info->id);
- free(info);
- return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
- }
-
- /**
- * @NOTE
- * cluster == 'user,created'
- * category == 'default'
- *
- * You don't need to care these two values if you don't know what are them
- */
-
- info->size_type = DBOX_SIZE_TYPE_UNKNOWN;
- s_list = eina_list_append(s_list, info);
-
- /**
- * @NOTE
- * You can returns DBOX_OUTPUT_UPDATED or DBOX_NEED_TO_SCHEDULE or DBOX_DONE
- * You also can use them at same time using '|'
- *
- * If your content is updated, from this function, you have to
- * return DBOX_OUTPUT_UPDATED;
- *
- * If you want to the provider call your dynamicbox_update_content function ASAP
- * return DBOX_NEED_TO_SCHEDULE;
- *
- * If your content is updated and need to call the update_content function ASAP,
- * return DBOX_OUTPUT_UPDATED | DBOX_NEED_TO_SCHEDULE
- *
- * Don't have any changes, just
- * return DBOX_DONE
- */
-
- /**
- * @NOTE
- * You create the default output image from here now.
- * So you HAVE TO return DBOX_OUTPUT_UPDATED
- */
- return DBOX_DONE;
-}
-
-// NOTE: This function is going to be invoked for release all resources
-PUBLIC int dynamicbox_destroy(const char *id)
-{
- struct info *item;
- LOGD("[%s:%d]\n", __func__, __LINE__);
-
- item = find_item(id);
- if (!item) {
- /*!
- * \NOTE
- * EXCEPTIONAL CASES
- */
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- s_list = eina_list_remove(s_list, item);
-
- /* NOTE: You have to clear all resource which are related with
- * current instance. If you didn't clear it correctly,
- * the live data provider will get suffer from the memory
- * pressure. therefore, keep trace on your resources.
- */
- if (item->dbox_win) {
- evas_object_del(item->dbox_win);
- }
- free(item->content);
- free(item->id);
- free(item);
- return DBOX_DONE;
-}
-
-PUBLIC int dynamicbox_need_to_update(const char *id)
-{
- struct info *item;
-
- LOGD("[%s:%d]\n", __func__, __LINE__);
-
- item = find_item(id);
- if (!item) {
- /* Hmm, there is no matched instance. */
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- /**
- * @TODO
- * Check the content,
- * If you found any changes in your content data,
- * return 1 or 0
- *
- * If you return 1, the provider will schedule to update your box ASAP.
- * Or the provider will skip to call dynamicbox_update_content function.
- *
- * this function can be called several times, before call the dynamicbox_update_content function.
- *
- * if your dynamicbox_update_content is not called, and you have content which need to be updated, you have to
- * keep return 1
- */
- return 1;
-}
-
-PUBLIC int dynamicbox_update_content(const char *id)
-{
- struct info *item;
-
- LOGD("[%s:%d]\n", __func__, __LINE__);
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- /**
- * @NOTE
- * This function have to generate a new content.
- * If you don't want to generate new content,
- * return negative values.
- * or you have to generate the new content. in timeout msec.
- */
- return DBOX_STATUS_ERROR_DISABLED;
-}
-
-PUBLIC int dynamicbox_clicked(const char *id, const char *event, double timestamp, double x, double y)
-{
- struct info *item;
- int ix;
- int iy;
- int w;
- int h;
-
- /**
- * @NOTE:
- * You will get this if a user press your image.
- * You can get the absolute coordinate using the given x,y.
- *
- * event: clicked
- */
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- (void)dynamicbox_service_get_size(item->size_type, &w, &h);
- ix = (int)((double)w * x);
- iy = (int)((double)h * y);
-
- LOGD("[%s:%d] event[%s] %lf %lf (%lf)\n", __func__, __LINE__, event, x, y, timestamp);
- LOGD("[%s:%d] on your image (%d, %d)\n", __func__, __LINE__, ix, iy);
-
- /**
- * @NOTE
- * If you can generate new content in this function,
- * Generate a new content.
- * and return DBOX_OUTPUT_UPDATED
- *
- * In case of you cannot create the updated image in this function directly,
- * return DBOX_NEED_TO_SCHEDULE
- * The provider will call your dynamicbox_need_to_update & dynamicbox_update_content function.
- *
- * I recommend that if you are able to generate new content in this function,
- * generate it directly. and just returns DBOX_OUTPUT_UPDATED
- *
- * Because if you return DBOX_NEED_TO_SCHEDULE, the provider will try to update your livebox
- * But it can be interrupted by other events.
- * Then you livebox content updating will be delayed
- */
- return DBOX_DONE; /* No chages */
-}
-
-PUBLIC int dynamicbox_content_event(const char *id, const char *emission, const char *source, dynamicbox_event_info_t event_info)
-{
- struct timeval tv;
- char buffer[BUFSIZ];
- struct info *item;
-
- LOGD("[%s:%d] Emission : %s, source: %s [%lf x %lf - %lf x %lf] (%lf x %lf - %d)\n",
- __func__, __LINE__,
- emission, source,
- event_info->part.sx, event_info->part.sy, event_info->part.ex, event_info->part.ey,
- event_info->pointer.x, event_info->pointer.y, event_info->pointer.down);
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- gettimeofday(&tv, NULL);
- snprintf(buffer, sizeof(buffer), "%lu.%lu", tv.tv_sec, tv.tv_usec);
-
- if (!strcmp(emission, "gbar,show") && !strcmp(source, id)) {
- /**
- * @NOTE
- * GBAR is opened
- */
- } else if (!strcmp(emission, "gbar,hide") && !strcmp(source, id)) {
- /*
- * @NOTE
- * GBAR is closed
- */
- }
-
- /**
- * @NOTE
- * If you can generate new content in this function,
- * Generate a new content.
- * and return DBOX_OUTPUT_UPDATED
- *
- * In case of you cannot create the updated image in this function directly,
- * return DBOX_NEED_TO_SCHEDULE
- * The provider will call your dynamicbox_need_to_update & dynamicbox_update_content function.
- *
- * I recommend that if you are able to generate new content in this function,
- * generate it directly. and just returns DBOX_OUTPUT_UPDATED
- *
- * Because if you return DBOX_NEED_TO_SCHEDULE, the provider will try to update your livebox
- * But it can be interrupted by other events.
- * Then you livebox content updating will be delayed
- */
- return DBOX_DONE; /* No changes */
-}
-
-PUBLIC int dynamicbox_resize(const char *id, int type)
-{
- struct info *item;
- int w;
- int h;
- int ret;
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- /*!
- * \TODO
- * Check the size type, which is supporting by your box.
- * If the invalid size is requested, you should returns DBOX_STATUS_ERROR_INVALID_PARAMETER
- */
- ret = dynamicbox_service_get_size(type, &w, &h);
- if (ret != DBOX_STATUS_ERROR_NONE) {
- LOGE("Unsupported size\n");
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
- }
-
- if (item->size_type == DBOX_SIZE_TYPE_UNKNOWN) {
- Evas_Object *dbox_parent;
-
- dbox_parent = dynamicbox_get_evas_object(id, 0);
- if (!dbox_parent) {
- LOGE("Failed to get an evas object\n");
- return DBOX_STATUS_ERROR_FAULT;
- }
-
- item->dbox_win = elm_win_add(dbox_parent, "DBox Window", ELM_WIN_DYNAMIC_BOX);
- evas_object_del(dbox_parent);
- if (!item->dbox_win) {
- return DBOX_STATUS_ERROR_FAULT;
- }
-
- evas_object_resize(item->dbox_win, w, h);
- evas_object_show(item->dbox_win);
-
- genlist_test(item->dbox_win);
-
- LOGD("Window & Genlist is created\n");
- } else {
- evas_object_resize(item->dbox_win, w, h);
- }
-
- LOGD("%s is resized to %dx%d\n", id, w, h);
- item->size_type = type;
-
- /**
- * @NOTE
- * If you can generate new content in this function,
- * Generate a new content.
- * and return DBOX_OUTPUT_UPDATED
- *
- * In case of you cannot create the updated image in this function directly,
- * return DBOX_NEED_TO_SCHEDULE
- * The provider will call your dynamicbox_need_to_update & dynamicbox_update_content function.
- *
- * I recommend that if you are able to generate new content in this function,
- * generate it directly. and just returns DBOX_OUTPUT_UPDATED
- *
- * Because if you return DBOX_NEED_TO_SCHEDULE, the provider will try to update your livebox
- * But it can be interrupted by other events.
- * Then you livebox content updating will be delayed
- */
- return DBOX_NEED_TO_SCHEDULE;
-}
-
-PUBLIC int dynamicbox_need_to_create(const char *cluster, const char *category)
-{
- /**
- * @NOTE
- * You don't need implement this, if don't know what this is.
- * return 0 or 1
- */
- return 0;
-}
-
-PUBLIC int dynamicbox_change_group(const char *id, const char *cluster, const char *category)
-{
- struct info *item;
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- /**
- * @NOTE
- * If you can generate new content in this function,
- * Generate a new content.
- * and return DBOX_OUTPUT_UPDATED
- *
- * In case of you cannot create the updated image in this function directly,
- * return DBOX_NEED_TO_SCHEDULE
- * The provider will call your dynamicbox_need_to_update & dynamicbox_update_content function.
- *
- * I recommend that if you are able to generate new content in this function,
- * generate it directly. and just returns DBOX_OUTPUT_UPDATED
- *
- * Because if you return DBOX_NEED_TO_SCHEDULE, the provider will try to update your livebox
- * But it can be interrupted by other events.
- * Then you livebox content updating will be delayed
- */
- return DBOX_DONE;
-}
-
-PUBLIC int dynamicbox_need_to_destroy(const char *id)
-{
- /**
- * @NOTE
- * You don't need implement this, if don't know what this is.
- * This will be called after call the dynamicbox_need_to_update function.
- * If the dynamicbox_need_to_update function returns 0,
- * The provider will call this.
- *
- * If you return 1, the provider will delete your box.
- */
- return 0;
-}
-
-PUBLIC char *dynamicbox_pinup(const char *id, int pinup)
-{
- struct info *item;
-
- item = find_item(id);
- if (!item) {
- return NULL;
- }
-
- return strdup(item->content);
-}
-
-PUBLIC int dynamicbox_is_pinned_up(const char *id)
-{
- struct info *item;
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- /**
- * @NOTE
- * If you can generate new content in this function,
- * Generate a new content.
- * and return DBOX_OUTPUT_UPDATED
- *
- * In case of you cannot create the updated image in this function directly,
- * return DBOX_NEED_TO_SCHEDULE
- * The provider will call your dynamicbox_need_to_update & dynamicbox_update_content function.
- *
- * I recommend that if you are able to generate new content in this function,
- * generate it directly. and just returns DBOX_OUTPUT_UPDATED
- *
- * Because if you return DBOX_NEED_TO_SCHEDULE, the provider will try to update your livebox
- * But it can be interrupted by other events.
- * Then you livebox content updating will be delayed
- */
- return DBOX_DONE;
-}
-
-PUBLIC int dynamicbox_system_event(const char *id, int type)
-{
- struct info *item;
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- if (type == DBOX_SYS_EVENT_FONT_CHANGED) {
- LOGD("Font is changed\n");
- } else if (type == DBOX_SYS_EVENT_LANG_CHANGED) {
- LOGD("Language is changed\n");
- } else if (type == DBOX_SYS_EVENT_TIME_CHANGED) {
- LOGD("Time is changed\n");
- } else if (type == DBOX_SYS_EVENT_REGION_CHANGED) {
- LOGD("Region is changed\n");
- } else if (type == DBOX_SYS_EVENT_PAUSED) {
- LOGD("Paused\n");
- // dynamicbox_release_scroller("com.samsung.w-add-viewer.dbox", id);
- } else if (type == DBOX_SYS_EVENT_RESUMED) {
- LOGD("Resumed [%s]\n", id);
- // dynamicbox_freeze_scroller("com.samsung.w-add-viewer.dbox", id);
- } else if (type == DBOX_SYS_EVENT_MMC_STATUS_CHANGED) {
- LOGD("MMC");
- } else {
- LOGD("Unknown");
- }
-
- /**
- * @NOTE
- * If you can generate new content in this function,
- * Generate a new content. and return DBOX_OUTPUT_UPDATED
- *
- * In case of you cannot create the updated image in this function directly,
- * return DBOX_NEED_TO_SCHEDULE
- * The provider will call your dynamicbox_need_to_update & dynamicbox_update_content function.
- *
- * I recommend that if you are able to generate new content in this function,
- * generate it directly. and just returns DBOX_OUTPUT_UPDATED
- *
- * Because if you return DBOX_NEED_TO_SCHEDULE, the provider will try to update your livebox
- * But it can be interrupted by other events.
- * Then you livebox content updating will be delayed
- *
- * DBOX_FORCE_TO_SCHEDULE - If you returns this, the provider will try to update your box
- * even though the box is paused you will get need_to_update & update_content function call.
- */
- return DBOX_DONE;
-}
-
-/* End of a file */
+++ /dev/null
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-PROJECT(com.samsung.w-add-viewer.dbox.simple C)
-
-INCLUDE(FindPkgConfig)
-pkg_check_modules(com.samsung.w-add-viewer.dbox.simple REQUIRED
- elementary
- dlog
- dynamicbox
- dynamicbox_service
- aul
-)
-
-FOREACH (flag ${com.samsung.w-add-viewer.dbox.simple_CFLAGS})
- SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-ENDFOREACH(flag)
-
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Winline -Werror -fno-builtin-malloc -fno-omit-frame-pointer -g")
-
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
-
-ADD_DEFINITIONS(${EXTRA_CFLAGS})
-ADD_DEFINITIONS("-DLOG_TAG=\"DBOX_SIMPLE\"")
-
-ADD_LIBRARY(${PROJECT_NAME} SHARED
- src/main.c
-)
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${com.samsung.w-add-viewer.dbox.simple_LDFLAGS})
-
-INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIBEXECDIR})
-
-ADD_SUBDIRECTORY(data)
-#ADD_SUBDIRECTORY(res)
+++ /dev/null
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-
-# install edj
-ADD_CUSTOM_TARGET(simple.edj
- COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/images ${EDJE_CFLAGS}
- ${CMAKE_CURRENT_SOURCE_DIR}/simple.edc simple.edj
- DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/simple.edc
-)
-ADD_DEPENDENCIES(${PROJECT_NAME} simple.edj)
-INSTALL(FILES simple.edj DESTINATION ${EDJDIR})
+++ /dev/null
-images {
- image: "unknown.png" COMP;
-}
-
-collections {
- group {
- name: "simple";
- parts {
- part {
- name: "bg";
- type: RECT;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; }
- rel2 { relative: 1.0 1.0; }
- color: 0 0 0 0;
- }
- }
-
- part {
- name: "actor";
- type: IMAGE;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; }
- rel2 { relative: 1.0 1.0; }
- image { normal: "unknown.png"; }
- }
- }
-
- part {
- name: "text";
- type: TEXT;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; }
- rel2 { relative: 1.0 1.0; }
- text {
- font: "Samsung Sans"; //:style=Bold
- // text_class: "tizen";
- align: 0.5 0.5;
- size: 26;
- fit: 1 1;
- text: "HELLO";
- }
- }
- }
-
- part {
- name: "actor1";
- type: IMAGE;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.2 0.2; }
- rel2 { relative: 0.4 0.4; }
- image { normal: "unknown.png"; }
- }
- }
-
- part {
- name: "actor2";
- type: IMAGE;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.5 0.5; }
- rel2 { relative: 0.7 0.7; }
- image { normal: "unknown.png"; }
- }
- description {
- state: "hello,1" 0.0;
- rel1 { relative: 0.4 0.4; }
- rel2 { relative: 0.8 0.8; }
- image { normal: "unknown.png"; }
- }
- }
- }
-
- programs {
- program {
- name: "hello";
- source: "actor2";
- signal: "mouse,down,1";
- action: STATE_SET "hello,1" 0.0;
- target: "actor2";
- }
- program {
- name: "hello2";
- source: "actor2";
- signal: "mouse,up,1";
- action: STATE_SET "default" 0.0;
- target: "actor2";
- }
- }
- }
-}
-
-/* End of a file */
+++ /dev/null
-/*
- * [live-data-provider]
- *
- * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact: Sangil Lee <sangil77.lee@samsung.com>, Seho Chang <seho.chang@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __LIVE_DATA_PROVIDER_LIVE_GEN_TEMPLATE_MAIN_H__
-#define __LIVE_DATA_PROVIDER_LIVE_GEN_TEMPLATE_MAIN_H__
-
-/**
- * @note
- * Sync function must has not to use any callback
- */
-#define _SYNC_
-
-/**
- * @note
- * Async function can use the callback but it has to be invoked in specified time "timeout"
- */
-#define _ASYNC_
-
-/**
- * @brief
- * @param[in] pkgname
- * @return int
- */
-_SYNC_ extern int dynamicbox_initialize(const char *pkgname);
-
-/**
- * @brief
- * @return int
- */
-_SYNC_ extern int dynamicbox_finalize(void);
-
-/**
- * @brief
- * @param[in] filename
- * @param[in] content
- * @param[in] cluster
- * @param[in] category
- * @return int
- */
-_SYNC_ extern int dynamicbox_create(const char *filename, const char *content, const char *cluster, const char *category);
-
-/**
- * @brief
- * @param[in] filename
- * @return int
- */
-_SYNC_ extern int dynamicbox_destroy(const char *filename);
-
-/**
- * @brief
- * @param[in] filename
- * @return int
- */
-_SYNC_ extern int dynamicbox_need_to_update(const char *filename);
-
-/**
- * @brief
- * @param[in] filename
- * @return int
- */
-_SYNC_ extern int dynamicbox_need_to_destroy(const char *filename);
-
-/**
- * @brief
- * @param[in] cluster
- * @param[in] category
- * @return int
- */
-_SYNC_ extern int dynamicbox_need_to_create(const char *cluster, const char *category);
-
-/**
- * @brief
- * @param[in] filename
- * @return int
- */
-_ASYNC_ extern int dynamicbox_update_content(const char *filename);
-
-/**
- * @brief
- * @param[in] filename
- * @param[in] event "clicked" only
- * @param[in] timestamp
- * @param[in] x
- * @param[in] y
- * @return int
- */
-_SYNC_ extern int dynamicbox_clicked(const char *filename, const char *event, double timestamp, double x, double y);
-
-/**
- * @brief if "source" == "filename", emission could be "gbar,show", "gbar,hide", "dbox,show", "dbox,hide".
- * @param[in] filename
- * @param[in] emission
- * \param[in] source
- * @param[in] event_info
- * @return int
- */
-_SYNC_ extern int dynamicbox_content_event(const char *filename, const char *emission, const char *source, dynamicbox_event_info_t event_info);
-
-/**
- * @brief
- * @param[in] filename
- * @param[in] width
- * @param[in] height
- * @return int
- */
-_SYNC_ extern int dynamicbox_resize(const char *filename, int size_type);
-
-/**
- * @brief
- * @param[in] filename
- * @param[in] cluster
- * @param[in] category
- * @return int
- */
-_SYNC_ extern int dynamicbox_change_group(const char *filename, const char *cluster, const char *category);
-
-/**
- * @brief
- * @param[in] filename
- * @param[out] w Width of the last content
- * @param[out] h Height of the last content
- * @param[out] priority Priority of the last content
- * @param[out] *content Content info of the last content which should be usable for dynamicbox_create(..., content_info, ...);
- * @param[out] *title Only for the [CA] dynamicbox. Describe a title for your sub cluster
- * @return int
- */
-_SYNC_ extern int dynamicbox_get_info(const char *filename, int *w, int *h, double *priority, char **content, char **title);
-
-/**
- * @brief
- * @param[in] filename
- * @param[in] pinup
- * @return char * String which is allocated on a Heap space.
- */
-_SYNC_ extern char *dynamicbox_pinup(const char *filename, int pinup);
-
-/**
- * @brief
- * @param[in] filename
- * @return int 1 is pinned up, 0 is not pinned up
- */
-_SYNC_ extern int dynamicbox_is_pinned_up(const char *filename);
-
-#endif
-
-// End of a file
+++ /dev/null
-/*
- * [live-data-provider]
- *
- * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact: Sangil Lee <sangil77.lee@samsung.com>, Seho Chang <seho.chang@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __LIVE_DATA_PROVIDER_LIVE_GEN_TEMPLATE_VIRTUAL_CANVAS_H__
-#define __LIVE_DATA_PROVIDER_LIVE_GEN_TEMPLATE_VIRTUAL_CANVAS_H__
-
-extern int flush_to_file(Evas *e, const char *filename, int w, int h);
-extern int flush_data_to_file(Evas *e, char *data, const char *filename, int w, int h);
-
-extern Evas *create_virtual_canvas(int w, int h);
-extern int destroy_virtual_canvas(Evas *e);
-extern void get_screen_geometry(int *w, int *h);
-
-#endif
-
-// End of a file
+++ /dev/null
-#include <Elementary.h>
-#include <errno.h>
-#include <string.h>
-
-#include <dlog.h>
-#include <dynamicbox.h>
-#include <dynamicbox_service.h>
-#include <dynamicbox_errno.h>
-
-#include <aul.h>
-
-#include "main.h"
-
-#define PUBLIC __attribute__((visibility("default")))
-
-static Eina_List *s_list;
-int errno;
-
-struct info {
- char *id;
- char *content;
- int size_type;
- Evas_Object *lb_win;
-};
-
-static inline struct info *find_item(const char *id)
-{
- Eina_List *l;
- struct info *item;
-
- EINA_LIST_FOREACH(s_list, l, item) {
- if (!strcmp(item->id, id)) {
- return item;
- }
- }
-
- return NULL;
-}
-
-PUBLIC int dynamicbox_initialize(const char *pkgname)
-{
- /*!
- * \TODO
- * Do one-time initialize.
- * This will be called only once right before the first box is creating
- */
- return 0;
-}
-
-PUBLIC int dynamicbox_finalize(void)
-{
- /*!
- * \TODO
- * Do one-time finalization.
- * This will be called only once right after the last box is destroyed
- */
- return 0;
-}
-
-// NOTE: This function is going to be invoked for initializing all resources
-PUBLIC int dynamicbox_create(const char *id, const char *content, const char *cluster, const char *category)
-{
- struct info *info;
-
- info = malloc(sizeof(*info));
- if (!info) {
- return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
- }
-
- info->id = strdup(id);
- if (!info->id) {
- free(info);
- return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
- }
-
- info->content = strdup(content);
- if (!info->content) {
- free(info->id);
- free(info);
- return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
- }
-
- /*!
- * \NOTE
- * cluster == 'user,created'
- * category == 'default'
- *
- * You don't need to care these two values if you don't know what are them
- */
-
- info->size_type = DBOX_SIZE_TYPE_UNKNOWN;
- s_list = eina_list_append(s_list, info);
-
- /*!
- * \NOTE
- * You can returns OUTPUT_UPDATED or NEED_TO_SCHEDULE or DONE
- * You also can use them at same time using '|'
- *
- * If your content is updated, from this function, you have to
- * return DBOX_OUTPUT_UPDATED;
- *
- * If you want to the provider call your dynamicbox_update_content function ASAP
- * return DBOX_NEED_TO_SCHEDULE;
- *
- * If your content is updated and need to call the update_content function ASAP,
- * return DBOX_OUTPUT_UPDATED | DBOX_NEED_TO_SCHEDULE
- *
- * Don't have any changes, just
- * return DBOX_DONE
- */
-
- /*!
- * \NOTE
- * You create the default output image from here now.
- * So you HAVE TO return DBOX_OUTPUT_UPDATED
- */
- return DBOX_DONE;
-}
-
-// NOTE: This function is going to be invoked for release all resources
-PUBLIC int dynamicbox_destroy(const char *id)
-{
- struct info *item;
- LOGD("[%s:%d]\n", __func__, __LINE__);
-
- item = find_item(id);
- if (!item) {
- /*!
- * \NOTE
- * EXCEPTIONAL CASES
- */
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- s_list = eina_list_remove(s_list, item);
-
- /* NOTE: You have to clear all resource which are related with
- * current instance. If you didn't clear it correctly,
- * the live data provider will get suffer from the memory
- * pressure. therefore, keep trace on your resources.
- */
- if (item->lb_win) {
- evas_object_del(item->lb_win);
- item->lb_win = NULL;
- }
- free(item->content);
- free(item->id);
- free(item);
- return DBOX_DONE;
-}
-
-PUBLIC int dynamicbox_need_to_update(const char *id)
-{
- struct info *item;
-
- LOGD("[%s:%d]\n", __func__, __LINE__);
-
- item = find_item(id);
- if (!item) {
- /* Hmm, there is no matched instance. */
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- /**
- * @TODO
- * Check the content,
- * If you found any changes in your content data,
- * return 1 or 0
- *
- * If you return 1, the provider will schedule to update your box ASAP.
- * Or the provider will skip to call dynamicbox_update_content function.
- *
- * this function can be called several times, before call the dynamicbox_update_content function.
- *
- * if your dynamicbox_update_content is not called, and you have content which need to be updated, you have to
- * keep return 1
- */
- return 1;
-}
-
-PUBLIC int dynamicbox_update_content(const char *id)
-{
- struct info *item;
-
- LOGD("[%s:%d]\n", __func__, __LINE__);
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- /**
- * @NOTE
- * This function have to generate a new content.
- * If you don't want to generate new content,
- * return negative values.
- * or you have to generate the new content. in timeout msec.
- */
- return DBOX_STATUS_ERROR_DISABLED;
-}
-
-PUBLIC int dynamicbox_clicked(const char *id, const char *event, double timestamp, double x, double y)
-{
- struct info *item;
- int ix;
- int iy;
- int w;
- int h;
-
- /**
- * @NOTE:
- * You will get this if a user press your image.
- * You can get the absolute coordinate using the given x,y.
- *
- * event: clicked
- */
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- (void)dynamicbox_service_get_size(item->size_type, &w, &h);
- ix = (int)((double)w * x);
- iy = (int)((double)h * y);
-
- LOGD("[%s:%d] event[%s] %lf %lf (%lf)\n", __func__, __LINE__, event, x, y, timestamp);
- LOGD("[%s:%d] on your image (%d, %d)\n", __func__, __LINE__, ix, iy);
-
- /**
- * @NOTE
- * If you can generate new content in this function,
- * Generate a new content.
- * and return DBOX_OUTPUT_UPDATED
- *
- * In case of you cannot create the updated image in this function directly,
- * return DBOX_NEED_TO_SCHEDULE
- * The provider will call your dynamicbox_need_to_update & dynamicbox_update_content function.
- *
- * I recommend that if you are able to generate new content in this function,
- * generate it directly. and just returns OUTPUT_UPDATED
- *
- * Because if you return DBOX_NEED_TO_SCHEDULE, the provider will try to update your livebox
- * But it can be interrupted by other events.
- * Then you livebox content updating will be delayed
- */
- return DBOX_DONE; /* No chages */
-}
-
-PUBLIC int dynamicbox_content_event(const char *id, const char *emission, const char *source, dynamicbox_event_info_t event_info)
-{
- struct timeval tv;
- char buffer[BUFSIZ];
- struct info *item;
-
- LOGD("[%s:%d] Emission : %s, source: %s [%lf x %lf - %lf x %lf] (%lf x %lf - %d)\n",
- __func__, __LINE__,
- emission, source,
- event_info->part.sx, event_info->part.sy, event_info->part.ex, event_info->part.ey,
- event_info->pointer.x, event_info->pointer.y, event_info->pointer.down);
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- gettimeofday(&tv, NULL);
- snprintf(buffer, sizeof(buffer), "%lu.%lu", tv.tv_sec, tv.tv_usec);
-
- if (!strcmp(emission, "gbar,show") && !strcmp(source, id)) {
- /**
- * @NOTE
- * Glance Bar is opened
- */
- } else if (!strcmp(emission, "gbar,hide") && !strcmp(source, id)) {
- /*
- * @NOTE
- * Glance Bar is closed
- */
- }
-
- /**
- * @NOTE
- * If you can generate new content in this function,
- * Generate a new content.
- * and return DBOX_OUTPUT_UPDATED
- *
- * In case of you cannot create the updated image in this function directly,
- * return DBOX_NEED_TO_SCHEDULE
- * The provider will call your dynamicbox_need_to_update & dynamicbox_update_content function.
- *
- * I recommend that if you are able to generate new content in this function,
- * generate it directly. and just returns DBOX_OUTPUT_UPDATED
- *
- * Because if you return DBOX_NEED_TO_SCHEDULE, the provider will try to update your livebox
- * But it can be interrupted by other events.
- * Then you livebox content updating will be delayed
- */
- return DBOX_DONE; /* No changes */
-}
-
-PUBLIC int dynamicbox_resize(const char *id, int type)
-{
- struct info *item;
- int w;
- int h;
- int ret;
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- /**
- * @TODO
- * Check the size type, which is supporting by your box.
- * If the invalid size is requested, you should returns DBOX_STATUS_ERROR_INVALID_PARAMETER
- */
- ret = dynamicbox_service_get_size(type, &w, &h);
- if (ret != DBOX_STATUS_ERROR_NONE) {
- LOGE("Unsupported size\n");
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
- }
-
- if (item->size_type == DBOX_SIZE_TYPE_UNKNOWN) {
- Evas_Object *lb_parent;
- Evas_Object *rect;
-
- lb_parent = dynamicbox_get_evas_object(id, 0);
- if (!lb_parent) {
- LOGE("Failed to get an evas object\n");
- return DBOX_STATUS_ERROR_FAULT;
- }
-
- item->lb_win = elm_win_add(lb_parent, "DBox Window", ELM_WIN_DYNAMIC_BOX);
- evas_object_del(lb_parent);
- if (!item->lb_win) {
- return DBOX_STATUS_ERROR_FAULT;
- }
-
- evas_object_resize(item->lb_win, w, h);
- evas_object_show(item->lb_win);
-
- rect = elm_layout_add(item->lb_win);
- elm_layout_file_set(rect, RESDIR"/edje/simple.edj", "simple");
- evas_object_resize(rect, 360, 480);
- evas_object_show(rect);
- } else {
- evas_object_resize(item->lb_win, w, h);
- }
-
- LOGD("%s is resized to %dx%d\n", id, w, h);
- item->size_type = type;
-
- /**
- * @NOTE
- * If you can generate new content in this function,
- * Generate a new content.
- * and return DBOX_OUTPUT_UPDATED
- *
- * In case of you cannot create the updated image in this function directly,
- * return DBOX_NEED_TO_SCHEDULE
- * The provider will call your dynamicbox_need_to_update & dynamicbox_update_content function.
- *
- * I recommend that if you are able to generate new content in this function,
- * generate it directly. and just returns DBOX_OUTPUT_UPDATED
- *
- * Because if you return DBOX_NEED_TO_SCHEDULE, the provider will try to update your livebox
- * But it can be interrupted by other events.
- * Then you livebox content updating will be delayed
- */
- return DBOX_NEED_TO_SCHEDULE;
-}
-
-PUBLIC int dynamicbox_need_to_create(const char *cluster, const char *category)
-{
- /*!
- * \NOTE
- * You don't need implement this, if don't know what this is.
- * return 0 or 1
- */
- return 0;
-}
-
-PUBLIC int dynamicbox_change_group(const char *id, const char *cluster, const char *category)
-{
- struct info *item;
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- /**
- * @NOTE
- * If you can generate new content in this function,
- * Generate a new content.
- * and return DBOX_OUTPUT_UPDATED
- *
- * In case of you cannot create the updated image in this function directly,
- * return DBOX_NEED_TO_SCHEDULE
- * The provider will call your dynamicbox_need_to_update & dynamicbox_update_content function.
- *
- * I recommend that if you are able to generate new content in this function,
- * generate it directly. and just returns DBOX_OUTPUT_UPDATED
- *
- * Because if you return DBOX_NEED_TO_SCHEDULE, the provider will try to update your livebox
- * But it can be interrupted by other events.
- * Then you livebox content updating will be delayed
- */
- return DBOX_DONE;
-}
-
-PUBLIC int dynamicbox_need_to_destroy(const char *id)
-{
- /*!
- * \NOTE
- * You don't need implement this, if don't know what this is.
- * This will be called after call the dynamicbox_need_to_update function.
- * If the dynamicbox_need_to_update function returns 0,
- * The provider will call this.
- *
- * If you return 1, the provider will delete your box.
- */
- return 0;
-}
-
-PUBLIC char *dynamicbox_pinup(const char *id, int pinup)
-{
- struct info *item;
-
- item = find_item(id);
- if (!item) {
- return NULL;
- }
-
- return strdup(item->content);
-}
-
-PUBLIC int dynamicbox_is_pinned_up(const char *id)
-{
- struct info *item;
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- /**
- * @NOTE
- * If you can generate new content in this function,
- * Generate a new content.
- * and return DBOX_OUTPUT_UPDATED
- *
- * In case of you cannot create the updated image in this function directly,
- * return DBOX_NEED_TO_SCHEDULE
- * The provider will call your dynamicbox_need_to_update & dynamicbox_update_content function.
- *
- * I recommend that if you are able to generate new content in this function,
- * generate it directly. and just returns DBOX_OUTPUT_UPDATED
- *
- * Because if you return DBOX_NEED_TO_SCHEDULE, the provider will try to update your livebox
- * But it can be interrupted by other events.
- * Then you livebox content updating will be delayed
- */
- return DBOX_DONE;
-}
-
-PUBLIC int dynamicbox_system_event(const char *id, int type)
-{
- struct info *item;
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- if (type == DBOX_SYS_EVENT_FONT_CHANGED) {
- LOGD("Font is changed\n");
- } else if (type == DBOX_SYS_EVENT_LANG_CHANGED) {
- LOGD("Language is changed\n");
- } else if (type == DBOX_SYS_EVENT_TIME_CHANGED) {
- LOGD("Time is changed\n");
- } else if (type == DBOX_SYS_EVENT_REGION_CHANGED) {
- LOGD("Region is changed\n");
- } else if (type == DBOX_SYS_EVENT_PAUSED) {
- LOGD("Paused\n");
- // dynamicbox_release_scroller("com.samsung.w-add-viewer.dbox", id);
- } else if (type == DBOX_SYS_EVENT_RESUMED) {
- LOGD("Resumed [%s]\n", id);
- // dynamicbox_freeze_scroller("com.samsung.w-add-viewer.dbox", id);
- } else if (type == DBOX_SYS_EVENT_MMC_STATUS_CHANGED) {
- LOGD("MMC");
- } else {
- LOGD("Unknown");
- }
-
- /**
- * @NOTE
- * If you can generate new content in this function,
- * Generate a new content. and return DBOX_OUTPUT_UPDATED
- *
- * In case of you cannot create the updated image in this function directly,
- * return DBOX_NEED_TO_SCHEDULE
- * The provider will call your dynamicbox_need_to_update & dynamicbox_update_content function.
- *
- * I recommend that if you are able to generate new content in this function,
- * generate it directly. and just returns DBOX_OUTPUT_UPDATED
- *
- * Because if you return DBOX_NEED_TO_SCHEDULE, the provider will try to update your livebox
- * But it can be interrupted by other events.
- * Then you livebox content updating will be delayed
- *
- * DBOX_FORCE_TO_SCHEDULE - If you returns this, the provider will try to update your box
- * even though the box is paused you will get need_to_update & update_content function call.
- */
- return DBOX_DONE;
-}
-
-/* End of a file */
+++ /dev/null
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-PROJECT(com.samsung.w-add-viewer.dbox.text C)
-
-INCLUDE(FindPkgConfig)
-pkg_check_modules(com.samsung.w-add-viewer.text REQUIRED
- elementary
- dlog
- dynamicbox
- dynamicbox_service
- aul
-)
-
-FOREACH (flag ${com.samsung.w-add-viewer.text_CFLAGS})
- SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-ENDFOREACH(flag)
-
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Winline -Werror -fno-builtin-malloc -fno-omit-frame-pointer -g")
-
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
-
-ADD_DEFINITIONS(${EXTRA_CFLAGS})
-ADD_DEFINITIONS("-DLOG_TAG=\"DBOX_TEXT\"")
-
-ADD_LIBRARY(${PROJECT_NAME} SHARED
- src/main.c
-)
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${com.samsung.w-add-viewer.text_LDFLAGS})
-
-INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIBEXECDIR})
-
-#ADD_SUBDIRECTORY(data)
-#ADD_SUBDIRECTORY(res)
+++ /dev/null
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-
-# install edj
-ADD_CUSTOM_TARGET(tile.edj
- COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/images ${EDJE_CFLAGS}
- ${CMAKE_CURRENT_SOURCE_DIR}/hello.edc tile.edj
- DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/hello.edc
-)
-ADD_DEPENDENCIES(${PROJECT_NAME} tile.edj)
-INSTALL(FILES tile.edj DESTINATION ${EDJDIR})
+++ /dev/null
-images {
- image: "unknown.png" COMP;
-}
-
-collections {
- group {
- name: "default";
- parts {
- part {
- name: "pkgname";
- type: TEXT;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; }
- rel2 { relative: 1.0 0.5; }
- color: 255 255 255 255;
- text {
- text: "com.samsung.w-add-viewer.dbox.img";
- }
- }
- }
-
- part {
- name: "content";
- type: TEXT;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.5; }
- rel2 { relative: 1.0 1.0; }
- color: 255 255 255 255;
- text {
- text: "content";
- }
- }
- }
- }
- }
-}
-
-/* End of a file */
+++ /dev/null
-/*
- * [live-data-provider]
- *
- * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact: Sangil Lee <sangil77.lee@samsung.com>, Seho Chang <seho.chang@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __LIVE_DATA_PROVIDER_LIVE_GEN_TEMPLATE_MAIN_H__
-#define __LIVE_DATA_PROVIDER_LIVE_GEN_TEMPLATE_MAIN_H__
-
-/*!
- * \note
- * Sync function must has not to use any callback
- */
-#define _SYNC_
-/*!
- * \note
- * Async function can use the callback but it has to be invoked in specified time "timeout"
- */
-#define _ASYNC_
-
-/*!
- * \brief
- * \param[in] pkgname
- * \return int
- */
-_SYNC_ extern int dynamicbox_initialize(const char *pkgname);
-
-/*!
- * \brief
- * \return int
- */
-_SYNC_ extern int dynamicbox_finalize(void);
-
-/*!
- * \brief
- * \param[in] filename
- * \param[in] content
- * \param[in] cluster
- * \param[in] category
- * \return int
- */
-_SYNC_ extern int dynamicbox_create(const char *filename, const char *content, const char *cluster, const char *category);
-
-/*!
- * \brief
- * \param[in] filename
- * \return int
- */
-_SYNC_ extern int dynamicbox_destroy(const char *filename);
-
-/*!
- * \brief
- * \param[in] filename
- * \return int
- */
-_SYNC_ extern int dynamicbox_need_to_update(const char *filename);
-
-/*!
- * \brief
- * \param[in] filename
- * \return int
- */
-_SYNC_ extern int dynamicbox_need_to_destroy(const char *filename);
-
-/*!
- * \brief
- * \param[in] cluster
- * \param[in] category
- * \return int
- */
-_SYNC_ extern int dynamicbox_need_to_create(const char *cluster, const char *category);
-
-/*!
- * \brief
- * \param[in] filename
- * \return int
- */
-_ASYNC_ extern int dynamicbox_update_content(const char *filename);
-
-/*!
- * \brief
- * \param[in] filename
- * \param[in] event "clicked" only
- * \param[in] timestamp
- * \param[in] x
- * \param[in] y
- * \return int
- */
-_SYNC_ extern int dynamicbox_clicked(const char *filename, const char *event, double timestamp, double x, double y);
-
-/*!
- * \brief if "source" == "filename", emission could be "gbar,show", "gbar,hide", "dbox,show", "dbox,hide".
- * \param[in] filename
- * \param[in] emission
- * \param[in] source
- * \param[in] event_info
- * \return int
- */
-_SYNC_ extern int dynamicbox_content_event(const char *filename, const char *emission, const char *source, dynamicbox_event_info_t event_info);
-
-/*!
- * \brief
- * \param[in] filename
- * \param[in] width
- * \param[in] height
- * \return int
- */
-_SYNC_ extern int dynamicbox_resize(const char *filename, int size_type);
-
-/*!
- * \brief
- * \param[in] filename
- * \param[in] cluster
- * \param[in] category
- * \return int
- */
-_SYNC_ extern int dynamicbox_change_group(const char *filename, const char *cluster, const char *category);
-
-/*!
- * \brief
- * \param[in] filename
- * \param[out] w Width of the last content
- * \param[out] h Height of the last content
- * \param[out] priority Priority of the last content
- * \param[out] *content Content info of the last content which should be usable for dynamicbox_create(..., content_info, ...);
- * \param[out] *title Only for the [CA] dynamicbox. Describe a title for your sub cluster
- * \return int
- */
-_SYNC_ extern int dynamicbox_get_info(const char *filename, int *w, int *h, double *priority, char **content, char **title);
-
-/*!
- * \brief
- * \param[in] filename
- * \param[in] pinup
- * \return char * String which is allocated on a Heap space.
- */
-_SYNC_ extern char *dynamicbox_pinup(const char *filename, int pinup);
-
-/*!
- * \brief
- * \param[in] filename
- * \return int 1 is pinned up, 0 is not pinned up
- */
-_SYNC_ extern int dynamicbox_is_pinned_up(const char *filename);
-#endif
-
-// End of a file
+++ /dev/null
-#include <Elementary.h>
-#include <errno.h>
-#include <string.h>
-
-#include <dlog.h>
-#include <dynamicbox.h>
-#include <dynamicbox_service.h>
-#include <dynamicbox_errno.h>
-#include <dynamicbox_script.h>
-
-#include <aul.h>
-
-#include "main.h"
-
-#define PUBLIC __attribute__((visibility("default")))
-
-static Eina_List *s_list;
-int errno;
-
-struct info {
- char *id;
- char *content;
- int size_type;
-};
-
-static inline struct info *find_item(const char *id)
-{
- Eina_List *l;
- struct info *item;
-
- EINA_LIST_FOREACH(s_list, l, item) {
- if (!strcmp(item->id, id)) {
- return item;
- }
- }
-
- return NULL;
-}
-
-PUBLIC int dynamicbox_initialize(const char *pkgname)
-{
- /*!
- * \TODO
- * Do one-time initialize.
- * This will be called only once right before the first box is creating
- */
- return DBOX_DONE;
-}
-
-PUBLIC int dynamicbox_finalize(void)
-{
- /*!
- * \TODO
- * Do one-time finalization.
- * This will be called only once right after the last box is destroyed
- */
- return DBOX_DONE;
-}
-
-// NOTE: This function is going to be invoked for initializing all resources
-PUBLIC int dynamicbox_create(const char *id, const char *content, const char *cluster, const char *category)
-{
- struct info *info;
-
- info = malloc(sizeof(*info));
- if (!info) {
- return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
- }
-
- info->id = strdup(id);
- if (!info->id) {
- free(info);
- return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
- }
-
- info->content = strdup(content);
- if (!info->content) {
- free(info->id);
- free(info);
- return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
- }
-
- /*!
- * \NOTE
- * cluster == 'user,created'
- * category == 'default'
- *
- * You don't need to care these two values if you don't know what are them
- */
- info->size_type = DBOX_SIZE_TYPE_UNKNOWN;
- s_list = eina_list_append(s_list, info);
-
- /*!
- * \NOTE
- * You can returns OUTPUT_UPDATED or NEED_TO_SCHEDULE or DONE
- * You also can use them at same time using '|'
- *
- * If your content is updated, from this function, you have to
- * return DBOX_OUTPUT_UPDATED;
- *
- * If you want to the provider call your dynamicbox_update_content function ASAP
- * return DBOX_NEED_TO_SCHEDULE;
- *
- * If your content is updated and need to call the update_content function ASAP,
- * return DBOX_OUTPUT_UPDATED | DBOX_NEED_TO_SCHEDULE
- *
- * Don't have any changes, just
- * return DBOX_DONE
- */
-
- /*!
- * \NOTE
- * You create the default output image from here now.
- * So you HAVE TO return DBOX_OUTPUT_UPDATED
- */
- return DBOX_DONE;
-}
-
-// NOTE: This function is going to be invoked for release all resources
-PUBLIC int dynamicbox_destroy(const char *id)
-{
- struct info *item;
- LOGD("[%s:%d]\n", __func__, __LINE__);
-
- item = find_item(id);
- if (!item) {
- /*!
- * \NOTE
- * EXCEPTIONAL CASES
- */
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- s_list = eina_list_remove(s_list, item);
-
- /* NOTE: You have to clear all resource which are related with
- * current instance. If you didn't clear it correctly,
- * the live data provider will get suffer from the memory
- * pressure. therefore, keep trace on your resources.
- */
- free(item->content);
- free(item->id);
- free(item);
- return DBOX_DONE;
-}
-
-PUBLIC int dynamicbox_need_to_update(const char *id)
-{
- struct info *item;
-
- LOGD("[%s:%d]\n", __func__, __LINE__);
-
- item = find_item(id);
- if (!item) {
- /* Hmm, there is no matched instance. */
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- /*!
- * \TODO
- * Check the content,
- * If you found any changes in your content data,
- * return 1 or 0
- *
- * If you return 1, the provider will schedule to update your box ASAP.
- * Or the provider will skip to call dynamicbox_update_content function.
- *
- * this function can be called several times, before call the dynamicbox_update_content function.
- *
- * if your dynamicbox_update_content is not called, and you have content which need to be updated, you have to
- * keep return 1
- */
- return 1;
-}
-
-PUBLIC int dynamicbox_update_content(const char *id)
-{
- struct info *item;
- int w;
- int h;
- struct dynamicbox_desc *desc_handle;
- char buffer[256];
-
- LOGD("[%s:%d]\n", __func__, __LINE__);
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- (void)dynamicbox_service_get_size(item->size_type, &w, &h);
-
- desc_handle = dynamicbox_desc_open(id, 0);
- if (!desc_handle) {
- return DBOX_STATUS_ERROR_FAULT;
- }
-
- snprintf(buffer, sizeof(buffer) - 1, "name%.3d(%dx%d)", rand() % 1000, w, h);
-
- dynamicbox_desc_add_block(desc_handle, NULL, DBOX_DESC_TYPE_TEXT, "name", buffer, NULL);
- dynamicbox_desc_add_block(desc_handle, NULL, DBOX_DESC_TYPE_IMAGE, "picture", RESDIR"/image/unknown.png", NULL);
- dynamicbox_desc_add_block(desc_handle, NULL, DBOX_DESC_TYPE_SCRIPT, "animation,01", "play", NULL);
- dynamicbox_desc_close(desc_handle);
-
- /*!
- * \NOTE
- * This function have to generate a new content.
- * If you don't want to generate new content,
- * return negative values.
- * or you have to generate the new content. in timeout msec.
- */
- return DBOX_DONE;
-}
-
-PUBLIC int dynamicbox_clicked(const char *id, const char *event, double timestamp, double x, double y)
-{
- struct info *item;
- int ix;
- int iy;
- int w;
- int h;
-
- // NOTE:
- // You will get this if a user press your image.
- // You can get the absolute coordinate using the given x,y.
- //
- // event: clicked
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- (void)dynamicbox_service_get_size(item->size_type, &w, &h);
- ix = (int)((double)w * x);
- iy = (int)((double)h * y);
-
- LOGD("[%s:%d] event[%s] %lf %lf (%lf)\n", __func__, __LINE__, event, x, y, timestamp);
- LOGD("[%s:%d] on your image (%d, %d)\n", __func__, __LINE__, ix, iy);
-
- pid_t pid;
- pid = aul_launch_app("com.samsung.calculator", NULL);
- LOGD("Launch [com.samsung.setting]: %d\n", pid);
-
- /*!
- * \NOTE
- * If you can generate new content in this function,
- * Generate a new content.
- * and return DBOX_OUTPUT_UPDATED
- *
- * In case of you cannot create the updated image in this function directly,
- * return DBOX_NEED_TO_SCHEDULE
- * The provider will call your dynamicbox_need_to_update & dynamicbox_update_content function.
- *
- * I recommend that if you are able to generate new content in this function,
- * generate it directly. and just returns OUTPUT_UPDATED
- *
- * Because if you return DBOX_NEED_TO_SCHEDULE, the provider will try to update your dynamicbox
- * But it can be interrupted by other events.
- * Then you dynamicbox content updating will be delayed
- */
- return DBOX_DONE; /* No chages */
-}
-
-PUBLIC int dynamicbox_content_event(const char *id, const char *emission, const char *source, dynamicbox_event_info_t event_info)
-{
- struct timeval tv;
- char buffer[BUFSIZ];
- struct info *item;
-
- LOGD("[%s:%d] Emission : %s, source: %s [%lf x %lf - %lf x %lf] (%lf x %lf - %d)\n",
- __func__, __LINE__,
- emission, source,
- event_info->part.sx, event_info->part.sy, event_info->part.ex, event_info->part.ey,
- event_info->pointer.x, event_info->pointer.y, event_info->pointer.down);
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- gettimeofday(&tv, NULL);
- snprintf(buffer, sizeof(buffer), "%lu.%lu", tv.tv_sec, tv.tv_usec);
-
- if (!strcmp(emission, "gbar,show") && !strcmp(source, id)) {
- /*!
- * \NOTE
- * PD is opened
- */
- } else if (!strcmp(emission, "gbar,hide") && !strcmp(source, id)) {
- /*
- * \NOTE
- * PD is closed
- */
- } else if (!strcmp(emission, "mouse,clicked,1") && !strcmp(source, "bg")) {
- struct dynamicbox_desc *desc_handle;
-
- desc_handle = dynamicbox_desc_open(id, 1);
- if (!desc_handle) {
- return DBOX_STATUS_ERROR_FAULT;
- }
-
- dynamicbox_desc_add_block(desc_handle, NULL, DBOX_DESC_TYPE_TEXT, "name", buffer, NULL);
- dynamicbox_desc_add_block(desc_handle, NULL, DBOX_DESC_TYPE_IMAGE, "image", RESDIR"/image/unknown.png", NULL);
- dynamicbox_desc_add_block(desc_handle, NULL, DBOX_DESC_TYPE_SIGNAL, "image", "show", NULL);
- dynamicbox_desc_close(desc_handle);
- } else if (!strcmp(emission, "done") && !strcmp(source, "show")) {
- struct dynamicbox_desc *desc_handle;
-
- desc_handle = dynamicbox_desc_open(id, 1);
- if (!desc_handle) {
- return DBOX_STATUS_ERROR_FAULT;
- }
-
- dynamicbox_desc_add_block(desc_handle, NULL, DBOX_DESC_TYPE_TEXT, "name", buffer, NULL);
- dynamicbox_desc_add_block(desc_handle, NULL, DBOX_DESC_TYPE_SIGNAL, "image", "hide", NULL);
- dynamicbox_desc_close(desc_handle);
- }
-
- /*!
- * \NOTE
- * If you can generate new content in this function,
- * Generate a new content.
- * and return DBOX_OUTPUT_UPDATED
- *
- * In case of you cannot create the updated image in this function directly,
- * return DBOX_NEED_TO_SCHEDULE
- * The provider will call your dynamicbox_need_to_update & dynamicbox_update_content function.
- *
- * I recommend that if you are able to generate new content in this function,
- * generate it directly. and just returns OUTPUT_UPDATED
- *
- * Because if you return DBOX_NEED_TO_SCHEDULE, the provider will try to update your dynamicbox
- * But it can be interrupted by other events.
- * Then you dynamicbox content updating will be delayed
- */
- return DBOX_DONE; /* No changes */
-}
-
-PUBLIC int dynamicbox_resize(const char *id, int type)
-{
- struct info *item;
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- /*!
- * \TODO
- * Check the size type, which is supporting by your box.
- * If the invalid size is requested, you should returns DBOX_STATUS_ERROR_INVALID
- */
-
- item->size_type = type;
-
- /*!
- * \NOTE
- * If you can generate new content in this function,
- * Generate a new content.
- * and return DBOX_OUTPUT_UPDATED
- *
- * In case of you cannot create the updated image in this function directly,
- * return DBOX_NEED_TO_SCHEDULE
- * The provider will call your dynamicbox_need_to_update & dynamicbox_update_content function.
- *
- * I recommend that if you are able to generate new content in this function,
- * generate it directly. and just returns OUTPUT_UPDATED
- *
- * Because if you return DBOX_NEED_TO_SCHEDULE, the provider will try to update your dynamicbox
- * But it can be interrupted by other events.
- * Then you dynamicbox content updating will be delayed
- */
- return DBOX_NEED_TO_SCHEDULE;
-}
-
-PUBLIC int dynamicbox_need_to_create(const char *cluster, const char *category)
-{
- /*!
- * \NOTE
- * You don't need implement this, if don't know what this is.
- * return 0 or 1
- */
- return 0;
-}
-
-PUBLIC int dynamicbox_change_group(const char *id, const char *cluster, const char *category)
-{
- struct info *item;
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- /*!
- * \NOTE
- * If you can generate new content in this function,
- * Generate a new content.
- * and return DBOX_OUTPUT_UPDATED
- *
- * In case of you cannot create the updated image in this function directly,
- * return DBOX_NEED_TO_SCHEDULE
- * The provider will call your dynamicbox_need_to_update & dynamicbox_update_content function.
- *
- * I recommend that if you are able to generate new content in this function,
- * generate it directly. and just returns OUTPUT_UPDATED
- *
- * Because if you return DBOX_NEED_TO_SCHEDULE, the provider will try to update your dynamicbox
- * But it can be interrupted by other events.
- * Then you dynamicbox content updating will be delayed
- */
- return DBOX_DONE;
-}
-
-/*!
- * \brief
- * The provider will call this to get the content size and its content_info.
- * So this will be called after you update the contents.
- * Also the provider will tries to get "title" for reading it if the Accessibility(TTS) is enabled.
- * You have to summarize your content to A string and copy it to the "title".
- * It has to be stored in the heap (allocated memory will be released by provider automatically).
- */
-PUBLIC int dynamicbox_get_info(const char *id, int *w, int *h, double *priority, char **content, char **title)
-{
- struct info *item;
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- dynamicbox_service_get_size(item->size_type, w, h);
-
- /*!
- * This content string will be used again after reboot the device,
- * this will be passed to your dynamicbox_create function again via the second parameter "content".
- */
- *content = NULL;
-
- /*!
- * This is not used. just set it to 1.0 for default
- */
- *priority = 1.0;
-
- *title = strdup("Accessibility will read this title string");
- if (!*title) {
- LOGE("Heap: %s\n", strerror(errno));
- }
-
- return DBOX_DONE;
-}
-
-PUBLIC int dynamicbox_get_alt_info(const char *id, char **icon, char **name)
-{
- /*!
- * \brief
- * Set the absolute path of alternative icon file
- * The string must be allocated in the heap.
- * And it will be released by provider.
- */
- *icon = NULL;
-
- /*!
- * \brief
- * Set the name of alternative one
- * The string must be allocated in the heap.
- * And it will be released by provider.
- */
- *name = NULL;
-
- return DBOX_DONE;
-}
-
-
-PUBLIC int dynamicbox_need_to_destroy(const char *id)
-{
- /*!
- * \NOTE
- * You don't need implement this, if don't know what this is.
- * This will be called after call the dynamicbox_need_to_update function.
- * If the dynamicbox_need_to_update function returns 0,
- * The provider will call this.
- *
- * If you return 1, the provider will delete your box.
- */
- return 0;
-}
-
-PUBLIC char *dynamicbox_pinup(const char *id, int pinup)
-{
- struct info *item;
-
- item = find_item(id);
- if (!item) {
- return NULL;
- }
-
- return strdup(item->content);
-}
-
-PUBLIC int dynamicbox_is_pinned_up(const char *id)
-{
- struct info *item;
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- /*!
- * \NOTE
- * If you can generate new content in this function,
- * Generate a new content.
- * and return DBOX_OUTPUT_UPDATED
- *
- * In case of you cannot create the updated image in this function directly,
- * return DBOX_NEED_TO_SCHEDULE
- * The provider will call your dynamicbox_need_to_update & dynamicbox_update_content function.
- *
- * I recommend that if you are able to generate new content in this function,
- * generate it directly. and just returns OUTPUT_UPDATED
- *
- * Because if you return DBOX_NEED_TO_SCHEDULE, the provider will try to update your dynamicbox
- * But it can be interrupted by other events.
- * Then you dynamicbox content updating will be delayed
- */
- return DBOX_DONE;
-}
-
-PUBLIC int dynamicbox_system_event(const char *id, int type)
-{
- struct info *item;
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- if (type == DBOX_SYS_EVENT_FONT_CHANGED) {
- LOGD("Font is changed\n");
- } else if (type == DBOX_SYS_EVENT_LANG_CHANGED) {
- LOGD("Language is changed\n");
- } else if (type == DBOX_SYS_EVENT_TIME_CHANGED) {
- LOGD("Time is changed\n");
- } else if (type == DBOX_SYS_EVENT_REGION_CHANGED) {
- LOGD("Region is changed\n");
- } else if (type == DBOX_SYS_EVENT_PAUSED) {
- LOGD("Paused\n");
- } else if (type == DBOX_SYS_EVENT_RESUMED) {
- LOGD("Resumed\n");
- } else if (type == DBOX_SYS_EVENT_MMC_STATUS_CHANGED) {
- LOGD("MMC");
- } else {
- LOGD("Unknown");
- }
-
- /*!
- * \NOTE
- * If you can generate new content in this function,
- * Generate a new content. and return DBOX_OUTPUT_UPDATED
- *
- * In case of you cannot create the updated image in this function directly,
- * return DBOX_NEED_TO_SCHEDULE
- * The provider will call your dynamicbox_need_to_update & dynamicbox_update_content function.
- *
- * I recommend that if you are able to generate new content in this function,
- * generate it directly. and just returns OUTPUT_UPDATED
- *
- * Because if you return DBOX_NEED_TO_SCHEDULE, the provider will try to update your dynamicbox
- * But it can be interrupted by other events.
- * Then you dynamicbox content updating will be delayed
- *
- * FORCE_TO_SCHEDULE - If you returns this, the provider will try to update your box
- * even though the box is paused you will get need_to_update & update_content function call.
- */
- return DBOX_DONE;
-}
-
-/* End of a file */
+++ /dev/null
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-PROJECT(com.samsung.w-add-viewer.dbox.transit C)
-
-INCLUDE(FindPkgConfig)
-pkg_check_modules(com.samsung.w-add-viewer.transit REQUIRED
- elementary
- dlog
- dynamicbox
- dynamicbox_service
- aul
-)
-
-FOREACH (flag ${com.samsung.w-add-viewer.transit_CFLAGS})
- SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-ENDFOREACH(flag)
-
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Winline -Werror -fno-builtin-malloc -fno-omit-frame-pointer -g")
-
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
-
-ADD_DEFINITIONS(${EXTRA_CFLAGS})
-ADD_DEFINITIONS("-DLOG_TAG=\"DBOX_TRANSIT\"")
-
-ADD_LIBRARY(${PROJECT_NAME} SHARED
- src/main.c
- src/transit04.c
-)
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${com.samsung.w-add-viewer.transit_LDFLAGS})
-
-INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIBEXECDIR})
-
-ADD_SUBDIRECTORY(data)
-#ADD_SUBDIRECTORY(res)
+++ /dev/null
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-
-# install edj
-ADD_CUSTOM_TARGET(transit.edj
- COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/images ${EDJE_CFLAGS}
- ${CMAKE_CURRENT_SOURCE_DIR}/transit.edc transit.edj
- DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/transit.edc
-)
-ADD_DEPENDENCIES(${PROJECT_NAME} transit.edj)
-INSTALL(FILES transit.edj DESTINATION ${EDJDIR})
-INSTALL(FILES icon_07.png DESTINATION ${RESDIR}/images)
-INSTALL(FILES icon_08.png DESTINATION ${RESDIR}/images)
+++ /dev/null
-images {
- image: "unknown.png" COMP;
-}
-
-collections {
- group {
- name: "default";
- parts {
- part {
- name: "bg";
- type: RECT;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; }
- rel2 { relative: 1.0 1.0; }
- color: 255 255 255 255;
- }
- }
-
- part {
- name: "actor";
- type: IMAGE;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; }
- rel2 { relative: 1.0 1.0; }
- image { normal: "unknown.png"; }
- color: 255 255 255 255;
- map { on: 1; }
- }
- description {
- state: "rotate" 0.0;
- rel1 { relative: 0.0 0.0; }
- rel2 { relative: 1.0 1.0; }
- image { normal: "unknown.png"; }
- color: 255 255 255 255;
- map { on: 1; }
- }
- }
- }
-
- programs {
- program {
- }
- }
- }
-}
-
-/* End of a file */
+++ /dev/null
-/*
- * [live-data-provider]
- *
- * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact: Sangil Lee <sangil77.lee@samsung.com>, Seho Chang <seho.chang@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __LIVE_DATA_PROVIDER_LIVE_GEN_TEMPLATE_MAIN_H__
-#define __LIVE_DATA_PROVIDER_LIVE_GEN_TEMPLATE_MAIN_H__
-
-/*!
- * \note
- * Sync function must has not to use any callback
- */
-#define _SYNC_
-/*!
- * \note
- * Async function can use the callback but it has to be invoked in specified time "timeout"
- */
-#define _ASYNC_
-
-/*!
- * \brief
- * \param[in] pkgname
- * \return int
- */
-_SYNC_ extern int dynamicbox_initialize(const char *pkgname);
-
-/*!
- * \brief
- * \return int
- */
-_SYNC_ extern int dynamicbox_finalize(void);
-
-/*!
- * \brief
- * \param[in] filename
- * \param[in] content
- * \param[in] cluster
- * \param[in] category
- * \return int
- */
-_SYNC_ extern int dynamicbox_create(const char *filename, const char *content, const char *cluster, const char *category);
-
-/*!
- * \brief
- * \param[in] filename
- * \return int
- */
-_SYNC_ extern int dynamicbox_destroy(const char *filename);
-
-/*!
- * \brief
- * \param[in] filename
- * \return int
- */
-_SYNC_ extern int dynamicbox_need_to_update(const char *filename);
-
-/*!
- * \brief
- * \param[in] filename
- * \return int
- */
-_SYNC_ extern int dynamicbox_need_to_destroy(const char *filename);
-
-/*!
- * \brief
- * \param[in] cluster
- * \param[in] category
- * \return int
- */
-_SYNC_ extern int dynamicbox_need_to_create(const char *cluster, const char *category);
-
-/*!
- * \brief
- * \param[in] filename
- * \return int
- */
-_ASYNC_ extern int dynamicbox_update_content(const char *filename);
-
-/*!
- * \brief
- * \param[in] filename
- * \param[in] event "clicked" only
- * \param[in] timestamp
- * \param[in] x
- * \param[in] y
- * \return int
- */
-_SYNC_ extern int dynamicbox_clicked(const char *filename, const char *event, double timestamp, double x, double y);
-
-/*!
- * \brief if "source" == "filename", emission could be "gbar,show", "gbar,hide", "dbox,show", "dbox,hide".
- * \param[in] filename
- * \param[in] emission
- * \param[in] source
- * \param[in] event_info
- * \return int
- */
-_SYNC_ extern int dynamicbox_content_event(const char *filename, const char *emission, const char *source, dynamicbox_event_info_t event_info);
-
-/*!
- * \brief
- * \param[in] filename
- * \param[in] width
- * \param[in] height
- * \return int
- */
-_SYNC_ extern int dynamicbox_resize(const char *filename, int size_type);
-
-/*!
- * \brief
- * \param[in] filename
- * \param[in] cluster
- * \param[in] category
- * \return int
- */
-_SYNC_ extern int dynamicbox_change_group(const char *filename, const char *cluster, const char *category);
-
-/*!
- * \brief
- * \param[in] filename
- * \param[out] w Width of the last content
- * \param[out] h Height of the last content
- * \param[out] priority Priority of the last content
- * \param[out] *content Content info of the last content which should be usable for dynamicbox_create(..., content_info, ...);
- * \param[out] *title Only for the [CA] dynamicbox. Describe a title for your sub cluster
- * \return int
- */
-_SYNC_ extern int dynamicbox_get_info(const char *filename, int *w, int *h, double *priority, char **content, char **title);
-
-/*!
- * \brief
- * \param[in] filename
- * \param[in] pinup
- * \return char * String which is allocated on a Heap space.
- */
-_SYNC_ extern char *dynamicbox_pinup(const char *filename, int pinup);
-
-/*!
- * \brief
- * \param[in] filename
- * \return int 1 is pinned up, 0 is not pinned up
- */
-_SYNC_ extern int dynamicbox_is_pinned_up(const char *filename);
-#endif
-
-// End of a file
+++ /dev/null
-extern void transit04_test(Evas_Object *win);
+++ /dev/null
-/*
- * [live-data-provider]
- *
- * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact: Sangil Lee <sangil77.lee@samsung.com>, Seho Chang <seho.chang@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __LIVE_DATA_PROVIDER_LIVE_GEN_TEMPLATE_VIRTUAL_CANVAS_H__
-#define __LIVE_DATA_PROVIDER_LIVE_GEN_TEMPLATE_VIRTUAL_CANVAS_H__
-
-extern int flush_to_file(Evas *e, const char *filename, int w, int h);
-extern int flush_data_to_file(Evas *e, char *data, const char *filename, int w, int h);
-
-extern Evas *create_virtual_canvas(int w, int h);
-extern int destroy_virtual_canvas(Evas *e);
-extern void get_screen_geometry(int *w, int *h);
-
-#endif
-
-// End of a file
+++ /dev/null
-#include <Elementary.h>
-#include <errno.h>
-#include <string.h>
-
-#include <dlog.h>
-#include <dynamicbox.h>
-#include <dynamicbox_service.h>
-#include <dynamicbox_errno.h>
-
-#include <aul.h>
-
-#include "main.h"
-#include "transit04.h"
-
-#define PUBLIC __attribute__((visibility("default")))
-
-static Eina_List *s_list;
-int errno;
-
-struct info {
- char *id;
- char *content;
- int size_type;
- Evas_Object *dbox_win;
- enum edge {
- LEFT,
- RIGHT,
- MIDDLE,
- } edge;
- struct down {
- int x;
- int y;
- int pressed;
- } down;
-};
-
-static inline struct info *find_item(const char *id)
-{
- Eina_List *l;
- struct info *item;
-
- EINA_LIST_FOREACH(s_list, l, item) {
- if (!strcmp(item->id, id)) {
- return item;
- }
- }
-
- return NULL;
-}
-
-PUBLIC int dynamicbox_initialize(const char *pkgname)
-{
- /**
- * @TODO
- * Do one-time initialize.
- * This will be called only once right before the first box is creating
- */
- return 0;
-}
-
-PUBLIC int dynamicbox_finalize(void)
-{
- /**
- * @TODO
- * Do one-time finalization.
- * This will be called only once right after the last box is destroyed
- */
- return 0;
-}
-
-// NOTE: This function is going to be invoked for initializing all resources
-PUBLIC int dynamicbox_create(const char *id, const char *content, const char *cluster, const char *category)
-{
- struct info *info;
-
- info = malloc(sizeof(*info));
- if (!info) {
- return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
- }
-
- info->id = strdup(id);
- if (!info->id) {
- free(info);
- return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
- }
-
- info->content = strdup(content);
- if (!info->content) {
- free(info->id);
- free(info);
- return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
- }
-
- /**
- * @NOTE
- * cluster == 'user,created'
- * category == 'default'
- *
- * You don't need to care these two values if you don't know what are them
- */
-
- info->size_type = DBOX_SIZE_TYPE_UNKNOWN;
- s_list = eina_list_append(s_list, info);
-
- /**
- * @NOTE
- * You can returns DBOX_OUTPUT_UPDATED or DBOX_NEED_TO_SCHEDULE or DBOX_DONE
- * You also can use them at same time using '|'
- *
- * If your content is updated, from this function, you have to
- * return DBOX_OUTPUT_UPDATED;
- *
- * If you want to the provider call your dynamicbox_update_content function ASAP
- * return DBOX_NEED_TO_SCHEDULE;
- *
- * If your content is updated and need to call the update_content function ASAP,
- * return DBOX_OUTPUT_UPDATED | DBOX_NEED_TO_SCHEDULE
- *
- * Don't have any changes, just
- * return DBOX_DONE
- */
-
- /**
- * @NOTE
- * You create the default output image from here now.
- * So you HAVE TO return DBOX_OUTPUT_UPDATED
- */
- return DBOX_DONE;
-}
-
-// NOTE: This function is going to be invoked for release all resources
-PUBLIC int dynamicbox_destroy(const char *id)
-{
- struct info *item;
- LOGD("[%s:%d]\n", __func__, __LINE__);
-
- item = find_item(id);
- if (!item) {
- /**
- * @NOTE
- * EXCEPTIONAL CASES
- */
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- s_list = eina_list_remove(s_list, item);
-
- /**
- * @NOTE:
- * You have to clear all resource which are related with
- * current instance. If you didn't clear it correctly,
- * the live data provider will get suffer from the memory
- * pressure. therefore, keep trace on your resources.
- */
- if (item->dbox_win) {
- evas_object_del(item->dbox_win);
- }
- free(item->content);
- free(item->id);
- free(item);
- return 0;
-}
-
-PUBLIC int dynamicbox_need_to_update(const char *id)
-{
- struct info *item;
-
- LOGD("[%s:%d]\n", __func__, __LINE__);
-
- item = find_item(id);
- if (!item) {
- /* Hmm, there is no matched instance. */
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- /**
- * @TODO
- * Check the content,
- * If you found any changes in your content data,
- * return 1 or 0
- *
- * If you return 1, the provider will schedule to update your box ASAP.
- * Or the provider will skip to call dynamicbox_update_content function.
- *
- * this function can be called several times, before call the dynamicbox_update_content function.
- *
- * if your dynamicbox_update_content is not called, and you have content which need to be updated, you have to
- * keep return 1
- */
- return 1;
-}
-
-PUBLIC int dynamicbox_update_content(const char *id)
-{
- struct info *item;
-
- LOGD("[%s:%d]\n", __func__, __LINE__);
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- /**
- * @NOTE
- * This function have to generate a new content.
- * If you don't want to generate new content,
- * return negative values.
- * or you have to generate the new content. in timeout msec.
- */
- return DBOX_STATUS_ERROR_DISABLED;
-}
-
-PUBLIC int dynamicbox_clicked(const char *id, const char *event, double timestamp, double x, double y)
-{
- struct info *item;
- int ix;
- int iy;
- int w;
- int h;
-
- /**
- * @NOTE:
- * You will get this if a user press your image.
- * You can get the absolute coordinate using the given x,y.
- *
- * event: clicked
- */
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- (void)dynamicbox_service_get_size(item->size_type, &w, &h);
- ix = (int)((double)w * x);
- iy = (int)((double)h * y);
-
- LOGD("[%s:%d] event[%s] %lf %lf (%lf)\n", __func__, __LINE__, event, x, y, timestamp);
- LOGD("[%s:%d] on your image (%d, %d)\n", __func__, __LINE__, ix, iy);
-
- /**
- * @NOTE
- * If you can generate new content in this function,
- * Generate a new content.
- * and return DBOX_OUTPUT_UPDATED
- *
- * In case of you cannot create the updated image in this function directly,
- * return DBOX_NEED_TO_SCHEDULE
- * The provider will call your dynamicbox_need_to_update & dynamicbox_update_content function.
- *
- * I recommend that if you are able to generate new content in this function,
- * generate it directly. and just returns DBOX_OUTPUT_UPDATED
- *
- * Because if you return DBOX_NEED_TO_SCHEDULE, the provider will try to update your dynamicbox
- * But it can be interrupted by other events.
- * Then you dynamicbox content updating will be delayed
- */
- return DBOX_DONE; /* No chages */
-}
-
-PUBLIC int dynamicbox_content_event(const char *id, const char *emission, const char *source, dynamicbox_event_info_t event_info)
-{
- struct timeval tv;
- char buffer[BUFSIZ];
- struct info *item;
-
- LOGD("[%s:%d] Emission : %s, source: %s [%lf x %lf - %lf x %lf] (%lf x %lf - %d)\n",
- __func__, __LINE__,
- emission, source,
- event_info->part.sx, event_info->part.sy, event_info->part.ex, event_info->part.ey,
- event_info->pointer.x, event_info->pointer.y, event_info->pointer.down);
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- gettimeofday(&tv, NULL);
- snprintf(buffer, sizeof(buffer), "%lu.%lu", tv.tv_sec, tv.tv_usec);
-
- if (!strcmp(emission, "gbar,show") && !strcmp(source, id)) {
- /**
- * @NOTE
- * Glance Bar is opened
- */
- } else if (!strcmp(emission, "gbar,hide") && !strcmp(source, id)) {
- /**
- * @NOTE
- * Glance Bar is closed
- */
- }
-
- /**
- * @NOTE
- * If you can generate new content in this function,
- * Generate a new content.
- * and return DBOX_OUTPUT_UPDATED
- *
- * In case of you cannot create the updated image in this function directly,
- * return DBOX_NEED_TO_SCHEDULE
- * The provider will call your dynamicbox_need_to_update & dynamicbox_update_content function.
- *
- * I recommend that if you are able to generate new content in this function,
- * generate it directly. and just returns DBOX_OUTPUT_UPDATED
- *
- * Because if you return DBOX_NEED_TO_SCHEDULE, the provider will try to update your dynamicbox
- * But it can be interrupted by other events.
- * Then you dynamicbox content updating will be delayed
- */
- return DBOX_DONE; /* No changes */
-}
-
-PUBLIC int dynamicbox_resize(const char *id, int type)
-{
- struct info *item;
- int w;
- int h;
- int ret;
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- /**
- * @TODO
- * Check the size type, which is supporting by your box.
- * If the invalid size is requested, you should returns DBOX_STATUS_ERROR_INVALID_PARAMETER
- */
- ret = dynamicbox_service_get_size(type, &w, &h);
- if (ret != DBOX_STATUS_ERROR_NONE) {
- LOGE("Unsupported size\n");
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
- }
-
- if (item->size_type == DBOX_SIZE_TYPE_UNKNOWN) {
- Evas_Object *lb_parent;
-
- lb_parent = dynamicbox_get_evas_object(id, 0);
- if (!lb_parent) {
- LOGE("Failed to get an evas object\n");
- return DBOX_STATUS_ERROR_FAULT;
- }
-
- item->dbox_win = elm_win_add(lb_parent, "DBox Window", ELM_WIN_DYNAMIC_BOX);
- evas_object_del(lb_parent);
- if (!item->dbox_win) {
- return DBOX_STATUS_ERROR_FAULT;
- }
-
- evas_object_resize(item->dbox_win, w, h);
- evas_object_show(item->dbox_win);
-
- transit04_test(item->dbox_win);
-
- LOGD("Window & Genlist is created\n");
- } else {
- evas_object_resize(item->dbox_win, w, h);
- }
-
- LOGD("%s is resized to %dx%d\n", id, w, h);
- item->size_type = type;
-
- /**
- * @NOTE
- * If you can generate new content in this function,
- * Generate a new content.
- * and return DBOX_OUTPUT_UPDATED
- *
- * In case of you cannot create the updated image in this function directly,
- * return DBOX_NEED_TO_SCHEDULE
- * The provider will call your dynamicbox_need_to_update & dynamicbox_update_content function.
- *
- * I recommend that if you are able to generate new content in this function,
- * generate it directly. and just returns DBOX_OUTPUT_UPDATED
- *
- * Because if you return DBOX_NEED_TO_SCHEDULE, the provider will try to update your dynamicbox
- * But it can be interrupted by other events.
- * Then you dynamicbox content updating will be delayed
- */
- return DBOX_NEED_TO_SCHEDULE;
-}
-
-PUBLIC int dynamicbox_need_to_create(const char *cluster, const char *category)
-{
- /*!
- * \NOTE
- * You don't need implement this, if don't know what this is.
- * return 0 or 1
- */
- return 0;
-}
-
-PUBLIC int dynamicbox_change_group(const char *id, const char *cluster, const char *category)
-{
- struct info *item;
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- /**
- * @NOTE
- * If you can generate new content in this function,
- * Generate a new content.
- * and return DBOX_OUTPUT_UPDATED
- *
- * In case of you cannot create the updated image in this function directly,
- * return DBOX_NEED_TO_SCHEDULE
- * The provider will call your dynamicbox_need_to_update & dynamicbox_update_content function.
- *
- * I recommend that if you are able to generate new content in this function,
- * generate it directly. and just returns DBOX_OUTPUT_UPDATED
- *
- * Because if you return DBOX_NEED_TO_SCHEDULE, the provider will try to update your dynamicbox
- * But it can be interrupted by other events.
- * Then you dynamicbox content updating will be delayed
- */
- return DBOX_DONE;
-}
-
-PUBLIC int dynamicbox_need_to_destroy(const char *id)
-{
- /**
- * @NOTE
- * You don't need implement this, if don't know what this is.
- * This will be called after call the dynamicbox_need_to_update function.
- * If the dynamicbox_need_to_update function returns 0,
- * The provider will call this.
- *
- * If you return 1, the provider will delete your box.
- */
- return 0;
-}
-
-PUBLIC char *dynamicbox_pinup(const char *id, int pinup)
-{
- struct info *item;
-
- item = find_item(id);
- if (!item) {
- return NULL;
- }
-
- return strdup(item->content);
-}
-
-PUBLIC int dynamicbox_is_pinned_up(const char *id)
-{
- struct info *item;
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- /**
- * @NOTE
- * If you can generate new content in this function,
- * Generate a new content.
- * and return DBOX_OUTPUT_UPDATED
- *
- * In case of you cannot create the updated image in this function directly,
- * return DBOX_NEED_TO_SCHEDULE
- * The provider will call your dynamicbox_need_to_update & dynamicbox_update_content function.
- *
- * I recommend that if you are able to generate new content in this function,
- * generate it directly. and just returns DBOX_OUTPUT_UPDATED
- *
- * Because if you return DBOX_NEED_TO_SCHEDULE, the provider will try to update your dynamicbox
- * But it can be interrupted by other events.
- * Then you dynamicbox content updating will be delayed
- */
- return DBOX_DONE;
-}
-
-PUBLIC int dynamicbox_system_event(const char *id, int type)
-{
- struct info *item;
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- if (type == DBOX_SYS_EVENT_FONT_CHANGED) {
- LOGD("Font is changed\n");
- } else if (type == DBOX_SYS_EVENT_LANG_CHANGED) {
- LOGD("Language is changed\n");
- } else if (type == DBOX_SYS_EVENT_TIME_CHANGED) {
- LOGD("Time is changed\n");
- } else if (type == DBOX_SYS_EVENT_REGION_CHANGED) {
- LOGD("Region is changed\n");
- } else if (type == DBOX_SYS_EVENT_PAUSED) {
- LOGD("Paused\n");
- // dynamicbox_release_scroller("com.samsung.w-add-viewer.dbox", id);
- } else if (type == DBOX_SYS_EVENT_RESUMED) {
- LOGD("Resumed [%s]\n", id);
- // dynamicbox_freeze_scroller("com.samsung.w-add-viewer.dbox", id);
- } else if (type == DBOX_SYS_EVENT_MMC_STATUS_CHANGED) {
- LOGD("MMC");
- } else {
- LOGD("Unknown");
- }
-
- /**
- * @NOTE
- * If you can generate new content in this function,
- * Generate a new content. and return DBOX_OUTPUT_UPDATED
- *
- * In case of you cannot create the updated image in this function directly,
- * return DBOX_NEED_TO_SCHEDULE
- * The provider will call your dynamicbox_need_to_update & dynamicbox_update_content function.
- *
- * I recommend that if you are able to generate new content in this function,
- * generate it directly. and just returns DBOX_OUTPUT_UPDATED
- *
- * Because if you return DBOX_NEED_TO_SCHEDULE, the provider will try to update your dynamicbox
- * But it can be interrupted by other events.
- * Then you dynamicbox content updating will be delayed
- *
- * DBOX_FORCE_TO_SCHEDULE - If you returns this, the provider will try to update your box
- * even though the box is paused you will get need_to_update & update_content function call.
- */
- return DBOX_DONE;
-}
-
-/* End of a file */
+++ /dev/null
-#include <Elementary.h>
-
-static void
-_transit_flip(Elm_Transit *trans)
-{
- elm_transit_effect_flip_add(trans, ELM_TRANSIT_EFFECT_FLIP_AXIS_X, EINA_TRUE);
-}
-
-static void
-_transit_blend(Elm_Transit *trans)
-{
- elm_transit_effect_blend_add(trans);
-}
-
-static void
-_transit_fade(Elm_Transit *trans)
-{
- elm_transit_effect_fade_add(trans);
-}
-
-static void
-_transit_resizable_flip(Elm_Transit *trans)
-{
- elm_transit_effect_resizable_flip_add(
- trans, ELM_TRANSIT_EFFECT_FLIP_AXIS_Y, EINA_TRUE);
-}
-
-static struct {
- const char *label;
- void (*transition_add_cb)(Elm_Transit *);
- Eina_Bool checked;
-} _transitions[] = {
- { "Flip", _transit_flip, EINA_FALSE },
- { "Blend", _transit_blend, EINA_FALSE },
- { "Fade", _transit_fade, EINA_FALSE },
- { "Resizable Flip", _transit_resizable_flip, EINA_FALSE },
- { NULL, NULL, EINA_FALSE }
-};
-
-static void
-_checkbox_transition_add(Evas_Object *box, const char *label, Eina_Bool *checked)
-{
- Evas_Object *check = elm_check_add(elm_object_parent_widget_get(box));
- evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(check, 0.0, 0.0);
- elm_object_text_set(check, label);
- elm_check_state_pointer_set(check, checked);
- elm_box_pack_end(box, check);
- evas_object_show(check);
-}
-
-static void
-_transit_start(void *data, Evas_Object *o, void *event_info)
-{
- Elm_Transit *trans = NULL;
- Eina_List *objs = data, *l;
- Evas_Object *obj;
- int i;
-
- trans = elm_transit_add();
- EINA_LIST_FOREACH(objs, l, obj) {
- elm_transit_object_add(trans, obj);
- }
-
- // FIXME: Should check if there's another transit going before starting a new
- // one
-
- for (i = 0; _transitions[i].label; i++)
- {
- if (_transitions[i].checked)
- _transitions[i].transition_add_cb(trans);
- }
-
- elm_transit_duration_set(trans, 2.0);
- elm_transit_go(trans);
-}
-
-int transit04_test(Evas_Object *win)
-{
- Evas_Object *bg, *obj, *icon, *box, *vbox, *btn, *dummy;
- Eina_List *objs = NULL;
- int i;
-
- /* add a scalable white background to this window */
- bg = elm_bg_add(win);
- elm_bg_color_set(bg, 255, 255, 255);
- evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_win_resize_object_add(win, bg);
- evas_object_show(bg);
-
- box = elm_box_add(win);
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_win_resize_object_add(win, box);
- evas_object_show(box);
-
- dummy = elm_bg_add(win);
- evas_object_size_hint_weight_set(dummy, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_box_pack_end(box, dummy);
- evas_object_show(dummy);
-
- /* add an object that we are going to play with */
- obj = elm_button_add(win);
- elm_object_text_set(obj, "Transformed object!");
- icon = elm_icon_add(win);
- elm_image_file_set(icon, RESDIR"/images/icon_07.png", NULL);
- elm_object_part_content_set(obj, "icon", icon);
- evas_object_move(obj, 160, 60);
- evas_object_resize(obj, 250, 100);
- evas_object_show(obj);
-
- objs = eina_list_append(objs, obj);
-
- /* add another object that we are going to play with */
- obj = elm_button_add(win);
- elm_object_text_set(obj, "Another object!");
- icon = elm_icon_add(win);
- elm_image_file_set(icon, RESDIR"/images/icon_08.png", NULL);
- elm_object_part_content_set(obj, "icon", icon);
- evas_object_move(obj, 160, 60);
- evas_object_resize(obj, 250, 100);
-
- objs = eina_list_append(objs, obj);
-
- btn = elm_button_add(win);
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_text_set(btn, "Transit!");
- elm_box_pack_end(box, btn);
- evas_object_show(btn);
-
- evas_object_smart_callback_add(btn, "clicked", _transit_start, objs);
-
- vbox = elm_box_add(win);
- evas_object_size_hint_weight_set(vbox, EVAS_HINT_EXPAND, EVAS_HINT_FILL);
- evas_object_size_hint_align_set(vbox, EVAS_HINT_FILL, 0.0);
-
- for (i = 0; _transitions[i].label; i++) {
- _checkbox_transition_add(vbox, _transitions[i].label, &_transitions[i].checked);
- }
-
- elm_box_pack_end(box, vbox);
- evas_object_show(vbox);
-
- evas_object_show(win);
- return 0;
-}
+++ /dev/null
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-PROJECT(com.samsung.w-add-viewer.dbox.video C)
-
-INCLUDE(FindPkgConfig)
-pkg_check_modules(com.samsung.w-add-viewer.video REQUIRED
- elementary
- dlog
- dynamicbox
- dynamicbox_service
- aul
- mm-player
- dynamicbox_provider
-)
-
-FOREACH (flag ${com.samsung.w-add-viewer.video_CFLAGS})
- SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-ENDFOREACH(flag)
-
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Winline -Werror -fno-builtin-malloc -fno-omit-frame-pointer -g")
-
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
-
-ADD_DEFINITIONS(${EXTRA_CFLAGS})
-ADD_DEFINITIONS("-DLOG_TAG=\"DBOX_VIDEO\"")
-
-ADD_LIBRARY(${PROJECT_NAME} SHARED
- src/main.c
- src/player.c
-)
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${com.samsung.w-add-viewer.video_LDFLAGS})
-
-INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIBEXECDIR})
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/data/Color.mp4 DESTINATION "/opt/usr/media/Videos")
+++ /dev/null
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-
-# install edj
-ADD_CUSTOM_TARGET(hello.edj
- COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/images ${EDJE_CFLAGS}
- ${CMAKE_CURRENT_SOURCE_DIR}/hello.edc hello.edj
- DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/hello.edc
-)
-ADD_DEPENDENCIES(${PROJECT_NAME} hello.edj)
-INSTALL(FILES hello.edj DESTINATION ${EDJDIR})
+++ /dev/null
-images {
- image: "unknown.png" COMP;
-}
-
-collections {
- group {
- name: "default";
- parts {
- part {
- name: "bg";
- type: RECT;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; }
- rel2 { relative: 1.0 1.0; }
- color: 255 255 255 255;
- }
- }
-
- part {
- name: "actor";
- type: IMAGE;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; }
- rel2 { relative: 1.0 1.0; }
- image { normal: "unknown.png"; }
- color: 255 255 255 255;
- map { on: 1; }
- }
- description {
- state: "rotate" 0.0;
- rel1 { relative: 0.0 0.0; }
- rel2 { relative: 1.0 1.0; }
- image { normal: "unknown.png"; }
- color: 255 255 255 255;
- map { on: 1; }
- }
- }
- }
-
- programs {
- program {
- }
- }
- }
-}
-
-/* End of a file */
+++ /dev/null
-/*
- * [live-data-provider]
- *
- * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact: Sangil Lee <sangil77.lee@samsung.com>, Seho Chang <seho.chang@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __LIVE_DATA_PROVIDER_LIVE_GEN_TEMPLATE_MAIN_H__
-#define __LIVE_DATA_PROVIDER_LIVE_GEN_TEMPLATE_MAIN_H__
-
-/*!
- * \note
- * Sync function must has not to use any callback
- */
-#define _SYNC_
-/*!
- * \note
- * Async function can use the callback but it has to be invoked in specified time "timeout"
- */
-#define _ASYNC_
-
-struct info {
- char *id;
- char *content;
- int size_type;
- dynamicbox_buffer_h dbox_buffer;
- char *filename;
-
- Ecore_Event_Handler *damage_handler;
- Ecore_X_Damage damage;
-
- MMHandleType player;
- enum play_state {
- PLAYER_CREATED = 0x0,
- PLAYER_PLAY = 0x01,
- PLAYER_STOP = 0x02,
- PLAYER_PAUSE = 0x03,
- PLAYER_DESTROYED = 0x04,
- } player_state;
-
- struct down {
- int x;
- int y;
- int pressed;
- } down;
-};
-
-
-/*!
- * \brief
- * \param[in] pkgname
- * \return int
- */
-_SYNC_ extern int dynamicbox_initialize(const char *pkgname);
-
-/*!
- * \brief
- * \return int
- */
-_SYNC_ extern int dynamicbox_finalize(void);
-
-/*!
- * \brief
- * \param[in] id
- * \param[in] content
- * \param[in] cluster
- * \param[in] category
- * \return int
- */
-_SYNC_ extern int dynamicbox_create(const char *id, const char *content, const char *cluster, const char *category);
-
-/*!
- * \brief
- * \param[in] id
- * \return int
- */
-_SYNC_ extern int dynamicbox_destroy(const char *id);
-
-/*!
- * \brief
- * \param[in] id
- * \return int
- */
-_SYNC_ extern int dynamicbox_need_to_update(const char *id);
-
-/*!
- * \brief
- * \param[in] id
- * \return int
- */
-_SYNC_ extern int dynamicbox_need_to_destroy(const char *id);
-
-/*!
- * \brief
- * \param[in] cluster
- * \param[in] category
- * \return int
- */
-_SYNC_ extern int dynamicbox_need_to_create(const char *cluster, const char *category);
-
-/*!
- * \brief
- * \param[in] id
- * \return int
- */
-_ASYNC_ extern int dynamicbox_update_content(const char *id);
-
-/*!
- * \brief
- * \param[in] id
- * \param[in] event "clicked" only
- * \param[in] timestamp
- * \param[in] x
- * \param[in] y
- * \return int
- */
-_SYNC_ extern int dynamicbox_clicked(const char *id, const char *event, double timestamp, double x, double y);
-
-/*!
- * \brief if "source" == "id", emission could be "gbar,show", "gbar,hide", "dbox,show", "dbox,hide".
- * \param[in] id
- * \param[in] emission
- * \param[in] source
- * \param[in] event_info
- * \return int
- */
-_SYNC_ extern int dynamicbox_content_event(const char *id, const char *emission, const char *source, dynamicbox_event_info_t event_info);
-
-/*!
- * \brief
- * \param[in] id
- * \param[in] width
- * \param[in] height
- * \return int
- */
-_SYNC_ extern int dynamicbox_resize(const char *id, int size_type);
-
-/*!
- * \brief
- * \param[in] id
- * \param[in] cluster
- * \param[in] category
- * \return int
- */
-_SYNC_ extern int dynamicbox_change_group(const char *id, const char *cluster, const char *category);
-
-/*!
- * \brief
- * \param[in] id
- * \param[out] w Width of the last content
- * \param[out] h Height of the last content
- * \param[out] priority Priority of the last content
- * \param[out] *content Content info of the last content which should be usable for dynamicbox_create(..., content_info, ...);
- * \param[out] *title Only for the [CA] dynamicbox. Describe a title for your sub cluster
- * \return int
- */
-_SYNC_ extern int dynamicbox_get_info(const char *id, int *w, int *h, double *priority, char **content, char **title);
-
-/*!
- * \brief
- * \param[in] id
- * \param[in] pinup
- * \return char * String which is allocated on a Heap space.
- */
-_SYNC_ extern char *dynamicbox_pinup(const char *id, int pinup);
-
-/*!
- * \brief
- * \param[in] id
- * \return int 1 is pinned up, 0 is not pinned up
- */
-_SYNC_ extern int dynamicbox_is_pinned_up(const char *id);
-#endif
-
-// End of a file
+++ /dev/null
-extern int dynamicbox_player_refresh(struct info *info);
-extern int dynamicbox_player_create(struct info *info);
-extern int dynamicbox_player_play(struct info *info);
-extern int dynamicbox_player_stop(struct info *info);
-extern int dynamicbox_player_destroy(struct info *info);
-extern int dynamicbox_player_state(struct info *info);
-extern int dynamicbox_player_updated(struct info *info);
-
-/* End of a file */
-
+++ /dev/null
-#include <Elementary.h>
-#include <errno.h>
-#include <string.h>
-
-#include <X11/Xlib.h>
-#include <Ecore.h>
-#include <Ecore_X.h>
-
-#include <dlog.h>
-#include <dynamicbox.h>
-#include <dynamicbox_service.h>
-#include <dynamicbox_errno.h>
-#include <dynamicbox_buffer.h>
-
-#include <dynamicbox_provider.h>
-#include <dynamicbox_provider_buffer.h>
-
-#include <aul.h>
-#include <mm_player.h>
-
-#include "main.h"
-#include "player.h"
-
-#define PUBLIC __attribute__((visibility("default")))
-
-static Eina_List *s_list;
-int errno;
-
-static inline struct info *find_info(const char *id)
-{
- Eina_List *l;
- struct info *info;
-
- EINA_LIST_FOREACH(s_list, l, info) {
- if (!strcmp(info->id, id)) {
- return info;
- }
- }
-
- return NULL;
-}
-
-PUBLIC int dynamicbox_initialize(const char *pkgname)
-{
- /**
- * @TODO
- * Do one-time initialize.
- * This will be called only once right before the first box is creating
- */
- return 0;
-}
-
-PUBLIC int dynamicbox_finalize(void)
-{
- /**
- * @TODO
- * Do one-time finalization.
- * This will be called only once right after the last box is destroyed
- */
- return 0;
-}
-
-// NOTE: This function is going to be invoked for initializing all resources
-PUBLIC int dynamicbox_create(const char *id, const char *content, const char *cluster, const char *category)
-{
- struct info *info;
-
- info = malloc(sizeof(*info));
- if (!info) {
- return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
- }
-
- info->id = strdup(id);
- if (!info->id) {
- free(info);
- return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
- }
-
- info->content = strdup(content);
- if (!info->content) {
- free(info->id);
- free(info);
- return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
- }
-
- info->filename = strdup("/opt/usr/media/Videos/Color.mp4");
-
- /**
- * @NOTE
- * cluster == 'user,created'
- * category == 'default'
- *
- * You don't need to care these two values if you don't know what are them
- */
-
- info->size_type = DBOX_SIZE_TYPE_UNKNOWN;
- info->player_state = PLAYER_DESTROYED;
- s_list = eina_list_append(s_list, info);
-
- /**
- * @NOTE
- * You can returns DBOX_OUTPUT_UPDATED or DBOX_NEED_TO_SCHEDULE or DBOX_DONE
- * You also can use them at same time using '|'
- *
- * If your content is updated, from this function, you have to
- * return DBOX_OUTPUT_UPDATED;
- *
- * If you want to the provider call your dynamicbox_update_content function ASAP
- * return DBOX_NEED_TO_SCHEDULE;
- *
- * If your content is updated and need to call the update_content function ASAP,
- * return DBOX_OUTPUT_UPDATED | DBOX_NEED_TO_SCHEDULE
- *
- * Don't have any changes, just
- * return DBOX_DONE
- */
-
- /**
- * @NOTE
- * You create the default output image from here now.
- * So you HAVE TO return DBOX_OUTPUT_UPDATED
- */
- return DBOX_DONE;
-}
-
-// NOTE: This function is going to be invoked for release all resources
-PUBLIC int dynamicbox_destroy(const char *id)
-{
- struct info *info;
- LOGD("[%s:%d]\n", __func__, __LINE__);
-
- info = find_info(id);
- if (!info) {
- /**
- * @NOTE
- * EXCEPTIONAL CASES
- */
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- s_list = eina_list_remove(s_list, info);
-
- /**
- * @NOTE: You have to clear all resource which are related with
- * current instance. If you didn't clear it correctly,
- * the live data provider will get suffer from the memory
- * pressure. therefore, keep trace on your resources.
- */
- free(info->filename);
- free(info->content);
- free(info->id);
- free(info);
- return 0;
-}
-
-PUBLIC int dynamicbox_need_to_update(const char *id)
-{
- struct info *info;
-
- LOGD("[%s:%d]\n", __func__, __LINE__);
-
- info = find_info(id);
- if (!info) {
- /* Hmm, there is no matched instance. */
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- /**
- * @TODO
- * Check the content,
- * If you found any changes in your content data,
- * return 1 or 0
- *
- * If you return 1, the provider will schedule to update your box ASAP.
- * Or the provider will skip to call dynamicbox_update_content function.
- *
- * this function can be called several times, before call the dynamicbox_update_content function.
- *
- * if your dynamicbox_update_content is not called, and you have content which need to be updated, you have to
- * keep return 1
- */
- return 1;
-}
-
-PUBLIC int dynamicbox_update_content(const char *id)
-{
- struct info *info;
-
- LOGD("[%s:%d]\n", __func__, __LINE__);
-
- info = find_info(id);
- if (!info) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- /**
- * @NOTE
- * This function have to generate a new content.
- * If you don't want to generate new content,
- * return negative values.
- * or you have to generate the new content. in timeout msec.
- */
- dynamicbox_player_updated(info);
- return DBOX_STATUS_ERROR_DISABLED;
-}
-
-PUBLIC int dynamicbox_clicked(const char *id, const char *event, double timestamp, double x, double y)
-{
- struct info *info;
- int ix;
- int iy;
- int w;
- int h;
-
- /**
- * @NOTE:
- * You will get this if a user press your image.
- * You can get the absolute coordinate using the given x,y.
- *
- * event: clicked
- */
- info = find_info(id);
- if (!info) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- (void)dynamicbox_service_get_size(info->size_type, &w, &h);
- ix = (int)((double)w * x);
- iy = (int)((double)h * y);
-
- LOGD("[%s:%d] event[%s] %lf %lf (%lf)\n", __func__, __LINE__, event, x, y, timestamp);
- LOGD("[%s:%d] on your image (%d, %d)\n", __func__, __LINE__, ix, iy);
-
- if (dynamicbox_player_state(info) == PLAYER_PLAY) {
- dynamicbox_player_stop(info);
- dynamicbox_player_destroy(info);
- } else {
- dynamicbox_player_create(info);
- dynamicbox_player_refresh(info);
- dynamicbox_player_play(info);
- }
-
- /**
- * @NOTE
- * If you can generate new content in this function,
- * Generate a new content.
- * and return DBOX_OUTPUT_UPDATED
- *
- * In case of you cannot create the updated image in this function directly,
- * return DBOX_NEED_TO_SCHEDULE
- * The provider will call your dynamicbox_need_to_update & dynamicbox_update_content function.
- *
- * I recommend that if you are able to generate new content in this function,
- * generate it directly. and just returns DBOX_OUTPUT_UPDATED
- *
- * Because if you return DBOX_NEED_TO_SCHEDULE, the provider will try to update your dynamicbox
- * But it can be interrupted by other events.
- * Then you dynamicbox content updating will be delayed
- */
- return DBOX_DONE; /* No chages */
-}
-
-PUBLIC int dynamicbox_content_event(const char *id, const char *emission, const char *source, dynamicbox_event_info_t event_info)
-{
- struct timeval tv;
- char buffer[BUFSIZ];
- struct info *info;
-
- LOGD("[%s:%d] Emission : %s, source: %s [%lf x %lf - %lf x %lf] (%lf x %lf - %d)\n",
- __func__, __LINE__,
- emission, source,
- event_info->part.sx, event_info->part.sy, event_info->part.ex, event_info->part.ey,
- event_info->pointer.x, event_info->pointer.y, event_info->pointer.down);
-
- info = find_info(id);
- if (!info) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- gettimeofday(&tv, NULL);
- snprintf(buffer, sizeof(buffer), "%lu.%lu", tv.tv_sec, tv.tv_usec);
-
- if (!strcmp(emission, "gbar,show") && !strcmp(source, id)) {
- /**
- * @NOTE
- * Glance Bar is opened
- */
- } else if (!strcmp(emission, "gbar,hide") && !strcmp(source, id)) {
- /**
- * @NOTE
- * Glance Bar is closed
- */
- }
-
- /**
- * @NOTE
- * If you can generate new content in this function,
- * Generate a new content.
- * and return DBOX_OUTPUT_UPDATED
- *
- * In case of you cannot create the updated image in this function directly,
- * return DBOX_NEED_TO_SCHEDULE
- * The provider will call your dynamicbox_need_to_update & dynamicbox_update_content function.
- *
- * I recommend that if you are able to generate new content in this function,
- * generate it directly. and just returns DBOX_OUTPUT_UPDATED
- *
- * Because if you return DBOX_NEED_TO_SCHEDULE, the provider will try to update your dynamicbox
- * But it can be interrupted by other events.
- * Then you dynamicbox content updating will be delayed
- */
- return DBOX_DONE; /* No changes */
-}
-
-static int event_handler(dynamicbox_buffer_h dbox_buffer, dynamicbox_buffer_event_data_t event_info, void *data)
-{
- switch (event_info->type) {
- case DBOX_BUFFER_EVENT_ENTER:
- break;
- case DBOX_BUFFER_EVENT_LEAVE:
- break;
- case DBOX_BUFFER_EVENT_DOWN:
- break;
- case DBOX_BUFFER_EVENT_MOVE:
- break;
- case DBOX_BUFFER_EVENT_UP:
- break;
- default:
- break;
- }
-
- return 0;
-}
-
-PUBLIC int dynamicbox_resize(const char *id, int type)
-{
- struct info *info;
- int w;
- int h;
- int ret;
-
- info = find_info(id);
- if (!info) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- /**
- * @TODO
- * Check the size type, which is supporting by your box.
- * If the invalid size is requested, you should returns DBOX_STATUS_ERROR_INVALID
- */
- ret = dynamicbox_service_get_size(type, &w, &h);
- if (ret != DBOX_STATUS_ERROR_NONE) {
- LOGE("Unsupported size\n");
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
- }
-
- if (info->size_type == DBOX_SIZE_TYPE_UNKNOWN) {
- char *uri;
- int len;
-
- len = strlen(id) + strlen("file://") + 2;
-
- uri = malloc(len + 1);
- if (!uri) {
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
- }
- snprintf(uri, len, "file://%s", id);
-
- info->dbox_buffer = dynamicbox_provider_buffer_create(DBOX_TYPE_DBOX, "com.samsung.w-add-viewer.video", uri, 1, event_handler, info);
- free(uri);
- if (!info->dbox_buffer) {
- LOGE("Failed to create a LB Buffer\n");
- return DBOX_STATUS_ERROR_FAULT;
- }
- } else {
- dynamicbox_provider_buffer_release(info->dbox_buffer);
- }
-
- info->size_type = type;
-
- dynamicbox_provider_buffer_acquire(info->dbox_buffer, w, h, 3);
-
- if (dynamicbox_player_state(info) == PLAYER_PLAY) {
- dynamicbox_player_refresh(info);
- }
-
- LOGD("%s is resized to %dx%d\n", id, w, h);
-
- /*!
- * \NOTE
- * If you can generate new content in this function,
- * Generate a new content.
- * and return DBOX_OUTPUT_UPDATED
- *
- * In case of you cannot create the updated image in this function directly,
- * return DBOX_NEED_TO_SCHEDULE
- * The provider will call your dynamicbox_need_to_update & dynamicbox_update_content function.
- *
- * I recommend that if you are able to generate new content in this function,
- * generate it directly. and just returns DBOX_OUTPUT_UPDATED
- *
- * Because if you return DBOX_NEED_TO_SCHEDULE, the provider will try to update your dynamicbox
- * But it can be interrupted by other events.
- * Then you dynamicbox content updating will be delayed
- */
- return DBOX_NEED_TO_SCHEDULE;
-}
-
-PUBLIC int dynamicbox_need_to_create(const char *cluster, const char *category)
-{
- /*!
- * \NOTE
- * You don't need implement this, if don't know what this is.
- * return 0 or 1
- */
- return 0;
-}
-
-PUBLIC int dynamicbox_change_group(const char *id, const char *cluster, const char *category)
-{
- struct info *info;
-
- info = find_info(id);
- if (!info) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- /*!
- * \NOTE
- * If you can generate new content in this function,
- * Generate a new content.
- * and return DBOX_OUTPUT_UPDATED
- *
- * In case of you cannot create the updated image in this function directly,
- * return DBOX_NEED_TO_SCHEDULE
- * The provider will call your dynamicbox_need_to_update & dynamicbox_update_content function.
- *
- * I recommend that if you are able to generate new content in this function,
- * generate it directly. and just returns DBOX_OUTPUT_UPDATED
- *
- * Because if you return DBOX_NEED_TO_SCHEDULE, the provider will try to update your dynamicbox
- * But it can be interrupted by other events.
- * Then you dynamicbox content updating will be delayed
- */
- return DBOX_DONE;
-}
-
-PUBLIC int dynamicbox_need_to_destroy(const char *id)
-{
- /*!
- * \NOTE
- * You don't need implement this, if don't know what this is.
- * This will be called after call the dynamicbox_need_to_update function.
- * If the dynamicbox_need_to_update function returns 0,
- * The provider will call this.
- *
- * If you return 1, the provider will delete your box.
- */
- return 0;
-}
-
-PUBLIC char *dynamicbox_pinup(const char *id, int pinup)
-{
- struct info *info;
-
- info = find_info(id);
- if (!info) {
- return NULL;
- }
-
- return strdup(info->content);
-}
-
-PUBLIC int dynamicbox_is_pinned_up(const char *id)
-{
- struct info *info;
-
- info = find_info(id);
- if (!info) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- /*!
- * \NOTE
- * If you can generate new content in this function,
- * Generate a new content.
- * and return DBOX_OUTPUT_UPDATED
- *
- * In case of you cannot create the updated image in this function directly,
- * return DBOX_NEED_TO_SCHEDULE
- * The provider will call your dynamicbox_need_to_update & dynamicbox_update_content function.
- *
- * I recommend that if you are able to generate new content in this function,
- * generate it directly. and just returns DBOX_OUTPUT_UPDATED
- *
- * Because if you return DBOX_NEED_TO_SCHEDULE, the provider will try to update your dynamicbox
- * But it can be interrupted by other events.
- * Then you dynamicbox content updating will be delayed
- */
- return DBOX_DONE;
-}
-
-PUBLIC int dynamicbox_system_event(const char *id, int type)
-{
- struct info *info;
-
- info = find_info(id);
- if (!info) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- if (type == DBOX_SYS_EVENT_FONT_CHANGED) {
- LOGD("Font is changed\n");
- } else if (type == DBOX_SYS_EVENT_LANG_CHANGED) {
- LOGD("Language is changed\n");
- } else if (type == DBOX_SYS_EVENT_TIME_CHANGED) {
- LOGD("Time is changed\n");
- } else if (type == DBOX_SYS_EVENT_REGION_CHANGED) {
- LOGD("Region is changed\n");
- } else if (type == DBOX_SYS_EVENT_PAUSED) {
- LOGD("Paused\n");
- //dynamicbox_player_stop(info);
- } else if (type == DBOX_SYS_EVENT_RESUMED) {
- LOGD("Resumed [%s]\n", id);
- //dynamicbox_player_play(info);
- } else if (type == DBOX_SYS_EVENT_MMC_STATUS_CHANGED) {
- LOGD("MMC");
- } else {
- LOGD("Unknown");
- }
-
- /**
- * @NOTE
- * If you can generate new content in this function,
- * Generate a new content. and return DBOX_OUTPUT_UPDATED
- *
- * In case of you cannot create the updated image in this function directly,
- * return DBOX_NEED_TO_SCHEDULE
- * The provider will call your dynamicbox_need_to_update & dynamicbox_update_content function.
- *
- * I recommend that if you are able to generate new content in this function,
- * generate it directly. and just returns DBOX_OUTPUT_UPDATED
- *
- * Because if you return DBOX_NEED_TO_SCHEDULE, the provider will try to update your dynamicbox
- * But it can be interrupted by other events.
- * Then you dynamicbox content updating will be delayed
- *
- * FORCE_TO_SCHEDULE - If you returns this, the provider will try to update your box
- * even though the box is paused you will get need_to_update & update_content function call.
- */
- return DBOX_DONE;
-}
-
-/* End of a file */
+++ /dev/null
-#include <Elementary.h>
-#include <errno.h>
-#include <string.h>
-
-#include <X11/Xlib.h>
-#include <Ecore.h>
-#include <Ecore_X.h>
-
-#include <dynamicbox_provider.h>
-#include <dynamicbox_provider_buffer.h>
-
-#include <dlog.h>
-#include <dynamicbox.h>
-#include <dynamicbox_service.h>
-#include <dynamicbox_errno.h>
-#include <dynamicbox_buffer.h>
-
-#include <aul.h>
-#include <mm_player.h>
-#include <mm_message.h>
-#include <mm_error.h>
-#include <mm_types.h>
-
-#include "main.h"
-#include "player.h"
-
-int errno;
-
-int dynamicbox_player_updated(struct info *info)
-{
- int ret;
- char *uri;
- int len;
- dynamicbox_damage_region_t region = {
- .x = 0,
- .y = 0,
- };
-
- if (dynamicbox_service_get_size(info->size_type, ®ion.w, ®ion.h) < 0) {
- LOGE("Failed to get size\n");
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
- }
-
- len = strlen(info->id) + strlen("file://") + 2;
-
- uri = malloc(len + 1);
- if (!uri) {
- LOGE("Heap: %s\n", strerror(errno));
- return ECORE_CALLBACK_PASS_ON;
- }
- snprintf(uri, len, "file://%s", info->id);
-
- ret = dynamicbox_provider_send_updated("com.samsung.w-add-viewer.video", uri, DBOX_PRIMARY_BUFFER, ®ion, 0, NULL);
- free(uri);
-
- LOGD("============== %s\n", info->id);
- return ret;
-}
-
-static int mm_message_handler_cb(int message, void *param, void *user_param)
-{
- struct info *info = user_param;
- switch (message) {
- case MM_MESSAGE_END_OF_STREAM:
- dynamicbox_player_stop(info);
- break;
- default:
- return FALSE;
- }
-
- return TRUE;
-}
-
-void clear(unsigned int pixmap, int w, int h)
-{
- static unsigned int s_color = 0x00FF0000;
- Display *disp;
- GC gc;
-
- disp = (Display *)ecore_x_display_get();
- gc = XCreateGC(disp, pixmap, 0, 0);
- XSetForeground(disp, gc, 0xFF000000 | s_color);
- XFillRectangle(disp, pixmap, gc, 0, 0, w, h);
- XSync(disp, FALSE);
- XFreeGC(disp, gc);
-
- s_color >>= 2;
- if (s_color == 0) {
- s_color = 0xFF000000;
- }
-}
-
-int dynamicbox_player_refresh(struct info *info)
-{
- unsigned int pixmap;
- char *err = NULL;
- int w;
- int h;
-
- if (dynamicbox_service_get_size(info->size_type, &w, &h) < 0) {
- LOGE("Failed to get size\n");
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
- }
-
- pixmap = dynamicbox_provider_buffer_resource_id(info->dbox_buffer);
- if (pixmap == 0) {
- LOGE("Failed to get correct pixmap\n");
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
- }
-
- if (info->damage) {
- ecore_x_damage_free(info->damage);
- }
-
- info->damage = ecore_x_damage_new(pixmap, ECORE_X_DAMAGE_REPORT_RAW_RECTANGLES);
- if (!info->damage) {
- LOGE("Failed to create a damage handler\n");
- return DBOX_STATUS_ERROR_FAULT;
- }
-
- clear(pixmap, w, h);
-
- if (access(info->filename, F_OK) != 0) {
- LOGE("Failed to access a file: %s\n", strerror(errno));
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
- }
-
- LOGD("Pixmap: %x (%dx%d)\n", pixmap, w, h);
-
- mm_player_set_attribute(info->player, &err,
- "display_surface_type", MM_DISPLAY_SURFACE_X,
- "display_width", w,
- "display_height", h,
- "display_overlay", &pixmap, sizeof(pixmap),
- "profile_uri", info->filename, strlen(info->filename),
- "display_rotation", MM_DISPLAY_ROTATION_NONE,
- "profile_play_count", 1,
- NULL);
- if (err) {
- // Error
- LOGE("ERROR: %s\n", err);
- }
-
- return DBOX_STATUS_ERROR_NONE;
-}
-
-static inline Eina_Bool damage_cb(void *data, int type, void *event)
-{
- struct info *info = data;
- Ecore_X_Event_Damage *e = (Ecore_X_Event_Damage *)event;
-
- if (e->drawable == dynamicbox_provider_buffer_resource_id(info->dbox_buffer)) {
- // For the ugly mm-player
- static struct timeval stv;
- static int first = 0;
- struct timeval etv;
- struct timeval rtv;
-
- if (first == 0) {
- gettimeofday(&stv, NULL);
- first = 1;
- } else {
- gettimeofday(&etv, NULL);
- timersub(&etv, &stv, &rtv);
- gettimeofday(&stv, NULL);
-
- if (rtv.tv_usec > 20000) {
- dynamicbox_player_updated(info);
- }
- }
- }
-
- ecore_x_damage_subtract(e->damage, None, None);
- return ECORE_CALLBACK_PASS_ON;
-}
-
-int dynamicbox_player_create(struct info *info)
-{
- if (info->player_state != PLAYER_DESTROYED) {
- return DBOX_STATUS_ERROR_NONE;
- }
-
- if (mm_player_create(&info->player) != MM_ERROR_NONE) {
- LOGE("Failed to create mm player\n");
- return DBOX_STATUS_ERROR_FAULT;
- }
-
- mm_player_set_message_callback(info->player, mm_message_handler_cb, info);
- info->player_state = PLAYER_CREATED;
-
- info->damage_handler = ecore_event_handler_add(ECORE_X_EVENT_DAMAGE_NOTIFY, damage_cb, info);
- if (!info->damage_handler) {
- LOGE("Failed to add damage notifier\n");
- mm_player_destroy(info->player);
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
- }
-
- return DBOX_STATUS_ERROR_NONE;
-}
-
-int dynamicbox_player_play(struct info *info)
-{
- if (info->player_state == PLAYER_PLAY) {
- return DBOX_STATUS_ERROR_NONE;
- }
-
- if (mm_player_realize(info->player) != MM_ERROR_NONE) {
- LOGE("Failed to realize a player\n");
- return DBOX_STATUS_ERROR_FAULT;
- }
-
- mm_player_start(info->player);
- info->player_state = PLAYER_PLAY;
- return DBOX_STATUS_ERROR_NONE;
-}
-
-int dynamicbox_player_stop(struct info *info)
-{
- if (!info->player || info->player_state != PLAYER_PLAY) {
- return DBOX_STATUS_ERROR_NONE;
- }
-
- mm_player_stop(info->player);
- mm_player_unrealize(info->player);
- info->player_state = PLAYER_STOP;
-
- return DBOX_STATUS_ERROR_NONE;
-}
-
-int dynamicbox_player_destroy(struct info *info)
-{
- dynamicbox_player_stop(info);
-
- if (info->damage_handler) {
- ecore_event_handler_del(info->damage_handler);
- info->damage_handler = NULL;
- }
-
- if (info->player) {
- mm_player_destroy(info->player);
- info->player = 0;
- }
-
- info->player_state = PLAYER_DESTROYED;
- return DBOX_STATUS_ERROR_NONE;
-}
-
-int dynamicbox_player_state(struct info *info)
-{
- return info->player_state;
-}
-
-/* End of a file */
+++ /dev/null
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-PROJECT(com.samsung.w-add-viewer.dbox C)
-
-INCLUDE(FindPkgConfig)
-pkg_check_modules(com.samsung.w-add-viewer.dbox REQUIRED
- elementary
- dlog
- dynamicbox
- dynamicbox_service
- aul
-)
-
-FOREACH (flag ${com.samsung.w-add-viewer.dbox_CFLAGS})
- SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-ENDFOREACH(flag)
-
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Winline -Werror -fno-builtin-malloc -fno-omit-frame-pointer -g")
-
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
-
-ADD_DEFINITIONS(${EXTRA_CFLAGS})
-ADD_DEFINITIONS("-DLOG_TAG=\"DBOX_WIN\"")
-
-ADD_LIBRARY(${PROJECT_NAME} SHARED
- src/main.c
-)
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${com.samsung.w-add-viewer.dbox_LDFLAGS})
-
-INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIBEXECDIR})
-
-ADD_SUBDIRECTORY(data)
-#ADD_SUBDIRECTORY(res)
+++ /dev/null
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-
-# install edj
-ADD_CUSTOM_TARGET(hello.edj
- COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/images ${EDJE_CFLAGS}
- ${CMAKE_CURRENT_SOURCE_DIR}/hello.edc hello.edj
- DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/hello.edc
-)
-ADD_DEPENDENCIES(${PROJECT_NAME} hello.edj)
-INSTALL(FILES hello.edj DESTINATION ${EDJDIR})
+++ /dev/null
-images {
- image: "unknown.png" COMP;
-}
-
-collections {
- group {
- name: "default";
- parts {
- part {
- name: "bg";
- type: RECT;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; }
- rel2 { relative: 1.0 1.0; }
- color: 255 255 255 255;
- }
- }
-
- part {
- name: "actor";
- type: IMAGE;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; }
- rel2 { relative: 1.0 1.0; }
- image { normal: "unknown.png"; }
- color: 255 255 255 255;
- map { on: 1; }
- }
- description {
- state: "rotate" 0.0;
- rel1 { relative: 0.0 0.0; }
- rel2 { relative: 1.0 1.0; }
- image { normal: "unknown.png"; }
- color: 255 255 255 255;
- map { on: 1; }
- }
- }
- }
-
- programs {
- program {
- }
- }
- }
-}
-
-/* End of a file */
+++ /dev/null
-/*
- * [live-data-provider]
- *
- * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact: Sangil Lee <sangil77.lee@samsung.com>, Seho Chang <seho.chang@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __LIVE_DATA_PROVIDER_LIVE_GEN_TEMPLATE_MAIN_H__
-#define __LIVE_DATA_PROVIDER_LIVE_GEN_TEMPLATE_MAIN_H__
-
-/**
- * @note
- * Sync function must has not to use any callback
- */
-#define _SYNC_
-/**
- * @note
- * Async function can use the callback but it has to be invoked in specified time "timeout"
- */
-#define _ASYNC_
-
-/**
- * @brief
- * @param[in] pkgname
- * @return int
- */
-_SYNC_ extern int dynamicbox_initialize(const char *pkgname);
-
-/**
- * @brief
- * @return int
- */
-_SYNC_ extern int dynamicbox_finalize(void);
-
-/**
- * @brief
- * @param[in] filename
- * @param[in] content
- * @param[in] cluster
- * @param[in] category
- * @return int
- */
-_SYNC_ extern int dynamicbox_create(const char *filename, const char *content, const char *cluster, const char *category);
-
-/**
- * @brief
- * @param[in] filename
- * @return int
- */
-_SYNC_ extern int dynamicbox_destroy(const char *filename);
-
-/**
- * @brief
- * @param[in] filename
- * @return int
- */
-_SYNC_ extern int dynamicbox_need_to_update(const char *filename);
-
-/**
- * @brief
- * @param[in] filename
- * @return int
- */
-_SYNC_ extern int dynamicbox_need_to_destroy(const char *filename);
-
-/**
- * @brief
- * @param[in] cluster
- * @param[in] category
- * @return int
- */
-_SYNC_ extern int dynamicbox_need_to_create(const char *cluster, const char *category);
-
-/**
- * @brief
- * @param[in] filename
- * @return int
- */
-_ASYNC_ extern int dynamicbox_update_content(const char *filename);
-
-/**
- * @brief
- * @param[in] filename
- * @param[in] event "clicked" only
- * @param[in] timestamp
- * @param[in] x
- * @param[in] y
- * @return int
- */
-_SYNC_ extern int dynamicbox_clicked(const char *filename, const char *event, double timestamp, double x, double y);
-
-/**
- * @brief if "source" == "filename", emission could be "gbar,show", "gbar,hide", "dbox,show", "dbox,hide".
- * @param[in] filename
- * @param[in] emission
- * @param[in] source
- * @param[in] event_info
- * @return int
- */
-_SYNC_ extern int dynamicbox_content_event(const char *filename, const char *emission, const char *source, dynamicbox_event_info_t event_info);
-
-/**
- * @brief
- * @param[in] filename
- * @param[in] width
- * @param[in] height
- * @return int
- */
-_SYNC_ extern int dynamicbox_resize(const char *filename, int size_type);
-
-/**
- * @brief
- * @param[in] filename
- * @param[in] cluster
- * @param[in] category
- * @return int
- */
-_SYNC_ extern int dynamicbox_change_group(const char *filename, const char *cluster, const char *category);
-
-/**
- * @brief
- * @param[in] filename
- * @param[out] w Width of the last content
- * @param[out] h Height of the last content
- * @param[out] priority Priority of the last content
- * @param[out] *content Content info of the last content which should be usable for dynamicbox_create(..., content_info, ...);
- * @param[out] *title Only for the [CA] dynamicbox. Describe a title for your sub cluster
- * @return int
- */
-_SYNC_ extern int dynamicbox_get_info(const char *filename, int *w, int *h, double *priority, char **content, char **title);
-
-/**
- * @brief
- * @param[in] filename
- * @param[in] pinup
- * @return char * String which is allocated on a Heap space.
- */
-_SYNC_ extern char *dynamicbox_pinup(const char *filename, int pinup);
-
-/**
- * @brief
- * @param[in] filename
- * @return int 1 is pinned up, 0 is not pinned up
- */
-_SYNC_ extern int dynamicbox_is_pinned_up(const char *filename);
-#endif
-
-// End of a file
+++ /dev/null
-/*
- * [live-data-provider]
- *
- * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact: Sangil Lee <sangil77.lee@samsung.com>, Seho Chang <seho.chang@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 __LIVE_DATA_PROVIDER_LIVE_GEN_TEMPLATE_VIRTUAL_CANVAS_H__
-#define __LIVE_DATA_PROVIDER_LIVE_GEN_TEMPLATE_VIRTUAL_CANVAS_H__
-
-extern int flush_to_file(Evas *e, const char *filename, int w, int h);
-extern int flush_data_to_file(Evas *e, char *data, const char *filename, int w, int h);
-
-extern Evas *create_virtual_canvas(int w, int h);
-extern int destroy_virtual_canvas(Evas *e);
-extern void get_screen_geometry(int *w, int *h);
-
-#endif
-
-// End of a file
+++ /dev/null
-#include <Elementary.h>
-#include <errno.h>
-#include <string.h>
-
-#include <dlog.h>
-#include <dynamicbox.h>
-#include <dynamicbox_service.h>
-#include <dynamicbox_errno.h>
-
-#include <aul.h>
-
-#include "main.h"
-
-#define PUBLIC __attribute__((visibility("default")))
-
-static Eina_List *s_list;
-int errno;
-
-struct info {
- char *id;
- char *content;
- int size_type;
- Evas_Object *dbox_win;
- enum edge {
- LEFT,
- RIGHT,
- MIDDLE,
- } edge;
- struct down {
- int x;
- int y;
- int pressed;
- } down;
-};
-
-static inline struct info *find_item(const char *id)
-{
- Eina_List *l;
- struct info *item;
-
- EINA_LIST_FOREACH(s_list, l, item) {
- if (!strcmp(item->id, id)) {
- return item;
- }
- }
-
- return NULL;
-}
-
-PUBLIC int dynamicbox_initialize(const char *pkgname)
-{
- /**
- * @TODO
- * Do one-time initialize.
- * This will be called only once right before the first box is creating
- */
- return 0;
-}
-
-PUBLIC int dynamicbox_finalize(void)
-{
- /**
- * @TODO
- * Do one-time finalization.
- * This will be called only once right after the last box is destroyed
- */
- return 0;
-}
-
-// NOTE: This function is going to be invoked for initializing all resources
-PUBLIC int dynamicbox_create(const char *id, const char *content, const char *cluster, const char *category)
-{
- struct info *info;
-
- info = malloc(sizeof(*info));
- if (!info) {
- return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
- }
-
- info->id = strdup(id);
- if (!info->id) {
- free(info);
- return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
- }
-
- info->content = strdup(content);
- if (!info->content) {
- free(info->id);
- free(info);
- return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
- }
-
- /**
- * @NOTE
- * cluster == 'user,created'
- * category == 'default'
- *
- * You don't need to care these two values if you don't know what are them
- */
-
- info->size_type = DBOX_SIZE_TYPE_UNKNOWN;
- s_list = eina_list_append(s_list, info);
-
- /**
- * @NOTE
- * You can returns DBOX_OUTPUT_UPDATED or DBOX_NEED_TO_SCHEDULE or DBOX_DONE
- * You also can use them at same time using '|'
- *
- * If your content is updated, from this function, you have to
- * return DBOX_OUTPUT_UPDATED;
- *
- * If you want to the provider call your dynamicbox_update_content function ASAP
- * return DBOX_NEED_TO_SCHEDULE;
- *
- * If your content is updated and need to call the update_content function ASAP,
- * return DBOX_OUTPUT_UPDATED | DBOX_NEED_TO_SCHEDULE
- *
- * Don't have any changes, just
- * return DBOX_DONE
- */
-
- /**
- * @NOTE
- * You create the default output image from here now.
- * So you HAVE TO return DBOX_OUTPUT_UPDATED
- */
- return DBOX_DONE;
-}
-
-// NOTE: This function is going to be invoked for release all resources
-PUBLIC int dynamicbox_destroy(const char *id)
-{
- struct info *item;
- LOGD("[%s:%d]\n", __func__, __LINE__);
-
- item = find_item(id);
- if (!item) {
- /**
- * @NOTE
- * EXCEPTIONAL CASES
- */
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- s_list = eina_list_remove(s_list, item);
-
- /**
- * @NOTE: You have to clear all resource which are related with
- * current instance. If you didn't clear it correctly,
- * the live data provider will get suffer from the memory
- * pressure. therefore, keep trace on your resources.
- */
- if (item->dbox_win) {
- evas_object_del(item->dbox_win);
- }
- free(item->content);
- free(item->id);
- free(item);
- return 0;
-}
-
-PUBLIC int dynamicbox_need_to_update(const char *id)
-{
- struct info *item;
-
- LOGD("[%s:%d]\n", __func__, __LINE__);
-
- item = find_item(id);
- if (!item) {
- /* Hmm, there is no matched instance. */
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- /*!
- * \TODO
- * Check the content,
- * If you found any changes in your content data,
- * return 1 or 0
- *
- * If you return 1, the provider will schedule to update your box ASAP.
- * Or the provider will skip to call dynamicbox_update_content function.
- *
- * this function can be called several times, before call the dynamicbox_update_content function.
- *
- * if your dynamicbox_update_content is not called, and you have content which need to be updated, you have to
- * keep return 1
- */
- return 1;
-}
-
-PUBLIC int dynamicbox_update_content(const char *id)
-{
- struct info *item;
-
- LOGD("[%s:%d]\n", __func__, __LINE__);
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- /**
- * @NOTE
- * This function have to generate a new content.
- * If you don't want to generate new content,
- * return negative values.
- * or you have to generate the new content. in timeout msec.
- */
- return DBOX_STATUS_ERROR_DISABLED;
-}
-
-PUBLIC int dynamicbox_clicked(const char *id, const char *event, double timestamp, double x, double y)
-{
- struct info *item;
- int ix;
- int iy;
- int w;
- int h;
-
- /**
- * @NOTE:
- * You will get this if a user press your image.
- * You can get the absolute coordinate using the given x,y.
- *
- * event: clicked
- */
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- (void)dynamicbox_service_get_size(item->size_type, &w, &h);
- ix = (int)((double)w * x);
- iy = (int)((double)h * y);
-
- LOGD("[%s:%d] event[%s] %lf %lf (%lf)\n", __func__, __LINE__, event, x, y, timestamp);
- LOGD("[%s:%d] on your image (%d, %d)\n", __func__, __LINE__, ix, iy);
-
- /**
- * @NOTE
- * If you can generate new content in this function,
- * Generate a new content.
- * and return DBOX_OUTPUT_UPDATED
- *
- * In case of you cannot create the updated image in this function directly,
- * return DBOX_NEED_TO_SCHEDULE
- * The provider will call your dynamicbox_need_to_update & dynamicbox_update_content function.
- *
- * I recommend that if you are able to generate new content in this function,
- * generate it directly. and just returns DBOX_OUTPUT_UPDATED
- *
- * Because if you return DBOX_NEED_TO_SCHEDULE, the provider will try to update your dynamicbox
- * But it can be interrupted by other events.
- * Then you dynamicbox content updating will be delayed
- */
- return DBOX_DONE; /* No chages */
-}
-
-PUBLIC int dynamicbox_content_event(const char *id, const char *emission, const char *source, dynamicbox_event_info_t event_info)
-{
- struct timeval tv;
- char buffer[BUFSIZ];
- struct info *item;
-
- LOGD("[%s:%d] Emission : %s, source: %s [%lf x %lf - %lf x %lf] (%lf x %lf - %d)\n",
- __func__, __LINE__,
- emission, source,
- event_info->part.sx, event_info->part.sy, event_info->part.ex, event_info->part.ey,
- event_info->pointer.x, event_info->pointer.y, event_info->pointer.down);
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- gettimeofday(&tv, NULL);
- snprintf(buffer, sizeof(buffer), "%lu.%lu", tv.tv_sec, tv.tv_usec);
-
- if (!strcmp(emission, "gbar,show") && !strcmp(source, id)) {
- /**
- * @NOTE
- * Glance Bar is opened
- */
- } else if (!strcmp(emission, "gbar,hide") && !strcmp(source, id)) {
- /**
- * @NOTE
- * Glance Bar is closed
- */
- }
-
- /**
- * @NOTE
- * If you can generate new content in this function,
- * Generate a new content.
- * and return DBOX_OUTPUT_UPDATED
- *
- * In case of you cannot create the updated image in this function directly,
- * return DBOX_NEED_TO_SCHEDULE
- * The provider will call your dynamicbox_need_to_update & dynamicbox_update_content function.
- *
- * I recommend that if you are able to generate new content in this function,
- * generate it directly. and just returns DBOX_OUTPUT_UPDATED
- *
- * Because if you return DBOX_NEED_TO_SCHEDULE, the provider will try to update your dynamicbox
- * But it can be interrupted by other events.
- * Then you dynamicbox content updating will be delayed
- */
- return DBOX_DONE; /* No changes */
-}
-
-static void edge_left_cb(void *data, Evas_Object *obj, void *info)
-{
- struct info *item = data;
- LOGD("=========== LEFT\n");
- item->edge = LEFT;
-}
-
-static void scroll_cb(void *data, Evas_Object *obj, void *info)
-{
- struct info *item = data;
- LOGD("=========== MIDDLE\n");
- item->edge = MIDDLE;
-}
-
-static void edge_right_cb(void *data, Evas_Object *obj, void *info)
-{
- struct info *item = data;
- LOGD("=========== RIGHT\n");
- item->edge = RIGHT;
-}
-
-static void scroll_up_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- struct info *item = data;
- item->down.pressed = 0;
-}
-
-static void scroll_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- struct info *item = data;
- Evas_Event_Mouse_Down *down = event_info;
-
- item->down.x = down->canvas.x;
- item->down.y = down->canvas.y;
- item->down.pressed = 1;
-}
-
-static void scroll_move_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- struct info *item = data;
- Evas_Event_Mouse_Move *move = event_info;
-
- if (!item->down.pressed) {
- return;
- }
-
- LOGD("%d %d\n", move->cur.canvas.x, item->down.x);
- if (move->cur.canvas.x > item->down.x) {
- if (item->edge == LEFT) {
- LOGD("=========== RELEASE\n");
- dynamicbox_thaw_scroller("com.samsung.w-add-viewer.dbox", item->id);
- }
- } else {
- if (item->edge == RIGHT) {
- LOGD("=========== RELEASE\n");
- dynamicbox_thaw_scroller("com.samsung.w-add-viewer.dbox", item->id);
- }
- }
-}
-
-PUBLIC int dynamicbox_resize(const char *id, int type)
-{
- struct info *item;
- int w;
- int h;
- int ret;
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- /*!
- * \TODO
- * Check the size type, which is supporting by your box.
- * If the invalid size is requested, you should returns DBOX_STATUS_ERROR_INVALID_PARAMETER
- */
- ret = dynamicbox_service_get_size(type, &w, &h);
- if (ret != DBOX_STATUS_ERROR_NONE) {
- LOGE("Unsupported size\n");
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
- }
-
- if (item->size_type == DBOX_SIZE_TYPE_UNKNOWN) {
- Evas_Object *dbox_parent;
- Evas_Object *scroller;
- Evas_Object *box;
- Evas_Object *rect;
- int i;
-
- dbox_parent = dynamicbox_get_evas_object(id, 0);
- if (!dbox_parent) {
- LOGE("Failed to get an evas object\n");
- return DBOX_STATUS_ERROR_FAULT;
- }
-
- item->dbox_win = elm_win_add(dbox_parent, "DBox Window", ELM_WIN_DYNAMIC_BOX);
- evas_object_del(dbox_parent);
- if (!item->dbox_win) {
- return DBOX_STATUS_ERROR_FAULT;
- }
-
- evas_object_resize(item->dbox_win, w, h);
- evas_object_show(item->dbox_win);
-
- scroller = elm_scroller_add(item->dbox_win);
- if (!scroller) {
- evas_object_del(item->dbox_win);
- item->dbox_win = NULL;
- return DBOX_STATUS_ERROR_FAULT;
- }
-
- evas_object_size_hint_weight_set(scroller, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_fill_set(scroller, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_resize(scroller, w, h);
- evas_object_show(scroller);
-
- box = elm_box_add(scroller);
- elm_object_content_set(scroller, box);
-
- for (i = 0; i < 5; i++) {
- rect = evas_object_rectangle_add(evas_object_evas_get(item->dbox_win));
- if (!rect) {
- continue;
- }
- evas_object_resize(rect, w, h);
- evas_object_color_set(rect, rand() % 255, rand() % 255, rand() % 255, 255);
- evas_object_size_hint_min_set(rect, w, h);
- evas_object_show(rect);
- elm_box_pack_end(box, rect);
- }
- evas_object_resize(box, w, h);
- evas_object_show(box);
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_fill_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_box_horizontal_set(box, EINA_FALSE);
-
- elm_scroller_page_size_set(scroller, w, h);
- elm_object_scroll_lock_y_set(scroller, EINA_FALSE);
- LOGD("Window & Scroller is created\n");
-
- evas_object_smart_callback_add(scroller, "edge,left", edge_left_cb, item);
- evas_object_smart_callback_add(scroller, "edge,right", edge_right_cb, item);
- evas_object_smart_callback_add(scroller, "scroll", scroll_cb, item);
-
- evas_object_event_callback_add(scroller, EVAS_CALLBACK_MOUSE_DOWN, scroll_down_cb, item);
- evas_object_event_callback_add(scroller, EVAS_CALLBACK_MOUSE_UP, scroll_up_cb, item);
- evas_object_event_callback_add(scroller, EVAS_CALLBACK_MOUSE_MOVE, scroll_move_cb, item);
- } else {
- evas_object_resize(item->dbox_win, w, h);
- }
-
- LOGD("%s is resized to %dx%d\n", id, w, h);
- item->size_type = type;
-
- /**
- * @NOTE
- * If you can generate new content in this function,
- * Generate a new content.
- * and return DBOX_OUTPUT_UPDATED
- *
- * In case of you cannot create the updated image in this function directly,
- * return DBOX_NEED_TO_SCHEDULE
- * The provider will call your dynamicbox_need_to_update & dynamicbox_update_content function.
- *
- * I recommend that if you are able to generate new content in this function,
- * generate it directly. and just returns DBOX_OUTPUT_UPDATED
- *
- * Because if you return DBOX_NEED_TO_SCHEDULE, the provider will try to update your dynamicbox
- * But it can be interrupted by other events.
- * Then you dynamicbox content updating will be delayed
- */
- return DBOX_NEED_TO_SCHEDULE;
-}
-
-PUBLIC int dynamicbox_need_to_create(const char *cluster, const char *category)
-{
- /**
- * @NOTE
- * You don't need implement this, if don't know what this is.
- * return 0 or 1
- */
- return 0;
-}
-
-PUBLIC int dynamicbox_change_group(const char *id, const char *cluster, const char *category)
-{
- struct info *item;
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- /**
- * @NOTE
- * If you can generate new content in this function,
- * Generate a new content.
- * and return DBOX_OUTPUT_UPDATED
- *
- * In case of you cannot create the updated image in this function directly,
- * return DBOX_NEED_TO_SCHEDULE
- * The provider will call your dynamicbox_need_to_update & dynamicbox_update_content function.
- *
- * I recommend that if you are able to generate new content in this function,
- * generate it directly. and just returns DBOX_OUTPUT_UPDATED
- *
- * Because if you return DBOX_NEED_TO_SCHEDULE, the provider will try to update your dynamicbox
- * But it can be interrupted by other events.
- * Then you dynamicbox content updating will be delayed
- */
- return DBOX_DONE;
-}
-
-PUBLIC int dynamicbox_need_to_destroy(const char *id)
-{
- /**
- * @NOTE
- * You don't need implement this, if don't know what this is.
- * This will be called after call the dynamicbox_need_to_update function.
- * If the dynamicbox_need_to_update function returns 0,
- * The provider will call this.
- *
- * If you return 1, the provider will delete your box.
- */
- return 0;
-}
-
-PUBLIC char *dynamicbox_pinup(const char *id, int pinup)
-{
- struct info *item;
-
- item = find_item(id);
- if (!item) {
- return NULL;
- }
-
- return strdup(item->content);
-}
-
-PUBLIC int dynamicbox_is_pinned_up(const char *id)
-{
- struct info *item;
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- /**
- * @NOTE
- * If you can generate new content in this function,
- * Generate a new content.
- * and return DBOX_OUTPUT_UPDATED
- *
- * In case of you cannot create the updated image in this function directly,
- * return DBOX_NEED_TO_SCHEDULE
- * The provider will call your dynamicbox_need_to_update & dynamicbox_update_content function.
- *
- * I recommend that if you are able to generate new content in this function,
- * generate it directly. and just returns DBOX_OUTPUT_UPDATED
- *
- * Because if you return DBOX_NEED_TO_SCHEDULE, the provider will try to update your dynamicbox
- * But it can be interrupted by other events.
- * Then you dynamicbox content updating will be delayed
- */
- return DBOX_DONE;
-}
-
-PUBLIC int dynamicbox_system_event(const char *id, int type)
-{
- struct info *item;
-
- item = find_item(id);
- if (!item) {
- return DBOX_STATUS_ERROR_NOT_EXIST;
- }
-
- if (type == DBOX_SYS_EVENT_FONT_CHANGED) {
- LOGD("Font is changed\n");
- } else if (type == DBOX_SYS_EVENT_LANG_CHANGED) {
- LOGD("Language is changed\n");
- } else if (type == DBOX_SYS_EVENT_TIME_CHANGED) {
- LOGD("Time is changed\n");
- } else if (type == DBOX_SYS_EVENT_REGION_CHANGED) {
- LOGD("Region is changed\n");
- } else if (type == DBOX_SYS_EVENT_PAUSED) {
- LOGD("Paused\n");
- // dynamicbox_thaw_scroller("com.samsung.w-add-viewer.dbox", id);
- } else if (type == DBOX_SYS_EVENT_RESUMED) {
- LOGD("Resumed [%s]\n", id);
- // dynamicbox_freeze_scroller("com.samsung.w-add-viewer.dbox", id);
- } else if (type == DBOX_SYS_EVENT_MMC_STATUS_CHANGED) {
- LOGD("MMC");
- } else {
- LOGD("Unknown");
- }
-
- /**
- * @NOTE
- * If you can generate new content in this function,
- * Generate a new content. and return DBOX_OUTPUT_UPDATED
- *
- * In case of you cannot create the updated image in this function directly,
- * return DBOX_NEED_TO_SCHEDULE
- * The provider will call your dynamicbox_need_to_update & dynamicbox_update_content function.
- *
- * I recommend that if you are able to generate new content in this function,
- * generate it directly. and just returns DBOX_OUTPUT_UPDATED
- *
- * Because if you return DBOX_NEED_TO_SCHEDULE, the provider will try to update your dynamicbox
- * But it can be interrupted by other events.
- * Then you dynamicbox content updating will be delayed
- *
- * DBOX_FORCE_TO_SCHEDULE - If you returns this, the provider will try to update your box
- * even though the box is paused you will get need_to_update & update_content function call.
- */
- return DBOX_DONE;
-}
-
-/* End of a file */
+++ /dev/null
-<manifest>
- <define>
- <domain name="com.samsung.w-add-viewer"/>
- </define>
- <request>
- <domain name="com.samsung.w-add-viewer"/>
- </request>
-</manifest>
+++ /dev/null
-#sbs-git:slp/pkgs/v/w-add-viewer w-add-viewer 0.1.2 226202351de9fefb43756c36d215ca74f52431d0
-%define _project_name w-add-viewer
-%define _package_name com.samsung.%{_project_name}
-
-Name: %{_package_name}
-Summary: w-add-viewer application (EFL)
-Version: 0.0.1
-Release: 1
-Group: HomeTF/AddViewer
-License: Flora
-Source0: %{name}-%{version}.tar.gz
-Source1001: %{name}.manifest
-BuildRequires: pkgconfig(appcore-efl)
-BuildRequires: pkgconfig(elementary)
-BuildRequires: pkgconfig(ecore-x)
-BuildRequires: pkgconfig(ecore)
-BuildRequires: pkgconfig(vconf)
-BuildRequires: pkgconfig(evas)
-BuildRequires: pkgconfig(edje)
-BuildRequires: pkgconfig(bundle)
-BuildRequires: pkgconfig(ail)
-BuildRequires: pkgconfig(dlog)
-BuildRequires: pkgconfig(utilX)
-BuildRequires: pkgconfig(pkgmgr)
-BuildRequires: pkgconfig(pkgmgr-info)
-BuildRequires: pkgconfig(capi-appfw-application)
-BuildRequires: pkgconfig(dynamicbox_viewer)
-BuildRequires: pkgconfig(dynamicbox_service)
-BuildRequires: pkgconfig(dynamicbox)
-BuildRequires: pkgconfig(dynamicbox_provider)
-BuildRequires: pkgconfig(dynamicbox_provider_app)
-BuildRequires: pkgconfig(mm-player)
-BuildRequires: cmake
-BuildRequires: edje-bin
-BuildRequires: embryo-bin
-BuildRequires: gettext-devel
-BuildRequires: hash-signer
-Requires(post): signing-client
-
-%description
-w-add-viewer
-
-%prep
-%setup -q
-cp %{SOURCE1001} .
-
-%build
-%if 0%{?tizen_build_binary_release_type_eng}
-export CFLAGS="$CFLAGS -DTIZEN_ENGINEER_MODE"
-export CXXFLAGS="$CXXFLAGS -DTIZEN_ENGINEER_MODE"
-export FFLAGS="$FFLAGS -DTIZEN_ENGINEER_MODE"
-%endif
-%if 0%{?sec_build_binary_debug_enable}
-export CFLAGS="$CFLAGS -DTIZEN_DEBUG_ENABLE"
-export CXXFLAGS="$CXXFLAGS -DTIZEN_DEBUG_ENABLE"
-export FFLAGS="$FFLAGS -DTIZEN_DEBUG_ENABLE"
-%endif
-RPM_OPT=`echo $CFLAGS|sed 's/-Wp,-D_FORTIFY_SOURCE=2//'`
-export CFLAGS=$RPM_OPT
-export CFLAGS+=" -DARCH=%{ARCH}"
-%cmake .
-make %{?jobs:-j%jobs}
-
-%install
-rm -rf %{buildroot}
-%define tizen_sign 1
-%define tizen_sign_base /usr/apps/%{_package_name}
-%define tizen_sign_level platform
-%define tizen_author_sign 1
-%define tizen_dist_sign 1
-%make_install
-
-%post
-/usr/bin/signing-client/hash-signer-client.sh -a -d -p platform /usr/apps/${_package_name}
-
-%files
-%manifest %{_package_name}.manifest
-%defattr(-,root,root,-)
-/usr/apps/%{_package_name}/*
-/etc/smack/accesses2.d/%{_package_name}.rule
-/usr/share/packages/%{_package_name}.xml
-/usr/share/license/%{_package_name}
-/opt/usr/media/Videos/*
-/usr/share/icons/default/small/*.png
-#/opt/usr/media/Videos/*
+++ /dev/null
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-PROJECT(w-add-viewer C)
-
-SET(SRCS
- src/main.c
- src/dynamicbox_evas.c
-)
-
-
-INCLUDE(FindPkgConfig)
-pkg_check_modules(viewer_pkgs REQUIRED
- capi-appfw-application
- appcore-efl
- ecore-x
- ecore
- evas
- edje
- vconf
- bundle
- dlog
- dynamicbox_viewer
- dynamicbox_service
- ail
- utilX
-)
-
-FOREACH(flag ${viewer_pkgs_CFLAGS})
- SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-ENDFOREACH(flag)
-
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
-SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
-SET(CMAKE_C_FLAGS_RELEASE "-O2")
-
-ADD_DEFINITIONS("-DDYNAMICBOX_EVAS_RESOURCE_EDJ=\"${EDJDIR}/w_add_viewer.edj\"")
-
-ADD_DEFINITIONS("-DDYNAMICBOX_EVAS_RESOURCE_PD=\"gbar\"")
-ADD_DEFINITIONS("-DDYNAMICBOX_EVAS_RESOURCE_LB=\"dynamicbox\"")
-ADD_DEFINITIONS("-DDYNAMICBOX_EVAS_RESOURCE_IMG=\"dynamicbox,image\"")
-
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
-
-#SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
-SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--as-needed")
-
-ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${viewer_pkgs_LDFLAGS} "-lm -fpie -fPIC")
-
-INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${BINDIR})
-
-# data
-ADD_SUBDIRECTORY(data)
-ADD_SUBDIRECTORY(po)
+++ /dev/null
-Name=@PROJECT_NAME@
-Exec=@BINDIR@/@PROJECT_NAME@
-Icon=@PKGNAME@.png
-Type=Application
-Version=0.1.0-0
-NoDisplay=false
-X-TIZEN-TaskManage=false
-X-TIZEN-Removable=false
+++ /dev/null
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-
-# install edj
-ADD_CUSTOM_TARGET(w_add_viewer.edj
- COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/images ${EDJE_CFLAGS}
- ${CMAKE_CURRENT_SOURCE_DIR}/w_add_viewer.edc w_add_viewer.edj
- DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/w_add_viewer.edc
-)
-ADD_DEPENDENCIES(${PROJECT_NAME} w_add_viewer.edj)
-INSTALL(FILES w_add_viewer.edj DESTINATION ${EDJDIR})
-INSTALL(FILES images/unknown.png DESTINATION ${RESDIR}/images)
+++ /dev/null
- styles {
- style {
- name: "overlay,text";
- base: "font=Tizen text_class=tizen font_size=20 align=center color=#FFFFFF ellipsis=1.0";
- tag: "br" "\n";
- tag: "hilight" "+ font=Tizen:style=Bold";
- tag: "b" "+ font=Tizen:style=Bold";
- tag: "tab" "\t";
- }
- }
-
- group
- {
- name: "overlay";
- parts
- {
- part {
- name: "bg,img";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; }
- rel2 { relative: 1.0 1.0; }
- color: 100 100 100 100;
- }
- }
-
- part {
- name: "text";
- type: TEXTBLOCK;
- description {
- state: "default" 0.0;
- rel1 { relative: 50/354 270/354; }
- rel2 { relative: 270/354 354/354; }
- text {
- style: "overlay,text";
- }
- }
- }
- }
- }
-
- group
- {
- name: "dynamicbox,image";
- parts
- {
- part {
- name: "front";
- type: RECT;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; }
- rel2 { relative: 1.0 1.0; }
- visible: 1;
- }
- description {
- state: "to,back" 0.0;
- inherit: "default" 0.0;
- visible: 0;
- }
- }
-
- part {
- name: "front,content";
- type: SWALLOW;
- clip_to: "front";
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; }
- rel2 { relative: 1.0 1.0; }
- }
- }
-
- part {
- name: "back";
- type: RECT;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; }
- rel2 { relative: 1.0 1.0; }
- visible: 0;
- }
- description {
- state: "to,back" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- }
-
- part {
- name: "back,content";
- type: SWALLOW;
- clip_to: "back";
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; }
- rel2 { relative: 1.0 1.0; }
- }
- }
- }
-
- programs
- {
- program {
- name: "turn,to,back,front";
- signal: "to,back";
- source: "turn";
- action: STATE_SET "to,back" 0.0;
- target: "front";
- target: "back";
- transition: LINEAR 0.5;
- after: "play,end";
- }
-
- program {
- name: "turn,to,front";
- signal: "to,front";
- source: "turn";
- action: STATE_SET "default" 0.0;
- target: "front";
- target: "back";
- transition: LINEAR 0.5;
- after: "play,end";
- }
-
- program {
- name: "play,end";
- action: SIGNAL_EMIT "done" "turn";
- }
- }
- }
-
- group
- {
- name: "dynamicbox";
- parts
- {
- part {
- name: "dynamicbox,content";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; }
- rel2 { relative: 1.0 1.0; }
- map {
- on: 0;
- }
- }
- description {
- state: "tilt" 0.0;
- inherit: "default" 0.0;
- map {
- on: 1;
- rotation {
- x: 30.0;
- }
- }
- }
- description {
- state: "move,down" 0.0;
- inherit: "default" 0.0;
- rel1 { relative: 0.0 0.2; }
- rel2 { relative: 1.0 1.2; }
- }
- }
-
- part {
- name: "overlay";
- mouse_events: 1;
- type: RECT;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; }
- rel2 { relative: 1.0 1.0; }
- color: 255 255 255 255;
- visible: 1;
- }
- description {
- state: "disable,overlay" 0.0;
- inherit: "default" 0.0;
- color: 0 0 0 0;
- visible: 0;
- }
- }
-
- part {
- name: "overlay,content";
- mouse_events: 1;
- type: SWALLOW;
- clip_to: "overlay";
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; }
- rel2 { relative: 1.0 1.0; }
- }
- }
- }
-
- programs
- {
- program {
- name: "reset,overlay";
- signal: "reset";
- source: "overlay";
- action: STATE_SET "disable,overlay" 0.0;
- target: "overlay";
- }
- program {
- name: "enable,overlay";
- signal: "enable";
- source: "overlay";
- action: STATE_SET "default" 0.0;
- target: "overlay";
- transition: LINEAR 0.5;
- after: "animation,done";
- }
-
- program {
- name: "disable,overlay";
- signal: "disable";
- source: "overlay";
- action: STATE_SET "disable,overlay" 0.0;
- target: "overlay";
- transition: LINEAR 0.5;
- after: "animation,done";
- }
-
- program {
- name: "tilt,start";
- signal: "tilt";
- source: "content";
- action: STATE_SET "tilt" 0.0;
- target: "dynamicbox,content";
- transition: LINEAR 0.15;
- after: "tilt,end";
- }
-
- program {
- name: "tilt,end";
- action: STATE_SET "default" 0.0;
- target: "dynamicbox,content";
- transition: LINEAR 0.15;
- after: "animation,done";
- }
-
- program {
- name: "move,down,start";
- signal: "move,down";
- source: "content";
- action: STATE_SET "move,down" 0.0;
- target: "dynamicbox,content";
- transition: LINEAR 0.15;
- after: "move,down,end";
- }
-
- program {
- name: "move,down,end";
- action: STATE_SET "default" 0.0;
- target: "dynamicbox,content";
- transition: LINEAR 0.15;
- after: "animation,done";
- }
-
- program {
- name: "animation,done";
- action: SIGNAL_EMIT "finished" "animation";
- }
- }
- }
-
- group
- {
- name: "gbar";
- parts
- {
- part {
- name: "gbar,content";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; }
- rel2 { relative: 1.0 1.0; }
- }
- }
-
- part {
- name: "overlay";
- type: RECT;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; }
- rel2 { relative: 1.0 1.0; }
- color: 255 255 255 255;
- visible: 1;
- }
- description {
- state: "disable,overlay" 0.0;
- inherit: "default" 0.0;
- color: 0 0 0 0;
- visible: 0;
- }
- }
-
- part {
- name: "overlay,content";
- type: SWALLOW;
- clip_to: "overlay";
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; }
- rel2 { relative: 1.0 1.0; }
- }
- }
- }
-
- programs
- {
- program {
- name: "reset,overlay";
- signal: "reset";
- source: "overlay";
- action: STATE_SET "disable,overlay" 0.0;
- target: "overlay";
- }
- program {
- name: "enable,overlay";
- signal: "enable";
- source: "overlay";
- action: STATE_SET "default" 0.0;
- target: "overlay";
- transition: LINEAR 0.15;
- after: "animation,done";
- }
-
- program {
- name: "disable,overlay";
- signal: "disable";
- source: "overlay";
- action: STATE_SET "disable,overlay" 0.0;
- target: "overlay";
- transition: LINEAR 0.15;
- after: "animation,done";
- }
-
- program {
- name: "animation,done";
- action: SIGNAL_EMIT "finished" "animation";
- }
- }
- }
-
-/* End of a file */
+++ /dev/null
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the License);
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.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.
- */
-
-collections {
- images {
- image: "unknown.png" COMP;
- }
-
-#include "dynamicbox.edc"
-
-#define WIN_WIDTH 480
-#define WIN_HEIGHT 800
-
-#define DBOX_SIZE_1x1_WIDTH 1
-#define DBOX_SIZE_1x1_HEIGHT 1
-
-#define DBOX_SIZE_2x2_WIDTH 454
-#define DBOX_SIZE_2x2_HEIGHT 454
-
-#define DBOX_1x1_WPAD ((WIN_WIDTH-DBOX_SIZE_1x1_WIDTH)/2)
-#define DBOX_2x2_WPAD ((WIN_WIDTH-DBOX_SIZE_2x2_WIDTH)/2)
-
-#define DBOX_1x1_HPAD ((WIN_HEIGHT-DBOX_SIZE_1x1_HEIGHT)/2)
-#define DBOX_2x2_HPAD ((WIN_HEIGHT-DBOX_SIZE_2x2_HEIGHT)/2)
-
- group {
- name: "image";
- parts {
- part {
- name: "unkown";
- type: IMAGE;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; }
- rel2 { relative: 1.0 1.0; }
- image { normal: "unknown.png"; }
- }
- }
- }
- }
-
- group {
- name: "preview";
- parts {
- part {
- name: "bg,color";
- type: RECT;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; }
- rel2 { relative: 1.0 1.0; }
- }
- }
-
- part {
- name: "bg";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; to, "bg,color"; }
- rel2 { relative: 1.0 1.0; to, "bg,color"; }
- visible: 0;
- }
- description {
- state: "show" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- }
- part {
- name: "preview";
- type: SWALLOW;
- description {
- state: "defaut" 0.0;
- fixed: 1 1;
- align: 0.5 0.5;
- rel1 { relative: 0.5 0.5; to, "bg"; }
- rel2 { relative: 0.5 0.5; to, "bg"; }
- visible: 0;
- }
- description {
- state: "show" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- }
-
- part {
- name: "name";
- type: TEXT;
- effect: TIZEN_GLOW_SHADOW;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; to, "preview"; }
- rel2 { relative: 1.0 1.0; to, "preview"; }
- align: 0.5 0.5;
- color: 255 255 255 255;
- color2: 0 0 0 255;
- color3: 0 0 0 255;
- text {
- text: "Hello";
- align: 0.5 0.5;
- size: 20;
- }
- }
- }
- }
-
- programs {
- program {
- name: "show,box";
- signal: "show";
- source: "preview";
- action: STATE_SET "show" 0.0;
- target: "preview";
- target: "bg";
- }
-
- program {
- name: "hide,box";
- signal: "hide";
- source: "preview";
- action: STATE_SET "default" 0.0;
- target: "preview";
- target: "bg";
- }
- }
- }
-
- group {
- name: "layout";
- parts {
- part {
- name: "scroller";
- type: SWALLOW;
- mouse_events: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; }
- rel2 { relative: 1.0 1.0; }
- visible: 1;
- }
- }
-
- part {
- name: "bg";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.5 0.5; }
- rel2 { relative: 0.5 0.5; }
- align: 0.5 0.5;
- fixed: 1 1;
- visible: 0;
- }
- description {
- state: "show" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- }
-
- part {
- name: "dynamicbox";
- type: SWALLOW;
- mouse_events: 1;
- description {
- state: "defaut" 0.0;
- rel1 { to, "bg"; }
- rel2 { to, "bg"; }
- visible: 0;
- }
- description {
- state: "show" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- }
-
- part {
- name: "content";
- type: RECT;
- mouse_events: 1;
- description {
- state: "default" 0.0;
- rel1 { to, "bg"; }
- rel2 { to, "bg"; }
- color: 255 0 0 255;
- visible: 0;
- }
-
- description {
- state: "empty" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- }
- }
-
- programs {
- program {
- name: "show,box";
- signal: "show";
- source: "dynamicbox";
- action: STATE_SET "show" 0.0;
- target: "dynamicbox";
- target: "bg";
- }
-
- program {
- name: "hide,box";
- signal: "hide";
- source: "dynamicbox";
- action: STATE_SET "default" 0.0;
- target: "dynamicbox";
- target: "bg";
- }
-
- program {
- name: "empty,content";
- signal: "empty";
- source: "content";
- action: STATE_SET "empty" 0.0;
- target: "content";
- }
- }
- }
-
-}
+++ /dev/null
-/*
- * Samsung API
- * Copyright (c) 2013 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 __DYNAMICBOX_EVAS_H
-#define __DYNAMICBOX_EVAS_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define DYNAMICBOX_EVAS_DEFAULT_PERIOD -1.0f /**< Default Update Period */
-#define DYNAMICBOX_SMART_SIGNAL_DBOX_CREATE_ABORTED "dbox,create,aborted" /**< Livebox creation is aborted */
-#define DYNAMICBOX_SMART_SIGNAL_DBOX_CREATED "dbox,created" /**< Livebox is created */
-#define DYNAMICBOX_SMART_SIGNAL_DBOX_RESIZE_ABORTED "dbox,resize,aborted" /**< Resizing dynamicbox is aborted */
-#define DYNAMICBOX_SMART_SIGNAL_DBOX_RESIZED "dbox,resized" /**< Livebox is resized */
-#define DYNAMICBOX_SMART_SIGNAL_DBOX_FAULTED "dbox,faulted" /**< Livebox has faulted */
-#define DYNAMICBOX_SMART_SIGNAL_UPDATED "updated" /**< Livebox content is updated */
-#define DYNAMICBOX_SMART_SIGNAL_EXTRA_INFO_UPDATED "info,updated" /**< Livebox extra info is updated */
-#define DYNAMICBOX_SMART_SIGNAL_PROVIDER_DISCONNECTED "provider,disconnected" /**< Provider is disconnected */
-#define DYNAMICBOX_SMART_SIGNAL_GBAR_DESTROYED "gbar,destroyed" /**< GBAR is destroyed */
-#define DYNAMICBOX_SMART_SIGNAL_GBAR_ABORTED "gbar,aborted" /**< GBAR creation is aborted */
-#define DYNAMICBOX_SMART_SIGNAL_GBAR_CREATED "gbar,created" /**< GBAR is created */
-#define DYNAMICBOX_SMART_SIGNAL_FLICKDOWN_CANCELLED "flickdown,cancelled" /**< Flick down is canceld */
-#define DYNAMICBOX_SMART_SIGNAL_CONTROL_SCROLLER "control,scroller" /**< Control Scroller */
-#define DYNAMICBOX_SMART_SIGNAL_DBOX_DELETED "dbox,deleted" /**< DynamicBox is deleted */
-#define DYNAMICBOX_SMART_SIGNAL_PERIOD_CHANGED "dbox,period,changed" /**< Period is changed */
-
-/**
- * \brief
- * Data structure for Smart Callback Event
- */
-struct dynamicbox_evas_event_info {
- const char *pkgname; /**< Livebox Application Id */
- int event; /**< Event type - DBOX_EVENT_XXX, refer the dynamicbox.h */
- int error; /**< Error type - DBOX_STATUS_XXX, refer the dynamicbox.h */
-};
-
-enum dynamicbox_evas_raw_event_type {
- DYNAMICBOX_EVAS_RAW_DELETE = 0x00,
- DYNAMICBOX_EVAS_RAW_CREATE = 0x02,
- DYNAMICBOX_EVAS_RAW_MAX = 0xff,
-};
-
-struct dynamicbox_evas_raw_event_info {
- const char *pkgname;
- enum dynamicbox_evas_raw_event_type type;
- int error;
- Evas_Object *dynamicbox;
-};
-
-/**
- * \brief
- * Configuration keys
- */
-enum dynamicbox_evas_conf {
- DYNAMICBOX_EVAS_MANUAL_PAUSE_RESUME = 0x0001, /**< Visibility will be changed manually */
- DYNAMICBOX_EVAS_SHARED_CONTENT = 0x0002, /**< Multiple instances will share the content of one real instance */
- DYNAMICBOX_EVAS_SUPPORT_GBAR = 0x0004, /**< GBAR will be used */
- DYNAMICBOX_EVAS_USE_FIXED_SIZE = 0x0008, /**< Livebox will be resized to specific size only */
- DYNAMICBOX_EVAS_EASY_MODE = 0x0010, /**< Easy mode on/off */
- DYNAMICBOX_EVAS_SCROLL_X = 0x0020, /**< Box will be scrolled from left to right vice versa */
- DYNAMICBOX_EVAS_SCROLL_Y = 0x0040, /**< Box will be scrolled from top to bottom vice versa */
- DYNAMICBOX_EVAS_EVENT_AUTO_FEED = 0x0080, /**< Feeds event automatically from the master provider */
- DYNAMICBOX_EVAS_DELAYED_PAUSE_RESUME = 0x0100, /**< Delaying the pause/resume when it is automatically changed */
- DYNAMICBOX_EVAS_SENSITIVE_MOVE = 0x0200, /**< Force feeds mouse up event if the box is moved */
- DYNAMICBOX_EVAS_AUTO_RENDER_SELECTION = 0x0400, /**< Select render automatically, if a box moved, do not sync using animator, or use the animator */
- DYNAMICBOX_EVAS_UNKNOWN = 0xFFFF
-};
-
-enum dynamicbox_access_result {
- DYNAMICBOX_ACCESS_DONE = 0x00,
- DYNAMICBOX_ACCESS_FIRST = 0x01,
- DYNAMICBOX_ACCESS_LAST = 0x02,
- DYNAMICBOX_ACCESS_READ = 0x04,
- DYNAMICBOX_ACCESS_ERROR = 0x80,
- DYNAMICBOX_ACCESS_UNKNOWN = 0xFF
-};
-
-extern int evas_object_dynamicbox_init(Evas_Object *win, int force_to_buffer);
-extern int evas_object_dynamicbox_fini(void);
-
-extern Evas_Object *evas_object_dynamicbox_add(Evas_Object *parent, const char *dbox_id, const char *content_info, const char *cluster, const char *category, double period);
-extern int evas_object_dynamicbox_destroy_pd(Evas_Object *dynamicbox);
-
-extern int evas_object_dynamicbox_resumed(void);
-extern int evas_object_dynamicbox_paused(void);
-
-extern int evas_object_dynamicbox_pause(Evas_Object *dynamicbox);
-extern int evas_object_dynamicbox_resume(Evas_Object *dynamicbox);
-
-extern int evas_object_dynamicbox_view_port_set(Evas_Object *dynamicbox, int x, int y, int w, int h);
-extern int evas_object_dynamicbox_view_port_get(Evas_Object *dynamicbox, int *x, int *y, int *w, int *h);
-extern int evas_object_dynamicbox_conf_set(enum dynamicbox_evas_conf type, int value);
-
-extern const char *evas_object_dynamicbox_content(Evas_Object *dynamicbox);
-extern const char *evas_object_dynamicbox_title(Evas_Object *dynamicbox);
-extern const char *evas_object_dynamicbox_dbox_id(Evas_Object *dynamicbox);
-
-extern double evas_object_dynamicbox_period(Evas_Object *dynamicbox);
-extern void evas_object_dynamicbox_cancel_click(Evas_Object *dynamicbox);
-
-/**
- * @brief This function should be called right after create the dynamicbox object. before resizing it.
- */
-extern void evas_object_dynamicbox_disable_preview(Evas_Object *dynamicbox);
-extern void evas_object_dynamicbox_disable_overlay_text(Evas_Object *dynamicbox);
-extern void evas_object_dynamicbox_disable_loading(Evas_Object *dynamicbox);
-
-extern int evas_object_dynamicbox_force_mouse_up(Evas_Object *dynamicbox);
-extern int evas_object_dynamicbox_access_action(Evas_Object *dynamicbox, int type, void *_info, void (*ret_cb)(Evas_Object *obj, int ret, void *data), void *data);
-extern void evas_object_dynamicbox_activate(Evas_Object *dynamicbox);
-extern int evas_object_dynamicbox_is_faulted(Evas_Object *dynamicbox);
-
-extern int evas_object_dynamicbox_unset_raw_event_callback(enum dynamicbox_evas_raw_event_type type, void (*cb)(struct dynamicbox_evas_raw_event_info *info, void *data), void *data);
-extern int evas_object_dynamicbox_set_raw_event_callback(enum dynamicbox_evas_raw_event_type type, void (*cb)(struct dynamicbox_evas_raw_event_info *info, void *data), void *data);
-
-extern int evas_object_dynamicbox_freeze_visibility(Evas_Object *dynamicbox, int status);
-extern int evas_object_dynamicbox_thaw_visibility(Evas_Object *dynamicbox);
-extern int evas_object_dynamicbox_visibility_is_freezed(Evas_Object *dynamicbox);
-extern int evas_object_dynamicbox_dump(Evas_Object *dynamicbox, const char *filename);
-extern int evas_object_dynamicbox_is_dynamicbox(Evas_Object *dynamicbox);
-extern void evas_object_dynamicbox_use_render_animator(int flag);
-extern void evas_object_dynamicbox_set_permanent_delete(Evas_Object *dynamicbox, int flag);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-/* End of a file */
+++ /dev/null
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the License);
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.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 __MAIN_H__
-#define __MAIN_H__
-
-#if !defined(PKGNAME)
-# define PKGNAME "com.samsung.w-add-viewer"
-#endif
-
-#define S_(str) dgettext("sys_string", str)
-#define T_(str) dgettext(PACKAGE, str)
-#undef N_
-#define N_(str) (str)
-#undef _
-#define _(str) gettext(str)
-
-#define _EDJ(x) elm_layout_edje_get(x)
-#define _X(x) (x*elm_config_scale_get())
-
-/* Build */
-#define HAPI __attribute__((visibility("hidden")))
-
-struct appdata
-{
- Evas_Object *win;
- Evas_Object *layout;
- Evas_Object *scroller_box;
- Ecore_Event_Handler *handler;
- int box_created;
-};
-
-#endif /* __MAIN_H__ */
-
+++ /dev/null
-# for i18n
-
-SET(POFILES
-da.po et.po gl.po is.po lo.po nb.po ro.po ta.po zh_CN.po
-ar.po de_DE.po eu.po gu.po it_IT.po lt.po ne.po ru_RU.po te.po zh_HK.po
-as.po el_GR.po fa.po he.po ja_JP.po lv.po nl_NL.po sinhala.po th.po zh_TW.po
-az.po en.po fi.po hi.po ka.po mk.po or.po sk.po tr_TR.po
-bg.po en_PH.po fil.po hr.po khmer.po ml.po pa.po sl.po uk.po
-bn.po en_US.po fr_CA.po hu.po kk.po mr.po pl.po sq.po ur.po
-ca.po es_ES.po fr_FR.po hy.po kn.po ms.po pt_BR.po sr.po uz.po
-cs.po es_MX.po ga.po id.po ko_KR.po my.po pt_PT.po sv.po vi.po
-)
-
-SET(MSGFMT "/usr/bin/msgfmt")
-
-FOREACH(pofile ${POFILES})
- SET(pofile ${CMAKE_CURRENT_SOURCE_DIR}/${pofile})
- MESSAGE("PO: ${pofile}")
- GET_FILENAME_COMPONENT(absPofile ${pofile} ABSOLUTE)
- GET_FILENAME_COMPONENT(lang ${absPofile} NAME_WE)
- SET(moFile ${CMAKE_CURRENT_BINARY_DIR}/${lang}.mo)
- ADD_CUSTOM_COMMAND(
- OUTPUT ${moFile}
- COMMAND ${MSGFMT} -o ${moFile} ${absPofile}
- DEPENDS ${absPofile}
- )
- INSTALL(FILES ${moFile}
- DESTINATION ${LOCALEDIR}/${lang}/LC_MESSAGES RENAME ${PROJECT_NAME}.mo)
- SET(moFiles ${moFiles} ${moFile})
-ENDFOREACH(pofile)
-
-MESSAGE(".mo files: ${moFiles}")
-ADD_CUSTOM_TARGET(po ALL DEPENDS ${moFiles})
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "تطبيقات"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Widget"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "تعذر الإزالة"
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "انقر مع الاستمرار فوق عنصر واجهة المستخدم لنقله."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "تم تغيير الشاشة الرئيسية."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "جاري التحميل ..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "يتعذر تحميل البيانات. انقر لإعادة المحاولة."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "تتعذر إضافة التطبيق. لا تتوفّر مساحة إضافية على الشاشة الرئيسية."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "تتعذر إضافة التطبيق المصغر. لا تتوفّر مساحة إضافية على الشاشة الرئيسية."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "التطبيقات موجودة بالفعل."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "التطبيق المصغر موجود بالفعل."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "এপ্প্চ"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "ৱিজেট"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "আঁতৰাবলৈ অক্ষম৷"
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "ইয়াক লৈ যাবৰ বাবে এটা ৱিজেট টিপক আৰু ধৰি থাকক৷"
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "গৃহ স্ক্ৰীণ সলনি কৰা হৈছে৷"
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "লোড হৈ আছে..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "ডাটা লোড কৰিবলৈ অক্ষম৷ পুনঃচেষ্টা কৰিবৰ বাবে টিপক।"
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "এপ্লিকেশ্বন যোগ কৰিবলৈ অক্ষম৷ গৃহ স্ক্ৰীণত কোনো কোঠা নাই৷"
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "ৱিজেট যোগ কৰিবলৈ অক্ষম৷ গৃহ স্ক্ৰীণত কোনো কোঠা নাই৷"
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "এপ্লিকেশ্বন ইতিমধ্যে মজুত আছে৷"
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "ৱিজেট ইতিমধ্যে মজুত আছে৷"
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "Proqramlar"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Qurğu"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "Silmək mümkün deyil."
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "Yerini dəyişmək üçün piktoqrama vurub saxlayın."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "Əsas ekran dəyişib."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "Yüklənir..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "Məlumatları yükləmək mümkün deyil. Yenidən cəhd etmək üçün vurun"
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Proqram əlavə etmək mümkün olmadı. Əsas ekranda artıq yer yoxdur."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Piktoqram əlavə etmək mümkün olmadı. Əsas ekranda artıq yer yoxdur."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "Proqram artıq mövcuddur."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "Piktoqram artıq mövcuddur."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "Приложения"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Визуален елемент"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "Не може да се премахне."
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "Чукнете и задръжте виз. ел., за да го преместите."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "Началният екран е променен."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "Зареждане"
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "Данните не могат да се заредят. Чукнете, за да опитате отново."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Приложението не може да се добави. Няма повече място в началния екран."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Визуалният елемент не може да се добави. Няма повече място в началния екран."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "Приложението вече съществува."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "Визуалният елемент вече съществува."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "অ্যাপস"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "উইজেট"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "অপসারণ করতে অক্ষম।"
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "উইজেট সরাতে সেটি ট্যাপ করে ধরে থাকুন।"
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "হোম স্ক্রিন পরিবর্তিত।"
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "লোড হচ্ছে..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "তথ্য লোড করতে অক্ষম৷ পুনরায় চেষ্টা করতে ট্যাপ করুন৷"
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "অ্যাপ্লিকেশন যোগ করতে অক্ষম। হোম স্ক্রিনে আর রুম নেই।"
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "উইজেট যোগ করতে অক্ষম। হোম স্ক্রিনে আর রুম নেই।"
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "অ্যাপ্লিকেশন ইতিমধ্যে বিদ্যমান।"
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "উইজেট ইতিমধ্যে বিদ্যমান।"
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "Aplicacions"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Widget"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "No es pot eliminar"
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "Mantenir tocat un widget per moure'l"
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "Ha canviat la pantalla d'inici"
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "Carregant..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "No es poden carregar les dades. Toqui per tornar-ho a intentar."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "No es pot afegir l'aplicació. No hi ha més lloc a la pantalla d'inici."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "No es pot afegir el widget. No hi ha més lloc a la pantalla d'inici."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "L'aplicació ja existeix."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "El widget ja existeix."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "Aplikace"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Widget"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "Nelze odstranit."
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "Klepnutím a podržením nástroje ho přesunete."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "Domovská obrazovka byla změněna."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "Nahrávám..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "Data nelze načíst. Klepnutím opakujte akci."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Aplikaci nelze přidat. Na domovské obrazovce již není místo."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Nástroj nelze přidat. Na domovské obrazovce již není místo."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "Aplikace již existuje."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "Nástroj již existuje."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "Programmer"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Widget"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "Kan ikke fjerne."
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "Tryk og hold en widget nede for at flytte den."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "Startskærm ændret."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "Indlæser data ..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "Kan ikke indlæse data. Tap for at prøve igen."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Kunne ikke tilføje program. Ikke mere plads på startskærmen."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Kunne ikke tilføje widget. Ikke mere plads på startskærmen."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "Programmet findes allerede."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "Widget findes allerede."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "Menü"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Widget"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "Entfernen nicht möglich"
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "Zum Verschieben des Widgets tippen und halten."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "Startbildschirm geändert"
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "Lädt..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "Daten konnten nicht geladen werden. Für erneuten Versuch tippen"
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Anwendung kann nicht hinzugefügt werden. Kein Platz mehr auf dem Startbildschirm."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Widget kann nicht hinzugefügt werden. Kein Platz mehr auf dem Startbildschirm."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "Anwendung ist bereits vorhanden."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "Widget bereits vorhanden."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "Εφαρμογές"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Widget"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "Δεν είναι δυνατή η αφαίρεση."
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "Πατ. παρατετ. ένα widget για να το μετακινήσετε."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "Η αρχική οθόνη άλλαξε."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "Φόρτωση..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "Δεν είναι δυνατή η φόρτωση δεδομένων. Πατήστε για να δοκιμάσετε ξανά."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Δεν είναι δυνατή η προσθήκη της εφαρμογής. Δεν υπάρχει χώρος στην αρχική οθόνη."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Δεν είναι δυνατή η προσθήκη του widget. Δεν υπάρχει χώρος στην αρχική οθόνη."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "Η εφαρμογή υπάρχει ήδη."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "Το widget υπάρχει ήδη."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "Apps"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Widget"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "Unable to remove."
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "Tap and hold a widget to move it."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "Home screen changed."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "Loading..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "Unable to load data. Tap to retry."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Unable to add application. No more room on home screen."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Unable to add widget. No more room on home screen."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "Application already exists."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "Widget already exists."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "Apps"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Widget"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "Unable to remove."
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "Tap and hold a widget to move it."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "Home screen changed."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "Loading..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "Unable to load data. Tap to retry."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Unable to add application. No more room on home screen."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Unable to add widget. No more room on home screen."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "Application already exists."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "Widget already exists."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "Apps"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Widget"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "Unable to remove."
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "Press and hold a widget to move it."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "Home screen changed."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "Loading..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "Unable to load data. Tap to retry."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Unable to add application. No more room on home screen."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Unable to add widget. No more room on home screen."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "Application already exists."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "Widget already exists."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "Aplicaciones"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Widget"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "No se puede eliminar"
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "Mantenga pulsado un widget para moverlo"
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "Se ha cambiado la pantalla de inicio"
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "Cargando..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "No se pueden cargar datos. Pulse para volver a intentarlo."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "No se puede añadir la aplicación. No hay espacio disponible en la pantalla de inicio."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "No se puede añadir el widget. No hay espacio disponible en la pantalla de inicio."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "La aplicación ya existe."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "El widget ya existe."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "Aplicaciones"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Widget"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "No se puede eliminar."
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "Mantenga pulsado el Widget para moverlo."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "Se cambió la pantalla de inicio."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "Cargando..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "No es posible cargar los datos. Pulse para intentarlo de nuevo."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "No se puede añadir la aplicación. No hay espacio disponible en la pantalla de inicio."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "No se puede añadir el widget. No hay espacio disponible en la pantalla de inicio."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "La aplicación ya existe."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "El widget ya existe."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "Rakendused"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Vidin"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "Ei saa eemaldada."
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "Vidina teisaldamiseks toksake ja hoidke seda."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "Avaekraani on muudetud."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "Laadimine..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "Andmeid ei saa laadida. Toksake, et proovida uuesti."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Rakendust ei saa lisada. Avaekraanil pole rohkem ruumi."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Vidinat ei saa lisada. Avaekraanil pole rohkem ruumi."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "Rakendus on juba olemas."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "Vidin on juba olemas."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "Aplikazioak"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "ElMezularitza tua"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "Ezin da kendu"
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "Ukitu eta eutsi widget bat mugitzeko"
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "Pantaila nagusia aldatuta"
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "Kargatzen..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "Ezin dira datuak kargatu. Ukitu berriz saiatzeko."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Ezin da aplikazioa gehitu. Ez dago lekurik pantaila nagusian."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Ezin da widgeta gehitu. Ez dago lekurik pantaila nagusian."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "Aplikazioa badago lehendik."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "Widgeta badago lehendik."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "برنامه"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "نوار ابزار"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "حذف ممکن نیست"
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "برای جابجا کردن ابزارک روی آن ضربه زده و نگه دارید."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "صفحه اصلی تغییر کرد."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "در حال دانلود..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "بارگیری داده ممکن نیست. برای امتحان مجدد ضربه بزنید."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "افزودن برنامه ممکن نیست. فضای بیشتری در صفحه اصلی وجود ندارد."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "افزودن ویجت ممکن نیست. فضای بیشتری در صفحه اصلی وجود ندارد."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "برنامه از قبل وجود دارد."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "ویجت از قبل وجود دارد."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "Sovellukset"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Pienoisohjelma"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "Ei voi poistaa."
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "Siirrä pienoisohjelmaa painamalla jonkin aikaa."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "Alkunäyttö vaihdettu."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "Ladataan..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "Tietoja ei voi ladata. Yritä napauttamalla uudelleen."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Sovellusta ei voi lisätä. Alkunäytössä ei ole enää tilaa."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Pienoisohjelmaa ei voi lisätä. Alkunäytössä ei ole enää tilaa."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "Sovellus on jo olemassa."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "Pienoisohjelma on jo olemassa."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "Apps"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Widget"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "Hindi maalis."
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "Tap and hold a widget to move it."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "Pinalitan ang home screen."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "Naglo-load..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "Hindi ma-load ang data. I-tap upang subukang muli."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Hindi maidagdag ang application. Wala nang espasyo sa home screen."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Hindi maidagdag ang widget. Wala nang espasyo sa home screen."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "Umiiral na ang application."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "Umiiral na ang widget."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "Applications"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Widgets"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "Suppression impossible."
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "Touchez longuement le widget pour le déplacer."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "Écran d'accueil modifié"
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "Chargement..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "Impossible de charger les données. Appuyez pour réessayer."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Impossible d'ajouter l'application. Espace saturé sur l'écran d'accueil."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Impossible d'ajouter le widget. Espace saturé sur l'écran d'accueil."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "L'application existe déjà."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "Le widget existe déjà."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "Applications"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Widgets"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "Suppression impossible"
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "App. de façon prolongée sur widget pour déplacer."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "Ecran d'accueil modifié"
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "Chargement en cours."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "Impossible de charger les données. Appuyez pour réessayer."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Impossible d'ajouter l'application. Espace saturé sur l'écran d'accueil."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Impossible d'ajouter le widget. Espace saturé sur l'écran d'accueil."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "L'application existe déjà."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "Le widget existe déjà."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "Feidhmchláir"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Giuirléid"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "Ní féidir é a bhaint."
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "Tapáil agus coinnigh giuirléid lena bogadh"
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "Scáileán baile athraithe."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "Ag lódáil..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "Ní féidir sonraí a choinneáil. Tapáil le triail arís."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Ní féidir í a chur leis an bhfeidhmchlár. Níl aon spás eile fágtha ar an scáileán baile."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Ní féidir giuirléid a chur leis. Níl aon spás eile fágtha ar an scáileán baile."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "Tá an feidhmchlár ann cheana."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "Tá giuirléid ann cheana."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "Aplicacións"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Widget"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "Non se pode eliminar"
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "Mantén tocado un widget para movelo"
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "Pantalla de inicio cambiada"
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "Cargando..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "Non se poden cargar datos. Toca para tentalo de novo."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Non se pode engadir a aplicación. Non hai máis espazo na pantalla de inicio."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Non se pode engadir o widget. Non hai máis espazo na pantalla de inicio."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "A aplicación xa existe."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "O widget xa existe."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "ઍપ્સ"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "વિજેટ"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "કાઢવામાં અસમર્થ."
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "વિજેટ ખસેડવા માટે તેને ટૅપ કરો અને હોલ્ડ કરો"
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "હોમ સ્ક્રીન બદલાઇ ગઈ છે."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "લોડિંગ..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "ડેટા લોડ કરવામાં અસમર્થ. ફરીથી પ્રયાસ કરવા માટે ટૅપ કરો."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "અનુપ્રયોગ ઉમેરવા માટે અસમર્થ. હોમ સ્ક્રીન પર હવે વધુ અવકાશ નથી."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "વિજૅટ ઉમેરવામાં અસમર્થ. હોમ સ્ક્રીન પર હવે વધુ અવકાશ નથી."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "અનુપ્રયોગ પહેલાંથી હયાત છે."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "વિજૅટ પહેલાંથી હયાત છે."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "יישומים"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Widget"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "לא ניתן להסיר"
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "הקש באריכות על ווידג'ט כדי להזיז אותו."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "מסך הבית השתנה."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "טוען..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "לא ניתן לטעון נתונים. הקש כדי לנסות שנית."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "לא ניתן להוסיף יישום. אין עוד מקום במסך הבית."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "לא ניתן להוסיף יישומון. אין עוד מקום במסך הבית."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "יישום זה כבר קיים."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "היישומון כבר קיים."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "एप्स"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "विजेट"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "हटाने में असमर्थ।"
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "विजेट ले जाने के लिए उसे टैप करे रखें"
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "होम स्क्रीन बदली गई।"
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "लोड हो रहा है..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "डाटा लोड करने में अक्षम। फिर से प्रयास करने हेतु टैप करें।"
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "ऐप्लिकेशन जोड़ने में अक्षम। होम स्क्रीन पर कोई और रूम नहीं है।"
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "विजेट जोड़ने में अक्षम। होम स्क्रीन पर कोई और रूम नहीं है।"
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "एप्लिकेशन पहले से मौजूद है।"
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "विजेट पहले से मौजूद है।"
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "Aplikacije"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Widget"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "Nemoguće ukloniti."
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "Dodirnite i držite widget da biste ga premjestili."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "Početni zaslon je promijenjen."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "Učitavanje..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "Nije moguće učitati podatke. Dodirnite radi ponavljanja."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Dodavanje aplikacije nije moguće. Nema više mjesta na početnom zaslonu."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Dodavanje widgeta nije moguće. Nema više mjesta na početnom zaslonu."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "Aplikacija već postoji."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "Widget već postoji."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "Alkalmazások"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Widget"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "Nem lehet eltávolítani."
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "Tartsa ujját a widgeten, amelyet át kíván helyezni."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "A kezdőképernyő módosult."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "Betöltés..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "Nem lehet betölteni az adatokat. Érintse meg az újabb próbálkozáshoz."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Nem adható hozzá alkalmazás. Nincs több hely a kezdőképernyőn."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Nem adható hozzá widget. Nincs több hely a kezdőképernyőn."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "Ez az alkalmazás már megvan."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "Ez a widget már megvan."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "Ծրագրեր"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Վիդջետ"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "Անհնար է հեռացնել:"
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "Տեղափոխելու համար թակեք և պահեք պատկերագիրը:"
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "Հիմնական էկրանը փոխվել է:"
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "Բեռնում է..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "Անհնար է տվյալներ բեռնել: Թակեք՝ նորից փորձելու համար"
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Անհնար է ծրագիր ավելացնել. այլևս տեղ չկա հիմնական էկրանում:"
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Անհնար է պատկերագիր ավելացնել. այլևս տեղ չկա հիմնական էկրանում:"
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "Ծրագիրն արդեն գոյություն ունի:"
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "Պատկերագիրն արդեն գոյություն ունի:"
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "Aplikasi"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Widget"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "Tidak dapat menghapus."
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "Ketuk dan tahan widget untuk memindahkannya."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "Layar depan diubah."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "Meloading…"
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "Tidak dapat memuat data. Ketuk untuk mencoba lagi."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Tidak dapat menambah aplikasi. Tidak ada ruang lagi di layar depan."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Tidak dapat menambah widget. Tidak ada ruang lagi di layar depan."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "Aplikasi sudah ada."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "Widget sudah ada."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "Forrit"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Græja"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "Mistókst að fjarlægja."
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "Pikkaðu og haltu inni á græju til að færa hana."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "Heimaskjá var breytt."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "Hleð..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "Ekki tókst að hlaða gögn. Pikkaðu til að reyna aftur."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Ekki er hægt að bæta við forriti. Ekki er pláss á heimaskjánum."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Ekki er hægt að bæta við græju. Ekki er pláss á heimaskjánum."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "Forritið er þegar til."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "Græjan er þegar til."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "Applicazioni"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Widget"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "Impossibile rimuovere."
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "Toccate e tenete premuto un widget per spostarlo."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "Schermata Home modificata."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "Caricamento..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "Impossibile caricare i dati. Toccate per riprovare."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Impossibile aggiungere applicazione. Spazio insufficiente nella schermata Home."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Impossibile aggiungere widget. Spazio insufficiente nella schermata Home."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "Applicazione già esistente."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "Widget già esistente."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "アプリ"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "ウィジェット"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "移動することができません。"
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "移動するには、ウィジェットを長押しします。"
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "ホーム画面が変更されました。"
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "読み込み中..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "データをロードできません。タップして再度実行してください。"
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "アプリケーションを追加できません。ホーム画面にスペースがありません。"
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "ウィジェットを追加できません。ホーム画面にスペースがありません。"
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "アプリケーションは既に存在します。"
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "ウィジェットは既に存在します。"
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "პროგრამები"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "გრაფიკული კლიპი"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "ვერ მოცილდება."
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "ვიჯეტის გადასატანად დაარტყით მას და არ აიღოთ ხელი."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "საწყისი ეკრანი შეიცვალა."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "იტვირთება..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "მონაცემთა ჩატვირთვა შეუძლებელია. შეეხეთ და გაიმეორეთ მცდელობა"
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "პროგრამა ვერ ემატება. საწყის ეკრანზე აღარ არის ადგილი."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "ვიჯეტის დამატება შეუძლებელია. საწყის ეკრანზე აღარ არის ადგილი."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "პროგრამა უკვე არსებობს."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "ვიჯეტი უკვე არის."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "កម្មវិធី"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "វីដជីត"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "មិនអាចលុប។"
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "ប៉ះវីដជីតមួយឲ្យជាប់ដើម្បីផ្លាស់ទីវា។"
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "បានប្តូរគេហអេក្រង់។"
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "កំពុងផ្ទុក..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "មិនអាចផ្ទុកទិន្នន័យ។ ប៉ះដើម្បីសាកល្បងម្ដងទៀត។"
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "មិនអាចថែមកម្មវិធី។ គ្មានកន្លែងទៀតលើគេហអេក្រង់។"
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "មិនអាចថែមវីដជីត។ គ្មានកន្លែងទៀតលើគេហអេក្រង់។"
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "កម្មវិធីមានហើយ។"
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "វីដជីតមានហើយ។"
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "Бағдарламалар"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Виджет"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "Алып тастау мүмкін емес."
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "Виджетті жылжыту үшін оны басып тұрыңыз."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "Бастапқы экран өзгертілді."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "Жазылуда..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "Деректерді жүктеу мүмкін емес. Қайталау үшін түртіңіз"
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Бағдарламаны қосу мүмкін емес. Бұл бастапқы экранда басқа орын жоқ."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Виджетті қосу мүмкін емес. Бұл бастапқы экранда басқа орын жоқ."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "Бағдарлама бұрыннан бар."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "Виджет бұрыннан бар."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "ಅನ್ವಹಿಸುವಿಕೆಗಳು"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "ವಿಜೆಟ್"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "ಕದಲಿಸಲು ಅಸಮರ್ಥ."
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "ಅದನ್ನು ಕದಲಿಸಲು ಒಂದು ವಿಜೆಟ್ನ್ನು ತಟ್ಟಿ ಮತ್ತು ಹಿಡಿಯಿರಿ."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "ಹೋಮ್ ಸ್ಕ್ರೀನ್ ಬದಲಾಯಿಸಲಾಗಿದೆ."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "ಲೋಡಿಂಗ್..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "ಡೇಟಾ ಲೋಡ್ ಮಾಡಲು ಅಸಮರ್ಥ. ಮರುಪ್ರಯತ್ನಿಸಲು ಒತ್ತಿ."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "ಅನ್ವಹಿಸುವಿಕೆ ಸೇರಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತಿಲ್ಲ. ಹೋಮ್ ಸ್ಕ್ರೀನ್ನಲ್ಲಿ ಇನ್ನು ಕೊಠಡಿಗಳು ಇಲ್ಲ."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "ವಿಜೆಟ್ ಸೇರಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತಿಲ್ಲ. ಹೋಮ್ ಸ್ಕ್ರೀನ್ನಲ್ಲಿ ಇನ್ನು ಕೊಠಡಿಗಳು ಇಲ್ಲ."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "ಅನ್ವಹಿಸುವಿಕೆ ಈಗಾಗಲೇ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "ವಿಜೆಟ್ ಈಗಾಗಲೇ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "앱스"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "위젯"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "제거할 수 없습니다."
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "위젯을 이동하려면 길게 누르세요."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "홈 화면이 변경되었습니다."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "로딩 중..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "데이터를 불러올 수 없습니다. 다시 시도하려면 누르세요."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "홈 화면에 공간이 없어 애플리케이션을 추가할 수 없습니다."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "홈 화면에 공간이 없어 위젯을 추가할 수 없습니다."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "같은 애플리케이션이 있습니다."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "같은 위젯이 있습니다."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "ແອັບ"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "ວິດເຈັທ"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "ບໍ່ສາມາດເອົາອອກໄປໄດ້."
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "ແຕະວິດເຈັດຄ້າງໄວ້ເພື່ອຍ້າຍມັນ."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "ໜ້າຈໍຫຼັກໄດ້ປ່ຽນ."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "ກຳລັງໂຫຼດ..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "ບໍ່ສາມາດໂຫຼດຂໍ້ມູນໄດ້. ເຄາະເພື່ອລອງໃໝ່."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "ບໍ່ສາມາດເພີ່ມແອພພລິເຄຊັນໄດ້. ບໍ່ມີຫ້ອງຢູ່ໃນໜ້າຈໍຫຼັກອີກ."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "ບໍ່ສາມາດເພີ່ມວິດເຈັດໄດ້. ບໍ່ມີຫ້ອງຢູ່ໃນໜ້າຈໍຫຼັກອີກ."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "ມີແອພພລິເຄຊັນຢູ່ແລ້ວ."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "ມີວິດເຈັດຢູ່ແລ້ວ."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "Programos"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Valdiklis"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "Negalima pašalinti."
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "Norėdami perkelti vald., bakstelėkite ir laikykite."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "Pradžios ekranas pakeistas."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "Įkeliama..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "Neįmanoma įkelti duomenų. Bakstelėkite ir bandykite dar kartą."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Neįmanoma pridėti programos. Pradžios ekrane nebėra vietos."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Neįmanoma pridėti valdiklio. Pradžios ekrane nebėra vietos."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "Programa jau yra."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "Valdiklis jau yra."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "Programmas"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Logrīks"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "Nevar noņemt."
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "Pieskarieties un turiet logrīku, lai to pārvietotu."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "Sākuma ekrāns ir nomainīts."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "Ielādē..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "Nevar ielādēt datus. Pieskarieties, lai mēģinātu vēlreiz."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Nevar pievienot programmu. Sākuma ekrānā vairs nav vietas."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Nevar pievienot logrīku. Sākuma ekrānā vairs nav vietas."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "Programma jau pastāv."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "Logrīks jau pastāv."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "Апликации"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Виџет"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "Не може да се отстрани."
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "Допрете и држете виџет за да го поместите."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "Почетниот екран е сменет."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "Активирање..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "Не можат да се вчитаат податоци. Допрете за повторен обид."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Не може да се додаде апликација. Нема веќе место на почетниот екран."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Не може да се додаде виџет. Нема веќе место на почетниот екран."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "Апликацијата веќе постои."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "Виџетот веќе постои."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "ആപ്ലിക്കേഷനുകൾ"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "വിഡ്ജെറ്റ്"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "നീക്കം ചെയ്യാന് ആവുന്നില്ല."
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "വിജിറ്റ് നീക്കുന്നതിന് അതില് തട്ടി ഹോള്ഡ് ചെയ്യുക."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "ഹോം സ്ക്രീന് മാറ്റി."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "ലോഡ് ചെയ്യുന്നു..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "ഡാറ്റ ലോഡുചെയ്യാന് കഴിയുന്നില്ല. വീണ്ടും ശ്രമിക്കുന്നതിന് ടാപ്പുചെയ്യുക"
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "ആപ്ലിക്കേഷൻ ചേർക്കാനാവില്ല. ഹോം സ്ക്രീനിൽ ഇനിയും സ്ഥലമില്ല."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "വിജിറ്റ് ചേർക്കാനാവില്ല. ഹോം സ്ക്രീനിൽ ഇനിയും സ്ഥലമില്ല."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "ആപ്ലിക്കേഷൻ നേരത്തേതന്നെ നിലവിലുണ്ട്."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "വിജിറ്റ് നേരത്തേതന്നെ നിലവിലുണ്ട്."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "ऍप्स"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "विजेट"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "काढण्यास अक्षम."
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "ते हलवण्या साठी विजेट टॅप आणि होल्ड करा."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "होम स्क्रीन बदलली."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "लोड होत आहे..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "डेटा लोड करण्यामध्ये अक्षम. पुनर्प्रयत्न करण्यासाठी टॅप करा."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "अनुप्रयोग जोडण्यात अक्षम. मुख्य स्क्रीनवर कोणतेही अधिक कक्ष नाहीत."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "विजेट जोडण्यात अक्षम. मुख्य स्क्रीनवर कोणतेही अधिक कक्ष नाहीत."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "अनुप्रयोग आधीपासूनच अस्तित्वात आहे."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "विजेट आधीपासूनच अस्तित्वात आहे."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "Aplikasi"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Widget"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "Tidak dapat mengalih keluar."
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "Ketik dan tahan widget untuk mengalihkannya."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "Skrin utama ditukar."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "Memuat…"
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "Tidak dapat memuatkan data. Ketik untuk mencuba semula."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Tidak dapat menambah aplikasi. Tiada ruang pada skrin utama."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Tidak dapat menambah widget. Tiada ruang pada skrin utama."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "Aplikasi telah wujud."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "Widget telah wujud."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "အက္ပ္မ်ား"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "၀စ္ဂ်စ္တ္"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "ျဖဳတ္ရန္ မရႏိုင္ပါ။"
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "ဝစ္ဂတ္အား ေရႊ႕ရန္ ဤအား ႏွိပ္ျပီး ကိုင္ထားပါ။"
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "မူလ ဖန္သားျပင္ ေျပာင္းထားသည္။"
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "အခ်က္အလက္ျဖည့္သြင္းေနပါသည္…"
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "ေဒတာ တင္ရန္ မရႏိုင္ပါ။ ျပန္ၾကိဳးစားရန္ ႏွိပ္ပါ။"
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "အပလီေကးရွင္းကို ေပါင္းထည့္လို႔ မရႏိုင္ပါ။ မူလ ဖန္သားျပင္ေပၚ၌ အခန္းလြတ္ေနရာ ေနာက္ထပ္ မရွိေတာ့ပါ။"
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "ဝစ္ဂက္စ္ကို ေပါင္းထည့္လို႔ မရႏိုင္ပါ။ မူလ ဖန္သားျပင္ေပၚ၌ အခန္းလြတ္ေနရာ ေနာက္ထပ္ မရွိေတာ့ပါ။"
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "အပလီေကးရွင္းက ရွိႏွင့္ေနၿပီးသား ျဖစ္သည္။"
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "ဝစ္ဂက္စ္က ရွိႏွင့္ေနၿပီးသား ျဖစ္သည္။"
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "Apper"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Widget"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "Kan ikke fjerne."
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "Trykk på og hold en widget for å flytte den."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "Startskjerm endret."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "Åpner..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "Kan ikke laste data. Trykk for å prøve på nytt."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Kan ikke legge appen. Ikke mer plass på startskjermbildet."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Kan ikke legge widgeten. Ikke mer plass på startskjermbildet."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "Appen finnes allerede."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "Widgeten finnes allerede."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "एप्स"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "विजिट"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "हटाउन असमर्थ छ।"
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "विजिटलाई सार्न ट्याप गरि समात्नुहोस्।"
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "गृह स्क्रीन परिवर्तित भयो।"
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "लोड हुँदै छ..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "डाटा लोड गर्न सकेन। पुन: प्रयास गर्नुहोस् मा ट्याप गर्नुहोस्।"
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "अनुप्रयोग थप्न असक्षम। गृह स्क्रीनमा थप स्थान छैन।"
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "विजिट थप्न असक्षम। गृह स्क्रीनमा थप स्थान छैन।"
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "अनुप्रयोगहरू पहिलेनै अवस्थित छ।"
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "विजिट पहिलेनै अवस्थित छ।"
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "Apps"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Widget"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "Kan niet verwijderen."
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "Tik op widget en houd vast om deze te verplaatsen."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "Startscherm gewijzigd."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "Laden..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "Kan gegevens niet laden. Tik om opnieuw te proberen."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Kan applicatie niet toevoegen. Geen ruimte meer op startscherm."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Kan widget niet toevoegen. Geen ruimte meer op startscherm."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "Applicatie bestaat al."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "Widget bestaat al."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "ଆପ୍ଲିକେସନଗୁଡିକ"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "ୱିଜେଟ୍"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "ଅପସାରଣ କରିବାକୁ ଅସମର୍ଥ।"
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "ଏହା ଘୁଞ୍ଚାଇବାକୁ ଏକ ୱିଜେଟ୍ ଟ୍ୟାପ୍ କରି ଧରି ରଖନ୍ତୁ।"
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "ହୋମ୍ ସ୍କ୍ରିନ୍ ପରିବର୍ତ୍ତନ ହେଲା।"
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "ଲୋଡ୍ କରୁଛି..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "ଡାଟା ଲୋଡ୍ କରିବାକୁ ଅସମର୍ଥ। ପୁନଃଚେଷ୍ଟା କରିବାକୁ ଟ୍ୟାପ୍ କରନ୍ତୁ।"
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "ଆପ୍ଲିକେସନ୍ ଯୋଡିବାକୁ ଅସମର୍ଥ। ହୋମ୍ ସ୍କ୍ରିନରେ ଆଉ ଅଧିକ ପ୍ରକୋଷ୍ଟ ନାହିଁ।"
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "ୱିଜାଟ୍ ଯୋଡିବାକୁ ଅସମର୍ଥ। ହୋମ୍ ସ୍କ୍ରିନରେ ଆଉ ଅଧିକ ପ୍ରକୋଷ୍ଟ ନାହିଁ।"
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "ଆପ୍ଲିକେସନ୍ ପୂର୍ବରୁ ବିଦ୍ୟମାନ ରହିଛି।"
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "ୱିଜାଟ୍ ପୂର୍ବରୁ ବିଦ୍ୟମାନ ରହିଛି।"
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "ਐਪਸ"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "ਵਿੱਜੇਟ"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "ਹਟਾਉਣ ਵਿੱਚ ਅਸਮਰੱਥ।"
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "ਵਿੱਜੇਟ ਮੂਵ ਕਰਨ ਲਈ ਇਸਨੂੰ ਟੈਪ ਅਤੇ ਹੋਲਡ ਕਰੋ।"
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "ਹੋਮ ਸਕ੍ਰੀਨ ਬਦਲੀ।"
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "ਲੋਡ ਹੋ ਰਿਹਾ ਹੈ..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "ਡੈਟਾ ਨੂੰ ਲੋਡ ਕਰਨ ਵਿੱਚ ਅਸਮਰੱਥ। ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰਨ ਲਈ ਟੈਪ ਕਰੋ।"
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "ਅਨੁਪ੍ਰਯੋਗ ਜੋੜ੍ਹਣ ਵਿੱਚ ਅਸਮਰੱਥ। ਹੋਮ ਸਕ੍ਰੀਨ ਵਿੱਚ ਹੋਰ ਰੂਮ ਨਹੀਂ।"
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "ਵਿਜੇਟ ਜੋੜਨ ਵਿੱਚ ਅਸਮਰੱਥ। ਹੋਮ ਸਕ੍ਰੀਨ ਵਿੱਚ ਹੋਰ ਰੂਮ ਨਹੀਂ।"
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "ਅਨੁਪ੍ਰਯੋਗ ਪਹਿਲਾਂ ਤੋਂ ਹੀ ਮੌਜੂਦ ਹੈ।"
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "ਵਿਜੇਟ ਪਹਿਲਾਂ ਤੋਂ ਹੀ ਮੌਜੂਦ ਹੈ।"
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "Aplikacje"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Widget"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "Nie można usunąć."
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "Dotknij widget, przytrzymaj go, aby przesunąć."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "Zmieniono ekran startowy."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "Ładuję..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "Nie można załadować danych. Dotknij, aby spróbować ponownie."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Nie można dodać aplikacji. Na ekranie startowym nie ma już miejsca."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Nie można dodać widgetu. Na ekranie startowym nie ma już miejsca."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "Aplikacja już istnieje."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "Widget już istnieje."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "Aplicativos"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Widget"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "Impossível remover."
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "Toque e mantenha pressionada um widget para movê-lo."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "Tela de início alterada."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "Carregando..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "Não é possível carregar os dados. Toque para tentar novamente."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Não é possível adicionar o aplicativo. Nenhum local na tela de início."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Não é possível adicionar o widget. Nenhum local na tela de início."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "O aplicativo já existe."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "O widget já existe."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "Aplicações"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Widget"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "Impossível remover."
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "Toque, sem soltar, um widget para o mover."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "Ecrã principal alterado."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "A carregar..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "Impossível carregar dados. Toque para tentar novamente."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Impossível adicionar aplicação. Já não há espaço no ecrã principal."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Impossível adicionar widget. Já não há espaço no ecrã principal."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "Aplicação já existe."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "Widget já existe."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "Aplicaţii"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Widget"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "Imposibil de eliminat"
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "Ţineţi apăsat pe un widget pentru a-l muta."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "Ecranul de pornire s-a modificat."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "Încărcare..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "Datele nu pot fi încărcate. Atingeţi pentru a reîncerca."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Aplicaţia nu poate fi adăugată. Ecranul de pornire este plin."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Widgetul nu poate fi adăugat. Ecranul de pornire este plin."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "Aplicaţia există deja."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "Widgetul există deja."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "Приложения"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Виджеты"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "Невозможно удалить."
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "Для перемещения виджета нажмите и удерживайте его."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "Главный экран изменен."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "Загрузка..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "Не удалось загрузить данные. Коснитесь для повтора"
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Не удалось добавить приложение. Нет места на этом главном экране."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Не удалось добавить виджет. Нет места на этом главном экране."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "Приложение уже существует."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "Виджет уже существует."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "යෙදුම්"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "විජෙට්ටුව"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "ඉවත් කළ නොහැක."
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "විජෙට්ටුව චලනය කිරීමට ඊට තට්ටු කර තබා ගන්න."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "මුල් පිටු තිරය වෙනස් කෙරිණි."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "පූරණය කරමින්..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "දත්ත ප්රවේශනය කිරීමට නොහැකිය. යළි උත්සාහ කිරීමට තට්ටු කරන්න"
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "යෙදුම එක් කිරීමට නොහැකි විය. මුල්පිටු තිරය මත තවත් ඉඩ නැත."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "විජෙට්ටුවක් එක් කළ නොහැක. මුල්පිටු තිරය මත තවත් ඉඩ නැත."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "යෙදුම දැනටමත් තිබේ."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "විජට්ටුව දැනටමත් පවතී."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "Aplikácie"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Widget"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "Nedá sa odstrániť."
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "Ťukn. na miniaplikáciu a podržaním ju premiestnite."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "Domovská obrazovka sa zmenila."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "Načítava sa..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "Nemožno načítať údaje. Ťuknutím to môžete skúsiť znova."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Aplikáciu nemožno pridať. Na domovskej obrazovke už nie je voľné miesto."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Miniaplikáciu nemožno pridať. Na domovskej obrazovke už nie je voľné miesto."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "Aplikácia už existuje."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "Miniaplikácia už existuje."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "Aplikacije"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Pripomoček"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "Ni mogoče odstraniti."
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "Pritisnite in držite pripomoček, da ga premaknete."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "Domači zaslon je spremenjen."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "Nalaganje..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "Podatkov ni mogoče naložiti. Pritisnite, da poskusite znova."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Aplikacije ni mogoče dodati. Na domačem zaslonu ni več prostora."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Pripomočka ni mogoče dodati. Na domačem zaslonu ni več prostora."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "Aplikacija že obstaja."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "Pripomoček že obstaja."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "Aplikacionet"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Mini-aplikacion"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "Nuk mund të heqë."
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "Prek dhe mbaj miniaplikacionin për ta lëvizur."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "Ekrani bazë u ndryshua."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "Duke ngarkuar..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "Nuk mund të ngarkoj të dhëna. Trokit për të riprovuar."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Nuk mund të shtoj aplikacionin. Nuk ka më vend në ekranin bazë."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Nuk mund të shtoj widget-in. Nuk ka më vend në ekranin bazë."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "Aplikacioni ekziston tashmë."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "Widget-i ekziston tashmë."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "Aplikacije"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Widget"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "Nemoguće ukloniti."
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "Kucni i zadrži widget radi njegovog premeštanja."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "Početni ekran je promenjen."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "Učitavanje..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "Učitavanje podataka nije moguće. Kucni za ponovni pokušaj."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Nije moguće dodati aplikaciju. Nema više mesta na početnom ekranu."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Nije moguće dodati widget. Nema više mesta na početnom ekranu."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "Aplikacija već postoji."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "Widget već postoji."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "Program"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Widget"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "Det går inte att ta bort."
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "Tryck på och håll ned en widget för att flytta den."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "Startsidan har ändrats."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "Laddar..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "Det går inte att läsa in data. Tryck om du vill försöka igen."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Kan inte lägga till program. Det finns ingen mer plats på hemskärmen."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Kan inte lägga till widget. Det finns ingen mer plats på hemskärmen."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "Programmet finns redan."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "Widgeten finns redan."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "ப.பாடுகள்"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "விட்ஜெட்"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "அகற்ற முடியவில்லை."
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "ஒரு விட்ஜெட்டை இதற்கு நகர்த்த டேப் செய்து வைத்திருக்கவும்."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "முகப்புத் திரை மாற்றப்பட்டது."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "லோடிங்..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "தரவை ஏற்ற இயலவில்லை. மீண்டும் முயலவென டேப் செய்க."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "பயன்பாட்டை சேர்க்க இயலவில்லை. முகப்புத் திரையில் இடமில்லை."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "விட்ஜெட்டைச் சேர்க்க முடியவில்லை. முகப்புத் திரையில் இடமில்லை."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "பயன்பாடு முன்பே உள்ளது."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "விட்ஜெட் முன்பே உள்ளது."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "ఆప్స్"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "విడ్జెట్"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "తీసివేయడం సాధ్యం కాదు."
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "దీన్ని తరలించేందుకు ఒక విడ్జెట్ను నొక్కి పట్టి ఉంచండి."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "హోమ్ స్క్రీన్ మారింది."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "లోడ్ అవుతోంది..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "డేటాను లోడ్ చేయడం సాధ్యం కాదు. మళ్లీ ప్రయత్నించడానికి ట్యాప్ చేయండి."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "అప్లికేషన్ని జోడించడం సాధ్యం కాదు. హోమ్ స్క్రీన్లో గది లేదు."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "విడ్జెట్ను జోడించడం సాధ్యం కాదు. హోమ్ స్క్రీన్లో గది లేదు."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "అప్లికేషన్ ఇప్పటికే ఉంది."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "విడ్జెట్ ఇప్పటికే ఉంది."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "แอพ"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Widget"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "ลบไม่ได้"
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "สัมผัส Widget ค้างไว้เพื่อเลื่อน"
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "เปลี่ยนหน้าจอหลักแล้ว"
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "โหลด..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "ไม่สามารถโหลดข้อมูลได้ สัมผัสเพื่อลองอีกครั้ง"
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "ไม่สามารถเพิ่มแอพพลิเคชั่นได้ ไม่มีที่ว่างเพิ่มในหน้าจอหลัก"
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "ไม่สามารถเพิ่มวิดเจ็ท ไม่มีที่ว่างเพิ่มในหน้าจอหลัก"
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "มีแอพพลิเคชั่นอยู่แล้ว"
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "มีวิดเจ็ทอยู่แล้ว"
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "Uygulamalar"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Widget"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "Kaldırılamıyor"
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "Bir widget'ı taşımak için dokunun ve bırakmayın."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "Ana ekran değişti."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "Yükleniyor..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "Veri yüklenemiyor. Tekrar denemek için dokunun."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Uygulama eklenemiyor. Ana sayfa ekranında yer yok."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Widget eklenemiyor. Ana sayfa ekranında yer yok."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "Uygulama zaten mevcut."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "Widget zaten mevcut."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "Програми"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Віджет"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "Неможливо видалити."
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "Натисніть і утримуйте віджет, щоб перемістити його."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "Головний екран змінено."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "Завантаження..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "Неможливо завантажити дані. Натисніть, щоб спробувати ще раз"
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Неможливо додати програму. На цьому екрані оформлення більше немає місця."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Неможливо додати віджет. На цьому екрані оформлення більше немає місця."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "Така програма вже існує."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "Такий віджет уже існує."
-
+++ /dev/null
-#!/bin/sh
-
-PACKAGE=volume
-SRCROOT=../src
-POTFILES=POTFILES.in
-
-#ALL_LINGUAS= ar bg ca cs da de_DE el_GR en en_GB en_US es_ES fi fr_FR he hi hr hu id it_IT ja_JP ko_KR lt lv ms nl_NL no pl pt_PT ro ru_RU sk sl sr sv th tr_TR uk vi zh_CN zh_HK zh_TW
-ALL_LINGUAS="ar bg ca cs da de_DE el_GR en en_GB en_US es_ES fi fr_FR he hi hr hu id it_IT ja_JP ko_KR lt lv ms nl_NL no pl pt_PT ro ru_RU sk sl sr sv th tr_TR uk vi zh_CN zh_HK zh_TW"
-
-XGETTEXT=/usr/bin/xgettext
-MSGMERGE=/usr/bin/msgmerge
-
-echo -n "Make ${PACKAGE}.pot "
-if [ ! -e $POTFILES ] ; then
- echo "$POTFILES not found"
- exit 1
-fi
-
-$XGETTEXT --default-domain=${PACKAGE} --directory=${SRCROOT} \
- --add-comments --keyword=_ --keyword=N_ --files-from=$POTFILES
-if [ $? -ne 0 ]; then
- echo "xgettext error"
- exit 1
-fi
-
-if [ ! -f ${PACKAGE}.po ]; then
- echo "No such file: ${PACKAGE}.po"
- exit 1
-fi
-
-rm -f ${PACKAGE}.pot && mv ${PACKAGE}.po ${PACKAGE}.pot
-echo "done"
-
-for LANG in $ALL_LINGUAS; do
- echo "$LANG : "
-
- if [ ! -e $LANG.po ] ; then
- sed 's/CHARSET/UTF-8/g' ${PACKAGE}.pot > ${LANG}.po
- echo "${LANG}.po created"
- else
- if $MSGMERGE ${LANG}.po ${PACKAGE}.pot -o ${LANG}.new.po ; then
- if cmp ${LANG}.po ${LANG}.new.po > /dev/null 2>&1; then
- rm -f ${LANG}.new.po
- else
- if mv -f ${LANG}.new.po ${LANG}.po; then
- echo ""
- else
- echo "msgmerge for $LANG.po failed: cannot move $LANG.new.po to $LANG.po" 1>&2
- rm -f ${LANG}.new.po
- exit 1
- fi
- fi
- else
- echo "msgmerge for $LANG failed!"
- rm -f ${LANG}.new.po
- fi
- fi
- echo ""
-done
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "ایپلیکیشنز"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "وڈجیٹ"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "ہٹانے سے قاصر۔"
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "اسے منتقل کرنے کے لیے کسی وجٹ کو دبائیں یا دبا کر رکھیں"
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "ہوم اسکرین تبدیل ہوگئی۔"
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "لوڈنگ..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "ڈیٹا لوڈ کرنے سے قاصر۔ پھرکوشش کرنے کے لئے تھپتھپائیں۔"
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "اپلیکیشن شامل کرنے سے قاصر۔ ہوم اسکرین پر مزید جگہ نہیں ہے۔"
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "ویجٹ لوڈ کرنے سے قاصر۔ ہوم اسکرین پر مزید جگہ نہیں ہے۔"
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "اپلیکیشن پہلے سے ہی موجود ہے۔"
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "ویجٹ پہلے سے ہی موجود ہے۔"
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "Ilovalar"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Vidjet"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "Olib tashlab bo‘lmaydi."
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "Vidjetni ko‘chirish uchun uni bosib turing."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "Asosiy ekran o‘zgartirildi."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "Yuklanmoqda..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "Ma’lumotni yuklab bo‘lmaydi. Qayta urinib ko‘rish uchun cherting"
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Ilovani qo‘shib bo‘lmaydi. Asosiy ekranda boshqa joy yo‘q."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Vidjetni qo‘shib bo‘lmaydi. Asosiy ekranda boshqa joy yo‘q."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "Ilova avvaldan mavjud."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "Vidjet oldindan mavjud."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "Ứng dụng"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Widget"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "Không thể xóa."
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "Chạm và giữ để di chuyển widget."
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "Màn hình chờ đã thay đổi."
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "Đang tải…"
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "Không thể tải dữ liệu. Hãy chạm để thử lại."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Không thể thêm ứng dụng. Không còn chỗ trên màn hình chính."
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "Không thể thêm tiện ích. Không còn chỗ trên màn hình chính."
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "Ứng dụng đã tồn tại."
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "Tiện ích đã tồn tại."
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "应用程序"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "桌面小组件"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "无法移除。"
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "点击并按住小组件以进行移动。"
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "主屏已更改。"
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "载入中…"
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "无法载入数据。轻敲以重试。"
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "无法添加应用程序。主屏幕无更多空间。"
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "无法添加小组件。主屏幕无更多空间。"
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "应用程序已存在。"
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "小组件已存在。"
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "應用程式"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Widget"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "無法移除。"
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "輕觸並按住 Widget 以移動。"
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "主螢幕已變更。"
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "正在載入..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "無法載入數據。輕觸以重試。"
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "無法加入應用程式。主螢幕空間不足。"
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "無法加入 Widget。主螢幕空間不足。"
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "應用程式已存在。"
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "Widget 已存在。"
-
+++ /dev/null
-msgid "IDS_IDLE_BODY_APPS"
-msgstr "Apps"
-
-msgid "IDS_IDLE_HEADER_WIDGET"
-msgstr "Widget"
-
-msgid "IDS_IM_POP_UNABLE_TO_REMOVE"
-msgstr "無法刪除。"
-
-msgid "IDS_COM_BODY_TAP_AND_HOLD_A_WIDGET_TO_MOVE_IT_ABB"
-msgstr "輕觸並按住 Widget 以移動。"
-
-msgid "IDS_ST_BODY_HOME_SCREEN_CHANGED_ABB"
-msgstr "主螢幕已變更。"
-
-msgid "IDS_IDLE_POP_LOADING_ING"
-msgstr "正在載入..."
-
-msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
-msgstr "無法載入資料。輕觸以重試。"
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_APPLICATION_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "無法新增應用程式。主螢幕空間不足。"
-
-msgid "IDS_HS_POP_UNABLE_TO_ADD_WIDGET_NO_MORE_ROOM_ON_HOME_SCREEN"
-msgstr "無法新增 widget。主螢幕空間不足。"
-
-msgid "IDS_HS_TPOP_APPLICATION_ALREADY_EXISTS"
-msgstr "應用程式已存在。"
-
-msgid "IDS_HS_TPOP_WIDGET_ALREADY_EXISTS"
-msgstr "widget 已存在。"
-
+++ /dev/null
-/*
- * Samsung API
- * Copyright (c) 2013 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 <stdio.h>
-#include <libintl.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <errno.h>
-
-#include <Elementary.h>
-#include <Ecore.h>
-#include <Ecore_X.h>
-#include <Ecore_Evas.h>
-#include <Evas.h>
-#include <Edje.h>
-
-#include <ail.h>
-
-#include <dynamicbox.h>
-#include <dynamicbox_service.h>
-#include <dynamicbox_errno.h>
-#include <dynamicbox_buffer.h>
-
-#if defined(LOG_TAG)
-#undef LOG_TAG
-#endif
-#define LOG_TAG "DYNAMICBOX_EVAS"
-#include <dlog.h>
-
-#include "dynamicbox_evas.h"
-
-#if !defined(SECURE_LOGD)
-#define SECURE_LOGD LOGD
-#endif
-
-#if !defined(SECURE_LOGW)
-#define SECURE_LOGW LOGW
-#endif
-
-#if !defined(SECURE_LOGE)
-#define SECURE_LOGE LOGE
-#endif
-
-#if !defined(S_)
-#define S_(str) dgettext("sys_string", str)
-#endif
-
-#if !defined(T_)
-#define T_(str) dgettext(PACKAGE, str)
-#endif
-
-#if !defined(N_)
-#define N_(str) (str)
-#endif
-
-#if !defined(_)
-#define _(str) gettext(str)
-#endif
-
-
-#if !defined(DbgPrint)
-#define DbgPrint(format, arg...) SECURE_LOGD(format, ##arg)
-#endif
-
-#if !defined(ErrPrint)
-#define ErrPrint(format, arg...) SECURE_LOGE(format, ##arg)
-#endif
-
-#if !defined(WarnPrint)
-#define WarnPrint(format, arg...) SECURE_LOGW(format, ##arg)
-#endif
-
-#if !defined(DYNAMICBOX_EVAS_RESOURCE_EDJ)
-#define DYNAMICBOX_EVAS_RESOURCE_EDJ "/usr/share/dynamicbox-evas/res/edje/dynamicbox.edj"
-#endif
-
-#if !defined(DYNAMICBOX_EVAS_UNKNOWN)
-#define DYNAMICBOX_EVAS_UNKNOWN "/usr/apps/com.samsung.w-home/res/images/unknown.png"
-#endif
-
-#if !defined(DYNAMICBOX_EVAS_RESOURCE_GBAR)
-#define DYNAMICBOX_EVAS_RESOURCE_GBAR "gbar"
-#endif
-
-#if !defined(DYNAMICBOX_EVAS_RESOURCE_LB)
-#define DYNAMICBOX_EVAS_RESOURCE_LB "dynamicbox"
-#endif
-
-#if !defined(DYNAMICBOX_EVAS_RESOURCE_IMG)
-#define DYNAMICBOX_EVAS_RESOURCE_IMG "dynamicbox,image"
-#endif
-
-#if !defined(DYNAMICBOX_EVAS_RESOURCE_OVERLAY_LOADING)
-#define DYNAMICBOX_EVAS_RESOURCE_OVERLAY_LOADING "overlay"
-#endif
-
-#define DEFAULT_OVERLAY_COUNTER 2
-#define DEFAULT_OVERLAY_WAIT_TIME 1.0f
-
-#define DBOX_CLASS_NAME "dynamicbox"
-
-#define DBOX_KEEP_BUFFER -2
-
-#define DEFAULT_CLUSTER "user,created"
-#define DEFAULT_CATEGORY "default"
-
-int errno;
-
-/*!
- * \note
- * Detect click event if the pointer does moved in this region (x , y < 5 pixels)
- */
-#define CLICK_REGION 22
-
-static struct {
- Evas_Smart_Class sc;
- Evas_Smart *smart;
- Eina_List *list;
- struct {
- Eina_List *delete_list;
- Eina_List *create_list;
- } raw_event;
- int screen_width;
- int screen_height;
-
- union _conf {
- struct _field {
- unsigned int user_view_port: 1;
- unsigned int force_to_buffer: 1;
- unsigned int support_gbar: 1;
- unsigned int manual_pause_resume: 1;
- unsigned int use_fixed_size: 1;
- unsigned int easy_mode: 1;
- unsigned int is_scroll_x: 1;
- unsigned int is_scroll_y: 1;
- unsigned int auto_feed: 1;
- unsigned int delayed_pause_resume: 1;
- unsigned int sensitive_move: 1;
- unsigned int render_animator: 1;
- unsigned int auto_render_selector: 1;
-
- unsigned int reserved: 19;
- } field;
- unsigned int mask;
- } conf;
-
- Evas_Object *win;
- Ecore_Animator *renderer;
- Eina_List *dbox_dirty_objects;
- Eina_List *gbar_dirty_objects;
-} s_info = {
- .sc = EVAS_SMART_CLASS_INIT_NAME_VERSION(DBOX_CLASS_NAME),
- .smart = NULL,
- .list = NULL,
- .raw_event = {
- .delete_list = NULL,
- .create_list = NULL,
- },
- .conf = {
- .mask = 0,
- },
- .screen_width = 720,
- .screen_height = 1280,
- .win = NULL,
- .renderer = NULL,
- .dbox_dirty_objects = NULL,
- .gbar_dirty_objects = NULL,
-};
-
-struct access_ret_cb_data {
- Evas_Object *obj;
- void (*ret_cb)(Evas_Object *, int, void *);
- void *data;
-};
-
-struct acquire_data {
- struct widget_data *data;
- Evas_Object *content;
- int w;
- int h;
-};
-
-enum CANCEL_CLICK {
- CANCEL_DISABLED = 0x0,
- CANCEL_USER = 0x01,
- CANCEL_PROCESSED = 0x02
-};
-
-struct widget_data {
- enum {
- WIDGET_DATA_CREATED = 0x00beef00,
- WIDGET_DATA_DELETED = 0x0d0e0a0d,
- } state;
- struct dynamicbox *handle;
- Evas *e;
- Evas_Object *stage; /*!< Do not resize thie directly, it should be resized via XX_update_geometry */
- Evas_Object *parent;
-
- Evas_Object *dbox_layout; /*!< Layout of Dynamicbox content part */
- Evas_Object *gbar_layout; /*!< Layout of GBAR content part */
-
- Evas_Object *dynamicbox; /*!< Container object */
-
- struct view_port {
- int x;
- int y;
- int w;
- int h;
- } view_port;
-
- char *dbox_id;
- char *content;
- char *cluster;
- char *category;
- double period;
-
- void *dbox_fb;
- void *gbar_fb;
-
- unsigned int gbar_pixmap;
- unsigned int dbox_pixmap;
-
- unsigned int *gbar_extra;
- unsigned int *dbox_extra;
- int gbar_extra_cnt;
- int dbox_extra_cnt;
-
- int dbox_latest_idx; /* -1 = primary buffer, 0 ~ = extra buffer */
- int gbar_latest_idx; /* -1 = primary buffer, 0 ~ = extra buffer */
-
- struct down {
- int x;
- int y;
-
- struct {
- int x;
- int y;
- int w;
- int h;
- } geo;
- } down;
-
- int x;
- int y;
-
- int dbox_width;
- int dbox_height;
- int size_type;
-
- union {
- struct {
- unsigned int pressed: 1; /**< Mouse is pressed */
- unsigned int touch_effect: 1; /**< Requires to play touch effect */
- unsigned int mouse_event: 1; /**< Requires to feed mouse event */
- unsigned int scroll_x: 1; /**< */
- unsigned int scroll_y: 1;
- unsigned int faulted: 1;
- unsigned int flick_down: 1;
- unsigned int gbar_created: 1;
-
- unsigned int created: 1;
- unsigned int deleted: 1;
- unsigned int dbox_pixmap_acquire_requested: 1;
- unsigned int gbar_pixmap_acquire_requested: 1;
- unsigned int cancel_scroll_x: 1;
- unsigned int cancel_scroll_y: 1;
- unsigned int cancel_click: 2;
- unsigned int disable_preview: 1;
- unsigned int disable_loading: 1;
- unsigned int disable_text: 1;
- unsigned int dbox_overlay_loaded: 1;
- unsigned int gbar_overlay_loaded: 1;
-
- unsigned int freeze_visibility: 1;
-
- unsigned int dbox_dirty: 1;
- unsigned int gbar_dirty: 1;
-
- unsigned int send_delete: 1;
- unsigned int permanent_delete: 1;
-
- unsigned int reserved: 5;
- } field; /* Do we really has performance loss? */
-
- unsigned int flags;
- } is;
-
- int refcnt;
- int overlay_update_counter;
- Ecore_Timer *overlay_timer;
- int freezed_visibility;
-};
-
-enum EFFECT_MASK {
- EFFECT_NONE = 0x0,
- EFFECT_WIDTH = 0x01,
- EFFECT_HEIGHT = 0x02,
- EFFECT_BOTH = 0x03,
- EFFECT_MOVE = 0x10
-};
-
-struct animation_data {
- Ecore_Timer *timer;
- Evas_Object *obj;
-
- unsigned int effect_mask;
- int w;
- int h;
- int x;
- int y;
-};
-
-struct raw_event_cbdata {
- void (*cb)(struct dynamicbox_evas_raw_event_info *info, void *data);
- void *data;
-};
-
-static int dynamicbox_fault_handler(enum dynamicbox_fault_type fault, const char *pkgname, const char *filename, const char *funcname, void *data);
-static int dynamicbox_event_handler(struct dynamicbox *handle, enum dynamicbox_event_type event, void *data);
-
-static void dbox_created_cb(struct dynamicbox *handle, int ret, void *cbdata);
-static void dbox_overlay_loading(struct widget_data *data);
-static void dbox_overlay_faulted(struct widget_data *data);
-static void dbox_overlay_disable(struct widget_data *data, int no_timer);
-
-static void gbar_overlay_loading(struct widget_data *data);
-static void gbar_overlay_disable(struct widget_data *data);
-
-static void update_dbox_geometry(struct acquire_data *acquire_data);
-static void update_gbar_geometry(struct acquire_data *acquire_data);
-static void update_stage_geometry(struct acquire_data *acquire_data);
-static void animator_del_cb(void *cbdata, Evas *e, Evas_Object *obj, void *event_info);
-
-static void remove_dbox_dirty_object_list(struct widget_data *data);
-static void remove_gbar_dirty_object_list(struct widget_data *data);
-static void append_dbox_dirty_object_list(struct widget_data *data, int idx);
-static void append_gbar_dirty_object_list(struct widget_data *data, int idx);
-static void dynamicbox_event_dbox_updated(struct widget_data *data);
-static void dynamicbox_event_gbar_updated(struct widget_data *data);
-
-static struct widget_data *get_smart_data(Evas_Object *dynamicbox)
-{
- if (dynamicbox && evas_object_smart_type_check(dynamicbox, DBOX_CLASS_NAME)) {
- struct widget_data *data;
-
- data = evas_object_smart_data_get(dynamicbox);
- if (data) {
- if (data->state == WIDGET_DATA_CREATED) {
- return data;
- }
-
- ErrPrint("smart data is not valid\n");
- } else {
- ErrPrint("smart data is not exists\n");
- }
- }
-
- return NULL;
-}
-
-static inline void reset_scroller(struct widget_data *data)
-{
- Evas_Object *scroller;
-
- if (!data->dbox_layout) {
- return;
- }
-
- scroller = elm_object_part_content_get(data->dbox_layout, "scroller");
- if (!scroller) {
- return;
- }
-
- elm_scroller_region_show(scroller, 0, data->dbox_height >> 1, data->dbox_width, data->dbox_height);
-}
-
-static void invoke_raw_event_callback(enum dynamicbox_evas_raw_event_type type, const char *pkgname, Evas_Object *dynamicbox, int error)
-{
- struct dynamicbox_evas_raw_event_info info;
- struct raw_event_cbdata *cbdata;
- Eina_List *l;
- Eina_List *n;
-
- info.pkgname = pkgname;
- info.dynamicbox = dynamicbox;
- info.error = error;
- info.type = type;
-
- switch (type) {
- case DYNAMICBOX_EVAS_RAW_DELETE:
- EINA_LIST_FOREACH_SAFE(s_info.raw_event.delete_list, l, n, cbdata) {
- if (cbdata->cb) {
- cbdata->cb(&info, cbdata->data);
- }
- }
- break;
- case DYNAMICBOX_EVAS_RAW_CREATE:
- EINA_LIST_FOREACH_SAFE(s_info.raw_event.create_list, l, n, cbdata) {
- if (cbdata->cb) {
- cbdata->cb(&info, cbdata->data);
- }
- }
- break;
- default:
- break;
- }
-}
-
-static int find_size_type(struct widget_data *data, int w, int h)
-{
- int cnt = DBOX_NR_OF_SIZE_LIST;
- int i;
- int _w[DBOX_NR_OF_SIZE_LIST];
- int _h[DBOX_NR_OF_SIZE_LIST];
- int type = DBOX_SIZE_TYPE_UNKNOWN;
- int find;
- int ret_type = DBOX_SIZE_TYPE_UNKNOWN;
- int delta;
-
- if (dynamicbox_service_get_supported_sizes(data->dbox_id, &cnt, _w, _h) < 0) {
- ErrPrint("No available sizes: %s\n", data->dbox_id);
- return DBOX_SIZE_TYPE_UNKNOWN;
- }
-
- find = 0x7FFFFFFF;
- for (i = 0; i < cnt; i++) {
- type = dynamicbox_service_size_type(_w[i], _h[i]);
-
- if (!s_info.conf.field.easy_mode) {
- switch (type) {
- case DBOX_SIZE_TYPE_EASY_1x1:
- case DBOX_SIZE_TYPE_EASY_3x1:
- case DBOX_SIZE_TYPE_EASY_3x3:
- continue;
- default:
- break;
- }
- } else {
- switch (type) {
- case DBOX_SIZE_TYPE_EASY_1x1:
- case DBOX_SIZE_TYPE_EASY_3x1:
- case DBOX_SIZE_TYPE_EASY_3x3:
- break;
- default:
- continue;
- }
- }
-
- delta = abs(_w[i] - w) + abs(_h[i] - h);
- if (delta < find) {
- find = delta;
- ret_type = type;
- }
- }
-
- return ret_type;
-}
-
-static Eina_Bool effect_animator_cb(void *_data)
-{
- struct animation_data *data = _data;
- int w;
- int h;
- int x;
- int y;
- int move_x = 0;
- int move_y = 0;
-
- evas_object_geometry_get(data->obj, &x, &y, &w, &h);
- if (data->w == w && data->h == h) {
- evas_object_event_callback_del(data->obj, EVAS_CALLBACK_DEL, animator_del_cb);
- evas_object_data_del(data->obj, "animation");
- free(data);
- return ECORE_CALLBACK_CANCEL;
- }
-
- if (data->effect_mask & EFFECT_WIDTH) {
- if (w < data->w) {
- if (data->w - w > 100) {
- w += 20;
- move_x = 20;
- } else if (data->w - w > 10) {
- w += 8;
- move_x = 8;
- } else {
- w++;
- move_x = 1;
- }
- } else if (w > data->w) {
- if (w - data->w > 100) {
- w -= 20;
- move_x = -20;
- } else if (w - data->w > 10) {
- w -= 8;
- move_x = -8;
- } else {
- w--;
- move_x = -1;
- }
- }
- } else {
- w = data->w;
- }
-
- if (data->effect_mask & EFFECT_HEIGHT) {
- if (h < data->h) {
- if (data->h - h > 100) {
- h += 20;
- move_y = 20;
- } else if (data->h - h > 10) {
- h += 8;
- move_y = 8;
- } else {
- h++;
- move_y = 1;
- }
- } else if (h > data->h) {
- if (h - data->h > 100) {
- h -= 20;
- move_y = -20;
- } else if (h - data->h > 10) {
- h -= 8;
- move_y = -8;
- } else {
- h--;
- move_y = -1;
- }
- }
- } else {
- h = data->h;
- }
-
- if (data->effect_mask & EFFECT_MOVE) {
- if (move_x) {
- x -= move_x;
- }
- if (move_y) {
- y -= move_y;
- }
- evas_object_move(data->obj, x, y);
- }
-
- evas_object_resize(data->obj, w, h);
- return ECORE_CALLBACK_RENEW;
-}
-
-static void animator_del_cb(void *cbdata, Evas *e, Evas_Object *obj, void *event_info)
-{
- struct animation_data *data;
-
- data = evas_object_data_del(obj, "animation");
- if (data) {
- ecore_timer_del(data->timer);
- free(data);
- }
-}
-
-static void effect_size_get(Evas_Object *obj, int *w, int *h)
-{
- struct animation_data *data;
-
- data = evas_object_data_get(obj, "animation");
- if (data) {
- *w = data->w;
- *h = data->h;
- } else {
- evas_object_geometry_get(obj, NULL, NULL, w, h);
- }
-}
-
-static void effect_resize(Evas_Object *obj, int w, int h, unsigned int effect_mask)
-{
- struct animation_data *data;
- int ow;
- int oh;
- int ox;
- int oy;
-
- evas_object_geometry_get(obj, &ox, &oy, &ow, &oh);
-
- data = evas_object_data_get(obj, "animation");
- if (data) {
- if (ow == w && oh == h) {
- evas_object_event_callback_del(obj, EVAS_CALLBACK_DEL, animator_del_cb);
- evas_object_data_del(obj, "animation");
- free(data);
- return;
- }
- /*!
- * \note
- * Update to new size
- */
- data->w = w;
- data->h = h;
- return;
- } else if (ow == w && oh == h) {
- return;
- }
-
- data = malloc(sizeof(*data));
- if (!data) {
- ErrPrint("Heap: %s\n", strerror(errno));
- return;
- }
-
- data->obj = obj;
- data->w = w;
- data->h = h;
- data->x = ox;
- data->y = oy;
- data->effect_mask = effect_mask;
-
- data->timer = ecore_timer_add(1.0f/60.0f, effect_animator_cb, data);
- if (!data->timer) {
- free(data);
- return;
- }
-
- evas_object_data_set(obj, "animation", data);
- evas_object_event_callback_add(obj, EVAS_CALLBACK_DEL, animator_del_cb, data);
-}
-
-struct widget_data *widget_ref(struct widget_data *data)
-{
- data->refcnt++;
- return data;
-}
-
-static void dump_handle_list(void)
-{
- Eina_List *l = NULL;
- Eina_List *n;
- Evas_Object *dynamicbox;
- struct widget_data *data;
-
- DbgPrint("============== DUMP ===============");
- EINA_LIST_FOREACH_SAFE(s_info.list, l, n, dynamicbox) {
- data = evas_object_smart_data_get(dynamicbox);
- if (!data) {
- continue;
- }
-
- DbgPrint("data[%p] %s (%s)\n", data, data->dbox_id, data->is.field.faulted ? "faulted" : "loaded");
- }
- DbgPrint("===================================");
-}
-
-struct widget_data *widget_unref(struct widget_data *data)
-{
- data->refcnt--;
- DbgPrint("refcnt: %d (%s)\n", data->refcnt, data->dbox_id);
- if (data->refcnt != 0) {
- return data;
- }
-
- DbgPrint("Destroy widget data %p(%s)\n", data, data->dbox_id);
- free(data->content);
- free(data->dbox_id);
- free(data->cluster);
- free(data->category);
-
- if (data->overlay_timer) {
- ecore_timer_del(data->overlay_timer);
- data->overlay_timer = NULL;
- }
-
- if (data->stage) {
- DbgPrint("Remove Stage\n");
- evas_object_del(data->stage);
- }
-
- if (data->dbox_layout) {
- Evas_Object *content;
-
- content = elm_object_part_content_unset(data->dbox_layout, "dynamicbox,content");
- if (content) {
- Evas_Object *front;
-
- front = elm_object_part_content_unset(content, "front,content");
- if (front) {
- DbgPrint("Front image object is deleted\n");
- evas_object_del(front);
- }
-
- DbgPrint("Content object deleted\n");
- evas_object_del(content);
- }
-
- content = elm_object_part_content_unset(data->dbox_layout, "overlay,content");
- if (content) {
- DbgPrint("Overlay is deleted\n");
- evas_object_del(content);
- }
-
-
- DbgPrint("Remove DBOX Layout\n");
- evas_object_del(data->dbox_layout);
- }
-
- if (data->gbar_layout) {
- Evas_Object *content;
- content = elm_object_part_content_get(data->gbar_layout, "gbar,content");
- if (content) {
- Evas_Object *overlay;
- overlay = elm_object_part_content_unset(content, "overlay,content");
- if (overlay) {
- DbgPrint("Overlay is deleted\n");
- evas_object_del(overlay);
- }
- }
- DbgPrint("Remove GBAR Layout\n");
- evas_object_del(data->gbar_layout);
- }
-
- if (data->dbox_fb) {
- dynamicbox_release_buffer(data->dbox_fb);
- data->dbox_fb = NULL;
- }
-
- if (data->gbar_fb) {
- dynamicbox_release_buffer(data->gbar_fb);
- data->gbar_fb = NULL;
- }
-
- data->state = WIDGET_DATA_DELETED;
- free(data);
- dump_handle_list();
- return NULL;
-}
-
-static void gbar_down_cb(void *cbdata, Evas *e, Evas_Object *obj, void *event_info)
-{
- Evas_Event_Mouse_Down *down = event_info;
- struct widget_data *data = cbdata;
- struct dynamicbox_mouse_event_info minfo;
-
- if (data->state != WIDGET_DATA_CREATED) {
- ErrPrint("Invalid widget data: %p\n", data);
- return;
- }
-
- evas_object_geometry_get(obj, &data->down.geo.x, &data->down.geo.y, &data->down.geo.w, &data->down.geo.h);
-
- data->x = data->down.x = down->canvas.x;
- data->y = data->down.y = down->canvas.y;
- data->is.field.pressed = 1;
- if (s_info.conf.field.auto_render_selector) {
- DbgPrint("Change to direct render\n");
- s_info.conf.field.render_animator = 0;
- }
-
- if (s_info.conf.field.auto_feed) {
- minfo.x = (double)data->down.geo.x;
- minfo.y = (double)data->down.geo.y;
- dynamicbox_feed_mouse_event(data->handle, DBOX_GBAR_MOUSE_SET, &minfo);
- } else {
- minfo.x = (double)(down->canvas.x - data->down.geo.x) / (double)data->down.geo.w;
- minfo.y = (double)(down->canvas.y - data->down.geo.y) / (double)data->down.geo.h;
- dynamicbox_feed_mouse_event(data->handle, DBOX_GBAR_MOUSE_ENTER, &minfo);
- dynamicbox_feed_mouse_event(data->handle, DBOX_GBAR_MOUSE_DOWN, &minfo);
- }
-}
-
-static void gbar_move_cb(void *cbdata, Evas *e, Evas_Object *obj, void *event_info)
-{
- Evas_Event_Mouse_Move *move = event_info;
- struct widget_data *data = cbdata;
- Evas_Coord x, y, w, h;
- struct dynamicbox_mouse_event_info minfo;
-
- if (data->state != WIDGET_DATA_CREATED) {
- ErrPrint("Invalid widget data: %p\n", data);
- return;
- }
-
- if (!data->is.field.pressed) {
- return;
- }
-
- evas_object_geometry_get(obj, &x, &y, &w, &h);
-
- data->x = move->cur.canvas.x;
- data->y = move->cur.canvas.y;
-
- if (data->is.field.cancel_click != CANCEL_DISABLED || !s_info.conf.field.auto_feed) {
- minfo.x = (double)(move->cur.canvas.x - x) / (double)w;
- minfo.y = (double)(move->cur.canvas.y - y) / (double)h;
-
- if (data->is.field.cancel_click == CANCEL_USER) {
- dynamicbox_feed_mouse_event(data->handle, DBOX_GBAR_MOUSE_ON_HOLD, &minfo);
- data->is.field.cancel_click = CANCEL_PROCESSED;
- }
-
- if (!s_info.conf.field.auto_feed) {
- dynamicbox_feed_mouse_event(data->handle, DBOX_GBAR_MOUSE_MOVE, &minfo);
- }
-
- if (s_info.conf.field.auto_render_selector) {
- DbgPrint("Change to direct render\n");
- s_info.conf.field.render_animator = 0;
- }
- }
-
-}
-
-static void dbox_pixmap_del_cb(void *cbdata, Evas *e, Evas_Object *obj, void *event_info)
-{
- struct widget_data *data = cbdata;
-
- if (data->dbox_pixmap) {
- dynamicbox_release_resource_id(data->handle, 0, data->dbox_pixmap);
- data->dbox_pixmap = 0;
- }
-
- if (data->dbox_extra) {
- int idx;
-
- for (idx = 0; idx < dynamicbox_option(DBOX_OPTION_EXTRA_BUFFER_CNT); idx++) {
- if (data->dbox_extra[idx] != 0u) {
- if (dynamicbox_release_resource_id(data->handle, 0, data->dbox_extra[idx]) < 0) {
- ErrPrint("Failed to release %u\n", data->dbox_extra[idx]);
- }
- data->dbox_extra[idx] = 0u;
- }
- }
-
- free(data->dbox_extra);
- data->dbox_extra = NULL;
- }
-}
-
-static void gbar_pixmap_del_cb(void *cbdata, Evas *e, Evas_Object *obj, void *event_info)
-{
- struct widget_data *data = cbdata;
-
- if (data->gbar_pixmap) {
- dynamicbox_release_resource_id(data->handle, 1, data->gbar_pixmap);
- data->gbar_pixmap = 0;
- }
-
- if (data->gbar_extra) {
- int idx;
-
- for (idx = 0; idx < dynamicbox_option(DBOX_OPTION_EXTRA_BUFFER_CNT); idx++) {
- if (data->gbar_extra[idx] != 0u) {
- if (dynamicbox_release_resource_id(data->handle, 0, data->gbar_extra[idx]) < 0) {
- ErrPrint("Failed to release %u\n", data->gbar_extra[idx]);
- }
- data->gbar_extra[idx] = 0u;
- }
- }
-
- free(data->gbar_extra);
- data->gbar_extra = NULL;
- }
-}
-
-static void gbar_up_cb(void *cbdata, Evas *e, Evas_Object *obj, void *event_info)
-{
- Evas_Event_Mouse_Up *up = event_info;
- struct widget_data *data = cbdata;
- Evas_Coord x, y, w, h;
- struct dynamicbox_mouse_event_info minfo;
-
- if (data->state != WIDGET_DATA_CREATED) {
- ErrPrint("Invalid widget data: %p\n", data);
- return;
- }
-
- if (!data->is.field.pressed) {
- return;
- }
-
- evas_object_geometry_get(obj, &x, &y, &w, &h);
-
- if (s_info.conf.field.auto_feed) {
- minfo.x = (double)x / (double)w;
- minfo.y = (double)y / (double)h;
- dynamicbox_feed_mouse_event(data->handle, DBOX_GBAR_MOUSE_UNSET, &minfo);
- } else {
- minfo.x = (double)(up->canvas.x - x) / (double)w;
- minfo.y = (double)(up->canvas.y - y) / (double)h;
-
- if (data->down.geo.x != x || data->down.geo.y != y || data->is.field.cancel_click == CANCEL_USER) {
- dynamicbox_feed_mouse_event(data->handle, DBOX_GBAR_MOUSE_ON_HOLD, &minfo);
- data->is.field.cancel_click = CANCEL_PROCESSED;
- }
-
- dynamicbox_feed_mouse_event(data->handle, DBOX_GBAR_MOUSE_UP, &minfo);
- dynamicbox_feed_mouse_event(data->handle, DBOX_GBAR_MOUSE_LEAVE, &minfo);
- }
-
- data->is.field.cancel_click = CANCEL_DISABLED;
-}
-
-static void dbox_down_cb(void *cbdata, Evas *e, Evas_Object *obj, void *event_info)
-{
- Evas_Event_Mouse_Down *down = event_info;
- struct widget_data *data = cbdata;
-
- if (data->state != WIDGET_DATA_CREATED) {
- ErrPrint("Invalid widget data: %p\n", data);
- return;
- }
-
- if (s_info.conf.field.support_gbar && !data->is.field.gbar_created) {
- data->is.field.flick_down = 1;
- }
-
- data->down.x = data->x = down->canvas.x;
- data->down.y = data->y = down->canvas.y;
- data->is.field.pressed = 1;
- data->is.field.scroll_x = 0;
- data->is.field.scroll_y = 0;
- data->is.field.cancel_scroll_x = 0;
- data->is.field.cancel_scroll_y = 0;
-
- if (s_info.conf.field.auto_render_selector) {
- DbgPrint("Change to direct render\n");
- s_info.conf.field.render_animator = 0;
- }
-
- evas_object_geometry_get(obj, &data->down.geo.x, &data->down.geo.y, &data->down.geo.w, &data->down.geo.h);
-
- if (s_info.conf.field.sensitive_move && (data->down.geo.x != data->view_port.x || data->down.geo.y != data->view_port.y)) {
- data->is.field.pressed = 0;
- if (s_info.conf.field.auto_render_selector) {
- DbgPrint("Change to render animator\n");
- s_info.conf.field.render_animator = 1;
- }
- return;
- }
-
- if (data->handle && !data->is.field.faulted) {
- struct dynamicbox_mouse_event_info minfo;
-
- if (s_info.conf.field.auto_feed && data->is.field.mouse_event) {
- minfo.x = (double)data->down.geo.x;
- minfo.y = (double)data->down.geo.y;
- dynamicbox_feed_mouse_event(data->handle, DBOX_MOUSE_SET, &minfo);
- } else {
- minfo.x = (double)(data->x - data->down.geo.x) / (double)data->down.geo.w;
- minfo.y = (double)(data->y - data->down.geo.y) / (double)data->down.geo.h;
-
- dynamicbox_feed_mouse_event(data->handle, DBOX_MOUSE_ENTER, &minfo);
- dynamicbox_feed_mouse_event(data->handle, DBOX_MOUSE_DOWN, &minfo);
- dynamicbox_feed_mouse_event(data->handle, DBOX_MOUSE_MOVE, &minfo);
- }
- }
-}
-
-static void smart_callback_call(struct widget_data *data, const char *signal, void *cbdata)
-{
- if (data->is.field.deleted || !data->dynamicbox) {
- DbgPrint("Dynamicbox is deleted, ignore smart callback call\n");
- return;
- }
-
- evas_object_smart_callback_call(data->dynamicbox, signal, cbdata);
-}
-
-static void dbox_destroy_gbar_cb(struct dynamicbox *handle, int ret, void *cbdata)
-{
- struct widget_data *data = cbdata;
- Evas_Object *gbar_content;
- struct dynamicbox_evas_event_info info;
-
- if (data->state != WIDGET_DATA_CREATED) {
- ErrPrint("Invalid widget data: %p\n", data);
- return;
- }
-
- data->is.field.gbar_created = 0;
-
- info.error = ret;
- info.event = DBOX_EVENT_GBAR_DESTROYED;
- info.pkgname = data->dbox_id;
- smart_callback_call(data, DYNAMICBOX_SMART_SIGNAL_GBAR_DESTROYED, &info);
-
- DbgPrint("ret: %d\n", ret);
- gbar_content = elm_object_part_content_unset(data->gbar_layout, "gbar,content");
- if (gbar_content) {
- Evas_Native_Surface *surface;
- unsigned int pixmap;
-
- switch (dynamicbox_type(data->handle, 1)) {
- case DBOX_CONTENT_TYPE_RESOURCE_ID:
- if (!s_info.conf.field.force_to_buffer) {
- surface = evas_object_image_native_surface_get(gbar_content);
- if (!surface) {
- ErrPrint("surface is NULL\n");
- evas_object_del(gbar_content);
- break;
- }
-
- pixmap = surface->data.x11.pixmap;
- evas_object_del(gbar_content);
-
- dynamicbox_release_resource_id(data->handle, 1, (int)pixmap);
- if (pixmap == data->gbar_pixmap) {
- data->gbar_pixmap = 0;
- }
- break;
- }
- case DBOX_CONTENT_TYPE_BUFFER:
- if (data->gbar_fb) {
- dynamicbox_release_buffer(data->gbar_fb);
- data->gbar_fb = NULL;
- }
- evas_object_del(gbar_content);
- break;
- case DBOX_CONTENT_TYPE_TEXT:
- break;
- case DBOX_CONTENT_TYPE_UIFW:
- break;
- case DBOX_CONTENT_TYPE_INVALID:
- default:
- break;
- }
- }
-
- if (data->gbar_layout) {
- evas_object_del(data->gbar_layout);
- data->gbar_layout = NULL;
- }
-
- remove_gbar_dirty_object_list(data);
- widget_unref(data);
-}
-
-static void gbar_animation_done_cb(void *cbdata, Evas_Object *obj, const char *emission, const char *source)
-{
- Evas_Object *rect;
- struct widget_data *data = cbdata;
-
- if (data->state != WIDGET_DATA_CREATED) {
- ErrPrint("Invalid widget data: %p\n", data);
- return;
- }
-
- rect = elm_object_part_content_unset(obj, "overlay,content");
- if (rect) {
- evas_object_del(rect);
- }
-}
-
-static void gbar_create_buffer_object(struct widget_data *data)
-{
- Evas_Object *gbar_content;
-
- gbar_content = evas_object_image_filled_add(data->e);
- if (!gbar_content) {
- ErrPrint("Failed to create an image object\n");
- } else {
- evas_object_image_colorspace_set(gbar_content, EVAS_COLORSPACE_ARGB8888);
- evas_object_image_alpha_set(gbar_content, EINA_TRUE);
-
- elm_object_part_content_set(data->gbar_layout, "gbar,content", gbar_content);
- }
-}
-
-static void gbar_create_text_object(struct widget_data *data)
-{
- ErrPrint("Unsupported\n");
- /*!
- * \todo
- */
-}
-
-static void gbar_create_pixmap_object(struct widget_data *data)
-{
- Evas_Object *gbar_content;
-
- gbar_content = evas_object_image_filled_add(data->e);
- if (!gbar_content) {
- ErrPrint("Failed to create an image object\n");
- return;
- }
-
- evas_object_image_colorspace_set(gbar_content, EVAS_COLORSPACE_ARGB8888);
- evas_object_image_alpha_set(gbar_content, EINA_TRUE);
- elm_object_part_content_set(data->gbar_layout, "gbar,content", gbar_content);
-
- evas_object_event_callback_add(gbar_content, EVAS_CALLBACK_MOUSE_DOWN, gbar_down_cb, data);
- evas_object_event_callback_add(gbar_content, EVAS_CALLBACK_MOUSE_MOVE, gbar_move_cb, data);
- evas_object_event_callback_add(gbar_content, EVAS_CALLBACK_MOUSE_UP, gbar_up_cb, data);
- evas_object_event_callback_add(gbar_content, EVAS_CALLBACK_DEL, gbar_pixmap_del_cb, data);
-}
-
-static void dbox_create_gbar_cb(struct dynamicbox *handle, int ret, void *cbdata)
-{
- struct widget_data *data = cbdata;
- struct dynamicbox_evas_event_info info;
-
- if (data->state != WIDGET_DATA_CREATED) {
- ErrPrint("Invalid widget data: %p\n", data);
- return;
- }
-
- if (ret != DBOX_STATUS_ERROR_NONE) {
- DbgPrint("Create GBAR: 0x%X\n", ret);
- info.error = ret;
- info.event = DBOX_EVENT_GBAR_CREATED;
- info.pkgname = data->dbox_id;
- smart_callback_call(data, DYNAMICBOX_SMART_SIGNAL_GBAR_ABORTED, &info);
- widget_unref(data);
- return;
- }
-
- if (data->is.field.deleted) {
- /**
- * Evas Object is deleted.
- * Do not proceed this process anymore and destroy GBAR too
- */
- dynamicbox_destroy_glance_bar(data->handle, NULL, NULL);
- return;
- }
-
- DbgPrint("GBAR is created\n");
-
- if (!data->gbar_layout) {
- data->gbar_layout = elm_layout_add(data->parent);
- if (!data->gbar_layout) {
- ErrPrint("Failed to add an edje\n");
- info.error = DBOX_STATUS_ERROR_FAULT;
- info.event = DBOX_EVENT_GBAR_CREATED;
- info.pkgname = data->dbox_id;
- smart_callback_call(data, DYNAMICBOX_SMART_SIGNAL_GBAR_ABORTED, &info);
-
- ret = dynamicbox_destroy_glance_bar(data->handle, dbox_destroy_gbar_cb, widget_ref(data));
- if (ret < 0) {
- /*!
- * \note
- * PREVENT detect this. but it is FALSE POSITIVE
- *
- * widget_ref will increase the refcnt of data.
- * and it is called when calling the dynamicbox_destroy_glance_bar function (via the last param)
- * So this function call will not release the data.
- */
- widget_unref(data);
- }
-
- widget_unref(data);
- return;
- }
-
- if (elm_layout_file_set(data->gbar_layout, DYNAMICBOX_EVAS_RESOURCE_EDJ, DYNAMICBOX_EVAS_RESOURCE_GBAR) == EINA_FALSE) {
- ErrPrint("Failed to load edje object: %s(%s)\n", DYNAMICBOX_EVAS_RESOURCE_EDJ, DYNAMICBOX_EVAS_RESOURCE_GBAR);
- evas_object_del(data->gbar_layout);
- data->gbar_layout = NULL;
-
- info.error = DBOX_STATUS_ERROR_IO_ERROR;
- info.event = DBOX_EVENT_GBAR_CREATED;
- info.pkgname = data->dbox_id;
- smart_callback_call(data, DYNAMICBOX_SMART_SIGNAL_GBAR_ABORTED, &info);
-
- ret = dynamicbox_destroy_glance_bar(data->handle, dbox_destroy_gbar_cb, widget_ref(data));
- if (ret < 0) {
- /*!
- * \note
- * PREVENT detect this. but it is FALSE POSITIVE
- *
- * widget_ref will increase the refcnt of data.
- * and it is called when calling the dynamicbox_destroy_glance_bar function (via the last param)
- * So this function call will not release the data.
- */
- widget_unref(data);
- }
-
- widget_unref(data);
- return;
- }
-
- evas_object_smart_member_add(data->gbar_layout, data->dynamicbox);
- evas_object_clip_set(data->gbar_layout, data->stage);
- elm_object_signal_callback_add(data->gbar_layout, "finished", "animation", gbar_animation_done_cb, data);
- evas_object_show(data->gbar_layout);
- }
- gbar_overlay_loading(data);
-
- switch (dynamicbox_type(data->handle, 1)) {
- case DBOX_CONTENT_TYPE_RESOURCE_ID:
- if (!s_info.conf.field.force_to_buffer) {
- gbar_create_pixmap_object(data);
- break;
- }
- case DBOX_CONTENT_TYPE_BUFFER:
- gbar_create_buffer_object(data);
- break;
- case DBOX_CONTENT_TYPE_TEXT:
- gbar_create_text_object(data);
- break;
- case DBOX_CONTENT_TYPE_UIFW:
- break;
- default:
- info.error = DBOX_STATUS_ERROR_INVALID_PARAMETER;
- info.event = DBOX_EVENT_GBAR_CREATED;
- info.pkgname = data->dbox_id;
- ret = dynamicbox_destroy_glance_bar(data->handle, dbox_destroy_gbar_cb, widget_ref(data));
- if (ret < 0) {
- /*!
- * \note
- * PREVENT detect this. but it is FALSE POSITIVE
- *
- * widget_ref will increase the refcnt of data.
- * and it is called when calling the dynamicbox_destroy_glance_bar function (via the last param)
- * So this function call will not release the data.
- */
- widget_unref(data);
- }
- ErrPrint("Failed to create a GBAR, unknown type\n");
- smart_callback_call(data, DYNAMICBOX_SMART_SIGNAL_GBAR_ABORTED, &info);
- widget_unref(data);
- return;
- }
-
- data->is.field.gbar_created = 1;
- info.error = DBOX_STATUS_ERROR_NONE;
- info.event = DBOX_EVENT_GBAR_CREATED;
- info.pkgname = data->dbox_id;
- smart_callback_call(data, DYNAMICBOX_SMART_SIGNAL_GBAR_CREATED, &info);
- widget_unref(data);
-}
-
-static void update_scroll_flag(struct widget_data *data, int x, int y)
-{
- if (s_info.conf.field.is_scroll_x && !s_info.conf.field.is_scroll_y) {
- if (!data->is.field.scroll_x && abs(y - data->down.y) > CLICK_REGION && (abs(x - data->down.x) <= CLICK_REGION)) {
- data->is.field.cancel_scroll_x = 1;
- }
- }
-
- if (s_info.conf.field.is_scroll_y && !s_info.conf.field.is_scroll_x) {
- if (!data->is.field.scroll_y && abs(x - data->down.x) > CLICK_REGION && (abs(y - data->down.y) <= CLICK_REGION)) {
- data->is.field.cancel_scroll_y = 1;
- }
- }
-
- data->is.field.scroll_x = s_info.conf.field.is_scroll_x && (!!(data->is.field.scroll_x || (abs(x - data->down.x) > CLICK_REGION)));
- data->is.field.scroll_y = s_info.conf.field.is_scroll_y && (!!(data->is.field.scroll_y || (abs(y - data->down.y) > CLICK_REGION)));
- data->is.field.scroll_x = !data->is.field.cancel_scroll_x && data->is.field.scroll_x;
- data->is.field.scroll_y = !data->is.field.cancel_scroll_y && data->is.field.scroll_y;
-}
-
-static void dbox_up_cb(void *cbdata, Evas *e, Evas_Object *obj, void *event_info)
-{
- Evas_Event_Mouse_Up *up = event_info;
- struct dynamicbox_evas_event_info info;
- struct widget_data *data = cbdata;
- Evas_Coord x, y, w, h;
- int ret = 0;
-
- if (data->state != WIDGET_DATA_CREATED) {
- ErrPrint("Invalid widget data: %p\n", data);
- return;
- }
-
- if (!data->is.field.pressed) {
- return;
- }
-
- update_scroll_flag(data, up->canvas.x, up->canvas.y);
-
- data->x = up->canvas.x;
- data->y = up->canvas.y;
- data->is.field.pressed = 0;
-
- if (s_info.conf.field.auto_render_selector) {
- DbgPrint("Change to render animator\n");
- s_info.conf.field.render_animator = 1;
- }
-
- info.pkgname = data->dbox_id;
- info.event = DBOX_EVENT_GBAR_CREATED;
-
- if (s_info.conf.field.support_gbar && data->is.field.flick_down && data->y - data->down.y < CLICK_REGION) {
- DbgPrint("Flick down is canceled\n");
- data->is.field.flick_down = 0;
- info.error = DBOX_STATUS_ERROR_CANCEL;
- smart_callback_call(data, DYNAMICBOX_SMART_SIGNAL_FLICKDOWN_CANCELLED, &info);
- }
-
- evas_object_geometry_get(data->dynamicbox, &x, &y, &w, &h);
-
- if (data->is.field.flick_down) {
- data->is.field.flick_down = 0;
- if (!data->handle || data->is.field.faulted || !dynamicbox_has_glance_bar(data->handle)) {
- if (!data->is.field.gbar_created && s_info.conf.field.support_gbar) {
- elm_object_signal_emit(data->dbox_layout, "tilt", "content");
- }
- DbgPrint("Flick down is canceled\n");
- info.error = DBOX_STATUS_ERROR_CANCEL;
- smart_callback_call(data, DYNAMICBOX_SMART_SIGNAL_FLICKDOWN_CANCELLED, &info);
- } else if (s_info.conf.field.support_gbar && !data->is.field.gbar_created) {
- double rx;
- double ry;
- int gbar_w;
- int gbar_h;
-
- if (dynamicbox_get_glance_bar_size(data->handle, &gbar_w, &gbar_h) != DBOX_STATUS_ERROR_NONE) {
- gbar_w = 0;
- gbar_h = 0;
- }
-
- elm_object_signal_emit(data->dbox_layout, "move,down", "content");
-
- rx = ((double)x + (double)w / 2.0f) / (double)s_info.screen_width;
- DbgPrint("x[%d], w[%d], rx[%lf]\n", x, w, rx);
- // 0.0 0.125 0.25 0.375 0.5 0.625 0.75 0.875 1.0
- switch (dynamicbox_size(data->handle)) {
- case DBOX_SIZE_TYPE_1x1:
- if (rx < 0.25f) {
- rx = 0.125f;
- } else if (rx < 0.5f) {
- rx = 0.375f;
- } else if (rx < 0.75f) {
- rx = 0.625f;
- } else if (rx < 1.0f) {
- rx = 0.875f;
- }
- break;
- case DBOX_SIZE_TYPE_2x1:
- case DBOX_SIZE_TYPE_2x2:
- if (rx < 0.5f) {
- rx = 0.25f;
- } else if (rx < 0.625f) {
- rx = 0.5f;
- } else {
- rx = 0.75f;
- }
- break;
- default:
- rx = 0.5f;
- break;
- }
-
- if (y + h + gbar_h <= s_info.screen_height) {
- ry = 0.0f;
- } else {
- ry = 1.0f;
- }
-
- DbgPrint("converted rx[%lf], ry[%lf]\n", rx, ry);
-
- ret = dynamicbox_create_glance_bar(data->handle, rx, ry, dbox_create_gbar_cb, widget_ref(data));
- if (ret < 0) {
- widget_unref(data);
- DbgPrint("Flick down is canceled\n");
- info.error = DBOX_STATUS_ERROR_CANCEL;
- smart_callback_call(data, DYNAMICBOX_SMART_SIGNAL_FLICKDOWN_CANCELLED, &info);
- }
- DbgPrint("Create GBAR: %d (%lfx%lf)\n", ret, rx, ry);
- }
- }
-
- if (data->handle && !data->is.field.faulted) {
- struct dynamicbox_mouse_event_info minfo;
-
- minfo.x = (double)(data->x - x) / (double)w;
- minfo.y = (double)(data->y - y) / (double)h;
-
- evas_object_geometry_get(obj, &x, &y, NULL, NULL);
-
- reset_scroller(data);
-
- if (s_info.conf.field.auto_feed && data->is.field.mouse_event) {
- struct dynamicbox_mouse_event_info _minfo;
-
- if (data->down.geo.x != x || data->down.geo.y != y || data->is.field.scroll_x || data->is.field.scroll_y || data->is.field.cancel_click == CANCEL_USER) {
- dynamicbox_feed_mouse_event(data->handle, DBOX_MOUSE_ON_HOLD, &minfo);
- data->is.field.cancel_click = CANCEL_PROCESSED;
- }
-
- _minfo.x = (double)data->down.geo.x / (double)data->down.geo.w;
- _minfo.y = (double)data->down.geo.y / (double)data->down.geo.h;
- dynamicbox_feed_mouse_event(data->handle, DBOX_MOUSE_UNSET, &_minfo);
- } else {
- if (!data->is.field.mouse_event) {
- /* We have to keep the first position of touch down */
- minfo.x = (double)(data->down.x - x) / (double)w;
- minfo.y = (double)(data->down.y - y) / (double)h;
- if (data->down.geo.x != x || data->down.geo.y != y || data->is.field.scroll_x || data->is.field.scroll_y || data->is.field.cancel_click == CANCEL_USER || abs(data->x - data->down.x) > CLICK_REGION || abs(data->y - data->down.y) > CLICK_REGION) {
- dynamicbox_feed_mouse_event(data->handle, DBOX_MOUSE_ON_HOLD, &minfo);
- data->is.field.cancel_click = CANCEL_PROCESSED;
- }
- } else {
- if (data->down.geo.x != x || data->down.geo.y != y || data->is.field.scroll_x || data->is.field.scroll_y || data->is.field.cancel_click == CANCEL_USER) {
- dynamicbox_feed_mouse_event(data->handle, DBOX_MOUSE_ON_HOLD, &minfo);
- data->is.field.cancel_click = CANCEL_PROCESSED;
- }
- }
-
- dynamicbox_feed_mouse_event(data->handle, DBOX_MOUSE_UP, &minfo);
- dynamicbox_feed_mouse_event(data->handle, DBOX_MOUSE_LEAVE, &minfo);
- }
-
- if (!data->is.field.flick_down) {
- ret = DBOX_STATUS_ERROR_INVALID_PARAMETER;
- if (data->is.field.gbar_created) {
- ret = dynamicbox_destroy_glance_bar(data->handle, dbox_destroy_gbar_cb, widget_ref(data));
- if (ret < 0) {
- widget_unref(data);
- }
- } else if (data->is.field.cancel_click == CANCEL_DISABLED) {
- ret = dynamicbox_click(data->handle, minfo.x, minfo.y);
- }
- }
-
- DbgPrint("Up: %lfx%lf [x:%d/%d/%d] [y:%d/%d/%d], ret: 0x%X, cancel: 0x%x\n",
- minfo.x, minfo.y,
- data->is.field.scroll_x, s_info.conf.field.is_scroll_x, data->is.field.cancel_scroll_x,
- data->is.field.scroll_y, s_info.conf.field.is_scroll_y, data->is.field.cancel_scroll_y,
- ret, data->is.field.cancel_click);
- data->is.field.cancel_click = CANCEL_DISABLED;
- }
-}
-
-static void dbox_move_cb(void *cbdata, Evas *e, Evas_Object *obj, void *event_info)
-{
- Evas_Event_Mouse_Move *move = event_info;
- struct widget_data *data = cbdata;
-
- if (data->state != WIDGET_DATA_CREATED) {
- ErrPrint("Invalid widget data: %p\n", data);
- return;
- }
-
- if (!data->is.field.pressed) {
- return;
- }
-
- if (s_info.conf.field.support_gbar && data->is.field.flick_down && data->y - move->cur.canvas.y > 0) {
- struct dynamicbox_evas_event_info info;
-
- DbgPrint("Flick down is canceled\n");
- data->is.field.flick_down = 0;
- info.pkgname = data->dbox_id;
- info.event = DBOX_EVENT_GBAR_CREATED;
- info.error = DBOX_STATUS_ERROR_CANCEL;
-
- smart_callback_call(data, DYNAMICBOX_SMART_SIGNAL_FLICKDOWN_CANCELLED, &info);
- }
-
- update_scroll_flag(data, move->cur.canvas.x, move->cur.canvas.y);
-
- data->x = move->cur.canvas.x;
- data->y = move->cur.canvas.y;
-
- if (data->handle && !data->is.field.faulted) {
- if (data->is.field.cancel_click == CANCEL_USER) {
- struct dynamicbox_mouse_event_info minfo;
- Evas_Coord x, y, w, h;
-
- evas_object_geometry_get(obj, &x, &y, &w, &h);
-
- minfo.x = (double)(data->x - x) / (double)w;
- minfo.y = (double)(data->y - y) / (double)h;
- dynamicbox_feed_mouse_event(data->handle, DBOX_MOUSE_ON_HOLD, &minfo);
-
- /*
- * Reset the clicked event
- */
- data->is.field.cancel_click = CANCEL_PROCESSED;
-
- if (s_info.conf.field.auto_render_selector) {
- DbgPrint("Change to render animator\n");
- s_info.conf.field.render_animator = 1;
- }
-
- }
-
- if (!s_info.conf.field.auto_feed) {
- struct dynamicbox_mouse_event_info minfo;
- Evas_Coord x, y, w, h;
-
- evas_object_geometry_get(obj, &x, &y, &w, &h);
-
- minfo.x = (double)(data->x - x) / (double)w;
- minfo.y = (double)(data->y - y) / (double)h;
- dynamicbox_feed_mouse_event(data->handle, DBOX_MOUSE_MOVE, &minfo);
- }
-
- if (s_info.conf.field.support_gbar && data->is.field.flick_down && abs(data->y - data->down.y) > CLICK_REGION) {
- struct dynamicbox_evas_event_info info;
- data->is.field.flick_down = 0;
- info.pkgname = data->dbox_id;
- info.event = DBOX_EVENT_GBAR_CREATED;
- info.error = DBOX_STATUS_ERROR_CANCEL;
- smart_callback_call(data, DYNAMICBOX_SMART_SIGNAL_FLICKDOWN_CANCELLED, &info);
- DbgPrint("Flick down is canceled\n");
- }
-
- } else {
- if (s_info.conf.field.auto_render_selector) {
- s_info.conf.field.render_animator = 1;
- }
- }
-}
-
-static char *get_package_icon(struct widget_data *data)
-{
- char *icon;
- char *uiapp;
-
- if (data->size_type == DBOX_SIZE_TYPE_UNKNOWN) {
- icon = dynamicbox_service_i18n_icon(data->dbox_id, NULL);
- } else {
- icon = dynamicbox_service_preview(data->dbox_id, data->size_type);
- }
-
- if (icon && access(icon, R_OK) == 0) {
- return icon;
- }
-
- if (icon) {
- ErrPrint("Failed to access an icon file: [%s]\n", icon);
- free(icon);
- icon = NULL;
- }
-
- uiapp = dynamicbox_service_mainappid(data->dbox_id);
- if (uiapp) {
- int ret;
- ail_appinfo_h ai;
-
- ret = ail_get_appinfo(uiapp, &ai);
- free(uiapp);
- if (ret == AIL_ERROR_OK) {
- char *uiapp_icon = NULL;
-
- ret = ail_appinfo_get_str(ai, AIL_PROP_ICON_STR, &uiapp_icon);
- if (ret != AIL_ERROR_OK || !uiapp_icon || access(uiapp_icon, R_OK) != 0) {
- ErrPrint("[%s] - %s\n", uiapp_icon, strerror(errno));
- } else {
- DbgPrint("UI-App icon: [%s]\n", uiapp_icon);
- icon = strdup(uiapp_icon);
- if (!icon) {
- ErrPrint("Heap: %s\n", strerror(errno));
- /*!
- * \note
- * icon will be specified to "unknown" icon file. (default)
- */
- }
- }
-
- ail_destroy_appinfo(ai);
- }
- }
-
- if (!icon) {
- icon = strdup(DYNAMICBOX_EVAS_UNKNOWN);
- if (!icon) {
- ErrPrint("Heap: %s\n", strerror(errno));
- }
- }
-
- return icon;
-}
-
-static void activate_ret_cb(struct dynamicbox *handle, int ret, void *cbdata)
-{
- struct widget_data *data = cbdata;
-
- if (data->state != WIDGET_DATA_CREATED) {
- ErrPrint("Invalid widget data: %p\n", data);
- return;
- }
-
- data->overlay_update_counter = 0;
- dbox_overlay_disable(data, 1);
-
- DbgPrint("Activated (%s): %d\n", data->dbox_id, ret);
- if (!data->is.field.deleted && (ret == DBOX_STATUS_ERROR_NONE || ret == DBOX_STATUS_ERROR_INVALID_PARAMETER)) {
- int type;
- Evas_Coord w, h;
- struct acquire_data acquire_data = {
- .data = data,
- };
-
- evas_object_geometry_get(data->dbox_layout, NULL, NULL, &w, &h);
-
- type = find_size_type(data, w, h);
- if (type == DBOX_SIZE_TYPE_UNKNOWN) {
- ErrPrint("Failed to find a proper size type: %dx%d\n", w, h);
- type = DBOX_SIZE_TYPE_1x1;
- }
-
- data->is.field.faulted = 0;
- data->is.field.created = 0;
- data->is.field.send_delete = 1;
- update_dbox_geometry(&acquire_data);
- data->handle = dynamicbox_add(data->dbox_id, data->content,
- data->cluster, data->category,
- data->period, type,
- dbox_created_cb, widget_ref(data));
- if (!data->handle) {
- ErrPrint("Failed to send add request\n");
- widget_unref(data);
- return;
- }
-
- DbgPrint("Added Handle: (%p) %p\n", data->handle, data);
- dynamicbox_set_data(data->handle, data->dynamicbox);
- dbox_overlay_loading(data);
- }
-
- data->is.field.deleted = 0;
- widget_unref(data);
-}
-
-static void dbox_animation_done_cb(void *cbdata, Evas_Object *obj, const char *emission, const char *source)
-{
- struct widget_data *data = cbdata;
-
- if (data->state != WIDGET_DATA_CREATED) {
- ErrPrint("Invalid widget data: %p\n", data);
- return;
- }
-
- if (dynamicbox_has_glance_bar(data->handle)) {
- } else {
- DbgPrint("Animation finished\n");
- }
-}
-
-static void dbox_turn_done_cb(void *cbdata, Evas_Object *obj, const char *emission, const char *source)
-{
- struct widget_data *data = cbdata;
- Evas_Object *overlay;
-
- if (data->state != WIDGET_DATA_CREATED) {
- ErrPrint("Invalid widget data: %p\n", data);
- return;
- }
-
- overlay = elm_object_part_content_unset(data->dbox_layout, "overlay,content");
- if (overlay) {
- evas_object_del(overlay);
- data->is.field.dbox_overlay_loaded = 0;
- }
-}
-
-static void dbox_overlay_clicked_cb(void *cbdata, Evas_Object *obj, const char *emission, const char *source)
-{
- struct widget_data *data = cbdata;
-
- if (data->state != WIDGET_DATA_CREATED) {
- ErrPrint("Invalid widget data: %p\n", data);
- return;
- }
-
- DbgPrint("Overlay is clicked: (%s) (%s)\n", emission, source);
- if (!data->is.field.faulted) {
- /*!
- * \todo
- * Reload
- */
- DbgPrint("Package [%s] is not faulted one\n", data->dbox_id);
- } else {
- DbgPrint("Activate: [%s]\n", data->dbox_id);
- if (dynamicbox_activate(data->dbox_id, activate_ret_cb, widget_ref(data)) < 0) {
- widget_unref(data);
- ErrPrint("Failed to activate %s\n", data->dbox_id);
- }
- }
-}
-
-static void widget_data_setup(struct widget_data *data)
-{
- data->e = evas_object_evas_get(data->dynamicbox);
- if (!data->e) {
- ErrPrint("Failed to get Evas object\n");
- data->state = WIDGET_DATA_DELETED;
- free(data);
- return;
- }
-
- data->stage = evas_object_rectangle_add(data->e);
- if (!data->stage) {
- ErrPrint("Failed to add stage object\n");
- data->state = WIDGET_DATA_DELETED;
- free(data);
- return;
- }
-
- evas_object_color_set(data->stage, 255, 255, 255, 255);
-
- data->dbox_layout = elm_layout_add(data->parent);
- if (!data->dbox_layout) {
- ErrPrint("Failed to add edje object\n");
- evas_object_del(data->stage);
- data->state = WIDGET_DATA_DELETED;
- free(data);
- return;
- }
-
- if (elm_layout_file_set(data->dbox_layout, DYNAMICBOX_EVAS_RESOURCE_EDJ, DYNAMICBOX_EVAS_RESOURCE_LB) == EINA_FALSE) {
- ErrPrint("Failed to load edje object: %s(%s)\n", DYNAMICBOX_EVAS_RESOURCE_EDJ, DYNAMICBOX_EVAS_RESOURCE_LB);
- evas_object_del(data->dbox_layout);
- evas_object_del(data->stage);
- data->state = WIDGET_DATA_DELETED;
- free(data);
- return;
- }
-
- Evas_Object *scroller;
- scroller = elm_scroller_add(data->parent);
- if (scroller) {
- Evas_Object *box;
-
- elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_FALSE);
- elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
- elm_scroller_single_direction_set(scroller, ELM_SCROLLER_SINGLE_DIRECTION_HARD);
- //elm_object_scroll_lock_x_set(scroller, EINA_TRUE);
-
- box = evas_object_rectangle_add(data->e);
- if (box) {
- int height;
-
- height = s_info.screen_height << 1;
-
- evas_object_color_set(box, 0, 0, 0, 0);
- evas_object_resize(box, s_info.screen_width, height);
- evas_object_size_hint_min_set(box, s_info.screen_width, height);
- evas_object_show(box);
- }
-
- elm_object_content_set(scroller, box);
- elm_object_part_content_set(data->dbox_layout, "scroller", scroller);
- } else {
- ErrPrint("Failed to create a scroller\n");
- }
-
- evas_object_show(data->dbox_layout);
-
- elm_object_signal_callback_add(data->dbox_layout, "mouse,clicked,1", "overlay,content", dbox_overlay_clicked_cb, data);
- elm_object_signal_callback_add(data->dbox_layout, "done", "turn", dbox_turn_done_cb, data);
- elm_object_signal_callback_add(data->dbox_layout, "finished", "animation", dbox_animation_done_cb, data);
-
- evas_object_event_callback_add(data->dbox_layout, EVAS_CALLBACK_MOUSE_DOWN, dbox_down_cb, data);
- evas_object_event_callback_add(data->dbox_layout, EVAS_CALLBACK_MOUSE_MOVE, dbox_move_cb, data);
- evas_object_event_callback_add(data->dbox_layout, EVAS_CALLBACK_MOUSE_UP, dbox_up_cb, data);
-
- evas_object_smart_member_add(data->stage, data->dynamicbox);
- evas_object_smart_member_add(data->dbox_layout, data->dynamicbox);
- evas_object_clip_set(data->dbox_layout, data->stage);
-
-}
-
-static Eina_Bool renderer_cb(void *_data)
-{
- struct widget_data *data;
-
- EINA_LIST_FREE(s_info.dbox_dirty_objects, data) {
- dynamicbox_event_dbox_updated(data);
- }
-
- EINA_LIST_FREE(s_info.gbar_dirty_objects, data) {
- dynamicbox_event_gbar_updated(data);
- }
-
- s_info.renderer = NULL;
- return ECORE_CALLBACK_CANCEL;
-}
-
-static void remove_dbox_dirty_object_list(struct widget_data *data)
-{
- s_info.dbox_dirty_objects = eina_list_remove(s_info.dbox_dirty_objects, data);
-}
-
-static void remove_gbar_dirty_object_list(struct widget_data *data)
-{
- s_info.gbar_dirty_objects = eina_list_remove(s_info.gbar_dirty_objects, data);
-}
-
-static void append_dbox_dirty_object_list(struct widget_data *data, int idx)
-{
- data->is.field.dbox_dirty = 1;
-
- if (idx != DBOX_KEEP_BUFFER) {
- data->dbox_latest_idx = idx;
- }
-
- if (dynamicbox_visibility(data->handle) != DBOX_SHOW) {
- return;
- }
-
- if (s_info.conf.field.render_animator) {
- if (eina_list_data_find(s_info.dbox_dirty_objects, data)) {
- return;
- }
-
- if (!s_info.renderer) {
- s_info.renderer = ecore_animator_add(renderer_cb, NULL);
- if (!s_info.renderer) {
- ErrPrint("Failed to create a renderer\n");
- }
- }
-
- s_info.dbox_dirty_objects = eina_list_append(s_info.dbox_dirty_objects, data);
- } else {
- if (s_info.renderer) {
- ecore_animator_del(s_info.renderer);
- s_info.renderer = NULL;
- }
-
- /* Need a choice
- * Do we have to discard these all changes? or just flush them?
- struct widget_data *item;
- EINA_LIST_FREE(s_info.dbox_dirty_objects, item) {
- dynamicbox_event_dbox_updated(item);
- }
- */
- eina_list_free(s_info.dbox_dirty_objects);
- s_info.dbox_dirty_objects = NULL;
- dynamicbox_event_dbox_updated(data);
- }
-}
-
-static void append_gbar_dirty_object_list(struct widget_data *data, int idx)
-{
- data->is.field.gbar_dirty = 1;
-
- if (idx != DBOX_KEEP_BUFFER) {
- data->gbar_latest_idx = idx;
- }
-
- if (dynamicbox_visibility(data->handle) != DBOX_SHOW) {
- return;
- }
-
- if (s_info.conf.field.render_animator) {
- if (eina_list_data_find(s_info.gbar_dirty_objects, data)) {
- return;
- }
-
- if (!s_info.renderer) {
- s_info.renderer = ecore_animator_add(renderer_cb, NULL);
- if (!s_info.renderer) {
- ErrPrint("Failed to create a renderer\n");
- }
- }
-
- s_info.gbar_dirty_objects = eina_list_append(s_info.gbar_dirty_objects, data);
- } else {
- if (s_info.renderer) {
- ecore_animator_del(s_info.renderer);
- s_info.renderer = NULL;
- }
-
- /* Need a choice
- * Do we have to discard these all changes? or just flush them?
- struct widget_data *item;
- EINA_LIST_FREE(s_info.gbar_dirty_objects, item) {
- dynamicbox_event_gbar_updated(item);
- }
- */
- eina_list_free(s_info.gbar_dirty_objects);
- s_info.gbar_dirty_objects = NULL;
- dynamicbox_event_gbar_updated(data);
- }
-}
-
-static void widget_add(Evas_Object *dynamicbox)
-{
- struct widget_data *data;
-
- data = calloc(1, sizeof(*data));
- if (!data) {
- ErrPrint("Heap: %s\n", strerror(errno));
- return;
- }
-
- data->state = WIDGET_DATA_CREATED;
- data->dynamicbox = dynamicbox;
- data->is.field.permanent_delete = 0;
- data->dbox_latest_idx = DBOX_PRIMARY_BUFFER;
- data->gbar_latest_idx = DBOX_PRIMARY_BUFFER;
- evas_object_smart_data_set(data->dynamicbox, data);
- widget_ref(data);
-
- s_info.list = eina_list_append(s_info.list, dynamicbox);
- return;
-}
-
-static Evas_Object *create_image_object(struct widget_data *data)
-{
- Evas_Object *img;
-
- img = evas_object_image_filled_add(data->e);
- if (!img) {
- ErrPrint("Failed to create an image object\n");
- } else {
- evas_object_image_colorspace_set(img, EVAS_COLORSPACE_ARGB8888);
- evas_object_image_alpha_set(img, EINA_TRUE);
- }
-
- return img;
-}
-
-static void replace_dbox_pixmap_with_image(struct widget_data *data)
-{
- Evas_Object *img;
- Evas_Object *dbox_content;
-
- dbox_content = elm_object_part_content_unset(data->dbox_layout, "dynamicbox,content");
- if (!dbox_content) {
- ErrPrint("Failed to get content object\n");
- return;
- }
-
- img = create_image_object(data);
- if (img) {
- Evas_Coord w;
- Evas_Coord h;
- void *content;
-
- evas_object_image_size_get(dbox_content, &w, &h);
- evas_object_image_size_set(img, w, h);
-
- content = evas_object_image_data_get(dbox_content, 0);
- if (content) {
- evas_object_image_data_copy_set(img, content);
- }
-
- evas_object_image_fill_set(img, 0, 0, w, h);
- evas_object_image_pixels_dirty_set(img, EINA_TRUE);
- evas_object_image_data_update_add(img, 0, 0, w, h);
-
- elm_object_part_content_set(data->dbox_layout, "dynamicbox,content", img);
- } else {
- ErrPrint("Failed to create an image object\n");
- }
-
- evas_object_del(dbox_content);
-}
-
-static void replace_gbar_pixmap_with_image(struct widget_data *data)
-{
- Evas_Object *img;
- Evas_Object *gbar_content;
-
- gbar_content = elm_object_part_content_unset(data->dbox_layout, "gbar,content");
- if (!gbar_content) {
- ErrPrint("Failed to get content object\n");
- return;
- }
-
- img = create_image_object(data);
- if (img) {
- Evas_Coord w;
- Evas_Coord h;
- void *content;
-
- evas_object_image_size_get(gbar_content, &w, &h);
- evas_object_image_size_set(img, w, h);
-
- content = evas_object_image_data_get(gbar_content, 0);
- if (content) {
- evas_object_image_data_copy_set(img, content);
- }
-
- evas_object_image_fill_set(img, 0, 0, w, h);
- evas_object_image_pixels_dirty_set(img, EINA_TRUE);
- evas_object_image_data_update_add(img, 0, 0, w, h);
-
- elm_object_part_content_set(data->dbox_layout, "gbar,content", img);
- } else {
- ErrPrint("Failed to create an image object\n");
- }
-
- evas_object_del(gbar_content);
-}
-
-static void dbox_destroy_dbox_cb(struct dynamicbox *handle, int ret, void *_data)
-{
- struct widget_data *data = _data;
-
- if (data->state != WIDGET_DATA_CREATED) {
- ErrPrint("Invalid widget data: %p\n", data);
- return;
- }
-
- if (data->dbox_pixmap) {
- replace_dbox_pixmap_with_image(data);
- }
-
- if (data->gbar_pixmap) {
- replace_gbar_pixmap_with_image(data);
- }
-
- data->is.field.send_delete = 0;
- DbgPrint("Invoke raw delete %s\n", data->dbox_id);
- invoke_raw_event_callback(DYNAMICBOX_EVAS_RAW_DELETE, data->dbox_id, NULL, ret);
- remove_dbox_dirty_object_list(data);
- remove_gbar_dirty_object_list(data); /* for the safety */
- widget_unref(data);
-}
-
-static void widget_del(Evas_Object *dynamicbox)
-{
- struct widget_data *data;
-
- data = evas_object_smart_data_get(dynamicbox);
- if (!data) {
- ErrPrint("Invalid object\n");
- return;
- }
-
- if (data->state != WIDGET_DATA_CREATED) {
- ErrPrint("Invalid widget data: %p\n", data);
- return;
- }
-
- if (data->is.field.deleted == 1) {
- DbgPrint("Already deleted: %s\n", data->dbox_id);
- return;
- }
-
- data->is.field.deleted = 1;
-
- s_info.list = eina_list_remove(s_info.list, dynamicbox);
-
- if (data->handle) {
- dynamicbox_set_data(data->handle, NULL);
-
- if (data->is.field.send_delete) {
- int delete_type;
-
- if (data->is.field.permanent_delete) {
- delete_type = DBOX_DELETE_PERMANENTLY;
- } else {
- delete_type = DBOX_DELETE_TEMPORARY;
- }
- DbgPrint("Send delete request (0x%X)\n", delete_type);
-
- if (data->is.field.created) {
- if (dynamicbox_del(data->handle, delete_type, dbox_destroy_dbox_cb, widget_ref(data)) < 0) {
- widget_unref(data);
- }
- } else {
- DbgPrint("Not created yet. this will be canceld by created callback, ignore delete callback\n");
- if (dynamicbox_del(data->handle, delete_type, NULL, NULL) < 0) {
- DbgPrint("Unref %p\n", data);
- }
- }
- } else {
- DbgPrint("Skip delete request\n");
- }
- } else {
- DbgPrint("Handle is not created: %s\n", data->dbox_id);
- }
-
- /**
- * From now, the dynamicbox object is not valid
- */
- data->dynamicbox = NULL;
- widget_unref(data);
-}
-
-static void update_visibility(struct widget_data *data)
-{
- int is_visible = 0;
-
- if (!data->handle || !data->is.field.created) {
- return;
- }
-
- if (data->is.field.freeze_visibility) {
- DbgPrint("Freezed visibility: %X (%s)\n", data->freezed_visibility, dynamicbox_pkgname(data->handle));
- (void)dynamicbox_set_visibility(data->handle, data->freezed_visibility);
- return;
- }
-
- is_visible = evas_object_visible_get(data->stage);
-
- if (is_visible) {
- Evas_Coord x, y, w, h;
-
- evas_object_geometry_get(data->dbox_layout, &x, &y, &w, &h);
-
- if (!s_info.conf.field.user_view_port) {
- Ecore_Evas *ee;
-
- ee = ecore_evas_ecore_evas_get(data->e);
- if (ee) {
- ecore_evas_geometry_get(ee, &data->view_port.x, &data->view_port.y, &data->view_port.w, &data->view_port.h);
- } else {
- data->view_port.x = 0;
- data->view_port.y = 0;
- ecore_x_window_size_get(0, &data->view_port.w, &data->view_port.h);
- ErrPrint("Failed to get view port info (Fallback: %dx%d - %dx%d\n",
- data->view_port.x, data->view_port.y, data->view_port.w, data->view_port.h);
- }
- }
-
- if (x + w <= data->view_port.x || x >= data->view_port.x + data->view_port.w || y + h <= data->view_port.y || y >= data->view_port.y + data->view_port.h) {
- is_visible = 0;
- } else {
- is_visible = 1;
- }
- }
-
- if (is_visible) {
- (void)dynamicbox_set_visibility(data->handle, DBOX_SHOW);
-
- if (data->is.field.dbox_dirty) {
- /**
- * If the object has dirty flag, pumping it up again
- * To updates its content
- */
- append_dbox_dirty_object_list(data, DBOX_KEEP_BUFFER);
- }
- } else {
- (void)dynamicbox_set_visibility(data->handle, DBOX_HIDE_WITH_PAUSE);
- }
-}
-
-static int do_force_mouse_up(struct widget_data *data)
-{
- struct dynamicbox_mouse_event_info minfo;
- Evas_Coord x, y, w, h;
- struct dynamicbox_evas_event_info info;
-
- if (s_info.conf.field.auto_render_selector && s_info.conf.field.render_animator == 0) {
- DbgPrint("Change to render animator\n");
- s_info.conf.field.render_animator = 1;
- }
-
- if (!data->is.field.pressed) {
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
- }
-
- evas_object_geometry_get(data->dynamicbox, &x, &y, &w, &h);
-
- minfo.x = (double)(data->x - x) / (double)w;
- minfo.y = (double)(data->y - y) / (double)h;
-
- data->is.field.pressed = 0;
-
- reset_scroller(data);
-
- if (s_info.conf.field.auto_feed && data->is.field.mouse_event) {
- DbgPrint("%x\n", data->is.field.cancel_click);
- if (data->is.field.cancel_click != CANCEL_PROCESSED) {
- DbgPrint("ON_HOLD send\n");
- dynamicbox_feed_mouse_event(data->handle, DBOX_MOUSE_ON_HOLD, &minfo);
- data->is.field.cancel_click = CANCEL_PROCESSED;
- }
-
- minfo.x = (double)data->down.geo.x / (double)data->down.geo.w;
- minfo.y = (double)data->down.geo.y / (double)data->down.geo.h;
-
- dynamicbox_feed_mouse_event(data->handle, DBOX_MOUSE_UNSET, &minfo);
- } else {
- if (!data->is.field.mouse_event) {
- /* We have to keep the first position of touch down */
- minfo.x = (double)(data->down.x - x) / (double)w;
- minfo.y = (double)(data->down.y - y) / (double)h;
- }
-
- DbgPrint("%x\n", data->is.field.cancel_click);
- if (data->is.field.cancel_click != CANCEL_PROCESSED) {
- DbgPrint("ON_HOLD send\n");
- dynamicbox_feed_mouse_event(data->handle, DBOX_MOUSE_ON_HOLD, &minfo);
- data->is.field.cancel_click = CANCEL_PROCESSED;
- }
-
- dynamicbox_feed_mouse_event(data->handle, DBOX_MOUSE_UP, &minfo);
- dynamicbox_feed_mouse_event(data->handle, DBOX_MOUSE_LEAVE, &minfo);
- }
-
- data->is.field.cancel_click = CANCEL_DISABLED;
- data->is.field.flick_down = 0;
- info.pkgname = data->dbox_id;
- info.event = DBOX_EVENT_GBAR_CREATED;
- info.error = DBOX_STATUS_ERROR_CANCEL;
- smart_callback_call(data, DYNAMICBOX_SMART_SIGNAL_FLICKDOWN_CANCELLED, &info);
- DbgPrint("Flick down is canceled\n");
- return DBOX_STATUS_ERROR_NONE;
-}
-
-static void widget_move(Evas_Object *dynamicbox, Evas_Coord x, Evas_Coord y)
-{
- struct widget_data *data;
- Evas_Coord w, h;
-
- data = evas_object_smart_data_get(dynamicbox);
- if (!data) {
- ErrPrint("Invalid object\n");
- return;
- }
-
- if (data->state != WIDGET_DATA_CREATED) {
- ErrPrint("Invalid widget data: %p\n", data);
- return;
- }
-
- if (data->gbar_layout) {
- Evas_Coord gbar_x, gbar_y, gbar_h;
- Evas_Coord prev_x, prev_y;
- Evas_Coord dbox_w, dbox_h;
- double rx;
- double ry;
-
- evas_object_geometry_get(data->dbox_layout, &prev_x, &prev_y, &dbox_w, &dbox_h);
- evas_object_geometry_get(data->gbar_layout, &gbar_x, &gbar_y, NULL, &gbar_h);
-
- gbar_x += (x - prev_x);
- gbar_y += (y - prev_y);
-
- evas_object_move(data->gbar_layout, gbar_x, gbar_y);
-
- rx = ((double)x + (double)dbox_w / 2.0f) / s_info.screen_width;
- switch (find_size_type(data, dbox_w, dbox_h)) {
- case DBOX_SIZE_TYPE_1x1:
- if (rx < 0.25f) {
- rx = 0.125f;
- } else if (rx < 0.5f) {
- rx = 0.375f;
- } else if (rx < 0.75f) {
- rx = 0.625f;
- } else if (rx < 1.0f) {
- rx = 0.875f;
- }
- break;
- case DBOX_SIZE_TYPE_2x1:
- case DBOX_SIZE_TYPE_2x2:
- if (rx < 0.5f) {
- rx = 0.25f;
- } else if (rx < 0.75f) {
- rx = 0.5f;
- } else {
- rx = 0.75f;
- }
- break;
- default:
- rx = 0.5f;
- break;
- }
- if (prev_y + dbox_h + gbar_h > s_info.screen_height) {
- ry = 1.0f;
- } else {
- ry = 0.0f;
- }
-
- if (data->is.field.gbar_created) {
- dynamicbox_move_glance_bar(data->handle, rx, ry);
- }
- }
-
- evas_object_move(data->stage, x, y);
- evas_object_move(data->dbox_layout, x, y);
- evas_object_geometry_get(data->dbox_layout, NULL, NULL, &w, &h);
-
- if (!s_info.conf.field.manual_pause_resume) {
- update_visibility(data);
- }
-
- if (s_info.conf.field.sensitive_move) {
- do_force_mouse_up(data);
- }
-}
-
-static int dbox_create_plug_object(struct widget_data *data)
-{
- struct acquire_data acquire_data = {
- .w = 0,
- .h = 0,
- .content = NULL,
- .data = data,
- };
-
- DbgPrint("Plug type created\n");
-
- acquire_data.content = elm_object_part_content_unset(data->dbox_layout, "dynamicbox,content");
- if (acquire_data.content) {
- DbgPrint("Dynamicbox Content is already prepared: %s\n", dynamicbox_filename(data->handle));
- evas_object_del(acquire_data.content);
- }
-
- acquire_data.content = elm_plug_add(s_info.win);
- if (!acquire_data.content) {
- ErrPrint("Failed to add a plug object\n");
- return DBOX_STATUS_ERROR_FAULT;
- }
-
- DbgPrint("Try to connect to %s\n", dynamicbox_filename(data->handle));
- if (!elm_plug_connect(acquire_data.content, dynamicbox_filename(data->handle), 0, EINA_TRUE)) {
- ErrPrint("Cannot connect plug[%s]", dynamicbox_filename(data->handle));
- evas_object_del(acquire_data.content);
- return DBOX_STATUS_ERROR_FAULT;
- }
-
- elm_object_part_content_set(data->dbox_layout, "dynamicbox,content", acquire_data.content);
-
- acquire_data.w = data->dbox_width;
- acquire_data.h = data->dbox_height;
- update_dbox_geometry(&acquire_data);
- return DBOX_STATUS_ERROR_NONE;
-}
-
-static int dbox_create_image_object(struct widget_data *data)
-{
- Evas_Object *front_image;
- struct acquire_data acquire_data = {
- .w = 0,
- .h = 0,
- .content = NULL,
- .data = data,
- };
-
- DbgPrint("Image type created\n");
-
- acquire_data.content = elm_object_part_content_get(data->dbox_layout, "dynamicbox,content");
- if (!acquire_data.content) {
- acquire_data.content = elm_layout_add(data->parent);
- if (!acquire_data.content) {
- ErrPrint("Failed to create an edje object\n");
- return DBOX_STATUS_ERROR_FAULT;
- }
-
- if (elm_layout_file_set(acquire_data.content, DYNAMICBOX_EVAS_RESOURCE_EDJ, DYNAMICBOX_EVAS_RESOURCE_IMG) == EINA_FALSE) {
- ErrPrint("Failed to load edje object: %s(%s)\n", DYNAMICBOX_EVAS_RESOURCE_EDJ, DYNAMICBOX_EVAS_RESOURCE_IMG);
- evas_object_del(acquire_data.content);
- return DBOX_STATUS_ERROR_IO_ERROR;
- }
-
- front_image = elm_image_add(acquire_data.content);
- if (!front_image) {
- ErrPrint("Failed to add front_image object\n");
- evas_object_del(acquire_data.content);
- return DBOX_STATUS_ERROR_FAULT;
- }
-
- DbgPrint("Default size %dx%d\n", data->dbox_width, data->dbox_height);
-
- elm_object_part_content_set(acquire_data.content, "front,content", front_image);
- elm_object_part_content_set(data->dbox_layout, "dynamicbox,content", acquire_data.content);
- } else {
- front_image = elm_object_part_content_get(acquire_data.content, "front,content");
- if (!front_image) {
- ErrPrint("Unable to get front,content object\n");
- front_image = elm_image_add(acquire_data.content);
- if (!front_image) {
- ErrPrint("Failed to add front_image object\n");
- return DBOX_STATUS_ERROR_FAULT;
- }
-
- elm_object_part_content_set(acquire_data.content, "front,content", front_image);
- }
- }
-
- /*
- evas_object_geometry_get(data->dynamicbox, NULL, NULL, &acquire_data.w, &acquire_data.h);
- DbgPrint("Default size %dx%d\n", acquire_data.w, acquire_data.h);
- DbgPrint("Image size: %dx%d\n", acquire_data.w, acquire_data.h);
- */
- acquire_data.w = data->dbox_width;
- acquire_data.h = data->dbox_height;
- update_dbox_geometry(&acquire_data);
- return DBOX_STATUS_ERROR_NONE;
-}
-
-static int dbox_create_buffer_object(struct widget_data *data)
-{
- Evas_Object *dbox_content;
-
- dbox_content = elm_object_part_content_get(data->dbox_layout, "dynamicbox,content");
- if (!dbox_content) {
- dbox_content = evas_object_image_filled_add(data->e);
- if (!dbox_content) {
- ErrPrint("Failed to create an image object\n");
- return DBOX_STATUS_ERROR_FAULT;
- }
-
- evas_object_image_colorspace_set(dbox_content, EVAS_COLORSPACE_ARGB8888);
- evas_object_image_alpha_set(dbox_content, EINA_TRUE);
- elm_object_part_content_set(data->dbox_layout, "dynamicbox,content", dbox_content);
- }
-
- return DBOX_STATUS_ERROR_NONE;
-}
-
-static int dbox_create_text_object(struct widget_data *data)
-{
- ErrPrint("Unsupported\n");
-
- /*!
- * \todo
- */
-
- return DBOX_STATUS_ERROR_NOT_IMPLEMENTED;
-}
-
-static int dbox_create_pixmap_object(struct widget_data *data)
-{
- Evas_Object *dbox_content;
-
- dbox_content = elm_object_part_content_get(data->dbox_layout, "dynamicbox,content");
- if (!dbox_content) {
- dbox_content = evas_object_image_filled_add(data->e);
- if (!dbox_content) {
- ErrPrint("Failed to create an image object\n");
- return DBOX_STATUS_ERROR_FAULT;
- }
-
- evas_object_image_colorspace_set(dbox_content, EVAS_COLORSPACE_ARGB8888);
- evas_object_image_alpha_set(dbox_content, EINA_TRUE);
- evas_object_event_callback_add(dbox_content, EVAS_CALLBACK_DEL, dbox_pixmap_del_cb, data);
-
- elm_object_part_content_set(data->dbox_layout, "dynamicbox,content", dbox_content);
- }
-
- return DBOX_STATUS_ERROR_NONE;
-}
-
-static void dbox_resize_pixmap_object(struct widget_data *data)
-{
- DbgPrint("Dynamicbox resize request is succssfully sent\n");
-}
-
-static void update_dbox_pixmap(Evas_Object *content, int w, int h)
-{
- evas_object_image_pixels_dirty_set(content, EINA_TRUE);
- evas_object_image_data_update_add(content, 0, 0, w, h);
- evas_object_show(content);
-}
-
-static void acquire_dbox_extra_resource_cb(struct dynamicbox *handle, int pixmap, void *cbdata)
-{
- DbgPrint("Acquired: %u\n", (unsigned int)pixmap);
-}
-
-static void acquire_gbar_extra_resource_cb(struct dynamicbox *handle, int pixmap, void *cbdata)
-{
- DbgPrint("Acquired: %u\n", (unsigned int)pixmap);
-}
-
-static void replace_pixmap(struct dynamicbox *handle, int gbar, Evas_Object *content, unsigned int pixmap)
-{
- Evas_Native_Surface *old_surface;
- Evas_Native_Surface surface;
-
- surface.version = EVAS_NATIVE_SURFACE_VERSION;
- surface.type = EVAS_NATIVE_SURFACE_X11;
- surface.data.x11.pixmap = pixmap;
-
- old_surface = evas_object_image_native_surface_get(content);
- if (!old_surface) {
- surface.data.x11.visual = ecore_x_default_visual_get(ecore_x_display_get(), ecore_x_default_screen_get());
-
- evas_object_image_native_surface_set(content, &surface);
-
- DbgPrint("Created: %u\n", surface.data.x11.pixmap);
- } else {
- unsigned int old_pixmap;
-
- old_pixmap = old_surface->data.x11.pixmap;
-
- surface.data.x11.visual = old_surface->data.x11.visual;
- evas_object_image_native_surface_set(content, &surface);
-
- if (old_pixmap && handle) {
- dynamicbox_release_resource_id(handle, gbar, old_pixmap);
- }
- }
-}
-
-static void acquire_dbox_pixmap_cb(struct dynamicbox *handle, int pixmap, void *cbdata)
-{
- struct acquire_data *acquire_data = cbdata;
- struct widget_data *data = acquire_data->data;
-
- data->is.field.dbox_pixmap_acquire_requested = 0;
-
- if (pixmap == 0) {
- DbgPrint("Pixmap gotten (0)\n");
- free(acquire_data);
- widget_unref(data);
- return;
- }
-
- evas_object_image_size_set(acquire_data->content, acquire_data->w, acquire_data->h);
- evas_object_image_fill_set(acquire_data->content, 0, 0, acquire_data->w, acquire_data->h);
- DbgPrint("fillset: %dx%d\n", acquire_data->w, acquire_data->h);
-
- replace_pixmap(handle, 0, acquire_data->content, (unsigned int)pixmap);
-
- data->dbox_pixmap = pixmap;
-
- append_dbox_dirty_object_list(data, DBOX_KEEP_BUFFER);
- update_dbox_geometry(acquire_data);
-
- widget_unref(data);
- free(acquire_data);
-}
-
-static void dbox_update_pixmap_object(struct widget_data *data, Evas_Object *dbox_content, int w, int h)
-{
- int ret;
- struct acquire_data *acquire_data;
-
- if (data->dbox_latest_idx == DBOX_PRIMARY_BUFFER) {
- if (data->dbox_pixmap == dynamicbox_resource_id(data->handle, 0)) {
- if (data->dbox_extra) {
- /* Just replace the pixmap in this case, do not release old pixmap */
- replace_pixmap(NULL, 0, dbox_content, data->dbox_pixmap);
- }
-
- update_dbox_pixmap(dbox_content, w, h);
- return;
- }
-
- if (data->is.field.dbox_pixmap_acquire_requested) {
- return;
- }
-
- acquire_data = malloc(sizeof(*acquire_data));
- if (!acquire_data) {
- ErrPrint("malloc: %s\n", strerror(errno));
- return;
- }
-
- acquire_data->data = widget_ref(data);
- acquire_data->content = dbox_content;
- acquire_data->w = w;
- acquire_data->h = h;
-
- ret = dynamicbox_acquire_resource_id(data->handle, 0, acquire_dbox_pixmap_cb, acquire_data);
- if (ret != DBOX_STATUS_ERROR_NONE) {
- widget_unref(data);
- free(acquire_data);
- } else {
- data->is.field.dbox_pixmap_acquire_requested = 1;
- }
- } else {
- if (!data->dbox_extra) {
- ErrPrint("Extra buffer is not prepared yet\n");
- return;
- }
-
- replace_pixmap(NULL, 0, dbox_content, data->dbox_extra[data->dbox_latest_idx]);
- update_dbox_pixmap(dbox_content, w, h);
- }
-}
-
-static void dbox_created_cb(struct dynamicbox *handle, int ret, void *cbdata)
-{
- struct widget_data *data = cbdata;
- struct dynamicbox_evas_event_info info;
-
- if (data->state != WIDGET_DATA_CREATED) {
- ErrPrint("Invalid widget data: %p (%d), %s\n", data, ret, dynamicbox_pkgname(handle));
- return;
- }
-
- if (ret != DBOX_STATUS_ERROR_NONE) {
- DbgPrint("Failed to create: %X\n", ret);
- data->handle = NULL;
-
- if (!data->is.field.deleted) {
- struct dynamicbox_evas_event_info fault_event;
-
- fault_event.error = ret;
- fault_event.pkgname = data->dbox_id;
- fault_event.event = DBOX_EVENT_CREATED;
-
- if (!data->is.field.faulted) {
- data->is.field.faulted = 1;
- dbox_overlay_faulted(data);
- }
-
- DbgPrint("Display tap to load (%p) [%s]\n", data, data->dbox_id);
- smart_callback_call(data, DYNAMICBOX_SMART_SIGNAL_DBOX_CREATE_ABORTED, &fault_event);
-
- ret = DBOX_STATUS_ERROR_FAULT;
- } else {
- ret = DBOX_STATUS_ERROR_CANCEL;
- }
-
- data->is.field.send_delete = 0;
- DbgPrint("Invoke raw delete %s\n", data->dbox_id);
- invoke_raw_event_callback(DYNAMICBOX_EVAS_RAW_DELETE, data->dbox_id, data->dynamicbox, ret);
- widget_unref(data);
- return;
- }
-
- switch (dynamicbox_type(handle, 0)) {
- case DBOX_CONTENT_TYPE_IMAGE:
- ret = dbox_create_image_object(data);
- break;
- case DBOX_CONTENT_TYPE_RESOURCE_ID:
- if (!s_info.conf.field.force_to_buffer) {
- ret = dbox_create_pixmap_object(data);
- break;
- }
- case DBOX_CONTENT_TYPE_BUFFER:
- ret = dbox_create_buffer_object(data);
- break;
- case DBOX_CONTENT_TYPE_TEXT:
- ret = dbox_create_text_object(data);
- break;
- case DBOX_CONTENT_TYPE_UIFW:
- ret = dbox_create_plug_object(data);
- break;
- case DBOX_CONTENT_TYPE_INVALID:
- default:
- ret = DBOX_STATUS_ERROR_INVALID_PARAMETER;
- break;
- }
-
- if (ret == DBOX_STATUS_ERROR_NONE) {
- info.error = DBOX_STATUS_ERROR_NONE;
- info.pkgname = data->dbox_id;
- info.event = DBOX_EVENT_CREATED;
-
- data->is.field.created = 1;
-
- update_visibility(data);
- smart_callback_call(data, DYNAMICBOX_SMART_SIGNAL_DBOX_CREATED, &info);
- DbgPrint("Invoke raw create %s\n", data->dbox_id);
- invoke_raw_event_callback(DYNAMICBOX_EVAS_RAW_CREATE, data->dbox_id, data->dynamicbox, ret);
-
- /**
- * In case of using the direct update path,
- * sometimes the provider can send the updated event faster than created event.
- * In that case, the viewer cannot recognize the updated content of a dbox.
- * So for the safety, I added this to forcely update the dbox at the first time
- * Right after creating its instance.
- */
- append_dbox_dirty_object_list(data, DBOX_KEEP_BUFFER);
- } else {
- info.error = ret;
- info.pkgname = data->dbox_id;
- info.event = DBOX_EVENT_CREATED;
- smart_callback_call(data, DYNAMICBOX_SMART_SIGNAL_DBOX_CREATE_ABORTED, &info);
- data->is.field.send_delete = 0;
- DbgPrint("Invoke raw delete %s\n", data->dbox_id);
- invoke_raw_event_callback(DYNAMICBOX_EVAS_RAW_DELETE, data->dbox_id, data->dynamicbox, ret);
- }
-
- widget_unref(data);
-}
-
-static void dbox_resize_image_object(struct widget_data *data)
-{
- DbgPrint("Dynamicbox resize request is succssfully sent\n");
-}
-
-static void dbox_resize_buffer_object(struct widget_data *data)
-{
- DbgPrint("Dynamicbox resize request is succssfully sent\n");
-}
-
-static void dbox_resize_text_object(struct widget_data *data)
-{
- DbgPrint("Dynamicbox resize request is succssfully sent\n");
-}
-
-static void dbox_resize_cb(struct dynamicbox *handle, int ret, void *cbdata)
-{
- struct widget_data *data = cbdata;
- struct dynamicbox_evas_event_info info;
-
- if (data->state != WIDGET_DATA_CREATED) {
- ErrPrint("Invalid widget data: %p\n", data);
- return;
- }
-
- if (ret != DBOX_STATUS_ERROR_NONE) {
- info.error = ret;
- info.event = DBOX_EVENT_DBOX_SIZE_CHANGED;
- info.pkgname = data->dbox_id;
- smart_callback_call(data, DYNAMICBOX_SMART_SIGNAL_DBOX_RESIZE_ABORTED, &info);
- widget_unref(data);
- return;
- }
-
- switch (dynamicbox_type(handle, 0)) {
- case DBOX_CONTENT_TYPE_IMAGE:
- dbox_resize_image_object(data);
- break;
- case DBOX_CONTENT_TYPE_RESOURCE_ID:
- if (!s_info.conf.field.force_to_buffer) {
- dbox_resize_pixmap_object(data);
- break;
- }
- case DBOX_CONTENT_TYPE_BUFFER:
- dbox_resize_buffer_object(data);
- break;
- case DBOX_CONTENT_TYPE_TEXT:
- dbox_resize_text_object(data);
- break;
- case DBOX_CONTENT_TYPE_UIFW:
- break;
- case DBOX_CONTENT_TYPE_INVALID:
- break;
- default:
- break;
- }
-
- info.error = ret;
- info.event = DBOX_EVENT_DBOX_SIZE_CHANGED;
- info.pkgname = data->dbox_id;
- smart_callback_call(data, DYNAMICBOX_SMART_SIGNAL_DBOX_RESIZED, &info);
- widget_unref(data);
-}
-
-static void gbar_overlay_disable(struct widget_data *data)
-{
- if (!data->gbar_layout) {
- return;
- }
-
- if (!data->is.field.gbar_overlay_loaded) {
- return;
- }
-
- elm_object_signal_emit(data->gbar_layout, "disable", "overlay");
- data->is.field.gbar_overlay_loaded = 0;
-}
-
-static void gbar_overlay_loading(struct widget_data *data)
-{
- Evas_Object *rect;
-
- if (data->is.field.gbar_overlay_loaded) {
- ErrPrint("Already loaded");
- return;
- }
-
- rect = elm_object_part_content_unset(data->gbar_layout, "overlay,content");
- if (rect) {
- evas_object_del(rect);
- }
-
- rect = evas_object_rectangle_add(data->e);
- evas_object_color_set(rect, 0, 0, 0, 0);
- evas_object_show(rect);
- /*!
- * \todo
- * Overlay for loading a GBAR
- */
-
- elm_object_part_content_set(data->gbar_layout, "overlay,content", rect);
- elm_object_signal_emit(data->gbar_layout, "enable", "overlay");
-
- data->is.field.gbar_overlay_loaded = 1;
-}
-
-static Evas_Object *dbox_load_overlay_edje(struct widget_data *data)
-{
- Evas_Object *overlay;
-
- overlay = elm_layout_add(data->parent);
- if (!overlay) {
- ErrPrint("Failed to create a overlay\n");
- return NULL;
- }
-
- if (elm_layout_file_set(overlay, DYNAMICBOX_EVAS_RESOURCE_EDJ, DYNAMICBOX_EVAS_RESOURCE_OVERLAY_LOADING) == EINA_FALSE) {
- ErrPrint("Failed to load overlay file\n");
- evas_object_del(overlay);
- return NULL;
- }
-
- elm_object_part_content_set(data->dbox_layout, "overlay,content", overlay);
- return overlay;
-}
-
-static Eina_Bool delayed_overlay_disable_cb(void *_data)
-{
- struct widget_data *data = _data;
-
- elm_object_signal_emit(data->dbox_layout, "disable", "overlay");
-
- data->is.field.dbox_overlay_loaded = 0;
- data->overlay_update_counter = DEFAULT_OVERLAY_COUNTER;
- data->overlay_timer = NULL;
- return ECORE_CALLBACK_CANCEL;
-}
-
-static void dbox_overlay_disable(struct widget_data *data, int no_timer)
-{
- if (!data->dbox_layout) {
- return;
- }
-
- if (!data->is.field.dbox_overlay_loaded) {
- return;
- }
-
- data->overlay_update_counter--;
- if (data->overlay_update_counter <= 0) {
- if (no_timer) {
- if (data->overlay_timer) {
- ecore_timer_del(data->overlay_timer);
- data->overlay_timer = NULL;
- }
- delayed_overlay_disable_cb(data);
- } else {
- if (data->overlay_timer) {
- ecore_timer_del(data->overlay_timer);
- data->overlay_timer = NULL;
- delayed_overlay_disable_cb(data);
- } else {
- return;
- }
- }
- }
-
- if (!no_timer && !data->overlay_timer) {
- data->overlay_timer = ecore_timer_add(DEFAULT_OVERLAY_WAIT_TIME, delayed_overlay_disable_cb, data);
- if (!data->overlay_timer) {
- ErrPrint("Failed to create a timer\n");
- delayed_overlay_disable_cb(data);
- }
- }
-}
-
-static void dbox_overlay_loading(struct widget_data *data)
-{
- struct acquire_data acquire_data;
- Evas_Object *overlay;
-
- if (data->is.field.disable_loading == 1) {
- DbgPrint("Loading overlay is disabled");
- return;
- }
-
- if (data->is.field.dbox_overlay_loaded == 1) {
- DbgPrint("Overlay is already loaded");
- return;
- }
-
- overlay = elm_object_part_content_get(data->dbox_layout, "overlay,content");
- if (!overlay) {
- overlay = dbox_load_overlay_edje(data);
- if (!overlay) {
- return;
- }
- }
-
- if (!data->is.field.disable_preview) {
- char *icon;
-
- icon = get_package_icon(data);
- if (icon) {
- Evas_Object *preview;
-
- preview = elm_object_part_content_get(overlay, "preview");
- if (!preview) {
- preview = elm_image_add(overlay);
- }
-
- if (preview) {
- elm_image_file_set(preview, icon, NULL);
- elm_object_part_content_set(overlay, "preview", preview);
- }
-
- free(icon);
- }
-
- DbgPrint("Set overlay loading (%p) %s\n", data, data->dbox_id);
- } else {
- DbgPrint("Overlay is disabled (%s)\n", data->dbox_id);
- }
-
- elm_object_part_text_set(overlay, "text", _("IDS_IDLE_POP_LOADING_ING"));
- if (data->is.field.disable_text) {
- elm_object_signal_emit(overlay, "disable", "text");
- }
-
- elm_object_signal_emit(data->dbox_layout, "reset", "overlay");
- elm_object_signal_emit(data->dbox_layout, "enable", "overlay");
-
- evas_object_geometry_get(data->dynamicbox, NULL, NULL, &acquire_data.w, &acquire_data.h);
- acquire_data.content = NULL;
- acquire_data.data = data;
- update_dbox_geometry(&acquire_data);
-
- data->is.field.dbox_overlay_loaded = 1;
- data->overlay_update_counter = DEFAULT_OVERLAY_COUNTER;
-}
-
-static void dbox_overlay_faulted(struct widget_data *data)
-{
- struct acquire_data acquire_data;
- Evas_Object *overlay;
-
- if (data->is.field.dbox_overlay_loaded) {
- data->overlay_update_counter = 0;
- dbox_overlay_disable(data, 1);
- }
-
- overlay = elm_object_part_content_get(data->dbox_layout, "overlay,content");
- if (!overlay) {
- overlay = dbox_load_overlay_edje(data);
- if (!overlay) {
- return;
- }
- }
-
- if (dynamicbox_type(data->handle, 0) != DBOX_CONTENT_TYPE_IMAGE) {
- Evas_Object *preview;
-
- preview = elm_object_part_content_get(overlay, "preview");
- if (!preview) {
- char *icon;
-
- icon = dynamicbox_service_preview(data->dbox_id, data->size_type);
- if (icon) {
- preview = elm_image_add(data->dbox_layout);
- if (preview) {
- elm_image_file_set(preview, icon, NULL);
- elm_object_part_content_set(overlay, "preview", preview);
- }
-
- free(icon);
- }
- }
- }
-
- DbgPrint("Set overlay fault (%p) %s\n", data, data->dbox_id);
- elm_object_part_text_set(overlay, "text", _("IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"));
- elm_object_signal_emit(overlay, "enable", "text");
- elm_object_signal_emit(data->dbox_layout, "reset", "overlay");
- elm_object_signal_emit(data->dbox_layout, "enable", "overlay");
-
- evas_object_geometry_get(data->dynamicbox, NULL, NULL, &acquire_data.w, &acquire_data.h);
- acquire_data.content = NULL;
- acquire_data.data = data;
- update_dbox_geometry(&acquire_data);
- data->is.field.dbox_overlay_loaded = 1;
-}
-
-static void widget_resize(Evas_Object *dynamicbox, Evas_Coord w, Evas_Coord h)
-{
- struct widget_data *data;
- int type;
-
- data = evas_object_smart_data_get(dynamicbox);
- if (!data) {
- ErrPrint("Invalid object\n");
- return;
- }
-
- if (data->state != WIDGET_DATA_CREATED) {
- ErrPrint("Invalid widget data: %p\n", data);
- return;
- }
-
- type = find_size_type(data, w, h);
- if (type == DBOX_SIZE_TYPE_UNKNOWN) {
- ErrPrint("Invalid size: %dx%d\n", w, h);
- //return;
- } else if (s_info.conf.field.use_fixed_size) {
- if (dynamicbox_service_get_size(type, &w, &h) < 0) {
- ErrPrint("Failed to get box size\n");
- }
- }
-
- data->dbox_width = w;
- data->dbox_height = h;
- data->size_type = type;
-
- if (data->is.field.faulted) {
- evas_object_resize(data->dbox_layout, data->dbox_width, data->dbox_height);
- ErrPrint("Faulted DBox, skip resizing (%s)\n", data->dbox_id);
- return;
- }
-
- if (!data->handle) {
- struct acquire_data acquire_data = {
- .data = data,
- };
- DbgPrint("Create new handle: %dx%d, (%s, %s), %s/%s\n", data->dbox_width, data->dbox_height,
- data->dbox_id, data->content,
- data->cluster, data->category);
- if (dynamicbox_activate(data->dbox_id, NULL, NULL) < 0) {
- ErrPrint("Activate: %s\n", data->dbox_id);
- }
- data->is.field.created = 0;
- data->is.field.send_delete = 1;
- update_dbox_geometry(&acquire_data);
-
- data->handle = dynamicbox_add(data->dbox_id, data->content,
- data->cluster, data->category,
- data->period, type,
- dbox_created_cb, widget_ref(data));
- if (!data->handle) {
- ErrPrint("Failed to send add request\n");
- DbgPrint("Unref %p %s\n", data, data->dbox_id);
- widget_unref(data);
- return;
- }
-
- DbgPrint("Added handle: %p (%p)\n", data->handle, data);
- dynamicbox_set_data(data->handle, dynamicbox);
- dbox_overlay_loading(data);
- data->is.field.touch_effect = dynamicbox_service_touch_effect(data->dbox_id, type);
- data->is.field.mouse_event = dynamicbox_service_mouse_event(data->dbox_id, type);
- } else {
- int ret;
-
- DbgPrint("Resize to %dx%d\n", w, h);
-
- if (type > 0 && type != DBOX_SIZE_TYPE_UNKNOWN) {
- ret = dynamicbox_resize(data->handle, type, dbox_resize_cb, widget_ref(data));
- } else {
- ret = DBOX_STATUS_ERROR_INVALID_PARAMETER;
- /* This will be decreased soon ... */
- widget_ref(data);
- }
-
- evas_object_resize(data->dbox_layout, data->dbox_width, data->dbox_height);
- if (ret == DBOX_STATUS_ERROR_ALREADY) {
- DbgPrint("Same size\n");
- widget_unref(data);
- } else if (ret == DBOX_STATUS_ERROR_NONE) {
- DbgPrint("Resize request is successfully sent\n");
- data->is.field.touch_effect = dynamicbox_service_touch_effect(data->dbox_id, type);
- data->is.field.mouse_event = dynamicbox_service_mouse_event(data->dbox_id, type);
- } else {
- widget_unref(data);
- }
- }
-}
-
-static void widget_show(Evas_Object *dynamicbox)
-{
- struct widget_data *data;
-
- data = evas_object_smart_data_get(dynamicbox);
- if (!data) {
- ErrPrint("Invalid object\n");
- return;
- }
-
- if (data->state != WIDGET_DATA_CREATED) {
- ErrPrint("Invalid widget data: %p\n", data);
- return;
- }
-
- evas_object_show(data->stage);
- evas_object_show(data->dbox_layout);
-
- update_visibility(data);
-}
-
-static void widget_hide(Evas_Object *dynamicbox)
-{
- struct widget_data *data;
-
- data = evas_object_smart_data_get(dynamicbox);
- if (!data) {
- ErrPrint("Invalid object\n");
- return;
- }
-
- if (data->state != WIDGET_DATA_CREATED) {
- ErrPrint("Invalid widget data: %p\n", data);
- return;
- }
-
- evas_object_hide(data->stage);
- evas_object_hide(data->dbox_layout);
-
- update_visibility(data);
-}
-
-static void widget_color_set(Evas_Object *dynamicbox, int r, int g, int b, int a)
-{
- struct widget_data *data;
-
- data = evas_object_smart_data_get(dynamicbox);
- if (!data) {
- ErrPrint("Invalid object\n");
- return;
- }
-
- if (data->state != WIDGET_DATA_CREATED) {
- ErrPrint("Invalid widget data: %p\n", data);
- return;
- }
-
- evas_object_color_set(data->stage, r, g, b, a);
-}
-
-static void widget_clip_set(Evas_Object *dynamicbox, Evas_Object *clip)
-{
- struct widget_data *data;
-
- data = evas_object_smart_data_get(dynamicbox);
- if (!data) {
- ErrPrint("Invalid object\n");
- return;
- }
-
- if (data->state != WIDGET_DATA_CREATED) {
- ErrPrint("Invalid widget data: %p\n", data);
- return;
- }
-
- evas_object_clip_set(data->stage, clip);
-}
-
-static void widget_clip_unset(Evas_Object *dynamicbox)
-{
- struct widget_data *data;
-
- data = evas_object_smart_data_get(dynamicbox);
- if (!data) {
- ErrPrint("Invalid object\n");
- return;
- }
-
- if (data->state != WIDGET_DATA_CREATED) {
- ErrPrint("Invalid widget data: %p\n", data);
- return;
- }
-
- evas_object_clip_unset(data->stage);
-}
-
-/*!
- * This must be called before update_gbar_geometry
- */
-static void update_stage_geometry(struct acquire_data *acquire_data)
-{
- Evas_Coord dbox_x, dbox_y, dbox_w, dbox_h;
- Evas_Coord stage_w, stage_h;
-
- evas_object_geometry_get(acquire_data->data->dbox_layout, &dbox_x, &dbox_y, &dbox_w, &dbox_h);
-
- const int delta_y_top = (acquire_data->h - dbox_y);
- const int delta_y_bottom = (acquire_data->h - (s_info.screen_height - dbox_y - dbox_h));
-
- stage_w = dbox_w > acquire_data->w ? dbox_w : acquire_data->w;
- stage_h = dbox_h + acquire_data->h;// - delta_y_top;
-
- if(delta_y_top >= delta_y_bottom)
- {
- evas_object_move(acquire_data->data->stage, 0, dbox_y);
- }
- else
- {
- evas_object_move(acquire_data->data->stage, 0, dbox_y - acquire_data->h);
- }
-
- evas_object_resize(acquire_data->data->stage, stage_w, stage_h);
-}
-
-static void update_gbar_geometry(struct acquire_data *acquire_data)
-{
- Evas_Coord dbox_x, dbox_y, dbox_w, dbox_h;
-
- evas_object_geometry_get(acquire_data->data->dbox_layout, &dbox_x, &dbox_y, &dbox_w, &dbox_h);
-
- //How much of the GBAR is outside the screen
- const int delta_y_top = (acquire_data->h - dbox_y) < 0 ? 0 : acquire_data->h - dbox_y;
- const int delta_y_bottom = (acquire_data->h - (s_info.screen_height - dbox_y - dbox_h)) < 0 ? 0 : (acquire_data->h - (s_info.screen_height - dbox_y - dbox_h));
-
- //If more of the GBAR is outside the top side draw at the bottom, otherwise draw at the top
- if(delta_y_top >= delta_y_bottom)
- {
- evas_object_move(acquire_data->data->gbar_layout, 0, dbox_y + dbox_h - delta_y_bottom);
- effect_resize(acquire_data->data->gbar_layout, acquire_data->w, acquire_data->h, EFFECT_HEIGHT);
- }
- else
- {
- evas_object_move(acquire_data->data->gbar_layout, 0, dbox_y + delta_y_top);
- effect_resize(acquire_data->data->gbar_layout, acquire_data->w, acquire_data->h, EFFECT_HEIGHT|EFFECT_MOVE);
- }
-}
-
-static void update_dbox_geometry(struct acquire_data *acquire_data)
-{
- Evas_Coord dbox_x, dbox_y, dbox_w, dbox_h;
- Evas_Coord stage_w, stage_h;
- struct widget_data *data = acquire_data->data;
-
- evas_object_resize(data->dbox_layout, data->dbox_width, data->dbox_height);
- evas_object_geometry_get(data->dbox_layout, &dbox_x, &dbox_y, &dbox_w, &dbox_h);
-
- if (data->gbar_layout) {
- Evas_Coord gbar_x, gbar_y, gbar_w, gbar_h;
-
- evas_object_geometry_get(data->gbar_layout, &gbar_x, &gbar_y, &gbar_w, &gbar_h);
- if (dbox_y + dbox_h + gbar_h > s_info.screen_height) {
- evas_object_move(data->gbar_layout, 0, dbox_y - gbar_h);
- evas_object_move(data->stage, 0, dbox_y - gbar_h);
- } else {
- evas_object_move(data->gbar_layout, 0, dbox_y + dbox_h);
- evas_object_move(data->stage, 0, dbox_y);
- }
-
- stage_w = gbar_w > dbox_w ? gbar_w : dbox_w;
- stage_h = dbox_h + gbar_h;
- } else {
- stage_w = dbox_w;
- if (s_info.conf.field.support_gbar) {
- stage_h = dbox_h + 100; /* Reserve 100 px for effect */
- } else {
- stage_h = dbox_h;
- }
-
- evas_object_move(data->stage, dbox_x, dbox_y);
- }
-
- evas_object_resize(data->stage, stage_w, stage_h);
-}
-
-static void dbox_update_image_object(struct widget_data *data, Evas_Object *dbox_content, int w, int h)
-{
- Evas_Object *front_image;
-
- front_image = elm_object_part_content_get(dbox_content, "front,content");
- if (front_image) {
- elm_image_file_set(front_image, dynamicbox_filename(data->handle), NULL);
- } else {
- ErrPrint("Image object not found\n");
- }
-}
-
-static void dbox_update_buffer_object(struct widget_data *data, Evas_Object *dbox_content, int w, int h)
-{
- struct acquire_data acquire_data = {
- .w = w,
- .h = h,
- .content = dbox_content,
- .data = data,
- };
-
- if (data->dbox_fb) {
- dynamicbox_release_buffer(data->dbox_fb);
- data->dbox_fb = NULL;
- }
-
- data->dbox_fb = dynamicbox_acquire_buffer(data->handle, 0);
- if (!data->dbox_fb) {
- ErrPrint("Failed to get fb\n");
- return;
- }
-
- evas_object_image_size_set(dbox_content, w, h);
-
- if (dynamicbox_acquire_buffer_lock(data->handle, 0) < 0) {
- ErrPrint("Failed to acquire lock\n");
- }
- evas_object_image_data_copy_set(dbox_content, data->dbox_fb);
- if (dynamicbox_release_buffer_lock(data->handle, 0) < 0) {
- ErrPrint("Failed to release lock\n");
- }
-
- evas_object_image_fill_set(dbox_content, 0, 0, w, h);
- evas_object_image_pixels_dirty_set(dbox_content, EINA_TRUE);
- evas_object_image_data_update_add(dbox_content, 0, 0, w, h);
- update_dbox_geometry(&acquire_data);
-}
-
-static void dbox_update_text_object(struct widget_data *data, Evas_Object *dbox_content, int w, int h)
-{
- struct acquire_data acquire_data = {
- .w = w,
- .h = h,
- .content = dbox_content,
- .data = data,
- };
-
- update_dbox_geometry(&acquire_data);
-}
-
-static void dynamicbox_event_extra_info_updated(struct widget_data *data)
-{
- struct dynamicbox_evas_event_info info;
- const char *content_info;
- char *tmp;
-
- if (data->is.field.deleted) {
- DbgPrint("Box is %s, ignore update\n", data->is.field.deleted ? "deleted" : "faulted");
- return;
- }
-
- content_info = dynamicbox_content(data->handle);
- if (content_info && data->content) {
- if (!strcmp(content_info, data->content)) {
- /* Nothing chnaged */
- } else {
- tmp = strdup(content_info);
- if (!tmp) {
- ErrPrint("Heap: %s\n", strerror(errno));
- return;
- }
-
- free(data->content);
- data->content = tmp;
- }
- } else if (content_info) {
- tmp = strdup(content_info);
- if (!tmp) {
- ErrPrint("Heap: %s\n", strerror(errno));
- return;
- }
- data->content = tmp;
- } else if (data->content) {
- free(data->content);
- data->content = NULL;
- } else {
- /* Nothing changed */
- }
-
- info.pkgname = data->dbox_id;
- info.event = DBOX_EVENT_EXTRA_INFO_UPDATED;
- info.error = DBOX_STATUS_ERROR_NONE;
- smart_callback_call(data, DYNAMICBOX_SMART_SIGNAL_EXTRA_INFO_UPDATED, &info);
-}
-
-/*!
- * Event handlers
- */
-static void dynamicbox_event_dbox_updated(struct widget_data *data)
-{
- Evas_Object *dbox_content;
- int type;
- int w, h;
- struct dynamicbox_evas_event_info info;
-
- data->is.field.dbox_dirty = 0;
-
- if (data->is.field.deleted) {
- DbgPrint("Box is %s, ignore update\n", data->is.field.deleted ? "deleted" : "faulted");
- return;
- }
-
- dbox_content = elm_object_part_content_get(data->dbox_layout, "dynamicbox,content");
- if (!dbox_content) {
- ErrPrint("Failed to get content object\n");
- return;
- }
-
- type = dynamicbox_size(data->handle);
- if (type < 0 || type == DBOX_SIZE_TYPE_UNKNOWN) {
- ErrPrint("Size is not valid %X\n", type);
- return;
- }
-
- w = data->dbox_width;
- h = data->dbox_height;
-
- switch (dynamicbox_type(data->handle, 0)) {
- case DBOX_CONTENT_TYPE_IMAGE:
- dbox_update_image_object(data, dbox_content, w, h);
- break;
- case DBOX_CONTENT_TYPE_RESOURCE_ID:
- if (!s_info.conf.field.force_to_buffer) {
- dbox_update_pixmap_object(data, dbox_content, w, h);
- break;
- }
- case DBOX_CONTENT_TYPE_BUFFER:
- dbox_update_buffer_object(data, dbox_content, w, h);
- break;
- case DBOX_CONTENT_TYPE_TEXT:
- dbox_update_text_object(data, dbox_content, w, h);
- break;
- case DBOX_CONTENT_TYPE_UIFW:
- break;
- case DBOX_CONTENT_TYPE_INVALID:
- default:
- break;
- }
-
- dbox_overlay_disable(data, 0);
-
- info.pkgname = data->dbox_id;
- info.event = DBOX_EVENT_DBOX_UPDATED;
- info.error = DBOX_STATUS_ERROR_NONE;
- smart_callback_call(data, DYNAMICBOX_SMART_SIGNAL_UPDATED, &info);
-}
-
-static void gbar_update_buffer_object(struct widget_data *data, Evas_Object *gbar_content, int w, int h)
-{
- struct acquire_data acquire_data = {
- .data = data,
- .content = gbar_content,
- .w = w,
- .h = h,
- };
-
- if (data->gbar_fb) {
- dynamicbox_release_buffer(data->gbar_fb);
- data->gbar_fb = NULL;
- } else {
- // This is first time
- gbar_overlay_disable(data);
- }
-
- data->gbar_fb = dynamicbox_acquire_buffer(data->handle, 1);
- if (!data->gbar_fb) {
- ErrPrint("Failed to get fb\n");
- return;
- }
-
- evas_object_image_size_set(gbar_content, w, h);
-
- if (dynamicbox_acquire_buffer_lock(data->handle, 1) < 0) {
- ErrPrint("Failed to acquire lock\n");
- }
- evas_object_image_data_copy_set(gbar_content, data->gbar_fb);
- if (dynamicbox_release_buffer_lock(data->handle, 1) < 0) {
- ErrPrint("Failed to release lock\n");
- }
-
- evas_object_image_fill_set(gbar_content, 0, 0, w, h);
- evas_object_image_pixels_dirty_set(gbar_content, EINA_TRUE);
- evas_object_image_data_update_add(gbar_content, 0, 0, w, h);
-
- update_stage_geometry(&acquire_data);
- update_gbar_geometry(&acquire_data);
-}
-
-static void gbar_update_text_object(struct widget_data *data, Evas_Object *gbar_content, int w, int h)
-{
- struct acquire_data acquire_data = {
- .data = data,
- .content = gbar_content,
- .w = w,
- .h = h,
- };
-
- ErrPrint("Text type is updated\n");
- gbar_overlay_disable(data);
-
- update_stage_geometry(&acquire_data);
- update_gbar_geometry(&acquire_data);
-}
-
-static void update_gbar_pixmap(Evas_Object *content, int w, int h)
-{
- evas_object_image_pixels_dirty_set(content, EINA_TRUE);
- evas_object_image_data_update_add(content, 0, 0, w, h);
- evas_object_show(content);
-}
-
-static void acquire_gbar_pixmap_cb(struct dynamicbox *handle, int pixmap, void *cbdata)
-{
- struct acquire_data *acquire_data = cbdata;
- struct widget_data *data = acquire_data->data;
- Evas_Native_Surface *old_surface;
- Evas_Native_Surface surface;
-
- data->is.field.gbar_pixmap_acquire_requested = 0;
-
- if (pixmap == 0) {
- ErrPrint("Failed to acquire pixmap\n");
- DbgPrint("Unref %p %s\n", data, data->dbox_id);
- widget_unref(data);
- free(acquire_data);
- return;
- }
-
- evas_object_image_size_set(acquire_data->content, acquire_data->w, acquire_data->h);
- evas_object_image_fill_set(acquire_data->content, 0, 0, acquire_data->w, acquire_data->h);
-
- surface.version = EVAS_NATIVE_SURFACE_VERSION;
- surface.type = EVAS_NATIVE_SURFACE_X11;
- surface.data.x11.pixmap = (unsigned int)pixmap;
-
- old_surface = evas_object_image_native_surface_get(acquire_data->content);
- if (!old_surface) {
- gbar_overlay_disable(data);
- surface.data.x11.visual = ecore_x_default_visual_get(ecore_x_display_get(), ecore_x_default_screen_get());
- evas_object_image_native_surface_set(acquire_data->content, &surface);
- } else {
- unsigned int old_pixmap = 0u;
- old_pixmap = old_surface->data.x11.pixmap;
- surface.data.x11.visual = old_surface->data.x11.visual;
- evas_object_image_native_surface_set(acquire_data->content, &surface);
-
- if (old_pixmap) {
- dynamicbox_release_resource_id(data->handle, 1, old_pixmap);
- }
- }
-
- data->gbar_pixmap = (unsigned int)pixmap;
-
- append_gbar_dirty_object_list(data, DBOX_KEEP_BUFFER);
- update_stage_geometry(acquire_data);
- update_gbar_geometry(acquire_data);
-
- free(acquire_data);
- DbgPrint("Unref %p %s\n", data, data->dbox_id);
- widget_unref(data);
-}
-
-static void gbar_update_pixmap_object(struct widget_data *data, Evas_Object *gbar_content, int w, int h)
-{
- struct acquire_data *acquire_data;
- int ret;
-
- if (data->gbar_latest_idx == DBOX_PRIMARY_BUFFER) {
- if (data->gbar_pixmap == dynamicbox_resource_id(data->handle, 1)) {
- int ow;
- int oh;
-
- effect_size_get(gbar_content, &ow, &oh);
-
- if (data->gbar_extra) {
- replace_pixmap(NULL, 1, gbar_content, data->gbar_pixmap);
- }
- update_gbar_pixmap(gbar_content, w, h);
-
- if (ow != w || oh != h) {
- struct acquire_data adata = {
- .data = data,
- .content = gbar_content,
- .w = w,
- .h = h,
- };
-
- update_stage_geometry(&adata);
- }
- return;
- }
-
- if (data->is.field.gbar_pixmap_acquire_requested) {
- return;
- }
-
- acquire_data = malloc(sizeof(*acquire_data));
- if (!acquire_data) {
- ErrPrint("Heap: %s\n", strerror(errno));
- return;
- }
-
- acquire_data->content = gbar_content;
- acquire_data->w = w;
- acquire_data->h = h;
- acquire_data->data = widget_ref(data);
-
- ret = dynamicbox_acquire_resource_id(data->handle, 1, acquire_gbar_pixmap_cb, acquire_data);
- if (ret != DBOX_STATUS_ERROR_NONE) {
- ErrPrint("Failed to acquire gbar resource id\n");
- free(acquire_data);
- DbgPrint("Unref %p %s\n", data, data->dbox_id);
- widget_unref(data);
- } else {
- data->is.field.gbar_pixmap_acquire_requested = 1;
- }
- } else {
- int ow;
- int oh;
-
- if (!data->gbar_extra) {
- DbgPrint("Extra GBar is not prepared yet\n");
- return;
- }
-
- effect_size_get(gbar_content, &ow, &oh);
-
- replace_pixmap(NULL, 1, gbar_content, data->gbar_extra[data->gbar_latest_idx]);
- update_gbar_pixmap(gbar_content, w, h);
-
- if (ow != w || oh != h) {
- struct acquire_data adata = {
- .data = data,
- .content = gbar_content,
- .w = w,
- .h = h,
- };
-
- update_stage_geometry(&adata);
- }
- }
-}
-
-static void dynamicbox_event_gbar_updated(struct widget_data *data)
-{
- Evas_Object *gbar_content;
- int w, h;
-
- data->is.field.gbar_dirty = 0;
-
- if (data->is.field.deleted) {
- DbgPrint("Box is deleted, ignore update\n");
- return;
- }
-
- gbar_content = elm_object_part_content_get(data->gbar_layout, "gbar,content");
- if (!gbar_content) {
- ErrPrint("Failed to get content object\n");
- return;
- }
-
- if (dynamicbox_get_glance_bar_size(data->handle, &w, &h) != DBOX_STATUS_ERROR_NONE) {
- ErrPrint("Failed to get gbar_size\n");
- w = 0;
- h = 0;
- }
-
- switch (dynamicbox_type(data->handle, 1)) {
- case DBOX_CONTENT_TYPE_RESOURCE_ID:
- if (!s_info.conf.field.force_to_buffer) {
- gbar_update_pixmap_object(data, gbar_content, w, h);
- break;
- }
- case DBOX_CONTENT_TYPE_BUFFER:
- gbar_update_buffer_object(data, gbar_content, w, h);
- break;
- case DBOX_CONTENT_TYPE_TEXT:
- gbar_update_text_object(data, gbar_content, w, h);
- break;
- case DBOX_CONTENT_TYPE_UIFW:
- break;
- case DBOX_CONTENT_TYPE_INVALID:
- default:
- ErrPrint("Invalid pd type\n");
- break;
- }
-}
-
-static void dynamicbox_event_deleted(struct widget_data *data)
-{
- struct dynamicbox_evas_event_info info;
-
- if (data->dbox_fb) {
- dynamicbox_release_buffer(data->dbox_fb);
- data->dbox_fb = NULL;
- }
-
- if (data->gbar_fb) {
- dynamicbox_release_buffer(data->gbar_fb);
- data->gbar_fb = NULL;
- }
-
- if (data->dbox_pixmap) {
- replace_dbox_pixmap_with_image(data);
- }
-
- if (data->gbar_pixmap) {
- replace_gbar_pixmap_with_image(data);
- }
-
- DbgPrint("Dynamicbox is deleted: %p (emit signal)\n", data);
- data->is.field.send_delete = 0;
- info.pkgname = data->dbox_id;
- info.event = DBOX_EVENT_DELETED;
- info.error = data->is.field.faulted ? DBOX_STATUS_ERROR_FAULT : DBOX_STATUS_ERROR_NONE;
-
- /**
- * Even if the dynamicbox object tries to be deleted from DBOX_DELETED event callback,
- * widget data should not be released while processing RAW_DELETE event handling
- */
- widget_ref(data);
-
- smart_callback_call(data, DYNAMICBOX_SMART_SIGNAL_DBOX_DELETED, &info);
- DbgPrint("Invoke raw delete %s\n", data->dbox_id);
- invoke_raw_event_callback(DYNAMICBOX_EVAS_RAW_DELETE, data->dbox_id, data->dynamicbox, info.error);
-
- remove_dbox_dirty_object_list(data);
- remove_gbar_dirty_object_list(data); /* For the safety */
-
- data->handle = NULL;
-
- /**
- * All event handler is handled correctly,
- * Then decrease the refcnt of it.
- */
- widget_unref(data);
-}
-
-static void dynamicbox_event_request_close_gbar(struct widget_data *data)
-{
- int ret;
-
- ret = dynamicbox_destroy_glance_bar(data->handle, dbox_destroy_gbar_cb, widget_ref(data));
- if (ret < 0) {
- ErrPrint("Failed to close a GBAR: %x\n", ret);
- DbgPrint("Unref %p %s\n", data, data->dbox_id);
- widget_unref(data);
- }
-}
-
-static void dynamicbox_event_group_changed(struct widget_data *data)
-{
- DbgPrint("Group is changed\n");
-}
-
-static void dynamicbox_event_pinup_changed(struct widget_data *data)
-{
- DbgPrint("Pinup is changed\n");
-}
-
-static void dynamicbox_event_period_changed(struct widget_data *data)
-{
- struct dynamicbox_evas_event_info info;
-
- data->period = dynamicbox_period(data->handle);
- DbgPrint("Update period is changed to (%lf)\n", data->period);
-
- info.pkgname = data->dbox_id;
- info.event = DBOX_EVENT_PERIOD_CHANGED;
- info.error = DBOX_STATUS_ERROR_NONE;
- smart_callback_call(data, DYNAMICBOX_SMART_SIGNAL_PERIOD_CHANGED, &info);
-}
-
-static void dynamicbox_event_dbox_size_changed(struct widget_data *data)
-{
- DbgPrint("Dynamicbox LB size is changed\n");
-}
-
-static void dynamicbox_event_gbar_size_changed(struct widget_data *data)
-{
- DbgPrint("Dynamicbox GBAR size is changed\n");
-}
-
-static void dynamicbox_event_gbar_created(struct widget_data *data)
-{
- DbgPrint("Dynamicbox GBAR is created\n");
-}
-
-static void dynamicbox_event_gbar_destroyed(struct widget_data *data)
-{
- DbgPrint("Dynamicbox GBAR is destroyed\n");
- remove_gbar_dirty_object_list(data);
-}
-
-static void dynamicbox_event_hold_scroll(struct widget_data *data)
-{
- struct dynamicbox_evas_event_info info;
- DbgPrint("Dynamicbox hold scroll\n");
-
- info.pkgname = data->dbox_id;
- info.event = DBOX_EVENT_HOLD_SCROLL;
- info.error = DBOX_STATUS_ERROR_NONE;
- smart_callback_call(data, DYNAMICBOX_SMART_SIGNAL_CONTROL_SCROLLER, &info);
-}
-
-static void dynamicbox_event_release_scroll(struct widget_data *data)
-{
- struct dynamicbox_evas_event_info info;
- DbgPrint("Dynamicbox release scroll\n");
-
- info.pkgname = data->dbox_id;
- info.event = DBOX_EVENT_RELEASE_SCROLL;
- info.error = DBOX_STATUS_ERROR_NONE;
- smart_callback_call(data, DYNAMICBOX_SMART_SIGNAL_CONTROL_SCROLLER, &info);
-}
-
-static void dynamicbox_event_dbox_update_begin(struct widget_data *data)
-{
- DbgPrint("DBOX Update Begin\n");
-}
-
-static void dynamicbox_event_dbox_update_end(struct widget_data *data)
-{
- DbgPrint("DBOX Update End\n");
-}
-
-static void dynamicbox_event_gbar_update_begin(struct widget_data *data)
-{
- DbgPrint("GBAR Update Begin\n");
-}
-
-static void dynamicbox_event_gbar_update_end(struct widget_data *data)
-{
- DbgPrint("GBAR Update End\n");
-}
-
-static void dynamicbox_event_update_mode_changed(struct widget_data *data)
-{
- DbgPrint("Update mode changed\n");
-}
-
-static void dynamicbox_event_ignored(struct widget_data *data)
-{
- DbgPrint("Request is ignored\n");
-}
-
-static int dynamicbox_event_handler(struct dynamicbox *handle, enum dynamicbox_event_type event, void *cbdata)
-{
- Evas_Object *dynamicbox;
- struct widget_data *data;
- int idx;
- unsigned int resource_id;
- int status;
-
- dynamicbox = dynamicbox_data(handle);
- if (!dynamicbox) {
- ErrPrint("dynamicbox object is not exists\n");
- return 0;
- }
-
- data = get_smart_data(dynamicbox);
- if (!data || data->is.field.deleted) {
- ErrPrint("Failed to get smart data\n");
- dynamicbox_set_data(handle, NULL);
- if (event == DBOX_EVENT_CREATED) {
- DbgPrint("System created dynamicbox is not supported\n");
- (void)dynamicbox_del(handle, DBOX_DELETE_PERMANENTLY, NULL, NULL);
- }
- return 0;
- }
-
- switch (event) {
- case DBOX_EVENT_DBOX_EXTRA_BUFFER_CREATED:
- dynamicbox_get_affected_extra_buffer(handle, 0, &idx, &resource_id);
- DbgPrint("Extra buffer created for DBOX: %d (%u)\n", idx, resource_id);
-
- status = dynamicbox_acquire_extra_resource_id(handle, 0, idx, acquire_dbox_extra_resource_cb, data);
- if (status < 0) {
- ErrPrint("Failed to acquire resource: %u (0x%X)\n", resource_id, status);
- break;
- }
-
- if (!data->dbox_extra) {
- data->dbox_extra = calloc(dynamicbox_option(DBOX_OPTION_EXTRA_BUFFER_CNT), sizeof(*data->dbox_extra));
- if (!data->dbox_extra) {
- ErrPrint("calloc: %s\n", strerror(errno));
- }
- }
-
- data->dbox_extra[idx] = resource_id;
- data->dbox_extra_cnt++;
- break;
- case DBOX_EVENT_DBOX_EXTRA_BUFFER_DESTROYED:
- dynamicbox_get_affected_extra_buffer(handle, 0, &idx, &resource_id);
- DbgPrint("Extra buffer destroyed for DBOX: %d (%u)\n", idx, resource_id);
- if (data->dbox_extra[idx] != resource_id) {
- DbgPrint("Resource Id mismatched\n");
- if (data->dbox_extra[idx] == 0u) {
- DbgPrint("Not acquired resourced\n");
- break;
- }
- }
-
- data->dbox_extra[idx] = 0u;
- data->dbox_extra_cnt--;
- if (!data->dbox_extra_cnt) {
- DbgPrint("Release dbox array\n");
- free(data->dbox_extra);
- data->dbox_extra = NULL;
- }
-
- if (dynamicbox_release_resource_id(handle, 0, resource_id) < 0) {
- ErrPrint("Failed to release resource: %u\n", resource_id);
- }
- break;
- case DBOX_EVENT_GBAR_EXTRA_BUFFER_CREATED:
- dynamicbox_get_affected_extra_buffer(handle, 1, &idx, &resource_id);
- DbgPrint("Extra buffer destroyed for GBAR: %d (%u)\n", idx, resource_id);
- if (!data->gbar_extra) {
- data->gbar_extra = calloc(dynamicbox_option(DBOX_OPTION_EXTRA_BUFFER_CNT), sizeof(*data->gbar_extra));
- if (!data->gbar_extra) {
- ErrPrint("calloc: %s\n", strerror(errno));
- }
- }
-
- data->gbar_extra[idx] = resource_id;
- data->gbar_extra_cnt++;
-
- if (dynamicbox_acquire_extra_resource_id(handle, 1, idx, acquire_gbar_extra_resource_cb, data) < 0) {
- ErrPrint("Failed to acquire resource: %u\n", resource_id);
- }
- break;
- case DBOX_EVENT_GBAR_EXTRA_BUFFER_DESTROYED:
- dynamicbox_get_affected_extra_buffer(handle, 1, &idx, &resource_id);
- DbgPrint("Extra buffer destroyed for GBAR: %d (%u)\n", idx, resource_id);
- if (data->gbar_extra[idx] != resource_id) {
- DbgPrint("Resource Id mismatched\n");
- }
- data->gbar_extra[idx] = 0u;
- data->gbar_extra_cnt--;
- if (!data->gbar_extra_cnt) {
- DbgPrint("Release gbar array\n");
- free(data->gbar_extra);
- data->gbar_extra = NULL;
- }
-
- if (dynamicbox_release_resource_id(handle, 1, resource_id) < 0) {
- ErrPrint("Failed to release resource: %u\n", resource_id);
- }
- break;
- case DBOX_EVENT_DBOX_EXTRA_UPDATED:
- dynamicbox_get_affected_extra_buffer(handle, 0, &idx, &resource_id);
- if (!data->dbox_extra) {
- ErrPrint("Extra buffer is not prepared yet\n");
- } else {
- if (data->dbox_extra[idx] != resource_id) {
- ErrPrint("Resource ID mismatched\n");
- }
- append_dbox_dirty_object_list(data, idx);
- }
- break;
- case DBOX_EVENT_GBAR_EXTRA_UPDATED:
- dynamicbox_get_affected_extra_buffer(handle, 1, &idx, &resource_id);
- if (!data->gbar_extra) {
- ErrPrint("Extra buffer is not prepared yet\n");
- } else {
- if (data->gbar_extra[idx] != resource_id) {
- ErrPrint("Resource ID mismatched\n");
- }
- append_gbar_dirty_object_list(data, idx);
- }
- break;
- case DBOX_EVENT_DBOX_UPDATED:
- append_dbox_dirty_object_list(data, DBOX_PRIMARY_BUFFER);
- break;
- case DBOX_EVENT_GBAR_UPDATED:
- append_gbar_dirty_object_list(data, DBOX_PRIMARY_BUFFER);
- break;
- case DBOX_EVENT_EXTRA_INFO_UPDATED:
- dynamicbox_event_extra_info_updated(data);
- break;
-
- case DBOX_EVENT_DELETED:
- dynamicbox_event_deleted(data);
- break;
-
- case DBOX_EVENT_GROUP_CHANGED:
- dynamicbox_event_group_changed(data);
- break;
- case DBOX_EVENT_PINUP_CHANGED:
- dynamicbox_event_pinup_changed(data);
- break;
- case DBOX_EVENT_PERIOD_CHANGED:
- dynamicbox_event_period_changed(data);
- break;
-
- case DBOX_EVENT_DBOX_SIZE_CHANGED:
- dynamicbox_event_dbox_size_changed(data);
- break;
- case DBOX_EVENT_GBAR_SIZE_CHANGED:
- dynamicbox_event_gbar_size_changed(data);
- break;
-
- case DBOX_EVENT_GBAR_CREATED:
- dynamicbox_event_gbar_created(data);
- break;
- case DBOX_EVENT_GBAR_DESTROYED:
- dynamicbox_event_gbar_destroyed(data);
- break;
-
- case DBOX_EVENT_HOLD_SCROLL:
- dynamicbox_event_hold_scroll(data);
- break;
- case DBOX_EVENT_RELEASE_SCROLL:
- dynamicbox_event_release_scroll(data);
- break;
-
- case DBOX_EVENT_DBOX_UPDATE_BEGIN:
- dynamicbox_event_dbox_update_begin(data);
- break;
- case DBOX_EVENT_DBOX_UPDATE_END:
- dynamicbox_event_dbox_update_end(data);
- break;
-
- case DBOX_EVENT_GBAR_UPDATE_BEGIN:
- dynamicbox_event_gbar_update_begin(data);
- break;
- case DBOX_EVENT_GBAR_UPDATE_END:
- dynamicbox_event_gbar_update_end(data);
- break;
-
- case DBOX_EVENT_UPDATE_MODE_CHANGED:
- dynamicbox_event_update_mode_changed(data);
- break;
-
- case DBOX_EVENT_REQUEST_CLOSE_GBAR:
- dynamicbox_event_request_close_gbar(data);
- break;
-
- case DBOX_EVENT_IGNORED:
- dynamicbox_event_ignored(data);
- break;
- default:
- break;
- }
-
- return 0;
-}
-
-static int dynamicbox_fault_handler(enum dynamicbox_fault_type fault, const char *pkgname, const char *filename, const char *funcname, void *cbdata)
-{
- Eina_List *l = NULL;
- Evas_Object *dynamicbox;
- struct widget_data *data;
- struct dynamicbox_evas_event_info info;
-
- switch (fault) {
- case DBOX_FAULT_DEACTIVATED:
- EINA_LIST_FOREACH(s_info.list, l, dynamicbox) {
- data = get_smart_data(dynamicbox);
- if (!data) {
- continue;
- }
-
- if (!strcmp(data->dbox_id, pkgname)) {
- DbgPrint("Faulted: %s (%p)\n", pkgname, data);
- data->is.field.faulted = 1;
- dbox_overlay_faulted(data);
- info.error = DBOX_STATUS_ERROR_FAULT;
- info.pkgname = data->dbox_id;
- info.event = DBOX_FAULT_DEACTIVATED;
- smart_callback_call(data, DYNAMICBOX_SMART_SIGNAL_DBOX_FAULTED, &info);
- }
- }
- break;
- case DBOX_FAULT_PROVIDER_DISCONNECTED:
- EINA_LIST_FOREACH(s_info.list, l, dynamicbox) {
- data = get_smart_data(dynamicbox);
- if (!data) {
- continue;
- }
-
- if (!strcmp(data->dbox_id, pkgname)) {
- DbgPrint("Disconnected: %s (%p)\n", pkgname, data);
- data->is.field.faulted = 1;
- dbox_overlay_faulted(data);
- info.error = DBOX_STATUS_ERROR_FAULT;
- info.pkgname = data->dbox_id;
- info.event = DBOX_FAULT_PROVIDER_DISCONNECTED;
- smart_callback_call(data, DYNAMICBOX_SMART_SIGNAL_PROVIDER_DISCONNECTED, &info);
- }
- }
- break;
- default:
- break;
- }
- return 0;
-}
-
-EAPI int evas_object_dynamicbox_init(Evas_Object *win, int force_to_buffer)
-{
- int ret;
-
- ecore_x_window_size_get(0, &s_info.screen_width, &s_info.screen_height);
-
- dynamicbox_set_option(DBOX_OPTION_DIRECT_UPDATE, 1);
- s_info.conf.field.render_animator = 1; // By default, use render animator for updating
-
- ret = dynamicbox_init(ecore_x_display_get(), 1, 0.001f, 1);
- if (ret < 0) {
- return ret;
- }
-
- ret = dynamicbox_add_event_handler(dynamicbox_event_handler, NULL);
- if (ret != DBOX_STATUS_ERROR_NONE) {
- ErrPrint("Failed to set handler\n");
- dynamicbox_fini();
- } else {
- DbgPrint("Event handler registered\n");
- ret = dynamicbox_add_fault_handler(dynamicbox_fault_handler, NULL);
- if (ret != DBOX_STATUS_ERROR_NONE) {
- ErrPrint("Failed to set fault handler\n");
- dynamicbox_remove_event_handler(dynamicbox_event_handler);
- dynamicbox_fini();
- } else {
- DbgPrint("Fault handler is registered\n");
- }
- }
-
- s_info.conf.field.force_to_buffer = force_to_buffer;
- s_info.win = win;
-
- return ret;
-}
-
-EAPI int evas_object_dynamicbox_fini(void)
-{
- dynamicbox_remove_event_handler(dynamicbox_event_handler);
- dynamicbox_remove_fault_handler(dynamicbox_fault_handler);
- dynamicbox_fini();
- return 0;
-}
-
-EAPI int evas_object_dynamicbox_resumed(void)
-{
- return dynamicbox_viewer_set_resumed();
-}
-
-EAPI int evas_object_dynamicbox_paused(void)
-{
- return dynamicbox_viewer_set_paused();
-}
-
-EAPI Evas_Object *evas_object_dynamicbox_add(Evas_Object *parent, const char *dbox_id, const char *content_info, const char *cluster, const char *category, double period)
-{
- struct widget_data *data;
- Evas_Object *dynamicbox;
- char *_dbox_id;
- char *_content_info;
- char *_cluster;
- char *_category;
-
- if (!parent || !dbox_id) {
- return NULL;
- }
-
- if (!cluster) {
- cluster = DEFAULT_CLUSTER;
- }
-
- if (!category) {
- category = DEFAULT_CATEGORY;
- }
-
- _cluster = strdup(cluster);
- if (!_cluster) {
- ErrPrint("Heap: %s\n", strerror(errno));
- return NULL;
- }
-
- _category = strdup(category);
- if (!_category) {
- ErrPrint("Heap: %s\n", strerror(errno));
- free(_cluster);
- return NULL;
- }
-
- _dbox_id = strdup(dbox_id);
- if (!_dbox_id) {
- ErrPrint("Heap: %s\n", strerror(errno));
- free(_category);
- free(_cluster);
- return NULL;
- }
-
- if (content_info) {
- _content_info = strdup(content_info);
- if (!_content_info) {
- ErrPrint("Heap: %s\n", strerror(errno));
- free(_dbox_id);
- free(_category);
- free(_cluster);
- return NULL;
- }
- } else {
- _content_info = NULL;
- }
-
- if (!s_info.smart) {
- s_info.sc.add = widget_add;
- s_info.sc.del = widget_del;
- s_info.sc.move = widget_move;
- s_info.sc.resize = widget_resize;
- s_info.sc.show = widget_show;
- s_info.sc.hide = widget_hide;
- s_info.sc.color_set = widget_color_set;
- s_info.sc.clip_set = widget_clip_set;
- s_info.sc.clip_unset = widget_clip_unset;
-
- s_info.smart = evas_smart_class_new(&s_info.sc);
- }
-
- dynamicbox = evas_object_smart_add(evas_object_evas_get(parent), s_info.smart);
-
- data = evas_object_smart_data_get(dynamicbox);
- if (data) {
- data->parent = parent;
- data->dbox_id = _dbox_id;
- data->content = _content_info;
- data->cluster = _cluster;
- data->category = _category;
- data->is.field.mouse_event = 0;
- data->period = period;
-
- widget_data_setup(data);
- } else {
- ErrPrint("Failed to get smart data\n");
- free(_dbox_id);
- free(_content_info);
- free(_cluster);
- free(_category);
- }
-
- return dynamicbox;
-}
-
-EAPI int evas_object_dynamicbox_view_port_set(Evas_Object *dynamicbox, int x, int y, int w, int h)
-{
- struct widget_data *data;
-
- data = get_smart_data(dynamicbox);
- if (!data) {
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
- }
-
- data->view_port.x = x;
- data->view_port.y = y;
- data->view_port.w = w;
- data->view_port.h = h;
- s_info.conf.field.user_view_port = 1;
- return DBOX_STATUS_ERROR_NONE;
-}
-
-EAPI int evas_object_dynamicbox_view_port_get(Evas_Object *dynamicbox, int *x, int *y, int *w, int *h)
-{
- struct widget_data *data;
-
- data = get_smart_data(dynamicbox);
- if (!data) {
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
- }
-
- if (x) {
- *x = data->view_port.x;
- }
-
- if (y) {
- *y = data->view_port.y;
- }
-
- if (w) {
- *w = data->view_port.w;
- }
-
- if (h) {
- *h = data->view_port.h;
- }
-
- return DBOX_STATUS_ERROR_NONE;
-}
-
-EAPI int evas_object_dynamicbox_conf_set(enum dynamicbox_evas_conf type, int value)
-{
- switch (type) {
- case DYNAMICBOX_EVAS_SENSITIVE_MOVE:
- s_info.conf.field.sensitive_move = value;
- break;
- case DYNAMICBOX_EVAS_EVENT_AUTO_FEED:
- s_info.conf.field.auto_feed = value;
- break;
- case DYNAMICBOX_EVAS_EASY_MODE:
- s_info.conf.field.easy_mode = value;
- break;
- case DYNAMICBOX_EVAS_USE_FIXED_SIZE:
- s_info.conf.field.use_fixed_size = value;
- break;
- case DYNAMICBOX_EVAS_MANUAL_PAUSE_RESUME:
- s_info.conf.field.manual_pause_resume = value;
- break;
- case DYNAMICBOX_EVAS_SHARED_CONTENT:
- (void)dynamicbox_set_option(DBOX_OPTION_SHARED_CONTENT, value);
- break;
- case DYNAMICBOX_EVAS_SUPPORT_GBAR:
- s_info.conf.field.support_gbar = value;
- break;
- case DYNAMICBOX_EVAS_SCROLL_X:
- s_info.conf.field.is_scroll_x = value;
- break;
- case DYNAMICBOX_EVAS_SCROLL_Y:
- s_info.conf.field.is_scroll_y = value;
- break;
- case DYNAMICBOX_EVAS_DELAYED_PAUSE_RESUME:
- s_info.conf.field.delayed_pause_resume = value;
- break;
- case DYNAMICBOX_EVAS_AUTO_RENDER_SELECTION:
- s_info.conf.field.auto_render_selector = value;
- break;
- default:
- break;
- }
-
- return DBOX_STATUS_ERROR_NONE;
-}
-
-EAPI int evas_object_dynamicbox_pause(Evas_Object *dynamicbox)
-{
- struct widget_data *data;
-
- data = get_smart_data(dynamicbox);
- if (!data || !data->is.field.created || !data->handle) {
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
- }
-
- return dynamicbox_set_visibility(data->handle, DBOX_HIDE_WITH_PAUSE);
-}
-
-EAPI int evas_object_dynamicbox_resume(Evas_Object *dynamicbox)
-{
- struct widget_data *data;
-
- data = get_smart_data(dynamicbox);
- if (!data || !data->is.field.created || !data->handle) {
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
- }
-
- return dynamicbox_set_visibility(data->handle, DBOX_SHOW);
-}
-
-EAPI int evas_object_dynamicbox_destroy_gbar(Evas_Object *dynamicbox)
-{
- struct widget_data *data;
- int ret;
-
- data = get_smart_data(dynamicbox);
- if (!data || data->state != WIDGET_DATA_CREATED || !data->is.field.created || !data->handle || !data->is.field.gbar_created) {
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
- }
-
- ret = dynamicbox_destroy_glance_bar(data->handle, dbox_destroy_gbar_cb, widget_ref(data));
- if (ret < 0) {
- widget_unref(data);
- }
-
- return ret;
-}
-
-EAPI const char *evas_object_dynamicbox_content(Evas_Object *dynamicbox)
-{
- struct widget_data *data;
-
- data = get_smart_data(dynamicbox);
- if (!data || !data->is.field.created || !data->handle) {
- return NULL;
- }
-
- return dynamicbox_content(data->handle);
-}
-
-EAPI const char *evas_object_dynamicbox_title(Evas_Object *dynamicbox)
-{
- struct widget_data *data;
-
- data = get_smart_data(dynamicbox);
- if (!data || !data->is.field.created || !data->handle) {
- return NULL;
- }
-
- return dynamicbox_title(data->handle);
-}
-
-EAPI const char *evas_object_dynamicbox_dbox_id(Evas_Object *dynamicbox)
-{
- struct widget_data *data;
-
- data = get_smart_data(dynamicbox);
- if (!data || data->state != WIDGET_DATA_CREATED) {
- return NULL;
- }
-
- return data->dbox_id;
-}
-
-EAPI double evas_object_dynamicbox_period(Evas_Object *dynamicbox)
-{
- struct widget_data *data;
-
- data = get_smart_data(dynamicbox);
- if (!data || !data->is.field.created || !data->handle) {
- return 0.0f;
- }
-
- return data->period;
-}
-
-EAPI void evas_object_dynamicbox_cancel_click(Evas_Object *dynamicbox)
-{
- struct widget_data *data;
-
- data = get_smart_data(dynamicbox);
- if (!data || !data->is.field.created || !data->handle) {
- return;
- }
-
- if (data->is.field.cancel_click == CANCEL_DISABLED) {
- data->is.field.cancel_click = CANCEL_USER;
- }
-}
-
-static void access_ret_cb(struct dynamicbox *handle, int ret, void *data)
-{
- struct access_ret_cb_data *cb_data = data;
-
- switch (ret) {
- case DBOX_ACCESS_STATUS_ERROR:
- ret = DYNAMICBOX_ACCESS_ERROR;
- break;
- case DBOX_ACCESS_STATUS_DONE:
- ret = DYNAMICBOX_ACCESS_DONE;
- break;
- case DBOX_ACCESS_STATUS_FIRST:
- ret = DYNAMICBOX_ACCESS_FIRST;
- break;
- case DBOX_ACCESS_STATUS_LAST:
- ret = DYNAMICBOX_ACCESS_LAST;
- break;
- case DBOX_ACCESS_STATUS_READ:
- ret = DYNAMICBOX_ACCESS_READ;
- break;
- default:
- ret = DYNAMICBOX_ACCESS_UNKNOWN;
- break;
- }
-
- if (cb_data->ret_cb) {
- cb_data->ret_cb(cb_data->obj, ret, cb_data->data);
- }
-
- free(cb_data);
-}
-
-EAPI int evas_object_dynamicbox_force_mouse_up(Evas_Object *dynamicbox)
-{
- struct widget_data *data;
-
- data = get_smart_data(dynamicbox);
- if (!data || !data->is.field.created || !data->handle) {
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
- }
-
- return do_force_mouse_up(data);
-}
-
-EAPI int evas_object_dynamicbox_access_action(Evas_Object *dynamicbox, int type, void *_info, void (*ret_cb)(Evas_Object *obj, int ret, void *data), void *cbdata)
-{
- struct widget_data *data;
- Elm_Access_Action_Info *info = _info;
- int w;
- int h;
- struct access_ret_cb_data *cb_data;
- int ret;
- struct dynamicbox_access_event_info ainfo;
-
- data = get_smart_data(dynamicbox);
- if (!data || !data->is.field.created || !data->handle) {
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
- }
-
- evas_object_geometry_get(data->dbox_layout, NULL, NULL, &w, &h);
- ainfo.x = (double)info->x / (double)w;
- ainfo.y = (double)info->y / (double)h;
- ainfo.info = 0;
-
- switch (type) {
- case ELM_ACCESS_ACTION_HIGHLIGHT: /* highlight an object */
- DbgPrint("Highlight %dx%d ignored\n", info->x, info->y);
- break;
- case ELM_ACCESS_ACTION_READ:
- cb_data = calloc(1, sizeof(*cb_data));
- if (!cb_data) {
- ErrPrint("Heap: %s\n", strerror(errno));
- return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
- }
-
- cb_data->ret_cb = ret_cb;
- cb_data->data = cbdata;
- cb_data->obj = dynamicbox;
-
- ainfo.type = DBOX_ACCESS_TYPE_HIGHLIGHT;
- ret = dynamicbox_feed_access_event(data->handle, DBOX_ACCESS_HIGHLIGHT, &ainfo, access_ret_cb, cb_data);
- if (ret != DBOX_STATUS_ERROR_NONE) {
- free(cb_data);
- }
- break;
- case ELM_ACCESS_ACTION_UNHIGHLIGHT: /* unhighlight an object */
- cb_data = calloc(1, sizeof(*cb_data));
- if (!cb_data) {
- ErrPrint("Heap: %s\n", strerror(errno));
- return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
- }
-
- cb_data->ret_cb = ret_cb;
- cb_data->data = cbdata;
- cb_data->obj = dynamicbox;
-
- ainfo.type = DBOX_ACCESS_TYPE_UNHIGHLIGHT;
- ret = dynamicbox_feed_access_event(data->handle, DBOX_ACCESS_HIGHLIGHT, &ainfo, access_ret_cb, cb_data);
- if (ret != DBOX_STATUS_ERROR_NONE) {
- free(cb_data);
- }
- break;
- case ELM_ACCESS_ACTION_HIGHLIGHT_NEXT: /* set highlight to next object */
- cb_data = calloc(1, sizeof(*cb_data));
- if (!cb_data) {
- ErrPrint("Heap: %s\n", strerror(errno));
- return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
- }
-
- cb_data->ret_cb = ret_cb;
- cb_data->data = cbdata;
- cb_data->obj = dynamicbox;
-
- ainfo.type = DBOX_ACCESS_TYPE_HIGHLIGHT_NEXT;
- ret = dynamicbox_feed_access_event(data->handle, DBOX_ACCESS_HIGHLIGHT, &ainfo, access_ret_cb, cb_data);
- if (ret != DBOX_STATUS_ERROR_NONE) {
- free(cb_data);
- }
- break;
- case ELM_ACCESS_ACTION_HIGHLIGHT_PREV: /* set highlight to previous object */
- cb_data = calloc(1, sizeof(*cb_data));
- if (!cb_data) {
- ErrPrint("Heap: %s\n", strerror(errno));
- return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
- }
-
- cb_data->ret_cb = ret_cb;
- cb_data->data = cbdata;
- cb_data->obj = dynamicbox;
-
- ainfo.type = DBOX_ACCESS_TYPE_HIGHLIGHT_NEXT;
- ret = dynamicbox_feed_access_event(data->handle, DBOX_ACCESS_HIGHLIGHT, &ainfo, access_ret_cb, cb_data);
- if (ret != DBOX_STATUS_ERROR_NONE) {
- free(cb_data);
- }
- break;
- case ELM_ACCESS_ACTION_ACTIVATE: /* activate a highlight object */
- cb_data = calloc(1, sizeof(*cb_data));
- if (!cb_data) {
- ErrPrint("Heap: %s\n", strerror(errno));
- return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
- }
-
- cb_data->ret_cb = ret_cb;
- cb_data->data = cbdata;
- cb_data->obj = dynamicbox;
-
- ainfo.type = DBOX_ACCESS_TYPE_NONE; /* meaningless */
- ret = dynamicbox_feed_access_event(data->handle, DBOX_ACCESS_ACTIVATE, &ainfo, access_ret_cb, cb_data);
- if (ret != DBOX_STATUS_ERROR_NONE) {
- free(cb_data);
- }
- break;
- case ELM_ACCESS_ACTION_SCROLL: /* scroll if one of highlight object parents * is scrollable */
- cb_data = calloc(1, sizeof(*cb_data));
- if (!cb_data) {
- ErrPrint("Heap: %s\n", strerror(errno));
- return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
- }
-
- cb_data->ret_cb = ret_cb;
- cb_data->data = cbdata;
- cb_data->obj = dynamicbox;
-
- switch (info->mouse_type) {
- case 0:
- ainfo.type = DBOX_ACCESS_TYPE_DOWN;
- ret = dynamicbox_feed_access_event(data->handle, DBOX_ACCESS_SCROLL, &ainfo, access_ret_cb, cb_data);
- if (ret != DBOX_STATUS_ERROR_NONE) {
- free(cb_data);
- }
- break;
- case 1:
- ainfo.type = DBOX_ACCESS_TYPE_MOVE;
- ret = dynamicbox_feed_access_event(data->handle, DBOX_ACCESS_SCROLL, &ainfo, access_ret_cb, cb_data);
- if (ret != DBOX_STATUS_ERROR_NONE) {
- free(cb_data);
- }
- break;
- case 2:
- ainfo.type = DBOX_ACCESS_TYPE_UP;
- ret = dynamicbox_feed_access_event(data->handle, DBOX_ACCESS_SCROLL, &ainfo, access_ret_cb, cb_data);
- if (ret != DBOX_STATUS_ERROR_NONE) {
- free(cb_data);
- }
- break;
- default:
- ret = DBOX_STATUS_ERROR_INVALID_PARAMETER;
- free(cb_data);
- break;
- }
- break;
- case ELM_ACCESS_ACTION_MOUSE: /* give mouse event to highlight object */
- cb_data = calloc(1, sizeof(*cb_data));
- if (!cb_data) {
- ErrPrint("Heap: %s\n", strerror(errno));
- return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
- }
-
- cb_data->ret_cb = ret_cb;
- cb_data->data = cbdata;
- cb_data->obj = dynamicbox;
- ainfo.type = DBOX_ACCESS_TYPE_NONE;
- ret = dynamicbox_feed_access_event(data->handle, DBOX_ACCESS_MOUSE, &ainfo, access_ret_cb, cb_data);
- if (ret != DBOX_STATUS_ERROR_NONE) {
- free(cb_data);
- }
- break;
- case ELM_ACCESS_ACTION_UP: /* change value up of highlight object */
- cb_data = calloc(1, sizeof(*cb_data));
- if (!cb_data) {
- ErrPrint("Heap: %s\n", strerror(errno));
- return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
- }
-
- cb_data->ret_cb = ret_cb;
- cb_data->data = cbdata;
- cb_data->obj = dynamicbox;
- ainfo.type = DBOX_ACCESS_TYPE_UP;
- ret = dynamicbox_feed_access_event(data->handle, DBOX_ACCESS_ACTION, &ainfo, access_ret_cb, cb_data);
- if (ret != DBOX_STATUS_ERROR_NONE) {
- free(cb_data);
- }
- break;
- case ELM_ACCESS_ACTION_DOWN: /* change value down of highlight object */
- cb_data = calloc(1, sizeof(*cb_data));
- if (!cb_data) {
- ErrPrint("Heap: %s\n", strerror(errno));
- return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
- }
-
- cb_data->ret_cb = ret_cb;
- cb_data->data = cbdata;
- cb_data->obj = dynamicbox;
-
- ainfo.type = DBOX_ACCESS_TYPE_DOWN;
- ret = dynamicbox_feed_access_event(data->handle, DBOX_ACCESS_ACTION, &ainfo, access_ret_cb, cb_data);
- if (ret != DBOX_STATUS_ERROR_NONE) {
- free(cb_data);
- }
- break;
- case ELM_ACCESS_ACTION_VALUE_CHANGE: /* TODO: deprecate this */
- cb_data = calloc(1, sizeof(*cb_data));
- if (!cb_data) {
- ErrPrint("Heap: %s\n", strerror(errno));
- return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
- }
-
- cb_data->ret_cb = ret_cb;
- cb_data->data = cbdata;
- cb_data->obj = dynamicbox;
-
- ainfo.type = DBOX_ACCESS_TYPE_NONE;
- ret = dynamicbox_feed_access_event(data->handle, DBOX_ACCESS_VALUE_CHANGE, &ainfo, access_ret_cb, cb_data);
- if (ret != DBOX_STATUS_ERROR_NONE) {
- free(cb_data);
- }
- break;
- case ELM_ACCESS_ACTION_BACK: /* go back to a previous view ex: pop naviframe item */
- cb_data = calloc(1, sizeof(*cb_data));
- if (!cb_data) {
- ErrPrint("Heap: %s\n", strerror(errno));
- return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
- }
-
- cb_data->ret_cb = ret_cb;
- cb_data->data = cbdata;
- cb_data->obj = dynamicbox;
-
- ainfo.type = DBOX_ACCESS_TYPE_NONE;
- ret = dynamicbox_feed_access_event(data->handle, DBOX_ACCESS_BACK, &ainfo, access_ret_cb, cb_data);
- if (ret != DBOX_STATUS_ERROR_NONE) {
- free(cb_data);
- }
- break;
- case ELM_ACCESS_ACTION_OVER: /* mouse over an object */
- cb_data = calloc(1, sizeof(*cb_data));
- if (!cb_data) {
- ErrPrint("Heap: %s\n", strerror(errno));
- return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
- }
-
- cb_data->ret_cb = ret_cb;
- cb_data->data = cbdata;
- cb_data->obj = dynamicbox;
-
- ainfo.type = DBOX_ACCESS_TYPE_NONE;
- ret = dynamicbox_feed_access_event(data->handle, DBOX_ACCESS_OVER, &ainfo, access_ret_cb, cb_data);
- if (ret != DBOX_STATUS_ERROR_NONE) {
- free(cb_data);
- }
- break;
- case ELM_ACCESS_ACTION_ENABLE: /* enable highlight and read ability */
- cb_data = calloc(1, sizeof(*cb_data));
- if (!cb_data) {
- ErrPrint("Heap: %s\n", strerror(errno));
- return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
- }
-
- cb_data->ret_cb = ret_cb;
- cb_data->data = cbdata;
- cb_data->obj = dynamicbox;
-
- ainfo.type = DBOX_ACCESS_TYPE_ENABLE;
- ret = dynamicbox_feed_access_event(data->handle, DBOX_ACCESS_ENABLE, &ainfo, access_ret_cb, cb_data);
- if (ret != DBOX_STATUS_ERROR_NONE) {
- free(cb_data);
- }
- break;
- case ELM_ACCESS_ACTION_DISABLE: /* disable highlight and read ability */
- cb_data = calloc(1, sizeof(*cb_data));
- if (!cb_data) {
- ErrPrint("Heap: %s\n", strerror(errno));
- return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
- }
-
- cb_data->ret_cb = ret_cb;
- cb_data->data = cbdata;
- cb_data->obj = dynamicbox;
-
- ainfo.type = DBOX_ACCESS_TYPE_DISABLE;
- ret = dynamicbox_feed_access_event(data->handle, DBOX_ACCESS_ENABLE, &ainfo, access_ret_cb, cb_data);
- if (ret != DBOX_STATUS_ERROR_NONE) {
- free(cb_data);
- }
- break;
- default:
- ret = DBOX_STATUS_ERROR_INVALID_PARAMETER;
- break;
- }
-
- return ret;
-}
-
-EAPI void evas_object_dynamicbox_disable_preview(Evas_Object *dynamicbox)
-{
- struct widget_data *data;
-
- data = get_smart_data(dynamicbox);
- if (!data) {
- ErrPrint("Invalid object\n");
- return;
- }
-
- data->is.field.disable_preview = 1;
-}
-
-EAPI void evas_object_dynamicbox_disable_overlay_text(Evas_Object *dynamicbox)
-{
- struct widget_data *data;
-
- data = get_smart_data(dynamicbox);
- if (!data) {
- ErrPrint("Invalid object\n");
- return;
- }
-
- data->is.field.disable_text = 1;
-}
-
-EAPI void evas_object_dynamicbox_disable_loading(Evas_Object *dynamicbox)
-{
- struct widget_data *data;
-
- data = get_smart_data(dynamicbox);
- if (!data) {
- ErrPrint("Invalid object\n");
- return;
- }
-
- data->is.field.disable_loading = 1;
-}
-
-EAPI void evas_object_dynamicbox_activate(Evas_Object *dynamicbox)
-{
- struct widget_data *data;
-
- data = get_smart_data(dynamicbox);
- if (!data) {
- ErrPrint("Invalid object\n");
- return;
- }
-
- if (data->is.field.faulted) {
- elm_object_signal_emit(data->dbox_layout, "mouse,clicked,1", "overlay,content");
- } else {
- DbgPrint("Dynamicbox is not faulted\n");
- }
-}
-
-EAPI int evas_object_dynamicbox_is_faulted(Evas_Object *dynamicbox)
-{
- struct widget_data *data;
-
- data = get_smart_data(dynamicbox);
- if (!data) {
- ErrPrint("Invalid object\n");
- return 0;
- }
-
- return data->is.field.faulted;
-}
-
-EAPI int evas_object_dynamicbox_set_raw_event_callback(enum dynamicbox_evas_raw_event_type type, void (*cb)(struct dynamicbox_evas_raw_event_info *info, void *data), void *data)
-{
- struct raw_event_cbdata *cbdata;
-
- cbdata = calloc(1, sizeof(*cbdata));
- if (!cbdata) {
- ErrPrint("calloc: %s\n", strerror(errno));
- return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
- }
-
- cbdata->cb = cb;
- cbdata->data = data;
-
- switch (type) {
- case DYNAMICBOX_EVAS_RAW_DELETE:
- s_info.raw_event.delete_list = eina_list_append(s_info.raw_event.delete_list, cbdata);
- break;
- case DYNAMICBOX_EVAS_RAW_CREATE:
- s_info.raw_event.create_list = eina_list_append(s_info.raw_event.create_list, cbdata);
- break;
- default:
- break;
- }
-
- return DBOX_STATUS_ERROR_NONE;
-}
-
-EAPI int evas_object_dynamicbox_unset_raw_event_callback(enum dynamicbox_evas_raw_event_type type, void (*cb)(struct dynamicbox_evas_raw_event_info *info, void *data), void *data)
-{
- Eina_List *l;
- Eina_List *n;
- struct raw_event_cbdata *cbdata;
-
- switch (type) {
- case DYNAMICBOX_EVAS_RAW_DELETE:
- EINA_LIST_FOREACH_SAFE(s_info.raw_event.delete_list, l, n, cbdata) {
- if (cbdata->cb == cb && cbdata->data == data) {
- s_info.raw_event.delete_list = eina_list_remove(s_info.raw_event.delete_list, cbdata);
- break;
- }
- }
- break;
- case DYNAMICBOX_EVAS_RAW_CREATE:
- EINA_LIST_FOREACH_SAFE(s_info.raw_event.create_list, l, n, cbdata) {
- if (cbdata->cb == cb && cbdata->data == data) {
- s_info.raw_event.create_list = eina_list_remove(s_info.raw_event.create_list, cbdata);
- break;
- }
- }
- break;
- default:
- break;
- }
-
- return DBOX_STATUS_ERROR_NONE;
-}
-
-EAPI int evas_object_dynamicbox_freeze_visibility(Evas_Object *dynamicbox, int status)
-{
- struct widget_data *data;
-
- data = get_smart_data(dynamicbox);
- if (!data) {
- ErrPrint("Invalid object\n");
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
- }
-
- data->is.field.freeze_visibility = 1;
- data->freezed_visibility = status;
- return DBOX_STATUS_ERROR_NONE;
-}
-
-EAPI int evas_object_dynamicbox_thaw_visibility(Evas_Object *dynamicbox)
-{
- struct widget_data *data;
-
- data = get_smart_data(dynamicbox);
- if (!data) {
- ErrPrint("Invalid object\n");
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
- }
-
- data->is.field.freeze_visibility = 0;
-
- return DBOX_STATUS_ERROR_NONE;
-}
-
-EAPI int evas_object_dynamicbox_visibility_is_freezed(Evas_Object *dynamicbox)
-{
- struct widget_data *data;
-
- data = get_smart_data(dynamicbox);
- if (!data) {
- ErrPrint("Invalid object\n");
- return 0;
- }
-
- return data->is.field.freeze_visibility;
-}
-
-EAPI int evas_object_dynamicbox_dump(Evas_Object *dynamicbox, const char *filename)
-{
- struct widget_data *data;
- FILE *fp;
-
- data = get_smart_data(dynamicbox);
- if (!data) {
- ErrPrint("Invalid object\n");
- return DBOX_STATUS_ERROR_INVALID_PARAMETER;
- }
-
- fp = fopen(filename, "w+");
- if (fp) {
- Evas_Object *image;
- image = elm_object_part_content_get(data->dbox_layout, "dynamicbox,content");
- if (image) {
- void *data;
- Evas_Coord w, h;
- evas_object_geometry_get(image, NULL, NULL, &w, &h);
-
- data = evas_object_image_data_get(image, 0);
- if (data) {
- fwrite(data, w * h, sizeof(int), fp);
- }
- }
- fclose(fp);
- }
-
- return DBOX_STATUS_ERROR_NONE;
-}
-
-int evas_object_dynamicbox_is_dynamicbox(Evas_Object *dynamicbox)
-{
- struct widget_data *data;
-
- data = get_smart_data(dynamicbox);
- if (!data) {
- ErrPrint("Invalid object\n");
- return 0;
- }
-
- return 1;
-}
-
-void evas_object_dynamicbox_use_render_animator(int flag)
-{
- if (s_info.conf.field.auto_render_selector) {
- DbgPrint("Auto selector enabled, this flag will be changed automatically\n");
- }
-
- s_info.conf.field.render_animator = !!flag;
- DbgPrint("Turn %s render animator\n", s_info.conf.field.render_animator ? "on" : "off");
-}
-
-void evas_object_dynamicbox_set_permanent_delete(Evas_Object *dynamicbox, int flag)
-{
- struct widget_data *data;
-
- data = get_smart_data(dynamicbox);
- if (!data) {
- ErrPrint("Invalid object\n");
- return;
- }
-
- data->is.field.permanent_delete = !!flag;
-}
-
-/* End of a file */
+++ /dev/null
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the License);
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.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.
- */
-
-#if defined(LOG_TAG)
-#undef LOG_TAG
-#endif
-
-#define LOG_TAG "ADD_VIEWER"
-
-#include <Elementary.h>
-//#include <appcore-efl.h>
-#include <app.h>
-#include <unistd.h>
-#include <errno.h>
-#include <dynamicbox.h>
-#include <dynamicbox_service.h>
-#include <dynamicbox_errno.h>
-#include <vconf.h>
-#include <bundle.h>
-#include <dlog.h>
-#include <string.h>
-#include <utilX.h>
-#include <Ecore_X.h>
-
-int errno;
-
-#include "main.h"
-#include "dynamicbox_evas.h"
-
-#define HOME_SERVICE_KEY "home_op"
-#define HOME_SERVICE_VALUE_POWERKEY "powerkey"
-#define PREVIEW_DEFAULT RESDIR"/images/unknown.png"
-#define VCONF_KEY_VIEWER_AUTO_FEED "memory/dbox-viewer/auto_feed"
-#define LAYOUT_EDJ RESDIR"/edje/w_add_viewer.edj"
-
-static struct info {
- int resize_test;
- Ecore_Timer *resize_timer;
- int w;
- int h;
-} s_info = {
- .resize_test = 0,
- .resize_timer = NULL,
- .w = 0,
- .h = 0,
-};
-
-struct item {
- struct appdata *ad;
- char *dbox_id;
- int size;
- struct {
- int pressed;
- int x;
- int y;
- } down;
-};
-
-static void move_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- struct item *item = data;
- Evas_Event_Mouse_Move *move = event_info;
-
- if (abs(item->down.x - move->cur.canvas.x) > 7 || abs(item->down.y - move->cur.canvas.y) > 7) {
- item->down.pressed = 0;
- }
-}
-
-static void down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- struct item *item = data;
- Evas_Event_Mouse_Down *down = event_info;
-
- item->down.pressed = 1;
- item->down.x = down->canvas.x;
- item->down.y = down->canvas.y;
- LOGD("Down\n");
-}
-
-static Eina_Bool resize_test_cb(void *data)
-{
- struct item *item = data;
- Evas_Coord w, h;
- Evas_Coord x, y;
-
- evas_object_geometry_get(item->ad->layout, &x, &y, &w, &h);
- if (w < 10 || h < 10) {
- s_info.resize_timer = NULL;
- return ECORE_CALLBACK_CANCEL;
- }
-
- evas_object_move(item->ad->layout, x + 10, y + 10);
- evas_object_resize(item->ad->layout, w - 10, h - 10);
- LOGD("%dx%d - %dx%d\n", x, y, w, h);
- return ECORE_CALLBACK_RENEW;
-}
-
-static Eina_Bool resize_test_fire_cb(void *data)
-{
- s_info.resize_timer = ecore_timer_add(0.5f, resize_test_cb, data);
- if (!s_info.resize_timer) {
- LOGE("Failed to add a test timer\n");
- }
- return ECORE_CALLBACK_CANCEL;
-}
-
-static void up_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- struct item *item = data;
- Evas_Object *box;
- Evas_Object *bg;
- int w, h;
-
- if (!item->down.pressed) {
- return;
- }
-
- box = elm_object_part_content_unset(item->ad->layout, "dynamicbox");
- if (box) {
- evas_object_del(box);
- elm_object_signal_emit(item->ad->layout, "hide", "dynamicbox");
- item->ad->box_created = 0;
- }
-
- box = evas_object_dynamicbox_add(item->ad->win, item->dbox_id, NULL, NULL, NULL, DYNAMICBOX_EVAS_DEFAULT_PERIOD);
- if (!box) {
- return;
- }
-
- bg = elm_object_part_content_get(item->ad->layout, "bg");
- if (!bg) {
- bg = elm_bg_add(item->ad->layout);
- elm_bg_color_set(bg, 0, 0, 0);
- evas_object_show(bg);
- elm_object_part_content_set(item->ad->layout, "bg", bg);
- }
-
- dynamicbox_service_get_size(item->size, &w, &h);
- evas_object_size_hint_min_set(bg, w, h);
- evas_object_size_hint_max_set(bg, w, h);
- evas_object_resize(bg, w, h);
-
- elm_object_part_content_set(item->ad->layout, "dynamicbox", box);
- item->down.pressed = 0;
- LOGD("Box loaded: %s %x (%dx%d)\n", item->dbox_id, item->size, w, h);
- elm_object_signal_emit(item->ad->layout, "show", "dynamicbox");
- item->ad->box_created = 1;
-
- if (s_info.resize_test) {
- if (s_info.resize_timer) {
- ecore_timer_del(s_info.resize_timer);
- s_info.resize_timer = NULL;
- }
-
- s_info.resize_timer = ecore_timer_add(3.0f, resize_test_fire_cb, item);
- if (!s_info.resize_timer) {
- LOGE("Failed to add a timer\n");
- }
- }
-}
-
-Evas_Object *preview_load_image(Evas_Object *parent, const char *filename)
-{
- Evas_Object *preview;
- int w;
- int h;
-
- preview = evas_object_image_filled_add(evas_object_evas_get(parent));
- if (!preview) {
- LOGD("Failed to create an icon\n");
- return NULL;
- }
-
- evas_object_image_file_set(preview, filename, NULL);
- if (evas_object_image_load_error_get(preview) != EVAS_LOAD_ERROR_NONE) {
- int ret;
- evas_object_image_file_set(preview, PREVIEW_DEFAULT, NULL);
- ret = evas_object_image_load_error_get(preview);
- if (ret != EVAS_LOAD_ERROR_NONE) {
- LOGE("Failed to load an image file [%d]\n", ret);
- }
- }
-
- evas_object_image_size_get(preview, &w, &h);
- evas_object_image_fill_set(preview, 0, 0, w, h);
- evas_object_resize(preview, w, h);
- evas_object_show(preview);
- LOGD("Image size: %dx%d\n", w, h);
-
- return preview;
-}
-
-Evas_Object *preview_create_layout(struct appdata *ad, Evas_Object *parent, const char *filename, const char *name, int type)
-{
- Evas_Object *layout;
- Evas_Object *preview;
- Evas_Object *box;
- Evas_Coord w, h;
-
- layout = elm_layout_add(parent);
- if (!layout) {
- return NULL;
- }
-
- preview = preview_load_image(layout, filename);
- if (!preview) {
- evas_object_del(layout);
- return NULL;
- }
-
- if (elm_layout_file_set(layout, LAYOUT_EDJ, "preview") != EINA_TRUE) {
- LOGE("Failed to load EDJE\n");
- }
-
- dynamicbox_service_get_size(type, &w, &h);
- evas_object_size_hint_min_set(preview, w, h);
-
- elm_object_part_content_set(layout, "preview", preview);
- elm_object_part_text_set(layout, "name", name);
-
- box = elm_box_add(ad->scroller_box);
- evas_object_show(layout);
- evas_object_size_hint_min_set(box, s_info.w, 0);
- elm_object_part_content_set(layout, "bg", box);
-
- evas_object_size_hint_min_set(layout, s_info.w, h);
- evas_object_show(layout);
-
- LOGD("PREVIEW: %s name(%s) %X (%dx%d)\n", filename, name, type, w, h);
-
- elm_object_signal_emit(layout, "show", "preview");
-
- return layout;
-}
-
-static int pkglist_cb(const char *pkgid, const char *dbox_id, int is_prime, void *data)
-{
- struct appdata *ad = data;
- Evas_Object *preview;
- struct item *item;
- char *filename;
- int cnt = DBOX_NR_OF_SIZE_LIST;
- int type[DBOX_NR_OF_SIZE_LIST];
- int i;
-
- if (dynamicbox_service_nodisplay(dbox_id)) {
- LOGD("NODISPLAY: %s\n", dbox_id);
- return DBOX_STATUS_ERROR_NONE;
- }
-
- dynamicbox_service_get_supported_size_types(dbox_id, &cnt, type);
- for (i = 0; i < cnt; i++) {
- filename = dynamicbox_service_preview(dbox_id, type[i]);
- if (!filename || access(filename, F_OK) != 0) {
- filename = strdup(PREVIEW_DEFAULT);
- if (!filename) {
- LOGE("Heap: %s\n", strerror(errno));
- return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
- }
- }
- preview = preview_create_layout(ad, ad->win, filename, dbox_id, type[i]);
- if (!preview) {
- free(filename);
- return DBOX_STATUS_ERROR_FAULT;
- }
- LOGD("preview: %p\n", preview);
-
- item = calloc(1, sizeof(*item));
- if (!item) {
- free(filename);
- evas_object_del(preview);
- return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
- }
- item->ad = ad;
- item->size = type[i];
- item->dbox_id = strdup(dbox_id);
- if (!item->dbox_id) {
- free(filename);
- free(item);
- evas_object_del(preview);
- return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
- }
-
- elm_box_pack_end(ad->scroller_box, preview);
-
- evas_object_event_callback_add(preview, EVAS_CALLBACK_MOUSE_DOWN, down_cb, item);
- evas_object_event_callback_add(preview, EVAS_CALLBACK_MOUSE_MOVE, move_cb, item);
- evas_object_event_callback_add(preview, EVAS_CALLBACK_MOUSE_UP, up_cb, item);
-
- free(filename);
- }
- return DBOX_STATUS_ERROR_NONE;
-}
-
-static void load_widgets(struct appdata *ad)
-{
- int cnt;
- cnt = dynamicbox_service_get_pkglist(pkglist_cb, ad);
- LOGD("Package list: %d\n", cnt);
- if (cnt == 0) {
- elm_object_signal_emit(ad->layout, "empty", "content");
- }
-}
-
-Eina_Bool key_up_event_cb(void *data, int type, void *event_info)
-{
- struct appdata *ad = (struct appdata *)data;
- Ecore_Event_Key *ev = event_info;
-
- if(!strcmp(ev->keyname, KEY_BACK)) {
- if (ad->box_created) {
- Evas_Object *box;
- box = elm_object_part_content_unset(ad->layout, "dynamicbox");
- if (box) {
- evas_object_del(box);
- elm_object_signal_emit(ad->layout, "hide", "dynamicbox");
- ad->box_created = 0;
- }
- } else {
- elm_exit();
- }
- }
-
- return ECORE_CALLBACK_PASS_ON;
-}
-
-static bool app_create(void *data)
-{
- struct appdata *ad = data;
- Evas_Object *bg;
- Evas_Object *scroller;
- int auto_feed;
-
- ad->win = elm_win_add(NULL, "DBoxViewer", ELM_WIN_BASIC);
- if (!ad->win) {
- LOGD("Failed to create a window\n");
- return false;
- }
-
- evas_object_show(ad->win);
-
- bg = elm_bg_add(ad->win);
- elm_win_resize_object_add(ad->win, bg);
- elm_bg_color_set(bg, 0, 0, 0);
- evas_object_show(bg);
-
- ad->layout = elm_layout_add(ad->win);
- if (!ad->layout) {
- evas_object_del(bg);
- evas_object_del(ad->win);
- return false;
- }
- elm_win_resize_object_add(ad->win, ad->layout);
- if (elm_layout_file_set(ad->layout, LAYOUT_EDJ, "layout") != EINA_TRUE) {
- LOGE("Failed to load an edje\n");
- evas_object_del(bg);
- evas_object_del(ad->layout);
- evas_object_del(ad->win);
- return false;
- }
- evas_object_show(ad->layout);
-
- scroller = elm_scroller_add(ad->win);
- if (!scroller) {
- evas_object_del(ad->win);
- ad->win = NULL;
- LOGD("Failed to create a scroller\n");
- return false;
- }
- evas_object_geometry_get(ad->win, NULL, NULL, &s_info.w, &s_info.h);
- LOGD("Window: %dx%d\n", s_info.w, s_info.h);
-
- ecore_x_window_size_get(0, &s_info.w, &s_info.h);
- LOGD("Window: %dx%d\n", s_info.w, s_info.h);
-
- elm_scroller_page_size_set(scroller, s_info.w, s_info.h);
- elm_object_part_content_set(ad->layout, "scroller", scroller);
- elm_scroller_bounce_set(scroller, EINA_TRUE, EINA_FALSE);
-
- ad->scroller_box = elm_box_add(scroller);
- if (!ad->scroller_box) {
- evas_object_del(scroller);
- evas_object_del(ad->win);
-
- ad->win = NULL;
- LOGD("Failed to create a box\n");
- return false;
- }
- elm_box_homogeneous_set(ad->scroller_box, EINA_TRUE);
- elm_box_horizontal_set(ad->scroller_box, EINA_TRUE);
- evas_object_size_hint_weight_set(ad->scroller_box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_show(ad->scroller_box);
-
- elm_object_content_set(scroller, ad->scroller_box);
-
- /* DYNAMICBOX init */
- evas_object_dynamicbox_init(ad->win, 0);
-
- /* DYNAMICBOX init */
- evas_object_dynamicbox_conf_set(DYNAMICBOX_EVAS_EVENT_AUTO_FEED, 1);
- if (vconf_get_int(VCONF_KEY_VIEWER_AUTO_FEED, &auto_feed) >= 0) {
- LOGD("========> Enable autofeed? %d\n", auto_feed);
- }
-
- load_widgets(ad);
-
- ad->handler = ecore_event_handler_add(ECORE_EVENT_KEY_UP, (Ecore_Event_Handler_Cb)key_up_event_cb, ad);
- return true;
-}
-
-static void app_terminate(void *data)
-{
- struct appdata *ad = data;
-
- /* DYNAMICBOX fini */
- evas_object_dynamicbox_fini();
-
- if (ad->win) {
- evas_object_del(ad->win);
- ad->win = NULL;
- }
-}
-
-static void app_pause(void *data)
-{
- /* DYNAMICBOX pause */
- evas_object_dynamicbox_paused();
-}
-
-static void app_resume(void *data)
-{
- /* DYNAMICBOX resume */
- evas_object_dynamicbox_resumed();
-}
-
-static void _app_control(app_control_h service, void *data)
-{
- struct appdata *ad = data;
- evas_object_dynamicbox_resumed();
- elm_win_activate(ad->win);
-}
-
-int main(int argc, char *argv[])
-{
- struct appdata ad;
-
- app_event_callback_s event_callback;
-
- setenv("ELM_ENGINE", "gl", 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;
- event_callback.low_memory = NULL;
- event_callback.low_battery = NULL;
- event_callback.device_orientation = NULL;
- event_callback.language_changed = NULL;
- event_callback.region_format_changed = NULL;
-
- memset(&ad, 0x0, sizeof(struct appdata));
-
- if (setenv("BUFMGR_LOCK_TYPE", "once", 0) < 0) {
- LOGE("setenv(BUFMGR_LOCK_TYPE) is failed: %s", strerror(errno));
- }
-
- if (setenv("BUFMGR_MAP_CACHE", "true", 0) < 0) {
- LOGE("setenv(BUFMGR_MAP_CACHE) is failed: %s", strerror(errno));
- }
-
- return app_efl_main(&argc, &argv, &event_callback, &ad);
-}